haskell lib: Make Cabal compiler names explicit

Cabal2nix expects a --compiler flag that contains a Cabal Compiler description.
We used to use the compiler's derivation name for this, but this breaks when
cross-compiling due to the target suffix. Instead we add an explicit
haskellCompilerName attribute to Haskell compiler derivations.
This commit is contained in:
Ben Gamari
2018-01-21 23:31:05 -05:00
committed by John Ericson
parent b612597c3d
commit bf687907d7
16 changed files with 75 additions and 11 deletions
@@ -96,7 +96,11 @@ stdenv.mkDerivation rec {
[ $(./main) == "yes" ]
'';
passthru = { targetPrefix = ""; };
passthru = {
targetPrefix = "";
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
homepage = http://haskell.org/ghc;
+6 -1
View File
@@ -25,7 +25,12 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
passthru = { targetPrefix = ""; };
passthru = {
targetPrefix = "";
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
homepage = http://haskell.org/ghc;
+6 -1
View File
@@ -36,7 +36,12 @@ stdenv.mkDerivation rec {
# that in turn causes GHCi to abort
stripDebugFlags=["-S" "--keep-file-symbols"];
passthru = { targetPrefix = ""; };
passthru = {
targetPrefix = "";
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
homepage = http://haskell.org/ghc;
@@ -134,7 +134,12 @@ stdenv.mkDerivation rec {
[ $(./main) == "yes" ]
'';
passthru = { targetPrefix = ""; };
passthru = {
targetPrefix = "";
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta.license = stdenv.lib.licenses.bsd3;
meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
+6 -1
View File
@@ -45,7 +45,12 @@ stdenv.mkDerivation rec {
# that in turn causes GHCi to abort
stripDebugFlags=["-S" "--keep-file-symbols"];
passthru = { targetPrefix = ""; };
passthru = {
targetPrefix = "";
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
homepage = http://haskell.org/ghc;
@@ -169,6 +169,9 @@ stdenv.mkDerivation rec {
inherit bootPkgs targetPrefix;
inherit llvmPackages;
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
+6 -1
View File
@@ -55,7 +55,12 @@ stdenv.mkDerivation rec {
# that in turn causes GHCi to abort
stripDebugFlags=["-S" "--keep-file-symbols"];
passthru = { targetPrefix = ""; };
passthru = {
targetPprefix = "";
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
homepage = http://haskell.org/ghc;
@@ -136,7 +136,12 @@ stdenv.mkDerivation rec {
[ $(./main) == "yes" ]
'';
passthru = { targetPrefix = ""; };
passthru = {
targetPrefix = "";
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta.license = stdenv.lib.licenses.bsd3;
meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
+6 -1
View File
@@ -56,7 +56,12 @@ stdenv.mkDerivation rec {
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
passthru = { targetPrefix = ""; };
passthru = {
targetPrefix = "";
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
homepage = http://haskell.org/ghc;
+6 -1
View File
@@ -82,7 +82,12 @@ in stdenv.mkDerivation rec {
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
passthru = { targetPrefix = ""; };
passthru = {
targetPrefix = "";
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
homepage = http://haskell.org/ghc;
+6 -1
View File
@@ -74,7 +74,12 @@ stdenv.mkDerivation rec {
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
passthru = { targetPrefix = ""; };
passthru = {
targetPrefix = "";
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
homepage = http://haskell.org/ghc;
+3
View File
@@ -170,6 +170,9 @@ stdenv.mkDerivation rec {
inherit bootPkgs targetPrefix;
inherit llvmPackages;
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
+3
View File
@@ -181,6 +181,9 @@ stdenv.mkDerivation rec {
inherit bootPkgs targetPrefix;
inherit llvmPackages;
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
+3
View File
@@ -178,6 +178,9 @@ stdenv.mkDerivation rec {
inherit bootPkgs targetPrefix;
inherit llvmPackages;
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
+3
View File
@@ -178,6 +178,9 @@ stdenv.mkDerivation rec {
inherit bootPkgs targetPrefix;
inherit llvmPackages;
# Our Cabal compiler name
haskellCompilerName = "ghc";
};
meta = {
@@ -120,7 +120,7 @@ let
installPhase = ''
export HOME="$TMP"
mkdir -p "$out"
cabal2nix --compiler=${self.ghc.name} --system=${stdenv.system} ${sha256Arg} "${src}" > "$out/default.nix"
cabal2nix --compiler=${ghc.haskellCompilerName} --system=${stdenv.system} ${sha256Arg} "${src}" > "$out/default.nix"
'';
};