summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim@guixotic.coop>2025-12-31 10:18:41 +0900
committerMaxim Cournoyer <maxim@guixotic.coop>2026-01-12 11:22:59 +0900
commit8af878a459ac221be40d8b28dc4c0077f1de4708 (patch)
tree2c7228f8bcdb349178990fcd8da78dcf4f6dd6c0 /gnu
parent8d2fe8772b354b1ea2aa04a43865e7e1a76e071f (diff)
gnu: Add libarchive-next.
* gnu/packages/backup.scm (libarchive-next): New variable. Change-Id: Ifc4b9f79fc2a382da69b524ad4a5921ee90e0ba7
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/backup.scm58
1 files changed, 57 insertions, 1 deletions
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index a38402fc9f3..208830334e9 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>
@@ -357,6 +357,62 @@ random access nor for in-place modification. This package provides the
357@command{bsdcat}, @command{bsdcpio} and @command{bsdtar} commands.") 357@command{bsdcat}, @command{bsdcpio} and @command{bsdtar} commands.")
358 (license license:bsd-2))) 358 (license license:bsd-2)))
359 359
360;;; TODO: core update (20k rebuilds).
361(define-public libarchive-next
362 (package
363 (inherit libarchive)
364 (name "libarchive")
365 (version "3.8.4")
366 (source
367 (origin
368 (method url-fetch)
369 (uri (list (string-append "https://libarchive.org/downloads/libarchive-"
370 version ".tar.xz")
371 (string-append "https://github.com/libarchive/libarchive"
372 "/releases/download/v" version "/libarchive-"
373 version ".tar.xz")))
374 (sha256
375 (base32
376 "0wxdr7qws1z1b1gp5jsm7n2ccnjlmrnds52d5wc5xkzagyslgf67"))))
377 (arguments
378 (substitute-keyword-arguments (package-arguments libarchive)
379 ((#:phases phases)
380 #~(modify-phases #$phases
381 (delete 'patch-pwd)
382 (add-before 'build 'patch-commands
383 (lambda _
384 (substitute* "Makefile"
385 (("/bin/pwd") (which "pwd")))
386 (substitute* "test_utils/test_main.c"
387 (("/bin/sh") (which "sh")))))
388 (replace 'check
389 (lambda* (#:key parallel-build? tests? #:allow-other-keys)
390 (if tests?
391 (begin
392 ;; These environment variables are taken from
393 ;; <https://raw.githubusercontent.com/libarchive/libarchive/refs/heads/master/.github/workflows/ci.yml>
394 (setenv "SKIP_OPEN_FD_ERR_TEST" "1")
395 (setenv "IGNORE_TRAVERSALS_TEST4" "1")
396
397 ;; XXX: The test_owner_parse, test_read_disk, and
398 ;; test_write_disk_lookup tests expect user 'root' to
399 ;; exist, but the chroot's /etc/passwd doesn't have it
400 ;; (see:
401 ;; <https://github.com/libarchive/libarchive/issues/2794>).
402 (invoke "make" "-j" (number->string
403 (if parallel-build?
404 (parallel-job-count)
405 1))
406 "libarchive_test"
407 "bsdcpio_test"
408 "bsdtar_test")
409 ;; XXX: This glob disables too much.
410 (invoke "./libarchive_test" "^test_*_disk*")
411 (invoke "./bsdcpio_test" "^test_owner_parse")
412 (invoke "./bsdtar_test"))
413 ;; Tests may be disabled if cross-compiling.
414 (format #t "Test suite not run.~%"))))))))))
415
360(define-public rdup 416(define-public rdup
361 (package 417 (package
362 (name "rdup") 418 (name "rdup")