@@ -1,10 +1,9 @@
1−{ nixpkgs ? import <nixpkgs> {}
1+{ nixpkgs ? import ./nixpkgs.nix {}
22, cacheVersion ? "0" }:
33
4−let
5− pkgs = import ./default.nix { inherit nixpkgs; };
6− lib = pkgs.callPackage ./stackage2nix/lib.nix { inherit cacheVersion; };
7−in pkgs.stdenv.mkDerivation rec {
4+with nixpkgs; let
5+ lib = haskell.packages.stackage.lib.override { inherit cacheVersion; };
6+in stdenv.mkDerivation rec {
87 name = "nixpkgs-typeable-update-script";
98
109 buildCommand = ''
@@ -12,24 +11,28 @@ in pkgs.stdenv.mkDerivation rec {
1211 exit 1
1312 '';
1413
14+ # generate missing stackage/lts-xx packages
1515 updateLtsSh = ''
1616 pushd stackage
1717 # iterate through stackage-lts configs
18− for conf in ${lib.stackage-lts}/*.yaml; do
18+ for conf in $(find ${lib.stackage-lts} -type f -name '*.yaml' | sort --version-sort); do
1919 resolver=$(basename --suffix='.yaml' $conf)
2020 if [ ! -d $resolver ]; then
2121 mkdir $resolver
2222 pushd $resolver
2323 # generate stackage release
24− (set -x; time ${pkgs.stackage2nix}/bin/stackage2nix --resolver $resolver)
24+ (set -x; time ${stackage2nix}/bin/stackage2nix --resolver $resolver)
2525 # update supported releases
2626 popd
27− echo "''${resolver//.}" >> ../supported-stackage-releases.txt
27+ echo $resolver >> ../supported-stackage-releases.txt
2828 fi
2929 done
3030 popd # stackage
31+
32+ sort --version-sort -o supported-stackage-releases.txt supported-stackage-releases.txt
3133 '';
3234
35+ # update stackage/default.nix
3336 updateStackageSh = ''
3437 pushd stackage
3538 echo '{ callPackage }:' > default.nix