diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-12-17 06:30:18 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-12-17 06:30:18 +0000 |
commit | 066666b8767b78231b90d9b3ffc8169fbfe1ec7c (patch) | |
tree | 20e354a744ae4e30a0d562773c34e562077c7d62 /media-libs/mesa | |
parent | 2f50f3ca1d346a1f74054f124adb11136068b2b1 (diff) |
gentoo auto-resync : 17:12:2024 - 06:30:17
Diffstat (limited to 'media-libs/mesa')
-rw-r--r-- | media-libs/mesa/Manifest | 17 | ||||
-rw-r--r-- | media-libs/mesa/files/24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch | 85 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.2.3-r1.ebuild | 497 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.2.4-r1.ebuild | 497 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.2.5-r1.ebuild | 497 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.2.6-r2.ebuild | 501 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.2.7.ebuild | 497 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.2.8.ebuild | 2 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.3.0.ebuild | 492 | ||||
-rw-r--r-- | media-libs/mesa/mesa-24.3.0_rc2.ebuild | 492 |
10 files changed, 2 insertions, 3575 deletions
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest index 6afabbb02510..1a453a5a19fd 100644 --- a/media-libs/mesa/Manifest +++ b/media-libs/mesa/Manifest @@ -1,13 +1,5 @@ -AUX 24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch 3329 BLAKE2B e388372041292e744971d1af24a54a900a6050c71d2cd330bd041be838eec4e4afa3abbee33fc1108a8e54159b5c5865f454bf4ed0830563a8cc2c5b81b74ab6 SHA512 3ceb474d6750ace4c93db12d3f33d83fae541a2508cf5eb8a38f486d954f4c279181848a9981cb49a9e73bafb521b58be8ca72a4443cf8802c970adc02a479d0 DIST mesa-24.1.7.tar.xz 29206724 BLAKE2B b3102fcf96c032d07826186c2d60dc93e5c17b26f725c20cf1e402d1cfbaaba9809bff7a04d3df0179d2ec8606bc9fb391761d17a148671b9270cf2aaca0324d SHA512 890f6387963bbb86a85305ea963cca326a3b3f8f8758ae2082fd62c52df77c2883a359341e91f36614fea59219394ef78f799a334080699a0bb71d984a68cb01 -DIST mesa-24.2.3.tar.xz 29465732 BLAKE2B 3c480bd9f5948ae4d66a833cfc059b1b872fca989296a070deaa46aeb72298eaca6a3fa9d13574859623cec4a6af978f44d2c9562b9757be2257364c27600be6 SHA512 7a1ace23568d1907b778a2859f97c8988a414ba74e02e1fb5af6f95f768e1b1a2dfdaf412b0d655678ed915d28273953fd1236ebcd87553a1880f1a7f3ea4d44 -DIST mesa-24.2.4.tar.xz 29510040 BLAKE2B a0a977e5032e1c9a5b59dc9212d50b6f023fb9d42d325e692a3c680e77a06e2ccd66843b9eaeeadbf3614b65798c5c4649fb0bb74f134334e662ee9dd47ac21f SHA512 f0f1c23591cce85966efaf3988afdb14b64ceb7216b3994e8fc50e8ddc62c35a84b2013285c84080d963aec2afb94dac345f5f00e7ccf9ae7e9ab3f5b9ba0bcb -DIST mesa-24.2.5.tar.xz 29534380 BLAKE2B 6ea7303b7e762a3f32ebbccd53a47f28ab6b6919850f55fffc5be10ab2873a206d9f78ef3a2c32c55f6ab94d2886104b9c96f2140fdb7d4c1ac67650d3521441 SHA512 9f202907dc4e7f1063c32882b2c9a3ab34c4d83de1c9ef4dd171043b87b110bfd7e7a3d6e3632ed768e024ef18b97181c4f6bc377cc7d3eb609dd96ebf6a783e -DIST mesa-24.2.6.tar.xz 29568568 BLAKE2B e49fc85c8a61315d86b253b7dd8052a1e46ea99d5188cf930c833317898c51b7b413286f57a53af3c2b1bb147ce2541ea80279ee9e237deeb499729bb7fd8381 SHA512 830a40d38200ff8b2a6bd949e1ac3bf4edc887a10d9aa92285007d138079e1fafb3568f658e777e7894e95b5ce75d2bd6836b0473fa70d32270005e482b1a2da -DIST mesa-24.2.7.tar.xz 29589968 BLAKE2B eb1b0285e14e77c3140275b322ff084fca74a1048e6df38f4b14cb03ed7fc436897f7b33d107d1e262d9d4944229fb1e85d02e731c645ead5a7b269dec9334b7 SHA512 8776b45abe5e845c587c0fa9feb22d89f07457265ff63175fb42681ce56dff97b0e163d9e9ac80555ee04decb78754e7331e1015d95c5f84ca3c2549663291dd DIST mesa-24.2.8.tar.xz 29622208 BLAKE2B f71a1663f9637883b4c442ba8c68f7960c48c4f8a02412738404386bfb962052923b40c1412198bd29f2ab6cf11654f8c63d4c14a400b89d99229680bc96eaae SHA512 3aa1051a72e1428e42f9537d8f6a26f2ebddc78894e0f71d2cdcc9ed555ea4d6489ad8e74d4c59b8cdf7ea1c629fa725ac2fe1e385db5d3a582d8fe8186392d6 -DIST mesa-24.3.0-rc2.tar.xz 30490544 BLAKE2B 043ca1c90d87ec93788fea1c3911e8703cdd2aa8fbf14eafd3b56be1a8b5cdc25bc6c1fec5adeff10af937e2b2d584c1b44c7dda130c78654f390f4cdfc08db8 SHA512 6f47ad5a7d0d5d3cfb933275e566531c176078edffc582c638678ee5fab6cbece9e66ae92c099e8c494a79883b6728cb7deca9297c8d9b6095b7089401d64f1f -DIST mesa-24.3.0.tar.xz 30566304 BLAKE2B 43977028609e1be35849e5b72d5cdfbe2052ce959ec43dd649fbf2f3d0f262fbbc3f5194a56a33463eb0b0de8f7f32e4fd2b0dc06cc2f83b27d01bca611f26ec SHA512 20168ae4c278776a60d5febf53b3367cf08bffffb40ef2054821e68d7a8c37a07871d097ab17555f41a4fe716f0de7df95ad7d452b1ed57db6527838eb839ba4 DIST mesa-24.3.1.tar.xz 30611028 BLAKE2B d3efc322388e29f651b15b0396fef8a6acc0cf24881165900845e429dd6cb53d51511f174d6a4017f48962b764b9a42f069825196af9f4ca969a4b46e1108a0e SHA512 deecf58e2c31e35d7c1943bb21184b52133a83fa472925128d3a03a57b26c92a476a6d3f7140ef2b78475b66affdabf97436ee8b324be204ce5bb940f78119c8 DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f @@ -17,14 +9,7 @@ DIST syn-2.0.39.crate 244129 BLAKE2B 2cff6626624d03f70f1662af45a8644c28a9f92e2df DIST syn-2.0.68.crate 265035 BLAKE2B 8bc6f68ed286bea617a2cfaf3949bb699d3a0466faeca735314a51596ce950e4ee57eda88154bd562c1728cfaff4cdb5bc1ba701b9d47a9c50d4c4f011bee975 SHA512 7b781f8ea2b0d01c06f47d165da99cd96e3b44a33de1d77c78a2cb37ebe3f8304f426ba3d0d1cf766241dcc0537908774504df7d455d63bf89ec22ac0499d372 DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 EBUILD mesa-24.1.7-r1.ebuild 13769 BLAKE2B cbdd0130cb55c039d1d81d67eeb2b0b8493fe25db50f938f08e2e437b3e0b0a9d50d2c6250bee66f081b7a3577da3ffab810ba636e8ebfe450a7e7c7b8dc8a7b SHA512 dd1de43ecd26536b96d753a479d509667382243ed536edd3c181207bd4b7fc1528d7ab53a3d491659a0866d4b9d4c90f06e5c5a61f4e3353a0f3fbb4ec81d90e -EBUILD mesa-24.2.3-r1.ebuild 13702 BLAKE2B 58bc8cbf7664b6e98f6596468ea890ce14e711974a4a22b5d8b54addd33e07b69879649e8fb6519e9ce26637058a573e6757fa5ea591e26ed6e843c68325c8d8 SHA512 60da25cb25ce0c816f9f4d1efda8f7e8278b977c9b97a83b7a12ad4bb61bce5627e053e34392d91c0370e559c219a80065d782884a333f676f383b4ab40c37e5 -EBUILD mesa-24.2.4-r1.ebuild 13702 BLAKE2B 58bc8cbf7664b6e98f6596468ea890ce14e711974a4a22b5d8b54addd33e07b69879649e8fb6519e9ce26637058a573e6757fa5ea591e26ed6e843c68325c8d8 SHA512 60da25cb25ce0c816f9f4d1efda8f7e8278b977c9b97a83b7a12ad4bb61bce5627e053e34392d91c0370e559c219a80065d782884a333f676f383b4ab40c37e5 -EBUILD mesa-24.2.5-r1.ebuild 13702 BLAKE2B 58bc8cbf7664b6e98f6596468ea890ce14e711974a4a22b5d8b54addd33e07b69879649e8fb6519e9ce26637058a573e6757fa5ea591e26ed6e843c68325c8d8 SHA512 60da25cb25ce0c816f9f4d1efda8f7e8278b977c9b97a83b7a12ad4bb61bce5627e053e34392d91c0370e559c219a80065d782884a333f676f383b4ab40c37e5 -EBUILD mesa-24.2.6-r2.ebuild 13786 BLAKE2B b3f7f042643724e6be4fcffbb7670629247b1bef83909d9c7dfbb614487b86a9c1ab9293c25c05dcdbf41831f1ca9c96c82fd29247aba7a0abb60048ed0a7cc5 SHA512 331bcbd9c9a9e8a7f0a05dda77acd7bb5fef47a159fcd7feba361c7e2d421b65c1d8a7aaf5dac5b38b557439528a67ea36412fee5bbb6935df1e373f66f1444b -EBUILD mesa-24.2.7.ebuild 13702 BLAKE2B 58bc8cbf7664b6e98f6596468ea890ce14e711974a4a22b5d8b54addd33e07b69879649e8fb6519e9ce26637058a573e6757fa5ea591e26ed6e843c68325c8d8 SHA512 60da25cb25ce0c816f9f4d1efda8f7e8278b977c9b97a83b7a12ad4bb61bce5627e053e34392d91c0370e559c219a80065d782884a333f676f383b4ab40c37e5 -EBUILD mesa-24.2.8.ebuild 13702 BLAKE2B 58bc8cbf7664b6e98f6596468ea890ce14e711974a4a22b5d8b54addd33e07b69879649e8fb6519e9ce26637058a573e6757fa5ea591e26ed6e843c68325c8d8 SHA512 60da25cb25ce0c816f9f4d1efda8f7e8278b977c9b97a83b7a12ad4bb61bce5627e053e34392d91c0370e559c219a80065d782884a333f676f383b4ab40c37e5 -EBUILD mesa-24.3.0.ebuild 13530 BLAKE2B b904449f3bfcec35b69fddff80d21700ae036de68a1aabe9ab4667bd5e6af770ae509695314b09aba889085f0245697cd44c5e6da6daf6093e1cd1b9a71ed11e SHA512 4a8a3dc06d41b5b12c4881dac86cc9f88aa0273bb9933410228fbd52e33e440082617865498b33d34b28d02a20ef6afa38d4dba1862db3c242f59ffcf33c764b -EBUILD mesa-24.3.0_rc2.ebuild 13530 BLAKE2B b904449f3bfcec35b69fddff80d21700ae036de68a1aabe9ab4667bd5e6af770ae509695314b09aba889085f0245697cd44c5e6da6daf6093e1cd1b9a71ed11e SHA512 4a8a3dc06d41b5b12c4881dac86cc9f88aa0273bb9933410228fbd52e33e440082617865498b33d34b28d02a20ef6afa38d4dba1862db3c242f59ffcf33c764b +EBUILD mesa-24.2.8.ebuild 13699 BLAKE2B 956b9d57da134d5fb20a2699212694ae5c360c7d630608e71a2c5c087664194d9d75ebb3dbb7ac7181f503dc4b968b1fc5197aa4bdbc8c5c8287bc8f1bb7d19e SHA512 966abeda9bee3c6983e2b3720946f20504ffeae797e5fe3c0661e5b0f223df5a40d86478fd183fde868e48f882d0799dbe58e75fa40d8f58f29e075d99c7444d EBUILD mesa-24.3.1.ebuild 13530 BLAKE2B b904449f3bfcec35b69fddff80d21700ae036de68a1aabe9ab4667bd5e6af770ae509695314b09aba889085f0245697cd44c5e6da6daf6093e1cd1b9a71ed11e SHA512 4a8a3dc06d41b5b12c4881dac86cc9f88aa0273bb9933410228fbd52e33e440082617865498b33d34b28d02a20ef6afa38d4dba1862db3c242f59ffcf33c764b EBUILD mesa-9999.ebuild 13530 BLAKE2B b904449f3bfcec35b69fddff80d21700ae036de68a1aabe9ab4667bd5e6af770ae509695314b09aba889085f0245697cd44c5e6da6daf6093e1cd1b9a71ed11e SHA512 4a8a3dc06d41b5b12c4881dac86cc9f88aa0273bb9933410228fbd52e33e440082617865498b33d34b28d02a20ef6afa38d4dba1862db3c242f59ffcf33c764b MISC metadata.xml 1303 BLAKE2B 348e84a15156bd8ae4634c1866f83f1b283b77f8478e66e57dd3f047a6346d1cc67a7c808ce159b82d292dfab62e8b6c4d17cefcae7aea6fa38739667947258b SHA512 448c3d73ded90117f38cec7c80eead4bdac1599c563798c91c96bca8543b9db2e5c2a06f26f9b7496af085a964aff51ed8b0882aa88f18404b64447de2f65598 diff --git a/media-libs/mesa/files/24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch b/media-libs/mesa/files/24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch deleted file mode 100644 index a0d3ef1af912..000000000000 --- a/media-libs/mesa/files/24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch +++ /dev/null @@ -1,85 +0,0 @@ -https://bugs.gentoo.org/939429 - -From e1098310da6b9fa7e66dc3fe382ae08d88fd1352 Mon Sep 17 00:00:00 2001 -From: Benjamin Herrenschmidt <benh@kernel.crashing.org> -Date: Mon, 4 Nov 2024 17:45:45 +1100 -Subject: [PATCH] dril: Fixup order of pixel formats in drilConfigs - -Having the RGB* formats before the BGR* formats in the table causes -problems where under some circumstances, some applications end up -with the wrong colors. - -The repro case for me is: Xvnc + mutter + chromium - -There was an existing comment in dri_fill_in_modes() which explained -the problem. This was lost when dril_target.c was created. - -Fixes: ec7afd2c24c ("dril: rework config creation") -Fixes: 3de62b2f9a6 ("gallium/dril: Compatibility stub for the legacy DRI loader interface") - -Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31950> ---- - src/gallium/targets/dril/dril_target.c | 36 +++++++++++++++++++------- - 1 file changed, 27 insertions(+), 9 deletions(-) - -diff --git ./src/gallium/targets/dril/dril_target.c ./src/gallium/targets/dril/dril_target.c -index 672d50a4182..583728e4093 100644 ---- ./src/gallium/targets/dril/dril_target.c -+++ ./src/gallium/targets/dril/dril_target.c -@@ -47,25 +47,43 @@ - CONFIG_ZS(color, PIPE_FORMAT_Z16_UNORM), \ - CONFIG_ZS(color, PIPE_FORMAT_NONE) \ - -+/* -+ * (copy of a comment in dri_screen.c:dri_fill_in_modes()) -+ * -+ * The 32-bit RGBA format must not precede the 32-bit BGRA format. -+ * Likewise for RGBX and BGRX. Otherwise, the GLX client and the GLX -+ * server may disagree on which format the GLXFBConfig represents, -+ * resulting in swapped color channels. -+ * -+ * The problem, as of 2017-05-30: -+ * When matching a GLXFBConfig to a __DRIconfig, GLX ignores the channel -+ * order and chooses the first __DRIconfig with the expected channel -+ * sizes. Specifically, GLX compares the GLXFBConfig's and __DRIconfig's -+ * __DRI_ATTRIB_{CHANNEL}_SIZE but ignores __DRI_ATTRIB_{CHANNEL}_MASK. -+ * -+ * EGL does not suffer from this problem. It correctly compares the -+ * channel masks when matching EGLConfig to __DRIconfig. -+ */ -+ - static const struct gl_config drilConfigs[] = { -- CONFIG(PIPE_FORMAT_R8G8B8A8_UNORM), -- CONFIG(PIPE_FORMAT_R8G8B8X8_UNORM), - CONFIG(PIPE_FORMAT_B8G8R8A8_UNORM), - CONFIG(PIPE_FORMAT_B8G8R8X8_UNORM), -- CONFIG(PIPE_FORMAT_R10G10B10A2_UNORM), -- CONFIG(PIPE_FORMAT_R10G10B10X2_UNORM), -+ CONFIG(PIPE_FORMAT_R8G8B8A8_UNORM), -+ CONFIG(PIPE_FORMAT_R8G8B8X8_UNORM), - CONFIG(PIPE_FORMAT_B10G10R10A2_UNORM), - CONFIG(PIPE_FORMAT_B10G10R10X2_UNORM), -- CONFIG(PIPE_FORMAT_R5G6B5_UNORM), -- CONFIG(PIPE_FORMAT_R5G5B5A1_UNORM), -- CONFIG(PIPE_FORMAT_R5G5B5X1_UNORM), -- CONFIG(PIPE_FORMAT_R4G4B4A4_UNORM), -- CONFIG(PIPE_FORMAT_R4G4B4X4_UNORM), -+ CONFIG(PIPE_FORMAT_R10G10B10A2_UNORM), -+ CONFIG(PIPE_FORMAT_R10G10B10X2_UNORM), - CONFIG(PIPE_FORMAT_B5G6R5_UNORM), - CONFIG(PIPE_FORMAT_B5G5R5A1_UNORM), - CONFIG(PIPE_FORMAT_B5G5R5X1_UNORM), - CONFIG(PIPE_FORMAT_B4G4R4A4_UNORM), - CONFIG(PIPE_FORMAT_B4G4R4X4_UNORM), -+ CONFIG(PIPE_FORMAT_R5G6B5_UNORM), -+ CONFIG(PIPE_FORMAT_R5G5B5A1_UNORM), -+ CONFIG(PIPE_FORMAT_R5G5B5X1_UNORM), -+ CONFIG(PIPE_FORMAT_R4G4B4A4_UNORM), -+ CONFIG(PIPE_FORMAT_R4G4B4X4_UNORM), - }; - - #define RGB UTIL_FORMAT_COLORSPACE_RGB --- -2.45.2 - diff --git a/media-libs/mesa/mesa-24.2.3-r1.ebuild b/media-libs/mesa/mesa-24.2.3-r1.ebuild deleted file mode 100644 index c3075d910f97..000000000000 --- a/media-libs/mesa/mesa-24.2.3-r1.ebuild +++ /dev/null @@ -1,497 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.68 - proc-macro2@1.0.86 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -RUST_MIN_VER="1.74.1" -RUST_OPTIONAL=1 - -inherit cargo - -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 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} - d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl - vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - llvm-core/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - llvm-core/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${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 - llvm-core/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${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.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${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] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.34 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - ${RUST_DEPEND} - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - dev-python/pyyaml[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - llvm-core/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - ${RUST_DEPEND} - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, 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}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version llvm-core/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/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 - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup - - if use opencl || (use vulkan && use video_cards_nvk); then - rust_pkg_setup - fi -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # svga - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; 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_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - gallium_enable !llvm softpipe - gallium_enable llvm llvmpipe - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - 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 video_cards_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 - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - 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#,}) - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Ddri3=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(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) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -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-24.2.4-r1.ebuild b/media-libs/mesa/mesa-24.2.4-r1.ebuild deleted file mode 100644 index c3075d910f97..000000000000 --- a/media-libs/mesa/mesa-24.2.4-r1.ebuild +++ /dev/null @@ -1,497 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.68 - proc-macro2@1.0.86 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -RUST_MIN_VER="1.74.1" -RUST_OPTIONAL=1 - -inherit cargo - -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 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} - d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl - vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - llvm-core/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - llvm-core/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${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 - llvm-core/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${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.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${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] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.34 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - ${RUST_DEPEND} - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - dev-python/pyyaml[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - llvm-core/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - ${RUST_DEPEND} - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, 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}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version llvm-core/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/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 - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup - - if use opencl || (use vulkan && use video_cards_nvk); then - rust_pkg_setup - fi -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # svga - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; 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_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - gallium_enable !llvm softpipe - gallium_enable llvm llvmpipe - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - 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 video_cards_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 - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - 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#,}) - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Ddri3=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(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) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -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-24.2.5-r1.ebuild b/media-libs/mesa/mesa-24.2.5-r1.ebuild deleted file mode 100644 index c3075d910f97..000000000000 --- a/media-libs/mesa/mesa-24.2.5-r1.ebuild +++ /dev/null @@ -1,497 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.68 - proc-macro2@1.0.86 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -RUST_MIN_VER="1.74.1" -RUST_OPTIONAL=1 - -inherit cargo - -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 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} - d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl - vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - llvm-core/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - llvm-core/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${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 - llvm-core/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${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.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${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] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.34 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - ${RUST_DEPEND} - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - dev-python/pyyaml[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - llvm-core/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - ${RUST_DEPEND} - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, 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}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version llvm-core/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/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 - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup - - if use opencl || (use vulkan && use video_cards_nvk); then - rust_pkg_setup - fi -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # svga - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; 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_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - gallium_enable !llvm softpipe - gallium_enable llvm llvmpipe - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - 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 video_cards_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 - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - 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#,}) - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Ddri3=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(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) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -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-24.2.6-r2.ebuild b/media-libs/mesa/mesa-24.2.6-r2.ebuild deleted file mode 100644 index 949cec8c6d99..000000000000 --- a/media-libs/mesa/mesa-24.2.6-r2.ebuild +++ /dev/null @@ -1,501 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.68 - proc-macro2@1.0.86 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -RUST_MIN_VER="1.74.1" -RUST_OPTIONAL=1 - -inherit cargo - -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 ~loong ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} - d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl - vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - llvm-core/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - llvm-core/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${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 - llvm-core/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${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.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${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] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.34 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - ${RUST_DEPEND} - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - dev-python/pyyaml[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - llvm-core/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - ${RUST_DEPEND} - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -PATCHES=( - "${FILESDIR}"/${PV}-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch -) - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, 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}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version llvm-core/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/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 - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup - - if use opencl || (use vulkan && use video_cards_nvk); then - rust_pkg_setup - fi -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # svga - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; 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_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - gallium_enable !llvm softpipe - gallium_enable llvm llvmpipe - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - 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 video_cards_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 - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - 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#,}) - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Ddri3=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(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) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -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-24.2.7.ebuild b/media-libs/mesa/mesa-24.2.7.ebuild deleted file mode 100644 index c3075d910f97..000000000000 --- a/media-libs/mesa/mesa-24.2.7.ebuild +++ /dev/null @@ -1,497 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.68 - proc-macro2@1.0.86 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -RUST_MIN_VER="1.74.1" -RUST_OPTIONAL=1 - -inherit cargo - -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 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} - d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl - vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - llvm-core/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - llvm-core/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${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 - llvm-core/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${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.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${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] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.34 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - ${RUST_DEPEND} - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - dev-python/pyyaml[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - llvm-core/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - ${RUST_DEPEND} - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, 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}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version llvm-core/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/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 - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup - - if use opencl || (use vulkan && use video_cards_nvk); then - rust_pkg_setup - fi -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # svga - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; 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_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - gallium_enable !llvm softpipe - gallium_enable llvm llvmpipe - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - 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 video_cards_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 - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - 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#,}) - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Ddri3=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(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) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -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-24.2.8.ebuild b/media-libs/mesa/mesa-24.2.8.ebuild index c3075d910f97..83d5147a4b1c 100644 --- a/media-libs/mesa/mesa-24.2.8.ebuild +++ b/media-libs/mesa/mesa-24.2.8.ebuild @@ -35,7 +35,7 @@ else SRC_URI=" https://archive.mesa3d.org/${MY_P}.tar.xz " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" + KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-solaris" fi # This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, diff --git a/media-libs/mesa/mesa-24.3.0.ebuild b/media-libs/mesa/mesa-24.3.0.ebuild deleted file mode 100644 index 23476336a9f6..000000000000 --- a/media-libs/mesa/mesa-24.3.0.ebuild +++ /dev/null @@ -1,492 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.68 - proc-macro2@1.0.86 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -RUST_MIN_VER="1.74.1" -RUST_OPTIONAL=1 - -inherit cargo - -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 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} - d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl - vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - llvm-core/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - llvm-core/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${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 - llvm-core/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${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.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${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] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.38 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - ${RUST_DEPEND} - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - dev-python/pyyaml[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - llvm-core/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - ${RUST_DEPEND} - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, 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}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version llvm-core/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/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 - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup - - if use opencl || (use vulkan && use video_cards_nvk); then - rust_pkg_setup - fi -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # svga - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; 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_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - gallium_enable !llvm softpipe - gallium_enable llvm llvmpipe - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - 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 video_cards_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 - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - - emesonargs+=(-Dvulkan-layers=device-select,overlay) - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(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) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -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-24.3.0_rc2.ebuild b/media-libs/mesa/mesa-24.3.0_rc2.ebuild deleted file mode 100644 index 23476336a9f6..000000000000 --- a/media-libs/mesa/mesa-24.3.0_rc2.ebuild +++ /dev/null @@ -1,492 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.68 - proc-macro2@1.0.86 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -RUST_MIN_VER="1.74.1" -RUST_OPTIONAL=1 - -inherit cargo - -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 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} - d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl - vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - llvm-core/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - llvm-core/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${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 - llvm-core/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${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.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${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] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.38 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - ${RUST_DEPEND} - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - dev-python/pyyaml[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - llvm-core/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - ${RUST_DEPEND} - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, 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}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version llvm-core/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/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 - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup - - if use opencl || (use vulkan && use video_cards_nvk); then - rust_pkg_setup - fi -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # svga - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; 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_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - gallium_enable !llvm softpipe - gallium_enable llvm llvmpipe - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - 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 video_cards_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 - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - - emesonargs+=(-Dvulkan-layers=device-select,overlay) - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(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) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -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 -} |