Gentoo Archives: gentoo-commits

From: "Markus Dittrich (markusle)" <markusle@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sci-libs/blas-atlas: blas-atlas-3.8.0.ebuild ChangeLog blas-atlas-3.8.1.ebuild
Date: Sat, 23 Feb 2008 11:11:01
Message-Id: E1JSsHR-0005Dc-Rk@stork.gentoo.org
1 markusle 08/02/23 11:10:57
2
3 Modified: blas-atlas-3.8.0.ebuild ChangeLog
4 Added: blas-atlas-3.8.1.ebuild
5 Log:
6 Version bump.
7 (Portage version: 2.1.4.4)
8
9 Revision Changes Path
10 1.8 sci-libs/blas-atlas/blas-atlas-3.8.0.ebuild
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-libs/blas-atlas/blas-atlas-3.8.0.ebuild?rev=1.8&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-libs/blas-atlas/blas-atlas-3.8.0.ebuild?rev=1.8&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-libs/blas-atlas/blas-atlas-3.8.0.ebuild?r1=1.7&r2=1.8
15
16 Index: blas-atlas-3.8.0.ebuild
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/blas-atlas-3.8.0.ebuild,v
19 retrieving revision 1.7
20 retrieving revision 1.8
21 diff -u -r1.7 -r1.8
22 --- blas-atlas-3.8.0.ebuild 20 Dec 2007 11:13:12 -0000 1.7
23 +++ blas-atlas-3.8.0.ebuild 23 Feb 2008 11:10:57 -0000 1.8
24 @@ -1,6 +1,6 @@
25 -# Copyright 1999-2007 Gentoo Foundation
26 +# Copyright 1999-2008 Gentoo Foundation
27 # Distributed under the terms of the GNU General Public License v2
28 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/blas-atlas-3.8.0.ebuild,v 1.7 2007/12/20 11:13:12 markusle Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/blas-atlas-3.8.0.ebuild,v 1.8 2008/02/23 11:10:57 markusle Exp $
30
31 inherit eutils toolchain-funcs fortran multilib
32
33
34
35
36 1.76 sci-libs/blas-atlas/ChangeLog
37
38 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-libs/blas-atlas/ChangeLog?rev=1.76&view=markup
39 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-libs/blas-atlas/ChangeLog?rev=1.76&content-type=text/plain
40 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-libs/blas-atlas/ChangeLog?r1=1.75&r2=1.76
41
42 Index: ChangeLog
43 ===================================================================
44 RCS file: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/ChangeLog,v
45 retrieving revision 1.75
46 retrieving revision 1.76
47 diff -u -r1.75 -r1.76
48 --- ChangeLog 20 Dec 2007 11:13:12 -0000 1.75
49 +++ ChangeLog 23 Feb 2008 11:10:57 -0000 1.76
50 @@ -1,6 +1,12 @@
51 # ChangeLog for sci-libs/blas-atlas
52 -# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
53 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/ChangeLog,v 1.75 2007/12/20 11:13:12 markusle Exp $
54 +# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
55 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/ChangeLog,v 1.76 2008/02/23 11:10:57 markusle Exp $
56 +
57 +*blas-atlas-3.8.1 (22 Feb 2008)
58 +
59 + 22 Feb 2008; Markus Dittrich <markusle@g.o>
60 + +blas-atlas-3.8.1.ebuild:
61 + Version bump.
62
63 20 Dec 2007; Markus Dittrich <markusle@g.o>
64 blas-atlas-3.8.0.ebuild:
65
66
67
68 1.1 sci-libs/blas-atlas/blas-atlas-3.8.1.ebuild
69
70 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-libs/blas-atlas/blas-atlas-3.8.1.ebuild?rev=1.1&view=markup
71 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-libs/blas-atlas/blas-atlas-3.8.1.ebuild?rev=1.1&content-type=text/plain
72
73 Index: blas-atlas-3.8.1.ebuild
74 ===================================================================
75 # Copyright 1999-2008 Gentoo Foundation
76 # Distributed under the terms of the GNU General Public License v2
77 # $Header: /var/cvsroot/gentoo-x86/sci-libs/blas-atlas/blas-atlas-3.8.1.ebuild,v 1.1 2008/02/23 11:10:57 markusle Exp $
78
79 inherit eutils toolchain-funcs fortran multilib
80
81 PATCH_V="3.7.39"
82
83 DESCRIPTION="Automatically Tuned Linear Algebra Software BLAS implementation"
84 HOMEPAGE="http://math-atlas.sourceforge.net/"
85 MY_PN=${PN/blas-/}
86 SRC_URI="mirror://sourceforge/math-atlas/${MY_PN}${PV}.tar.bz2
87 mirror://gentoo/${MY_PN}-${PATCH_V}-shared-libs.patch.bz2"
88
89 LICENSE="BSD"
90 SLOT="0"
91 KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
92 IUSE="doc"
93
94 RDEPEND="app-admin/eselect-blas
95 app-admin/eselect-cblas
96 dev-util/pkgconfig
97 doc? ( app-doc/blas-docs )"
98
99 DEPEND="app-admin/eselect-blas
100 app-admin/eselect-cblas
101 >=sys-devel/libtool-1.5"
102
103 S="${WORKDIR}/ATLAS"
104
105 pkg_setup() {
106 # icc won't compile (as of icc-10.0.026)
107 # and will blow out $PORTAGE_TMPDIR
108 if [[ $(tc-getCC) = icc* ]]; then
109 eerror "icc compiler is not supported with sci-libs/blas-atlas"
110 die "blas-atlas won't compile with icc"
111 fi
112
113 FORTRAN="g77 gfortran ifc"
114 fortran_pkg_setup
115 echo
116 ewarn "Please make sure to disable CPU throttling completely"
117 ewarn "during the compile of blas-atlas. Otherwise, all atlas"
118 ewarn "generated timings will be completely random and the"
119 ewarn "performance of the resulting libraries will be degraded"
120 ewarn "considerably."
121 echo
122 ewarn "For users of <=gcc-4.1.1 only:"
123 ewarn "If you experience failing SANITY tests during"
124 ewarn "atlas' compile please try passing -mfpmath=387; this"
125 ewarn "option might also result in much better performance"
126 ewarn "than using then sse instruction set depending on your"
127 ewarn "CPU."
128 echo
129 epause 10
130 }
131
132 src_unpack() {
133 unpack ${A}
134
135 cd "${S}"
136 epatch "${DISTDIR}"/${MY_PN}-${PATCH_V}-shared-libs.patch.bz2
137 epatch "${FILESDIR}"/${MY_PN}-asm-gentoo.patch
138 epatch "${FILESDIR}"/${MY_PN}-${PATCH_V}-decl-fix.patch
139
140 # fix for pentium M
141 sed -e "s|iret = IntPM;|iret = IntPM; break;|g" \
142 -i CONFIG/src/backend/archinfo_x86.c \
143 || die "failed to fix pentium M arch detection"
144
145 BLD_DIR="${S}"/gentoo-build
146 mkdir "${BLD_DIR}" || die "failed to generate build directory"
147 cd "${BLD_DIR}"
148 cp "${FILESDIR}"/war . && chmod a+x war || die "failed to install war"
149
150 local archselect=
151 if use amd64 || use ppc64; then
152 archselect="-b 64"
153 elif use alpha; then
154 archselect=""
155 else
156 archselect="-b 32"
157 fi
158
159 ../configure \
160 --cc="$(tc-getCC)" \
161 --cflags="${CFLAGS}" \
162 --prefix="${D}/${DESTTREE}" \
163 --libdir="${D}/${DESTTREE}"/$(get_libdir)/atlas \
164 --incdir="${D}/${DESTTREE}"/include \
165 -C ac "$(tc-getCC)" -F ac "${CFLAGS}" \
166 -C if ${FORTRANC} -F if "${FFLAGS:--O2}" \
167 -Ss pmake "\$(MAKE) ${MAKEOPTS}" \
168 -Si cputhrchk 0 ${archselect} \
169 || die "configure failed"
170 }
171
172 src_compile() {
173 cd "${BLD_DIR}"
174
175 # atlas does its own parallel builds
176 emake -j1 || die "emake failed"
177
178 RPATH="${DESTTREE}"/$(get_libdir)/blas
179 make \
180 LIBDIR=$(get_libdir) \
181 RPATH="${RPATH}"/atlas \
182 shared || die "failed to build shared libraries"
183
184 # build shared libraries of threaded libraries if applicable
185 if [[ -d gentoo/libptcblas.a ]]; then
186 make \
187 LIBDIR=$(get_libdir) \
188 RPATH="${RPATH}"/threaded-atlas \
189 ptshared || die "failed to build threaded shared libraries"
190 fi
191 }
192
193 src_test() {
194 # make check does not work because
195 # we don't build lapack libs
196 for i in F77 C; do
197 einfo "Testing ${i} interface"
198 cd "${BLD_DIR}"/interfaces/blas/${i}/testing
199 make sanity_test || die "emake tests for ${i} failed"
200 if [[ -d "${BLD_DIR}"/gentoo/libptf77blas.a ]]; then
201 make ptsanity_test || die "emake tests threaded for ${i}failed"
202 fi
203 done
204 echo "Timing ATLAS"
205 cd "${BLD_DIR}"
206 emake time || die "emake time failed"
207 }
208
209 src_install () {
210 dodir "${RPATH}"/atlas
211 cd "${BLD_DIR}"/gentoo/libs
212 cp -P libatlas* "${D}/${DESTTREE}"/$(get_libdir) \
213 || die "Failed to install libatlas"
214
215 # pkgconfig files
216 local extlibs="-lm"
217 local threadlibs
218 [[ ${FORTRANC} == gfortran ]] && extlibs="${extlibs} -lgfortran"
219 [[ ${FORTRANC} == g77 ]] && extlibs="${extlibs} -lg2c"
220 cp "${FILESDIR}"/blas.pc.in blas.pc
221 cp "${FILESDIR}"/cblas.pc.in cblas.pc
222 sed -i \
223 -e "s:@LIBDIR@:$(get_libdir):" \
224 -e "s:@PV@:${PV}:" \
225 -e "s:@EXTLIBS@:${extlibs}:g" \
226 -e "s:@THREADLIBS@:${threadlibs}:g" \
227 *blas.pc || die "sed *blas.pc failed"
228
229 cp -P *blas* "${D}/${RPATH}"/atlas \
230 || die "Failed to install blas/cblas"
231
232 ESELECT_PROF=atlas
233 eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.atlas ${ESELECT_PROF}
234 eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.atlas ${ESELECT_PROF}
235
236 if [[ -d "${BLD_DIR}"/gentoo/threaded-libs ]]; then
237 dodir "${RPATH}"/threaded-atlas
238 cd "${BLD_DIR}"/gentoo/threaded-libs
239
240 # pkgconfig files
241 cp "${FILESDIR}"/blas.pc.in blas.pc
242 cp "${FILESDIR}"/cblas.pc.in cblas.pc
243 threadlibs="-lpthread"
244 sed -i \
245 -e "s:@LIBDIR@:$(get_libdir):" \
246 -e "s:@PV@:${PV}:" \
247 -e "s:@EXTLIBS@:${extlibs}:g" \
248 -e "s:@THREADLIBS@:${threadlibs}:g" \
249 *blas.pc || die "sed *blas.pc failed"
250
251 cp -P * "${D}/${RPATH}"/threaded-atlas \
252 || die "Failed to install threaded atlas"
253 ESELECT_PROF=atlas-threads
254
255 eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.threaded-atlas ${ESELECT_PROF}
256 eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.threaded-atlas ${ESELECT_PROF}
257 fi
258
259 insinto "${DESTTREE}"/include/atlas
260 doins \
261 "${S}"/include/cblas.h \
262 "${S}"/include/atlas_misc.h \
263 "${S}"/include/atlas_enum.h \
264 || die "failed to install headers"
265
266 # These headers contain the architecture-specific
267 # optimizations determined by ATLAS. The atlas-lapack build
268 # is much shorter if they are available, so save them:
269 doins "${BLD_DIR}"/include/*.h \
270 || die "failed to install timing headers"
271
272 # some docs
273 cd "${S}"/doc
274 dodoc INDEX.txt AtlasCredits.txt ChangeLog || die "dodoc failed"
275 # atlas specific doc (blas generic docs installed by blas-docs)
276 if use doc; then
277 insinto /usr/share/doc/${PF}
278 doins atlas*pdf cblasqref.pdf || die "doins docs failed"
279 fi
280 }
281
282 pkg_postinst() {
283 for p in blas cblas; do
284 local current_p=$(eselect ${p} show | cut -d' ' -f2)
285 # this snippet works around the eselect bug #189942 and makes
286 # sure that users upgrading from a previous blas-atlas
287 # version pick up the new pkg-config files
288 if [[ ${current_p} == ${ESELECT_PROF} \
289 || ${current_p} == "threaded-atlas" \
290 || -z ${current_p} ]]; then
291 local configfile="${ROOT}"/etc/env.d/${p}/$(get_libdir)/config
292 [[ -e ${configfile} ]] && rm -f ${configfile}
293 eselect ${p} set ${ESELECT_PROF}
294 elog "${p} has been eselected to ${ESELECT_PROF}"
295 else
296 elog "Current eselected ${p} is ${current_p}"
297 elog "To use the ${p} ${ESELECT_PROF} implementation, you have to issue (as root):"
298 elog "\t eselect ${p} set ${ESELECT_PROF}"
299 fi
300 done
301 }
302
303
304
305 --
306 gentoo-commits@l.g.o mailing list