sci-libs/cholmod: new version 3.0.13.
authorMichael Orlitzky <mjo@gentoo.org>
Mon, 2 Mar 2020 00:37:22 +0000 (19:37 -0500)
committerMichael Orlitzky <mjo@gentoo.org>
Mon, 2 Mar 2020 17:20:45 +0000 (12:20 -0500)
Update to EAPI=7 and fix the HOMEPAGE, SRC_URI, and LICENSE. This is
part of a larger SuiteSparse v5.4.0 upgrade thanks to François Bissey
whose sage-on-gentoo ebuilds I'm using. There's a newer release
(v5.7.1) of SuiteSparse, but v5.4.0 has seen more testing.

This new version also refactors the package's USE flags, because
USE=minimal was being used to control the installation of several
different modules that all do different things. It's much better for
users to have three individual flags that control those options.
Moreover, with USE=minimal, there was a conflict between the "minimal"
and "metis" flags; both would try to control the --with-partition
option. Finally, the "metis" USE flag was dropped in favor of the
name "partition".

Closes: https://bugs.gentoo.org/526910
Closes: https://bugs.gentoo.org/682838
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
sci-libs/cholmod/Manifest
sci-libs/cholmod/cholmod-3.0.13.ebuild [new file with mode: 0644]
sci-libs/cholmod/metadata.xml

index f76798c8d9c8c5f82e078ca97960b3908ebaf930..52847a34dd057d1e37973c565b8aa7a832d3a0ae 100644 (file)
@@ -1 +1,2 @@
 DIST cholmod-2.1.2.tar.bz2 656458 BLAKE2B 83a574ad7d3755428d8d732f3f60b07908b8315d73d5a3d3aaf9aac50b54590c532389dd90efc569e67639993095706eb546e72313b735e35af34a1fea398be2 SHA512 7aca97de4c60ff2d7a76a776be4c2d61243a159a51b9e147fa2480f2aaf61a5d966eb0f1cb57c0145510437f6c478fa30384b741709d0a02432b74ada3e78089
+DIST cholmod-3.0.13.tar.bz2 696002 BLAKE2B 40a065fe1a3585897b3ca554a25fa80ffc68ac70798f2f803e34a231ec4f532d113a3d00ab7ab61f5eb02503a84e1459cdb7e96cb0b0d1dc6975ed3d533104fe SHA512 c6c80d099386bac27e385a1b8ee8941cd2fb4f2dcfcf302b4b17d6477ac9ee17ad8030aae9191f92576dfaeb521e2c98ec24e867281c2405e42f95580e14f0ab
diff --git a/sci-libs/cholmod/cholmod-3.0.13.ebuild b/sci-libs/cholmod/cholmod-3.0.13.ebuild
new file mode 100644 (file)
index 0000000..7e2b678
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Sparse Cholesky factorization and update/downdate library"
+HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
+SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1+ modify? ( GPL-2+ ) matrixops? ( GPL-2+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="cuda doc +lapack +matrixops +modify +partition static-libs"
+
+BDEPEND="virtual/pkgconfig
+       doc? ( virtual/latex-base )"
+DEPEND="
+       >=sci-libs/amd-2.4
+       >=sci-libs/colamd-2.9
+       cuda? ( x11-drivers/nvidia-drivers dev-util/nvidia-cuda-toolkit )
+       lapack? ( virtual/lapack )
+       partition? (
+               >=sci-libs/camd-2.4
+               >=sci-libs/ccolamd-2.9
+               || ( >=sci-libs/metis-5.1.0 sci-libs/parmetis ) )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+       local lapack_libs=no
+       local blas_libs=no
+       if use lapack; then
+               blas_libs=$($(tc-getPKG_CONFIG) --libs blas)
+               lapack_libs=$($(tc-getPKG_CONFIG) --libs lapack)
+       fi
+
+       local cudaconfargs=( $(use_with cuda) )
+       if use cuda ; then
+               cudaconfargs+=(
+                       --with-cublas-libs="-L${EPREFIX}/opt/cuda/$(get_libdir) -lcublas"
+                       --with-cublas-cflags="-I${EPREFIX}/opt/cuda/include"
+               )
+       fi
+
+       econf \
+               --with-blas="${blas_libs}" \
+               --with-lapack="${lapack_libs}" \
+               $(use_with doc) \
+               $(use_enable static-libs static) \
+               $(use_with modify) \
+               $(use_with matrixops) \
+               $(use_with partition) \
+               $(use_with partition camd) \
+               $(use_with lapack supernodal) \
+               "${cudaconfargs[@]}"
+}
index 79ccb35047bf1b0c6de5fad965e1cdaeebed8421..401422f1a9d6a6d8a9d0897b5e7d072715b2d91a 100644 (file)
 </longdescription>
   <use>
     <flag name="cuda">Use nvidia cuda toolkit for speeding up computations</flag>
-    <flag name="metis">Enable the Partition module to cholmod using <pkg>sci-libs/metis</pkg></flag>
+    <flag name="matrixops">
+      Support basic sparse and dense matrix operations (add, multiply,
+      scale, et cetera)
+    </flag>
+    <flag name="metis">
+      Enable the Partition module to cholmod using <pkg>sci-libs/metis</pkg>
+    </flag>
+    <flag name="modify">
+      Enable Cholesky-modification routines like update, downdate,
+      row-add, and row-delete
+    </flag>
+    <flag name="partition">
+      Enable graph partitioning and graph-partition-based orderings
+      through <pkg>sci-libs/metis</pkg> or <pkg>sci-libs/parmetis</pkg>
+    </flag>
   </use>
 </pkgmetadata>