me
/
guix
Archived
1
0
Fork 0

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
Tobias Geerinckx-Rice 2023-07-23 02:00:00 +02:00
parent ee769c4638
commit 6b903e2104
No known key found for this signature in database
GPG Key ID: 0DB0FF884F556D79
1 changed files with 86 additions and 85 deletions

View File

@ -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