lol

primus: 1.0.0748176 -> 20151204, add useNvidia flag

+41 -52
-12
pkgs/tools/X11/primus/builder.sh
··· 1 - source $stdenv/setup 2 - 3 - cp -r $src src 4 - cd src 5 - 6 - export LIBDIR=$out/lib 7 - export PRIMUS_libGLa=$nvidia/lib/libGL.so 8 - export PRIMUS_libGLd=$mesa/lib/libGL.so 9 - export PRIMUS_LOAD_GLOBAL=$mesa/lib/libglapi.so 10 - 11 - make 12 - ln -s $LIBDIR/libGL.so.1 $LIBDIR/libGL.so
+10 -23
pkgs/tools/X11/primus/default.nix
··· 5 5 # Other distributions do the same. 6 6 { stdenv 7 7 , primusLib 8 - , writeScript 8 + , writeScriptBin 9 9 , primusLib_i686 ? null 10 + , useNvidia ? true 10 11 }: 11 - with stdenv.lib; 12 + 12 13 let 13 - version = "1.0.0748176"; 14 - ldPath = makeLibraryPath ([primusLib] ++ optional (primusLib_i686 != null) primusLib_i686); 15 - primusrun = writeScript "primusrun" 16 - '' 14 + primus = if useNvidia then primusLib else primusLib.override { nvidia_x11 = null; }; 15 + primus_i686 = if useNvidia then primusLib_i686 else primusLib_i686.override { nvidia_x11 = null; }; 16 + ldPath = stdenv.lib.makeLibraryPath ([primus] ++ stdenv.lib.optional (primusLib_i686 != null) primus_i686); 17 + 18 + in writeScriptBin "primusrun" '' 19 + #!${stdenv.shell} 17 20 export LD_LIBRARY_PATH=${ldPath}:$LD_LIBRARY_PATH 18 21 exec "$@" 19 - ''; 20 - in 21 - stdenv.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 - } 22 + ''
+25 -10
pkgs/tools/X11/primus/lib.nix
··· 1 1 { stdenv, fetchgit 2 2 , xlibsWrapper, mesa 3 - , nvidia 3 + , nvidia_x11 ? null 4 + , libX11 4 5 }: 5 - let 6 - version = "1.0.0748176"; 7 - in 6 + 8 7 stdenv.mkDerivation { 9 - name = "primus-lib-${version}"; 8 + name = "primus-lib-20151204"; 9 + 10 10 src = fetchgit { 11 11 url = git://github.com/amonakov/primus.git; 12 - rev = "074817614c014e3a99259388cb18fd54648b659a"; 13 - sha256 = "0mrh432md6zrm16avxyk57mgszrqpgwdjahspchvlaccqxp3x82v"; 12 + rev = "d1afbf6fce2778c0751eddf19db9882e04f18bfd"; 13 + sha256 = "8f095b5e2030cdb155a42a49873832843c1e4dc3087a6fb94d198de982609923"; 14 14 }; 15 15 16 - inherit nvidia mesa; 16 + buildInputs = [ libX11 mesa ]; 17 + 18 + makeFlags = [ "LIBDIR=$(out)/lib" 19 + "PRIMUS_libGLa=${if nvidia_x11 == null then mesa else nvidia_x11}/lib/libGL.so" 20 + "PRIMUS_libGLd=${mesa}/lib/libGL.so" 21 + "PRIMUS_LOAD_GLOBAL=${mesa}/lib/libglapi.so" 22 + ]; 23 + 24 + installPhase = '' 25 + ln -s $out/lib/libGL.so.1 $out/lib/libGL.so 26 + ''; 17 27 18 - buildInputs = [ xlibsWrapper mesa ]; 19 - builder = ./builder.sh; 28 + meta = with stdenv.lib; { 29 + description = "Low-overhead client-side GPU offloading"; 30 + homepage = https://github.com/amonakov/primus; 31 + platforms = platforms.linux; 32 + license = licenses.bsd2; 33 + maintainers = with maintainers; [ abbradar ]; 34 + }; 20 35 }
+6 -7
pkgs/top-level/all-packages.nix
··· 13387 13387 13388 13388 virtualgl = callPackage ../tools/X11/virtualgl { }; 13389 13389 13390 + 13391 + primusLib = callPackage ../tools/X11/primus/lib.nix { 13392 + nvidia_x11 = linuxPackages.nvidia_x11.override { libsOnly = true; }; 13393 + }; 13394 + 13390 13395 primus = callPackage ../tools/X11/primus { 13391 - primusLib = callPackage ../tools/X11/primus/lib.nix { 13392 - nvidia = linuxPackages.nvidia_x11; 13393 - }; 13394 - 13395 13396 primusLib_i686 = if system == "x86_64-linux" 13396 - then callPackage_i686 ../tools/X11/primus/lib.nix { 13397 - nvidia = pkgsi686Linux.linuxPackages.nvidia_x11.override { libsOnly = true; }; 13398 - } 13397 + then pkgsi686Linux.primusLib 13399 13398 else null; 13400 13399 }; 13401 13400