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 { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, acl , acl
, attr , attr
, autoreconfHook , autoreconfHook
@ -29,7 +30,7 @@ let
autoreconfHook = buildPackages.autoreconfHook269; autoreconfHook = buildPackages.autoreconfHook269;
in in
assert xarSupport -> libxml2 != null; assert xarSupport -> libxml2 != null;
stdenv.mkDerivation (finalAttrs: { (stdenv.mkDerivation (finalAttrs: {
pname = "libarchive"; pname = "libarchive";
version = "3.6.2"; version = "3.6.2";
@ -118,4 +119,16 @@ stdenv.mkDerivation (finalAttrs: {
passthru.tests = { passthru.tests = {
inherit cmake nix samba; 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=";
})
];
})