gnu: fuse@2, fuse@3: Reverse inheritance.
* gnu/packages/linux.scm (fuse-2)[inherit]: From fuse. [inputs, supported-systems, home-page, synopsis, description, license]: …move these fields from here… (fuse) [inputs, supported-systems, home-page, synopsis, description, license]: …to here, respectively. [inherit]: Remove field.master
parent
ee769c4638
commit
6b903e2104
|
@ -3692,27 +3692,100 @@ are blocking others and adjust their priority (using @command{ionice}) or stop
|
|||
or kill them altogether.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public fuse-2
|
||||
(define-public fuse
|
||||
(package
|
||||
(name "fuse")
|
||||
(version "2.9.9")
|
||||
(version "3.10.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/libfuse/libfuse/releases/"
|
||||
"download/fuse-" version
|
||||
"/fuse-" version ".tar.gz"))
|
||||
(uri
|
||||
(string-append "https://github.com/libfuse/libfuse/releases/"
|
||||
"download/fuse-" version
|
||||
"/fuse-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ddlq6kzxilccgbvxjfx80jx6kamgw4sv49phks2zhlcc1frvrnh"))
|
||||
(patches (search-patches "fuse-overlapping-headers.patch"
|
||||
"fuse-glibc-2.34.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake gettext-minimal libtool))
|
||||
"0rlnnsiw614qcmgy8xz67044gqc1pbvvf2yxjv44lh27bm487qmj"))))
|
||||
(build-system meson-build-system)
|
||||
(inputs
|
||||
(list bash-minimal util-linux))
|
||||
(arguments
|
||||
'(#:configure-flags (list (string-append "MOUNT_FUSE_PATH="
|
||||
`(#: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"))))))))
|
||||
(supported-systems (delete "i586-gnu" %supported-systems))
|
||||
(home-page "https://github.com/libfuse/libfuse")
|
||||
(synopsis "Support file systems implemented in user space")
|
||||
(description
|
||||
"As a consequence of its monolithic design, file system code for Linux
|
||||
normally goes into the kernel itself---which is not only a robustness issue,
|
||||
but also an impediment to system extensibility. FUSE, for \"file systems in
|
||||
user space\", is a kernel module and user-space library that tries to address
|
||||
part of this problem by allowing users to run file system implementations as
|
||||
user-space processes.")
|
||||
(license (list license:lgpl2.1 ; library
|
||||
license:gpl2+)))) ; command-line utilities
|
||||
|
||||
(define-public fuse-2
|
||||
(package
|
||||
(inherit fuse)
|
||||
(name "fuse")
|
||||
(version "2.9.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/libfuse/libfuse/releases/"
|
||||
"download/fuse-" version
|
||||
"/fuse-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ddlq6kzxilccgbvxjfx80jx6kamgw4sv49phks2zhlcc1frvrnh"))
|
||||
(patches (search-patches "fuse-overlapping-headers.patch"
|
||||
"fuse-glibc-2.34.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake gettext-minimal libtool))
|
||||
(arguments
|
||||
'(#:tests? #t
|
||||
#:configure-flags (list (string-append "MOUNT_FUSE_PATH="
|
||||
(assoc-ref %outputs "out")
|
||||
"/sbin")
|
||||
(string-append "INIT_D_PATH="
|
||||
|
@ -3748,79 +3821,7 @@ or kill them altogether.")
|
|||
;; it's not setuid.
|
||||
(substitute* "lib/Makefile"
|
||||
(("-DFUSERMOUNT_DIR=[[:graph:]]+")
|
||||
"-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))))))
|
||||
(supported-systems (delete "i586-gnu" %supported-systems))
|
||||
(home-page "https://github.com/libfuse/libfuse")
|
||||
(synopsis "Support file systems implemented in user space")
|
||||
(description
|
||||
"As a consequence of its monolithic design, file system code for Linux
|
||||
normally goes into the kernel itself---which is not only a robustness issue,
|
||||
but also an impediment to system extensibility. FUSE, for \"file systems in
|
||||
user space\", is a kernel module and user-space library that tries to address
|
||||
part of this problem by allowing users to run file system implementations as
|
||||
user-space processes.")
|
||||
(license (list license:lgpl2.1 ;library
|
||||
license:gpl2+)))) ;command-line utilities
|
||||
|
||||
(define-public fuse
|
||||
(package
|
||||
(inherit fuse-2)
|
||||
(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"))))))))))
|
||||
"-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))))))))
|
||||
|
||||
(define-public unionfs-fuse
|
||||
(package
|
||||
|
|
Reference in New Issue