diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-12-31 17:46:47 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-12-31 17:46:47 +0000 |
commit | 027dc9b3977cd14e0c7ae52e7bf9370c3919afa1 (patch) | |
tree | 2e6c00a5d825e5224d67f2a4309d576d722b8a8b /dev-lang/ispc/ispc-1.22.0-r1.ebuild | |
parent | 0f7bcc64cee796c21b0ea6af6e171e89fd33966e (diff) |
gentoo auto-resync : 31:12:2023 - 17:46:47
Diffstat (limited to 'dev-lang/ispc/ispc-1.22.0-r1.ebuild')
-rw-r--r-- | dev-lang/ispc/ispc-1.22.0-r1.ebuild | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/dev-lang/ispc/ispc-1.22.0-r1.ebuild b/dev-lang/ispc/ispc-1.22.0-r1.ebuild new file mode 100644 index 000000000000..d05fa1f7195e --- /dev/null +++ b/dev-lang/ispc/ispc-1.22.0-r1.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +LLVM_MAX_SLOT=17 + +inherit cmake llvm multiprocessing python-any-r1 toolchain-funcs + +DESCRIPTION="Intel SPMD Program Compiler" +HOMEPAGE=" + https://ispc.github.io/ + https://github.com/ispc/ispc/ +" +SRC_URI=" + https://github.com/ispc/ispc/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD BSD-2 UoI-NCSA" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="examples gpu openmp test" +RESTRICT="!test? ( test )" + +DEPEND=" + <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):= + sys-libs/ncurses:= + gpu? ( dev-libs/level-zero:= ) + !openmp? ( dev-cpp/tbb:= ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + sys-devel/bison + sys-devel/flex + ${PYTHON_DEPS} +" + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + llvm_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + if use amd64; then + # On amd64 systems, build system enables x86/i686 build too. + # This ebuild doesn't even have multilib support, nor need it. + # https://bugs.gentoo.org/730062 + ewarn "Removing auto-x86 build on amd64" + sed -i -e 's:set(target_arch "i686"):return():' cmake/GenerateBuiltins.cmake || die + fi + + # do not require bundled gtest + mkdir -p ispcrt/tests/vendor/google/googletest || die + cat > ispcrt/tests/vendor/google/googletest/CMakeLists.txt <<-EOF || die + find_package(GTest) + EOF + # remove hacks that break unbundling + sed -i -e '/gmock/d' -e '/install/,$d' ispcrt/tests/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DARM_ENABLED=$(usex arm) + -DCMAKE_SKIP_RPATH=ON + -DISPC_INCLUDE_EXAMPLES=OFF + -DISPC_INCLUDE_TESTS=$(usex test) + -DISPC_INCLUDE_UTILS=OFF + -DISPCRT_BUILD_GPU=$(usex gpu) + -DISPCRT_BUILD_TASK_MODEL=$(usex openmp OpenMP TBB) + ) + cmake_src_configure +} + +src_test() { + # Inject path to prevent using system ispc + local -x PATH="${BUILD_DIR}/bin:${PATH}" + "${EPYTHON}" ./run_tests.py "-j$(makeopts_jobs)" -v || + die "Testing failed under ${EPYTHON}" +} + +src_install() { + cmake_src_install + + if use examples; then + docompress -x /usr/share/doc/${PF}/examples + dodoc -r examples + fi +} |