summaryrefslogtreecommitdiff
path: root/dev-libs/opencl-clang
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-05-05 05:29:57 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-05-05 05:29:57 +0100
commit4e777c0133d093c9c8b992c92e0f244e2055bf71 (patch)
treed6fbeed2e9eb1b486babf5d6f4886da4bdba4dbc /dev-libs/opencl-clang
parent6f57e716c7968def6387f9db258e883125bab84f (diff)
gentoo auto-resync : 05:05:2023 - 05:29:57
Diffstat (limited to 'dev-libs/opencl-clang')
-rw-r--r--dev-libs/opencl-clang/Manifest6
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch36
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch23
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch40
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch26
-rw-r--r--dev-libs/opencl-clang/opencl-clang-16.0.0.ebuild42
6 files changed, 173 insertions, 0 deletions
diff --git a/dev-libs/opencl-clang/Manifest b/dev-libs/opencl-clang/Manifest
index 9e1daa49d76d..46a7c3fa7bba 100644
--- a/dev-libs/opencl-clang/Manifest
+++ b/dev-libs/opencl-clang/Manifest
@@ -1,7 +1,13 @@
AUX opencl-clang-10.0.0.1_find-llvm-tblgen.patch 379 BLAKE2B 23587b8500ad6215603326572a10aef71ce66fcec322834b7e6a7648bfee5a92ce698fa706ebd9cfc0fe3048005919b1d9ec1ebb1d4123412f2fd06593b64841 SHA512 b2e9ae0ceec231b33e2b70664c3cb7c56f5d30f62e2444c6a505c7ab300a463d32ad1a650e8afe1b1bd4b568b3a31c02c280ead3caa8a66548d96df16dc8f131
+AUX opencl-clang-16.0.0-clang_library_dir.patch 1671 BLAKE2B 182983a930084518ebb6d792cea82bfe5794a5e3621b5b003e9fe7d60c5c14bba85bb5de5fb2ee9f13aa4e9b0fea1f17fdb7a7f78942299a7205891dc600f7a0 SHA512 ad8da56c9dc18c82a72aede3f46d2047ac7b49b5ce8a297a65a61fbb5dd692e1f93d77ef4808f34db99a59b3f70c1d957b658dd849b510458e0fddb101f0039f
+AUX opencl-clang-16.0.0-cxx17.patch 727 BLAKE2B e5cfa0aa72e0322e1d5f4a062d88d92f163796ceab58c1d831b3a06d994d86bf565cc4cf79b53d90294c57b8c358e94c4f7b48294e759ed5fa2e65eee91906fa SHA512 4047bfa9a6e895ac5e9be5d19a625cd17ae01417f2c05b2ac34a91a1b671180c92855f909bd8f6e52037044f061567529c72cd87d5296e78ce30a3351fea5dd2
+AUX opencl-clang-16.0.0-llvm.patch 1419 BLAKE2B bfa1bc4a2252fe47f3c36294184b5ce151d840dc88e03b2eb6c228b7ca046363c899f9a497ac75d293ffaed08cda94f57921fefd17cfc7fedb2a9172eb0ebff1 SHA512 4f407a8272308e3f730b3b10ea082e956dade462700b2145b5b8c36b4653b5e46a834722b2314163abc4b4aa4f23b3783856588000853218b017bd27188573d3
+AUX opencl-clang-16.0.0-standalone-build.patch 967 BLAKE2B 35b0a40a6a2fe094711276b62ae53167560bd11ee6581a499568eaf8b2cf5e1a52aee30b5911604297c64e7262e55a07afc12a9dcc00862ecd0c2e1f9a982046 SHA512 9cba49fc8ccb12d38a5aaa9ee69c2425bdc069b2d2cd6d0157875157d67a3e1b5cedf3d7b3b081ca6012cedf7e60abb4ca205577f10dcff4f3a153758ddf520b
AUX opencl-clang-8.0.0-clang_library_dir.patch 468 BLAKE2B 09315ce9250920caf8c84853a5cf08506b01d91f7c993273be910b38f9c97f1f31e1042d75a111734eaa86fad771bed5b09c6c9001e253c71f26bd7c1e668dcd SHA512 c5a715c05c7bc7b904a46cac8d6a10f161da6d978401c5c60853a19dfb63c65690994bdc57fe327ee36bb5b6151a0018d6931c38553917f2dc82e9cef44e0b0d
DIST opencl-clang-14.0.0.tar.gz 26109 BLAKE2B 2ae5e6d69e2f13b867712d03b52fce893aeb70566f7f97d54858639786276f49b0b6b5768aebfedeb7fe50d95511178d7dd9df7e80d3fd27df1fb3fe1d2ab955 SHA512 ab9a3fd40542283bdd2646d9ef8d3217420c82a41b183d705e48f48949505ecadc1fa435e23a7ceadf5a335200f5f3752b42715e2ac7f63173fc09637c5c609a
DIST opencl-clang-15.0.0.tar.gz 26212 BLAKE2B 02d3a8eb3964b6882bd94b676b4459412c753ac38e1e3012662021e98a8219225eaf6af4f62f4e0e97de428f55b0b698374dc39babff09a0fcc73213d5daacfe SHA512 a2ffce43493793524e9512be2e7bd46c0183b86b35a6f79018d355d07a83303a944e6dacebfb768e88ce75a7020a44939be872a2d4e754544198a9829f4febd4
+DIST opencl-clang-16.0.0.tar.gz 28413 BLAKE2B c99f043171186f5d9e44618d5d637d6a5c7997f22577491f544e78d93edd5afe74ba88eaaea92a931dd87af71fb630fdf03d27f1a9f55d7c3b8bdf53dee54b07 SHA512 bf723edab7dc7a028eb79d01fd2306690a2169472760bf2783d593ffec4eb788f28f184c66b204cc074cb95a4149fcc63a1dcbee5563c620a9dc2c76bb5a2d5a
EBUILD opencl-clang-14.0.0.ebuild 879 BLAKE2B c8e67dc6c53a91e153bec1b9c22849ae0a56aa009ee3b317b8332858fc19cc2d28afbf4fe312dfed35bd0b0614e2e64498dc68c8cadcad83aa417b0948b7a34a SHA512 41e32bdafaf1a956120b0bce9ba5f792335a68145e7665d22d153398cee8923bb62b8c3777005bb34d9df9fde331e416b360ae9231e2e7dd53392e38e0e8c991
EBUILD opencl-clang-15.0.0.ebuild 842 BLAKE2B c516ee1dc3f7e4bb1c1be637b44f151b33a0d36921d907568f561f3be5bd3762d56b88468bb2d146ff57bbc708b6e006e4c10a83825ae536b93ce80edc105d9d SHA512 a12ff19192edfbb5f90adea21510454fc77b387ac44a35e9d70c0c25ded54dc4c9ed327394097a1eeb0f912507bf3354d2b2fe196bac21034e4a4dd05e9eb497
+EBUILD opencl-clang-16.0.0.ebuild 962 BLAKE2B d6e2726cf7e84a52788e4d37c745608332812809b011cd32c062ccbd1fcb4ea9f2a54a5ac77155413e43f4732bba16938d5a3944dd1d241e237adc7be317bb9f SHA512 95a602e66469f09687d99b0511e8e014508cddd5830e00d2b191257cfbb00400b84c43be433c72f76e7b3ac7a3b5d4efa9976aa157a6fbd434ebe4dcd372c786
MISC metadata.xml 583 BLAKE2B a16519cc07cd2add030b90218d3cdcf9473c684e0a1a0149e7dd352881213c8579c3ed7ceee69db479264fca10561ac023c01be7451ce689fa6408b81cf8b032 SHA512 d3c3f41c5c5fdb4b6b85c737071540ef8d53e148d5f7e69367eeaa6cbe7cb84563d2381de851cc4da41b5300856dd7e6b1e67454a4fc9a9d890590e3a17526b5
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch
new file mode 100644
index 000000000000..227a7be30b50
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch
@@ -0,0 +1,36 @@
+From 9f50367661bb6345bf7b18102f1e415378afda06 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <Zatloukal.Frantisek@gmail.com>
+Date: Fri, 21 Apr 2023 04:08:11 +0200
+Subject: [PATCH] Support llvm headers in
+ ${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/ (#419)
+
+Fedora places llvm include files into that directory instead of assumed
+${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/
+
+Try both, fail horribly when none of them exist
+---
+ cl_headers/CMakeLists.txt | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
+index 86df76f..0223d52 100644
+--- a/cl_headers/CMakeLists.txt
++++ b/cl_headers/CMakeLists.txt
+@@ -19,8 +19,15 @@ add_custom_command(
+ endfunction(copy_file)
+
+ if(USE_PREBUILT_LLVM)
+- set(OPENCL_HEADERS_DIR
+- "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
++ if(EXISTS "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/")
++ set(OPENCL_HEADERS_DIR
++ "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
++ elseif(EXISTS "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/")
++ set(OPENCL_HEADERS_DIR
++ "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/include/")
++ else()
++ message(FATAL_ERROR "[OPENCL-CLANG] Couldn't find prebuilt LLVM include directory.")
++ endif()
+ else(USE_PREBUILT_LLVM)
+ set(OPENCL_HEADERS_DIR "${CLANG_SOURCE_DIR}/lib/Headers")
+ endif(USE_PREBUILT_LLVM)
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch
new file mode 100644
index 000000000000..aa6c308630e8
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch
@@ -0,0 +1,23 @@
+From 5491ffa3fde5729074fe804023bd279c56684f77 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <Zatloukal.Frantisek@gmail.com>
+Date: Mon, 24 Apr 2023 10:29:36 +0200
+Subject: [PATCH] Bump CMAKE_CXX_STANDARD to 17 (#416)
+
+Fixes build issues
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dc471d8..a7d1927 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -58,7 +58,7 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+ ${CMAKE_MODULE_PATH}
+ ${LLVM_CMAKE_DIR})
+
+- set(CMAKE_CXX_STANDARD 14)
++ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+ option(LLVMSPIRV_INCLUDED_IN_LLVM
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch
new file mode 100644
index 000000000000..67759595b353
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch
@@ -0,0 +1,40 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -335,36 +335,7 @@
+ target_link_libraries( ${TARGET_NAME}
+ LINK_PRIVATE
+ ${OPENCL_CLANG_LINK_LIBS}
+- LLVMX86CodeGen
+- LLVMX86AsmParser
+- LLVMX86Desc
+- LLVMX86Info
+- LLVMX86Disassembler
+- LLVMAnalysis
+- LLVMCodeGen
+- LLVMCore
+- LLVMipo
+- LLVMInstCombine
+- LLVMInstrumentation
+- LLVMMC
+- LLVMMCParser
+- LLVMObjCARCOpts
+- LLVMOption
+- LLVMScalarOpts
+- LLVMSupport
+- LLVMTransformUtils
+- LLVMVectorize
+- LLVMAsmPrinter
+- LLVMSelectionDAG
+- LLVMMCDisassembler
+- LLVMProfileData
+- LLVMObject
+- LLVMBitWriter
+- LLVMIRReader
+- LLVMAsmParser
+- LLVMTarget
+- LLVMBitReader
+- ${OTHER_LIBRARIES}
++ LLVM
+ )
+
+ install(FILES opencl_clang.h
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch
new file mode 100644
index 000000000000..a85ec58df401
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch
@@ -0,0 +1,26 @@
+From 529a9188114bcbd8ed753d2276942384fa50d7a1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <Zatloukal.Frantisek@gmail.com>
+Date: Fri, 21 Apr 2023 04:07:21 +0200
+Subject: [PATCH] Fix standalone build (#415)
+
+Fixes https://github.com/intel/opencl-clang/issues/406
+Fixes https://github.com/intel/opencl-clang/issues/374
+---
+ cl_headers/CMakeLists.txt | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
+index 788adff..86df76f 100644
+--- a/cl_headers/CMakeLists.txt
++++ b/cl_headers/CMakeLists.txt
+@@ -1,5 +1,9 @@
+ set(CL_HEADERS_LIB cl_headers)
+-set(CLANG_COMMAND $<TARGET_FILE:clang> )
++if(USE_PREBUILT_LLVM)
++ find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
++else()
++ set(CLANG_COMMAND $<TARGET_FILE:clang>)
++endif()
+ if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL)
+ build_native_tool(clang CLANG_COMMAND)
+ endif()
diff --git a/dev-libs/opencl-clang/opencl-clang-16.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-16.0.0.ebuild
new file mode 100644
index 000000000000..b902e1ab200f
--- /dev/null
+++ b/dev-libs/opencl-clang/opencl-clang-16.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT="16"
+
+inherit cmake llvm
+
+DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
+HOMEPAGE="https://github.com/intel/opencl-clang"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV}"
+
+LICENSE="UoI-NCSA"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-util/spirv-llvm-translator:${SLOT}=
+ sys-devel/clang:${SLOT}=[static-analyzer]
+ sys-devel/llvm:${SLOT}=
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-16.0.0-clang_library_dir.patch
+ "${FILESDIR}"/${PN}-16.0.0-cxx17.patch
+ "${FILESDIR}"/${PN}-16.0.0-llvm.patch
+ "${FILESDIR}"/${PN}-16.0.0-standalone-build.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib
+ -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}