Gentoo Archives: gentoo-commits

From: Sebastien Fabbro <bicatali@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/bicatali:master commit in: sci-libs/mpiblacs/
Date: Wed, 01 Jun 2011 00:11:33
Message-Id: b7b124b0487718ee8fc08542750f53cd5fbcfd35.bicatali@gentoo
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