diff options
author | Christoph Junghans <kleiner_otti@gmx.de> | 2010-01-21 08:15:52 +0100 |
---|---|---|
committer | Christoph Junghans <kleiner_otti@gmx.de> | 2010-01-21 08:15:52 +0100 |
commit | 0c897db4461335208cbb4e49809eb57cd85b230a (patch) | |
tree | 8b788db9a49a73f951a9035e7394ea7360731c58 | |
parent | cleanup (diff) | |
download | sci-0c897db4461335208cbb4e49809eb57cd85b230a.tar.gz sci-0c897db4461335208cbb4e49809eb57cd85b230a.tar.bz2 sci-0c897db4461335208cbb4e49809eb57cd85b230a.zip |
sci/sci-chemistry/gromacs: sync with tree and removed old versions
(Portage version: 2.1.6.13/git/Linux i686)
(Signed Manifest commit)
-rw-r--r-- | sci-chemistry/gromacs/ChangeLog | 10 | ||||
-rw-r--r-- | sci-chemistry/gromacs/Manifest | 23 | ||||
-rw-r--r-- | sci-chemistry/gromacs/files/gromacs-4.0.4-sparc-cyclecounter.patch | 12 | ||||
-rw-r--r-- | sci-chemistry/gromacs/files/gromacs-4.0.5-docdir.patch | 72 | ||||
-rw-r--r-- | sci-chemistry/gromacs/files/gromacs-4.0.5-path-overflow.patch | 122 | ||||
-rw-r--r-- | sci-chemistry/gromacs/files/gromacs-4.0.9999-docdir.patch | 36 | ||||
-rw-r--r-- | sci-chemistry/gromacs/gromacs-3.3.9999.ebuild | 234 | ||||
-rw-r--r-- | sci-chemistry/gromacs/gromacs-4.0.4.ebuild | 243 | ||||
-rw-r--r-- | sci-chemistry/gromacs/gromacs-4.0.5-r1.ebuild | 237 | ||||
-rw-r--r-- | sci-chemistry/gromacs/gromacs-4.0.9999.ebuild | 150 | ||||
-rw-r--r-- | sci-chemistry/gromacs/gromacs-9999.ebuild | 151 | ||||
-rw-r--r-- | sci-chemistry/gromacs/metadata.xml | 1 |
12 files changed, 216 insertions, 1075 deletions
diff --git a/sci-chemistry/gromacs/ChangeLog b/sci-chemistry/gromacs/ChangeLog index 0f35b2801..d204553a1 100644 --- a/sci-chemistry/gromacs/ChangeLog +++ b/sci-chemistry/gromacs/ChangeLog @@ -1,7 +1,15 @@ # ChangeLog for sci-chemistry/gromacs -# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 21 Jan 2010; Christoph Junghans <kleiner_otti@gmx.de> + -gromacs-3.3.9999.ebuild, -gromacs-4.0.4.ebuild, + -files/gromacs-4.0.4-sparc-cyclecounter.patch, -gromacs-4.0.5-r1.ebuild, + -files/gromacs-4.0.5-docdir.patch, + -files/gromacs-4.0.5-path-overflow.patch, gromacs-4.0.9999.ebuild, + +files/gromacs-4.0.9999-docdir.patch, gromacs-9999.ebuild: + sync with tree and removed old ebuilds + 30 Nov 2009; Christoph Junghans <kleiner_otti@gmx.de> files/gromacs-4.0.5-docdir.patch: docdir -> htmldir diff --git a/sci-chemistry/gromacs/Manifest b/sci-chemistry/gromacs/Manifest index e3b1fef75..a06dcef16 100644 --- a/sci-chemistry/gromacs/Manifest +++ b/sci-chemistry/gromacs/Manifest @@ -2,24 +2,17 @@ Hash: SHA1 AUX gromacs-4.0.4-configure-gfortran.patch 731 RMD160 1ccea4fafd6837461114fc36bc31db4f9390fc08 SHA1 0ec79e9ab691cbae5f116adaa3245ef0b123a598 SHA256 5b902eac127bc84e188224fbfe0182ab3fa3b03c200325ada9cd628bb913b479 -AUX gromacs-4.0.4-sparc-cyclecounter.patch 492 RMD160 0edd643a6dc11820e9785561f03047795044311f SHA1 66c0339c308b3d661def0e184311be510e804c3b SHA256 01565b45b73b32d8d6f83bf1fdf750de4215b24935d992c81191a52d01eb6bed -AUX gromacs-4.0.5-docdir.patch 2907 RMD160 271f4ccc401cfa03ca3b2b911d0c15ec1fc55d3a SHA1 f6361e2b07cae020a6548c50dacb24611d701d43 SHA256 258a76992ed840ad242a1bf1799a2d83dbf860af85e74b154446acf252a2714a -AUX gromacs-4.0.5-path-overflow.patch 3577 RMD160 3672abfd43760f02a111df492096f1c35443f07f SHA1 a0c9b74f9216fce870bc8559b71f2a68de26e128 SHA256 9a20e199ca3132c526f7e57939ee098ac7e508ae27e73d7cb3fad2514acdb383 +AUX gromacs-4.0.9999-docdir.patch 1352 RMD160 336ab23b4b65430caf3205650a8787e8e33d2137 SHA1 77e0cc966c4d755f603b2d0ab9a075c0ee6b7361 SHA256 8ead457b06f7f943455a95494be4648e539934699d29e955d2e05ac02f1ca4ef DIST gmxtest-4.0.4.tgz 14845017 RMD160 c7c583415438bdef4c9996da9064254e9460cf16 SHA1 998179aa2bfbc4f80514f10ed774762f85c854c3 SHA256 6a7f787f4bb7cbecb688115ff0854a5ffd2ef33487d7bce4b031e63848b6f361 -DIST gromacs-4.0.4.tar.gz 8443779 RMD160 f90327814170c26a43d99fe7587357a46989fdec SHA1 9466f3ab95d60c0aba8916b1fcc70129cb4e4d72 SHA256 8aefd03cd3269e85c84427f05ceea6d3e16874cd4a90bf3f6fec2b2be24c426f -DIST gromacs-4.0.5.tar.gz 8465397 RMD160 4c2344629307f3a3daa11b986153d65883a44783 SHA1 9969aae6f77e2216add22a7b29805c4de8df649f SHA256 436b7a2a1ba3637eb07e30d676d78962008373a28fd17a3d889fa5816ca30339 DIST manual-4.0.pdf 2135100 RMD160 b963642f8e1433f11328c3d0c4b1645c9de506da SHA1 8ae951ee15b2a7dc626331fce36511bc8766144c SHA256 646f810477eee2d710de6019c52056550413d0ba77baf9680195c835ddafe80a -EBUILD gromacs-3.3.9999.ebuild 6640 RMD160 e0a39da394ae160584d394bcac9cae89d001d229 SHA1 4be6d054002faf7c4a853f1ee7aad09b2da86b1d SHA256 be6ff76414e9569fc0b160e2e591d749c2e46ae975535ec34332e2d6072b2a46 -EBUILD gromacs-4.0.4.ebuild 6899 RMD160 ea01958dddb6e8874410e01df9171c5e081d1856 SHA1 7e1f7e37a88ecea0840e58d3687d6b00d70b0e0f SHA256 ff452e5d24885bc5ec40fc3ca29fe1f5f6997c499667bf62ebfb6b6a23532a07 -EBUILD gromacs-4.0.5-r1.ebuild 6777 RMD160 cd129e99f4b87c6593b3c1d857eaa2fce97f592e SHA1 2abe23fc342a47bc40945cf0e3c6416d80dbfa09 SHA256 de2f9b23829e5db5d3536cd3b3a5f6b6f117ecd495ef55a781dd930d1c974d73 -EBUILD gromacs-4.0.9999.ebuild 6640 RMD160 c48a23acd60c4943b466cbfe36cc1a10ca5d2327 SHA1 137f0801ffb4fe3a87e3881fa95d432eb3e1041b SHA256 a1a81ae8997d31d956b7aaacc00b8988d6d95c8267c82a5110656856d982441b -EBUILD gromacs-9999.ebuild 6606 RMD160 c25d3da0f931cee5cd29b7b698025b024b8c33f5 SHA1 3ede827e2fcc2b73ce709af9ff9e5af496c754d8 SHA256 07b3051e743d20b94c2f0df4360d00abad900a1baaad9a76c2924c0a373878fa -MISC ChangeLog 1931 RMD160 492cc56cc43a8deb1de1036857ba00ddad87ac9f SHA1 8d84809aa9102946d43f6b13ceea01ade55583ea SHA256 e78a224d4cb33429151fb75a4ac9b40b2222aa7a2a7ac5a6b5654635610f53fd -MISC metadata.xml 642 RMD160 885e11bdae2d4e79b5fd7b48113f44d987c62b19 SHA1 ab77d33e2f7a8e8d6aa8a997e9247fd61bd17a74 SHA256 6e3242563fd78de425260bf28a07a017afb294898a80e02bacef59ec4a83064c +EBUILD gromacs-4.0.9999.ebuild 6912 RMD160 3a81db2ce3d8b5684251d4671adeafb53d99f53b SHA1 5e05cb08923c2332c5fb48962331d5a43b53dbc9 SHA256 edda284fdfda3188c4b026bb8554d8572977953443078d76656d2ccda7ab780a +EBUILD gromacs-9999.ebuild 6909 RMD160 5e59f6c97768e288c3861fd8a640e61695c30e03 SHA1 05b6fc388ca0346c640a30545d6745c865988bc5 SHA256 d05a8444d78bf36df7ff83ed28a130dc3664a206e4d4607dcdf877e54eb1ff4e +MISC ChangeLog 2322 RMD160 b9d4dba80b67f6d59f0bde699838001130a19326 SHA1 262bf96fd45256b4aacf69cf012101f57c777ef7 SHA256 57daa56892090fa3421d12aa17d4ff25663b05efe02109023e816996114f4105 +MISC metadata.xml 580 RMD160 06a95696ec536dd91eab06946d8787546f1e0582 SHA1 b6c5f5e50b518efa3014b69f97307d62734a288d SHA256 e976e31a9e16e9eea09d5ec147ce91d16b4e463453e71ebfb8092485589a6b49 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) -iEYEARECAAYFAksULMkACgkQy0OE/ans1/kXEgCeNhtzeERv+hmWzA5RZ8EGgcK3 -chMAn18cgcYn7GolZgHX+7UwKTpnZdSj -=PWG4 +iEYEARECAAYFAktX/ygACgkQy0OE/ans1/mUtgCeJuPwSiZPGgqINFJIaEfORtuD +qWYAn1J64RjGxWRC5jCXJOyc8VWuSIys +=K+3g -----END PGP SIGNATURE----- diff --git a/sci-chemistry/gromacs/files/gromacs-4.0.4-sparc-cyclecounter.patch b/sci-chemistry/gromacs/files/gromacs-4.0.4-sparc-cyclecounter.patch deleted file mode 100644 index f174aef27..000000000 --- a/sci-chemistry/gromacs/files/gromacs-4.0.4-sparc-cyclecounter.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur gromacs-4.0.4-orig/include/gmx_cyclecounter.h gromacs-4.0.4/include/gmx_cyclecounter.h ---- gromacs-4.0.4-orig/include/gmx_cyclecounter.h 2009-05-09 18:46:02.000000000 +0200 -+++ gromacs-4.0.4/include/gmx_cyclecounter.h 2009-05-09 18:56:50.000000000 +0200 -@@ -408,7 +408,7 @@ - static __inline__ gmx_cycles_t gmx_cycles_read(void) - { - /* gcc inline assembly on sparc v9 */ -- ticks ret; -+ unsigned long ret; - __asm__("rd %%tick, %0" : "=r" (ret)); - return ret; - } diff --git a/sci-chemistry/gromacs/files/gromacs-4.0.5-docdir.patch b/sci-chemistry/gromacs/files/gromacs-4.0.5-docdir.patch deleted file mode 100644 index b556947b9..000000000 --- a/sci-chemistry/gromacs/files/gromacs-4.0.5-docdir.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff -Naur gromacs-4.0.5.orig/share/html/Makefile.am gromacs-4.0.5/share/html/Makefile.am ---- gromacs-4.0.5.orig/share/html/Makefile.am 2006-03-06 10:52:20.000000000 +0100 -+++ gromacs-4.0.5/share/html/Makefile.am 2009-11-29 22:27:24.000000000 +0100 -@@ -4,7 +4,7 @@ - # - SUBDIRS = . images online - --htmldir = ${pkgdatadir}/html -+htmldir = @htmldir@/html - - html_DATA = online.html gmxfaq.html - -diff -Naur gromacs-4.0.5.orig/share/html/Makefile.in gromacs-4.0.5/share/html/Makefile.in ---- gromacs-4.0.5.orig/share/html/Makefile.in 2009-05-09 11:12:24.000000000 +0200 -+++ gromacs-4.0.5/share/html/Makefile.in 2009-11-29 22:28:16.000000000 +0100 -@@ -172,7 +172,7 @@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ --htmldir = ${pkgdatadir}/html -+htmldir = @htmldir@/html - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ -diff -Naur gromacs-4.0.5.orig/share/html/images/Makefile.am gromacs-4.0.5/share/html/images/Makefile.am ---- gromacs-4.0.5.orig/share/html/images/Makefile.am 2006-03-06 10:52:20.000000000 +0100 -+++ gromacs-4.0.5/share/html/images/Makefile.am 2009-11-29 23:00:57.000000000 +0100 -@@ -2,7 +2,7 @@ - # - # Don't edit - this file is generated automatically from Makefile.am - # --imagedir = ${pkgdatadir}/html/images -+imagedir = @htmldir@/html/images - - image_DATA = \ - features.gif \ -diff -Naur gromacs-4.0.5.orig/share/html/images/Makefile.in gromacs-4.0.5/share/html/images/Makefile.in ---- gromacs-4.0.5.orig/share/html/images/Makefile.in 2009-05-09 11:12:24.000000000 +0200 -+++ gromacs-4.0.5/share/html/images/Makefile.in 2009-11-29 23:01:20.000000000 +0100 -@@ -186,7 +186,7 @@ - # - # Don't edit - this file is generated automatically from Makefile.am - # --imagedir = ${pkgdatadir}/html/images -+imagedir = @htmldir@/html/images - image_DATA = \ - features.gif \ - flow_leftrightup.gif flow_vrule.gif \ -diff -Naur gromacs-4.0.5.orig/share/html/online/Makefile.am gromacs-4.0.5/share/html/online/Makefile.am ---- gromacs-4.0.5.orig/share/html/online/Makefile.am 2008-08-11 11:46:17.000000000 +0200 -+++ gromacs-4.0.5/share/html/online/Makefile.am 2009-11-29 23:01:47.000000000 +0100 -@@ -2,7 +2,7 @@ - # - # Don't edit - this file is generated automatically from Makefile.am - # --onlinedir = ${pkgdatadir}/html/online -+onlinedir = @htmldir@/html/online - - online_DATA = \ - cpt.html \ -diff -Naur gromacs-4.0.5.orig/share/html/online/Makefile.in gromacs-4.0.5/share/html/online/Makefile.in ---- gromacs-4.0.5.orig/share/html/online/Makefile.in 2009-05-09 11:12:24.000000000 +0200 -+++ gromacs-4.0.5/share/html/online/Makefile.in 2009-11-29 23:02:15.000000000 +0100 -@@ -186,7 +186,7 @@ - # - # Don't edit - this file is generated automatically from Makefile.am - # --onlinedir = ${pkgdatadir}/html/online -+onlinedir = @htmldir@/html/online - online_DATA = \ - cpt.html \ - dat.html g_disre.html g_sorient.html ndx.html \ diff --git a/sci-chemistry/gromacs/files/gromacs-4.0.5-path-overflow.patch b/sci-chemistry/gromacs/files/gromacs-4.0.5-path-overflow.patch deleted file mode 100644 index 8f723e38d..000000000 --- a/sci-chemistry/gromacs/files/gromacs-4.0.5-path-overflow.patch +++ /dev/null @@ -1,122 +0,0 @@ -fixes bug #284431 taken from upstream stable banch - -From 53a07a791c1b7e4ed832ed4842928ad5139c1f41 Mon Sep 17 00:00:00 2001 -From: kasson <kasson> -Date: Wed, 11 Mar 2009 11:19:09 +0000 -Subject: [PATCH] PK fixed buffer overruns in get_libdir(); some untested strcat() calls remain. - ---- - src/gmxlib/futil.c | 31 ++++++++++++++++--------------- - 1 files changed, 16 insertions(+), 15 deletions(-) - -diff --git a/src/gmxlib/futil.c b/src/gmxlib/futil.c -index e1b60cc..b83b2ea 100644 ---- a/src/gmxlib/futil.c -+++ b/src/gmxlib/futil.c -@@ -52,6 +52,8 @@ - #include "smalloc.h" - #include "statutil.h" - -+#define MAX_PATHBUF 4096 -+ - typedef struct t_pstack { - FILE *fp; - struct t_pstack *prev; -@@ -385,20 +387,19 @@ static bool filename_is_absolute(char *name) - #endif - } - -- - bool get_libdir(char *libdir) - { - char bin_name[512]; - char buf[512]; -- char full_path[512]; -- char test_file[512]; -- char system_path[512]; -+ char full_path[MAX_PATHBUF]; -+ char test_file[MAX_PATHBUF]; -+ char system_path[MAX_PATHBUF]; - char *dir,*ptr,*s,*pdum; - bool found=FALSE; - int i; - - /* First - detect binary name */ -- strcpy(bin_name,Program()); -+ strncpy(bin_name,Program(),512); - - /* On windows & cygwin we need to add the .exe extension - * too, or we wont be able to detect that the file exists -@@ -409,7 +410,7 @@ bool get_libdir(char *libdir) - #endif - - /* Only do the smart search part if we got a real name */ -- if (NULL!=bin_name && strcmp(bin_name,"GROMACS")) { -+ if (NULL!=bin_name && strncmp(bin_name,"GROMACS",512)) { - - if (!strchr(bin_name,DIR_SEPARATOR)) { - /* No slash or backslash in name means it must be in the path - search it! */ -@@ -435,11 +436,11 @@ bool get_libdir(char *libdir) - * name is relative to the current dir - */ - pdum=getcwd(buf,sizeof(buf)-1); -- strcpy(full_path,buf); -+ strncpy(full_path,buf,MAX_PATHBUF); - strcat(full_path,"/"); - strcat(full_path,bin_name); - } else { -- strcpy(full_path,bin_name); -+ strncpy(full_path,bin_name,MAX_PATHBUF); - } - - /* Now we should have a full path and name in full_path, -@@ -450,9 +451,9 @@ bool get_libdir(char *libdir) - buf[i]='\0'; - /* If it doesn't start with "/" it is relative */ - if (buf[0]!=DIR_SEPARATOR) { -- strcpy(strrchr(full_path,DIR_SEPARATOR)+1,buf); -+ strncpy(strrchr(full_path,DIR_SEPARATOR)+1,buf,MAX_PATHBUF); - } else -- strcpy(full_path,buf); -+ strncpy(full_path,buf,MAX_PATHBUF); - } - #endif - -@@ -489,10 +490,10 @@ const char *low_libfn(const char *file, bool bFatal) - const char *ret=NULL; - char *lib,*dir; - static char buf[1024]; -- static char libpath[4096]; -+ static char libpath[MAX_PATHBUF]; - static int bFirst=1; - static bool env_is_set; -- char *s,tmppath[4096]; -+ char *s,tmppath[MAX_PATHBUF]; - bool found; - - if (bFirst) { -@@ -500,10 +501,10 @@ const char *low_libfn(const char *file, bool bFatal) - lib=getenv("GMXLIB"); - if (lib != NULL) { - env_is_set=TRUE; -- strcpy(libpath,lib); -+ strncpy(libpath,lib,MAX_PATHBUF); - } - else if (!get_libdir(libpath)) -- strcpy(libpath,GMXLIBDIR); -+ strncpy(libpath,GMXLIBDIR,MAX_PATHBUF); - - bFirst=0; - } -@@ -512,7 +513,7 @@ const char *low_libfn(const char *file, bool bFatal) - ret=file; - else { - found=FALSE; -- strcpy(tmppath,libpath); -+ strncpy(tmppath,libpath,MAX_PATHBUF); - s=tmppath; - while(!found && (dir=strtok(s,PATH_SEPARATOR))!=NULL) { - sprintf(buf,"%s%c%s",dir,DIR_SEPARATOR,file); --- -1.6.5.GIT - diff --git a/sci-chemistry/gromacs/files/gromacs-4.0.9999-docdir.patch b/sci-chemistry/gromacs/files/gromacs-4.0.9999-docdir.patch new file mode 100644 index 000000000..e32ddec90 --- /dev/null +++ b/sci-chemistry/gromacs/files/gromacs-4.0.9999-docdir.patch @@ -0,0 +1,36 @@ +diff -Naur gromacs-4.0.5.orig/share/html/Makefile.am gromacs-4.0.5/share/html/Makefile.am +--- gromacs-4.0.5.orig/share/html/Makefile.am 2006-03-06 10:52:20.000000000 +0100 ++++ gromacs-4.0.5/share/html/Makefile.am 2009-11-29 22:27:24.000000000 +0100 +@@ -4,7 +4,7 @@ + # + SUBDIRS = . images online + +-htmldir = ${pkgdatadir}/html ++htmldir = @htmldir@/html + + html_DATA = online.html gmxfaq.html + +diff -Naur gromacs-4.0.5.orig/share/html/images/Makefile.am gromacs-4.0.5/share/html/images/Makefile.am +--- gromacs-4.0.5.orig/share/html/images/Makefile.am 2006-03-06 10:52:20.000000000 +0100 ++++ gromacs-4.0.5/share/html/images/Makefile.am 2009-11-29 23:00:57.000000000 +0100 +@@ -2,7 +2,7 @@ + # + # Don't edit - this file is generated automatically from Makefile.am + # +-imagedir = ${pkgdatadir}/html/images ++imagedir = @htmldir@/html/images + + image_DATA = \ + features.gif \ +diff -Naur gromacs-4.0.5.orig/share/html/online/Makefile.am gromacs-4.0.5/share/html/online/Makefile.am +--- gromacs-4.0.5.orig/share/html/online/Makefile.am 2008-08-11 11:46:17.000000000 +0200 ++++ gromacs-4.0.5/share/html/online/Makefile.am 2009-11-29 23:01:47.000000000 +0100 +@@ -2,7 +2,7 @@ + # + # Don't edit - this file is generated automatically from Makefile.am + # +-onlinedir = ${pkgdatadir}/html/online ++onlinedir = @htmldir@/html/online + + online_DATA = \ + cpt.html \ diff --git a/sci-chemistry/gromacs/gromacs-3.3.9999.ebuild b/sci-chemistry/gromacs/gromacs-3.3.9999.ebuild deleted file mode 100644 index 8d354932d..000000000 --- a/sci-chemistry/gromacs/gromacs-3.3.9999.ebuild +++ /dev/null @@ -1,234 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -LIBTOOLIZE="true" -TEST_PV="4.0.4" - -inherit autotools bash-completion eutils fortran git multilib - -DESCRIPTION="The ultimate molecular dynamics simulation package" -HOMEPAGE="http://www.gromacs.org/" -SRC_URI="test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz ) - doc? ( ftp://ftp.gromacs.org/pub/manual/manual-4.0.pdf )" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86" -IUSE="X blas dmalloc doc -double-precision +fftw fkernels gsl lapack mpi +single-precision static test +xml zsh-completion" - -DEPEND="app-shells/tcsh - X? ( x11-libs/libX11 ) - dmalloc? ( dev-libs/dmalloc ) - blas? ( virtual/blas ) - fftw? ( sci-libs/fftw:3.0 ) - gsl? ( sci-libs/gsl ) - lapack? ( virtual/lapack ) - mpi? ( virtual/mpi ) - xml? ( dev-libs/libxml2 )" - -RDEPEND="${DEPEND}" - -RESTRICT="test" - -EGIT_REPO_URI="git://git.gromacs.org/gromacs" -EGIT_BRANCH="release-3-3-patches" - -src_prepare() { - # Fix typos in a couple of files. - sed -e "s:+0f:-f:" -i share/tutor/gmxdemo/demo \ - || die "Failed to fixup demo script." - - # Fix a sandbox violation that occurs when re-emerging with mpi. - sed "/libdir=\"\$(libdir)\"/ a\ temp_libdir=\"${D}usr/$( get_libdir )\" ; \\\\" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - sed -e "s:\$\$libdir:\$temp_libdir:" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - sed "/libdir=\"\$(libdir)\"/ a\ temp_libdir=\"${D}usr/$( get_libdir )\" ; \\\\" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - sed -e "s:\$\$libdir:\$\$temp_libdir:" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - use fkernels && epatch "${FILESDIR}/${PN}-4.0.4-configure-gfortran.patch" - - eautoreconf - - cd "${WORKDIR}" - - use test && mv gmxtest "${P}" - mv "${P}" "${P}-single" - if ( use double-precision ) ; then - einfo "Moving sources for Multiprecision Build" - cp -prP "${P}-single" "${P}-double" - fi -} - -src_configure() { - local myconf ; - local myconf_s ; - local myconf_d ; - local suffix_d ; - - #leave all assembly options enabled mdrun is smart enough to deside itself - #there so no gentoo on bluegene! - myconf="${myconf} --disable-bluegene" - - #from gromacs configure - if ! use fftw; then - ewarn "WARNING: The built-in FFTPACK routines are slow." - ewarn "Are you sure you don\'t want to use FFTW?" - ewarn "It is free and much faster..." - fi - - if [[ $(gcc-version) == "4.1" ]]; then - ewarn "gcc 4.1 is not supported by gromacs" - ewarn "please run test suite" - fi - - #fortran will gone in gromacs 4.1 anyway - #note for gentoo-PREFIX on aix, fortran (xlf) is still much faster - if use fkernels; then - ewarn "Fortran kernels are usually not faster than C kernels and assembly" - ewarn "I hope, you know what are you doing..." - FORTRAN="g77 gfortran ifc" - myconf="${myconf} --enable-fortran" && fortran_pkg_setup - else - myconf="${myconf} --disable-fortran" - fi - - # if we need external blas - if use blas; then - export LIBS="${LIBS} -lblas" - myconf="${myconf} $(use_with blas external-blas)" - fi - - # if we need external lapack - if use lapack; then - export LIBS="${LIBS} -llapack" - myconf="${myconf} $(use_with lapack external-lapack)" - fi - - myconf="--datadir=/usr/share \ - --bindir=/usr/bin \ - --libdir=/usr/$(get_libdir) \ - --docdir=/usr/share/doc/"${PF}" \ - $(use_with dmalloc) \ - $(use_with fftw fft fftw3) \ - $(use_with gsl) \ - $(use_enable mpi) \ - $(use_with X x) \ - $(use_with xml) \ - $(use_enable static all-static) \ - ${myconf}" - - #if we build both double is suffixed - if ( use double-precision && use single-precision ); then - suffix_d="_d" - else - suffix_d="" - fi - - if use double-precision ; then - #from gromacs manual - elog - elog "For most simulations single precision is accurate enough. In some" - elog "cases double precision is required to get reasonable results:" - elog - elog "-normal mode analysis, for the conjugate gradient or l-bfgs minimization" - elog " and the calculation and diagonalization of the Hessian " - elog "-calculation of the constraint force between two large groups of atoms" - elog "-energy conservation: this can only be done without temperature coupling and" - elog " without cutoffs" - elog - einfo "Configuring Double Precison Gromacs" - cd "${WORKDIR}"/"${P}"-double - myconf_d="${myconf} --enable-double --program-suffix='${suffix_d}'" - econf ${myconf_d} || die "Double Precision econf failed" - fi - - if use single-precision ; then - einfo "Configuring Single Precison Gromacs" - cd "${WORKDIR}"/"${P}"-single - myconf_s="${myconf} --enable-float --program-suffix=''" - econf ${myconf_s} || die "configure failed" - fi -} - -src_compile() { - if use double-precision ; then - einfo "Building Double Precison Gromacs" - cd "${WORKDIR}"/"${P}"-double - emake || die "Double Precision emake failed" - fi - - if use single-precision ; then - einfo "Building Single Precison Gromacs" - cd "${WORKDIR}"/"${P}"-single - emake || die "Single Precision emake failed" - fi -} - -src_test() { - if use single-precision ; then - export PATH="${WORKDIR}/${P}-single/src/kernel:${WORKDIR}/${P}-single/src/tools:$PATH" - cd "${WORKDIR}"/"${P}"-single - emake -j1 tests || die "Single Precision test failed" - fi - - if use double-precision ; then - export PATH="${WORKDIR}/${P}-double/src/kernel:${WORKDIR}/${P}-double/src/tools:$PATH" - cd "${WORKDIR}"/"${P}"-double - emake -j1 tests || die "Double Precision test failed" - fi -} - -src_install() { - if use single-precision ; then - einfo "Installing Single Precision" - cd "${WORKDIR}"/"${P}"-single - emake DESTDIR="${D}" install || die "Installing Single Precision failed" - fi - - if use double-precision ; then - einfo "Installing Double Precision" - cd "${WORKDIR}"/"${P}"-double - emake DESTDIR="${D}" install || die "Installing Double Precision failed" - fi - - sed -n -e '/^GMXBIN/,/^GMXDATA/p' "${D}"/usr/bin/GMXRC.bash > "${T}/80gromacs" - doenvd "${T}/80gromacs" - rm -f "${D}"/usr/bin/GMXRC* - - dobashcompletion "${D}"/usr/bin/completion.bash ${PN} - if use zsh-completion ; then - insinto /usr/share/zsh/site-functions - newins "${D}"/usr/bin/completion.zsh _${PN} - fi - rm -r "${D}"/usr/bin/completion.* - - dodoc AUTHORS INSTALL README - use doc && dodoc "${DISTDIR}"/manual-4.0.pdf -} - -pkg_postinst() { - env-update && source /etc/profile - elog - elog "Please read and cite:" - elog "Gromacs 4, J. Chem. Theory Comput. 4, 435 \(2008\). " - elog "http://dx.doi.org/10.1021/ct700301q" - elog - bash-completion_pkg_postinst - elog - elog $(luck) - elog "For more Gromacs cool quotes \(gcq\) add luck to your .bashrc" - elog -} diff --git a/sci-chemistry/gromacs/gromacs-4.0.4.ebuild b/sci-chemistry/gromacs/gromacs-4.0.4.ebuild deleted file mode 100644 index 344302aee..000000000 --- a/sci-chemistry/gromacs/gromacs-4.0.4.ebuild +++ /dev/null @@ -1,243 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/gromacs-4.0.2.ebuild,v 1.1 2009/01/04 01:04:00 je_fro Exp $ - -EAPI="2" - -LIBTOOLIZE="true" - -inherit autotools eutils flag-o-matic fortran multilib - -DESCRIPTION="The ultimate molecular dynamics simulation package" -HOMEPAGE="http://www.gromacs.org/" -SRC_URI="ftp://ftp.gromacs.org/pub/${PN}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="3dnow X altivec blas double-precision gsl lapack gmxmopac7 mpi +single-precision sse sse2 static xml" - -# mopac7 qm/mm is broken until we can get files from -# http://md.chem.rug.nl/~groenhof/qmmm.html -# or somewhere else... - -DEPEND=">=sci-libs/fftw-3.0.1 - app-shells/tcsh - X? ( x11-libs/libX11 - x11-libs/libXt - x11-libs/libXp - x11-libs/libXext - x11-proto/xproto - x11-libs/openmotif ) - blas? ( virtual/blas ) - gsl? ( sci-libs/gsl ) - lapack? ( virtual/lapack ) - gmxmopac7? ( sci-chemistry/mopac7[gmxmopac7=] ) - mpi? ( virtual/mpi ) - xml? ( dev-libs/libxml2 )" - -RDEPEND="${DEPEND}" - -FORTRAN="g77 gfortran ifc" - -src_prepare() { - - # Fix typos in a couple of files. - sed -e "s:+0f:-f:" -i share/tutor/gmxdemo/demo \ - || die "Failed to fixup demo script." - - # Fix a sandbox violation that occurs when re-emerging with mpi. - sed "/libdir=\"\$(libdir)\"/ a\ temp_libdir=\"${D}usr/$( get_libdir )\" ; \\\\" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - sed -e "s:\$\$libdir:\$temp_libdir:" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - sed "/libdir=\"\$(libdir)\"/ a\ temp_libdir=\"${D}usr/$( get_libdir )\" ; \\\\" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - sed -e "s:\$\$libdir:\$\$temp_libdir:" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - append-ldflags -Wl,--no-as-needed - - eautoreconf - - cd "${WORKDIR}" - mv "${P}" "${P}-single" - if ( use double-precision ) ; then - einfo "Moving sources for Multiprecision Build" - cp -prP "${P}-single" "${P}-double" - fi -} - -src_configure() { - - # static should work but something's broken. - # gcc spec file may be screwed up. - # Static linking should try -lgcc instead of -lgcc_s. - # For more info: - # http://lists.debian.org/debian-gcc/2002/debian-gcc-200201/msg00150.html - - # We will compile single precision by default, and suffix double-precision with _d. - # Sparc is the only arch I can test on that needs to use fortran. - local myconf ; - local myconf_s ; - local myconf_d ; - - case "${ARCH}" in - - x86) - if ( use sse || use sse2 ) ; then - myconf="${myconf} --enable-ia32-sse" - fi - myconf="$myconf $(use_enable 3dnow ia32-3dnow)" - - if ( ! use sse && ! use sse2 && ! use 3dnow ) ; then - if ! has_version "=sys-devel/gcc-3*" ; then - die "If you must run gromacs without sse (not recommended) gfortran will not work." - else - myconf="${myconf} --enable-fortran" && fortran_pkg_setup - fi - else - myconf="${myconf} --disable-fortran" - fi - ;; - - amd64) - myconf="$myconf --enable-x86-64-sse --disable-fortran" - ;; - - ppc*) - if use altivec ; then - myconf="${myconf} --enable-ppc-altivec --disable-fortran" - else - if ! has_version "=sys-devel/gcc-3*" ; then - die "If you must run gromacs without sse (not recommended) gfortran will not work." - else - myconf="${myconf} --enable-fortran" && fortran_pkg_setup - fi - fi - ;; - - ia64) - myconf="$myconf --enable-ia64-asm --disable-fortran" - ;; - - alpha) - if ! has_version "=sys-devel/gcc-3*" ; then - die "If you must run gromacs without sse (not recommended) gfortran will not work." - else - myconf="$myconf --enable-fortran" && fortran_pkg_setup - fi - ;; - - sparc) - if ! has_version "=sys-devel/gcc-3*" ; then - die "If you must run gromacs without sse (not recommended) gfortran will not work." - else - myconf="${myconf} --enable-fortran" && fortran_pkg_setup - fi - ;; - esac - - # if we need external blas - if use blas; then - export LIBS="${LIBS} -lblas" - myconf="${myconf} $(use_with blas external-blas)" - fi - - # if we need external lapack - if use lapack; then - export LIBS="${LIBS} -llapack" - myconf="${myconf} $(use_with lapack external-lapack)" - fi - if use gmxmopac7; then - export LIBS="${LIBS} -lgmxmopac7" - myconf="${myconf} $(use_with gmxmopac7 qmmm-mopac)" - fi - # by default gromacs builds as static since 4.0.3 - if use static; then - myconf="${myconf} --enable-all-static" - else - myconf="${myconf} --enable-shared" - fi - - myconf="--datadir=/usr/share \ - --bindir=/usr/bin \ - --libdir=/usr/$(get_libdir) \ - --with-fft=fftw3 \ - $(use_with gsl) \ - $(use_enable mpi) \ - $(use_with X x) \ - $(use_with xml) \ - ${myconf}" - - if ( use double-precision && use single-precision ); then - einfo "Configuring Single Precison Gromacs" - cd "${WORKDIR}"/"${P}"-single - myconf_s="${myconf} --enable-float --disable-double --program-suffix=''" - econf ${myconf_s} || die "Single Precision econf failed" - - einfo "Configuring Double Precision Gromacs" - cd "${WORKDIR}"/"${P}"-double - myconf_d="${myconf} --enable-double --disable-float --program-suffix=_d" - econf ${myconf_d} || die "Double Precision econf failed" - - elif use double-precision ; then - einfo "Configuring Double Precison Gromacs" - cd "${WORKDIR}"/"${P}"-double - myconf_d="${myconf} --enable-double --disable-float --program-suffix=''" - econf ${myconf_d} || die "Double Precision econf failed" - - elif use single-precision ; then - einfo "Configuring Single Precison Gromacs" - cd "${WORKDIR}"/"${P}"-single - myconf_s="${myconf} --enable-float --disable-double --program-suffix=''" - econf ${myconf_s} || die "configure failed" - fi -} - -src_compile() { - if ( use double-precision && use single-precision ); then - einfo "Building Single Precison Gromacs" - cd "${WORKDIR}"/"${P}"-single - emake || die "Single Precision emake failed" - - einfo "Building Double Precision Gromacs" - cd "${WORKDIR}"/"${P}"-double - emake || die "Double Precision emake failed" - - elif use double-precision ; then - einfo "Building Double Precison Gromacs" - cd "${WORKDIR}"/"${P}"-double - emake || die "Double Precision emake failed" - - elif use single-precision ; then - einfo "Building Single Precison Gromacs" - cd "${WORKDIR}"/"${P}"-single - emake || die "Single Precision emake failed" - fi -} - -src_install() { - if use single-precision ; then - einfo "Installing Single Precision" - cd "${WORKDIR}"/"${P}"-single - emake DESTDIR="${D}" install || die "Installing Single Precision failed" - fi - - if use double-precision ; then - einfo "Installing Double Precision" - cd "${WORKDIR}"/"${P}"-double - emake DESTDIR="${D}" install || die "Installing Double Precision failed" - fi - - dodoc AUTHORS INSTALL README - # Move html and leave examples and templates under /usr/share/gromacs. - mv "${D}"/usr/share/"${PN}"/html "${D}"/usr/share/doc/"${PF}"/ -} diff --git a/sci-chemistry/gromacs/gromacs-4.0.5-r1.ebuild b/sci-chemistry/gromacs/gromacs-4.0.5-r1.ebuild deleted file mode 100644 index 21c2bd1b7..000000000 --- a/sci-chemistry/gromacs/gromacs-4.0.5-r1.ebuild +++ /dev/null @@ -1,237 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="2" - -LIBTOOLIZE="true" -TEST_PV="4.0.4" - -inherit autotools bash-completion eutils fortran multilib - -DESCRIPTION="The ultimate molecular dynamics simulation package" -HOMEPAGE="http://www.gromacs.org/" -SRC_URI="ftp://ftp.gromacs.org/pub/${PN}/${P}.tar.gz - test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz ) - doc? ( ftp://ftp.gromacs.org/pub/manual/manual-4.0.pdf )" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86" -IUSE="X blas dmalloc doc -double-precision +fftw fkernels +gsl lapack mpi +single-precision static test +xml zsh-completion" - -DEPEND="app-shells/tcsh - X? ( x11-libs/libX11 - x11-libs/libSM - x11-libs/libICE ) - dmalloc? ( dev-libs/dmalloc ) - blas? ( virtual/blas ) - fftw? ( sci-libs/fftw:3.0 ) - gsl? ( sci-libs/gsl ) - lapack? ( virtual/lapack ) - mpi? ( virtual/mpi ) - xml? ( dev-libs/libxml2 )" - -RDEPEND="${DEPEND}" - -RESTRICT="test" - -src_prepare() { - - epatch "${FILESDIR}/${PN}-4.0.4-sparc-cyclecounter.patch" - epatch "${FILESDIR}/${P}-path-overflow.patch" - epatch "${FILESDIR}/${P}-docdir.patch" - # Fix typos in a couple of files. - sed -e "s:+0f:-f:" -i share/tutor/gmxdemo/demo \ - || die "Failed to fixup demo script." - - # Fix a sandbox violation that occurs when re-emerging with mpi. - sed "/libdir=\"\$(libdir)\"/ a\ temp_libdir=\"${D}usr/$( get_libdir )\" ; \\\\" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - sed -e "s:\$\$libdir:\$temp_libdir:" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - sed "/libdir=\"\$(libdir)\"/ a\ temp_libdir=\"${D}usr/$( get_libdir )\" ; \\\\" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - sed -e "s:\$\$libdir:\$\$temp_libdir:" \ - -i src/tools/Makefile.am \ - || die "sed tools/Makefile.am failed" - - use fkernels && epatch "${FILESDIR}/${PN}-4.0.4-configure-gfortran.patch" - - eautoreconf - GMX_DIRS="" - use single-precision && GMX_DIRS+=" single" - use double-precision && GMX_DIRS+=" double" - for x in ${GMX_DIRS}; do - mkdir "${S}-${x}" || die - use test && cp -r "${WORKDIR}"/gmxtest "${S}-${x}" - use mpi || continue - mkdir "${S}-${x}_mpi" || die - done -} - -src_configure() { - local myconf - local myconfsingle - local myconfdouble - local suffixdouble - - #leave all assembly options enabled mdrun is smart enough to deside itself - #there so no gentoo on bluegene! - myconf="${myconf} --disable-bluegene" - - #from gromacs configure - if ! use fftw; then - ewarn "WARNING: The built-in FFTPACK routines are slow." - ewarn "Are you sure you don\'t want to use FFTW?" - ewarn "It is free and much faster..." - fi - - if [[ $(gcc-version) == "4.1" ]]; then - ewarn "gcc 4.1 is not supported by gromacs" - ewarn "please run test suite" - fi - - #note for gentoo-PREFIX on apple: use --enable-apple-64bit - - #fortran will gone in gromacs 4.1 anyway - #note for gentoo-PREFIX on aix, fortran (xlf) is still much faster - if use fkernels; then - ewarn "Fortran kernels are usually not faster than C kernels and assembly" - ewarn "I hope, you know what are you doing..." - FORTRAN="g77 gfortran ifc" - myconf="${myconf} --enable-fortran" && fortran_pkg_setup - else - myconf="${myconf} --disable-fortran" - fi - - # if we need external blas - if use blas; then - export LIBS="${LIBS} -lblas" - myconf="${myconf} $(use_with blas external-blas)" - fi - - # if we need external lapack - if use lapack; then - export LIBS="${LIBS} -llapack" - myconf="${myconf} $(use_with lapack external-lapack)" - fi - - myconf="--datadir=/usr/share \ - --bindir=/usr/bin \ - --libdir=/usr/$(get_libdir) \ - --docdir=/usr/share/doc/"${PF}" \ - $(use_with dmalloc) \ - $(use_with fftw fft fftw3) \ - $(use_with gsl) \ - $(use_with X x) \ - $(use_with xml) \ - $(use_enable static all-static) \ - ${myconf}" - - #if we build single and double - double is suffixed - if ( use double-precision && use single-precision ); then - suffixdouble="_d" - else - suffixdouble="" - fi - - if use double-precision ; then - #from gromacs manual - elog - elog "For most simulations single precision is accurate enough. In some" - elog "cases double precision is required to get reasonable results:" - elog - elog "-normal mode analysis, for the conjugate gradient or l-bfgs minimization" - elog " and the calculation and diagonalization of the Hessian " - elog "-calculation of the constraint force between two large groups of atoms" - elog "-energy conservation: this can only be done without temperature coupling and" - elog " without cutoffs" - elog - fi - - if use mpi ; then - elog "You have enabled mpi, only mdrun will make use of mpi, that is why" - elog "we configure/compile gromacs twice (with and without mpi) and only" - elog "install mdrun with mpi support. In addtion you will get libgmx and" - elog "libmd with and without mpi support." - fi - - myconfdouble="${myconf} --enable-double --program-suffix='${suffixdouble}'" - myconfsingle="${myconf} --enable-float --program-suffix=''" - for x in ${GMX_DIRS}; do - einfo "Configuring for ${x} precision" - cd "${S}-${x}" - local p=myconf${x} - ECONF_SOURCE="${S}" econf ${!p} --disable-mpi - use mpi || continue - cd "${S}-${x}_mpi" - ECONF_SOURCE="${S}" econf ${!p} --enable-mpi - done -} - -src_compile() { - for x in ${GMX_DIRS}; do - cd "${S}-${x}" - einfo "Compiling for ${x} precision" - emake || die "emake for ${x} precision failed" - use mpi || continue - cd "${S}-${x}_mpi" - emake mdrun || die "emake mdrun for ${x} precision failed" - done -} - -src_test() { - for x in ${GMX_DIRS}; do - local oldpath="${PATH}" - export PATH="${S}-${x}/src/kernel:${S}-{x}/src/tools:${PATH}" - cd "${S}-${x}" - emake -j1 tests || die "${x} Precision test failed" - export PATH="${oldpath}" - done -} - -src_install() { - for x in ${GMX_DIRS}; do - cd "${S}-${x}" - emake DESTDIR="${D}" install || die "emake install for ${x} failed" - use mpi || continue - cd "${S}-${x}_mpi" - emake DESTDIR="${D}" install-mdrun || die "emake install-mdrun for ${x} failed" - done - - sed -n -e '/^GMXBIN/,/^GMXDATA/p' "${D}"/usr/bin/GMXRC.bash > "${T}/80gromacs" - doenvd "${T}/80gromacs" - rm -f "${D}"/usr/bin/GMXRC* - - dobashcompletion "${D}"/usr/bin/completion.bash ${PN} - if use zsh-completion ; then - insinto /usr/share/zsh/site-functions - newins "${D}"/usr/bin/completion.zsh _${PN} - fi - rm -r "${D}"/usr/bin/completion.* - - cd "${S}" - dodoc AUTHORS INSTALL README - use doc && dodoc "${DISTDIR}"/manual-4.0.pdf -} - -pkg_postinst() { - env-update && source /etc/profile - elog - elog "Please read and cite:" - elog "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). " - elog "http://dx.doi.org/10.1021/ct700301q" - elog - bash-completion_pkg_postinst - elog - elog $(luck) - elog "For more Gromacs cool quotes (gcq) add luck to your .bashrc" - elog -} diff --git a/sci-chemistry/gromacs/gromacs-4.0.9999.ebuild b/sci-chemistry/gromacs/gromacs-4.0.9999.ebuild index 63fd0da23..ca1ee7a21 100644 --- a/sci-chemistry/gromacs/gromacs-4.0.9999.ebuild +++ b/sci-chemistry/gromacs/gromacs-4.0.9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ @@ -7,7 +7,7 @@ EAPI="2" LIBTOOLIZE="true" TEST_PV="4.0.4" -inherit autotools bash-completion eutils fortran git multilib +inherit autotools bash-completion eutils flag-o-matic fortran git multilib DESCRIPTION="The ultimate molecular dynamics simulation package" HOMEPAGE="http://www.gromacs.org/" @@ -17,10 +17,12 @@ SRC_URI="test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz ) LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86" -IUSE="X blas dmalloc doc -double-precision +fftw fkernels gsl lapack mpi +single-precision static test +xml zsh-completion" +IUSE="X blas dmalloc doc -double-precision +fftw fkernels +gsl lapack mpi +single-precision static test +xml zsh-completion" DEPEND="app-shells/tcsh - X? ( x11-libs/libX11 ) + X? ( x11-libs/libX11 + x11-libs/libSM + x11-libs/libICE ) dmalloc? ( dev-libs/dmalloc ) blas? ( virtual/blas ) fftw? ( sci-libs/fftw:3.0 ) @@ -37,6 +39,8 @@ EGIT_REPO_URI="git://git.gromacs.org/gromacs" EGIT_BRANCH="release-4-0-patches" src_prepare() { + + epatch "${FILESDIR}/${P}-docdir.patch" # Fix typos in a couple of files. sed -e "s:+0f:-f:" -i share/tutor/gmxdemo/demo \ || die "Failed to fixup demo script." @@ -60,23 +64,25 @@ src_prepare() { use fkernels && epatch "${FILESDIR}/${PN}-4.0.4-configure-gfortran.patch" + append-ldflags -Wl,--no-as-needed eautoreconf - cd "${WORKDIR}" - - use test && mv gmxtest "${P}" - mv "${P}" "${P}-single" - if ( use double-precision ) ; then - einfo "Moving sources for Multiprecision Build" - cp -prP "${P}-single" "${P}-double" - fi + GMX_DIRS="" + use single-precision && GMX_DIRS+=" single" + use double-precision && GMX_DIRS+=" double" + for x in ${GMX_DIRS}; do + mkdir "${S}-${x}" || die + use test && cp -r "${WORKDIR}"/gmxtest "${S}-${x}" + use mpi || continue + mkdir "${S}-${x}_mpi" || die + done } src_configure() { - local myconf ; - local myconf_s ; - local myconf_d ; - local suffix_d ; + local myconf + local myconfsingle + local myconfdouble + local suffixdouble #leave all assembly options enabled mdrun is smart enough to deside itself #there so no gentoo on bluegene! @@ -90,10 +96,13 @@ src_configure() { fi if [[ $(gcc-version) == "4.1" ]]; then - ewarn "gcc 4.1 is not supported by gromacs" - ewarn "please run test suite" + eerror "gcc 4.1 is not supported by gromacs" + eerror "please run test suite" + die fi + #note for gentoo-PREFIX on apple: use --enable-apple-64bit + #fortran will gone in gromacs 4.1 anyway #note for gentoo-PREFIX on aix, fortran (xlf) is still much faster if use fkernels; then @@ -117,6 +126,13 @@ src_configure() { myconf="${myconf} $(use_with lapack external-lapack)" fi + # by default its better to have dynamicaly linked binaries + if use static; then + myconf="${myconf} $(use_enable static all-static)" + else + myconf="${myconf} --enable-shared" + fi + myconf="--datadir=/usr/share \ --bindir=/usr/bin \ --libdir=/usr/$(get_libdir) \ @@ -124,24 +140,22 @@ src_configure() { $(use_with dmalloc) \ $(use_with fftw fft fftw3) \ $(use_with gsl) \ - $(use_enable mpi) \ $(use_with X x) \ $(use_with xml) \ - $(use_enable static all-static) \ ${myconf}" - #if we build both double is suffixed + #if we build single and double - double is suffixed if ( use double-precision && use single-precision ); then - suffix_d="_d" + suffixdouble="_d" else - suffix_d="" + suffixdouble="" fi if use double-precision ; then #from gromacs manual elog elog "For most simulations single precision is accurate enough. In some" - elog "cases double precision is required to get reasonable results:" + elog "cases double precision is required to get reasonable results:" elog elog "-normal mode analysis, for the conjugate gradient or l-bfgs minimization" elog " and the calculation and diagonalization of the Hessian " @@ -149,60 +163,57 @@ src_configure() { elog "-energy conservation: this can only be done without temperature coupling and" elog " without cutoffs" elog - einfo "Configuring Double Precison Gromacs" - cd "${WORKDIR}"/"${P}"-double - myconf_d="${myconf} --enable-double --program-suffix='${suffix_d}'" - econf ${myconf_d} || die "Double Precision econf failed" fi - if use single-precision ; then - einfo "Configuring Single Precison Gromacs" - cd "${WORKDIR}"/"${P}"-single - myconf_s="${myconf} --enable-float --program-suffix=''" - econf ${myconf_s} || die "configure failed" - fi + if use mpi ; then + elog "You have enabled mpi, only mdrun will make use of mpi, that is why" + elog "we configure/compile gromacs twice (with and without mpi) and only" + elog "install mdrun with mpi support. In addtion you will get libgmx and" + elog "libmd with and without mpi support." + fi + + myconfdouble="${myconf} --enable-double --program-suffix='${suffixdouble}'" + myconfsingle="${myconf} --enable-float --program-suffix=''" + for x in ${GMX_DIRS}; do + einfo "Configuring for ${x} precision" + cd "${S}-${x}" + local p=myconf${x} + ECONF_SOURCE="${S}" econf ${!p} --disable-mpi + use mpi || continue + cd "${S}-${x}_mpi" + ECONF_SOURCE="${S}" econf ${!p} --enable-mpi + done } src_compile() { - if use double-precision ; then - einfo "Building Double Precison Gromacs" - cd "${WORKDIR}"/"${P}"-double - emake || die "Double Precision emake failed" - fi - - if use single-precision ; then - einfo "Building Single Precison Gromacs" - cd "${WORKDIR}"/"${P}"-single - emake || die "Single Precision emake failed" - fi + for x in ${GMX_DIRS}; do + cd "${S}-${x}" + einfo "Compiling for ${x} precision" + emake || die "emake for ${x} precision failed" + use mpi || continue + cd "${S}-${x}_mpi" + emake mdrun || die "emake mdrun for ${x} precision failed" + done } src_test() { - if use single-precision ; then - export PATH="${WORKDIR}/${P}-single/src/kernel:${WORKDIR}/${P}-single/src/tools:$PATH" - cd "${WORKDIR}"/"${P}"-single - emake -j1 tests || die "Single Precision test failed" - fi - - if use double-precision ; then - export PATH="${WORKDIR}/${P}-double/src/kernel:${WORKDIR}/${P}-double/src/tools:$PATH" - cd "${WORKDIR}"/"${P}"-double - emake -j1 tests || die "Double Precision test failed" - fi + for x in ${GMX_DIRS}; do + local oldpath="${PATH}" + export PATH="${S}-${x}/src/kernel:${S}-{x}/src/tools:${PATH}" + cd "${S}-${x}" + emake -j1 tests || die "${x} Precision test failed" + export PATH="${oldpath}" + done } src_install() { - if use single-precision ; then - einfo "Installing Single Precision" - cd "${WORKDIR}"/"${P}"-single - emake DESTDIR="${D}" install || die "Installing Single Precision failed" - fi - - if use double-precision ; then - einfo "Installing Double Precision" - cd "${WORKDIR}"/"${P}"-double - emake DESTDIR="${D}" install || die "Installing Double Precision failed" - fi + for x in ${GMX_DIRS}; do + cd "${S}-${x}" + emake DESTDIR="${D}" install || die "emake install for ${x} failed" + use mpi || continue + cd "${S}-${x}_mpi" + emake DESTDIR="${D}" install-mdrun || die "emake install-mdrun for ${x} failed" + done sed -n -e '/^GMXBIN/,/^GMXDATA/p' "${D}"/usr/bin/GMXRC.bash > "${T}/80gromacs" doenvd "${T}/80gromacs" @@ -215,6 +226,7 @@ src_install() { fi rm -r "${D}"/usr/bin/completion.* + cd "${S}" dodoc AUTHORS INSTALL README use doc && dodoc "${DISTDIR}"/manual-4.0.pdf } @@ -223,12 +235,12 @@ pkg_postinst() { env-update && source /etc/profile elog elog "Please read and cite:" - elog "Gromacs 4, J. Chem. Theory Comput. 4, 435 \(2008\). " + elog "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). " elog "http://dx.doi.org/10.1021/ct700301q" elog bash-completion_pkg_postinst elog elog $(luck) - elog "For more Gromacs cool quotes \(gcq\) add luck to your .bashrc" + elog "For more Gromacs cool quotes (gcq) add luck to your .bashrc" elog } diff --git a/sci-chemistry/gromacs/gromacs-9999.ebuild b/sci-chemistry/gromacs/gromacs-9999.ebuild index e8384fb66..a13a611f4 100644 --- a/sci-chemistry/gromacs/gromacs-9999.ebuild +++ b/sci-chemistry/gromacs/gromacs-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ @@ -7,7 +7,7 @@ EAPI="2" LIBTOOLIZE="true" TEST_PV="4.0.4" -inherit autotools bash-completion eutils fortran git multilib +inherit autotools bash-completion eutils flag-o-matic fortran git multilib DESCRIPTION="The ultimate molecular dynamics simulation package" HOMEPAGE="http://www.gromacs.org/" @@ -17,10 +17,12 @@ SRC_URI="test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz ) LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86" -IUSE="X blas dmalloc doc -double-precision +fftw fkernels gsl lapack mpi +single-precision static test +xml zsh-completion" +IUSE="X blas dmalloc doc -double-precision +fftw fkernels +gsl lapack mpi +single-precision static test +xml zsh-completion" DEPEND="app-shells/tcsh - X? ( x11-libs/libX11 ) + X? ( x11-libs/libX11 + x11-libs/libSM + x11-libs/libICE ) dmalloc? ( dev-libs/dmalloc ) blas? ( virtual/blas ) fftw? ( sci-libs/fftw:3.0 ) @@ -34,8 +36,11 @@ RDEPEND="${DEPEND}" RESTRICT="test" EGIT_REPO_URI="git://git.gromacs.org/gromacs" +EGIT_BRANCH="master" src_prepare() { + + epatch "${FILESDIR}/${PN}-4.0.9999-docdir.patch" # Fix typos in a couple of files. sed -e "s:+0f:-f:" -i share/tutor/gmxdemo/demo \ || die "Failed to fixup demo script." @@ -59,23 +64,25 @@ src_prepare() { use fkernels && epatch "${FILESDIR}/${PN}-4.0.4-configure-gfortran.patch" + append-ldflags -Wl,--no-as-needed eautoreconf - cd "${WORKDIR}" - - use test && mv gmxtest "${P}" - mv "${P}" "${P}-single" - if ( use double-precision ) ; then - einfo "Moving sources for Multiprecision Build" - cp -prP "${P}-single" "${P}-double" - fi + GMX_DIRS="" + use single-precision && GMX_DIRS+=" single" + use double-precision && GMX_DIRS+=" double" + for x in ${GMX_DIRS}; do + mkdir "${S}-${x}" || die + use test && cp -r "${WORKDIR}"/gmxtest "${S}-${x}" + use mpi || continue + mkdir "${S}-${x}_mpi" || die + done } src_configure() { - local myconf ; - local myconf_s ; - local myconf_d ; - local suffix_d ; + local myconf + local myconfsingle + local myconfdouble + local suffixdouble #leave all assembly options enabled mdrun is smart enough to deside itself #there so no gentoo on bluegene! @@ -89,10 +96,13 @@ src_configure() { fi if [[ $(gcc-version) == "4.1" ]]; then - ewarn "gcc 4.1 is not supported by gromacs" - ewarn "please run test suite" + eerror "gcc 4.1 is not supported by gromacs" + eerror "please run test suite" + die fi + #note for gentoo-PREFIX on apple: use --enable-apple-64bit + #fortran will gone in gromacs 4.1 anyway #note for gentoo-PREFIX on aix, fortran (xlf) is still much faster if use fkernels; then @@ -116,6 +126,13 @@ src_configure() { myconf="${myconf} $(use_with lapack external-lapack)" fi + # by default its better to have dynamicaly linked binaries + if use static; then + myconf="${myconf} $(use_enable static all-static)" + else + myconf="${myconf} --enable-shared" + fi + myconf="--datadir=/usr/share \ --bindir=/usr/bin \ --libdir=/usr/$(get_libdir) \ @@ -123,24 +140,22 @@ src_configure() { $(use_with dmalloc) \ $(use_with fftw fft fftw3) \ $(use_with gsl) \ - $(use_enable mpi) \ $(use_with X x) \ $(use_with xml) \ - $(use_enable static all-static) \ ${myconf}" - #if we build both double is suffixed + #if we build single and double - double is suffixed if ( use double-precision && use single-precision ); then - suffix_d="_d" + suffixdouble="_d" else - suffix_d="" + suffixdouble="" fi if use double-precision ; then #from gromacs manual elog elog "For most simulations single precision is accurate enough. In some" - elog "cases double precision is required to get reasonable results:" + elog "cases double precision is required to get reasonable results:" elog elog "-normal mode analysis, for the conjugate gradient or l-bfgs minimization" elog " and the calculation and diagonalization of the Hessian " @@ -148,60 +163,57 @@ src_configure() { elog "-energy conservation: this can only be done without temperature coupling and" elog " without cutoffs" elog - einfo "Configuring Double Precison Gromacs" - cd "${WORKDIR}"/"${P}"-double - myconf_d="${myconf} --enable-double --program-suffix='${suffix_d}'" - econf ${myconf_d} || die "Double Precision econf failed" fi - if use single-precision ; then - einfo "Configuring Single Precison Gromacs" - cd "${WORKDIR}"/"${P}"-single - myconf_s="${myconf} --enable-float --program-suffix=''" - econf ${myconf_s} || die "configure failed" - fi + if use mpi ; then + elog "You have enabled mpi, only mdrun will make use of mpi, that is why" + elog "we configure/compile gromacs twice (with and without mpi) and only" + elog "install mdrun with mpi support. In addtion you will get libgmx and" + elog "libmd with and without mpi support." + fi + + myconfdouble="${myconf} --enable-double --program-suffix='${suffixdouble}'" + myconfsingle="${myconf} --enable-float --program-suffix=''" + for x in ${GMX_DIRS}; do + einfo "Configuring for ${x} precision" + cd "${S}-${x}" + local p=myconf${x} + ECONF_SOURCE="${S}" econf ${!p} --disable-mpi + use mpi || continue + cd "${S}-${x}_mpi" + ECONF_SOURCE="${S}" econf ${!p} --enable-mpi + done } src_compile() { - if use double-precision ; then - einfo "Building Double Precison Gromacs" - cd "${WORKDIR}"/"${P}"-double - emake || die "Double Precision emake failed" - fi - - if use single-precision ; then - einfo "Building Single Precison Gromacs" - cd "${WORKDIR}"/"${P}"-single - emake || die "Single Precision emake failed" - fi + for x in ${GMX_DIRS}; do + cd "${S}-${x}" + einfo "Compiling for ${x} precision" + emake || die "emake for ${x} precision failed" + use mpi || continue + cd "${S}-${x}_mpi" + emake mdrun || die "emake mdrun for ${x} precision failed" + done } src_test() { - if use single-precision ; then - export PATH="${WORKDIR}/${P}-single/src/kernel:${WORKDIR}/${P}-single/src/tools:$PATH" - cd "${WORKDIR}"/"${P}"-single - emake -j1 tests || die "Single Precision test failed" - fi - - if use double-precision ; then - export PATH="${WORKDIR}/${P}-double/src/kernel:${WORKDIR}/${P}-double/src/tools:$PATH" - cd "${WORKDIR}"/"${P}"-double - emake -j1 tests || die "Double Precision test failed" - fi + for x in ${GMX_DIRS}; do + local oldpath="${PATH}" + export PATH="${S}-${x}/src/kernel:${S}-{x}/src/tools:${PATH}" + cd "${S}-${x}" + emake -j1 tests || die "${x} Precision test failed" + export PATH="${oldpath}" + done } src_install() { - if use single-precision ; then - einfo "Installing Single Precision" - cd "${WORKDIR}"/"${P}"-single - emake DESTDIR="${D}" install || die "Installing Single Precision failed" - fi - - if use double-precision ; then - einfo "Installing Double Precision" - cd "${WORKDIR}"/"${P}"-double - emake DESTDIR="${D}" install || die "Installing Double Precision failed" - fi + for x in ${GMX_DIRS}; do + cd "${S}-${x}" + emake DESTDIR="${D}" install || die "emake install for ${x} failed" + use mpi || continue + cd "${S}-${x}_mpi" + emake DESTDIR="${D}" install-mdrun || die "emake install-mdrun for ${x} failed" + done sed -n -e '/^GMXBIN/,/^GMXDATA/p' "${D}"/usr/bin/GMXRC.bash > "${T}/80gromacs" doenvd "${T}/80gromacs" @@ -214,6 +226,7 @@ src_install() { fi rm -r "${D}"/usr/bin/completion.* + cd "${S}" dodoc AUTHORS INSTALL README use doc && dodoc "${DISTDIR}"/manual-4.0.pdf } @@ -222,12 +235,12 @@ pkg_postinst() { env-update && source /etc/profile elog elog "Please read and cite:" - elog "Gromacs 4, J. Chem. Theory Comput. 4, 435 \(2008\). " + elog "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). " elog "http://dx.doi.org/10.1021/ct700301q" elog bash-completion_pkg_postinst elog elog $(luck) - elog "For more Gromacs cool quotes \(gcq\) add luck to your .bashrc" + elog "For more Gromacs cool quotes (gcq) add luck to your .bashrc" elog } diff --git a/sci-chemistry/gromacs/metadata.xml b/sci-chemistry/gromacs/metadata.xml index 8f140cfbf..ffe0affee 100644 --- a/sci-chemistry/gromacs/metadata.xml +++ b/sci-chemistry/gromacs/metadata.xml @@ -8,7 +8,6 @@ <flag name='fkernels'>Enable building of Fortran Kernels for platforms that dont have assembly loops</flag> <flag name='single-precision'>Single precision version of gromacs</flag> - <flag name='gmxmopac7'>Support for QM/MM with mopac7</flag> <flag name='zsh-completion'>Enable zsh completion support</flag> </use> </pkgmetadata> |