biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / X11 / primus / lib.nix
blob43e0a8233fd0b81bdb85e1d5f3dc1d3ba47e284b
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , fetchpatch
5 , libX11
6 , libGL
7 , mesa
8 , nvidia_x11 ? null
9 , libglvnd
12 let
13   aPackage =
14     if nvidia_x11 == null then libGL
15     else if nvidia_x11.useGLVND then libglvnd
16     else nvidia_x11;
19 stdenv.mkDerivation {
20   pname = "primus-lib";
21   version = "unstable-2015-04-28";
23   src = fetchFromGitHub {
24     owner = "amonakov";
25     repo = "primus";
26     rev = "d1afbf6fce2778c0751eddf19db9882e04f18bfd";
27     sha256 = "118jm57ccawskb8vjq3a9dpa2gh72nxzvx2zk7zknpy0arrdznj1";
28   };
30   patches = [
31     # Bump buffer size for long library paths.
32     (fetchpatch {
33       url = "https://github.com/abbradar/primus/commit/2f429e232581c556df4f4bf210aee8a0c99c60b7.patch";
34       sha256 = "1da6ynz7r7x98495i329sf821308j1rpy8prcdraqahz7p4c89nc";
35     })
36   ];
38   buildInputs = [ libX11 libGL ];
40   makeFlags = [
41     "LIBDIR=$(out)/lib"
42     "PRIMUS_libGLa=${aPackage}/lib/libGL.so"
43     "PRIMUS_libGLd=${libGL}/lib/libGL.so"
44     "PRIMUS_LOAD_GLOBAL=${mesa}/lib/libglapi.so"
45   ];
47   installPhase = ''
48     ln -s $out/lib/libGL.so.1 $out/lib/libGL.so
49   '';
51   passthru.glvnd = if nvidia_x11 != null && nvidia_x11.useGLVND then nvidia_x11 else null;
53   meta = with lib; {
54     description = "Low-overhead client-side GPU offloading";
55     homepage = "https://github.com/amonakov/primus";
56     platforms = [ "i686-linux" "x86_64-linux" ];
57     license = licenses.bsd2;
58     maintainers = with maintainers; [ abbradar ];
59   };