Gentoo Archives: gentoo-commits

From: "Christoph Junghans (ottxor)" <ottxor@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sci-libs/fftw: metadata.xml ChangeLog fftw-3.3-r2.ebuild
Date: Sat, 04 Feb 2012 21:45:19
Message-Id: 20120204214507.624332004B@flycatcher.gentoo.org
1 ottxor 12/02/04 21:45:07
2
3 Modified: metadata.xml ChangeLog
4 Added: fftw-3.3-r2.ebuild
5 Log:
6 Version bump (missing features)
7
8 (Portage version: 2.2.0_alpha84/cvs/Linux i686)
9
10 Revision Changes Path
11 1.7 sci-libs/fftw/metadata.xml
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/fftw/metadata.xml?rev=1.7&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/fftw/metadata.xml?rev=1.7&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/fftw/metadata.xml?r1=1.6&r2=1.7
16
17 Index: metadata.xml
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sci-libs/fftw/metadata.xml,v
20 retrieving revision 1.6
21 retrieving revision 1.7
22 diff -u -r1.6 -r1.7
23 --- metadata.xml 17 Oct 2008 18:44:03 -0000 1.6
24 +++ metadata.xml 4 Feb 2012 21:45:07 -0000 1.7
25 @@ -12,7 +12,11 @@
26 publicly available FFT software.
27 </longdescription>
28 <use>
29 + <flag name='avx'>Adds support for Advanced Vector Extensions</flag>
30 <flag name='float'>Link default library to single precision instead of
31 double (symlinks only and fftw-2.1)</flag>
32 + <flag name='paired-single'>Adds support for pair-single optimizations of mips</flag>
33 + <flag name='quad'>Build quadruple precision lib</flag>
34 + <flag name='zbus'>Adds support for ZBus cycle-counter of mips</flag>
35 </use>
36 </pkgmetadata>
37
38
39
40 1.121 sci-libs/fftw/ChangeLog
41
42 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/fftw/ChangeLog?rev=1.121&view=markup
43 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/fftw/ChangeLog?rev=1.121&content-type=text/plain
44 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/fftw/ChangeLog?r1=1.120&r2=1.121
45
46 Index: ChangeLog
47 ===================================================================
48 RCS file: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v
49 retrieving revision 1.120
50 retrieving revision 1.121
51 diff -u -r1.120 -r1.121
52 --- ChangeLog 9 Oct 2011 11:56:41 -0000 1.120
53 +++ ChangeLog 4 Feb 2012 21:45:07 -0000 1.121
54 @@ -1,6 +1,12 @@
55 # ChangeLog for sci-libs/fftw
56 -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
57 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.120 2011/10/09 11:56:41 xarthisius Exp $
58 +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
59 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.121 2012/02/04 21:45:07 ottxor Exp $
60 +
61 +*fftw-3.3-r2 (04 Feb 2012)
62 +
63 + 04 Feb 2012; Christoph Junghans <ottxor@g.o> +fftw-3.3-r2.ebuild,
64 + metadata.xml:
65 + Version bump (missing features)
66
67 *fftw-3.3-r1 (09 Oct 2011)
68
69
70
71
72 1.1 sci-libs/fftw/fftw-3.3-r2.ebuild
73
74 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/fftw/fftw-3.3-r2.ebuild?rev=1.1&view=markup
75 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/fftw/fftw-3.3-r2.ebuild?rev=1.1&content-type=text/plain
76
77 Index: fftw-3.3-r2.ebuild
78 ===================================================================
79 # Copyright 1999-2012 Gentoo Foundation
80 # Distributed under the terms of the GNU General Public License v2
81 # $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.3-r2.ebuild,v 1.1 2012/02/04 21:45:07 ottxor Exp $
82
83 EAPI=4
84
85 inherit autotools-utils eutils flag-o-matic fortran-2 toolchain-funcs
86
87 DESCRIPTION="Fast C library for the Discrete Fourier Transform"
88 HOMEPAGE="http://www.fftw.org/"
89 SRC_URI="http://www.fftw.org/${P/_/-}.tar.gz"
90
91 LICENSE="GPL-2"
92 SLOT="3.0"
93 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
94 IUSE="altivec avx doc fortran mpi openmp paired-single quad sse sse2 static-libs threads zbus"
95
96 DEPEND="
97 fortran? ( virtual/fortran[openmp?] )
98 mpi? ( virtual/mpi )"
99 RDEPEND="${DEPEND}"
100
101 S=${WORKDIR}/${P/_/-}
102
103 AUTOTOOLS_AUTORECONF=1
104
105 DOCS=( AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS doc/fftw3.pdf )
106
107 HTML_DOCS=( doc/html/ )
108
109 pkg_setup() {
110 if use openmp; then
111 tc-has-openmp || die "Please ensure your compiler has openmp support"
112 FORTRAN_NEED_OPENMP="1"
113 [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
114 fi
115 use fortran && fortran-2_pkg_setup
116 FFTW_DIRS="single double longdouble"
117 use quad && FFTW_DIRS+= "quad"
118 }
119
120 src_prepare() {
121 # fix info file for category directory
122 sed -i \
123 -e 's/Texinfo documentation system/Libraries/' \
124 doc/fftw3.info || die "failed to fix info file"
125
126 rm -f m4/lt* m4/libtool.m4
127 }
128
129 src_configure() {
130 local x
131
132 # filter -Os according to docs
133 replace-flags -Os -O2
134
135 for x in ${FFTW_DIRS}; do
136 myeconfargs=(
137 $(use_enable fortran)
138 $(use_enable zbus mips-zbus-timer)
139 $(use_enable threads)
140 $(use_enable openmp)
141 )
142 if [[ $x == single ]]; then
143 #altivec, sse, single-paired only work for single
144 myeconfargs+=(
145 --enable-single
146 $(use_enable altivec)
147 $(use_enable avx)
148 $(use_enable sse)
149 $(use_enable paired-single mips-ps)
150 $(use_enable mpi)
151 )
152 elif [[ $x == double ]]; then
153 myeconfargs+=(
154 $(use_enable avx)
155 $(use_enable sse2)
156 $(use_enable mpi)
157 )
158 elif [[ $x == longdouble ]]; then
159 myeconfargs+=(
160 --enable-long-double
161 $(use_enable mpi)
162 )
163 elif [[ $x == quad ]]; then
164 #quad does not support mpi
165 myeconfargs+=( --enable-quad-precision )
166 else
167 die "${x} precision not implemented in this ebuild"
168 fi
169
170 einfo "Configuring for ${x} precision"
171 AUTOTOOLS_BUILD_DIR="${S}-${x}" \
172 autotools-utils_src_configure
173 done
174 }
175
176 src_compile() {
177 for x in ${FFTW_DIRS}; do
178 einfo "Compiling for ${x} precision"
179 AUTOTOOLS_BUILD_DIR="${S}-${x}" \
180 autotools-utils_src_compile
181 done
182 }
183
184 src_test () {
185 # We want this to be a reasonably quick test, but that is still hard...
186 ewarn "This test series will take 30 minutes on a modern 2.5Ghz machine"
187 # Do not increase the number of threads, it will not help your performance
188 #local testbase="perl check.pl --nthreads=1 --estimate"
189 # ${testbase} -${p}d || die "Failure: $n"
190 for x in ${FFTW_DIRS}; do
191 cd "${S}-${x}/tests"
192 einfo "Testing ${x} precision"
193 emake -j1 check
194 done
195 }
196
197 src_install () {
198 local u x
199
200 for x in ${FFTW_DIRS}; do
201 AUTOTOOLS_BUILD_DIR="${S}-${x}" \
202 autotools-utils_src_install
203 done
204
205 if use doc; then
206 insinto /usr/share/doc/"${PF}"/faq
207 doins -r "${S}"/doc/FAQ/fftw-faq.html/*
208 fi
209
210 for x in "${ED}"/usr/lib*/pkgconfig/*.pc; do
211 for u in $(usev mpi) $(usev threads) $(usex openmp omp ""); do
212 sed "s|-lfftw3[flq]\?|&_$u &|" "$x" > "${x%.pc}_$u.pc" || die
213 done
214 done
215 }