Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/gromacs/
Date: Wed, 01 Feb 2023 19:27:18
Message-Id: 1675279594.d511b69e54aa63f3ad07f7463ecc0127d0de6f6e.asturm@gentoo
1 commit: d511b69e54aa63f3ad07f7463ecc0127d0de6f6e
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jan 28 19:48:06 2023 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 1 19:26:34 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d511b69e
7
8 sci-chemistry/gromacs: drop 2021.9999
9
10 No more development? Last commit happened two years ago.
11
12 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
13
14 sci-chemistry/gromacs/gromacs-2021.9999.ebuild | 350 -------------------------
15 1 file changed, 350 deletions(-)
16
17 diff --git a/sci-chemistry/gromacs/gromacs-2021.9999.ebuild b/sci-chemistry/gromacs/gromacs-2021.9999.ebuild
18 deleted file mode 100644
19 index 843c14bc04b1..000000000000
20 --- a/sci-chemistry/gromacs/gromacs-2021.9999.ebuild
21 +++ /dev/null
22 @@ -1,350 +0,0 @@
23 -# Copyright 1999-2023 Gentoo Authors
24 -# Distributed under the terms of the GNU General Public License v2
25 -
26 -EAPI=8
27 -
28 -CMAKE_MAKEFILE_GENERATOR="ninja"
29 -
30 -PYTHON_COMPAT=( python3_{9..11} )
31 -
32 -DISTUTILS_OPTIONAL=1
33 -DISTUTILS_USE_PEP517=no
34 -DISTUTILS_SINGLE_IMPL=1
35 -
36 -inherit bash-completion-r1 cmake cuda distutils-r1 flag-o-matic readme.gentoo-r1 toolchain-funcs xdg-utils
37 -
38 -if [[ ${PV} = *9999* ]]; then
39 - EGIT_REPO_URI="
40 - https://gitlab.com/gromacs/gromacs.git
41 - https://github.com/gromacs/gromacs.git
42 - git://git.gromacs.org/gromacs.git"
43 - [[ ${PV} = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}"
44 - inherit git-r3
45 -else
46 - SRC_URI="
47 - https://ftp.gromacs.org/gromacs/${PN}-${PV/_/-}.tar.gz
48 - doc? ( https://ftp.gromacs.org/manual/manual-${PV/_/-}.pdf )
49 - test? ( https://ftp.gromacs.org/regressiontests/regressiontests-${PV/_/-}.tar.gz )"
50 - KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~x64-macos"
51 -fi
52 -
53 -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"
54 -
55 -DESCRIPTION="The ultimate molecular dynamics simulation package"
56 -HOMEPAGE="https://www.gromacs.org/"
57 -
58 -# see COPYING for details
59 -# https://repo.or.cz/w/gromacs.git/blob/HEAD:/COPYING
60 -# base, vmd plugins, fftpack from numpy, blas/lapck from netlib, memtestG80 library, mpi_thread lib
61 -LICENSE="LGPL-2.1 UoI-NCSA !mkl? ( !fftw? ( BSD ) !blas? ( BSD ) !lapack? ( BSD ) ) cuda? ( LGPL-3 ) threads? ( BSD )"
62 -SLOT="0/${PV}"
63 -IUSE="X blas cuda +custom-cflags +doc build-manual double-precision +fftw +gmxapi +gmxapi-legacy +hwloc lapack +lmfit mkl mpi +offensive opencl openmp +python +single-precision test +threads +tng ${ACCE_IUSE}"
64 -
65 -CDEPEND="
66 - X? (
67 - x11-libs/libX11
68 - x11-libs/libSM
69 - x11-libs/libICE
70 - )
71 - blas? ( virtual/blas )
72 - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.14[profiler] )
73 - opencl? ( virtual/opencl )
74 - fftw? ( sci-libs/fftw:3.0= )
75 - hwloc? ( sys-apps/hwloc:= )
76 - lapack? ( virtual/lapack )
77 - lmfit? ( sci-libs/lmfit:= )
78 - mkl? ( sci-libs/mkl )
79 - mpi? ( virtual/mpi )
80 - ${PYTHON_DEPS}
81 - "
82 -BDEPEND="${CDEPEND}
83 - virtual/pkgconfig
84 - build-manual? (
85 - app-doc/doxygen
86 - $(python_gen_cond_dep '
87 - dev-python/sphinx[${PYTHON_USEDEP}]
88 - ')
89 - media-gfx/mscgen
90 - media-gfx/graphviz
91 - dev-texlive/texlive-latex
92 - dev-texlive/texlive-latexextra
93 - media-gfx/imagemagick
94 - )"
95 -RDEPEND="${CDEPEND}"
96 -
97 -REQUIRED_USE="
98 - || ( single-precision double-precision )
99 - doc? ( !build-manual )
100 - cuda? ( single-precision )
101 - opencl? ( single-precision )
102 - cuda? ( !opencl )
103 - mkl? ( !blas !fftw !lapack )
104 - ${PYTHON_REQUIRED_USE}"
105 -
106 -DOCS=( AUTHORS README )
107 -
108 -RESTRICT="!test? ( test )"
109 -
110 -if [[ ${PV} != *9999 ]]; then
111 - S="${WORKDIR}/${PN}-${PV/_/-}"
112 -fi
113 -
114 -pkg_pretend() {
115 - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
116 -}
117 -
118 -pkg_setup() {
119 - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
120 - python-single-r1_pkg_setup
121 -}
122 -
123 -src_unpack() {
124 - if [[ ${PV} != *9999 ]]; then
125 - default
126 - else
127 - git-r3_src_unpack
128 - if use test; then
129 - EGIT_REPO_URI="git://git.gromacs.org/regressiontests.git" \
130 - EGIT_BRANCH="${EGIT_BRANCH}" \
131 - EGIT_CHECKOUT_DIR="${WORKDIR}/regressiontests"\
132 - git-r3_src_unpack
133 - fi
134 - fi
135 -}
136 -
137 -src_prepare() {
138 - #notes/todos
139 - # -on apple: there is framework support
140 -
141 - xdg_environment_reset #591952
142 -
143 - cmake_src_prepare
144 -
145 - use cuda && cuda_src_prepare
146 -
147 - GMX_DIRS=""
148 - use single-precision && GMX_DIRS+=" float"
149 - use double-precision && GMX_DIRS+=" double"
150 -
151 - if use test; then
152 - for x in ${GMX_DIRS}; do
153 - mkdir -p "${WORKDIR}/${P}_${x}" || die
154 - cp -al "${WORKDIR}/regressiontests"* "${WORKDIR}/${P}_${x}/tests" || die
155 - done
156 - fi
157 -
158 - DOC_CONTENTS="Gromacs can use sci-chemistry/vmd to read additional file formats"
159 - if use build-manual; then
160 - # try to create policy for imagemagik
161 - mkdir -p ${HOME}/.config/ImageMagick
162 - cat >> ${HOME}/.config/ImageMagick/policy.xml <<- EOF
163 - <?xml version="1.0" encoding="UTF-8"?>
164 - <!DOCTYPE policymap [
165 - <!ELEMENT policymap (policy)+>
166 - !ATTLIST policymap xmlns CDATA #FIXED ''>
167 - <!ELEMENT policy EMPTY>
168 - <!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
169 - name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
170 - stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
171 - ]>
172 - <policymap>
173 - <policy domain="coder" rights="read | write" pattern="PS" />
174 - <policy domain="coder" rights="read | write" pattern="PS2" />
175 - <policy domain="coder" rights="read | write" pattern="PS3" />
176 - <policy domain="coder" rights="read | write" pattern="EPS" />
177 - <policy domain="coder" rights="read | write" pattern="PDF" />
178 - <policy domain="coder" rights="read | write" pattern="XPS" />
179 - </policymap>
180 - EOF
181 - fi
182 -}
183 -
184 -src_configure() {
185 - local mycmakeargs_pre=( ) extra fft_opts=( )
186 - local acce="AUTO"
187 -
188 - if use custom-cflags; then
189 - #go from slowest to fastest acceleration
190 - acce="None"
191 - if (use amd64 || use x86); then
192 - use cpu_flags_x86_sse2 && acce="SSE2"
193 - use cpu_flags_x86_sse4_1 && acce="SSE4.1"
194 - use cpu_flags_x86_fma4 && acce="AVX_128_FMA"
195 - use cpu_flags_x86_avx && acce="AVX_256"
196 - use cpu_flags_x86_avx2 && acce="AVX2_256"
197 - use cpu_flags_x86_avx512f && acce="AVX_512"
198 - elif (use arm); then
199 - use cpu_flags_arm_neon && acce="ARM_NEON"
200 - elif (use arm64); then
201 - use cpu_flags_arm_neon && acce="ARM_NEON_ASIMD"
202 - fi
203 - else
204 - strip-flags
205 - fi
206 -
207 - #to create man pages, build tree binaries are executed (bug #398437)
208 - [[ ${CHOST} = *-darwin* ]] && \
209 - extra+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF"
210 -
211 - if use fftw; then
212 - fft_opts=( -DGMX_FFT_LIBRARY=fftw3 )
213 - elif use mkl; then
214 - local bits=$(get_libdir)
215 - fft_opts=( -DGMX_FFT_LIBRARY=mkl
216 - -DMKL_INCLUDE_DIR="$(echo /opt/intel/*/mkl/include)"
217 - -DMKL_LIBRARIES="$(echo /opt/intel/*/mkl/lib/*${bits/lib}/libmkl_rt.so)"
218 - )
219 - else
220 - fft_opts=( -DGMX_FFT_LIBRARY=fftpack )
221 - fi
222 -
223 - if use lmfit; then
224 - local lmfit_opts=( -DGMX_USE_LMFIT=EXTERNAL )
225 - else
226 - local lmfit_opts=( -DGMX_USE_LMFIT=INTERNAL )
227 - fi
228 -
229 - mycmakeargs_pre+=(
230 - "${fft_opts[@]}"
231 - "${lmfit_opts[@]}"
232 - -DGMX_X11=$(usex X)
233 - -DGMX_EXTERNAL_BLAS=$(usex blas)
234 - -DGMX_EXTERNAL_LAPACK=$(usex lapack)
235 - -DGMX_OPENMP=$(usex openmp)
236 - -DGMX_COOL_QUOTES=$(usex offensive)
237 - -DGMX_USE_TNG=$(usex tng)
238 - -DGMX_BUILD_MANUAL=$(usex build-manual)
239 - -DGMX_HWLOC=$(usex hwloc)
240 - -DGMX_DEFAULT_SUFFIX=off
241 - -DGMX_SIMD="$acce"
242 - -DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/"
243 - -DBUILD_TESTING=$(usex test)
244 - -DGMX_BUILD_UNITTESTS=$(usex test)
245 - -DPYTHON_EXECUTABLE="${EPREFIX}/usr/bin/${EPYTHON}"
246 - ${extra}
247 - )
248 -
249 - for x in ${GMX_DIRS}; do
250 - einfo "Configuring for ${x} precision"
251 - local suffix=""
252 - #if we build single and double - double is suffixed
253 - use double-precision && use single-precision && \
254 - [[ ${x} = "double" ]] && suffix="_d"
255 - local p
256 - [[ ${x} = "double" ]] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF"
257 - local gpu=( "-DGMX_GPU=OFF" )
258 - [[ ${x} = "float" ]] && use cuda && gpu=( "-DGMX_GPU=CUDA" )
259 - use opencl && gpu=( "-DGMX_GPU=OPENCL" )
260 - local mycmakeargs=(
261 - ${mycmakeargs_pre[@]} ${p}
262 - -DGMX_MPI=OFF
263 - -DGMX_THREAD_MPI=$(usex threads)
264 - -DGMXAPI=$(usex gmxapi)
265 - -DGMX_INSTALL_LEGACY_API=$(usex gmxapi-legacy)
266 - "${gpu[@]}"
267 - "$(use test && echo -DREGRESSIONTEST_PATH="${WORKDIR}/${P}_${x}/tests")"
268 - -DGMX_BINARY_SUFFIX="${suffix}"
269 - -DGMX_LIBS_SUFFIX="${suffix}"
270 - -DGMX_PYTHON_PACKAGE=$(usex python)
271 - )
272 - BUILD_DIR="${WORKDIR}/${P}_${x}" cmake_src_configure
273 - [[ ${CHOST} != *-darwin* ]] || \
274 - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}/gentoo_rules.cmake" || die
275 - use mpi || continue
276 - einfo "Configuring for ${x} precision with mpi"
277 - local mycmakeargs=(
278 - ${mycmakeargs_pre[@]} ${p}
279 - -DGMX_THREAD_MPI=OFF
280 - -DGMX_MPI=ON
281 - -DGMX_OPENMM=OFF
282 - -DGMXAPI=OFF
283 - "${opencl[@]}"
284 - "${cuda[@]}"
285 - -DGMX_BUILD_MDRUN_ONLY=ON
286 - -DBUILD_SHARED_LIBS=OFF
287 - -DGMX_BUILD_MANUAL=OFF
288 - -DGMX_BINARY_SUFFIX="_mpi${suffix}"
289 - -DGMX_LIBS_SUFFIX="_mpi${suffix}"
290 - )
291 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" CC="mpicc" cmake_src_configure
292 - [[ ${CHOST} != *-darwin* ]] || \
293 - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}_mpi/gentoo_rules.cmake" || die
294 - done
295 -}
296 -
297 -src_compile() {
298 - for x in ${GMX_DIRS}; do
299 - einfo "Compiling for ${x} precision"
300 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
301 - cmake_src_compile
302 - if use python; then
303 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
304 - cmake_src_compile python_packaging/all
305 - BUILD_DIR="${WORKDIR}/${P}" \
306 - distutils-r1_src_compile
307 - fi
308 - # not 100% necessary for rel ebuilds as available from website
309 - if use build-manual; then
310 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
311 - cmake_src_compile manual
312 - fi
313 - use mpi || continue
314 - einfo "Compiling for ${x} precision with mpi"
315 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\
316 - cmake_src_compile
317 - done
318 -}
319 -
320 -src_test() {
321 - for x in ${GMX_DIRS}; do
322 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
323 - cmake_src_compile check
324 - done
325 -}
326 -
327 -src_install() {
328 - for x in ${GMX_DIRS}; do
329 - BUILD_DIR="${WORKDIR}/${P}_${x}" \
330 - cmake_src_install
331 - if use python; then
332 - BUILD_DIR="${WORKDIR}/${P}_${x}" \
333 - cmake_src_install python_packaging/install
334 - fi
335 - if use build-manual; then
336 - newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf"
337 - fi
338 -
339 - if use doc; then
340 - if [[ ${PV} != *9999* ]]; then
341 - newdoc "${DISTDIR}/manual-${PV}.pdf" "${PN}-manual-${PV}.pdf"
342 - fi
343 - fi
344 -
345 - use mpi || continue
346 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \
347 - cmake_src_install
348 - done
349 -
350 - if use tng; then
351 - insinto /usr/include/tng
352 - doins src/external/tng_io/include/tng/*h
353 - fi
354 - # drop unneeded stuff
355 - rm "${ED}"/usr/bin/GMXRC* || die
356 - for x in "${ED}"/usr/bin/gmx-completion-*.bash ; do
357 - local n=${x##*/gmx-completion-}
358 - n="${n%.bash}"
359 - cat "${ED}"/usr/bin/gmx-completion.bash "$x" > "${T}/${n}" || die
360 - newbashcomp "${T}"/"${n}" "${n}"
361 - done
362 - rm "${ED}"/usr/bin/gmx-completion*.bash || die
363 - readme.gentoo_create_doc
364 -}
365 -
366 -pkg_postinst() {
367 - einfo
368 - einfo "Please read and cite gromacs related papers from list:"
369 - einfo "https://www.gromacs.org/Gromacs_papers"
370 - einfo
371 - readme.gentoo_print_elog
372 -}