diff options
Diffstat (limited to 'pkgs/os-specific/linux/kmod')
-rw-r--r-- | pkgs/os-specific/linux/kmod/darwin.patch | 12 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kmod/default.nix | 11 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kmod/no-name-field.patch | 24 |
3 files changed, 42 insertions, 5 deletions
diff --git a/pkgs/os-specific/linux/kmod/darwin.patch b/pkgs/os-specific/linux/kmod/darwin.patch index 69dbf479f9f..e112e691525 100644 --- a/pkgs/os-specific/linux/kmod/darwin.patch +++ b/pkgs/os-specific/linux/kmod/darwin.patch @@ -121,3 +121,15 @@ index fd2028d..ecb0141 100644 if (!cwd) return NULL; +--- a/shared/util.h 2018-01-31 18:10:59.000000000 +0100 ++++ b/shared/util.h 2020-12-28 19:48:21.000000000 +0100 +@@ -7,6 +7,9 @@ + #include <stdio.h> + #include <sys/types.h> + #include <sys/stat.h> ++#ifdef __APPLE__ ++#include <libgen.h> ++#endif + + #include <shared/macro.h> + diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix index f1cc4558b05..ef8296cf16f 100644 --- a/pkgs/os-specific/linux/kmod/default.nix +++ b/pkgs/os-specific/linux/kmod/default.nix @@ -1,6 +1,7 @@ -{ stdenv, lib, fetchurl, autoreconfHook, pkgconfig +{ stdenv, lib, fetchurl, autoreconfHook, pkg-config , libxslt, xz, elf-header -, withStatic ? false }: +, withStatic ? stdenv.hostPlatform.isStatic +}: let systems = [ "/run/current-system/kernel-modules" "/run/booted-system/kernel-modules" "" ]; @@ -15,7 +16,7 @@ in stdenv.mkDerivation rec { sha256 = "035wzfzjx4nwidk747p8n085mgkvy531ppn16krrajx2dkqzply1"; }; - nativeBuildInputs = [ autoreconfHook pkgconfig libxslt ]; + nativeBuildInputs = [ autoreconfHook pkg-config libxslt ]; buildInputs = [ xz ] ++ lib.optional stdenv.isDarwin elf-header; configureFlags = [ @@ -24,7 +25,7 @@ in stdenv.mkDerivation rec { "--with-modulesdirs=${modulesDirs}" ] ++ lib.optional withStatic "--enable-static"; - patches = [ ./module-dir.patch ] + patches = [ ./module-dir.patch ./no-name-field.patch ] ++ lib.optional stdenv.isDarwin ./darwin.patch ++ lib.optional withStatic ./enable-static.patch; @@ -37,7 +38,7 @@ in stdenv.mkDerivation rec { ln -s bin $out/sbin ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Tools for loading and managing Linux kernel modules"; longDescription = '' kmod is a set of tools to handle common tasks with Linux kernel modules diff --git a/pkgs/os-specific/linux/kmod/no-name-field.patch b/pkgs/os-specific/linux/kmod/no-name-field.patch new file mode 100644 index 00000000000..282f59e55e5 --- /dev/null +++ b/pkgs/os-specific/linux/kmod/no-name-field.patch @@ -0,0 +1,24 @@ + +--- + tools/modinfo.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/tools/modinfo.c b/tools/modinfo.c +index 0231bb0..7b2259e 100644 +--- a/tools/modinfo.c ++++ b/tools/modinfo.c +@@ -178,7 +178,10 @@ static int modinfo_do(struct kmod_module *mod) + is_builtin = (filename == NULL); + + if (is_builtin) { +- printf("%-16s%s%c", "name:", kmod_module_get_name(mod), separator); ++ if (field == NULL || field != NULL && streq(field, "name")){ ++ printf("%-16s%s%c", "name:", ++ kmod_module_get_name(mod), separator); ++ } + filename = "(builtin)"; + } + +-- +2.28.0 + |