Gentoo Archives: gentoo-commits

From: Christoph Junghans <kleiner_otti@×××.de>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sci:master commit in: sci-chemistry/gromacs/
Date: Sun, 01 May 2011 15:14:05
Message-Id: 726d5118d71546b6c8a190ad39b179ca39fdeced.kleiner_otti@gentoo
1 commit: 726d5118d71546b6c8a190ad39b179ca39fdeced
2 Author: Christoph Junghans <ottxor <AT> gentoo <DOT> org>
3 AuthorDate: Sun May 1 15:13:35 2011 +0000
4 Commit: Christoph Junghans <kleiner_otti <AT> gmx <DOT> de>
5 CommitDate: Sun May 1 15:13:35 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=726d5118
7
8 [sci-chemistry/gromacs] sync with tree
9
10 (Portage version: 2.1.9.42/git/Linux i686, signed Manifest commit with key C2000586)
11
12 ---
13 sci-chemistry/gromacs/gromacs-4.5.9999.ebuild | 27 ++++++-----------
14 sci-chemistry/gromacs/gromacs-9999.ebuild | 39 +++++++++++--------------
15 2 files changed, 26 insertions(+), 40 deletions(-)
16
17 diff --git a/sci-chemistry/gromacs/gromacs-4.5.9999.ebuild b/sci-chemistry/gromacs/gromacs-4.5.9999.ebuild
18 index 8d3c8f8..469f604 100644
19 --- a/sci-chemistry/gromacs/gromacs-4.5.9999.ebuild
20 +++ b/sci-chemistry/gromacs/gromacs-4.5.9999.ebuild
21 @@ -2,17 +2,16 @@
22 # Distributed under the terms of the GNU General Public License v2
23 # $Header: $
24
25 -EAPI="3"
26 +EAPI="4"
27
28 LIBTOOLIZE="true"
29 TEST_PV="4.0.4"
30 -MANUAL_PV="4.5.3"
31 +MANUAL_PV="4.5.4"
32
33 inherit autotools-utils bash-completion flag-o-matic multilib toolchain-funcs
34
35 SRC_URI="test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz )
36 - doc? (
37 - http://www.gromacs.org/@api/deki/files/133/=manual-${MANUAL_PV}.pdf -> gromacs-manual-${MANUAL_PV}.pdf )"
38 + doc? ( ftp://ftp.gromacs.org/pub/manual/manual-${MANUAL_PV}.pdf -> gromacs-manual-${MANUAL_PV}.pdf )"
39
40 if [ "${PV%9999}" != "${PV}" ]; then
41 EGIT_REPO_URI="git://git.gromacs.org/gromacs"
42 @@ -29,7 +28,8 @@ LICENSE="GPL-2"
43 SLOT="0"
44 KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
45 IUSE="X altivec blas dmalloc doc -double-precision +fftw fkernels +gsl lapack
46 -mpi +single-precision sse sse2 static-libs test +threads +xml zsh-completion"
47 +mpi +single-precision sse2 static-libs test +threads +xml zsh-completion"
48 +REQUIRED_USE="fkernels? ( !threads )"
49
50 CDEPEND="
51 X? (
52 @@ -51,10 +51,6 @@ RDEPEND="${CDEPEND}
53
54 RESTRICT="test"
55
56 -#gromacs has gnu exec stacks for speedup
57 -QA_EXECSTACK="usr/lib/libgmx.so.*
58 - usr/lib/libgmx_d.so.*"
59 -
60 src_prepare() {
61 if use mpi && use threads; then
62 elog "mdrun uses only threads OR mpi, and gromacs favours the"
63 @@ -96,10 +92,8 @@ src_configure() {
64
65 #note for gentoo-PREFIX on apple: use --enable-apple-64bit
66
67 - #fortran will gone in gromacs 5.0 anyway
68 #note for gentoo-PREFIX on aix, fortran (xlf) is still much faster
69 if use fkernels; then
70 - use threads && eerror "You cannot compile fortran kernel with threads"
71 ewarn "Fortran kernels are usually not faster than C kernels and assembly"
72 ewarn "I hope, you know what are you doing..."
73 fi
74 @@ -126,22 +120,19 @@ src_configure() {
75 fi
76
77 # if we need external blas or lapack
78 - use blas && export LIBS+=" $(pkg-config blas cblas --libs)"
79 + use blas && export LIBS+=" $(pkg-config blas --libs)"
80 use lapack && export LIBS+=" $(pkg-config lapack --libs)"
81 local sseflag="x86-64-sse"
82 use x86 && sseflag="ia32-sse"
83
84 - #a bug in gromacs autotools
85 - use sse && append-flags -msse
86 + #missing flag in autotools (bug #339837)
87 use sse2 && append-flags -msse2
88
89 for x in ${GMX_DIRS}; do
90 - local suffix="" sse="sse"
91 + local suffix=""
92 #if we build single and double - double is suffixed
93 use double-precision && use single-precision && \
94 [ "${x}" = "double" ] && suffix="_d"
95 - #double uses sse2, single sse
96 - [ "${x}" = "double" ] && sse="sse2"
97 myeconfargs=(
98 --bindir="${EPREFIX}"/usr/bin
99 --docdir="${EPREFIX}"/usr/share/doc/"${PF}"
100 @@ -162,7 +153,7 @@ src_configure() {
101 --disable-power6
102 --disable-ia32-sse
103 --disable-x86-64-sse
104 - $(use_enable $sse $sseflag)
105 + $(use_enable sse2 $sseflag)
106 )
107 #disable ia32-sse and x86-64-sse and enable what we really need in last line
108
109
110 diff --git a/sci-chemistry/gromacs/gromacs-9999.ebuild b/sci-chemistry/gromacs/gromacs-9999.ebuild
111 index a2718f0..817444e 100644
112 --- a/sci-chemistry/gromacs/gromacs-9999.ebuild
113 +++ b/sci-chemistry/gromacs/gromacs-9999.ebuild
114 @@ -2,9 +2,8 @@
115 # Distributed under the terms of the GNU General Public License v2
116 # $Header: $
117
118 -EAPI="3"
119 +EAPI="4"
120
121 -LIBTOOLIZE="true"
122 TEST_PV="4.0.4"
123
124 EGIT_REPO_URI="git://git.gromacs.org/gromacs"
125 @@ -20,9 +19,10 @@ LICENSE="GPL-2"
126 SLOT="0"
127 KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
128 IUSE="X altivec blas doc -double-precision +fftw fkernels gsl lapack
129 -mpi +single-precision sse sse2 test +threads xml zsh-completion"
130 +mpi +single-precision sse2 test +threads xml zsh-completion"
131 +REQUIRED_USE="fkernels? ( !threads )"
132
133 -DEPEND="
134 +CDEPEND="
135 X? (
136 x11-libs/libX11
137 x11-libs/libSM
138 @@ -34,16 +34,14 @@ DEPEND="
139 lapack? ( virtual/lapack )
140 mpi? ( virtual/mpi )
141 xml? ( dev-libs/libxml2:2 )"
142 -RDEPEND="${DEPEND}
143 +DEPEND="${CDEPEND}
144 + dev-util/pkgconfig"
145 +RDEPEND="${CDEPEND}
146 app-shells/tcsh"
147 PDEPEND="doc? ( app-doc/gromacs-manual )"
148
149 RESTRICT="test"
150
151 -#gromacs has gnu exec stacks for speedup
152 -QA_EXECSTACK="usr/lib/libgmx.so.*
153 - usr/lib/libgmx_d.so.*"
154 -
155 src_prepare() {
156 #add user patches from /etc/portage/patches/sci-chemistry/gromacs
157 epatch_user
158 @@ -88,10 +86,8 @@ src_configure() {
159
160 #note for gentoo-PREFIX on apple: use --enable-apple-64bit
161
162 - #fortran will gone in gromacs 5.0 anyway
163 #note for gentoo-PREFIX on aix, fortran (xlf) is still much faster
164 if use fkernels; then
165 - use threads && eerror "You cannot compile fortran kernel with threads"
166 ewarn "Fortran kernels are usually not faster than C kernels and assembly"
167 ewarn "I hope, you know what are you doing..."
168 fi
169 @@ -117,11 +113,12 @@ src_configure() {
170 elog "libmd with and without mpi support."
171 fi
172
173 - #go from slowest to faster acceleration
174 - local acce_pre="none"
175 - use fkernels && acce_pre="fortran"
176 - use altivec && acce_pre="altivec"
177 - use ia64 && acce_pre="ia64"
178 + #go from slowest to fasterest acceleration
179 + local acce="none"
180 + use fkernels && acce="fortran"
181 + use altivec && acce="altivec"
182 + use ia64 && acce="ia64"
183 + use sse2 && acce="sse"
184
185 mycmakeargs_pre+=(
186 $(cmake-utils_use X GMX_X11)
187 @@ -131,25 +128,23 @@ src_configure() {
188 $(cmake-utils_use threads GMX_THREADS)
189 $(cmake-utils_use xml GMX_XML)
190 -DGMX_DEFAULT_SUFFIX=off
191 + -DGMX_ACCELERATION="$acce"
192 )
193
194 for x in ${GMX_DIRS}; do
195 einfo "Configuring for ${x} precision"
196 - local suffix="" acce="$acce_pre"
197 + local suffix=""
198 #if we build single and double - double is suffixed
199 use double-precision && use single-precision && \
200 [ "${x}" = "double" ] && suffix="_d"
201 - #double uses sse2, single sse
202 - [ "${x}" = "float" ] && use sse && acce="sse"
203 - [ "${x}" = "double" ] && use sse2 && acce="sse"
204 local p
205 [ "${x}" = "double" ] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF"
206 - mycmakeargs=( ${mycmakeargs_pre[@]} ${p} -DGMX_MPI=OFF -DGMX_ACCELERATION="$acce"
207 + mycmakeargs=( ${mycmakeargs_pre[@]} ${p} -DGMX_MPI=OFF
208 -DGMX_BINARY_SUFFIX="${suffix}" -DGMX_LIBS_SUFFIX="${suffix}" )
209 CMAKE_BUILD_DIR="${WORKDIR}/${P}_${x}" cmake-utils_src_configure
210 use mpi || continue
211 einfo "Configuring for ${x} precision with mpi"
212 - mycmakeargs=( ${mycmakeargs_pre[@]} ${p} -DGMX_MPI=ON -DGMX_ACCELERATION="$acce"
213 + mycmakeargs=( ${mycmakeargs_pre[@]} ${p} -DGMX_MPI=ON
214 -DGMX_BINARY_SUFFIX="_mpi${suffix}" -DGMX_LIBS_SUFFIX="_mpi${suffix}" )
215 CMAKE_BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" cmake-utils_src_configure
216 done