diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix index 622f5fc6cea..6530abd2362 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 00000000000..ea38b115b24 --- /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");