commit: 1d7bc2315472f1240c78bcf7638c5401053426e5 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Thu Nov 10 17:00:56 2022 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Thu Nov 10 17:02:16 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d7bc231
dev-libs/libclc: Support building SPIRV targets Closes: https://bugs.gentoo.org/880679 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> ...-15.0.4.9999.ebuild => libclc-15.0.4-r1.ebuild} | 29 +++++++++++++++----- dev-libs/libclc/libclc-15.0.4.9999.ebuild | 27 ++++++++++++++---- dev-libs/libclc/libclc-16.0.0.9999.ebuild | 32 +++++++++++++++++----- dev-libs/libclc/libclc-16.0.0_pre20221104.ebuild | 32 +++++++++++++++++----- dev-libs/libclc/metadata.xml | 3 ++ 5 files changed, 96 insertions(+), 27 deletions(-) diff --git a/dev-libs/libclc/libclc-15.0.4.9999.ebuild b/dev-libs/libclc/libclc-15.0.4-r1.ebuild similarity index 70% copy from dev-libs/libclc/libclc-15.0.4.9999.ebuild copy to dev-libs/libclc/libclc-15.0.4-r1.ebuild index 340ab1225b37..f68055e81f44 100644 --- a/dev-libs/libclc/libclc-15.0.4.9999.ebuild +++ b/dev-libs/libclc/libclc-15.0.4-r1.ebuild @@ -11,17 +11,25 @@ HOMEPAGE="https://libclc.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )" SLOT="0" -KEYWORDS="" -IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi" -IUSE="${IUSE_VIDEO_CARDS}" +KEYWORDS="~amd64" +IUSE="spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi" LLVM_MAX_SLOT=15 BDEPEND=" ${PYTHON_DEPS} || ( - sys-devel/clang:15 - sys-devel/clang:14 - sys-devel/clang:13 + ( + sys-devel/clang:15 + spirv? ( dev-util/spirv-llvm-translator:15 ) + ) + ( + sys-devel/clang:14 + spirv? ( dev-util/spirv-llvm-translator:14 ) + ) + ( + sys-devel/clang:13 + spirv? ( dev-util/spirv-llvm-translator:13 ) + ) ) " @@ -29,6 +37,10 @@ LLVM_COMPONENTS=( libclc ) llvm.org_set_globals llvm_check_deps() { + if use spirv; then + has_version -b "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || + return 1 + fi has_version -b "sys-devel/clang:${LLVM_SLOT}" } @@ -40,6 +52,10 @@ pkg_setup() { src_configure() { local libclc_targets=() + use spirv && libclc_targets+=( + "spirv-mesa3d-" + "spirv64-mesa3d-" + ) use video_cards_nvidia && libclc_targets+=( "nvptx--" "nvptx64--" @@ -54,7 +70,6 @@ src_configure() { "amdgcn-mesa-mesa3d" "amdgcn--amdhsa" ) - # TODO: spirv [[ ${#libclc_targets[@]} ]] || die "libclc target missing!" libclc_targets=${libclc_targets[*]} diff --git a/dev-libs/libclc/libclc-15.0.4.9999.ebuild b/dev-libs/libclc/libclc-15.0.4.9999.ebuild index 340ab1225b37..94f834e120c6 100644 --- a/dev-libs/libclc/libclc-15.0.4.9999.ebuild +++ b/dev-libs/libclc/libclc-15.0.4.9999.ebuild @@ -12,16 +12,24 @@ HOMEPAGE="https://libclc.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )" SLOT="0" KEYWORDS="" -IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi" -IUSE="${IUSE_VIDEO_CARDS}" +IUSE="spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi" LLVM_MAX_SLOT=15 BDEPEND=" ${PYTHON_DEPS} || ( - sys-devel/clang:15 - sys-devel/clang:14 - sys-devel/clang:13 + ( + sys-devel/clang:15 + spirv? ( dev-util/spirv-llvm-translator:15 ) + ) + ( + sys-devel/clang:14 + spirv? ( dev-util/spirv-llvm-translator:14 ) + ) + ( + sys-devel/clang:13 + spirv? ( dev-util/spirv-llvm-translator:13 ) + ) ) " @@ -29,6 +37,10 @@ LLVM_COMPONENTS=( libclc ) llvm.org_set_globals llvm_check_deps() { + if use spirv; then + has_version -b "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || + return 1 + fi has_version -b "sys-devel/clang:${LLVM_SLOT}" } @@ -40,6 +52,10 @@ pkg_setup() { src_configure() { local libclc_targets=() + use spirv && libclc_targets+=( + "spirv-mesa3d-" + "spirv64-mesa3d-" + ) use video_cards_nvidia && libclc_targets+=( "nvptx--" "nvptx64--" @@ -54,7 +70,6 @@ src_configure() { "amdgcn-mesa-mesa3d" "amdgcn--amdhsa" ) - # TODO: spirv [[ ${#libclc_targets[@]} ]] || die "libclc target missing!" libclc_targets=${libclc_targets[*]} diff --git a/dev-libs/libclc/libclc-16.0.0.9999.ebuild b/dev-libs/libclc/libclc-16.0.0.9999.ebuild index 7a22bf15d80d..ed252b9ab52d 100644 --- a/dev-libs/libclc/libclc-16.0.0.9999.ebuild +++ b/dev-libs/libclc/libclc-16.0.0.9999.ebuild @@ -12,17 +12,28 @@ HOMEPAGE="https://libclc.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )" SLOT="0" KEYWORDS="" -IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi" -IUSE="${IUSE_VIDEO_CARDS}" +IUSE="spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi" LLVM_MAX_SLOT=16 BDEPEND=" ${PYTHON_DEPS} || ( - sys-devel/clang:16 - sys-devel/clang:15 - sys-devel/clang:14 - sys-devel/clang:13 + ( + sys-devel/clang:16 + spirv? ( dev-util/spirv-llvm-translator:16 ) + ) + ( + sys-devel/clang:15 + spirv? ( dev-util/spirv-llvm-translator:15 ) + ) + ( + sys-devel/clang:14 + spirv? ( dev-util/spirv-llvm-translator:14 ) + ) + ( + sys-devel/clang:13 + spirv? ( dev-util/spirv-llvm-translator:13 ) + ) ) " @@ -30,6 +41,10 @@ LLVM_COMPONENTS=( libclc ) llvm.org_set_globals llvm_check_deps() { + if use spirv; then + has_version -b "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || + return 1 + fi has_version -b "sys-devel/clang:${LLVM_SLOT}" } @@ -41,6 +56,10 @@ pkg_setup() { src_configure() { local libclc_targets=() + use spirv && libclc_targets+=( + "spirv-mesa3d-" + "spirv64-mesa3d-" + ) use video_cards_nvidia && libclc_targets+=( "nvptx--" "nvptx64--" @@ -55,7 +74,6 @@ src_configure() { "amdgcn-mesa-mesa3d" "amdgcn--amdhsa" ) - # TODO: spirv [[ ${#libclc_targets[@]} ]] || die "libclc target missing!" libclc_targets=${libclc_targets[*]} diff --git a/dev-libs/libclc/libclc-16.0.0_pre20221104.ebuild b/dev-libs/libclc/libclc-16.0.0_pre20221104.ebuild index 7a22bf15d80d..ed252b9ab52d 100644 --- a/dev-libs/libclc/libclc-16.0.0_pre20221104.ebuild +++ b/dev-libs/libclc/libclc-16.0.0_pre20221104.ebuild @@ -12,17 +12,28 @@ HOMEPAGE="https://libclc.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )" SLOT="0" KEYWORDS="" -IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi" -IUSE="${IUSE_VIDEO_CARDS}" +IUSE="spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi" LLVM_MAX_SLOT=16 BDEPEND=" ${PYTHON_DEPS} || ( - sys-devel/clang:16 - sys-devel/clang:15 - sys-devel/clang:14 - sys-devel/clang:13 + ( + sys-devel/clang:16 + spirv? ( dev-util/spirv-llvm-translator:16 ) + ) + ( + sys-devel/clang:15 + spirv? ( dev-util/spirv-llvm-translator:15 ) + ) + ( + sys-devel/clang:14 + spirv? ( dev-util/spirv-llvm-translator:14 ) + ) + ( + sys-devel/clang:13 + spirv? ( dev-util/spirv-llvm-translator:13 ) + ) ) " @@ -30,6 +41,10 @@ LLVM_COMPONENTS=( libclc ) llvm.org_set_globals llvm_check_deps() { + if use spirv; then + has_version -b "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || + return 1 + fi has_version -b "sys-devel/clang:${LLVM_SLOT}" } @@ -41,6 +56,10 @@ pkg_setup() { src_configure() { local libclc_targets=() + use spirv && libclc_targets+=( + "spirv-mesa3d-" + "spirv64-mesa3d-" + ) use video_cards_nvidia && libclc_targets+=( "nvptx--" "nvptx64--" @@ -55,7 +74,6 @@ src_configure() { "amdgcn-mesa-mesa3d" "amdgcn--amdhsa" ) - # TODO: spirv [[ ${#libclc_targets[@]} ]] || die "libclc target missing!" libclc_targets=${libclc_targets[*]} diff --git a/dev-libs/libclc/metadata.xml b/dev-libs/libclc/metadata.xml index 072910296ca3..7518ab30a1c7 100644 --- a/dev-libs/libclc/metadata.xml +++ b/dev-libs/libclc/metadata.xml @@ -7,4 +7,7 @@ <upstream> <remote-id type="github">llvm/llvm-project</remote-id> </upstream> + <use> + <flag name="spirv">Build SPIRV targets</flag> + </use> </pkgmetadata>