mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-21 12:59:04 +02:00
haskell-generic-builder: use cpphs pre-processor by default on Darwin
Allegedly, the cpp implementation of Clang is weird and causes errors.
This commit is contained in:
parent
67312f83ad
commit
007628fd49
|
@ -25,6 +25,17 @@ let
|
|||
hyperlinkSource = false; # Avoid depending on hscolour for this build.
|
||||
postFixup = "rm -rf $out/lib $out/share $out/nix-support";
|
||||
});
|
||||
cpphs = overrideCabal (self.cpphs.overrideScope (self: super: {
|
||||
mkDerivation = drv: super.mkDerivation (drv // {
|
||||
enableSharedExecutables = false;
|
||||
enableSharedLibraries = false;
|
||||
noHaddock = true;
|
||||
useCpphs = false;
|
||||
});
|
||||
})) (drv: {
|
||||
isLibrary = false;
|
||||
postFixup = "rm -rf $out/lib $out/share $out/nix-support";
|
||||
});
|
||||
};
|
||||
|
||||
overrideCabal = drv: f: drv.override (args: args // {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchurl, ghc, pkgconfig, glibcLocales, coreutils, gnugrep, gnused
|
||||
, jailbreak-cabal, hscolour
|
||||
, jailbreak-cabal, hscolour, cpphs
|
||||
}:
|
||||
|
||||
{ pname
|
||||
|
@ -39,7 +39,8 @@
|
|||
, preInstall ? "", postInstall ? ""
|
||||
, checkPhase ? "", preCheck ? "", postCheck ? ""
|
||||
, preFixup ? "", postFixup ? ""
|
||||
, coreSetup ? false # Use core packages to build Setup.hs
|
||||
, coreSetup ? false # Use only core packages to build Setup.hs.
|
||||
, useCpphs ? stdenv.isDarwin
|
||||
}:
|
||||
|
||||
assert pkgconfigDepends != [] -> pkgconfig != null;
|
||||
|
@ -119,6 +120,9 @@ stdenv.mkDerivation ({
|
|||
setupCompileFlags="-j$NIX_BUILD_CORES"
|
||||
''}${optionalString stdenv.isDarwin ''
|
||||
configureFlags+=" --with-gcc=$CC" # Cabal won't find clang without help.
|
||||
''}${optionalString useCpphs ''
|
||||
configureFlags+=" --with-cpphs=${cpphs}/bin/cpphs"
|
||||
configureFlags+=" --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp"
|
||||
''}
|
||||
|
||||
packageConfDir="$TMP/package.conf.d"
|
||||
|
|
Loading…
Reference in a new issue