summaryrefslogtreecommitdiff
path: root/pkgs/development/tools/misc/ccache
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2021-05-24 09:55:24 -0500
committerRobin Gloster <mail@glob.in>2021-05-24 09:55:24 -0500
commit4bc5fbef9d159e143fb7e2c3231932e6e76f667c (patch)
treee2198f5c552e0667d838b8ec764ddb3a4d8f6dec /pkgs/development/tools/misc/ccache
parentjq: fix build with structured-attrs on darwin (diff)
parentMerge pull request #123802 from superherointj/package-virtmanager-bugfix (diff)
downloadnixpkgs-origin/structured-attrs.tar.gz
Merge remote-tracking branch 'upstream/master' into structured-attrsorigin/structured-attrs
Diffstat (limited to 'pkgs/development/tools/misc/ccache')
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix23
-rw-r--r--pkgs/development/tools/misc/ccache/env-instead-of-compgen.patch18
2 files changed, 13 insertions, 28 deletions
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 4128118decf6..b905f5e8ed5e 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -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 = {
diff --git a/pkgs/development/tools/misc/ccache/env-instead-of-compgen.patch b/pkgs/development/tools/misc/ccache/env-instead-of-compgen.patch
deleted file mode 100644
index 313de0fa58c3..000000000000
--- a/pkgs/development/tools/misc/ccache/env-instead-of-compgen.patch
+++ /dev/null
@@ -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