Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 81 lines 1.8 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 meson, 6 ninja, 7 pkg-config, 8 buildPackages, 9 libGLU, 10 libepoxy, 11 libX11, 12 libdrm, 13 libgbm, 14 nativeContextSupport ? stdenv.hostPlatform.isLinux, 15 vaapiSupport ? !stdenv.hostPlatform.isDarwin, 16 libva, 17 vulkanSupport ? stdenv.hostPlatform.isLinux, 18 vulkan-headers, 19 vulkan-loader, 20 gitUpdater, 21}: 22 23stdenv.mkDerivation rec { 24 pname = "virglrenderer"; 25 version = "1.1.1"; 26 27 src = fetchurl { 28 url = "https://gitlab.freedesktop.org/virgl/virglrenderer/-/archive/${version}/virglrenderer-${version}.tar.bz2"; 29 hash = "sha256-D+SJqBL76z1nGBmcJ7Dzb41RvFxU2Ak6rVOwDRB94rM="; 30 }; 31 32 separateDebugInfo = true; 33 34 buildInputs = [ 35 libepoxy 36 ] 37 ++ lib.optionals vaapiSupport [ libva ] 38 ++ lib.optionals vulkanSupport [ 39 vulkan-headers 40 vulkan-loader 41 ] 42 ++ lib.optionals stdenv.hostPlatform.isLinux [ 43 libGLU 44 libX11 45 libdrm 46 libgbm 47 ]; 48 49 nativeBuildInputs = [ 50 meson 51 ninja 52 pkg-config 53 (buildPackages.python3.withPackages (ps: [ 54 ps.pyyaml 55 ])) 56 ]; 57 58 mesonFlags = [ 59 (lib.mesonBool "video" vaapiSupport) 60 (lib.mesonBool "venus" vulkanSupport) 61 ] 62 ++ lib.optionals nativeContextSupport [ 63 (lib.mesonOption "drm-renderers" "amdgpu-experimental,msm") 64 ]; 65 66 passthru = { 67 updateScript = gitUpdater { 68 url = "https://gitlab.freedesktop.org/virgl/virglrenderer.git"; 69 rev-prefix = "virglrenderer-"; 70 }; 71 }; 72 73 meta = with lib; { 74 description = "Virtual 3D GPU library that allows a qemu guest to use the host GPU for accelerated 3D rendering"; 75 mainProgram = "virgl_test_server"; 76 homepage = "https://virgil3d.github.io/"; 77 license = licenses.mit; 78 platforms = platforms.unix; 79 maintainers = [ maintainers.xeji ]; 80 }; 81}