Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 fetchpatch, 6 libX11, 7 libGL, 8 linuxPackages, 9 nvidia_x11 ? linuxPackages.nvidia_x11.override { libsOnly = true; }, 10 libglvnd, 11}: 12 13let 14 aPackage = 15 if nvidia_x11 == null then 16 libGL 17 else if nvidia_x11.useGLVND then 18 libglvnd 19 else 20 nvidia_x11; 21 22in 23stdenv.mkDerivation { 24 pname = "primus-lib"; 25 version = "unstable-2015-04-28"; 26 27 src = fetchFromGitHub { 28 owner = "amonakov"; 29 repo = "primus"; 30 rev = "d1afbf6fce2778c0751eddf19db9882e04f18bfd"; 31 sha256 = "118jm57ccawskb8vjq3a9dpa2gh72nxzvx2zk7zknpy0arrdznj1"; 32 }; 33 34 patches = [ 35 # Bump buffer size for long library paths. 36 (fetchpatch { 37 url = "https://github.com/abbradar/primus/commit/2f429e232581c556df4f4bf210aee8a0c99c60b7.patch"; 38 sha256 = "1da6ynz7r7x98495i329sf821308j1rpy8prcdraqahz7p4c89nc"; 39 }) 40 ]; 41 42 buildInputs = [ 43 libX11 44 libGL 45 ]; 46 47 makeFlags = [ 48 "LIBDIR=$(out)/lib" 49 "PRIMUS_libGLa=${aPackage}/lib/libGL.so" 50 "PRIMUS_libGLd=${libGL}/lib/libGL.so" 51 ]; 52 53 installPhase = '' 54 ln -s $out/lib/libGL.so.1 $out/lib/libGL.so 55 ''; 56 57 passthru.glvnd = if nvidia_x11 != null && nvidia_x11.useGLVND then nvidia_x11 else null; 58 59 meta = { 60 description = "Low-overhead client-side GPU offloading"; 61 homepage = "https://github.com/amonakov/primus"; 62 platforms = [ 63 "i686-linux" 64 "x86_64-linux" 65 ]; 66 license = lib.licenses.bsd2; 67 maintainers = with lib.maintainers; [ abbradar ]; 68 }; 69}