diff --git a/dev-util/mesa_clc/Manifest b/dev-util/mesa_clc/Manifest index 6b85cb5538377..368431c241316 100644 --- a/dev-util/mesa_clc/Manifest +++ b/dev-util/mesa_clc/Manifest @@ -7,3 +7,4 @@ DIST mesa-25.2.1.tar.xz 43580684 BLAKE2B f7dd9dd570bc21def5b829747854143eef5fed5 DIST mesa-25.2.2.tar.xz 43626716 BLAKE2B bed81e32c05ebff6f2a76bb14387882eed48556737e30e2da2f5a02fbe9e9973f5fa05303e10e624bb703ef56c4fe2f48ab69f3d2806191969d73d99920b5abb SHA512 69cd7ed33d0856e227a0219a9d09e5eb2fad28162276b5971bff4f7102cf58b0d914131ad6543562cba230ce6fb9b2076d3b156b1b8c375e74722a143aee5379 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 diff --git a/dev-util/mesa_clc/mesa_clc-25.2.5.ebuild b/dev-util/mesa_clc/mesa_clc-25.2.5.ebuild new file mode 100644 index 0000000000000..06ac2597ae7f8 --- /dev/null +++ b/dev-util/mesa_clc/mesa_clc-25.2.5.ebuild @@ -0,0 +1,123 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {18..20} ) +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 + >=sys-libs/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 +}