1 |
commit: 4d8b1e647052cc50f0dfc4c65a3ca55c96f5bdc7 |
2 |
Author: Sébastien Fabbro <bicatali <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed May 22 19:20:31 2013 +0000 |
4 |
Commit: Sebastien Fabbro <bicatali <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed May 22 19:20:31 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=4d8b1e64 |
7 |
|
8 |
Cleanup |
9 |
|
10 |
Package-Manager: portage-2.2.01.21938-prefix |
11 |
|
12 |
--- |
13 |
sci-libs/atlas/ChangeLog | 4 + |
14 |
sci-libs/atlas/atlas-3.10.1.ebuild | 281 ------------------------------------ |
15 |
sci-libs/atlas/metadata.xml | 12 +- |
16 |
3 files changed, 10 insertions(+), 287 deletions(-) |
17 |
|
18 |
diff --git a/sci-libs/atlas/ChangeLog b/sci-libs/atlas/ChangeLog |
19 |
index c010571..0ac8999 100644 |
20 |
--- a/sci-libs/atlas/ChangeLog |
21 |
+++ b/sci-libs/atlas/ChangeLog |
22 |
@@ -2,6 +2,10 @@ |
23 |
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 |
24 |
# $Header: $ |
25 |
|
26 |
+ 22 May 2013; Sébastien Fabbro <bicatali@g.o> -atlas-3.10.1.ebuild, |
27 |
+ metadata.xml: |
28 |
+ Cleanup |
29 |
+ |
30 |
25 Feb 2013; Sébastien Fabbro <bicatali@g.o> atlas-3.10.1-r1.ebuild: |
31 |
sci-libs/atlas: Switched threads libraries to Libs.private in pkg-config files |
32 |
|
33 |
|
34 |
diff --git a/sci-libs/atlas/atlas-3.10.1.ebuild b/sci-libs/atlas/atlas-3.10.1.ebuild |
35 |
deleted file mode 100644 |
36 |
index d9da19e..0000000 |
37 |
--- a/sci-libs/atlas/atlas-3.10.1.ebuild |
38 |
+++ /dev/null |
39 |
@@ -1,281 +0,0 @@ |
40 |
-# Copyright 1999-2013 Gentoo Foundation |
41 |
-# Distributed under the terms of the GNU General Public License v2 |
42 |
-# $Header: $ |
43 |
- |
44 |
-EAPI=5 |
45 |
- |
46 |
-FORTRAN_NEEDED=fortran |
47 |
-inherit eutils toolchain-funcs fortran-2 versionator alternatives-2 multilib |
48 |
- |
49 |
-LAPACKP=lapack-3.4.2.tgz |
50 |
- |
51 |
-DESCRIPTION="Automatically Tuned Linear Algebra Software" |
52 |
-HOMEPAGE="http://math-atlas.sourceforge.net/" |
53 |
-SRC_URI="mirror://sourceforge/math-atlas/${PN}${PV}.tar.bz2 |
54 |
- fortran? ( lapack? ( http://www.netlib.org/lapack/${LAPACKP} ) )" |
55 |
- |
56 |
-LICENSE="BSD" |
57 |
-SLOT="0" |
58 |
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" |
59 |
-IUSE="fortran doc generic lapack static-libs threads" |
60 |
- |
61 |
-RDEPEND="" |
62 |
-DEPEND="${RDEPEND} |
63 |
- !prefix? ( sys-power/cpufrequtils )" |
64 |
- |
65 |
-S="${WORKDIR}/ATLAS" |
66 |
- |
67 |
-pkg_setup() { |
68 |
- if [[ -n $(type -P cpufreq-info) ]]; then |
69 |
- [[ -z $(cpufreq-info -d) ]] && return |
70 |
- local ncpu=$(LANG=C cpufreq-info | grep -c "analyzing CPU") |
71 |
- local cpu=0 |
72 |
- while [[ ${cpu} -lt ${ncpu} ]]; do |
73 |
- if ! $(LANG=C cpufreq-info -p -c ${cpu} | grep -q performance); then |
74 |
- ewarn "CPU $cpu is not set to performance" |
75 |
- ewarn "Run cpufreq-set -r -g performance as root" |
76 |
- die "${PN} needs all cpu set to performance" |
77 |
- fi |
78 |
- cpu=$((cpu + 1)) |
79 |
- done |
80 |
- else |
81 |
- ewarn "Please make sure to disable CPU throttling completely" |
82 |
- ewarn "during the compile of ${PN}. Otherwise, all ${PN}" |
83 |
- ewarn "generated timings will be completely random and the" |
84 |
- ewarn "performance of the resulting libraries will be degraded" |
85 |
- ewarn "considerably." |
86 |
- fi |
87 |
- use fortran && fortran-2_pkg_setup |
88 |
-} |
89 |
- |
90 |
-src_prepare() { |
91 |
- epatch "${FILESDIR}"/${PN}-3.10.0-x32-support.patch |
92 |
-} |
93 |
- |
94 |
-src_configure() { |
95 |
- # hack needed to trick the flaky gcc detection |
96 |
- local mycc="$(type -P $(tc-getCC))" |
97 |
- [[ ${mycc} == *gcc* ]] && mycc=gcc |
98 |
- atlas_configure() { |
99 |
- local myconf=( |
100 |
- --prefix="${ED}/usr" |
101 |
- --libdir="${ED}/usr/$(get_libdir)" |
102 |
- --incdir="${ED}/usr/include" |
103 |
- --cc="$(tc-getCC)" |
104 |
- "-D c -DWALL" |
105 |
- "-C acg '${mycc}'" |
106 |
- "-F acg '${CFLAGS}'" |
107 |
- "-Ss pmake '\$(MAKE) ${MAKEOPTS}'" |
108 |
- ) |
109 |
- |
110 |
- # OpenMP shown to decreased performance over POSIX threads |
111 |
- # (at least in 3.9.x, see atlas-dev mailing list) |
112 |
- if use threads; then |
113 |
- if use generic; then # 2 threads is most generic |
114 |
- myconf+=( "-t 2" "-Si omp 0" ) |
115 |
- else |
116 |
- myconf+=( "-t -1" "-Si omp 0" ) |
117 |
- fi |
118 |
- else |
119 |
- myconf+=( "-t 0" "-Si omp 0" ) |
120 |
- fi |
121 |
- |
122 |
- if use amd64 || use ppc64 || use sparc; then |
123 |
- if [ ${ABI} = amd64 ] || [ ${ABI} = ppc64 ] || [ ${ABI} = sparc64 ] ; then |
124 |
- myconf+=( "-b 64" ) |
125 |
- elif [ ${ABI} = x86 ] || [ ${ABI} = ppc ] || [ ${ABI} = sparc32 ] ; then |
126 |
- myconf+=( "-b 32" ) |
127 |
- elif [ ${ABI} = x32 ] ; then |
128 |
- myconf+=( "-b 48" ) |
129 |
- else |
130 |
- myconf+=( "-b 64" ) |
131 |
- fi |
132 |
- elif use ppc || use x86; then |
133 |
- myconf+=( "-b 32" ) |
134 |
- elif use ia64; then |
135 |
- myconf+=( "-b 64" ) |
136 |
- fi |
137 |
- if use fortran; then |
138 |
- myconf+=( |
139 |
- "-C if '$(type -P $(tc-getFC))'" |
140 |
- "-F if '${FFLAGS}'" |
141 |
- ) |
142 |
- if use lapack; then |
143 |
- myconf+=( |
144 |
- "-Si latune 1" |
145 |
- "--with-netlib-lapack-tarfile=${DISTDIR}/${LAPACKP}" |
146 |
- ) |
147 |
- else |
148 |
- myconf+=( "-Si latune 0" ) |
149 |
- fi |
150 |
- else |
151 |
- myconf+=( "-Si latune 0" "--nof77" ) |
152 |
- fi |
153 |
- # generic stuff found by make make xprint_enums in atlas build dir |
154 |
- # basically assuming sse2+sse1 and 2 threads max |
155 |
- use generic && use x86 && myconf+=( "-V 384 -A 13") |
156 |
- use generic && use amd64 && myconf+=( "-V 384 -A 24") |
157 |
- |
158 |
- local confdir="${S}_${1}"; shift |
159 |
- myconf+=( $@ ) |
160 |
- mkdir "${confdir}" && cd "${confdir}" |
161 |
- # for debugging |
162 |
- echo ${myconf[@]} > myconf.out |
163 |
- "${S}"/configure ${myconf[@]} || die "configure in ${confdir} failed" |
164 |
- } |
165 |
- |
166 |
- atlas_configure shared "-Fa alg -fPIC" ${EXTRA_ECONF} |
167 |
- use static-libs && atlas_configure static ${EXTRA_ECONF} |
168 |
-} |
169 |
- |
170 |
-src_compile() { |
171 |
- atlas_compile() { |
172 |
- pushd "${S}_${1}" > /dev/null |
173 |
- # atlas does its own parallel builds |
174 |
- emake -j1 build |
175 |
- cd lib |
176 |
- emake libclapack.a |
177 |
- [[ -e libptcblas.a ]] && emake libptclapack.a |
178 |
- popd > /dev/null |
179 |
- } |
180 |
- |
181 |
- atlas_compile shared |
182 |
- use static-libs && atlas_compile static |
183 |
-} |
184 |
- |
185 |
-src_test() { |
186 |
- cd "${S}_shared" |
187 |
- emake -j1 check time |
188 |
-} |
189 |
- |
190 |
-# transform a static archive into a shared library and install them |
191 |
-# atlas_install_libs <mylib.a> [extra link flags] |
192 |
-atlas_install_libs() { |
193 |
- local libname=$(basename ${1%.*}) |
194 |
- einfo "Installing ${libname}" |
195 |
- local soname=${libname}.so.$(get_major_version) |
196 |
- shift |
197 |
- pushd "${S}_shared"/lib > /dev/null |
198 |
- ${LINK:-$(tc-getCC)} ${LDFLAGS} -shared -Wl,-soname=${soname} \ |
199 |
- -Wl,--whole-archive ${libname}.a -Wl,--no-whole-archive \ |
200 |
- "$@" -o ${soname} || die "Creating ${soname} failed" |
201 |
- dolib.so ${soname} |
202 |
- ln -s ${soname} ${soname%.*} |
203 |
- dosym ${soname} /usr/$(get_libdir)/${soname%.*} |
204 |
- popd > /dev/null |
205 |
- use static-libs && dolib.a "${S}_static"/lib/${libname}.a |
206 |
-} |
207 |
- |
208 |
-# create and install a pkgconfig file |
209 |
-# atlas_install_pc <libname> <pkg name> [extra link flags] |
210 |
-atlas_install_pc() { |
211 |
- local libname=${1} ; shift |
212 |
- local pcname=${1} ; shift |
213 |
- cat <<-EOF > ${pcname}.pc |
214 |
- prefix=${EPREFIX}/usr |
215 |
- libdir=\${prefix}/$(get_libdir) |
216 |
- includedir=\${prefix}/include |
217 |
- Name: ${pcname} |
218 |
- Description: ${PN} ${pcname} |
219 |
- Version: ${PV} |
220 |
- URL: ${HOMEPAGE} |
221 |
- Libs: -L\${libdir} -l${libname} $@ |
222 |
- Cflags: -I\${includedir}/${PN} |
223 |
- ${PCREQ} |
224 |
- EOF |
225 |
- insinto /usr/$(get_libdir)/pkgconfig |
226 |
- doins ${pcname}.pc |
227 |
-} |
228 |
- |
229 |
-src_install() { |
230 |
- cd "${S}_shared/lib" |
231 |
- # rename to avoid collision with other packages |
232 |
- local l |
233 |
- for l in {,c}{blas,lapack}; do |
234 |
- if [[ -e lib${l}.a ]]; then |
235 |
- mv lib{,atl}${l}.a |
236 |
- use static-libs && mv "${S}"_static/lib/lib{,atl}${l}.a |
237 |
- fi |
238 |
- done |
239 |
- |
240 |
- [[ -e libptcblas.a ]] && PTLIBS="-lpthread" |
241 |
- |
242 |
- # atlas |
243 |
- atlas_install_libs libatlas.a -lm ${PTLIBS} |
244 |
- |
245 |
- # cblas |
246 |
- atlas_install_libs libatlcblas.a -lm -L. -latlas |
247 |
- atlas_install_pc atlcblas atlas-cblas -lm -latlas |
248 |
- alternatives_for cblas atlas 0 \ |
249 |
- /usr/$(get_libdir)/pkgconfig/cblas.pc atlas-cblas.pc \ |
250 |
- /usr/include/cblas.h atlas/cblas.h |
251 |
- |
252 |
- # cblas threaded |
253 |
- if [[ -e libptcblas.a ]]; then |
254 |
- atlas_install_libs libptcblas.a -lm -L. -latlas ${PTLIBS} |
255 |
- atlas_install_pc ptcblas atlas-cblas-threads -lm -latlas ${PTLIBS} |
256 |
- alternatives_for cblas atlas-threads 0 \ |
257 |
- /usr/$(get_libdir)/pkgconfig/cblas.pc atlas-cblas-threads.pc \ |
258 |
- /usr/include/cblas.h atlas/cblas.h |
259 |
- fi |
260 |
- |
261 |
- if use lapack; then |
262 |
- PCREQ="Requires: cblas" |
263 |
- # clapack |
264 |
- atlas_install_libs libatlclapack.a -lm -L. -latlas -latlcblas |
265 |
- atlas_install_pc atlclapack atlas-clapack -lm -latlas |
266 |
- |
267 |
- # clapack threaded |
268 |
- if [[ -e libptclapack.a ]]; then |
269 |
- atlas_install_libs libptclapack.a -lm -L. -latlas -lptcblas ${PTLIBS} |
270 |
- atlas_install_pc ptclapack atlas-clapack-threads -lm -latlas ${PTLIBS} |
271 |
- fi |
272 |
- fi |
273 |
- |
274 |
- if use fortran; then |
275 |
- LINK=$(tc-getF77) PCREQ= |
276 |
- |
277 |
- # blas |
278 |
- atlas_install_libs libf77blas.a -lm -L. -latlas |
279 |
- atlas_install_pc f77blas atlas-blas -lm -latlas |
280 |
- alternatives_for blas atlas 0 \ |
281 |
- /usr/$(get_libdir)/pkgconfig/blas.pc atlas-blas.pc |
282 |
- |
283 |
- # blas threaded |
284 |
- if [[ -e libptf77blas.a ]]; then |
285 |
- atlas_install_libs libptf77blas.a -lm -L. -latlas ${PTLIBS} |
286 |
- atlas_install_pc ptf77blas atlas-blas-threads -lm -latlas ${PTLIBS} |
287 |
- alternatives_for blas atlas-threads 0 \ |
288 |
- /usr/$(get_libdir)/pkgconfig/blas.pc atlas-blas-threads.pc |
289 |
- fi |
290 |
- |
291 |
- if use lapack; then |
292 |
- PCREQ="Requires: blas cblas" |
293 |
- # lapack |
294 |
- atlas_install_libs libatllapack.a \ |
295 |
- -lm -L. -latlas -latlcblas -lf77blas |
296 |
- atlas_install_pc atllapack atlas-lapack -lm -latlas |
297 |
- alternatives_for lapack atlas 0 \ |
298 |
- /usr/$(get_libdir)/pkgconfig/lapack.pc atlas-lapack.pc |
299 |
- # lapack threaded |
300 |
- if [[ -e libptlapack.a ]]; then |
301 |
- atlas_install_libs libptlapack.a \ |
302 |
- -lm -L. -latlas -lptcblas -lptf77blas ${PTLIBS} |
303 |
- atlas_install_pc ptlapack atlas-lapack-threads \ |
304 |
- -lm -latlas ${PTLIBS} |
305 |
- alternatives_for lapack atlas-threads 0 \ |
306 |
- /usr/$(get_libdir)/pkgconfig/lapack.pc atlas-lapack-threads.pc |
307 |
- fi |
308 |
- fi |
309 |
- fi |
310 |
- |
311 |
- cd "${S}" |
312 |
- insinto /usr/include/${PN} |
313 |
- doins include/*.h |
314 |
- |
315 |
- cd "${S}/doc" |
316 |
- dodoc INDEX.txt AtlasCredits.txt ChangeLog |
317 |
- use doc && dodoc atlas*pdf cblas.pdf cblasqref.pdf |
318 |
- use doc && use fortran && dodoc f77blas*pdf |
319 |
- use doc && use fortran && use lapack && dodoc *lapack*pdf |
320 |
-} |
321 |
|
322 |
diff --git a/sci-libs/atlas/metadata.xml b/sci-libs/atlas/metadata.xml |
323 |
index b4b8088..2fddb01 100644 |
324 |
--- a/sci-libs/atlas/metadata.xml |
325 |
+++ b/sci-libs/atlas/metadata.xml |
326 |
@@ -3,12 +3,12 @@ |
327 |
<pkgmetadata> |
328 |
<herd>sci</herd> |
329 |
<longdescription lang='en'> |
330 |
- ATLAS is an approach for the automatic generation and optimization of |
331 |
- numerical software. Currently ATLAS supplies optimized versions for the |
332 |
- complete set of linear algebra kernels known as the Basic Linear Algebra |
333 |
- Subroutines (BLAS) for both c and F77 interfaces. It can also build |
334 |
- a subset of the linear algebra routine LAPACK library or the full |
335 |
- LAPACK using the reference LAPACK from Netlib. |
336 |
+ ATLAS is an approach for the automatic generation and optimization of |
337 |
+ numerical software. Currently ATLAS supplies optimized versions for the |
338 |
+ complete set of linear algebra kernels known as the Basic Linear Algebra |
339 |
+ Subroutines (BLAS) for both c and F77 interfaces. It can also build |
340 |
+ a subset of the linear algebra routine LAPACK library or the full |
341 |
+ LAPACK using the reference LAPACK from Netlib. |
342 |
</longdescription> |
343 |
<use> |
344 |
<flag name='generic'>Build atlas assuming a fairly generic architecture (sse2 for x86, core2 for amd64)</flag> |