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: Thu, 28 Apr 2022 08:37:10
Message-Id: 1651135019.bbb7f1da16441e92716829c4d0cd638477765735.alexxy@gentoo
1 commit: bbb7f1da16441e92716829c4d0cd638477765735
2 Author: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
3 AuthorDate: Thu Apr 28 08:06:18 2022 +0000
4 Commit: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
5 CommitDate: Thu Apr 28 08:36:59 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbb7f1da
7
8 sci-chemistry/gromacs: add 2022.1
9
10 Signed-off-by: Alexey Shvetsov <alexxy <AT> gentoo.org>
11
12 sci-chemistry/gromacs/Manifest | 3 +
13 sci-chemistry/gromacs/gromacs-2022.1.ebuild | 336 ++++++++++++++++++++++++++++
14 2 files changed, 339 insertions(+)
15
16 diff --git a/sci-chemistry/gromacs/Manifest b/sci-chemistry/gromacs/Manifest
17 index 7ebd8ba87eda..4e4bc9214391 100644
18 --- a/sci-chemistry/gromacs/Manifest
19 +++ b/sci-chemistry/gromacs/Manifest
20 @@ -4,6 +4,7 @@ DIST gromacs-2020.4.tar.gz 29149899 BLAKE2B a07c8efd96137d58c1edf4ac9b5aafeb16d9
21 DIST gromacs-2020.7.tar.gz 29175554 BLAKE2B 98f1aa415946f8eb113febc81105f0c1b0919b96fc3c55a0ab83bf3950ff509b81eade92e645adb0bc2b407df239e20cf3f19828b6e08616437c8693c1fddcc8 SHA512 1d375c44cec38445e56cea252623b5b6c565680268999d4b6c14d6dc38759a27227655b2d29efaab9f9115d3677b446cb555e11cddafa0dc10c4827caaa2477b
22 DIST gromacs-2021.3.tar.gz 37987972 BLAKE2B d71995c7d5a34978246e33dc637ac3d273e547afcf72d1a107026650f03286ecdf27e4b9a70113b3c3a01af59ad49ac5c813aa6e5d2e8eb29fd05582a7a28d34 SHA512 da420917d06de2e192dfbb4e1b9f46989ed05b5c7e641c657104ed8f2bd8b22509bffd1ecfd7c965c80544eafa6af12d6d0aba7e1e7d9d14a4a88fb3fbf394a5
23 DIST gromacs-2021.5.tar.gz 38023772 BLAKE2B 45e1f080b86626423e471f06b48b615db1913048f9f6998da8ce45408339b32f829d33dd2af57297a7d307fcffd556c333a58c309ee0f2adb021ca3755619b05 SHA512 56c1b312fc8e52ec6f86e445d2fa2d07107c461b35d4dc8cdf95580f05fd8e6c5fd671d0e72b2b9e74e3232bc8c41db496fe4bcaf2b9a3ae3c2cfa93489a31c5
24 +DIST gromacs-2022.1.tar.gz 40375423 BLAKE2B fe28ec4c080500d0248bd3d37ec742e8cf51ba3520b5a7c3f640413b232fcf96354940c743e2a54a9fde04c98ecb2fd317863d8c06b008f516fefc0e9e1197dd SHA512 80c98badb7ebad171925486d1676b64e787cf8cbfb8f1b1cf1ccab8cbf8d8340f7fdd084dfb7388afc7a3aef23b95d603265305faf82125324307d86460c6f17
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 @@ -11,6 +12,7 @@ DIST manual-2020.4.pdf 11851608 BLAKE2B 7b7bdf08e8946fcc448543b08391b94a67fee60a
29 DIST manual-2020.7.pdf 11850780 BLAKE2B 38594e87993badfbbcf47d6010a7f67d3c3426dab85e1462916b4d62be27b5764953f912cf2b71ee24877e0bfa27b3f74431da2da81b4977d58cb66b2cc795a3 SHA512 4f184f2c90e0bac01a48069cc546cd5b04fa5f543f90dd2d68c6d17be278152fd09456b6a6c5c8236f8fb85a174d6ec7a1c7b44d437b4e6fea5d0ada73cec0f6
30 DIST manual-2021.3.pdf 12255076 BLAKE2B 6ca516b6832507c9d4100679d1f9bc9e3ab17d226849b050764b0d0626247dc57ce49985f9a7fc0061f3df278923a83faa367ca8ab91c37e5624dc584a51a822 SHA512 5d53798f30ea00fcb4e1b35f7eaa4bebfc05dafa4f2d0c197dcf2b57a624ad3a98b74fd90722e40d0ac13a6fff4ca231f9d6340f52ba94659c827c53c2f1cb16
31 DIST manual-2021.5.pdf 12253641 BLAKE2B 8850715a2bb21345e1c9735aca1a5dd2ad916e5a18881e7c9f3dda6f055ca12d9d379b74218138999ce50769efd8b9dd6447afbf70bbbefa2564dfb9fb276b91 SHA512 7635108c935e4953d722df6a16ee43edf97eef7e49f047218728f68f61f8f185192ff1d8b13a573b643b040955af211355a7b560c8a894c858d7f71249d41296
32 +DIST manual-2022.1.pdf 13069337 BLAKE2B fed4d5b5ddc2b91dd2de2873c3efc01f6ce65b033840a79fda471b4481920fa6c5f5d9f23660d97ba4c84e0c7b75dc4c8723ed51413ad55c980818c394e9fde1 SHA512 73455190aec62aaffe760dddac4de26ea148d825f4c2d0e04d38c88b87fe15b7138b5a872bf9757452ac39e68942943c73e19025730ece8052d4a6a1873ca40e
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 @@ -18,4 +20,5 @@ DIST regressiontests-2020.4.tar.gz 48542144 BLAKE2B 1dcde67525d40ababa74d9e8ba2d
37 DIST regressiontests-2020.7.tar.gz 48541487 BLAKE2B 255608b52158c6c01e7c7c4dcf075128ecf22b2f26d32e8c203de8a4bc69c60ec95f49cf8ccd64abc3073c5e8dca9d6b01daed9dfb8f67bce2dd068ed01acd05 SHA512 2458582f94f3c9f4e1454824ce3940b4f5b6cb2151d06846c42e7a9448296fd2a6df4f53be9624e0d3317d2b59f89bb5348eb8b2970d7b46ac22ca989ef3458a
38 DIST regressiontests-2021.3.tar.gz 48515038 BLAKE2B ee79d8adddc9c68f7d59d9e568b12bf4d1fe0e44c2810fee846ad6f689bbcacf60f5c266433946329e64e3127bc2d37a3f81f69c070c636b411b38067650c2cf SHA512 e14baa22ef2902a23125bbd9143ae7a9a4810498b321794ff1989f8d044d47db5db41d5225798fda08016c05e5f7f315178b5a6e35cdf01e3b6604670a8ce7a2
39 DIST regressiontests-2021.5.tar.gz 48537298 BLAKE2B 860ac34aa8706ecdafab4472162775ce12726d93839079ebf9b7df8c2c6a1b47baa8a635c24cf4cb4551a32237c3de7da3197ec136b5bbf48663edc3943720ad SHA512 3605d04b2602339fb7d33e2776da2ada337ca58a3802472d47f490d4e8dd04249a950bf34608a498eedebf69f344c0311bac8f7fcb58ce0ebbb6d608ee39aa2e
40 +DIST regressiontests-2022.1.tar.gz 48613957 BLAKE2B 57113b1030baed0d4a635c4c4c7123e77640223dddc4e3d7b40d9a2b3805be85fcc3ca0dfc5f3d92f2dce9b962b67ca8732db2c782953c9a5ed1381bf6f02357 SHA512 44633e7497601a4cf11dd6af9d043ca132efe43246b6d924c57f879d2e6f7a6379390d9897e03d7a8f645e7bdbb76a81586b56c5e61846d9f40c137a4de216c2
41 DIST regressiontests-2022.tar.gz 48616817 BLAKE2B 5d303f365a8b3c4554232ca3e583f0eacc1973dd62faaed769d297efb5d7dde3ca04b8071786ecee992a83d7980aa244965212856f48c8832ca55805af61b1c1 SHA512 4566b76b5eb3bbdcdfed8330d4fcd7ada02eb6802434aa9f2ed4f775da780e4bde7daa35d79a72b3f25c540cb1c2b347aa2e6d504a77c095830da024a933fab5
42
43 diff --git a/sci-chemistry/gromacs/gromacs-2022.1.ebuild b/sci-chemistry/gromacs/gromacs-2022.1.ebuild
44 new file mode 100644
45 index 000000000000..338c03cc2a11
46 --- /dev/null
47 +++ b/sci-chemistry/gromacs/gromacs-2022.1.ebuild
48 @@ -0,0 +1,336 @@
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..10} )
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 ~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 + [[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs"
139 + use openmp && ! tc-has-openmp && \
140 + die "Please switch to an openmp compatible compiler"
141 +}
142 +
143 +pkg_setup() {
144 + python-single-r1_pkg_setup
145 +}
146 +
147 +src_unpack() {
148 + if [[ ${PV} != *9999 ]]; then
149 + default
150 + else
151 + git-r3_src_unpack
152 + if use test; then
153 + EGIT_REPO_URI="git://git.gromacs.org/regressiontests.git" \
154 + EGIT_BRANCH="${EGIT_BRANCH}" \
155 + EGIT_CHECKOUT_DIR="${WORKDIR}/regressiontests"\
156 + git-r3_src_unpack
157 + fi
158 + fi
159 +}
160 +
161 +src_prepare() {
162 + #notes/todos
163 + # -on apple: there is framework support
164 +
165 + xdg_environment_reset #591952
166 +
167 + # we can use clang as default
168 + if use clang && ! tc-is-clang ; then
169 + export CC=${CHOST}-clang
170 + export CXX=${CHOST}-clang++
171 + else
172 + tc-export CXX CC
173 + fi
174 + # clang-cuda need to filter mfpmath
175 + if use clang-cuda ; then
176 + filter-mfpmath sse
177 + filter-mfpmath i386
178 + fi
179 +
180 + cmake_src_prepare
181 +
182 + use cuda && cuda_src_prepare
183 +
184 + GMX_DIRS=""
185 + use single-precision && GMX_DIRS+=" float"
186 + use double-precision && GMX_DIRS+=" double"
187 +
188 + if use test; then
189 + for x in ${GMX_DIRS}; do
190 + mkdir -p "${WORKDIR}/${P}_${x}" || die
191 + cp -al "${WORKDIR}/regressiontests"* "${WORKDIR}/${P}_${x}/tests" || die
192 + done
193 + fi
194 +
195 + DOC_CONTENTS="Gromacs can use sci-chemistry/vmd to read additional file formats"
196 + if use build-manual; then
197 + # try to create policy for imagemagik
198 + mkdir -p ${HOME}/.config/ImageMagick
199 + cat >> ${HOME}/.config/ImageMagick/policy.xml <<- EOF
200 + <?xml version="1.0" encoding="UTF-8"?>
201 + <!DOCTYPE policymap [
202 + <!ELEMENT policymap (policy)+>
203 + !ATTLIST policymap xmlns CDATA #FIXED ''>
204 + <!ELEMENT policy EMPTY>
205 + <!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
206 + name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
207 + stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
208 + ]>
209 + <policymap>
210 + <policy domain="coder" rights="read | write" pattern="PS" />
211 + <policy domain="coder" rights="read | write" pattern="PS2" />
212 + <policy domain="coder" rights="read | write" pattern="PS3" />
213 + <policy domain="coder" rights="read | write" pattern="EPS" />
214 + <policy domain="coder" rights="read | write" pattern="PDF" />
215 + <policy domain="coder" rights="read | write" pattern="XPS" />
216 + </policymap>
217 + EOF
218 + fi
219 +}
220 +
221 +src_configure() {
222 + local mycmakeargs_pre=( ) extra fft_opts=( )
223 + local acce="AUTO"
224 +
225 + if use custom-cflags; then
226 + #go from slowest to fastest acceleration
227 + acce="None"
228 + if (use amd64 || use x86); then
229 + use cpu_flags_x86_sse2 && acce="SSE2"
230 + use cpu_flags_x86_sse4_1 && acce="SSE4.1"
231 + use cpu_flags_x86_fma4 && acce="AVX_128_FMA"
232 + use cpu_flags_x86_avx && acce="AVX_256"
233 + use cpu_flags_x86_avx2 && acce="AVX2_256"
234 + use cpu_flags_x86_avx512f && acce="AVX_512"
235 + elif (use arm); then
236 + use cpu_flags_arm_neon && acce="ARM_NEON"
237 + elif (use arm64); then
238 + use cpu_flags_arm_neon && acce="ARM_NEON_ASIMD"
239 + fi
240 + else
241 + strip-flags
242 + fi
243 +
244 + #to create man pages, build tree binaries are executed (bug #398437)
245 + [[ ${CHOST} = *-darwin* ]] && \
246 + extra+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF"
247 +
248 + if use fftw; then
249 + fft_opts=( -DGMX_FFT_LIBRARY=fftw3 )
250 + elif use mkl && has_version "=sci-libs/mkl-10*"; then
251 + fft_opts=( -DGMX_FFT_LIBRARY=mkl
252 + -DMKL_INCLUDE_DIR="${MKLROOT}/include"
253 + -DMKL_LIBRARIES="$(echo /opt/intel/mkl/10.0.5.025/lib/*/libmkl.so);$(echo /opt/intel/mkl/10.0.5.025/lib/*/libiomp*.so)"
254 + )
255 + elif use mkl; then
256 + local bits=$(get_libdir)
257 + fft_opts=( -DGMX_FFT_LIBRARY=mkl
258 + -DMKL_INCLUDE_DIR="$(echo /opt/intel/*/mkl/include)"
259 + -DMKL_LIBRARIES="$(echo /opt/intel/*/mkl/lib/*${bits/lib}/libmkl_rt.so)"
260 + )
261 + else
262 + fft_opts=( -DGMX_FFT_LIBRARY=fftpack )
263 + fi
264 +
265 + mycmakeargs_pre+=(
266 + "${fft_opts[@]}"
267 + "${lmfit_opts[@]}"
268 + -DGMX_USE_LMFIT=EXTERNAL
269 + -DGMX_USE_MUPARSER=EXTERNAL
270 + -DGMX_EXTERNAL_BLAS=$(usex blas)
271 + -DGMX_EXTERNAL_LAPACK=$(usex lapack)
272 + -DGMX_OPENMP=$(usex openmp)
273 + -DGMX_COOL_QUOTES=$(usex offensive)
274 + -DGMX_USE_TNG=$(usex tng)
275 + -DGMX_BUILD_MANUAL=$(usex build-manual)
276 + -DGMX_HWLOC=$(usex hwloc)
277 + -DGMX_DEFAULT_SUFFIX=off
278 + -DGMX_SIMD="$acce"
279 + -DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/"
280 + -DGMX_DSSP_PROGRAM_PATH="${EPREFIX}/usr/bin/dssp"
281 + -DBUILD_TESTING=$(usex test)
282 + -DGMX_BUILD_UNITTESTS=$(usex test)
283 + -DPYTHON_EXECUTABLE="${EPREFIX}/usr/bin/${EPYTHON}"
284 + ${extra}
285 + )
286 +
287 + for x in ${GMX_DIRS}; do
288 + einfo "Configuring for ${x} precision"
289 + local suffix=""
290 + #if we build single and double - double is suffixed
291 + use double-precision && use single-precision && \
292 + [[ ${x} = "double" ]] && suffix="_d"
293 + local p
294 + [[ ${x} = "double" ]] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF"
295 + local gpu=( "-DGMX_GPU=OFF" )
296 + [[ ${x} = "float" ]] && use cuda && gpu=( "-DGMX_GPU=CUDA" )
297 + [[ ${x} = "float" ]] && use clang-cuda && gpu=( "-DGMX_GPU=CUDA" "-DGMX_CLANG_CUDA=ON" )
298 + use opencl && gpu=( "-DGMX_GPU=OPENCL" )
299 + mycmakeargs=(
300 + ${mycmakeargs_pre[@]} ${p}
301 + -DGMX_MPI=$(usex mpi)
302 + -DGMX_THREAD_MPI=$(usex threads)
303 + -DGMXAPI=$(usex gmxapi)
304 + -DGMX_INSTALL_LEGACY_API=$(usex gmxapi-legacy)
305 + "${gpu[@]}"
306 + "$(use test && echo -DREGRESSIONTEST_PATH="${WORKDIR}/${P}_${x}/tests")"
307 + -DGMX_BINARY_SUFFIX="${suffix}"
308 + -DGMX_LIBS_SUFFIX="${suffix}"
309 + -DGMX_PYTHON_PACKAGE=$(usex python)
310 + )
311 + BUILD_DIR="${WORKDIR}/${P}_${x}" cmake_src_configure
312 + [[ ${CHOST} != *-darwin* ]] || \
313 + sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}/gentoo_rules.cmake" || die
314 + done
315 +}
316 +
317 +src_compile() {
318 + for x in ${GMX_DIRS}; do
319 + einfo "Compiling for ${x} precision"
320 + BUILD_DIR="${WORKDIR}/${P}_${x}"\
321 + cmake_src_compile
322 + if use python; then
323 + BUILD_DIR="${WORKDIR}/${P}_${x}"\
324 + cmake_src_compile python_packaging/all
325 + BUILD_DIR="${WORKDIR}/${P}" \
326 + distutils-r1_src_compile
327 + fi
328 + # not 100% necessary for rel ebuilds as available from website
329 + if use build-manual; then
330 + BUILD_DIR="${WORKDIR}/${P}_${x}"\
331 + cmake_src_compile manual
332 + fi
333 + done
334 +}
335 +
336 +src_test() {
337 + for x in ${GMX_DIRS}; do
338 + BUILD_DIR="${WORKDIR}/${P}_${x}"\
339 + cmake_src_compile check
340 + done
341 +}
342 +
343 +src_install() {
344 + for x in ${GMX_DIRS}; do
345 + BUILD_DIR="${WORKDIR}/${P}_${x}" \
346 + cmake_src_install
347 + if use python; then
348 + BUILD_DIR="${WORKDIR}/${P}_${x}" \
349 + cmake_src_install python_packaging/install
350 + fi
351 + if use build-manual; then
352 + newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf"
353 + fi
354 +
355 + if use doc; then
356 + if [[ ${PV} != *9999* ]]; then
357 + newdoc "${DISTDIR}/manual-${PV}.pdf" "${PN}-manual-${PV}.pdf"
358 + fi
359 + fi
360 + done
361 +
362 + if use tng; then
363 + insinto /usr/include/tng
364 + doins src/external/tng_io/include/tng/*h
365 + fi
366 + # drop unneeded stuff
367 + rm "${ED}"/usr/bin/GMXRC* || die
368 + for x in "${ED}"/usr/bin/gmx-completion-*.bash ; do
369 + local n=${x##*/gmx-completion-}
370 + n="${n%.bash}"
371 + cat "${ED}"/usr/bin/gmx-completion.bash "$x" > "${T}/${n}" || die
372 + newbashcomp "${T}"/"${n}" "${n}"
373 + done
374 + rm "${ED}"/usr/bin/gmx-completion*.bash || die
375 + readme.gentoo_create_doc
376 +}
377 +
378 +pkg_postinst() {
379 + einfo
380 + einfo "Please read and cite gromacs related papers from list:"
381 + einfo "https://www.gromacs.org/Gromacs_papers"
382 + einfo
383 + readme.gentoo_print_elog
384 +}