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:50:56 +0100 |
commit | ceda8cb20363dd57aee8a6fe9b0e4578485bf261 (patch) | |
tree | 3b021ddee89cf03c85482982618ee6d7c5754e7f /pkgs/tools/system | |
parent | f01dd648f5253e5bdc439e7369349015af42b5c5 (diff) | |
download | nixlib-ceda8cb20363dd57aee8a6fe9b0e4578485bf261.tar nixlib-ceda8cb20363dd57aee8a6fe9b0e4578485bf261.tar.gz nixlib-ceda8cb20363dd57aee8a6fe9b0e4578485bf261.tar.bz2 nixlib-ceda8cb20363dd57aee8a6fe9b0e4578485bf261.tar.lz nixlib-ceda8cb20363dd57aee8a6fe9b0e4578485bf261.tar.xz nixlib-ceda8cb20363dd57aee8a6fe9b0e4578485bf261.tar.zst nixlib-ceda8cb20363dd57aee8a6fe9b0e4578485bf261.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"); |