mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
haskell generic builder: Add flag to allow inconsistent dependencies.
This commit is contained in:
parent
562c620398
commit
30fb5b0dcf
2 changed files with 17 additions and 5 deletions
|
@ -74,6 +74,10 @@ in
|
|||
, hardeningDisable ? stdenv.lib.optional (ghc.isHaLVM or false) "all"
|
||||
, enableSeparateDataOutput ? false
|
||||
, enableSeparateDocOutput ? doHaddock
|
||||
, # Don't fail at configure time if there are multiple versions of the
|
||||
# same package in the (recursive) dependencies of the package being
|
||||
# built. Will delay failures, if any, to compile time.
|
||||
allowInconsistentDependencies ? false
|
||||
} @ args:
|
||||
|
||||
assert editedCabalFile != null -> revision != null;
|
||||
|
@ -336,11 +340,12 @@ stdenv.mkDerivation ({
|
|||
|
||||
echo configureFlags: $configureFlags
|
||||
${setupCommand} configure $configureFlags 2>&1 | ${coreutils}/bin/tee "$NIX_BUILD_TOP/cabal-configure.log"
|
||||
if ${gnugrep}/bin/egrep -q -z 'Warning:.*depends on multiple versions' "$NIX_BUILD_TOP/cabal-configure.log"; then
|
||||
echo >&2 "*** abort because of serious configure-time warning from Cabal"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${stdenv.lib.optionalString (!allowInconsistentDependencies) ''
|
||||
if ${gnugrep}/bin/egrep -q -z 'Warning:.*depends on multiple versions' "$NIX_BUILD_TOP/cabal-configure.log"; then
|
||||
echo >&2 "*** abort because of serious configure-time warning from Cabal"
|
||||
exit 1
|
||||
fi
|
||||
''}
|
||||
export GHC_PACKAGE_PATH="$packageConfDir:"
|
||||
|
||||
runHook postConfigure
|
||||
|
|
|
@ -408,4 +408,11 @@ rec {
|
|||
*/
|
||||
generateOptparseApplicativeCompletions = commands: pkg:
|
||||
pkgs.lib.foldr generateOptparseApplicativeCompletion pkg commands;
|
||||
|
||||
# Don't fail at configure time if there are multiple versions of the
|
||||
# same package in the (recursive) dependencies of the package being
|
||||
# built. Will delay failures, if any, to compile time.
|
||||
allowInconsistentDependencies = drv: overrideCabal drv (drv: {
|
||||
allowInconsistentDependencies = true;
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue