commit:     a52d9a5deecee703456faa4714ef5a7648575d66
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 16 05:05:40 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Feb 16 05:40:11 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a52d9a5d

dev-lang/ispc: Bump to 1.23.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-lang/ispc/Manifest           |   1 +
 dev-lang/ispc/ispc-1.23.0.ebuild | 101 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 102 insertions(+)

diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest
index b89a21202d58..53250fe11e0d 100644
--- a/dev-lang/ispc/Manifest
+++ b/dev-lang/ispc/Manifest
@@ -1 +1,2 @@
 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

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
+}

Reply via email to