dev-perl/Test-MockModule: Add ~sh keyword wrt bug #690140
[gentoo.git] / sci-physics / lammps / lammps-20180308.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 PYTHON_COMPAT=( python{2_7,3_5,3_6} )
7
8 inherit cmake-utils fortran-2 python-r1
9
10 convert_month() {
11         local months=( "" Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec )
12         echo ${months[${1#0}]}
13 }
14
15 MY_PV="patch_$((10#${PV:6:2}))$(convert_month ${PV:4:2})${PV:0:4}"
16 MY_P="${PN}-${MY_PV}"
17
18 DESCRIPTION="Large-scale Atomic/Molecular Massively Parallel Simulator"
19 HOMEPAGE="https://lammps.sandia.gov/"
20 SRC_URI="https://github.com/lammps/lammps/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
21
22 LICENSE="GPL-2"
23 SLOT="0"
24 KEYWORDS="~amd64 ~x86"
25 IUSE="cuda examples gzip lammps-memalign mpi netcdf python test"
26
27 DEPEND="
28         app-arch/gzip
29         media-libs/libpng:0
30         sys-libs/zlib
31         mpi? (
32                 virtual/mpi
33                 sci-libs/hdf5[mpi]
34         )
35         python? ( ${PYTHON_DEPS} )
36         sci-libs/voro++
37         virtual/blas
38         virtual/lapack
39         sci-libs/fftw:3.0
40         netcdf? ( sci-libs/netcdf )
41         cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1 )
42         dev-cpp/eigen:3
43         "
44 RDEPEND="${DEPEND}"
45
46 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
47
48 S="${WORKDIR}/${MY_P}/cmake"
49
50 src_configure() {
51         local mycmakeargs=(
52             -DBUILD_SHARED_LIBS=ON
53                 -DENABLE_MPI=$(usex mpi)
54                 -DENABLE_GPU=$(usex cuda)
55                 -DENABLE_TESTING=$(usex test)
56                 -DENABLE_ASPHERE=ON
57                 -DENABLE_BODY=ON
58                 -DENABLE_CLASS2=ON
59                 -DENABLE_COLLOID=ON
60                 -DENABLE_COMPRESS=ON
61                 -DENABLE_CORESHELL=ON
62                 -DENABLE_DIPOLE=ON
63                 -DENABLE_GRANULAR=ON
64                 -DENABLE_KSPACE=ON
65                 -DFFT=FFTW3
66                 -DENABLE_MANYBODY=ON
67                 -DENABLE_MC=ON
68                 -DENABLE_MEAM=ON
69                 -DENABLE_MISC=ON
70                 -DLAMMPS_XDR=ON #630444
71                 -DENABLE_MOLECULE=ON
72                 -DENABLE_PERI=ON
73                 -DENABLE_QEQ=ON
74                 -DENABLE_REAX=ON
75                 -DENABLE_REPLICA=ON
76                 -DENABLE_RIGID=ON
77                 -DENABLE_SHOCK=ON
78                 -DENABLE_SNAP=ON
79                 -DENABLE_SRD=ON
80                 -DENABLE_PYTHON=ON
81                 -DENABLE_MPIIO=$(usex mpi)
82                 -DENABLE_VORONOI=ON
83                 -DENABLE_USER-ATC=ON
84                 -DENABLE_USER-AWPMD=ON
85                 -DENABLE_USER-CGDNA=ON
86                 -DENABLE_USER-CGSDK=ON
87                 -DENABLE_USER-COLVARS=ON
88                 -DENABLE_USER-DIFFRACTION=ON
89                 -DENABLE_USER-DPD=ON
90                 -DENABLE_USER-DRUDE=ON
91                 -DENABLE_USER-EFF=ON
92                 -DENABLE_USER-FEP=ON
93                 -DENABLE_USER-H5MD=$(usex mpi)
94                 -DENABLE_USER-LB=$(usex mpi)
95                 -DENABLE_USER-MANIFOLD=ON
96                 -DENABLE_USER-MEAMC=ON
97                 -DENABLE_USER-MGPT=ON
98                 -DENABLE_USER-MISC=ON
99                 -DENABLE_USER-MOLFILE=ON
100                 -DENABLE_USER-NETCDF=$(usex netcdf)
101                 -DENABLE_USER-PHONON=ON
102                 -DENABLE_USER-QTB=ON
103                 -DENABLE_USER-REAXC=ON
104                 -DENABLE_USER-SMD=ON
105                 -DENABLE_USER-SMTBQ=ON
106                 -DENABLE_USER-SPH=ON
107                 -DENABLE_USER-TALLY=ON
108         )
109         cmake-utils_src_configure
110 }
111
112 src_install() {
113         cmake-utils_src_install
114
115         local LAMMPS_POTENTIALS="usr/share/${PN}/potentials"
116         insinto "/${LAMMPS_POTENTIALS}"
117         doins "${S}"/../potentials/*
118         echo "LAMMPS_POTENTIALS=${EROOT}${LAMMPS_POTENTIALS}" > 99lammps
119         doenvd 99lammps
120
121         # Install python script.
122         use python && python_foreach_impl python_domodule "${S}"/../python/lammps.py
123
124         if use examples; then
125                 for d in examples bench; do
126                         local LAMMPS_EXAMPLES="/usr/share/${PN}/${d}"
127                         insinto "${LAMMPS_EXAMPLES}"
128                         doins -r "${S}"/../${d}/*
129                 done
130         fi
131 }