diff --git a/dev-util/mesa_clc/Manifest b/dev-util/mesa_clc/Manifest index 73253576c1685..cbc1c920448a1 100644 --- a/dev-util/mesa_clc/Manifest +++ b/dev-util/mesa_clc/Manifest @@ -3,3 +3,4 @@ DIST mesa-25.0.6.tar.xz 46824244 BLAKE2B c713cd547c8a1ddb68a329b15e8f94f99442e18 DIST mesa-25.0.7.tar.xz 46849080 BLAKE2B d5f4f8f8ff0ad934c23ba3202bfed9f35097db779a239ac531e2b0e2b22de54639d594863a1403ad205ffc2af2990d48c31808f479a4075b819cedc219a82e68 SHA512 825bbd8bc5507de147488519786c0200afacf97dae621c80ead24b2c5dd55c5a442757ac8452698ae611e9344025465080795cf8f2dc4eb7ce07b5cc521b2b5c DIST mesa-25.1.0.tar.xz 46937848 BLAKE2B 5057c6664ca135177d0ccf9cc0c6e0c6ea7efa4cff7ee626050bec1682c9e864dc684c5579eff6a9df77ac0f7280bf10e6e93474d0369de250ccf38c9dc7d104 SHA512 40298370727fa1ad6d59be8692dfef01c42e41780816e9b951a05f779c7acca127162d2d3cedfccb7bfe3834b9e917c2b9bc6cb76887488d919cb61741a1da1a DIST mesa-25.1.1.tar.xz 46974340 BLAKE2B 73618405dee247f7e3141f817ab66e5bbb6256d116cc1bb3eb86ed8c9511194891d3e68b3d7d36cdc3a68fab25a231da58e3bba2da7914e8c7d55ea861d50952 SHA512 8000fec61da3b7c0355b74458c52f8faeb562398a1882d68cd31a253848edd3333072521ec52f8c5c1a62d909afd6667803d43cb54027d0af3d944f1add27aae +DIST mesa-25.1.2.tar.xz 47001872 BLAKE2B 2c92a5fb09353034936951f75848fbc1da113a1c78391d781cecc61a8b2aed6e579f0c5e2cf95b213af0f8b8823c73dc48659cb51f124c3e1ee266bfed408189 SHA512 60ac5c5aea8460d5281558491838ef0af9d7ba9ab7fd71fa58b6914da154d171a6b3c8a1a6daeb6cc27ced63056c3a784b5172d33429600a3d89c2849f260114 diff --git a/dev-util/mesa_clc/mesa_clc-25.1.2.ebuild b/dev-util/mesa_clc/mesa_clc-25.1.2.ebuild new file mode 100644 index 0000000000000..aa398a41c00b3 --- /dev/null +++ b/dev-util/mesa_clc/mesa_clc-25.1.2.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 ~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 +}