diff options
Diffstat (limited to 'dev-util')
39 files changed, 1637 insertions, 2 deletions
diff --git a/dev-util/Tensile/Manifest b/dev-util/Tensile/Manifest index fb3ece6affa2..d1b28f2f3397 100644 --- a/dev-util/Tensile/Manifest +++ b/dev-util/Tensile/Manifest @@ -2,3 +2,4 @@ DIST rocm-Tensile-5.7.1.tar.gz 12396002 BLAKE2B ec2c2bc3f07fe22abd800b642c998ea8 DIST rocm-Tensile-6.1.1.tar.gz 12675289 BLAKE2B dfe3698d7dda14d5b20a6fe1ef6535ac9737ac330b71678a3a94e939adc2350e2dcf33e58c711ee90dae543efba59fe210bfa39fc69b63910ec4537db3f209bf SHA512 cf8b014b1ff7cd5d45236b8a9a6f5604b02e34a9245a163c672847b535d565151bf7e3a5127601681e80e6fe26964a0e544594044efe2fe68e39b0f1128f96e2 DIST rocm-Tensile-6.3.2.tar.gz 12723907 BLAKE2B aaabae87664340f3e044ac5fdc68331084cd597466f294d60f8ed3d523c0f1ebc0c6e3e353585d4bb85f4fe30c644b1a70f2123b6f62d67a6b7a1904f3d820bb SHA512 df8888d7250f9e3dc6818590c82a3e1dc3ff787e0eac29e45969ef408db92261d39faca29f5ac7a6bae5e5b614365ff6e37d087956697c25c65d9d7e4c1ba74d DIST rocm-Tensile-6.3.3.tar.gz 12723968 BLAKE2B e8c14f85dd44767b685595180974d683d759f84fc044e98974beae107f78ec97d43de30232ea0bd3578aa6cd40e17309d603ce583925ed4dd65cc146241e5b7d SHA512 836e17aab29ace976595c5b3fbc6b1742c774eb0420488a1449e04649c424e5a877168cf71de96fddcfbad337e295206ec456aea7649fe9e67a8802739ddbabe +DIST rocm-Tensile-6.4.1.tar.gz 12731537 BLAKE2B cefa2d3fb5a0179e0373518141260a95746d539b06be9e10a6961db30c573bc4971fc40a32c450d4b75a3808e5eac54dd4568e97f814b73cb29b6dfa870c6f2e SHA512 6b72ecf4de41c0b01b1dceb3a135ed32d3fa73f9ae319de8ee09ada89b40a202838bedd62038e76668325213f36466b41e58fd9d948bdcf486a7a7566dd38aef diff --git a/dev-util/Tensile/Tensile-6.4.1.ebuild b/dev-util/Tensile/Tensile-6.4.1.ebuild new file mode 100644 index 000000000000..fee45a503304 --- /dev/null +++ b/dev-util/Tensile/Tensile-6.4.1.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +DISTUTILS_USE_PEP517=setuptools +ROCM_VERSION=${PV} +LLVM_COMPAT=( 20 ) + +inherit cmake distutils-r1 llvm-r1 prefix rocm + +DESCRIPTION="Stretching GPU performance for GEMMs and tensor contractions" +HOMEPAGE="https://github.com/ROCm/Tensile" +SRC_URI="https://github.com/ROCm/Tensile/archive/rocm-${PV}.tar.gz -> rocm-Tensile-${PV}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="client test" +REQUIRED_USE="client? ( ${ROCM_REQUIRED_USE} )" + +# tests can freeze machine depending on gpu/kernel +RESTRICT="test" + +RDEPEND="${PYTHON_DEPS} + client? ( dev-libs/boost ) + >=dev-cpp/msgpack-cxx-6.0.0 + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + dev-util/hip:${SLOT} + dev-util/rocm-smi:${SLOT} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') +" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + dev-python/pytest-forked[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}"/${PN}-5.4.2-fix-arch-parse.patch + "${FILESDIR}"/${PN}-6.3.0-use-ninja.patch + "${FILESDIR}"/${PN}-6.1.1-fix-msgpack-dependency.patch + "${FILESDIR}"/${PN}-6.0.2-expand-isa-compatibility.patch +) + +CMAKE_USE_DIR="${S}/${PN}/Source" + +src_prepare() { + distutils-r1_src_prepare + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix),g" \ + "${FILESDIR}"/${PN}-5.7.1-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply $(prefixify_ro "${S}"/gentoopath.patch) + + pushd ${PN} || die + + sed -e "/ROCM_SMI_ROOT/s,lib,$(get_libdir)," \ + -i Source/cmake/FindROCmSMI.cmake || die + sed -r -e "/TENSILE_USE_LLVM/s/ON/OFF/" \ + -i Source/CMakeLists.txt || die + + # ${Tensile_ROOT}/bin does not exists; call command directly + sed -e "s,\${Tensile_ROOT}/bin/,,g" -i cmake/TensileConfig.cmake || die + + local Tensile_share_dir="\"${EPREFIX}/usr/share/${PN}\"" + sed -e "/HipClangVersion/s/0.0.0/$(hipconfig -v)/" -i Common.py || die + + sed -e "s,os.path.dirname(os.path.realpath(__file__)),${Tensile_share_dir},g" \ + -i ReplacementKernels.py Common.py ${PN}.py || die + + sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die + + popd || die + + sed -e "/package_data/d" -e "/data_files/d" -i setup.py || die + use client && PATCHES= cmake_src_prepare # do not apply patches again in cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + distutils-r1_src_configure + if use client; then + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DTENSILE_USE_MSGPACK=ON + -DTENSILE_USE_LLVM=ON + -DTensile_LIBRARY_FORMAT=msgpack + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + ) + cmake_src_configure + fi +} + +src_compile() { + distutils-r1_src_compile + use client && cmake_src_compile +} + +python_install() { + distutils-r1_python_install + + python_moduleinto Tensile + pushd Tensile || die + python_domodule Components + python_domodule Utilities + python_domodule TensileCreateLib +} + +src_install() { + distutils-r1_src_install + + pushd ${PN} || die + insinto /usr/share/${PN} + doins -r Configs Perf Source CustomKernels + insinto /usr/$(get_libdir)/cmake/${PN} + doins cmake/*.cmake + + if use client; then + pushd "${BUILD_DIR}" || die + dobin client/tensile_client + fi +} + +# Test suite fails to start without this +python_test() { + export ROCM_PATH="${EPREFIX}/usr" + epytest +} diff --git a/dev-util/diffoscope/diffoscope-295.ebuild b/dev-util/diffoscope/diffoscope-295.ebuild index 663839c599cf..4b7a22e95993 100644 --- a/dev-util/diffoscope/diffoscope-295.ebuild +++ b/dev-util/diffoscope/diffoscope-295.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://diffoscope.org/archive/${P}.tar.bz2" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +KEYWORDS="~amd64 ~arm arm64 ~ppc64 ~x86" IUSE="acl binutils bzip2 libcaca colord cpio +diff docx dtc e2fsprogs file find gettext gif gpg haskell hdf5 hex imagemagick iso java llvm lzma mono opendocument pascal pdf postscript R rpm sqlite squashfs diff --git a/dev-util/gdbus-codegen/Manifest b/dev-util/gdbus-codegen/Manifest index df1535bef917..b6d0c2e7658f 100644 --- a/dev-util/gdbus-codegen/Manifest +++ b/dev-util/gdbus-codegen/Manifest @@ -4,3 +4,4 @@ DIST glib-2.82.5.tar.xz 5554704 BLAKE2B e7853034be1137f8b793483df9e9ce1465dd10a9 DIST glib-2.84.0.tar.xz 5613328 BLAKE2B a482076d6b0c82824179094974110dbd10d47fce93f84f4626d0d3dbea528602c41ac4a7ab8feedc3d7cc5e404ef8bef30c6c744b6f0f4f3a764644e28210e28 SHA512 72b85e30c535c5da7d8598d1cec02b1b481c467e612dbb396a0a64ad1d37cf2f1802c6fa576885c99cf8a22f4f0fc7dfdf42a3f32f7f40394f72db588fdbebb7 DIST glib-2.84.1.tar.xz 5615396 BLAKE2B d20ade482eb95873adaefc656e22c57e6712a6263a4812e448220040e30144919331cb279566a89a2ab46495b46d6a79e3821e491317587325fa3a64b40d62cc SHA512 ee7f38a4726fd72e41ddb75c4933c7b1bb30935bb2fddc84902d0627a836af512534195132cc02e3d15f168fefc816576181a8d6e436472b582191437b79a456 DIST glib-2.84.2.tar.xz 5617588 BLAKE2B 31592cbeca58f03c138a02b0cd953b6bd2cdcbfa39283241affd1bff439d6376f0420b4b715856963c64903f3646cf89890f709f514a85d93fb3bbe26b99d516 SHA512 430928d7d7a442fc3927ca943f2569035fe8768768a0ebc6720ae1ef152b56fc5f8d4215d21b4828cc2f39a8632c907ed2c52a0c8566da1c533a2e049a1a121f +DIST glib-2.84.3.tar.xz 5615704 BLAKE2B 48444b91be68530de05667e2e009dcdc63af2f95cc978a461d930b943772e52b6c9d0e797aea3a9a5713758f22ee60a190c7d601b170c6c853fce624e5c327d7 SHA512 73f2d67d2ef5b4dc8cd2f6df9ce7903853ec619924e2927adbc73d706974a7d660afea55be18e12ccb0dee1145cf4149b743278d2b128fd466e3df2bbf90ef57 diff --git a/dev-util/gdbus-codegen/gdbus-codegen-2.84.3.ebuild b/dev-util/gdbus-codegen/gdbus-codegen-2.84.3.ebuild new file mode 100644 index 000000000000..bb3d561f1bd1 --- /dev/null +++ b/dev-util/gdbus-codegen/gdbus-codegen-2.84.3.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +GNOME_ORG_MODULE="glib" +PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_REQ_USE="xml(+)" +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_SINGLE_IMPL=1 + +inherit gnome.org distutils-r1 + +DESCRIPTION="GDBus code and documentation generator" +HOMEPAGE="https://www.gtk.org/" + +S="${WORKDIR}/glib-${PV}/gio/gdbus-2.0/codegen" + +LICENSE="LGPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" + +RDEPEND=" + ${PYTHON_DEPS} + >=dev-libs/glib-${PV} +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + >=dev-python/docutils-0.21.1 +" + +python_prepare_all() { + PATCHES=( + "${FILESDIR}/${PN}-2.56.1-sitedir.patch" + ) + distutils-r1_python_prepare_all + + local MAJOR_VERSION=$(ver_cut 1) + local MINOR_VERSION=$(ver_cut 2) + sed -e 's:@PYTHON@:python:' gdbus-codegen.in > gdbus-codegen || die + sed -e "s:@VERSION@:${PV}:" \ + -e "s:@MAJOR_VERSION@:${MAJOR_VERSION}:" \ + -e "s:@MINOR_VERSION@:${MINOR_VERSION}:" config.py.in > config.py || die + cp "${FILESDIR}/setup.py-2.32.4" setup.py || die "cp failed" + sed -e "s/@PV@/${PV}/" -i setup.py || die "sed setup.py failed" +} + +do_xsltproc_command() { + # Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/glib-utils) + xsltproc \ + --nonet \ + --stringparam man.output.quietly 1 \ + --stringparam funcsynopsis.style ansi \ + --stringparam man.th.extra1.suppress 1 \ + --stringparam man.authors.section.enabled 0 \ + --stringparam man.copyright.section.enabled 0 \ + -o "${2}" \ + http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \ + "${1}" || die "manpage generation failed" +} + +src_compile() { + distutils-r1_src_compile + rst2man \ + "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.rst" \ + "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1" +} + +src_test() { + einfo "Skipping tests. This package is tested by dev-libs/glib" + einfo "when merged with FEATURES=test" +} + +python_install_all() { + distutils-r1_python_install_all # no-op, but prevents QA warning + doman "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1" +} diff --git a/dev-util/glib-utils/Manifest b/dev-util/glib-utils/Manifest index df1535bef917..b6d0c2e7658f 100644 --- a/dev-util/glib-utils/Manifest +++ b/dev-util/glib-utils/Manifest @@ -4,3 +4,4 @@ DIST glib-2.82.5.tar.xz 5554704 BLAKE2B e7853034be1137f8b793483df9e9ce1465dd10a9 DIST glib-2.84.0.tar.xz 5613328 BLAKE2B a482076d6b0c82824179094974110dbd10d47fce93f84f4626d0d3dbea528602c41ac4a7ab8feedc3d7cc5e404ef8bef30c6c744b6f0f4f3a764644e28210e28 SHA512 72b85e30c535c5da7d8598d1cec02b1b481c467e612dbb396a0a64ad1d37cf2f1802c6fa576885c99cf8a22f4f0fc7dfdf42a3f32f7f40394f72db588fdbebb7 DIST glib-2.84.1.tar.xz 5615396 BLAKE2B d20ade482eb95873adaefc656e22c57e6712a6263a4812e448220040e30144919331cb279566a89a2ab46495b46d6a79e3821e491317587325fa3a64b40d62cc SHA512 ee7f38a4726fd72e41ddb75c4933c7b1bb30935bb2fddc84902d0627a836af512534195132cc02e3d15f168fefc816576181a8d6e436472b582191437b79a456 DIST glib-2.84.2.tar.xz 5617588 BLAKE2B 31592cbeca58f03c138a02b0cd953b6bd2cdcbfa39283241affd1bff439d6376f0420b4b715856963c64903f3646cf89890f709f514a85d93fb3bbe26b99d516 SHA512 430928d7d7a442fc3927ca943f2569035fe8768768a0ebc6720ae1ef152b56fc5f8d4215d21b4828cc2f39a8632c907ed2c52a0c8566da1c533a2e049a1a121f +DIST glib-2.84.3.tar.xz 5615704 BLAKE2B 48444b91be68530de05667e2e009dcdc63af2f95cc978a461d930b943772e52b6c9d0e797aea3a9a5713758f22ee60a190c7d601b170c6c853fce624e5c327d7 SHA512 73f2d67d2ef5b4dc8cd2f6df9ce7903853ec619924e2927adbc73d706974a7d660afea55be18e12ccb0dee1145cf4149b743278d2b128fd466e3df2bbf90ef57 diff --git a/dev-util/glib-utils/glib-utils-2.84.3.ebuild b/dev-util/glib-utils/glib-utils-2.84.3.ebuild new file mode 100644 index 000000000000..a8beae9e1483 --- /dev/null +++ b/dev-util/glib-utils/glib-utils-2.84.3.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{11..14} ) +GNOME_ORG_MODULE="glib" + +inherit gnome.org python-single-r1 + +DESCRIPTION="Build utilities for GLib using projects" +HOMEPAGE="https://www.gtk.org/" + +LICENSE="LGPL-2.1+" +SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +RDEPEND="${PYTHON_DEPS}" +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-python/docutils-0.21.1 +" + +src_configure() { :; } + +do_rst2man_command() { + rst2man \ + --syntax-highlight=none \ + "${1}" "${2}" || die "manpage generation failed" +} + +src_compile() { + sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-genmarshal.in > gobject/glib-genmarshal || die + sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-mkenums.in > gobject/glib-mkenums || die + sed -e "s:@GLIB_VERSION@:${PV}:g;s:@PYTHON@:python:g" glib/gtester-report.in > glib/gtester-report || die + do_rst2man_command docs/reference/gobject/glib-genmarshal.rst docs/reference/gobject/glib-genmarshal.1 + do_rst2man_command docs/reference/gobject/glib-mkenums.rst docs/reference/gobject/glib-mkenums.1 + do_rst2man_command docs/reference/glib/gtester-report.rst docs/reference/glib/gtester-report.1 +} + +src_install() { + python_fix_shebang gobject/glib-genmarshal + python_fix_shebang gobject/glib-mkenums + python_fix_shebang glib/gtester-report + exeinto /usr/bin + doexe gobject/glib-genmarshal + doexe gobject/glib-mkenums + doexe glib/gtester-report + doman docs/reference/gobject/glib-genmarshal.1 + doman docs/reference/gobject/glib-mkenums.1 + doman docs/reference/glib/gtester-report.1 +} diff --git a/dev-util/hip/Manifest b/dev-util/hip/Manifest index 23ad1732e04a..2770912e28db 100644 --- a/dev-util/hip/Manifest +++ b/dev-util/hip/Manifest @@ -3,13 +3,16 @@ DIST hip-6.1.1.tar.gz 247192 BLAKE2B c40bb483fb61b3037693f456e546046598df7e0dd81 DIST hip-6.1.2.tar.gz 247193 BLAKE2B e343bdf233752e40cdefa0c2bbd56858bbb471155045ae1adcf651ddff2ed40dc7c7069998a35e9b26324fdf1c972e13e1222406bc52ae2591c23a45611864c5 SHA512 771f6494c7ff0ddb7d22193dfdbb3fb9461f6e4be347ecb879bb84c5a01a95fb4c4d3f7a0f039265d5369f6c6a5b66949af7bc91ed220f5e81a5b15ec98a68eb DIST hip-6.3.2.tar.gz 1486601 BLAKE2B 033a02c9b4bdcfcd8d23281df74f061e557b0027e95a76431a5b7f56922306a317d36896619bfb5106103cb34ac2369b85fd603c7dfd9e4f2a6cc1537b168f81 SHA512 839d19d47326c56ae5f44b39a2f62c215692cf9ddbc292becb3ce5b5d1784d92c98ce8f73bc1a294a2cd7c875568b38c9e2053b3646513516b31a9ab1e91d688 DIST hip-6.3.3.tar.gz 1486598 BLAKE2B 998b28786c0b156cd1c23a01ce284206d1ad5cad1f207676b9d40994dc4f60d16a1f0804cfa287622826d78871ee19d2b5aa78dc29a69fe54ab50f08652bfd26 SHA512 70544467c5c262fab1e9415f5e77d0ec3b4635b6fa104de5d7ab2da0e2ca88fe40ce716068e50eaa17a807516cd41e2c0af22bcada3a1f7de50aa88283850e38 +DIST hip-6.4.1.tar.gz 1755184 BLAKE2B 473e719f48ebcc21452602db9b6deee21ed9c397ae769e92dc5d91b4d47c3cac4b31b3e132103f4c899bd1506785f7fc867a3ad7177d71164356ff7479046c9c SHA512 036bd31f3d76f981049fb0095308251f0b6795698634bcb2f94a05ffe5bd3a53b8a8ef89f1f3426e259a4d44e0c4fcdda57e3504b0afbc65e26e7f5047d0a1cd DIST hip-test-6.1.1.tar.gz 1080605 BLAKE2B 7eddf648be31365479baa0cd4fd1c060a682a6b44d923cac1c4840c0768782db2fef4e5d97318ef0423be1e5c85b1a0cc6b9d324db789dad28be17f64ab38cae SHA512 0dd679c5b94a59e192bea5789f4448b53ac23c8a03b24a347758b1d70ff692483fd4aaea0b19345eb6ffb82a4492ed21958398b53ae6244a244a660dfa33412f DIST hip-test-6.1.2.tar.gz 1080493 BLAKE2B ff501ab92c1d3207e330f5e9630e3300aa52f7c2acfae2173a964a2843952db90eea2b4ecf5db1ec6ba65d7764750b9eae3f2a9641d1a3fc71d5172e3a7264a8 SHA512 09fa4243c8b73ddbe163ff4c60f0f8f4182f1a37071e9747bf95ecdc219ba3a0407bdf1e2391481f537b223565a38f16e918667194666558a469d94f88a1e236 DIST hip-test-6.3.2.tar.gz 1446861 BLAKE2B c82f8b52807bdae7ea32bd85cccaaea8e01fda440c36ef68603c3cac5d31032b10a21e3828702fec556fa8c262797f08cc2395e042d5db8c6ae601968d47ed8a SHA512 aa162ab73e0ef2b739a8652cdd34eb4fbef130d75ac7aaece030263d820ef0abfb124a10692937da529ac523c386ba2b8241c9a205c820b41e6b7090770653e2 DIST hip-test-6.3.3.tar.gz 1446849 BLAKE2B 474194bd7cef54af85eab0bc8fdfbe2360a9a22ab27f9014ebbb22f03952bfc014d682e2a0cbf90fcd365b4295df266a64419deebbce38aa7b5b7af9c979cc20 SHA512 65bde402804e95a09142bc2a9866bbef14068b63d09236d70086e15c3927ef29fb75d0859a90aa4bc75ebe03f94da85284b233fb41b95246bb45d1d8fee172ed +DIST hip-test-6.4.1.tar.gz 1570619 BLAKE2B a528ca4c3faf7a2830200d64745018af4856e5f15d398817f8d0603d266d7e15d1767223bb4e2682b8d0a545f965651f81d3e97f1127b695545a1df5f07e6dad SHA512 bdc7f92b999a244e9ab4186a9d5c2ca12af56fba0cc4160bd10bbf7c42f5ba4bc5a9d0cec443c60f62c65fa3096f895e6699c6556d5f95f5d1bf7d1964a15184 DIST rocm-5.7.0.tar.gz 845881 BLAKE2B 08255edc1407e5ef85895336b11496319695318fce265565728ad75175b5e1dfab98f696fee2d27e60c48e862f721fad4c53118cc70b807353fff5f97ed72ac2 SHA512 72420e16c7cfe9687e030331838666dabaa43d686bdad1d109431e44db99070a2cf6dd64b59e3275019abedd6612f6008c798a79275e7225b6b122fb9f644660 DIST rocm-clr-5.7.1.tar.gz 2008647 BLAKE2B 3db0760d6f83504e60caf88a2dd5e0bc02c7db9d6f263ad0eb2cfc79aa0f88a3699c412844a0158a796d9d02e79660287e791edad787d814eefffea4fd2298b4 SHA512 d79323481d82fc02c12a32cdcc0d14437d512af023e7737db0387b7eecb27fe6e4ae7c71d6adce57932a04bb24c880440d9dc10aeb5af11a4f2ca64d44330965 DIST rocm-clr-6.1.1.tar.gz 2031034 BLAKE2B b0485bb015d31986f4988d1db0c029c826856e50b5bb1b58fac2097c14b3966668f1b8d41ec198889e27ac860497a8b3c081ec31d52390d5c9ff5db092bf7cce SHA512 86925e8b9a9e77b06a57daefbc7279887b4ef7c6a79c3717bc2f2d3bf29926281c60063fd17e21c65d7def520d9f579bf88f69051d053a38750ba968f69ca3fc DIST rocm-clr-6.1.2.tar.gz 2031283 BLAKE2B d51d32a77794ea97f1a3817786c9fd6b482106b665eea6e2c9b4c11e4dce19a3486386eb5ba111554c2d82c30e2a93add7502eed5768caf3fb709fb5fbb2e71b SHA512 e97224451864efe0084c4117f54893c9624a6a9f365a0b4abad08fd9635f008dea742dc589429fbb714e1b8177d06362c0f5a741f6c4a050d0fd4d48da72d54b DIST rocm-clr-6.3.2.tar.gz 2095677 BLAKE2B 2f1122a2058f8ba358fe48a46473f23c46a5413fef16515f103c21a8ae13bb76522fbe587cb9c9e6e3dd06f968402b6a881391823c80381c0c41072597c845ac SHA512 5bade294dc6fc60bf459bfd7124c354f2b0079167d3c8776a9e3d6d8320bb9b1a2a0770a466987e164994293024bf47de158ba207f077968dfccb7bf20fb884b DIST rocm-clr-6.3.3.tar.gz 2095704 BLAKE2B bdb315fc9f1f9c76aa2a345bd48a600c81f3b72eb68fee8862b5e155e7519bef6f6421698a43358c6fe0200bb0b6924ff819860d9a91a5c07fc3e9d44eeb1b16 SHA512 94d2959b981b324e0dae2d06e86c72cd01fa495de081666bcec2445c02bada22aa60e94ecac0ee63e70e52275f92caeefcb6dc96a3f0fba593896be7b0d8ab42 +DIST rocm-clr-6.4.1.tar.gz 2124791 BLAKE2B de500518740f472c2cc5d7f55a58793d37ca42f0cfe9d47b1f2de0258aa92591510f8cfcafcfc4ba2008c5d1b4301b29208bff57213fea028b0b7e9eb7b3cb4c SHA512 8d4c09cb8ccc633e214bbe646f8bbbcc1797bee71559ac0d3b09548ee271edc049db2ff8d9c8f849bb14c986770b06cd2238650b3fbb9799466aa5b5bdd7d7d6 diff --git a/dev-util/hip/files/hip-6.4.1-no-glibcxx-assert.patch b/dev-util/hip/files/hip-6.4.1-no-glibcxx-assert.patch new file mode 100644 index 000000000000..b73c5cad8dbb --- /dev/null +++ b/dev-util/hip/files/hip-6.4.1-no-glibcxx-assert.patch @@ -0,0 +1,26 @@ +stdlibc++ of GCC-15 adds __glibcxx_assert in std::clamp, std::array, etc, +which breaks HIP code. However, `clang -x hip` autoloads few files, +one of them is <hip/hip_version.h> (the only one from dev-util/hip), +where we can undefine __glibcxx_assert until it is fixed in stdlibc++. + +Upstream bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115740 +Bug: https://bugs.gentoo.org/955623 +--- a/hipamd/CMakeLists.txt ++++ b/hipamd/CMakeLists.txt +@@ -314,6 +314,16 @@ set(_versionInfoHeader + #define HIP_VERSION_BUILD_NAME \"${HIP_VERSION_BUILD_NAME}\" + #define HIP_VERSION (HIP_VERSION_MAJOR * 10000000 + HIP_VERSION_MINOR * 100000 + HIP_VERSION_PATCH)\n + #define __HIP_HAS_GET_PCH ${_pchStatus}\n ++ ++// Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115740 ++#if defined(__has_include) && defined(__cplusplus) && defined(__HIP__) ++ #if __has_include(\"bits/c++config.h\") ++ #include <bits/c++config.h> ++ #undef __glibcxx_assert ++ #define __glibcxx_assert(cond) ++ #endif ++#endif ++ + #endif\n + ") + file(WRITE "${PROJECT_BINARY_DIR}/include/hip/hip_version.h" ${_versionInfoHeader}) diff --git a/dev-util/hip/hip-6.3.3-r1.ebuild b/dev-util/hip/hip-6.3.3-r2.ebuild index a1a628470fc0..fc755573a506 100644 --- a/dev-util/hip/hip-6.3.3-r1.ebuild +++ b/dev-util/hip/hip-6.3.3-r2.ebuild @@ -81,6 +81,7 @@ PATCHES=( "${FILESDIR}/${PN}-6.2.4-libcxx.patch" "${FILESDIR}/${PN}-6.3.0-no-isystem-usr-include.patch" "${FILESDIR}/${PN}-6.3.0-clr-fix-libcxx.patch" + "${FILESDIR}/${PN}-6.4.1-no-glibcxx-assert.patch" ) hip_test_wrapper() { @@ -114,7 +115,8 @@ src_prepare() { sed -e "s/ -Werror//g" -i "hipamd/src/CMakeLists.txt" || die - sed -i -e 's/cmake_minimum_required(VERSION 3.3)/cmake_minimum_required(VERSION 3.5)/' hipamd/src/hiprtc/cmake/hiprtc-config.cmake.in || die + sed -e 's/cmake_minimum_required(VERSION 3.3)/cmake_minimum_required(VERSION 3.5)/' \ + -i hipamd/src/hiprtc/cmake/hiprtc-config.cmake.in || die cmake_src_prepare diff --git a/dev-util/hip/hip-6.4.1.ebuild b/dev-util/hip/hip-6.4.1.ebuild new file mode 100644 index 000000000000..b1a1a69d3995 --- /dev/null +++ b/dev-util/hip/hip-6.4.1.ebuild @@ -0,0 +1,248 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DEPEND="media-gfx/graphviz" +ROCM_SKIP_GLOBALS=1 + +LLVM_COMPAT=( 20 ) + +inherit cmake docs flag-o-matic llvm-r1 rocm + +TEST_PV=${PV} + +DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability" +HOMEPAGE="https://github.com/ROCm/clr" +SRC_URI=" + https://github.com/ROCm/clr/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-clr-${PV}.tar.gz + https://github.com/ROCm/HIP/archive/refs/tags/rocm-${PV}.tar.gz -> hip-${PV}.tar.gz + test? ( + https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-${TEST_PV}.tar.gz -> hip-test-${TEST_PV}.tar.gz + ) +" +S="${WORKDIR}/clr-rocm-${PV}/" +TEST_S="${WORKDIR}/hip-tests-rocm-${TEST_PV}/catch" +HIP_S="${WORKDIR}/hip-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="debug +hip opencl test video_cards_amdgpu video_cards_nvidia" + +# some tests are broken +RESTRICT="test" + +REQUIRED_USE=" + || ( hip opencl ) + ^^ ( video_cards_amdgpu video_cards_nvidia ) +" + +DEPEND=" + video_cards_amdgpu? ( + dev-util/rocminfo:${SLOT} + dev-libs/rocm-comgr:${SLOT} + dev-libs/rocr-runtime:${SLOT} + ) + video_cards_nvidia? ( + dev-libs/hipother:${SLOT} + ) + x11-base/xorg-proto + virtual/opengl +" +BDEPEND=" + video_cards_amdgpu? ( + dev-util/hipcc:${SLOT}[${LLVM_USEDEP}] + ) + test? ( + media-libs/freeglut + ) +" +RDEPEND="${DEPEND} + opencl? ( + !dev-libs/opencl-icd-loader + !dev-libs/rocm-opencl-runtime + !dev-util/clinfo + !dev-util/opencl-headers + ) + video_cards_amdgpu? ( + dev-util/hipcc:${SLOT}[${LLVM_USEDEP}] + dev-libs/rocm-device-libs:${SLOT} + dev-libs/roct-thunk-interface:${SLOT} + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-no_asan_doc.patch" + "${FILESDIR}/${PN}-6.3.0-install.patch" + "${FILESDIR}/${PN}-6.1.1-fix-musl.patch" + "${FILESDIR}/${PN}-6.2.4-libcxx.patch" + "${FILESDIR}/${PN}-6.3.0-no-isystem-usr-include.patch" + "${FILESDIR}/${PN}-6.3.0-clr-fix-libcxx.patch" + "${FILESDIR}/${PN}-6.4.1-no-glibcxx-assert.patch" +) + +hip_test_wrapper() { + local CMAKE_USE_DIR="${TEST_S}" + local BUILD_DIR="${TEST_S}_build" + cd "${TEST_S}" || die + "${@}" +} + +src_prepare() { + pushd "${HIP_S}" >/dev/null || die + eapply "${FILESDIR}/${PN}-6.3.0-hip-fix-libcxx.patch" + + # hipamd is itself built by cmake, and should never provide a + # FindHIP.cmake module. But the reality is some package relies on it. + # Set HIP and HIP Clang paths directly, don't search using heuristics + sed -e "s:# Search for HIP installation:set(HIP_ROOT_DIR \"${EPREFIX}/usr\"):" \ + -e "s:#Set HIP_CLANG_PATH:set(HIP_CLANG_PATH \"$(get_llvm_prefix -d)/bin\"):" \ + -i "cmake/FindHIP.cmake" || die + popd >/dev/null || die + + sed "s/ -Werror//g" -i "hipamd/src/CMakeLists.txt" || die + + sed "/cmake_minimum_required/ s/3\.3/3.5/" -i "hipamd/src/hiprtc/cmake/hiprtc-config.cmake.in" || die + + cmake_src_prepare + + if use test; then + local PATCHES=( + "${FILESDIR}"/hip-test-6.3.0-hipcc-system-install.patch + "${FILESDIR}"/hip-test-5.7.1-remove-incompatible-flag.patch + "${FILESDIR}"/hip-test-6.1.1-fix-musl.patch + ) + sed -e "s/-Werror //" -e "s/-Wall -Wextra //" -i "${TEST_S}/CMakeLists.txt" || die + + hip_test_wrapper cmake_src_prepare + fi +} + +src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/858383 + # https://github.com/ROCm/clr/issues/64 + # + # Do not trust it for LTO either + append-flags -fno-strict-aliasing + filter-lto + + use debug && CMAKE_BUILD_TYPE="Debug" + + # Fix ld.lld linker error: https://github.com/ROCm/HIP/issues/3382 + # See also: https://github.com/gentoo/gentoo/pull/29097 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + local mycmakeargs=( + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)" + -DCMAKE_SKIP_RPATH=ON + -D__HIP_ENABLE_PCH=OFF + + -DCLR_BUILD_HIP="$(usex hip)" + -DCLR_BUILD_OCL="$(usex opencl)" + + -DHIP_COMMON_DIR="${HIP_S}" + -DHIP_ENABLE_ROCPROFILER_REGISTER=OFF + -DHIPCC_BIN_DIR="${EPREFIX}/usr/bin" + -DROCM_PATH="${EPREFIX}/usr" + -DUSE_PROF_API=OFF + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF + + -DOpenGL_GL_PREFERENCE="GLVND" + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + ) + + if use video_cards_amdgpu; then + mycmakeargs+=( + -DHIP_PLATFORM="amd" + ) + elif use video_cards_nvidia; then + mycmakeargs+=( + -DHIPNV_DIR="${EPREFIX}/usr" + -DHIP_PLATFORM="nvidia" + ) + fi + + cmake_src_configure + + if use test; then + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${TEST_S}/external/Catch2/cmake/Catch2" + -DROCM_PATH="${EPREFIX}/usr" + -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON + -Wno-dev + + # 1) Use custom build of hipamd instead of system one + # 2) Build fails with libc++: https://github.com/llvm/llvm-project/issues/119076 + -DCMAKE_CXX_FLAGS="-I${BUILD_DIR}/hipamd/include -stdlib=libstdc++" + -DCMAKE_EXE_LINKER_FLAGS="-L${BUILD_DIR}/hipamd/lib" + ) + if use video_cards_amdgpu; then + mycmakeargs+=( + -DHIP_PLATFORM="amd" + ) + elif use video_cards_nvidia; then + mycmakeargs+=( + -DHIP_PLATFORM="nvidia" + ) + fi + hip_test_wrapper cmake_src_configure + fi +} + +src_compile() { + cmake_src_compile + + if use test; then + hip_test_wrapper cmake_src_compile build_tests + fi +} + +src_test() { + check_amdgpu + export LD_LIBRARY_PATH="${BUILD_DIR}/hipamd/lib" + + # TODO: research how to test Vulkan-related features. + local CMAKE_SKIP_TESTS=( + Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Positive_Read_Write + Unit_hipExternalMemoryGetMappedBuffer_Vulkan_Negative_Parameters + Unit_hipImportExternalMemory_Vulkan_Negative_Parameters + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores + Unit_hipWaitExternalSemaphoresAsync_Vulkan_Negative_Parameters + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Binary_Semaphore + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Positive_Multiple_Semaphores + Unit_hipSignalExternalSemaphoresAsync_Vulkan_Negative_Parameters + Unit_hipImportExternalSemaphore_Vulkan_Negative_Parameters + Unit_hipDestroyExternalSemaphore_Vulkan_Negative_Parameters + ) + + MAKEOPTS="-j1" hip_test_wrapper cmake_src_test +} + +src_install() { + cmake_src_install + + # add version file that is required by some libraries + mkdir "${ED}"/usr/include/rocm-core || die + cat <<-EOF > "${ED}"/usr/include/rocm-core/rocm_version.h || die + #pragma once + #define ROCM_VERSION_MAJOR $(ver_cut 1) + #define ROCM_VERSION_MINOR $(ver_cut 2) + #define ROCM_VERSION_PATCH $(ver_cut 3) + #define ROCM_BUILD_INFO "$(ver_cut 1-3).0-9999-unknown" + EOF + + dosym -r /usr/include/rocm-core/rocm_version.h /usr/include/rocm_version.h + + if use video_cards_nvidia; then + newenvd - 99hipconfig <<-EOF + HIP_PLATFORM="nvidia" + HIP_RUNTIME="cuda" + CUDA_PATH="${EPREFIX}/opt/cuda" + EOF + fi +} diff --git a/dev-util/hipcc/Manifest b/dev-util/hipcc/Manifest index 17ea85ccf749..bcdf6bfd6e77 100644 --- a/dev-util/hipcc/Manifest +++ b/dev-util/hipcc/Manifest @@ -3,3 +3,4 @@ DIST llvm-project-rocm-6.1.1.tar.gz 196027084 BLAKE2B 3ef0b6e3c47c66fd80289373e6 DIST llvm-project-rocm-6.1.2.tar.gz 195992927 BLAKE2B d821f29f2f1f7c1ff414c63a710281f16d2a394b21f3365d01b86710cc09ed27e514b49fb744bf6a36b38815afa56cc26d44f0238f38479a0c2db9bf9989f389 SHA512 5f7e5dbe5976141de35e96e603624bd9d5a2c08b0690ba9fcd81d1b32f540f94bb9f4b74539e2838fd60ae1312dbe5e0b429ba80a03871782cdf3bd834940ce0 DIST llvm-project-rocm-6.3.2.tar.gz 206671202 BLAKE2B a280e2be22b8eb9fd51814074447baed3637231d4bfbe391047a1fb2409197c8d8ba58cebb3aeaec15aa4daee9371311274b30ede48e0039d7c84e432b15de1a SHA512 314e27577af76268635f3c96ee3516829e4622913c3d0c4c68eccbaee0c9f7f5fc031cbd35827deb4bc29712592c424e296c15ce8c500c897bfb3eb19455899c DIST llvm-project-rocm-6.3.3.tar.gz 206663912 BLAKE2B 939527dbbcd0c4b4785e5cdbd7144149f169120506c2b5b00e84e8208e3877109e24cf58501a1317d1f9dcce0614cf47a0290cb2e0e10aa7b164bcb064c2ffbc SHA512 380d6ca72dd215b1996b14fe9b54f4981bd1d275aae22ed89f4f3efc46ec2988054cc98dcc45e1c678812c2bd3488ed6cf375ca193af4ad272a6cff7f2388872 +DIST llvm-project-rocm-6.4.1.tar.gz 218905831 BLAKE2B 188ec436e5ab6e50fee66ebc3a30c5e5703ca8770f309cca580c919567090bbdb23a5de51d36dabf9cb54f1142ab00d9756bec379670029c57d0f7a49fab2f13 SHA512 e0fd29953cfe7ae4b3f60aa25c1ec0f6071715afc8e275d62901dbd575b96afc673d61996300d3f7672005274fe84c7f934070614ac3deafcfa103d9514b3e41 diff --git a/dev-util/hipcc/hipcc-6.4.1.ebuild b/dev-util/hipcc/hipcc-6.4.1.ebuild new file mode 100644 index 000000000000..4a6c644e5d72 --- /dev/null +++ b/dev-util/hipcc/hipcc-6.4.1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) +inherit cmake perl-functions llvm-r1 + +DESCRIPTION="Radeon Open Compute hipcc" +HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/hipcc" + +MY_P=llvm-project-rocm-${PV} +components=( "amd/hipcc" ) +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/llvm-project" + inherit git-r3 + S="${WORKDIR}/${P}/${components[0]}" +else + SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}/${components[0]}" + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0 MIT" +SLOT="0/$(ver_cut 1-2)" +IUSE="debug test" +RESTRICT="!test? ( test )" + +DEPEND=" + $(llvm_gen_dep ' + llvm-runtimes/compiler-rt:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + llvm-core/clang:${LLVM_SLOT}= + ') +" +RDEPEND="${DEPEND}" + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_fetch + git-r3_checkout '' . '' "${components[@]}" + else + archive="${MY_P}.tar.gz" + ebegin "Unpacking from ${archive}" + tar -x -z -o \ + -f "${DISTDIR}/${archive}" \ + "${components[@]/#/${MY_P}/}" || die + eend ${?} + fi +} + +src_prepare() { + cmake_src_prepare + + sed -e "s:lib/llvm/bin:lib/llvm/${LLVM_SLOT}/bin:" \ + -e "s:/opt/rocm:/usr:g" \ + -i bin/hipvars.pm \ + -i src/hipBin_base.h \ + -i src/hipBin_amd.h || die + + sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:g" \ + -i src/hipBin_amd.h || die +} + +src_install() { + cmake_src_install + # rm unwanted copy + rm -rf "${ED}/usr/hip" || die + # Handle hipvars.pm + rm "${ED}/usr/bin/hipvars.pm" || die + perl_domodule "${S}"/bin/hipvars.pm +} diff --git a/dev-util/hipify-clang/Manifest b/dev-util/hipify-clang/Manifest index a70988bc004f..236630b33daa 100644 --- a/dev-util/hipify-clang/Manifest +++ b/dev-util/hipify-clang/Manifest @@ -2,3 +2,4 @@ DIST HIPIFY-5.7.1.tar.gz 673452 BLAKE2B e0293c1b7f9ea028efc8d712ddedae4ec933c5bc DIST HIPIFY-6.1.1.tar.gz 813425 BLAKE2B accc661431f11796d0c8bcf638537a6035020b2a36ebe66c1b8c10bb63b762418d5fd1f256f3a3e51d2ace224a6492abfe72838bef859b1da68c2126cc3521be SHA512 29c45e312c8e2f0d06916b57f24eba27ba7beae3bd860850b57cfe27c87df22aabe9fdcf3d12671b81e68b61c3974aaf0064e96ae68392d181148aaeef14f1c7 DIST HIPIFY-6.3.2.tar.gz 978994 BLAKE2B 7f35d462f69ab298485ef27b53624676071be551d671532383f246dbe6cd133ce1b30fb98d5457b82a0a9a01070cc6050e14f4f8fdecbf04a9b589309c3afd67 SHA512 26fc5db270e661d3ca380dfd570f2b46108c41b808f84413b27c4b6efaf6796ae625d4489c2278c253345d8a25408f636fde476be380b08d489254e20b8a12c0 DIST HIPIFY-6.3.3.tar.gz 978886 BLAKE2B 391afa3ca27651597264ada3f1ef8f2a3ed75d7f0bbd29b868e89d0ecd6a76986fb4b74e15d62c7a0990d5e8a6c5e92cf4e987ddbf3fb5e45eddd2f9d22c9b45 SHA512 5fe529db7ef9de56e127ced21c62b45b770aa383913bd9d373e7c4eb16e1028a6414ae25aa2f40c79b45f5a2dcb4318cd6773cf821c814bfd545431512cae490 +DIST HIPIFY-6.4.1.tar.gz 995674 BLAKE2B cf0e9709bd30b4f2df7144c642a2c287aa8c2e87bc34c279ed4380ccd297fa42e68e9c177f96f45ec7d0e0675f26a93bd4ceea294fe667809d287b3054b9d83b SHA512 b93c9698c2d253c6eb1daad6d6e3113168c5e2c02c2d847203208716ced61398983d50e9efe307557e6adc642101a2642bb5e43b4b9829217f02f11ab477de9b diff --git a/dev-util/hipify-clang/hipify-clang-6.4.1.ebuild b/dev-util/hipify-clang/hipify-clang-6.4.1.ebuild new file mode 100644 index 000000000000..34f16f8bd27a --- /dev/null +++ b/dev-util/hipify-clang/hipify-clang-6.4.1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 20 ) + +inherit cmake flag-o-matic llvm-r1 + +DESCRIPTION="A set of tools to translate CUDA source code into portable HIP C++" +HOMEPAGE="https://github.com/ROCm/HIPIFY" +SRC_URI="https://github.com/ROCm/HIPIFY/archive/rocm-${PV}.tar.gz -> HIPIFY-${PV}.tar.gz" +S="${WORKDIR}/HIPIFY-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +BDEPEND=">=dev-build/cmake-3.22" +DEPEND=" + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-fix-clang-libs.patch" +) + +src_prepare() { + cmake_src_prepare + sed -i 's:/../libexec/hipify::' \ + bin/hipconvertinplace.sh bin/hipconvertinplace-perl.sh \ + bin/hipexamine-perl.sh bin/hipexamine.sh || die +} + +src_configure() { + # 928906: CMakeLists.txt ignores CC/CXX, switches compiler to clang + # and fails if non-compatible CFLAGS/CXXFLAGS are used + strip-unsupported-flags + + local mycmakeargs=( + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix)/$(get_libdir)/cmake/llvm" + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + fperms +x /usr/bin/hipconvertinplace-perl.sh + fperms +x /usr/bin/hipconvertinplace.sh + fperms +x /usr/bin/hipexamine-perl.sh + fperms +x /usr/bin/hipexamine.sh + fperms +x /usr/bin/hipify-perl +} diff --git a/dev-util/lttng-modules/Manifest b/dev-util/lttng-modules/Manifest index 396849d84480..dc9b45df91c0 100644 --- a/dev-util/lttng-modules/Manifest +++ b/dev-util/lttng-modules/Manifest @@ -1,2 +1,3 @@ DIST lttng-modules-2.13.15.tar.bz2 355980 BLAKE2B 96ebeaac275151464cc8dea1de209f034dde1b26426bc23669f36f026f140c4b5613e10b91b0fc16dc18e26c05e7c0e67e7fc86af00d8f70b87bfaf49e5b7fdb SHA512 1c9091306d95339b5a09f0ef6141e9e6a96461aa9801f264c44780eb2130137fca6fe544ea0c18e84d3cb784d82107419286272b37f53d292ca8b664c06c242b DIST lttng-modules-2.13.16.tar.bz2 356182 BLAKE2B aee4c7f602a403ac319ed07eeb2dd079a91707b64b8e7ff948027e05ba1db51416b8922e7a623dd32a81cbd16c68c8406b59a76cbc91421b623b19aeb8631a1b SHA512 98dddfc4aa739081b03c355f212f143a249b90b1a26c34c2af8e7502643f388990bc9b5a37bab02c1a562246219a9b7bd8a1daa0bacf6ec4afef9a3b93415d70 +DIST lttng-modules-2.13.19.tar.bz2 372741 BLAKE2B 9e0948250fd7aaa7187fe65329bcda3867fae27ca03b77c2b5387adff11bc2348b610142490195c8a253ada190db85830ea3c973283929b62aa08284bdcd2564 SHA512 adeb8c3815ac43f0b21b1a22c68d7a28e99c124018936abb3a511912f09a74c1963a735d3aedcb92c751086fc4f6cb725cd95682640aaff660cef102a0951693 diff --git a/dev-util/lttng-modules/lttng-modules-2.13.19.ebuild b/dev-util/lttng-modules/lttng-modules-2.13.19.ebuild new file mode 100644 index 000000000000..296203d71428 --- /dev/null +++ b/dev-util/lttng-modules/lttng-modules-2.13.19.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump the following packages together: +# dev-util/lttng-modules +# dev-util/lttng-tools +# dev-util/lttng-ust + +inherit linux-mod-r1 + +MY_P="${P/_rc/-rc}" +MY_SLOT="$(ver_cut 1-2)" + +DESCRIPTION="LTTng Kernel Tracer Modules" +HOMEPAGE="https://lttng.org" +SRC_URI="https://lttng.org/files/${PN}/${MY_P}.tar.bz2" + +S="${WORKDIR}/${MY_P}" +LICENSE="GPL-2" +SLOT="0/${MY_SLOT}" + +KEYWORDS="~amd64 ~x86" + +CONFIG_CHECK="MODULES KALLSYMS HIGH_RES_TIMERS TRACEPOINTS + ~HAVE_SYSCALL_TRACEPOINTS ~PERF_EVENTS ~EVENT_TRACING ~KPROBES KRETPROBES" +MODULES_KERNEL_MIN=3.0 + +src_compile() { + MODULES_MAKEARGS+=( + KERNELDIR="${KV_OUT_DIR}" + ) + emake "${MODULES_MAKEARGS[@]}" +} + +src_install() { + emake "${MODULES_MAKEARGS[@]}" INSTALL_MOD_PATH="${ED}" modules_install + modules_post_process + + dodoc ChangeLog README.md +} diff --git a/dev-util/lttng-tools/Manifest b/dev-util/lttng-tools/Manifest index bc1ba823ec59..fa5ab47237c2 100644 --- a/dev-util/lttng-tools/Manifest +++ b/dev-util/lttng-tools/Manifest @@ -1,2 +1,3 @@ DIST lttng-tools-2.12.17.tar.bz2 1627001 BLAKE2B db080e433320e1b9129a40e3e12bbf7c7071d80486953a6c2b2da3cdf8568d6ab8ed69fd61a477c56b940a3e144327ec4f813821f5e2bd2097a91c13a7276b35 SHA512 25480505e7f12b0a9abdfbbdc96cf12223a143bf13f436f2a1fbf616940323bcf088d51e0abcc72dad24cae237fca07620ff187ab437088e4ec808e6b47d4bb3 DIST lttng-tools-2.13.14.tar.bz2 1932238 BLAKE2B f079051502d01ffc67c4f8f0bbcdf3a4428546c652dcc352918c4908a37aeb510dd66309306cec835297c8d2f276e5cbd22ea4efef6866d3c0c0cf8651d68ef8 SHA512 61bdebb539cfb4eb61c9806e98742f39dc032d849b03d90cdb98d1891bd5bfbd0cb1f54bbc7bf79a11505ce7fee558497312d650bb41f11f739884e7cb8a750f +DIST lttng-tools-2.13.15.tar.bz2 1934955 BLAKE2B 3942ef4a48995329300ddf926a590b5eafbd75847f100e739b4a54be0ddeae41f7acfff0e24243fc41c876dc57be6a13157958ba1fa65111e272d4a7d50280ee SHA512 0aaef9e298e5ec6f4c60d337277ca83aa86af17a1ebdeb976f000a68a8a99a1e4e0d1b88dae3c09171ca903d1ae1118819d4e3981fc4f9aade23b8370db2c367 diff --git a/dev-util/lttng-tools/lttng-tools-2.13.15.ebuild b/dev-util/lttng-tools/lttng-tools-2.13.15.ebuild new file mode 100644 index 000000000000..f3b312df1926 --- /dev/null +++ b/dev-util/lttng-tools/lttng-tools-2.13.15.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic + +# Please bump the following packages together: +# dev-util/lttng-modules +# dev-util/lttng-tools +# dev-util/lttng-ust + +MY_P="${P/_rc/-rc}" +MY_SLOT="$(ver_cut 1-2)" + +DESCRIPTION="Linux Trace Toolkit - next generation" +HOMEPAGE="https://lttng.org" +SRC_URI="https://lttng.org/files/${PN}/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0/${MY_SLOT}" +KEYWORDS="~amd64 ~x86" +IUSE="+ust" +# Lots of failures including hangs (bug #762475) +RESTRICT="test" + +DEPEND=" + >=dev-libs/userspace-rcu-0.11.0:= + dev-libs/popt + >=dev-libs/libxml2-2.7.6:= + ust? ( >=dev-util/lttng-ust-${MY_SLOT}.0:= ) +" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +QA_CONFIG_IMPL_DECL_SKIP=( + pthread_get_name_np # different from pthread_getname_*, not on linux + pthread_set_name_np # different from pthread_setname_*, not on linux +) + +src_configure() { + # bug 906928 + use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE + + local myeconfargs=( + $(usex ust "" --without-lttng-ust) + --disable-test-sdt-uprobe + --disable-Werror + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/dev-util/lttng-ust/Manifest b/dev-util/lttng-ust/Manifest index a398c767a940..e4bc7629098b 100644 --- a/dev-util/lttng-ust/Manifest +++ b/dev-util/lttng-ust/Manifest @@ -2,3 +2,4 @@ DIST lttng-ust-2.12.10.tar.bz2 801458 BLAKE2B f9dd2242e0979334c3bfaf5146af1b4732 DIST lttng-ust-2.12.9.tar.bz2 800795 BLAKE2B 467500f7fd0f473a5cd7af6c23e8f0f83516d57ad573f92c48354bbe1ea1d2fea08bd20d7675e7698adf2284a5069fd23d3a929bc11df0ba157a99091b543777 SHA512 5edaa6c015bccd710e7bfea136398e8bc784946c22933a011f4b31b9c13fa772c4f03d0c42543bf0d08a810922498ff1fa56d4bccd9c5b8c4b14925c849c6c9b DIST lttng-ust-2.13.6.tar.bz2 1351915 BLAKE2B c350a7302e38035ef7c6727ea942907ec606c88862ae875bed0a7c833f233b4159405bcb7a41549dccf3d79491151066d593c52d9f06b95b61c345ccbace62f5 SHA512 15458f8dd0ad6fa96a9cf7569ffabadfddcaa70b822b69b39d4d7dfba3701c9489706b06f12f9d7e376147299fb3cfc6fe1213d46d510bdb7b3dc834271da55f DIST lttng-ust-2.13.8.tar.bz2 1358168 BLAKE2B f4f623c9c1a37395312270803c7e845ba76d6075c10cc6bdcfdd6f35d0cb6db9c303a9fb8c33a50e201c84fd772ed60611bfce9e962e27c4d5820b6ef0ac2d66 SHA512 f61f7e1633051a4d515ba28d4945b96a84eab8a8143ef698bbb6857cbaad1acbe238041e43f04d9818bac43f59023be3f3c2154ecf75f180d8233c9d7f65c555 +DIST lttng-ust-2.13.9.tar.bz2 1359608 BLAKE2B 2137a2cffa12d98b347f2afe249f9b50fcb0b74c2352d101a8ce076975da407d9a3451da3e559ae43d094c4c39fd3647e4cc8b6fdb19dc8f1a3abbc53ea5b36a SHA512 d2bf449e0d283ee80937aa1691c48ce1cc8beb4996a4ef79078bcc2c4584bc650746ef72e927679cd6e6e54546aced40943070d46008ac9c944b6c16e2347670 diff --git a/dev-util/lttng-ust/lttng-ust-2.13.9.ebuild b/dev-util/lttng-ust/lttng-ust-2.13.9.ebuild new file mode 100644 index 000000000000..c8ed348b9813 --- /dev/null +++ b/dev-util/lttng-ust/lttng-ust-2.13.9.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump the following packages together: +# dev-util/lttng-modules +# dev-util/lttng-tools +# dev-util/lttng-ust + +inherit flag-o-matic + +MY_P="${P/_rc/-rc}" +MY_SLOT="$(ver_cut 1-2)" + +DESCRIPTION="Linux Trace Toolkit - UST library" +HOMEPAGE="https://lttng.org" +SRC_URI="https://lttng.org/files/${PN}/${MY_P}.tar.bz2" +S="${WORKDIR}"/${MY_P} + +LICENSE="GPL-2" +SLOT="0/${MY_SLOT}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="examples numa test" +RESTRICT="!test? ( test )" + +DEPEND=" + >=dev-libs/userspace-rcu-0.12:= + numa? ( sys-process/numactl ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig + test? ( dev-lang/perl ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + pthread_get_name_np # different from pthread_getname_*, not on linux + pthread_set_name_np # different from pthread_setname_*, not on linux +) + +src_configure() { + # bug #880357 + strip-flags + + local myeconfargs=( + $(use_enable examples) + $(use_enable numa) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/dev-util/rocm-smi/Manifest b/dev-util/rocm-smi/Manifest index 162d85675b4d..1a2bcca3ed91 100644 --- a/dev-util/rocm-smi/Manifest +++ b/dev-util/rocm-smi/Manifest @@ -2,3 +2,4 @@ DIST rocm-smi-5.7.1.tar.gz 801646 BLAKE2B b4799bbdaeb7203c16117cd30511d589a2b96e DIST rocm-smi-6.1.1.tar.gz 872628 BLAKE2B 35830fd0eb36688b3803bed2059f29ba4d8613112ae4cfff2e0a3b1d7afef9f0d77ec16771e2205ba351df0aa678c3b0d2436940b76d10d020f1a30d14d760e9 SHA512 3e31ff0d94e7f0ea650c985973b27107e3f7293b92857fbf2fe196b61632c530e95c3228ad7550d44f8ee9f5f1abfd17e5c2b19164759728fb6d4b0995455fa7 DIST rocm-smi-6.3.2.tar.gz 902982 BLAKE2B 8b9f544d7ab66a8728f8e8fa0e217e2177fc8666c5cce47cdd59246c2309feedb63f59894fa53d5433acd462e5274826d411d5b052f6f61291e76516d3bf4dd5 SHA512 bdd7825a1147452cc9927d446cfb1f10ffa34fb63bdbb842e8e0f6a2126c3a2855e5bca2e6663c103f4b13d46656190b14d13aee3cf1a2f967f72305f15ce338 DIST rocm-smi-6.3.3.tar.gz 902980 BLAKE2B 8a8f80c4fb5485dc65b340ba4da2bb73061b989757ca6147d7d401dcbdbba5edbd1f68de78f66adcc5a6611a8ce870dfea6cbc31863918d6da9e9a7cb812746b SHA512 0f722effb404f605bef08f22eb4c4ecfb076ee10d112daf6a82f81d78e5279a185f497919b2d9ea414236761d1fa52231a6168a156f33b7f47a93857e30d7449 +DIST rocm-smi-6.4.1.tar.gz 934699 BLAKE2B 418ea7680118cf78f4ab9c8eaa8897360815519bdb0877e095fa7c5abe0d2e6c7db1d63098b8f75613e4fae9107d5581bfe7afd7fecef76f56de9231ce5d59ce SHA512 e8701f8746a48ebd6a22e919f14219e02992840003183e85811b4c94c7330efb1c487e8767a6504f4240fbbdc397b3e4e6a9ce0527e9635eb1bb944f412a8345 diff --git a/dev-util/rocm-smi/files/rocm-smi-6.4.1-log-exceptions.patch b/dev-util/rocm-smi/files/rocm-smi-6.4.1-log-exceptions.patch new file mode 100644 index 000000000000..0e09b98269f8 --- /dev/null +++ b/dev-util/rocm-smi/files/rocm-smi-6.4.1-log-exceptions.patch @@ -0,0 +1,16 @@ +Log some more information, not just Exception caught: rsmi_init. + +Upstream PR: https://github.com/ROCm/rocm_smi_lib/pull/213#issuecomment-2972588767 +Bug: https://bugs.gentoo.org/957064 +--- a/src/rocm_smi.cc ++++ b/src/rocm_smi.cc +@@ -485,6 +485,9 @@ rsmi_init(uint64_t flags) { + if (smi.ref_count() == 1) { + try { + smi.Initialize(flags); ++ } catch(const amd::smi::rsmi_exception& e) { ++ smi.Cleanup(); ++ throw; + } catch(...) { + smi.Cleanup(); + throw amd::smi::rsmi_exception(RSMI_STATUS_INIT_ERROR, __FUNCTION__);
\ No newline at end of file diff --git a/dev-util/rocm-smi/files/rocm-smi-6.4.1-set-soversion.patch b/dev-util/rocm-smi/files/rocm-smi-6.4.1-set-soversion.patch new file mode 100644 index 000000000000..1d07aca0b77a --- /dev/null +++ b/dev-util/rocm-smi/files/rocm-smi-6.4.1-set-soversion.patch @@ -0,0 +1,106 @@ +Switch from extracting version with git to version from ebuild filename. +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,21 +38,17 @@ set(SHARE_INSTALL_PREFIX + "share/${ROCM_SMI}" + CACHE STRING "Tests and Example install directory") + +-# provide git to utilities +-find_program (GIT NAMES git) +- +- +-## Setup the package version based on git tags. +-set(PKG_VERSION_GIT_TAG_PREFIX "rsmi_pkg_ver") +-get_package_version_number("7.6.0" ${PKG_VERSION_GIT_TAG_PREFIX} GIT) +-message("Package version: ${PKG_VERSION_STR}") +-set(${ROCM_SMI_LIBS_TARGET}_VERSION_MAJOR "${CPACK_PACKAGE_VERSION_MAJOR}") +-set(${ROCM_SMI_LIBS_TARGET}_VERSION_MINOR "${CPACK_PACKAGE_VERSION_MINOR}") +-set(${ROCM_SMI_LIBS_TARGET}_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}") +-set(${ROCM_SMI_LIBS_TARGET}_VERSION_BUILD "0") +-set(${ROCM_SMI_LIBS_TARGET}_VERSION_HASH "${PKG_VERSION_HASH}") +- +-set(${ROCM_SMI_LIBS_TARGET}_VERSION_STRING "${${ROCM_SMI_LIBS_TARGET}_VERSION_MAJOR}.${${ROCM_SMI_LIBS_TARGET}_VERSION_MINOR}.${${ROCM_SMI_LIBS_TARGET}_VERSION_PATCH}+${${ROCM_SMI_LIBS_TARGET}_VERSION_HASH}") ++set(VERSION_MAJOR "@VERSION_MAJOR@") ++set(VERSION_MINOR "@VERSION_MINOR@") ++set(VERSION_PATCH "@VERSION_PATCH@") ++set(PKG_VERSION_STR "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") ++set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}") ++set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}") ++set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}") ++set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}") ++set(rocm_smi_VERSION_MAJOR "${VERSION_MAJOR}") ++set(rocm_smi_VERSION_MINOR "${VERSION_MINOR}") ++set(rocm_smi_VERSION_PATCH "${VERSION_PATCH}") + + # The following default version values should be updated as appropriate for + # ABI breaks (update MAJOR and MINOR), and ABI/API additions (update MINOR). +--- a/oam/CMakeLists.txt ++++ b/oam/CMakeLists.txt +@@ -29,17 +29,6 @@ set(OAM_NAME "oam") + set(OAM_COMPONENT "lib${OAM_NAME}") + set(OAM_TARGET "${OAM_NAME}") + +-################# Determine the library version ######################### +-set(SO_VERSION_GIT_TAG_PREFIX "oam_so_ver") +- +-# VERSION_* variables should be set by get_version_from_tag +-message("Package version: ${PKG_VERSION_STR}") +- +-# Debian package specific variables +-# Set a default value for the package version +-get_version_from_tag("1.0.0.0" ${SO_VERSION_GIT_TAG_PREFIX} GIT) +- +-# VERSION_* variables should be set by get_version_from_tag + if ( ${ROCM_PATCH_VERSION} ) + set ( VERSION_PATCH ${ROCM_PATCH_VERSION}) + set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") +--- a/python_smi_tools/rsmiBindingsInit.py.in ++++ b/python_smi_tools/rsmiBindingsInit.py.in +@@ -26,17 +26,7 @@ def initRsmiBindings(silent=False): + if (rocm_smi_lib_path != None): + path_librocm = rocm_smi_lib_path + else: +- path_librocm = os.path.dirname(os.path.realpath(__file__)) + '/../../@CMAKE_INSTALL_LIBDIR@/librocm_smi64.so.@VERSION_MAJOR@' +- +- if not os.path.isfile(path_librocm): +- print_silent('Unable to find %s . Trying /opt/rocm*' % path_librocm) +- for root, dirs, files in os.walk('/opt', followlinks=True): +- if 'librocm_smi64.so.@VERSION_MAJOR@' in files: +- path_librocm = os.path.join(os.path.realpath(root), 'librocm_smi64.so.@VERSION_MAJOR@') +- if os.path.isfile(path_librocm): +- print_silent('Using lib from %s' % path_librocm) +- else: +- print('Unable to find librocm_smi64.so.@VERSION_MAJOR@') ++ path_librocm = 'librocm_smi64.so' + + # ----------> TODO: Support static libs as well as SO + try: +@@ -44,7 +34,7 @@ def initRsmiBindings(silent=False): + return CDLL(path_librocm) + except OSError: + print('Unable to load the rocm_smi library.\n'\ +- 'Set LD_LIBRARY_PATH to the folder containing librocm_smi64.so.@VERSION_MAJOR@\n'\ ++ 'Set LD_LIBRARY_PATH to the folder containing librocm_smi64.so\n'\ + '{0}Please refer to https://github.com/'\ + 'RadeonOpenCompute/rocm_smi_lib for the installation guide.{1}'\ + .format('\33[33m', '\033[0m')) +--- a/rocm_smi/CMakeLists.txt ++++ b/rocm_smi/CMakeLists.txt +@@ -31,17 +31,6 @@ set(ROCM_SMI_TARGET "${ROCM_SMI}64") + ## Include common cmake modules + include(utils) + +-################# Determine the library version ######################### +-set(SO_VERSION_GIT_TAG_PREFIX "rsmi_so_ver") +- +-# VERSION_* variables should be set by get_version_from_tag +-message("Package version: ${PKG_VERSION_STR}") +- +-# Debian package specific variables +-# Set a default value for the package version +-get_version_from_tag("1.0.0.0" ${SO_VERSION_GIT_TAG_PREFIX} GIT) +- +-# VERSION_* variables should be set by get_version_from_tag + if ( ${ROCM_PATCH_VERSION} ) + set ( VERSION_PATCH ${ROCM_PATCH_VERSION}) + set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") diff --git a/dev-util/rocm-smi/rocm-smi-6.4.1.ebuild b/dev-util/rocm-smi/rocm-smi-6.4.1.ebuild new file mode 100644 index 000000000000..c2bc046c9aee --- /dev/null +++ b/dev-util/rocm-smi/rocm-smi-6.4.1.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} python3_13t ) + +inherit cmake python-r1 + +DESCRIPTION="ROCm System Management Interface Library" +HOMEPAGE="https://github.com/ROCm/rocm_smi_lib" + +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ROCm/rocm_smi_lib" + EGIT_BRANCH="master" +else + SRC_URI="https://github.com/ROCm/rocm_smi_lib/archive/rocm-${PV}.tar.gz -> rocm-smi-${PV}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/rocm_smi_lib-rocm-${PV}" +fi + +LICENSE="MIT NCSA-AMD" +SLOT="0/$(ver_cut 1-2)" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}"/${PN}-5.7.1-no-strip.patch + "${FILESDIR}"/${PN}-5.7.1-remove-example.patch + "${FILESDIR}"/${PN}-6.4.1-set-soversion.patch + "${FILESDIR}"/${PN}-6.3.0-fix-flags.patch + "${FILESDIR}"/${PN}-6.4.1-log-exceptions.patch +) + +src_prepare() { + cmake_src_prepare + + sed -e "s/@VERSION_MAJOR@/$(ver_cut 1)/" \ + -e "s/@VERSION_MINOR@/$(ver_cut 2)/" \ + -e "s/@VERSION_PATCH@/$(ver_cut 3)/" \ + -i CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + python_foreach_impl python_newscript python_smi_tools/rocm_smi.py rocm-smi + python_foreach_impl python_domodule python_smi_tools/rsmiBindings.py + python_foreach_impl python_domodule python_smi_tools/rsmiBindingsInit.py + + mv "${ED}"/usr/share/doc/rocm_smi "${ED}/usr/share/doc/${PF}" || die +} diff --git a/dev-util/rocm_bandwidth_test/Manifest b/dev-util/rocm_bandwidth_test/Manifest index 106ac7d648e0..026285e88bf5 100644 --- a/dev-util/rocm_bandwidth_test/Manifest +++ b/dev-util/rocm_bandwidth_test/Manifest @@ -1,3 +1,4 @@ DIST rocm_bandwidth_test-5.7.1.tar.gz 38769 BLAKE2B 5880c4bb50d4daf87581424c2fb208363d2d34f848d3ced163b3809e5dff4e56996abf3edc6f8c8ca75f55d95b92604de6ee0c333930d32c7c52c8bcdb6562e6 SHA512 7da08b7a9bbde34e3b2b799e47e490d34dc69225b9d5efe103fd23f3a417fc7a48dcc813d2669ee4506f6699c4576c549f982a4a76a92d83447d6fab709f5042 DIST rocm_bandwidth_test-6.3.2.tar.gz 45543 BLAKE2B e38e448241f4f5b601cd4bd58d2a22f692ee71a5799906d9b3747cf7337cf07d91d140fa19683ef6ce030a6c6c34df1cf47957c2c8c1c4b96cf713c841a91d3e SHA512 d01f35c2331c13fe8c56b110ca2a6d26a6f4ecaaafa13af8ff47a01001fd29605aa44855c0c7d024dde83eec4978e14032ff96b1200b2a95a0c82376755cf91b DIST rocm_bandwidth_test-6.3.3.tar.gz 45541 BLAKE2B c00ecafdc7bea482047362da741e45ddf4c4f5a39e677defcde845c27629ab7e1e83ac15f36d59707cbad1225166051a558d659c0e71e08a4602682e2095d394 SHA512 05bee2828a9b0b2e4137b5ff38692509c112072348bea6c3ee21553bd38f79a876a470ee390d4d47fd0ba0b9d9847be6a82a0c2c8b871868b9abad55beea9b33 +DIST rocm_bandwidth_test-6.4.1.tar.gz 44905 BLAKE2B 9e10cb447c0317569ee29d899a546b0ab722b33118973ed68132b35ea351c9b84a2c04f69d83a3ffc84642f1735f2e1625178fc23bf4ee904f6bb909c6b379d1 SHA512 c8307d7eddbf78139d6a92a68c8cdee08edbbb9604490e34a1f71a11da7e7aecaa53fdbcdce871ef21a6e94663fad04b9d512957fce09723089026c9db1a3aca diff --git a/dev-util/rocm_bandwidth_test/rocm_bandwidth_test-6.4.1.ebuild b/dev-util/rocm_bandwidth_test/rocm_bandwidth_test-6.4.1.ebuild new file mode 100644 index 000000000000..849501fe94f1 --- /dev/null +++ b/dev-util/rocm_bandwidth_test/rocm_bandwidth_test-6.4.1.ebuild @@ -0,0 +1,18 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Bandwidth test for ROCm" +HOMEPAGE="https://github.com/ROCm/rocm_bandwidth_test" +SRC_URI="https://github.com/ROCm/${PN}/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}/${PN}-rocm-${PV}" +LICENSE="NCSA-AMD" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +DEPEND="dev-libs/rocr-runtime:=" +RDEPEND="${DEPEND}" diff --git a/dev-util/rocminfo/Manifest b/dev-util/rocminfo/Manifest index 9c88094afe8e..3f087b9ba971 100644 --- a/dev-util/rocminfo/Manifest +++ b/dev-util/rocminfo/Manifest @@ -3,3 +3,4 @@ DIST rocminfo-6.1.1.tar.gz 17740 BLAKE2B 6331054e1c8a59f2d4246c3fcb999afc28a8cab DIST rocminfo-6.1.2.tar.gz 17734 BLAKE2B d92816dc0657a2ec0f04024311b5a7851a3cd487d73b496bfdb32ffe69cae957798f49622e477e5d0b47ac4ff86c2bba9a46e86228823f85da2d9f5376b6aef9 SHA512 fa1890797a89d67d18f29d73d213d68bcd31c7fd2b2cee89148b8dbd6fe7552e270af0582c7a50e80adc399197b3dc1cb5e858b1e983411079d088fc947c8c88 DIST rocminfo-6.3.2.tar.gz 27216 BLAKE2B cd991b7c4819d8b7330c7a096a7304010adc334d3ce212edd6f80527adcfd2478586efa851e3ea11a723c35b845567a50c184ea73fd8f47f99a5fada4011c298 SHA512 a23ed64399782f4078836c4c2a71e198463d53bd0526598e91e9eeed0c6690d01f1cad780cd9810b6528843e5eb78c1460997a5b2efab40e717979a4309f7a1b DIST rocminfo-6.3.3.tar.gz 27221 BLAKE2B bcdb16a7087cdb321044bea6baca013b8592eb99a7a91ffdae3f7150d21c1ff804cb6620eadf6ec9ee2fd5d3d0c9205d731c36fc671f10582b79a0b7bca307e9 SHA512 29c05366833f93ca43b7bf661205c3c427c33425bfbea972648e011eca316fb8fb60c2fdc80e44959ef845a9ff04ed658225c88d83c1440c750f2967d79ca5c7 +DIST rocminfo-6.4.1.tar.gz 27949 BLAKE2B b065fe7e49653c6e31664dd2e038d181803aa480e7b2c3ff66d1392f3ebfa521ebe21984a3a0d5756d0a65e7323cb83ff9fc137e13b6c065a55e799c13bd7565 SHA512 76345d5e7105fbd549785087ec038591f3dbbc2c795008b74dfbb2f1ffcffbc21e77bfe10bc55dba3b5709a5453e2352c9e021dc23d1091d1ed201e945b97b2a diff --git a/dev-util/rocminfo/rocminfo-6.4.1.ebuild b/dev-util/rocminfo/rocminfo-6.4.1.ebuild new file mode 100644 index 000000000000..c53b36f0f97c --- /dev/null +++ b/dev-util/rocminfo/rocminfo-6.4.1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} python3_13t ) +inherit cmake python-r1 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/ROCm/rocminfo/" + inherit git-r3 +else + SRC_URI="https://github.com/ROCm/rocminfo/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/rocminfo-rocm-${PV}" +fi + +DESCRIPTION="ROCm Application for Reporting System Info" +HOMEPAGE="https://github.com/ROCm/rocminfo" +LICENSE="UoI-NCSA" +SLOT="0/$(ver_cut 1-2)" + +RDEPEND=">=dev-libs/rocr-runtime-${PV} + ${PYTHON_DEPS}" +DEPEND="${RDEPEND}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +src_prepare() { + sed -e "/CPACK_RESOURCE_FILE_LICENSE/d" -i CMakeLists.txt || die + sed -e "/num_change_since_prev_pkg(/cset(NUM_COMMITS 0)" \ + -i cmake_modules/utils.cmake || die # Fix QA issue on "git not found" + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( -DROCRTST_BLD_TYPE=Release ) + cmake_src_configure +} + +src_install() { + cmake_src_install + rm "${ED}/usr/bin/rocm_agent_enumerator" || die + python_foreach_impl python_doexe rocm_agent_enumerator "${BUILD_DIR}"/rocm_agent_enumerator +} diff --git a/dev-util/roctracer/Manifest b/dev-util/roctracer/Manifest index 2786fb5ed7a2..7fad75ca10aa 100644 --- a/dev-util/roctracer/Manifest +++ b/dev-util/roctracer/Manifest @@ -2,3 +2,4 @@ DIST roctracer-5.7.1.tar.gz 354686 BLAKE2B 2e72d8df5cf53a913102a715dab55f7c6d33b DIST roctracer-6.1.1.tar.gz 396688 BLAKE2B e332c3a6056d1678e3da511878fd2710a4eaa02526cd1e7353dd1dbcba776cb77e6e431d90daf5f238ec7793fc8e9f51afd7f09992f70b26c7e3aab28bb319a9 SHA512 d59c367953b1d5df0daae96746095e2e19f706f43b5ebed3d45c15d23697e9c99c1623bbb8dfa001648fdeda172a3c1d820d884b6da3946addec8f4b9a86e5dc DIST roctracer-6.3.2.tar.gz 397366 BLAKE2B 0edc2e6483935dcbc8e905b1eac1d426c3e553491cbe119a8f6cba99cadad5c622ec7a0005e27e66d57f9baf4e3048033185cd38f32b4cfd17277d80673ac225 SHA512 d08657e8424cf2fbdee1caa46140dd90f45b5efe7c71a96c789b0bb350d7c36a9c725ae436bee00fb0948ab0de5fc5356f71082619edae1316922221c19eae1c DIST roctracer-6.3.3.tar.gz 397370 BLAKE2B dff4c796b7284c2107ef0d308ee16d640aab6e9ce49c769a84352837f3e29e24e09e71d5a1d1fe19d22d218e607e85f7fbe6b43ff1a0a1f6e04aa859baefd054 SHA512 50ee107b7c8676dd5d41d2b9433fce701807b954b3d6624c25c32d057bd3a50ad2c7f853cb287c7bb5dd1f5fe2c3b0ec4a7cb082d5ef545c17f2ae2644c1df7c +DIST roctracer-6.4.1.tar.gz 398019 BLAKE2B 01a280650bf0eb669c7b0eb2f0d61b05475f055ef93e1cae1e5b99ad3046392f9465026f216766d80ff47b5f387e679104f71ec7b957a15412985cf31e4ce79d SHA512 9d4e6fd3010d11c73fab7539538db56c26ebea1225082b5e9ee9bd260f087a373b0984414a8bb8174bf8b291384570255a5da9f4b5be95d5af54a6519ca8c59e diff --git a/dev-util/roctracer/roctracer-6.4.1.ebuild b/dev-util/roctracer/roctracer-6.4.1.ebuild new file mode 100644 index 000000000000..e99038363fc8 --- /dev/null +++ b/dev-util/roctracer/roctracer-6.4.1.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +ROCM_VERSION=${PV} + +inherit cmake flag-o-matic prefix python-any-r1 rocm toolchain-funcs + +DESCRIPTION="Callback/Activity Library for Performance tracing AMD GPU's" +HOMEPAGE="https://github.com/ROCm/roctracer" +SRC_URI="https://github.com/ROCm/roctracer/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/roctracer-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip:${SLOT} + dev-libs/rocr-runtime +" +DEPEND="${RDEPEND}" +BDEPEND=" + $(python_gen_any_dep ' + dev-python/cppheaderparser[${PYTHON_USEDEP}] + dev-python/ply[${PYTHON_USEDEP}] + ') +" + +PATCHES=( + "${FILESDIR}/${PN}-5.7.1-with-tests.patch" + "${FILESDIR}/${PN}-6.3.0-fix-prettyprinter.patch" +) + +python_check_deps() { + python_has_version "dev-python/cppheaderparser[${PYTHON_USEDEP}]" \ + "dev-python/ply[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + hprefixify script/*.py + eapply $(prefixify_ro "${FILESDIR}/${PN}"-5.3.3-rocm-path.patch) + + # Install libs directly into /usr/lib64 + sed -e "s:\${CMAKE_INSTALL_LIBDIR}/\${PROJECT_NAME}:\${CMAKE_INSTALL_LIBDIR}:g" \ + -i src/CMakeLists.txt plugin/file/CMakeLists.txt || die + + # Remove all install commands for tests + sed -E '/^ *install\(.+/d' -i test/CMakeLists.txt || die + + # Test fails: https://github.com/ROCm/roctracer/issues/109 + sed '/load_unload_reload_test/d' -i test/run.sh || die + + # Fix search path for HIP cmake + sed -e "s,\${ROCM_PATH}/lib/cmake,/usr/$(get_libdir)/cmake,g" -i test/CMakeLists.txt || die + + # bug #892732 + sed -e 's/-Werror//' -i CMakeLists.txt || die + + # libc++ may have no experimental/filesystem + sed -e 's|experimental/||' -e 's|experimental::||' \ + -i plugin/file/file.cpp src/hip_stats/hip_stats.cpp \ + src/roctracer/loader.h src/tracer_tool/tracer_tool.cpp || die +} + +src_configure() { + rocm_use_hipcc + + if [[ $(tc-get-cxx-stdlib) == "libc++" ]] ; then + # https://releases.llvm.org/9.0.0/projects/libcxx/docs/UsingLibcxx.html#using-filesystem + append-libs "-lc++fs" + fi + + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake/hip" + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DWITH_TESTS=$(usex test) + -DPython3_EXECUTABLE="${PYTHON}" + ) + use test && mycmakeargs+=( + -DHIP_ROOT_DIR="${EPREFIX}/usr" + -DGPU_TARGETS="$(get_amdgpu_flags)" + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}" || die + # if LD_LIBRARY_PATH not set, dlopen cannot find correct lib + LD_LIBRARY_PATH="${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" bash run.sh || die +} + +src_install() { + cmake_src_install + + # remove unneeded copy + rm -r "${ED}/usr/share/doc/${PF}-asan" || die +} diff --git a/dev-util/spirv-llvm-translator/Manifest b/dev-util/spirv-llvm-translator/Manifest index 590186eead54..9c55d136b174 100644 --- a/dev-util/spirv-llvm-translator/Manifest +++ b/dev-util/spirv-llvm-translator/Manifest @@ -1,12 +1,19 @@ +DIST SPIRV-LLVM-Translator-37a91c7eedcb46e7b022833a4b6ec68ac1bbd9c1.tar.gz 1816381 BLAKE2B f347df35744586d7743ef84becc94f8e0050de921e80d195d971e421832a7d272d39cde67d3ba240610d71f3bf0252485ee61d56f5078c70ce2e7781d18fbf7e SHA512 fe40e5b921a5fd299650f1fee1b882e15a2b2d075bf0376499ecde027bfc569e23af58fd3af5877fcf0b8bbf6632506e36c842eec3c6712ab90a4a07376bc725 DIST SPIRV-LLVM-Translator-cedb8ae2e22102ef85999e0732c3447a307141db.tar.gz 1810220 BLAKE2B 04fe26b7da6178e28016097d524bfb2530c85039d7e0457e25290f30d8ec08768d506794cf287f4a04f71a3dc9d6f11814f9153f2c66d90dd5ea3950270e0991 SHA512 cd2d9fcdc15124052c9cf648b1da307c51cef293b0f7397a7c55e4dd93c917979b3f8d6f1a13dfd66e1c619ee31d1a970fe4704e7e524a7cfb2ae020ef115226 DIST spirv-llvm-translator-15.0.10.tar.gz 1623782 BLAKE2B 53da8de0d57b1723e2fb879456ac18e6cc0c11ca931d7d4379cea9b130819b5297a80615ad5d06d780d5cd6ce1b24c5dcf96ba5e6e82e4bd1017b1f78b393842 SHA512 b22df95fbbeee569a8711807fe860839dad7127208a6ffffbe38b2973dc426046a16a7c600df75e9741d3b7296baa3458b5762c35333eedb80215252a1b69c8e DIST spirv-llvm-translator-15.0.11.tar.gz 1632016 BLAKE2B 3ac06065e3043e37b6ac0b925ea4688edc6ed87d0eb91aff2bfa2c0a3a0fb2f457aa643ef7a125d58dc9af354c34d2ac96da0a457e19792d140c9a7c1ad67d90 SHA512 99c8633f0406788106141999e27380cd65172b255dfcf5b17572eee4f4e8e270656171702de95b8eb69c97ce7bc4bd56b1c4aec6bffe7708f60484b05ba38315 +DIST spirv-llvm-translator-15.0.13.tar.gz 1632215 BLAKE2B 44ea3d463cf84a69e86fa5243b302ca19f1734f0f037dba4c5bb945b2e4740dd003feb8f2dddee621021c3f1791d1bf70bb5ab9c505ca87d9bd957fe80a30de7 SHA512 1186f877ed6bee80a03c774e0ec26c0dc59cf80616a77e8634aa51a4f5f0d7b888afd23e7d80fc73f4cdbb94609ff0f5c64d5926e83e6ccd8f3d519a9fdda68b DIST spirv-llvm-translator-16.0.10.tar.gz 1618494 BLAKE2B ea8432b6669c4985b024908ed17d672ce4e805f72a38a4a8ffceb1ca6682ee176698562b1156d2a0b6a7cc60440c1f7312e8d336d5a78acbfd35336d08677a0e SHA512 7949cf0bfc6d2f4d15261392149820aec69914e262f5e4e943462e379ad0595c0307cfd8a7242cce5763a2ecd2bc8113106d56204a27ac041f335b23726f59e5 DIST spirv-llvm-translator-16.0.11.tar.gz 1623357 BLAKE2B 2f109f8d17c70911f2aad47faea2a8872b951612744a9926a91372162c43812ff10add10fd26902591277e9d8360100cc5b074018174a3d180bb4cf109f960db SHA512 0b5434a435f75cac06b067da79b79085e626b67f488edd8360143e25a40cddfa7b8bff653d2f17187bc952dce72cc74f96ffc6209b0635ab8426f82ef40ed2f4 +DIST spirv-llvm-translator-16.0.13.tar.gz 1660568 BLAKE2B f7e2abc11e72ce954657f1f00ed2c297f2a28a8c445b797b7fab1fc05101a3f799f1547e5f4cd66d8218338cfe471fc7a03c084277c6876f34b84b4d7e82fe39 SHA512 12ea659dd7c2f8c8093ee3c30fcd3273cb8122785153b98231a8f0245630a0e647c05c09ea766c185b68a102f29141da2ccb6b4e19fd4ae48af1b6fa618a0788 DIST spirv-llvm-translator-17.0.10.tar.gz 1652859 BLAKE2B 87e0748d5461c983a314a479f5b63e973b8f2cf6ca01264ea66167166c23fb2f8ede3d4d25655cab635502820870a262de192da44cfe7521a2dc4c864bc13d02 SHA512 b7de75f8075b11ac3518571ab9d46d5bba3d18fbf379320832c95a682701f68920078bca6ff6085f264ba944393a10177d9ed1084d28c9abaf9faf64049cec03 DIST spirv-llvm-translator-17.0.11.tar.gz 1656784 BLAKE2B ffd2711ca4b05bf17153334e5cf7114e8e691a5ae62b15e72c459efbeaf3836321fd83212ee5af5499bb862ccc45f56fa7557420e86f44089982fb185ccb3940 SHA512 f6073da1be35fca0a1ca98bb933c25a7bccc4c227814055a781c62334b4aca684fa4ac014df317cd58cc2f37869c76d4ab7bea5b07424c0ad9003321a35d17f9 +DIST spirv-llvm-translator-17.0.13.tar.gz 1657697 BLAKE2B 3a71c165d0f4d737aad3632cd30023972be990604963ba323f0fe0785eb81c07c1a135e5dba0e061526f6877b87f7a19784fb9bbc9ae17f34aa07b8d9d725733 SHA512 1acd1dab79bcec7fed4a3902a858583e9ae91d3f585c2888918b301ca50816bb87016e191e8ecc4730ad0c2cc2438411a7669b05247cd95b6bb0a119d886cbc5 DIST spirv-llvm-translator-18.1.10.tar.gz 1720925 BLAKE2B e6b454bb20e2f05f3ccdaed8066da630b1da6f3a7b54e7d93b1fbbeda620da90d75897c90c0cfa354ea5cea57b97fe03bdf539c425439c2d7e4719a8a32e9314 SHA512 b722b161e480517bb7b5c9f13f6b1b314bd14b3c8c47ad2877fbaaf1d9288e537ff29f6e12a44b13f5f73563730020dcc60064c2b2ee222b73a952ae579397dc DIST spirv-llvm-translator-18.1.11.tar.gz 1724756 BLAKE2B 039fca1689b26adb43053d4983a198694211b9c21502d665f0a66bf86b244618401ef1be12f24bf28aa1ec7e75710f8ce03b967e25acd7392e5649e2769d1cc1 SHA512 c631706f7b37134b858f619bd9aa739be639744ff5afa5c1e12e6086726b42c47ff3ce3bbc3cbe93ed3ed5a09bd81265a647e3cd126b3065d2608f2182722d5f +DIST spirv-llvm-translator-18.1.13.tar.gz 1725819 BLAKE2B cbb78ca1117a902f044060c22b56e896836298ad53df02d40d0ec000233d97417f5f72304e04a8a787cc83c42d78157eea1daaf29339150f60e88e3333a1ed3c SHA512 af31bf8ed8f240eecb96dc408ecce3b757928cf078a6a881eb559ce5b6bbee8339b6e9258f5624c30b943e9fb15ee21e5ea2b7e2a157b791bf175981fc400b4f DIST spirv-llvm-translator-19.1.5.tar.gz 1770088 BLAKE2B f74d4c0d9d7268e84c36e9087059707e73f22b1ccf23ea2f243068aa93446c710002b3cb0506e9c1ac649ecf74a6cb8703efe1fc3cd6b5cf3a58feec4af987c0 SHA512 28b2ace524830b943489cc973d364c0ecd8d9ee83c08c855f8364460d9287b23a82ab4f95891cf0b9a83a476b3e613a8f246195cd7c6e866177db47d591ca25f DIST spirv-llvm-translator-19.1.6.tar.gz 1771001 BLAKE2B 63265f97c85883602604819a9cd017eab8c289ddf492f3a791842690b93981182cea056a56e83c4461ae0f55830fe28c36d42dca01b7169bc779cd347bffddb2 SHA512 8b6589741a964ecfaf0f4cc8cb5e3165e03e76dbf310d4f5b29968b1ceffd32081a2f7c94544f8772619cf5963b31e308f1067506c0b7e8b9e04b8c174fce9a5 +DIST spirv-llvm-translator-19.1.8.tar.gz 1778352 BLAKE2B 1207b75af1282d3207db2a07e90175575cc16a60959ab54d89c3965e577f5527eeb91b11b59fbe687b35703def1739c02338bed710ffce4882e83e54d425b661 SHA512 4372c5c155c0b84f86955469f72151e42b5e62b33e9b24b2b60b7ecd41d417cc43c2dda3e02f40e61c837045f3b65d6291bd995500572859ed047c11fe0377d6 DIST spirv-llvm-translator-20.1.1.tar.gz 1807510 BLAKE2B 5371655f4abe776f35ccc57ef88d0118f8fed71e22241b34beb7d8b8b93a4cfc286ba3c09dc24157d9d721a9259fc55281ff222270ecc02ba0483d4ad930d38f SHA512 7d527b4c0aef18790fb3ec81335df60ea970b9a0935fe7002423e93c36a9053456fdcabfd9954358c26a9d0b0ac4a2670fe2e05108c1d8de8d458027564a1eff +DIST spirv-llvm-translator-20.1.3.tar.gz 1807825 BLAKE2B afe81f41642c8d20f7e9d8402fa9c225b8410687e965858f490123b75f6063178d363f4910283cf4d794a7e7373047393c12e48dc5be2b31f1f52511eddeb8cd SHA512 13758dc809302d7dd5228a7cc21ea9c27043427424626cd3de32a330407a9c308a7b3e10c20e96548e34b316dd59362cca91e56fafb8cb1e3490d3dccf8f1741 diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-15.0.13.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-15.0.13.ebuild new file mode 100644 index 000000000000..79a0585e6d7b --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-15.0.13.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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" +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}= +" +DEPEND="${RDEPEND} + >=dev-util/spirv-headers-1.4.309.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="${ESYSROOT}/usr/include/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.13.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.13.ebuild new file mode 100644 index 000000000000..b127adc9a45c --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.13.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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" +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}= +" +DEPEND="${RDEPEND} + >=dev-util/spirv-headers-1.4.309.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="${ESYSROOT}/usr/include/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.13.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.13.ebuild new file mode 100644 index 000000000000..b68bc9876d7b --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.13.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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" +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}= +" +DEPEND="${RDEPEND} + >=dev-util/spirv-headers-1.4.309.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="${ESYSROOT}/usr/include/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.13.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.13.ebuild new file mode 100644 index 000000000000..f973a01d8d5a --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.13.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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" +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}] +" +DEPEND="${RDEPEND} + >=dev-util/spirv-headers-1.4.309.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="${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 +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-19.1.8.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-19.1.8.ebuild new file mode 100644 index 000000000000..78b4140fa7da --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-19.1.8.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/spirv-tools[${MULTILIB_USEDEP}] + llvm-core/llvm:${SLOT}=[${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND} + >=dev-util/spirv-headers-1.4.309.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="${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 +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-20.1.3.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-20.1.3.ebuild new file mode 100644 index 000000000000..d0e6f083b07e --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-20.1.3.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/spirv-tools[${MULTILIB_USEDEP}] + llvm-core/llvm:${SLOT}=[${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND} + >=dev-util/spirv-headers-1.4.309.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="${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 +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-21.0.0_pre20250613.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-21.0.0_pre20250613.ebuild new file mode 100644 index 000000000000..0e195991a20d --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-21.0.0_pre20250613.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 21 ) + +inherit cmake-multilib flag-o-matic llvm-r2 multiprocessing + +EGIT_COMMIT=37a91c7eedcb46e7b022833a4b6ec68ac1bbd9c1 +MY_P=SPIRV-LLVM-Translator-${EGIT_COMMIT} +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI=" + https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/${EGIT_COMMIT}.tar.gz + -> ${MY_P}.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/spirv-tools[${MULTILIB_USEDEP}] + llvm-core/llvm:${SLOT}=[${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND} + >=dev-util/spirv-headers-1.4.305 +" +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="$(get_llvm_prefix)" + -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 +} |
