Commit Graph

101 Commits

Author SHA1 Message Date
Andrea Bedini
9f22d7295d First go at generating html pages 2022-10-21 11:37:20 +08:00
Andrea Bedini
572e37cb8e WIP 2022-10-21 11:36:47 +08:00
Andrea Bedini
9cc19c70ea Move json stuff to its own module 2022-10-14 09:28:31 +08:00
Andrea Bedini
678943d4b6 WIP 2022-10-14 07:56:59 +08:00
Andrea Bedini
1b3969a4f5 Drop PackageRule 2022-10-10 11:27:29 +08:00
Andrea Bedini
889e0b0ba0 Rework prepareSdist 2022-10-05 16:34:22 +08:00
Andrea Bedini
b13ecafb31 Merge remote-tracking branch 'new' 2022-10-05 15:13:15 +08:00
Andrea Bedini
9151ec36b2 Implement GitHub backend 2022-09-29 15:49:42 +02:00
Andrea Bedini
cbb726a6f5 Avoid partial functions 2022-09-29 15:49:07 +02:00
Andrea Bedini
e7399e5402 Remember sdist hash 2022-09-23 19:37:30 +02:00
Andrea Bedini
0f22847c90 More custom rules 2022-09-23 19:36:39 +02:00
Andrea Bedini
20b55ba655 Switch to forward mode 2022-09-23 16:38:30 +02:00
Andrea Bedini
301cb1781d Refactor readKeysAt' 2022-09-23 12:05:22 +02:00
Andrea Bedini
32d1345276 Removing cabal.project is now unnecessary 2022-09-22 13:32:23 +02:00
Andrea Bedini
5c24681da8 Make sdist with cabal-install internals 2022-09-22 12:12:16 +02:00
Andrea Bedini
c0811e6037 Remove leftover 2022-09-22 11:32:55 +02:00
Andrea Bedini
f41412a65a Factor out current package description 2022-09-22 11:27:27 +02:00
Andrea Bedini
2da1cffdb7 Introduce some path helpers 2022-09-22 11:22:17 +02:00
Andrea Bedini
c166412ff9 Fix issues with outputdir 2022-09-19 16:28:14 +02:00
Andrea Bedini
03a8fe471d Add option to not sign the index 2022-09-19 15:33:50 +02:00
Andrea Bedini
203e9a0fb3 Fix rewritePackageVersion 2022-08-31 13:17:05 +02:00
Andrea Bedini
bbeaaf16fe Use with-utf8 2022-08-23 14:11:15 +02:00
Andrea Bedini
ed579a6b20
Give user explicit control over signatures expiry 2022-06-08 10:39:46 +08:00
Andrea Bedini
6489104a91
Tweaks 2022-05-26 11:09:23 +08:00
Andrea Bedini
4ff84f10db
Remove leftover file 2022-05-19 15:03:43 +08:00
Andrea Bedini
6d346c5212
Rename ImportHackage to ImportIndex 2022-05-19 15:03:42 +08:00
Andrea Bedini
da34087e9a
Don't reinvent Cabal types 2022-05-19 14:51:27 +08:00
Andrea Bedini
f9fc67df4d
Start work to support preferred versions 2022-05-19 14:42:41 +08:00
Andrea Bedini
ec63788bdb
Use Cabal to rewrite package versions 2022-05-18 12:12:20 +08:00
Andrea Bedini
88e7bba9d5
Make revisions timestamps mandatory
Also introduce sanity checks for the following cases

- Package timestamp is later than any revision timestamp
- Package has no timestamp but has revisions

The above cases do not make any sense and are considered invalid.
2022-05-16 17:23:18 +08:00
Andrea Bedini
934e4e8261
Tweaks 2022-05-16 16:55:43 +08:00
Andrea Bedini
8a2e571404
Use a custom rule for remote assets 2022-05-16 14:48:02 +08:00
Andrea Bedini
5be1311662
Bail if no package metadata is found.
Closes #5.
2022-04-13 15:47:38 +08:00
Andrea Bedini
1851bf4756
force-version has to win over patches 2022-04-01 13:01:45 +08:00
Andrea Bedini
d7f78543d4
Fix force-version implementation.
Now the tarballs are downloaded only once but now each package name and
version is unpacked independently in its own directory. Then patches are
applied there.
2022-04-01 12:52:14 +08:00
Andrea Bedini
4e333ef49f
Implement force version
Doesn't quite work because srcDir is unique by url, so if you have the
same url with different versions, things will collide. This is a bug
that might affect patching too.
2022-03-31 15:02:00 +08:00
Andrea Bedini
3a0e89b41e
[build] fix patches
I was applying patches only when making the source distribution but
patches might modify the cabal file which goes into the index (yes one
should use revisions for that).

I am now applying patches right after I have the package source.
2022-03-30 15:05:08 +08:00
Andrea Bedini
ea498db3a3
[build] patches folder doesn't have to exist 2022-03-30 12:56:17 +08:00
Andrea Bedini
9fbdb23a5a
Fix bug in keys handling 2022-03-30 12:32:49 +08:00
Andrea Bedini
173ca46692
[build] support patching 2022-03-30 11:21:58 +08:00
Andrea Bedini
4f1ad7bbc4
[import-hackage] support filtering by package version 2022-03-30 11:17:22 +08:00
Andrea Bedini
f67ee84975
Input folder can be customised 2022-03-29 17:10:19 +08:00
Andrea Bedini
bf855dfbf1
Make timestamp optional 2022-03-29 16:38:10 +08:00
Andrea Bedini
080197e9e2
Big rewrite
1. Foliage takes as input a complete description of the index, where
   source distributions and revisions come with a timestamp. This allows
   us to recreate the entire index in a reproducible way.

2. Added a experimental command to import an index from a Hackage (as
   downloaded with Cabal). This was originally a testing/development
   need but there might be different use cases.
2022-03-28 17:18:27 +08:00
Andrea Bedini
5ce3fc0501
Remove accepting keys from the environment 2022-03-16 16:49:26 +08:00
Andrea Bedini
8d09cfffcf
Fix keys handling 2022-03-11 17:41:07 +08:00
Andrea Bedini
2af2c24b1f
Fix invocation of RepoTool.bootstrapOrUpdate 2022-03-11 17:04:13 +08:00
Andrea Bedini
03c7683c13
A bit more verbose 2022-03-11 17:03:52 +08:00
Andrea Bedini
56cb0535ab
Embed hackage-repo-tool 2022-03-11 16:19:35 +08:00
Andrea Bedini
6b73537f79
Fix acquiring keys from the environment 2022-03-11 14:35:09 +08:00
Andrea Bedini
02259533dd
Initial commit 2022-03-09 21:29:23 +08:00