diff --git a/.gitignore b/.gitignore index a777b11..711dd34 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ manual-4.0.pdf /gromacs-4.5.5.tar.gz /gromacs-4.6-beta3.tar.gz /gromacs-manual-4.6-beta1.pdf +/gromacs-4.6.tar.gz +/manual-4.6.pdf diff --git a/gromacs-git-d24f81b3.patch b/gromacs-git-d24f81b3.patch deleted file mode 100644 index 15df858..0000000 --- a/gromacs-git-d24f81b3.patch +++ /dev/null @@ -1,136 +0,0 @@ -From d24f81b3fb765520534f8d83ea070a2f4835368e Mon Sep 17 00:00:00 2001 -From: Erik Lindahl -Date: Thu, 20 Dec 2012 15:41:19 +0100 -Subject: [PATCH] Fixed gmx_cpuid not working on non-x86 - -Added x86-specific #ifdefs around calls to x86-specific routines. -The cpuid calls should now correctly return 'unknown' for everything -on other platforms. Fixes #1075. - -Change-Id: Id0dfcb2fd944ea37b176efb9978ccedfc00e06e9 ---- - src/gmxlib/gmx_cpuid.c | 36 +++++++++++++++++++++++++++--------- - 1 files changed, 27 insertions(+), 9 deletions(-) - -diff --git a/src/gmxlib/gmx_cpuid.c b/src/gmxlib/gmx_cpuid.c -index 4304807..bf7c130 100644 ---- a/src/gmxlib/gmx_cpuid.c -+++ b/src/gmxlib/gmx_cpuid.c -@@ -54,11 +54,16 @@ - #include - #endif - -+#include "gmx_cpuid.h" - - - --#include "gmx_cpuid.h" -- -+/* For convenience, and to enable configure-time invocation, we keep all architectures -+ * in a single file, but to avoid repeated ifdefs we set the overall architecture here. -+ */ -+#if defined (__i386__) || defined (__x86_64__) || defined (_M_IX86) || defined (_M_X64) -+# define GMX_CPUID_X86 -+#endif - - /* Global constant character strings corresponding to our enumerated types */ - const char * -@@ -209,10 +214,7 @@ compiled_acc = GMX_CPUID_ACCELERATION_NONE; - #endif - - --/* Currently CPUID is only supported (1) if we can use an instruction on MSVC, or (2) -- * if the compiler handles GNU-style inline assembly. -- */ --#if defined (__i386__) || defined (__x86_64__) || defined (_M_IX86) || defined (_M_X64) -+#ifdef GMX_CPUID_X86 - - /* Execute CPUID on x86 class CPUs. level sets function to exec, and the - * contents of register output is returned. See Intel/AMD docs for details. -@@ -231,6 +233,10 @@ execute_x86cpuid(unsigned int level, - { - int rc = 0; - -+ /* Currently CPUID is only supported (1) if we can use an instruction on MSVC, or (2) -+ * if the compiler handles GNU-style inline assembly. -+ */ -+ - #if (defined _MSC_VER) - int CPUInfo[4]; - -@@ -283,7 +289,6 @@ execute_x86cpuid(unsigned int level, - #endif - return rc; - } --#endif /* architecture is x86 */ - - - /* Identify CPU features common to Intel & AMD - mainly brand string, -@@ -465,6 +470,9 @@ cpuid_check_intel_x86(gmx_cpuid_t cpuid) - } - return 0; - } -+#endif /* GMX_CPUID_X86 */ -+ -+ - - /* Try to find the vendor of the current CPU, so we know what specific - * detection routine to call. -@@ -480,6 +488,7 @@ cpuid_check_vendor(void) - /* Set default first */ - vendor = GMX_CPUID_VENDOR_UNKNOWN; - -+#ifdef GMX_CPUID_X86 - execute_x86cpuid(0x0,0,&eax,&ebx,&ecx,&edx); - - memcpy(vendorstring,&ebx,4); -@@ -495,7 +504,10 @@ cpuid_check_vendor(void) - vendor = i; - } - } -- -+#else -+ vendor = GMX_CPUID_VENDOR_UNKNOWN; -+#endif -+ - return vendor; - } - -@@ -521,12 +533,14 @@ gmx_cpuid_init (gmx_cpuid_t * pcpuid) - - switch(cpuid->vendor) - { -+#ifdef GMX_CPUID_X86 - case GMX_CPUID_VENDOR_INTEL: - cpuid_check_intel_x86(cpuid); - break; - case GMX_CPUID_VENDOR_AMD: - cpuid_check_amd_x86(cpuid); - break; -+#endif - default: - /* Could not find vendor */ - strncpy(cpuid->brand,"Unknown CPU brand",GMX_CPUID_BRAND_MAXLEN); -@@ -706,7 +720,7 @@ gmx_cpuid_acceleration_check(gmx_cpuid_t cpuid, - enum gmx_cpuid_x86_smt - gmx_cpuid_x86_smt(gmx_cpuid_t cpuid) - { -- -+#ifdef GMX_CPUID_X86 - #if (defined HAVE_SCHED_H && defined HAVE_SCHED_SETAFFINITY && defined HAVE_SYSCONF && defined __linux__) - int i; - int nproc; -@@ -787,6 +801,10 @@ gmx_cpuid_x86_smt(gmx_cpuid_t cpuid) - return GMX_CPUID_X86_SMT_CANNOTDETECT; - } - #endif -+#else -+ /* not x86 */ -+ return GMX_CPUID_X86_SMT_CANNOTDETECT; -+#endif - } - - --- -1.6.5.GIT - diff --git a/gromacs.spec b/gromacs.spec index d22376c..2ec0bc2 100644 --- a/gromacs.spec +++ b/gromacs.spec @@ -6,21 +6,18 @@ Name: gromacs Version: 4.6 -Release: 0.2.beta3%{?dist} +Release: 1%{?dist} Summary: Fast, Free and Flexible Molecular Dynamics Group: Applications/Engineering License: GPLv2+ URL: http://www.gromacs.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -#Source0: ftp://ftp.gromacs.org/pub/gromacs/gromacs-%{version}.tar.gz -Source0: ftp://ftp.gromacs.org/pub/gromacs/gromacs-%{version}-beta3.tar.gz +Source0: ftp://ftp.gromacs.org/pub/gromacs/gromacs-%{version}.tar.gz # File gotten from # http://www.gromacs.org/@api/deki/files/152/=manual-4.5.4.pdf #Source1: manual-4.5.4.pdf -Source1: ftp://ftp.gromacs.org/pub/manual/gromacs-manual-4.6-beta1.pdf +Source1: ftp://ftp.gromacs.org/pub/manual/manual-4.6.pdf Source6: gromacs-README.fedora -# fix build on non-x86 arches -Patch0: gromacs-git-d24f81b3.patch BuildRequires: cmake BuildRequires: atlas-devel @@ -291,20 +288,9 @@ This package provides scripts needed to run GROMACS with csh and a completion script. %prep -%setup -q -n %{name}-%{version}-beta3 -%patch0 -p1 -b .non-x86 -#patch0 -p1 -b .gmxrc -#patch1 -p1 -b .gmxdemo - -# Fix incorrect permission -#chmod a-x src/tools/gmx_xpm2ps.c - - +%setup -q %build -# First, override bug in MPICH2 packaging. -%{_mpich2_unload} - # Assembly kernels haven't got .note.GNU-stack sections # because of incompatibilies with Microsoft Assembler. # Add noexecstack to compiler flags @@ -313,7 +299,7 @@ export CFLAGS="%optflags -Wa,--noexecstack -fPIC" export LIBS="-L%{_libdir}/atlas -lblas -llapack" # Default options, used for all compilations -export DEFOPTS="-D BUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_SKIP_BUILD_RPATH:BOOL=ON -DGMXLIB=%{_lib} -DGMX_X11=ON" +export DEFOPTS="-D BUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_SKIP_BUILD_RPATH:BOOL=ON -DGMXLIB=%{_lib} -DGMX_X11=ON -DCMAKE_C_FLAGS_RELEASE= -DCMAKE_CXX_FLAGS_RELEASE=" export SINGLE="-D GMX_DOUBLE=OFF" # Single precision export DOUBLE="-D GMX_DOUBLE=ON" # Double precision export MPI="-D GMX_MPI=ON" @@ -588,6 +574,9 @@ rm -rf %{buildroot} %changelog +* Mon Jan 21 2013 Susi Lehtola - 4.6-1 +- Update to stable 4.6 release. + * Mon Dec 31 2012 Dan HorĂ¡k - 4.6-0.2.beta3 - fix build on non-x86 arches diff --git a/sources b/sources index 6bf2eff..2330d90 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -b6280194172d3bc841210a97b00edc4d gromacs-4.6-beta3.tar.gz -8bdea92a8eb7a987bbb32ee34ee52364 gromacs-manual-4.6-beta1.pdf +d920a57884961a9fcbdcd9953ade469b gromacs-4.6.tar.gz +a66111b91948a0923bf5e8b8efbffa16 manual-4.6.pdf