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
(package
(name "unionfs-fuse")
(version "2.2")
(version "3.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3834,15 +3834,25 @@ (define-public unionfs-fuse
(file-name (git-file-name name version))
(sha256
(base32
"1yigh8z1q6iq6yjyq7kl7vpbpjnxjld32apvjaw2bl44pqqg56hh"))))
"1wl5m5qnwf3s1792xphr35pb80sx8ybaqi3n3ddi5vvk3qjc4iws"))))
(build-system cmake-build-system)
(native-inputs
(list python))
(inputs (list fuse-2))
(arguments
;; The tests were never actually run ("collected 0 items"), but in recent
;; versions of pytest that causes an error.
'(#:tests? #f))
'(#:phases
(modify-phases %standard-phases
(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")
(synopsis "User-space union file system")
(description
@ -3852,25 +3862,27 @@ (define-public unionfs-fuse
UnionFS-FUSE additionally supports copy-on-write.")
(license license:bsd-3)))
(define fuse-2-static
(package (inherit fuse-2)
(define fuse-static
(package (inherit fuse)
(name "fuse-static")
(source (origin (inherit (package-source fuse-2))
(modules '((guix build utils)))
(snippet
'(begin
;; Normally libfuse invokes mount(8) so that /etc/mtab is
;; updated. Change calls to 'mtab_needs_update' to 0 so
;; that it doesn't do that, allowing us to remove the
;; dependency on util-linux (something that is useful in
;; initrds.)
(substitute* '("lib/mount_util.c"
"util/mount_util.c")
(("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
"0")
(("/bin/")
""))
#t))))))
(source
(origin
(inherit (package-source fuse))
(modules '((guix build utils)))
(snippet
#~(begin
;; Normally libfuse invokes mount(8) so that /etc/mtab is updated.
;; Change calls to 'mtab_needs_update' to 0 so that it doesn't do
;; that, allowing us to remove the dependency on util-linux
;; (something that is useful in initrds.)
(substitute* "lib/mount_util.c"
(("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)") "0")
(("/bin/") ""))))))
(arguments
(substitute-keyword-arguments (package-arguments fuse)
((#:configure-flags flags '())
#~(cons "-Ddefault_library=static"
#$flags))))))
(define-public unionfs-fuse/static
(package (inherit unionfs-fuse)
@ -3903,7 +3915,7 @@ (define-public unionfs-fuse/static
;; we don't need it, remove it.
(delete-file (string-append out "/bin/unionfsctl"))
#t))))))
(inputs `(("fuse" ,fuse-2-static)))))
(inputs `(("fuse" ,fuse-static)))))
(define-public sshfs
(package