sci-physics/lammps: added new version.
authorNicolas Bock <nicolasbock@gentoo.org>
Sun, 12 Apr 2015 16:00:24 +0000 (16:00 +0000)
committerNicolas Bock <nicolasbock@gentoo.org>
Sun, 12 Apr 2015 16:00:24 +0000 (16:00 +0000)
Package-Manager: portage-2.2.14/cvs/Linux x86_64
Manifest-Sign-Key: 0xAC91CA52

sci-physics/lammps/ChangeLog
sci-physics/lammps/Manifest
sci-physics/lammps/lammps-20150403.ebuild [new file with mode: 0644]

index 1b07df8d7cc198fdeba7379f134430ad4642c6cb..3d6cf5e1b9ace6ed4dc96a9cfd82e4dd511fa220 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for sci-physics/lammps
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/ChangeLog,v 1.91 2015/04/11 20:43:19 nicolasbock Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/ChangeLog,v 1.92 2015/04/12 16:00:15 nicolasbock Exp $
+
+*lammps-20150403 (12 Apr 2015)
+
+  12 Apr 2015; Nicolas Bock <nicolasbock@gentoo.org> +lammps-20150403.ebuild:
+  sci-physics/lammps: added new version.
 
 *lammps-20150402 (11 Apr 2015)
 
index 5f15c8b87e089b974dca126ed0beaf484c1a65e2..a6b5ca8a964a13e0f511391bb291f8943867c8ec 100644 (file)
@@ -19,6 +19,7 @@ DIST lammps-29Mar15.tar.gz 63838616 SHA256 3f508c7ee1c2160f79c111817a20f381171c3
 DIST lammps-2Apr15.tar.gz 63842016 SHA256 fb715b9b1d5ecbe6d54fef11095871edebaa2a3b5368b8dc3b3cf03b0def2334 SHA512 aaef91656f955c712e2d838a4fd713427919076896fd4e5206b2479b35cd772e5098913148c44883d1c5b71535ea26f7c1213aac11a9291d7dacccc698c7b661 WHIRLPOOL ae4c51b23bcb48d21333507813c5c10381b49214670a202e909b53f55205c0fc34cb538f58b9e265f5550b22e3def64a0a087347bfdf638cd0aa04be1ce4c999
 DIST lammps-2Feb15.tar.gz 62843740 SHA256 34a385dde4e6c4436feaad9d188401a1616ba4fc41b4ff802a2af7cdc66a33ec SHA512 b8fc645ced67571857f89793113fe98eab5c9d44990de4ca9bd46ad3c88e1041986f1f71bc0cd9d5a917a27ba44ebee2e8f3eb0c68df7f9d4f11a2bb73b3d748 WHIRLPOOL ecfaa4f26b55597553b20e38824c1628a071508edb123813c57cc8c0660505a3aaa9012aab6adabdb7be0a7a180284430f773086669b020c226125848cd8aadf
 DIST lammps-30Oct14.tar.gz 59386701 SHA256 b99522370cb2ea3e55c63f401b2bafb0c98f6b28b9af76fb8339e9bd4a3ae205 SHA512 9b9952ec098c17abd9af085d546869a60ba421a380abcd0be3c425e3c1495394417bfee8d8097c99f54131e286a325d736e766e1ae7239bf45ca44c737611c2c WHIRLPOOL b8ad0078b883455cd7e8f06c0ad8f43eefe7d1c158af58baa42ad179154f09f68077d8fb31c22abccedf06daa344e4abb7f3edcc16d9e69e9d2c458f4fda1085
+DIST lammps-3Apr15.tar.gz 63845758 SHA256 5dff75416903e7d8d6ef02f8a5df2572950c415a1108c516c3b22bf502ecbc5b SHA512 ffcaf2479efe50f553a94134c2ba734da71e6c730572edcec192893bf0ddcf3c94241fd7e22eb2dc30cb495daa604b3208237721910500fb230dd574bc093da3 WHIRLPOOL 7c2ec5b6e760bfb51adbe66b75e3ac0668ba7f18e20279998cfb3e0116b6979dba3b0a965c5673e10601b55d312a510251aaf35f09341a6e20ed686b5158e5fa
 DIST lammps-3Feb15.tar.gz 62848209 SHA256 1520038071774fbe984d74e00d2e86ba778c65c28a99098dc5513230ef6c553f SHA512 4cdac7624e2fadf12a2db23f8f52eb4c31cf61b19e0ec53d9885ce24cb8fbfb9030dc66a468b99434aac569fa16b26010707956326ae7eaf91181cbcf7291134 WHIRLPOOL ff2843ac51359ecd3beb57fc60e98a3735901e489af32b8a6835e463878b26fd1c956ae9e90926d73730d60f103967b1d6517156e04dcfdc2d8b01775a0745a4
 DIST lammps-4Mar15.tar.gz 63497305 SHA256 80a5a18419c5e07c3c89f131edb1f5af59e3e7223b4f46346e48da3f42e3d40c SHA512 7932f1601aa22f43243c91d255e8c6a4ce6f401768ce2c78f22d82dd7d1f33025a1895e9a4436b2b5442f99dffbf1f746f284afe695cbf91f2529f42ec2e81fa WHIRLPOOL 55984c405853d3d8cd1bf73f33ffb0c4a5b6d342b682eb89975657b1e225addfc2d4a041891ce965135557ad771114967ae8756d7f18f93def1b6b2a4013225c
 DIST lammps-5Mar15.tar.gz 63506216 SHA256 19d7fdfa4fba34fb8fec8317e45d2daec0cd55290a4a576640c866acee4288ba SHA512 3d325cc3b451596fe87f15dbe640944752ab05687c86fa39e27a6eb3e990f6de772ea4d4d9abbd6cd6e9bd67965ad96c85e2469eeeac3258f5a29e1cdd48318a WHIRLPOOL 0e8de71e6544c12b83de7dae15a832481665e474c4f9231f23d49c71bb5c242b6411099bd05a0a16604384c6ca27533d56d442704bf4f45d4a1a99b9da40918c
@@ -47,16 +48,17 @@ EBUILD lammps-20150325.ebuild 5521 SHA256 503e9f3ec4f532b4eff9a0b6f2866ee603dd96
 EBUILD lammps-20150328.ebuild 5521 SHA256 2d9f2bc4a92b0e4feac0841e4f399287d6a9214672f8384fde3bb1e7067f5bba SHA512 655d3e7ba357e2a6f7dabf4be788fdc9ac08f0c60fe45583c66354bf2ce94473ffbe177c48a27cae000c757c65f46b8bf06285f047cf3a1a40f42d83bd0cc186 WHIRLPOOL 3b3fcbb70fb18e779ff2befc512504b898fcafd8f03570fef47fc5023b223906da2cc658a8eb631951b51f4418aaa74c074e139150212c78e08c15bb11dd9eaf
 EBUILD lammps-20150329.ebuild 5521 SHA256 df3a7f71ac4859491e06af4612e01de0e99593de35b46787b442b281381a6e68 SHA512 c0c1d2e173f5ee6251b57f49ea0a85eb0850bb8147635c2f6fdedc503df90c1b59f04bf1c3712737941e37c9c7ea273276809053d49af280a532f2a799804125 WHIRLPOOL 76eb92953a39c8759d7b1dcf237e9cbdced56d9a95388dc2dd56a74bf83100b5e39d56cbc1993e404e3f9c357104ae768481b4ec973a4f3ea8388d4bcd0d5837
 EBUILD lammps-20150402.ebuild 5521 SHA256 1de0818c7362674917a09b51cb7a4456194f49c0fb392b2f65dd9e5864248481 SHA512 b5e53c3a00af57556b8a9c9924c93265c09818dba89530ef73eb78716b96972f0c040ee987763de916c58bd07dd49df43618494e8b06ffdca965bb88cc9da72a WHIRLPOOL 2cb4e79ec1c04ae27ff4dfa2a7c215dae9235ba6577d95411d25bcc7cf7e47a98eab760bb3ef5462d0693b1f7f3ea0ef536c2a5cebae2296e791d1ccf5ab96de
-MISC ChangeLog 15560 SHA256 ecbca28af726a3c13745c74a3c5c2350b7f5d2bf5beedfbe85d8e28c96df9bf8 SHA512 2681598d7f82e6175054229752353dc08e4e7dbe274716ffdb2326c5ec11923bd292a4f262243ec2f46617d1aca4fda8177ad484651f7909243ce6499f5c4b25 WHIRLPOOL 9b26b9b1e80f85580586e0cfb819aeaf23d20fe0111687e43bc76c2068bac49534ce15e46d1a3f89669a0841ca86ece2d57009622dcbcf945ccd2025716a335b
+EBUILD lammps-20150403.ebuild 5639 SHA256 009c0165f643c9ff35da312848abd88081043e31b38ecfed47bd428421bdd58b SHA512 bdef1ebc0d38426960f2935a11a437ff18997e750d880b2d421616092df60512223d086aec67206a1c3ae6c0605e92bca1aab12ad81f049e03a2615c450c6ab1 WHIRLPOOL bbb10a5b797453c61a76dcc898457d07357c3fcc42abf02c21a0a45adf4bcf0645d7157666a4aecd30c5d670cc774623f06e94ef0a07a2123952a30b90587ec8
+MISC ChangeLog 15712 SHA256 52116b2b859164696822d72f5e3df7cc08bdb971a518d4248dcec4a0f1a1de2d SHA512 05beaa9e60e1e4af80f982022895f5205693ca7109ce9019283d2c168a4307034d65c3a10feb622b289df82d9f8ce7957489135484cbf7d33a6a8c70f0ff00c1 WHIRLPOOL 9b35272fb2554a51d46801064ceb348944f6bed381d8262a3f13dafc1e39ace326882a5208085114d53d2b9204e1641113479110ac9442fa17ffbaba1ae51aac
 MISC metadata.xml 1104 SHA256 cd019e3b907b935374e9818167b4a9c406d938cf132b6656a7aed15fb8070d4c SHA512 9fa9919de32eb24c720fecbb449112b997e331b4ecb37aba8cdfcf90bc832e00ff8deef570f8eb92341f8c82b90787d65befa9ebeacb904abb467b8f3e1c5054 WHIRLPOOL 88fbd760afe74c12310ed3417e8c6d242b282bc78fee612b1c0c1dd1532ec9253f7b5134a9fb8f463f9fe469ce1d5fada43b97b348c221c84869907cfc0dd37e
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iQEcBAEBCAAGBQJVKYdvAAoJEF1ww0n44d9NYQYH/Au18Of0IL/85AieCwjzn7IS
-0nM48q6C2IOZwylC37tV/idUFCXzQ7ySdJBUvUqbG6YPEGrdDlCP4w2ZZqisfrS7
-+ag0ow6ZRrDihi8IJIKfABVrpVNkp7cVlqCEFVZS/pyeXtlKcggxpcxyqoqOxSoc
-vRJieSksHf6wp1NiqKVcYh+2rZmgdSBLT/uXz/5iR9pWHoh539n9vsnLIg3tDgqM
-09ABdqxXEBhR8ht0PKx63bmmVSo6mYF067fIK+YM6iDtVkFptOA3eN/aocXNsLh6
-8vyvKGmtkVU1WCAx7X1o0eifmD+rM7tF8edwjjd7CatSOiGWebC0c4TVVa6oLrM=
-=wFds
+iQEcBAEBCAAGBQJVKpaXAAoJEF1ww0n44d9NMI4H/2XsVNlJjZWtrCrkXgo5bjLn
+IGZY/i6YHViNvFQF4fz1rLOrUVgePPOiVm3sitTmTeus4W/ag35GITvUE418Qp4B
+an3rUReMHnfd+lCKKVpMMS9LxYIP0G+gLREcrFzHE1p164yX+PRwnib3aANp8Tcp
+jajxxwbN8jGIFr5UP05obZJRpWuRDIMBGfMJLIenKFiNzfRrJiNhb2Jm/hprmEri
+Uw6SuZqewE1SpQgYej706GOidL+HnrhjVDecvFKm4K+QQdThDRYISikOHcQkV1Wg
+A0h3BFZRRRczlrI6gBDWrz6dQdoDMMGK9UrHjpVKJYtMMJXYGXwPty0llEXxTzk=
+=Gs/9
 -----END PGP SIGNATURE-----
diff --git a/sci-physics/lammps/lammps-20150403.ebuild b/sci-physics/lammps/lammps-20150403.ebuild
new file mode 100644 (file)
index 0000000..6a2ca9d
--- /dev/null
@@ -0,0 +1,228 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/lammps-20150403.ebuild,v 1.1 2015/04/12 16:00:15 nicolasbock Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic fortran-2 multilib python-r1
+
+convert_month() {
+       case $1 in
+               01) echo Jan
+                       ;;
+               02) echo Feb
+                       ;;
+               03) echo Mar
+                       ;;
+               04) echo Apr
+                       ;;
+               05) echo May
+                       ;;
+               06) echo Jun
+                       ;;
+               07) echo Jul
+                       ;;
+               08) echo Aug
+                       ;;
+               09) echo Sep
+                       ;;
+               10) echo Oct
+                       ;;
+               11) echo Nov
+                       ;;
+               12) echo Dec
+                       ;;
+               *)  echo unknown
+                       ;;
+       esac
+}
+
+MY_P=${PN}-$((10#${PV:6:2}))$(convert_month ${PV:4:2})${PV:2:2}
+
+DESCRIPTION="Large-scale Atomic/Molecular Massively Parallel Simulator"
+HOMEPAGE="http://lammps.sandia.gov/"
+SRC_URI="http://lammps.sandia.gov/tars/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples gzip lammps-memalign mpi python static-libs"
+
+DEPEND="
+       mpi? (
+               virtual/blas
+               virtual/lapack
+               virtual/mpi
+       )
+       gzip? ( app-arch/gzip )
+       sci-libs/voro++
+       python? ( ${PYTHON_DEPS} )
+       "
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+lmp_emake() {
+       local LAMMPS_INCLUDEFLAGS
+       LAMMPS_INCLUDEFLAGS="$(usex gzip '-DLAMMPS_GZIP' '')"
+       LAMMPS_INCLUDEFLAGS+="$(usex lammps-memalign ' -DLAMMPS_MEMALIGN' '')"
+
+       # The lammps makefile uses CC to indicate the C++ compiler.
+       emake \
+               ARCHIVE=$(tc-getAR) \
+               CC=$(usex mpi "mpic++" "$(tc-getCXX)") \
+               F90=$(usex mpi "mpif90" "$(tc-getFC)") \
+               LINK=$(usex mpi "mpic++" "$(tc-getCXX)") \
+               CCFLAGS="${CXXFLAGS}" \
+               F90FLAGS="${FCFLAGS}" \
+               LINKFLAGS="${LDFLAGS}" \
+               LMP_INC="${LAMMPS_INCLUDEFLAGS}" \
+               MPI_INC=$(usex mpi "" "-I../STUBS") \
+               MPI_PATH=$(usex mpi "" "-L../STUBS") \
+               MPI_LIB=$(usex mpi "" "-lmpi_stubs") \
+               user-atc_SYSLIB="$(usex mpi "$($(tc-getPKG_CONFIG) --libs blas) $($(tc-getPKG_CONFIG) --libs lapack)" '')"\
+               "$@"
+}
+
+lmp_configure() {
+       # Compile stubs for serial version.
+       use mpi || lmp_emake -C src mpi-stubs
+
+       # Build packages
+       emake -C src yes-asphere
+       emake -C src yes-body
+       emake -C src yes-class2
+       emake -C src yes-colloid
+       emake -C src yes-coreshell
+       emake -C src yes-dipole
+       emake -C src yes-fld
+       #emake -C src yes-gpu
+       emake -C src yes-granular
+       # Need OpenKIM external dependency.
+       #emake -C src yes-kim
+       # Need Kokkos external dependency.
+       #emake -C src yes-kokkos
+       emake -C src yes-kspace
+       emake -C src yes-manybody
+       emake -C src yes-mc
+       lmp_emake -C src yes-meam
+       lmp_emake -j1 -C lib/meam -f Makefile.gfortran
+       emake -C src yes-misc
+       emake -C src yes-molecule
+       #emake -C src yes-mpiio
+       emake -C src yes-opt
+       emake -C src yes-peri
+       emake -C src yes-poems
+       lmp_emake -C lib/poems -f Makefile.g++
+       emake -C src yes-qeq
+       emake -C src yes-reax
+       lmp_emake -j1 -C lib/reax -f Makefile.gfortran
+       emake -C src yes-replica
+       emake -C src yes-rigid
+       emake -C src yes-shock
+       emake -C src yes-snap
+       emake -C src yes-srd
+       emake -C src yes-voronoi
+       emake -C src yes-xtc
+
+       if use mpi; then
+               emake -C src yes-user-atc
+               lmp_emake -C lib/atc -f Makefile.g++
+       fi
+       emake -C src yes-user-eff
+       emake -C src yes-user-fep
+       use mpi && emake -C src yes-user-lb
+       emake -C src yes-user-phonon
+       emake -C src yes-user-sph
+}
+
+src_prepare() {
+       # Fix inconsistent use of SHFLAGS.
+       sed -i \
+               -e 's:voronoi_SYSINC\s\+=.*$:voronoi_SYSINC = -I/usr/include/voro++:' \
+               -e 's:voronoi_SYSPATH\s\+=.*$:voronoi_SYSPATH =:' \
+               lib/voronoi/Makefile.lammps || die
+
+       # Fix missing .so name.
+       sed -i \
+               -e 's:SHLIBFLAGS\s\+=\s\+:SHLIBFLAGS = -Wl,-soname,liblammps.so.0 :' \
+               src/MAKE/Makefile.serial || die
+
+       # Fix makefile in tools.
+       sed -i \
+               -e 's:g++:$(CXX) $(CXXFLAGS):' \
+               -e 's:gcc:$(CC) $(CCFLAGS):' \
+               -e 's:ifort:$(FC) $(FCFLAGS):' \
+               tools/Makefile || die
+
+       # Add a python shebang.
+       epatch "${FILESDIR}/python-shebang.patch"
+}
+
+src_compile() {
+       # The build system does not rebuild the packages with -fPIC.
+       append-cxxflags -fPIC -I../../src
+       append-fflags -fPIC
+
+       # Acticate packages.
+       lmp_configure
+
+       if use static-libs; then
+               # Build static library.
+               lmp_emake -C src mode=lib serial
+       fi
+
+       # Build shared library.
+       lmp_emake -C src mode=shlib serial
+
+       # Compile main executable. The shared library is always built, and
+       # mode=shexe is simply a way to re-use the object files built in the
+       # "shlib" step when linking the executable. The executable is not actually
+       # using the shared library.
+       lmp_emake -C src mode=shexe serial
+
+       # Compile tools.
+       emake -C tools binary2txt chain data2xmovie micelle2d
+}
+
+src_install() {
+       use static-libs && newlib.a src/liblammps_serial.a liblammps.a
+       newlib.so src/liblammps_serial.so liblammps.so.0.0.0
+       dosym liblammps.so.0.0.0 /usr/$(get_libdir)/liblammps.so
+       dosym liblammps.so.0.0.0 /usr/$(get_libdir)/liblammps.so.0
+       newbin src/lmp_serial lmp
+       dobin tools/binary2txt
+       dobin tools/chain
+       dobin tools/data2xmovie
+       dobin tools/micelle2d
+       # Don't forget to add header files of optional packages as they are added
+       # to this ebuild. There may also be .mod files from Fortran based
+       # packages.
+       insinto "/usr/include/${PN}"
+       doins -r src/*.h lib/meam/*.mod
+
+       local LAMMPS_POTENTIALS="usr/share/${PN}/potentials"
+       insinto "/${LAMMPS_POTENTIALS}"
+       doins potentials/*
+       echo "LAMMPS_POTENTIALS=${EROOT}${LAMMPS_POTENTIALS}" > 99lammps
+       doenvd 99lammps
+
+       # Install python script.
+       use python && python_foreach_impl python_domodule python/lammps.py
+
+       if use examples; then
+               local LAMMPS_EXAMPLES="/usr/share/${PN}/examples"
+               insinto "${LAMMPS_EXAMPLES}"
+               doins -r examples/*
+       fi
+
+       dodoc README
+       if use doc; then
+               dodoc doc/Manual.pdf
+               dohtml -r doc/*
+       fi
+}