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 (list license:lgpl2.1 ;library
|
||||||
license:gpl2+)))) ;command-line utilities
|
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
|
(define-public unionfs-fuse
|
||||||
(package
|
(package
|
||||||
(name "unionfs-fuse")
|
(name "unionfs-fuse")
|
||||||
|
Loading…
Reference in New Issue
Block a user