about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/li/libvpl
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/li/libvpl')
-rw-r--r--nixpkgs/pkgs/by-name/li/libvpl/opengl-driver-lib.patch19
-rw-r--r--nixpkgs/pkgs/by-name/li/libvpl/package.nix9
2 files changed, 28 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/li/libvpl/opengl-driver-lib.patch b/nixpkgs/pkgs/by-name/li/libvpl/opengl-driver-lib.patch
new file mode 100644
index 000000000000..5913190a5384
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/li/libvpl/opengl-driver-lib.patch
@@ -0,0 +1,19 @@
+--- a/libvpl/src/mfx_dispatcher_vpl_loader.cpp
++++ b/libvpl/src/mfx_dispatcher_vpl_loader.cpp
+@@ -548,6 +548,16 @@ mfxStatus LoaderCtxVPL::BuildListOfCandidateLibs() {
+         it++;
+     }
+
++    // fourth priority
++    searchDirList.clear();
++    searchDirList.push_back("@driverLink@/lib");
++    it = searchDirList.begin();
++    while (it != searchDirList.end()) {
++        STRING_TYPE nextDir = (*it);
++        sts                 = SearchDirForLibs(nextDir, m_libInfoList, LIB_PRIORITY_05);
++        it++;
++    }
++
+     // lowest priority: legacy MSDK installation
+     searchDirList.clear();
+     GetSearchPathsLegacy(searchDirList);
diff --git a/nixpkgs/pkgs/by-name/li/libvpl/package.nix b/nixpkgs/pkgs/by-name/li/libvpl/package.nix
index 8a647916ca63..f28287053beb 100644
--- a/nixpkgs/pkgs/by-name/li/libvpl/package.nix
+++ b/nixpkgs/pkgs/by-name/li/libvpl/package.nix
@@ -3,6 +3,8 @@
 , fetchFromGitHub
 , cmake
 , pkg-config
+, substituteAll
+, addDriverRunpath
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -32,6 +34,13 @@ stdenv.mkDerivation (finalAttrs: {
       "-DBUILD_TOOLS=OFF"
   ];
 
+  patches = [
+    (substituteAll {
+      src = ./opengl-driver-lib.patch;
+      inherit (addDriverRunpath) driverLink;
+    })
+  ];
+
   meta = with lib; {
     description = "Intel Video Processing Library";
     homepage = "https://intel.github.io/libvpl/";