Gentoo Archives: gentoo-commits

From: "Christoph Junghans (ottxor)" <ottxor@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-cluster/charm: metadata.xml charm-6.6.1.ebuild ChangeLog
Date: Sat, 07 Mar 2015 00:52:17
Message-Id: 20150307005211.8938313333@oystercatcher.gentoo.org
1 ottxor 15/03/07 00:52:11
2
3 Modified: metadata.xml ChangeLog
4 Added: charm-6.6.1.ebuild
5 Log:
6 version bump
7
8 (Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key C2000586)
9
10 Revision Changes Path
11 1.12 sys-cluster/charm/metadata.xml
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/charm/metadata.xml?rev=1.12&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/charm/metadata.xml?rev=1.12&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/charm/metadata.xml?r1=1.11&r2=1.12
16
17 Index: metadata.xml
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-cluster/charm/metadata.xml,v
20 retrieving revision 1.11
21 retrieving revision 1.12
22 diff -u -r1.11 -r1.12
23 --- metadata.xml 13 Dec 2013 19:41:26 -0000 1.11
24 +++ metadata.xml 7 Mar 2015 00:52:11 -0000 1.12
25 @@ -6,6 +6,7 @@
26 <email>nicolasbock@g.o</email>
27 </maintainer>
28 <use>
29 + <flag name="ampi">Build implementation of MPI on top of Charm++</flag>
30 <flag name="charmdebug">Enable the charm debugger</flag>
31 <flag name="charmproduction">Optimize performance of Charm++ runtime</flag>
32 <flag name="charmtracing">Enable tracing support in Charm++</flag>
33
34
35
36 1.44 sys-cluster/charm/ChangeLog
37
38 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/charm/ChangeLog?rev=1.44&view=markup
39 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/charm/ChangeLog?rev=1.44&content-type=text/plain
40 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/charm/ChangeLog?r1=1.43&r2=1.44
41
42 Index: ChangeLog
43 ===================================================================
44 RCS file: /var/cvsroot/gentoo-x86/sys-cluster/charm/ChangeLog,v
45 retrieving revision 1.43
46 retrieving revision 1.44
47 diff -u -r1.43 -r1.44
48 --- ChangeLog 24 Nov 2014 00:16:57 -0000 1.43
49 +++ ChangeLog 7 Mar 2015 00:52:11 -0000 1.44
50 @@ -1,6 +1,12 @@
51 # ChangeLog for sys-cluster/charm
52 -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
53 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/ChangeLog,v 1.43 2014/11/24 00:16:57 ottxor Exp $
54 +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
55 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/ChangeLog,v 1.44 2015/03/07 00:52:11 ottxor Exp $
56 +
57 +*charm-6.6.1 (07 Mar 2015)
58 +
59 + 07 Mar 2015; Christoph Junghans <ottxor@g.o> +charm-6.6.1.ebuild,
60 + metadata.xml:
61 + version bump
62
63 *charm-6.6.0-r1 (24 Nov 2014)
64
65
66
67
68 1.1 sys-cluster/charm/charm-6.6.1.ebuild
69
70 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/charm/charm-6.6.1.ebuild?rev=1.1&view=markup
71 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/charm/charm-6.6.1.ebuild?rev=1.1&content-type=text/plain
72
73 Index: charm-6.6.1.ebuild
74 ===================================================================
75 # Copyright 1999-2015 Gentoo Foundation
76 # Distributed under the terms of the GNU General Public License v2
77 # $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/charm-6.6.1.ebuild,v 1.1 2015/03/07 00:52:11 ottxor Exp $
78
79 EAPI=5
80
81 FORTRAN_STANDARD="90"
82 PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3,3_4} )
83
84 inherit eutils flag-o-matic fortran-2 multilib multiprocessing python-any-r1 toolchain-funcs
85
86 DESCRIPTION="Message-passing parallel language and runtime system"
87 HOMEPAGE="http://charm.cs.uiuc.edu/"
88 SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz"
89
90 LICENSE="charm"
91 SLOT="0"
92 KEYWORDS="~amd64 ~x86"
93 IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi ampi numa smp static-libs syncft tcp"
94
95 REQUIRED_USE="ampi? ( !mpi )"
96
97 RDEPEND="mpi? ( virtual/mpi )"
98 DEPEND="
99 ${RDEPEND}
100 doc? (
101 >=app-text/poppler-0.12.3-r3[utils]
102 dev-tex/latex2html
103 virtual/tex-base
104 $(python_gen_any_dep '
105 >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}]
106 dev-python/lxml[${PYTHON_USEDEP}]
107 ')
108 media-libs/netpbm
109 ${PYTHON_DEPS}
110 )"
111
112 REQUIRED_USE="
113 doc? ( ${PYTHON_REQUIRED_USE} )
114 cmkopt? ( !charmdebug !charmtracing )
115 charmproduction? ( !charmdebug !charmtracing )"
116
117 S="${WORKDIR}/${PN}"
118
119 pkg_setup() {
120 use doc && python-any-r1_pkg_setup
121 }
122
123 get_opts() {
124 local CHARM_OPTS
125
126 # TCP instead of default UDP for socket comunication
127 # protocol
128 CHARM_OPTS+="$(usex tcp ' tcp' '')"
129
130 # enable direct SMP support using shared memory
131 CHARM_OPTS+="$(usex smp ' smp' '')"
132
133 CHARM_OPTS+="$(usex mlogft ' mlogft' '')"
134 CHARM_OPTS+="$(usex syncft ' syncft' '')"
135
136 # Build shared libraries by default.
137 CHARM_OPTS+=" --build-shared"
138
139 if use charmproduction; then
140 CHARM_OPTS+=" --with-production"
141 else
142 if use charmdebug; then
143 CHARM_OPTS+=" --enable-charmdebug"
144 fi
145
146 if use charmtracing; then
147 CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread"
148 fi
149 fi
150
151 CHARM_OPTS+="$(usex numa ' --with-numa' '')"
152 echo $CHARM_OPTS
153 }
154
155 src_prepare() {
156 sed \
157 -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)"):g" \
158 -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
159 -e "/CMK_CF90/s:\`which f90.*$::g" \
160 -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \
161 -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \
162 -e '/CMK_F90_MODINC/s:-p:-I:g' \
163 -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \
164 -i src/arch/$(usex mpi "mpi" "net")*-linux*/*sh || die
165 sed \
166 -e "/CMK_CF90/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
167 -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
168 -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
169 -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
170 -i src/arch/common/*.sh || die
171
172 sed \
173 -e "s:-o conv-cpm:${LDFLAGS} &:g" \
174 -e "s:-o charmxi:${LDFLAGS} &:g" \
175 -e "s:-o charmrun-silent:${LDFLAGS} &:g" \
176 -e "s:-o charmrun-notify:${LDFLAGS} &:g" \
177 -e "s:-o charmrun:${LDFLAGS} &:g" \
178 -e "s:-o charmd_faceless:${LDFLAGS} &:g" \
179 -e "s:-o charmd:${LDFLAGS} &:g" \
180 -i \
181 src/scripts/Makefile \
182 src/util/charmrun-src/Makefile || die
183
184 # CMK optimization
185 use cmkopt && append-cppflags -DCMK_OPTIMIZE=1
186
187 # Fix QA notice. Filed report with upstream.
188 append-cflags -DALLOCA_H
189
190 epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch"
191 epatch "${FILESDIR}/charm-6.5.1-fix-markupSanitizer.patch"
192 }
193
194 src_compile() {
195 local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')"
196 local build_options="$(get_opts)"
197 #build only accepts -j from MAKEOPTS
198 local build_commandline="${build_version} ${build_options} -j$(makeopts_jobs)"
199
200 # Build charmm++ first.
201 einfo "running ./build charm++ ${build_commandline}"
202 ./build charm++ ${build_commandline} || die "Failed to build charm++"
203
204 if use ampi; then
205 einfo "running ./build AMPI ${build_commandline}"
206 ./build AMPI ${build_commandline} || die "Failed to build charm++"
207 fi
208
209 # make pdf/html docs
210 if use doc; then
211 emake -j1 -C doc/charm++
212 fi
213 }
214
215 src_test() {
216 make -C tests/charm++ test TESTOPTS="++local" || die
217 }
218
219 src_install() {
220 # Make charmc play well with gentoo before we move it into /usr/bin. This
221 # patch cannot be applied during src_prepare() because the charmc wrapper
222 # is used during building.
223 epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch"
224
225 sed -e "s|gentoo-include|${P}|" \
226 -e "s|gentoo-libdir|$(get_libdir)|g" \
227 -e "s|VERSION|${P}/VERSION|" \
228 -i ./src/scripts/charmc || die "failed patching charmc script"
229
230 # In the following, some of the files are symlinks to ../tmp which we need
231 # to dereference first (see bug 432834).
232
233 local i
234
235 # Install binaries.
236 for i in bin/*; do
237 if [[ -L ${i} ]]; then
238 i=$(readlink -e "${i}") || die
239 fi
240 dobin "${i}"
241 done
242
243 # Install headers.
244 insinto /usr/include/${P}
245 for i in include/*; do
246 if [[ -L ${i} ]]; then
247 i=$(readlink -e "${i}") || die
248 fi
249 doins "${i}"
250 done
251
252 # Install libs incl. charm objects
253 for i in lib*/*.{so,o,a}; do
254 [[ ${i} = *.a ]] && use !static-libs && continue
255 if [[ -L ${i} ]]; then
256 i=$(readlink -e "${i}") || die
257 fi
258 [[ ${i} = *.so ]] && dolib.so "${i}" || dolib "${i}"
259 done
260
261 # Basic docs.
262 dodoc CHANGES README
263
264 # Install examples.
265 if use examples; then
266 find examples/ -name 'Makefile' | xargs sed \
267 -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \
268 die "Failed to fix examples"
269 find examples/ -name 'Makefile' | xargs sed \
270 -r "s:./charmrun:./charmrun ++local:" -i || \
271 die "Failed to fix examples"
272 insinto /usr/share/doc/${PF}/examples
273 doins -r examples/charm++/*
274 docompress -x /usr/share/doc/${PF}/examples
275 fi
276
277 # Install pdf/html docs
278 if use doc; then
279 cd "${S}/doc/charm++"
280 # Install pdfs.
281 insinto /usr/share/doc/${PF}/pdf
282 doins *.pdf
283 # Install html.
284 docinto html
285 dohtml -r manual/*
286 fi
287 }
288
289 pkg_postinst() {
290 einfo "Please test your charm installation by copying the"
291 einfo "content of /usr/share/doc/${PF}/examples to a"
292 einfo "temporary location and run 'make test'."
293 }