commit
ed95b50a7b
3 changed files with 18 additions and 33 deletions
|
@ -7,26 +7,25 @@
|
|||
, cmake
|
||||
, perl
|
||||
, zstd
|
||||
, bashInteractive
|
||||
, xcodebuild
|
||||
, makeWrapper
|
||||
}:
|
||||
|
||||
let ccache = stdenv.mkDerivation rec {
|
||||
pname = "ccache";
|
||||
version = "4.2.1";
|
||||
version = "4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-AmgJpW7AGCSggbHp1fLO5yhXS9LIm7O77nQdDERJYAA=";
|
||||
hash = "sha256-ZBxDTMUZiZJLIYbvACTFwvlss+IZiMjiL0khfM5hFCM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# test/run use compgen to get environment variable names, but
|
||||
# compgen isn't available in non-interactive bash.
|
||||
./env-instead-of-compgen.patch
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
patches = [
|
||||
# When building for Darwin, test/run uses dwarfdump, whereas on
|
||||
# Linux it uses objdump. We don't have dwarfdump packaged for
|
||||
# Darwin, so this patch updates the test to also use objdump on
|
||||
|
@ -38,18 +37,22 @@ let ccache = stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
nativeBuildInputs = [ asciidoc cmake perl ];
|
||||
|
||||
buildInputs = [ zstd ];
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = lib.optional stdenv.isDarwin xcodebuild;
|
||||
checkInputs = [
|
||||
# test/run requires the compgen function which is available in
|
||||
# bashInteractive, but not bash.
|
||||
bashInteractive
|
||||
] ++ lib.optional stdenv.isDarwin xcodebuild;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
export HOME=$(mktemp -d)
|
||||
ctest --output-on-failure ${lib.optionalString stdenv.isDarwin ''
|
||||
-E '^(test.nocpp2|test.basedir|test.multi_arch)$'
|
||||
''}
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
diff --git a/test/run b/test/run
|
||||
index cbdd98f0..bc930200 100755
|
||||
--- a/test/run
|
||||
+++ b/test/run
|
||||
@@ -346,11 +346,11 @@ expect_perm() {
|
||||
}
|
||||
|
||||
reset_environment() {
|
||||
- while IFS= read -r name; do
|
||||
+ while IFS='=' read -r name value; do
|
||||
if [[ $name =~ ^CCACHE_[A-Z0-9_]*$ ]]; then
|
||||
unset $name
|
||||
fi
|
||||
- done < <(compgen -e)
|
||||
+ done < <(env)
|
||||
|
||||
unset GCC_COLORS
|
||||
unset TERM
|
|
@ -12759,12 +12759,12 @@ in
|
|||
inherit (stdenv) cc;
|
||||
};
|
||||
|
||||
ccacheStdenv = lowPrio (makeOverridable ({ extraConfig, stdenv }:
|
||||
overrideCC stdenv (buildPackages.ccacheWrapper.override {
|
||||
inherit extraConfig;
|
||||
ccacheStdenv = lowPrio (makeOverridable ({ stdenv, ... } @ extraArgs:
|
||||
overrideCC stdenv (buildPackages.ccacheWrapper.override ({
|
||||
inherit (stdenv) cc;
|
||||
})) {
|
||||
extraConfig = "";
|
||||
} // lib.optionalAttrs (builtins.hasAttr "extraConfig" extraArgs) {
|
||||
extraConfig = extraArgs.extraConfig;
|
||||
}))) {
|
||||
inherit stdenv;
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue