summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kmod/default.nix
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-08-14 12:53:52 +0300
committerNikolay Amiantov <ab@fmap.me>2016-08-16 00:19:25 +0300
commit131fca0a85c6a2f7912061f8f3e57f582fb94f38 (patch)
tree32db989fb8bfb76ce534806b834f9905e585736d /pkgs/os-specific/linux/kmod/default.nix
parent5b296a147066bfaa652b37aaa88751e1955df9c9 (diff)
downloadnixpkgs-131fca0a85c6a2f7912061f8f3e57f582fb94f38.tar
nixpkgs-131fca0a85c6a2f7912061f8f3e57f582fb94f38.tar.gz
nixpkgs-131fca0a85c6a2f7912061f8f3e57f582fb94f38.tar.bz2
nixpkgs-131fca0a85c6a2f7912061f8f3e57f582fb94f38.tar.lz
nixpkgs-131fca0a85c6a2f7912061f8f3e57f582fb94f38.tar.xz
nixpkgs-131fca0a85c6a2f7912061f8f3e57f582fb94f38.tar.zst
nixpkgs-131fca0a85c6a2f7912061f8f3e57f582fb94f38.zip
kmod: add patch to allow searching for modules in several directories
Diffstat (limited to 'pkgs/os-specific/linux/kmod/default.nix')
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix30
1 files changed, 21 insertions, 9 deletions
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 12449a0a7dd..58b0b988351 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -1,25 +1,37 @@
-{ stdenv, fetchurl, xz, zlib, pkgconfig, libxslt }:
+{ stdenv, lib, fetchurl, autoreconfHook, xz, zlib, pkgconfig, libxslt }:
 
-stdenv.mkDerivation rec {
-  name = "kmod-22";
+let
+  systems = [ "current-system" "booted-system" ];
+  modulesDirs = lib.concatMapStringsSep ":" (x: "/run/${x}/kernel-modules/lib/modules") systems;
+
+in stdenv.mkDerivation rec {
+  name = "kmod-${version}";
+  version = "22";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz";
     sha256 = "10lzfkmnpq6a43a3gkx7x633njh216w0bjwz31rv8a1jlgg1sfxs";
   };
 
-  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 = {