380114738f
This makes the attribute (a) consistent with "doCheck" and friends and (b) avoids the double negation "noHaddock = false" meaning "doHaddock = true". Fixes https://github.com/NixOS/cabal2nix/issues/63.
46 lines
2.1 KiB
Nix
46 lines
2.1 KiB
Nix
{ pkgs }:
|
|
|
|
rec {
|
|
|
|
overrideCabal = drv: f: (drv.override (args: args // {
|
|
mkDerivation = drv: args.mkDerivation (drv // f drv);
|
|
})) // {
|
|
overrideScope = scope: overrideCabal (drv.overrideScope scope) f;
|
|
};
|
|
|
|
doHaddock = drv: overrideCabal drv (drv: { doHaddock = true; });
|
|
dontHaddock = drv: overrideCabal drv (drv: { doHaddock = false; });
|
|
|
|
doJailbreak = drv: overrideCabal drv (drv: { jailbreak = true; });
|
|
dontJailbreak = drv: overrideCabal drv (drv: { jailbreak = false; });
|
|
|
|
doCheck = drv: overrideCabal drv (drv: { doCheck = true; });
|
|
dontCheck = drv: overrideCabal drv (drv: { doCheck = false; });
|
|
|
|
dontDistribute = drv: overrideCabal drv (drv: { hydraPlatforms = []; });
|
|
|
|
appendConfigureFlag = drv: x: overrideCabal drv (drv: { configureFlags = (drv.configureFlags or []) ++ [x]; });
|
|
removeConfigureFlag = drv: x: overrideCabal drv (drv: { configureFlags = pkgs.stdenv.lib.remove x (drv.configureFlags or []); });
|
|
|
|
enableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f-${x}") "-f${x}";
|
|
disableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f${x}") "-f-${x}";
|
|
|
|
markBroken = drv: overrideCabal (drv: { broken = true; });
|
|
|
|
enableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = true; });
|
|
disableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = false; });
|
|
|
|
enableSharedExecutables = drv: overrideCabal drv ( { enableSharedExecutables = true; });
|
|
disableSharedExecutables = drv: overrideCabal drv ( { enableSharedExecutables = false; });
|
|
|
|
enableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = true; });
|
|
disableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = false; });
|
|
|
|
enableSplitObjs = drv: overrideCabal drv (drv: { enableSplitObjs = true; });
|
|
disableSplitObjs = drv: overrideCabal drv (drv: { enableSplitObjs = false; });
|
|
|
|
enableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = true; });
|
|
disableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = false; });
|
|
|
|
}
|