sci-libs/hipFFT: add 5.1.3, using rocm.eclass

profiles/base: mask hipFFT's gfx906 amdgpu target, as the revdep of
gfx906-masked sci-libs/rocFFT-5.1.3.

Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
Signed-off-by: Benda Xu <heroxbd@gentoo.org>
This commit is contained in:
Yiyang Wu
2022-09-01 15:31:08 +08:00
committed by Benda Xu
parent c0c333b9f5
commit 47289ed156
4 changed files with 81 additions and 0 deletions

View File

@@ -16,6 +16,7 @@
# may lead to incorrect results in computation.
# https://github.com/ROCmSoftwarePlatform/rocFFT/issues/369
=sci-libs/rocFFT-5.1.3 amdgpu_targets_gfx906
=sci-libs/hipFFT-5.1.3 amdgpu_targets_gfx906
# Georgy Yakovlev <gyakovlev@gentoo.org> (2022-09-17)
# po4a crashes while translating

View File

@@ -1,4 +1,5 @@
DIST hipFFT-rocm-4.3.0.tar.gz 83355 BLAKE2B ee99b4cb685cbb846084d8a7c77982d75cf0d1597f9270260284bb26ae00702a31dd4d5ad9ae1885ab631c390f65c0f584f302be189701ba4f0dd9061b1bba5a SHA512 0d3100b054ff485eae06b13b8c568626b8e3a3286f36012c5a5f9bb4918e03c30c687a2714049bd797f6c3973f1730ad0936f02ad044cde1663c9c5750bbcf40
DIST hipFFT-rocm-5.0.2.tar.gz 88405 BLAKE2B c3a2e5e029d7d91c7cdc1c4e2ddec71c17df0cf2d863c81ef263eea3734488fcc31795ea681b27dffd04c0833c99df252256c3ffacfbf29305fa1ba5b8bd4efa SHA512 4fdc080479f1094e9ce92acc0eceb630a6a6ce711ffdc5ffef58d61baf23e8ea9ec45a922d798fb17a7724425d5785451f5f114bc7db40ebbfb50359b56456a6
DIST hipFFT-rocm-5.1.3.tar.gz 89397 BLAKE2B 3c29d5d660e9f3db8afd8c9e524296c29f50faf06a5d6a58ec628b5cc5ddb47ac2b99f137c7bc5090a311189b44014ea2f6f1f7547d22506f5ba18f837fbeb68 SHA512 8d7a90630cd8bfeade9cb026e45b6b6c1ab9c96dba424559a7ced8c881cd45c1cb06d3f7e82c8e6558e4ccb8bb41b6278842057a0cf0957b0644b1139f2c9706
DIST rocFFT-4.3.0.tar.gz 840748 BLAKE2B 236a5faa930751d35e501a9a32ecc8b4075448ef21a0ffb0bb7ec04f4ed1cb67b908aa153b5b424e0823d3e306cf375d7c01a77d687220ed79de6d374037e003 SHA512 765d41e4018a04a53e847c03de80eec830d3e8766187fb8cb493624afa2673175347c16e6eeeebd4ad7d88bb866e58f7e572708f22238723c710b98565a0cd3d
DIST rocFFT-5.0.2.tar.gz 837508 BLAKE2B b74d0c6edd7b232f775bffefbca829d88d9d7cd9108c27a0698f45d7fe2760d40463bcda8c710e923874b3bbfb1e83e0fe8622db4dfa28afb29392b3e135e9a5 SHA512 d6810a92a10a27dbcac8a04e8fcd56c7fa198f208da626d8938d5ff28b6ab8b89a058c7a56b5666464165e8f6bd7c4c031a94315625a3613eb02a9b8eccd9eb9

View File

@@ -0,0 +1,29 @@
Fix install location to meet FHS, and remove useless symlink
===================================================================
--- hipFFT-rocm-5.1.3.orig/library/CMakeLists.txt
+++ hipFFT-rocm-5.1.3/library/CMakeLists.txt
@@ -81,7 +81,7 @@ target_include_directories( hipfft
PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/library/include>
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
$<BUILD_INTERFACE:${HIP_INCLUDE_DIRS}>
- $<INSTALL_INTERFACE:include>
+ $<INSTALL_INTERFACE:include/hipfft>
${HIP_INCLUDE_DIRS}
)
@@ -142,13 +142,11 @@ if( ROCM_FOUND )
rocm_install_targets( TARGETS hipfft
INCLUDE
${CMAKE_SOURCE_DIR}/library/include
- ${CMAKE_BINARY_DIR}/include
- PREFIX hipfft )
+ ${CMAKE_BINARY_DIR}/include )
rocm_export_targets( TARGETS hip::hipfft
- PREFIX hipfft
+ PREFIX .
DEPENDS PACKAGE hip
NAMESPACE hip:: )
- rocm_install_symlink_subdir( hipfft )
# Package specific CPACK vars
if( NOT BUILD_WITH_LIB STREQUAL "CUDA" )

View File

@@ -0,0 +1,50 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ROCM_VERSION=${PV}
inherit cmake rocm
DESCRIPTION="CU / ROCM agnostic hip FFT implementation"
HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipFFT"
SRC_URI="https://github.com/ROCmSoftwarePlatform/hipFFT/archive/refs/tags/rocm-${PV}.tar.gz -> hipFFT-rocm-${PV}.tar.gz"
REQUIRED_USE="${ROCM_REQUIRED_USE}"
LICENSE="MIT"
KEYWORDS="~amd64"
SLOT="0/$(ver_cut 1-2)"
RESTRICT="test"
RDEPEND="dev-util/hip:${SLOT}
sci-libs/rocFFT:${SLOT}[${ROCM_USEDEP}]"
DEPEND="${RDEPEND}"
BDEPEND=""
S="${WORKDIR}/hipFFT-rocm-${PV}"
PATCHES=(
"${FILESDIR}/${PN}-5.1.3-gentoo-install-locations.patch"
"${FILESDIR}/${PN}-5.0.2-remove-git-dependency.patch"
"${FILESDIR}/${PN}-4.3.0-add-complex-header.patch"
)
src_prepare() {
sed -e "/CMAKE_INSTALL_LIBDIR/d" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
-DCMAKE_INSTALL_INCLUDEDIR="include/hipfft"
-DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake"
-DHIP_ROOT_DIR="${EPREFIX}/usr"
-DBUILD_CLIENTS_TESTS=OFF
-DBUILD_CLIENTS_RIDER=OFF
)
cmake_src_configure
}