diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mesa/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/mesa/default.nix | 57 |
1 files changed, 15 insertions, 42 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mesa/default.nix b/nixpkgs/pkgs/development/libraries/mesa/default.nix index b4b70fcab4f5..cb9d19c30c84 100644 --- a/nixpkgs/pkgs/development/libraries/mesa/default.nix +++ b/nixpkgs/pkgs/development/libraries/mesa/default.nix @@ -2,7 +2,7 @@ , meson, pkg-config, ninja , intltool, bison, flex, file, python3Packages, wayland-scanner , expat, libdrm, xorg, wayland, wayland-protocols, openssl -, llvmPackages_16, libffi, libomxil-bellagio, libva-minimal +, llvmPackages, libffi, libomxil-bellagio, libva-minimal , libelf, libvdpau , libglvnd, libunwind, lm_sensors , vulkan-loader, glslang @@ -43,7 +43,7 @@ ++ lib.optionals (stdenv.hostPlatform.isAarch -> lib.versionAtLeast stdenv.hostPlatform.parsed.cpu.version "6") [ # QEMU virtualized GPU (aka VirGL) # Requires ATOMIC_INT_LOCK_FREE == 2. - "virtio-experimental" + "virtio" ] ++ lib.optionals stdenv.isAarch64 [ "broadcom" # Broadcom VC5 (Raspberry Pi 4, aka V3D) @@ -65,6 +65,7 @@ , enableOpenCL ? stdenv.isLinux && stdenv.isx86_64 , enablePatentEncumberedCodecs ? true , jdupes +, rust-bindgen , rustc , spirv-llvm-translator , zstd @@ -84,8 +85,8 @@ */ let - version = "23.1.9"; - hash = "sha256-KVuifCgUbtCSFOjOea+hZZ7fnRQt7MPJH4BFUtZPdRA="; + version = "23.3.3"; + hash = "sha256-UYMHwAV/o87otY33i+Qx1N9ar6ftxg0JJ4stegqA87Q="; # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule @@ -93,19 +94,6 @@ let withLibdrm = lib.meta.availableOn stdenv.hostPlatform libdrm; - llvmPackages = llvmPackages_16; - # Align all the Mesa versions used. Required to prevent explosions when - # two different LLVMs are loaded in the same process. - # FIXME: these should really go into some sort of versioned LLVM package set - rust-bindgen' = buildPackages.rust-bindgen.override { - rust-bindgen-unwrapped = buildPackages.rust-bindgen.unwrapped.override { - clang = buildPackages.llvmPackages_15.clang; - }; - }; - spirv-llvm-translator' = spirv-llvm-translator.override { - inherit (llvmPackages) llvm; - }; - haveWayland = lib.elem "wayland" eglPlatforms; haveZink = lib.elem "zink" galliumDrivers; haveDozen = (lib.elem "d3d12" galliumDrivers) || (lib.elem "microsoft-experimental" vulkanDrivers); @@ -133,29 +121,14 @@ self = stdenv.mkDerivation { ./opencl.patch ./disk_cache-include-dri-driver-path-in-cache-key.patch - ] ++ lib.optionals stdenv.isDarwin [ - # https://gitlab.freedesktop.org/mesa/mesa/-/issues/8634 - (fetchpatch { - url = "https://gitlab.freedesktop.org/robclark/mesa/-/commit/44734d1fe98ef47019fe2c56d867d1645c526e4e.diff"; - hash = "sha256-ipaISEY5xcnGvrwFxNY80JVlYWddfiHofkYEBuPkyDY="; - }) - (fetchpatch { - url = "https://gitlab.freedesktop.org/robclark/mesa/-/commit/d2a46afbfc44121aa491a2b4d1a3249d26fc6a11.diff"; - hash = "sha256-i00s9oUhZXXf/A4cHwWN6uRDP70cHjz+kgVpiDM/eMw="; - }) - (fetchpatch { - url = "https://gitlab.freedesktop.org/robclark/mesa/-/commit/17cde1ee87cc0cbb896ca81949b8f192d5496271.diff"; - hash = "sha256-ao2pWQwMBskOjWJsjWqwFYAeqpTWAyJbEtSryDO+xyo="; - }) - (fetchpatch { - url = "https://gitlab.freedesktop.org/robclark/mesa/-/commit/4489d737d5c12eb0a3441ed0b303f9f1100a7166.diff"; - hash = "sha256-WxqwEngd79NHLedQOWMjjroaN0gr6Upd96uteSvr4Yw="; - }) - # fixes a linking error - (fetchpatch { - url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/c8b64452c076c1768beb23280de25faf2bcbe2c8.diff"; - hash = "sha256-mqivdzyoLtkfkAb+r57gjPwg8d7whgFAahiUhGVOOvo="; - }) + + # Backports to fix build + # FIXME: remove when applied upstream + + # Fix build on macOS + ./backports/0001-dri-added-build-dependencies-for-systems-using-non-s.patch + ./backports/0002-util-Update-util-libdrm.h-stubs-to-allow-loader.c-to.patch + ./backports/0003-glx-fix-automatic-zink-fallback-loading-between-hw-a.patch ]; postPatch = '' @@ -257,7 +230,7 @@ self = stdenv.mkDerivation { python3Packages.python # for shebang ] ++ lib.optionals haveWayland [ wayland wayland-protocols ] ++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal udev lm_sensors ] - ++ lib.optionals enableOpenCL [ llvmPackages.libclc llvmPackages.clang llvmPackages.clang-unwrapped spirv-llvm-translator' ] + ++ lib.optionals enableOpenCL [ llvmPackages.libclc llvmPackages.clang llvmPackages.clang-unwrapped spirv-llvm-translator ] ++ lib.optional withValgrind valgrind-light ++ lib.optional haveZink vulkan-loader ++ lib.optional haveDozen directx-headers; @@ -270,7 +243,7 @@ self = stdenv.mkDerivation { intltool bison flex file python3Packages.python python3Packages.mako python3Packages.ply jdupes glslang - ] ++ lib.optionals enableOpenCL [ rust-bindgen' rustc ] + ] ++ lib.optionals enableOpenCL [ rust-bindgen rustc ] ++ lib.optional haveWayland wayland-scanner; propagatedBuildInputs = with xorg; [ |