Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: sci-libs/meschach/
Date: Fri, 28 Feb 2020 17:55:27
Message-Id: 1582912385.011badaae9549dd3a7174533f47fdad4ee1bd38a.Alessandro-Barbieri@gentoo
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>