This repository has been archived by the owner on Aug 18, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 631
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3690 from input-output-hk/angerman/split-overlays
[DEVOPS-1067] [nix] Split overlays into their own files
- Loading branch information
Showing
7 changed files
with
142 additions
and
102 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
{ pkgs, localLib }: | ||
|
||
with localLib; | ||
|
||
self: super: { | ||
mkDerivation = args: super.mkDerivation (args // optionalAttrs (isCardanoSL args.pname) { | ||
# Enables building but not running of benchmarks for all | ||
# cardano-sl packages when enableBenchmarks argument is true. | ||
doBenchmark = true; | ||
configureFlags = (args.configureFlags or []) ++ ["--enable-benchmarks"]; | ||
} // optionalAttrs (isBenchmark args) { | ||
# Provide a dummy installPhase for benchmark packages. | ||
installPhase = "mkdir -p $out"; | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
{ pkgs }: | ||
|
||
self: super: { | ||
mkDerivation = args: super.mkDerivation (args // { | ||
# TODO: DEVOPS-355 | ||
dontStrip = true; | ||
configureFlags = (args.configureFlags or []) ++ [ "--ghc-options=-g --disable-executable-stripping --disable-library-stripping" "--profiling-detail=toplevel-functions"]; | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ pkgs }: | ||
|
||
self: super: { | ||
mkDerivation = args: super.mkDerivation (args // { | ||
doCheck = false; | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Disabling optimization for cardano-sl packages will | ||
# return a build ~20% faster (measured in DEVOPS-1032). | ||
|
||
{ pkgs, localLib }: | ||
|
||
with localLib; | ||
|
||
self: super: { | ||
mkDerivation = args: super.mkDerivation (args // optionalAttrs (isCardanoSL args.pname) { | ||
configureFlags = (args.configureFlags or []) ++ [ "--ghc-options=-O0" ]; | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ pkgs }: | ||
|
||
self: super: { | ||
mkDerivation = args: super.mkDerivation (args // { | ||
enablePhaseMetrics = true; | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
{ pkgs, localLib, enableProfiling, gitrev, ghc }: | ||
|
||
with pkgs.haskell.lib; | ||
with localLib; | ||
|
||
let | ||
justStaticExecutablesGitRev = import ../../scripts/set-git-rev { | ||
inherit pkgs gitrev ghc; | ||
}; | ||
addRealTimeTestLogs = drv: overrideCabal drv (attrs: { | ||
testTarget = "--show-details=streaming"; | ||
}); | ||
in | ||
|
||
self: super: { | ||
|
||
######################################################################## | ||
# Overides of Cardano SL packages | ||
|
||
cardano-sl-core = overrideCabal super.cardano-sl-core (drv: { | ||
configureFlags = (drv.configureFlags or []) ++ [ | ||
"-f-asserts" | ||
]; | ||
}); | ||
cardano-sl = overrideCabal super.cardano-sl (drv: { | ||
# production full nodes shouldn't use wallet as it means different constants | ||
configureFlags = (drv.configureFlags or []) ++ [ | ||
"-f-asserts" | ||
]; | ||
passthru = { | ||
inherit enableProfiling; | ||
}; | ||
}); | ||
cardano-sl-wallet-static = justStaticExecutablesGitRev super.cardano-sl-wallet; | ||
cardano-sl-client = addRealTimeTestLogs super.cardano-sl-client; | ||
cardano-sl-generator = addRealTimeTestLogs super.cardano-sl-generator; | ||
cardano-sl-networking = addRealTimeTestLogs super.cardano-sl-networking; | ||
cardano-sl-auxx-static = justStaticExecutablesGitRev super.cardano-sl-auxx; | ||
cardano-sl-wallet-new-static = justStaticExecutablesGitRev super.cardano-sl-wallet-new; | ||
cardano-sl-node-static = justStaticExecutablesGitRev self.cardano-sl-node; | ||
cardano-sl-explorer-static = justStaticExecutablesGitRev self.cardano-sl-explorer; | ||
cardano-report-server-static = justStaticExecutablesGitRev self.cardano-report-server; | ||
cardano-sl-faucet-static = justStaticExecutablesGitRev self.cardano-sl-faucet; | ||
cardano-sl-tools-static = justStaticExecutablesGitRev super.cardano-sl-tools; | ||
|
||
######################################################################## | ||
# The base Haskell package builder | ||
|
||
mkDerivation = args: super.mkDerivation (args // { | ||
enableLibraryProfiling = enableProfiling; | ||
enableExecutableProfiling = enableProfiling; | ||
# Static linking for everything to work around | ||
# https://ghc.haskell.org/trac/ghc/ticket/14444 | ||
# This will be the default in nixpkgs since | ||
# https://github.com/NixOS/nixpkgs/issues/29011 | ||
enableSharedExecutables = false; | ||
} // optionalAttrs (args ? src) { | ||
src = localLib.cleanSourceTree args.src; | ||
}); | ||
|
||
######################################################################## | ||
# Configuration of overrides for other dependencies | ||
|
||
# Undo configuration-nix.nix change to hardcode security binary on darwin | ||
# This is needed for macOS binary not to fail during update system (using http-client-tls) | ||
# Instead, now the binary is just looked up in $PATH as it should be installed on any macOS | ||
x509-system = overrideDerivation super.x509-system (drv: { | ||
postPatch = ":"; | ||
}); | ||
|
||
# TODO: get rid of pthreads option once cryptonite 0.25 is released | ||
# DEVOPS-393: https://github.com/haskell-crypto/cryptonite/issues/193 | ||
cryptonite = appendPatch (appendConfigureFlag super.cryptonite "--ghc-option=-optl-pthread") ../../pkgs/cryptonite-segfault-blake.patch; | ||
|
||
# Due to https://github.com/input-output-hk/stack2nix/issues/56 | ||
hfsevents = self.callPackage ../../pkgs/hfsevents.nix { inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa CoreServices; }; | ||
} |