summaryrefslogtreecommitdiff
path: root/gnu/packages/file-systems.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/file-systems.scm')
-rw-r--r--gnu/packages/file-systems.scm37
1 files changed, 27 insertions, 10 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 2c5ad95d63..e6ee645be0 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2021 raid5atemyhoemwork <raid5atemyhomework@protonmail.com>
@@ -847,7 +847,7 @@ APFS.")
(define-public zfs
(package
(name "zfs")
- (version "0.8.5")
+ (version "2.0.1")
(outputs '("out" "module" "src"))
(source
(origin
@@ -856,7 +856,7 @@ APFS.")
"/download/zfs-" version
"/zfs-" version ".tar.gz"))
(sha256
- (base32 "0gfdnynmsxbhi97q73smrgmcw1k8zmlr1hgljfn38sk0kimivd6v"))))
+ (base32 "0y3992l4nzr67q18lz1kizw0za1shvqbpmsjz9shv4frh5ihllbi"))))
(build-system linux-module-build-system)
(arguments
`(;; The ZFS kernel module should not be downloaded since the license
@@ -885,19 +885,33 @@ APFS.")
(let ((out (assoc-ref outputs "out"))
(src (assoc-ref outputs "src"))
(util-linux (assoc-ref inputs "util-linux"))
- (nfs-utils (assoc-ref inputs "nfs-utils")))
+ (nfs-utils (assoc-ref inputs "nfs-utils"))
+ (kmod (assoc-ref inputs "kmod-runtime")))
+ (substitute* "etc/Makefile.in"
+ ;; This just contains an example configuration file for
+ ;; configuring ZFS on traditional init systems, skip it
+ ;; since we cannot use it anyway; the install target becomes
+ ;; misdirected.
+ (("= default ") "= "))
+ (substitute* "lib/libzfs/os/linux/libzfs_util_os.c"
+ ;; Use path to /gnu/store/*-kmod in actual path that is exec'ed.
+ (("\"/sbin/modprobe\"")
+ (string-append "\"" kmod "/bin/modprobe" "\""))
+ ;; Just use 'modprobe' in message to user, since Guix
+ ;; does not have a traditional /sbin/
+ (("'/sbin/modprobe ") "'modprobe "))
(substitute* "contrib/Makefile.in"
;; This is not configurable nor is its hard-coded /usr prefix.
((" initramfs") ""))
- (substitute* "module/zfs/zfs_ctldir.c"
+ (substitute* "module/os/linux/zfs/zfs_ctldir.c"
(("/usr/bin/env\", \"umount")
(string-append util-linux "/bin/umount\", \"-n"))
(("/usr/bin/env\", \"mount")
(string-append util-linux "/bin/mount\", \"-n")))
- (substitute* "lib/libzfs/libzfs_mount.c"
+ (substitute* "lib/libzfs/os/linux/libzfs_mount_os.c"
(("/bin/mount") (string-append util-linux "/bin/mount"))
(("/bin/umount") (string-append util-linux "/bin/umount")))
- (substitute* "lib/libshare/nfs.c"
+ (substitute* "lib/libshare/os/linux/nfs.c"
(("/usr/sbin/exportfs")
(string-append nfs-utils "/sbin/exportfs")))
(substitute* "config/zfs-build.m4"
@@ -915,7 +929,9 @@ APFS.")
(substitute* "contrib/pyzfs/Makefile.in"
((".*install-lib.*") ""))
(substitute* '("Makefile.am" "Makefile.in")
- (("\\$\\(prefix)/src") (string-append src "/src"))))
+ (("\\$\\(prefix)/src") (string-append src "/src")))
+ (substitute* (find-files "udev/rules.d/" ".rules.in$")
+ (("/sbin/modprobe") (string-append kmod "/bin/modprobe"))))
#t))
(replace 'build
(lambda _ (invoke "make")))
@@ -939,6 +955,7 @@ APFS.")
("pkg-config" ,pkg-config)))
(inputs
`(("eudev" ,eudev)
+ ("kmod-runtime" ,kmod)
("libaio" ,libaio)
("libtirpc" ,libtirpc)
("nfs-utils" ,nfs-utils)
@@ -1086,14 +1103,14 @@ Dropbox API v2.")
(define-public dbxfs
(package
(name "dbxfs")
- (version "1.0.48")
+ (version "1.0.50")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dbxfs" version))
(sha256
(base32
- "07q7dgqaqqyapjl9r4lqydflrgx4dh84c1qsb0jvfmqj3i8887ak"))
+ "01zvk862ybz12270q0r2l1i7kdj30ib2gxrlxmwvi19b2fkf39na"))
(patches (search-patches "dbxfs-remove-sentry-sdk.patch"))))
(build-system python-build-system)
(arguments