summaryrefslogtreecommitdiff
path: root/media-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-24 21:49:24 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-24 21:49:24 +0000
commita1c55a7e2f400a6170fd3df167bfdc299c05e2db (patch)
tree63add7e7943810930ca6e296397ef4bdea18eb6b /media-libs
parentc18398e8c10c222f0daed55f7d69339e3c7885bd (diff)
gentoo auto-resync : 24:02:2023 - 21:49:24
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/Manifest.gzbin68219 -> 68218 bytes
-rw-r--r--media-libs/aalib/Manifest4
-rw-r--r--media-libs/aalib/aalib-1.4_rc5-r10.ebuild68
-rw-r--r--media-libs/aalib/aalib-1.4_rc5-r9.ebuild4
-rw-r--r--media-libs/aalib/files/aalib-1.4_rc5-free-offset-pointer.patch14
-rw-r--r--media-libs/babl/Manifest2
-rw-r--r--media-libs/babl/babl-0.1.100.ebuild69
-rw-r--r--media-libs/gegl/Manifest4
-rw-r--r--media-libs/gegl/gegl-0.4.42.ebuild171
-rw-r--r--media-libs/gegl/gegl-9999.ebuild3
-rw-r--r--media-libs/mesa/Manifest4
-rw-r--r--media-libs/mesa/mesa-22.3.6.ebuild465
-rw-r--r--media-libs/mesa/mesa-23.0.0.ebuild465
13 files changed, 1268 insertions, 5 deletions
diff --git a/media-libs/Manifest.gz b/media-libs/Manifest.gz
index b371e950e9ca..bfc220c834c2 100644
--- a/media-libs/Manifest.gz
+++ b/media-libs/Manifest.gz
Binary files differ
diff --git a/media-libs/aalib/Manifest b/media-libs/aalib/Manifest
index 3b872b2f100f..aab9955aae08 100644
--- a/media-libs/aalib/Manifest
+++ b/media-libs/aalib/Manifest
@@ -2,9 +2,11 @@ AUX aalib-1.4_rc4-gentoo.patch 1245 BLAKE2B 59451b7cad10881b27d5eb13211106c278d8
AUX aalib-1.4_rc4-m4.patch 241 BLAKE2B 0fc63b7936334bfa171cdafdb0d8813ce499d3dfe29f32b59e8ca1873d5ca55f1154a3f2e1aa5c187b5ea8f5c138c60992378b4e7ba8e1fb4e646bd6ea85200d SHA512 bea8e769596ec8d529d67a2b6081d2a7c1e47d9089551a31356f8b15a4dbfd36fdc97839754ef188621d8870628707b274f2183cebffc219ea0f3784fa12d8f1
AUX aalib-1.4_rc5-fix-aarender.patch 1354 BLAKE2B e9456d951d0ac69685dc79243d1f17abbc304acbe247390a832208c5d9ea691ace9383dd0ce34b8edad254d95857ed729db6f26f16dc82765542981a3f73ef00 SHA512 4e30144ce0df3e1f063fc1bef34690ffc88719f3f52fa62f25f4d2e28a22b59713b5ea23f14c07f0fec5b3988a093572b3e9886ef052cbba48a028f84eb84588
AUX aalib-1.4_rc5-fix-protos.patch 2105 BLAKE2B 4b701691a61a400a52a7ab7cdc213f0e47bb47c7f7d5f72ea862b7744641df5b510b434e85f0b5bfcc2c88f864ee6d651441d41571283661a9008018068c7e0c SHA512 e46268f5fb972500851f5489cc6311171a07a8b1a7a564bdafe5760008db72787650ad74e5144cbdb30b7fef027ee646e5534dd2eabddbd057bef1b27229af37
+AUX aalib-1.4_rc5-free-offset-pointer.patch 404 BLAKE2B dee15643e51c9d6c481215b5d8135a3e0b31ebb061432fc36bd6d45992b36cd767aa44d262d8ebfd7ca8c600b9418843eb384d4c3ed4de5255df39c6b177ce24 SHA512 57d92c401057cd5ba8e034378ab137d1eff777dfaf51bde4281bb4882459b2e47d374f20b7520ca0b0d17371cb0942de75d9faca16a56aab7f47dfa0ac7b3c72
AUX aalib-1.4_rc5-key-down-OOB.patch 504 BLAKE2B 1742e3d22889e7faabaf0fcacecc7db4dff4d126361f02d0311e11a93a2a1445de78f1e5a38cb43860bee1809c8350829715b843b52f7354f2ffe22cd21e7e1a SHA512 e3a79459024e25180b5407b92031c1b675659038289daff5a62485a01dc79afd8223652f9bd3e521a975158ecaa8210e35e536dfe3719259f2631a87d83e19b7
AUX aalib-1.4_rc5-more-protos.patch 1499 BLAKE2B abf425195f87f83dc019ded382c365f1f780c37f5d5282c27985ef064e53221d369974c3147634b1bfb1af6df7232088a71fdd12230e587c475c5817180a602c SHA512 c2b723af88a0ca70505086bc7436e5c213d2f52698b293392be2a6b18ef26ef285a09e460577a4a60b328df45b1d61c50064f3ba1f3df43a844082f2c5da25b2
AUX aalib-1.4_rc5-tinfo.patch 709 BLAKE2B fb7dd0eb1e39046c66de0466b0411f97fa948d9da03719fcd759a7331c7da0a6cfcba92353ef5363cf651501d73ce4fd29a5baf94897f10f0518284ebb4db10c SHA512 2abab613af549f4c24f7d617cf65de773e7850ec8485dfa23de2405ed59cf14f7cb70c2f1b701e27ae541e5f75302f4d28c3f866303bfc901a96074c9d9d534b
DIST aalib-1.4rc5.tar.gz 391028 BLAKE2B fd527716c0484d45fa3b75712a24301bd485fab8191ac1d5c6d35f8af093a00e11f0f8d2797ddcc32f4d87a39649fd50145dcc557e5ba98e67336cff2bb79002 SHA512 3e4506eccce3b81ccbbb79a4a1b90abd39e2259e6043fde90f70b9ca279bd4c37758a047167267b97c4ec92f64fb17c7c8f548114f0d0c6e78ddb9463b5f1299
-EBUILD aalib-1.4_rc5-r9.ebuild 1948 BLAKE2B 201794aa10275d9f503dd3ea21df8ccd0b252cdd627d62442177976ab12cc55f44dcd9b6d1e4344e79f3caf4d6d8a42e237d944d567419d2fa3ea1b0516ebc04 SHA512 30d0b14f423481a0a987164e7e63923a40cd0a952285281f7ebd25bd9ec5b5fa474af497e3069d91073af5293da4e01689a7e526ee7a7ba43b7ff53cf3e3b104
+EBUILD aalib-1.4_rc5-r10.ebuild 1943 BLAKE2B 1c52e7e4ba10479137e4132b34a2762867cd41bf817670eedf20ac492a19371d5e739660f6bec5c92976285f2c92842f7addada1cfce63e7215fffdc555427f6 SHA512 e5ffdeae8e0cedec1b856a638eda8bc72888b3379c77d6c9015d469224fda05af1dec8ef539286c15acfb8cbd5fd6219b8049f3dc866ddad246db522b3ffdb20
+EBUILD aalib-1.4_rc5-r9.ebuild 1949 BLAKE2B 83585440398d08ba7905f6b8e716c92f3c111b281f00f6194e413f0c5064448946324d04441af427c5c804f4365e6b0bb0f1c9f34e0ee30a9edcf4252a7c1e5e SHA512 b533c7d386c1aaf72484b7cdd6262b3bfe7234c87e5c803a0a7e220cd12543f0bdf5ebaf07cbaab399d6cf2970ea01576a3d36994ac655999f4060dddd4f400a
MISC metadata.xml 410 BLAKE2B 2f08a7a6bcc149aafd7d9493ea4f87945b3c38fae8e79a80991fb8b23506b7c503d7a0f4c3acd815537a823b0f2f6f49d727d0d34d1476b988811acfa6e89905 SHA512 b35f23f666eb8225269db37aeadf96af19d464b3835933d8fbae839c574cff6ff71bc9553260e383a2a77ca798063eb2529452c99057c4fbd0a0c028ccf86cdd
diff --git a/media-libs/aalib/aalib-1.4_rc5-r10.ebuild b/media-libs/aalib/aalib-1.4_rc5-r10.ebuild
new file mode 100644
index 000000000000..366beee3347f
--- /dev/null
+++ b/media-libs/aalib/aalib-1.4_rc5-r10.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal toolchain-funcs
+
+MY_P="${P/_/}"
+S="${WORKDIR}/${PN}-1.4.0"
+
+DESCRIPTION="A ASCII-Graphics Library"
+HOMEPAGE="https://aa-project.sourceforge.net/aalib/"
+SRC_URI="mirror://sourceforge/aa-project/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="X gpm slang"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}]
+ X? ( >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] )
+ gpm? ( >=sys-libs/gpm-1.20.7-r2[${MULTILIB_USEDEP}] )
+ slang? ( >=sys-libs/slang-2.2.4-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4_rc4-gentoo.patch
+ "${FILESDIR}"/${PN}-1.4_rc4-m4.patch
+ "${FILESDIR}"/${PN}-1.4_rc5-fix-protos.patch #224267
+ "${FILESDIR}"/${PN}-1.4_rc5-fix-aarender.patch #214142
+ "${FILESDIR}"/${PN}-1.4_rc5-tinfo.patch #468566
+ "${FILESDIR}"/${PN}-1.4_rc5-key-down-OOB.patch
+ "${FILESDIR}"/${PN}-1.4_rc5-more-protos.patch
+ "${FILESDIR}"/${PN}-1.4_rc5-free-offset-pointer.patch #894978
+)
+
+DOCS=( ANNOUNCE AUTHORS ChangeLog NEWS README )
+
+src_prepare() {
+ default
+
+ sed -i -e 's:#include <malloc.h>:#include <stdlib.h>:g' "${S}"/src/*.c
+
+ # Fix bug #165617.
+ use gpm || sed -i \
+ 's/gpm_mousedriver_test=yes/gpm_mousedriver_test=no/' "${S}/configure.in"
+
+ #467988 automake-1.13
+ mv configure.{in,ac} || die
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} econf \
+ $(use_with slang slang-driver) \
+ $(use_with X x11-driver) \
+ PKG_CONFIG=$(tc-getPKG_CONFIG)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/media-libs/aalib/aalib-1.4_rc5-r9.ebuild b/media-libs/aalib/aalib-1.4_rc5-r9.ebuild
index 53a76ebdff1c..509be2da5485 100644
--- a/media-libs/aalib/aalib-1.4_rc5-r9.ebuild
+++ b/media-libs/aalib/aalib-1.4_rc5-r9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ MY_P="${P/_/}"
S="${WORKDIR}/${PN}-1.4.0"
DESCRIPTION="A ASCII-Graphics Library"
-HOMEPAGE="http://aa-project.sourceforge.net/aalib/"
+HOMEPAGE="https://aa-project.sourceforge.net/aalib/"
SRC_URI="mirror://sourceforge/aa-project/${MY_P}.tar.gz"
LICENSE="GPL-2"
diff --git a/media-libs/aalib/files/aalib-1.4_rc5-free-offset-pointer.patch b/media-libs/aalib/files/aalib-1.4_rc5-free-offset-pointer.patch
new file mode 100644
index 000000000000..3ae697e3189c
--- /dev/null
+++ b/media-libs/aalib/files/aalib-1.4_rc5-free-offset-pointer.patch
@@ -0,0 +1,14 @@
+--- a/src/aarender.c
++++ b/src/aarender.c
+@@ -63,10 +63,10 @@ void aa_renderpalette(aa_context * c, __
+ errors[0] = calloc(1, (x2 + 5) * sizeof(int));
+ if (errors[0] == NULL)
+ dither = AA_ERRORDISTRIB;
+- errors[0] += 3;
+ errors[1] = calloc(1, (x2 + 5) * sizeof(int));
+ if (errors[1] == NULL)
+ free(errors[0]), dither = AA_ERRORDISTRIB;
++ errors[0] += 3;
+ errors[1] += 3;
+ cur = 0;
+ }
diff --git a/media-libs/babl/Manifest b/media-libs/babl/Manifest
index ad40b7d4cfd8..fcb18f71b32e 100644
--- a/media-libs/babl/Manifest
+++ b/media-libs/babl/Manifest
@@ -1,4 +1,6 @@
+DIST babl-0.1.100.tar.xz 313808 BLAKE2B 068693717d6b9535b1e562d014350e7fb9e891cbb2aab54b6a146acb3c202c54add4b6599624e200c872f6fc44756b62c6e4daf06f806a03abbc5faee61f61a3 SHA512 19d2f656b2c758f7b4b5ac090c08689617db0eb8c304ef501ff002ca32e9ddd7eeb99d5d9aeaba79c34c4c551bda936f5a1b209fad20cd73db85b0ddea82f9da
DIST babl-0.1.98.tar.xz 312516 BLAKE2B c12626e4b8127a5b2e17507e20cf6ce324834a58d64fa54b80fbe00ef2468d3d29c870d44a22f08f7e74404cf6f47321084c854a4ba017cf0c8c199d8210849f SHA512 33b2e3f8fbcd6602bb82d6242dd2911bb2232e69350f7a0e70e14b1472052e27b0e2a1fa6a2b6d0449fc9796353336e311c8d4007c532447cd61f95b684a3120
+EBUILD babl-0.1.100.ebuild 1972 BLAKE2B ce5bd512818ecd7d830b07f0112a8b60c4a9ad0f4f67fc5555934ecf50b7f91e1a78ac7cdfd95a7ff1fadf43c4f84161608be3c3041a30be314cf1e8cc5324e7 SHA512 98d6529f426ee91271c0d38b8e9f9a85058ba83dc1308806179efe7228a9dd8e3c4bbb713f04ee340c43ecc2dc4800c1866b8811522672aafc53b43b6b8a5c65
EBUILD babl-0.1.98.ebuild 1916 BLAKE2B f2448dfba8c3d8e7ecadd672c4dfff367188231cf6d029206e25a2238d9189f3a2183e12e6213fc8a788824a5b62bc6e856fa2691b7671ac005e5aa119f8ce2a SHA512 35fc9ed03e73b78cf7ef943263ec1b4f7dd33200fbdccd9df1925c3bcf8863d315a2b52f02c17ae85824cadadabf94079512a8ed5ba9eeaba59a9e7ab2524469
EBUILD babl-9999.ebuild 1768 BLAKE2B 06e15bedd34ca86198a759f664afd31fc6abf3609da2ea8f685b9c319c9a6ab58b1ba49d21a21f19a32e9d3fd084ab5228d80469fb2827f6b65fafd555832ba9 SHA512 1ce5acb7bd4d2b9f2995628ab03833d05047463629456ba64f4d3f9af6b85929a2127d5d8d5ed184a4986d833b18e43db9879a59e4657692d16eb24d0cb5b962
MISC metadata.xml 482 BLAKE2B b87a2ff4b72fc2aeed91042dd7b6a65032aa4608c7079fbc94c1d1f85e681bc446aa1fcad5f14cba510febe1430b290417cd498ff09c797ec8b28c84e6451e4e SHA512 3345414f92106c39f8364c1554e0325cfd45cbf94f84315d809bb305faf4093b3b971c79f7c32ea998a8fd0c6c9369c249ce10063a1521690a624860e20de995
diff --git a/media-libs/babl/babl-0.1.100.ebuild b/media-libs/babl/babl-0.1.100.ebuild
new file mode 100644
index 000000000000..fa71efb6d66d
--- /dev/null
+++ b/media-libs/babl/babl-0.1.100.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VALA_USE_DEPEND=vapigen
+
+inherit meson gnome2-utils vala
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/babl.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.gimp.org/pub/${PN}/${PV:0:3}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv -sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="A dynamic, any to any, pixel format conversion library"
+HOMEPAGE="https://gegl.org/babl/"
+
+LICENSE="LGPL-3"
+SLOT="0"
+IUSE="introspection lcms vala cpu_flags_x86_avx2 cpu_flags_x86_f16c cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1"
+REQUIRED_USE="vala? ( introspection )"
+
+BDEPEND="
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+RDEPEND="
+ introspection? ( >=dev-libs/gobject-introspection-1.72:= )
+ lcms? ( >=media-libs/lcms-2.13.1:2 )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ gnome2_environment_reset
+}
+
+src_configure() {
+ use vala && vala_setup
+
+ # Automagic rsvg support is just for website generation we do not call,
+ # so we don't need to fix it
+ # w3m is used for dist target thus no issue for us that it is automagically
+ # detected
+ local emesonargs=(
+ -Dwith-docs=false
+ $(meson_use introspection enable-gir)
+ $(meson_use lcms with-lcms)
+ $(meson_use vala enable-vapi)
+ $(meson_use cpu_flags_x86_avx2 enable-avx2)
+ $(meson_use cpu_flags_x86_f16c enable-f16c)
+ $(meson_use cpu_flags_x86_mmx enable-mmx)
+ $(meson_use cpu_flags_x86_sse enable-sse)
+ $(meson_use cpu_flags_x86_sse2 enable-sse2)
+ $(meson_use cpu_flags_x86_sse4_1 enable-sse4_1)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ # Create symlink for backward compatibility. See also bug 871690
+ dosym -r /usr/"$(get_libdir)"/pkgconfig/babl-0.1.pc /usr/"$(get_libdir)"/pkgconfig/babl.pc
+}
diff --git a/media-libs/gegl/Manifest b/media-libs/gegl/Manifest
index 3bd3096e4eeb..1732cd0f2cf5 100644
--- a/media-libs/gegl/Manifest
+++ b/media-libs/gegl/Manifest
@@ -1,6 +1,8 @@
AUX gegl-0.4.40-libraw-0.21.patch 936 BLAKE2B af0030e4d069f75751cbe7d9eef2e2ea4b26c685a13ee1d15939f89993ec21ecb436a1914a724c3308c36b3290061dcf645dcfe39575ad704bc9f5d8b86a4b22 SHA512 5481f781594c868e5191fedb15fdcdd1deb32e7c1db3484c0331531e4f38d5cc34e8a0e8b157feb11d9e6598926a11bd220cfc009bad19379021892af97db836
AUX gegl-0.4.40-strict-prototypes.patch 2555 BLAKE2B a377756270ea1cae19a5d890305c1075144389937294c23ec0cff6454742551b6e3bba72bce97d429c39f56517451597a564a19805d2bc19fc08d675c2a9e558 SHA512 8e8e223414bbf8499b622213ac73bb4566cb6d1b4d982eb63785a79a45038392b36c30cb328a6e89ae218d40813479b0b7fbba6dd980f050055990832e51b2fd
DIST gegl-0.4.40.tar.xz 5784744 BLAKE2B c4466a76ec4f7939161e9ead6980b8a701f3fc459c40c3de3e09caa688aae12fb1f4a9979ca82e95011437f229532ba07012590d00aeb97b610b69968faa454f SHA512 99ace5f1b916e56f31483b60a38f885d0e09652c834122390bba4439d9bb1a137d84770e1518187330c44f3491e53393cfb8802ba9ede20658e1c8122e798888
+DIST gegl-0.4.42.tar.xz 5787100 BLAKE2B 6ae3ec98e72b1057b9d84551f56b675edb511994a73979bfccf559e24d3d636ba915aab10d3b3a1b38989d69c63692d3f312c621819700332c8cc1a4b3e86875 SHA512 29ccd93faa6127b6a9b1180eeba47f1b6f9bc06da8a5c9d68315d7474b77ff19d1084a6f4e7b218666b355329b17bc562f5906a334aa2baf93840d7caa0adf57
EBUILD gegl-0.4.40-r1.ebuild 5056 BLAKE2B 70db81c565564ce7330f36d1435b7abd2c368ac5e967cdb684784537e1752cc2f95453826fdb30d01d93bec5f5a5a94a1fe78cf8e1c57579aef56326d20d0f2d SHA512 3ce0f2aac7baaa4d654d7eaef917ff6c94fa2a4eca16ace26be6423c23facefce5de1e14e82496b9b32c20d12574aab62a3093d328b04308746117b6832b3fcf
-EBUILD gegl-9999.ebuild 4728 BLAKE2B eee2f69b1252c29c77a4b64e5b0e35b13153a579b6e3ca669232877678c935c22a90ef34ec630e30661ed6ad3664725204e07efb339910e0e27847fada96839e SHA512 2cfb14b0357749cb37bc193e2829ab8c2a3e34b18ec412c5f5e4233f57ab52d69dd4a64c736121af9baeb718d5f244406d5cb8f05b4583626abecc7282188467
+EBUILD gegl-0.4.42.ebuild 5036 BLAKE2B 83435d2c777534f13f75db6bbded832d94210624a529dd701854bc42ab5da641d6ba336bde4ff48e0f1f231ab726bd31be32a61d6237e0d642f3c6808d024d8d SHA512 bd752860e8817d5e07b4d3136e4b5c224dc4e70dfd40a7344e366ee2f4e03977bb8ba5e0b972914b072b496c006fb015da554c065d9c2e21538ad4946db3e7b2
+EBUILD gegl-9999.ebuild 4749 BLAKE2B f9c275c0ce0223df7af16be825474e687a6447dc78d19342a3cc90504a76aa3c98d65cf9609e6628e7d9fd650c99251be19c283c2f1fbe7be84571420a7096b6 SHA512 a7f6d89d928ce2e7850bbac75bc4af7d7c7d9e2a06724477c83281a4310418782ea340ec1caf9b7d904bc4dbbc3cae8e759a1031344cf7e5c1ec64801c7e69b8
MISC metadata.xml 761 BLAKE2B fa74f6ff5ae13c05793505d0a27b7bc8587748ad356fa4f3ec5b48bd2919c6197788ab02bdc02fbdbdfe2f376d93222b600e30915e50f4ee4643e973ce054d86 SHA512 8cf93e9c5130a017bb864144e88cd2a4f2eff17b5543514a3ca84066b90e394dda6ee64a5e49d8db3b48eb905df5eef815f3b2689bc2be9772a01dcd2cecad30
diff --git a/media-libs/gegl/gegl-0.4.42.ebuild b/media-libs/gegl/gegl-0.4.42.ebuild
new file mode 100644
index 000000000000..89deb6434997
--- /dev/null
+++ b/media-libs/gegl/gegl-0.4.42.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+# vala and introspection support is broken, bug #468208
+VALA_USE_DEPEND=vapigen
+
+inherit flag-o-matic meson optfeature python-any-r1 toolchain-funcs vala
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gegl.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.gimp.org/pub/${PN}/${PV:0:3}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="A graph based image processing framework"
+HOMEPAGE="https://gegl.org/"
+
+LICENSE="|| ( GPL-3+ LGPL-3 )"
+SLOT="0.4"
+
+IUSE="cairo debug ffmpeg introspection lcms lensfun openexr openmp pdf raw sdl sdl2 svg test tiff umfpack vala v4l webp"
+REQUIRED_USE="
+ svg? ( cairo )
+ test? ( introspection )
+ vala? ( introspection )
+"
+
+RESTRICT="!test? ( test )"
+
+# NOTE: Even current libav 11.4 does not have AV_CODEC_CAP_VARIABLE_FRAME_SIZE
+# so there is no chance to support libav right now (Gentoo bug #567638)
+# If it returns, please check prior GEGL ebuilds for how libav was integrated. Thanks!
+RDEPEND="
+ >=dev-libs/glib-2.68.2:2
+ >=dev-libs/json-glib-1.2.6
+ >=media-libs/babl-0.1.100[introspection?,lcms?,vala?]
+ media-libs/libjpeg-turbo
+ media-libs/libnsgif
+ >=media-libs/libpng-1.6.0:0=
+ >=sys-libs/zlib-1.2.0
+ >=x11-libs/gdk-pixbuf-2.32:2
+ >=x11-libs/pango-1.38.0
+ cairo? ( >=x11-libs/cairo-1.12.2 )
+ ffmpeg? ( media-video/ffmpeg:0= )
+ introspection? ( >=dev-libs/gobject-introspection-1.32:= )
+ lcms? ( >=media-libs/lcms-2.8:2 )
+ lensfun? ( >=media-libs/lensfun-0.2.5 )
+ openexr? ( >=media-libs/openexr-1.6.1:= )
+ pdf? ( >=app-text/poppler-0.71.0[cairo] )
+ raw? ( >=media-libs/libraw-0.15.4:0= )
+ sdl? ( >=media-libs/libsdl-1.2.0 )
+ sdl2? ( >=media-libs/libsdl2-2.0.20 )
+ svg? ( >=gnome-base/librsvg-2.40.6:2 )
+ tiff? ( >=media-libs/tiff-4:= )
+ umfpack? ( sci-libs/umfpack )
+ v4l? ( >=media-libs/libv4l-1.0.1 )
+ webp? ( >=media-libs/libwebp-0.5.0:= )
+"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/gtk-doc-am-1
+ >=sys-devel/gettext-0.19.8
+ >=sys-devel/libtool-2.2
+ virtual/pkgconfig
+ test? ( $(python_gen_any_dep '>=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]') )
+ vala? ( $(vala_depend) )
+"
+
+DOCS=( AUTHORS docs/ChangeLog docs/NEWS.adoc )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.40-strict-prototypes.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ python-any-r1_pkg_setup
+}
+
+python_check_deps() {
+ use test || return 0
+ python_has_version -b ">=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ default
+ # patch executables suffix
+ sed -i -e "s/'gegl'/'gegl-0.4'/" bin/meson.build || die
+ sed -i -e "s/'gegl-imgcmp'/'gegl-imgcmp-0.4'/" tools/meson.build || die
+ sed -i -e "s/gegl-imgcmp/gegl-imgcmp-0.4/" tests/simple/test-exp-combine.sh || die
+ # skip UNEXPECTED PASSED 'matting-levin' test
+ sed -i -e "s/composition_tests += 'matting-levin'//" \
+ -e "s/composition_tests_fail += 'matting-levin'//" tests/compositions/meson.build || die
+
+ # don't require Apple's OpenCL on versions of OSX that don't have it
+ if [[ ${CHOST} == *-darwin* && ${CHOST#*-darwin} -le 9 ]] ; then
+ sed -i -e 's/#ifdef __APPLE__/#if 0/' gegl/opencl/* || die
+ fi
+
+ # fix 'build'headers from *.cl on gentoo-hardened, bug 739816
+ pushd "${S}/opencl/" || die
+ for file in *.cl; do
+ if [[ -f ${file} ]]; then
+ "${EPYTHON}" cltostring.py "${file}" || die
+ fi
+ done
+ popd || die
+}
+
+src_configure() {
+ # Bug #859901
+ filter-lto
+
+ use vala && vala_setup
+
+ local emesonargs=(
+ # - Disable documentation as the generating is bit automagic
+ # if anyone wants to work on it just create bug with patch
+ -Ddocs=false
+ -Dexiv2=disabled
+ -Dgdk-pixbuf=enabled
+ -Djasper=disabled
+ # - libspiro: not in portage main tree
+ -Dlibspiro=disabled
+ -Dlua=disabled
+ -Dmrg=disabled
+ -Dpango=enabled
+ # - Parameter -Dworkshop=false disables any use of Lua, effectivly
+ -Dworkshop=false
+ $(meson_feature cairo)
+ $(meson_feature cairo pangocairo)
+ $(meson_feature ffmpeg libav)
+ $(meson_feature lcms)
+ $(meson_feature lensfun)
+ $(meson_feature openexr)
+ $(meson_feature openmp)
+ $(meson_feature pdf poppler)
+ $(meson_feature raw libraw)
+ $(meson_feature sdl sdl1)
+ $(meson_feature sdl2 sdl2)
+ $(meson_feature svg librsvg)
+ $(meson_feature test pygobject)
+ $(meson_feature tiff libtiff)
+ $(meson_feature umfpack)
+ # - v4l support does not work with our media-libs/libv4l-0.8.9,
+ # upstream bug at https://bugzilla.gnome.org/show_bug.cgi?id=654675
+ $(meson_feature v4l libv4l)
+ $(meson_feature v4l libv4l2)
+ $(meson_feature vala vapigen)
+ $(meson_feature webp)
+ $(meson_use introspection)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ optfeature "'Show Image Graph' under GIMP[debug] menu 'File - Debug'" media-gfx/graphviz
+}
diff --git a/media-libs/gegl/gegl-9999.ebuild b/media-libs/gegl/gegl-9999.ebuild
index 95d76e51ce43..e0cc3086c9da 100644
--- a/media-libs/gegl/gegl-9999.ebuild
+++ b/media-libs/gegl/gegl-9999.ebuild
@@ -62,7 +62,8 @@ RDEPEND="
v4l? ( >=media-libs/libv4l-1.0.1 )
webp? ( >=media-libs/libwebp-0.5.0:= )
"
-DEPEND="${RDEPEND}"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
BDEPEND="
${PYTHON_DEPS}
dev-lang/perl
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
index 84ea05941aad..adbd2b6bf43e 100644
--- a/media-libs/mesa/Manifest
+++ b/media-libs/mesa/Manifest
@@ -2,12 +2,16 @@ DIST mesa-22.2.5.tar.xz 16524904 BLAKE2B 5891e76e818dcd665ebac6dadbf223f38238020
DIST mesa-22.3.2.tar.xz 16988720 BLAKE2B 8fdadd77a7bcac1b0ba6955b452a89cf823650ad3296128b82471888da666a33407e6ea2784ccf3f49c04a34fecfcd6a172372828fd2200e74d7dcf97e9c5938 SHA512 32934dd23cfcd6165c365597d9a469da0b806b72ea98a200f499344c3b47815db3bf78875b4ea766d2d28d9c70b50c1615d2d3fcbfd4769447fe0a9d3b32951f
DIST mesa-22.3.3.tar.xz 17009624 BLAKE2B 2d5381b21268ed616f0adf1f479958492d812ac9f4a5dbe96df0c37ac778fc24f8522bf13a1d8da9c8062b04e642b0929f3a376738c6ccd5442c98d39e241ec5 SHA512 dcf166bc7c80e6ad09337e0188219e5ea4bdc558bc4b4ca35ce30d5421568f6b5328e5508b3175a2696521214e466354d8652ade22468ce448d9f61d5709c8a1
DIST mesa-22.3.5.tar.xz 17069488 BLAKE2B a24e1c93d08e045e9a5d3b4105ed7190c621479494e778411048f96419c2acd9f2cd0278155db23d4bcfcc56cc71fca2602cf3eedac2ae5ce2afe5033a6e8017 SHA512 a4cad9b7e6501678fac279bd88a37e522633c7128afa8df04982f469c930e3557bb1d05b4b0f5ae16704d8d04e50c90a7489943a48861df17dd947704c329b85
+DIST mesa-22.3.6.tar.xz 17099008 BLAKE2B 36928135568129f21c87afd6c43af805096215d5922e52ec56fc8e562a88b45f3d556b285e80139ecb682071b8a6d0699d4a328c10d780c3fd736f7c821e4d01 SHA512 506fc69ace128504fe45b7ca0b6b1d1d2a33837d74bff7ae7310fef5100b162136ca77ee6a50745a5bda270d0b8cb1ee99ecc19190eddd83cc78039bd02b1bb7
DIST mesa-23.0.0-rc3.tar.xz 17427732 BLAKE2B dfa4f77b7e43ed505c6cb00806965fa4a809831888baa270f3f05bccdfa560fbd19d150fca68fba4b7653d284d72dcec6f016eea2ee36de589e5c4b875a121ef SHA512 adad86189ae27eb5cf89d7b6e0626a78f49f5a72cdea0f4eb59d76aae74c657251d07c3142c578e1e13edef73947d4807c25eebf9598b8a0e16a70c584916ce5
DIST mesa-23.0.0-rc4.tar.xz 17440412 BLAKE2B 879619965527a7e80edf05ef7431344590f4d67cc462bbce1db207420d7613e986ac96a504beabafa98cfab743ae18ca6d2d84bc2ae7feacbc11e72fb62a0438 SHA512 463dad021bffd1b6cae8eb540ea0f51da8753e5f5295f5d1ab6398ed6eb140ccef7ba62b458c099cc19a26d6dcb4b620280893425572fae75fe7e880d8e3a403
+DIST mesa-23.0.0.tar.xz 17492236 BLAKE2B f543856c9d85411c86b4ce28cfd412762726c60a3381c7e3f81f70479ff8c01a597279b6a18225b41db51cf5e8786f6955cd3127c8c3244422bc1bca4bc0dfa8 SHA512 127e2759a2a31cacd65a0891719ab7bb4a9188844022b4bccaebbedce9c550b9ccb160ad519178ea0d851c4bcb8f0f56febda248ed2ba82b5ddf804855e4694b
EBUILD mesa-22.2.5.ebuild 12662 BLAKE2B e7fec8b5b563e96173125e559fe4bc8222e59f8371217a32a76768906fbe1a5cc6d13d4830ed37ba7eb8b07689f2d33970533a6db89a9f00926921da98c44fac SHA512 de9088f4d19d360be2516360da5b6fa21f2aa659b856f025917efe68dc5815c7bc3cea6f5d5957f562cc0cc15839fe9226d3a70ed69e90fbdfc043e89cd9e8c2
EBUILD mesa-22.3.2.ebuild 12462 BLAKE2B d43a4976f031cf9de1095665f70d2a4a6973ba29ee101412f088fa6246411aa35d73aebbcdcb24b413d14a7184980ce584b5061d3a626fcfa32049f13fd4f55e SHA512 593dbf8c3343ec14e8505b18f6883d709b22ec2e5b9d4b92dac9f4c7ca6b6dab9bc0ebcfc65eade4b1cb28211b92e73f64f0d4d1788482c7eb9d14804adb35b6
EBUILD mesa-22.3.3.ebuild 12462 BLAKE2B d43a4976f031cf9de1095665f70d2a4a6973ba29ee101412f088fa6246411aa35d73aebbcdcb24b413d14a7184980ce584b5061d3a626fcfa32049f13fd4f55e SHA512 593dbf8c3343ec14e8505b18f6883d709b22ec2e5b9d4b92dac9f4c7ca6b6dab9bc0ebcfc65eade4b1cb28211b92e73f64f0d4d1788482c7eb9d14804adb35b6
EBUILD mesa-22.3.5.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128
+EBUILD mesa-22.3.6.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128
+EBUILD mesa-23.0.0.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128
EBUILD mesa-23.0.0_rc3.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128
EBUILD mesa-23.0.0_rc4.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128
EBUILD mesa-9999.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128
diff --git a/media-libs/mesa/mesa-22.3.6.ebuild b/media-libs/mesa/mesa-22.3.6.ebuild
new file mode 100644
index 000000000000..e85c95eeb1ec
--- /dev/null
+++ b/media-libs/mesa/mesa-22.3.6.ebuild
@@ -0,0 +1,465 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit llvm meson-multilib python-any-r1 linux-info
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
+ inherit git-r3
+else
+ SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+RESTRICT="!test? ( test )"
+
+RADEON_CARDS="r300 r600 radeon radeonsi"
+VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lima nouveau panfrost v3d vc4 virgl vivante vmware"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
+ lm-sensors opencl osmesa +proprietary-codecs selinux
+ test unwind vaapi valgrind vdpau vulkan
+ vulkan-overlay wayland +X xa zink +zstd"
+
+REQUIRED_USE="
+ d3d9? ( || ( video_cards_intel video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) )
+ vulkan? ( video_cards_radeonsi? ( llvm ) )
+ vulkan-overlay? ( vulkan )
+ video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_radeonsi? ( llvm )
+ xa? ( X )
+ zink? ( vulkan )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110"
+RDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
+ llvm? (
+ video_cards_radeonsi? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ video_cards_r600? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ video_cards_radeon? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ )
+ lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
+ opencl? (
+ >=virtual/opencl-3[${MULTILIB_USEDEP}]
+ dev-libs/libclc
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ vaapi? (
+ >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
+ )
+ vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
+ selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
+ ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ )
+ zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+RDEPEND="${RDEPEND}
+ video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
+"
+
+# Please keep the LLVM dependency block separate. Since LLVM is slotted,
+# we need to *really* make sure we're not pulling one than more slot
+# simultaneously.
+#
+# How to use it:
+# 1. List all the working slots (with min versions) in ||, newest first.
+# 2. Update the := to specify *max* version, e.g. < 10.
+# 3. Specify LLVM_MAX_SLOT, e.g. 9.
+LLVM_MAX_SLOT="16"
+LLVM_DEPSTR="
+ || (
+ sys-devel/llvm:16[${MULTILIB_USEDEP}]
+ sys-devel/llvm:15[${MULTILIB_USEDEP}]
+ )
+ <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${MULTILIB_USEDEP}]
+"
+LLVM_DEPSTR_AMDGPU=${LLVM_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
+CLANG_DEPSTR=${LLVM_DEPSTR//llvm/clang}
+CLANG_DEPSTR_AMDGPU=${CLANG_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
+RDEPEND="${RDEPEND}
+ llvm? (
+ opencl? (
+ video_cards_r600? (
+ ${CLANG_DEPSTR_AMDGPU}
+ )
+ !video_cards_r600? (
+ video_cards_radeonsi? (
+ ${CLANG_DEPSTR_AMDGPU}
+ )
+ )
+ !video_cards_r600? (
+ !video_cards_radeonsi? (
+ video_cards_radeon? (
+ ${CLANG_DEPSTR_AMDGPU}
+ )
+ )
+ )
+ !video_cards_r600? (
+ !video_cards_radeon? (
+ !video_cards_radeonsi? (
+ ${CLANG_DEPSTR}
+ )
+ )
+ )
+ )
+ !opencl? (
+ video_cards_r600? (
+ ${LLVM_DEPSTR_AMDGPU}
+ )
+ !video_cards_r600? (
+ video_cards_radeonsi? (
+ ${LLVM_DEPSTR_AMDGPU}
+ )
+ )
+ !video_cards_r600? (
+ !video_cards_radeonsi? (
+ video_cards_radeon? (
+ ${LLVM_DEPSTR_AMDGPU}
+ )
+ )
+ )
+ !video_cards_r600? (
+ !video_cards_radeon? (
+ !video_cards_radeonsi? (
+ ${LLVM_DEPSTR}
+ )
+ )
+ )
+ )
+ )
+"
+unset {LLVM,CLANG}_DEPSTR{,_AMDGPU}
+
+DEPEND="${RDEPEND}
+ video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] )
+ valgrind? ( dev-util/valgrind )
+ wayland? ( >=dev-libs/wayland-protocols-1.24 )
+ X? (
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ opencl? (
+ >=sys-devel/gcc-4.6
+ )
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
+ vulkan? ( dev-util/glslang )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+S="${WORKDIR}/${MY_P}"
+EGIT_CHECKOUT_DIR=${S}
+
+QA_WX_LOAD="
+x86? (
+ usr/lib*/libglapi.so.0.0.0
+ usr/lib*/libGLESv1_CM.so.1.1.0
+ usr/lib*/libGLESv2.so.2.0.0
+ usr/lib*/libGL.so.1.2.0
+ usr/lib*/libOSMesa.so.8.0.0
+ usr/lib/libGLX_mesa.so.0.0.0
+)"
+
+llvm_check_deps() {
+ local flags=${MULTILIB_USEDEP}
+ if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi
+ then
+ flags+=",llvm_targets_AMDGPU(-)"
+ fi
+
+ if use opencl; then
+ has_version "sys-devel/clang:${LLVM_SLOT}[${flags}]" || return 1
+ fi
+ has_version "sys-devel/llvm:${LLVM_SLOT}[${flags}]"
+}
+
+pkg_pretend() {
+ if use vulkan; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_v3d; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
+ fi
+ fi
+
+ if use opencl; then
+ if ! use video_cards_r600 &&
+ ! use video_cards_radeonsi; then
+ ewarn "Ignoring USE=opencl since VIDEO_CARDS does not contain r600 or radeonsi"
+ fi
+ fi
+
+ if use vaapi; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_nouveau; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
+ fi
+ fi
+
+ if use vdpau; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_r300 &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_nouveau; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
+ fi
+ fi
+
+ if use xa; then
+ if ! use video_cards_freedreno &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_vmware; then
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
+ fi
+ fi
+
+ if ! use llvm; then
+ use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
+ fi
+
+ if use osmesa && ! use llvm; then
+ ewarn "OSMesa will be slow without enabling USE=llvm"
+ fi
+}
+
+python_check_deps() {
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ # warning message for bug 459306
+ if use llvm && has_version sys-devel/llvm[!debug=]; then
+ ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
+ ewarn "detected! This can cause problems. For details, see bug 459306."
+ fi
+
+ if use video_cards_intel ||
+ use video_cards_radeonsi; then
+ if kernel_is -ge 5 11 3; then
+ CONFIG_CHECK="~KCMP"
+ elif kernel_is -ge 5 11; then
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ elif kernel_is -ge 5 10 20; then
+ CONFIG_CHECK="~KCMP"
+ else
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ fi
+ linux-info_pkg_setup
+ fi
+
+ if use llvm; then
+ llvm_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local emesonargs=()
+
+ local platforms
+ use X && platforms+="x11"
+ use wayland && platforms+=",wayland"
+ emesonargs+=(-Dplatforms=${platforms#,})
+
+ if use video_cards_intel ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_use d3d9 gallium-nine))
+ else
+ emesonargs+=(-Dgallium-nine=false)
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_nouveau; then
+ emesonargs+=($(meson_feature vaapi gallium-va))
+ use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
+ else
+ emesonargs+=(-Dgallium-va=disabled)
+ fi
+
+ if use video_cards_d3d12; then
+ emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_nouveau; then
+ emesonargs+=($(meson_feature vdpau gallium-vdpau))
+ else
+ emesonargs+=(-Dgallium-vdpau=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_feature xa gallium-xa))
+ else
+ emesonargs+=(-Dgallium-xa=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_lima ||
+ use video_cards_panfrost ||
+ use video_cards_v3d ||
+ use video_cards_vc4 ||
+ use video_cards_vivante; then
+ gallium_enable -- kmsro
+ fi
+
+ gallium_enable -- swrast
+ gallium_enable video_cards_freedreno freedreno
+ gallium_enable video_cards_intel crocus i915 iris
+ gallium_enable video_cards_lima lima
+ gallium_enable video_cards_d3d12 d3d12
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_panfrost panfrost
+ gallium_enable video_cards_v3d v3d
+ gallium_enable video_cards_vc4 vc4
+ gallium_enable video_cards_virgl virgl
+ gallium_enable video_cards_vivante etnaviv
+ gallium_enable video_cards_vmware svga
+ gallium_enable zink zink
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 && \
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+
+ # opencl stuff
+ emesonargs+=(
+ -Dgallium-opencl="$(usex opencl icd disabled)"
+ )
+
+ if use vulkan; then
+ vulkan_enable video_cards_freedreno freedreno
+ vulkan_enable video_cards_intel intel
+ vulkan_enable video_cards_d3d12 microsoft-experimental
+ vulkan_enable video_cards_radeonsi amd
+ vulkan_enable video_cards_v3d broadcom
+ fi
+
+ driver_list() {
+ local drivers="$(sort -u <<< "${1// /$'\n'}")"
+ echo "${drivers//$'\n'/,}"
+ }
+
+ local vulkan_layers
+ use vulkan && vulkan_layers+="device-select"
+ use vulkan-overlay && vulkan_layers+=",overlay"
+ emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
+
+ # In LLVM 16, we've switched to building LLVM with EH/RTTI disabled
+ # to match upstream defaults. Mesa requires being built the same way.
+ # https://bugs.gentoo.org/883955
+ if [[ ${LLVM_SLOT} -ge 16 ]]; then
+ emesonargs+=(
+ -Dcpp_rtti=false
+ )
+ fi
+
+ emesonargs+=(
+ $(meson_use test build-tests)
+ -Dglx=$(usex X dri disabled)
+ -Dshared-glapi=enabled
+ -Ddri3=enabled
+ -Degl=enabled
+ -Dgbm=enabled
+ -Dglvnd=true
+ $(meson_feature gles1)
+ $(meson_feature gles2)
+ $(meson_feature llvm)
+ $(meson_feature lm-sensors lmsensors)
+ $(meson_use osmesa)
+ $(meson_use selinux)
+ $(meson_feature unwind libunwind)
+ $(meson_feature zstd)
+ $(meson_use cpu_flags_x86_sse2 sse2)
+ -Dvalgrind=$(usex valgrind auto disabled)
+ -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "")
+ -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+ -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+ --buildtype $(usex debug debug plain)
+ -Db_ndebug=$(usex debug false true)
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ meson_src_test -t 100
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+gallium_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ GALLIUM_DRIVERS+=("$@")
+ fi
+}
+
+vulkan_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ VULKAN_DRIVERS+=("$@")
+ fi
+}
diff --git a/media-libs/mesa/mesa-23.0.0.ebuild b/media-libs/mesa/mesa-23.0.0.ebuild
new file mode 100644
index 000000000000..e85c95eeb1ec
--- /dev/null
+++ b/media-libs/mesa/mesa-23.0.0.ebuild
@@ -0,0 +1,465 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit llvm meson-multilib python-any-r1 linux-info
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
+ inherit git-r3
+else
+ SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+RESTRICT="!test? ( test )"
+
+RADEON_CARDS="r300 r600 radeon radeonsi"
+VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lima nouveau panfrost v3d vc4 virgl vivante vmware"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
+ lm-sensors opencl osmesa +proprietary-codecs selinux
+ test unwind vaapi valgrind vdpau vulkan
+ vulkan-overlay wayland +X xa zink +zstd"
+
+REQUIRED_USE="
+ d3d9? ( || ( video_cards_intel video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) )
+ vulkan? ( video_cards_radeonsi? ( llvm ) )
+ vulkan-overlay? ( vulkan )
+ video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_radeonsi? ( llvm )
+ xa? ( X )
+ zink? ( vulkan )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110"
+RDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
+ llvm? (
+ video_cards_radeonsi? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ video_cards_r600? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ video_cards_radeon? (
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ )
+ lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
+ opencl? (
+ >=virtual/opencl-3[${MULTILIB_USEDEP}]
+ dev-libs/libclc
+ virtual/libelf:0=[${MULTILIB_USEDEP}]
+ )
+ vaapi? (
+ >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
+ )
+ vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
+ selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
+ ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ )
+ zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+for card in ${RADEON_CARDS}; do
+ RDEPEND="${RDEPEND}
+ video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
+ "
+done
+RDEPEND="${RDEPEND}
+ video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
+"
+
+# Please keep the LLVM dependency block separate. Since LLVM is slotted,
+# we need to *really* make sure we're not pulling one than more slot
+# simultaneously.
+#
+# How to use it:
+# 1. List all the working slots (with min versions) in ||, newest first.
+# 2. Update the := to specify *max* version, e.g. < 10.
+# 3. Specify LLVM_MAX_SLOT, e.g. 9.
+LLVM_MAX_SLOT="16"
+LLVM_DEPSTR="
+ || (
+ sys-devel/llvm:16[${MULTILIB_USEDEP}]
+ sys-devel/llvm:15[${MULTILIB_USEDEP}]
+ )
+ <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${MULTILIB_USEDEP}]
+"
+LLVM_DEPSTR_AMDGPU=${LLVM_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
+CLANG_DEPSTR=${LLVM_DEPSTR//llvm/clang}
+CLANG_DEPSTR_AMDGPU=${CLANG_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
+RDEPEND="${RDEPEND}
+ llvm? (
+ opencl? (
+ video_cards_r600? (
+ ${CLANG_DEPSTR_AMDGPU}
+ )
+ !video_cards_r600? (
+ video_cards_radeonsi? (
+ ${CLANG_DEPSTR_AMDGPU}
+ )
+ )
+ !video_cards_r600? (
+ !video_cards_radeonsi? (
+ video_cards_radeon? (
+ ${CLANG_DEPSTR_AMDGPU}
+ )
+ )
+ )
+ !video_cards_r600? (
+ !video_cards_radeon? (
+ !video_cards_radeonsi? (
+ ${CLANG_DEPSTR}
+ )
+ )
+ )
+ )
+ !opencl? (
+ video_cards_r600? (
+ ${LLVM_DEPSTR_AMDGPU}
+ )
+ !video_cards_r600? (
+ video_cards_radeonsi? (
+ ${LLVM_DEPSTR_AMDGPU}
+ )
+ )
+ !video_cards_r600? (
+ !video_cards_radeonsi? (
+ video_cards_radeon? (
+ ${LLVM_DEPSTR_AMDGPU}
+ )
+ )
+ )
+ !video_cards_r600? (
+ !video_cards_radeon? (
+ !video_cards_radeonsi? (
+ ${LLVM_DEPSTR}
+ )
+ )
+ )
+ )
+ )
+"
+unset {LLVM,CLANG}_DEPSTR{,_AMDGPU}
+
+DEPEND="${RDEPEND}
+ video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] )
+ valgrind? ( dev-util/valgrind )
+ wayland? ( >=dev-libs/wayland-protocols-1.24 )
+ X? (
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ opencl? (
+ >=sys-devel/gcc-4.6
+ )
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
+ vulkan? ( dev-util/glslang )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+S="${WORKDIR}/${MY_P}"
+EGIT_CHECKOUT_DIR=${S}
+
+QA_WX_LOAD="
+x86? (
+ usr/lib*/libglapi.so.0.0.0
+ usr/lib*/libGLESv1_CM.so.1.1.0
+ usr/lib*/libGLESv2.so.2.0.0
+ usr/lib*/libGL.so.1.2.0
+ usr/lib*/libOSMesa.so.8.0.0
+ usr/lib/libGLX_mesa.so.0.0.0
+)"
+
+llvm_check_deps() {
+ local flags=${MULTILIB_USEDEP}
+ if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi
+ then
+ flags+=",llvm_targets_AMDGPU(-)"
+ fi
+
+ if use opencl; then
+ has_version "sys-devel/clang:${LLVM_SLOT}[${flags}]" || return 1
+ fi
+ has_version "sys-devel/llvm:${LLVM_SLOT}[${flags}]"
+}
+
+pkg_pretend() {
+ if use vulkan; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_v3d; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
+ fi
+ fi
+
+ if use opencl; then
+ if ! use video_cards_r600 &&
+ ! use video_cards_radeonsi; then
+ ewarn "Ignoring USE=opencl since VIDEO_CARDS does not contain r600 or radeonsi"
+ fi
+ fi
+
+ if use vaapi; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_nouveau; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
+ fi
+ fi
+
+ if use vdpau; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_r300 &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_nouveau; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
+ fi
+ fi
+
+ if use xa; then
+ if ! use video_cards_freedreno &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_vmware; then
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
+ fi
+ fi
+
+ if ! use llvm; then
+ use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
+ fi
+
+ if use osmesa && ! use llvm; then
+ ewarn "OSMesa will be slow without enabling USE=llvm"
+ fi
+}
+
+python_check_deps() {
+ python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ # warning message for bug 459306
+ if use llvm && has_version sys-devel/llvm[!debug=]; then
+ ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
+ ewarn "detected! This can cause problems. For details, see bug 459306."
+ fi
+
+ if use video_cards_intel ||
+ use video_cards_radeonsi; then
+ if kernel_is -ge 5 11 3; then
+ CONFIG_CHECK="~KCMP"
+ elif kernel_is -ge 5 11; then
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ elif kernel_is -ge 5 10 20; then
+ CONFIG_CHECK="~KCMP"
+ else
+ CONFIG_CHECK="~CHECKPOINT_RESTORE"
+ fi
+ linux-info_pkg_setup
+ fi
+
+ if use llvm; then
+ llvm_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local emesonargs=()
+
+ local platforms
+ use X && platforms+="x11"
+ use wayland && platforms+=",wayland"
+ emesonargs+=(-Dplatforms=${platforms#,})
+
+ if use video_cards_intel ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_use d3d9 gallium-nine))
+ else
+ emesonargs+=(-Dgallium-nine=false)
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_nouveau; then
+ emesonargs+=($(meson_feature vaapi gallium-va))
+ use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
+ else
+ emesonargs+=(-Dgallium-va=disabled)
+ fi
+
+ if use video_cards_d3d12; then
+ emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_nouveau; then
+ emesonargs+=($(meson_feature vdpau gallium-vdpau))
+ else
+ emesonargs+=(-Dgallium-vdpau=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_feature xa gallium-xa))
+ else
+ emesonargs+=(-Dgallium-xa=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_lima ||
+ use video_cards_panfrost ||
+ use video_cards_v3d ||
+ use video_cards_vc4 ||
+ use video_cards_vivante; then
+ gallium_enable -- kmsro
+ fi
+
+ gallium_enable -- swrast
+ gallium_enable video_cards_freedreno freedreno
+ gallium_enable video_cards_intel crocus i915 iris
+ gallium_enable video_cards_lima lima
+ gallium_enable video_cards_d3d12 d3d12
+ gallium_enable video_cards_nouveau nouveau
+ gallium_enable video_cards_panfrost panfrost
+ gallium_enable video_cards_v3d v3d
+ gallium_enable video_cards_vc4 vc4
+ gallium_enable video_cards_virgl virgl
+ gallium_enable video_cards_vivante etnaviv
+ gallium_enable video_cards_vmware svga
+ gallium_enable zink zink
+
+ gallium_enable video_cards_r300 r300
+ gallium_enable video_cards_r600 r600
+ gallium_enable video_cards_radeonsi radeonsi
+ if ! use video_cards_r300 && \
+ ! use video_cards_r600; then
+ gallium_enable video_cards_radeon r300 r600
+ fi
+
+ # opencl stuff
+ emesonargs+=(
+ -Dgallium-opencl="$(usex opencl icd disabled)"
+ )
+
+ if use vulkan; then
+ vulkan_enable video_cards_freedreno freedreno
+ vulkan_enable video_cards_intel intel
+ vulkan_enable video_cards_d3d12 microsoft-experimental
+ vulkan_enable video_cards_radeonsi amd
+ vulkan_enable video_cards_v3d broadcom
+ fi
+
+ driver_list() {
+ local drivers="$(sort -u <<< "${1// /$'\n'}")"
+ echo "${drivers//$'\n'/,}"
+ }
+
+ local vulkan_layers
+ use vulkan && vulkan_layers+="device-select"
+ use vulkan-overlay && vulkan_layers+=",overlay"
+ emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
+
+ # In LLVM 16, we've switched to building LLVM with EH/RTTI disabled
+ # to match upstream defaults. Mesa requires being built the same way.
+ # https://bugs.gentoo.org/883955
+ if [[ ${LLVM_SLOT} -ge 16 ]]; then
+ emesonargs+=(
+ -Dcpp_rtti=false
+ )
+ fi
+
+ emesonargs+=(
+ $(meson_use test build-tests)
+ -Dglx=$(usex X dri disabled)
+ -Dshared-glapi=enabled
+ -Ddri3=enabled
+ -Degl=enabled
+ -Dgbm=enabled
+ -Dglvnd=true
+ $(meson_feature gles1)
+ $(meson_feature gles2)
+ $(meson_feature llvm)
+ $(meson_feature lm-sensors lmsensors)
+ $(meson_use osmesa)
+ $(meson_use selinux)
+ $(meson_feature unwind libunwind)
+ $(meson_feature zstd)
+ $(meson_use cpu_flags_x86_sse2 sse2)
+ -Dvalgrind=$(usex valgrind auto disabled)
+ -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "")
+ -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+ -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+ --buildtype $(usex debug debug plain)
+ -Db_ndebug=$(usex debug false true)
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ meson_src_test -t 100
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+gallium_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ GALLIUM_DRIVERS+=("$@")
+ fi
+}
+
+vulkan_enable() {
+ if [[ $1 == -- ]] || use $1; then
+ shift
+ VULKAN_DRIVERS+=("$@")
+ fi
+}