buildLocalCabal: Use host-native nixpkgs for the call to cabal2nix by default
This commit is contained in:
parent
5523408947
commit
20113e5d8b
@ -3031,13 +3031,19 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
|
|||||||
cabal2nix = callPackage ../development/tools/haskell/cabal2nix {};
|
cabal2nix = callPackage ../development/tools/haskell/cabal2nix {};
|
||||||
|
|
||||||
# Build a cabal package given a local .cabal file
|
# Build a cabal package given a local .cabal file
|
||||||
buildLocalCabalWithArgs = { src, name, args ? {}, cabalDrvArgs ? { jailbreak = true; } }: let
|
buildLocalCabalWithArgs = { src
|
||||||
cabalExpr = pkgs.stdenv.mkDerivation ({
|
, name
|
||||||
|
, args ? {}
|
||||||
|
, cabalDrvArgs ? { jailbreak = true; }
|
||||||
|
# for import-from-derivation, want to use current system
|
||||||
|
, nativePkgs ? import pkgs.path {}
|
||||||
|
}: let
|
||||||
|
cabalExpr = nativePkgs.stdenv.mkDerivation ({
|
||||||
name = "${name}.nix";
|
name = "${name}.nix";
|
||||||
|
|
||||||
buildCommand = ''
|
buildCommand = ''
|
||||||
export HOME="$TMPDIR"
|
export HOME="$TMPDIR"
|
||||||
${self.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \
|
${nativePkgs.haskellPackages.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \
|
||||||
| grep -v FILTERME | sed \
|
| grep -v FILTERME | sed \
|
||||||
-e 's/licenses.proprietary/licenses.unfree/' \
|
-e 's/licenses.proprietary/licenses.unfree/' \
|
||||||
-e 's/{ cabal/{ cabal, cabalInstall, cabalDrvArgs ? {}, src/' \
|
-e 's/{ cabal/{ cabal, cabalInstall, cabalDrvArgs ? {}, src/' \
|
||||||
@ -3046,9 +3052,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
|
|||||||
-e 's/pname = \([^\n]*\)/pname = \1\n inherit src;\n/' > $out
|
-e 's/pname = \([^\n]*\)/pname = \1\n inherit src;\n/' > $out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
} // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
|
} // pkgs.lib.optionalAttrs nativePkgs.stdenv.isLinux {
|
||||||
LANG = "en_US.UTF-8";
|
LANG = "en_US.UTF-8";
|
||||||
LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
|
LOCALE_ARCHIVE = "${nativePkgs.glibcLocales}/lib/locale/locale-archive";
|
||||||
});
|
});
|
||||||
in callPackage cabalExpr ({ inherit src cabalDrvArgs; } // args);
|
in callPackage cabalExpr ({ inherit src cabalDrvArgs; } // args);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user