From 335a7492c0f000489cff0cce45bf2fa8c53ae6d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?PedroHLC=20=E2=98=AD?= Date: Thu, 11 Aug 2022 08:29:27 -0300 Subject: [PATCH] mesa: 22.1.4 -> 22.1.6; patch darwin instead of freezing version --- pkgs/development/libraries/mesa/default.nix | 16 ++++---- .../libraries/mesa/drop-dri2.patch | 40 +++++++++++++++++++ 2 files changed, 48 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/libraries/mesa/drop-dri2.patch diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 48df1b0149c1..c851c196f184 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -34,8 +34,7 @@ with lib; let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule - # 22.1 on darwin won't build: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6519 - version = if stdenv.isDarwin then "22.0.4" else "22.1.4"; + version = "22.1.6"; branch = versions.major version; self = stdenv.mkDerivation { @@ -49,10 +48,7 @@ self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz" "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" ]; - sha256 = { - "22.1.4" = "0xhbcjqy3g5dfxhr4flmqncmsjnwljfqm9idx92jm43jifz8q3b7"; - "22.0.4" = "1m0y8wgy48hmcidsr7sbk5hcw3v0qr8359fd2x34fvl2z9c1z5y7"; - }.${version}; + sha256 = "22ced061eb9adab8ea35368246c1995c09723f3f71653cd5050c5cec376e671a"; }; # TODO: @@ -63,11 +59,11 @@ self = stdenv.mkDerivation { ./musl.patch (fetchpatch { url = "https://raw.githubusercontent.com/void-linux/void-packages/b9f58f303ae23754c95d5d1fe87a98b5a2d8f271/srcpkgs/mesa/patches/musl-endian.patch"; - sha256 = "sha256-eRc91qCaFlVzrxFrNUPpAHd1gsqKsLCCN0IW8pBQcqk="; + hash = "sha256-eRc91qCaFlVzrxFrNUPpAHd1gsqKsLCCN0IW8pBQcqk="; }) (fetchpatch { url = "https://raw.githubusercontent.com/void-linux/void-packages/b9f58f303ae23754c95d5d1fe87a98b5a2d8f271/srcpkgs/mesa/patches/musl-stacksize.patch"; - sha256 = "sha256-bEp0AWddsw1Pc3rxdKN8fsrX4x2TQEzMUa5afhLXGsg="; + hash = "sha256-bEp0AWddsw1Pc3rxdKN8fsrX4x2TQEzMUa5afhLXGsg="; }) ./opencl.patch @@ -76,6 +72,10 @@ self = stdenv.mkDerivation { # Fix aarch64-darwin build, remove when upstreaam supports it out of the box. # See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1020 ./aarch64-darwin.patch + ] ++ optionals stdenv.isDarwin [ + # 22.1 on darwin won't build: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6519 + # (already in-tree for 22.2) + ./drop-dri2.patch ]; postPatch = '' diff --git a/pkgs/development/libraries/mesa/drop-dri2.patch b/pkgs/development/libraries/mesa/drop-dri2.patch new file mode 100644 index 000000000000..8c2b85a55aae --- /dev/null +++ b/pkgs/development/libraries/mesa/drop-dri2.patch @@ -0,0 +1,40 @@ +diff --git a/a/src/gallium/frontends/dri/dri_util.c b/b/src/gallium/frontends/dri/dri_util.c +index 8d60526..782360d 100644 +--- a/src/gallium/frontends/dri/dri_util.c ++++ b/src/gallium/frontends/dri/dri_util.c +@@ -808,35 +808,6 @@ const __DRIcoreExtension driCoreExtension = { + .unbindContext = driUnbindContext + }; + +-/** DRI2 interface */ +-const __DRIdri2Extension driDRI2Extension = { +- .base = { __DRI_DRI2, 4 }, +- +- .createNewScreen = dri2CreateNewScreen, +- .createNewDrawable = driCreateNewDrawable, +- .createNewContext = driCreateNewContext, +- .getAPIMask = driGetAPIMask, +- .createNewContextForAPI = driCreateNewContextForAPI, +- .allocateBuffer = dri2AllocateBuffer, +- .releaseBuffer = dri2ReleaseBuffer, +- .createContextAttribs = driCreateContextAttribs, +- .createNewScreen2 = driCreateNewScreen2, +-}; +- +-const __DRIdri2Extension swkmsDRI2Extension = { +- .base = { __DRI_DRI2, 4 }, +- +- .createNewScreen = swkmsCreateNewScreen, +- .createNewDrawable = driCreateNewDrawable, +- .createNewContext = driCreateNewContext, +- .getAPIMask = driGetAPIMask, +- .createNewContextForAPI = driCreateNewContextForAPI, +- .allocateBuffer = dri2AllocateBuffer, +- .releaseBuffer = dri2ReleaseBuffer, +- .createContextAttribs = driCreateContextAttribs, +- .createNewScreen2 = driCreateNewScreen2, +-}; +- + const __DRIswrastExtension driSWRastExtension = { + .base = { __DRI_SWRAST, 4 }, +