# Copyright 2023-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 LLVM_COMPAT=( {16..19} ) PYTHON_COMPAT=( python3_{10..13} ) inherit llvm-r1 meson python-any-r1 PN="mesa" MY_P="${P/_/-}" MY_PV="${PV:0:4}" DESCRIPTION="intel_clc tool used for building OpenCL C to SPIR-V" HOMEPAGE="https://mesa3d.org/" if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/intel_clc-${MY_PV}" EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" inherit git-r3 else GIT_COMMIT="dff14d102dfe006b69fcde3ea3cf04c2697d9689" SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${GIT_COMMIT}/mesa-${GIT_COMMIT}.tar.gz -> ${MY_P}.tar.gz" KEYWORDS="~amd64 ~x86" S="${WORKDIR}/mesa-${GIT_COMMIT}" fi LICENSE="MIT SGI-B-2.0" SLOT="0" IUSE="debug" RDEPEND=" llvm-core/libclc dev-util/spirv-tools >=sys-libs/zlib-1.2.8:= x11-libs/libdrm $(llvm_gen_dep ' dev-util/spirv-llvm-translator:${LLVM_SLOT} llvm-core/clang:${LLVM_SLOT}= llvm-core/llvm:${LLVM_SLOT}= ') " DEPEND="${RDEPEND} dev-libs/expat " 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() { PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" use debug && EMESON_BUILDTYPE=debug local emesonargs=( -Dllvm=enabled -Dshared-llvm=enabled -Dintel-clc=enabled -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/intel/compiler/intel_clc }