1 |
nicolasbock 14/12/30 20:47:51 |
2 |
|
3 |
Modified: ChangeLog |
4 |
Added: lammps-20141217.ebuild lammps-20141222.ebuild |
5 |
lammps-20141219.ebuild |
6 |
Log: |
7 |
sci-physics/lammps: Adding new versions. |
8 |
|
9 |
(Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key AC91CA52) |
10 |
|
11 |
Revision Changes Path |
12 |
1.56 sci-physics/lammps/ChangeLog |
13 |
|
14 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-physics/lammps/ChangeLog?rev=1.56&view=markup |
15 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-physics/lammps/ChangeLog?rev=1.56&content-type=text/plain |
16 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-physics/lammps/ChangeLog?r1=1.55&r2=1.56 |
17 |
|
18 |
Index: ChangeLog |
19 |
=================================================================== |
20 |
RCS file: /var/cvsroot/gentoo-x86/sci-physics/lammps/ChangeLog,v |
21 |
retrieving revision 1.55 |
22 |
retrieving revision 1.56 |
23 |
diff -u -r1.55 -r1.56 |
24 |
--- ChangeLog 28 Dec 2014 10:13:27 -0000 1.55 |
25 |
+++ ChangeLog 30 Dec 2014 20:47:51 -0000 1.56 |
26 |
@@ -1,6 +1,14 @@ |
27 |
# ChangeLog for sci-physics/lammps |
28 |
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 |
29 |
-# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/ChangeLog,v 1.55 2014/12/28 10:13:27 ago Exp $ |
30 |
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/ChangeLog,v 1.56 2014/12/30 20:47:51 nicolasbock Exp $ |
31 |
+ |
32 |
+*lammps-20141222 (30 Dec 2014) |
33 |
+*lammps-20141217 (30 Dec 2014) |
34 |
+*lammps-20141219 (30 Dec 2014) |
35 |
+ |
36 |
+ 30 Dec 2014; Nicolas Bock <nicolasbock@g.o> +lammps-20141217.ebuild, |
37 |
+ +lammps-20141219.ebuild, +lammps-20141222.ebuild: |
38 |
+ sci-physics/lammps: Adding new versions. |
39 |
|
40 |
28 Dec 2014; Agostino Sarubbo <ago@g.o> lammps-20140905.ebuild: |
41 |
Stable for x86, wrt bug #532662 |
42 |
|
43 |
|
44 |
|
45 |
1.1 sci-physics/lammps/lammps-20141217.ebuild |
46 |
|
47 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-physics/lammps/lammps-20141217.ebuild?rev=1.1&view=markup |
48 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-physics/lammps/lammps-20141217.ebuild?rev=1.1&content-type=text/plain |
49 |
|
50 |
Index: lammps-20141217.ebuild |
51 |
=================================================================== |
52 |
# Copyright 1999-2014 Gentoo Foundation |
53 |
# Distributed under the terms of the GNU General Public License v2 |
54 |
# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/lammps-20141217.ebuild,v 1.1 2014/12/30 20:47:51 nicolasbock Exp $ |
55 |
|
56 |
EAPI=5 |
57 |
|
58 |
inherit eutils flag-o-matic fortran-2 multilib |
59 |
|
60 |
convert_month() { |
61 |
case $1 in |
62 |
01) echo Jan |
63 |
;; |
64 |
02) echo Feb |
65 |
;; |
66 |
03) echo Mar |
67 |
;; |
68 |
04) echo Apr |
69 |
;; |
70 |
05) echo May |
71 |
;; |
72 |
06) echo Jun |
73 |
;; |
74 |
07) echo Jul |
75 |
;; |
76 |
08) echo Aug |
77 |
;; |
78 |
09) echo Sep |
79 |
;; |
80 |
10) echo Oct |
81 |
;; |
82 |
11) echo Nov |
83 |
;; |
84 |
12) echo Dec |
85 |
;; |
86 |
*) echo unknown |
87 |
;; |
88 |
esac |
89 |
} |
90 |
|
91 |
MY_P=${PN}-$((10#${PV:6:2}))$(convert_month ${PV:4:2})${PV:2:2} |
92 |
|
93 |
DESCRIPTION="Large-scale Atomic/Molecular Massively Parallel Simulator" |
94 |
HOMEPAGE="http://lammps.sandia.gov/" |
95 |
SRC_URI="http://lammps.sandia.gov/tars/${MY_P}.tar.gz" |
96 |
|
97 |
LICENSE="GPL-2" |
98 |
SLOT="0" |
99 |
KEYWORDS="~amd64 ~x86" |
100 |
IUSE="doc examples gzip lammps-memalign mpi static-libs" |
101 |
|
102 |
DEPEND=" |
103 |
mpi? ( |
104 |
virtual/blas |
105 |
virtual/lapack |
106 |
virtual/mpi |
107 |
) |
108 |
sci-libs/voro++ |
109 |
" |
110 |
RDEPEND="${DEPEND}" |
111 |
|
112 |
S="${WORKDIR}/${MY_P}" |
113 |
|
114 |
lmp_emake() { |
115 |
local LAMMPS_INCLUDEFLAGS |
116 |
LAMMPS_INCLUDEFLAGS="$(usex gzip '-DLAMMPS_GZIP' '')" |
117 |
LAMMPS_INCLUDEFLAGS+="$(usex lammps-memalign ' -DLAMMPS_MEMALIGN' '')" |
118 |
|
119 |
# The lammps makefile uses CC to indicate the C++ compiler. |
120 |
emake \ |
121 |
ARCHIVE=$(tc-getAR) \ |
122 |
CC=$(usex mpi "mpic++" "$(tc-getCXX)") \ |
123 |
F90=$(usex mpi "mpif90" "$(tc-getFC)") \ |
124 |
LINK=$(usex mpi "mpic++" "$(tc-getCXX)") \ |
125 |
CCFLAGS="${CXXFLAGS}" \ |
126 |
F90FLAGS="${FCFLAGS}" \ |
127 |
LINKFLAGS="${LDFLAGS}" \ |
128 |
LMP_INC="${LAMMPS_INCLUDEFLAGS}" \ |
129 |
MPI_INC=$(usex mpi '' "-I../STUBS") \ |
130 |
MPI_PATH=$(usex mpi '' '-L../STUBS') \ |
131 |
MPI_LIB=$(usex mpi '' '-lmpi_stubs') \ |
132 |
user-atc_SYSLIB="$(usex mpi "$($(tc-getPKG_CONFIG) --libs blas) $($(tc-getPKG_CONFIG) --libs lapack)" '')"\ |
133 |
"$@" |
134 |
} |
135 |
|
136 |
src_prepare() { |
137 |
# Fix inconsistent use of SHFLAGS. |
138 |
sed -i \ |
139 |
-e 's:voronoi_SYSINC\s\+=.*$:voronoi_SYSINC = -I/usr/include/voro++:' \ |
140 |
-e 's:voronoi_SYSPATH\s\+=.*$:voronoi_SYSPATH =:' \ |
141 |
src/VORONOI/Makefile.lammps || die |
142 |
|
143 |
# Fix missing .so name. |
144 |
sed -i \ |
145 |
-e 's:SHLIBFLAGS\s\+=\s\+:SHLIBFLAGS = -Wl,-soname,liblammps.so.0 :' \ |
146 |
src/MAKE/Makefile.serial || die |
147 |
|
148 |
# Fix makefile in tools. |
149 |
sed -i \ |
150 |
-e 's:g++:$(CXX) $(CXXFLAGS):' \ |
151 |
-e 's:gcc:$(CC) $(CCFLAGS):' \ |
152 |
-e 's:ifort:$(FC) $(FCFLAGS):' \ |
153 |
tools/Makefile || die |
154 |
} |
155 |
|
156 |
src_compile() { |
157 |
# Prepare compiler flags. |
158 |
append-cxxflags -fPIC -I../../src |
159 |
append-fflags -fPIC |
160 |
|
161 |
# Compile stubs for serial version. |
162 |
use mpi || lmp_emake -C src stubs |
163 |
|
164 |
# Build packages |
165 |
emake -C src yes-asphere |
166 |
emake -C src yes-body |
167 |
emake -C src yes-class2 |
168 |
emake -C src yes-colloid |
169 |
emake -C src yes-dipole |
170 |
emake -C src yes-fld |
171 |
#emake -C src yes-gpu |
172 |
emake -C src yes-granular |
173 |
# Need OpenKIM external dependency. |
174 |
#emake -C src yes-kim |
175 |
# Need Kokkos external dependency. |
176 |
#emake -C src yes-kokkos |
177 |
emake -C src yes-kspace |
178 |
emake -C src yes-manybody |
179 |
emake -C src yes-mc |
180 |
lmp_emake -C src yes-meam |
181 |
lmp_emake -j1 -C lib/meam -f Makefile.gfortran |
182 |
emake -C src yes-misc |
183 |
emake -C src yes-molecule |
184 |
#emake -C src yes-mpiio |
185 |
emake -C src yes-opt |
186 |
emake -C src yes-peri |
187 |
emake -C src yes-poems |
188 |
lmp_emake -C lib/poems -f Makefile.g++ |
189 |
emake -C src yes-reax |
190 |
lmp_emake -j1 -C lib/reax -f Makefile.gfortran |
191 |
emake -C src yes-replica |
192 |
emake -C src yes-rigid |
193 |
emake -C src yes-shock |
194 |
emake -C src yes-snap |
195 |
emake -C src yes-srd |
196 |
emake -C src yes-voronoi |
197 |
emake -C src yes-xtc |
198 |
|
199 |
emake -C src yes-user-eff |
200 |
emake -C src yes-user-fep |
201 |
use mpi && emake -C src yes-user-lb |
202 |
emake -C src yes-user-phonon |
203 |
emake -C src yes-user-sph |
204 |
|
205 |
if use mpi; then |
206 |
emake -C src yes-user-atc |
207 |
lmp_emake -C lib/atc -f Makefile.g++ |
208 |
fi |
209 |
|
210 |
if use static-libs; then |
211 |
# Build static library. |
212 |
lmp_emake -C src makelib |
213 |
lmp_emake -C src -f Makefile.lib serial |
214 |
fi |
215 |
|
216 |
# Build shared library. |
217 |
lmp_emake -C src makeshlib |
218 |
lmp_emake -C src -f Makefile.shlib serial |
219 |
|
220 |
# Compile main executable. |
221 |
lmp_emake -C src serial |
222 |
|
223 |
# Compile tools. |
224 |
emake -C tools binary2txt chain micelle2d data2xmovie |
225 |
} |
226 |
|
227 |
src_install() { |
228 |
use static-libs && newlib.a src/liblammps_serial.a liblammps.a |
229 |
newlib.so src/liblammps_serial.so liblammps.so.0.0.0 |
230 |
dosym liblammps.so.0.0.0 /usr/$(get_libdir)/liblammps.so |
231 |
dosym liblammps.so.0.0.0 /usr/$(get_libdir)/liblammps.so.0 |
232 |
newbin src/lmp_serial lmp |
233 |
dobin tools/binary2txt |
234 |
# Don't forget to add header files of optional packages as they are added |
235 |
# to this ebuild. There may also be .mod files from Fortran based |
236 |
# packages. |
237 |
insinto "/usr/include/${PN}" |
238 |
doins -r src/*.h lib/meam/*.mod |
239 |
|
240 |
local LAMMPS_POTENTIALS="usr/share/${PN}/potentials" |
241 |
insinto "/${LAMMPS_POTENTIALS}" |
242 |
doins potentials/* |
243 |
echo "LAMMPS_POTENTIALS=${EROOT}${LAMMPS_POTENTIALS}" > 99lammps |
244 |
doenvd 99lammps |
245 |
|
246 |
if use examples; then |
247 |
local LAMMPS_EXAMPLES="/usr/share/${PN}/examples" |
248 |
insinto "${LAMMPS_EXAMPLES}" |
249 |
doins -r examples/* |
250 |
fi |
251 |
|
252 |
dodoc README |
253 |
if use doc; then |
254 |
dodoc doc/Manual.pdf |
255 |
dohtml -r doc/* |
256 |
fi |
257 |
} |
258 |
|
259 |
|
260 |
|
261 |
1.1 sci-physics/lammps/lammps-20141222.ebuild |
262 |
|
263 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-physics/lammps/lammps-20141222.ebuild?rev=1.1&view=markup |
264 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-physics/lammps/lammps-20141222.ebuild?rev=1.1&content-type=text/plain |
265 |
|
266 |
Index: lammps-20141222.ebuild |
267 |
=================================================================== |
268 |
# Copyright 1999-2014 Gentoo Foundation |
269 |
# Distributed under the terms of the GNU General Public License v2 |
270 |
# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/lammps-20141222.ebuild,v 1.1 2014/12/30 20:47:51 nicolasbock Exp $ |
271 |
|
272 |
EAPI=5 |
273 |
|
274 |
inherit eutils flag-o-matic fortran-2 multilib |
275 |
|
276 |
convert_month() { |
277 |
case $1 in |
278 |
01) echo Jan |
279 |
;; |
280 |
02) echo Feb |
281 |
;; |
282 |
03) echo Mar |
283 |
;; |
284 |
04) echo Apr |
285 |
;; |
286 |
05) echo May |
287 |
;; |
288 |
06) echo Jun |
289 |
;; |
290 |
07) echo Jul |
291 |
;; |
292 |
08) echo Aug |
293 |
;; |
294 |
09) echo Sep |
295 |
;; |
296 |
10) echo Oct |
297 |
;; |
298 |
11) echo Nov |
299 |
;; |
300 |
12) echo Dec |
301 |
;; |
302 |
*) echo unknown |
303 |
;; |
304 |
esac |
305 |
} |
306 |
|
307 |
MY_P=${PN}-$((10#${PV:6:2}))$(convert_month ${PV:4:2})${PV:2:2} |
308 |
|
309 |
DESCRIPTION="Large-scale Atomic/Molecular Massively Parallel Simulator" |
310 |
HOMEPAGE="http://lammps.sandia.gov/" |
311 |
SRC_URI="http://lammps.sandia.gov/tars/${MY_P}.tar.gz" |
312 |
|
313 |
LICENSE="GPL-2" |
314 |
SLOT="0" |
315 |
KEYWORDS="~amd64 ~x86" |
316 |
IUSE="doc examples gzip lammps-memalign mpi static-libs" |
317 |
|
318 |
DEPEND=" |
319 |
mpi? ( |
320 |
virtual/blas |
321 |
virtual/lapack |
322 |
virtual/mpi |
323 |
) |
324 |
sci-libs/voro++ |
325 |
" |
326 |
RDEPEND="${DEPEND}" |
327 |
|
328 |
S="${WORKDIR}/${MY_P}" |
329 |
|
330 |
lmp_emake() { |
331 |
local LAMMPS_INCLUDEFLAGS |
332 |
LAMMPS_INCLUDEFLAGS="$(usex gzip '-DLAMMPS_GZIP' '')" |
333 |
LAMMPS_INCLUDEFLAGS+="$(usex lammps-memalign ' -DLAMMPS_MEMALIGN' '')" |
334 |
|
335 |
# The lammps makefile uses CC to indicate the C++ compiler. |
336 |
emake \ |
337 |
ARCHIVE=$(tc-getAR) \ |
338 |
CC=$(usex mpi "mpic++" "$(tc-getCXX)") \ |
339 |
F90=$(usex mpi "mpif90" "$(tc-getFC)") \ |
340 |
LINK=$(usex mpi "mpic++" "$(tc-getCXX)") \ |
341 |
CCFLAGS="${CXXFLAGS}" \ |
342 |
F90FLAGS="${FCFLAGS}" \ |
343 |
LINKFLAGS="${LDFLAGS}" \ |
344 |
LMP_INC="${LAMMPS_INCLUDEFLAGS}" \ |
345 |
MPI_INC=$(usex mpi '' "-I../STUBS") \ |
346 |
MPI_PATH=$(usex mpi '' '-L../STUBS') \ |
347 |
MPI_LIB=$(usex mpi '' '-lmpi_stubs') \ |
348 |
user-atc_SYSLIB="$(usex mpi "$($(tc-getPKG_CONFIG) --libs blas) $($(tc-getPKG_CONFIG) --libs lapack)" '')"\ |
349 |
"$@" |
350 |
} |
351 |
|
352 |
src_prepare() { |
353 |
# Fix inconsistent use of SHFLAGS. |
354 |
sed -i \ |
355 |
-e 's:voronoi_SYSINC\s\+=.*$:voronoi_SYSINC = -I/usr/include/voro++:' \ |
356 |
-e 's:voronoi_SYSPATH\s\+=.*$:voronoi_SYSPATH =:' \ |
357 |
src/VORONOI/Makefile.lammps || die |
358 |
|
359 |
# Fix missing .so name. |
360 |
sed -i \ |
361 |
-e 's:SHLIBFLAGS\s\+=\s\+:SHLIBFLAGS = -Wl,-soname,liblammps.so.0 :' \ |
362 |
src/MAKE/Makefile.serial || die |
363 |
|
364 |
# Fix makefile in tools. |
365 |
sed -i \ |
366 |
-e 's:g++:$(CXX) $(CXXFLAGS):' \ |
367 |
-e 's:gcc:$(CC) $(CCFLAGS):' \ |
368 |
-e 's:ifort:$(FC) $(FCFLAGS):' \ |
369 |
tools/Makefile || die |
370 |
} |
371 |
|
372 |
src_compile() { |
373 |
# Prepare compiler flags. |
374 |
append-cxxflags -fPIC -I../../src |
375 |
append-fflags -fPIC |
376 |
|
377 |
# Compile stubs for serial version. |
378 |
use mpi || lmp_emake -C src stubs |
379 |
|
380 |
# Build packages |
381 |
emake -C src yes-asphere |
382 |
emake -C src yes-body |
383 |
emake -C src yes-class2 |
384 |
emake -C src yes-colloid |
385 |
emake -C src yes-dipole |
386 |
emake -C src yes-fld |
387 |
#emake -C src yes-gpu |
388 |
emake -C src yes-granular |
389 |
# Need OpenKIM external dependency. |
390 |
#emake -C src yes-kim |
391 |
# Need Kokkos external dependency. |
392 |
#emake -C src yes-kokkos |
393 |
emake -C src yes-kspace |
394 |
emake -C src yes-manybody |
395 |
emake -C src yes-mc |
396 |
lmp_emake -C src yes-meam |
397 |
lmp_emake -j1 -C lib/meam -f Makefile.gfortran |
398 |
emake -C src yes-misc |
399 |
emake -C src yes-molecule |
400 |
#emake -C src yes-mpiio |
401 |
emake -C src yes-opt |
402 |
emake -C src yes-peri |
403 |
emake -C src yes-poems |
404 |
lmp_emake -C lib/poems -f Makefile.g++ |
405 |
emake -C src yes-reax |
406 |
lmp_emake -j1 -C lib/reax -f Makefile.gfortran |
407 |
emake -C src yes-replica |
408 |
emake -C src yes-rigid |
409 |
emake -C src yes-shock |
410 |
emake -C src yes-snap |
411 |
emake -C src yes-srd |
412 |
emake -C src yes-voronoi |
413 |
emake -C src yes-xtc |
414 |
|
415 |
emake -C src yes-user-eff |
416 |
emake -C src yes-user-fep |
417 |
use mpi && emake -C src yes-user-lb |
418 |
emake -C src yes-user-phonon |
419 |
emake -C src yes-user-sph |
420 |
|
421 |
if use mpi; then |
422 |
emake -C src yes-user-atc |
423 |
lmp_emake -C lib/atc -f Makefile.g++ |
424 |
fi |
425 |
|
426 |
if use static-libs; then |
427 |
# Build static library. |
428 |
lmp_emake -C src makelib |
429 |
lmp_emake -C src -f Makefile.lib serial |
430 |
fi |
431 |
|
432 |
# Build shared library. |
433 |
lmp_emake -C src makeshlib |
434 |
lmp_emake -C src -f Makefile.shlib serial |
435 |
|
436 |
# Compile main executable. |
437 |
lmp_emake -C src serial |
438 |
|
439 |
# Compile tools. |
440 |
emake -C tools binary2txt chain micelle2d data2xmovie |
441 |
} |
442 |
|
443 |
src_install() { |
444 |
use static-libs && newlib.a src/liblammps_serial.a liblammps.a |
445 |
newlib.so src/liblammps_serial.so liblammps.so.0.0.0 |
446 |
dosym liblammps.so.0.0.0 /usr/$(get_libdir)/liblammps.so |
447 |
dosym liblammps.so.0.0.0 /usr/$(get_libdir)/liblammps.so.0 |
448 |
newbin src/lmp_serial lmp |
449 |
dobin tools/binary2txt |
450 |
# Don't forget to add header files of optional packages as they are added |
451 |
# to this ebuild. There may also be .mod files from Fortran based |
452 |
# packages. |
453 |
insinto "/usr/include/${PN}" |
454 |
doins -r src/*.h lib/meam/*.mod |
455 |
|
456 |
local LAMMPS_POTENTIALS="usr/share/${PN}/potentials" |
457 |
insinto "/${LAMMPS_POTENTIALS}" |
458 |
doins potentials/* |
459 |
echo "LAMMPS_POTENTIALS=${EROOT}${LAMMPS_POTENTIALS}" > 99lammps |
460 |
doenvd 99lammps |
461 |
|
462 |
if use examples; then |
463 |
local LAMMPS_EXAMPLES="/usr/share/${PN}/examples" |
464 |
insinto "${LAMMPS_EXAMPLES}" |
465 |
doins -r examples/* |
466 |
fi |
467 |
|
468 |
dodoc README |
469 |
if use doc; then |
470 |
dodoc doc/Manual.pdf |
471 |
dohtml -r doc/* |
472 |
fi |
473 |
} |
474 |
|
475 |
|
476 |
|
477 |
1.1 sci-physics/lammps/lammps-20141219.ebuild |
478 |
|
479 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-physics/lammps/lammps-20141219.ebuild?rev=1.1&view=markup |
480 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-physics/lammps/lammps-20141219.ebuild?rev=1.1&content-type=text/plain |
481 |
|
482 |
Index: lammps-20141219.ebuild |
483 |
=================================================================== |
484 |
# Copyright 1999-2014 Gentoo Foundation |
485 |
# Distributed under the terms of the GNU General Public License v2 |
486 |
# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/lammps-20141219.ebuild,v 1.1 2014/12/30 20:47:51 nicolasbock Exp $ |
487 |
|
488 |
EAPI=5 |
489 |
|
490 |
inherit eutils flag-o-matic fortran-2 multilib |
491 |
|
492 |
convert_month() { |
493 |
case $1 in |
494 |
01) echo Jan |
495 |
;; |
496 |
02) echo Feb |
497 |
;; |
498 |
03) echo Mar |
499 |
;; |
500 |
04) echo Apr |
501 |
;; |
502 |
05) echo May |
503 |
;; |
504 |
06) echo Jun |
505 |
;; |
506 |
07) echo Jul |
507 |
;; |
508 |
08) echo Aug |
509 |
;; |
510 |
09) echo Sep |
511 |
;; |
512 |
10) echo Oct |
513 |
;; |
514 |
11) echo Nov |
515 |
;; |
516 |
12) echo Dec |
517 |
;; |
518 |
*) echo unknown |
519 |
;; |
520 |
esac |
521 |
} |
522 |
|
523 |
MY_P=${PN}-$((10#${PV:6:2}))$(convert_month ${PV:4:2})${PV:2:2} |
524 |
|
525 |
DESCRIPTION="Large-scale Atomic/Molecular Massively Parallel Simulator" |
526 |
HOMEPAGE="http://lammps.sandia.gov/" |
527 |
SRC_URI="http://lammps.sandia.gov/tars/${MY_P}.tar.gz" |
528 |
|
529 |
LICENSE="GPL-2" |
530 |
SLOT="0" |
531 |
KEYWORDS="~amd64 ~x86" |
532 |
IUSE="doc examples gzip lammps-memalign mpi static-libs" |
533 |
|
534 |
DEPEND=" |
535 |
mpi? ( |
536 |
virtual/blas |
537 |
virtual/lapack |
538 |
virtual/mpi |
539 |
) |
540 |
sci-libs/voro++ |
541 |
" |
542 |
RDEPEND="${DEPEND}" |
543 |
|
544 |
S="${WORKDIR}/${MY_P}" |
545 |
|
546 |
lmp_emake() { |
547 |
local LAMMPS_INCLUDEFLAGS |
548 |
LAMMPS_INCLUDEFLAGS="$(usex gzip '-DLAMMPS_GZIP' '')" |
549 |
LAMMPS_INCLUDEFLAGS+="$(usex lammps-memalign ' -DLAMMPS_MEMALIGN' '')" |
550 |
|
551 |
# The lammps makefile uses CC to indicate the C++ compiler. |
552 |
emake \ |
553 |
ARCHIVE=$(tc-getAR) \ |
554 |
CC=$(usex mpi "mpic++" "$(tc-getCXX)") \ |
555 |
F90=$(usex mpi "mpif90" "$(tc-getFC)") \ |
556 |
LINK=$(usex mpi "mpic++" "$(tc-getCXX)") \ |
557 |
CCFLAGS="${CXXFLAGS}" \ |
558 |
F90FLAGS="${FCFLAGS}" \ |
559 |
LINKFLAGS="${LDFLAGS}" \ |
560 |
LMP_INC="${LAMMPS_INCLUDEFLAGS}" \ |
561 |
MPI_INC=$(usex mpi '' "-I../STUBS") \ |
562 |
MPI_PATH=$(usex mpi '' '-L../STUBS') \ |
563 |
MPI_LIB=$(usex mpi '' '-lmpi_stubs') \ |
564 |
user-atc_SYSLIB="$(usex mpi "$($(tc-getPKG_CONFIG) --libs blas) $($(tc-getPKG_CONFIG) --libs lapack)" '')"\ |
565 |
"$@" |
566 |
} |
567 |
|
568 |
src_prepare() { |
569 |
# Fix inconsistent use of SHFLAGS. |
570 |
sed -i \ |
571 |
-e 's:voronoi_SYSINC\s\+=.*$:voronoi_SYSINC = -I/usr/include/voro++:' \ |
572 |
-e 's:voronoi_SYSPATH\s\+=.*$:voronoi_SYSPATH =:' \ |
573 |
src/VORONOI/Makefile.lammps || die |
574 |
|
575 |
# Fix missing .so name. |
576 |
sed -i \ |
577 |
-e 's:SHLIBFLAGS\s\+=\s\+:SHLIBFLAGS = -Wl,-soname,liblammps.so.0 :' \ |
578 |
src/MAKE/Makefile.serial || die |
579 |
|
580 |
# Fix makefile in tools. |
581 |
sed -i \ |
582 |
-e 's:g++:$(CXX) $(CXXFLAGS):' \ |
583 |
-e 's:gcc:$(CC) $(CCFLAGS):' \ |
584 |
-e 's:ifort:$(FC) $(FCFLAGS):' \ |
585 |
tools/Makefile || die |
586 |
} |
587 |
|
588 |
src_compile() { |
589 |
# Prepare compiler flags. |
590 |
append-cxxflags -fPIC -I../../src |
591 |
append-fflags -fPIC |
592 |
|
593 |
# Compile stubs for serial version. |
594 |
use mpi || lmp_emake -C src stubs |
595 |
|
596 |
# Build packages |
597 |
emake -C src yes-asphere |
598 |
emake -C src yes-body |
599 |
emake -C src yes-class2 |
600 |
emake -C src yes-colloid |
601 |
emake -C src yes-dipole |
602 |
emake -C src yes-fld |
603 |
#emake -C src yes-gpu |
604 |
emake -C src yes-granular |
605 |
# Need OpenKIM external dependency. |
606 |
#emake -C src yes-kim |
607 |
# Need Kokkos external dependency. |
608 |
#emake -C src yes-kokkos |
609 |
emake -C src yes-kspace |
610 |
emake -C src yes-manybody |
611 |
emake -C src yes-mc |
612 |
lmp_emake -C src yes-meam |
613 |
lmp_emake -j1 -C lib/meam -f Makefile.gfortran |
614 |
emake -C src yes-misc |
615 |
emake -C src yes-molecule |
616 |
#emake -C src yes-mpiio |
617 |
emake -C src yes-opt |
618 |
emake -C src yes-peri |
619 |
emake -C src yes-poems |
620 |
lmp_emake -C lib/poems -f Makefile.g++ |
621 |
emake -C src yes-reax |
622 |
lmp_emake -j1 -C lib/reax -f Makefile.gfortran |
623 |
emake -C src yes-replica |
624 |
emake -C src yes-rigid |
625 |
emake -C src yes-shock |
626 |
emake -C src yes-snap |
627 |
emake -C src yes-srd |
628 |
emake -C src yes-voronoi |
629 |
emake -C src yes-xtc |
630 |
|
631 |
emake -C src yes-user-eff |
632 |
emake -C src yes-user-fep |
633 |
use mpi && emake -C src yes-user-lb |
634 |
emake -C src yes-user-phonon |
635 |
emake -C src yes-user-sph |
636 |
|
637 |
if use mpi; then |
638 |
emake -C src yes-user-atc |
639 |
lmp_emake -C lib/atc -f Makefile.g++ |
640 |
fi |
641 |
|
642 |
if use static-libs; then |
643 |
# Build static library. |
644 |
lmp_emake -C src makelib |
645 |
lmp_emake -C src -f Makefile.lib serial |
646 |
fi |
647 |
|
648 |
# Build shared library. |
649 |
lmp_emake -C src makeshlib |
650 |
lmp_emake -C src -f Makefile.shlib serial |
651 |
|
652 |
# Compile main executable. |
653 |
lmp_emake -C src serial |
654 |
|
655 |
# Compile tools. |
656 |
emake -C tools binary2txt chain micelle2d data2xmovie |
657 |
} |
658 |
|
659 |
src_install() { |
660 |
use static-libs && newlib.a src/liblammps_serial.a liblammps.a |
661 |
newlib.so src/liblammps_serial.so liblammps.so.0.0.0 |
662 |
dosym liblammps.so.0.0.0 /usr/$(get_libdir)/liblammps.so |
663 |
dosym liblammps.so.0.0.0 /usr/$(get_libdir)/liblammps.so.0 |
664 |
newbin src/lmp_serial lmp |
665 |
dobin tools/binary2txt |
666 |
# Don't forget to add header files of optional packages as they are added |
667 |
# to this ebuild. There may also be .mod files from Fortran based |
668 |
# packages. |
669 |
insinto "/usr/include/${PN}" |
670 |
doins -r src/*.h lib/meam/*.mod |
671 |
|
672 |
local LAMMPS_POTENTIALS="usr/share/${PN}/potentials" |
673 |
insinto "/${LAMMPS_POTENTIALS}" |
674 |
doins potentials/* |
675 |
echo "LAMMPS_POTENTIALS=${EROOT}${LAMMPS_POTENTIALS}" > 99lammps |
676 |
doenvd 99lammps |
677 |
|
678 |
if use examples; then |
679 |
local LAMMPS_EXAMPLES="/usr/share/${PN}/examples" |
680 |
insinto "${LAMMPS_EXAMPLES}" |
681 |
doins -r examples/* |
682 |
fi |
683 |
|
684 |
dodoc README |
685 |
if use doc; then |
686 |
dodoc doc/Manual.pdf |
687 |
dohtml -r doc/* |
688 |
fi |
689 |
} |