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: Fri, 18 Jun 2021 12:23:52
Message-Id: 1624019019.becf963f0a75869bd9d6ae48210a1055e32a65c0.alexxy@gentoo
1 commit: becf963f0a75869bd9d6ae48210a1055e32a65c0
2 Author: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jun 18 12:23:39 2021 +0000
4 Commit: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
5 CommitDate: Fri Jun 18 12:23:39 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=becf963f
7
8 sci-chemistry/gromacs: drop old
9
10 Package-Manager: Portage-3.0.20, Repoman-3.0.3
11 Signed-off-by: Alexey Shvetsov <alexxy <AT> gentoo.org>
12
13 sci-chemistry/gromacs/Manifest | 9 -
14 sci-chemistry/gromacs/gromacs-2020.5.ebuild | 351 ------------------------
15 sci-chemistry/gromacs/gromacs-2020.9999.ebuild | 351 ------------------------
16 sci-chemistry/gromacs/gromacs-2021.1.ebuild | 358 -------------------------
17 sci-chemistry/gromacs/gromacs-2021.ebuild | 355 ------------------------
18 5 files changed, 1424 deletions(-)
19
20 diff --git a/sci-chemistry/gromacs/Manifest b/sci-chemistry/gromacs/Manifest
21 index 001d1215733..c60eb6f9145 100644
22 --- a/sci-chemistry/gromacs/Manifest
23 +++ b/sci-chemistry/gromacs/Manifest
24 @@ -1,24 +1,15 @@
25 DIST gromacs-2018.8.tar.gz 29913703 BLAKE2B 8780032305928067fbfe1559efe9eedc4d47e27ab2f6ab54d6dba39edfcbeefbee4673d8910009048a850620b5a08ba8feb622db652c439cfa50a149ec5f0015 SHA512 6717895942f2ab7b54019511ed2aebadadde8e96d3c4b7414bb9168ffe418432d2dee330192e199f7b9d2f665c71f5d4f1ef0911aa7243d525a2ca182ef5b122
26 DIST gromacs-2019.6.tar.gz 33446147 BLAKE2B adc21fb6b841b06d499607f8c0166a673645ef5af0b40bd823d0fff5ea24397e6301c5e1e0070986ae1ce1deba8a42052b66da148b071c1e21f2fe3908fee275 SHA512 7c227a9539e5775d5d128ae9e872a24181d79cdcd2852b86453597987e8d7332ecec371da65d089f6e610c54aafbccc8824ce298743383dd6240719ebee692a8
27 DIST gromacs-2020.4.tar.gz 29149899 BLAKE2B a07c8efd96137d58c1edf4ac9b5aafeb16d9e65234b9459b71471827032654acacb58ed6ae87ec6e0e593a0acd799683cc4461b06cc883b089d740708619345e SHA512 0c56f058741af70660baf0177724ec940dd984c05ea141ede91ee51ce3744f76d00e31bdb5db907e46fa1639de5dca637b3ace26e89f908c2e74c69f0c21ed3a
28 -DIST gromacs-2020.5.tar.gz 29148909 BLAKE2B ea439ae95d4af67a77d53182f7ddab702799edab8527c1b6ad20625d21a81f3e3c0cc699fa0b656625bffcca0bdd5a1e104aea4f592ee2db92b4f1a460ad0e80 SHA512 fe38fda36d31aef5ce01a3dbc29c9f50d3cc05b20bb34a9a8f10fda5aecde4f93ca8a3f85433139e1bb88fc23d77916a4aff5a292abaa528bd0e6138e84cba18
29 DIST gromacs-2020.6.tar.gz 29196621 BLAKE2B b350fc62fd8eeb3f2b042fa74a4ed42e43a7b74efd8fddb60ec086a814048a52b8625da65fa5c4cf2cb1e22f8347562bc84d38bf34441fc5ebc6abaa38b0eea0 SHA512 4ce4d6b9ae33e9cd2a1ad3313e80acf63ded21dac897b01dbf87df2e318181796ef64c8a1d3e0a6058b972d8d88d00f710cd0277db12f38fc2c9b29772c98bea
30 -DIST gromacs-2021.1.tar.gz 37971732 BLAKE2B 722a3c21afd9d5ad432b601c99a2d5ebb85012479851d52517559bc113d75424e7509f417fb74f5f935ae6614e01a31e7361e7e673c966964fd73f08621c8415 SHA512 7f9104a3df8aa808940fd380653e43ae716167df717687717d67ddd556a29acc6ba7c2e78ff9b920b145eb521998645bee0b3816438b1398374b6b7a1831513e
31 DIST gromacs-2021.2.tar.gz 37976386 BLAKE2B 8818321bbcbdee25356bbf909d9c667f9d7cf180e696a323a61017683234d1269decc8f8d72b8012a8cc207f69e5cd97e2ab48dbbff06d82bbb407bc0578854b SHA512 51b1728f41932274436ab807d569109e2b0e145abcb5cf9c9b7daf6a7396f2f8716dc28fb93cf178c97a7eaeab2a88878d0bc71dd6c6abe7e829d579e7968615
32 -DIST gromacs-2021.tar.gz 35061679 BLAKE2B a7d8bd728480455e5c069392e3921a4f788802ec164ee24241cac9bc7c555cee07ef26853efa61e40a787fa87e6d20af35d56b98ac6a3757ef07fc4176679e19 SHA512 10d9d64b3c2329613a18d861589428841f55bede45e1800aec25246258209be1385aabaa0d5b52425c0ac21804c38b401db76448bb539ff3cf25f8b94e09575c
33 DIST manual-2018.8.pdf 10025023 BLAKE2B afb0a6e6a72d78df743fcb57e7c1716848589e571dd35167b957a9b407ca27978ccfb6cb9e0df9c9439b888f352501a00ba32281ed1e0b4193bd606f1d77152e SHA512 b1972f7ce965bfc9377542993c5943ea4868a8ed23a969d4203264746d6bea3a7a65c6379196ece37fd6d68ec7ec80f827bde87d1049284af7082759a124f1d5
34 DIST manual-2019.6.pdf 12702376 BLAKE2B c350127bc06a9eb3dee73da39037c84daeb89500e23cb131bd19a150bf60602d4dde7611e0c6f0f344af4093e96a899303dac71b4df56fd0c44c3a48a56606b7 SHA512 dfdff67c2c1c9ce1f1c236b7686c5331b0fe86951da6c98eddd6a3e748815e0be0a9653ae4318469fcdd913c4e7c355d64a997cc80b9d9fbe6282ef6d98e61eb
35 DIST manual-2020.4.pdf 11851608 BLAKE2B 7b7bdf08e8946fcc448543b08391b94a67fee60a8c810597c1f09f70443f9d7db817c99622dd0c21c6317f5fdcd6c4a88589ecac57055cb0cd8597d6021026e7 SHA512 928555663c77de36393e625c29d388d4e1c8c1298e7a993d871839e0d4d8d18d190221ad8f1d975bd072bdd6a061e9ea5b9295f2ecf45f24b6523ea5ea290fed
36 -DIST manual-2020.5.pdf 11850797 BLAKE2B b605de81cce385177f278b563526725688b4c2b0326f6f2c22bddc9b455c016365ee82731ad0ef2b2c9522e7d140c4a097b7a25f91552be60741d876bcc4c929 SHA512 0fa81494dbb4cb71c274fa1d1b1ef13bc5be8e69be841d429d06d5e9ef5517158b2130c0120ef6de13e73de5cd8af941c7b983ddba1da8af8214272704ce629e
37 DIST manual-2020.6.pdf 11850850 BLAKE2B 155e4eb9c200dcd0a38e3669b26077fcf310d437b82d9a593d333dada3989c2c8a936d62c642e195f98bb474b1673b8142405c467348fc96a74d57fb12106d76 SHA512 be508ebec597b82a2c4056029f8bb731b22cb8902628a45462ed21af54c554d28e07d5381efaaa96565202b7b47d33aea67950206cd9e8936211ae721b21b3e1
38 -DIST manual-2021.1.pdf 12252366 BLAKE2B c3f104f3a5c8b784b78bdb027ae3bf818977fd86e15b81760877423805d74f468417df6ad57b240d138f4ee4c567c2e7676c0084911ee1400ebfa7bab2673901 SHA512 8d4468da400abb39c307b1f31f5b4b4ae52152df1fb5bc7059a37072cd2a20136858d7280ea6a7138fe6c18e04821386d72f1ac4ee9a303e359e1d52b5250f12
39 DIST manual-2021.2.pdf 12252501 BLAKE2B 0dbf9024e1516076b0eeb46e41523b966d1d81f57504fe0501c7bc8575e74fb19e3452ac584757e425bcccbc737367fe83be87fd21a4287f4675cf87184b960b SHA512 14156d3b1017990e0be3ceb7ec055777a1aec4c347ac2e821a042d51c931f84ebca862f60644a90ed7ba4070cb14ff8babcde3e4351e4dbec84df8563e350984
40 -DIST manual-2021.pdf 12251377 BLAKE2B 6b3c80fedf04b3cdc05ec9b52e0dd78c0c7abf2d9819c00ad29e1d7e2dd829cfc0e61c86c899859ac6af6b631f856737810f05f9c903456805b5b9c9c6c85c16 SHA512 1bd61e4d052ebe4ff293be710159f135013d38f1299557d0b0e5edcf60d288d8534694896a1feebe572f52187f85e890e59b7c71644a0c03bd264cfae6d348bc
41 DIST regressiontests-2018.8.tar.gz 67855469 BLAKE2B 34c9b339f6229f483afbb5192ee6ba8b8f72d5c26907a853af9c53dfece0d88739e48f6b44b78d1c010f988f9385d077285300522164f533a5861e9dda879275 SHA512 3642389d27bd1942cd0f091c940ae97b197b94856a387fe581dc516b0d4169480f16551d4ba357f9282b3337d605c286d51dd38112ac87c826dda634904836bb
42 DIST regressiontests-2019.6.tar.gz 67643195 BLAKE2B 1e054e24b187946f7ea28090d4f20cf8e1d79a26253f57ba07d130e0773d8541b8a1552a38023d31a68ce8bc62d8e0af1d98609234bb3e7d3e6d567307ebb386 SHA512 eacf1c55b982515a305c29459fe80a7cd558a8481e5689962aa956148af542568b1d1ce59c6784ecb0afd4768c2b664afa21e12af2d89ae2b06b1ba61ad72036
43 DIST regressiontests-2020.4.tar.gz 48542144 BLAKE2B 1dcde67525d40ababa74d9e8ba2dd3fdef1de7d1018491e102edd71d3a622925f213b5a0812e5448882b4cb5fb578317e8e5029bdc4bd53008aa8441a3d9dea1 SHA512 7c71f36a1cef22562f14dcd233e90ad2fe370ae1a7d3b5268727259b374e12d4754253735ac8745d3738bdbc1cc2067780fda5e393be2ff264f632fe4e0c1978
44 -DIST regressiontests-2020.5.tar.gz 48541167 BLAKE2B 81f0505090203c970178ca4eba8dfd54d942a20970525cad954833481cd79141fa33fc97e8940ca83cee104ef6b017bc0f7bbed9eddc620a86c818760b3fc261 SHA512 aba67542ed00145cae8de040e4a9074a8a359a529135180e6083b2330934962302349d382d6626bddc6971ae6d44e09c8ea44d5df55ca5fcd038055a1c3e5cc3
45 DIST regressiontests-2020.6.tar.gz 48541232 BLAKE2B dbb405bd9168775984de8c9fb9e3fa2398d2790e2e4de23711c51a01dc3ea570d172a35d4924742ad5eda463eb0a885e6924512801e82b241600ceaefd5db70d SHA512 497a9e7d438b0b7b0734a97cf3683baf480ecc056e96b09f1e143c362ff047a4e51e323216750501c954559579716dc024d3c51319bd2c85fa719466ce4330b2
46 -DIST regressiontests-2021.1.tar.gz 48516304 BLAKE2B 61e49e7a3ce0856cd22a6adc360f476bd4978650e21ad64074d3cd8db1d6109fb86cb91bcb161d00d1e912cf3fa40dd83c07e5cc873dc2177a11d7fb304e7ecc SHA512 c1158b7890e2ff94c6600e531fdceee439f19ee2d18093b8be68fbd18064aae4b035c697ebda4e9b74d61c68d905c26515a41c34a2ac9f8dd8a29c5348ecbab1
47 DIST regressiontests-2021.2.tar.gz 48514312 BLAKE2B 81b007d5e5e1d054349c73dc8bc3589db328752e48a66687c0ad36be87ebe580df9cbd93b193a724669bd5765af06ec306f2e12af00a228af616de03943d6f05 SHA512 b687ddfd3dc6ec1051af2a3253633703ef1c82335d1df23379819ea47e44dfcd417e81e29610cc584d4c5fb1ee1cbc76731a3fd31b529d8cdd0b9c22f432c7ec
48 -DIST regressiontests-2021.tar.gz 48513192 BLAKE2B e27898ef3936495fce111c8debdafbdaafae07cd9b27c8591cc27695f681fddda34f083d427e5b3afd2f318ff41201eabc915025f1fddef61ae29ceb13f37557 SHA512 e33578d32b929d516614592d0bf4aac4e518cc4f18fee4048d5b73b11f4373494c6d8aa43442e4e2be632c12c058657bce1064be82c515787d57b449c1241e48
49
50 diff --git a/sci-chemistry/gromacs/gromacs-2020.5.ebuild b/sci-chemistry/gromacs/gromacs-2020.5.ebuild
51 deleted file mode 100644
52 index 41ac7771497..00000000000
53 --- a/sci-chemistry/gromacs/gromacs-2020.5.ebuild
54 +++ /dev/null
55 @@ -1,351 +0,0 @@
56 -# Copyright 1999-2021 Gentoo Authors
57 -# Distributed under the terms of the GNU General Public License v2
58 -
59 -EAPI=7
60 -
61 -CMAKE_MAKEFILE_GENERATOR="ninja"
62 -
63 -PYTHON_COMPAT=( python3_{7,8,9} )
64 -
65 -DISTUTILS_USE_SETUPTOOLS=no
66 -DISTUTILS_SINGLE_IMPL=1
67 -
68 -inherit bash-completion-r1 cmake cuda distutils-r1 flag-o-matic multilib readme.gentoo-r1 toolchain-funcs xdg-utils
69 -
70 -if [[ ${PV} = *9999* ]]; then
71 - EGIT_REPO_URI="
72 - https://gitlab.com/gromacs/gromacs.git
73 - https://github.com/gromacs/gromacs.git
74 - git://git.gromacs.org/gromacs.git"
75 - [[ ${PV} = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}"
76 - inherit git-r3
77 -else
78 - SRC_URI="
79 - http://ftp.gromacs.org/gromacs/${PN}-${PV/_/-}.tar.gz
80 - doc? ( https://ftp.gromacs.org/manual/manual-${PV/_/-}.pdf )
81 - test? ( http://ftp.gromacs.org/regressiontests/regressiontests-${PV/_/-}.tar.gz )"
82 - KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~x64-macos"
83 -fi
84 -
85 -ACCE_IUSE="cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_fma4 cpu_flags_x86_avx cpu_flags_x86_avx2"
86 -
87 -DESCRIPTION="The ultimate molecular dynamics simulation package"
88 -HOMEPAGE="http://www.gromacs.org/"
89 -
90 -# see COPYING for details
91 -# https://repo.or.cz/w/gromacs.git/blob/HEAD:/COPYING
92 -# base, vmd plugins, fftpack from numpy, blas/lapck from netlib, memtestG80 library, mpi_thread lib
93 -LICENSE="LGPL-2.1 UoI-NCSA !mkl? ( !fftw? ( BSD ) !blas? ( BSD ) !lapack? ( BSD ) ) cuda? ( LGPL-3 ) threads? ( BSD )"
94 -SLOT="0/${PV}"
95 -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}"
96 -
97 -CDEPEND="
98 - X? (
99 - x11-libs/libX11
100 - x11-libs/libSM
101 - x11-libs/libICE
102 - )
103 - blas? ( virtual/blas )
104 - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.14 )
105 - opencl? ( virtual/opencl )
106 - fftw? ( sci-libs/fftw:3.0 )
107 - hwloc? ( sys-apps/hwloc )
108 - lapack? ( virtual/lapack )
109 - lmfit? ( sci-libs/lmfit )
110 - mkl? ( sci-libs/mkl )
111 - mpi? ( virtual/mpi )
112 - ${PYTHON_DEPS}
113 - !sci-chemistry/gmxapi
114 - "
115 -BDEPEND="${CDEPEND}
116 - virtual/pkgconfig
117 - build-manual? (
118 - app-doc/doxygen
119 - $(python_gen_cond_dep '
120 - dev-python/sphinx[${PYTHON_MULTI_USEDEP}]
121 - ')
122 - media-gfx/mscgen
123 - media-gfx/graphviz
124 - dev-texlive/texlive-latex
125 - dev-texlive/texlive-latexextra
126 - media-gfx/imagemagick
127 - )"
128 -RDEPEND="${CDEPEND}"
129 -
130 -REQUIRED_USE="
131 - || ( single-precision double-precision )
132 - || ( doc build-manual )
133 - cuda? ( single-precision )
134 - cuda? ( !opencl )
135 - mkl? ( !blas !fftw !lapack )
136 - ${PYTHON_REQUIRED_USE}"
137 -
138 -DOCS=( AUTHORS README )
139 -
140 -RESTRICT="!test? ( test )"
141 -
142 -if [[ ${PV} != *9999 ]]; then
143 - S="${WORKDIR}/${PN}-${PV/_/-}"
144 -fi
145 -
146 -PATCHES=( "${FILESDIR}/${PN}-2020-pytest.patch" )
147 -
148 -pkg_pretend() {
149 - [[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs"
150 - use openmp && ! tc-has-openmp && \
151 - die "Please switch to an openmp compatible compiler"
152 -}
153 -
154 -pkg_setup() {
155 - python-single-r1_pkg_setup
156 -}
157 -
158 -src_unpack() {
159 - if [[ ${PV} != *9999 ]]; then
160 - default
161 - else
162 - git-r3_src_unpack
163 - if use test; then
164 - EGIT_REPO_URI="git://git.gromacs.org/regressiontests.git" \
165 - EGIT_BRANCH="${EGIT_BRANCH}" \
166 - EGIT_CHECKOUT_DIR="${WORKDIR}/regressiontests"\
167 - git-r3_src_unpack
168 - fi
169 - fi
170 -}
171 -
172 -src_prepare() {
173 - #notes/todos
174 - # -on apple: there is framework support
175 -
176 - xdg_environment_reset #591952
177 -
178 - cmake_src_prepare
179 -
180 - use cuda && cuda_src_prepare
181 -
182 - GMX_DIRS=""
183 - use single-precision && GMX_DIRS+=" float"
184 - use double-precision && GMX_DIRS+=" double"
185 -
186 - if use test; then
187 - for x in ${GMX_DIRS}; do
188 - mkdir -p "${WORKDIR}/${P}_${x}" || die
189 - cp -al "${WORKDIR}/regressiontests"* "${WORKDIR}/${P}_${x}/tests" || die
190 - done
191 - fi
192 -
193 - DOC_CONTENTS="Gromacs can use sci-chemistry/vmd to read additional file formats"
194 - if use build-manual; then
195 - # try to create policy for imagemagik
196 - mkdir -p ${HOME}/.config/ImageMagick
197 - cat >> ${HOME}/.config/ImageMagick/policy.xml <<- EOF
198 - <?xml version="1.0" encoding="UTF-8"?>
199 - <!DOCTYPE policymap [
200 - <!ELEMENT policymap (policy)+>
201 - !ATTLIST policymap xmlns CDATA #FIXED ''>
202 - <!ELEMENT policy EMPTY>
203 - <!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
204 - name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
205 - stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
206 - ]>
207 - <policymap>
208 - <policy domain="coder" rights="read | write" pattern="PS" />
209 - <policy domain="coder" rights="read | write" pattern="PS2" />
210 - <policy domain="coder" rights="read | write" pattern="PS3" />
211 - <policy domain="coder" rights="read | write" pattern="EPS" />
212 - <policy domain="coder" rights="read | write" pattern="PDF" />
213 - <policy domain="coder" rights="read | write" pattern="XPS" />
214 - </policymap>
215 - EOF
216 - fi
217 -}
218 -
219 -src_configure() {
220 - local mycmakeargs_pre=( ) extra fft_opts=( )
221 -
222 - if use custom-cflags; then
223 - #go from slowest to fastest acceleration
224 - local acce="None"
225 - use cpu_flags_x86_sse2 && acce="SSE2"
226 - use cpu_flags_x86_sse4_1 && acce="SSE4.1"
227 - use cpu_flags_x86_fma4 && acce="AVX_128_FMA"
228 - use cpu_flags_x86_avx && acce="AVX_256"
229 - use cpu_flags_x86_avx2 && acce="AVX2_256"
230 - else
231 - strip-flags
232 - fi
233 -
234 - #to create man pages, build tree binaries are executed (bug #398437)
235 - [[ ${CHOST} = *-darwin* ]] && \
236 - extra+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF"
237 -
238 - if use fftw; then
239 - fft_opts=( -DGMX_FFT_LIBRARY=fftw3 )
240 - elif use mkl && has_version "=sci-libs/mkl-10*"; then
241 - fft_opts=( -DGMX_FFT_LIBRARY=mkl
242 - -DMKL_INCLUDE_DIR="${MKLROOT}/include"
243 - -DMKL_LIBRARIES="$(echo /opt/intel/mkl/10.0.5.025/lib/*/libmkl.so);$(echo /opt/intel/mkl/10.0.5.025/lib/*/libiomp*.so)"
244 - )
245 - elif use mkl; then
246 - local bits=$(get_libdir)
247 - fft_opts=( -DGMX_FFT_LIBRARY=mkl
248 - -DMKL_INCLUDE_DIR="$(echo /opt/intel/*/mkl/include)"
249 - -DMKL_LIBRARIES="$(echo /opt/intel/*/mkl/lib/*${bits/lib}/libmkl_rt.so)"
250 - )
251 - else
252 - fft_opts=( -DGMX_FFT_LIBRARY=fftpack )
253 - fi
254 -
255 - if use lmfit; then
256 - local lmfit_opts=( -DGMX_USE_LMFIT=EXTERNAL )
257 - else
258 - local lmfit_opts=( -DGMX_USE_LMFIT=INTERNAL )
259 - fi
260 -
261 - mycmakeargs_pre+=(
262 - "${fft_opts[@]}"
263 - "${lmfit_opts[@]}"
264 - -DGMX_X11=$(usex X)
265 - -DGMX_EXTERNAL_BLAS=$(usex blas)
266 - -DGMX_EXTERNAL_LAPACK=$(usex lapack)
267 - -DGMX_OPENMP=$(usex openmp)
268 - -DGMX_COOL_QUOTES=$(usex offensive)
269 - -DGMX_USE_TNG=$(usex tng)
270 - -DGMX_BUILD_MANUAL=$(usex build-manual)
271 - -DGMX_HWLOC=$(usex hwloc)
272 - -DGMX_DEFAULT_SUFFIX=off
273 - -DGMX_SIMD="$acce"
274 - -DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/"
275 - -DBUILD_TESTING=$(usex test)
276 - -DGMX_BUILD_UNITTESTS=$(usex test)
277 - -DPYTHON_EXECUTABLE="${EPREFIX}/usr/bin/${EPYTHON}"
278 - ${extra}
279 - )
280 -
281 - for x in ${GMX_DIRS}; do
282 - einfo "Configuring for ${x} precision"
283 - local suffix=""
284 - #if we build single and double - double is suffixed
285 - use double-precision && use single-precision && \
286 - [[ ${x} = "double" ]] && suffix="_d"
287 - local p
288 - [[ ${x} = "double" ]] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF"
289 - local cuda=( "-DGMX_GPU=OFF" )
290 - [[ ${x} = "float" ]] && use cuda && \
291 - cuda=( "-DGMX_GPU=ON" )
292 - local opencl=( "-DGMX_USE_OPENCL=OFF" )
293 - use opencl && opencl=( "-DGMX_USE_OPENCL=ON" ) cuda=( "-DGMX_GPU=ON" )
294 - mycmakeargs=(
295 - ${mycmakeargs_pre[@]} ${p}
296 - -DGMX_MPI=OFF
297 - -DGMX_THREAD_MPI=$(usex threads)
298 - -DGMXAPI=$(usex gmxapi)
299 - -DGMX_INSTALL_LEGACY_API=$(usex gmxapi-legacy)
300 - "${opencl[@]}"
301 - "${cuda[@]}"
302 - "$(use test && echo -DREGRESSIONTEST_PATH="${WORKDIR}/${P}_${x}/tests")"
303 - -DGMX_BINARY_SUFFIX="${suffix}"
304 - -DGMX_LIBS_SUFFIX="${suffix}"
305 - -DGMX_PYTHON_PACKAGE=$(usex python)
306 - )
307 - BUILD_DIR="${WORKDIR}/${P}_${x}" cmake_src_configure
308 - [[ ${CHOST} != *-darwin* ]] || \
309 - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}/gentoo_rules.cmake" || die
310 - use mpi || continue
311 - einfo "Configuring for ${x} precision with mpi"
312 - mycmakeargs=(
313 - ${mycmakeargs_pre[@]} ${p}
314 - -DGMX_THREAD_MPI=OFF
315 - -DGMX_MPI=ON
316 - -DGMX_OPENMM=OFF
317 - -DGMXAPI=OFF
318 - "${opencl[@]}"
319 - "${cuda[@]}"
320 - -DGMX_BUILD_MDRUN_ONLY=ON
321 - -DBUILD_SHARED_LIBS=OFF
322 - -DGMX_BUILD_MANUAL=OFF
323 - -DGMX_BINARY_SUFFIX="_mpi${suffix}"
324 - -DGMX_LIBS_SUFFIX="_mpi${suffix}"
325 - )
326 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" CC="mpicc" cmake_src_configure
327 - [[ ${CHOST} != *-darwin* ]] || \
328 - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}_mpi/gentoo_rules.cmake" || die
329 - done
330 -}
331 -
332 -src_compile() {
333 - for x in ${GMX_DIRS}; do
334 - einfo "Compiling for ${x} precision"
335 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
336 - cmake_src_compile
337 - if use python; then
338 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
339 - cmake_src_compile python_packaging/all
340 - BUILD_DIR="${WORKDIR}/${P}" \
341 - distutils-r1_src_compile
342 - fi
343 - # not 100% necessary for rel ebuilds as available from website
344 - if use build-manual; then
345 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
346 - cmake_src_compile manual
347 - fi
348 - use mpi || continue
349 - einfo "Compiling for ${x} precision with mpi"
350 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\
351 - cmake_src_compile
352 - done
353 -}
354 -
355 -src_test() {
356 - for x in ${GMX_DIRS}; do
357 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
358 - cmake_src_compile check
359 - done
360 -}
361 -
362 -src_install() {
363 - for x in ${GMX_DIRS}; do
364 - BUILD_DIR="${WORKDIR}/${P}_${x}" \
365 - cmake_src_install
366 - if use python; then
367 - BUILD_DIR="${WORKDIR}/${P}_${x}" \
368 - cmake_src_install python_packaging/install
369 - fi
370 - if use build-manual; then
371 - newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf"
372 - fi
373 -
374 - if use doc; then
375 - newdoc "${DISTDIR}/manual-${PV}.pdf" "${PN}-manual-${PV}.pdf"
376 - fi
377 -
378 - use mpi || continue
379 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \
380 - cmake_src_install
381 - done
382 -
383 - if use tng; then
384 - insinto /usr/include/tng
385 - doins src/external/tng_io/include/tng/*h
386 - fi
387 - # drop unneeded stuff
388 - rm "${ED}"/usr/bin/GMXRC* || die
389 - for x in "${ED}"/usr/bin/gmx-completion-*.bash ; do
390 - local n=${x##*/gmx-completion-}
391 - n="${n%.bash}"
392 - cat "${ED}"/usr/bin/gmx-completion.bash "$x" > "${T}/${n}" || die
393 - newbashcomp "${T}"/"${n}" "${n}"
394 - done
395 - rm "${ED}"/usr/bin/gmx-completion*.bash || die
396 - readme.gentoo_create_doc
397 -}
398 -
399 -pkg_postinst() {
400 - einfo
401 - einfo "Please read and cite:"
402 - einfo "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). "
403 - einfo "https://dx.doi.org/10.1021/ct700301q"
404 - einfo
405 - readme.gentoo_print_elog
406 -}
407
408 diff --git a/sci-chemistry/gromacs/gromacs-2020.9999.ebuild b/sci-chemistry/gromacs/gromacs-2020.9999.ebuild
409 deleted file mode 100644
410 index 41ac7771497..00000000000
411 --- a/sci-chemistry/gromacs/gromacs-2020.9999.ebuild
412 +++ /dev/null
413 @@ -1,351 +0,0 @@
414 -# Copyright 1999-2021 Gentoo Authors
415 -# Distributed under the terms of the GNU General Public License v2
416 -
417 -EAPI=7
418 -
419 -CMAKE_MAKEFILE_GENERATOR="ninja"
420 -
421 -PYTHON_COMPAT=( python3_{7,8,9} )
422 -
423 -DISTUTILS_USE_SETUPTOOLS=no
424 -DISTUTILS_SINGLE_IMPL=1
425 -
426 -inherit bash-completion-r1 cmake cuda distutils-r1 flag-o-matic multilib readme.gentoo-r1 toolchain-funcs xdg-utils
427 -
428 -if [[ ${PV} = *9999* ]]; then
429 - EGIT_REPO_URI="
430 - https://gitlab.com/gromacs/gromacs.git
431 - https://github.com/gromacs/gromacs.git
432 - git://git.gromacs.org/gromacs.git"
433 - [[ ${PV} = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}"
434 - inherit git-r3
435 -else
436 - SRC_URI="
437 - http://ftp.gromacs.org/gromacs/${PN}-${PV/_/-}.tar.gz
438 - doc? ( https://ftp.gromacs.org/manual/manual-${PV/_/-}.pdf )
439 - test? ( http://ftp.gromacs.org/regressiontests/regressiontests-${PV/_/-}.tar.gz )"
440 - KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~x64-macos"
441 -fi
442 -
443 -ACCE_IUSE="cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_fma4 cpu_flags_x86_avx cpu_flags_x86_avx2"
444 -
445 -DESCRIPTION="The ultimate molecular dynamics simulation package"
446 -HOMEPAGE="http://www.gromacs.org/"
447 -
448 -# see COPYING for details
449 -# https://repo.or.cz/w/gromacs.git/blob/HEAD:/COPYING
450 -# base, vmd plugins, fftpack from numpy, blas/lapck from netlib, memtestG80 library, mpi_thread lib
451 -LICENSE="LGPL-2.1 UoI-NCSA !mkl? ( !fftw? ( BSD ) !blas? ( BSD ) !lapack? ( BSD ) ) cuda? ( LGPL-3 ) threads? ( BSD )"
452 -SLOT="0/${PV}"
453 -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}"
454 -
455 -CDEPEND="
456 - X? (
457 - x11-libs/libX11
458 - x11-libs/libSM
459 - x11-libs/libICE
460 - )
461 - blas? ( virtual/blas )
462 - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.14 )
463 - opencl? ( virtual/opencl )
464 - fftw? ( sci-libs/fftw:3.0 )
465 - hwloc? ( sys-apps/hwloc )
466 - lapack? ( virtual/lapack )
467 - lmfit? ( sci-libs/lmfit )
468 - mkl? ( sci-libs/mkl )
469 - mpi? ( virtual/mpi )
470 - ${PYTHON_DEPS}
471 - !sci-chemistry/gmxapi
472 - "
473 -BDEPEND="${CDEPEND}
474 - virtual/pkgconfig
475 - build-manual? (
476 - app-doc/doxygen
477 - $(python_gen_cond_dep '
478 - dev-python/sphinx[${PYTHON_MULTI_USEDEP}]
479 - ')
480 - media-gfx/mscgen
481 - media-gfx/graphviz
482 - dev-texlive/texlive-latex
483 - dev-texlive/texlive-latexextra
484 - media-gfx/imagemagick
485 - )"
486 -RDEPEND="${CDEPEND}"
487 -
488 -REQUIRED_USE="
489 - || ( single-precision double-precision )
490 - || ( doc build-manual )
491 - cuda? ( single-precision )
492 - cuda? ( !opencl )
493 - mkl? ( !blas !fftw !lapack )
494 - ${PYTHON_REQUIRED_USE}"
495 -
496 -DOCS=( AUTHORS README )
497 -
498 -RESTRICT="!test? ( test )"
499 -
500 -if [[ ${PV} != *9999 ]]; then
501 - S="${WORKDIR}/${PN}-${PV/_/-}"
502 -fi
503 -
504 -PATCHES=( "${FILESDIR}/${PN}-2020-pytest.patch" )
505 -
506 -pkg_pretend() {
507 - [[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs"
508 - use openmp && ! tc-has-openmp && \
509 - die "Please switch to an openmp compatible compiler"
510 -}
511 -
512 -pkg_setup() {
513 - python-single-r1_pkg_setup
514 -}
515 -
516 -src_unpack() {
517 - if [[ ${PV} != *9999 ]]; then
518 - default
519 - else
520 - git-r3_src_unpack
521 - if use test; then
522 - EGIT_REPO_URI="git://git.gromacs.org/regressiontests.git" \
523 - EGIT_BRANCH="${EGIT_BRANCH}" \
524 - EGIT_CHECKOUT_DIR="${WORKDIR}/regressiontests"\
525 - git-r3_src_unpack
526 - fi
527 - fi
528 -}
529 -
530 -src_prepare() {
531 - #notes/todos
532 - # -on apple: there is framework support
533 -
534 - xdg_environment_reset #591952
535 -
536 - cmake_src_prepare
537 -
538 - use cuda && cuda_src_prepare
539 -
540 - GMX_DIRS=""
541 - use single-precision && GMX_DIRS+=" float"
542 - use double-precision && GMX_DIRS+=" double"
543 -
544 - if use test; then
545 - for x in ${GMX_DIRS}; do
546 - mkdir -p "${WORKDIR}/${P}_${x}" || die
547 - cp -al "${WORKDIR}/regressiontests"* "${WORKDIR}/${P}_${x}/tests" || die
548 - done
549 - fi
550 -
551 - DOC_CONTENTS="Gromacs can use sci-chemistry/vmd to read additional file formats"
552 - if use build-manual; then
553 - # try to create policy for imagemagik
554 - mkdir -p ${HOME}/.config/ImageMagick
555 - cat >> ${HOME}/.config/ImageMagick/policy.xml <<- EOF
556 - <?xml version="1.0" encoding="UTF-8"?>
557 - <!DOCTYPE policymap [
558 - <!ELEMENT policymap (policy)+>
559 - !ATTLIST policymap xmlns CDATA #FIXED ''>
560 - <!ELEMENT policy EMPTY>
561 - <!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
562 - name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
563 - stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
564 - ]>
565 - <policymap>
566 - <policy domain="coder" rights="read | write" pattern="PS" />
567 - <policy domain="coder" rights="read | write" pattern="PS2" />
568 - <policy domain="coder" rights="read | write" pattern="PS3" />
569 - <policy domain="coder" rights="read | write" pattern="EPS" />
570 - <policy domain="coder" rights="read | write" pattern="PDF" />
571 - <policy domain="coder" rights="read | write" pattern="XPS" />
572 - </policymap>
573 - EOF
574 - fi
575 -}
576 -
577 -src_configure() {
578 - local mycmakeargs_pre=( ) extra fft_opts=( )
579 -
580 - if use custom-cflags; then
581 - #go from slowest to fastest acceleration
582 - local acce="None"
583 - use cpu_flags_x86_sse2 && acce="SSE2"
584 - use cpu_flags_x86_sse4_1 && acce="SSE4.1"
585 - use cpu_flags_x86_fma4 && acce="AVX_128_FMA"
586 - use cpu_flags_x86_avx && acce="AVX_256"
587 - use cpu_flags_x86_avx2 && acce="AVX2_256"
588 - else
589 - strip-flags
590 - fi
591 -
592 - #to create man pages, build tree binaries are executed (bug #398437)
593 - [[ ${CHOST} = *-darwin* ]] && \
594 - extra+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF"
595 -
596 - if use fftw; then
597 - fft_opts=( -DGMX_FFT_LIBRARY=fftw3 )
598 - elif use mkl && has_version "=sci-libs/mkl-10*"; then
599 - fft_opts=( -DGMX_FFT_LIBRARY=mkl
600 - -DMKL_INCLUDE_DIR="${MKLROOT}/include"
601 - -DMKL_LIBRARIES="$(echo /opt/intel/mkl/10.0.5.025/lib/*/libmkl.so);$(echo /opt/intel/mkl/10.0.5.025/lib/*/libiomp*.so)"
602 - )
603 - elif use mkl; then
604 - local bits=$(get_libdir)
605 - fft_opts=( -DGMX_FFT_LIBRARY=mkl
606 - -DMKL_INCLUDE_DIR="$(echo /opt/intel/*/mkl/include)"
607 - -DMKL_LIBRARIES="$(echo /opt/intel/*/mkl/lib/*${bits/lib}/libmkl_rt.so)"
608 - )
609 - else
610 - fft_opts=( -DGMX_FFT_LIBRARY=fftpack )
611 - fi
612 -
613 - if use lmfit; then
614 - local lmfit_opts=( -DGMX_USE_LMFIT=EXTERNAL )
615 - else
616 - local lmfit_opts=( -DGMX_USE_LMFIT=INTERNAL )
617 - fi
618 -
619 - mycmakeargs_pre+=(
620 - "${fft_opts[@]}"
621 - "${lmfit_opts[@]}"
622 - -DGMX_X11=$(usex X)
623 - -DGMX_EXTERNAL_BLAS=$(usex blas)
624 - -DGMX_EXTERNAL_LAPACK=$(usex lapack)
625 - -DGMX_OPENMP=$(usex openmp)
626 - -DGMX_COOL_QUOTES=$(usex offensive)
627 - -DGMX_USE_TNG=$(usex tng)
628 - -DGMX_BUILD_MANUAL=$(usex build-manual)
629 - -DGMX_HWLOC=$(usex hwloc)
630 - -DGMX_DEFAULT_SUFFIX=off
631 - -DGMX_SIMD="$acce"
632 - -DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/"
633 - -DBUILD_TESTING=$(usex test)
634 - -DGMX_BUILD_UNITTESTS=$(usex test)
635 - -DPYTHON_EXECUTABLE="${EPREFIX}/usr/bin/${EPYTHON}"
636 - ${extra}
637 - )
638 -
639 - for x in ${GMX_DIRS}; do
640 - einfo "Configuring for ${x} precision"
641 - local suffix=""
642 - #if we build single and double - double is suffixed
643 - use double-precision && use single-precision && \
644 - [[ ${x} = "double" ]] && suffix="_d"
645 - local p
646 - [[ ${x} = "double" ]] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF"
647 - local cuda=( "-DGMX_GPU=OFF" )
648 - [[ ${x} = "float" ]] && use cuda && \
649 - cuda=( "-DGMX_GPU=ON" )
650 - local opencl=( "-DGMX_USE_OPENCL=OFF" )
651 - use opencl && opencl=( "-DGMX_USE_OPENCL=ON" ) cuda=( "-DGMX_GPU=ON" )
652 - mycmakeargs=(
653 - ${mycmakeargs_pre[@]} ${p}
654 - -DGMX_MPI=OFF
655 - -DGMX_THREAD_MPI=$(usex threads)
656 - -DGMXAPI=$(usex gmxapi)
657 - -DGMX_INSTALL_LEGACY_API=$(usex gmxapi-legacy)
658 - "${opencl[@]}"
659 - "${cuda[@]}"
660 - "$(use test && echo -DREGRESSIONTEST_PATH="${WORKDIR}/${P}_${x}/tests")"
661 - -DGMX_BINARY_SUFFIX="${suffix}"
662 - -DGMX_LIBS_SUFFIX="${suffix}"
663 - -DGMX_PYTHON_PACKAGE=$(usex python)
664 - )
665 - BUILD_DIR="${WORKDIR}/${P}_${x}" cmake_src_configure
666 - [[ ${CHOST} != *-darwin* ]] || \
667 - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}/gentoo_rules.cmake" || die
668 - use mpi || continue
669 - einfo "Configuring for ${x} precision with mpi"
670 - mycmakeargs=(
671 - ${mycmakeargs_pre[@]} ${p}
672 - -DGMX_THREAD_MPI=OFF
673 - -DGMX_MPI=ON
674 - -DGMX_OPENMM=OFF
675 - -DGMXAPI=OFF
676 - "${opencl[@]}"
677 - "${cuda[@]}"
678 - -DGMX_BUILD_MDRUN_ONLY=ON
679 - -DBUILD_SHARED_LIBS=OFF
680 - -DGMX_BUILD_MANUAL=OFF
681 - -DGMX_BINARY_SUFFIX="_mpi${suffix}"
682 - -DGMX_LIBS_SUFFIX="_mpi${suffix}"
683 - )
684 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" CC="mpicc" cmake_src_configure
685 - [[ ${CHOST} != *-darwin* ]] || \
686 - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}_mpi/gentoo_rules.cmake" || die
687 - done
688 -}
689 -
690 -src_compile() {
691 - for x in ${GMX_DIRS}; do
692 - einfo "Compiling for ${x} precision"
693 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
694 - cmake_src_compile
695 - if use python; then
696 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
697 - cmake_src_compile python_packaging/all
698 - BUILD_DIR="${WORKDIR}/${P}" \
699 - distutils-r1_src_compile
700 - fi
701 - # not 100% necessary for rel ebuilds as available from website
702 - if use build-manual; then
703 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
704 - cmake_src_compile manual
705 - fi
706 - use mpi || continue
707 - einfo "Compiling for ${x} precision with mpi"
708 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\
709 - cmake_src_compile
710 - done
711 -}
712 -
713 -src_test() {
714 - for x in ${GMX_DIRS}; do
715 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
716 - cmake_src_compile check
717 - done
718 -}
719 -
720 -src_install() {
721 - for x in ${GMX_DIRS}; do
722 - BUILD_DIR="${WORKDIR}/${P}_${x}" \
723 - cmake_src_install
724 - if use python; then
725 - BUILD_DIR="${WORKDIR}/${P}_${x}" \
726 - cmake_src_install python_packaging/install
727 - fi
728 - if use build-manual; then
729 - newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf"
730 - fi
731 -
732 - if use doc; then
733 - newdoc "${DISTDIR}/manual-${PV}.pdf" "${PN}-manual-${PV}.pdf"
734 - fi
735 -
736 - use mpi || continue
737 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \
738 - cmake_src_install
739 - done
740 -
741 - if use tng; then
742 - insinto /usr/include/tng
743 - doins src/external/tng_io/include/tng/*h
744 - fi
745 - # drop unneeded stuff
746 - rm "${ED}"/usr/bin/GMXRC* || die
747 - for x in "${ED}"/usr/bin/gmx-completion-*.bash ; do
748 - local n=${x##*/gmx-completion-}
749 - n="${n%.bash}"
750 - cat "${ED}"/usr/bin/gmx-completion.bash "$x" > "${T}/${n}" || die
751 - newbashcomp "${T}"/"${n}" "${n}"
752 - done
753 - rm "${ED}"/usr/bin/gmx-completion*.bash || die
754 - readme.gentoo_create_doc
755 -}
756 -
757 -pkg_postinst() {
758 - einfo
759 - einfo "Please read and cite:"
760 - einfo "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). "
761 - einfo "https://dx.doi.org/10.1021/ct700301q"
762 - einfo
763 - readme.gentoo_print_elog
764 -}
765
766 diff --git a/sci-chemistry/gromacs/gromacs-2021.1.ebuild b/sci-chemistry/gromacs/gromacs-2021.1.ebuild
767 deleted file mode 100644
768 index e8ea613693f..00000000000
769 --- a/sci-chemistry/gromacs/gromacs-2021.1.ebuild
770 +++ /dev/null
771 @@ -1,358 +0,0 @@
772 -# Copyright 1999-2021 Gentoo Authors
773 -# Distributed under the terms of the GNU General Public License v2
774 -
775 -EAPI=7
776 -
777 -CMAKE_MAKEFILE_GENERATOR="ninja"
778 -
779 -PYTHON_COMPAT=( python3_{7,8,9} )
780 -
781 -DISTUTILS_USE_SETUPTOOLS=no
782 -DISTUTILS_SINGLE_IMPL=1
783 -
784 -inherit bash-completion-r1 cmake cuda distutils-r1 flag-o-matic multilib readme.gentoo-r1 toolchain-funcs xdg-utils
785 -
786 -if [[ ${PV} = *9999* ]]; then
787 - EGIT_REPO_URI="
788 - https://gitlab.com/gromacs/gromacs.git
789 - https://github.com/gromacs/gromacs.git
790 - git://git.gromacs.org/gromacs.git"
791 - [[ ${PV} = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}"
792 - inherit git-r3
793 -else
794 - SRC_URI="
795 - http://ftp.gromacs.org/gromacs/${PN}-${PV/_/-}.tar.gz
796 - doc? ( https://ftp.gromacs.org/manual/manual-${PV/_/-}.pdf )
797 - test? ( http://ftp.gromacs.org/regressiontests/regressiontests-${PV/_/-}.tar.gz )"
798 - KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~x64-macos"
799 -fi
800 -
801 -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"
802 -
803 -DESCRIPTION="The ultimate molecular dynamics simulation package"
804 -HOMEPAGE="http://www.gromacs.org/"
805 -
806 -# see COPYING for details
807 -# https://repo.or.cz/w/gromacs.git/blob/HEAD:/COPYING
808 -# base, vmd plugins, fftpack from numpy, blas/lapck from netlib, memtestG80 library, mpi_thread lib
809 -LICENSE="LGPL-2.1 UoI-NCSA !mkl? ( !fftw? ( BSD ) !blas? ( BSD ) !lapack? ( BSD ) ) cuda? ( LGPL-3 ) threads? ( BSD )"
810 -SLOT="0/${PV}"
811 -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}"
812 -
813 -CDEPEND="
814 - X? (
815 - x11-libs/libX11
816 - x11-libs/libSM
817 - x11-libs/libICE
818 - )
819 - blas? ( virtual/blas )
820 - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.14 )
821 - opencl? ( virtual/opencl )
822 - fftw? ( sci-libs/fftw:3.0 )
823 - hwloc? ( sys-apps/hwloc )
824 - lapack? ( virtual/lapack )
825 - lmfit? ( sci-libs/lmfit )
826 - mkl? ( sci-libs/mkl )
827 - mpi? ( virtual/mpi )
828 - ${PYTHON_DEPS}
829 - !sci-chemistry/gmxapi
830 - "
831 -BDEPEND="${CDEPEND}
832 - virtual/pkgconfig
833 - build-manual? (
834 - app-doc/doxygen
835 - $(python_gen_cond_dep '
836 - dev-python/sphinx[${PYTHON_MULTI_USEDEP}]
837 - ')
838 - media-gfx/mscgen
839 - media-gfx/graphviz
840 - dev-texlive/texlive-latex
841 - dev-texlive/texlive-latexextra
842 - media-gfx/imagemagick
843 - )"
844 -RDEPEND="${CDEPEND}"
845 -
846 -REQUIRED_USE="
847 - || ( single-precision double-precision )
848 - || ( doc build-manual )
849 - cuda? ( single-precision )
850 - cuda? ( !opencl )
851 - mkl? ( !blas !fftw !lapack )
852 - ${PYTHON_REQUIRED_USE}"
853 -
854 -DOCS=( AUTHORS README )
855 -
856 -RESTRICT="!test? ( test )"
857 -
858 -if [[ ${PV} != *9999 ]]; then
859 - S="${WORKDIR}/${PN}-${PV/_/-}"
860 -fi
861 -
862 -PATCHES=(
863 - "${FILESDIR}/${PN}-2020-pytest.patch"
864 - "${FILESDIR}/${PN}-2021-nblib.patch"
865 -)
866 -
867 -pkg_pretend() {
868 - [[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs"
869 - use openmp && ! tc-has-openmp && \
870 - die "Please switch to an openmp compatible compiler"
871 -}
872 -
873 -pkg_setup() {
874 - python-single-r1_pkg_setup
875 -}
876 -
877 -src_unpack() {
878 - if [[ ${PV} != *9999 ]]; then
879 - default
880 - else
881 - git-r3_src_unpack
882 - if use test; then
883 - EGIT_REPO_URI="git://git.gromacs.org/regressiontests.git" \
884 - EGIT_BRANCH="${EGIT_BRANCH}" \
885 - EGIT_CHECKOUT_DIR="${WORKDIR}/regressiontests"\
886 - git-r3_src_unpack
887 - fi
888 - fi
889 -}
890 -
891 -src_prepare() {
892 - #notes/todos
893 - # -on apple: there is framework support
894 -
895 - xdg_environment_reset #591952
896 -
897 - cmake_src_prepare
898 -
899 - use cuda && cuda_src_prepare
900 -
901 - GMX_DIRS=""
902 - use single-precision && GMX_DIRS+=" float"
903 - use double-precision && GMX_DIRS+=" double"
904 -
905 - if use test; then
906 - for x in ${GMX_DIRS}; do
907 - mkdir -p "${WORKDIR}/${P}_${x}" || die
908 - cp -al "${WORKDIR}/regressiontests"* "${WORKDIR}/${P}_${x}/tests" || die
909 - done
910 - fi
911 -
912 - DOC_CONTENTS="Gromacs can use sci-chemistry/vmd to read additional file formats"
913 - if use build-manual; then
914 - # try to create policy for imagemagik
915 - mkdir -p ${HOME}/.config/ImageMagick
916 - cat >> ${HOME}/.config/ImageMagick/policy.xml <<- EOF
917 - <?xml version="1.0" encoding="UTF-8"?>
918 - <!DOCTYPE policymap [
919 - <!ELEMENT policymap (policy)+>
920 - !ATTLIST policymap xmlns CDATA #FIXED ''>
921 - <!ELEMENT policy EMPTY>
922 - <!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
923 - name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
924 - stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
925 - ]>
926 - <policymap>
927 - <policy domain="coder" rights="read | write" pattern="PS" />
928 - <policy domain="coder" rights="read | write" pattern="PS2" />
929 - <policy domain="coder" rights="read | write" pattern="PS3" />
930 - <policy domain="coder" rights="read | write" pattern="EPS" />
931 - <policy domain="coder" rights="read | write" pattern="PDF" />
932 - <policy domain="coder" rights="read | write" pattern="XPS" />
933 - </policymap>
934 - EOF
935 - fi
936 -}
937 -
938 -src_configure() {
939 - local mycmakeargs_pre=( ) extra fft_opts=( )
940 -
941 - if use custom-cflags; then
942 - #go from slowest to fastest acceleration
943 - local acce="None"
944 - if (use amd64 || use x86); then
945 - use cpu_flags_x86_sse2 && acce="SSE2"
946 - use cpu_flags_x86_sse4_1 && acce="SSE4.1"
947 - use cpu_flags_x86_fma4 && acce="AVX_128_FMA"
948 - use cpu_flags_x86_avx && acce="AVX_256"
949 - use cpu_flags_x86_avx2 && acce="AVX2_256"
950 - use cpu_flags_x86_avx512f && acce="AVX_512"
951 - elif (use arm); then
952 - use cpu_flags_arm_neon && acce="ARM_NEON"
953 - elif (use arm64); then
954 - use cpu_flags_arm_neon && acce="ARM_NEON_ASIMD"
955 - fi
956 - else
957 - strip-flags
958 - fi
959 -
960 - #to create man pages, build tree binaries are executed (bug #398437)
961 - [[ ${CHOST} = *-darwin* ]] && \
962 - extra+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF"
963 -
964 - if use fftw; then
965 - fft_opts=( -DGMX_FFT_LIBRARY=fftw3 )
966 - elif use mkl && has_version "=sci-libs/mkl-10*"; then
967 - fft_opts=( -DGMX_FFT_LIBRARY=mkl
968 - -DMKL_INCLUDE_DIR="${MKLROOT}/include"
969 - -DMKL_LIBRARIES="$(echo /opt/intel/mkl/10.0.5.025/lib/*/libmkl.so);$(echo /opt/intel/mkl/10.0.5.025/lib/*/libiomp*.so)"
970 - )
971 - elif use mkl; then
972 - local bits=$(get_libdir)
973 - fft_opts=( -DGMX_FFT_LIBRARY=mkl
974 - -DMKL_INCLUDE_DIR="$(echo /opt/intel/*/mkl/include)"
975 - -DMKL_LIBRARIES="$(echo /opt/intel/*/mkl/lib/*${bits/lib}/libmkl_rt.so)"
976 - )
977 - else
978 - fft_opts=( -DGMX_FFT_LIBRARY=fftpack )
979 - fi
980 -
981 - if use lmfit; then
982 - local lmfit_opts=( -DGMX_USE_LMFIT=EXTERNAL )
983 - else
984 - local lmfit_opts=( -DGMX_USE_LMFIT=INTERNAL )
985 - fi
986 -
987 - mycmakeargs_pre+=(
988 - "${fft_opts[@]}"
989 - "${lmfit_opts[@]}"
990 - -DGMX_X11=$(usex X)
991 - -DGMX_EXTERNAL_BLAS=$(usex blas)
992 - -DGMX_EXTERNAL_LAPACK=$(usex lapack)
993 - -DGMX_OPENMP=$(usex openmp)
994 - -DGMX_COOL_QUOTES=$(usex offensive)
995 - -DGMX_USE_TNG=$(usex tng)
996 - -DGMX_BUILD_MANUAL=$(usex build-manual)
997 - -DGMX_HWLOC=$(usex hwloc)
998 - -DGMX_DEFAULT_SUFFIX=off
999 - -DGMX_SIMD="$acce"
1000 - -DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/"
1001 - -DBUILD_TESTING=$(usex test)
1002 - -DGMX_BUILD_UNITTESTS=$(usex test)
1003 - -DPYTHON_EXECUTABLE="${EPREFIX}/usr/bin/${EPYTHON}"
1004 - ${extra}
1005 - )
1006 -
1007 - for x in ${GMX_DIRS}; do
1008 - einfo "Configuring for ${x} precision"
1009 - local suffix=""
1010 - #if we build single and double - double is suffixed
1011 - use double-precision && use single-precision && \
1012 - [[ ${x} = "double" ]] && suffix="_d"
1013 - local p
1014 - [[ ${x} = "double" ]] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF"
1015 - local gpu=( "-DGMX_GPU=OFF" )
1016 - [[ ${x} = "float" ]] && use cuda && gpu=( "-DGMX_GPU=CUDA" )
1017 - use opencl && gpu=( "-DGMX_GPU=OPENCL" )
1018 - mycmakeargs=(
1019 - ${mycmakeargs_pre[@]} ${p}
1020 - -DGMX_MPI=OFF
1021 - -DGMX_THREAD_MPI=$(usex threads)
1022 - -DGMXAPI=$(usex gmxapi)
1023 - -DGMX_INSTALL_LEGACY_API=$(usex gmxapi-legacy)
1024 - "${gpu[@]}"
1025 - "$(use test && echo -DREGRESSIONTEST_PATH="${WORKDIR}/${P}_${x}/tests")"
1026 - -DGMX_BINARY_SUFFIX="${suffix}"
1027 - -DGMX_LIBS_SUFFIX="${suffix}"
1028 - -DGMX_PYTHON_PACKAGE=$(usex python)
1029 - )
1030 - BUILD_DIR="${WORKDIR}/${P}_${x}" cmake_src_configure
1031 - [[ ${CHOST} != *-darwin* ]] || \
1032 - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}/gentoo_rules.cmake" || die
1033 - use mpi || continue
1034 - einfo "Configuring for ${x} precision with mpi"
1035 - mycmakeargs=(
1036 - ${mycmakeargs_pre[@]} ${p}
1037 - -DGMX_THREAD_MPI=OFF
1038 - -DGMX_MPI=ON
1039 - -DGMX_OPENMM=OFF
1040 - -DGMXAPI=OFF
1041 - "${opencl[@]}"
1042 - "${cuda[@]}"
1043 - -DGMX_BUILD_MDRUN_ONLY=ON
1044 - -DBUILD_SHARED_LIBS=OFF
1045 - -DGMX_BUILD_MANUAL=OFF
1046 - -DGMX_BINARY_SUFFIX="_mpi${suffix}"
1047 - -DGMX_LIBS_SUFFIX="_mpi${suffix}"
1048 - )
1049 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" CC="mpicc" cmake_src_configure
1050 - [[ ${CHOST} != *-darwin* ]] || \
1051 - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}_mpi/gentoo_rules.cmake" || die
1052 - done
1053 -}
1054 -
1055 -src_compile() {
1056 - for x in ${GMX_DIRS}; do
1057 - einfo "Compiling for ${x} precision"
1058 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
1059 - cmake_src_compile
1060 - if use python; then
1061 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
1062 - cmake_src_compile python_packaging/all
1063 - BUILD_DIR="${WORKDIR}/${P}" \
1064 - distutils-r1_src_compile
1065 - fi
1066 - # not 100% necessary for rel ebuilds as available from website
1067 - if use build-manual; then
1068 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
1069 - cmake_src_compile manual
1070 - fi
1071 - use mpi || continue
1072 - einfo "Compiling for ${x} precision with mpi"
1073 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\
1074 - cmake_src_compile
1075 - done
1076 -}
1077 -
1078 -src_test() {
1079 - for x in ${GMX_DIRS}; do
1080 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
1081 - cmake_src_compile check
1082 - done
1083 -}
1084 -
1085 -src_install() {
1086 - for x in ${GMX_DIRS}; do
1087 - BUILD_DIR="${WORKDIR}/${P}_${x}" \
1088 - cmake_src_install
1089 - if use python; then
1090 - BUILD_DIR="${WORKDIR}/${P}_${x}" \
1091 - cmake_src_install python_packaging/install
1092 - fi
1093 - if use build-manual; then
1094 - newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf"
1095 - fi
1096 -
1097 - if use doc; then
1098 - newdoc "${DISTDIR}/manual-${PV}.pdf" "${PN}-manual-${PV}.pdf"
1099 - fi
1100 -
1101 - use mpi || continue
1102 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \
1103 - cmake_src_install
1104 - done
1105 -
1106 - if use tng; then
1107 - insinto /usr/include/tng
1108 - doins src/external/tng_io/include/tng/*h
1109 - fi
1110 - # drop unneeded stuff
1111 - rm "${ED}"/usr/bin/GMXRC* || die
1112 - for x in "${ED}"/usr/bin/gmx-completion-*.bash ; do
1113 - local n=${x##*/gmx-completion-}
1114 - n="${n%.bash}"
1115 - cat "${ED}"/usr/bin/gmx-completion.bash "$x" > "${T}/${n}" || die
1116 - newbashcomp "${T}"/"${n}" "${n}"
1117 - done
1118 - rm "${ED}"/usr/bin/gmx-completion*.bash || die
1119 - readme.gentoo_create_doc
1120 -}
1121 -
1122 -pkg_postinst() {
1123 - einfo
1124 - einfo "Please read and cite:"
1125 - einfo "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). "
1126 - einfo "https://dx.doi.org/10.1021/ct700301q"
1127 - einfo
1128 - readme.gentoo_print_elog
1129 -}
1130
1131 diff --git a/sci-chemistry/gromacs/gromacs-2021.ebuild b/sci-chemistry/gromacs/gromacs-2021.ebuild
1132 deleted file mode 100644
1133 index a4fdab0dfaf..00000000000
1134 --- a/sci-chemistry/gromacs/gromacs-2021.ebuild
1135 +++ /dev/null
1136 @@ -1,355 +0,0 @@
1137 -# Copyright 1999-2021 Gentoo Authors
1138 -# Distributed under the terms of the GNU General Public License v2
1139 -
1140 -EAPI=7
1141 -
1142 -CMAKE_MAKEFILE_GENERATOR="ninja"
1143 -
1144 -PYTHON_COMPAT=( python3_{7,8,9} )
1145 -
1146 -DISTUTILS_USE_SETUPTOOLS=no
1147 -DISTUTILS_SINGLE_IMPL=1
1148 -
1149 -inherit bash-completion-r1 cmake cuda distutils-r1 flag-o-matic multilib readme.gentoo-r1 toolchain-funcs xdg-utils
1150 -
1151 -if [[ ${PV} = *9999* ]]; then
1152 - EGIT_REPO_URI="
1153 - https://gitlab.com/gromacs/gromacs.git
1154 - https://github.com/gromacs/gromacs.git
1155 - git://git.gromacs.org/gromacs.git"
1156 - [[ ${PV} = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}"
1157 - inherit git-r3
1158 -else
1159 - SRC_URI="
1160 - http://ftp.gromacs.org/gromacs/${PN}-${PV/_/-}.tar.gz
1161 - doc? ( https://ftp.gromacs.org/manual/manual-${PV/_/-}.pdf )
1162 - test? ( http://ftp.gromacs.org/regressiontests/regressiontests-${PV/_/-}.tar.gz )"
1163 - KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~x64-macos"
1164 -fi
1165 -
1166 -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"
1167 -
1168 -DESCRIPTION="The ultimate molecular dynamics simulation package"
1169 -HOMEPAGE="http://www.gromacs.org/"
1170 -
1171 -# see COPYING for details
1172 -# https://repo.or.cz/w/gromacs.git/blob/HEAD:/COPYING
1173 -# base, vmd plugins, fftpack from numpy, blas/lapck from netlib, memtestG80 library, mpi_thread lib
1174 -LICENSE="LGPL-2.1 UoI-NCSA !mkl? ( !fftw? ( BSD ) !blas? ( BSD ) !lapack? ( BSD ) ) cuda? ( LGPL-3 ) threads? ( BSD )"
1175 -SLOT="0/${PV}"
1176 -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}"
1177 -
1178 -CDEPEND="
1179 - X? (
1180 - x11-libs/libX11
1181 - x11-libs/libSM
1182 - x11-libs/libICE
1183 - )
1184 - blas? ( virtual/blas )
1185 - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.14 )
1186 - opencl? ( virtual/opencl )
1187 - fftw? ( sci-libs/fftw:3.0 )
1188 - hwloc? ( sys-apps/hwloc )
1189 - lapack? ( virtual/lapack )
1190 - lmfit? ( sci-libs/lmfit )
1191 - mkl? ( sci-libs/mkl )
1192 - mpi? ( virtual/mpi )
1193 - ${PYTHON_DEPS}
1194 - !sci-chemistry/gmxapi
1195 - "
1196 -BDEPEND="${CDEPEND}
1197 - virtual/pkgconfig
1198 - build-manual? (
1199 - app-doc/doxygen
1200 - $(python_gen_cond_dep '
1201 - dev-python/sphinx[${PYTHON_MULTI_USEDEP}]
1202 - ')
1203 - media-gfx/mscgen
1204 - media-gfx/graphviz
1205 - dev-texlive/texlive-latex
1206 - dev-texlive/texlive-latexextra
1207 - media-gfx/imagemagick
1208 - )"
1209 -RDEPEND="${CDEPEND}"
1210 -
1211 -REQUIRED_USE="
1212 - || ( single-precision double-precision )
1213 - || ( doc build-manual )
1214 - cuda? ( single-precision )
1215 - cuda? ( !opencl )
1216 - mkl? ( !blas !fftw !lapack )
1217 - ${PYTHON_REQUIRED_USE}"
1218 -
1219 -DOCS=( AUTHORS README )
1220 -
1221 -RESTRICT="!test? ( test )"
1222 -
1223 -if [[ ${PV} != *9999 ]]; then
1224 - S="${WORKDIR}/${PN}-${PV/_/-}"
1225 -fi
1226 -
1227 -PATCHES=( "${FILESDIR}/${PN}-2020-pytest.patch" )
1228 -
1229 -pkg_pretend() {
1230 - [[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs"
1231 - use openmp && ! tc-has-openmp && \
1232 - die "Please switch to an openmp compatible compiler"
1233 -}
1234 -
1235 -pkg_setup() {
1236 - python-single-r1_pkg_setup
1237 -}
1238 -
1239 -src_unpack() {
1240 - if [[ ${PV} != *9999 ]]; then
1241 - default
1242 - else
1243 - git-r3_src_unpack
1244 - if use test; then
1245 - EGIT_REPO_URI="git://git.gromacs.org/regressiontests.git" \
1246 - EGIT_BRANCH="${EGIT_BRANCH}" \
1247 - EGIT_CHECKOUT_DIR="${WORKDIR}/regressiontests"\
1248 - git-r3_src_unpack
1249 - fi
1250 - fi
1251 -}
1252 -
1253 -src_prepare() {
1254 - #notes/todos
1255 - # -on apple: there is framework support
1256 -
1257 - xdg_environment_reset #591952
1258 -
1259 - cmake_src_prepare
1260 -
1261 - use cuda && cuda_src_prepare
1262 -
1263 - GMX_DIRS=""
1264 - use single-precision && GMX_DIRS+=" float"
1265 - use double-precision && GMX_DIRS+=" double"
1266 -
1267 - if use test; then
1268 - for x in ${GMX_DIRS}; do
1269 - mkdir -p "${WORKDIR}/${P}_${x}" || die
1270 - cp -al "${WORKDIR}/regressiontests"* "${WORKDIR}/${P}_${x}/tests" || die
1271 - done
1272 - fi
1273 -
1274 - DOC_CONTENTS="Gromacs can use sci-chemistry/vmd to read additional file formats"
1275 - if use build-manual; then
1276 - # try to create policy for imagemagik
1277 - mkdir -p ${HOME}/.config/ImageMagick
1278 - cat >> ${HOME}/.config/ImageMagick/policy.xml <<- EOF
1279 - <?xml version="1.0" encoding="UTF-8"?>
1280 - <!DOCTYPE policymap [
1281 - <!ELEMENT policymap (policy)+>
1282 - !ATTLIST policymap xmlns CDATA #FIXED ''>
1283 - <!ELEMENT policy EMPTY>
1284 - <!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
1285 - name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
1286 - stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
1287 - ]>
1288 - <policymap>
1289 - <policy domain="coder" rights="read | write" pattern="PS" />
1290 - <policy domain="coder" rights="read | write" pattern="PS2" />
1291 - <policy domain="coder" rights="read | write" pattern="PS3" />
1292 - <policy domain="coder" rights="read | write" pattern="EPS" />
1293 - <policy domain="coder" rights="read | write" pattern="PDF" />
1294 - <policy domain="coder" rights="read | write" pattern="XPS" />
1295 - </policymap>
1296 - EOF
1297 - fi
1298 -}
1299 -
1300 -src_configure() {
1301 - local mycmakeargs_pre=( ) extra fft_opts=( )
1302 -
1303 - if use custom-cflags; then
1304 - #go from slowest to fastest acceleration
1305 - local acce="None"
1306 - if (use amd64 || use x86); then
1307 - use cpu_flags_x86_sse2 && acce="SSE2"
1308 - use cpu_flags_x86_sse4_1 && acce="SSE4.1"
1309 - use cpu_flags_x86_fma4 && acce="AVX_128_FMA"
1310 - use cpu_flags_x86_avx && acce="AVX_256"
1311 - use cpu_flags_x86_avx2 && acce="AVX2_256"
1312 - use cpu_flags_x86_avx512f && acce="AVX_512"
1313 - elif (use arm); then
1314 - use cpu_flags_arm_neon && acce="ARM_NEON"
1315 - elif (use arm64); then
1316 - use cpu_flags_arm_neon && acce="ARM_NEON_ASIMD"
1317 - fi
1318 - else
1319 - strip-flags
1320 - fi
1321 -
1322 - #to create man pages, build tree binaries are executed (bug #398437)
1323 - [[ ${CHOST} = *-darwin* ]] && \
1324 - extra+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF"
1325 -
1326 - if use fftw; then
1327 - fft_opts=( -DGMX_FFT_LIBRARY=fftw3 )
1328 - elif use mkl && has_version "=sci-libs/mkl-10*"; then
1329 - fft_opts=( -DGMX_FFT_LIBRARY=mkl
1330 - -DMKL_INCLUDE_DIR="${MKLROOT}/include"
1331 - -DMKL_LIBRARIES="$(echo /opt/intel/mkl/10.0.5.025/lib/*/libmkl.so);$(echo /opt/intel/mkl/10.0.5.025/lib/*/libiomp*.so)"
1332 - )
1333 - elif use mkl; then
1334 - local bits=$(get_libdir)
1335 - fft_opts=( -DGMX_FFT_LIBRARY=mkl
1336 - -DMKL_INCLUDE_DIR="$(echo /opt/intel/*/mkl/include)"
1337 - -DMKL_LIBRARIES="$(echo /opt/intel/*/mkl/lib/*${bits/lib}/libmkl_rt.so)"
1338 - )
1339 - else
1340 - fft_opts=( -DGMX_FFT_LIBRARY=fftpack )
1341 - fi
1342 -
1343 - if use lmfit; then
1344 - local lmfit_opts=( -DGMX_USE_LMFIT=EXTERNAL )
1345 - else
1346 - local lmfit_opts=( -DGMX_USE_LMFIT=INTERNAL )
1347 - fi
1348 -
1349 - mycmakeargs_pre+=(
1350 - "${fft_opts[@]}"
1351 - "${lmfit_opts[@]}"
1352 - -DGMX_X11=$(usex X)
1353 - -DGMX_EXTERNAL_BLAS=$(usex blas)
1354 - -DGMX_EXTERNAL_LAPACK=$(usex lapack)
1355 - -DGMX_OPENMP=$(usex openmp)
1356 - -DGMX_COOL_QUOTES=$(usex offensive)
1357 - -DGMX_USE_TNG=$(usex tng)
1358 - -DGMX_BUILD_MANUAL=$(usex build-manual)
1359 - -DGMX_HWLOC=$(usex hwloc)
1360 - -DGMX_DEFAULT_SUFFIX=off
1361 - -DGMX_SIMD="$acce"
1362 - -DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/"
1363 - -DBUILD_TESTING=$(usex test)
1364 - -DGMX_BUILD_UNITTESTS=$(usex test)
1365 - -DPYTHON_EXECUTABLE="${EPREFIX}/usr/bin/${EPYTHON}"
1366 - ${extra}
1367 - )
1368 -
1369 - for x in ${GMX_DIRS}; do
1370 - einfo "Configuring for ${x} precision"
1371 - local suffix=""
1372 - #if we build single and double - double is suffixed
1373 - use double-precision && use single-precision && \
1374 - [[ ${x} = "double" ]] && suffix="_d"
1375 - local p
1376 - [[ ${x} = "double" ]] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF"
1377 - local gpu=( "-DGMX_GPU=OFF" )
1378 - [[ ${x} = "float" ]] && use cuda && gpu=( "-DGMX_GPU=CUDA" )
1379 - use opencl && gpu=( "-DGMX_GPU=OPENCL" )
1380 - mycmakeargs=(
1381 - ${mycmakeargs_pre[@]} ${p}
1382 - -DGMX_MPI=OFF
1383 - -DGMX_THREAD_MPI=$(usex threads)
1384 - -DGMXAPI=$(usex gmxapi)
1385 - -DGMX_INSTALL_LEGACY_API=$(usex gmxapi-legacy)
1386 - "${gpu[@]}"
1387 - "$(use test && echo -DREGRESSIONTEST_PATH="${WORKDIR}/${P}_${x}/tests")"
1388 - -DGMX_BINARY_SUFFIX="${suffix}"
1389 - -DGMX_LIBS_SUFFIX="${suffix}"
1390 - -DGMX_PYTHON_PACKAGE=$(usex python)
1391 - )
1392 - BUILD_DIR="${WORKDIR}/${P}_${x}" cmake_src_configure
1393 - [[ ${CHOST} != *-darwin* ]] || \
1394 - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}/gentoo_rules.cmake" || die
1395 - use mpi || continue
1396 - einfo "Configuring for ${x} precision with mpi"
1397 - mycmakeargs=(
1398 - ${mycmakeargs_pre[@]} ${p}
1399 - -DGMX_THREAD_MPI=OFF
1400 - -DGMX_MPI=ON
1401 - -DGMX_OPENMM=OFF
1402 - -DGMXAPI=OFF
1403 - "${opencl[@]}"
1404 - "${cuda[@]}"
1405 - -DGMX_BUILD_MDRUN_ONLY=ON
1406 - -DBUILD_SHARED_LIBS=OFF
1407 - -DGMX_BUILD_MANUAL=OFF
1408 - -DGMX_BINARY_SUFFIX="_mpi${suffix}"
1409 - -DGMX_LIBS_SUFFIX="_mpi${suffix}"
1410 - )
1411 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" CC="mpicc" cmake_src_configure
1412 - [[ ${CHOST} != *-darwin* ]] || \
1413 - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}_mpi/gentoo_rules.cmake" || die
1414 - done
1415 -}
1416 -
1417 -src_compile() {
1418 - for x in ${GMX_DIRS}; do
1419 - einfo "Compiling for ${x} precision"
1420 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
1421 - cmake_src_compile
1422 - if use python; then
1423 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
1424 - cmake_src_compile python_packaging/all
1425 - BUILD_DIR="${WORKDIR}/${P}" \
1426 - distutils-r1_src_compile
1427 - fi
1428 - # not 100% necessary for rel ebuilds as available from website
1429 - if use build-manual; then
1430 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
1431 - cmake_src_compile manual
1432 - fi
1433 - use mpi || continue
1434 - einfo "Compiling for ${x} precision with mpi"
1435 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\
1436 - cmake_src_compile
1437 - done
1438 -}
1439 -
1440 -src_test() {
1441 - for x in ${GMX_DIRS}; do
1442 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
1443 - cmake_src_compile check
1444 - done
1445 -}
1446 -
1447 -src_install() {
1448 - for x in ${GMX_DIRS}; do
1449 - BUILD_DIR="${WORKDIR}/${P}_${x}" \
1450 - cmake_src_install
1451 - if use python; then
1452 - BUILD_DIR="${WORKDIR}/${P}_${x}" \
1453 - cmake_src_install python_packaging/install
1454 - fi
1455 - if use build-manual; then
1456 - newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf"
1457 - fi
1458 -
1459 - if use doc; then
1460 - newdoc "${DISTDIR}/manual-${PV}.pdf" "${PN}-manual-${PV}.pdf"
1461 - fi
1462 -
1463 - use mpi || continue
1464 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \
1465 - cmake_src_install
1466 - done
1467 -
1468 - if use tng; then
1469 - insinto /usr/include/tng
1470 - doins src/external/tng_io/include/tng/*h
1471 - fi
1472 - # drop unneeded stuff
1473 - rm "${ED}"/usr/bin/GMXRC* || die
1474 - for x in "${ED}"/usr/bin/gmx-completion-*.bash ; do
1475 - local n=${x##*/gmx-completion-}
1476 - n="${n%.bash}"
1477 - cat "${ED}"/usr/bin/gmx-completion.bash "$x" > "${T}/${n}" || die
1478 - newbashcomp "${T}"/"${n}" "${n}"
1479 - done
1480 - rm "${ED}"/usr/bin/gmx-completion*.bash || die
1481 - readme.gentoo_create_doc
1482 -}
1483 -
1484 -pkg_postinst() {
1485 - einfo
1486 - einfo "Please read and cite:"
1487 - einfo "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). "
1488 - einfo "https://dx.doi.org/10.1021/ct700301q"
1489 - einfo
1490 - readme.gentoo_print_elog
1491 -}