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" |