From deba8115d2c2af26df42966b91ef04ff4dd79cde Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 14 May 2020 11:09:11 +0100 Subject: gentoo resync : 14.05.2020 --- sci-chemistry/Manifest.gz | Bin 15039 -> 15037 bytes sci-chemistry/gelemental/Manifest | 9 +- .../files/gelemental-1.2.0-doxygen.patch | 30 -- .../files/gelemental-1.2.0-fix-c++14.patch | 14 - .../gelemental/files/gelemental-1.2.0-gcc4.3.patch | 12 - .../files/gelemental-1.2.0-glib-2.32.patch | 46 --- .../gelemental/gelemental-1.2.0-r1.ebuild | 65 ---- .../gelemental/gelemental-2.0.0-r1.ebuild | 48 +++ sci-chemistry/gelemental/gelemental-2.0.0.ebuild | 51 --- sci-chemistry/gromacs/Manifest | 8 +- sci-chemistry/gromacs/gromacs-2020-r1.ebuild | 337 -------------------- sci-chemistry/gromacs/gromacs-2020.1-r1.ebuild | 341 +++++++++++++++++++++ sci-chemistry/gromacs/gromacs-2020.1.ebuild | 337 -------------------- sci-chemistry/gromacs/gromacs-2020.2.ebuild | 341 +++++++++++++++++++++ 14 files changed, 735 insertions(+), 904 deletions(-) delete mode 100644 sci-chemistry/gelemental/files/gelemental-1.2.0-doxygen.patch delete mode 100644 sci-chemistry/gelemental/files/gelemental-1.2.0-fix-c++14.patch delete mode 100644 sci-chemistry/gelemental/files/gelemental-1.2.0-gcc4.3.patch delete mode 100644 sci-chemistry/gelemental/files/gelemental-1.2.0-glib-2.32.patch delete mode 100644 sci-chemistry/gelemental/gelemental-1.2.0-r1.ebuild create mode 100644 sci-chemistry/gelemental/gelemental-2.0.0-r1.ebuild delete mode 100644 sci-chemistry/gelemental/gelemental-2.0.0.ebuild delete mode 100644 sci-chemistry/gromacs/gromacs-2020-r1.ebuild create mode 100644 sci-chemistry/gromacs/gromacs-2020.1-r1.ebuild delete mode 100644 sci-chemistry/gromacs/gromacs-2020.1.ebuild create mode 100644 sci-chemistry/gromacs/gromacs-2020.2.ebuild (limited to 'sci-chemistry') diff --git a/sci-chemistry/Manifest.gz b/sci-chemistry/Manifest.gz index e1120cea73ee..927b73daa6e9 100644 Binary files a/sci-chemistry/Manifest.gz and b/sci-chemistry/Manifest.gz differ diff --git a/sci-chemistry/gelemental/Manifest b/sci-chemistry/gelemental/Manifest index ed8170f6400e..5f208c77f299 100644 --- a/sci-chemistry/gelemental/Manifest +++ b/sci-chemistry/gelemental/Manifest @@ -1,10 +1,3 @@ -AUX gelemental-1.2.0-doxygen.patch 1281 BLAKE2B 5be47d1041d1d5d8c9a0857fabc94ca981dea984e6aad0f074b0faebb3de1e92b06d3e7b49fef00478b6742e09f5b869633d9d6a7cd0f051ddca5a4fcf2cb569 SHA512 f5d7c49ef6a0a7d8570dcb20d9651af31eb07fbf8f75685c83c8d5e9f44cc07ea0945af6d04cf45694aeb9a2471382c348532717700059dbdd562d1838b4f52f -AUX gelemental-1.2.0-fix-c++14.patch 399 BLAKE2B 4368bf6462a1302eb61654e877e1153f566e84b354b5f95a52dd16df19b28d4f9f914d86b564030716310dc49211ec9852901b47d86cc6f6d01af1586778f62e SHA512 9d134a3fe3dfb5a0238cc2f88803eb449cc596b5e4cd7c565c63dcc6cc11f7ed9ea605a075d75585d205fd4b502301dce9ed91725d81dffaca5cdbec95ce9d0c -AUX gelemental-1.2.0-gcc4.3.patch 387 BLAKE2B 6421e171408a7d8cbf3de07ad513804ffea94b4fc57cf3e23adaae65b25b381a49bfcc28991675db74df91d58170380a6a2ccf4024f96d4724e1dabfa2d6e3a2 SHA512 d7b103a533dd3edda30d349b0205b241cd5e23c97a562912cc28bd7fb210c3e6f5c33ce2a3321817fe3748812f655b1295d23058aefd35ae2b2746bee99c35e3 -AUX gelemental-1.2.0-glib-2.32.patch 1235 BLAKE2B 723469d6e300579db349294cc7252aadafd910cd10ede2f325cd20dfc8620c8dd335eb15f62c3e1a2c0908f4d9557c537ee89b4c9c3df5fbe8caa3de3fd60782 SHA512 2e414b8d4f57a6edcdb4322b0bf39b6d89c7be0c67086f2bd2d468aaff36f9f98339f14cb2fe11444113b5395b8b4742ea82461df84094c8c1e4ca7f21ebb1c9 -DIST gelemental-1.2.0.tar.bz2 460757 BLAKE2B 53fd40cdc37909495cd9051c83418ace482fdf17930df2a94d8cb7f44a8eff2a5e7c37e54dac4e72810b1420d0bf2722eca47eb8c375fc05ecf26b753beb4e9d SHA512 2e6ef2c22b389cff69728b01e1eb397578974362356f5132098f29a9e01a64be228a24686738bd84ea575cee5aef068d9ab3d6c20233f995ccc5f1a1cb5d5673 DIST gelemental-2.0.0.tar.gz 779052 BLAKE2B 86f98a97acaf84c2bd6e03e991e226f19e65ed9c06fc43c809278d5e6d8b93645aa64ac4983166fad6b6b9b3d0ad5bba7a7cbfe2dccbbe2ea093deaaa8bdfabd SHA512 86b0f59a3508560e3882f40b820d7b24b780bb4d1619df94f3410b0832255deec8e55d11c5ad960f96fc3e16d8a624279bf53bf178bf1dacdfe80a72181e48d6 -DIST gelemental_1.2.0-8.debian.tar.gz 29877 BLAKE2B a19c853cd426e1abdf73b48a21d1d7c830a613dc5802b1478d699d21b3211060b150c25bd525414147d02972dd9ac0940468a2f873aad03f9b7c522e862f29a7 SHA512 83c236e3b91af304c96f28c0f12577821ee2f47c9e01fb1f3664228afb002dc19b1a71e6dcd6040d09ea991d131b147ea5b36283d8ead290d50014c15e69878c -EBUILD gelemental-1.2.0-r1.ebuild 1836 BLAKE2B 1906739810fa9aac25abc1610ce00d5e60e628b492d54d26e44f3266d97e622279f293017ad1ce7f92901f4a807f3090e25b105ef260d39ea08a4a7883bfa917 SHA512 850d7a1d37b4fcc0b7a65b9aae431e302d86b453c95a0a0cbe4d3380f6ba3b8477c7a18b729b088bba2c9e4428b8a415f8d4240cc38f94e58453e4af55a689ff -EBUILD gelemental-2.0.0.ebuild 1022 BLAKE2B 4f87649dee59d080728deba62ffca7edbac581a17df4806063ae918b173b3864cffda3427805a277e85538fb8e93c017eaf0264c2b10e4cf376f326ee6555294 SHA512 4ceb393e3cedca8268dbeee698187a5a8a854f992a51831157785be5c96228d55ab5d961cde3c62363736b275f7d3b72b3b4bc5290fc51a359cc0b29921a4c97 +EBUILD gelemental-2.0.0-r1.ebuild 951 BLAKE2B efa247655c31b23277e45949e48228aa17c3f57904a1467afbfbe01baad056613e87943c31b10e8e885c1a2e113cf05bb65740777a815e2a0a57e1f87d1d7a27 SHA512 3780ff5c3b1efa1e3ea34c0a38313e24fc5cba8b1abb40e628f6ba8b0554fe9cc218a1b9d97979ed97c558d0939b2b05ae5de64b88a9dac195f5deae35fd1350 MISC metadata.xml 455 BLAKE2B 7db9d6b4a8896df6385ae2c8c2b8c771c1a6ae82a1072f6d3f9b27fbd7c4d0f3546a03ced3350331d25f48e5631855fc9653a808d49631803f2d526db75b3ac7 SHA512 815bcad86f574f7cb2dfef3205e2a6398f5fd2512395c0c016733d4cb001f70c0003f494a69bc9bc66d675a9eaa89c203ace13f17f4a9f2c6805a34fcf5125d8 diff --git a/sci-chemistry/gelemental/files/gelemental-1.2.0-doxygen.patch b/sci-chemistry/gelemental/files/gelemental-1.2.0-doxygen.patch deleted file mode 100644 index 8c904e844586..000000000000 --- a/sci-chemistry/gelemental/files/gelemental-1.2.0-doxygen.patch +++ /dev/null @@ -1,30 +0,0 @@ -Author: Joachim Reichel -Description: Skip installing (no longer generated) .dot and .gif files -Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=590382#15 -Bug-Debian: http://bugs.debian.org/590382 -Reviewed-By: Michael Banck -Forwarded: no -Last-Update: 2010-09-22 - ---- a/docs/api/Makefile.am -+++ b/docs/api/Makefile.am -@@ -12,7 +12,7 @@ - install-api: $(srcdir)/html/index.html - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)/$(apidir) -- @dir='$( T* conversions -See also: https://bugs.gentoo.org/show_bug.cgi?id=593994 - ---- a/src/dialogs.cc -+++ b/src/dialogs.cc -@@ -255,7 +255,7 @@ - const Gtk::TreePath& tpath, bool) - { - Gtk::TreeIter iter = store->get_iter (tpath); -- return iter ? iter->get_value (cols.property) : false; -+ return iter ? iter->get_value (cols.property) : NULL; - } - - diff --git a/sci-chemistry/gelemental/files/gelemental-1.2.0-gcc4.3.patch b/sci-chemistry/gelemental/files/gelemental-1.2.0-gcc4.3.patch deleted file mode 100644 index 8e69e98a5437..000000000000 --- a/sci-chemistry/gelemental/files/gelemental-1.2.0-gcc4.3.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naru gelemental-1.2.0/libelemental/value.tcc gelemental-1.2.0.new/libelemental/value.tcc ---- gelemental-1.2.0/libelemental/value.tcc 2007-09-25 01:10:16.000000000 -0400 -+++ gelemental-1.2.0.new/libelemental/value.tcc 2008-10-19 10:08:35.000000000 -0400 -@@ -26,6 +26,8 @@ - #error "value.tcc must be included from value.hh." - #endif - -+#include -+ - namespace Elemental { - - diff --git a/sci-chemistry/gelemental/files/gelemental-1.2.0-glib-2.32.patch b/sci-chemistry/gelemental/files/gelemental-1.2.0-glib-2.32.patch deleted file mode 100644 index eab2ad1f194e..000000000000 --- a/sci-chemistry/gelemental/files/gelemental-1.2.0-glib-2.32.patch +++ /dev/null @@ -1,46 +0,0 @@ - libelemental/misc/extras.cc | 2 +- - libelemental/misc/widgets.cc | 2 +- - src/main.cc | 4 ++-- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/libelemental/misc/extras.cc b/libelemental/misc/extras.cc -index a8e5720..c042604 100644 ---- a/libelemental/misc/extras.cc -+++ b/libelemental/misc/extras.cc -@@ -21,7 +21,7 @@ - - #include - #include --#include -+#include - #include - - namespace misc { -diff --git a/libelemental/misc/widgets.cc b/libelemental/misc/widgets.cc -index 002310c..941d881 100644 ---- a/libelemental/misc/widgets.cc -+++ b/libelemental/misc/widgets.cc -@@ -20,7 +20,7 @@ - #include "macros.hh" - #include "widgets.hh" - --#include -+#include - #include - #include - #include -diff --git a/src/main.cc b/src/main.cc -index 41cfe03..68bbb4c 100644 ---- a/src/main.cc -+++ b/src/main.cc -@@ -26,8 +26,8 @@ - #include - #include - #include --#include --#include -+#include -+#include - #include - #include - #include diff --git a/sci-chemistry/gelemental/gelemental-1.2.0-r1.ebuild b/sci-chemistry/gelemental/gelemental-1.2.0-r1.ebuild deleted file mode 100644 index 27588692bfbf..000000000000 --- a/sci-chemistry/gelemental/gelemental-1.2.0-r1.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit autotools-utils fdo-mime flag-o-matic gnome2-utils eutils - -DESCRIPTION="Periodic table viewer with detailed information on the chemical elements" -HOMEPAGE="https://github.com/ginggs/gelemental/" -SRC_URI=" - http://www.kdau.com/files/${P}.tar.bz2 - mirror://debian/pool/main/g/${PN}/${PN}_${PV}-8.debian.tar.gz" - -LICENSE="GPL-3 MIT" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="doc static-libs" - -RDEPEND=" - dev-cpp/gtkmm:2.4 - dev-cpp/glibmm:2" -DEPEND="${RDEPEND} - virtual/pkgconfig - sys-devel/gettext - dev-util/intltool - doc? ( app-doc/doxygen )" - -PATCHES=( - "${FILESDIR}"/${P}-gcc4.3.patch - "${FILESDIR}"/${P}-glib-2.32.patch - "${FILESDIR}"/${P}-doxygen.patch - "${WORKDIR}"/debian/patches/579183_adjust_size_middle_button.patch - "${WORKDIR}"/debian/patches/604612_fix_menu_category.patch - "${WORKDIR}"/debian/patches/604618_scrollable_properties_dialog.patch - "${WORKDIR}"/debian/patches/656372_element_renames.patch - "${WORKDIR}"/debian/patches/add_new_wave_theme.patch - "${WORKDIR}"/debian/patches/czech_translation_559028.patch - "${WORKDIR}"/debian/patches/fix_gtkmm_2.18.patch - "${WORKDIR}"/debian/patches/fix_zinc_german_translation.patch - "${WORKDIR}"/debian/patches/ftbfs_missing_limits.patch - "${WORKDIR}"/debian/patches/lp673285_link_in_about.patch - "${FILESDIR}"/${PN}-1.2.0-fix-c++14.patch - ) - -AUTOTOOLS_IN_SOURCE_BUILD=1 - -src_configure() { - append-cxxflags -std=c++11 #566450 - local myeconfargs=( $(use_enable doc api-docs) ) - autotools-utils_src_configure -} - -src_install() { - autotools-utils_src_install apidir="/usr/share/doc/${PF}/html" -} - -pkg_postinst() { - gnome2_icon_cache_update - fdo-mime_desktop_database_update -} - -pkg_postrm() { - gnome2_icon_cache_update - fdo-mime_desktop_database_update -} diff --git a/sci-chemistry/gelemental/gelemental-2.0.0-r1.ebuild b/sci-chemistry/gelemental/gelemental-2.0.0-r1.ebuild new file mode 100644 index 000000000000..4affe1b9171e --- /dev/null +++ b/sci-chemistry/gelemental/gelemental-2.0.0-r1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools eutils flag-o-matic xdg-utils + +DESCRIPTION="Periodic table viewer with detailed information on the chemical elements" +HOMEPAGE="https://github.com/ginggs/gelemental/" +SRC_URI="https://github.com/ginggs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3 MIT" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="doc" + +RDEPEND=" + dev-cpp/gtkmm:2.4 + dev-cpp/glibmm:2" +DEPEND="${RDEPEND} + virtual/pkgconfig + sys-devel/gettext + dev-util/intltool + doc? ( app-doc/doxygen )" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + append-cxxflags -std=c++11 #566450 + local myeconfargs=( $(use_enable doc api-docs) ) + + default +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update +} diff --git a/sci-chemistry/gelemental/gelemental-2.0.0.ebuild b/sci-chemistry/gelemental/gelemental-2.0.0.ebuild deleted file mode 100644 index 7a482363201c..000000000000 --- a/sci-chemistry/gelemental/gelemental-2.0.0.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools fdo-mime flag-o-matic gnome2-utils eutils - -DESCRIPTION="Periodic table viewer with detailed information on the chemical elements" -HOMEPAGE="https://github.com/ginggs/gelemental/" -SRC_URI="https://github.com/ginggs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-3 MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="doc" - -RDEPEND=" - dev-cpp/gtkmm:2.4 - dev-cpp/glibmm:2" -DEPEND="${RDEPEND} - virtual/pkgconfig - sys-devel/gettext - dev-util/intltool - doc? ( app-doc/doxygen )" - -src_prepare() { - default - eautoreconf -} - -src_configure() { - append-cxxflags -std=c++11 #566450 - local myeconfargs=( $(use_enable doc api-docs) ) - - default -} - -# src_install() { -# de -# autotools-utils_src_install apidir="/usr/share/doc/${PF}/html" -# } - -pkg_postinst() { - gnome2_icon_cache_update - fdo-mime_desktop_database_update -} - -pkg_postrm() { - gnome2_icon_cache_update - fdo-mime_desktop_database_update -} diff --git a/sci-chemistry/gromacs/Manifest b/sci-chemistry/gromacs/Manifest index 82f44f00612e..cb4b80ab5f70 100644 --- a/sci-chemistry/gromacs/Manifest +++ b/sci-chemistry/gromacs/Manifest @@ -3,19 +3,19 @@ DIST gromacs-2018.8.tar.gz 29913703 BLAKE2B 8780032305928067fbfe1559efe9eedc4d47 DIST gromacs-2019.5.tar.gz 33445791 BLAKE2B 1e2e2764b0c8774c878abf4f32c2fa7ddd9b46f464cf1256deb48335433d92ef1b315f5534cdec9f766ae928a71361b5a4dd4a4def638269eb260ff98dbbe8bb SHA512 fdd177e4dfd29629b72bfbb4d61ff7bcdb37279f534883a9df8fd57569212fe1e9f8b8c9cec347fcc607539f31412d604d11ee3c0eb797251960435962b1bec6 DIST gromacs-2019.6.tar.gz 33446147 BLAKE2B adc21fb6b841b06d499607f8c0166a673645ef5af0b40bd823d0fff5ea24397e6301c5e1e0070986ae1ce1deba8a42052b66da148b071c1e21f2fe3908fee275 SHA512 7c227a9539e5775d5d128ae9e872a24181d79cdcd2852b86453597987e8d7332ecec371da65d089f6e610c54aafbccc8824ce298743383dd6240719ebee692a8 DIST gromacs-2020.1.tar.gz 29153989 BLAKE2B b1c0313da945c57c74040c2bcd50495b238b0e131cc4ebecd74ae0d01465b47d732ea456a52a2f9d998cd37e2bfdb93d52bd15177328c4b7a14e6b1d8bc00117 SHA512 130394ec70e5d75ea451e9fa77c4ea2dd4adb0c51cc7663ac8579972bab7a0b75d9143d0eebb21802fc93305deca8831393a8cb3f51b6d01f9477f3dadece037 -DIST gromacs-2020.tar.gz 28928068 BLAKE2B 72d4ff8f6b383284e61df9d3b2b53c51300f6961d4c19810670c8ee9ba2f1864d2a325e2774093b9338db785cb91a94461bf93f16cdf4caf0f690298a672d51c SHA512 15f0d58cd8d217eab39ef8e3535dec34127708797eaf6575fb340292cbee2303cd25deb84b3d4417a787076f4ae7be9e4958ec3a347a3aa9aed52ef337a4587c +DIST gromacs-2020.2.tar.gz 29144614 BLAKE2B cd20b031dcec32d9a797d66f2679779077910c184702f12f12093d92e8417d42e07bfb17a8fe63e9d29a889d5f57461b5f86e11adfc26635f8d2b5a5df19473a SHA512 348c80fad93b34e6703906fec97c6c2294c0803c326d6145776b732e1c33cd58e0967ddb2ec4799e3583542c09e7a6a015e4d084d60cf97b81b3a92253cca76c DIST regressiontests-2018.8.tar.gz 67855469 BLAKE2B 34c9b339f6229f483afbb5192ee6ba8b8f72d5c26907a853af9c53dfece0d88739e48f6b44b78d1c010f988f9385d077285300522164f533a5861e9dda879275 SHA512 3642389d27bd1942cd0f091c940ae97b197b94856a387fe581dc516b0d4169480f16551d4ba357f9282b3337d605c286d51dd38112ac87c826dda634904836bb DIST regressiontests-2019.5.tar.gz 67643634 BLAKE2B c4d9535d9a8a650869d67544ad5f367324f45e55325bb5074ece9b010f232f2f0dd97c9af97924d3f2368ed63015ca7330baff1cc681310e1439ec330b70ee8d SHA512 7c0917b76e7db35ab4e3271d523d268e0e2d858091e68ead863bfe6d1e56b381e30fdbf44f479f6e065c029e2eb27cfa0dbaa1b243f185144321aaf5084c55ce DIST regressiontests-2019.6.tar.gz 67643195 BLAKE2B 1e054e24b187946f7ea28090d4f20cf8e1d79a26253f57ba07d130e0773d8541b8a1552a38023d31a68ce8bc62d8e0af1d98609234bb3e7d3e6d567307ebb386 SHA512 eacf1c55b982515a305c29459fe80a7cd558a8481e5689962aa956148af542568b1d1ce59c6784ecb0afd4768c2b664afa21e12af2d89ae2b06b1ba61ad72036 DIST regressiontests-2020.1.tar.gz 48541809 BLAKE2B 0fec2f0fb7fad0ad48bb790d7df6487e2c1931a0a2134795bf7da4a9087f0f2a3743288fc4ec057fa6b22412c2d8f312cfa3af38be8c5bea51d7a06afb5ac9f0 SHA512 664d29ce39629ed218de65179ce4a73e479d73d30bc96f5ae57624d7e4447298c6122dc09e7873b8cad458eaee0530866411fab20e009e46bf39b133e0de47e8 -DIST regressiontests-2020.tar.gz 48536146 BLAKE2B 9511db78b5d6a5ea431fdb73782f28dde4b94655139886c0ad519888ef3e435fe81807f158d66c1a4284cb88fe730f62d039ac23549f17d0ce5984764ef35f10 SHA512 5a35aaf6fe2f3b146c7045e9c967dc1c8bf754748cc1f2a7300193ae3f206a9f5058329380ae7b03b181410303bcd434584571e6161a75f99e52bd48f8ba1821 +DIST regressiontests-2020.2.tar.gz 48539492 BLAKE2B 08222ec18e70f551194fc0a060facda394c0d9999e162dace06029aa5f36e7237aeb2468a80d1198257a45fb076f8f633a7279a85976484900bf4154176aa070 SHA512 3066d92a59dafade78807612681d82a7b8a0bd9b74fa7e8784063a908418c55b4427482dc7feb261ff6981fabb2d64a800d3e90ed647ab45e201f4847347bac7 EBUILD gromacs-2018.8.ebuild 8784 BLAKE2B 8c08b6c4f4278ed6455a0489b765c97c748835e49973bb83b7fe8e15d9453c8c9b6c6e26cd27a2d5a927aa87a36bfdef3874020f6658c9b2dcb774043e4547e3 SHA512 b66644847daa453b9a764faaa7f3145e16f3819d0d7ffdad12c1209a398cd03dbf7c2d60e0510f514b18f6ed8c09dfadb77bca6ff2f1eb044c65632842a7499a EBUILD gromacs-2018.9999.ebuild 8787 BLAKE2B 9edbb2ae0bd3f76af41cee9971b70fdc957f22bb61ec131abd3cf44a2da56c208b0b103f72754e17cccfa054d79c1e95a9477228b0c14f4476e58bd7656b641a SHA512 c4548c8436dadf1daaf7f4f41e3c957029a10f5eb7fd11c5c8f42046d2ba38c6baf9f47e69fb8e8eeef550e0463d76bf738d6f708ffce6b4cf556e29d725ed5a EBUILD gromacs-2019.5-r1.ebuild 9270 BLAKE2B 7bc19e1950bb824a0d30b6340ea181f0089f44237e324ec926698aaacfddfc33cc6a59644bf63ce56498f6fed80c3720e143f65fbd27f3b1e4fbbd021d08573d SHA512 651a096ed78b067b5d27591d64d552c2b31b759237375a278865afcb9123986a3e5c3785d46d54b71facf54b5d62ec76610eda0f7df6aed583c3b1e6b0a940e7 EBUILD gromacs-2019.6.ebuild 9273 BLAKE2B f60f3d2c19fcbb406cee16e3ca0743eb72fffcfe7d0565ec69299c4315f72786197d83ae88b32b7f51312e82453555df3a82ea6d28f7ea40ab9f4628e66d62bb SHA512 5d5fb26afbd6c17ecf39685706337fe893171048bd745c4b6b2a6cf5d62a25c6b48f5b0ebff00b7d3a00d6731b0ef56701ed5236ac7ac1abf1d431a426638be5 EBUILD gromacs-2019.9999.ebuild 9272 BLAKE2B 6d6484a75d2f6ec9d97a33766ff42f0a3b364f8d71f9d8c0af8265e1dffd9eee93dce6a4e7edf93fe316abef0dd8ec1ee0beb9b7cfa04f0ffbe8aa15cefb6c04 SHA512 c0e81e4312accad7377e9e221b636c1870fdf85928ca221c8272b7af6d2d422c2c44b4e6e3cca9818b922e7f194f1e45208e545d5a65e77d57aa29df1d0474dc -EBUILD gromacs-2020-r1.ebuild 9831 BLAKE2B 0d20f9e04a318eb2313d1b84adb9a747f4b70cc57446031da410e05bc37d2e3b53489110b803b69bcb235ea87dd913e9a7de6531c2e32b6afb9505c44a4d2dbe SHA512 c2edca500cd77e9b88f6b83cb4b3f11819adf313e4b68250d8b446466187e963bdd925665ca3aa532ae2c88b611f15b860f722cdf17c2b145d7cd58a56cb2c17 -EBUILD gromacs-2020.1.ebuild 9831 BLAKE2B 0d20f9e04a318eb2313d1b84adb9a747f4b70cc57446031da410e05bc37d2e3b53489110b803b69bcb235ea87dd913e9a7de6531c2e32b6afb9505c44a4d2dbe SHA512 c2edca500cd77e9b88f6b83cb4b3f11819adf313e4b68250d8b446466187e963bdd925665ca3aa532ae2c88b611f15b860f722cdf17c2b145d7cd58a56cb2c17 +EBUILD gromacs-2020.1-r1.ebuild 9903 BLAKE2B 505ad7efa270342c4561f75bc5c608f8dc24bbbcc1e9151af05c2c805651aeadc0109e4d5d6dd073f4e3eaeec90642ec26daccfd27cb96d3a5ca6ebf465f7b85 SHA512 ea4a1d7d508c7730a3e50ef459e59feed6de305a49f335454ee4c25124a31ca70de6a580f65320e0c3be93591fc352c4b0233f3482b0a4324101c4f00fbfd31e +EBUILD gromacs-2020.2.ebuild 9903 BLAKE2B 505ad7efa270342c4561f75bc5c608f8dc24bbbcc1e9151af05c2c805651aeadc0109e4d5d6dd073f4e3eaeec90642ec26daccfd27cb96d3a5ca6ebf465f7b85 SHA512 ea4a1d7d508c7730a3e50ef459e59feed6de305a49f335454ee4c25124a31ca70de6a580f65320e0c3be93591fc352c4b0233f3482b0a4324101c4f00fbfd31e EBUILD gromacs-2020.9999.ebuild 9831 BLAKE2B 0d20f9e04a318eb2313d1b84adb9a747f4b70cc57446031da410e05bc37d2e3b53489110b803b69bcb235ea87dd913e9a7de6531c2e32b6afb9505c44a4d2dbe SHA512 c2edca500cd77e9b88f6b83cb4b3f11819adf313e4b68250d8b446466187e963bdd925665ca3aa532ae2c88b611f15b860f722cdf17c2b145d7cd58a56cb2c17 EBUILD gromacs-9999.ebuild 9827 BLAKE2B 20a6e2e5b0d70a1c0ada0cafcb12eb170b99ebb37778f467dda1800cabb05d6a34d0dfef9bfaa04b5e6f3b781ed2e5eb97a1f61044e54e526559a9f9093be648 SHA512 19c73f34eda0ed83e58b67c7feb87e6540fb441806c27ae3b6b7d0e59c33cd220d87873fa3b3b9b5c72e8f9f73b778d41d69f21a3fded51a030d1ac6854bc2a2 MISC metadata.xml 1192 BLAKE2B 560c1c792102747fc16c22d475114480b9897263405da05946721dae5b781c599a02e1401adfa4d929bfb41b4d52791376438aa37d33de18beabc9edbeb779fa SHA512 136c49bfaca76e714e811077c7f7d214a5984c7b6c891c79ad4a754c304752e17450c9aee100dafce04d7bf3893a53224ef9b54504a278654d59fae9acdd0f77 diff --git a/sci-chemistry/gromacs/gromacs-2020-r1.ebuild b/sci-chemistry/gromacs/gromacs-2020-r1.ebuild deleted file mode 100644 index a2dcda755c8b..000000000000 --- a/sci-chemistry/gromacs/gromacs-2020-r1.ebuild +++ /dev/null @@ -1,337 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_MAKEFILE_GENERATOR="ninja" - -PYTHON_COMPAT=( python3_{6,7} ) - -DISTUTILS_SINGLE_IMPL=1 - -inherit bash-completion-r1 cmake-utils cuda distutils-r1 eutils multilib readme.gentoo-r1 toolchain-funcs xdg-utils - -if [[ $PV = *9999* ]]; then - EGIT_REPO_URI="git://git.gromacs.org/gromacs.git - https://gerrit.gromacs.org/gromacs.git - https://github.com/gromacs/gromacs.git - https://repo.or.cz/r/gromacs.git" - [[ $PV = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}" - inherit git-r3 -else - SRC_URI="ftp://ftp.gromacs.org/pub/${PN}/${PN}-${PV/_/-}.tar.gz - test? ( http://gerrit.gromacs.org/download/regressiontests-${PV/_/-}.tar.gz )" - KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-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="http://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 +doc -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 ) - 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} - !sci-chemistry/gmxapi - " -BDEPEND="${CDEPEND} - virtual/pkgconfig - doc? ( - app-doc/doxygen - $(python_gen_cond_dep ' - dev-python/sphinx[${PYTHON_MULTI_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 ) - cuda? ( 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_beta1-pytest.patch" ) - -pkg_pretend() { - [[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs" - use openmp && ! tc-has-openmp && \ - die "Please switch to an openmp compatible compiler" -} - -pkg_setup() { - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} != *9999 ]]; then - default - else - git-r3_src_unpack - if use test; then - EGIT_REPO_URI="git://git.gromacs.org/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-utils_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" - - # try to create policy for imagemagik - mkdir -p ${HOME}/.config/ImageMagick - cat >> ${HOME}/.config/ImageMagick/policy.xml <<- EOF - - - !ATTLIST policymap xmlns CDATA #FIXED ''> - - - ]> - - - - - - - - - EOF -} - -src_configure() { - local mycmakeargs_pre=( ) extra fft_opts=( ) - - #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" - - #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 && has_version "=sci-libs/mkl-10*"; then - fft_opts=( -DGMX_FFT_LIBRARY=mkl - -DMKL_INCLUDE_DIR="${MKLROOT}/include" - -DMKL_LIBRARIES="$(echo /opt/intel/mkl/10.0.5.025/lib/*/libmkl.so);$(echo /opt/intel/mkl/10.0.5.025/lib/*/libiomp*.so)" - ) - 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 doc) - -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" ) - 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-utils_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" - 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-utils_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-utils_src_compile - if use python; then - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake-utils_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 doc; then - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake-utils_src_compile manual - fi - use mpi || continue - einfo "Compiling for ${x} precision with mpi" - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\ - cmake-utils_src_compile - done -} - -src_test() { - for x in ${GMX_DIRS}; do - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake-utils_src_make check - done -} - -src_install() { - for x in ${GMX_DIRS}; do - BUILD_DIR="${WORKDIR}/${P}_${x}" \ - cmake-utils_src_install - if use python; then - BUILD_DIR="${WORKDIR}/${P}_${x}" \ - cmake-utils_src_install python_packaging/install - fi - if use doc; then - newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf" - fi - use mpi || continue - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \ - cmake-utils_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-gmx.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:" - einfo "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). " - einfo "https://dx.doi.org/10.1021/ct700301q" - einfo - readme.gentoo_print_elog -} diff --git a/sci-chemistry/gromacs/gromacs-2020.1-r1.ebuild b/sci-chemistry/gromacs/gromacs-2020.1-r1.ebuild new file mode 100644 index 000000000000..fab120420b28 --- /dev/null +++ b/sci-chemistry/gromacs/gromacs-2020.1-r1.ebuild @@ -0,0 +1,341 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_MAKEFILE_GENERATOR="ninja" + +PYTHON_COMPAT=( python3_{6,7,8} ) + +DISTUTILS_SINGLE_IMPL=1 + +inherit bash-completion-r1 cmake-utils cuda distutils-r1 eutils multilib readme.gentoo-r1 toolchain-funcs xdg-utils + +if [[ $PV = *9999* ]]; then + EGIT_REPO_URI="git://git.gromacs.org/gromacs.git + https://gerrit.gromacs.org/gromacs.git + https://github.com/gromacs/gromacs.git + https://repo.or.cz/r/gromacs.git" + [[ $PV = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}" + inherit git-r3 +else + SRC_URI="ftp://ftp.gromacs.org/pub/${PN}/${PN}-${PV/_/-}.tar.gz + test? ( http://gerrit.gromacs.org/download/regressiontests-${PV/_/-}.tar.gz )" + KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-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="http://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 -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 ) + 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} + !sci-chemistry/gmxapi + " +BDEPEND="${CDEPEND} + virtual/pkgconfig + doc? ( + app-doc/doxygen + $(python_gen_cond_dep ' + dev-python/sphinx[${PYTHON_MULTI_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 ) + cuda? ( 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_beta1-pytest.patch" ) + +pkg_pretend() { + [[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs" + use openmp && ! tc-has-openmp && \ + die "Please switch to an openmp compatible compiler" +} + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} != *9999 ]]; then + default + else + git-r3_src_unpack + if use test; then + EGIT_REPO_URI="git://git.gromacs.org/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-utils_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" + + # try to create policy for imagemagik + mkdir -p ${HOME}/.config/ImageMagick + cat >> ${HOME}/.config/ImageMagick/policy.xml <<- EOF + + + !ATTLIST policymap xmlns CDATA #FIXED ''> + + + ]> + + + + + + + + + EOF +} + +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 && has_version "=sci-libs/mkl-10*"; then + fft_opts=( -DGMX_FFT_LIBRARY=mkl + -DMKL_INCLUDE_DIR="${MKLROOT}/include" + -DMKL_LIBRARIES="$(echo /opt/intel/mkl/10.0.5.025/lib/*/libmkl.so);$(echo /opt/intel/mkl/10.0.5.025/lib/*/libiomp*.so)" + ) + 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 doc) + -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" ) + 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-utils_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" + 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-utils_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-utils_src_compile + if use python; then + BUILD_DIR="${WORKDIR}/${P}_${x}"\ + cmake-utils_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 doc; then + BUILD_DIR="${WORKDIR}/${P}_${x}"\ + cmake-utils_src_compile manual + fi + use mpi || continue + einfo "Compiling for ${x} precision with mpi" + BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\ + cmake-utils_src_compile + done +} + +src_test() { + for x in ${GMX_DIRS}; do + BUILD_DIR="${WORKDIR}/${P}_${x}"\ + cmake-utils_src_make check + done +} + +src_install() { + for x in ${GMX_DIRS}; do + BUILD_DIR="${WORKDIR}/${P}_${x}" \ + cmake-utils_src_install + if use python; then + BUILD_DIR="${WORKDIR}/${P}_${x}" \ + cmake-utils_src_install python_packaging/install + fi + if use doc; then + newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf" + fi + use mpi || continue + BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \ + cmake-utils_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:" + einfo "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). " + einfo "https://dx.doi.org/10.1021/ct700301q" + einfo + readme.gentoo_print_elog +} diff --git a/sci-chemistry/gromacs/gromacs-2020.1.ebuild b/sci-chemistry/gromacs/gromacs-2020.1.ebuild deleted file mode 100644 index a2dcda755c8b..000000000000 --- a/sci-chemistry/gromacs/gromacs-2020.1.ebuild +++ /dev/null @@ -1,337 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_MAKEFILE_GENERATOR="ninja" - -PYTHON_COMPAT=( python3_{6,7} ) - -DISTUTILS_SINGLE_IMPL=1 - -inherit bash-completion-r1 cmake-utils cuda distutils-r1 eutils multilib readme.gentoo-r1 toolchain-funcs xdg-utils - -if [[ $PV = *9999* ]]; then - EGIT_REPO_URI="git://git.gromacs.org/gromacs.git - https://gerrit.gromacs.org/gromacs.git - https://github.com/gromacs/gromacs.git - https://repo.or.cz/r/gromacs.git" - [[ $PV = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}" - inherit git-r3 -else - SRC_URI="ftp://ftp.gromacs.org/pub/${PN}/${PN}-${PV/_/-}.tar.gz - test? ( http://gerrit.gromacs.org/download/regressiontests-${PV/_/-}.tar.gz )" - KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-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="http://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 +doc -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 ) - 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} - !sci-chemistry/gmxapi - " -BDEPEND="${CDEPEND} - virtual/pkgconfig - doc? ( - app-doc/doxygen - $(python_gen_cond_dep ' - dev-python/sphinx[${PYTHON_MULTI_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 ) - cuda? ( 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_beta1-pytest.patch" ) - -pkg_pretend() { - [[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs" - use openmp && ! tc-has-openmp && \ - die "Please switch to an openmp compatible compiler" -} - -pkg_setup() { - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} != *9999 ]]; then - default - else - git-r3_src_unpack - if use test; then - EGIT_REPO_URI="git://git.gromacs.org/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-utils_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" - - # try to create policy for imagemagik - mkdir -p ${HOME}/.config/ImageMagick - cat >> ${HOME}/.config/ImageMagick/policy.xml <<- EOF - - - !ATTLIST policymap xmlns CDATA #FIXED ''> - - - ]> - - - - - - - - - EOF -} - -src_configure() { - local mycmakeargs_pre=( ) extra fft_opts=( ) - - #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" - - #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 && has_version "=sci-libs/mkl-10*"; then - fft_opts=( -DGMX_FFT_LIBRARY=mkl - -DMKL_INCLUDE_DIR="${MKLROOT}/include" - -DMKL_LIBRARIES="$(echo /opt/intel/mkl/10.0.5.025/lib/*/libmkl.so);$(echo /opt/intel/mkl/10.0.5.025/lib/*/libiomp*.so)" - ) - 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 doc) - -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" ) - 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-utils_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" - 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-utils_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-utils_src_compile - if use python; then - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake-utils_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 doc; then - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake-utils_src_compile manual - fi - use mpi || continue - einfo "Compiling for ${x} precision with mpi" - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\ - cmake-utils_src_compile - done -} - -src_test() { - for x in ${GMX_DIRS}; do - BUILD_DIR="${WORKDIR}/${P}_${x}"\ - cmake-utils_src_make check - done -} - -src_install() { - for x in ${GMX_DIRS}; do - BUILD_DIR="${WORKDIR}/${P}_${x}" \ - cmake-utils_src_install - if use python; then - BUILD_DIR="${WORKDIR}/${P}_${x}" \ - cmake-utils_src_install python_packaging/install - fi - if use doc; then - newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf" - fi - use mpi || continue - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \ - cmake-utils_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-gmx.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:" - einfo "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). " - einfo "https://dx.doi.org/10.1021/ct700301q" - einfo - readme.gentoo_print_elog -} diff --git a/sci-chemistry/gromacs/gromacs-2020.2.ebuild b/sci-chemistry/gromacs/gromacs-2020.2.ebuild new file mode 100644 index 000000000000..fab120420b28 --- /dev/null +++ b/sci-chemistry/gromacs/gromacs-2020.2.ebuild @@ -0,0 +1,341 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_MAKEFILE_GENERATOR="ninja" + +PYTHON_COMPAT=( python3_{6,7,8} ) + +DISTUTILS_SINGLE_IMPL=1 + +inherit bash-completion-r1 cmake-utils cuda distutils-r1 eutils multilib readme.gentoo-r1 toolchain-funcs xdg-utils + +if [[ $PV = *9999* ]]; then + EGIT_REPO_URI="git://git.gromacs.org/gromacs.git + https://gerrit.gromacs.org/gromacs.git + https://github.com/gromacs/gromacs.git + https://repo.or.cz/r/gromacs.git" + [[ $PV = 9999 ]] && EGIT_BRANCH="master" || EGIT_BRANCH="release-${PV:0:4}" + inherit git-r3 +else + SRC_URI="ftp://ftp.gromacs.org/pub/${PN}/${PN}-${PV/_/-}.tar.gz + test? ( http://gerrit.gromacs.org/download/regressiontests-${PV/_/-}.tar.gz )" + KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-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="http://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 -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 ) + 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} + !sci-chemistry/gmxapi + " +BDEPEND="${CDEPEND} + virtual/pkgconfig + doc? ( + app-doc/doxygen + $(python_gen_cond_dep ' + dev-python/sphinx[${PYTHON_MULTI_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 ) + cuda? ( 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_beta1-pytest.patch" ) + +pkg_pretend() { + [[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs" + use openmp && ! tc-has-openmp && \ + die "Please switch to an openmp compatible compiler" +} + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} != *9999 ]]; then + default + else + git-r3_src_unpack + if use test; then + EGIT_REPO_URI="git://git.gromacs.org/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-utils_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" + + # try to create policy for imagemagik + mkdir -p ${HOME}/.config/ImageMagick + cat >> ${HOME}/.config/ImageMagick/policy.xml <<- EOF + + + !ATTLIST policymap xmlns CDATA #FIXED ''> + + + ]> + + + + + + + + + EOF +} + +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 && has_version "=sci-libs/mkl-10*"; then + fft_opts=( -DGMX_FFT_LIBRARY=mkl + -DMKL_INCLUDE_DIR="${MKLROOT}/include" + -DMKL_LIBRARIES="$(echo /opt/intel/mkl/10.0.5.025/lib/*/libmkl.so);$(echo /opt/intel/mkl/10.0.5.025/lib/*/libiomp*.so)" + ) + 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 doc) + -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" ) + 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-utils_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" + 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-utils_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-utils_src_compile + if use python; then + BUILD_DIR="${WORKDIR}/${P}_${x}"\ + cmake-utils_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 doc; then + BUILD_DIR="${WORKDIR}/${P}_${x}"\ + cmake-utils_src_compile manual + fi + use mpi || continue + einfo "Compiling for ${x} precision with mpi" + BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\ + cmake-utils_src_compile + done +} + +src_test() { + for x in ${GMX_DIRS}; do + BUILD_DIR="${WORKDIR}/${P}_${x}"\ + cmake-utils_src_make check + done +} + +src_install() { + for x in ${GMX_DIRS}; do + BUILD_DIR="${WORKDIR}/${P}_${x}" \ + cmake-utils_src_install + if use python; then + BUILD_DIR="${WORKDIR}/${P}_${x}" \ + cmake-utils_src_install python_packaging/install + fi + if use doc; then + newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf" + fi + use mpi || continue + BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \ + cmake-utils_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:" + einfo "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). " + einfo "https://dx.doi.org/10.1021/ct700301q" + einfo + readme.gentoo_print_elog +} -- cgit v1.2.3