diff --git a/sci-libs/amd/Manifest b/sci-libs/amd/Manifest index fe9a4be11e6d9..3d4d04ce95ced 100644 --- a/sci-libs/amd/Manifest +++ b/sci-libs/amd/Manifest @@ -1,2 +1,3 @@ DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e +DIST SuiteSparse-7.12.2.gh.tar.gz 95337908 BLAKE2B df279ccc572887ecda2809551eefd34d0780b9cfef5c257c6c9f218dbcc5140f44e148a8199ebe899984561bb454b1f202606f8af290d71f5caeef4c008659c4 SHA512 0a7d070c90ef0a55c3ed821edf6567f4a84d5615250898b8fbacad19e1cf53dba199c38369c771465b4149ba5501bf0c1ae1352f29d0fb462fd10ca90e486cfa DIST amd-2.4.6.tar.bz2 343925 BLAKE2B 296579d888b61e84ec798206fbb6f89fd923f0d762e84e7a1e2e2a5fb502f4822f89a2a4b631dc42fa829e845bf3980886185650e8de28774400e0c351805061 SHA512 6960a557e6c2f82ca2e68e48ddcb502e1527235a3ca34df2f5f7f63f0f12afacedb15fefe4a39768fe7a2c70308793544b5b24b6f2be2c6b934b0c0e0e796d57 diff --git a/sci-libs/amd/amd-3.3.4.ebuild b/sci-libs/amd/amd-3.3.4.ebuild new file mode 100644 index 0000000000000..273c2031b99fc --- /dev/null +++ b/sci-libs/amd/amd-3.3.4.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FORTRAN_NEEDED="fortran" +inherit cmake fortran-2 + +Sparse_PV="7.12.2" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Library to order a sparse matrix prior to Cholesky factorization" +HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html" +SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz" + +S="${WORKDIR}/${Sparse_P}/${PN^^}" +LICENSE="BSD" +SLOT="0/3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="doc fortran test" +RESTRICT="!test? ( test )" + +DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}" +RDEPEND="${DEPEND}" +BDEPEND="doc? ( virtual/latex-base )" + +src_configure() { + # Define SUITESPARSE_INCLUDEDIR_POSTFIX to "" otherwise it take + # the value suitesparse, and the include directory would be set to + # /usr/include/suitesparse + # This need to be set in all suitesparse ebuilds. + local mycmakeargs=( + -DBUILD_STATIC_LIBS=OFF + -DSUITESPARSE_USE_FORTRAN=$(usex fortran ON OFF) + -DSUITESPARSE_DEMOS=$(usex test) + -DSUITESPARSE_INCLUDEDIR_POSTFIX="" + ) + cmake_src_configure +} + +src_test() { + # Because we are not using cmake_src_test, + # we have to manually go to BUILD_DIR + cd "${BUILD_DIR}" || die + # Run demo files + local demofiles=( + amd_demo + amd_l_demo + amd_demo2 + amd_simple + ) + if use fortran; then + demofiles+=( + amd_f77simple + amd_f77demo + ) + fi + local i + for i in ${demofiles[@]}; do + ./"${i}" > "${i}.out" || die "${i} failed to run" + diff "${S}/Demo/${i}.out" "${i}.out" || die "failed testing ${i}" + done + einfo "All tests passed" +} + +src_install() { + if use doc; then + pushd "${S}/Doc" || die + emake clean + rm -rf *.pdf || die + emake + popd || die + DOCS="${S}/Doc/*.pdf" + fi + cmake_src_install +}