Gentoo Archives: gentoo-commits

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