summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenda Xu <heroxbd@gentoo.org>2023-07-28 22:34:37 +0800
committerBenda Xu <heroxbd@gentoo.org>2023-07-29 10:54:49 +0800
commit640e352f19bbc428ce82f043b15f6677dfdc26ea (patch)
tree6e80ad8f7e7a8c6e6f002e718d52fd38e3811287 /sci-libs/rocSOLVER
parentdev-util/roctracer: break the tight version coupling. (diff)
downloadgentoo-640e352f19bbc428ce82f043b15f6677dfdc26ea.tar.gz
gentoo-640e352f19bbc428ce82f043b15f6677dfdc26ea.tar.bz2
gentoo-640e352f19bbc428ce82f043b15f6677dfdc26ea.zip
sci-libs/rocSOLVER: non-versioned dependency on libfmt.
Version bump to 5.4.2, in line with rocBLAS. Bug: https://bugs.gentoo.org/908651 Signed-off-by: Benda Xu <heroxbd@gentoo.org>
Diffstat (limited to 'sci-libs/rocSOLVER')
-rw-r--r--sci-libs/rocSOLVER/Manifest1
-rw-r--r--sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch34
-rw-r--r--sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild (renamed from sci-libs/rocSOLVER/rocSOLVER-5.1.3.ebuild)6
-rw-r--r--sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild75
4 files changed, 113 insertions, 3 deletions
diff --git a/sci-libs/rocSOLVER/Manifest b/sci-libs/rocSOLVER/Manifest
index 24a5bc028509..35de2a25db03 100644
--- a/sci-libs/rocSOLVER/Manifest
+++ b/sci-libs/rocSOLVER/Manifest
@@ -1 +1,2 @@
DIST rocSOLVER-5.1.3.tar.gz 545627 BLAKE2B 2cca24a1310efba7f8c66d1614fb50704221ebc8aa50d6aba11083baf9a7427575642fd28218ce80f8a7b83d3406348c2dd18373fb32e533509d01d37cf06927 SHA512 38e7a4ed6b67e83960ad3416d1008f82f895d19dc85427cd6f9c76f00b1ce18f78a4dd73d1ab53ffe81588890cd5545315029e903e2e09b85d6cfb854d405753
+DIST rocSOLVER-5.4.2.tar.gz 674866 BLAKE2B 0628353d567da92e3f7c3a11e19859329f3ea916184d554ee9c7172084ee4698c93408f397f493331d4dc47d833c56ead41bb4445081ba9ac73809ca0478770c SHA512 b3a60c65a18c3864568e1e0b1524850eb1b322f6005cf8a2763c9b457e43e03c8ce74be1d13f3cc3adef1f6ac979f54fb903831f4a60447a9a915a40dcbe5ff6
diff --git a/sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch b/sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch
new file mode 100644
index 000000000000..3e0ef897b71e
--- /dev/null
+++ b/sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch
@@ -0,0 +1,34 @@
+commit bafa8f30b6f83d5f02bb65bb47b2943a0cb3c290
+Author: Cory Bloor <Cordell.Bloor@amd.com>
+Date: Wed Jan 25 14:52:35 2023 -0700
+
+ Fix use of fmt 9.0 and later in logging test (#515)
+
+ The implicitly defined formatter that rocsolver was using for
+ std::filesystem::path has been removed from fmt 9.0 and later.
+
+ This change doesn't actually fix compatibility with the official
+ fmt 9.0 or 9.1 releases, because those releases are still
+ incompatible with HIP. However, the change is sufficient for using
+ rocsolver with fmt@9 from Spack (because the fix has been backported).
+
+diff --git a/clients/gtest/logging_gtest.cpp b/clients/gtest/logging_gtest.cpp
+index e4f594a..da7ae04 100644
+--- a/clients/gtest/logging_gtest.cpp
++++ b/clients/gtest/logging_gtest.cpp
+@@ -1,5 +1,5 @@
+ /* ************************************************************************
+- * Copyright (c) 2022 Advanced Micro Devices, Inc.
++ * Copyright (c) 2022-2023 Advanced Micro Devices, Inc.
+ * ************************************************************************ */
+
+ #include <cstdlib>
+@@ -49,7 +49,7 @@ protected:
+ {
+ if(HasFailure() && std::getenv("ROCSOLVER_TEST_DEBUG"))
+ fmt::print(stderr, "ROCSOLVER_TEST_DEBUG is set so {} was not removed.\n",
+- log_filepath);
++ log_filepath.string());
+ else
+ EXPECT_TRUE(fs::remove(log_filepath));
+ }
diff --git a/sci-libs/rocSOLVER/rocSOLVER-5.1.3.ebuild b/sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild
index e2db9aba2a19..11cedfb8deff 100644
--- a/sci-libs/rocSOLVER/rocSOLVER-5.1.3.ebuild
+++ b/sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,8 +19,8 @@ IUSE="test benchmark"
REQUIRED_USE="${ROCM_REQUIRED_USE}"
RDEPEND="dev-util/hip
- sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
- =dev-libs/libfmt-8*
+ sci-libs/rocBLAS[${ROCM_USEDEP}]
+ dev-libs/libfmt
benchmark? ( virtual/blas )"
DEPEND="${RDEPEND}"
BDEPEND="test? ( dev-cpp/gtest
diff --git a/sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild b/sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild
new file mode 100644
index 000000000000..dce60e072b37
--- /dev/null
+++ b/sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake edo rocm
+
+DESCRIPTION="Implementation of a subset of LAPACK functionality on the ROCm platform"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocSOLVER"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-${PV}.tar.gz -> rocSOLVER-${PV}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+IUSE="test benchmark"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocBLAS[${ROCM_USEDEP}]
+ dev-libs/libfmt
+ benchmark? ( virtual/blas )"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( dev-cpp/gtest
+ >=dev-util/cmake-3.22
+ virtual/blas )"
+
+PATCHES=( "${FILESDIR}"/${PN}-5.4.2-libfmt9.patch )
+
+RESTRICT="!test? ( test )"
+
+S=${WORKDIR}/${PN}-rocm-${PV}
+
+src_prepare() {
+ sed -e "s: PREFIX rocsolver:# PREFIX rocsolver:" -i library/src/CMakeLists.txt
+ sed -e "s:\$<INSTALL_INTERFACE\:include>:\$<INSTALL_INTERFACE\:include/rocsolver>:" -i library/src/CMakeLists.txt
+ sed -e "s:rocm_install_symlink_subdir( rocsolver ):#rocm_install_symlink_subdir( rocsolver ):" -i library/src/CMakeLists.txt
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # avoid sandbox violation
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -Wno-dev
+ -DCMAKE_INSTALL_INCLUDEDIR="${EPREFIX}/usr/include/rocsolver"
+ -DBUILD_CLIENTS_SAMPLES=NO
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/clients/staging || die
+ LD_LIBRARY_PATH="${BUILD_DIR}/library/src" edob ./rocsolver-test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}" || die
+ dobin clients/staging/rocsolver-bench
+ fi
+}