diff --git a/sci-libs/klu/Manifest b/sci-libs/klu/Manifest index 0e6da4f951095..6f008e22cc8a1 100644 --- a/sci-libs/klu/Manifest +++ b/sci-libs/klu/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 klu-1.3.9.tar.bz2 635596 BLAKE2B 6c6c84cf1b30e78cbaaee6bebed21c806d1672bee5f7ea061e7ef057ff56fd456e8517ca2ff1018a14ebcbc8f96b9e87989e22d8996817394666e6d8d2d727dd SHA512 b7fd862fe8443596758c27f9c918e367b3b3816340836e74cf8d97a2e755fbe07d133778eea3d054bc70243fa15c2bd71f4fd90c1179879661ba2d624b8f0706 diff --git a/sci-libs/klu/klu-2.3.6.ebuild b/sci-libs/klu/klu-2.3.6.ebuild new file mode 100644 index 0000000000000..01dc380dba1a9 --- /dev/null +++ b/sci-libs/klu/klu-2.3.6.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +Sparse_PV="7.12.2" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Sparse LU factorization for circuit simulation" +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="LGPL-2.1+" +SLOT="0/2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="doc test" +RESTRICT="!test? ( test )" + +DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV} + >=sci-libs/amd-3.3.4 + >=sci-libs/btf-2.3.3 + >=sci-libs/colamd-3.3.5 + >=sci-libs/cholmod-5.3.4" +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_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 dtype=( + demo + ldemo + ) + local samples=( + 1c.mtx + arrowc.mtx + arrow.mtx + impcol_a.mtx + w156.mtx + ctina.mtx + ) + ./klu_simple || die "klu_simple failed to run" + local i + local j + for i in ${dtype[@]}; do + for j in ${samples[@]}; do + ./klu${i} < "${S}/Matrix/${j}" || die "failed testing klu${i} with ${j}" + done + 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 +}