about summary refs log tree commit diff
path: root/pkgs/tools/X11
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/X11')
-rw-r--r--pkgs/tools/X11/primus/default.nix9
1 files changed, 7 insertions, 2 deletions
diff --git a/pkgs/tools/X11/primus/default.nix b/pkgs/tools/X11/primus/default.nix
index f0a971dde18f..88589a058783 100644
--- a/pkgs/tools/X11/primus/default.nix
+++ b/pkgs/tools/X11/primus/default.nix
@@ -4,6 +4,7 @@
 # same LD_LIBRARY_PATH.
 # Other distributions do the same.
 { stdenv
+, stdenv_i686
 , primusLib
 , writeScriptBin
 , primusLib_i686 ? null
@@ -11,8 +12,12 @@
 }:
 
 let
-  primus = if useNvidia then primusLib else primusLib.override { nvidia_x11 = null; };
-  primus_i686 = if useNvidia then primusLib_i686 else primusLib_i686.override { nvidia_x11 = null; };
+  # We override stdenv in case we need different ABI for libGL
+  primusLib_ = primusLib.override { inherit stdenv; };
+  primusLib_i686_ = primusLib_i686.override { stdenv = stdenv_i686; };
+
+  primus = if useNvidia then primusLib_ else primusLib_.override { nvidia_x11 = null; };
+  primus_i686 = if useNvidia then primusLib_i686_ else primusLib_i686_.override { nvidia_x11 = null; };
   ldPath = stdenv.lib.makeLibraryPath ([primus] ++ stdenv.lib.optional (primusLib_i686 != null) primus_i686);
 
 in writeScriptBin "primusrun" ''