diff --git a/dev-util/mesa_clc/Manifest b/dev-util/mesa_clc/Manifest index c7a954b..2684b98 100644 --- a/dev-util/mesa_clc/Manifest +++ b/dev-util/mesa_clc/Manifest @@ -1,3 +1,4 @@ DIST mesa-25.2.3.tar.xz 43670524 BLAKE2B 1810c17e589f95f1e3b18f2562a0c193016a6b9aa260387d06b0750db7c1fb08e7ad1b2476caf79cde18fa919b320de2b12508228047e8ca3af13efb2046b3fe SHA512 e03c09de2a6482a87362c0bf4fab4f9b32ffa48935a8724eb83e75b246f1bfc59524d04ea7e8cbea34e5c6ad2a0793195a076fe2d27da8fb7e05f56c7662eac5 DIST mesa-25.2.4.tar.xz 43697664 BLAKE2B 5f9e89efb11977c8d86f92e705280af7dc136f4031d192571518c6fb9d73eb31c269f383ac5c008bece15ccc522a9cdcde4522f60cb8a626bbd9949a25856c76 SHA512 ec74e1cc101b68ad2462399554273a9debb3d93a05c0a315cde3259b250d5828cbcef7771049b52beb01d07c34122fa5257451409b1d2b7fdcbf055c0f2c863d DIST mesa-25.2.5.tar.xz 43723176 BLAKE2B 375237d23918e09b7dab4f4abd2c3b24a046521d6e247043c5fbeb7d8a33d71471b23572d254f0ad489a2533094568ef6f067a57977a7ccc1805aa735c3f8b7d SHA512 29e61b5ecb467a706e3279c0e79ddd8d55109c08f7856d35c4042f518a70622fb19cdd208a82317654e0396835cb3117b756a96d9a0693bfa33730a50bbbd1d0 +DIST mesa-26.0.4.tar.xz 43887688 BLAKE2B f83f98bae3c06f893c551e9d33cc2b655b8b74e8f5a54db0ce4cebec1451ef0fc66263b006a2c205ef2c491da831ae037cacb09fa5364cfd2d95a6ae7b77048f SHA512 ddb59df633116a7ccd9d2d3a2e2009945909e3f774956efcbc032a2f963641cce50d0f319bebdc041df17700aa827aa2ccbc61c9e40b4020de9ff027eab27e23 diff --git a/dev-util/mesa_clc/mesa_clc-26.0.4.ebuild b/dev-util/mesa_clc/mesa_clc-26.0.4.ebuild new file mode 100644 index 0000000..4eda1cf --- /dev/null +++ b/dev-util/mesa_clc/mesa_clc-26.0.4.ebuild @@ -0,0 +1,123 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {18..22} ) +PYTHON_COMPAT=( python3_{11..14} ) + +inherit llvm-r1 meson python-any-r1 + +MY_PV="${PV/_/-}" + +DESCRIPTION="mesa_clc tool used for building OpenCL C to SPIR-V" +HOMEPAGE="https://mesa3d.org/" + +if [[ ${PV} == 9999 ]]; then + S="${WORKDIR}/mesa_clc-${MY_PV}" + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + S="${WORKDIR}/mesa-${MY_PV}" + SRC_URI="https://archive.mesa3d.org/mesa-${MY_PV}.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" + +VIDEO_CARDS="asahi panfrost" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done +IUSE="${IUSE_VIDEO_CARDS} debug" + +RDEPEND=" + dev-util/spirv-tools + $(llvm_gen_dep ' + dev-util/spirv-llvm-translator:${LLVM_SLOT} + llvm-core/clang:${LLVM_SLOT}= + =llvm-core/libclc-${LLVM_SLOT}* + llvm-core/llvm:${LLVM_SLOT}= + ') +" +DEPEND="${RDEPEND} + dev-libs/expat + >=virtual/zlib-1.2.8:= + x11-libs/libdrm +" +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + virtual/pkgconfig +" + +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 +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_configure() { + tools_enable video_cards_asahi asahi + tools_enable video_cards_panfrost panfrost + + tools_list() { + local tools="$(sort -u <<< "${1// /$'\n'}")" + echo "${tools//$'\n'/,}" + } + + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + + use debug && EMESON_BUILDTYPE=debug + + local emesonargs=( + -Dllvm=enabled + -Dshared-llvm=enabled + -Dmesa-clc=enabled + -Dinstall-mesa-clc=true + -Dprecomp-compiler=enabled + -Dinstall-precomp-compiler=true + -Dtools=$(tools_list "${TOOLS[*]}") + + -Dgallium-drivers='' + -Dvulkan-drivers='' + + # Set platforms empty to avoid the default "auto" setting. If + # platforms is empty meson.build will add surfaceless. + -Dplatforms='' + + -Dglx=disabled + -Dlibunwind=disabled + -Dzstd=disabled + + -Db_ndebug=$(usex debug false true) + ) + + meson_src_configure +} + +src_install() { + dobin "${BUILD_DIR}"/src/compiler/clc/mesa_clc + dobin "${BUILD_DIR}"/src/compiler/spirv/vtn_bindgen2 + use video_cards_asahi && dobin "${BUILD_DIR}"/src/asahi/clc/asahi_clc + use video_cards_panfrost && dobin "${BUILD_DIR}"/src/panfrost/clc/panfrost_compile +} + +# $1 - VIDEO_CARDS flag (check skipped for "--") +# other args - names of tools to enable +tools_enable() { + if [[ $1 == -- ]] || use $1; then + shift + TOOLS+=("$@") + fi +} diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest index c6369e7..777a2eb 100644 --- a/media-libs/mesa/Manifest +++ b/media-libs/mesa/Manifest @@ -3,6 +3,7 @@ DIST mesa-25.2.2.tar.xz 43626716 BLAKE2B bed81e32c05ebff6f2a76bb14387882eed48556 DIST mesa-25.2.3.tar.xz 43670524 BLAKE2B 1810c17e589f95f1e3b18f2562a0c193016a6b9aa260387d06b0750db7c1fb08e7ad1b2476caf79cde18fa919b320de2b12508228047e8ca3af13efb2046b3fe SHA512 e03c09de2a6482a87362c0bf4fab4f9b32ffa48935a8724eb83e75b246f1bfc59524d04ea7e8cbea34e5c6ad2a0793195a076fe2d27da8fb7e05f56c7662eac5 DIST mesa-25.2.4.tar.xz 43697664 BLAKE2B 5f9e89efb11977c8d86f92e705280af7dc136f4031d192571518c6fb9d73eb31c269f383ac5c008bece15ccc522a9cdcde4522f60cb8a626bbd9949a25856c76 SHA512 ec74e1cc101b68ad2462399554273a9debb3d93a05c0a315cde3259b250d5828cbcef7771049b52beb01d07c34122fa5257451409b1d2b7fdcbf055c0f2c863d DIST mesa-25.2.5.tar.xz 43723176 BLAKE2B 375237d23918e09b7dab4f4abd2c3b24a046521d6e247043c5fbeb7d8a33d71471b23572d254f0ad489a2533094568ef6f067a57977a7ccc1805aa735c3f8b7d SHA512 29e61b5ecb467a706e3279c0e79ddd8d55109c08f7856d35c4042f518a70622fb19cdd208a82317654e0396835cb3117b756a96d9a0693bfa33730a50bbbd1d0 +DIST mesa-26.0.4.tar.xz 43887688 BLAKE2B f83f98bae3c06f893c551e9d33cc2b655b8b74e8f5a54db0ce4cebec1451ef0fc66263b006a2c205ef2c491da831ae037cacb09fa5364cfd2d95a6ae7b77048f SHA512 ddb59df633116a7ccd9d2d3a2e2009945909e3f774956efcbc032a2f963641cce50d0f319bebdc041df17700aa827aa2ccbc61c9e40b4020de9ff027eab27e23 DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2 diff --git a/media-libs/mesa/mesa-26.0.4.ebuild b/media-libs/mesa/mesa-26.0.4.ebuild index 896db09..03354c0 100644 --- a/media-libs/mesa/mesa-26.0.4.ebuild +++ b/media-libs/mesa/mesa-26.0.4.ebuild @@ -3,7 +3,7 @@ EAPI=8 -LLVM_COMPAT=( {18..21} ) +LLVM_COMPAT=( {18..22} ) LLVM_OPTIONAL=1 CARGO_OPTIONAL=1 PYTHON_COMPAT=( python3_{11..14} )