*/*: Clean PYTHON_COMPAT of obsolete impls
[gentoo.git] / sci-physics / lammps / lammps-20170901.ebuild
1 # Copyright 1999-2020 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_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 RESTRICT="!test? ( test )"
27
28 DEPEND="
29         app-arch/gzip
30         media-libs/libpng:0
31         sys-libs/zlib
32         mpi? (
33                 virtual/mpi
34                 sci-libs/hdf5[mpi]
35         )
36         python? ( ${PYTHON_DEPS} )
37         sci-libs/voro++
38         virtual/blas
39         virtual/lapack
40         sci-libs/fftw:3.0
41         netcdf? ( sci-libs/netcdf )
42         cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1 )
43         dev-cpp/eigen:3
44         "
45 RDEPEND="${DEPEND}"
46
47 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
48
49 S="${WORKDIR}/${MY_P}/cmake"
50
51 src_configure() {
52         local mycmakeargs=(
53             -DBUILD_SHARED_LIBS=ON
54                 -DENABLE_MPI=$(usex mpi)
55                 -DENABLE_GPU=$(usex cuda)
56                 -DENABLE_TESTING=$(usex test)
57                 -DENABLE_ASPHERE=ON
58                 -DENABLE_BODY=ON
59                 -DENABLE_CLASS2=ON
60                 -DENABLE_COLLOID=ON
61                 -DENABLE_COMPRESS=ON
62                 -DENABLE_CORESHELL=ON
63                 -DENABLE_DIPOLE=ON
64                 -DENABLE_GRANULAR=ON
65                 -DENABLE_KSPACE=ON
66                 -DFFT=FFTW3
67                 -DENABLE_MANYBODY=ON
68                 -DENABLE_MC=ON
69                 -DENABLE_MEAM=ON
70                 -DENABLE_MISC=ON
71                 -DLAMMPS_XDR=ON #630444
72                 -DENABLE_MOLECULE=ON
73                 -DENABLE_PERI=ON
74                 -DENABLE_QEQ=ON
75                 -DENABLE_REAX=ON
76                 -DENABLE_REPLICA=ON
77                 -DENABLE_RIGID=ON
78                 -DENABLE_SHOCK=ON
79                 -DENABLE_SNAP=ON
80                 -DENABLE_SRD=ON
81                 -DENABLE_PYTHON=ON
82                 -DENABLE_MPIIO=$(usex mpi)
83                 -DENABLE_VORONOI=ON
84                 -DENABLE_USER-ATC=ON
85                 -DENABLE_USER-AWPMD=ON
86                 -DENABLE_USER-CGDNA=ON
87                 -DENABLE_USER-CGSDK=ON
88                 -DENABLE_USER-COLVARS=ON
89                 -DENABLE_USER-DIFFRACTION=ON
90                 -DENABLE_USER-DPD=ON
91                 -DENABLE_USER-DRUDE=ON
92                 -DENABLE_USER-EFF=ON
93                 -DENABLE_USER-FEP=ON
94                 -DENABLE_USER-H5MD=$(usex mpi)
95                 -DENABLE_USER-LB=$(usex mpi)
96                 -DENABLE_USER-MANIFOLD=ON
97                 -DENABLE_USER-MEAMC=ON
98                 -DENABLE_USER-MGPT=ON
99                 -DENABLE_USER-MISC=ON
100                 -DENABLE_USER-MOLFILE=ON
101                 -DENABLE_USER-NETCDF=$(usex netcdf)
102                 -DENABLE_USER-PHONON=ON
103                 -DENABLE_USER-QTB=ON
104                 -DENABLE_USER-REAXC=ON
105                 -DENABLE_USER-SMD=ON
106                 -DENABLE_USER-SMTBQ=ON
107                 -DENABLE_USER-SPH=ON
108                 -DENABLE_USER-TALLY=ON
109         )
110         cmake-utils_src_configure
111 }
112
113 src_install() {
114         cmake-utils_src_install
115
116         local LAMMPS_POTENTIALS="usr/share/${PN}/potentials"
117         insinto "/${LAMMPS_POTENTIALS}"
118         doins "${S}"/../potentials/*
119         echo "LAMMPS_POTENTIALS=${EROOT}${LAMMPS_POTENTIALS}" > 99lammps
120         doenvd 99lammps
121
122         # Install python script.
123         use python && python_foreach_impl python_domodule "${S}"/../python/lammps.py
124
125         if use examples; then
126                 local LAMMPS_EXAMPLES="/usr/share/${PN}/examples"
127                 insinto "${LAMMPS_EXAMPLES}"
128                 doins -r "${S}"/../examples/*
129         fi
130 }