primus: 1.0.0748176 -> 20151204, add useNvidia flag
This commit is contained in:
parent
ae7ff02081
commit
56ffc2ecd2
@ -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
|
|
@ -5,31 +5,18 @@
|
|||||||
# Other distributions do the same.
|
# Other distributions do the same.
|
||||||
{ stdenv
|
{ stdenv
|
||||||
, primusLib
|
, primusLib
|
||||||
, writeScript
|
, writeScriptBin
|
||||||
, primusLib_i686 ? null
|
, primusLib_i686 ? null
|
||||||
|
, useNvidia ? true
|
||||||
}:
|
}:
|
||||||
with stdenv.lib;
|
|
||||||
let
|
let
|
||||||
version = "1.0.0748176";
|
primus = if useNvidia then primusLib else primusLib.override { nvidia_x11 = null; };
|
||||||
ldPath = makeLibraryPath ([primusLib] ++ optional (primusLib_i686 != null) primusLib_i686);
|
primus_i686 = if useNvidia then primusLib_i686 else primusLib_i686.override { nvidia_x11 = null; };
|
||||||
primusrun = writeScript "primusrun"
|
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
|
export LD_LIBRARY_PATH=${ldPath}:$LD_LIBRARY_PATH
|
||||||
exec "$@"
|
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 ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
@ -1,20 +1,35 @@
|
|||||||
{ stdenv, fetchgit
|
{ stdenv, fetchgit
|
||||||
, xlibsWrapper, mesa
|
, xlibsWrapper, mesa
|
||||||
, nvidia
|
, nvidia_x11 ? null
|
||||||
|
, libX11
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
version = "1.0.0748176";
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "primus-lib-${version}";
|
name = "primus-lib-20151204";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = git://github.com/amonakov/primus.git;
|
url = git://github.com/amonakov/primus.git;
|
||||||
rev = "074817614c014e3a99259388cb18fd54648b659a";
|
rev = "d1afbf6fce2778c0751eddf19db9882e04f18bfd";
|
||||||
sha256 = "0mrh432md6zrm16avxyk57mgszrqpgwdjahspchvlaccqxp3x82v";
|
sha256 = "8f095b5e2030cdb155a42a49873832843c1e4dc3087a6fb94d198de982609923";
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit nvidia mesa;
|
buildInputs = [ libX11 mesa ];
|
||||||
|
|
||||||
buildInputs = [ xlibsWrapper mesa ];
|
makeFlags = [ "LIBDIR=$(out)/lib"
|
||||||
builder = ./builder.sh;
|
"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"
|
||||||
|
];
|
||||||
|
|
||||||
|
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 ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -13387,15 +13387,14 @@ let
|
|||||||
|
|
||||||
virtualgl = callPackage ../tools/X11/virtualgl { };
|
virtualgl = callPackage ../tools/X11/virtualgl { };
|
||||||
|
|
||||||
primus = callPackage ../tools/X11/primus {
|
|
||||||
primusLib = callPackage ../tools/X11/primus/lib.nix {
|
primusLib = callPackage ../tools/X11/primus/lib.nix {
|
||||||
nvidia = linuxPackages.nvidia_x11;
|
nvidia_x11 = linuxPackages.nvidia_x11.override { libsOnly = true; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
primus = callPackage ../tools/X11/primus {
|
||||||
primusLib_i686 = if system == "x86_64-linux"
|
primusLib_i686 = if system == "x86_64-linux"
|
||||||
then callPackage_i686 ../tools/X11/primus/lib.nix {
|
then pkgsi686Linux.primusLib
|
||||||
nvidia = pkgsi686Linux.linuxPackages.nvidia_x11.override { libsOnly = true; };
|
|
||||||
}
|
|
||||||
else null;
|
else null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user