Gentoo Archives: gentoo-commits

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