1 |
commit: b7b124b0487718ee8fc08542750f53cd5fbcfd35 |
2 |
Author: Sébastien Fabbro <bicatali <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jun 1 00:11:06 2011 +0000 |
4 |
Commit: Sebastien Fabbro <bicatali <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jun 1 00:11:06 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=dev/bicatali.git;a=commit;h=b7b124b0 |
7 |
|
8 |
fixed linking. static makefile include. eapi4 |
9 |
|
10 |
--- |
11 |
sci-libs/mpiblacs/Manifest | 4 +- |
12 |
sci-libs/mpiblacs/mpiblacs-1.1.ebuild | 85 +++++++++++++++------------------ |
13 |
2 files changed, 41 insertions(+), 48 deletions(-) |
14 |
|
15 |
diff --git a/sci-libs/mpiblacs/Manifest b/sci-libs/mpiblacs/Manifest |
16 |
index 76eaeaf..1afaaab 100644 |
17 |
--- a/sci-libs/mpiblacs/Manifest |
18 |
+++ b/sci-libs/mpiblacs/Manifest |
19 |
@@ -1,6 +1,6 @@ |
20 |
DIST blacstester.tgz 81937 RMD160 bfee4918d04f6577ea021bc466cd16d6d007ac1d SHA1 d85ebb1cb2bad051242609504d27773e54c4ae00 SHA256 7e5a67b703f74f05435055dd314a7196007d9a273e6bb46058a19be71d3ba197 |
21 |
DIST mpiblacs-patch03.tgz 30505 RMD160 582cd4d13bda97edefedc0e67b1ab5d00c7024f2 SHA1 d3f136b07df2b208a11c96fa55e39030e4702b39 SHA256 92dfba8a462a2f23102000a10532c00a9a5203b79ccad5a87f44ce83eb6bc7ed |
22 |
DIST mpiblacs.tgz 152823 RMD160 bac03b82dc7f1daef632ca6869f077f64c18ad8e SHA1 b9503a2fddd4136a2b7ce3f5a9cd97dd5ec0d6b6 SHA256 88dd7265d412022948debb7a2737226cd53a3bf73b0b62fc55ceb3ccc8a598f7 |
23 |
-EBUILD mpiblacs-1.1.ebuild 3004 RMD160 386ba6a0e7697b9617ef7d633c82f3f87462937c SHA1 f6affe10853343de6e99ad2fc5de75d53be5cad0 SHA256 3c5456dfff4ce2d0e4e5aefc3526e3f2c8b8652f032c2c4d144f8ca1dbeaaf05 |
24 |
-MISC ChangeLog 375 RMD160 16f36586c81cf539e99c809387a1fb5fe5614b23 SHA1 6397b7813ac1564ff429db00d85f268e9909c4bd SHA256 9fdab740424fa27b493f2ee804764c7af18dde2bc3673d50357447988a4d46c2 |
25 |
+EBUILD mpiblacs-1.1.ebuild 3111 RMD160 1e86313347c025c745b1bab1f18208117d030dc6 SHA1 3731771b50dbf1a163c2caa4e3b421baf2aa3c71 SHA256 5be84de191bf21beaef7a48392091f1dc12bc6b044f39c02874febe3fb83ceba |
26 |
+MISC ChangeLog 537 RMD160 c8ecff2d0248972ae14dae3c472f043d735cd3df SHA1 91f151741fb7751ddb42b5759b9ea5d06da39eae SHA256 d339c62d975583fbb432a48a1a7940541cc970c39f536ab03fab8d2685502b42 |
27 |
MISC metadata.xml 491 RMD160 642fdba0aaec7ab2f26183b0b2c3a9a86dbc826c SHA1 6012e8c37ec9f077437f9dcebc0841e19a2746e6 SHA256 92e3b64a3520d1adfdc948c5fb823c1c5e2d1d8af5b6fce6ab05535de52bbf49 |
28 |
|
29 |
diff --git a/sci-libs/mpiblacs/mpiblacs-1.1.ebuild b/sci-libs/mpiblacs/mpiblacs-1.1.ebuild |
30 |
index f7959a5..743fa32 100644 |
31 |
--- a/sci-libs/mpiblacs/mpiblacs-1.1.ebuild |
32 |
+++ b/sci-libs/mpiblacs/mpiblacs-1.1.ebuild |
33 |
@@ -2,7 +2,7 @@ |
34 |
# Distributed under the terms of the GNU General Public License v2 |
35 |
# $Header: $ |
36 |
|
37 |
-EAPI="3" |
38 |
+EAPI=4 |
39 |
inherit eutils toolchain-funcs versionator alternatives-2 |
40 |
|
41 |
DESCRIPTION="Basic Linear Algebra Communication Subprograms with MPI" |
42 |
@@ -24,65 +24,60 @@ DEPEND="${RDEPEND} |
43 |
S="${WORKDIR}/BLACS" |
44 |
|
45 |
make_shared_lib() { |
46 |
+ local libstatic=${1} |
47 |
local soname=$(basename "${1%.a}").so.$(get_major_version) |
48 |
+ shift |
49 |
einfo "Making ${soname}" |
50 |
- ${2:-$(tc-getCC)} ${LDFLAGS} \ |
51 |
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \ |
52 |
-shared -Wl,-soname="${soname}" \ |
53 |
- -Wl,--whole-archive "${1}" -Wl,--no-whole-archive \ |
54 |
- -o $(dirname "${1}")/"${soname}" || return 1 |
55 |
+ -Wl,--whole-archive "${libstatic}" -Wl,--no-whole-archive \ |
56 |
+ "$@" -o $(dirname "${libstatic}")/"${soname}" || die "${soname} failed" |
57 |
} |
58 |
|
59 |
src_prepare() { |
60 |
- cp BMAKES/Bmake.MPI-LINUX Bmake.inc || die |
61 |
- find . -name Makefile -exec sed -i \ |
62 |
- -e 's:make:$(MAKE):g' \ |
63 |
- '{}' \; |
64 |
-} |
65 |
+ find . -name Makefile -exec sed -i -e 's:make:$(MAKE):g' '{}' \; |
66 |
|
67 |
-src_configure() { |
68 |
- # TODO: INTFACE should be fortran compiler dependent |
69 |
- # how to do it with mpif77? |
70 |
- # is TRANSCOMM mpi dependent? other values: -DCSameF77 -DUseMpich |
71 |
- MAKEFLAGS=( |
72 |
- "BTOPdir=${S}" |
73 |
- "MPILIB=-lmpi" |
74 |
- "MPIINCdir=${EPREFIX}/usr/include" |
75 |
- "INTFACE=-DAdd_" |
76 |
- "TRANSCOMM=-DUseMpi2" |
77 |
- "F77=mpif77" |
78 |
- "F77NO_OPTFLAGS=-O0" |
79 |
- "F77FLAGS=${FFLAGS}" |
80 |
- "F77LOADFLAGS=${LDFLAGS}" |
81 |
- "CC=mpicc" |
82 |
- "CCFLAGS=${CFLAGS}" |
83 |
- "CCLOADFLAGS=${LDFLAGS}" |
84 |
- "ARCH=$(tc-getAR)" |
85 |
- "RANLIB=$(tc-getRANLIB)" |
86 |
- "BLACSFINIT=\$(BLACSdir)/lib${PN}F77init.a" |
87 |
- "BLACSCINIT=\$(BLACSdir)/lib${PN}Cinit.a" |
88 |
- "BLACSLIB=\$(BLACSdir)/lib${PN}.a" |
89 |
- ) |
90 |
+ sed -e "s:\(SHELL\s*=\).*:\1$(type -P sh):" \ |
91 |
+ -e "s:\(BTOPdir\s*=\).*:\1${S}:" \ |
92 |
+ -e "s:\(BLACSFINIT\s*=\).*:\1\$(BLACSdir)/lib${PN}F77init.a:" \ |
93 |
+ -e "s:\(BLACSCINIT\s*=\).*:\1\$(BLACSdir)/lib${PN}Cinit.a:" \ |
94 |
+ -e "s:\(BLACSLIB\s*=\).*:\1\$(BLACSdir)/lib${PN}.a:" \ |
95 |
+ -e "s:\(MPIINCdir\s*=\).*:\1${EPREFIX}/usr/include:" \ |
96 |
+ -e "s:\(MPILIB\s*=\).*:\1:" \ |
97 |
+ -e '/SYSINC.*=/d' \ |
98 |
+ -e 's:\(INTFACE\s*=\).*:\1-DAdd_:' \ |
99 |
+ -e 's:\(TRANSCOMM\s*=\).*:\1-DUseMpi2:' \ |
100 |
+ -e "s:\(F77\s*=\).*:\1mpif77:" \ |
101 |
+ -e "s:\(F77NO_OPTFLAGS\s*=\).*:\1-O0:" \ |
102 |
+ -e "s:\(F77FLAGS\s*=\).*:\1${FFLAGS}:" \ |
103 |
+ -e "s:\(F77LOADFLAGS\s*=\).*:\1${LDFLAGS}:" \ |
104 |
+ -e "s:\(CC\s*=\).*:\1mpicc:" \ |
105 |
+ -e "s:\(CCFLAGS\s*=\).*:\1${CFLAGS}:" \ |
106 |
+ -e "s:\(CCLOADFLAGS\s*=\).*:\1${LDFLAGS}:" \ |
107 |
+ -e "s:\(ARCH\s*=\).*:\1$(tc-getAR):" \ |
108 |
+ -e "s:\(RANLIB\s*=\).*:\1$(tc-getRANLIB):" \ |
109 |
+ BMAKES/Bmake.MPI-LINUX > Bmake.inc || die |
110 |
} |
111 |
|
112 |
src_compile() { |
113 |
- emake "${MAKEFLAGS[@]}" \ |
114 |
+ emake \ |
115 |
F77NO_OPTFLAGS="-O0 -fPIC" \ |
116 |
F77FLAGS="${FFLAGS} -fPIC" \ |
117 |
CCFLAGS="${CFLAGS} -fPIC" \ |
118 |
- mpi || die "shared libs failed" |
119 |
+ mpi |
120 |
cd LIB |
121 |
- make_shared_lib lib${PN}.a mpif77 || die |
122 |
- make_shared_lib lib${PN}Cinit.a mpicc || die |
123 |
- make_shared_lib lib${PN}F77init.a mpif77 || die |
124 |
+ LINK=mpif77 make_shared_lib lib${PN}.a |
125 |
+ LINK=mpicc make_shared_lib lib${PN}Cinit.a -L. -l${PN} |
126 |
+ LINK=mpif77 make_shared_lib lib${PN}F77init.a -L. -l${PN} |
127 |
cd "${S}" |
128 |
if use static-libs; then |
129 |
- emake "${MAKEFLAGS[@]}" clean -C SRC/MPI && rm -f LIB/*.a |
130 |
- emake "${MAKEFLAGS[@]}" mpi || die "static libs failed" |
131 |
+ emake clean -C SRC/MPI && rm -f LIB/*.a |
132 |
+ emake mpi |
133 |
fi |
134 |
} |
135 |
|
136 |
src_test() { |
137 |
- emake "${MAKEFLAGS[@]}" tester || die "test compile failed" |
138 |
+ emake tester |
139 |
cd TESTING/EXE |
140 |
local x |
141 |
# do not die because we are expecting an abort |
142 |
@@ -94,13 +89,12 @@ src_test() { |
143 |
|
144 |
src_install() { |
145 |
cd LIB |
146 |
+ local l |
147 |
for l in lib*.so.*; do |
148 |
- dolib.so "${l}" || die |
149 |
+ dolib.so "${l}" |
150 |
dosym "${l}" /usr/$(get_libdir)/"${l%.*}" |
151 |
done |
152 |
- if use static-libs; then |
153 |
- dolib.a lib*.a || die |
154 |
- fi |
155 |
+ use static-libs && dolib.a lib*.a |
156 |
cat <<-EOF > ${PN}.pc |
157 |
prefix=${EPREFIX}/usr |
158 |
libdir=\${prefix}/$(get_libdir) |
159 |
@@ -109,8 +103,7 @@ src_install() { |
160 |
Description: ${DESCRIPTION} |
161 |
Version: ${PV} |
162 |
URL: ${HOMEPAGE} |
163 |
- Libs: -L\${libdir} -l${PN} -l${PN}Cinit -l${PN}F77init |
164 |
- Private: -lm |
165 |
+ Libs: -L\${libdir} -l${PN} -l${PN}Cinit -l${PN}F77init -lm |
166 |
Cflags: -I\${includedir}/${PN} |
167 |
Requires: blas |
168 |
EOF |