diff options
| author | Maxim Cournoyer <maxim@guixotic.coop> | 2025-11-20 13:58:22 +0900 |
|---|---|---|
| committer | Maxim Cournoyer <maxim@guixotic.coop> | 2025-11-20 14:20:03 +0900 |
| commit | f8654d777ebe16949aeaf11060c4e54389cf6a55 (patch) | |
| tree | f5f9990afc17d9eaef4defe175cbce885d93e05d /gnu/packages/backup.scm | |
| parent | df4cac9a5252cf4c3cab4f697b237d94e8b4dd26 (diff) | |
gnu: libarchive: Update to 3.8.3.
A flaky test was encountered in the previous 3.7.7. version. Built
successfully 10 times.
* gnu/packages/backup.scm (libarchive): Update to 3.8.3.
[#:phases] {patch-pwd}: Rename to...
{patch-commands}: ... this, and patch /bin/sh in test_main.c.
{check}: Build tests in parallel. Set SKIP_OPEN_FD_ERR_TEST and
IGNORE_TRAVERSALS_TEST4 environment variables.
Change-Id: I479357d6bdcd907e6893095da91f215ce0f1aa14
Diffstat (limited to 'gnu/packages/backup.scm')
| -rw-r--r-- | gnu/packages/backup.scm | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 4e59f3dd480..a561c5fc7e3 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm | |||
| @@ -21,7 +21,7 @@ | |||
| 21 | ;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com> | 21 | ;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com> |
| 22 | ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> | 22 | ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> |
| 23 | ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> | 23 | ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> |
| 24 | ;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop> | 24 | ;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim@guixotic.coop> |
| 25 | ;;; Copyright © 2022 Feng Shu <tumashu@163.com> | 25 | ;;; Copyright © 2022 Feng Shu <tumashu@163.com> |
| 26 | ;;; Copyright © 2023 Timo Wilken <guix@twilken.net> | 26 | ;;; Copyright © 2023 Timo Wilken <guix@twilken.net> |
| 27 | ;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> | 27 | ;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> |
| @@ -264,7 +264,7 @@ backups (called chunks) to allow easy burning to CD/DVD.") | |||
| 264 | (define-public libarchive | 264 | (define-public libarchive |
| 265 | (package | 265 | (package |
| 266 | (name "libarchive") | 266 | (name "libarchive") |
| 267 | (version "3.7.7") | 267 | (version "3.8.3") |
| 268 | (source | 268 | (source |
| 269 | (origin | 269 | (origin |
| 270 | (method url-fetch) | 270 | (method url-fetch) |
| @@ -275,7 +275,7 @@ backups (called chunks) to allow easy burning to CD/DVD.") | |||
| 275 | version ".tar.xz"))) | 275 | version ".tar.xz"))) |
| 276 | (sha256 | 276 | (sha256 |
| 277 | (base32 | 277 | (base32 |
| 278 | "1vps57mrpqmrk4zayh5g5amqfq7031s5zzkkxsm7r71rqf1wv6l7")))) | 278 | "124pp4w6n8xqdwjswc5d4d6kkrgxv67f9xlhgg7934zii4mizqlh")))) |
| 279 | (build-system gnu-build-system) | 279 | (build-system gnu-build-system) |
| 280 | (inputs | 280 | (inputs |
| 281 | (list bzip2 | 281 | (list bzip2 |
| @@ -295,24 +295,33 @@ backups (called chunks) to allow easy burning to CD/DVD.") | |||
| 295 | "--without-openssl") | 295 | "--without-openssl") |
| 296 | #:phases | 296 | #:phases |
| 297 | #~(modify-phases %standard-phases | 297 | #~(modify-phases %standard-phases |
| 298 | (add-before 'build 'patch-pwd | 298 | (add-before 'build 'patch-commands |
| 299 | (lambda _ | 299 | (lambda _ |
| 300 | (substitute* "Makefile" | 300 | (substitute* "Makefile" |
| 301 | (("/bin/pwd") (which "pwd"))))) | 301 | (("/bin/pwd") (which "pwd"))) |
| 302 | (substitute* "test_utils/test_main.c" | ||
| 303 | (("/bin/sh") (which "sh"))))) | ||
| 302 | (replace 'check | 304 | (replace 'check |
| 303 | (lambda* (#:key tests? #:allow-other-keys) | 305 | (lambda* (#:key parallel-build? tests? #:allow-other-keys) |
| 304 | (if tests? | 306 | (if tests? |
| 305 | ;; XXX: The test_owner_parse, test_read_disk, and | ||
| 306 | ;; test_write_disk_lookup tests expect user 'root' to | ||
| 307 | ;; exist, but the chroot's /etc/passwd doesn't have | ||
| 308 | ;; it. Turn off those tests. | ||
| 309 | (begin | 307 | (begin |
| 310 | ;; The tests allow one to disable tests matching a globbing pattern. | 308 | ;; These environment variables are taken from |
| 311 | (invoke "make" | 309 | ;; <https://raw.githubusercontent.com/libarchive/libarchive/refs/heads/master/.github/workflows/ci.yml> |
| 310 | (setenv "SKIP_OPEN_FD_ERR_TEST" "1") | ||
| 311 | (setenv "IGNORE_TRAVERSALS_TEST4" "1") | ||
| 312 | |||
| 313 | ;; XXX: The test_owner_parse, test_read_disk, and | ||
| 314 | ;; test_write_disk_lookup tests expect user 'root' to | ||
| 315 | ;; exist, but the chroot's /etc/passwd doesn't have it | ||
| 316 | ;; (see: | ||
| 317 | ;; <https://github.com/libarchive/libarchive/issues/2794>). | ||
| 318 | (invoke "make" "-j" (number->string | ||
| 319 | (if parallel-build? | ||
| 320 | (parallel-job-count) | ||
| 321 | 1)) | ||
| 312 | "libarchive_test" | 322 | "libarchive_test" |
| 313 | "bsdcpio_test" | 323 | "bsdcpio_test" |
| 314 | "bsdtar_test") | 324 | "bsdtar_test") |
| 315 | |||
| 316 | ;; XXX: This glob disables too much. | 325 | ;; XXX: This glob disables too much. |
| 317 | (invoke "./libarchive_test" "^test_*_disk*") | 326 | (invoke "./libarchive_test" "^test_*_disk*") |
| 318 | (invoke "./bsdcpio_test" "^test_owner_parse") | 327 | (invoke "./bsdcpio_test" "^test_owner_parse") |
