From d7e81bd9b3f134bb01a4f906f1560bcf9cad3441 Mon Sep 17 00:00:00 2001 From: Nicolas Bock Date: Tue, 30 Dec 2014 20:47:56 +0000 Subject: [PATCH] sci-physics/lammps: Adding new versions. Package-Manager: portage-2.2.14/cvs/Linux x86_64 Manifest-Sign-Key: 0xAC91CA52 --- sci-physics/lammps/ChangeLog | 10 +- sci-physics/lammps/Manifest | 24 ++- sci-physics/lammps/lammps-20141217.ebuild | 206 ++++++++++++++++++++++ sci-physics/lammps/lammps-20141219.ebuild | 206 ++++++++++++++++++++++ sci-physics/lammps/lammps-20141222.ebuild | 206 ++++++++++++++++++++++ 5 files changed, 637 insertions(+), 15 deletions(-) create mode 100644 sci-physics/lammps/lammps-20141217.ebuild create mode 100644 sci-physics/lammps/lammps-20141219.ebuild create mode 100644 sci-physics/lammps/lammps-20141222.ebuild diff --git a/sci-physics/lammps/ChangeLog b/sci-physics/lammps/ChangeLog index 2bce32f4d6aa..93751cb4ed00 100644 --- a/sci-physics/lammps/ChangeLog +++ b/sci-physics/lammps/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sci-physics/lammps # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/ChangeLog,v 1.55 2014/12/28 10:13:27 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/ChangeLog,v 1.56 2014/12/30 20:47:51 nicolasbock Exp $ + +*lammps-20141222 (30 Dec 2014) +*lammps-20141217 (30 Dec 2014) +*lammps-20141219 (30 Dec 2014) + + 30 Dec 2014; Nicolas Bock +lammps-20141217.ebuild, + +lammps-20141219.ebuild, +lammps-20141222.ebuild: + sci-physics/lammps: Adding new versions. 28 Dec 2014; Agostino Sarubbo lammps-20140905.ebuild: Stable for x86, wrt bug #532662 diff --git a/sci-physics/lammps/Manifest b/sci-physics/lammps/Manifest index b025aad3e214..b29a40d02aa5 100644 --- a/sci-physics/lammps/Manifest +++ b/sci-physics/lammps/Manifest @@ -4,8 +4,11 @@ Hash: SHA256 DIST lammps-11Jul14.tar.gz 64634749 SHA256 05a9af6fae3f27e41ee776fb3c306a07c2f80b953770fa1ccbd36bbbb6991283 SHA512 6951d9af5d1f77f3160ba13ed70bb1ff71d1f8da0716b784b3e3cf010eb8b9ee68ac49befe4602771bbb4a473fd531f07568d922e0bbff97d4193f9e8c0ea793 WHIRLPOOL f1b814171e81898f7138b6116d4bddedfdccc0a956d11184fb64c82722905a28a97420c19b65edef488915ce956479b0ba255767b45f2f70c53e5674ee6e3744 DIST lammps-14Jun14.tar.gz 64597109 SHA256 cf7d492862c7bbb1865631b8abce34ea8b5edac17a573c8924c4f9b885fccac3 SHA512 fb0d5d58c1abd402d0aa311156f023af9579793b6606f5c449f5bf0b298dc77a0c68198dc2898d9d8f0f84b24bd84fec3d60b1549d60446152b9e18d5f217608 WHIRLPOOL 7336cb8f57aa856ae7b8ca77bbdfb78df9c2a4fd229f58884c302e88dd75aa53c567c22fbdc8c87af032df264dbdd222d23143b23ba5a84dd8e94f5a7a260838 DIST lammps-15Aug14.tar.gz 65114807 SHA256 de4ad0c90c43c234fb5c4efa179122acdecb5dba6834ec6e42fa7a237ae767c0 SHA512 af61d517ae707ce53f670ec924bb8a55b6e1c2ed67c5343e84696116c2f9d0f716ac5841618600b466462b68fb24e0129e41febbeddd87c68d7672547de3fa9e WHIRLPOOL 0658cdcda382693278b1dc029a59e5fbdda0c4bae43183799486c8c1d85989e509ed7eee9574a862d2fbcb7f533cb718a5f08a23dd4371c41c96296dd7ecc586 +DIST lammps-17Dec14.tar.gz 61474385 SHA256 5631dec2c446d47a1781b774ee9a41306156190991e8c3f0dfc8905b7070012d SHA512 765c2be9d62c39c498d04ca1faa6f1aca07ea03e298828f1ecd311da16c30553d4663aa4bb57898bff55a941e432ceb35ed9df3458c93cb1906de8aa8bc508e4 WHIRLPOOL 5023d5f2813dfda4be8a154e31f379e2f410cc7fe2a6d98ef084f0776303e3c367d8781759fdb05106ab026e0b3484221658c121d98939a3d9ccd68e39719abe +DIST lammps-19Dec14.tar.gz 61848823 SHA256 921cc084c7f5c3764548dd282c882aca8320a5e3e3f215fabb92dfd0d67e6d4f SHA512 43cdcdb644a212bee5906686022dae70c996c82c693a0e358b9989415d652894a974c528ed2b750c2ef11fca21d6d6ddc240bcb6c1031503cf1b7bc284a46ac6 WHIRLPOOL cdaa5e785c27fcd5b86d7b3d44e4d2995040cf94864da455aad0101286583cb9924c1b2c69a77bb170b3357c1e74088e359982acef3da50376c9fc5961ddb8e6 DIST lammps-1Feb14.tar.gz 57811478 SHA256 2d01ca4f2c52c18a9a95866f558b3f3857b22662415cb44fa16a5be4dd5bfe44 SHA512 aa84766d19d7f9f753792d6c3a9ba9b37faa671b4ae06ae89be6d3485a064326c79dc351cb784e6a03f5e4e046885a791274a64899ef117dd395e583eac13f3c WHIRLPOOL 4921525762c5842fe7bb96420db26553bf2ea3d91bfda52d2a9fad57f205487fe772c878d83e5b4ae146507e3a90509a4ff0b5628ebfda9a5dde82b8b3a95b3b DIST lammps-21Oct14.tar.gz 58596371 SHA256 58ed8d560246a5bf48a681c156113d7746c654cac85e9aa9e10fff6bf38fa99e SHA512 0a10267089292530cc1c9895b0b9e1a2cba403a1b1f7e8ff20dea7a2921739c7d5042bae28bca5f1312b9dc1ab03170b1d5dd9141a3ff7d98507aa0e22d42b3c WHIRLPOOL 711376ca17e4cf6ae6a9a98d386a5970777b9b03dfac60087cd7c10d92a0c6e05996709a253f72936c5e14b465ccec2dedaa1aa6bcb07930be75213700e531f0 +DIST lammps-22Dec14.tar.gz 61849416 SHA256 5af96596829fe5cd0a4b8663a98578de02df7f4b792ac8ead0ffd4055b6504b0 SHA512 2924320d6dd0eb3770dd5475d5df9876238c3f087e20d871d3ab2ff2fb778423b49873d8a37c0281872d3c4224839563b62de8551dbad94613542081dc721bc4 WHIRLPOOL 5959e13346edd49aa4d05f51c9c3eaf0dc476eacb25e64aa46436540e37d298695db11bd9536bbbddbac63bdf9994c463a06510dfe3232585147665d14ddff3e DIST lammps-23Nov14.tar.gz 59427460 SHA256 1b106ac3d679f1441dbba6fedd71e3740142a2845eb55b368e903b23c25801eb SHA512 5745576d64cde0a1fe42c3d79f36d708d46eae88ee6ab34601291845d4cce073460d4b68f617b32bfd099406fcbff31e7c25e6825b5efa9f08d051b23742714e WHIRLPOOL 20ed10717fa0590367dc6a01ddc63a48202376ca452d6235c49e617e127bbef456dc00cff960567ff90b5a0e32993a38ce6c0a218e516bbdcdf923050e2b5fd6 DIST lammps-24Nov14.tar.gz 60502342 SHA256 e50384847ce1a4cfe217157f59e34f66c44b988d5d4dbabac5d2afeaea3bdb35 SHA512 13e64fa8f954fdf5c8167a4b74ee4086747426a2969c6d31ff9b853f24b67eb5810943cb9bc5f9f8bb4aebdffa12485697b2818f404529743d63e6f876d6d339 WHIRLPOOL fb885311beac1fc731f72117936b9a64a8c8ab0f89dc38a2462ff970a52ee7c897c66da71c30aa7e25e7f2b007e79d7ebb0175c934ade0a76eb6e56a5374e925 DIST lammps-25Sep14.tar.gz 65394390 SHA256 bb1fecc9f66f2cd2ca235058edaff135250a5468d945572d4f21744fa6b88df8 SHA512 b23ecc8cd5c33f19ea5cc0227f627b785f68fa1df9419276ae1a94dd9eb758ab8505e5413a59549e4923205231f5aa539d18626343d3d1e726b401654a6bd4be WHIRLPOOL 0b382266f5096e70410971174ed3bdf1b18d0d858d18f5997dea8a66d9f3de069f630d0802f27b2ab1ca20fbe8ea0fe529362d169cb0cca823869fba3a73357f @@ -34,22 +37,15 @@ EBUILD lammps-20141123.ebuild 4955 SHA256 3ee3615deb34393976b299b7a70ba4e00ad10b EBUILD lammps-20141124.ebuild 4955 SHA256 4272a898598387dcb3692701e51bc709133f2324da3b3789b9c11ea6015aa782 SHA512 1804e6962ac798d4ef5c69dbf56c8e40bc348c48ca56cc77aa84ef585fe6577bfbc6534fc3e22a810f8dbd9287bc58248f90de392135a86a7ea57bd788488465 WHIRLPOOL c96805021841b8308f2113664eefb159180b49d9fc6118a39c3f447cf9b1cfc962ef9d49c6ab043b04aad58d96add6cb37b6c74363c33039dd92da48e738462a EBUILD lammps-20141126.ebuild 4955 SHA256 9d47f94b18c5c1c464b4b97cae6d0dfc5d16559abb2bf7de26038fd3a32ccfba SHA512 f19decfc3e9d9cbd050e7275f4f60a657b950417743b4bffb8cfb182e4b3d2c89576f3c787c0b9663e0ad07da828de89855d88a12c9d8c92bc5f8560f72c21ba WHIRLPOOL 85d23f5e3356824ec520d9fe6bcc38620a5f92632cb6eaf6aa8094d5d558aa495c4881962cce176353b93c80b63cb61874170afc71f5d00d8efe04f460db0725 EBUILD lammps-20141209.ebuild 4955 SHA256 adc05bc66b73d56f83e0778c37055fce2f1eec537f48fa234337df7ffa7acd77 SHA512 f69c66c7bcaddd49b74e682eb160e2ac75a192593694415fe3bda01fbc4649c706a8b47f9ee36251ad0e71d1e75bd109f846047fc9f6ff76fabfdfc76a39d1a2 WHIRLPOOL 7402b164d3ce9e7be1a111d6c4f096b0c55dee5da3c8a7bb03a4beee3df6b11199fbce1ebb102e9a99321343bc3ae6dcd976f0dc5bf511795a010bfcb0536f4a -MISC ChangeLog 9468 SHA256 94ec9f9668f89e453581aa1576ef533a8f61de37bb5c42993b139f64229756f2 SHA512 84d5ad0cbbded796ddbc7a57c3458636066e14d8c84e793c28ebc607ec4ea43596077407749dfc904a108dd3f555d02977f61c3078dbfdbdd40f4c719060d828 WHIRLPOOL ef30dd14106aa0fa62bad821ab1415b4bd1adf5d27030a62601924d084ef36d845608a706303a72e103aeb04d5147f874aa14eaff942bcb17b07c5f98416b4cf +EBUILD lammps-20141217.ebuild 4955 SHA256 a87222b95f037d57f427fdb84ed06cab1a738e10f499a5c00efb7676fca50bdd SHA512 ee02bcb295b511ccd5c35721deeb192ebc91df31f0b8ad2d2197bc7a4cf4b3ef0ab6b17c52a836597376a8b338b5c333ea3ada344172d56dd1da4c9fb9d7cc4e WHIRLPOOL da96f5c29da8ea906533dfe9e8ac34d0ae6456257a6ce81c34682a6d5a449f3571df3357fec1393761ad746e4614f057439a000a9dc3e9a4a0976cd14a1678f9 +EBUILD lammps-20141219.ebuild 4955 SHA256 343767488635502402ec6f44b069e4f2b9746ff2b61bf1a6051b0e6a6999fb41 SHA512 d3942096585412b187b329e637e8c8cbcf500fb699020db08598820f23cfe2da43de699385adcf572f23d0e2deff6849c2e8e828095517d67ef01e5958805c1c WHIRLPOOL 8f294badfe45061d90f4e1223b5d04d6991092a1e55ed26e74d426488ad9dbcdd326e0758450727c534efffcfb6265c0b605abddec59a0a72df681e63d0f2911 +EBUILD lammps-20141222.ebuild 4955 SHA256 785ee74c02bc925d3ec6413b1c44b9a4794ebc6c8adc8e4aa83157dec1b940ec SHA512 303427ce5bea454843e4be72db7fab7f1909e787e7e287a47d31049ed22a3119661cc1102e40bc2a0e017f920f67e828a3c8423abfb2fe4c1c16dc14931cd52c WHIRLPOOL 476ee1bb71e8dbd7692365d7789ebff9e8131cb41b47527d4b53c9ce331b3e2794d64335e5b93b861a610c3dd2c1d1cd6b595aee4bcd676187caa3d75677b2ac +MISC ChangeLog 9744 SHA256 b6b31e66c933e1c4f96eb383414ab7fa8148cea18a9766b63ded22c2e6304d47 SHA512 54b905bed63216b30d278964e16c95a9fa064910b87d214e12f6e0db03ed78af62e6bc92473cdd6a4469d9ed00cec326472bae64f93b10fb0ca703fbf877a226 WHIRLPOOL 44c993be6fdb064d6cc1f23190080d290b92c4e3ab9f644b3655290e2d01610dce06457d780b2157e570b2512843613cdc08dfe885627d00177250697a69a5d3 MISC metadata.xml 1271 SHA256 2de96e89797d150bffc7933de76da6d8bd24619c475e71286c5fb05637d97f0a SHA512 ce273d9f6f947f976ad008187dce9e5efe62f20a521ac7c0eb23550ef8cdcc2a1e61084e55466c84c77cd8d98eb39cac857057bd82ab9c9537d9cdb1c66d19d1 WHIRLPOOL 8177b79250dc0ad4759c0790111671457a91f9bac4bf21e0bbef3001abb558dfa70dcac45bcfef388c7377c1595854f9729d5881b64d4f699d6664407fc8696c -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iQIcBAEBCAAGBQJUn9fIAAoJELp701BxlEWfNwIP/3L5Ys1lJ3wUZrjHV2k2pWL7 -d3dE0CtuB6nk/cQP5ZU7KrycWLurNlKsCYAJAYCYbF+L8ozAHAZMqi1h2TZwxNZF -YsRxbmNPjT9f6MD72ANz4CB4CkATFsbTew4GkK0vL8qU47HQLr8V8ucFm5h0YmSe -oC27FGB1Idc/ZRpf52ZMtpG8el4YbqEBBPmF/UmLDiZ3lVypI4DEsoQz4kcu/9Q0 -Jp2qvCtT1gL8r+rbBmwnfZNE2JF/I5+b0BVTX9RYJUccasGs8gky65JeH2OXpYoe -ZS8LECHRU9C0TOUoyQrD+A7IgMuQwj1ZPr9BJ7owz9Yu6BudJNl5NElFIirPB9ak -XCV4HLeebb0Q7LTcqtWp49mxLVSz4yPrFOway/hCun98J9066zGHehJIj0dydyZR -IFOlm5U9RfxZuSG7yHs9YdvNeVcPZ8Kqh52XBuztY0n+LHRlhuIMlZEGl4PqxwYm -vcFzafdhoBDmSiIfiDQ/a3c9iH2omVW5ULruXXssnL3b+Kz2EPPoXWm1dzI6a1tm -imJhhkOKNWPjrNbHRzuLn3ekW93+mlibTtGVvWwfOMKKlYSqCi1jmhOOHtIMtGuT -HF6StJDlf4HO6KtW0hhIjnEw39NRjpN6dRfS15abjUiNwMSFMB34IXaaSu/U4rQ8 -YQe+RMSZJ7lBeMntQXAK -=3sku +iEYEAREIAAYFAlSjD3sACgkQf15tZKyRylK9NwCgjuGgFN3TQIavdtEaGQhcVZ34 +TAMAoO/NilYL9zhTijiKkQvxKyHCWNGa +=yAWU -----END PGP SIGNATURE----- diff --git a/sci-physics/lammps/lammps-20141217.ebuild b/sci-physics/lammps/lammps-20141217.ebuild new file mode 100644 index 000000000000..fd23f57d7c85 --- /dev/null +++ b/sci-physics/lammps/lammps-20141217.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/lammps-20141217.ebuild,v 1.1 2014/12/30 20:47:51 nicolasbock Exp $ + +EAPI=5 + +inherit eutils flag-o-matic fortran-2 multilib + +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 static-libs" + +DEPEND=" + mpi? ( + virtual/blas + virtual/lapack + virtual/mpi + ) + sci-libs/voro++ + " +RDEPEND="${DEPEND}" + +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)" '')"\ + "$@" +} + +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 =:' \ + src/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 +} + +src_compile() { + # Prepare compiler flags. + append-cxxflags -fPIC -I../../src + append-fflags -fPIC + + # Compile stubs for serial version. + use mpi || lmp_emake -C src 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-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-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 + + 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 + + if use mpi; then + emake -C src yes-user-atc + lmp_emake -C lib/atc -f Makefile.g++ + fi + + if use static-libs; then + # Build static library. + lmp_emake -C src makelib + lmp_emake -C src -f Makefile.lib serial + fi + + # Build shared library. + lmp_emake -C src makeshlib + lmp_emake -C src -f Makefile.shlib serial + + # Compile main executable. + lmp_emake -C src serial + + # Compile tools. + emake -C tools binary2txt chain micelle2d data2xmovie +} + +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 + # 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 + + 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 +} diff --git a/sci-physics/lammps/lammps-20141219.ebuild b/sci-physics/lammps/lammps-20141219.ebuild new file mode 100644 index 000000000000..03622f1e04ab --- /dev/null +++ b/sci-physics/lammps/lammps-20141219.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/lammps-20141219.ebuild,v 1.1 2014/12/30 20:47:51 nicolasbock Exp $ + +EAPI=5 + +inherit eutils flag-o-matic fortran-2 multilib + +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 static-libs" + +DEPEND=" + mpi? ( + virtual/blas + virtual/lapack + virtual/mpi + ) + sci-libs/voro++ + " +RDEPEND="${DEPEND}" + +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)" '')"\ + "$@" +} + +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 =:' \ + src/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 +} + +src_compile() { + # Prepare compiler flags. + append-cxxflags -fPIC -I../../src + append-fflags -fPIC + + # Compile stubs for serial version. + use mpi || lmp_emake -C src 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-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-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 + + 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 + + if use mpi; then + emake -C src yes-user-atc + lmp_emake -C lib/atc -f Makefile.g++ + fi + + if use static-libs; then + # Build static library. + lmp_emake -C src makelib + lmp_emake -C src -f Makefile.lib serial + fi + + # Build shared library. + lmp_emake -C src makeshlib + lmp_emake -C src -f Makefile.shlib serial + + # Compile main executable. + lmp_emake -C src serial + + # Compile tools. + emake -C tools binary2txt chain micelle2d data2xmovie +} + +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 + # 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 + + 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 +} diff --git a/sci-physics/lammps/lammps-20141222.ebuild b/sci-physics/lammps/lammps-20141222.ebuild new file mode 100644 index 000000000000..7164b3712345 --- /dev/null +++ b/sci-physics/lammps/lammps-20141222.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-physics/lammps/lammps-20141222.ebuild,v 1.1 2014/12/30 20:47:51 nicolasbock Exp $ + +EAPI=5 + +inherit eutils flag-o-matic fortran-2 multilib + +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 static-libs" + +DEPEND=" + mpi? ( + virtual/blas + virtual/lapack + virtual/mpi + ) + sci-libs/voro++ + " +RDEPEND="${DEPEND}" + +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)" '')"\ + "$@" +} + +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 =:' \ + src/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 +} + +src_compile() { + # Prepare compiler flags. + append-cxxflags -fPIC -I../../src + append-fflags -fPIC + + # Compile stubs for serial version. + use mpi || lmp_emake -C src 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-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-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 + + 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 + + if use mpi; then + emake -C src yes-user-atc + lmp_emake -C lib/atc -f Makefile.g++ + fi + + if use static-libs; then + # Build static library. + lmp_emake -C src makelib + lmp_emake -C src -f Makefile.lib serial + fi + + # Build shared library. + lmp_emake -C src makeshlib + lmp_emake -C src -f Makefile.shlib serial + + # Compile main executable. + lmp_emake -C src serial + + # Compile tools. + emake -C tools binary2txt chain micelle2d data2xmovie +} + +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 + # 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 + + 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 +} -- 2.26.2