on iko/ghcjs-patch-master help sign in
Merge pull request #97 from input-output-hk/update-stackage-fixes
fedbc8eRodney Lorrimar
scripts/update-stackage.nix+6−11
@@ -15,30 +15,25 @@ import ./update-external.nix args {
15 git clone git@github.com:input-output-hk/stackage.nix.git
15 git clone git@github.com:input-output-hk/stackage.nix.git
16 cd stackage.nix
16 cd stackage.nix
17 git submodule update --init
17 git submodule update --init
18+ git submodule foreach git pull origin master
18 fi
19 fi
19
20
20 echo "Running lts-to-nix for all snapshots..."
21 echo "Running lts-to-nix for all snapshots..."
21
22
22− # update them all in parallel...
23− N=$(getconf _NPROCESSORS_ONLN)
24 for lts in {lts-haskell,stackage-nightly}/*.yaml
23 for lts in {lts-haskell,stackage-nightly}/*.yaml
25 do
24 do
25+ if [[ ! -f $(basename ''${lts%.yaml}.nix) ]]; then
26− lts-to-nix $lts > $(basename ''${lts%.yaml}.nix) &
26+ lts-to-nix $lts > $(basename ''${lts%.yaml}.nix)
27− while [[ $(jobs -r -p | wc -l) -gt $N ]]; do
27+ fi
28− # can't use `wait -n` on older bash versions.
29− # e.g. what ships with macOS High Sierra
30− sleep 1;
31− done
32 done
28 done
33− wait
29+
34−
35 # update nightlies
30 # update nightlies
36 echo "{" > nightlies.nix;
31 echo "{" > nightlies.nix;
37 for a in nightly-*.nix; do echo " \"''${a%%.nix}\" = import ./$a;" >> nightlies.nix; done;
32 for a in nightly-*.nix; do echo " \"''${a%%.nix}\" = import ./$a;" >> nightlies.nix; done;
38 echo "}" >> nightlies.nix
33 echo "}" >> nightlies.nix
39 # update lts
34 # update lts
40 echo "{" > ltss.nix;
35 echo "{" > ltss.nix;
41− for a in lts-*.nix; do echo " \"''${a%%.nix}\" = import ./$a;" >> ltss.nix; done;
36+ for a in $(ls lts-*.nix | sort -Vtx -k 1,1); do echo " \"''${a%%.nix}\" = import ./$a;" >> ltss.nix; done;
42 echo "}" >> ltss.nix
37 echo "}" >> ltss.nix
43 '';
38 '';
44}
39}