Merge branch 'buildLocalCabal-drvArgs' of git://github.com/proger/nixpkgs

buildLocalCabal: allow drvArgs in buildLocalCabalWithArgs

Shea Levy 0d0f7d26 b116679b

Changed files
+5 -4
pkgs
+5 -4
pkgs/top-level/haskell-packages.nix
···
cabal2nix = callPackage ../development/tools/haskell/cabal2nix {};
# Build a cabal package given a local .cabal file
-
buildLocalCabalWithArgs = { src, name, args ? {} }: let
cabalExpr = pkgs.stdenv.mkDerivation ({
name = "${name}.nix";
···
${self.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \
| grep -v FILTERME | sed \
-e 's/licenses.proprietary/licenses.unfree/' \
-
-e 's/{ cabal/{ cabal, cabalInstall, src/' \
-e 's/buildDepends = \[/buildDepends = \[ cabalInstall/' \
-
-e 's/pname = \([^\n]*\)/pname = \1\n inherit src;\n jailbreak = true;/' > $out
'';
} // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
LANG = "en_US.UTF-8";
LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
});
-
in callPackage cabalExpr ({ inherit src; } // args);
buildLocalCabal = src: name: self.buildLocalCabalWithArgs { inherit src name; };
···
cabal2nix = callPackage ../development/tools/haskell/cabal2nix {};
# Build a cabal package given a local .cabal file
+
buildLocalCabalWithArgs = { src, name, args ? {}, cabalDrvArgs ? { jailbreak = true; } }: let
cabalExpr = pkgs.stdenv.mkDerivation ({
name = "${name}.nix";
···
${self.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \
| grep -v FILTERME | sed \
-e 's/licenses.proprietary/licenses.unfree/' \
+
-e 's/{ cabal/{ cabal, cabalInstall, cabalDrvArgs ? {}, src/' \
+
-e 's/cabal.mkDerivation (self: {/cabal.mkDerivation (self: cabalDrvArgs \/\/ {/' \
-e 's/buildDepends = \[/buildDepends = \[ cabalInstall/' \
+
-e 's/pname = \([^\n]*\)/pname = \1\n inherit src;\n/' > $out
'';
} // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
LANG = "en_US.UTF-8";
LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
});
+
in callPackage cabalExpr ({ inherit src cabalDrvArgs; } // args);
buildLocalCabal = src: name: self.buildLocalCabalWithArgs { inherit src name; };