cabal2nix: split into a lightweight version and a wrapper
Current, the `cabal2nix` derivation contains both the executable, and a wrapper that adds `nix` and `nix-prefetch-scripts`, which are required for some features. However, when calling `callCabal2nix` to create a derivation from a cabal file at evaluation time, these features are not actually used, but the huge closure of `nix-prefetch-scripts` (which includes multiple vcs, as well as python and perl) still needs to be fetched. This commit splits cabal2nix into a lightweight version that is a standalone static binary (`cabal2nix-unwrapped`), and a wrapper that includes the proper dependencies in the path for full usage of the command line utility (`cabal2nix`). This commit also switches to the default ghc, to reduce the likelyhood of building a different ghc when calling `callCabal2nix`.
This commit is contained in:
committed by
Peter Simons
parent
c2dcdea8c6
commit
2645e1a1eb
@@ -124,7 +124,7 @@ let
|
||||
sha256Arg = if sha256 == null then "--sha256=" else ''--sha256="${sha256}"'';
|
||||
in buildPackages.stdenv.mkDerivation {
|
||||
name = "cabal2nix-${name}";
|
||||
nativeBuildInputs = [ buildPackages.cabal2nix ];
|
||||
nativeBuildInputs = [ buildPackages.cabal2nix-unwrapped ];
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
phases = ["installPhase"];
|
||||
|
||||
Reference in New Issue
Block a user