on e94de40 help sign in
haskell.nix/lib/hackageIndex.nix
16 lines 680 B history raw
1{ runCommand, cabal-install
2, indexState ? "2019-04-24T21:34:04Z"
3} :
4let
5 # To avoid downloading more data than necessary this will provide a base.
6 cachedState = runCommand "hackage-${builtins.substring 0 4 indexState}" {} ''
7 mkdir -p $out
8 HOME=$out ${cabal-install}/bin/cabal update --index-state='${builtins.substring 0 4 indexState}-01-01T00:00:00Z'
9 '';
10in runCommand "hackage-${builtins.replaceStrings [":"] [""] indexState}" {} ''
11 mkdir -p $out
12 cp -r ${cachedState}/.cabal $out
13 chmod +w -R $out/.cabal
14 sed -i.back -e "s|${cachedState}|$out|g" $out/.cabal/config
15 HOME=$out ${cabal-install}/bin/cabal update --index-state='${indexState}'
16 ''