summary refs log tree commit diff
path: root/pkgs/os-specific/linux/spl
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@thalheim.io>2017-09-13 00:28:42 +0100
committerFranz Pletz <fpletz@fnordicwalking.de>2017-09-15 17:59:37 +0200
commit1ecf3e862f40fa87afdc7492282e48f4889f02ef (patch)
treef141f7ed31ad3196887faeccce1bc17ea3474bfe /pkgs/os-specific/linux/spl
parentf4dfa30d24caa2260e43f02cd1bdcd6379799c99 (diff)
downloadnixlib-1ecf3e862f40fa87afdc7492282e48f4889f02ef.tar
nixlib-1ecf3e862f40fa87afdc7492282e48f4889f02ef.tar.gz
nixlib-1ecf3e862f40fa87afdc7492282e48f4889f02ef.tar.bz2
nixlib-1ecf3e862f40fa87afdc7492282e48f4889f02ef.tar.lz
nixlib-1ecf3e862f40fa87afdc7492282e48f4889f02ef.tar.xz
nixlib-1ecf3e862f40fa87afdc7492282e48f4889f02ef.tar.zst
nixlib-1ecf3e862f40fa87afdc7492282e48f4889f02ef.zip
zfsUnstable: init at 2017-09-12
Diffstat (limited to 'pkgs/os-specific/linux/spl')
-rw-r--r--pkgs/os-specific/linux/spl/default.nix91
1 files changed, 52 insertions, 39 deletions
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index 227b67e44863..2d8ee2719da9 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -10,53 +10,66 @@ with stdenv.lib;
 let
   buildKernel = any (n: n == configFile) [ "kernel" "all" ];
   buildUser = any (n: n == configFile) [ "user" "all" ];
-in
-  assert any (n: n == configFile) [ "kernel" "user" "all" ];
-  assert buildKernel -> kernel != null;
-stdenv.mkDerivation rec {
-  name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
-  version = "0.7.1";
-
-  src = fetchFromGitHub {
-    owner = "zfsonlinux";
-    repo = "spl";
-    rev = "spl-${version}";
-    sha256 = "0m8qhbdd8n40lbd91s30q4lrw8g169sha0410c8rwk2d5qfaxv9n";
-  };
+  common = { version
+    , sha256
+    , rev ? "spl-${version}"
+    } @ args : stdenv.mkDerivation rec {
+      name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
+
+      src = fetchFromGitHub {
+        owner = "zfsonlinux";
+        repo = "spl";
+        inherit rev sha256;
+      };
 
-  patches = [ ./const.patch ./install_prefix.patch ];
+      patches = [ ./const.patch ./install_prefix.patch ];
 
-  nativeBuildInputs = [ autoreconfHook ];
+      nativeBuildInputs = [ autoreconfHook ];
 
-  hardeningDisable = [ "pic" ];
+      hardeningDisable = [ "pic" ];
 
-  preConfigure = ''
-    substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
-    substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
-    substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
-    substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
-  '';
+      preConfigure = ''
+        substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
+        substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
+        substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
+        substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
+      '';
 
-  configureFlags = [
-    "--with-config=${configFile}"
-  ] ++ optionals buildKernel [
-    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
-    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-  ];
+      configureFlags = [
+        "--with-config=${configFile}"
+      ] ++ optionals buildKernel [
+        "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
+        "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+      ];
 
-  enableParallelBuilding = true;
+      enableParallelBuilding = true;
 
-  meta = {
-    description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
+      meta = {
+        description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
 
-    longDescription = ''
-      This kernel module is a porting layer for ZFS to work inside the linux
-      kernel.
-    '';
+        longDescription = ''
+          This kernel module is a porting layer for ZFS to work inside the linux
+          kernel.
+        '';
 
-    homepage = http://zfsonlinux.org/;
-    platforms = platforms.linux;
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ jcumming wizeman wkennington fpletz globin ];
+        homepage = http://zfsonlinux.org/;
+        platforms = platforms.linux;
+        license = licenses.gpl2Plus;
+        maintainers = with maintainers; [ jcumming wizeman wkennington fpletz globin ];
+      };
   };
+in
+  assert any (n: n == configFile) [ "kernel" "user" "all" ];
+  assert buildKernel -> kernel != null;
+{
+    splStable = common {
+      version = "0.7.1";
+      sha256 = "0m8qhbdd8n40lbd91s30q4lrw8g169sha0410c8rwk2d5qfaxv9n";
+    };
+
+    splUnstable = common {
+      version = "2017-08-11";
+      rev = "9df9692637aeee416f509c7f39655beb2d35b549";
+      sha256 = "1dggf6xqgk2f7vccv6cgvr8krj7h9f921szp1j2qbxnnq41m37mi";
+    };
 }