summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-chemistry/gromacs/gromacs-9999.ebuild')
-rw-r--r--sci-chemistry/gromacs/gromacs-9999.ebuild68
1 files changed, 42 insertions, 26 deletions
diff --git a/sci-chemistry/gromacs/gromacs-9999.ebuild b/sci-chemistry/gromacs/gromacs-9999.ebuild
index 101a76d94cf9..a3319899d419 100644
--- a/sci-chemistry/gromacs/gromacs-9999.ebuild
+++ b/sci-chemistry/gromacs/gromacs-9999.ebuild
@@ -1,13 +1,14 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CMAKE_MAKEFILE_GENERATOR="ninja"
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_SETUPTOOLS=no
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=no
DISTUTILS_SINGLE_IMPL=1
inherit bash-completion-r1 cmake cuda distutils-r1 flag-o-matic readme.gentoo-r1 toolchain-funcs xdg-utils
@@ -16,32 +17,33 @@ if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="
https://gitlab.com/gromacs/gromacs.git
https://github.com/gromacs/gromacs.git
- git://git.gromacs.org/gromacs.git"
+ "
[[ ${PV} = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}"
inherit git-r3
else
SRC_URI="
- http://ftp.gromacs.org/gromacs/${PN}-${PV/_/-}.tar.gz
- doc? ( https://ftp.gromacs.org/manual/manual-${PV/_/-}.pdf -> manual-${PV}.pdf )
- test? ( http://ftp.gromacs.org/regressiontests/regressiontests-${PV/_/-}.tar.gz )"
- KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+ https://ftp.gromacs.org/gromacs/${PN}-${PV/_/-}.tar.gz
+ doc? ( https://ftp.gromacs.org/manual/manual-${PV/_/-}.pdf )
+ test? ( https://ftp.gromacs.org/regressiontests/regressiontests-${PV/_/-}.tar.gz )"
+ # since 2022 arm support was dropped (but not arm64)
+ KEYWORDS="~amd64 -arm ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
ACCE_IUSE="cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_fma4 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_arm_neon"
DESCRIPTION="The ultimate molecular dynamics simulation package"
-HOMEPAGE="http://www.gromacs.org/"
+HOMEPAGE="https://www.gromacs.org/"
# see COPYING for details
# https://repo.or.cz/w/gromacs.git/blob/HEAD:/COPYING
# base, vmd plugins, fftpack from numpy, blas/lapck from netlib, memtestG80 library, mpi_thread lib
LICENSE="LGPL-2.1 UoI-NCSA !mkl? ( !fftw? ( BSD ) !blas? ( BSD ) !lapack? ( BSD ) ) cuda? ( LGPL-3 ) threads? ( BSD )"
SLOT="0/${PV}"
-IUSE="blas cuda +custom-cflags +doc build-manual double-precision +fftw +gmxapi +gmxapi-legacy +hwloc lapack mkl mpi +offensive opencl openmp +python +single-precision test +threads +tng ${ACCE_IUSE}"
+IUSE="blas clang clang-cuda cuda +custom-cflags +doc build-manual double-precision +fftw +gmxapi +gmxapi-legacy +hwloc lapack mkl mpi +offensive opencl openmp +python +single-precision test +threads +tng ${ACCE_IUSE}"
CDEPEND="
blas? ( virtual/blas )
- cuda? ( >=dev-util/nvidia-cuda-toolkit-11[profiler] )
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-11:=[profiler] )
opencl? ( virtual/opencl )
fftw? ( sci-libs/fftw:3.0= )
hwloc? ( sys-apps/hwloc:= )
@@ -54,10 +56,15 @@ CDEPEND="
"
BDEPEND="${CDEPEND}
virtual/pkgconfig
+ clang? ( >=sys-devel/clang-6:* )
build-manual? (
- app-doc/doxygen
+ app-text/doxygen
$(python_gen_cond_dep '
dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-copybutton[${PYTHON_USEDEP}]
+ dev-python/sphinx-inline-tabs[${PYTHON_USEDEP}]
+ dev-python/sphinx-argparse[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-autoprogram[${PYTHON_USEDEP}]
')
media-gfx/mscgen
media-gfx/graphviz
@@ -65,14 +72,15 @@ BDEPEND="${CDEPEND}
dev-texlive/texlive-latexextra
media-gfx/imagemagick
)"
-RDEPEND="${CDEPEND}
- <sci-chemistry/dssp-4"
+RDEPEND="${CDEPEND}"
REQUIRED_USE="
|| ( single-precision double-precision )
doc? ( !build-manual )
cuda? ( single-precision )
+ opencl? ( single-precision )
cuda? ( !opencl )
+ clang-cuda? ( clang cuda )
mkl? ( !blas !fftw !lapack )
${PYTHON_REQUIRED_USE}"
@@ -99,7 +107,7 @@ src_unpack() {
else
git-r3_src_unpack
if use test; then
- EGIT_REPO_URI="git://git.gromacs.org/regressiontests.git" \
+ EGIT_REPO_URI="https://gitlab.com/gromacs/gromacs-regressiontests.git" \
EGIT_BRANCH="${EGIT_BRANCH}" \
EGIT_CHECKOUT_DIR="${WORKDIR}/regressiontests"\
git-r3_src_unpack
@@ -113,6 +121,19 @@ src_prepare() {
xdg_environment_reset #591952
+ # we can use clang as default
+ if use clang && ! tc-is-clang ; then
+ export CC=${CHOST}-clang
+ export CXX=${CHOST}-clang++
+ else
+ tc-export CXX CC
+ fi
+ # clang-cuda need to filter mfpmath
+ if use clang-cuda ; then
+ filter-mfpmath sse
+ filter-mfpmath i386
+ fi
+
cmake_src_prepare
use cuda && cuda_src_prepare
@@ -131,8 +152,8 @@ src_prepare() {
DOC_CONTENTS="Gromacs can use sci-chemistry/vmd to read additional file formats"
if use build-manual; then
# try to create policy for imagemagik
- mkdir -p ${HOME}/.config/ImageMagick
- cat >> ${HOME}/.config/ImageMagick/policy.xml <<- EOF
+ mkdir -p "${HOME}"/.config/ImageMagick
+ cat >> "${HOME}"/.config/ImageMagick/policy.xml <<- EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policymap [
<!ELEMENT policymap (policy)+>
@@ -183,11 +204,6 @@ src_configure() {
if use fftw; then
fft_opts=( -DGMX_FFT_LIBRARY=fftw3 )
- elif use mkl && has_version "=sci-libs/mkl-10*"; then
- fft_opts=( -DGMX_FFT_LIBRARY=mkl
- -DMKL_INCLUDE_DIR="${MKLROOT}/include"
- -DMKL_LIBRARIES="$(echo /opt/intel/mkl/10.0.5.025/lib/*/libmkl.so);$(echo /opt/intel/mkl/10.0.5.025/lib/*/libiomp*.so)"
- )
elif use mkl; then
local bits=$(get_libdir)
fft_opts=( -DGMX_FFT_LIBRARY=mkl
@@ -213,7 +229,6 @@ src_configure() {
-DGMX_DEFAULT_SUFFIX=off
-DGMX_SIMD="$acce"
-DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/"
- -DGMX_DSSP_PROGRAM_PATH="${EPREFIX}/usr/bin/dssp"
-DBUILD_TESTING=$(usex test)
-DGMX_BUILD_UNITTESTS=$(usex test)
-DPYTHON_EXECUTABLE="${EPREFIX}/usr/bin/${EPYTHON}"
@@ -230,8 +245,9 @@ src_configure() {
[[ ${x} = "double" ]] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF"
local gpu=( "-DGMX_GPU=OFF" )
[[ ${x} = "float" ]] && use cuda && gpu=( "-DGMX_GPU=CUDA" )
+ [[ ${x} = "float" ]] && use clang-cuda && gpu=( "-DGMX_GPU=CUDA" "-DGMX_CLANG_CUDA=ON" )
use opencl && gpu=( "-DGMX_GPU=OPENCL" )
- mycmakeargs=(
+ local mycmakeargs=(
${mycmakeargs_pre[@]} ${p}
-DGMX_MPI=$(usex mpi)
-DGMX_THREAD_MPI=$(usex threads)
@@ -289,7 +305,7 @@ src_install() {
if use doc; then
if [[ ${PV} != *9999* ]]; then
- newdoc "${DISTDIR}/manual-${PV}.pdf" "${PN}-manual-${PV}.pdf"
+ newdoc "${DISTDIR}/manual-${PV/_/-}.pdf" "${PN}-manual-${PV}.pdf"
fi
fi
done
@@ -313,7 +329,7 @@ src_install() {
pkg_postinst() {
einfo
einfo "Please read and cite gromacs related papers from list:"
- einfo "https://www.gromacs.org/Gromacs_papers"
+ einfo "https://www.gromacs.org/articles.html"
einfo
readme.gentoo_print_elog
}