diff options
Diffstat (limited to 'gnu/packages/file-systems.scm')
-rw-r--r-- | gnu/packages/file-systems.scm | 37 |
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 |