summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kmod/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/kmod/default.nix')
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix27
1 files changed, 17 insertions, 10 deletions
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index bcbdf1a5a19..7910c610948 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -1,30 +1,37 @@
-{ stdenv, fetchurl, xz, zlib, pkgconfig, libxslt }:
+{ stdenv, lib, fetchurl, autoreconfHook, xz, zlib, pkgconfig, libxslt }:
 
 let
-  systems = [ "/run/current-system/kernel-modules" "/run/booted-system/kernel-modules" "" ];
-  modulesDirs = lib.concatMapStringsSep ":" (x: "${x}/lib/modules") systems;
+  systems = [ "current-system" "booted-system" ];
+  modulesDirs = lib.concatMapStringsSep ":" (x: "/run/${x}/kernel-modules/lib/modules") systems;
 
 in stdenv.mkDerivation rec {
   name = "kmod-${version}";
-  version = "23";
+  version = "22";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz";
     sha256 = "0mc12sx06p8il1ym3hdmgxxb37apn9yv7xij26gddjdfkx8xa0yk";
   };
 
-  buildInputs = [ pkgconfig libxslt xz /* zlib */ ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig libxslt ];
+  buildInputs = [ xz /* zlib */ ];
 
-  configureFlags = [ "--sysconfdir=/etc" "--with-xz" /* "--with-zlib" */ ];
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--with-xz"
+    "--with-modulesdirs=${modulesDirs}"
+    # "--with-zlib"
+  ];
 
   patches = [ ./module-dir.patch ];
 
   postInstall = ''
-    ln -s kmod $out/bin/lsmod
-    mkdir -p $out/sbin
-    for prog in rmmod insmod modinfo modprobe depmod; do
-      ln -sv $out/bin/kmod $out/sbin/$prog
+    for prog in rmmod insmod lsmod modinfo modprobe depmod; do
+      ln -sv $out/bin/kmod $out/bin/$prog
     done
+
+    # Backwards compatibility
+    ln -s bin $out/sbin
   '';
 
   meta = {