diff options
author | Nikolay Amiantov <ab@fmap.me> | 2015-12-05 00:31:10 +0300 |
---|---|---|
committer | Nikolay Amiantov <ab@fmap.me> | 2015-12-05 00:54:09 +0300 |
commit | 56ffc2ecd2d37c29dfa56af7841fa31837702502 (patch) | |
tree | ce3a8dbd98b1d0ccfeaf2436af695340e8ade681 /pkgs/tools/X11/primus | |
parent | ae7ff0208164bee5f965ad1eb5852aa26da332b7 (diff) |
primus: 1.0.0748176 -> 20151204, add useNvidia flag
Diffstat (limited to 'pkgs/tools/X11/primus')
-rw-r--r-- | pkgs/tools/X11/primus/builder.sh | 12 | ||||
-rw-r--r-- | pkgs/tools/X11/primus/default.nix | 33 | ||||
-rw-r--r-- | pkgs/tools/X11/primus/lib.nix | 35 |
3 files changed, 35 insertions, 45 deletions
diff --git a/pkgs/tools/X11/primus/builder.sh b/pkgs/tools/X11/primus/builder.sh deleted file mode 100644 index 3c6b6afdc09f8..0000000000000 --- a/pkgs/tools/X11/primus/builder.sh +++ /dev/null @@ -1,12 +0,0 @@ -source $stdenv/setup - -cp -r $src src -cd src - -export LIBDIR=$out/lib -export PRIMUS_libGLa=$nvidia/lib/libGL.so -export PRIMUS_libGLd=$mesa/lib/libGL.so -export PRIMUS_LOAD_GLOBAL=$mesa/lib/libglapi.so - -make -ln -s $LIBDIR/libGL.so.1 $LIBDIR/libGL.so diff --git a/pkgs/tools/X11/primus/default.nix b/pkgs/tools/X11/primus/default.nix index 1aa7909a43d66..f0a971dde18f6 100644 --- a/pkgs/tools/X11/primus/default.nix +++ b/pkgs/tools/X11/primus/default.nix @@ -5,31 +5,18 @@ # Other distributions do the same. { stdenv , primusLib -, writeScript +, writeScriptBin , primusLib_i686 ? null +, useNvidia ? true }: -with stdenv.lib; + let - version = "1.0.0748176"; - ldPath = makeLibraryPath ([primusLib] ++ optional (primusLib_i686 != null) primusLib_i686); - primusrun = writeScript "primusrun" -'' + 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" '' + #!${stdenv.shell} export LD_LIBRARY_PATH=${ldPath}:$LD_LIBRARY_PATH exec "$@" -''; -in -stdenv.mkDerivation { - name = "primus-${version}"; - builder = writeScript "builder" - '' - source $stdenv/setup - mkdir -p $out/bin - cp ${primusrun} $out/bin/primusrun - ''; - - meta = { - homepage = https://github.com/amonakov/primus; - description = "Faster OpenGL offloading for Bumblebee"; - maintainers = with maintainers; [ coconnor ]; - }; -} +'' diff --git a/pkgs/tools/X11/primus/lib.nix b/pkgs/tools/X11/primus/lib.nix index 96a4ac16c9b15..ce8059331092b 100644 --- a/pkgs/tools/X11/primus/lib.nix +++ b/pkgs/tools/X11/primus/lib.nix @@ -1,20 +1,35 @@ { stdenv, fetchgit , xlibsWrapper, mesa -, nvidia +, nvidia_x11 ? null +, libX11 }: -let - version = "1.0.0748176"; -in + stdenv.mkDerivation { - name = "primus-lib-${version}"; + name = "primus-lib-20151204"; + src = fetchgit { url = git://github.com/amonakov/primus.git; - rev = "074817614c014e3a99259388cb18fd54648b659a"; - sha256 = "0mrh432md6zrm16avxyk57mgszrqpgwdjahspchvlaccqxp3x82v"; + rev = "d1afbf6fce2778c0751eddf19db9882e04f18bfd"; + sha256 = "8f095b5e2030cdb155a42a49873832843c1e4dc3087a6fb94d198de982609923"; }; - inherit nvidia mesa; + buildInputs = [ libX11 mesa ]; + + makeFlags = [ "LIBDIR=$(out)/lib" + "PRIMUS_libGLa=${if nvidia_x11 == null then mesa else nvidia_x11}/lib/libGL.so" + "PRIMUS_libGLd=${mesa}/lib/libGL.so" + "PRIMUS_LOAD_GLOBAL=${mesa}/lib/libglapi.so" + ]; - buildInputs = [ xlibsWrapper mesa ]; - builder = ./builder.sh; + installPhase = '' + ln -s $out/lib/libGL.so.1 $out/lib/libGL.so + ''; + + meta = with stdenv.lib; { + description = "Low-overhead client-side GPU offloading"; + homepage = https://github.com/amonakov/primus; + platforms = platforms.linux; + license = licenses.bsd2; + maintainers = with maintainers; [ abbradar ]; + }; } |