summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/ispc/ispc-1.16.1.ebuild')
-rw-r--r--dev-lang/ispc/ispc-1.16.1.ebuild78
1 files changed, 78 insertions, 0 deletions
diff --git a/dev-lang/ispc/ispc-1.16.1.ebuild b/dev-lang/ispc/ispc-1.16.1.ebuild
new file mode 100644
index 000000000000..d71abadb585a
--- /dev/null
+++ b/dev-lang/ispc/ispc-1.16.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+LLVM_MAX_SLOT=12
+inherit cmake python-any-r1 llvm
+
+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 ~arm ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="BSD BSD-2 UoI-NCSA"
+SLOT="0"
+IUSE="examples"
+
+RDEPEND="<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ ${PYTHON_DEPS}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-9999-llvm.patch"
+)
+
+CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+pkg_setup() {
+ llvm_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
+ ewarn "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_test() {
+ # Inject path to prevent using system ispc
+ PATH="${BUILD_DIR}/bin:${PATH}" ${EPYTHON} ./run_tests.py || die "Testing failed under ${EPYTHON}"
+}
+
+src_install() {
+ dobin "${BUILD_DIR}"/bin/ispc
+ einstalldocs
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc -r examples
+ fi
+}