haskellPackages.cabal2nix-unstable: don't wrap with runtime deps
cabal2nix-unstable is mostly used for regenerating the Haskell package set. Thus we should aim to make it quick to rebuild in case its hash changes because of Haskell related changes. - cabal2nix is not fussy about the Nix version it uses for nix-env(1) and we can just assume it is already in PATH like we do for maintainers/scripts/haskell/*. - nix-prefetch-scripts causes the most trouble since its python dependencies depend on pandoc, so many Haskell changes require an additional Python rebuild when building cabal2nix-unstable. nix-prefetch-scripts is most likely installed and not necessary in many cases, e.g. hackage2nix doesn't need them which is the main use we have for cabal2nix-unstable. For the update scripts that do need them, we add them to the used nix-shell explicitly.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
#! /usr/bin/env nix-shell
|
#! /usr/bin/env nix-shell
|
||||||
#! nix-shell -i bash -p coreutils curl jq gnused haskellPackages.cabal2nix-unstable.bin -I nixpkgs=.
|
#! nix-shell -i bash -p coreutils curl jq gnused haskellPackages.cabal2nix-unstable.bin nix-prefetch-scripts -I nixpkgs=.
|
||||||
|
|
||||||
# Updates cabal2nix-unstable to the latest master of the nixos/cabal2nix repository.
|
# Updates cabal2nix-unstable to the latest master of the nixos/cabal2nix repository.
|
||||||
# See regenerate-hackage-packages.sh for details on the purpose of this script.
|
# See regenerate-hackage-packages.sh for details on the purpose of this script.
|
||||||
|
|||||||
@@ -1260,21 +1260,6 @@ builtins.intersectAttrs super {
|
|||||||
# not used to link against by anyone, we can make it’s closure smaller and
|
# not used to link against by anyone, we can make it’s closure smaller and
|
||||||
# add its runtime dependencies in `haskellPackages` (as opposed to cabal2nix).
|
# add its runtime dependencies in `haskellPackages` (as opposed to cabal2nix).
|
||||||
cabal2nix-unstable = overrideCabal (drv: {
|
cabal2nix-unstable = overrideCabal (drv: {
|
||||||
buildTools = (drv.buildTools or [ ]) ++ [
|
|
||||||
pkgs.buildPackages.makeWrapper
|
|
||||||
];
|
|
||||||
postInstall = ''
|
|
||||||
${drv.postInstall or ""}
|
|
||||||
|
|
||||||
wrapProgram $out/bin/cabal2nix \
|
|
||||||
--prefix PATH ":" "${
|
|
||||||
pkgs.lib.makeBinPath [
|
|
||||||
pkgs.nix
|
|
||||||
pkgs.nix-prefetch-scripts
|
|
||||||
]
|
|
||||||
}"
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = drv.passthru or { } // {
|
passthru = drv.passthru or { } // {
|
||||||
updateScript = ../../../maintainers/scripts/haskell/update-cabal2nix-unstable.sh;
|
updateScript = ../../../maintainers/scripts/haskell/update-cabal2nix-unstable.sh;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env nix-shell
|
#!/usr/bin/env nix-shell
|
||||||
#!nix-shell -i bash -p cabal2nix curl jq haskellPackages.cabal2nix-unstable.bin -I nixpkgs=.
|
#!nix-shell -i bash -p cabal2nix curl jq haskellPackages.cabal2nix-unstable.bin nix-prefetch-scripts -I nixpkgs=.
|
||||||
#
|
#
|
||||||
# This script will update the spago derivation to the latest version using
|
# This script will update the spago derivation to the latest version using
|
||||||
# cabal2nix.
|
# cabal2nix.
|
||||||
|
|||||||
Reference in New Issue
Block a user