1 |
commit: 460735f5cda685055ef5a873c9325ec27fe98627 |
2 |
Author: Sébastien Fabbro <bicatali <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jun 1 05:52:18 2011 +0000 |
4 |
Commit: Sebastien Fabbro <bicatali <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jun 1 05:52:18 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=dev/bicatali.git;a=commit;h=460735f5 |
7 |
|
8 |
added mumps |
9 |
|
10 |
--- |
11 |
sci-libs/mumps/ChangeLog | 10 +++ |
12 |
sci-libs/mumps/Manifest | 4 + |
13 |
sci-libs/mumps/metadata.xml | 13 ++++ |
14 |
sci-libs/mumps/mumps-4.10.0.ebuild | 136 ++++++++++++++++++++++++++++++++++++ |
15 |
4 files changed, 163 insertions(+), 0 deletions(-) |
16 |
|
17 |
diff --git a/sci-libs/mumps/ChangeLog b/sci-libs/mumps/ChangeLog |
18 |
new file mode 100644 |
19 |
index 0000000..49906f6 |
20 |
--- /dev/null |
21 |
+++ b/sci-libs/mumps/ChangeLog |
22 |
@@ -0,0 +1,10 @@ |
23 |
+# ChangeLog for sci-libs/mumps |
24 |
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 |
25 |
+# $Header: $ |
26 |
+ |
27 |
+*mumps-4.10.0 (01 Jun 2011) |
28 |
+ |
29 |
+ 01 Jun 2011; Sébastien Fabbro <bicatali@g.o> +mumps-4.10.0.ebuild, |
30 |
+ +metadata.xml: |
31 |
+ Initial import |
32 |
+ |
33 |
|
34 |
diff --git a/sci-libs/mumps/Manifest b/sci-libs/mumps/Manifest |
35 |
new file mode 100644 |
36 |
index 0000000..26ea77c |
37 |
--- /dev/null |
38 |
+++ b/sci-libs/mumps/Manifest |
39 |
@@ -0,0 +1,4 @@ |
40 |
+DIST MUMPS_4.10.0.tar.gz 2481516 RMD160 19ae1f4773ab1643237f791085d9721932a618fc SHA1 904b1d816272d99f1f53913cbd4789a5be1838f7 SHA256 d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933 |
41 |
+EBUILD mumps-4.10.0.ebuild 3916 RMD160 548e678b07694d7b6700a5c4f5b3000d6eff4384 SHA1 331c64cd824ca69e0006de7c493cbdce36f67b5b SHA256 51a4df8dda86e81f2056293985d367e39e661389c4dc0b62c45e6edba0e07afb |
42 |
+MISC ChangeLog 256 RMD160 4934775c75859634f7e502286e5f6c607ebd0c43 SHA1 3b8a5223cd6c7f1f293786a62156653efb194766 SHA256 95c92bfc19f31e1e498b62026b7f39570700efbbe791bdfe376dca85b20f9024 |
43 |
+MISC metadata.xml 550 RMD160 4d8730ab11dca7f0e70958c24413643d5fe6470c SHA1 e54d1d1c396292d36faa321e49d8adcc41fba07b SHA256 6283620deb195a65aaabb4dff6f3dfd05f0550ec6c108d497bdcbf4c6ea6765d |
44 |
|
45 |
diff --git a/sci-libs/mumps/metadata.xml b/sci-libs/mumps/metadata.xml |
46 |
new file mode 100644 |
47 |
index 0000000..e9804fe |
48 |
--- /dev/null |
49 |
+++ b/sci-libs/mumps/metadata.xml |
50 |
@@ -0,0 +1,13 @@ |
51 |
+<?xml version="1.0" encoding="UTF-8"?> |
52 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
53 |
+<pkgmetadata> |
54 |
+<herd>sci</herd> |
55 |
+<longdescription lang='en'> |
56 |
+ MUltifrontal Massively Parallel sparse direct Solver implements a |
57 |
+ direct solver for large sparse linear systems, with a particular |
58 |
+ focus on symmetric positive definite matrices. It can operate on |
59 |
+ distributed matrices e.g. over a cluster. It has Fortran and C |
60 |
+ interfaces, and can interface with ordering tools such |
61 |
+ as Scotch or Metis. |
62 |
+</longdescription> |
63 |
+</pkgmetadata> |
64 |
|
65 |
diff --git a/sci-libs/mumps/mumps-4.10.0.ebuild b/sci-libs/mumps/mumps-4.10.0.ebuild |
66 |
new file mode 100644 |
67 |
index 0000000..59c2ae3 |
68 |
--- /dev/null |
69 |
+++ b/sci-libs/mumps/mumps-4.10.0.ebuild |
70 |
@@ -0,0 +1,136 @@ |
71 |
+# Copyright 1999-2011 Gentoo Foundation |
72 |
+# Distributed under the terms of the GNU General Public License v2 |
73 |
+# $Header: $ |
74 |
+ |
75 |
+EAPI=4 |
76 |
+inherit eutils toolchain-funcs flag-o-matic |
77 |
+ |
78 |
+MYP=MUMPS_${PV} |
79 |
+ |
80 |
+DESCRIPTION="MUltifrontal Massively Parallel sparse direct matrix Solver" |
81 |
+HOMEPAGE="http://mumps.enseeiht.fr/" |
82 |
+SRC_URI="${HOMEPAGE}${MYP}.tar.gz" |
83 |
+ |
84 |
+LICENSE="public-domain" |
85 |
+SLOT="0" |
86 |
+KEYWORDS="~amd64 ~x86" |
87 |
+IUSE="doc examples metis mpi +scotch static-libs" |
88 |
+ |
89 |
+RDEPEND="virtual/blas |
90 |
+ virtual/metis[mpi?] |
91 |
+ scotch? ( sci-libs/scotch[mpi?] ) |
92 |
+ mpi? ( virtual/scalapack )" |
93 |
+ |
94 |
+DEPEND="${RDEPEND} |
95 |
+ dev-util/pkgconfig" |
96 |
+ |
97 |
+S="${WORKDIR}/${MYP}" |
98 |
+ |
99 |
+make_shared_lib() { |
100 |
+ local libstatic=${1} |
101 |
+ local soname=$(basename "${1%.a}").so.$(get_major_version) |
102 |
+ shift |
103 |
+ einfo "Making ${soname}" |
104 |
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \ |
105 |
+ -shared -Wl,-soname="${soname}" \ |
106 |
+ -Wl,--whole-archive "${libstatic}" -Wl,--no-whole-archive \ |
107 |
+ "$@" -o $(dirname "${libstatic}")/"${soname}" || die "${soname} failed" |
108 |
+} |
109 |
+ |
110 |
+src_prepare() { |
111 |
+ sed -e "s:\(CC\s*=\).*:\1$(tc-getCC):" \ |
112 |
+ -e "s:\(FC\s*=\).*:\1$(tc-getFC):" \ |
113 |
+ -e "s:\(FL\s*=\).*:\1$(tc-getFC):" \ |
114 |
+ -e "s:\(AR\s*=\).*:\1$(tc-getAR) rv :" \ |
115 |
+ -e "s:\(RANLIB\s*=\).*:\1$(tc-getRANLIB):" \ |
116 |
+ -e "s:\(LIBBLAS\s*=\).*:\1$(pkg-config --libs blas):" \ |
117 |
+ -e "s:\(INCPAR\s*=\).*:\1:" \ |
118 |
+ -e 's:\(LIBPAR\s*=\).*:\1$(SCALAP):' \ |
119 |
+ -e "s:\(OPTF\s*=\).*:\1${FFLAGS}:" \ |
120 |
+ -e "s:\(OPTC\s*=\).*:\1${CFLAGS}:" \ |
121 |
+ -e "s:\(OPTL\s*=\).*:\1${LDFLAGS}:" \ |
122 |
+ Make.inc/Makefile.inc.generic > Makefile.inc || die |
123 |
+} |
124 |
+ |
125 |
+src_configure() { |
126 |
+ LIBS="$(pkg-config --libs blas) -Llib -lpord" |
127 |
+ local ord="-Dpord" |
128 |
+ if use metis && use mpi; then |
129 |
+ sed -i \ |
130 |
+ -e "s:#\s*\(LMETIS\s*=\).*:\1$(pkg-config --libs metis-mpi):" \ |
131 |
+ -e "s:#\s*\(IMETIS\s*=\).*:\1$(pkg-config --cflags metis-mpi):" \ |
132 |
+ Makefile.inc || die |
133 |
+ LIBS="${LIBS} $(pkg-config --libs metis-mpi)" |
134 |
+ ord="${ord} -Dparmetis" |
135 |
+ elif use metis; then |
136 |
+ sed -i \ |
137 |
+ -e "s:#\s*\(LMETIS\s*=\).*:\1$(pkg-config --libs metis):" \ |
138 |
+ -e "s:#\s*\(IMETIS\s*=\).*:\1$(pkg-config --cflags metis):" \ |
139 |
+ Makefile.inc || die |
140 |
+ LIBS="${LIBS} $(pkg-config --libs metis)" |
141 |
+ ord="${ord} -Dmetis" |
142 |
+ fi |
143 |
+ if use scotch && use mpi; then |
144 |
+ sed -i \ |
145 |
+ -e "s:\(LSCOTCH\s*=\).*:\1-lptesmumps -lptscotch -lptscotcherr:" \ |
146 |
+ -e "s:\(ISCOTCH\s*=\).*:\1${ED}/usr/include/scotch:" \ |
147 |
+ Makefile.inc || die |
148 |
+ LIBS="${LIBS} -lptesmumps -lptscotch -lptscotcherr" |
149 |
+ ord="${ord} -Dptscotch" |
150 |
+ elif use scotch; then |
151 |
+ sed -i \ |
152 |
+ -e "s:\(LSCOTCH\s*=\).*:\1-lesmumps -lscotch -lscotcherr:" \ |
153 |
+ -e "s:\(ISCOTCH\s*=\).*:\1${ED}/usr/include/scotch:" \ |
154 |
+ Makefile.inc || die |
155 |
+ LIBS="${LIBS} -lesmumps -lscotch -lscotcherr" |
156 |
+ ord="${ord} -Dscotch" |
157 |
+ fi |
158 |
+ if use mpi; then |
159 |
+ sed -i \ |
160 |
+ -e "s:\(CC\s*=\).*:\1mpicc:" \ |
161 |
+ -e "s:\(FC\s*=\).*:\1mpif90:" \ |
162 |
+ -e "s:\(FL\s*=\).*:\1mpif90:" \ |
163 |
+ -e "s:\(SCALAP\s*=\).*:\1$(pkg-config --libs scalapack):" \ |
164 |
+ Makefile.inc || die |
165 |
+ export LINK=mpif90 |
166 |
+ LIBS="${LIBS} $(pkg-config --libs scalapack)" |
167 |
+ fi |
168 |
+ sed -i -e "s:\(ORDERINGSF\s*=\).*:\1 ${ord}:" Makefile.inc || die |
169 |
+} |
170 |
+ |
171 |
+src_compile() { |
172 |
+ emake alllib OPTF="${FFLAGS} -fPIC" OPTC="${CFLAGS} -fPIC" |
173 |
+ make_shared_lib lib/libmumps_common.a ${LIBS} |
174 |
+ local i |
175 |
+ for i in c d s z; do |
176 |
+ make_shared_lib lib/lib${i}mumps.a -Llib -lmumps_common |
177 |
+ done |
178 |
+ if use static-libs; then |
179 |
+ emake clean |
180 |
+ emake alllib |
181 |
+ fi |
182 |
+} |
183 |
+ |
184 |
+src_test() { |
185 |
+ emake all |
186 |
+ local dotest |
187 |
+ use mpi && dotest="mpirun -np 2" |
188 |
+ ${dotest} ./ssimpletest < input_simpletest_real || die |
189 |
+ ${dotest} ./dsimpletest < input_simpletest_real || die |
190 |
+ ${dotest} ./csimpletest < input_simpletest_cmplx || die |
191 |
+ ${dotest} ./zsimpletest < input_simpletest_cmplx || die |
192 |
+ einfo "The solution should be (1,2,3,4,5)" |
193 |
+ ${dotest} ./c_example || die |
194 |
+ einfo "The solution should be (1,2)" |
195 |
+} |
196 |
+ |
197 |
+src_install() { |
198 |
+ dolib.so lib/lib*.so |
199 |
+ use static-libs && dolib.a lib/lib*.a |
200 |
+ dodoc README ChangeLog VERSION |
201 |
+ use doc && dodoc doc/*.pdf |
202 |
+ if use examples; then |
203 |
+ insinto /usr/share/doc/${PF} |
204 |
+ doins -r examples |
205 |
+ fi |
206 |
+} |