From 9cc5ab99f03220b0e36e4a3ca3569e2c8cb5c32f Mon Sep 17 00:00:00 2001 From: Conrad Kostecki Date: Sat, 31 Oct 2026 23:40:05 +0100 Subject: [PATCH] dev-util/spirv-llvm-translator: add versions Signed-off-by: Conrad Kostecki --- dev-util/spirv-llvm-translator/Manifest | 6 ++ .../spirv-llvm-translator-18.1.28.ebuild | 74 ++++++++++++++++++ .../spirv-llvm-translator-19.1.23.ebuild | 71 +++++++++++++++++ .../spirv-llvm-translator-20.1.18.ebuild | 77 +++++++++++++++++++ .../spirv-llvm-translator-21.1.12.ebuild | 75 ++++++++++++++++++ .../spirv-llvm-translator-22.1.7.ebuild | 75 ++++++++++++++++++ .../spirv-llvm-translator-23.1.2.ebuild | 70 +++++++++++++++++ 7 files changed, 448 insertions(+) create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.28.ebuild create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-19.1.23.ebuild create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-20.1.18.ebuild create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-21.1.12.ebuild create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-22.1.7.ebuild create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-23.1.2.ebuild diff --git a/dev-util/spirv-llvm-translator/Manifest b/dev-util/spirv-llvm-translator/Manifest index e4823d6ddbebf..0211f2c81cd4e 100644 --- a/dev-util/spirv-llvm-translator/Manifest +++ b/dev-util/spirv-llvm-translator/Manifest @@ -4,8 +4,14 @@ DIST spirv-headers-04fd3caa1e8267e4d95c806cad901181728e1006.tar.gz 594644 BLAKE2 DIST spirv-headers-575b6512579ebde466ed3dfc04e413439d14d95d.tar.gz 570306 BLAKE2B dc9b2d8defe195fe60f6ec92f1f55c52f108fdec32bbe6761e3e70d0906245cfdd92aa69a1e3490b6a3aa661b2870d38749598dbc1047ac6ff84c22b30ebd5f6 SHA512 bbff94d40149d529d4c329f0d73597d8f404202198fd4f35316585915919254e7ead5a1caa928dba9f04591423da6bc33f73a308fc26d95de4bfa6eecb47384c DIST spirv-headers-cb42dec3830d3ac67fa449ecdc0c0f73d5e74498.tar.gz 595175 BLAKE2B b99ae50af5e87c24cd3ea49ce754829745eff321776ec022ce3ed6e28698faaaef0c88d58a476709757808aecc7cd2bab94c4bc5e3ad12f4c74f6ee9ea44dc88 SHA512 66fb59a2e1ce535c9a9cd9e5364e423b2055d5d3e589bd95c6100c2390214a9dd8c34e0bb6308cd3b596b8af208daf4b85721a654594831cb0e2f2e602358114 DIST spirv-llvm-translator-18.1.27.tar.gz 1799453 BLAKE2B 72561f246d61e77a723f6ca7b4bd2e3a235317153ad80e3f90e397d672178e89b2ef3695b84cdf061c549bab6d9b6b1a0b208b6ad9bbd87a0c222e0485e6eeaa SHA512 245f3e5ec1d89fb0339293b9d631b5b2f7226c152196b5777ed607d786b685392d0f5e6ee2f5778293e850830bd3f420884bfb4c7d0273032595a83574ec96f6 +DIST spirv-llvm-translator-18.1.28.tar.gz 1806358 BLAKE2B 321cfaa9dc6e22e11f1c727476074653efe8ba4aeeb1155cbeb2285e866a73eaf78c8ebbda507795b146436e1c6606d60f89de90196ea650df7dfc568b61c672 SHA512 8290e90ec4433d32a7b043f3ec3590f8f243365093a06e66877f4db9067fbac9883647c2998b648e896da13d05e6687ae26aea8dd0ea650d7000c0fb1185e189 DIST spirv-llvm-translator-19.1.22.tar.gz 1838110 BLAKE2B 8ba39a996cc60a2f1a4339f667956349abb0167f0c490eaeeb3268a36edd994da6f7632f8ca851fdb6beeb2e29558d744db6f94db37241436978df42414ddef8 SHA512 f8a18d23c130b1d862c855bb458c327627842226d7cc68c9cb1cc78c1d6d59577ce2d7a759a17611cc9c2eb18d5e867231773daf3bdef6f6a46591c547235db3 +DIST spirv-llvm-translator-19.1.23.tar.gz 1846827 BLAKE2B 5daac346f0a71e334709596301eb375fc451089e2fd612b5f50413ddd90d1dd9cabf8c6083142e92eabc0139f91dbdae7913594e2da3cf0e1a4e58c8dac31eb9 SHA512 31f2a24db436f75e78750cb97da0aca32d681a066e24d414479c93bb335066b81db8a737b4d1e1098e46406f562f6b70225cbd2f8eece15cd78f0b48795e2e98 DIST spirv-llvm-translator-20.1.17.tar.gz 1864206 BLAKE2B a4253682d633fbf0b35c335df397ce5a5c71c1a896617a184e2aac438ee909b9c1551f92498875d0453d1fb7d21fea2b4e8c1085e4025865d9d14a97d6a212e1 SHA512 d70b979b7144512ee6a27d00da5eeb9af9947f96e3e5f3fd2eb4c6619794408b921f8c503d62a566b0abd2282307dd1bcda71dfd517bbc80bf1e6ac0ca698d49 +DIST spirv-llvm-translator-20.1.18.tar.gz 1874253 BLAKE2B 0b1d924e138b5d3d435e056a9c9dbccdc26364406cad1f49b18c3a9bb67d333eaeebf071752e4ee289288888adc4b8839d9110c37a49d488c974e57ee7ea40b7 SHA512 b6e4e2b48f2527eca2039ac75fc1803011eec20a599f5b9246dbe5b7bc298200dfe64d7cab9c298c447836a9b4252b5855ae02f7496a2dfaa6ad5bd5a7df7f1c DIST spirv-llvm-translator-21.1.11.tar.gz 1869220 BLAKE2B a2a5a9c59669fe533b3aaf7e87c82a4cfafb75cfa30429da8d2993108c098b9d51224796188ad43205a1052393aefe3667b0ce7e3f8d897cd8470c121bfe61ff SHA512 ec3eeae0a441cf67afd0fcf4cd2091d247444164e4393318cfcc4f824d282c25c5ff533121a1f77bb79014d7f83f70d46977e0dc38944976ef9657d2b322ae02 +DIST spirv-llvm-translator-21.1.12.tar.gz 1878102 BLAKE2B 32408c5b4009062a3c050aecba34338e08ae2c0cb810786c86423fbfb96272f9bec3dde16a1de06dfe24dd1df7900c11c36ec148551ec3d3fc38b9e348ec68b9 SHA512 de51f3849480da26f9b9e5f29ec8771794392546db71f4d7e87daff53174144a519a712baadc0978cb908f9f8d991acc96f5a2d28038ac229645ec04ea434e27 DIST spirv-llvm-translator-22.1.6.tar.gz 1884210 BLAKE2B b20a0bcd6df8f914936f295d36546a4ec50e4baeea0f1c7e268adfa7cf9eb59835b5d2c1b07c3e4a3d5b61f8c79c141fca560ebf025fd23c65bf0c55bad4f273 SHA512 da0326c93a3988c11a32a298e82b07b33978e2d5ae080d65a243a8125017d63824d1d42d759232f7bf138663eba25e57e45b2d4b2e9f77c01f1e21b80353f461 +DIST spirv-llvm-translator-22.1.7.tar.gz 1892215 BLAKE2B 4fab2f7981aa93ab5bfc65f832c236a710a6c4db87631e14561f6e892896977411897a85b82376c1e5023f93763116af835a4b4dddce6eff283b62a01ec34575 SHA512 5b6200944064ad32f0b1702c5485531f8a4607b806e2d76bfb724c4f3a4878a98c321dc0374e18201c803bf1ced6e76af673575d520029b43298ba42c6d8d736 DIST spirv-llvm-translator-23.1.1.tar.gz 1928919 BLAKE2B b601d0c40e531eeb10aff3f82483ee003cee231886f23f82252cfde246507f44313644af4fd4a0d8f2cf651189af2f12069693058ac623b5ee9ae9632d5fb530 SHA512 fe2de5bfaffa95d20b81a15a11e6fdf6f7f190eebb4d6991cc36cd4670235d427e764437adbb5e572e5522cdfe8f0281a38e2fa088d9cadfc01f92cc844bba69 +DIST spirv-llvm-translator-23.1.2.tar.gz 1939238 BLAKE2B 88d9dc7ae48842942cb7d28f81be74a293d9756a9622eee69c6a0f7cd87308b0d19f2efc55a5d351b8093a4afc245d9a85148f0ef9007453536951030891b59d SHA512 fff2224f63926819e29d5f2daa54015b486497f131ecf4b563cfde75a594812a5c395b67971022be13de42d7429db1fc747c725c15978894baa3a62013d98777 diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.28.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.28.ebuild new file mode 100644 index 0000000000000..3653f83b786da --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.28.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="04fd3caa1e8267e4d95c806cad901181728e1006" +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake-multilib flag-o-matic multiprocessing + +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI=" + https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz + -> spirv-headers-${HASH_SPIRV}.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +IUSE="test" +RESTRICT=" + !test? ( test ) + arm? ( test ) + arm64? ( test ) + loong? ( test ) + riscv? ( test ) +" + +RDEPEND=" + dev-util/spirv-tools[${MULTILIB_USEDEP}] + llvm-core/llvm:${SLOT}=[${MULTILIB_USEDEP}] +" +# We need to use currently newer spirv-headers, as stable release is too old.. +# DEPEND="${RDEPEND} +# >=dev-util/spirv-headers-1.4.350.0 +# " +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + llvm-core/clang:${SLOT} + ) +" + +src_prepare() { + append-flags -fPIC + cmake_src_prepare + + # https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/2555 + sed -i -e 's/%triple/x86_64-unknown-linux-gnu/' test/DebugInfo/X86/*.ll || die +} + +multilib_src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_SPIRV}" + # -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/include/spirv" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${SLOT}" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +multilib_src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-19.1.23.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-19.1.23.ebuild new file mode 100644 index 0000000000000..e1805a33ad6d6 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-19.1.23.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="04fd3caa1e8267e4d95c806cad901181728e1006" +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake-multilib flag-o-matic multiprocessing + +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI=" + https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz + -> spirv-headers-${HASH_SPIRV}.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +IUSE="test" +RESTRICT=" + !test? ( test ) + arm? ( test ) + arm64? ( test ) + loong? ( test ) + riscv? ( test ) +" + +RDEPEND=" + dev-util/spirv-tools[${MULTILIB_USEDEP}] + llvm-core/llvm:${SLOT}=[${MULTILIB_USEDEP}] +" +# We need to use currently newer spirv-headers, as stable release is too old.. +# DEPEND="${RDEPEND} +# >=dev-util/spirv-headers-1.4.350.0 +# " +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + llvm-core/clang:${SLOT} + ) +" + +src_prepare() { + append-flags -fPIC + cmake_src_prepare +} + +multilib_src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_SPIRV}" + # -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/include/spirv" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${SLOT}" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +multilib_src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-20.1.18.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-20.1.18.ebuild new file mode 100644 index 0000000000000..29155674b9d79 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-20.1.18.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="04fd3caa1e8267e4d95c806cad901181728e1006" +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake-multilib flag-o-matic multiprocessing + +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI=" + https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz + -> spirv-headers-${HASH_SPIRV}.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +IUSE="test" +RESTRICT=" + !test? ( test ) + arm? ( test ) + arm64? ( test ) + loong? ( test ) + riscv? ( test ) +" + +RDEPEND=" + dev-util/spirv-tools[${MULTILIB_USEDEP}] + llvm-core/llvm:${SLOT}=[${MULTILIB_USEDEP}] +" +# We need to use currently newer spirv-headers, as stable release is too old.. +# DEPEND="${RDEPEND} +# >=dev-util/spirv-headers-1.4.350.0 +# " +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + llvm-core/clang:${SLOT} + ) +" + +PATCHES=( "${FILESDIR}"/${PN}-20.1.3-option-registered.patch ) + +src_prepare() { + append-flags -fPIC + cmake_src_prepare + + # do not force a specific LLVM version to find_package(), this only + # causes issues and we force a specific path anyway + sed -i -e '/find_package/s:${BASE_LLVM_VERSION}::' CMakeLists.txt || die +} + +multilib_src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_SPIRV}" + # -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/include/spirv" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${SLOT}" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +multilib_src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-21.1.12.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-21.1.12.ebuild new file mode 100644 index 0000000000000..7e0646d6bf788 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-21.1.12.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="04fd3caa1e8267e4d95c806cad901181728e1006" +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake-multilib flag-o-matic multiprocessing + +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI=" + https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz + -> spirv-headers-${HASH_SPIRV}.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +IUSE="test" +RESTRICT=" + !test? ( test ) + arm? ( test ) + arm64? ( test ) + loong? ( test ) + riscv? ( test ) +" + +RDEPEND=" + dev-util/spirv-tools[${MULTILIB_USEDEP}] + llvm-core/llvm:${SLOT}=[${MULTILIB_USEDEP}] +" +# We need to use currently newer spirv-headers, as stable release is too old.. +# DEPEND="${RDEPEND} +# >=dev-util/spirv-headers-1.4.350.0 +# " +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + llvm-core/clang:${SLOT} + ) +" + +src_prepare() { + append-flags -fPIC + cmake_src_prepare + + # do not force a specific LLVM version to find_package(), this only + # causes issues and we force a specific path anyway + sed -i -e '/find_package/s:${BASE_LLVM_VERSION}::' CMakeLists.txt || die +} + +multilib_src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_SPIRV}" + # -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/include/spirv" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${SLOT}" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +multilib_src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-22.1.7.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-22.1.7.ebuild new file mode 100644 index 0000000000000..7e0646d6bf788 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-22.1.7.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="04fd3caa1e8267e4d95c806cad901181728e1006" +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake-multilib flag-o-matic multiprocessing + +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI=" + https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz + -> spirv-headers-${HASH_SPIRV}.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +IUSE="test" +RESTRICT=" + !test? ( test ) + arm? ( test ) + arm64? ( test ) + loong? ( test ) + riscv? ( test ) +" + +RDEPEND=" + dev-util/spirv-tools[${MULTILIB_USEDEP}] + llvm-core/llvm:${SLOT}=[${MULTILIB_USEDEP}] +" +# We need to use currently newer spirv-headers, as stable release is too old.. +# DEPEND="${RDEPEND} +# >=dev-util/spirv-headers-1.4.350.0 +# " +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + llvm-core/clang:${SLOT} + ) +" + +src_prepare() { + append-flags -fPIC + cmake_src_prepare + + # do not force a specific LLVM version to find_package(), this only + # causes issues and we force a specific path anyway + sed -i -e '/find_package/s:${BASE_LLVM_VERSION}::' CMakeLists.txt || die +} + +multilib_src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_SPIRV}" + # -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/include/spirv" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${SLOT}" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +multilib_src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-23.1.2.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-23.1.2.ebuild new file mode 100644 index 0000000000000..a9f3241a974db --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-23.1.2.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake-multilib flag-o-matic multiprocessing + +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI=" + https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +IUSE="test" +RESTRICT=" + !test? ( test ) + arm? ( test ) + arm64? ( test ) + loong? ( test ) + riscv? ( test ) +" + +RDEPEND=" + dev-util/spirv-tools[${MULTILIB_USEDEP}] + llvm-core/llvm:${SLOT}=[${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND} + >=dev-util/spirv-headers-1.4.357.0 +" +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + llvm-core/clang:${SLOT} + ) +" + +src_prepare() { + append-flags -fPIC + cmake_src_prepare + + # do not force a specific LLVM version to find_package(), this only + # causes issues and we force a specific path anyway + sed -i -e '/find_package/s:${BASE_LLVM_VERSION}::' CMakeLists.txt || die +} + +multilib_src_configure() { + local mycmakeargs=( + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${SLOT}" + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/include/spirv" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +multilib_src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +}