diff options
author | Benda Xu <heroxbd@gentoo.org> | 2023-07-28 22:34:37 +0800 |
---|---|---|
committer | Benda Xu <heroxbd@gentoo.org> | 2023-07-29 10:54:49 +0800 |
commit | 640e352f19bbc428ce82f043b15f6677dfdc26ea (patch) | |
tree | 6e80ad8f7e7a8c6e6f002e718d52fd38e3811287 /sci-libs/rocSOLVER | |
parent | dev-util/roctracer: break the tight version coupling. (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch | 34 | ||||
-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.ebuild | 75 |
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 +} |