@@ -1,20 +1,30 @@
1−{ self
1+{ nixpkgs ? import <nixpkgs> {}
2−, cacheVersion
2+, stackage-nightly ? null
3−, drv ? null }:
3+, stackage-lts
6− inherit (self) callPackage makeWrapper stdenv nix nix-prefetch-scripts;
9+ inherit (nixpkgs) pkgs stdenv makeWrapper runCommand;
8− stackage2nix = if drv == null
10− self.haskell.lib.disableSharedExecutables
11− (import ./stackage-packages.nix { nixpkgs = self; }).stackage2nix
11+ stackagePackages = import ./stackage-packages.nix { inherit nixpkgs; };
12− else
12+ stackage2nix = pkgs.haskell.lib.disableSharedExecutables stackagePackages.stackage2nix;
15− lib = callPackage ./lib.nix { inherit cacheVersion; };
14+ stackageAll = runCommand "stackage-all" { }
17+ for file in ${stackage-lts}/*.yaml
21+ '' + stdenv.lib.optionalString (stackage-nightly != null) ''
22+ for file in ${stackage-nightly}/*.yaml
17−in stdenv.mkDerivation rec {
27+in pkgs.stdenv.mkDerivation rec {
18 name = "stackage2nix-${version}";
28 name = "stackage2nix-${version}";
19 version = stackage2nix.version;
29 version = stackage2nix.version;
20 phases = [ "installPhase" "fixupPhase" ];
30 phases = [ "installPhase" "fixupPhase" ];
@@ -23,10 +33,10 @@ in stdenv.mkDerivation rec {
23 installPhase = ''
33 installPhase = ''
24 mkdir -p $out/bin
34 mkdir -p $out/bin
25 makeWrapper ${stackage2nix}/bin/stackage2nix $out/bin/stackage2nix \
35 makeWrapper ${stackage2nix}/bin/stackage2nix $out/bin/stackage2nix \
26− --add-flags "--all-cabal-hashes ${lib.all-cabal-hashes}" \
36+ --add-flags "--all-cabal-hashes ${all-cabal-hashes}" \
27− --add-flags "--lts-haskell ${lib.stackage-lts}" \
37+ --add-flags "--lts-haskell ${stackageAll}" \
28− --add-flags "--hackage-db ${lib.hackage-db}/01-index.tar" \
38+ --add-flags "--hackage-db ${hackage-db}" \
29− --prefix PATH ":" "${nix}/bin" \
39+ --prefix PATH ":" "${pkgs.nix}/bin" \
30− --prefix PATH ":" "${nix-prefetch-scripts}/bin"
40+ --prefix PATH ":" "${pkgs.nix-prefetch-scripts}/bin"