Commit Graph

25 Commits

Author SHA1 Message Date
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