aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraid5atemyhomework <raid5atemyhomework@protonmail.com>2021-01-10 09:58:03 +0000
committerEfraim Flashner <efraim@flashner.co.il>2021-01-20 14:34:54 +0200
commite2fe05284d528dd38c35010883ac2642b243d0aa (patch)
tree33de2725f80328130c77d45d4bf7e3dbfea077fa
parent849e3dd0434211a76f3f7857e77da73959874890 (diff)
downloadguix-e2fe05284d528dd38c35010883ac2642b243d0aa.tar.gz
guix-e2fe05284d528dd38c35010883ac2642b243d0aa.zip
gnu: zfs: update to 2.0.1.
* gnu/packages/file-systems.scm (zfs): Update version to 2.0.1. [arguments]: Adjust 'patch-source phase for changes in tarball. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r--gnu/packages/file-systems.scm23
1 files changed, 18 insertions, 5 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index d391065e70..e6ee645be0 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -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
@@ -887,18 +887,31 @@ APFS.")
(util-linux (assoc-ref inputs "util-linux"))
(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"