lol
1# For a 64bit + 32bit system the LD_LIBRARY_PATH must contain both the 32bit and 64bit primus
2# libraries. Providing a different primusrun for each architecture will not work as expected. EG:
3# Using steam under wine can involve both 32bit and 64bit process. All of which inherit the
4# same LD_LIBRARY_PATH.
5# Other distributions do the same.
6{ stdenv
7, primusLib
8, writeScript
9, primusLib_i686 ? null
10}:
11with stdenv.lib;
12let
13 version = "1.0.0748176";
14 ldPath = makeLibraryPath ([primusLib] ++ optional (primusLib_i686 != null) primusLib_i686);
15 primusrun = writeScript "primusrun"
16''
17 export LD_LIBRARY_PATH=${ldPath}:$LD_LIBRARY_PATH
18 exec "$@"
19'';
20in
21stdenv.mkDerivation {
22 name = "primus-${version}";
23 builder = writeScript "builder"
24 ''
25 source $stdenv/setup
26 mkdir -p $out/bin
27 cp ${primusrun} $out/bin/primusrun
28 '';
29
30 meta = {
31 homepage = https://github.com/amonakov/primus;
32 description = "Faster OpenGL offloading for Bumblebee";
33 maintainers = with maintainers; [ coconnor ];
34 };
35}