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 |
-} |