From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D56BD1581EC for ; Sat, 23 Nov 2024 17:43:01 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0675BE07D0; Sat, 23 Nov 2024 17:43:01 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B6CEEE07D0 for ; Sat, 23 Nov 2024 17:43:00 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 65E67335DEB for ; Sat, 23 Nov 2024 17:42:59 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id CE44611DF for ; Sat, 23 Nov 2024 17:42:57 +0000 (UTC) From: "Alexey Shvetsov" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Alexey Shvetsov" Message-ID: <1732383763.08eb9870971040dff9daa6798be52aeca46d9146.alexxy@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/gromacs/, sci-chemistry/gromacs/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: sci-chemistry/gromacs/Manifest sci-chemistry/gromacs/files/gromacs-2020-pytest.patch sci-chemistry/gromacs/files/gromacs-2021-cstdint-include.patch sci-chemistry/gromacs/files/gromacs-2021-cuda-detection.patch sci-chemistry/gromacs/files/gromacs-2021-musl-stdint.patch sci-chemistry/gromacs/gromacs-2020.7-r1.ebuild sci-chemistry/gromacs/gromacs-2021.7-r1.ebuild sci-chemistry/gromacs/gromacs-2022.6.ebuild sci-chemistry/gromacs/metadata.xml X-VCS-Directories: sci-chemistry/gromacs/ sci-chemistry/gromacs/files/ X-VCS-Committer: alexxy X-VCS-Committer-Name: Alexey Shvetsov X-VCS-Revision: 08eb9870971040dff9daa6798be52aeca46d9146 X-VCS-Branch: master Date: Sat, 23 Nov 2024 17:42:57 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: dcc04912-17dc-4873-ba5c-c0b68a5f36d1 X-Archives-Hash: 451fde1ed72ce6b13f1886ba06eba4cc commit: 08eb9870971040dff9daa6798be52aeca46d9146 Author: Alexey Shvetsov gentoo org> AuthorDate: Sat Nov 23 17:41:33 2024 +0000 Commit: Alexey Shvetsov gentoo org> CommitDate: Sat Nov 23 17:42:43 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08eb9870 sci-chemistry/gromacs: drop 2020.7-r1, 2021.7-r1, 2022.6 Closes: https://bugs.gentoo.org/836855 Closes: https://bugs.gentoo.org/907989 Closes: https://bugs.gentoo.org/928852 Signed-off-by: Alexey Shvetsov gentoo.org> sci-chemistry/gromacs/Manifest | 9 - .../gromacs/files/gromacs-2020-pytest.patch | 35 -- .../files/gromacs-2021-cstdint-include.patch | 12 - .../files/gromacs-2021-cuda-detection.patch | 339 ------------------- .../gromacs/files/gromacs-2021-musl-stdint.patch | 25 -- sci-chemistry/gromacs/gromacs-2020.7-r1.ebuild | 351 -------------------- sci-chemistry/gromacs/gromacs-2021.7-r1.ebuild | 360 --------------------- sci-chemistry/gromacs/gromacs-2022.6.ebuild | 337 ------------------- sci-chemistry/gromacs/metadata.xml | 1 - 9 files changed, 1469 deletions(-) diff --git a/sci-chemistry/gromacs/Manifest b/sci-chemistry/gromacs/Manifest index a9903101d279..24d9338ef70f 100644 --- a/sci-chemistry/gromacs/Manifest +++ b/sci-chemistry/gromacs/Manifest @@ -1,20 +1,11 @@ -DIST gromacs-2020.7.tar.gz 29175554 BLAKE2B 98f1aa415946f8eb113febc81105f0c1b0919b96fc3c55a0ab83bf3950ff509b81eade92e645adb0bc2b407df239e20cf3f19828b6e08616437c8693c1fddcc8 SHA512 1d375c44cec38445e56cea252623b5b6c565680268999d4b6c14d6dc38759a27227655b2d29efaab9f9115d3677b446cb555e11cddafa0dc10c4827caaa2477b -DIST gromacs-2021.7.tar.gz 38028032 BLAKE2B 2dc1b15ca8692ca5cf4ad1c7a266b9e2ced064d34a63cef61fea69e48231dd0310cfd8484d29c56cdb599f795d7655959f40038ac933b46ad2841d57bf2b3646 SHA512 ca478533da3bcb377fda30682660db8eb13beef6456fac6013a1a97ec3be60b5594567412e1e2a31392e484f9a40a22da1f12336f4738cf0422ff4f3e8814609 -DIST gromacs-2022.6.tar.gz 40330705 BLAKE2B fdafbd5b2a92d6022dec3e79e961fef220f1eba42850916e7cb70ef459a8d9c6ebc8c1bbe3c105f5b23161dd5c552ec00505d7c0036649b782cf52c311498743 SHA512 91217394f534ca8f78f73189059712e1c2cd354b658722f23768b12748f7bfaf1a5e95227c5ed1b69c1a9b72c3174e9600a712c157ea2f27156387efb823dd67 DIST gromacs-2023.5.tar.gz 42079310 BLAKE2B e50dbe76396230f4a886280bdebcf7b131506679240e77d2a2263c3b5dbfe7ef754c4265fc04e9acad7932c7691de7f694cc23140a25d0d5be649a4120f45b0c SHA512 f3a34cf0d379d6d4964d7494af6c6617c0c092293ea38a3a248af2dd2a90cae04696d52e68126176065efc480977942b00efa441028e526e1555c7e84551fc0c DIST gromacs-2024.3.tar.gz 42373103 BLAKE2B f45af72ecdf119b423d98b84818eaca1aa2e3f43eaf1aff7435de2a5891079a880f19a654627ee2f43e3a38c9dcfa0638bc6eb6da201b3c9ce89b2dc32fc683b SHA512 13f23e581c2b63f6262e8359e7bed6a1a5f3164047ea38d2b6a44bcd2b20b61332705167435fe2ad30fe6f24f8ab49b982388550cdecb49167e4156e36286d3d DIST gromacs-2024.4.tar.gz 42356162 BLAKE2B 3a1019128a2cfd47fb3ab23962a6fcd5bac3b5519d4bfa1239956740226468986ba93e645eb3bc20117968c024823e948fd819a603315399d573275c91c6e51b SHA512 32a08e9417d4d36a29bdfde4e0448bc136bd3db79b5d5c84fa99d9f022ffca6a94b7bd1c7e7a335430fb6bdcf0181e3cbabeb46d13978c0f87b5d88787ea8d63 DIST gromacs-2025.0-beta.tar.gz 45067499 BLAKE2B 661607007af6d1f697f5aec72a88cefec5546dee2c0facaf2776354665f56fd71b1a7a2ea92185b4d64e764cd0ac10e865b740dda6d7438318acbbadd1bd7fd0 SHA512 831b4ba2631f5dd65c1b48d4ba0455af0b101af22d8cc78c246e7b36f4ce3c8f33f1cb8d94e42559741dbe1585c75a6e05a2538708d7e57c86ac2174aca302b9 -DIST manual-2020.7.pdf 11850780 BLAKE2B 38594e87993badfbbcf47d6010a7f67d3c3426dab85e1462916b4d62be27b5764953f912cf2b71ee24877e0bfa27b3f74431da2da81b4977d58cb66b2cc795a3 SHA512 4f184f2c90e0bac01a48069cc546cd5b04fa5f543f90dd2d68c6d17be278152fd09456b6a6c5c8236f8fb85a174d6ec7a1c7b44d437b4e6fea5d0ada73cec0f6 -DIST manual-2021.7.pdf 12256526 BLAKE2B 6f298d7dac142f66914bbc2ea7d6ca70c4aeafaf33ccf12336d5cec64b1f1097b5332c767bb411ccef706ec6184479a84bcf59bda21c4249d45d8ce3dea08e79 SHA512 197765accb8ab6c5f1cc94b2697ff1817e157d85fa231dfe36a85036076e04da2a8035de66aba4f46c6dd7f553176357b94c92e1da5d1dabc574c627deee5279 -DIST manual-2022.6.pdf 13081140 BLAKE2B e7ae3f23ddc076c295be2c464fe2177d6d6848d070ee5eba2b572e996ae08adead898ec6432b123802907f64983aa4d2e17426be8d540c48d12398a479519f9e SHA512 4724888b3c33c4fa4a035d5fb2f8c51496f67e1ee312676510d5ba74bc3cc1571e71e84464585b87ad0133e8e736343ae382bf8f7b556633f86a99560213d271 DIST manual-2023.5.pdf 13579081 BLAKE2B 42f687ebcdb79bfc77aabac4fd382940c23ba27da380b8eff342c2e9255a58fc11a0458220d1f71f3c13ab1cf6fdabad00ac1bad741781d0b787899165bea2cc SHA512 0661f166f7a8dc24b4244c0139f366832ddfc1298129df2a6e29800b5d1567318781ab547bc7e9ee54de7a62abba4996f8e3010c91d6917c248117e5711d7dbb DIST manual-2024.3.pdf 13676383 BLAKE2B fa5b310ee8977c525781492c70a18d40f8842f5fa43831ad0283c033f39968ba98e74ea618a4a9c25d88c3ed694071327220617b17f316ba2f29777c3edc95ca SHA512 8dd09913b89213a6673a5f5e3462fb963d1f30d68e0d58b846b7e2cf2f73baacb14fabab6591b680849607f4ca617cf288899729939b2c32021b4ee5ba06835f DIST manual-2024.4.pdf 13690684 BLAKE2B 7fac46df0da9d4cf7584599c7a71c4e1d11f75fc20a7a19ecc8069fdc2e9e35f0292e389f9c40d69dc96bdfea8d4ee370a54279b5531c0fb37c4cbd76caf7800 SHA512 5c4662527554171774adde5a3de220d775723154914838fd7fc3e40c981e1fccac0fd0def1acc500635cd39269d3bcc2edab5ec7aa85a7ea78350969d72ee13c DIST manual-2025.0-beta.pdf 13788093 BLAKE2B 40652f32f35d73964dfb8146b916c0249d8b7044595114986108f209e98e3a0a402ead18842822ce12c9cdd24a224bb95f80fbe5eec908f013b1eddc14d2a2fd SHA512 eafc1fd060f4a5dd5e7317f0f0fa45cfd5ccc20518a9d67b9055a87c324893d92573dfd416fcbf0fc9b7a932a47e3a592fbc38837bccdd237466bb62cd3ad9ed -DIST regressiontests-2020.7.tar.gz 48541487 BLAKE2B 255608b52158c6c01e7c7c4dcf075128ecf22b2f26d32e8c203de8a4bc69c60ec95f49cf8ccd64abc3073c5e8dca9d6b01daed9dfb8f67bce2dd068ed01acd05 SHA512 2458582f94f3c9f4e1454824ce3940b4f5b6cb2151d06846c42e7a9448296fd2a6df4f53be9624e0d3317d2b59f89bb5348eb8b2970d7b46ac22ca989ef3458a -DIST regressiontests-2021.7.tar.gz 48537500 BLAKE2B b0c97fa652cb9b972c50f29822f530fcaa2ec9acb6d6442114fc6446c54aade5eb1bfa153c69a7e8bf64b66e8b041d7f8e0d51e7f7b0516f9e03f3d9ad626193 SHA512 7cbead90aa6d62346dcf7c2249c3cfa179884b987a749624444d2f59d93e0322f7721143bf6eb44d26102635dc70a73546ef82d4647558b6320bfdd459074017 -DIST regressiontests-2022.6.tar.gz 48615697 BLAKE2B 566adafbc36d3c1faae322fca9cf451f57245c4ceed63f90f26208025937dae0c1bbb8c372bce618f63305d0368113fecd96c7275a75d8b9c19c22a6e5aa9b96 SHA512 68aa9bedffbea37fb7703c18c3f66f607a91f16ece4bec58ced6e42a481156b2fe83760d0e40cecbdcaf87b168441b8ebde27cec30d98c89f516360ea45ddd43 DIST regressiontests-2023.5.tar.gz 48619605 BLAKE2B f2549a34750c6866f054614a00a3360a09b82306e6bd5e5b848e18cdd3a3fabaac6203c5ca734901019403225dd47e0d662838abe9a1db7d07662f1c745b8e4f SHA512 3ccaf9db7dfba641a5e98ebff3d735cae3f679926aba443ffedec20dd6c85e67f0e9711ebad5dfa8105122d5411f5de6ded1802a7da4ddf0599657832c8c597a DIST regressiontests-2024.3.tar.gz 32776961 BLAKE2B 6a74977a396f8e82f7aba7a384cc840275b86d470597a4bbb93e97f1c13cd8fcf6d86ab26bdd4a89464b863954c9ed7dbd49af095e821573845f7bda43c2b90b SHA512 1c4afbbca82c9b9ad371713ef5e7e093ca766f25f6fbda55c79ea1aecb2f0a06bdb042d3c8a86e3d9bf9e8b8091244827dbff544f66037ffa56b0bcb341a9d2c DIST regressiontests-2024.4.tar.gz 32777006 BLAKE2B 41623de750b89410fa0a52037ea28d99a688b602b286cff732a6e8100b2b72072f579fc4f72bfe7c246ca086b6c6c1c10adb89874db6e1c9276494572e408a9f SHA512 dfbe8ee1b7c5b534842203f2295ea08875df6af3fb94798138b92ab8bc816719e3357db2935d2de4fd798d104ad7cb44860cd65887da7bb2438db422f35e6848 diff --git a/sci-chemistry/gromacs/files/gromacs-2020-pytest.patch b/sci-chemistry/gromacs/files/gromacs-2020-pytest.patch deleted file mode 100644 index cc7730afecb9..000000000000 --- a/sci-chemistry/gromacs/files/gromacs-2020-pytest.patch +++ /dev/null @@ -1,35 +0,0 @@ -From e4e1263776844d660c471e3d1203acf54cdc855f Mon Sep 17 00:00:00 2001 -From: Alexey Shvetsov -Date: Fri, 23 Apr 2021 13:21:24 +0300 -Subject: [PATCH 2/2] Allow to build python part without build testing enabled - -Signed-off-by: Alexey Shvetsov ---- - python_packaging/src/CMakeLists.txt | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/python_packaging/src/CMakeLists.txt b/python_packaging/src/CMakeLists.txt -index c75549fc82..4f983fdd5f 100644 ---- a/python_packaging/src/CMakeLists.txt -+++ b/python_packaging/src/CMakeLists.txt -@@ -1,7 +1,7 @@ - # - # This file is part of the GROMACS molecular simulation package. - # --# Copyright (c) 2019,2020, by the GROMACS development team, led by -+# Copyright (c) 2019,2020,2021, by the GROMACS development team, led by - # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, - # and including many others, as listed in the AUTHORS file in the - # top-level source directory and at http://www.gromacs.org. -@@ -252,5 +252,7 @@ endif() - # to the `check` target. Normal usage is to first install the Python package, - # then run `pytest` on the `tests` directory. Refer to gmxapi package documentation. - if(NOT GMXAPI_MASTER_PROJECT) -- add_subdirectory(test) -+ if (BUILD_TESTING) -+ add_subdirectory(test) -+ endif() - endif() --- -2.31.1 - diff --git a/sci-chemistry/gromacs/files/gromacs-2021-cstdint-include.patch b/sci-chemistry/gromacs/files/gromacs-2021-cstdint-include.patch deleted file mode 100644 index 5952aa3dd8e8..000000000000 --- a/sci-chemistry/gromacs/files/gromacs-2021-cstdint-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -# https://bugs.gentoo.org/915694 -# Not needed for newer branches, that greatly refactored the code ---- a/src/gromacs/utility/flags.h~ 2023-01-31 12:45:46.000000000 +0100 -+++ b/src/gromacs/utility/flags.h 2023-10-16 10:15:24.087340444 +0200 -@@ -42,7 +42,7 @@ - */ - #ifndef GMX_UTILITY_FLAGS_H - #define GMX_UTILITY_FLAGS_H -- -+#include - namespace gmx - { diff --git a/sci-chemistry/gromacs/files/gromacs-2021-cuda-detection.patch b/sci-chemistry/gromacs/files/gromacs-2021-cuda-detection.patch deleted file mode 100644 index 8b458e96cb53..000000000000 --- a/sci-chemistry/gromacs/files/gromacs-2021-cuda-detection.patch +++ /dev/null @@ -1,339 +0,0 @@ ---- gromacs-2021.7/cmake/gmxManageNvccConfig.cmake 2023-01-31 12:45:45.000000000 +0100 -+++ gromacs-2022.5/cmake/gmxManageNvccConfig.cmake 2023-02-03 12:53:34.000000000 +0100 -@@ -1,11 +1,9 @@ - # - # This file is part of the GROMACS molecular simulation package. - # --# Copyright (c) 2012,2013,2014,2015,2016 by the GROMACS development team. --# Copyright (c) 2017,2018,2019,2020,2021, by the GROMACS development team, led by --# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, --# and including many others, as listed in the AUTHORS file in the --# top-level source directory and at http://www.gromacs.org. -+# Copyright 2012- The GROMACS Authors -+# and the project initiators Erik Lindahl, Berk Hess and David van der Spoel. -+# Consult the AUTHORS/COPYING files and https://www.gromacs.org for details. - # - # GROMACS is free software; you can redistribute it and/or - # modify it under the terms of the GNU Lesser General Public License -@@ -19,7 +17,7 @@ - # - # You should have received a copy of the GNU Lesser General Public - # License along with GROMACS; if not, see --# http://www.gnu.org/licenses, or write to the Free Software Foundation, -+# https://www.gnu.org/licenses, or write to the Free Software Foundation, - # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - # - # If you want to redistribute modifications to GROMACS, please -@@ -28,10 +26,10 @@ - # consider code for inclusion in the official distribution, but - # derived work must not be called official GROMACS. Details are found - # in the README & COPYING files - if they are missing, get the --# official version at http://www.gromacs.org. -+# official version at https://www.gromacs.org. - # - # To help us fund GROMACS development, we humbly ask that you cite --# the research papers on the package. Check out http://www.gromacs.org. -+# the research papers on the package. Check out https://www.gromacs.org. - - # Manage CUDA nvcc compilation configuration, try to be smart to ease the users' - # pain as much as possible: -@@ -51,7 +49,7 @@ - # glibc source shows that _FORCE_INLINES is only used in this string.h - # feature and performance of memcpy variants is unimportant for CUDA - # code in GROMACS. So this workaround is good enough to keep problems --# away from users installing GROMACS. See Issue #1942. -+# away from users installing GROMACS. See Issue #1982. - function(work_around_glibc_2_23) - try_compile(IS_GLIBC_2_23_OR_HIGHER ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/cmake/TestGlibcVersion.cpp) - if(IS_GLIBC_2_23_OR_HIGHER) -@@ -83,67 +81,158 @@ - mark_as_advanced(CUDA_HOST_COMPILER CUDA_HOST_COMPILER_OPTIONS) - endif() - -+# We would like to be helpful and reject the host compiler with a -+# clear error message at configure time, rather than let nvcc -+# later reject the host compiler as not supported when the first -+# CUDA source file is built. We've implemented that for current -+# nvcc running on Unix-like systems, but e.g. changes to nvcc -+# will further affect the limited portability of this checking -+# code. Set the CMake variable GMX_NVCC_WORKS on if you want to -+# bypass this check. -+if((_cuda_nvcc_executable_or_flags_changed OR CUDA_HOST_COMPILER_CHANGED OR NOT GMX_NVCC_WORKS) AND NOT WIN32) -+ message(STATUS "Check for working NVCC/C++ compiler combination with nvcc '${CUDA_NVCC_EXECUTABLE}'") -+ execute_process(COMMAND ${CUDA_NVCC_EXECUTABLE} --compiler-bindir=${CUDA_HOST_COMPILER} -c ${CUDA_NVCC_FLAGS} ${CUDA_NVCC_FLAGS_${_build_type}} ${CMAKE_SOURCE_DIR}/cmake/TestCUDA.cu -+ RESULT_VARIABLE _cuda_test_res -+ OUTPUT_VARIABLE _cuda_test_out -+ ERROR_VARIABLE _cuda_test_err -+ OUTPUT_STRIP_TRAILING_WHITESPACE) -+ -+ if(${_cuda_test_res}) -+ message(STATUS "Check for working NVCC/C compiler combination - broken") -+ message(STATUS "${CUDA_NVCC_EXECUTABLE} standard output: '${_cuda_test_out}'") -+ message(STATUS "${CUDA_NVCC_EXECUTABLE} standard error: '${_cuda_test_err}'") -+ if(${_cuda_test_err} MATCHES "nsupported") -+ message(FATAL_ERROR "NVCC/C++ compiler combination does not seem to be supported. CUDA frequently does not support the latest versions of the host compiler, so you might want to try an earlier C++ compiler version and make sure your CUDA compiler and driver are as recent as possible. Set the GMX_NVCC_WORKS CMake cache variable to bypass this check if you know what you are doing.") -+ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 11.2 AND CUDA_VERSION VERSION_GREATER 11.4 AND CUDA_VERSION VERSION_LESS 11.7) # Issue #4574, #4641 -+ # Above, we should be checking for VERSION_LESS 11.6.2, but CUDA_VERSION is only "major.minor" -+ message(FATAL_ERROR "CUDA versions 11.5-11.6.1 are known to be incompatible with some GCC 11.x. Use a different GCC or update your CUDA installation to at least CUDA 11.6.2") -+ else() -+ message(FATAL_ERROR "CUDA compiler does not seem to be functional or is not compatible with the host compiler. Set the GMX_NVCC_WORKS CMake cache variable to bypass this check if you know what you are doing.") -+ endif() -+ elseif(NOT GMX_CUDA_TEST_COMPILER_QUIETLY) -+ message(STATUS "Check for working NVCC/C++ compiler combination - works") -+ set(GMX_NVCC_WORKS TRUE CACHE INTERNAL "Nvcc can compile a trivial test program") -+ endif() -+endif() # GMX_CHECK_NVCC -+ -+# Tests a single flag to use with nvcc. -+# -+# If the flags are accepted, they are appended to the variable named -+# in the first argument. The cache variable named in the second -+# argument is used to avoid rerunning the check in future invocations -+# of cmake. The list of flags to check follows these two required -+# arguments. -+# -+# Note that a space-separated string of flags, or a flag-value pair -+# separated by spaces will not work. Use the single-argument forms -+# accepted by nvcc, like "--arg=value". -+# -+# As this code is not yet tested on Windows, it always accepts the -+# flags in that case. -+function(gmx_add_nvcc_flag_if_supported _output_variable_name_to_append_to _flags_cache_variable_name) -+ # If the check has already been run, do not re-run it -+ if (NOT ${_flags_cache_variable_name} AND NOT WIN32) -+ message(STATUS "Checking if nvcc accepts flags ${ARGN}") -+ # See detailed comment about gcc 7 below -+ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8) -+ set(_cache_variable_value TRUE) -+ message(STATUS "Checking if nvcc accepts flags ${ARGN} - Assuming success when using gcc 7") -+ else() -+ if(NOT(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11)) -+ set(CCBIN "--compiler-bindir=${CUDA_HOST_COMPILER}") -+ endif() -+ execute_process( -+ COMMAND ${CUDA_NVCC_EXECUTABLE} ${ARGN} ${CCBIN} "${CMAKE_SOURCE_DIR}/cmake/TestCUDA.cu" -+ RESULT_VARIABLE _cuda_success -+ OUTPUT_QUIET -+ ERROR_QUIET -+ ) -+ # Convert the success value to a boolean and report status -+ if (_cuda_success EQUAL 0) -+ set(_cache_variable_value TRUE) -+ message(STATUS "Checking if nvcc accepts flags ${ARGN} - Success") -+ else() -+ set(_cache_variable_value FALSE) -+ message(STATUS "Checking if nvcc accepts flags ${ARGN} - Failed") -+ endif() -+ endif() -+ set(${_flags_cache_variable_name} ${_cache_variable_value} CACHE BOOL "Whether NVCC supports flag(s) ${ARGN}") -+ endif() -+ # Append the flags to the output variable if they have been tested to work -+ if (${_flags_cache_variable_name} OR WIN32) -+ list(APPEND ${_output_variable_name_to_append_to} ${ARGN}) -+ set(${_output_variable_name_to_append_to} ${${_output_variable_name_to_append_to}} PARENT_SCOPE) -+ endif() -+endfunction() -+ -+# Versions of gcc 7 have differing behavior when executing -+# -+# nvcc $args --compiler-bindir=gcc TestCUDA.cu -+# -+# and would need e.g. adding -lstdc++ to the command line so that -+# linking of a C++/CUDA object by the C-compiler flavor of gcc works. -+# This means we can't reliably test compiler flags in this case -+# without risking creating other problems. Instead we assume (above) -+# that all compiler flags will work, and issue this warning. -+# We also want to skip this warning during GROMACS CI testing. -+if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8 -+ AND NOT DEFINED ENV{GITLAB_CI}) -+ message(WARNING "You are using gcc version 7 with the CUDA compiler nvcc. GROMACS cannot reliably test compiler arguments for this combination, so if you later experience errors in building GROMACS, please use a more recent version of gcc.") -+endif() -+ - # If any of these manual override variables for target CUDA GPU architectures - # or virtual architecture is set, parse the values and assemble the nvcc - # command line for these. Otherwise use our defaults. - # Note that the manual override variables require a semicolon separating - # architecture codes. -+set(GMX_CUDA_NVCC_GENCODE_FLAGS) - if (GMX_CUDA_TARGET_SM OR GMX_CUDA_TARGET_COMPUTE) -- set(GMX_CUDA_NVCC_GENCODE_FLAGS) - set(_target_sm_list ${GMX_CUDA_TARGET_SM}) - foreach(_target ${_target_sm_list}) -- list(APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_${_target},code=sm_${_target}") -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_${_target} "--generate-code=arch=compute_${_target},code=sm_${_target}") -+ if (NOT NVCC_HAS_GENCODE_COMPUTE_AND_SM_${_target} AND NOT WIN32) -+ message(FATAL_ERROR "Your choice of ${_target} in GMX_CUDA_TARGET_SM was not accepted by nvcc, please choose a target that it accepts") -+ endif() - endforeach() - set(_target_compute_list ${GMX_CUDA_TARGET_COMPUTE}) - foreach(_target ${_target_compute_list}) -- list(APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_${_target},code=compute_${_target}") -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_${_target} --generate-code=arch=compute_${_target},code=compute_${_target}) -+ if (NOT NVCC_HAS_GENCODE_COMPUTE_${_target} AND NOT WIN32) -+ message(FATAL_ERROR "Your choice of ${_target} in GMX_CUDA_TARGET_COMPUTE was not accepted by nvcc, please choose a target that it accepts") -+ endif() - endforeach() - else() - # Set the CUDA GPU architectures to compile for: -- # - with CUDA >=9.0 CC 7.0 is supported and CC 2.0 is no longer supported -- # => compile sm_30, sm_35, sm_37, sm_50, sm_52, sm_60, sm_61, sm_70 SASS, and compute_35, compute_70 PTX -- # - with CUDA >=10.0 CC 7.5 is supported -- # => compile sm_30, sm_35, sm_37, sm_50, sm_52, sm_60, sm_61, sm_70, sm_75 SASS, and compute_35, compute_75 PTX - # - with CUDA >=11.0 CC 8.0 is supported - # => compile sm_35, sm_37, sm_50, sm_52, sm_60, sm_61, sm_70, sm_75, sm_80 SASS, and compute_35, compute_80 PTX - - # First add flags that trigger SASS (binary) code generation for physical arch -- if(CUDA_VERSION VERSION_LESS "11.0") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_30,code=sm_30") -- endif() -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_35,code=sm_35") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_37,code=sm_37") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_50,code=sm_50") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_52,code=sm_52") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_60,code=sm_60") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_61,code=sm_61") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_70,code=sm_70") -- if(NOT CUDA_VERSION VERSION_LESS "10.0") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_75,code=sm_75") -- endif() -- if(NOT CUDA_VERSION VERSION_LESS "11.0") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_80,code=sm_80") -- # Requesting sm or compute 35, 37, or 50 triggers deprecation messages with -- # nvcc 11.0, which we need to suppress for use in CI -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-Wno-deprecated-gpu-targets") -- endif() -- if(NOT CUDA_VERSION VERSION_LESS "11.1") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_86,code=sm_86") -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_35 --generate-code=arch=compute_35,code=sm_35) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_37 --generate-code=arch=compute_37,code=sm_37) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_50 --generate-code=arch=compute_50,code=sm_50) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_52 --generate-code=arch=compute_52,code=sm_52) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_60 --generate-code=arch=compute_60,code=sm_60) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_61 --generate-code=arch=compute_61,code=sm_61) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_70 --generate-code=arch=compute_70,code=sm_70) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_75 --generate-code=arch=compute_75,code=sm_75) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_80 --generate-code=arch=compute_80,code=sm_80) -+ # Don't attempt to add newest architectures with old GNU compiler, to avoid issues in CI -+ # related to being unable to test which flags are supported -+ if (NOT (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8)) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_86 --generate-code=arch=compute_86,code=sm_86) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_89 --generate-code=arch=compute_89,code=sm_89) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_AND_SM_90 --generate-code=arch=compute_90,code=sm_90) - endif() -+ # Requesting sm or compute 35, 37, or 50 triggers deprecation messages with -+ # nvcc 11.0, which we need to suppress for use in CI -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_WARNING_NO_DEPRECATED_GPU_TARGETS -Wno-deprecated-gpu-targets) - - # Next add flags that trigger PTX code generation for the - # newest supported virtual arch that's useful to JIT to future architectures - # as well as an older one suitable for JIT-ing to any rare intermediate arch - # (like that of Jetson / Drive PX devices) -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_35,code=compute_35") -- if(CUDA_VERSION VERSION_LESS "11.0") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_32,code=compute_32") -- else() -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_53,code=compute_53") -- endif() -- if(NOT CUDA_VERSION VERSION_LESS "11.0") -- list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_80,code=compute_80") -- endif() -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_53 --generate-code=arch=compute_53,code=sm_53) -+ gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_GENCODE_FLAGS NVCC_HAS_GENCODE_COMPUTE_80 --generate-code=arch=compute_80,code=sm_80) - endif() - - if (GMX_CUDA_TARGET_SM) -@@ -158,27 +247,20 @@ - # FindCUDA.cmake is unaware of the mechanism used by cmake to embed - # the compiler flag for the required C++ standard in the generated - # build files, so we have to pass it ourselves --if (CUDA_VERSION VERSION_LESS 11.0) -- # CUDA doesn't formally support C++17 until version 11.0, so for -- # now host-side code that compiles with CUDA is restricted to -- # C++14. This needs to be expressed formally for older CUDA -- # version. -+ -+# gcc-7 pre-dated C++17, so uses the -std=c++1z compiler flag for it, -+# which modern nvcc does not recognize. So we work around that by -+# compiling in C++14 mode. Clang doesn't have this problem because nvcc -+# only supports version of clang that already understood -std=c++17 -+if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8) - list(APPEND GMX_CUDA_NVCC_FLAGS "${CMAKE_CXX14_STANDARD_COMPILE_OPTION}") - else() -- # gcc-7 pre-dated C++17, so uses the -std=c++1z compiler flag for it, -- # which modern nvcc does not recognize. So we work around that by -- # compiling in C++14 mode. Clang doesn't have this problem because nvcc -- # only supports version of clang that already understood -std=c++17 -- if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8) -- list(APPEND GMX_CUDA_NVCC_FLAGS "${CMAKE_CXX14_STANDARD_COMPILE_OPTION}") -- else() -- list(APPEND GMX_CUDA_NVCC_FLAGS "${CMAKE_CXX17_STANDARD_COMPILE_OPTION}") -- endif() -+ list(APPEND GMX_CUDA_NVCC_FLAGS "${CMAKE_CXX17_STANDARD_COMPILE_OPTION}") - endif() - - # assemble the CUDA flags - list(APPEND GMX_CUDA_NVCC_FLAGS "${GMX_CUDA_NVCC_GENCODE_FLAGS}") --list(APPEND GMX_CUDA_NVCC_FLAGS "-use_fast_math") -+gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_FLAGS NVCC_HAS_USE_FAST_MATH -use_fast_math) - - # assemble the CUDA host compiler flags - list(APPEND GMX_CUDA_NVCC_FLAGS "${CUDA_HOST_COMPILER_OPTIONS}") -@@ -187,12 +269,18 @@ - # CUDA header cuda_runtime_api.h in at least CUDA 10.1 uses 0 - # where nullptr would be preferable. GROMACS can't fix these, so - # must suppress them. -- GMX_TEST_CXXFLAG(CXXFLAGS_NO_ZERO_AS_NULL_POINTER_CONSTANT "-Wno-zero-as-null-pointer-constant" NVCC_CLANG_SUPPRESSIONS_CXXFLAGS) -+ GMX_TEST_CXXFLAG(HAS_WARNING_NO_ZERO_AS_NULL_POINTER_CONSTANT "-Wno-zero-as-null-pointer-constant" NVCC_CLANG_SUPPRESSIONS_CXXFLAGS) - - # CUDA header crt/math_functions.h in at least CUDA 10.x and 11.1 - # used throw() specifications that are deprecated in more recent - # C++ versions. GROMACS can't fix these, so must suppress them. -- GMX_TEST_CXXFLAG(CXXFLAGS_NO_DEPRECATED_DYNAMIC_EXCEPTION_SPEC "-Wno-deprecated-dynamic-exception-spec" NVCC_CLANG_SUPPRESSIONS_CXXFLAGS) -+ GMX_TEST_CXXFLAG(HAS_WARNING_NO_DEPRECATED_DYNAMIC_EXCEPTION_SPEC "-Wno-deprecated-dynamic-exception-spec" NVCC_CLANG_SUPPRESSIONS_CXXFLAGS) -+ -+ # CUDA headers cuda_runtime.h and channel_descriptor.h in at least -+ # CUDA 11.0 uses many C-style casts, which are ncessary for this -+ # header to work for C. GROMACS can't fix these, so must suppress -+ # the warnings they generate -+ GMX_TEST_CXXFLAG(HAS_WARNING_NO_OLD_STYLE_CAST "-Wno-old-style-cast" NVCC_CLANG_SUPPRESSIONS_CXXFLAGS) - - # Add these flags to those used for the host compiler. The - # "-Xcompiler" prefix directs nvcc to only use them for host -@@ -205,37 +293,6 @@ - string(TOUPPER "${CMAKE_BUILD_TYPE}" _build_type) - gmx_check_if_changed(_cuda_nvcc_executable_or_flags_changed CUDA_NVCC_EXECUTABLE CUDA_NVCC_FLAGS CUDA_NVCC_FLAGS_${_build_type}) - --# We would like to be helpful and reject the host compiler with a --# clear error message at configure time, rather than let nvcc --# later reject the host compiler as not supported when the first --# CUDA source file is built. We've implemented that for current --# nvcc running on Unix-like systems, but e.g. changes to nvcc --# will further affect the limited portability of this checking --# code. Set the CMake variable GMX_NVCC_WORKS on if you want to --# bypass this check. --if((_cuda_nvcc_executable_or_flags_changed OR CUDA_HOST_COMPILER_CHANGED OR NOT GMX_NVCC_WORKS) AND NOT WIN32) -- message(STATUS "Check for working NVCC/C++ compiler combination with nvcc '${CUDA_NVCC_EXECUTABLE}'") -- execute_process(COMMAND ${CUDA_NVCC_EXECUTABLE} -ccbin ${CUDA_HOST_COMPILER} -c ${CUDA_NVCC_FLAGS} ${CUDA_NVCC_FLAGS_${_build_type}} ${CMAKE_SOURCE_DIR}/cmake/TestCUDA.cu -- RESULT_VARIABLE _cuda_test_res -- OUTPUT_VARIABLE _cuda_test_out -- ERROR_VARIABLE _cuda_test_err -- OUTPUT_STRIP_TRAILING_WHITESPACE) -- -- if(${_cuda_test_res}) -- message(STATUS "Check for working NVCC/C compiler combination - broken") -- message(STATUS "${CUDA_NVCC_EXECUTABLE} standard output: '${_cuda_test_out}'") -- message(STATUS "${CUDA_NVCC_EXECUTABLE} standard error: '${_cuda_test_err}'") -- if(${_cuda_test_err} MATCHES "nsupported") -- message(FATAL_ERROR "NVCC/C++ compiler combination does not seem to be supported. CUDA frequently does not support the latest versions of the host compiler, so you might want to try an earlier C++ compiler version and make sure your CUDA compiler and driver are as recent as possible.") -- else() -- message(FATAL_ERROR "CUDA compiler does not seem to be functional.") -- endif() -- elseif(NOT GMX_CUDA_TEST_COMPILER_QUIETLY) -- message(STATUS "Check for working NVCC/C++ compiler combination - works") -- set(GMX_NVCC_WORKS TRUE CACHE INTERNAL "Nvcc can compile a trivial test program") -- endif() --endif() # GMX_CHECK_NVCC -- - - # The flags are set as local variables which shadow the cache variables. The cache variables - # (can be set by the user) are appended. This is done in a macro to set the flags when all diff --git a/sci-chemistry/gromacs/files/gromacs-2021-musl-stdint.patch b/sci-chemistry/gromacs/files/gromacs-2021-musl-stdint.patch deleted file mode 100644 index c94fc5598f91..000000000000 --- a/sci-chemistry/gromacs/files/gromacs-2021-musl-stdint.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 8a38303c52fbca07c850e0c4cd03a783aabf9e49 Mon Sep 17 00:00:00 2001 -From: Paul Bauer -Date: Mon, 21 Feb 2022 09:53:46 +0100 -Subject: [PATCH] Fix missing includes for musl libc - -Fixes #4404 ---- - src/gromacs/math/vectypes.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/gromacs/math/vectypes.h b/src/gromacs/math/vectypes.h -index d4d5211d11..bd9d31de20 100644 ---- a/src/gromacs/math/vectypes.h -+++ b/src/gromacs/math/vectypes.h -@@ -40,6 +40,7 @@ - - #include - #include -+#include - - #include - #include --- -2.35.1 - diff --git a/sci-chemistry/gromacs/gromacs-2020.7-r1.ebuild b/sci-chemistry/gromacs/gromacs-2020.7-r1.ebuild deleted file mode 100644 index c93e5baf72ef..000000000000 --- a/sci-chemistry/gromacs/gromacs-2020.7-r1.ebuild +++ /dev/null @@ -1,351 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CMAKE_MAKEFILE_GENERATOR="ninja" - -PYTHON_COMPAT=( python3_{10..12} ) - -DISTUTILS_OPTIONAL=1 -DISTUTILS_USE_PEP517=no -DISTUTILS_SINGLE_IMPL=1 - -inherit bash-completion-r1 cmake cuda distutils-r1 flag-o-matic readme.gentoo-r1 toolchain-funcs xdg-utils - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI=" - https://gitlab.com/gromacs/gromacs.git - https://github.com/gromacs/gromacs.git - " - [[ ${PV} = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}" - inherit git-r3 -else - SRC_URI=" - https://ftp.gromacs.org/gromacs/${PN}-${PV/_/-}.tar.gz - doc? ( https://ftp.gromacs.org/manual/manual-${PV/_/-}.pdf ) - test? ( https://ftp.gromacs.org/regressiontests/regressiontests-${PV/_/-}.tar.gz )" - KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~x64-macos" -fi - -ACCE_IUSE="cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_fma4 cpu_flags_x86_avx cpu_flags_x86_avx2" - -DESCRIPTION="The ultimate molecular dynamics simulation package" -HOMEPAGE="https://www.gromacs.org/" - -# see COPYING for details -# https://repo.or.cz/w/gromacs.git/blob/HEAD:/COPYING -# base, vmd plugins, fftpack from numpy, blas/lapck from netlib, memtestG80 library, mpi_thread lib -LICENSE="LGPL-2.1 UoI-NCSA !mkl? ( !fftw? ( BSD ) !blas? ( BSD ) !lapack? ( BSD ) ) cuda? ( LGPL-3 ) threads? ( BSD )" -SLOT="0/${PV}" -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}" - -CDEPEND=" - X? ( - x11-libs/libX11 - x11-libs/libSM - x11-libs/libICE - ) - blas? ( virtual/blas ) - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.14:= ) - opencl? ( virtual/opencl ) - openmp? ( - sys-devel/gcc[openmp] - sys-devel/clang-runtime[openmp] - ) - fftw? ( sci-libs/fftw:3.0= ) - hwloc? ( sys-apps/hwloc:= ) - lapack? ( virtual/lapack ) - lmfit? ( sci-libs/lmfit:= ) - mkl? ( sci-libs/mkl ) - mpi? ( virtual/mpi ) - ${PYTHON_DEPS} - " -BDEPEND="${CDEPEND} - virtual/pkgconfig - build-manual? ( - app-text/doxygen - $(python_gen_cond_dep ' - dev-python/sphinx[${PYTHON_USEDEP}] - ') - media-gfx/mscgen - media-gfx/graphviz - dev-texlive/texlive-latex - dev-texlive/texlive-latexextra - media-gfx/imagemagick - )" -RDEPEND="${CDEPEND}" - -REQUIRED_USE=" - || ( single-precision double-precision ) - doc? ( !build-manual ) - cuda? ( single-precision ) - opencl? ( single-precision ) - cuda? ( !opencl ) - mkl? ( !blas !fftw !lapack ) - ${PYTHON_REQUIRED_USE}" - -DOCS=( AUTHORS README ) - -RESTRICT="!test? ( test )" - -if [[ ${PV} != *9999 ]]; then - S="${WORKDIR}/${PN}-${PV/_/-}" -fi - -PATCHES=( "${FILESDIR}/${PN}-2020-pytest.patch" ) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} != *9999 ]]; then - default - else - git-r3_src_unpack - if use test; then - EGIT_REPO_URI="https://gitlab.com/gromacs/gromacs-regressiontests.git" \ - EGIT_BRANCH="${EGIT_BRANCH}" \ - EGIT_CHECKOUT_DIR="${WORKDIR}/regressiontests"\ - git-r3_src_unpack - fi - fi -} - -src_prepare() { - #notes/todos - # -on apple: there is framework support - - xdg_environment_reset #591952 - - cmake_src_prepare - - use cuda && cuda_src_prepare - - GMX_DIRS="" - use single-precision && GMX_DIRS+=" float" - use double-precision && GMX_DIRS+=" double" - - if use test; then - for x in ${GMX_DIRS}; do - mkdir -p "${WORKDIR}/${P}_${x}" || die - cp -al "${WORKDIR}/regressiontests"* "${WORKDIR}/${P}_${x}/tests" || die - done - fi - - DOC_CONTENTS="Gromacs can use sci-chemistry/vmd to read additional file formats" - if use build-manual; then - # try to create policy for imagemagik - mkdir -p "${HOME}"/.config/ImageMagick - cat >> "${HOME}"/.config/ImageMagick/policy.xml <<- EOF - - - !ATTLIST policymap xmlns CDATA #FIXED ''> - - - ]> - - - - - - - - - EOF - fi -} - -src_configure() { - local mycmakeargs_pre=( ) extra fft_opts=( ) - - if use custom-cflags; then - #go from slowest to fastest acceleration - local acce="None" - use cpu_flags_x86_sse2 && acce="SSE2" - use cpu_flags_x86_sse4_1 && acce="SSE4.1" - use cpu_flags_x86_fma4 && acce="AVX_128_FMA" - use cpu_flags_x86_avx && acce="AVX_256" - use cpu_flags_x86_avx2 && acce="AVX2_256" - else - strip-flags - fi - - #to create man pages, build tree binaries are executed (bug #398437) - [[ ${CHOST} = *-darwin* ]] && \ - extra+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF" - - if use fftw; then - fft_opts=( -DGMX_FFT_LIBRARY=fftw3 ) - elif use mkl; then - local bits=$(get_libdir) - fft_opts=( -DGMX_FFT_LIBRARY=mkl - -DMKL_INCLUDE_DIR="$(echo /opt/intel/*/mkl/include)" - -DMKL_LIBRARIES="$(echo /opt/intel/*/mkl/lib/*${bits/lib}/libmkl_rt.so)" - ) - else - fft_opts=( -DGMX_FFT_LIBRARY=fftpack ) - fi - - if use lmfit; then - local lmfit_opts=( -DGMX_USE_LMFIT=EXTERNAL ) - else - local lmfit_opts=( -DGMX_USE_LMFIT=INTERNAL ) - fi - - mycmakeargs_pre+=( - "${fft_opts[@]}" - "${lmfit_opts[@]}" - -DGMX_X11=$(usex X) - -DGMX_EXTERNAL_BLAS=$(usex blas) - -DGMX_EXTERNAL_LAPACK=$(usex lapack) - -DGMX_OPENMP=$(usex openmp) - -DGMX_COOL_QUOTES=$(usex offensive) - -DGMX_USE_TNG=$(usex tng) - -DGMX_BUILD_MANUAL=$(usex build-manual) - -DGMX_HWLOC=$(usex hwloc) - -DGMX_DEFAULT_SUFFIX=off - -DGMX_SIMD="$acce" - -DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/" - -DBUILD_TESTING=$(usex test) - -DGMX_BUILD_UNITTESTS=$(usex test) - -DPYTHON_EXECUTABLE="${EPREFIX}/usr/bin/${EPYTHON}" - ${extra} - ) - - for x in ${GMX_DIRS}; do - einfo "Configuring for ${x} precision" - local suffix="" - #if we build single and double - double is suffixed - use double-precision && use single-precision && \ - [[ ${x} = "double" ]] && suffix="_d" - local p - [[ ${x} = "double" ]] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF" - local cuda=( "-DGMX_GPU=OFF" ) - [[ ${x} = "float" ]] && use cuda && \ - cuda=( "-DGMX_GPU=ON" ) - local opencl=( "-DGMX_USE_OPENCL=OFF" ) - use opencl && opencl=( "-DGMX_USE_OPENCL=ON" ) cuda=( "-DGMX_GPU=ON" ) - local mycmakeargs=( - ${mycmakeargs_pre[@]} ${p} - -DGMX_MPI=OFF - -DGMX_THREAD_MPI=$(usex threads) - -DGMXAPI=$(usex gmxapi) - -DGMX_INSTALL_LEGACY_API=$(usex gmxapi-legacy) - "${opencl[@]}" - "${cuda[@]}" - "$(use test && echo -DREGRESSIONTEST_PATH="${WORKDIR}/${P}_${x}/tests")" - -DGMX_BINARY_SUFFIX="${suffix}" - -DGMX_LIBS_SUFFIX="${suffix}" - -DGMX_PYTHON_PACKAGE=$(usex python) - ) - BUILD_DIR="${WORKDIR}/${P}_${x}" cmake_src_configure - [[ ${CHOST} != *-darwin* ]] || \ - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}/gentoo_rules.cmake" || die - use mpi || continue - einfo "Configuring for ${x} precision with mpi" - local mycmakeargs=( - ${mycmakeargs_pre[@]} ${p} - -DGMX_THREAD_MPI=OFF - -DGMX_MPI=ON - -DGMX_OPENMM=OFF - -DGMXAPI=OFF - "${opencl[@]}" - "${cuda[@]}" - -DGMX_BUILD_MDRUN_ONLY=ON - -DBUILD_SHARED_LIBS=OFF - -DGMX_BUILD_MANUAL=OFF - -DGMX_BINARY_SUFFIX="_mpi${suffix}" - -DGMX_LIBS_SUFFIX="_mpi${suffix}" - ) - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" CC="mpicc" cmake_src_configure - [[ ${CHOST} != *-darwin* ]] || \ - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}_mpi/gentoo_rules.cmake" || die - done -} - -src_compile() { - for x in ${GMX_DIRS}; do - einfo "Compiling for ${x} precision" - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile - if use python; then - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile python_packaging/all - BUILD_DIR="${WORKDIR}/${P}" \ - distutils-r1_src_compile - fi - # not 100% necessary for rel ebuilds as available from website - if use build-manual; then - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile manual - fi - use mpi || continue - einfo "Compiling for ${x} precision with mpi" - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\ - cmake_src_compile - done -} - -src_test() { - for x in ${GMX_DIRS}; do - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile check - done -} - -src_install() { - for x in ${GMX_DIRS}; do - BUILD_DIR="${WORKDIR}/${P}_${x}" \ - cmake_src_install - if use python; then - BUILD_DIR="${WORKDIR}/${P}_${x}" \ - cmake_src_install python_packaging/install - fi - if use build-manual; then - newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf" - fi - - if use doc; then - if [[ ${PV} != *9999* ]]; then - newdoc "${DISTDIR}/manual-${PV}.pdf" "${PN}-manual-${PV}.pdf" - fi - fi - - use mpi || continue - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \ - cmake_src_install - done - - if use tng; then - insinto /usr/include/tng - doins src/external/tng_io/include/tng/*h - fi - # drop unneeded stuff - rm "${ED}"/usr/bin/GMXRC* || die - for x in "${ED}"/usr/bin/gmx-completion-*.bash ; do - local n=${x##*/gmx-completion-} - n="${n%.bash}" - cat "${ED}"/usr/bin/gmx-completion.bash "$x" > "${T}/${n}" || die - newbashcomp "${T}"/"${n}" "${n}" - done - rm "${ED}"/usr/bin/gmx-completion*.bash || die - readme.gentoo_create_doc -} - -pkg_postinst() { - einfo - einfo "Please read and cite gromacs related papers from list:" - einfo "https://www.gromacs.org/articles.html" - einfo - readme.gentoo_print_elog -} diff --git a/sci-chemistry/gromacs/gromacs-2021.7-r1.ebuild b/sci-chemistry/gromacs/gromacs-2021.7-r1.ebuild deleted file mode 100644 index 8b99117678ed..000000000000 --- a/sci-chemistry/gromacs/gromacs-2021.7-r1.ebuild +++ /dev/null @@ -1,360 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CMAKE_MAKEFILE_GENERATOR="ninja" - -PYTHON_COMPAT=( python3_{10..12} ) - -DISTUTILS_OPTIONAL=1 -DISTUTILS_USE_PEP517=no -DISTUTILS_SINGLE_IMPL=1 - -inherit bash-completion-r1 cmake cuda distutils-r1 flag-o-matic readme.gentoo-r1 toolchain-funcs xdg-utils - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI=" - https://gitlab.com/gromacs/gromacs.git - https://github.com/gromacs/gromacs.git - " - [[ ${PV} = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}" - inherit git-r3 -else - SRC_URI=" - https://ftp.gromacs.org/gromacs/${PN}-${PV/_/-}.tar.gz - doc? ( https://ftp.gromacs.org/manual/manual-${PV/_/-}.pdf ) - test? ( https://ftp.gromacs.org/regressiontests/regressiontests-${PV/_/-}.tar.gz )" - KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~x64-macos" -fi - -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" - -DESCRIPTION="The ultimate molecular dynamics simulation package" -HOMEPAGE="https://www.gromacs.org/" - -# see COPYING for details -# https://repo.or.cz/w/gromacs.git/blob/HEAD:/COPYING -# base, vmd plugins, fftpack from numpy, blas/lapck from netlib, memtestG80 library, mpi_thread lib -LICENSE="LGPL-2.1 UoI-NCSA !mkl? ( !fftw? ( BSD ) !blas? ( BSD ) !lapack? ( BSD ) ) cuda? ( LGPL-3 ) threads? ( BSD )" -SLOT="0/${PV}" -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}" - -CDEPEND=" - X? ( - x11-libs/libX11 - x11-libs/libSM - x11-libs/libICE - ) - blas? ( virtual/blas ) - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.14:=[profiler] ) - opencl? ( virtual/opencl ) - openmp? ( - sys-devel/gcc[openmp] - sys-devel/clang-runtime[openmp] - ) - fftw? ( sci-libs/fftw:3.0= ) - hwloc? ( sys-apps/hwloc:= ) - lapack? ( virtual/lapack ) - lmfit? ( sci-libs/lmfit:= ) - mkl? ( sci-libs/mkl ) - mpi? ( virtual/mpi ) - ${PYTHON_DEPS} - " -BDEPEND="${CDEPEND} - virtual/pkgconfig - build-manual? ( - app-text/doxygen - $(python_gen_cond_dep ' - dev-python/sphinx[${PYTHON_USEDEP}] - ') - media-gfx/mscgen - media-gfx/graphviz - dev-texlive/texlive-latex - dev-texlive/texlive-latexextra - media-gfx/imagemagick - )" -RDEPEND="${CDEPEND}" - -REQUIRED_USE=" - || ( single-precision double-precision ) - doc? ( !build-manual ) - cuda? ( single-precision ) - opencl? ( single-precision ) - cuda? ( !opencl ) - mkl? ( !blas !fftw !lapack ) - ${PYTHON_REQUIRED_USE}" - -DOCS=( AUTHORS README ) - -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}/${PN}-2021-musl-stdint.patch" - "${FILESDIR}/${PN}-2021-cuda-detection.patch" - "${FILESDIR}/${PN}-2021-cstdint-include.patch" -) - -if [[ ${PV} != *9999 ]]; then - S="${WORKDIR}/${PN}-${PV/_/-}" -fi - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} != *9999 ]]; then - default - else - git-r3_src_unpack - if use test; then - EGIT_REPO_URI="https://gitlab.com/gromacs/gromacs-regressiontests.git" \ - EGIT_BRANCH="${EGIT_BRANCH}" \ - EGIT_CHECKOUT_DIR="${WORKDIR}/regressiontests"\ - git-r3_src_unpack - fi - fi -} - -src_prepare() { - #notes/todos - # -on apple: there is framework support - - xdg_environment_reset #591952 - - cmake_src_prepare - - use cuda && cuda_src_prepare - - GMX_DIRS="" - use single-precision && GMX_DIRS+=" float" - use double-precision && GMX_DIRS+=" double" - - if use test; then - for x in ${GMX_DIRS}; do - mkdir -p "${WORKDIR}/${P}_${x}" || die - cp -al "${WORKDIR}/regressiontests"* "${WORKDIR}/${P}_${x}/tests" || die - done - fi - - DOC_CONTENTS="Gromacs can use sci-chemistry/vmd to read additional file formats" - if use build-manual; then - # try to create policy for imagemagik - mkdir -p "${HOME}"/.config/ImageMagick - cat >> "${HOME}"/.config/ImageMagick/policy.xml <<- EOF - - - !ATTLIST policymap xmlns CDATA #FIXED ''> - - - ]> - - - - - - - - - EOF - fi -} - -src_configure() { - local mycmakeargs_pre=( ) extra fft_opts=( ) - local acce="AUTO" - - if use custom-cflags; then - #go from slowest to fastest acceleration - acce="None" - if (use amd64 || use x86); then - use cpu_flags_x86_sse2 && acce="SSE2" - use cpu_flags_x86_sse4_1 && acce="SSE4.1" - use cpu_flags_x86_fma4 && acce="AVX_128_FMA" - use cpu_flags_x86_avx && acce="AVX_256" - use cpu_flags_x86_avx2 && acce="AVX2_256" - use cpu_flags_x86_avx512f && acce="AVX_512" - elif (use arm); then - use cpu_flags_arm_neon && acce="ARM_NEON" - elif (use arm64); then - use cpu_flags_arm_neon && acce="ARM_NEON_ASIMD" - fi - else - strip-flags - fi - - #to create man pages, build tree binaries are executed (bug #398437) - [[ ${CHOST} = *-darwin* ]] && \ - extra+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF" - - if use fftw; then - fft_opts=( -DGMX_FFT_LIBRARY=fftw3 ) - elif use mkl; then - local bits=$(get_libdir) - fft_opts=( -DGMX_FFT_LIBRARY=mkl - -DMKL_INCLUDE_DIR="$(echo /opt/intel/*/mkl/include)" - -DMKL_LIBRARIES="$(echo /opt/intel/*/mkl/lib/*${bits/lib}/libmkl_rt.so)" - ) - else - fft_opts=( -DGMX_FFT_LIBRARY=fftpack ) - fi - - if use lmfit; then - local lmfit_opts=( -DGMX_USE_LMFIT=EXTERNAL ) - else - local lmfit_opts=( -DGMX_USE_LMFIT=INTERNAL ) - fi - - mycmakeargs_pre+=( - "${fft_opts[@]}" - "${lmfit_opts[@]}" - -DGMX_X11=$(usex X) - -DGMX_EXTERNAL_BLAS=$(usex blas) - -DGMX_EXTERNAL_LAPACK=$(usex lapack) - -DGMX_OPENMP=$(usex openmp) - -DGMX_COOL_QUOTES=$(usex offensive) - -DGMX_USE_TNG=$(usex tng) - -DGMX_BUILD_MANUAL=$(usex build-manual) - -DGMX_HWLOC=$(usex hwloc) - -DGMX_DEFAULT_SUFFIX=off - -DGMX_SIMD="$acce" - -DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/" - -DBUILD_TESTING=$(usex test) - -DGMX_BUILD_UNITTESTS=$(usex test) - -DPYTHON_EXECUTABLE="${EPREFIX}/usr/bin/${EPYTHON}" - ${extra} - ) - - for x in ${GMX_DIRS}; do - einfo "Configuring for ${x} precision" - local suffix="" - #if we build single and double - double is suffixed - use double-precision && use single-precision && \ - [[ ${x} = "double" ]] && suffix="_d" - local p - [[ ${x} = "double" ]] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF" - local gpu=( "-DGMX_GPU=OFF" ) - [[ ${x} = "float" ]] && use cuda && gpu=( "-DGMX_GPU=CUDA" ) - use opencl && gpu=( "-DGMX_GPU=OPENCL" ) - local mycmakeargs=( - ${mycmakeargs_pre[@]} ${p} - -DGMX_MPI=OFF - -DGMX_THREAD_MPI=$(usex threads) - -DGMXAPI=$(usex gmxapi) - -DGMX_INSTALL_LEGACY_API=$(usex gmxapi-legacy) - "${gpu[@]}" - "$(use test && echo -DREGRESSIONTEST_PATH="${WORKDIR}/${P}_${x}/tests")" - -DGMX_BINARY_SUFFIX="${suffix}" - -DGMX_LIBS_SUFFIX="${suffix}" - -DGMX_PYTHON_PACKAGE=$(usex python) - ) - BUILD_DIR="${WORKDIR}/${P}_${x}" cmake_src_configure - [[ ${CHOST} != *-darwin* ]] || \ - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}/gentoo_rules.cmake" || die - use mpi || continue - einfo "Configuring for ${x} precision with mpi" - local mycmakeargs=( - ${mycmakeargs_pre[@]} ${p} - -DGMX_THREAD_MPI=OFF - -DGMX_MPI=ON - -DGMX_OPENMM=OFF - -DGMXAPI=OFF - "${opencl[@]}" - "${cuda[@]}" - -DGMX_BUILD_MDRUN_ONLY=ON - -DBUILD_SHARED_LIBS=OFF - -DGMX_BUILD_MANUAL=OFF - -DGMX_BINARY_SUFFIX="_mpi${suffix}" - -DGMX_LIBS_SUFFIX="_mpi${suffix}" - ) - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" CC="mpicc" cmake_src_configure - [[ ${CHOST} != *-darwin* ]] || \ - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}_mpi/gentoo_rules.cmake" || die - done -} - -src_compile() { - for x in ${GMX_DIRS}; do - einfo "Compiling for ${x} precision" - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile - if use python; then - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile python_packaging/all - BUILD_DIR="${WORKDIR}/${P}" \ - distutils-r1_src_compile - fi - # not 100% necessary for rel ebuilds as available from website - if use build-manual; then - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile manual - fi - use mpi || continue - einfo "Compiling for ${x} precision with mpi" - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\ - cmake_src_compile - done -} - -src_test() { - for x in ${GMX_DIRS}; do - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile check - done -} - -src_install() { - for x in ${GMX_DIRS}; do - BUILD_DIR="${WORKDIR}/${P}_${x}" \ - cmake_src_install - if use python; then - BUILD_DIR="${WORKDIR}/${P}_${x}" \ - cmake_src_install python_packaging/install - fi - if use build-manual; then - newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf" - fi - - if use doc; then - if [[ ${PV} != *9999* ]]; then - newdoc "${DISTDIR}/manual-${PV}.pdf" "${PN}-manual-${PV}.pdf" - fi - fi - - use mpi || continue - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \ - cmake_src_install - done - - if use tng; then - insinto /usr/include/tng - doins src/external/tng_io/include/tng/*h - fi - # drop unneeded stuff - rm "${ED}"/usr/bin/GMXRC* || die - for x in "${ED}"/usr/bin/gmx-completion-*.bash ; do - local n=${x##*/gmx-completion-} - n="${n%.bash}" - cat "${ED}"/usr/bin/gmx-completion.bash "$x" > "${T}/${n}" || die - newbashcomp "${T}"/"${n}" "${n}" - done - rm "${ED}"/usr/bin/gmx-completion*.bash || die - readme.gentoo_create_doc -} - -pkg_postinst() { - einfo - einfo "Please read and cite gromacs related papers from list:" - einfo "https://www.gromacs.org/articles.html" - einfo - readme.gentoo_print_elog -} diff --git a/sci-chemistry/gromacs/gromacs-2022.6.ebuild b/sci-chemistry/gromacs/gromacs-2022.6.ebuild deleted file mode 100644 index 92b1f497c860..000000000000 --- a/sci-chemistry/gromacs/gromacs-2022.6.ebuild +++ /dev/null @@ -1,337 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CMAKE_MAKEFILE_GENERATOR="ninja" - -PYTHON_COMPAT=( python3_{10..12} ) - -DISTUTILS_OPTIONAL=1 -DISTUTILS_USE_PEP517=no -DISTUTILS_SINGLE_IMPL=1 - -inherit bash-completion-r1 cmake cuda distutils-r1 flag-o-matic readme.gentoo-r1 toolchain-funcs xdg-utils - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI=" - https://gitlab.com/gromacs/gromacs.git - https://github.com/gromacs/gromacs.git - " - [[ ${PV} = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}" - inherit git-r3 -else - SRC_URI=" - https://ftp.gromacs.org/gromacs/${P}.tar.gz - doc? ( https://ftp.gromacs.org/manual/manual-${PV}.pdf ) - test? ( https://ftp.gromacs.org/regressiontests/regressiontests-${PV}.tar.gz )" - # since 2022 arm support was dropped (but not arm64) - KEYWORDS="~amd64 -arm ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" -fi - -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" - -DESCRIPTION="The ultimate molecular dynamics simulation package" -HOMEPAGE="https://www.gromacs.org/" - -# see COPYING for details -# https://repo.or.cz/w/gromacs.git/blob/HEAD:/COPYING -# base, vmd plugins, fftpack from numpy, blas/lapck from netlib, memtestG80 library, mpi_thread lib -LICENSE="LGPL-2.1 UoI-NCSA !mkl? ( !fftw? ( BSD ) !blas? ( BSD ) !lapack? ( BSD ) ) cuda? ( LGPL-3 ) threads? ( BSD )" -SLOT="0/${PV}" -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}" - -CDEPEND=" - blas? ( virtual/blas ) - cuda? ( >=dev-util/nvidia-cuda-toolkit-11:=[profiler] ) - opencl? ( virtual/opencl ) - openmp? ( - sys-devel/gcc[openmp] - sys-devel/clang-runtime[openmp] - ) - fftw? ( sci-libs/fftw:3.0= ) - hwloc? ( sys-apps/hwloc:= ) - lapack? ( virtual/lapack ) - mkl? ( sci-libs/mkl ) - mpi? ( virtual/mpi[cxx] ) - sci-libs/lmfit:= - >=dev-cpp/muParser-2.3:= - ${PYTHON_DEPS} - " -BDEPEND="${CDEPEND} - virtual/pkgconfig - clang? ( >=sys-devel/clang-6:* ) - build-manual? ( - app-text/doxygen - $(python_gen_cond_dep ' - dev-python/sphinx[${PYTHON_USEDEP}] - ') - media-gfx/mscgen - media-gfx/graphviz - dev-texlive/texlive-latex - dev-texlive/texlive-latexextra - media-gfx/imagemagick - )" -RDEPEND="${CDEPEND} - > "${HOME}"/.config/ImageMagick/policy.xml <<- EOF - - - !ATTLIST policymap xmlns CDATA #FIXED ''> - - - ]> - - - - - - - - - EOF - fi -} - -src_configure() { - local mycmakeargs_pre=( ) extra fft_opts=( ) - local acce="AUTO" - - if use custom-cflags; then - #go from slowest to fastest acceleration - acce="None" - if (use amd64 || use x86); then - use cpu_flags_x86_sse2 && acce="SSE2" - use cpu_flags_x86_sse4_1 && acce="SSE4.1" - use cpu_flags_x86_fma4 && acce="AVX_128_FMA" - use cpu_flags_x86_avx && acce="AVX_256" - use cpu_flags_x86_avx2 && acce="AVX2_256" - use cpu_flags_x86_avx512f && acce="AVX_512" - elif (use arm); then - use cpu_flags_arm_neon && acce="ARM_NEON" - elif (use arm64); then - use cpu_flags_arm_neon && acce="ARM_NEON_ASIMD" - fi - else - strip-flags - fi - - #to create man pages, build tree binaries are executed (bug #398437) - [[ ${CHOST} = *-darwin* ]] && \ - extra+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF" - - if use fftw; then - fft_opts=( -DGMX_FFT_LIBRARY=fftw3 ) - elif use mkl; then - local bits=$(get_libdir) - fft_opts=( -DGMX_FFT_LIBRARY=mkl - -DMKL_INCLUDE_DIR="$(echo /opt/intel/*/mkl/include)" - -DMKL_LIBRARIES="$(echo /opt/intel/*/mkl/lib/*${bits/lib}/libmkl_rt.so)" - ) - else - fft_opts=( -DGMX_FFT_LIBRARY=fftpack ) - fi - - mycmakeargs_pre+=( - "${fft_opts[@]}" - "${lmfit_opts[@]}" - -DGMX_USE_LMFIT=EXTERNAL - -DGMX_USE_MUPARSER=EXTERNAL - -DGMX_EXTERNAL_BLAS=$(usex blas) - -DGMX_EXTERNAL_LAPACK=$(usex lapack) - -DGMX_OPENMP=$(usex openmp) - -DGMX_COOL_QUOTES=$(usex offensive) - -DGMX_USE_TNG=$(usex tng) - -DGMX_BUILD_MANUAL=$(usex build-manual) - -DGMX_HWLOC=$(usex hwloc) - -DGMX_DEFAULT_SUFFIX=off - -DGMX_SIMD="$acce" - -DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/" - -DGMX_DSSP_PROGRAM_PATH="${EPREFIX}/usr/bin/dssp" - -DBUILD_TESTING=$(usex test) - -DGMX_BUILD_UNITTESTS=$(usex test) - -DPYTHON_EXECUTABLE="${EPREFIX}/usr/bin/${EPYTHON}" - ${extra} - ) - - for x in ${GMX_DIRS}; do - einfo "Configuring for ${x} precision" - local suffix="" - #if we build single and double - double is suffixed - use double-precision && use single-precision && \ - [[ ${x} = "double" ]] && suffix="_d" - local p - [[ ${x} = "double" ]] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF" - local gpu=( "-DGMX_GPU=OFF" ) - [[ ${x} = "float" ]] && use cuda && gpu=( "-DGMX_GPU=CUDA" ) - [[ ${x} = "float" ]] && use clang-cuda && gpu=( "-DGMX_GPU=CUDA" "-DGMX_CLANG_CUDA=ON" ) - use opencl && gpu=( "-DGMX_GPU=OPENCL" ) - local mycmakeargs=( - ${mycmakeargs_pre[@]} ${p} - -DGMX_MPI=$(usex mpi) - -DGMX_THREAD_MPI=$(usex threads) - -DGMXAPI=$(usex gmxapi) - -DGMX_INSTALL_LEGACY_API=$(usex gmxapi-legacy) - "${gpu[@]}" - "$(use test && echo -DREGRESSIONTEST_PATH="${WORKDIR}/${P}_${x}/tests")" - -DGMX_BINARY_SUFFIX="${suffix}" - -DGMX_LIBS_SUFFIX="${suffix}" - -DGMX_PYTHON_PACKAGE=$(usex python) - ) - BUILD_DIR="${WORKDIR}/${P}_${x}" cmake_src_configure - [[ ${CHOST} != *-darwin* ]] || \ - sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}/gentoo_rules.cmake" || die - done -} - -src_compile() { - for x in ${GMX_DIRS}; do - einfo "Compiling for ${x} precision" - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile - if use python; then - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile python_packaging/all - BUILD_DIR="${WORKDIR}/${P}" \ - distutils-r1_src_compile - fi - # not 100% necessary for rel ebuilds as available from website - if use build-manual; then - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile manual - fi - done -} - -src_test() { - for x in ${GMX_DIRS}; do - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake_src_compile check - done -} - -src_install() { - for x in ${GMX_DIRS}; do - BUILD_DIR="${WORKDIR}/${P}_${x}" \ - cmake_src_install - if use python; then - BUILD_DIR="${WORKDIR}/${P}_${x}" \ - cmake_src_install python_packaging/install - fi - if use build-manual; then - newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf" - fi - - if use doc; then - if [[ ${PV} != *9999* ]]; then - newdoc "${DISTDIR}/manual-${PV}.pdf" "${PN}-manual-${PV}.pdf" - fi - fi - done - - if use tng; then - insinto /usr/include/tng - doins src/external/tng_io/include/tng/*h - fi - # drop unneeded stuff - rm "${ED}"/usr/bin/GMXRC* || die - for x in "${ED}"/usr/bin/gmx-completion-*.bash ; do - local n=${x##*/gmx-completion-} - n="${n%.bash}" - cat "${ED}"/usr/bin/gmx-completion.bash "$x" > "${T}/${n}" || die - newbashcomp "${T}"/"${n}" "${n}" - done - rm "${ED}"/usr/bin/gmx-completion*.bash || die - readme.gentoo_create_doc -} - -pkg_postinst() { - einfo - einfo "Please read and cite gromacs related papers from list:" - einfo "https://www.gromacs.org/articles.html" - einfo - readme.gentoo_print_elog -} diff --git a/sci-chemistry/gromacs/metadata.xml b/sci-chemistry/gromacs/metadata.xml index 518711308a02..43c6b2799b5c 100644 --- a/sci-chemistry/gromacs/metadata.xml +++ b/sci-chemistry/gromacs/metadata.xml @@ -18,7 +18,6 @@ Add support for gmxapi library Enable installing lagacy headers Enable HWLoc lib support - Use external sci-libs/lmfit Allow to use sci-libs/caffe2 for NN Potentials Enable opencl non-bonded kernels Single precision version of gromacs (default)