diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2016-11-24 16:45:15 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2016-11-24 16:46:28 +0100 |
commit | 286c836b3f1421553c103758537929e596256e65 (patch) | |
tree | 4adc19af88977647a58e01b1f84be0a4aee55de9 /pkgs/tools/system | |
parent | 528d353b654e66f310f7544cf7a1bff913cf3c0d (diff) | |
download | nixlib-286c836b3f1421553c103758537929e596256e65.tar nixlib-286c836b3f1421553c103758537929e596256e65.tar.gz nixlib-286c836b3f1421553c103758537929e596256e65.tar.bz2 nixlib-286c836b3f1421553c103758537929e596256e65.tar.lz nixlib-286c836b3f1421553c103758537929e596256e65.tar.xz nixlib-286c836b3f1421553c103758537929e596256e65.tar.zst nixlib-286c836b3f1421553c103758537929e596256e65.zip |
pciutils: fixup finding modules to libkmod's way
Fixes #20683.
Diffstat (limited to 'pkgs/tools/system')
-rw-r--r-- | pkgs/tools/system/pciutils/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/system/pciutils/module-dir.diff | 23 |
2 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix index 622f5fc6ceae..6530abd23626 100644 --- a/pkgs/tools/system/pciutils/default.nix +++ b/pkgs/tools/system/pciutils/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0byl2f897w5lhs4bvr6p7qwcz9bllj2zyfv7nywbcbsnb9ha9wrb"; }; + patches = [ ./module-dir.diff ]; + buildInputs = [ pkgconfig zlib kmod which ]; makeFlags = "SHARED=yes PREFIX=\${out}"; diff --git a/pkgs/tools/system/pciutils/module-dir.diff b/pkgs/tools/system/pciutils/module-dir.diff new file mode 100644 index 000000000000..ea38b115b248 --- /dev/null +++ b/pkgs/tools/system/pciutils/module-dir.diff @@ -0,0 +1,23 @@ +Don't override libkmod's way of finding modules. + +(We override that behavior in nixpkgs to fit nixos.) + +diff --git a/ls-kernel.c b/ls-kernel.c +index 78b70f1..ecacd0e 100644 +--- a/ls-kernel.c ++++ b/ls-kernel.c +@@ -29,13 +29,7 @@ show_kernel_init(void) + if (show_kernel_inited >= 0) + return show_kernel_inited; + +- struct utsname uts; +- if (uname(&uts) < 0) +- die("uname() failed: %m"); +- char *name = alloca(64 + strlen(uts.release)); +- sprintf(name, "/lib/modules/%s", uts.release); +- +- kmod_ctx = kmod_new(name, NULL); ++ kmod_ctx = kmod_new(NULL, NULL); + if (!kmod_ctx) + { + fprintf(stderr, "lspci: Unable to initialize libkmod context\n"); |