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