summaryrefslogtreecommitdiff
path: root/dev-lang/ispc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-16 11:36:40 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-16 11:36:40 +0000
commit01264ef95477b8c1380cd3525278c507006685ee (patch)
treed6c4fb91c18374343eaec47509abf415b67092b3 /dev-lang/ispc
parent318a0f105173572144e82f93006399343d31ab8b (diff)
gentoo auto-resync : 16:02:2024 - 11:36:40
Diffstat (limited to 'dev-lang/ispc')
-rw-r--r--dev-lang/ispc/Manifest2
-rw-r--r--dev-lang/ispc/ispc-1.23.0.ebuild101
2 files changed, 103 insertions, 0 deletions
diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest
index 3f4349c0b6a8..436d9cd84273 100644
--- a/dev-lang/ispc/Manifest
+++ b/dev-lang/ispc/Manifest
@@ -1,3 +1,5 @@
DIST ispc-1.22.0.gh.tar.gz 19618494 BLAKE2B 0dae95d792e4d629b38a9775c2c600131374c69dfa086d6a67100e40e5005ef054b9a651f418e0452a19ee4e64ffd830bfaa787b14e706473e8fab1d2380f0fd SHA512 4436ea37003b4cbfefcbf4c18212d0e98536243ae8f01053817d579e04205a4dcd4ab7b2b282fec99fc617009fdbea340b348cf4a2134240d2fcfc6bcaf6b60c
+DIST ispc-1.23.0.gh.tar.gz 19624959 BLAKE2B 08cf817bdd4cd76121dd6c9586ef5f3f9296e7a3b509c51db6413fb62aee0b462ae8baa9fd9497b20c67d4df90149eba16a48b61dd8793c5b64c95a21b13e5d8 SHA512 34cd2572cdaf38f7911ffe52dfb7346f1607de1f81635bdf94e365dee810b30ddeb090eee4a592d9331bb051498172bfd868cd8de9c38bed388d7207a30ac0d8
EBUILD ispc-1.22.0-r1.ebuild 2290 BLAKE2B 7cf8a43e70237407bc7fb99e44c8b53ea0bb4ce63d2f4e6e21f5dc5a42d7e47f3cd02b5bbf1fbe80c55204573c5906899628bc9c3ecea9ccf1bc9d1316a7faf8 SHA512 bc67aab886b423087fd4c271d561c2c0f6b6b4f3517ee9bb2a06e1351d86b680b04b76e26692ba3172727d8a82506578105c8739ef3d0b35fe9a2043eba9374f
+EBUILD ispc-1.23.0.ebuild 2306 BLAKE2B a6dae4da1b616ed5dea9697f4ff1790aedfd2cdc5baa395453d84e161851da93b5e9e5eb53b28e0e37e5a53734c20618f7dde26df7171531e47ceb76c13d28c2 SHA512 4e10b8c3ed65044d23f29c4f27a89e4ef1f74a3840597e272d56be256b75d5afa33537541aeb67bee6f4a66c4ef6acbe83d3923adb48e5aaec5cefd046c5c7d9
MISC metadata.xml 509 BLAKE2B b605dfbff352fab4fcc58ad46f89f97d5db8522de237a0623021c521231798ad00b2b8cd82ce6840d86cfebbe185e6e767e8d0ec276b03a68554ecad20e6b96d SHA512 eae5fcfb0d56190f969ac83012624965b00bd757d8be0bbafce74ab1ea119dc4ee0c33076dd447fabf0a6a6d5f1e2783b54f6c59ebd7aa0a35a4a27df7db01f9
diff --git a/dev-lang/ispc/ispc-1.23.0.ebuild b/dev-lang/ispc/ispc-1.23.0.ebuild
new file mode 100644
index 000000000000..d0bde1e3bc6d
--- /dev/null
+++ b/dev-lang/ispc/ispc-1.23.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 )
+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
+}