gnu: unionfs-fuse: Update to 3.3.

* gnu/packages/linux.scm (unionfs-fuse): Update to 3.3.
[arguments]: Purport to run the test suite.
[native-inputs]: Add pkg-config and python-pytest.
[inputs]: Upgrade fuse-2 to fuse (3).
This commit is contained in:
Tobias Geerinckx-Rice 2023-07-23 02:00:00 +02:00
parent 0174d058f2
commit 351d59fb0f
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79

View file

@ -3825,7 +3825,7 @@ (define-public fuse
(define-public unionfs-fuse (define-public unionfs-fuse
(package (package
(name "unionfs-fuse") (name "unionfs-fuse")
(version "2.2") (version "3.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -3834,15 +3834,25 @@ (define-public unionfs-fuse
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1yigh8z1q6iq6yjyq7kl7vpbpjnxjld32apvjaw2bl44pqqg56hh")))) "1wl5m5qnwf3s1792xphr35pb80sx8ybaqi3n3ddi5vvk3qjc4iws"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs
(list python))
(inputs (list fuse-2))
(arguments (arguments
;; The tests were never actually run ("collected 0 items"), but in recent '(#:phases
;; versions of pytest that causes an error. (modify-phases %standard-phases
'(#:tests? #f)) (replace 'check
;; The epitome of I tried: run the 2 trivial tests that don't rely
;; on the fuse kernel module being loaded. All others would fail.
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "../source/test_all.py" "-k" "test_help")))))))
(native-inputs
(list pkg-config
;; Only for the test suite.
python
python-pytest))
(inputs
(list fuse))
(home-page "https://github.com/rpodgorny/unionfs-fuse") (home-page "https://github.com/rpodgorny/unionfs-fuse")
(synopsis "User-space union file system") (synopsis "User-space union file system")
(description (description
@ -3852,25 +3862,27 @@ (define-public unionfs-fuse
UnionFS-FUSE additionally supports copy-on-write.") UnionFS-FUSE additionally supports copy-on-write.")
(license license:bsd-3))) (license license:bsd-3)))
(define fuse-2-static (define fuse-static
(package (inherit fuse-2) (package (inherit fuse)
(name "fuse-static") (name "fuse-static")
(source (origin (inherit (package-source fuse-2)) (source
(modules '((guix build utils))) (origin
(snippet (inherit (package-source fuse))
'(begin (modules '((guix build utils)))
;; Normally libfuse invokes mount(8) so that /etc/mtab is (snippet
;; updated. Change calls to 'mtab_needs_update' to 0 so #~(begin
;; that it doesn't do that, allowing us to remove the ;; Normally libfuse invokes mount(8) so that /etc/mtab is updated.
;; dependency on util-linux (something that is useful in ;; Change calls to 'mtab_needs_update' to 0 so that it doesn't do
;; initrds.) ;; that, allowing us to remove the dependency on util-linux
(substitute* '("lib/mount_util.c" ;; (something that is useful in initrds.)
"util/mount_util.c") (substitute* "lib/mount_util.c"
(("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)") (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)") "0")
"0") (("/bin/") ""))))))
(("/bin/") (arguments
"")) (substitute-keyword-arguments (package-arguments fuse)
#t)))))) ((#:configure-flags flags '())
#~(cons "-Ddefault_library=static"
#$flags))))))
(define-public unionfs-fuse/static (define-public unionfs-fuse/static
(package (inherit unionfs-fuse) (package (inherit unionfs-fuse)
@ -3903,7 +3915,7 @@ (define-public unionfs-fuse/static
;; we don't need it, remove it. ;; we don't need it, remove it.
(delete-file (string-append out "/bin/unionfsctl")) (delete-file (string-append out "/bin/unionfsctl"))
#t)))))) #t))))))
(inputs `(("fuse" ,fuse-2-static))))) (inputs `(("fuse" ,fuse-static)))))
(define-public sshfs (define-public sshfs
(package (package