diff options
Diffstat (limited to 'dev-lang/ispc')
| -rw-r--r-- | dev-lang/ispc/Manifest | 1 | ||||
| -rw-r--r-- | dev-lang/ispc/ispc-1.29.0.ebuild | 97 |
2 files changed, 98 insertions, 0 deletions
diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest index 1e1a8eb3cb09..0c35d129a29f 100644 --- a/dev-lang/ispc/Manifest +++ b/dev-lang/ispc/Manifest @@ -1,2 +1,3 @@ DIST ispc-1.28.0.gh.tar.gz 20019120 BLAKE2B 8ec8d9663646b111649cab9c68955ae2e1fcb1a7964dc49681d921d1d0b7eb92b125a439ada181a43b341a99b531f1f525b34fc4dc1a9e3a0fb1b9aa927bbb8a SHA512 693549c635116ae6a4c9d0419869da1c69590d043c151111c0381e16a491a5c5477f040ff8fbffac8bc286f11eee27eda53b748b642eac3921aa3877ed4229b6 DIST ispc-1.28.2.gh.tar.gz 20021526 BLAKE2B 21012907bfd5f41c4bb4d2ae776a19ebf535615c9bc3af6db48ff61d39ff65ec26367cbf7ffca33ce64ee8d938d9617e1174f0fd8de400fa6d5f7642a98f0d9f SHA512 5fe5e7aff95c5e6805c6f0999659fec2cbae5fc187d75de22a069a3338f28b93fbc5d5c58edf4850e1741afa1cdf62b1aab877f1dbfafc81380fc85242cc0590 +DIST ispc-1.29.0.gh.tar.gz 20083746 BLAKE2B b83d6b92549e87765c796223119d688e268b6f078644ba3086f3a80766a5aeb4d781dbcd9649d945b31a72a9c8486de9555c7bd42fcbd990d83c5f9c3cc383b6 SHA512 f9f13c007433269b8a5a1ec520149eb10d14845126829fdf849539f182fb75d31eb8da667fe932b5b985fcae7e802d52e308b64b62d1dae9c7e179b16dc6339c diff --git a/dev-lang/ispc/ispc-1.29.0.ebuild b/dev-lang/ispc/ispc-1.29.0.ebuild new file mode 100644 index 000000000000..15ad86546076 --- /dev/null +++ b/dev-lang/ispc/ispc-1.29.0.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {18..21} ) +PYTHON_COMPAT=( python3_{11..14} ) + +inherit cmake dot-a 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 ' + llvm-core/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() { + # 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() { + lto-guarantee-fat + 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) + # prevent it from trying to find the git repo + -DGIT_BINARY=GIT_BINARY-NOTFOUND + ) + cmake_src_configure +} + +src_test() { + # Inject path to prevent using system ispc + local -x PATH="${BUILD_DIR}/bin:${PATH}" + "${EPYTHON}" ./scripts/run_tests.py "-j$(makeopts_jobs)" -v || + die "Testing failed under ${EPYTHON}" +} + +src_install() { + cmake_src_install + strip-lto-bytecode + + if use examples; then + docompress -x /usr/share/doc/${PF}/examples + dodoc -r examples + fi +} |
