1 |
commit: 011badaae9549dd3a7174533f47fdad4ee1bd38a |
2 |
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
3 |
AuthorDate: Fri Feb 28 17:53:05 2020 +0000 |
4 |
Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
5 |
CommitDate: Fri Feb 28 17:53:05 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=011badaa |
7 |
|
8 |
sci-libs/meschach: new package |
9 |
|
10 |
Package-Manager: Portage-2.3.89, Repoman-2.3.20 |
11 |
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> |
12 |
|
13 |
sci-libs/meschach/Manifest | 2 + |
14 |
sci-libs/meschach/meschach-1.2b.ebuild | 73 ++++++++++++++++++++++++++++++++++ |
15 |
sci-libs/meschach/metadata.xml | 41 +++++++++++++++++++ |
16 |
3 files changed, 116 insertions(+) |
17 |
|
18 |
diff --git a/sci-libs/meschach/Manifest b/sci-libs/meschach/Manifest |
19 |
new file mode 100644 |
20 |
index 0000000..aa641bb |
21 |
--- /dev/null |
22 |
+++ b/sci-libs/meschach/Manifest |
23 |
@@ -0,0 +1,2 @@ |
24 |
+DIST meschach_1.2b-14.debian.tar.xz 40664 BLAKE2B 753cdcdf8ecd63be14a294a6607380462df8a74c1cc84fafcfe4140cb10eaeb590dbe12883e2a973691a920b1e7f4efdf884781b49ea947b1132ff213f4a2652 SHA512 9793127a1785fb757b61132db1c471a2ff7949c383870f10d0b24ea2e1dafcb9d9379b61698179f91fdba4405e18e1692efcc26b759b1a5d9519e8c46206636b |
25 |
+DIST meschach_1.2b.orig.tar.gz 220166 BLAKE2B fe38d9887977f45cc54857fe9c33f1eb50d1192ce3cae643127962cfce7657d9890964aabd3690751648a3a850fbbb39c6fb2110f8b4fcd789c7b8efefcec2c5 SHA512 0b8748915739b624aa44b0bf6f2c59aaf3d09f69f9455220e4baeb423c094a89cc25c03d6ced0d58bfd7c5d6626f3995fc853119ab0f7d6af151d8479c326068 |
26 |
|
27 |
diff --git a/sci-libs/meschach/meschach-1.2b.ebuild b/sci-libs/meschach/meschach-1.2b.ebuild |
28 |
new file mode 100644 |
29 |
index 0000000..b7a3017 |
30 |
--- /dev/null |
31 |
+++ b/sci-libs/meschach/meschach-1.2b.ebuild |
32 |
@@ -0,0 +1,73 @@ |
33 |
+# Copyright 1999-2020 Gentoo Authors |
34 |
+# Distributed under the terms of the GNU General Public License v2 |
35 |
+ |
36 |
+EAPI="7" |
37 |
+ |
38 |
+inherit autotools eutils |
39 |
+ |
40 |
+DESCRIPTION="Meschach is a C-language library of routines for performing matrix computations." |
41 |
+HOMEPAGE="http://homepage.divms.uiowa.edu/~dstewart/meschach" |
42 |
+SRC_URI="http://cdn-fastly.deb.debian.org/debian/pool/main/m/meschach/${PN}_${PV}.orig.tar.gz \ |
43 |
+http://cdn-fastly.deb.debian.org/debian/pool/main/m/meschach/${PN}_${PV}-14.debian.tar.xz" |
44 |
+ |
45 |
+LICENSE="meschach" |
46 |
+SLOT="0" |
47 |
+KEYWORDS="~amd64" |
48 |
+IUSE="complex +double float munroll old segmem sparse test unroll" |
49 |
+RESTRICT="!test? ( test )" |
50 |
+REQUIRED_USE=" |
51 |
+ ^^ ( double float ) |
52 |
+" |
53 |
+ |
54 |
+PATCHES=( |
55 |
+ "${WORKDIR}/debian/patches/${PN}_${PV}-13.diff" |
56 |
+ "${WORKDIR}/debian/patches/${PN}_${PV}-13.configure.diff" |
57 |
+) |
58 |
+ |
59 |
+src_prepare() { |
60 |
+ default |
61 |
+ sed -i -- 's/CFLAGS = -O3 -fPIC/CFLAGS = @CFLAGS@ -fPIC/g' makefile.in |
62 |
+ use old && sed -i -- 's/all: shared static/all: oldpart shared static/g' makefile.in |
63 |
+ mv configure.in configure.ac |
64 |
+ eautoreconf |
65 |
+} |
66 |
+ |
67 |
+src_configure() { |
68 |
+ myconf=( |
69 |
+ $(use_with complex) |
70 |
+ $(use_with double) |
71 |
+ $(use_with float) |
72 |
+ $(use_with munroll) |
73 |
+ $(use_with segmem) |
74 |
+ $(use_with sparse) |
75 |
+ $(use_with unroll) |
76 |
+ ) |
77 |
+ |
78 |
+ econf "${myconf[@]}" |
79 |
+} |
80 |
+ |
81 |
+src_compile() { |
82 |
+ emake DESTDIR="${D}" all |
83 |
+ use test && emake alltorture |
84 |
+} |
85 |
+ |
86 |
+src_install() { |
87 |
+ dolib.so libmeschach.so |
88 |
+ insinto /usr/include/meschach |
89 |
+ doins *.h |
90 |
+ use test && dodir /usr/libexec/meschach |
91 |
+ use test && exeinto /usr/libexec/meschach |
92 |
+ use test && doexe iotort |
93 |
+ use test && doexe itertort |
94 |
+ use test && doexe macheps |
95 |
+ use test && doexe maxint |
96 |
+ use test && doexe memtort |
97 |
+ use test && doexe mfuntort |
98 |
+ use test && doexe sptort |
99 |
+ use test && doexe torture |
100 |
+ use test && doexe ztorture |
101 |
+ use test && insinto /usr/libexec/meschach |
102 |
+ use test && doins *.dat |
103 |
+ dodoc -r DOC/. |
104 |
+ dodoc README |
105 |
+} |
106 |
|
107 |
diff --git a/sci-libs/meschach/metadata.xml b/sci-libs/meschach/metadata.xml |
108 |
new file mode 100644 |
109 |
index 0000000..fc8c04d |
110 |
--- /dev/null |
111 |
+++ b/sci-libs/meschach/metadata.xml |
112 |
@@ -0,0 +1,41 @@ |
113 |
+<?xml version="1.0" encoding="UTF-8"?> |
114 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
115 |
+<pkgmetadata> |
116 |
+ <maintainer type="person"> |
117 |
+ <email>lssndrbarbieri@×××××.com</email> |
118 |
+ <name>Alessandro Barbieri</name> |
119 |
+ </maintainer> |
120 |
+ <upstream> |
121 |
+ <maintainer> |
122 |
+ <email>dstewart@××××××××××.edu</email> |
123 |
+ <name>David Stewart</name> |
124 |
+ </maintainer> |
125 |
+ </upstream> |
126 |
+ <longdescription lang="en"> |
127 |
+The Meschach Library is a numerical library of C routines for performing |
128 |
+calculations on matrices and vectors. It is intended for solving systems of |
129 |
+linear equations (dense and sparse), solve least squares problems, |
130 |
+computing eigenvalues and eigenvectors, etc. We do not claim that it |
131 |
+contains every useful algorithm in numerical linear algebra, but it does |
132 |
+provide a basis on which more advanced algorithms can be built. The library |
133 |
+is for people who know something about the C programming language, |
134 |
+something of how to solve the numerical problem they are faced with but do |
135 |
+not want to have the hassle of building all the necessary routines from the |
136 |
+scratch. The library is not a loose collection of numerical routines but it |
137 |
+comprises a coherent system. The current version is enhanced with many |
138 |
+features comparing with previous versions. Since the memory requirements |
139 |
+are nontrivial for large problems we have paid more attention to |
140 |
+allocation/deallocation of memory. |
141 |
+ </longdescription> |
142 |
+ <use> |
143 |
+ <flag name="complex">incorporate complex functions.</flag> |
144 |
+ <flag name="double">double precision</flag> |
145 |
+ <flag name="float">single precision</flag> |
146 |
+ <flag name="munroll">unroll low level loops on matrices</flag> |
147 |
+ <flag name="old">build no longer supported functions</flag> |
148 |
+ <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> |
149 |
+ <flag name="sparse">incorporate sparse matrix functions</flag> |
150 |
+ <flag name="test">build test programs</flag> |
151 |
+ <flag name="unroll">unroll low level loops on vectors</flag> |
152 |
+ </use> |
153 |
+</pkgmetadata> |