Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: dev-python/numpy/files/, dev-python/numpy/
Date: Wed, 03 Feb 2016 05:15:02
Message-Id: 1454477021.a739074affb67ea39f3d93d1230ce85ac55e619b.blueness@gentoo
1 commit: a739074affb67ea39f3d93d1230ce85ac55e619b
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Wed Feb 3 05:23:41 2016 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 3 05:23:41 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=a739074a
7
8 dev-python/numpy: bump to 1.10.4
9
10 Package-Manager: portage-2.2.26
11 RepoMan-Options: --force
12
13 dev-python/numpy/Manifest | 14 +--
14 .../numpy/files/numpy-1.10.1-backport-1.patch | 127 ---------------------
15 .../numpy/files/numpy-1.10.1-backport-2.patch | 73 ------------
16 .../files/numpy-1.10.2-no-hardcode-blas.patch | 64 +++++++++++
17 .../numpy/files/numpy-1.9.2-no-hardcode-blas.patch | 35 ------
18 ...py-1.10.1-r1.ebuild => numpy-1.10.4-r99.ebuild} | 41 +++----
19 6 files changed, 89 insertions(+), 265 deletions(-)
20
21 diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
22 index 68da0e0..80311de 100644
23 --- a/dev-python/numpy/Manifest
24 +++ b/dev-python/numpy/Manifest
25 @@ -1,9 +1,7 @@
26 -AUX numpy-1.10.1-backport-1.patch 6086 SHA256 386920fcba91099aedfe0c8105aa53f10f596f62d300684d802397769ba9b1e1 SHA512 359076cdf1962744f1e0381d6e690422787307400db6ca51fb8f759f6af459666e9b4aad278bf4e89848fea5277204eab9459edb092fc2d9aa8dab14096eefe9 WHIRLPOOL e9bc09688dace432c9b112535415f0c60d97eb8b464da615368c031a9a7440ff9e39092ef9d020332b91e4af1203e2ae16a78176935df4d3e7b3617bd9235a12
27 -AUX numpy-1.10.1-backport-2.patch 2904 SHA256 ec6faad4e0105f3f291a43defed5c0f33ca669832589372a0b6ae92d9f5e4dd1 SHA512 8e1db75cd00209762b49f636549a4afccea1467f93b4ce94e02f3ada2f8be78a70fdfea51eb98a12690ef67b84734eb24d5a647def8022a4fddfc22cda4cb512 WHIRLPOOL f8fda61187660136537af662f85d7886272bc9f3bb0d05321f950a7ed6844acbfc8b5c64cd06764e8414adfce4d9d139af6f3bf9cd72330a8862160d2144eb2b
28 AUX numpy-1.10.1-musl-fix.patch 543 SHA256 2d3f0358f9a5a33f783817964d1985f48eaffb5f239f494b9a57cab1c35565d7 SHA512 b832d756e2518471c117e72bba01c5b93859d694948f545f136a12cca69dc9f9a459539fce8fde740c0822c423572ec6aa9e805a28a6d9620df36b54c52b1d8f WHIRLPOOL 8708b667ce5d86ef5e7b468d5e059cf7d3ca572fff5e462f0f12f3855e0addd0dc9170390f720b90ccbb01c330c308124596d9808ad05f8ea8c0658de63e8284
29 -AUX numpy-1.9.2-no-hardcode-blas.patch 1821 SHA256 a51524eb39ed9f71667e89179fda3e16a974949629b9a0acb7a0994202a2db63 SHA512 59d498f7b0a1e6f4bc37e0eb7121812e1fe974e06176c7b80e99e41c49067a618bc98d925bcb667607462f5e7823f0f55235c8ddd685e318dfb3385b7eb7dad6 WHIRLPOOL 09e8cf5f27431fa7d5028b5d73690492e7da061f8ac5b82be1d1dbcc46c61c83cb6c5c3fb5f112bb61776075b98f7e1ef7b8a9fd828986f2c4b9358d9acb8d97
30 -DIST numpy-1.10.1.tar.gz 4048478 SHA256 8b9f453f29ce96a14e625100d3dcf8926301d36c5f622623bf8820e748510858 SHA512 ea717bac913a8e63bf93822bddbfe7701a3de00051bf3c7020f5e22756987becb5a2f96a6a52a36fc7c2b856815a782e450099688ce86b21fa94b0076b9ef376 WHIRLPOOL 7671368bec55c7f53ffa78a509946acc998e6f4223da4f3429b82a5a38b5e0277a0f89773ec2335f8e46b5c695620a4119af5ab59734184054c31b11841de44b
31 -DIST numpy-html-1.9.1.zip 9839137 SHA256 12a24937f8273fcf79090c99b6c4154a0ecfc378386498cf2afe727ea171407c SHA512 647a6be9f93995aca14185e283a2b412678c6e8080fe4f14e7cc9ee63c28eebb64dea6bbe28f30ef6850a5565dd1e06928fd660ac762e9a91454d309eff96ed4 WHIRLPOOL 68c367fd0416d27b1cf43edf7ca48bc8845c02856bbbacdf63c88fe8bbffd5dd86fb3e5cdea8f669dd78adf7bcc4d184953048783802df323126c1b22baf8e92
32 -DIST numpy-ref-1.9.1.pdf 5318122 SHA256 3c8e5881a3460e1cc9da95fe2167044e8f832ab8e980c3606d1f353e7ac6dcee SHA512 5171bb22588117a53e0eac355520581f7817a7e7a099ae83bb73f2ac8248a60e139ae9719dc543b44f25ccf8319c9f149fec1bf5aa55d943fad06a8e6da0d9ba WHIRLPOOL 5c99daf3ae2e6bf235aed287682f1b96d5b6afc9d290f544a8baab892b39c9f6dd9f649abe3e103cc90c990d87e4d653d8157d774a8bd35eccc9cc6ac7a870f9
33 -DIST numpy-user-1.9.1.pdf 418111 SHA256 e1f6baed0b73f3d4b106c88924c083f9a519e860c1beb718830bf1aee1892232 SHA512 724302468a8e93daf70d379bb1ee7369953e297c40ea260f080b7aca3c9c81e619a81705bdfb2ea214da5b5325ec2b48e953eceeaa1d60c07593b00c35989f45 WHIRLPOOL f93ed20c5da7b379e3afcafab97c7eb60231ed4f73cebf18184e00b9a8a5a531fa32992f7f28f16d2714b3056c61153c29267c8c6b93cb100e06f53bced1bd6a
34 -EBUILD numpy-1.10.1-r1.ebuild 4293 SHA256 93ff64945e1813118fba4787b14924377c46092b6785d9ad7a3e0ba0d4567c66 SHA512 7c654383a424ab28df86e3f535acbf8833c41f244601fa34314878a0686ccaafca32379b73565ced19e47ce5d84b34c853118b21d9e15584e93647dfaca0c666 WHIRLPOOL 7082b39850bc873ad663f6cfeec46a1718e2d14a4eb22a4c0cfa0186605b94d740b1865c3e2dbf0203b993090bb18cd6ce5fc5ff046d915e95adf29f1444ab38
35 +AUX numpy-1.10.2-no-hardcode-blas.patch 3295 SHA256 fb1ac68398a9c4fbf2396083e85480d46077d7b29069d8b62c4a929ab48216d1 SHA512 456f3b7016d12fea49c8db08cec81e207575a28018490c5b2eece8b4167e22dd93a5811d90f43435a0341ecb3a3cbc6c2fd804869ba9d96b7b2382736805aadd WHIRLPOOL 2a34f1f6f6a3a37a67b7cb1419b0aca7891ab9375cb5489f4ac974e71dff9f6e9442d0b3414437bf3010f271d7782b89b111ef34dcee1530c39e43bebe1a7b08
36 +DIST numpy-1.10.4.tar.gz 4069996 SHA256 7356e98fbcc529e8d540666f5a919912752e569150e9a4f8d869c686f14c720b SHA512 57ace46e357d49be0efd904e5ceb9862c626c916987c8798a12de7ae1e06816ad8483439ac4619792a04889631b5998f2397dc601c78dea33a784b4831c19c79 WHIRLPOOL 76946c2543b1cade06d71f83fd507bd818c1090baa9c3ddda7d1f48d48ed23672c5d9de76db890df990c6d8b7b26b71d3ce733c448943ad4177374a957360d1c
37 +DIST numpy-html-1.10.1.zip 9663942 SHA256 4af48eb5abf2551f01d85aea7e9a99a30096777f02937dc185b16bb72a110366 SHA512 9d1f3619b801c88604a0495290da4ae8cfb4800257d549214363c554c1dc09a736425d594ed88f492afee6ae7c68fe5c166b9b3a8f24637ea41d67fd23b9d9f9 WHIRLPOOL d6c93e31e31c832fb21f117d03719e0375ee3d27fb6f7975bfcd12469df4a2ed0a25a16bd09a0e2113407446efc220e5bff534f7cd76a715c3d7df26c02f07a1
38 +DIST numpy-ref-1.10.1.pdf 5382006 SHA256 72ae03348d0375ff2f18056efd04e815cc1d27b738d0685c80f5204a496bc279 SHA512 25085eb7cb80343abffe04ee01ea93603427913ba4443fbfdaa1ef1ad07a8642c47259d0bb1cb91a9059f786c03395bba76f608c6f0a2fd26d1afec4847d885c WHIRLPOOL d904d9b2824bfb08a0eeffeb37f7d646d003c39230d950d387e2ddc8e475a117b8305a0ce3dc479be72f010b1a868f22ddfde17e6c4cd7c56630bbdf09afb90e
39 +DIST numpy-user-1.10.1.pdf 406114 SHA256 5180a5a1333365e474aabba9d6edd25276e79179fd708bb3989d95dc4e76215f SHA512 998bce3777944e7b366c619e968ac4b6cc4351cd2819d6ecba7f422e20b6cd4d7332a8dede4036cd12e85b24c4c3d973bd9ef2d407610369c2591fce990fa8f4 WHIRLPOOL 4b53256663840738d288d38c4151e01ecfb515ebd4f69bb4330f4c5589642b3392a0a300f3def53df6bee8746f127a3af0d284601f288f4c4292df8b6de39f71
40 +EBUILD numpy-1.10.4-r99.ebuild 3933 SHA256 3dc5a293dc7b327de33b254bb4b465a04c483b7fcbfc85ae5f716be9e7f7be69 SHA512 a6a2b980fb02c356ad9c7baede082bfb12c43044c19009ab2f6026e87b8490cb78ba90919ad22d55ee0ec3478ed0d774d2436852c810ad91040fddf011780949 WHIRLPOOL d61cffe8da7124401c17fc4f5202d7415290fd3976162dfdf964ff26b56042e113729a455b8930eee7c2e156dd128235bb3a628f2496af7268ca4adc69600288
41
42 diff --git a/dev-python/numpy/files/numpy-1.10.1-backport-1.patch b/dev-python/numpy/files/numpy-1.10.1-backport-1.patch
43 deleted file mode 100644
44 index 77a3c01..0000000
45 --- a/dev-python/numpy/files/numpy-1.10.1-backport-1.patch
46 +++ /dev/null
47 @@ -1,127 +0,0 @@
48 -From 3a816a4db9b498eb64eb837fdcca0fa8ddbe063e Mon Sep 17 00:00:00 2001
49 -From: Allan Haldane <allan.haldane@×××××.com>
50 -Date: Sat, 17 Oct 2015 14:00:36 -0400
51 -Subject: [PATCH] BUG: recarrays viewed as subarrays don't convert to np.record
52 - type
53 -
54 -Record array views were updated in #5943 to return np.record dtype
55 -where possible, but forgot about the case of sub-arrays.
56 -
57 -That's fixed here, so accessing subarray fields by attribute or index
58 -works sensibly, as well as viewing a record array as a subarray dtype,
59 -and printing subarrays.
60 -
61 -This also happens to fix #6459, since it affects the same lines.
62 -
63 -Fixes #6497 #6459
64 ----
65 - numpy/core/records.py | 30 +++++++++++++++++++-----------
66 - numpy/core/tests/test_records.py | 23 +++++++++++++++++++++++
67 - 2 files changed, 42 insertions(+), 11 deletions(-)
68 -
69 -diff --git a/numpy/core/records.py b/numpy/core/records.py
70 -index 4a99553..4ce3fe9 100644
71 ---- a/numpy/core/records.py
72 -+++ b/numpy/core/records.py
73 -@@ -448,12 +448,14 @@ def __getattribute__(self, attr):
74 -
75 - # At this point obj will always be a recarray, since (see
76 - # PyArray_GetField) the type of obj is inherited. Next, if obj.dtype is
77 -- # non-structured, convert it to an ndarray. If obj is structured leave
78 -- # it as a recarray, but make sure to convert to the same dtype.type (eg
79 -- # to preserve numpy.record type if present), since nested structured
80 -- # fields do not inherit type.
81 -+ # non-structured, convert it to an ndarray. Then if obj is structured
82 -+ # with void type convert it to the same dtype.type (eg to preserve
83 -+ # numpy.record type if present), since nested structured fields do not
84 -+ # inherit type. Don't do this for non-void structures though.
85 - if obj.dtype.fields:
86 -- return obj.view(dtype=(self.dtype.type, obj.dtype.fields))
87 -+ if issubclass(obj.dtype.type, nt.void):
88 -+ return obj.view(dtype=(self.dtype.type, obj.dtype))
89 -+ return obj
90 - else:
91 - return obj.view(ndarray)
92 -
93 -@@ -463,8 +465,9 @@ def __getattribute__(self, attr):
94 - # Thus, you can't create attributes on-the-fly that are field names.
95 - def __setattr__(self, attr, val):
96 -
97 -- # Automatically convert (void) dtypes to records.
98 -- if attr == 'dtype' and issubclass(val.type, nt.void):
99 -+ # Automatically convert (void) structured types to records
100 -+ # (but not non-void structures, subarrays, or non-structured voids)
101 -+ if attr == 'dtype' and issubclass(val.type, nt.void) and val.fields:
102 - val = sb.dtype((record, val))
103 -
104 - newattr = attr not in self.__dict__
105 -@@ -499,7 +502,9 @@ def __getitem__(self, indx):
106 - # we might also be returning a single element
107 - if isinstance(obj, ndarray):
108 - if obj.dtype.fields:
109 -- return obj.view(dtype=(self.dtype.type, obj.dtype.fields))
110 -+ if issubclass(obj.dtype.type, nt.void):
111 -+ return obj.view(dtype=(self.dtype.type, obj.dtype))
112 -+ return obj
113 - else:
114 - return obj.view(type=ndarray)
115 - else:
116 -@@ -519,11 +524,14 @@ def __repr__(self):
117 - # If this is a full record array (has numpy.record dtype),
118 - # or if it has a scalar (non-void) dtype with no records,
119 - # represent it using the rec.array function. Since rec.array
120 -- # converts dtype to a numpy.record for us, use only dtype.descr,
121 -- # not repr(dtype).
122 -+ # converts dtype to a numpy.record for us, convert back
123 -+ # to non-record before printing
124 -+ plain_dtype = self.dtype
125 -+ if plain_dtype.type is record:
126 -+ plain_dtype = sb.dtype((nt.void, plain_dtype))
127 - lf = '\n'+' '*len("rec.array(")
128 - return ('rec.array(%s, %sdtype=%s)' %
129 -- (lst, lf, repr(self.dtype.descr)))
130 -+ (lst, lf, plain_dtype))
131 - else:
132 - # otherwise represent it using np.array plus a view
133 - # This should only happen if the user is playing
134 -diff --git a/numpy/core/tests/test_records.py b/numpy/core/tests/test_records.py
135 -index 7a18f29..290bc4f 100644
136 ---- a/numpy/core/tests/test_records.py
137 -+++ b/numpy/core/tests/test_records.py
138 -@@ -121,6 +121,23 @@ def test_recarray_views(self):
139 - assert_equal(type(rv), np.recarray)
140 - assert_equal(rv.dtype.type, np.record)
141 -
142 -+ # check that accessing nested structures keep record type, but
143 -+ # not for subarrays, non-void structures, non-structured voids
144 -+ test_dtype = [('a', 'f4,f4'), ('b', 'V8'), ('c', ('f4',2)),
145 -+ ('d', ('i8', 'i4,i4'))]
146 -+ r = np.rec.array([((1,1), b'11111111', [1,1], 1),
147 -+ ((1,1), b'11111111', [1,1], 1)], dtype=test_dtype)
148 -+ assert_equal(r.a.dtype.type, np.record)
149 -+ assert_equal(r.b.dtype.type, np.void)
150 -+ assert_equal(r.c.dtype.type, np.float32)
151 -+ assert_equal(r.d.dtype.type, np.int64)
152 -+ # check the same, but for views
153 -+ r = np.rec.array(np.ones(4, dtype='i4,i4'))
154 -+ assert_equal(r.view('f4,f4').dtype.type, np.record)
155 -+ assert_equal(r.view(('i4',2)).dtype.type, np.int32)
156 -+ assert_equal(r.view('V8').dtype.type, np.void)
157 -+ assert_equal(r.view(('i8', 'i4,i4')).dtype.type, np.int64)
158 -+
159 - #check that we can undo the view
160 - arrs = [np.ones(4, dtype='f4,i4'), np.ones(4, dtype='f8')]
161 - for arr in arrs:
162 -@@ -135,6 +152,12 @@ def test_recarray_repr(self):
163 - a = np.array(np.ones(4, dtype='f8'))
164 - assert_(repr(np.rec.array(a)).startswith('rec.array'))
165 -
166 -+ # check that the 'np.record' part of the dtype isn't shown
167 -+ a = np.rec.array(np.ones(3, dtype='i4,i4'))
168 -+ assert_equal(repr(a).find('numpy.record'), -1)
169 -+ a = np.rec.array(np.ones(3, dtype='i4'))
170 -+ assert_(repr(a).find('dtype=int32') != -1)
171 -+
172 - def test_recarray_from_names(self):
173 - ra = np.rec.array([
174 - (1, 'abc', 3.7000002861022949, 0),
175
176 diff --git a/dev-python/numpy/files/numpy-1.10.1-backport-2.patch b/dev-python/numpy/files/numpy-1.10.1-backport-2.patch
177 deleted file mode 100644
178 index 9c33704..0000000
179 --- a/dev-python/numpy/files/numpy-1.10.1-backport-2.patch
180 +++ /dev/null
181 @@ -1,73 +0,0 @@
182 -From 0d25dc4175e00cdaf9545e8b1b1a5b879cf67248 Mon Sep 17 00:00:00 2001
183 -From: Ethan Kruse <eakruse@××.edu>
184 -Date: Mon, 19 Oct 2015 13:29:01 -0700
185 -Subject: [PATCH 1/2] Potential fix for #6462
186 -
187 ----
188 - numpy/lib/function_base.py | 2 +-
189 - 1 file changed, 1 insertion(+), 1 deletion(-)
190 -
191 -diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py
192 -index 555d083..fef69df 100644
193 ---- a/numpy/lib/function_base.py
194 -+++ b/numpy/lib/function_base.py
195 -@@ -3339,7 +3339,7 @@ def _median(a, axis=None, out=None, overwrite_input=False):
196 - indexer[axis] = slice(index-1, index+1)
197 -
198 - # Check if the array contains any nan's
199 -- if np.issubdtype(a.dtype, np.inexact):
200 -+ if np.issubdtype(a.dtype, np.inexact) and sz > 0:
201 - # warn and return nans like mean would
202 - rout = mean(part[indexer], axis=axis, out=out)
203 - part = np.rollaxis(part, axis, part.ndim)
204 -
205 -From 59d859fb2160950ac93267d7461ad952145c8724 Mon Sep 17 00:00:00 2001
206 -From: Ethan Kruse <eakruse@××.edu>
207 -Date: Tue, 20 Oct 2015 11:40:49 -0700
208 -Subject: [PATCH 2/2] Added tests for median of empty arrays
209 -
210 ----
211 - numpy/lib/tests/test_function_base.py | 30 ++++++++++++++++++++++++++++++
212 - 1 file changed, 30 insertions(+)
213 -
214 -diff --git a/numpy/lib/tests/test_function_base.py b/numpy/lib/tests/test_function_base.py
215 -index 4516c92..aa41c1f 100644
216 ---- a/numpy/lib/tests/test_function_base.py
217 -+++ b/numpy/lib/tests/test_function_base.py
218 -@@ -2597,6 +2597,36 @@ def test_nan_behavior(self):
219 - assert_equal(np.median(a, (0, 2)), b)
220 - assert_equal(len(w), 1)
221 -
222 -+ def test_empty(self):
223 -+ # empty arrays
224 -+ a = np.array([], dtype=float)
225 -+ with warnings.catch_warnings(record=True) as w:
226 -+ warnings.filterwarnings('always', '', RuntimeWarning)
227 -+ assert_equal(np.median(a), np.nan)
228 -+ assert_(w[0].category is RuntimeWarning)
229 -+
230 -+ # multiple dimensions
231 -+ a = np.array([], dtype=float, ndmin=3)
232 -+ # no axis
233 -+ with warnings.catch_warnings(record=True) as w:
234 -+ warnings.filterwarnings('always', '', RuntimeWarning)
235 -+ assert_equal(np.median(a), np.nan)
236 -+ assert_(w[0].category is RuntimeWarning)
237 -+
238 -+ # axis 0 and 1
239 -+ b = np.array([], dtype=float, ndmin=2)
240 -+ with warnings.catch_warnings(record=True) as w:
241 -+ warnings.filterwarnings('always', '', RuntimeWarning)
242 -+ assert_equal(np.median(a, axis=0), b)
243 -+ assert_equal(np.median(a, axis=1), b)
244 -+
245 -+ # axis 2
246 -+ b = np.array(np.nan, dtype=float, ndmin=2)
247 -+ with warnings.catch_warnings(record=True) as w:
248 -+ warnings.filterwarnings('always', '', RuntimeWarning)
249 -+ assert_equal(np.median(a, axis=2), b)
250 -+ assert_(w[0].category is RuntimeWarning)
251 -+
252 - def test_object(self):
253 - o = np.arange(7.)
254 - assert_(type(np.median(o.astype(object))), float)
255
256 diff --git a/dev-python/numpy/files/numpy-1.10.2-no-hardcode-blas.patch b/dev-python/numpy/files/numpy-1.10.2-no-hardcode-blas.patch
257 new file mode 100644
258 index 0000000..db4a47d
259 --- /dev/null
260 +++ b/dev-python/numpy/files/numpy-1.10.2-no-hardcode-blas.patch
261 @@ -0,0 +1,64 @@
262 + numpy/distutils/system_info.py | 29 +++++------------------------
263 + 1 file changed, 5 insertions(+), 24 deletions(-)
264 +
265 +diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
266 +index d7eb49e..aa62b09 100644
267 +--- a/numpy/distutils/system_info.py
268 ++++ b/numpy/distutils/system_info.py
269 +@@ -306,26 +306,7 @@ def get_info(name, notfound_action=0):
270 + 1 - display warning message
271 + 2 - raise error
272 + """
273 +- cl = {'atlas': atlas_info, # use lapack_opt or blas_opt instead
274 +- 'atlas_threads': atlas_threads_info, # ditto
275 +- 'atlas_blas': atlas_blas_info,
276 +- 'atlas_blas_threads': atlas_blas_threads_info,
277 +- 'lapack_atlas': lapack_atlas_info, # use lapack_opt instead
278 +- 'lapack_atlas_threads': lapack_atlas_threads_info, # ditto
279 +- 'atlas_3_10': atlas_3_10_info, # use lapack_opt or blas_opt instead
280 +- 'atlas_3_10_threads': atlas_3_10_threads_info, # ditto
281 +- 'atlas_3_10_blas': atlas_3_10_blas_info,
282 +- 'atlas_3_10_blas_threads': atlas_3_10_blas_threads_info,
283 +- 'lapack_atlas_3_10': lapack_atlas_3_10_info, # use lapack_opt instead
284 +- 'lapack_atlas_3_10_threads': lapack_atlas_3_10_threads_info, # ditto
285 +- 'mkl': mkl_info,
286 +- # openblas which may or may not have embedded lapack
287 +- 'openblas': openblas_info, # use blas_opt instead
288 +- # openblas with embedded lapack
289 +- 'openblas_lapack': openblas_lapack_info, # use blas_opt instead
290 +- 'lapack_mkl': lapack_mkl_info, # use lapack_opt instead
291 +- 'blas_mkl': blas_mkl_info, # use blas_opt instead
292 +- 'x11': x11_info,
293 ++ cl = {'x11': x11_info,
294 + 'fft_opt': fft_opt_info,
295 + 'fftw': fftw_info,
296 + 'fftw2': fftw2_info,
297 +@@ -1690,7 +1671,7 @@ class blas_info(system_info):
298 + lib = self.has_cblas(info)
299 + if lib is not None:
300 + info['language'] = 'c'
301 +- info['libraries'] = [lib]
302 ++ info['libraries'] = lib
303 + info['define_macros'] = [('HAVE_CBLAS', None)]
304 + self.set_info(**info)
305 +
306 +@@ -1722,16 +1703,16 @@ class blas_info(system_info):
307 + # check for cblas lib, and if not present check for blas lib.
308 + try:
309 + c.link_executable(obj, os.path.join(tmpdir, "a.out"),
310 +- libraries=["cblas"],
311 ++ libraries=info["libraries"],
312 + library_dirs=info['library_dirs'],
313 + extra_postargs=info.get('extra_link_args', []))
314 +- res = "cblas"
315 ++ res = info["libraries"]
316 + except distutils.ccompiler.LinkError:
317 + c.link_executable(obj, os.path.join(tmpdir, "a.out"),
318 + libraries=["blas"],
319 + library_dirs=info['library_dirs'],
320 + extra_postargs=info.get('extra_link_args', []))
321 +- res = "blas"
322 ++ res = ["blas"]
323 + except distutils.ccompiler.CompileError:
324 + res = None
325 + finally:
326
327 diff --git a/dev-python/numpy/files/numpy-1.9.2-no-hardcode-blas.patch b/dev-python/numpy/files/numpy-1.9.2-no-hardcode-blas.patch
328 deleted file mode 100644
329 index 674dbfa..0000000
330 --- a/dev-python/numpy/files/numpy-1.9.2-no-hardcode-blas.patch
331 +++ /dev/null
332 @@ -1,35 +0,0 @@
333 - numpy/distutils/system_info.py | 21 +--------------------
334 - 1 file changed, 1 insertion(+), 20 deletions(-)
335 -
336 -diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
337 -index a050430..d0878a5 100644
338 ---- a/numpy/distutils/system_info.py
339 -+++ b/numpy/distutils/system_info.py
340 -@@ -303,26 +303,7 @@ def get_info(name, notfound_action=0):
341 - 1 - display warning message
342 - 2 - raise error
343 - """
344 -- cl = {'atlas': atlas_info, # use lapack_opt or blas_opt instead
345 -- 'atlas_threads': atlas_threads_info, # ditto
346 -- 'atlas_blas': atlas_blas_info,
347 -- 'atlas_blas_threads': atlas_blas_threads_info,
348 -- 'lapack_atlas': lapack_atlas_info, # use lapack_opt instead
349 -- 'lapack_atlas_threads': lapack_atlas_threads_info, # ditto
350 -- 'atlas_3_10': atlas_3_10_info, # use lapack_opt or blas_opt instead
351 -- 'atlas_3_10_threads': atlas_3_10_threads_info, # ditto
352 -- 'atlas_3_10_blas': atlas_3_10_blas_info,
353 -- 'atlas_3_10_blas_threads': atlas_3_10_blas_threads_info,
354 -- 'lapack_atlas_3_10': lapack_atlas_3_10_info, # use lapack_opt instead
355 -- 'lapack_atlas_3_10_threads': lapack_atlas_3_10_threads_info, # ditto
356 -- 'mkl': mkl_info,
357 -- # openblas which may or may not have embedded lapack
358 -- 'openblas': openblas_info, # use blas_opt instead
359 -- # openblas with embedded lapack
360 -- 'openblas_lapack': openblas_lapack_info, # use blas_opt instead
361 -- 'lapack_mkl': lapack_mkl_info, # use lapack_opt instead
362 -- 'blas_mkl': blas_mkl_info, # use blas_opt instead
363 -- 'x11': x11_info,
364 -+ cl = {'x11': x11_info,
365 - 'fft_opt': fft_opt_info,
366 - 'fftw': fftw_info,
367 - 'fftw2': fftw2_info,
368
369 diff --git a/dev-python/numpy/numpy-1.10.1-r1.ebuild b/dev-python/numpy/numpy-1.10.4-r99.ebuild
370 similarity index 77%
371 rename from dev-python/numpy/numpy-1.10.1-r1.ebuild
372 rename to dev-python/numpy/numpy-1.10.4-r99.ebuild
373 index ab6df8b..d2a05ce 100644
374 --- a/dev-python/numpy/numpy-1.10.1-r1.ebuild
375 +++ b/dev-python/numpy/numpy-1.10.4-r99.ebuild
376 @@ -1,4 +1,4 @@
377 -# Copyright 1999-2015 Gentoo Foundation
378 +# Copyright 1999-2016 Gentoo Foundation
379 # Distributed under the terms of the GNU General Public License v2
380 # $Id$
381
382 @@ -11,7 +11,7 @@ FORTRAN_NEEDED=lapack
383
384 inherit distutils-r1 eutils flag-o-matic fortran-2 multilib multiprocessing toolchain-funcs versionator
385
386 -DOC_PV="1.9.1"
387 +DOC_PV="1.10.1"
388 DOC_P="${PN}-${DOC_PV}"
389
390 DESCRIPTION="Fast array and numerical python library"
391 @@ -25,7 +25,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
392 # It appears the docs haven't been upgraded, still @ 1.8.1
393 LICENSE="BSD"
394 SLOT="0"
395 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
396 +KEYWORDS="amd64 arm ~mips ppc x86"
397 IUSE="doc lapack test"
398
399 RDEPEND="
400 @@ -40,10 +40,8 @@ DEPEND="${RDEPEND}
401 DISTUTILS_IN_SOURCE_BUILD=1
402
403 PATCHES=(
404 - "${FILESDIR}"/${PN}-1.9.2-no-hardcode-blas.patch
405 + "${FILESDIR}"/${PN}-1.10.2-no-hardcode-blas.patch
406 "${FILESDIR}"/${PN}-1.10.1-musl-fix.patch
407 - "${FILESDIR}"/${P}-backport-1.patch
408 - "${FILESDIR}"/${P}-backport-2.patch
409 )
410
411 src_unpack() {
412 @@ -74,8 +72,6 @@ python_prepare_all() {
413 if use lapack; then
414 append-ldflags "$($(tc-getPKG_CONFIG) --libs-only-other cblas lapack)"
415 local libdir="${EPREFIX}"/usr/$(get_libdir)
416 - # make sure _dotblas.so gets built
417 - sed -i -e '/NO_ATLAS_INFO/,+1d' numpy/core/setup.py || die
418 cat >> site.cfg <<-EOF
419 [blas]
420 include_dirs = $(pc_incdir cblas)
421 @@ -111,18 +107,20 @@ python_prepare_all() {
422 fi
423
424 # don't version f2py, we will handle it.
425 - sed -i -e '/f2py_exe/s:+os\.path.*$::' numpy/f2py/setup.py || die
426 + sed -i -e '/f2py_exe/s: + os\.path.*$::' numpy/f2py/setup.py || die
427
428 # we don't have f2py-3.3
429 - sed \
430 - -e "/f2py_cmd/s:'f2py'.*:'f2py':g" \
431 - -i numpy/tests/test_scripts.py || die
432 +# sed \
433 +# -e 's:test_f2py:_&:g' \
434 +# -i numpy/tests/test_scripts.py || die
435
436 distutils-r1_python_prepare_all
437 }
438
439 python_compile() {
440 - distutils-r1_python_compile -j $(makeopts_jobs) ${NUMPY_FCONFIG}
441 + distutils-r1_python_compile \
442 + $(usex python_targets_python3_5 "" "-j $(makeopts_jobs)") \
443 + ${NUMPY_FCONFIG}
444 }
445
446 python_test() {
447 @@ -140,17 +138,16 @@ python_install() {
448 }
449
450 python_install_all() {
451 - distutils-r1_python_install_all
452 -
453 - dodoc COMPATIBILITY DEV_README.txt THANKS.txt
454 + DOCS+=( COMPATIBILITY DEV_README.txt THANKS.txt )
455
456 if use doc; then
457 - dohtml -r "${WORKDIR}"/html/*
458 - dodoc "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf
459 + HTML_DOCS=( "${WORKDIR}"/html/. )
460 + DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf )
461 fi
462
463 - # absent in 1.9
464 - #docinto f2py
465 - #dodoc numpy/f2py/docs/*.txt
466 - #doman numpy/f2py/f2py.1
467 + distutils-r1_python_install_all
468 +
469 + docinto f2py
470 + dodoc doc/f2py/*.txt
471 + doman doc/f2py/f2py.1
472 }