gnu: Add fuse-3.
* gnu/packages/linux.scm (fuse-3): New variable.
This commit is contained in:
parent
fa8b43c8e3
commit
b4287446a8
@ -3377,6 +3377,66 @@ user-space processes.")
|
||||
(license (list license:lgpl2.1 ;library
|
||||
license:gpl2+)))) ;command-line utilities
|
||||
|
||||
(define-public fuse-3
|
||||
(package
|
||||
(inherit fuse)
|
||||
(name "fuse")
|
||||
(version "3.10.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://github.com/libfuse/libfuse/releases/"
|
||||
"download/fuse-" version
|
||||
"/fuse-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rlnnsiw614qcmgy8xz67044gqc1pbvvf2yxjv44lh27bm487qmj"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
,#~(list
|
||||
(string-append "-Dudevrulesdir=" #$output "/udev/rules.d")
|
||||
"-Duseroot=false")
|
||||
#:tests? #f
|
||||
#:phases
|
||||
,#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-file-names
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; libfuse calls out to mount(8) and umount(8). Make sure
|
||||
;; it refers to the right ones.
|
||||
(substitute* '("lib/mount_util.c")
|
||||
(("/bin/(u?)mount" _ maybe-u)
|
||||
(search-input-file inputs
|
||||
(string-append "bin/"
|
||||
maybe-u "mount"))))
|
||||
(substitute* '("util/mount.fuse.c")
|
||||
(("/bin/sh")
|
||||
(search-input-file inputs "/bin/sh")))
|
||||
|
||||
;; This hack leads libfuse to search for 'fusermount' in
|
||||
;; $PATH, where it may find a setuid-root binary, instead of
|
||||
;; trying solely $out/sbin/fusermount and failing because
|
||||
;; it's not setuid.
|
||||
(substitute* "lib/meson.build"
|
||||
(("-DFUSERMOUNT_DIR=[[:graph:]]+")
|
||||
"-DFUSERMOUNT_DIR=\"/var/empty\"'"))))
|
||||
(add-after 'unpack 'fix-install
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* '("util/meson.build")
|
||||
(("install_helper.sh") "true"))
|
||||
(substitute* '("util/meson.build")
|
||||
(("fuseconf_path = .*")
|
||||
"fuseconf_path = '/etc/fuse.conf'"))))
|
||||
(add-before 'configure 'set-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((dummy-init.d
|
||||
(string-append (getcwd) "/etc/init.d")))
|
||||
(setenv "MOUNT_FUSE_PATH"
|
||||
(string-append #$output "/sbin"))
|
||||
(setenv "UDEV_RULES_PATH"
|
||||
(string-append #$output
|
||||
"/lib/udev/rules.d"))))))))))
|
||||
|
||||
(define-public unionfs-fuse
|
||||
(package
|
||||
(name "unionfs-fuse")
|
||||
|
Loading…
Reference in New Issue
Block a user