pbzip2: fix clang-19 build (#371515)

This commit is contained in:
Emily
2025-01-19 15:36:21 +00:00
committed by GitHub
+21 -4
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
fetchpatch,
bzip2,
}:
@@ -18,14 +19,30 @@ stdenv.mkDerivation rec {
sha256 = "1rnvgcdixjzbrmcr1nv9b6ccrjfrhryaj7jwz28yxxv6lam3xlcg";
};
patches = [
# https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals
# https://bugs.launchpad.net/pbzip2/+bug/2081588
(fetchpatch {
url = "https://github.com/freebsd/freebsd-ports/raw/974d3ff054965d2bd2ab884a0579ed06c5a08b07/archivers/pbzip2/files/patch-BZ2StreamScanner.cpp";
extraPrefix = "";
hash = "sha256-dvXdp+5S41akavy+mvPGHpUxHxenXS7bbTVBVkIJj0s=";
})
(fetchpatch {
url = "https://github.com/freebsd/freebsd-ports/raw/974d3ff054965d2bd2ab884a0579ed06c5a08b07/archivers/pbzip2/files/patch-BZ2StreamScanner.h";
extraPrefix = "";
hash = "sha256-/twP8HyHP4cAVgb5cUPq0CgDxUgDYPdd9haH9wDOrz8=";
})
];
postPatch = ''
substituteInPlace pbzip2.cpp \
--replace-fail '"PRIuMAX"' '" PRIuMAX "'
'';
buildInputs = [ bzip2 ];
preBuild = "substituteInPlace Makefile --replace g++ c++";
installFlags = [ "PREFIX=$(out)" ];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=reserved-user-defined-literal";
meta = with lib; {
homepage = "http://compression.ca/pbzip2/";
description = "Parallel implementation of bzip2 for multi-core machines";