1 |
commit: 1a28fb600b3613bbb556a637297bf785d3f7a5ce |
2 |
Author: Christoph Junghans <junghans <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue May 1 22:23:09 2018 +0000 |
4 |
Commit: Christoph Junghans <junghans <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue May 1 22:23:37 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a28fb60 |
7 |
|
8 |
sys-cluster/charm: version bump |
9 |
|
10 |
Package-Manager: Portage-2.3.24, Repoman-2.3.6 |
11 |
|
12 |
sys-cluster/charm/Manifest | 1 + |
13 |
sys-cluster/charm/charm-6.8.2.ebuild | 218 +++++++++++++++++++++++++++++++++++ |
14 |
2 files changed, 219 insertions(+) |
15 |
|
16 |
diff --git a/sys-cluster/charm/Manifest b/sys-cluster/charm/Manifest |
17 |
index 4f3235b7c02..22a65c722b3 100644 |
18 |
--- a/sys-cluster/charm/Manifest |
19 |
+++ b/sys-cluster/charm/Manifest |
20 |
@@ -2,3 +2,4 @@ DIST charm-6.5.1.tar.gz 19265741 BLAKE2B a0124b2c125b85968d79496709e3aa64e6287f8 |
21 |
DIST charm-6.6.0.tar.gz 18779545 BLAKE2B 7fef3e34060e6e76d757b432646da25d0869600db1ab6a39bd1a0be0d6bd59bf656fd16e5e9550f5d081333e0c458f001236016a966537c3803d52b125694d5f SHA512 fd6cc2fa8919198fdceb8187101882a61fe974fed3ddd65b102c95b850877429fe0675a55d54075e4a2accad134f615ff717a7dd39fbd9af5fa65a5c87d34e0b |
22 |
DIST charm-6.6.1.tar.gz 125697465 BLAKE2B 49cdab682ddb2c5409007f852b9d2d905921a5db04aaa7a4d679f9cf05f754864be5b2c885c070d8c7f35a78584055e38993397430617f6aebfe398d415df6c4 SHA512 139409fff76ac9811b2efe6605579a877738f873b112d4e4da25f079598f6c238cf76e677ed3cf3f92aa59f29710feea3e96e59e6010e186e4191dfa4c3ef92e |
23 |
DIST charm-6.7.1.tar.gz 18843211 BLAKE2B 090959b5dd8642fecf6dff7bf24212a42b39d7940c264a0b37af9c2ae8f1ac32f3c65d22a67cdc78b7cd821523dc01659293c84e9b26fa69669915d9c5b3f4db SHA512 08581ad58ea737bb118ad1d382feeae2cec2ec0fd8ea1a227e2cb8080c40ba0d043de6c867de0dfa470b2291638b1b6bf6d52c89b4e4b6c9f1fdd824ac601436 |
24 |
+DIST charm-6.8.2.tar.gz 24420478 BLAKE2B b5035d29f90ec766dc49b94e76d68a9ce3d16f43037203baaa035cfa863c6ca063a81c5dc275c1517feabc3517201d5e854a2b1b4b1c492ff0433f692db39a34 SHA512 903aa47706c260d35a04e6002874d197439087d6bdbd4fe65a397a02096a2e53eeb93b64c57e5983f0190ca2dcef3a9b28a3b424207c9d3eb6e820659f5e00c1 |
25 |
|
26 |
diff --git a/sys-cluster/charm/charm-6.8.2.ebuild b/sys-cluster/charm/charm-6.8.2.ebuild |
27 |
new file mode 100644 |
28 |
index 00000000000..22e45cc2592 |
29 |
--- /dev/null |
30 |
+++ b/sys-cluster/charm/charm-6.8.2.ebuild |
31 |
@@ -0,0 +1,218 @@ |
32 |
+# Copyright 1999-2018 Gentoo Foundation |
33 |
+# Distributed under the terms of the GNU General Public License v2 |
34 |
+ |
35 |
+EAPI=5 |
36 |
+ |
37 |
+FORTRAN_STANDARD="90" |
38 |
+PYTHON_COMPAT=( python2_7 ) |
39 |
+ |
40 |
+inherit eutils flag-o-matic fortran-2 multilib multiprocessing python-any-r1 toolchain-funcs |
41 |
+ |
42 |
+DESCRIPTION="Message-passing parallel language and runtime system" |
43 |
+HOMEPAGE="http://charm.cs.uiuc.edu/" |
44 |
+SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz" |
45 |
+ |
46 |
+LICENSE="charm" |
47 |
+SLOT="0" |
48 |
+KEYWORDS="~amd64 ~x86" |
49 |
+IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi ampi numa smp static-libs syncft tcp" |
50 |
+ |
51 |
+RDEPEND="mpi? ( virtual/mpi )" |
52 |
+DEPEND=" |
53 |
+ ${RDEPEND} |
54 |
+ doc? ( |
55 |
+ >=app-text/poppler-0.12.3-r3[utils] |
56 |
+ dev-tex/latex2html |
57 |
+ virtual/tex-base |
58 |
+ $(python_gen_any_dep ' |
59 |
+ >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}] |
60 |
+ dev-python/lxml[${PYTHON_USEDEP}] |
61 |
+ ') |
62 |
+ media-libs/netpbm |
63 |
+ ${PYTHON_DEPS} |
64 |
+ ) |
65 |
+ net-libs/libtirpc |
66 |
+ " |
67 |
+ |
68 |
+REQUIRED_USE=" |
69 |
+ cmkopt? ( !charmdebug !charmtracing ) |
70 |
+ charmproduction? ( !charmdebug !charmtracing )" |
71 |
+ |
72 |
+S="${WORKDIR}/${PN}-v${PV}" |
73 |
+ |
74 |
+pkg_setup() { |
75 |
+ use doc && python-any-r1_pkg_setup |
76 |
+} |
77 |
+ |
78 |
+get_opts() { |
79 |
+ local CHARM_OPTS |
80 |
+ |
81 |
+ # TCP instead of default UDP for socket comunication |
82 |
+ # protocol |
83 |
+ CHARM_OPTS+="$(usex tcp ' tcp' '')" |
84 |
+ |
85 |
+ # enable direct SMP support using shared memory |
86 |
+ CHARM_OPTS+="$(usex smp ' smp' '')" |
87 |
+ |
88 |
+ CHARM_OPTS+="$(usex mlogft ' mlogft' '')" |
89 |
+ CHARM_OPTS+="$(usex syncft ' syncft' '')" |
90 |
+ |
91 |
+ # Build shared libraries by default. |
92 |
+ CHARM_OPTS+=" --build-shared" |
93 |
+ |
94 |
+ if use charmproduction; then |
95 |
+ CHARM_OPTS+=" --with-production" |
96 |
+ else |
97 |
+ if use charmdebug; then |
98 |
+ CHARM_OPTS+=" --enable-charmdebug" |
99 |
+ fi |
100 |
+ |
101 |
+ if use charmtracing; then |
102 |
+ CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread" |
103 |
+ fi |
104 |
+ fi |
105 |
+ |
106 |
+ CHARM_OPTS+="$(usex numa ' --with-numa' '')" |
107 |
+ echo $CHARM_OPTS |
108 |
+} |
109 |
+ |
110 |
+src_prepare() { |
111 |
+ append-cppflags $($(tc-getPKG_CONFIG) --cflags libtirpc) |
112 |
+ |
113 |
+ sed \ |
114 |
+ -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)") ${FCFLAGS}:g" \ |
115 |
+ -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)") ${FCFLAGS}:g" \ |
116 |
+ -e "/CMK_CF90/s:\`which f90.*$::g" \ |
117 |
+ -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)") ${CPPFLAGS} ${CXXFLAGS}:g" \ |
118 |
+ -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)") ${CPPFLAGS} ${CFLAGS}:g" \ |
119 |
+ -e '/CMK_F90_MODINC/s:-p:-I:g' \ |
120 |
+ -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \ |
121 |
+ -i src/arch/$(usex mpi "mpi" "net")*-linux*/*sh || die |
122 |
+ sed \ |
123 |
+ -e "/CMK_CF90/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)") ${FCFLAGS}:g" \ |
124 |
+ -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)") ${FCFLAGS}:g" \ |
125 |
+ -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)") ${FCFLAGS}:g" \ |
126 |
+ -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)") ${FCFLAGS}:g" \ |
127 |
+ -i src/arch/common/*.sh || die |
128 |
+ |
129 |
+ sed \ |
130 |
+ -e "s:-o conv-cpm:${LDFLAGS} &:g" \ |
131 |
+ -e "s:-o charmxi:${LDFLAGS} &:g" \ |
132 |
+ -e "s:-o charmrun-silent:${LDFLAGS} &:g" \ |
133 |
+ -e "s:-o charmrun-notify:${LDFLAGS} &:g" \ |
134 |
+ -e "s:-o charmrun:${LDFLAGS} &:g" \ |
135 |
+ -e "s:-o charmd_faceless:${LDFLAGS} &:g" \ |
136 |
+ -e "s:-o charmd:${LDFLAGS} &:g" \ |
137 |
+ -e "/^CHARMC/s:$: ${CPPFLAGS} ${CFLAGS}:g" \ |
138 |
+ -i \ |
139 |
+ src/scripts/Makefile \ |
140 |
+ src/util/charmrun-src/Makefile || die |
141 |
+ |
142 |
+ # CMK optimization |
143 |
+ use cmkopt && append-cppflags -DCMK_OPTIMIZE=1 |
144 |
+ |
145 |
+ # Fix QA notice. Filed report with upstream. |
146 |
+ append-cflags -DALLOCA_H |
147 |
+} |
148 |
+ |
149 |
+src_compile() { |
150 |
+ local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')" |
151 |
+ local build_options="$(get_opts)" |
152 |
+ #build only accepts -j from MAKEOPTS |
153 |
+ local build_commandline="${build_version} ${build_options} -j$(makeopts_jobs)" |
154 |
+ |
155 |
+ # Build charmm++ first. |
156 |
+ einfo "running ./build charm++ ${build_commandline}" |
157 |
+ ./build charm++ ${build_commandline} || die "Failed to build charm++" |
158 |
+ |
159 |
+ if use ampi; then |
160 |
+ einfo "running ./build AMPI ${build_commandline}" |
161 |
+ ./build AMPI ${build_commandline} || die "Failed to build charm++" |
162 |
+ fi |
163 |
+ |
164 |
+ # make pdf/html docs |
165 |
+ if use doc; then |
166 |
+ emake -j1 -C doc/charm++ |
167 |
+ fi |
168 |
+} |
169 |
+ |
170 |
+src_test() { |
171 |
+ make -C tests/charm++ test TESTOPTS="++local" || die |
172 |
+} |
173 |
+ |
174 |
+src_install() { |
175 |
+ # Make charmc play well with gentoo before we move it into /usr/bin. This |
176 |
+ # patch cannot be applied during src_prepare() because the charmc wrapper |
177 |
+ # is used during building. |
178 |
+ epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch" |
179 |
+ |
180 |
+ sed -e "s|gentoo-include|${P}|" \ |
181 |
+ -e "s|gentoo-libdir|$(get_libdir)|g" \ |
182 |
+ -e "s|VERSION|${P}/VERSION|" \ |
183 |
+ -i ./src/scripts/charmc || die "failed patching charmc script" |
184 |
+ |
185 |
+ # In the following, some of the files are symlinks to ../tmp which we need |
186 |
+ # to dereference first (see bug 432834). |
187 |
+ |
188 |
+ local i |
189 |
+ |
190 |
+ # Install binaries. |
191 |
+ for i in bin/*; do |
192 |
+ if [[ -L ${i} ]]; then |
193 |
+ i=$(readlink -e "${i}") || die |
194 |
+ fi |
195 |
+ dobin "${i}" |
196 |
+ done |
197 |
+ |
198 |
+ # Install headers. |
199 |
+ insinto /usr/include/${P} |
200 |
+ for i in include/*; do |
201 |
+ if [[ -L ${i} ]]; then |
202 |
+ i=$(readlink -e "${i}") || die |
203 |
+ fi |
204 |
+ doins "${i}" |
205 |
+ done |
206 |
+ |
207 |
+ # Install libs incl. charm objects |
208 |
+ for i in lib*/*.{so,a}; do |
209 |
+ [[ ${i} = *.a ]] && use !static-libs && continue |
210 |
+ if [[ -L ${i} ]]; then |
211 |
+ i=$(readlink -e "${i}") || die |
212 |
+ fi |
213 |
+ [[ -s $i ]] || continue |
214 |
+ [[ ${i} = *.so ]] && dolib.so "${i}" || dolib "${i}" |
215 |
+ done |
216 |
+ |
217 |
+ # Basic docs. |
218 |
+ dodoc CHANGES README |
219 |
+ |
220 |
+ # Install examples. |
221 |
+ if use examples; then |
222 |
+ find examples/ -name 'Makefile' | xargs sed \ |
223 |
+ -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \ |
224 |
+ die "Failed to fix examples" |
225 |
+ find examples/ -name 'Makefile' | xargs sed \ |
226 |
+ -r "s:./charmrun:./charmrun ++local:" -i || \ |
227 |
+ die "Failed to fix examples" |
228 |
+ insinto /usr/share/doc/${PF}/examples |
229 |
+ doins -r examples/charm++/* |
230 |
+ docompress -x /usr/share/doc/${PF}/examples |
231 |
+ fi |
232 |
+ |
233 |
+ # Install pdf/html docs |
234 |
+ if use doc; then |
235 |
+ cd "${S}/doc/charm++" |
236 |
+ # Install pdfs. |
237 |
+ insinto /usr/share/doc/${PF}/pdf |
238 |
+ doins *.pdf |
239 |
+ # Install html. |
240 |
+ docinto html |
241 |
+ dohtml -r manual/* |
242 |
+ fi |
243 |
+} |
244 |
+ |
245 |
+pkg_postinst() { |
246 |
+ einfo "Please test your charm installation by copying the" |
247 |
+ einfo "content of /usr/share/doc/${PF}/examples to a" |
248 |
+ einfo "temporary location and run 'make test'." |
249 |
+} |