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