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.
[nix] Split overlays into their own files
This is a pure refactoring of the nix logic. The primary goal is to modularize the overlays and subsequently make rebasing easier by removing these lines from the `default.nix`.
- Loading branch information
Showing
7 changed files
with
108 additions
and
99 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,11 @@ | ||
pkgs: localLib: self: super: with pkgs.lib; { | ||
mkDerivation = args: super.mkDerivation (args // optionalAttrs (localLib.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 (localLib.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,7 @@ | ||
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,5 @@ | ||
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,5 @@ | ||
pkgs: localLib: self: super: { | ||
mkDerivation = args: super.mkDerivation (args // optionalAttrs (localLib.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,5 @@ | ||
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,62 @@ | ||
pkgs: localLib: enableProfiling: gitrev: ghc: | ||
self: super: | ||
with pkgs.haskell.lib; with pkgs.lib; | ||
let | ||
justStaticExecutablesGitRev = import ../../scripts/set-git-rev { | ||
inherit pkgs gitrev ghc; | ||
}; | ||
addRealTimeTestLogs = drv: overrideCabal drv (attrs: { | ||
testTarget = "--show-details=streaming"; | ||
}); | ||
in { | ||
srcroot = ./.; | ||
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; | ||
# 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; }; | ||
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; | ||
}); | ||
} |