libarchive: backport fix for static linking

libarchive 3.6.2 broke static linking, which is causing the
nixStatic jobs to fail on Hydra:

- https://hydra.nixos.org/job/nixpkgs/cross-trunk/powerpc64le-nixCrossStatic.nixStatic.x86_64-linux
- https://hydra.nixos.org/job/nixpkgs/cross-trunk/mips64el-nixCrossStatic.nixStatic.x86_64-linux

This commit backports the fix (merged upstream) from libarchive
3.6.3.

Co-authored-by: Anderson Torres <torres.anderson.85@protonmail.com>
This commit is contained in:
Adam Joseph 2023-01-24 21:58:18 -08:00
parent 343b5c8134
commit 201148d02b

View file

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, acl
, attr
, autoreconfHook
@ -29,7 +30,7 @@ let
autoreconfHook = buildPackages.autoreconfHook269;
in
assert xarSupport -> libxml2 != null;
stdenv.mkDerivation (finalAttrs: {
(stdenv.mkDerivation (finalAttrs: {
pname = "libarchive";
version = "3.6.2";
@ -118,4 +119,16 @@ stdenv.mkDerivation (finalAttrs: {
passthru.tests = {
inherit cmake nix samba;
};
})
})).overrideAttrs(previousAttrs:
assert previousAttrs.version == "3.6.2";
lib.optionalAttrs stdenv.hostPlatform.isStatic {
patches = [
# fixes static linking; upstream in releases after 3.6.2
# https://github.com/libarchive/libarchive/pull/1825 merged upstream
(fetchpatch {
name = "001-only-add-iconv-to-pc-file-if-needed.patch";
url = "https://github.com/libarchive/libarchive/commit/1f35c466aaa9444335a1b854b0b7223b0d2346c2.patch";
hash = "sha256-lb+zwWSH6/MLUIROvu9I/hUjSbb2jOWO755WC/r+lbY=";
})
];
})