1 |
bircoph 15/03/06 09:56:13 |
2 |
|
3 |
Modified: ChangeLog |
4 |
Added: mumps-4.10.0-r1.ebuild |
5 |
Removed: mumps-4.10.0.ebuild |
6 |
Log: |
7 |
revbump after bugfix 541830 |
8 |
|
9 |
Signed-off-by: Andrew Savchenko <bircoph@g.o> |
10 |
(Portage version: 2.2.17/cvs/Linux i686, signed Manifest commit with key 565953B95372756C) |
11 |
|
12 |
Revision Changes Path |
13 |
1.3 sci-libs/mumps/ChangeLog |
14 |
|
15 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/mumps/ChangeLog?rev=1.3&view=markup |
16 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/mumps/ChangeLog?rev=1.3&content-type=text/plain |
17 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/mumps/ChangeLog?r1=1.2&r2=1.3 |
18 |
|
19 |
Index: ChangeLog |
20 |
=================================================================== |
21 |
RCS file: /var/cvsroot/gentoo-x86/sci-libs/mumps/ChangeLog,v |
22 |
retrieving revision 1.2 |
23 |
retrieving revision 1.3 |
24 |
diff -u -r1.2 -r1.3 |
25 |
--- ChangeLog 6 Mar 2015 09:51:21 -0000 1.2 |
26 |
+++ ChangeLog 6 Mar 2015 09:56:13 -0000 1.3 |
27 |
@@ -1,6 +1,12 @@ |
28 |
# ChangeLog for sci-libs/mumps |
29 |
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 |
30 |
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/mumps/ChangeLog,v 1.2 2015/03/06 09:51:21 bircoph Exp $ |
31 |
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/mumps/ChangeLog,v 1.3 2015/03/06 09:56:13 bircoph Exp $ |
32 |
+ |
33 |
+*mumps-4.10.0-r1 (06 Mar 2015) |
34 |
+ |
35 |
+ 06 Mar 2015; Andrew Savchenko <bircoph@g.o> -mumps-4.10.0.ebuild, |
36 |
+ +mumps-4.10.0-r1.ebuild: |
37 |
+ Revbump on second thought, since run-time problem is fixed. |
38 |
|
39 |
06 Mar 2015; Andrew Savchenko <bircoph@g.o> mumps-4.10.0.ebuild: |
40 |
mumps is not compatible with >=scotch-6, see bug 541830. |
41 |
|
42 |
|
43 |
|
44 |
1.1 sci-libs/mumps/mumps-4.10.0-r1.ebuild |
45 |
|
46 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/mumps/mumps-4.10.0-r1.ebuild?rev=1.1&view=markup |
47 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/mumps/mumps-4.10.0-r1.ebuild?rev=1.1&content-type=text/plain |
48 |
|
49 |
Index: mumps-4.10.0-r1.ebuild |
50 |
=================================================================== |
51 |
# Copyright 1999-2015 Gentoo Foundation |
52 |
# Distributed under the terms of the GNU General Public License v2 |
53 |
# $Header: /var/cvsroot/gentoo-x86/sci-libs/mumps/mumps-4.10.0-r1.ebuild,v 1.1 2015/03/06 09:56:13 bircoph Exp $ |
54 |
|
55 |
EAPI=5 |
56 |
|
57 |
inherit eutils toolchain-funcs flag-o-matic versionator fortran-2 multilib |
58 |
|
59 |
MYP=MUMPS_${PV} |
60 |
|
61 |
DESCRIPTION="MUltifrontal Massively Parallel sparse direct matrix Solver" |
62 |
HOMEPAGE="http://mumps.enseeiht.fr/" |
63 |
SRC_URI="${HOMEPAGE}${MYP}.tar.gz" |
64 |
|
65 |
LICENSE="public-domain" |
66 |
SLOT="0" |
67 |
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" |
68 |
IUSE="doc examples metis mpi +scotch static-libs" |
69 |
|
70 |
RDEPEND=" |
71 |
virtual/blas |
72 |
metis? ( || ( sci-libs/metis <sci-libs/parmetis-4 ) |
73 |
mpi? ( <sci-libs/parmetis-4 ) ) |
74 |
scotch? ( <sci-libs/scotch-6[mpi=] ) |
75 |
mpi? ( sci-libs/scalapack )" |
76 |
|
77 |
DEPEND="${RDEPEND} |
78 |
virtual/pkgconfig" |
79 |
|
80 |
S="${WORKDIR}/${MYP}" |
81 |
|
82 |
static_to_shared() { |
83 |
local libstatic=${1}; shift |
84 |
local libname=$(basename ${libstatic%.a}) |
85 |
local soname=${libname}$(get_libname $(get_version_component_range 1-2)) |
86 |
local libdir=$(dirname ${libstatic}) |
87 |
|
88 |
einfo "Making ${soname} from ${libstatic}" |
89 |
if [[ ${CHOST} == *-darwin* ]] ; then |
90 |
${LINK:-$(tc-getCC)} ${LDFLAGS} \ |
91 |
-dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \ |
92 |
-Wl,-all_load -Wl,${libstatic} \ |
93 |
"$@" -o ${libdir}/${soname} || die "${soname} failed" |
94 |
else |
95 |
${LINK:-$(tc-getCC)} ${LDFLAGS} \ |
96 |
-shared -Wl,-soname=${soname} \ |
97 |
-Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \ |
98 |
"$@" -o ${libdir}/${soname} || die "${soname} failed" |
99 |
[[ $(get_version_component_count) -gt 1 ]] && \ |
100 |
ln -s ${soname} ${libdir}/${libname}$(get_libname $(get_major_version)) |
101 |
ln -s ${soname} ${libdir}/${libname}$(get_libname) |
102 |
fi |
103 |
} |
104 |
|
105 |
src_prepare() { |
106 |
sed -e "s:^\(CC\s*=\).*:\1$(tc-getCC):" \ |
107 |
-e "s:^\(FC\s*=\).*:\1$(tc-getFC):" \ |
108 |
-e "s:^\(FL\s*=\).*:\1$(tc-getFC):" \ |
109 |
-e "s:^\(AR\s*=\).*:\1$(tc-getAR) cr :" \ |
110 |
-e "s:^\(RANLIB\s*=\).*:\1$(tc-getRANLIB):" \ |
111 |
-e "s:^\(LIBBLAS\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs blas):" \ |
112 |
-e "s:^\(INCPAR\s*=\).*:\1:" \ |
113 |
-e 's:^\(LIBPAR\s*=\).*:\1$(SCALAP):' \ |
114 |
-e "s:^\(OPTF\s*=\).*:\1${FFLAGS} -DALLOW_NON_INIT \$(PIC):" \ |
115 |
-e "s:^\(OPTC\s*=\).*:\1${CFLAGS} \$(PIC):" \ |
116 |
-e "s:^\(OPTL\s*=\).*:\1${LDFLAGS}:" \ |
117 |
Make.inc/Makefile.inc.generic > Makefile.inc || die |
118 |
# fixed a missing copy of libseq to libdir |
119 |
} |
120 |
|
121 |
src_configure() { |
122 |
LIBADD="$($(tc-getPKG_CONFIG) --libs blas) -Llib -lpord" |
123 |
local ord="-Dpord" |
124 |
if use metis && use mpi; then |
125 |
sed -i \ |
126 |
-e "s:#\s*\(LMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs parmetis):" \ |
127 |
-e "s:#\s*\(IMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --cflags parmetis):" \ |
128 |
Makefile.inc || die |
129 |
LIBADD="${LIBADD} $($(tc-getPKG_CONFIG) --libs parmetis)" |
130 |
ord="${ord} -Dparmetis" |
131 |
elif use metis; then |
132 |
sed -i \ |
133 |
-e "s:#\s*\(LMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs metis):" \ |
134 |
-e "s:#\s*\(IMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --cflags metis):" \ |
135 |
Makefile.inc || die |
136 |
LIBADD="${LIBADD} $($(tc-getPKG_CONFIG) --libs metis)" |
137 |
ord="${ord} -Dmetis" |
138 |
fi |
139 |
if use scotch && use mpi; then |
140 |
sed -i \ |
141 |
-e "s:#\s*\(LSCOTCH\s*=\).*:\1-lptesmumps -lptscotch -lptscotcherr:" \ |
142 |
-e "s:#\s*\(ISCOTCH\s*=\).*:\1-I${EROOT}usr/include/scotch:" \ |
143 |
Makefile.inc || die |
144 |
LIBADD="${LIBADD} -lptesmumps -lptscotch -lptscotcherr" |
145 |
ord="${ord} -Dptscotch" |
146 |
elif use scotch; then |
147 |
sed -i \ |
148 |
-e "s:#\s*\(LSCOTCH\s*=\).*:\1-lesmumps -lscotch -lscotcherr:" \ |
149 |
-e "s:#\s*\(ISCOTCH\s*=\).*:\1-I${EROOT}usr/include/scotch:" \ |
150 |
Makefile.inc || die |
151 |
LIBADD="${LIBADD} -lesmumps -lscotch -lscotcherr" |
152 |
ord="${ord} -Dscotch" |
153 |
fi |
154 |
if use mpi; then |
155 |
sed -i \ |
156 |
-e "s:^\(CC\s*=\).*:\1mpicc:" \ |
157 |
-e "s:^\(FC\s*=\).*:\1mpif90:" \ |
158 |
-e "s:^\(FL\s*=\).*:\1mpif90:" \ |
159 |
-e "s:^\(SCALAP\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs scalapack):" \ |
160 |
Makefile.inc || die |
161 |
export LINK=mpif90 |
162 |
LIBADD="${LIBADD} $($(tc-getPKG_CONFIG) --libs scalapack)" |
163 |
else |
164 |
sed -i \ |
165 |
-e 's:-Llibseq:-L$(topdir)/libseq:' \ |
166 |
-e 's:PAR):SEQ):g' \ |
167 |
-e "s:^\(SCALAP\s*=\).*:\1:" \ |
168 |
-e 's:^LIBSEQNEEDED =:LIBSEQNEEDED = libseqneeded:g' \ |
169 |
Makefile.inc || die |
170 |
export LINK="$(tc-getFC)" |
171 |
fi |
172 |
sed -i -e "s:^\s*\(ORDERINGSF\s*=\).*:\1 ${ord}:" Makefile.inc || die |
173 |
} |
174 |
|
175 |
src_compile() { |
176 |
# Workaround #462602 |
177 |
export FAKEROOTKEY=1 |
178 |
|
179 |
# -j1 because of static archive race |
180 |
emake -j1 alllib PIC="-fPIC" |
181 |
if ! use mpi; then |
182 |
#$(tc-getAR) crs lib/libmumps_common.a libseq/*.o || die |
183 |
LIBADD+=" -Llibseq -lmpiseq" |
184 |
static_to_shared libseq/libmpiseq.a |
185 |
fi |
186 |
static_to_shared lib/libpord.a ${LIBADD} |
187 |
static_to_shared lib/libmumps_common.a ${LIBADD} |
188 |
|
189 |
local i |
190 |
for i in c d s z; do |
191 |
static_to_shared lib/lib${i}mumps.a -Llib -lmumps_common ${LIBADD} |
192 |
done |
193 |
if use static-libs; then |
194 |
emake clean |
195 |
emake -j1 alllib |
196 |
fi |
197 |
} |
198 |
|
199 |
src_test() { |
200 |
emake all |
201 |
local dotest |
202 |
if use mpi; then |
203 |
dotest="mpirun -np 2" |
204 |
else |
205 |
export LD_LIBRARY_PATH="${S}/libseq:${LD_LIBRARY_PATH}" |
206 |
fi |
207 |
cd examples |
208 |
${dotest} ./ssimpletest < input_simpletest_real || die |
209 |
${dotest} ./dsimpletest < input_simpletest_real || die |
210 |
${dotest} ./csimpletest < input_simpletest_cmplx || die |
211 |
${dotest} ./zsimpletest < input_simpletest_cmplx || die |
212 |
einfo "The solutions should be close to (1,2,3,4,5)" |
213 |
${dotest} ./c_example || die |
214 |
einfo "The solution should be close to (1,2)" |
215 |
make clean |
216 |
} |
217 |
|
218 |
src_install() { |
219 |
dolib.so lib/lib*$(get_libname)* |
220 |
use static-libs && dolib.a lib/lib*.a |
221 |
insinto /usr |
222 |
doins -r include |
223 |
if ! use mpi; then |
224 |
dolib.so libseq/lib*$(get_libname)* |
225 |
insinto /usr/include/mpiseq |
226 |
doins libseq/*.h |
227 |
use static-libs && dolib.a libseq/libmpiseq.a |
228 |
fi |
229 |
dodoc README ChangeLog VERSION |
230 |
use doc && dodoc doc/*.pdf |
231 |
if use examples; then |
232 |
insinto /usr/share/doc/${PF} |
233 |
doins -r examples |
234 |
fi |
235 |
} |