From 80ba43b5f8c70cd823cf0821ae32491e7b3edd3d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 21 Jul 2019 17:18:22 +0200 Subject: gnu: libarchive: Enable zstd support. CMake 3.15 has a test that expects zstd to be enabled. It adds ~1 MiB to the closure size. * gnu/packages/backup.scm (libarchive)[inputs]: Add ZSTD:LIB. Sort alphabetically. [arguments]: Adjust one of the zstd tests. Adjust libarchive.pc. --- gnu/packages/backup.scm | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'gnu/packages/backup.scm') diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 1bb05d9d15..abb8eed259 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2018 Oleg Pykhalov ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2019 Alex Vong +;;; Copyright © 2019 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -212,12 +213,13 @@ (define-public libarchive "0pl25mmz1b1cnwf35kxmygyy9g7z7hslxbx329a9yx8csh7dahw6")))) (build-system gnu-build-system) (inputs - `(("zlib" ,zlib) - ("nettle" ,nettle) - ("lzo" ,lzo) - ("bzip2" ,bzip2) + `(("bzip2" ,bzip2) ("libxml2" ,libxml2) - ("xz" ,xz))) + ("lzo" ,lzo) + ("nettle" ,nettle) + ("xz" ,xz) + ("zlib" ,zlib) + ("zstd" ,zstd "lib"))) (arguments `(#:phases (modify-phases %standard-phases @@ -232,6 +234,13 @@ (define-public libarchive ;; test_write_disk_lookup tests expect user 'root' to exist, but ;; the chroot's /etc/passwd doesn't have it. Turn off those tests. ;; + ;; XXX: Adjust test that fails with zstd 1.4.1 because the default + ;; options compresses two bytes better than this test expects. + ;; https://github.com/libarchive/libarchive/issues/1226 + (substitute* "libarchive/test/test_write_filter_zstd.c" + (("compression-level\", \"6\"") + "compression-level\", \"7\"")) + ;; The tests allow one to disable tests matching a globbing pattern. (invoke "make" "libarchive_test" "bsdcpio_test" "bsdtar_test") ;; XXX: This glob disables too much. @@ -246,6 +255,7 @@ (define-public libarchive (libxml2 (assoc-ref inputs "libxml2")) (xz (assoc-ref inputs "xz")) (zlib (assoc-ref inputs "zlib")) + (zstd (assoc-ref inputs "zstd")) (bzip2 (assoc-ref inputs "bzip2"))) (substitute* (string-append lib "/pkgconfig/libarchive.pc") (("-lnettle") @@ -256,6 +266,8 @@ (define-public libarchive (string-append "-L" xz "/lib -llzma")) (("-lz") (string-append "-L" zlib "/lib -lz")) + (("-lzstd") + (string-append "-L" zstd "/lib -lzstd")) (("-lbz2") (string-append "-L" bzip2 "/lib -lbz2"))) #t)))))) -- cgit v1.2.3