commit:     9c56c3f7767d7f6b9b429600b96b3e518b5dd046
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 24 12:08:09 2020 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Thu Sep 24 12:11:02 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c56c3f7

dev-libs/opencl-clang:10: force rebuild on clang .0->.1 update

Works around Bug #743992. Hopefully LLVM upstream will not make
introducing breaking ABI changes in new patch releases a habit and such
hackery will not be required in the future.

Closes: https://bugs.gentoo.org/743992
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 .../opencl-clang/opencl-clang-10.0.0.1-r1.ebuild   | 42 +++++++++++++++++++++
 .../opencl-clang/opencl-clang-10.0.0.2-r1.ebuild   | 43 ++++++++++++++++++++++
 2 files changed, 85 insertions(+)

diff --git a/dev-libs/opencl-clang/opencl-clang-10.0.0.1-r1.ebuild 
b/dev-libs/opencl-clang/opencl-clang-10.0.0.1-r1.ebuild
new file mode 100644
index 00000000000..362abf92b92
--- /dev/null
+++ b/dev-libs/opencl-clang/opencl-clang-10.0.0.1-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib llvm
+
+MY_PV="$(ver_rs 3 -)"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
+HOMEPAGE="https://github.com/intel/opencl-clang";
+SRC_URI="https://github.com/intel/${PN}/archive/v${MY_PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="UoI-NCSA"
+SLOT="10"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}/${MY_P}"
+
+# Force a rebuild of this package once clang has been updated from 10.0.0 to 
10.0.1
+# in order to work around Bug #743992. Hopefully a one-time thing.
+DEPEND="~sys-devel/clang-10.0.1:10=[static-analyzer,${MULTILIB_USEDEP}]
+       sys-devel/llvm:10=[${MULTILIB_USEDEP}]
+       dev-util/spirv-llvm-translator:10=[${MULTILIB_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+LLVM_MAX_SLOT=10
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch
+       "${FILESDIR}"/${PN}-10.0.0.1_find-llvm-tblgen.patch
+)
+
+multilib_src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+               -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
+       )
+       cmake_src_configure
+}

diff --git a/dev-libs/opencl-clang/opencl-clang-10.0.0.2-r1.ebuild 
b/dev-libs/opencl-clang/opencl-clang-10.0.0.2-r1.ebuild
new file mode 100644
index 00000000000..1c81dddfcdf
--- /dev/null
+++ b/dev-libs/opencl-clang/opencl-clang-10.0.0.2-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+
+inherit cmake-multilib llvm
+
+MY_PV="$(ver_rs 3 -)"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
+HOMEPAGE="https://github.com/intel/opencl-clang";
+SRC_URI="https://github.com/intel/${PN}/archive/v${MY_PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="UoI-NCSA"
+SLOT="10"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}/${MY_P}"
+
+# Force a rebuild of this package once clang has been updated from 10.0.0 to 
10.0.1
+# in order to work around Bug #743992. Hopefully a one-time thing.
+DEPEND="~sys-devel/clang-10.0.1:10=[static-analyzer,${MULTILIB_USEDEP}]
+       sys-devel/llvm:10=[${MULTILIB_USEDEP}]
+       
>=dev-util/spirv-llvm-translator-10.0.0_p20200909:10=[${MULTILIB_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+LLVM_MAX_SLOT=10
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch
+       "${FILESDIR}"/${PN}-10.0.0.1_find-llvm-tblgen.patch
+)
+
+multilib_src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+               -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
+       )
+       cmake_src_configure
+}

Reply via email to