aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Barbieri <lssndrbarbieri@gmail.com>2020-02-28 18:53:05 +0100
committerAlessandro Barbieri <lssndrbarbieri@gmail.com>2020-02-28 18:53:05 +0100
commit011badaae9549dd3a7174533f47fdad4ee1bd38a (patch)
treec62cbc9851ebb14f36e9f2b657ee9797a3b02839 /sci-libs/meschach
parentapp-misc/vrms-gentoo: latest version (diff)
downloadguru-011badaae9549dd3a7174533f47fdad4ee1bd38a.tar.gz
guru-011badaae9549dd3a7174533f47fdad4ee1bd38a.tar.bz2
guru-011badaae9549dd3a7174533f47fdad4ee1bd38a.zip
sci-libs/meschach: new package
Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
Diffstat (limited to 'sci-libs/meschach')
-rw-r--r--sci-libs/meschach/Manifest2
-rw-r--r--sci-libs/meschach/meschach-1.2b.ebuild73
-rw-r--r--sci-libs/meschach/metadata.xml41
3 files changed, 116 insertions, 0 deletions
diff --git a/sci-libs/meschach/Manifest b/sci-libs/meschach/Manifest
new file mode 100644
index 000000000..aa641bb63
--- /dev/null
+++ b/sci-libs/meschach/Manifest
@@ -0,0 +1,2 @@
+DIST meschach_1.2b-14.debian.tar.xz 40664 BLAKE2B 753cdcdf8ecd63be14a294a6607380462df8a74c1cc84fafcfe4140cb10eaeb590dbe12883e2a973691a920b1e7f4efdf884781b49ea947b1132ff213f4a2652 SHA512 9793127a1785fb757b61132db1c471a2ff7949c383870f10d0b24ea2e1dafcb9d9379b61698179f91fdba4405e18e1692efcc26b759b1a5d9519e8c46206636b
+DIST meschach_1.2b.orig.tar.gz 220166 BLAKE2B fe38d9887977f45cc54857fe9c33f1eb50d1192ce3cae643127962cfce7657d9890964aabd3690751648a3a850fbbb39c6fb2110f8b4fcd789c7b8efefcec2c5 SHA512 0b8748915739b624aa44b0bf6f2c59aaf3d09f69f9455220e4baeb423c094a89cc25c03d6ced0d58bfd7c5d6626f3995fc853119ab0f7d6af151d8479c326068
diff --git a/sci-libs/meschach/meschach-1.2b.ebuild b/sci-libs/meschach/meschach-1.2b.ebuild
new file mode 100644
index 000000000..b7a301721
--- /dev/null
+++ b/sci-libs/meschach/meschach-1.2b.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools eutils
+
+DESCRIPTION="Meschach is a C-language library of routines for performing matrix computations."
+HOMEPAGE="http://homepage.divms.uiowa.edu/~dstewart/meschach"
+SRC_URI="http://cdn-fastly.deb.debian.org/debian/pool/main/m/meschach/${PN}_${PV}.orig.tar.gz \
+http://cdn-fastly.deb.debian.org/debian/pool/main/m/meschach/${PN}_${PV}-14.debian.tar.xz"
+
+LICENSE="meschach"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="complex +double float munroll old segmem sparse test unroll"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ ^^ ( double float )
+"
+
+PATCHES=(
+ "${WORKDIR}/debian/patches/${PN}_${PV}-13.diff"
+ "${WORKDIR}/debian/patches/${PN}_${PV}-13.configure.diff"
+)
+
+src_prepare() {
+ default
+ sed -i -- 's/CFLAGS = -O3 -fPIC/CFLAGS = @CFLAGS@ -fPIC/g' makefile.in
+ use old && sed -i -- 's/all: shared static/all: oldpart shared static/g' makefile.in
+ mv configure.in configure.ac
+ eautoreconf
+}
+
+src_configure() {
+ myconf=(
+ $(use_with complex)
+ $(use_with double)
+ $(use_with float)
+ $(use_with munroll)
+ $(use_with segmem)
+ $(use_with sparse)
+ $(use_with unroll)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake DESTDIR="${D}" all
+ use test && emake alltorture
+}
+
+src_install() {
+ dolib.so libmeschach.so
+ insinto /usr/include/meschach
+ doins *.h
+ use test && dodir /usr/libexec/meschach
+ use test && exeinto /usr/libexec/meschach
+ use test && doexe iotort
+ use test && doexe itertort
+ use test && doexe macheps
+ use test && doexe maxint
+ use test && doexe memtort
+ use test && doexe mfuntort
+ use test && doexe sptort
+ use test && doexe torture
+ use test && doexe ztorture
+ use test && insinto /usr/libexec/meschach
+ use test && doins *.dat
+ dodoc -r DOC/.
+ dodoc README
+}
diff --git a/sci-libs/meschach/metadata.xml b/sci-libs/meschach/metadata.xml
new file mode 100644
index 000000000..fc8c04d33
--- /dev/null
+++ b/sci-libs/meschach/metadata.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>lssndrbarbieri@gmail.com</email>
+ <name>Alessandro Barbieri</name>
+ </maintainer>
+ <upstream>
+ <maintainer>
+ <email>dstewart@math.uiowa.edu</email>
+ <name>David Stewart</name>
+ </maintainer>
+ </upstream>
+ <longdescription lang="en">
+The Meschach Library is a numerical library of C routines for performing
+calculations on matrices and vectors. It is intended for solving systems of
+linear equations (dense and sparse), solve least squares problems,
+computing eigenvalues and eigenvectors, etc. We do not claim that it
+contains every useful algorithm in numerical linear algebra, but it does
+provide a basis on which more advanced algorithms can be built. The library
+is for people who know something about the C programming language,
+something of how to solve the numerical problem they are faced with but do
+not want to have the hassle of building all the necessary routines from the
+scratch. The library is not a loose collection of numerical routines but it
+comprises a coherent system. The current version is enhanced with many
+features comparing with previous versions. Since the memory requirements
+are nontrivial for large problems we have paid more attention to
+allocation/deallocation of memory.
+ </longdescription>
+ <use>
+ <flag name="complex">incorporate complex functions.</flag>
+ <flag name="double">double precision</flag>
+ <flag name="float">single precision</flag>
+ <flag name="munroll">unroll low level loops on matrices</flag>
+ <flag name="old">build no longer supported functions</flag>
+ <flag name="segmem">should be set if you are working with a machine or compiler that does not allow large arrays to be allocated. See README</flag>
+ <flag name="sparse">incorporate sparse matrix functions</flag>
+ <flag name="test">build test programs</flag>
+ <flag name="unroll">unroll low level loops on vectors</flag>
+ </use>
+</pkgmetadata>