From 898be2ef0f52c3feea5041770929a871c2c73777 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sat, 1 Jun 2024 18:49:09 -0700 Subject: [PATCH] ccache: make src reproducible --- pkgs/by-name/cc/ccache/package.nix | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/cc/ccache/package.nix b/pkgs/by-name/cc/ccache/package.nix index f39066fba289..f4e2bceeaefe 100644 --- a/pkgs/by-name/cc/ccache/package.nix +++ b/pkgs/by-name/cc/ccache/package.nix @@ -26,7 +26,20 @@ stdenv.mkDerivation (finalAttrs: { owner = "ccache"; repo = "ccache"; rev = "refs/tags/v${finalAttrs.version}"; - sha256 = "sha256-0T9iJXnDX8LffhB/5hsfBNyZQ211f0lL/7dvTrjmiE0="; + # `git archive` replaces `$Format:%H %D$` in cmake/CcacheVersion.cmake + # we need to replace it with something reproducible + # see https://github.com/NixOS/nixpkgs/pull/316524 + postFetch = '' + sed -i -E \ + 's/version_info "([0-9a-f]{40}) .*(tag: v[^,]+).*"/version_info "\1 \2"/g w match' \ + $out/cmake/CcacheVersion.cmake + if [ -s match ]; then + rm match + else # pattern didn't match + exit 1 + fi + ''; + hash = "sha256-YHSr2pnk17QEdrIHInXX2eBFN9OGjdleaB41VLaqlnA="; }; outputs = [