haskell: Speed up cross callHackage by using native source
The extract of code from hackage is the same on all platforms.
This commit is contained in:
parent
8a18c9f261
commit
d6f1e70560
|
@ -122,9 +122,9 @@ let
|
||||||
haskellSrc2nix = { name, src, sha256 ? null, extraCabal2nixOptions ? "" }:
|
haskellSrc2nix = { name, src, sha256 ? null, extraCabal2nixOptions ? "" }:
|
||||||
let
|
let
|
||||||
sha256Arg = if sha256 == null then "--sha256=" else ''--sha256="${sha256}"'';
|
sha256Arg = if sha256 == null then "--sha256=" else ''--sha256="${sha256}"'';
|
||||||
in pkgs.buildPackages.stdenv.mkDerivation {
|
in buildPackages.stdenv.mkDerivation {
|
||||||
name = "cabal2nix-${name}";
|
name = "cabal2nix-${name}";
|
||||||
nativeBuildInputs = [ pkgs.buildPackages.cabal2nix ];
|
nativeBuildInputs = [ buildPackages.cabal2nix ];
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
allowSubstitutes = false;
|
allowSubstitutes = false;
|
||||||
phases = ["installPhase"];
|
phases = ["installPhase"];
|
||||||
|
@ -137,7 +137,7 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
all-cabal-hashes-component = name: version: pkgs.runCommand "all-cabal-hashes-component-${name}-${version}" {} ''
|
all-cabal-hashes-component = name: version: buildPackages.runCommand "all-cabal-hashes-component-${name}-${version}" {} ''
|
||||||
tar --wildcards -xzvf ${all-cabal-hashes} \*/${name}/${version}/${name}.{json,cabal}
|
tar --wildcards -xzvf ${all-cabal-hashes} \*/${name}/${version}/${name}.{json,cabal}
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
mv */${name}/${version}/${name}.{json,cabal} $out
|
mv */${name}/${version}/${name}.{json,cabal} $out
|
||||||
|
|
Loading…
Reference in New Issue