commit:     65348f0cb721bd7b1a16b44915ca70cfabcfc064
Author:     Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
AuthorDate: Sat Sep  5 21:41:48 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Sep 10 00:42:12 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65348f0c

dev-lang/ispc: Version bump to 1.14.0

Signed-off-by: Sebastian Parborg <darkdefende <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/ispc/Manifest                        |   1 +
 dev-lang/ispc/files/ispc-1.14.0-llvm-10.patch | 106 ++++++++++++++++++++++++++
 dev-lang/ispc/ispc-1.14.0.ebuild              |  65 ++++++++++++++++
 3 files changed, 172 insertions(+)

diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest
index b1de2c9d7ee..886b57a17be 100644
--- a/dev-lang/ispc/Manifest
+++ b/dev-lang/ispc/Manifest
@@ -1 +1,2 @@
 DIST ispc-1.13.0.tar.gz 19202295 BLAKE2B 
5fae81429acbda0d65d33e56609d05fb8b5a7db6dd0af5ff779d1e8954f6a98d1fcb0f7ecf0c1b9813630026557c21c2a70bfc87ed75959a8bd24e06fcd2e351
 SHA512 
d23c127beb9bb17e1ad2509f9ad51dd660c473458b939a6b64ca7f6319b3c2f25318ea2ceac00e4100a059f3f67fb97b6973f18e3432c82ff9691f2a08d15d5d
+DIST ispc-1.14.0.tar.gz 19454030 BLAKE2B 
3bd494f4357c7c756c6bc63c76ced37feb83e8f6f73b0adc9e432f37e905efe0f7fe5f8b153d3ccff3ac9f826d0c76f7c33f2a151887ab900088bab95e626856
 SHA512 
a1325a26804f08a357c84cb1d7266bd56d6d135314985337e057e39ddf556a7332922926e9d10db817048a8d5b491467de7261029a0a46726f330a00791ee8f8

diff --git a/dev-lang/ispc/files/ispc-1.14.0-llvm-10.patch 
b/dev-lang/ispc/files/ispc-1.14.0-llvm-10.patch
new file mode 100644
index 00000000000..7a76d99aca8
--- /dev/null
+++ b/dev-lang/ispc/files/ispc-1.14.0-llvm-10.patch
@@ -0,0 +1,106 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 13e66268..27ff8364 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -218,7 +218,7 @@ if (WASM_ENABLED)
+     list(APPEND ISPC_TARGETS wasm-i32x4)
+ endif()
+ 
+-set(CLANG_LIBRARY_LIST clangFrontend clangDriver clangSerialization 
clangParse clangSema clangAnalysis clangAST clangBasic clangEdit clangLex)
++set(CLANG_LIBRARY_LIST clang clang-cpp)
+ set(LLVM_COMPONENTS engine ipo bitreader bitwriter instrumentation linker 
option)
+ 
+ if (${LLVM_VERSION_NUMBER} VERSION_GREATER_EQUAL "10.0.0")
+@@ -402,11 +402,8 @@ if (ISPC_USE_ASAN)
+ endif()
+ 
+ # Link against Clang libraries
+-foreach(clangLib ${CLANG_LIBRARY_LIST})
+-    find_library(${clangLib}Path NAMES ${clangLib} HINTS ${LLVM_LIBRARY_DIRS})
+-    list(APPEND CLANG_LIBRARY_FULL_PATH_LIST ${${clangLib}Path})
+-endforeach()
+-target_link_libraries(${PROJECT_NAME} ${CLANG_LIBRARY_FULL_PATH_LIST})
++find_package(Clang REQUIRED)
++target_link_libraries(${PROJECT_NAME} ${CLANG_LIBRARY_LIST})
+ 
+ # Link against LLVM libraries
+ target_link_libraries(${PROJECT_NAME} ${LLVM_LIBRARY_LIST})
+diff --git a/src/llvmutil.cpp b/src/llvmutil.cpp
+index 06fab989..57a7130f 100644
+--- a/src/llvmutil.cpp
++++ b/src/llvmutil.cpp
+@@ -42,6 +42,7 @@
+ #include <llvm/IR/BasicBlock.h>
+ #include <llvm/IR/Instructions.h>
+ #include <llvm/IR/Module.h>
++#include <llvm/Support/raw_ostream.h>
+
+ #ifdef ISPC_GENX_ENABLED
+ #include <llvm/GenXIntrinsics/GenXIntrinsics.h>
+@@ -1394,7 +1395,7 @@ static void lDumpValue(llvm::Value *v, 
std::set<llvm::Value *> &done) {
+         return;
+ 
+     fprintf(stderr, "  ");
+-    v->dump();
++    v->print(llvm::outs(), false);
+     done.insert(v);
+ 
+     if (inst == NULL)
+diff --git a/src/opt.cpp b/src/opt.cpp
+index d78ac374..a607594a 100644
+--- a/src/opt.cpp
++++ b/src/opt.cpp
+@@ -142,7 +142,7 @@ static llvm::Pass *CreateFixBooleanSelectPass();
+                                                                        
getenv("FUNC"), strlen(getenv("FUNC")))))) {    \
+         fprintf(stderr, "Start of " NAME "\n");                               
                                         \
+         fprintf(stderr, "---------------\n");                                 
                                         \
+-        bb.dump();                                                            
                                         \
++        bb.print(llvm::outs(), false);                                        
                                       \
+         fprintf(stderr, "---------------\n\n");                               
                                         \
+     } else /* eat semicolon */
+ 
+@@ -152,7 +152,7 @@ static llvm::Pass *CreateFixBooleanSelectPass();
+                                                                        
getenv("FUNC"), strlen(getenv("FUNC")))))) {    \
+         fprintf(stderr, "End of " NAME " %s\n", modifiedAny ? "** CHANGES **" 
: "");                                   \
+         fprintf(stderr, "---------------\n");                                 
                                         \
+-        bb.dump();                                                            
                                         \
++        bb.print(llvm::outs(), false);                                        
                                       \
+         fprintf(stderr, "---------------\n\n");                               
                                         \
+     } else /* eat semicolon */
+ #else
+@@ -453,7 +453,7 @@ void Optimize(llvm::Module *module, int optLevel) {
+ #ifndef ISPC_NO_DUMPS
+     if (g->debugPrint) {
+         printf("*** Code going into optimization ***\n");
+-        module->dump();
++        module->print(llvm::outs(), nullptr);
+     }
+ #endif
+     DebugPassManager optPM;
+@@ -666,7 +666,7 @@ void Optimize(llvm::Module *module, int optLevel) {
+ #ifndef ISPC_NO_DUMPS
+     if (g->debugPrint) {
+         printf("\n*****\nFINAL OUTPUT\n*****\n");
+-        module->dump();
++        module->print(llvm::outs(), nullptr);
+     }
+ #endif
+ }
+@@ -4256,7 +4256,7 @@ char DebugPass::ID = 0;
+ bool DebugPass::runOnModule(llvm::Module &module) {
+     fprintf(stderr, "%s", str_output);
+     fflush(stderr);
+-    module.dump();
++    module.print(llvm::outs(), nullptr);
+     return true;
+ }
+ 
+@@ -4303,7 +4303,7 @@ void DebugPassFile::run(llvm::Module &module, bool init) 
{
+     snprintf(fname, sizeof(fname), "%s_%d_%s.ll", init ? "init" : "ir", pnum, 
sanitize(std::string(pname)).c_str());
+     llvm::raw_fd_ostream OS(fname, EC, llvm::sys::fs::F_None);
+     Assert(!EC && "IR dump file creation failed!");
+-    module.print(OS, 0);
++    module.print(OS, nullptr);
+ }
+ 
+ bool DebugPassFile::runOnModule(llvm::Module &module) {

diff --git a/dev-lang/ispc/ispc-1.14.0.ebuild b/dev-lang/ispc/ispc-1.14.0.ebuild
new file mode 100644
index 00000000000..f5ecbcdb7ea
--- /dev/null
+++ b/dev-lang/ispc/ispc-1.14.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9} )
+
+inherit cmake toolchain-funcs python-any-r1
+
+DESCRIPTION="Intel SPMD Program Compiler"
+HOMEPAGE="https://ispc.github.com/";
+
+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"
+SLOT="0"
+IUSE="examples"
+
+RDEPEND="
+       >=sys-devel/clang-3.0:*
+       >=sys-devel/llvm-3.0:*
+       "
+DEPEND="
+       ${RDEPEND}
+       ${PYTHON_DEPS}
+       "
+BDEPEND="
+       sys-devel/bison
+       sys-devel/flex
+       "
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.13.0-cmake-gentoo-release.patch"
+       "${FILESDIR}/${PN}-1.14.0-llvm-10.patch"
+       "${FILESDIR}/${PN}-1.13.0-werror.patch"
+)
+
+src_configure() {
+       local mycmakeargs=(
+               "-DARM_ENABLED=$(usex arm)"
+       )
+       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 "${BUILD_DIR}"/examples/*
+       fi
+}
+
+src_test() {
+       ${EPYTHON} run_tests.py || die "Testing failed."
+}

Reply via email to