From 131fca0a85c6a2f7912061f8f3e57f582fb94f38 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 14 Aug 2016 12:53:52 +0300 Subject: kmod: add patch to allow searching for modules in several directories --- pkgs/os-specific/linux/kmod/default.nix | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'pkgs/os-specific/linux/kmod/default.nix') 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 = { -- cgit 1.4.1