From 8232f2daff5e1c2caadf56b7f8e02c615b68155a Mon Sep 17 00:00:00 2001 From: Conrad Kostecki Date: Sat, 4 Oct 2025 16:49:56 +0200 Subject: [PATCH] dev-util/spirv-llvm-translator: add versions Signed-off-by: Conrad Kostecki --- dev-util/spirv-llvm-translator/Manifest | 8 +++ .../spirv-llvm-translator-15.0.17.ebuild | 66 +++++++++++++++++ .../spirv-llvm-translator-16.0.17.ebuild | 70 +++++++++++++++++++ .../spirv-llvm-translator-17.0.17.ebuild | 66 +++++++++++++++++ .../spirv-llvm-translator-18.1.17.ebuild | 66 +++++++++++++++++ .../spirv-llvm-translator-19.1.12.ebuild | 66 +++++++++++++++++ .../spirv-llvm-translator-20.1.7.ebuild | 69 ++++++++++++++++++ .../spirv-llvm-translator-21.1.1.ebuild | 67 ++++++++++++++++++ 8 files changed, 478 insertions(+) create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-15.0.17.ebuild create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.17.ebuild create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.17.ebuild create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.17.ebuild create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-19.1.12.ebuild create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-20.1.7.ebuild create mode 100644 dev-util/spirv-llvm-translator/spirv-llvm-translator-21.1.1.ebuild diff --git a/dev-util/spirv-llvm-translator/Manifest b/dev-util/spirv-llvm-translator/Manifest index a172f630be853..e062b3282f545 100644 --- a/dev-util/spirv-llvm-translator/Manifest +++ b/dev-util/spirv-llvm-translator/Manifest @@ -1,6 +1,14 @@ +DIST spirv-headers-01e0577914a75a2569c846778c2f93aa8e6feddd.tar.gz 545892 BLAKE2B 7e6e0b6e0963a983e89c5f54e99c8013c6a4f491c87440aedb3bf747ef4e99f14bb0e2a85d67570531dcb536d39b94dbbe7459f8f8d0209eca929d66d50eb03b SHA512 e2b90e95b6f492e640cd27c090d7072f0d03c8fc7382be67cbe176fc8f3fdd78b59f5f0b906198e09808fde645427f409cb9ab8fe4843de7f7dc5b510d454a0a DIST spirv-llvm-translator-15.0.15.tar.gz 1635429 BLAKE2B 821cd883481c63263b57b0fbf97776174e3e1f939639c4b83c244afdfcb0c06a73f829b56388f0f52eb2215fe4c04e96bc6ec24926947d055c5d9534cf5f470e SHA512 5f80d57ac61f5ed634bd8e967a1f365e27849555a39e5ca86cfbee0bbce80d8da05fec96b78d91bb7a5026da6c088e9b70593067aecb6b0fe4ce8e2fb2d749be +DIST spirv-llvm-translator-15.0.17.tar.gz 1654324 BLAKE2B 10226173ee596719a7eac7aa0b0eea5a0f919934602a68933357e71560088fd31e589d9428f6353d296d49c165c8cec0b7477a328966eedae3cefd36d58e07a3 SHA512 b997857b6d0f696729034ccc47f024f6db47c495178bd441f5658ae50f57cefdec7d3219ce1c2392f53b7729a43e7ca0161b030b727bc08562b6c173b32091a1 DIST spirv-llvm-translator-16.0.15.tar.gz 1675228 BLAKE2B ec05ac357a95afacf7ae2029582bb5d77424ba4558d1f70db6b0f1731af75d1a37a4f4e4df884deb8dc021a97aaa1f72b61a1f2ffcb646102822f1d33be77606 SHA512 c12bd2dbaf27d25198fce75e468e4f672ec91f0a78f77c52de69bcdc85868fe4f90ed64a1120faa66bc0960662a1c88b64c881cc4c867779293dd059a924ba96 +DIST spirv-llvm-translator-16.0.17.tar.gz 1690057 BLAKE2B 5b7000186c4a6e82c1387563f035d89f5b184b546c7df6089bf7faf8b8953e875815958f4c27d8eab053ae8cd060aedf89773de477fc6cb1f7ad7b75a5ee5914 SHA512 425ba32b4bd3accd839b5a908eb288ca9fad49b3cdf6f5c73261e58d58d68126c726a4d06deaee3bc81a9f24575258378db0ca9f1d5f858a37519205129e2323 DIST spirv-llvm-translator-17.0.15.tar.gz 1665393 BLAKE2B 6fb9543a3aad5a5f03490bbb35f0bbfecf4dd8e714c44bda47b2c278c0eeb3963603ff69e4736b9bf6ac2653893e2524f401b2ea20e60a4bb68dfa392488ffe0 SHA512 327b1ac0ae25d19983e359e1995a2d48fae3399cc0efc27abc0b5173b447d631a53e681fac079c456939cfb831f01631e4a28a68f04c7204567d25415d6a0442 +DIST spirv-llvm-translator-17.0.17.tar.gz 1682557 BLAKE2B edcdf389125b8c4d22f3eaf698b17a7ba73becb66413a1d08d132b97e7ce65e7704eef5494f569ab07bd4260d2f0c1d7af374bad5db7ccaf4d06ad9125191607 SHA512 5e11776f70f072059657b961681e6be0757c69bc4d25186e004fb654466e17f342ed3740f4a5238a01341cfde9a2e7f960aecc180bddaf948ae6c355ad311965 DIST spirv-llvm-translator-18.1.15.tar.gz 1731769 BLAKE2B 2a4beb813dff83614c0e81bb7018d43b564953eed4946fbaa4434a5c19078ac2cb91123e8daa35e6b2239cdba2f2dfa753ba08644b04a68797c859165871b587 SHA512 5f7f71b52f9ca26dcf44c787cddc61d94561ab85c444a340dc05a91387f217947fc7dccb97c1f7527afe8df15e1f039cb70c5caaf351ca6e6abfd46e0b3ba175 +DIST spirv-llvm-translator-18.1.17.tar.gz 1752452 BLAKE2B 4ecc66383f053e64dc4f83f78a1c6e58e9be612e679c1efafcf51b2aa5a6d74c5a3331c6599d496592e0c4e36754585cba946f908945f60a98d6f3052f1ec2f0 SHA512 1520c25fce16964d68b2fd197621c7a09566d5bf740af88cb6de9c3d02a49ffed4d1b12e8c1b0e7de1c0cd86a9ef8cff5d601f4774696d9d467c62f9a7b587a9 DIST spirv-llvm-translator-19.1.10.tar.gz 1778059 BLAKE2B 7a71771d29e6cdad323ade00a1a0875d5f125143e8c03ddc4df416e7b8b081e82fa9d9a14e63749026acdf92207e6fb775472ecb0e3a6184395f43bd46a7393e SHA512 1b57bfb3e83836414337d8be367ba25ba637b14e9bf02eeb7ce9b4f017e0ad4c0e59ece8ddbf4ae06cc7c50dbacd6da94e0d83af662aede05857c66b90061b93 +DIST spirv-llvm-translator-19.1.12.tar.gz 1797613 BLAKE2B 3c75a536fe16fb981316fbfdc7512e98382f180431727f7ab62210ba937b9f0b65b20999e6f5fd5d96505884fb91805c325a70e7738ca86f644666a51156a159 SHA512 4e4c2ab9591a9de637761e9158661e59ec8f1a8e9819ace05a04756b3251bdeb3903abf8ee7c1f448bfebeb8ba7210bbfa62f8bee72478c7e911daf0063bd573 DIST spirv-llvm-translator-20.1.5.tar.gz 1808451 BLAKE2B f849666e15ebc0f311071528616aca0a6e7c260924473c72071a5fea0c70f442c27c4f9ca5f28699542898f2504927e61fad77070fc878bec48dc5ef07d683b0 SHA512 e9445707933293ae401267dd344863823b9d4843b1426f2709d1f3a8cb77bc1e92b6ef1c12a91776c4d666f7d95f0a5c7996bf18d932f76155bfe1ace6e8b931 +DIST spirv-llvm-translator-20.1.7.tar.gz 1825065 BLAKE2B 88fe0e2719c5ab3131da9d19e101f5c22754698130c06740ae4f3949fcafe553af2dee1123f4991c556d128f0c95f4424592dae583f8da3836d7712dbed32b0b SHA512 678143234cf054e8fca275353287995c13385e03123fe0907b82a3dc16709f20a150dff2be7c604a70c9f6a64df93c2abf84978a5fbd53b4baba1164b420b467 +DIST spirv-llvm-translator-21.1.1.tar.gz 1831532 BLAKE2B 5f53436285506edcba37d9a2a805e5b4a05ffba093ed899542cb5e148f2f3894b013d3c079c1a646e9aa7c93ede15e0f267d8b9aaf7f0fe8c1795df1a165654a SHA512 51c58fd4f518701d771a5787c1c571099b4bfcd845b71038a04d07bc356b53a3952a9f258f89244ebf514a33052699961f2bfe9c83f6462851d26f6c5b283ce4 diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-15.0.17.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-15.0.17.ebuild new file mode 100644 index 0000000000000..8b4a00c80d0cd --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-15.0.17.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="01e0577914a75a2569c846778c2f93aa8e6feddd" +LLVM_COMPAT=( 15 ) +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake flag-o-matic llvm-r2 + +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 ~arm64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/spirv-tools + llvm-core/llvm:${SLOT}= +" +# We need to use currently newer spirv-headers, as stable release is too old.. +# DEPEND="${RDEPEND} +# >=dev-util/spirv-headers-1.4.313.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 +} + +src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_SPIRV}" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +src_test() { + lit "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.17.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.17.ebuild new file mode 100644 index 0000000000000..4dd80fbd258b6 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.17.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="01e0577914a75a2569c846778c2f93aa8e6feddd" +LLVM_COMPAT=( 16 ) +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake flag-o-matic llvm-r2 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 ~arm64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/spirv-tools + llvm-core/llvm:${SLOT}= +" +# We need to use currently newer spirv-headers, as stable release is too old.. +# DEPEND="${RDEPEND} +# >=dev-util/spirv-headers-1.4.313.0 +# " +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + llvm-core/clang:${SLOT} + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-16.0.0-ld_library_path.patch" +) + +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 +} + +src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_SPIRV}" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.17.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.17.ebuild new file mode 100644 index 0000000000000..1e6b54c43e8f1 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.17.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="01e0577914a75a2569c846778c2f93aa8e6feddd" +LLVM_COMPAT=( 17 ) +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake flag-o-matic llvm-r2 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 )" + +RDEPEND=" + dev-util/spirv-tools + llvm-core/llvm:${SLOT}= +" +# We need to use currently newer spirv-headers, as stable release is too old.. +# DEPEND="${RDEPEND} +# >=dev-util/spirv-headers-1.4.313.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 +} + +src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_SPIRV}" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.17.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.17.ebuild new file mode 100644 index 0000000000000..38a86e4fe2ae2 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.17.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="01e0577914a75a2569c846778c2f93aa8e6feddd" +LLVM_COMPAT=( 18 ) +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake-multilib flag-o-matic llvm-r2 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 )" + +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.313.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="$(get_llvm_prefix)" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_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 +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-19.1.12.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-19.1.12.ebuild new file mode 100644 index 0000000000000..161d93d1793c6 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-19.1.12.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="01e0577914a75a2569c846778c2f93aa8e6feddd" +LLVM_COMPAT=( 19 ) +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake-multilib flag-o-matic llvm-r2 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 )" + +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.313.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="$(get_llvm_prefix)" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_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 +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-20.1.7.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-20.1.7.ebuild new file mode 100644 index 0000000000000..9082c3a288ba0 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-20.1.7.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="01e0577914a75a2569c846778c2f93aa8e6feddd" +LLVM_COMPAT=( 20 ) +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake-multilib flag-o-matic llvm-r2 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 )" + +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.313.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="$(get_llvm_prefix)" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_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 +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-21.1.1.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-21.1.1.ebuild new file mode 100644 index 0000000000000..ea8e297cae8ac --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-21.1.1.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +HASH_SPIRV="01e0577914a75a2569c846778c2f93aa8e6feddd" +LLVM_COMPAT=( 21 ) +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake-multilib flag-o-matic llvm-r2 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 )" + +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.313.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="$(get_llvm_prefix)" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${WORKDIR}/SPIRV-Headers-${HASH_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 +}