summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/ispc')
-rw-r--r--dev-lang/ispc/Manifest1
-rw-r--r--dev-lang/ispc/ispc-1.16.0.ebuild83
-rw-r--r--dev-lang/ispc/ispc-9999.ebuild6
3 files changed, 87 insertions, 3 deletions
diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest
index 27426f4de709..30167e29bb81 100644
--- a/dev-lang/ispc/Manifest
+++ b/dev-lang/ispc/Manifest
@@ -1 +1,2 @@
DIST ispc-1.14.1.tar.gz 19454189 BLAKE2B 615698e64ffbd2c82808d6ddd0b5b90f7c52bb8c202a04364d63af26f0e062631f4a8ad01895c1a4f1a8f11e7f91aec381354ddd873d0a4f2908431dcaabe383 SHA512 468e8a44408047ba7b43dc4baf05c2659093b986e131ebe973954ff3b9cf707a4ed22c705b6e01a9abc9a3911669ab31cd191449442c4ac73112a1297da32c5e
+DIST ispc-1.16.0.tar.gz 19548153 BLAKE2B 9b6d9329430d59041a76c20332b527560afa47a5585652abdf93aedb7907483d1647c829f2bd3f396cd53301bc79367cd91606b90a543fa8bec2f6ab34452989 SHA512 8469db4e3e9834477345b431162543f1c8e680aa9834c9a50239781dc7febfdde0561c2f13d1387e37f95a18c4376a85cb9cbae33cb614dc8977dfc9f47da215
diff --git a/dev-lang/ispc/ispc-1.16.0.ebuild b/dev-lang/ispc/ispc-1.16.0.ebuild
new file mode 100644
index 000000000000..8c7854a77667
--- /dev/null
+++ b/dev-lang/ispc/ispc-1.16.0.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8,9,10} )
+
+inherit cmake python-any-r1 llvm
+
+LLVM_MAX_SLOT=12
+
+DESCRIPTION="Intel SPMD Program Compiler"
+HOMEPAGE="https://ispc.github.io/"
+
+if [[ ${PV} = *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ispc/ispc.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD BSD-2 UoI-NCSA"
+SLOT="0"
+IUSE="examples"
+
+RDEPEND="<sys-devel/clang-13:="
+DEPEND="
+ ${RDEPEND}
+ ${PYTHON_DEPS}
+ "
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ "
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.13.0-cmake-gentoo-release.patch"
+ "${FILESDIR}/${PN}-9999-llvm.patch"
+)
+
+CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+llvm_check_deps() {
+ has_version -d "sys-devel/clang:${LLVM_SLOT}"
+}
+
+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
+ elog "Removing auto-x86 build on amd64"
+ sed -i -e 's:set(target_arch "i686"):return():' cmake/GenerateBuiltins.cmake || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ "-DARM_ENABLED=$(usex arm)"
+ "-DCMAKE_SKIP_RPATH=ON"
+ "-DISPC_NO_DUMPS=ON"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ dobin "${BUILD_DIR}"/bin/ispc
+ dodoc README.md
+
+ if use examples; then
+ insinto "/usr/share/doc/${PF}/examples"
+ docompress -x "/usr/share/doc/${PF}/examples"
+ doins -r "${S}"/examples/*
+ fi
+}
+
+src_test() {
+ # Inject path to prevent using system ispc
+ PATH="${BUILD_DIR}/bin:${PATH}" ${EPYTHON} ./run_tests.py || die "Testing failed under ${EPYTHON}"
+}
diff --git a/dev-lang/ispc/ispc-9999.ebuild b/dev-lang/ispc/ispc-9999.ebuild
index 8cc95c5d7497..8c7854a77667 100644
--- a/dev-lang/ispc/ispc-9999.ebuild
+++ b/dev-lang/ispc/ispc-9999.ebuild
@@ -3,9 +3,9 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{8,9,10} )
-inherit cmake toolchain-funcs python-any-r1 llvm
+inherit cmake python-any-r1 llvm
LLVM_MAX_SLOT=12
@@ -15,9 +15,9 @@ HOMEPAGE="https://ispc.github.io/"
if [[ ${PV} = *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ispc/ispc.git"
- KEYWORDS=""
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
fi
LICENSE="BSD BSD-2 UoI-NCSA"