diff options
author | Vladimír Čunát <vladimir.cunat@nic.cz> | 2022-09-28 09:58:48 +0200 |
---|---|---|
committer | Vladimír Čunát <vladimir.cunat@nic.cz> | 2022-09-28 09:58:48 +0200 |
commit | bfff65312a6aa29310f1fc0d495b8eb52fbe6d0d (patch) | |
tree | e145ae156a9172593e0118519a29fcba1ff74c9d /pkgs/development/libraries | |
parent | 292756e9fff8c77e336040323b50b4aee84cd999 (diff) | |
parent | d5436fa98677d5d63cc5597f76d556f3fe655e6d (diff) |
Merge #190023: gst-plugins-bad: patch nvcodec to check opengl path
...into staging
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r-- | pkgs/development/libraries/gstreamer/bad/default.nix | 10 | ||||
-rw-r--r-- | pkgs/development/libraries/gstreamer/bad/fix-paths.patch | 48 |
2 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index 63c0adcf378d1..e9f324b245336 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchurl +, substituteAll , meson , ninja , gettext @@ -78,6 +79,7 @@ , mjpegtools , libGLU , libGL +, addOpenGLRunpath , libintl , game-music-emu , openssl @@ -109,6 +111,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-ehHBO1XdHSOG3ZAiGeQcv83ajh4Ko+c4GGyVB0s12k8="; }; + patches = [ + # Add fallback paths for nvidia userspace libraries + (substituteAll { + src = ./fix-paths.patch; + inherit (addOpenGLRunpath) driverLink; + }) + ]; + nativeBuildInputs = [ meson ninja diff --git a/pkgs/development/libraries/gstreamer/bad/fix-paths.patch b/pkgs/development/libraries/gstreamer/bad/fix-paths.patch new file mode 100644 index 0000000000000..dfb8f5462c454 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/bad/fix-paths.patch @@ -0,0 +1,48 @@ +diff --git a/sys/nvcodec/gstcudaloader.c b/sys/nvcodec/gstcudaloader.c +index 4223ba1fbd..ca8bb5ceb1 100644 +--- a/sys/nvcodec/gstcudaloader.c ++++ b/sys/nvcodec/gstcudaloader.c +@@ -135,6 +135,11 @@ gst_cuda_load_library (void) + return TRUE; + + module = g_module_open (filename, G_MODULE_BIND_LAZY); ++ ++ if (module == NULL) { ++ module = g_module_open("@driverLink@/lib/" CUDA_LIBNAME, G_MODULE_BIND_LAZY); ++ } ++ + if (module == NULL) { + GST_WARNING ("Could not open library %s, %s", filename, g_module_error ()); + return FALSE; +diff --git a/sys/nvcodec/gstcuvidloader.c b/sys/nvcodec/gstcuvidloader.c +index 3c7505ca36..eeb376fa80 100644 +--- a/sys/nvcodec/gstcuvidloader.c ++++ b/sys/nvcodec/gstcuvidloader.c +@@ -85,6 +85,11 @@ gst_cuvid_load_library (guint api_major_ver, guint api_minor_ver) + return TRUE; + + module = g_module_open (filename, G_MODULE_BIND_LAZY); ++ ++ if (module == NULL) { ++ module = g_module_open ("@driverLink@/lib/" NVCUVID_LIBNAME, G_MODULE_BIND_LAZY); ++ } ++ + if (module == NULL) { + GST_WARNING ("Could not open library %s, %s", filename, g_module_error ()); + return FALSE; +diff --git a/sys/nvcodec/gstnvenc.c b/sys/nvcodec/gstnvenc.c +index 19637671ad..39858ccdee 100644 +--- a/sys/nvcodec/gstnvenc.c ++++ b/sys/nvcodec/gstnvenc.c +@@ -874,6 +874,11 @@ gst_nvenc_load_library (guint * api_major_ver, guint * api_minor_ver) + }; + + module = g_module_open (NVENC_LIBRARY_NAME, G_MODULE_BIND_LAZY); ++ ++ if (module == NULL) { ++ module = g_module_open ("@driverLink@/lib/" NVENC_LIBRARY_NAME, G_MODULE_BIND_LAZY); ++ } ++ + if (module == NULL) { + GST_WARNING ("Could not open library %s, %s", + NVENC_LIBRARY_NAME, g_module_error ()); |