aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2023-07-23 02:00:00 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2023-07-23 02:00:00 +0200
commit6b903e210462f7c1e428e0ded7e690d315e1f7a1 (patch)
tree8bde9b90171f4f0aa513a054e2b42aebd800ba6f
parentee769c46381c95f3700c472f78518d283b039690 (diff)
downloadguix-6b903e210462f7c1e428e0ded7e690d315e1f7a1.tar.gz
guix-6b903e210462f7c1e428e0ded7e690d315e1f7a1.zip
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.
-rw-r--r--gnu/packages/linux.scm147
1 files changed, 74 insertions, 73 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c2ab05ac5d..b2bea201d2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -3692,79 +3692,8 @@ are blocking others and adjust their priority (using @command{ionice}) or stop
or kill them altogether.")
(license license:gpl2+)))
-(define-public fuse-2
- (package
- (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))
- (inputs
- (list bash-minimal util-linux))
- (arguments
- '(#:configure-flags (list (string-append "MOUNT_FUSE_PATH="
- (assoc-ref %outputs "out")
- "/sbin")
- (string-append "INIT_D_PATH="
- (assoc-ref %outputs "out")
- "/etc/init.d")
-
- ;; The rule makes /dev/fuse 666.
- (string-append "UDEV_RULES_PATH="
- (assoc-ref %outputs "out")
- "/lib/udev/rules.d"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'bootstrap 'force-bootstrap
- (lambda _
- ;; Force a bootstrap to make the patch changes effective.
- (delete-file "configure")))
- (add-before 'build '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" "util/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/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
@@ -3777,6 +3706,8 @@ user-space processes.")
(base32
"0rlnnsiw614qcmgy8xz67044gqc1pbvvf2yxjv44lh27bm487qmj"))))
(build-system meson-build-system)
+ (inputs
+ (list bash-minimal util-linux))
(arguments
`(#:configure-flags
,#~(list
@@ -3809,7 +3740,7 @@ user-space processes.")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("util/meson.build")
(("install_helper.sh") "true"))
- (substitute* '("util/meson.build")
+ (substitute* '("util/meson.build")
(("fuseconf_path = .*")
"fuseconf_path = '/etc/fuse.conf'"))))
(add-before 'configure 'set-paths
@@ -3820,7 +3751,77 @@ user-space processes.")
(string-append #$output "/sbin"))
(setenv "UDEV_RULES_PATH"
(string-append #$output
- "/lib/udev/rules.d"))))))))))
+ "/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="
+ (assoc-ref %outputs "out")
+ "/etc/init.d")
+
+ ;; The rule makes /dev/fuse 666.
+ (string-append "UDEV_RULES_PATH="
+ (assoc-ref %outputs "out")
+ "/lib/udev/rules.d"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'force-bootstrap
+ (lambda _
+ ;; Force a bootstrap to make the patch changes effective.
+ (delete-file "configure")))
+ (add-before 'build '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" "util/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/Makefile"
+ (("-DFUSERMOUNT_DIR=[[:graph:]]+")
+ "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))))))))
(define-public unionfs-fuse
(package