diff options
author | Gabriel Ebner <gebner@gebner.org> | 2021-04-02 22:52:36 +0200 |
---|---|---|
committer | Gabriel Ebner <gebner@gebner.org> | 2021-04-02 22:52:36 +0200 |
commit | fcea5552224a7176f310c4a3cfa36bfd1045397b (patch) | |
tree | 897a5ed52f9702b94cf95caba9a5c5ac180065f8 | |
parent | e58bd1763e4cd047371712f2030716440b40cff9 (diff) | |
download | nixpkgs-fcea5552224a7176f310c4a3cfa36bfd1045397b.tar nixpkgs-fcea5552224a7176f310c4a3cfa36bfd1045397b.tar.gz nixpkgs-fcea5552224a7176f310c4a3cfa36bfd1045397b.tar.bz2 nixpkgs-fcea5552224a7176f310c4a3cfa36bfd1045397b.tar.lz nixpkgs-fcea5552224a7176f310c4a3cfa36bfd1045397b.tar.xz nixpkgs-fcea5552224a7176f310c4a3cfa36bfd1045397b.tar.zst nixpkgs-fcea5552224a7176f310c4a3cfa36bfd1045397b.zip |
ddcutil: use nixos paths for kernel modules
-rw-r--r-- | pkgs/tools/misc/ddcutil/default.nix | 5 | ||||
-rw-r--r-- | pkgs/tools/misc/ddcutil/nixos-paths.diff | 32 |
2 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/tools/misc/ddcutil/default.nix b/pkgs/tools/misc/ddcutil/default.nix index 1e2efc7f9cd..1717b88f194 100644 --- a/pkgs/tools/misc/ddcutil/default.nix +++ b/pkgs/tools/misc/ddcutil/default.nix @@ -12,6 +12,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-F/tKW81bAyYtwpxhl5XC8YyMB+6S0XmqqigwJY2WFDU="; }; + patches = [ + # Look for kernel modules in /run/booted-system/kernel-modules/lib/modules/* + ./nixos-paths.diff + ]; + nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ i2c-tools udev libgudev diff --git a/pkgs/tools/misc/ddcutil/nixos-paths.diff b/pkgs/tools/misc/ddcutil/nixos-paths.diff new file mode 100644 index 00000000000..e45eb88b519 --- /dev/null +++ b/pkgs/tools/misc/ddcutil/nixos-paths.diff @@ -0,0 +1,32 @@ +diff --git a/src/app_sysenv/query_sysenv_modules.c b/src/app_sysenv/query_sysenv_modules.c +index 59df64f1..fb244dd0 100644 +--- a/src/app_sysenv/query_sysenv_modules.c ++++ b/src/app_sysenv/query_sysenv_modules.c +@@ -50,7 +50,9 @@ bool is_module_loadable(char * module_name, int depth) { + g_snprintf(module_name_ko, 100, "%s.ko", module_name); + + char dirname[PATH_MAX]; +- g_snprintf(dirname, PATH_MAX, "/lib/modules/%s/kernel/drivers/i2c", utsbuf.release); ++ g_snprintf(dirname, PATH_MAX, ++ "/run/booted-system/kernel-modules/lib/modules/%s/kernel/drivers/i2c", ++ utsbuf.release); + + struct dirent *dent; + DIR *d; +diff --git a/src/util/linux_util.c b/src/util/linux_util.c +index 5eb8491c..3a129ccf 100644 +--- a/src/util/linux_util.c ++++ b/src/util/linux_util.c +@@ -29,8 +29,10 @@ bool is_module_builtin(char * module_name) + int rc = uname(&utsbuf); + assert(rc == 0); + +- char modules_builtin_fn[100]; +- snprintf(modules_builtin_fn, 100, "/lib/modules/%s/modules.builtin", utsbuf.release); ++ char modules_builtin_fn[PATH_MAX]; ++ snprintf(modules_builtin_fn, PATH_MAX, ++ "/run/booted-system/kernel-modules/lib/modules/%s/modules.builtin", ++ utsbuf.release); + + char ko_name[40]; + snprintf(ko_name, 40, "%s.ko", module_name); |