diff options
Diffstat (limited to 'media-libs/mesa')
-rw-r--r-- | media-libs/mesa/Manifest | 14 | ||||
-rw-r--r-- | media-libs/mesa/files/clang_config_tool.patch | 13 | ||||
-rw-r--r-- | media-libs/mesa/files/clang_resource_dir.patch | 24 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.1.8.ebuild | 466 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.1.9.ebuild | 473 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.2.1.ebuild | 471 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.3.0.ebuild | 448 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.3.0_rc5-r1.ebuild | 448 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.3.2.ebuild | 448 |
9 files changed, 0 insertions, 2805 deletions
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest index 864d69fbaef3..2c2774e6bb4a 100644 --- a/media-libs/mesa/Manifest +++ b/media-libs/mesa/Manifest @@ -1,23 +1,9 @@ AUX 23.3.1-d3d12-Fix-AV1-video-encode-32-bits-build.patch 16178 BLAKE2B cf6597c0bc196303aa8f72def34d426e7dec12b5a5686b69605b7674b010e94c9150ee7b0f2face711a4ba2c26e7fdffd5a8efe20665135dc285725b3e570746 SHA512 292e8556d081c297d8643bc3a29c5fc81fcf8f35e9f1d0c534589ea17e6eb8e02d3a3ca47df2d312ceff7e18d8862f1a1154691e6b03618c8770c012e9fe2063 AUX 23.3.3-big-endian.patch 3392 BLAKE2B bd260b1776711c632e6e89d827b9b23b8e7b2d0a0da95784aeb06f6755ed8872de11230fa969d750977b2f9ca5dbe425773728df85a67eb240866197d1c1380c SHA512 adb7db2d94973ecf2aa290fa70015afef06dbf391991b7845e946a2154dd2f5cd83e042b2e3da86556e9a806c343c76395be8b40b1d6bb5157299eddb60417ad AUX 23.3.3-symbols-check-Add-_GLOBAL_OFFSET_TABLE_.patch 896 BLAKE2B e271143147baa68c2d51a69a13888c2b4facc3d26d0d81e75ddfa7a8b37c99b900c043f334c795f199333876a0f97387bcc3ca53b6a93dad84ed8de25454b2d0 SHA512 580e9770f2d1d34d6358d171979fbc7c042d3b13da96cce4bba76e5a649c7758dfaf7bb314de4bd7879acef407151187c4b2a8c7b37ab7802b3cce22bd606316 -AUX clang_config_tool.patch 368 BLAKE2B 968d3b441134d196b436ceabcdff8865ef584e97da52b2b9f78f2e79d671f4e017025fbf098ba6fa9b5837fda3549b5e992089163a0bdc76a3347d5a1633cc4d SHA512 c9f7a126b56dff3ae514f91479ce071078259871b1e864295b7631266899ae17f2f355ab56c8d3933b74ffe1e762fc6ffbf93b48b0f2ad0c05858e7c69902b02 -AUX clang_resource_dir.patch 1129 BLAKE2B 40cf2bc3381d5318c95d3fdadef1bdb6bb57f3b04270e07c0a66613b6432ad617be73d34122be3280d861dde0663fc5c96bb37a9312c2e333e39e69287a9e33a SHA512 493585cf0a93fda04d4577095ae04e1c3dc37aa446ea0873e81857cd2f2c6519bbdf34f0d6e6dd47dd1e927cc776f46901ebab14c7040a92688c3868204b3856 -DIST mesa-23.1.8.tar.xz 18566724 BLAKE2B 43825c936f0dca4bc7e954cf7f8afc9566fb26d23969a9f60279a279504464b4eee966f5db34602489fb659942d11629675a1ef44493020925047bbd8cd7f0d7 SHA512 02dc6f8b10dd3827a2b62fba3035726b1b60ec0c3188817deea2ad14f80f332a37272e9f15c5f653f20cecb14f8ff91697d73c89afc83674c19b686a674b677d -DIST mesa-23.1.9.tar.xz 18589464 BLAKE2B a4386398841476f6e69031043091cbbf0afff1ef9523e7d6216b1acc49fa8afbe5270802c78d951fee42dd6c8268bc515ed1236de4ce47a5d90e6bdd1ff16b92 SHA512 83f57c530ccc14e9debbc292f71214343f506bdf35bad235cdd3c380d769eb30658bdf93a70b79d7ce08e75615b892023e4245aed1237cd285d2f045cdbf9241 -DIST mesa-23.2.1.tar.xz 18855304 BLAKE2B 51e44c2e9b7dfe17cf4cb7252e169109d03a006caa8ec34036fb594c0c44e9278d0088170894c1a9debdea911f746470e1d256576e0635cae5c3e670ab49161b SHA512 927af0885a4815d330de384232deadf3dce7e2e2024738f138a344cbc4adce22888a9e335317f1d75965a5e691c9638949105f18c9b6ef43839fb594c6b474b5 -DIST mesa-23.3.0-rc5.tar.xz 19227440 BLAKE2B 844eb3dacc6f579f1a7bff74fc20ec22021ac33dcdd716488487e66e9ef8c6be4a5eaf7260628eec58baa55fd70bfe4a6223e83ea8b163d6e16dd8677af3c7e3 SHA512 f1c2421ab262da422ed9ac5ca08b0e1c41264373e022de9413c65e1e7e8ee929979d1c80741497a0acba1d118665a7f6076e24139be0c9c70f3fe8f5d319c187 -DIST mesa-23.3.0.tar.xz 19234688 BLAKE2B 1b87d15cbe1b4c761653b7042c46eac3036f08dfcf3a0a81aa7bf6c1c0c402b05f37ce8da9d88df72e1745d66a648c2b8c161b04bf558107f548f6d8167cc798 SHA512 3568b571974a2c6c0c3a4cc614c851729962e39926f0af906ba91604f9d43c0618db7df004cbec5d9e5dbade2d6bde818608c9aa1686183994d68ad3e6ac4521 DIST mesa-23.3.1.tar.xz 19337988 BLAKE2B 73696281868e5eba6493cc34786a6c30eaf256bed2495444be9a1a5ebf1a0d4b8f00bcc3fb91ce9de3ac8ff23663e41cab17b8fe42b1048366c8e9b95aefa905 SHA512 0861fb5083e37439ad8cc0a0d8372a7c84d8665ea298dc784e2dd893162e20ae072f5ef0b860be88ecf74bc123714acbc1dec312e139b892ff40ef1887c5f4a5 -DIST mesa-23.3.2.tar.xz 19365140 BLAKE2B fc97e17dd7a139056190010325f1d57978ef8618ae87731f459daedc303223f3fbce660c2361dcd518d35c709357435366c75ebfd6366daa9f0dec99b534604f SHA512 634d2b67ade2121de3f19f2cccd4bf7ceb2ac391b9366587ed1c2412444e010de8ec14a25529fdec1f43f943096422eb23cefcb8a89d2f8b20286850188b65c3 DIST mesa-23.3.3.tar.xz 19379484 BLAKE2B 6b57e99356abccf398c5fb84953fc1490ddf516dbeed1feca8d16344a04c1c15183325752717447a34a61dd4cdda897147e3194f869d8dbadfa5c45a0c95dab5 SHA512 bed23e8324b026edd5d2b16a381ec563cf2fa9be9c8fbe8d9fb907cab9d87eef91f493fb9d4e3973d4b679e271d2a85ce48af491585638ab97f087532fc63c30 -EBUILD mesa-23.1.8.ebuild 12884 BLAKE2B ee922d8b461aed57fb2f06f22469578a21822c0128e0efb9b790dc5d4c73be3fdbcb1f8f8eac14c41bc51a4bd48ecf62c4afb257c0b6f3dc1dc71f4b60a0f621 SHA512 606fb5386125386271deccda60668b9a326b7f4c592b5d9b3579cd1bf88ead8b540c41caea597caf6efd77dd85ebe83dc721263ad050e722686a2d62417326f7 -EBUILD mesa-23.1.9.ebuild 12951 BLAKE2B 796c2257923684389a8636fc4ed3470ae1f2df9947a7d30471af6e4eaa58fd0c387f912fb5c7cf2a7be4ee82ee6f608c8c5aa8af52b12292c5ca3c32968973aa SHA512 0927193f61becef79d5949c0c34b3be22f6976eb89fb177a467390d4d7bf4d8344ce6c7e66f7ea4bda565c5b273b61e798db12375c04eb0201fd179d6ad150fc -EBUILD mesa-23.2.1.ebuild 12874 BLAKE2B 39e3316fc351da05d05167aed54a2e4763f39f8b15ca22faf7fd303aba71c325022a9a70236a21b82da87b622d86deb88523e081b7c6237d71079f1f4f8f6f7b SHA512 14cc5864f87e0e5c18992d51d5de2e8cbf022df91be1e9efe0d10992fbfad1417796e3adefbddbbcdd04c0f2fd41f93cc3f08ce37be7a68086725395b76b9819 -EBUILD mesa-23.3.0.ebuild 12331 BLAKE2B eb195df51c2870e7424c7e80160fc1c94a9e88c7e826f5c06f1e6cdfd0f9fb61813003b8427bc40504926af17751846ba896a1ca276b6e98c11e4252ea2003a2 SHA512 0f340f44f33d2cd3de2c54ba0e2985b38b75fe8535026ed3783a2453bec87ecc5f44426c21cca9174575328fb2fcd34456ff14d0f6d73a8103deb8c0fb800ec1 -EBUILD mesa-23.3.0_rc5-r1.ebuild 12331 BLAKE2B eb195df51c2870e7424c7e80160fc1c94a9e88c7e826f5c06f1e6cdfd0f9fb61813003b8427bc40504926af17751846ba896a1ca276b6e98c11e4252ea2003a2 SHA512 0f340f44f33d2cd3de2c54ba0e2985b38b75fe8535026ed3783a2453bec87ecc5f44426c21cca9174575328fb2fcd34456ff14d0f6d73a8103deb8c0fb800ec1 EBUILD mesa-23.3.1.ebuild 12405 BLAKE2B 5de3b3e3351eace4405a8279aec2959848b733ac6ca38b5f462ea4ae991a8be4086ad5ec72d1931709d9872fcf0d308ec746285cbf7b2856b63346974142c9f2 SHA512 521fcc2630513b961e8225e468b4410f4cb473a463e7f83f0f86e924b57171ea588019e6ed24c32266c1d632aac8ec49bedaab11748903e7c717843121aa4a35 -EBUILD mesa-23.3.2.ebuild 12331 BLAKE2B cc6bec787020cbda9333823a94aeead4c0390492e4e10485e7bc823735a1e37098066b55f607c9688959936ac81337b2b5a8b1fafd3bb4bb73ccbb1c4b6af8f9 SHA512 71855871d00f4b07c7ccbf1f01d2ee1df3c49efff17460669da7d057ce7af62d761f815e6873a3d8a55859f0125c66e488be74d0d56f712fe4e1ab12f795e621 EBUILD mesa-23.3.3.ebuild 12449 BLAKE2B 7ba9ccd4a2006cbaff89b5179cfa8ff03ca2947948d78164b7c56065e11ddf364b5811503b04ad294a0673662643e45f974d73ba2127640ce255d5af6aef1faa SHA512 eb15ad6e7d9a606e642460f8d5171a161f3650dea984ac3321089e5efe71a60ab5b8e2828229ec627377e9abae194ff691e8f83c18cacf3d3a53a3cecd9b581d EBUILD mesa-9999.ebuild 12207 BLAKE2B c3d278966e1a9cd1e6a09f774a8bf77a057c2b9463c7fe3a99aa119e22a1b18e0042dbe15676e00ae044f51b72ac7107fea0756c4a10b9173b182f118bf037d8 SHA512 7444562329a667725ef056296b1f4285ee46e4b3cd12b6184c4753010f8767252f80f47859a934462044fc0d7855534275f106c97d4d7e11e97e52af687dec16 MISC metadata.xml 1435 BLAKE2B 53690878512b86ce0b8dce38b083684c85ad5c1a655d5a69cb3265e156869845263eb16f271691b66c9f0cd76e97b56908acf7a1792d6abac0ec99447826cbb5 SHA512 842106e5d6eb60ff33c8cae7f0d52983c4f7e104152718b50fc790cbcb2506551a6fc7841fe8e3c7963850c238f77505b0e49b10a3a936baf459e1acaf73e07f diff --git a/media-libs/mesa/files/clang_config_tool.patch b/media-libs/mesa/files/clang_config_tool.patch deleted file mode 100644 index ed85b9215cdc..000000000000 --- a/media-libs/mesa/files/clang_config_tool.patch +++ /dev/null @@ -1,13 +0,0 @@ -Workaround the CMake dependency lookup returning a different LLVM to llvm-config. - -Bug: https://bugs.gentoo.org/907965 ---- a/meson.build -+++ b/meson.build -@@ -1691,6 +1691,7 @@ if _llvm.allowed() - static : not _shared_llvm, - fallback : ['llvm', 'dep_llvm'], - include_type : 'system', -+ method: 'config-tool', - ) - with_llvm = dep_llvm.found() - endif diff --git a/media-libs/mesa/files/clang_resource_dir.patch b/media-libs/mesa/files/clang_resource_dir.patch deleted file mode 100644 index 6e0c3c7cb745..000000000000 --- a/media-libs/mesa/files/clang_resource_dir.patch +++ /dev/null @@ -1,24 +0,0 @@ -https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19232#note_1776640 -https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122 - -diff --git a/src/compiler/clc/clc_helpers.cpp b/src/compiler/clc/clc_helpers.cpp -index 80bc84831e4..34d156bf227 100644 ---- a/src/compiler/clc/clc_helpers.cpp -+++ b/src/compiler/clc/clc_helpers.cpp -@@ -39,6 +39,7 @@ - #include <llvm-c/Target.h> - #include <LLVMSPIRVLib/LLVMSPIRVLib.h> - -+#include <clang/Config/config.h> - #include <clang/Driver/Driver.h> - #include <clang/CodeGen/CodeGenAction.h> - #include <clang/Lex/PreprocessorOptions.h> -@@ -866,7 +867,7 @@ clc_compile_to_llvm_module(LLVMContext &llvm_ctx, - // because we might have linked clang statically. - auto libclang_path = fs::path(LLVM_LIB_DIR) / "libclang.so"; - auto clang_res_path = -- fs::path(clang::driver::Driver::GetResourcesPath(libclang_path.string())) / "include"; -+ fs::path(clang::driver::Driver::GetResourcesPath(libclang_path.string(), CLANG_RESOURCE_DIR)) / "include"; - - c->getHeaderSearchOpts().UseBuiltinIncludes = true; - c->getHeaderSearchOpts().UseStandardSystemIncludes = true; diff --git a/media-libs/mesa/mesa-23.1.8.ebuild b/media-libs/mesa/mesa-23.1.8.ebuild deleted file mode 100644 index ce529ff6c238..000000000000 --- a/media-libs/mesa/mesa-23.1.8.ebuild +++ /dev/null @@ -1,466 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..11} ) - -inherit flag-o-matic llvm meson-multilib python-any-r1 linux-info - -MY_P="${P/_/-}" - -DESCRIPTION="OpenGL-like graphic library for Linux" -HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -LICENSE="MIT SGI-B-2.0" -SLOT="0" -RESTRICT="!test? ( test )" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm - lm-sensors opencl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa zink +zstd" - -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_intel - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_nouveau - video_cards_vmware - ) - ) - vulkan? ( video_cards_radeonsi? ( llvm ) ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_radeonsi? ( llvm ) - vdpau? ( X ) - xa? ( X ) - zink? ( vulkan ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - video_cards_radeonsi? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3 - dev-libs/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.1:=[${MULTILIB_USEDEP}] ) - vulkan? ( - video_cards_intel? ( - amd64? ( - dev-libs/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - ) - ) - ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - ) - zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -for card in ${RADEON_CARDS}; do - RDEPEND="${RDEPEND} - video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) - " -done -RDEPEND="${RDEPEND} - video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) -" - -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling one than more slot -# simultaneously. -# -# How to use it: -# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 16. -# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15. -LLVM_MAX_SLOT="16" -LLVM_MIN_SLOT="15" -LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}" -PER_SLOT_DEPSTR=" - ( - !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( dev-util/spirv-llvm-translator:@SLOT@ ) - vulkan? ( video_cards_intel? ( amd64? ( dev-util/spirv-llvm-translator:@SLOT@ ) ) ) - ) -" -LLVM_DEPSTR=" - || ( - $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do - echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}" - done) - ) - !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) - opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) -" -RDEPEND="${RDEPEND} - llvm? ( ${LLVM_DEPSTR} ) -" -unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR - -DEPEND="${RDEPEND} - video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.24 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - >=dev-build/meson-1.0.0 - ${PYTHON_DEPS} - opencl? ( - >=virtual/rust-1.62.0 - >=dev-util/bindgen-0.58.0 - ) - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") - llvm? ( - vulkan? ( - dev-util/glslang - video_cards_intel? ( - amd64? ( - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - ) - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -llvm_check_deps() { - if use opencl; then - has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1 - fi - if use opencl || { use vulkan && use video_cards_intel && use amd64; }; then - has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1 - fi - has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]" -} - -PATCHES=( - # Temporary rusticl workaround: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122 - "${FILESDIR}/clang_resource_dir.patch" - - # Workaround the CMake dependency lookup returning a different LLVM to llvm-config, bug #907965 - "${FILESDIR}/clang_config_tool.patch" -) - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_radeonsi && - ! use video_cards_v3d; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d" - fi - fi - - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_r300 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware" - fi - fi - - if ! use llvm; then - use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" - fi - - if use osmesa && ! use llvm; then - ewarn "OSMesa will be slow without enabling USE=llvm" - fi -} - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || 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 sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" - ewarn "detected! This can cause problems. For details, see bug 459306." - fi - - if use video_cards_intel || - use video_cards_radeonsi; then - if kernel_is -ge 5 11 3; then - CONFIG_CHECK="~KCMP" - elif kernel_is -ge 5 11; then - CONFIG_CHECK="~CHECKPOINT_RESTORE" - elif kernel_is -ge 5 10 20; then - CONFIG_CHECK="~KCMP" - else - CONFIG_CHECK="~CHECKPOINT_RESTORE" - fi - linux-info_pkg_setup - fi - - if use llvm; then - llvm_pkg_setup - fi - python-any-r1_pkg_setup -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_intel || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vaapi gallium-va)) - use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) - else - emesonargs+=(-Dgallium-va=disabled) - fi - - if use video_cards_d3d12; then - emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) - fi - - if use video_cards_d3d12 || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - if use video_cards_freedreno || - use video_cards_lima || - use video_cards_panfrost || - use video_cards_v3d || - use video_cards_vc4 || - use video_cards_vivante; then - gallium_enable -- kmsro - fi - - gallium_enable -- swrast - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_nouveau nouveau - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_virgl virgl - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable zink zink - - gallium_enable video_cards_r300 r300 - gallium_enable video_cards_r600 r600 - gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && \ - ! use video_cards_r600; then - gallium_enable video_cards_radeon r300 r600 - fi - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/$(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_lavapipe swrast - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use llvm && use vulkan && use video_cards_intel; then - PKG_CONFIG_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/$(get_libdir)/pkgconfig" - emesonargs+=(-Dintel-clc=enabled) - else - emesonargs+=(-Dintel-clc=disabled) - fi - - # Workaround for bug #914905, can drop w/ > 23.3 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - emesonargs+=( - $(meson_use test build-tests) - -Dglx=$(usex X dri disabled) - -Dshared-glapi=enabled - -Ddri3=enabled - -Degl=enabled - -Dexpat=enabled - -Dgbm=enabled - -Dglvnd=true - $(meson_feature gles1) - $(meson_feature gles2) - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_use osmesa) - $(meson_use selinux) - $(meson_feature unwind libunwind) - $(meson_feature zstd) - $(meson_use cpu_flags_x86_sse2 sse2) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - --buildtype $(usex debug debug plain) - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure -} - -multilib_src_test() { - meson_src_test -t 100 -} - -# $1 - VIDEO_CARDS flag (check skipped for "--") -# other args - names of DRI drivers to enable -gallium_enable() { - if [[ $1 == -- ]] || use $1; then - shift - GALLIUM_DRIVERS+=("$@") - fi -} - -vulkan_enable() { - if [[ $1 == -- ]] || use $1; then - shift - VULKAN_DRIVERS+=("$@") - fi -} diff --git a/media-libs/mesa/mesa-23.1.9.ebuild b/media-libs/mesa/mesa-23.1.9.ebuild deleted file mode 100644 index c87b81ad5ef7..000000000000 --- a/media-libs/mesa/mesa-23.1.9.ebuild +++ /dev/null @@ -1,473 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..11} ) - -inherit flag-o-matic llvm meson-multilib python-any-r1 linux-info - -MY_P="${P/_/-}" - -DESCRIPTION="OpenGL-like graphic library for Linux" -HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -LICENSE="MIT SGI-B-2.0" -SLOT="0" -RESTRICT="!test? ( test )" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm - lm-sensors opencl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa zink +zstd" - -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_intel - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_nouveau - video_cards_vmware - ) - ) - vulkan? ( video_cards_radeonsi? ( llvm ) ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_radeonsi? ( llvm ) - vdpau? ( X ) - xa? ( X ) - zink? ( vulkan ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - video_cards_radeonsi? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3 - dev-libs/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.1:=[${MULTILIB_USEDEP}] ) - vulkan? ( - video_cards_intel? ( - amd64? ( - dev-libs/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - ) - ) - ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - ) - zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -for card in ${RADEON_CARDS}; do - RDEPEND="${RDEPEND} - video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) - " -done -RDEPEND="${RDEPEND} - video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) -" - -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling one than more slot -# simultaneously. -# -# How to use it: -# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 16. -# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15. -LLVM_MAX_SLOT="16" -LLVM_MIN_SLOT="15" -LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}" -PER_SLOT_DEPSTR=" - ( - !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( dev-util/spirv-llvm-translator:@SLOT@ ) - vulkan? ( - video_cards_intel? ( - amd64? ( - dev-util/spirv-llvm-translator:@SLOT@ - sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] - ) - ) - ) - ) -" -LLVM_DEPSTR=" - || ( - $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do - echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}" - done) - ) - !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) - opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) -" -RDEPEND="${RDEPEND} - llvm? ( ${LLVM_DEPSTR} ) -" -unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR - -DEPEND="${RDEPEND} - video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.24 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - >=dev-build/meson-1.0.0 - ${PYTHON_DEPS} - opencl? ( - >=virtual/rust-1.62.0 - >=dev-util/bindgen-0.58.0 - ) - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") - llvm? ( - vulkan? ( - dev-util/glslang - video_cards_intel? ( - amd64? ( - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - ) - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -llvm_check_deps() { - if use opencl; then - has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1 - fi - if use opencl || { use vulkan && use video_cards_intel && use amd64; }; then - has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1 - fi - has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]" -} - -PATCHES=( - # Temporary rusticl workaround: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122 - "${FILESDIR}/clang_resource_dir.patch" - - # Workaround the CMake dependency lookup returning a different LLVM to llvm-config, bug #907965 - "${FILESDIR}/clang_config_tool.patch" -) - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_radeonsi && - ! use video_cards_v3d; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d" - fi - fi - - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_r300 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware" - fi - fi - - if ! use llvm; then - use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" - fi - - if use osmesa && ! use llvm; then - ewarn "OSMesa will be slow without enabling USE=llvm" - fi -} - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || 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 sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" - ewarn "detected! This can cause problems. For details, see bug 459306." - fi - - if use video_cards_intel || - use video_cards_radeonsi; then - if kernel_is -ge 5 11 3; then - CONFIG_CHECK="~KCMP" - elif kernel_is -ge 5 11; then - CONFIG_CHECK="~CHECKPOINT_RESTORE" - elif kernel_is -ge 5 10 20; then - CONFIG_CHECK="~KCMP" - else - CONFIG_CHECK="~CHECKPOINT_RESTORE" - fi - linux-info_pkg_setup - fi - - if use llvm; then - llvm_pkg_setup - fi - python-any-r1_pkg_setup -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_intel || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vaapi gallium-va)) - use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) - else - emesonargs+=(-Dgallium-va=disabled) - fi - - if use video_cards_d3d12; then - emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) - fi - - if use video_cards_d3d12 || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - if use video_cards_freedreno || - use video_cards_lima || - use video_cards_panfrost || - use video_cards_v3d || - use video_cards_vc4 || - use video_cards_vivante; then - gallium_enable -- kmsro - fi - - gallium_enable -- swrast - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_nouveau nouveau - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_virgl virgl - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable zink zink - - gallium_enable video_cards_r300 r300 - gallium_enable video_cards_r600 r600 - gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && \ - ! use video_cards_r600; then - gallium_enable video_cards_radeon r300 r600 - fi - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/$(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_lavapipe swrast - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use llvm && use vulkan && use video_cards_intel; then - PKG_CONFIG_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/$(get_libdir)/pkgconfig" - emesonargs+=(-Dintel-clc=enabled) - else - emesonargs+=(-Dintel-clc=disabled) - fi - - # Workaround for bug #914905, can drop w/ > 23.3 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - emesonargs+=( - $(meson_use test build-tests) - -Dglx=$(usex X dri disabled) - -Dshared-glapi=enabled - -Ddri3=enabled - -Degl=enabled - -Dexpat=enabled - -Dgbm=enabled - -Dglvnd=true - $(meson_feature gles1) - $(meson_feature gles2) - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_use osmesa) - $(meson_use selinux) - $(meson_feature unwind libunwind) - $(meson_feature zstd) - $(meson_use cpu_flags_x86_sse2 sse2) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - --buildtype $(usex debug debug plain) - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure -} - -multilib_src_test() { - meson_src_test -t 100 -} - -# $1 - VIDEO_CARDS flag (check skipped for "--") -# other args - names of DRI drivers to enable -gallium_enable() { - if [[ $1 == -- ]] || use $1; then - shift - GALLIUM_DRIVERS+=("$@") - fi -} - -vulkan_enable() { - if [[ $1 == -- ]] || use $1; then - shift - VULKAN_DRIVERS+=("$@") - fi -} diff --git a/media-libs/mesa/mesa-23.2.1.ebuild b/media-libs/mesa/mesa-23.2.1.ebuild deleted file mode 100644 index 8c5c1dd2d7fb..000000000000 --- a/media-libs/mesa/mesa-23.2.1.ebuild +++ /dev/null @@ -1,471 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..11} ) - -inherit flag-o-matic llvm meson-multilib python-any-r1 linux-info - -MY_P="${P/_/-}" - -DESCRIPTION="OpenGL-like graphic library for Linux" -HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -LICENSE="MIT SGI-B-2.0" -SLOT="0" -RESTRICT="!test? ( test )" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm - lm-sensors opencl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa zink +zstd" - -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_intel - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_nouveau - video_cards_vmware - ) - ) - vulkan? ( video_cards_radeonsi? ( llvm ) ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_radeonsi? ( llvm ) - vdpau? ( X ) - xa? ( X ) - zink? ( vulkan ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - video_cards_radeonsi? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3 - dev-libs/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.1:=[${MULTILIB_USEDEP}] ) - vulkan? ( - video_cards_intel? ( - amd64? ( - dev-libs/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - ) - ) - ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] - ) - zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -for card in ${RADEON_CARDS}; do - RDEPEND="${RDEPEND} - video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) - " -done -RDEPEND="${RDEPEND} - video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) -" - -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling one than more slot -# simultaneously. -# -# How to use it: -# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 16. -# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15. -LLVM_MAX_SLOT="16" -LLVM_MIN_SLOT="15" -LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}" -PER_SLOT_DEPSTR=" - ( - !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( dev-util/spirv-llvm-translator:@SLOT@ ) - vulkan? ( - video_cards_intel? ( - amd64? ( - dev-util/spirv-llvm-translator:@SLOT@ - sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] - ) - ) - ) - ) -" -LLVM_DEPSTR=" - || ( - $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do - echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}" - done) - ) - !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) - opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) -" -RDEPEND="${RDEPEND} - llvm? ( ${LLVM_DEPSTR} ) -" -unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.610.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.24 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - >=dev-build/meson-1.0.0 - ${PYTHON_DEPS} - opencl? ( - >=virtual/rust-1.62.0 - >=dev-util/bindgen-0.58.0 - ) - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") - llvm? ( - vulkan? ( - dev-util/glslang - video_cards_intel? ( - amd64? ( - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - ) - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -PATCHES=( - # Workaround the CMake dependency lookup returning a different LLVM to llvm-config, bug #907965 - "${FILESDIR}/clang_config_tool.patch" -) - -llvm_check_deps() { - if use opencl; then - has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1 - fi - if use opencl || { use vulkan && use video_cards_intel && use amd64; }; then - has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1 - fi - has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]" -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_radeonsi && - ! use video_cards_v3d; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d" - fi - fi - - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_r300 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware" - fi - fi - - if ! use llvm; then - use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" - fi - - if use osmesa && ! use llvm; then - ewarn "OSMesa will be slow without enabling USE=llvm" - fi -} - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || 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 sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" - ewarn "detected! This can cause problems. For details, see bug 459306." - fi - - if use video_cards_intel || - use video_cards_radeonsi; then - if kernel_is -ge 5 11 3; then - CONFIG_CHECK="~KCMP" - elif kernel_is -ge 5 11; then - CONFIG_CHECK="~CHECKPOINT_RESTORE" - elif kernel_is -ge 5 10 20; then - CONFIG_CHECK="~KCMP" - else - CONFIG_CHECK="~CHECKPOINT_RESTORE" - fi - linux-info_pkg_setup - fi - - if use llvm; then - llvm_pkg_setup - fi - python-any-r1_pkg_setup -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_intel || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vaapi gallium-va)) - use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) - else - emesonargs+=(-Dgallium-va=disabled) - fi - - if use video_cards_d3d12; then - emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) - fi - - if use video_cards_d3d12 || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - if use video_cards_freedreno || - use video_cards_lima || - use video_cards_panfrost || - use video_cards_v3d || - use video_cards_vc4 || - use video_cards_vivante; then - gallium_enable -- kmsro - fi - - gallium_enable -- swrast - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_nouveau nouveau - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_virgl virgl - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable zink zink - - gallium_enable video_cards_r300 r300 - gallium_enable video_cards_r600 r600 - gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && \ - ! use video_cards_r600; then - gallium_enable video_cards_radeon r300 r600 - fi - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/$(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_lavapipe swrast - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use llvm && use vulkan && use video_cards_intel; then - PKG_CONFIG_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/$(get_libdir)/pkgconfig" - emesonargs+=(-Dintel-clc=enabled) - else - emesonargs+=(-Dintel-clc=disabled) - fi - - # Workaround for bug #914905, can drop w/ > 23.3 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - emesonargs+=( - $(meson_use test build-tests) - -Dglx=$(usex X dri disabled) - -Dshared-glapi=enabled - -Ddri3=enabled - -Degl=enabled - -Dexpat=enabled - -Dgbm=enabled - -Dglvnd=true - $(meson_feature gles1) - $(meson_feature gles2) - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_use osmesa) - $(meson_use selinux) - $(meson_feature unwind libunwind) - $(meson_feature zstd) - $(meson_use cpu_flags_x86_sse2 sse2) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - --buildtype $(usex debug debug plain) - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure -} - -multilib_src_test() { - meson_src_test -t 100 -} - -# $1 - VIDEO_CARDS flag (check skipped for "--") -# other args - names of DRI drivers to enable -gallium_enable() { - if [[ $1 == -- ]] || use $1; then - shift - GALLIUM_DRIVERS+=("$@") - fi -} - -vulkan_enable() { - if [[ $1 == -- ]] || use $1; then - shift - VULKAN_DRIVERS+=("$@") - fi -} diff --git a/media-libs/mesa/mesa-23.3.0.ebuild b/media-libs/mesa/mesa-23.3.0.ebuild deleted file mode 100644 index 99b45b540f6c..000000000000 --- a/media-libs/mesa/mesa-23.3.0.ebuild +++ /dev/null @@ -1,448 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..11} ) - -inherit flag-o-matic llvm meson-multilib python-any-r1 linux-info - -MY_P="${P/_/-}" - -DESCRIPTION="OpenGL-like graphic library for Linux" -HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -LICENSE="MIT SGI-B-2.0" -SLOT="0" -RESTRICT="!test? ( test )" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm - lm-sensors opencl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa zink +zstd" - -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_intel - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_nouveau - video_cards_vmware - ) - ) - vulkan? ( video_cards_radeonsi? ( llvm ) ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_radeonsi? ( llvm ) - vdpau? ( X ) - xa? ( X ) - zink? ( vulkan ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - video_cards_radeonsi? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3 - dev-libs/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.1:=[${MULTILIB_USEDEP}] ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] - ) - zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -for card in ${RADEON_CARDS}; do - RDEPEND="${RDEPEND} - video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) - " -done -RDEPEND="${RDEPEND} - video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) -" - -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling one than more slot -# simultaneously. -# -# How to use it: -# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 17. -# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15. -LLVM_MAX_SLOT="17" -LLVM_MIN_SLOT="15" -LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}" -PER_SLOT_DEPSTR=" - ( - !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( dev-util/spirv-llvm-translator:@SLOT@ ) - ) -" -LLVM_DEPSTR=" - || ( - $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do - echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}" - done) - ) - !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) - opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) -" -RDEPEND="${RDEPEND} - llvm? ( ${LLVM_DEPSTR} ) -" -unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.610.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.30 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - >=virtual/rust-1.62.0 - >=dev-util/bindgen-0.58.0 - ) - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") - vulkan? ( - dev-util/glslang - llvm? ( - video_cards_intel? ( - amd64? ( - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ~dev-util/intel_clc-${PV} - dev-libs/libclc[spirv(-)] - ) - ) - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -llvm_check_deps() { - if use opencl; then - has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1 - has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1 - fi - has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]" -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_radeonsi && - ! use video_cards_v3d; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d" - fi - fi - - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_r300 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware" - fi - fi - - if ! use llvm; then - use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" - fi - - if use osmesa && ! use llvm; then - ewarn "OSMesa will be slow without enabling USE=llvm" - fi -} - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || 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 sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" - ewarn "detected! This can cause problems. For details, see bug 459306." - fi - - if use video_cards_intel || - use video_cards_radeonsi; then - if kernel_is -ge 5 11 3; then - CONFIG_CHECK="~KCMP" - elif kernel_is -ge 5 11; then - CONFIG_CHECK="~CHECKPOINT_RESTORE" - elif kernel_is -ge 5 10 20; then - CONFIG_CHECK="~KCMP" - else - CONFIG_CHECK="~CHECKPOINT_RESTORE" - fi - linux-info_pkg_setup - fi - - if use llvm; then - llvm_pkg_setup - fi - python-any-r1_pkg_setup -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_intel || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vaapi gallium-va)) - use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) - else - emesonargs+=(-Dgallium-va=disabled) - fi - - if use video_cards_d3d12; then - emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) - fi - - if use video_cards_d3d12 || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - if use video_cards_freedreno || - use video_cards_lima || - use video_cards_panfrost || - use video_cards_v3d || - use video_cards_vc4 || - use video_cards_vivante; then - gallium_enable -- kmsro - fi - - gallium_enable -- swrast - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_nouveau nouveau - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_virgl virgl - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable zink zink - - gallium_enable video_cards_r300 r300 - gallium_enable video_cards_r600 r600 - gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && \ - ! use video_cards_r600; then - gallium_enable video_cards_radeon r300 r600 - fi - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/$(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_lavapipe swrast - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use llvm && use vulkan && use video_cards_intel && use amd64; then - emesonargs+=(-Dintel-clc=system) - else - emesonargs+=(-Dintel-clc=disabled) - fi - - # Workaround for bug #914905, can drop w/ > 23.3 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - emesonargs+=( - $(meson_use test build-tests) - -Dglx=$(usex X dri disabled) - -Dshared-glapi=enabled - -Ddri3=enabled - -Degl=enabled - -Dexpat=enabled - -Dgbm=enabled - -Dglvnd=true - $(meson_feature gles1) - $(meson_feature gles2) - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_use osmesa) - $(meson_use selinux) - $(meson_feature unwind libunwind) - $(meson_feature zstd) - $(meson_use cpu_flags_x86_sse2 sse2) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - --buildtype $(usex debug debug plain) - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure -} - -multilib_src_test() { - meson_src_test -t 100 -} - -# $1 - VIDEO_CARDS flag (check skipped for "--") -# other args - names of DRI drivers to enable -gallium_enable() { - if [[ $1 == -- ]] || use $1; then - shift - GALLIUM_DRIVERS+=("$@") - fi -} - -vulkan_enable() { - if [[ $1 == -- ]] || use $1; then - shift - VULKAN_DRIVERS+=("$@") - fi -} diff --git a/media-libs/mesa/mesa-23.3.0_rc5-r1.ebuild b/media-libs/mesa/mesa-23.3.0_rc5-r1.ebuild deleted file mode 100644 index 99b45b540f6c..000000000000 --- a/media-libs/mesa/mesa-23.3.0_rc5-r1.ebuild +++ /dev/null @@ -1,448 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..11} ) - -inherit flag-o-matic llvm meson-multilib python-any-r1 linux-info - -MY_P="${P/_/-}" - -DESCRIPTION="OpenGL-like graphic library for Linux" -HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -LICENSE="MIT SGI-B-2.0" -SLOT="0" -RESTRICT="!test? ( test )" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm - lm-sensors opencl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa zink +zstd" - -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_intel - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_nouveau - video_cards_vmware - ) - ) - vulkan? ( video_cards_radeonsi? ( llvm ) ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_radeonsi? ( llvm ) - vdpau? ( X ) - xa? ( X ) - zink? ( vulkan ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - video_cards_radeonsi? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3 - dev-libs/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.1:=[${MULTILIB_USEDEP}] ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] - ) - zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -for card in ${RADEON_CARDS}; do - RDEPEND="${RDEPEND} - video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) - " -done -RDEPEND="${RDEPEND} - video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) -" - -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling one than more slot -# simultaneously. -# -# How to use it: -# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 17. -# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15. -LLVM_MAX_SLOT="17" -LLVM_MIN_SLOT="15" -LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}" -PER_SLOT_DEPSTR=" - ( - !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( dev-util/spirv-llvm-translator:@SLOT@ ) - ) -" -LLVM_DEPSTR=" - || ( - $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do - echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}" - done) - ) - !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) - opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) -" -RDEPEND="${RDEPEND} - llvm? ( ${LLVM_DEPSTR} ) -" -unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.610.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.30 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - >=virtual/rust-1.62.0 - >=dev-util/bindgen-0.58.0 - ) - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") - vulkan? ( - dev-util/glslang - llvm? ( - video_cards_intel? ( - amd64? ( - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ~dev-util/intel_clc-${PV} - dev-libs/libclc[spirv(-)] - ) - ) - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -llvm_check_deps() { - if use opencl; then - has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1 - has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1 - fi - has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]" -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_radeonsi && - ! use video_cards_v3d; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d" - fi - fi - - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_r300 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware" - fi - fi - - if ! use llvm; then - use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" - fi - - if use osmesa && ! use llvm; then - ewarn "OSMesa will be slow without enabling USE=llvm" - fi -} - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || 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 sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" - ewarn "detected! This can cause problems. For details, see bug 459306." - fi - - if use video_cards_intel || - use video_cards_radeonsi; then - if kernel_is -ge 5 11 3; then - CONFIG_CHECK="~KCMP" - elif kernel_is -ge 5 11; then - CONFIG_CHECK="~CHECKPOINT_RESTORE" - elif kernel_is -ge 5 10 20; then - CONFIG_CHECK="~KCMP" - else - CONFIG_CHECK="~CHECKPOINT_RESTORE" - fi - linux-info_pkg_setup - fi - - if use llvm; then - llvm_pkg_setup - fi - python-any-r1_pkg_setup -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_intel || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vaapi gallium-va)) - use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) - else - emesonargs+=(-Dgallium-va=disabled) - fi - - if use video_cards_d3d12; then - emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) - fi - - if use video_cards_d3d12 || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - if use video_cards_freedreno || - use video_cards_lima || - use video_cards_panfrost || - use video_cards_v3d || - use video_cards_vc4 || - use video_cards_vivante; then - gallium_enable -- kmsro - fi - - gallium_enable -- swrast - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_nouveau nouveau - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_virgl virgl - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable zink zink - - gallium_enable video_cards_r300 r300 - gallium_enable video_cards_r600 r600 - gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && \ - ! use video_cards_r600; then - gallium_enable video_cards_radeon r300 r600 - fi - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/$(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_lavapipe swrast - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use llvm && use vulkan && use video_cards_intel && use amd64; then - emesonargs+=(-Dintel-clc=system) - else - emesonargs+=(-Dintel-clc=disabled) - fi - - # Workaround for bug #914905, can drop w/ > 23.3 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - emesonargs+=( - $(meson_use test build-tests) - -Dglx=$(usex X dri disabled) - -Dshared-glapi=enabled - -Ddri3=enabled - -Degl=enabled - -Dexpat=enabled - -Dgbm=enabled - -Dglvnd=true - $(meson_feature gles1) - $(meson_feature gles2) - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_use osmesa) - $(meson_use selinux) - $(meson_feature unwind libunwind) - $(meson_feature zstd) - $(meson_use cpu_flags_x86_sse2 sse2) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - --buildtype $(usex debug debug plain) - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure -} - -multilib_src_test() { - meson_src_test -t 100 -} - -# $1 - VIDEO_CARDS flag (check skipped for "--") -# other args - names of DRI drivers to enable -gallium_enable() { - if [[ $1 == -- ]] || use $1; then - shift - GALLIUM_DRIVERS+=("$@") - fi -} - -vulkan_enable() { - if [[ $1 == -- ]] || use $1; then - shift - VULKAN_DRIVERS+=("$@") - fi -} diff --git a/media-libs/mesa/mesa-23.3.2.ebuild b/media-libs/mesa/mesa-23.3.2.ebuild deleted file mode 100644 index 015ace3a31c5..000000000000 --- a/media-libs/mesa/mesa-23.3.2.ebuild +++ /dev/null @@ -1,448 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit flag-o-matic llvm meson-multilib python-any-r1 linux-info - -MY_P="${P/_/-}" - -DESCRIPTION="OpenGL-like graphic library for Linux" -HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -LICENSE="MIT SGI-B-2.0" -SLOT="0" -RESTRICT="!test? ( test )" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm - lm-sensors opencl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa zink +zstd" - -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_intel - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_nouveau - video_cards_vmware - ) - ) - vulkan? ( video_cards_radeonsi? ( llvm ) ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_radeonsi? ( llvm ) - vdpau? ( X ) - xa? ( X ) - zink? ( vulkan ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - video_cards_radeonsi? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3 - dev-libs/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.1:=[${MULTILIB_USEDEP}] ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] - ) - zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -for card in ${RADEON_CARDS}; do - RDEPEND="${RDEPEND} - video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) - " -done -RDEPEND="${RDEPEND} - video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) -" - -# Please keep the LLVM dependency block separate. Since LLVM is slotted, -# we need to *really* make sure we're not pulling one than more slot -# simultaneously. -# -# How to use it: -# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 17. -# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15. -LLVM_MAX_SLOT="17" -LLVM_MIN_SLOT="15" -LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}" -PER_SLOT_DEPSTR=" - ( - !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] ) - opencl? ( dev-util/spirv-llvm-translator:@SLOT@ ) - ) -" -LLVM_DEPSTR=" - || ( - $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do - echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}" - done) - ) - !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) - opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] ) -" -RDEPEND="${RDEPEND} - llvm? ( ${LLVM_DEPSTR} ) -" -unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.610.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.30 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - >=virtual/rust-1.62.0 - >=dev-util/bindgen-0.58.0 - ) - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") - vulkan? ( - dev-util/glslang - llvm? ( - video_cards_intel? ( - amd64? ( - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ~dev-util/intel_clc-${PV} - dev-libs/libclc[spirv(-)] - ) - ) - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -llvm_check_deps() { - if use opencl; then - has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1 - has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1 - fi - has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]" -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_radeonsi && - ! use video_cards_v3d; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d" - fi - fi - - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_r300 && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_nouveau; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware" - fi - fi - - if ! use llvm; then - use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" - fi - - if use osmesa && ! use llvm; then - ewarn "OSMesa will be slow without enabling USE=llvm" - fi -} - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || 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 sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" - ewarn "detected! This can cause problems. For details, see bug 459306." - fi - - if use video_cards_intel || - use video_cards_radeonsi; then - if kernel_is -ge 5 11 3; then - CONFIG_CHECK="~KCMP" - elif kernel_is -ge 5 11; then - CONFIG_CHECK="~CHECKPOINT_RESTORE" - elif kernel_is -ge 5 10 20; then - CONFIG_CHECK="~KCMP" - else - CONFIG_CHECK="~CHECKPOINT_RESTORE" - fi - linux-info_pkg_setup - fi - - if use llvm; then - llvm_pkg_setup - fi - python-any-r1_pkg_setup -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_intel || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vaapi gallium-va)) - use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) - else - emesonargs+=(-Dgallium-va=disabled) - fi - - if use video_cards_d3d12; then - emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) - fi - - if use video_cards_d3d12 || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_nouveau; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - if use video_cards_freedreno || - use video_cards_lima || - use video_cards_panfrost || - use video_cards_v3d || - use video_cards_vc4 || - use video_cards_vivante; then - gallium_enable -- kmsro - fi - - gallium_enable -- swrast - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_nouveau nouveau - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_virgl virgl - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable zink zink - - gallium_enable video_cards_r300 r300 - gallium_enable video_cards_r600 r600 - gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && \ - ! use video_cards_r600; then - gallium_enable video_cards_radeon r300 r600 - fi - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/$(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_lavapipe swrast - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use llvm && use vulkan && use video_cards_intel && use amd64; then - emesonargs+=(-Dintel-clc=system) - else - emesonargs+=(-Dintel-clc=disabled) - fi - - # Workaround for bug #914905, can drop w/ > 23.3 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - emesonargs+=( - $(meson_use test build-tests) - -Dglx=$(usex X dri disabled) - -Dshared-glapi=enabled - -Ddri3=enabled - -Degl=enabled - -Dexpat=enabled - -Dgbm=enabled - -Dglvnd=true - $(meson_feature gles1) - $(meson_feature gles2) - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_use osmesa) - $(meson_use selinux) - $(meson_feature unwind libunwind) - $(meson_feature zstd) - $(meson_use cpu_flags_x86_sse2 sse2) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - --buildtype $(usex debug debug plain) - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure -} - -multilib_src_test() { - meson_src_test -t 100 -} - -# $1 - VIDEO_CARDS flag (check skipped for "--") -# other args - names of DRI drivers to enable -gallium_enable() { - if [[ $1 == -- ]] || use $1; then - shift - GALLIUM_DRIVERS+=("$@") - fi -} - -vulkan_enable() { - if [[ $1 == -- ]] || use $1; then - shift - VULKAN_DRIVERS+=("$@") - fi -} |