Gentoo Archives: gentoo-commits

From: Sebastien Fabbro <bicatali@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/bicatali:master commit in: sci-libs/openblas/, sci-libs/openblas/files/
Date: Tue, 31 May 2011 20:13:01
Message-Id: 4381b1f0c38e253f3cc874755fb95a87db81c100.bicatali@gentoo
1 commit: 4381b1f0c38e253f3cc874755fb95a87db81c100
2 Author: Sébastien Fabbro <bicatali <AT> gentoo <DOT> org>
3 AuthorDate: Tue May 31 19:35:11 2011 +0000
4 Commit: Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
5 CommitDate: Tue May 31 19:35:11 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=dev/bicatali.git;a=commit;h=4381b1f0
7
8 fixed shared libs. added a aliasing patch. switched to eapi4.
9
10 ---
11 sci-libs/openblas/ChangeLog | 5 ++
12 sci-libs/openblas/Manifest | 5 +-
13 sci-libs/openblas/files/openblas-aliasing.patch | 11 ++++
14 sci-libs/openblas/openblas-9999.ebuild | 69 ++++++++++------------
15 4 files changed, 50 insertions(+), 40 deletions(-)
16
17 diff --git a/sci-libs/openblas/ChangeLog b/sci-libs/openblas/ChangeLog
18 index 8962ce2..cbc94ea 100644
19 --- a/sci-libs/openblas/ChangeLog
20 +++ b/sci-libs/openblas/ChangeLog
21 @@ -2,6 +2,11 @@
22 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
23 # $Header: $
24
25 + 31 May 2011; Sébastien Fabbro <bicatali@g.o> openblas-9999.ebuild,
26 + +files/openblas-aliasing.patch:
27 + Fixed shared libs. Make ebuild easier to debug with a generated rule Makefile
28 + instead of dynamic. Added a aliasing patch. Switched to EAPI4.
29 +
30 23 Feb 2011; Sébastien Fabbro <bicatali@g.o> openblas-9999.ebuild,
31 files/openblas-sharedlibs.patch:
32 fixed ldflags propagation
33
34 diff --git a/sci-libs/openblas/Manifest b/sci-libs/openblas/Manifest
35 index 2d847bd..4671481 100644
36 --- a/sci-libs/openblas/Manifest
37 +++ b/sci-libs/openblas/Manifest
38 @@ -1,4 +1,5 @@
39 +AUX openblas-aliasing.patch 421 RMD160 1c4b38a0145f937f4c35afa03ec54196646ff311 SHA1 08a33e39d9e0a753e82b9298da73094d79311cbd SHA256 8d7c2fff88c9a51b3bc419897194bbf513fa96b9dbb6b9063c9a8e9e0d3c7773
40 AUX openblas-sharedlibs.patch 1929 RMD160 87db891bb2e0b538da7a4f21c10c65b78149a26c SHA1 031912957004745f5e68c2cdf3899f0e80118377 SHA256 fc5f014d6b81a481a9c9c29d82de07f5a5182d9355f90071ba89b680f7e09c1b
41 -EBUILD openblas-9999.ebuild 2741 RMD160 99a6837423a6088bf4c13cd57876affe39259eff SHA1 ddcbaf5c702856ab87f6c3c8a8b040d742c75bbe SHA256 d5e5afde5a285f2538c9aa968b824aa58b34324411e09e4b90e0f170c9c94e7b
42 -MISC ChangeLog 436 RMD160 73b3b70b08709eb563722b76e3e4e2b782862116 SHA1 811ccab45c6ca9cd45389fc5511e191c40c5f433 SHA256 3be8e315fc7781cb5eea8f280d9a72ed643d9e9e3ce462aef00328e485957198
43 +EBUILD openblas-9999.ebuild 2751 RMD160 8d49d8331313d208496be7793a04b27cda5e6a31 SHA1 f036b9b1989c64822aa75a2b7aea61c042db0bb8 SHA256 029024fa7f164d0d61d88daeaa81a77ec1375b19412f2b68111503ee2b966202
44 +MISC ChangeLog 693 RMD160 9b9f879ccb36272cdd09ef1f844a3503288482b0 SHA1 b1efef0b7571b9d103ec501973c6403e10efe6a2 SHA256 1897a7f21fb253bad6bfb04710a8655c9751d0ea516248f67931e5e3461cf18e
45 MISC metadata.xml 569 RMD160 4405ffe0e8941f0806ce0b7f984052be2ee4ed8b SHA1 ae10082e791ba7635e3c5986b0842fd74ff9ef38 SHA256 ddd3fa2f35204325b559955bc761c1c837265b9fc3ecc31dac760bc30fa082d2
46
47 diff --git a/sci-libs/openblas/files/openblas-aliasing.patch b/sci-libs/openblas/files/openblas-aliasing.patch
48 new file mode 100644
49 index 0000000..8c59b1c
50 --- /dev/null
51 +++ b/sci-libs/openblas/files/openblas-aliasing.patch
52 @@ -0,0 +1,11 @@
53 +--- driver/others/init.c.orig 2011-05-31 18:59:24.000000000 +0100
54 ++++ driver/others/init.c 2011-05-31 20:18:51.000000000 +0100
55 +@@ -261,7 +261,7 @@
56 + for (node = 0; node < MAX_NODES; node ++) common -> node_info[node] = 0;
57 +
58 + while ((dir = readdir(dp)) != NULL) {
59 +- if (*(unsigned int *) dir -> d_name == 0x065646f6eU) {
60 ++ if (*(char *) dir -> d_name == 0x065646f6eU) {
61 +
62 + node = atoi(&dir -> d_name[4]);
63 +
64
65 diff --git a/sci-libs/openblas/openblas-9999.ebuild b/sci-libs/openblas/openblas-9999.ebuild
66 index 64e9715..b19ce19 100644
67 --- a/sci-libs/openblas/openblas-9999.ebuild
68 +++ b/sci-libs/openblas/openblas-9999.ebuild
69 @@ -2,9 +2,9 @@
70 # Distributed under the terms of the GNU General Public License v2
71 # $Header: $
72
73 -EAPI=3
74 +EAPI=4
75
76 -inherit eutils toolchain-funcs alternatives-2 git
77 +inherit eutils toolchain-funcs alternatives-2 git-2
78
79 DESCRIPTION="Optimized BLAS library based on GotoBLAS2"
80 HOMEPAGE="http://xianyi.github.com/OpenBLAS/"
81 @@ -22,7 +22,10 @@ DEPEND="${RDEPEND}"
82 S="${WORKDIR}/${MYPN}"
83
84 src_prepare() {
85 - epatch "${FILESDIR}"/${PN}-sharedlibs.patch
86 + epatch "${FILESDIR}"/${PN}-{sharedlibs,aliasing}.patch
87 + # respect LDFLAGS
88 + sed -i -e '/^LDFLAGS\s*=/d' Makefile.* || die
89 + # respect CFLAGS only if dynamic flag not enabled
90 if ! use dynamic; then
91 sed -i \
92 -e "/^COMMON_OPT/s/-O2/${CFLAGS}/" \
93 @@ -40,57 +43,47 @@ src_prepare() {
94 }
95
96 src_configure() {
97 - local bits=32
98 - if use amd64 || use alpha || use ppc64 || use sparc || use ia64; then
99 - bits=64
100 - fi
101 - MAKEFLAGS=(
102 - CC=$(tc-getCC)
103 - FC=$(tc-getFC)
104 - LDFLAGS="${LDFLAGS}"
105 - FLDFLAGS="${LDFLAGS}"
106 - BINARY=${bits}
107 - USE_THREAD=$(use threads && echo 1 || echo 0)
108 - USE_OPENMP=$(use openmp && echo 1)
109 - DYNAMIC_ARCH=$(use dynamic && echo 1)
110 - INTERFACE64=$(use int64 && echo 1)
111 - NO_CBLAS=$(use incblas || echo 1)
112 - )
113 + local use_openmp=$(use openmp && echo 1)
114 + use threads && use openmp && use_openmp="" && \
115 + einfo "openmp and threads enabled: using threads"
116 + sed -i \
117 + -e "s:^#\s*\(NO_LAPACK\)\s*=.*:\1=1:" \
118 + -e "s:^#\s*\(CC\)\s*=.*:\1=$(tc-getCC):" \
119 + -e "s:^#\s*\(FC\)\s*=.*:\1=$(tc-getFC):" \
120 + -e "s:^#\s*\(USE_THREAD\)\s*=.*:\1=$(use threads && echo 1 || echo 0):" \
121 + -e "s:^#\s*\(USE_OPENMP\)\s*=.*:\1=${use_openmp}:" \
122 + -e "s:^#\s*\(DYNAMIC_ARCH\)\s*=.*:\1=$(use dynamic && echo 1):" \
123 + -e "s:^#\s*\(INTERFACE64\)\s*=.*:\1=$(use int64 && echo 1):" \
124 + -e "s:^#\s*\(NO_CBLAS\)\s*=.*:\1=$(use incblas || echo 1):" \
125 + Makefile.rule || die
126 }
127
128 src_compile() {
129 - emake libs shared "${MAKEFLAGS[@]}" || die "emake failed"
130 - if use static-libs; then
131 - rename so so_sav *.so && emake clean
132 - emake libs "${MAKEFLAGS[@]}" NEED_PIC= || die "emake static failed"
133 - rename so_sav so *.so_sav
134 - fi
135 + mkdir solibs
136 + emake libs shared && mv *.so solibs/
137 + use static-libs && emake clean && emake libs NEED_PIC=
138 }
139
140 src_test() {
141 - emake tests "${MAKEFLAGS[@]}" || die "emake tests failed"
142 + emake tests
143 }
144
145 src_install() {
146 - local libname=${PN}
147 - mv $(readlink lib${libname}.so) lib${libname}.so
148 - dolib.so lib${libname}.so || die "installing shared ${libname} failed"
149 - if use static-libs; then
150 - mv $(readlink lib${libname}.a) lib${libname}.a
151 - dolib.a lib${libname}.a || die "installing static ${libname} failed"
152 - fi
153 + local libname=${PN} threads
154 + use threads && threads="-pthread"
155 + dolib.so solibs/lib*.so
156 + use static-libs && dolib.a lib*.a
157 +
158 # create pkg-config file and associated eselect file
159 cat <<-EOF > ${libname}.pc
160 - prefix="${EPREFIX}"/usr
161 + prefix=${EPREFIX}/usr
162 libdir=\${prefix}/$(get_libdir)
163 includedir=\${prefix}/include
164 -
165 - Name: ${MYPN}
166 + Name: ${PN}
167 Description: ${DESCRIPTION}
168 Version: ${PV}
169 URL: ${HOMEPAGE}
170 - Libs: -L\${libdir} -l${libname}
171 - Libs.private: -lm
172 + Libs: -L\${libdir} -l${libname} -lm ${threads}
173 EOF
174 alternatives_for blas openblas 0 \
175 "/usr/$(get_libdir)/pkgconfig/blas.pc" "${libname}.pc"