diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-05-24 00:07:11 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-05-24 00:07:11 +0100 |
commit | aa4954f71a3ba2293395a8cce2321a70c39c7554 (patch) | |
tree | 35665855d8a569dca2bdf52a7316e2503df68208 /dev-lang/ispc | |
parent | b3b92de25c3fc5f6bddc5e513027140591a0b2a5 (diff) |
gentoo auto-resync : 24:05:2024 - 00:07:11
Diffstat (limited to 'dev-lang/ispc')
-rw-r--r-- | dev-lang/ispc/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/ispc/ispc-1.24.0.ebuild | 101 |
2 files changed, 103 insertions, 0 deletions
diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest index 8fb3068c9f3e..a7ae68b8ce98 100644 --- a/dev-lang/ispc/Manifest +++ b/dev-lang/ispc/Manifest @@ -1,3 +1,5 @@ DIST ispc-1.23.0.gh.tar.gz 19624959 BLAKE2B 08cf817bdd4cd76121dd6c9586ef5f3f9296e7a3b509c51db6413fb62aee0b462ae8baa9fd9497b20c67d4df90149eba16a48b61dd8793c5b64c95a21b13e5d8 SHA512 34cd2572cdaf38f7911ffe52dfb7346f1607de1f81635bdf94e365dee810b30ddeb090eee4a592d9331bb051498172bfd868cd8de9c38bed388d7207a30ac0d8 +DIST ispc-1.24.0.gh.tar.gz 19674211 BLAKE2B 246a079f03fa17f1ab4d80c55b992e92f44d5395e3f1feadee90c773771496ead4de0671b3869c70d5a93038d7c0ccaf9ed3ad5b5e40eb156d605a73150b15d9 SHA512 ad9feab1b5986471a52c775c1220ae46904ae952b33a14299f525eb03e004c6e1395dd171ddedee833892d57ad195ffddb234b26a2df42138fb1b2364b62803e EBUILD ispc-1.23.0.ebuild 2305 BLAKE2B 522905c18bb87d34e244f1e5a956291ac2fafc1d8d5331fca62c2152d60d6458a0932079b3576d69ab6e23822520d8c0a62212ecd93e1341e99eac8dc5838498 SHA512 5aafda25901eaacc4706e23b2ca05db4f4debaa6b64076be1df1b0ef54111f935aaeb2db7056934e1281f979e70683a3c2bbe00696a7f8164ca97015d28d9b8c +EBUILD ispc-1.24.0.ebuild 2312 BLAKE2B 877c7ee9de0203f5880dd3fa627a4cab0189bedc8282c90e62f13a180f6b4adaf4e67a985bfb509536c7610a231c1b09e229ad155e87fe6f7f14979d3b2f8dcc SHA512 959e92cc3270f552ff302dfec4212a9b91a72463d49ea42fe3a852af110e972e6521e0431d613dfbb01e22c40534a179212136b1fc749d1bfd0a6cba09432488 MISC metadata.xml 509 BLAKE2B b605dfbff352fab4fcc58ad46f89f97d5db8522de237a0623021c521231798ad00b2b8cd82ce6840d86cfebbe185e6e767e8d0ec276b03a68554ecad20e6b96d SHA512 eae5fcfb0d56190f969ac83012624965b00bd757d8be0bbafce74ab1ea119dc4ee0c33076dd447fabf0a6a6d5f1e2783b54f6c59ebd7aa0a35a4a27df7db01f9 diff --git a/dev-lang/ispc/ispc-1.24.0.ebuild b/dev-lang/ispc/ispc-1.24.0.ebuild new file mode 100644 index 000000000000..0040707fe672 --- /dev/null +++ b/dev-lang/ispc/ispc-1.24.0.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {17..18} ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake llvm-r1 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=" + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') + sys-libs/ncurses:= + gpu? ( dev-libs/level-zero:= ) + !openmp? ( dev-cpp/tbb:= ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex + ${PYTHON_DEPS} +" + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + llvm-r1_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 + einfo "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 +} |