LinBox is a C++ template library for exact, high-performance linear algebra computation with dense, sparse, and structured matrices over the integers and over finite fields. Current release is 1.1.5
Created attachment 157287 [details] ebuild file This ebuild can serve as a starting point
Nice that somebody tries to pick this up. The following tells me that gmp and blas aren't really optional things which should be use flags, but really required dependencies: checking for GIVARO >= 3.2.10... checking whether to compile the sage interface... no checking for C interface to BLAS... not found checking for others BLAS... not found ******************************************************************************* ERROR: BLAS not found! BLAS routines are required for this library to compile. Please make sure BLAS are installed and specify its location with the option --with-blas=<lib> when running configure. ******************************************************************************* checking for GMP >= 3.1.1... not found ******************************************************************************* ERROR: GMP not found! GMP version 3.1.1 or greater with --enable-cxx is required for this library to compile. Please make sure GMP is installed and specify its location with the option --with-gmp=<prefix> when running configure. ******************************************************************************* Furthermore, in /usr/include/linbox/integer.h there's an include of "gmp++/gmp++.h" which doesn't exist. Maybe it's meant to be "gmpxx.h" ?
Since linbox is needed for sage (see bug #201321) Francois and I have worked on a new linbox ebuild which supports more features and introduces some bug fixes. Note that linbox depends on givaro, which can be found in the science overlay.
Created attachment 210875 [details] new linbox ebuild
Created attachment 210876 [details] patch neede for sage interface
Created attachment 210878 [details] fix for generation of documentation
Please note that there is also bug #230421, one of them should be marked as duplicate.
*** Bug 230421 has been marked as a duplicate of this bug. ***
Created attachment 634558 [details] linbox-1.6.3.ebuild Here's a modern ebuild taken from the sage-on-gentoo overlay. I've made a few minor changes: * Added sse and sse2 CPU flags * Added USE=doc that pulls in doxygen and installs the docs * Hacked src_install to delete all of the doxygen junk that would otherwise be installed. * Used tc-check-openmp to check for openmp, and only when we're building from source. Aside from that, I think I just added some comments explaining the dependencies and ./configure flags. I'll merge this in a few days unless anything thinks there's more I should do with it.
It looks OK, and I see you have the .pc patch too. A note is that major releases of givaro/fflas-ffpack/linbox have to be done in sync, which can be a bit painful.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87e61bbe8bc610d59716cee5dcfb972d300191eb commit 87e61bbe8bc610d59716cee5dcfb972d300191eb Author: Michael Orlitzky <mjo@gentoo.org> AuthorDate: 2020-05-04 12:21:52 +0000 Commit: Michael Orlitzky <mjo@gentoo.org> CommitDate: 2020-05-04 12:42:36 +0000 sci-libs/linbox: new C++ template library for linear algebra. This is a straightforward import of the sci-libs/linbox package from the sage-on-gentoo overlay where François Bissey has been maintaining it. Linbox is a dependency of SageMath, and users will soon be able to use the system copy of linbox; see ticket 29631 on the SageMath Trac instance. Having this in Gentoo will therefore avoid pointless rebuilds of linbox for our SageMath users. Closes: https://bugs.gentoo.org/227813 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Michael Orlitzky <mjo@gentoo.org> sci-libs/linbox/Manifest | 1 + sci-libs/linbox/files/linbox-1.6.3-pc.patch | 25 ++++++++ sci-libs/linbox/linbox-1.6.3.ebuild | 93 +++++++++++++++++++++++++++++ sci-libs/linbox/metadata.xml | 39 ++++++++++++ 4 files changed, 158 insertions(+)