about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/mesa/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mesa/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa/default.nix18
1 files changed, 13 insertions, 5 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mesa/default.nix b/nixpkgs/pkgs/development/libraries/mesa/default.nix
index c25c67a3f6e3..6c5d1a3e08ef 100644
--- a/nixpkgs/pkgs/development/libraries/mesa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mesa/default.nix
@@ -124,7 +124,9 @@ let self = stdenv.mkDerivation {
     #      Last checked: v18.3.4
     (enableFeature (stdenv.isLinux && elem "x11" eglPlatforms) "dri3")
 
-    (enableFeature stdenv.isLinux "nine") # Direct3D in Wine
+    # Direct3D in Wine
+    (enableFeature (any (d: d != "swrast") galliumDrivers) "nine")
+
     "--enable-libglvnd"
     "--enable-dri"
     "--enable-driglx-direct"
@@ -137,7 +139,10 @@ let self = stdenv.mkDerivation {
     (enableFeature (elem "swrast" galliumDrivers) "gallium-osmesa")
     "--enable-llvm"
     (enableFeature stdenv.isLinux "egl")
-    (enableFeature stdenv.isLinux "xa") # used in vmware driver
+
+    # used in vmware driver
+    (enableFeature (any (d: d != "swrast") galliumDrivers) "xa")
+
     (enableFeature stdenv.isLinux "gbm")
     (enableFeature (elem "x11" eglPlatforms) "xvmc")
     (enableFeature (elem "x11" eglPlatforms) "vdpau")
@@ -222,15 +227,18 @@ let self = stdenv.mkDerivation {
     done
 
     # Update search path used by pkg-config
-    for pc in $dev/lib/pkgconfig/{d3d,dri,xatracker}.pc; do
-      substituteInPlace "$pc" --replace $out $drivers
-    done
+    substituteInPlace $dev/lib/pkgconfig/dri.pc --replace $out $drivers
   '' + optionalString (vulkanDrivers != []) ''
     # Update search path used by Vulkan (it's pointing to $out but
     # drivers are in $drivers)
     for js in $drivers/share/vulkan/icd.d/*.json; do
       substituteInPlace "$js" --replace "$out" "$drivers"
     done
+  '' + optionalString (any (d: d != "swrast") galliumDrivers) ''
+    # Update search path used by pkg-config
+    for pc in $dev/lib/pkgconfig/{d3d,xatracker}.pc; do
+      substituteInPlace "$pc" --replace $out $drivers
+    done
   '';
 
   # TODO: