summaryrefslogtreecommitdiff
path: root/dev-lang/ispc
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/ispc')
-rw-r--r--dev-lang/ispc/Manifest2
-rw-r--r--dev-lang/ispc/ispc-1.25.1.ebuild95
2 files changed, 97 insertions, 0 deletions
diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest
index 8aaf0f14cb87..0a9883e5468c 100644
--- a/dev-lang/ispc/Manifest
+++ b/dev-lang/ispc/Manifest
@@ -1,5 +1,7 @@
DIST ispc-1.24.0.gh.tar.gz 19674211 BLAKE2B 246a079f03fa17f1ab4d80c55b992e92f44d5395e3f1feadee90c773771496ead4de0671b3869c70d5a93038d7c0ccaf9ed3ad5b5e40eb156d605a73150b15d9 SHA512 ad9feab1b5986471a52c775c1220ae46904ae952b33a14299f525eb03e004c6e1395dd171ddedee833892d57ad195ffddb234b26a2df42138fb1b2364b62803e
DIST ispc-1.25.0.gh.tar.gz 19805576 BLAKE2B 02daf70f7a7a0bbaf35799620f3475da117b42f2fb09ec2799c47617108b55e68cd241321d14bbbbf8968d48de38e98bd44565f967dfa97b7a66c87c32acedfb SHA512 0d5c23ce1e57f38a7563b1d2c4813cbb5aa082f19257d3831f8cef8f6bb51d0c8b9ecce142497c13015b64731c98afb0b13ebc80663c83ded9b005e1e1608fd5
+DIST ispc-1.25.1.gh.tar.gz 19804554 BLAKE2B 2f6fda1a3209307809780118ce917ec418f674ce2bc4d283af94166153de7a9627a833f7d4e9c0f3506f8ca3e54dae38fe0481d6eaf9e7fefd1cbaaa824c453c SHA512 467148ac7b5bcdc17cb580430e9a3c669f63b239802bc19e1e2d7dcb6762eeacfdc944f51cad6277ec52f5858e11d8f2a1d3e0b961eeb97a9081e6e2efd9e9b6
EBUILD ispc-1.24.0.ebuild 2311 BLAKE2B 210ae5d45f251430ff3309178ab00fd408c01a008dd35f189c0a8b81ce92479525d5f5a3c66031e824216d579c7a1a99c637fd9e78e2933f956c692fe66351f8 SHA512 9030944ba7d885493600e6986e30beb07141a4ff34e6e0c8157de5995684f6eadb9a8ab81fb607aae45a80a8a224ce06df7d490169bddf9cf22997adc71b8ce3
EBUILD ispc-1.25.0.ebuild 2086 BLAKE2B 7fa47be48648b663e5aa33a72512ad95d5ff062168f526535894cf0f3ab5dc5883ff6ba9d4e47faf24260bb2d680c279fbc87b28ecbf9b3648a182f3e17c7e36 SHA512 33a9691f53ceec0e0664247eccc21a7898126f4676b3d91e89574d43ea9bbf1c94617aa974266086dfe31f1568e9e62bc9e2cccac726310969b3ea0837a9cff6
+EBUILD ispc-1.25.1.ebuild 2086 BLAKE2B 7fa47be48648b663e5aa33a72512ad95d5ff062168f526535894cf0f3ab5dc5883ff6ba9d4e47faf24260bb2d680c279fbc87b28ecbf9b3648a182f3e17c7e36 SHA512 33a9691f53ceec0e0664247eccc21a7898126f4676b3d91e89574d43ea9bbf1c94617aa974266086dfe31f1568e9e62bc9e2cccac726310969b3ea0837a9cff6
MISC metadata.xml 509 BLAKE2B b605dfbff352fab4fcc58ad46f89f97d5db8522de237a0623021c521231798ad00b2b8cd82ce6840d86cfebbe185e6e767e8d0ec276b03a68554ecad20e6b96d SHA512 eae5fcfb0d56190f969ac83012624965b00bd757d8be0bbafce74ab1ea119dc4ee0c33076dd447fabf0a6a6d5f1e2783b54f6c59ebd7aa0a35a4a27df7db01f9
diff --git a/dev-lang/ispc/ispc-1.25.1.ebuild b/dev-lang/ispc/ispc-1.25.1.ebuild
new file mode 100644
index 000000000000..d6b6ef1352c9
--- /dev/null
+++ b/dev-lang/ispc/ispc-1.25.1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {17..19} )
+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() {
+ # 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)
+ # 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
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc -r examples
+ fi
+}