commit:     032df870c6ec017cd53cf3945a7503d6ad57e92b
Author:     Denis Strizhkin <strdenis02 <AT> gmail <DOT> com>
AuthorDate: Wed Sep 11 00:54:53 2024 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Sep 27 08:42:06 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=032df870

sci-physics/lammps: add 20240829

Signed-off-by: Denis Strizhkin <strdenis02 <AT> gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 sci-physics/lammps/Manifest               |   2 +
 sci-physics/lammps/lammps-20240829.ebuild | 190 ++++++++++++++++++++++++++++++
 2 files changed, 192 insertions(+)

diff --git a/sci-physics/lammps/Manifest b/sci-physics/lammps/Manifest
index 4ef469752759..70e2b05b2ca1 100644
--- a/sci-physics/lammps/Manifest
+++ b/sci-physics/lammps/Manifest
@@ -2,3 +2,5 @@ DIST lammps-17Feb2022.tar.gz 170036241 BLAKE2B 
74d370657bff17847dce0bbe082134721
 DIST lammps-23Jun2022.tar.gz 181439760 BLAKE2B 
b8012417257527820a4f37dbd300d3f949e3768fc7ae669c49bc7ea0cdc30b28512cb3ee25d375394184bbf1371763da6c3556b2d600f060b754816c589197bf
 SHA512 
e882cb8a83a90b17471cd5c79b2b724378a28642b82511c695a36c0d9a0feb63681b29171c5bfb0bcb218ea3a1a5e4f00fdb8e6ce5f0fc8aed1fa83680cd3a34
 DIST lammps-28Mar2023.tar.gz 187946133 BLAKE2B 
87f8ffaefd9a5b4cb7a286157d6c7808d899bf738b42a1e82af257fdafa2cf6ed2ce216d0534fb762882130efea9a5f2566ca5282fb7ef95f028d2839be59eaa
 SHA512 
2999d8311ff83612a0da82e2453e8b25dcb2af56005382725b6fd5ed9e7f61e9ae506d04cc3c587ce75f1e2346e7f2ec05eada6351dad7abee1bc25161851682
 DIST lammps-2Aug2023.tar.gz 193279161 BLAKE2B 
15816514984a307055e6f42ca741b14a9cabe8839ce266086e9a286bf89a868b2d795846a0a191549013f8f2c403a590ec1231633bf4e161f82d3d83d9fa700e
 SHA512 
5e915f61d29f73de9edca05f371a6ca4449564ab48dfb64c212a417a2200b1738e7f44145db44d794bb480116e8f57c658612d54a3c9f759eb9947d3de5d4c35
+DIST lammps-gtest-1.12.1.tar.gz 854944 BLAKE2B 
7b121fb95bb19efec1387a83da2201a139197225f79f7649ceac04695ff06fc4148319ae928d79ced413a9cfd42e68b56bfda1ee6bfdbf07fdd22795e9974388
 SHA512 
a9104dc6c53747e36e7dd7bb93dfce51a558bd31b487a9ef08def095518e1296da140e0db263e0644d9055dbd903c0cb69380cb2322941dbfb04780ef247df9c
+DIST stable_29Aug2024.tar.gz 141582660 BLAKE2B 
a90233840ff2cb98dd28851137f84820bfa3618488e46f9f304aaa9c2425f40750771b15677ed07b3606eb78b50c8beb26c3933ff71c48c0c2911ca3743647d6
 SHA512 
c6755da36d78d1f8e13db4c1f473db2c15d062ed79b15e110031b6501388a67f47d62d71fe367a111f7dd6cb58c7d6e358eed7e69589e06f735039ee794f4618

diff --git a/sci-physics/lammps/lammps-20240829.ebuild 
b/sci-physics/lammps/lammps-20240829.ebuild
new file mode 100644
index 000000000000..7d4d92c21ff8
--- /dev/null
+++ b/sci-physics/lammps/lammps-20240829.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+CMAKE_MAKEFILE_GENERATOR=emake
+# Doc building insists on fetching mathjax
+# DOCS_BUILDER="doxygen"
+# DOCS_DEPEND="
+#      media-gfx/graphviz
+#      dev-libs/mathjax
+# "
+
+inherit cmake fortran-2 distutils-r1 # docs
+
+convert_month() {
+       local months=( "" Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec )
+       echo ${months[${1#0}]}
+}
+
+MY_PV="$((10#${PV:6:2}))$(convert_month ${PV:4:2})${PV:0:4}"
+MY_P="${PN}-stable_${MY_PV}"
+
+DESCRIPTION="Large-scale Atomic/Molecular Massively Parallel Simulator"
+HOMEPAGE="https://www.lammps.org";
+SRC_URI="
+       
https://github.com/lammps/lammps/archive/refs/tags/stable_${MY_PV}.tar.gz
+       test? (
+               
https://github.com/google/googletest/archive/release-1.12.1.tar.gz -> 
${PN}-gtest-1.12.1.tar.gz
+       )
+"
+S="${WORKDIR}/${MY_P}/cmake"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cuda examples extra gzip hip lammps-memalign mpi opencl openmp python 
test"
+# Requires write access to /dev/dri/renderD...
+RESTRICT="test"
+
+RDEPEND="
+       app-arch/gzip
+       media-libs/libpng:0
+       sys-libs/zlib
+       mpi? (
+               virtual/mpi
+               sci-libs/hdf5:=[mpi]
+       )
+       python? ( ${PYTHON_DEPS} )
+       sci-libs/voro++
+       virtual/blas
+       virtual/lapack
+       sci-libs/fftw:3.0=
+       sci-libs/netcdf:=
+       cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1:= )
+       opencl? ( virtual/opencl )
+       hip? (
+               dev-util/hip:=
+               sci-libs/hipCUB:=
+       )
+       dev-cpp/eigen:3
+       "
+       # Kokkos-3.5 not in tree atm
+       # kokkos? ( dev-cpp/kokkos-3.5.* )
+BDEPEND="${DISTUTILS_DEPS}"
+DEPEND="${RDEPEND}
+       test? (
+               dev-cpp/gtest
+               dev-libs/libyaml
+       )
+"
+
+REQUIRED_USE="
+       python? ( ${PYTHON_REQUIRED_USE} )
+       ?? ( cuda opencl hip )
+"
+
+src_prepare() {
+       cmake_src_prepare
+       if use python; then
+               pushd ../python || die
+               distutils-r1_src_prepare
+               popd || die
+       fi
+       if use test; then
+               mkdir "${BUILD_DIR}/_deps"
+               cp "${DISTDIR}/${PN}-gtest-1.12.1.tar.gz" 
"${BUILD_DIR}/_deps/release-1.12.1.tar.gz"
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+               -DBUILD_SHARED_LIBS=ON
+               -DBUILD_MPI=$(usex mpi)
+               -DBUILD_DOC=OFF
+               #-DBUILD_DOC=$(usex doc)
+               -DENABLE_TESTING=$(usex test)
+               -DPKG_ASPHERE=ON
+               -DPKG_BODY=ON
+               -DPKG_CLASS2=ON
+               -DPKG_COLLOID=ON
+               -DPKG_COMPRESS=ON
+               -DPKG_CORESHELL=ON
+               -DPKG_DIPOLE=ON
+               -DPKG_EXTRA-COMPUTE=$(usex extra)
+               -DPKG_EXTRA-DUMP=$(usex extra)
+               -DPKG_EXTRA-FIX=$(usex extra)
+               -DPKG_EXTRA-MOLECULE=$(usex extra)
+               -DPKG_EXTRA-PAIR=$(usex extra)
+               -DPKG_GRANULAR=ON
+               -DPKG_KSPACE=ON
+               -DFFT=FFTW3
+               -DPKG_KOKKOS=OFF
+               #-DPKG_KOKKOS=$(usex kokkos)
+               #$(use kokkos && echo -DEXTERNAL_KOKKOS=ON)
+               -DPKG_MANYBODY=ON
+               -DPKG_MC=ON
+               -DPKG_MEAM=ON
+               -DPKG_MISC=ON
+               -DPKG_MOLECULE=ON
+               -DPKG_OPENMP=$(usex openmp)
+               -DPKG_PERI=ON
+               -DPKG_QEQ=ON
+               -DPKG_REPLICA=ON
+               -DPKG_RIGID=ON
+               -DPKG_SHOCK=ON
+               -DPKG_SRD=ON
+               -DPKG_PYTHON=$(usex python)
+               -DPKG_MPIIO=$(usex mpi)
+               -DPKG_VORONOI=ON
+       )
+       if use cuda || use opencl || use hip; then
+               mycmakeargs+=( -DPKG_GPU=ON )
+               use cuda && mycmakeargs+=( -DGPU_API=cuda )
+               use opencl && mycmakeargs+=( -DGPU_API=opencl 
-DUSE_STATIC_OPENCL_LOADER=OFF )
+               use hip && mycmakeargs+=( -DGPU_API=hip 
-DHIP_PATH="${EPREFIX}/usr" )
+       else
+               mycmakeargs+=( -DPKG_GPU=OFF )
+       fi
+       cmake_src_configure
+       if use python; then
+               pushd ../python || die
+               distutils-r1_src_configure
+               popd || die
+       fi
+}
+
+src_compile() {
+       cmake_src_compile
+       if use python; then
+               pushd ../python || die
+               distutils-r1_src_compile
+               popd || die
+       fi
+}
+
+src_test() {
+       cmake_src_test
+       if use python; then
+               pushd ../python || die
+               distutils-r1_src_test
+               popd || die
+       fi
+}
+
+src_install() {
+       cmake_src_install
+
+       if use opencl; then
+               dobin "${BUILD_DIR}/ocl_get_devices"
+       fi
+
+       if use python; then
+               pushd ../python || die
+               distutils-r1_src_install
+               popd || die
+       fi
+
+       if use examples; then
+               for d in examples bench; do
+                       local LAMMPS_EXAMPLES="/usr/share/${PN}/${d}"
+                       insinto "${LAMMPS_EXAMPLES}"
+                       doins -r "${S}"/../${d}/*
+               done
+       fi
+}

Reply via email to