*/*: Clean PYTHON_COMPAT of obsolete impls
[gentoo.git] / sci-physics / lammps / lammps-20190807.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 TCOMMIT=d0394a77fa2b4b2d545a73ea092cf6de7616aac8
21 SRC_URI="https://github.com/lammps/lammps/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz
22         test? ( https://github.com/lammps/lammps-testing/archive/${TCOMMIT}.tar.gz -> ${PN}-testing-${TCOMMIT}.tar.gz )"
23
24 LICENSE="GPL-2"
25 SLOT="0"
26 KEYWORDS="~amd64 ~x86"
27 IUSE="cuda examples gzip lammps-memalign mpi netcdf python test"
28 RESTRICT="!test? ( test )"
29
30 DEPEND="
31         app-arch/gzip
32         media-libs/libpng:0
33         sys-libs/zlib
34         mpi? (
35                 virtual/mpi
36                 sci-libs/hdf5[mpi]
37         )
38         python? ( ${PYTHON_DEPS} )
39         sci-libs/voro++
40         virtual/blas
41         virtual/lapack
42         sci-libs/fftw:3.0
43         netcdf? ( sci-libs/netcdf )
44         cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1 )
45         dev-cpp/eigen:3
46         "
47 RDEPEND="${DEPEND}"
48
49 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
50
51 S="${WORKDIR}/${MY_P}/cmake"
52
53 src_configure() {
54         local mycmakeargs=(
55                 -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
56                 -DBUILD_SHARED_LIBS=ON
57                 -DBUILD_MPI=$(usex mpi)
58                 -DBUILD_LIB=ON
59                 -DPKG_GPU=$(usex cuda)
60                 -DGPU_API=CUDA
61                 -DENABLE_TESTING=$(usex test)
62                 -DLAMMPS_TESTING_SOURCE_DIR=$(echo "${WORKDIR}"/lammps-testing-*)
63                 -DPKG_ASPHERE=ON
64                 -DPKG_BODY=ON
65                 -DPKG_CLASS2=ON
66                 -DPKG_COLLOID=ON
67                 -DPKG_COMPRESS=ON
68                 -DPKG_CORESHELL=ON
69                 -DPKG_DIPOLE=ON
70                 -DPKG_GRANULAR=ON
71                 -DPKG_KSPACE=ON
72                 -DFFT=FFTW3
73                 -DPKG_MANYBODY=ON
74                 -DPKG_MC=ON
75                 -DPKG_MEAM=ON
76                 -DPKG_MISC=ON
77                 -DPKG_MOLECULE=ON
78                 -DPKG_PERI=ON
79                 -DPKG_QEQ=ON
80                 -DPKG_REAX=ON
81                 -DPKG_REPLICA=ON
82                 -DPKG_RIGID=ON
83                 -DPKG_SHOCK=ON
84                 -DPKG_SNAP=ON
85                 -DPKG_SRD=ON
86                 -DPKG_PYTHON=ON
87                 -DPKG_MPIIO=$(usex mpi)
88                 -DPKG_VORONOI=ON
89                 -DPKG_USER-ATC=ON
90                 -DPKG_USER-AWPMD=ON
91                 -DPKG_USER-CGDNA=ON
92                 -DPKG_USER-CGSDK=ON
93                 -DPKG_USER-COLVARS=ON
94                 -DPKG_USER-DIFFRACTION=ON
95                 -DPKG_USER-DPD=ON
96                 -DPKG_USER-DRUDE=ON
97                 -DPKG_USER-EFF=ON
98                 -DPKG_USER-FEP=ON
99                 -DPKG_USER-H5MD=$(usex mpi)
100                 -DPKG_USER-LB=$(usex mpi)
101                 -DPKG_USER-MANIFOLD=ON
102                 -DPKG_USER-MEAMC=ON
103                 -DPKG_USER-MGPT=ON
104                 -DPKG_USER-MISC=ON
105                 -DPKG_USER-MOLFILE=ON
106                 -DPKG_USER-NETCDF=$(usex netcdf)
107                 -DPKG_USER-PHONON=ON
108                 -DPKG_USER-QTB=ON
109                 -DPKG_USER-REAXC=ON
110                 -DPKG_USER-SMD=ON
111                 -DPKG_USER-SMTBQ=ON
112                 -DPKG_USER-SPH=ON
113                 -DPKG_USER-TALLY=ON
114         )
115         cmake-utils_src_configure
116 }
117
118 src_install() {
119         cmake-utils_src_install
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 }