Add haskell packages set for cross ghc

This commit is contained in:
Shea Levy
2016-11-18 10:44:53 -05:00
parent 247d7c88d2
commit 64ec4dd87b
4 changed files with 53 additions and 20 deletions

View File

@@ -1,5 +1,5 @@
{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
, autoconf, automake, happy, alex, cross ? null
, autoconf, automake, happy, alex, crossSystem, selfPkgs, cross ? null
}:
let
@@ -70,6 +70,11 @@ in stdenv.mkDerivation (rec {
passthru = {
inherit bootPkgs;
} // stdenv.lib.optionalAttrs (crossSystem != null) {
crossCompiler = selfPkgs.ghc.override {
cross = crossSystem;
bootPkgs = selfPkgs;
};
};
meta = {
@@ -90,11 +95,24 @@ in stdenv.mkDerivation (rec {
'';
configureFlags = [
"CC=${cross.config}-cc"
"CC=${stdenv.ccCross}/bin/${cross.config}-cc"
"LD=${stdenv.binutilsCross}/bin/${cross.config}-ld"
"AR=${stdenv.binutilsCross}/bin/${cross.config}-ar"
"NM=${stdenv.binutilsCross}/bin/${cross.config}-nm"
"RANLIB=${stdenv.binutilsCross}/bin/${cross.config}-ranlib"
"--target=${cross.config}"
"--enable-bootstrap-with-devel-snapshot"
];
buildInputs = commonBuildInputs ++ [ stdenv.ccCross stdenv.binutilsCross ];
dontSetConfigureCross = true;
passthru = {
inherit bootPkgs cross;
cc = "${stdenv.ccCross}/bin/${cross.config}-cc";
ld = "${stdenv.binutilsCross}/bin/${cross.config}-ld";
};
})