summaryrefslogtreecommitdiff
path: root/dev-python/numpy
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-21 18:59:32 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-21 18:59:32 +0100
commit520a5b56dff7c24c9d42eafec142cb78b44f8e3e (patch)
treef562f705600dbd2292e97c0b4145787c2a8d1f97 /dev-python/numpy
parent3811bc3072bf19e2be351d2c63f81532945c0f21 (diff)
gentoo resync : 21.07.2018
Diffstat (limited to 'dev-python/numpy')
-rw-r--r--dev-python/numpy/Manifest9
-rw-r--r--dev-python/numpy/files/numpy-1.14.5-no-hardcode-blas.patch75
-rw-r--r--dev-python/numpy/files/numpy-1.14.5-py37.patch135
-rw-r--r--dev-python/numpy/numpy-1.14.5.ebuild148
-rw-r--r--dev-python/numpy/numpy-9999.ebuild2
5 files changed, 367 insertions, 2 deletions
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
index 060d62c13ae0..b02ed455618e 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -1,26 +1,33 @@
AUX numpy-1.10.2-no-hardcode-blas.patch 3295 BLAKE2B 300b64a2867cb55fef23aff58069187c1c743740fff75442f56da9e817adc4a857a29dccf5c543ff4c63da5d5618a34fdc1f640b65d8f8f23dcaa96c6334baa2 SHA512 456f3b7016d12fea49c8db08cec81e207575a28018490c5b2eece8b4167e22dd93a5811d90f43435a0341ecb3a3cbc6c2fd804869ba9d96b7b2382736805aadd
AUX numpy-1.12.1-no-hardcode-blas.patch 3473 BLAKE2B 442b505aa6a09aece4e3e48c43fffcbb35e129f99097233d7387ea41bf3926ed72be4666025d4c4bbac7a5e9e557e54cc0c439d748cbbbff6ca075e7a1969c56 SHA512 0066fdc822151b13a4f91cab522000ab43bea52539100070949d08e0baf6bd35e9c32e13e877e22c40041c3fa0e8d716d802087b3c9016d6c1e05edd0e48fd6a
+AUX numpy-1.14.5-no-hardcode-blas.patch 3767 BLAKE2B f580a067b9c91a53f99daffd33f38306abb3d2852f4d513152531fb0796f50371c9031b7c685fd35801afbe2a5b649efd4d2cdca9c239f119893b1fde19bda3b SHA512 66a7d9988ab3e6f5b1788df7db9d81719c43ba641edc3450a4912c46aaf0ffb3ba6030dc458182adfb11eafac91f2ba6e1c5aa9b8eb077d6d8c776b2ec5ad2fc
+AUX numpy-1.14.5-py37.patch 5417 BLAKE2B a6660b06a6f5ebc436b8bef4f53934892384889304f3b48ed1e9e84298deb78528e431e2102856fe1bc44b5e9a472b3a0b51401ad824b7072465d8c54f6aa939 SHA512 78b6a1640cf51e9b58478fd9ad5044bec2efc1319cc050f0a1345fc367b57b9170954ce25b88b2851007b438a00ac380eab48f6b699fed1115d109972ec553ad
AUX numpy-1.8.0-no-hardcode-blas.patch 1153 BLAKE2B d812ddc3069d23f211026c14ca36aa907c254b5e5305e720bc87bb5fbd51dd032f93eecd245c222ae8fa81dbe1541a2ffb1524e685a05f238758b4487e3532b9 SHA512 baa29a0c981ede608d890e776026961fb71156eb7804f702623bce775e3b6ce3bb28ced252d9c6fe991429b690b3eef8468d703f79247820527648d6484d23f3
AUX numpy-1.9.2-no-hardcode-blas.patch 1821 BLAKE2B bba698b76576a29c24f69a5aaf92173065d11d2e01ae8e76a66650484f18761b62cb49d348e97a62350cf74d9c728f2d26e94b903b62c59c903e7022c31fefc5 SHA512 59d498f7b0a1e6f4bc37e0eb7121812e1fe974e06176c7b80e99e41c49067a618bc98d925bcb667607462f5e7823f0f55235c8ddd685e318dfb3385b7eb7dad6
DIST numpy-1.10.4.tar.gz 4069996 BLAKE2B 9f315d1fca4415b148d4b3bff6f223930bab3d0cb9e19fc5790d71218549c9f0031355e8a95eae9c866ceaf6391a3aa41206bf3f48477b6cabbbc52e0287c246 SHA512 57ace46e357d49be0efd904e5ceb9862c626c916987c8798a12de7ae1e06816ad8483439ac4619792a04889631b5998f2397dc601c78dea33a784b4831c19c79
DIST numpy-1.13.3.zip 5021189 BLAKE2B 5a2890a8e08425a2d537667cb2c621a57e1d442951d0b06aee2a9a153bf76652e9c4cbaa11716697a85c580e1f30043d5eef10fc24245074e6431a873ff80c34 SHA512 b77969372c8463879b452dc54830afabb719e6814a2bb1ee0062b463155ac709d1cd48839b28b74aacaee8aced7ee35870ba43d59293ff54f90bc0f717ca7737
+DIST numpy-1.14.5.zip 4904624 BLAKE2B 14d266bf1139b9539e39d08a6537e2b772e80bf46a0769cbb06b63ba54858c9284f6d0e8a19627a4d99f2c2638e9a4031bf4d4aaf773eaf34b7203d131636dc0 SHA512 e131f9fa815084e334b59c5d9abd8de0088ad1dfefecf8615ad7deca0b54b0dfa0446c8de99c90670ea9fcabea9980bd171618a5b9032c1937b597a5ce363c5b
DIST numpy-1.8.2.tar.gz 3792998 BLAKE2B 00d22c72ab6f919626d3fba0edc477fb9c19f9c299f78cff6102e1860e3d1baec8f3b17aa23be797e9a34630428174de3f3b630c3f05c5340024dc6314fad8cd SHA512 996e6b8e2d42f223e44660f56bf73eb8ab124f400d89218f8f5e4d7c9860ada44a4d7c54526137b0695c7a10f36e8834fbf0d42b7cb20bcdb5d5c245d673385c
DIST numpy-1.9.2.tar.gz 3986067 BLAKE2B e5ae6717badac01186a5b0f36729c1c01dda1fb4238978858c778f08f17512c5d1f3902d551cb0c67a77c1246ce238e588556188e7e6466c27ebdde09879782d SHA512 70470ebb9afef5dfd0c83ceb7a9d5f1b7a072b1a9b54b04f04f5ed50fbaedd5b4906bd500472268d478f94df9e749a88698b1ff30f2d80258e7f3fec040617d9
DIST numpy-html-1.10.1.zip 9663942 BLAKE2B 436ab4185212f8eeaa3d61e29c2c547c9f24bf0869984cc674e66a7360177e999cc70a6573316711e478db62057d5cee90f85b978d095c6b47f1dc3832ffbdf7 SHA512 9d1f3619b801c88604a0495290da4ae8cfb4800257d549214363c554c1dc09a736425d594ed88f492afee6ae7c68fe5c166b9b3a8f24637ea41d67fd23b9d9f9
DIST numpy-html-1.13.0.zip 10324817 BLAKE2B e16357e615b30249a4c41582b46b194e2c3113996260f0ff60e5b64ce9b344a05a5f372095a9f1187e8474bda4078f41ad8372c801637278d3478176de455eaa SHA512 2dd769ec0d4967ba1797339170b0f9bf694a0a304cffb8482a037ba043a3bd3a9207e63a1ffed2d7ae96205d3a1a72fa1b15eeac4bd2e565544363dd9742f542
+DIST numpy-html-1.14.5.zip 11197881 BLAKE2B 00cac3c5be07f644328acd9ed155a6fc07ed7d7380584732bb3ac03562c8705cd152612f461d5dc251dabe0be4ba45593165a961496e351110e1aa7598c37370 SHA512 578d31660de4e1f57310b3a2137cefea17228f40046eef1689fb6d9302f0fe0fda5aaf473c3b8c69ae781049950022321593ec891a5640e3c36c886ab3bf4383
DIST numpy-html-1.8.1.zip 9703711 BLAKE2B 1f9d9cb4e65fc2f03d07da9bc34de9c8c4f93f5267689abccb0e2383b23babfed52ae6c3969738e78eeca7b32f49c90f9f7bb92dd432a6b87e082b67c1f214a5 SHA512 1d52c657931f4eebb5325159444aedd969b201f5098855058f1ef632dc8677372d632291154ebc3db9869cdb8abf7eb820eade1a9edba2d6be1ae918cb38c071
DIST numpy-html-1.9.1.zip 9839137 BLAKE2B 84b4c15ee20d8a1e6514baf47b96ac770690357278ff22b48c427509534c41df9e14165483f625955a7c6c087b0b5e13e68bf3d06951352a8511d6e03cc65d9f SHA512 647a6be9f93995aca14185e283a2b412678c6e8080fe4f14e7cc9ee63c28eebb64dea6bbe28f30ef6850a5565dd1e06928fd660ac762e9a91454d309eff96ed4
DIST numpy-ref-1.10.1.pdf 5382006 BLAKE2B c360d40c6ac3d2975a760dcf32ed312f30e9ee6b096020e0513bb22af600de62f5f72309603414b3bbcaf02a1aacd79e84545a6e5d50611bfdabafa9f6441a10 SHA512 25085eb7cb80343abffe04ee01ea93603427913ba4443fbfdaa1ef1ad07a8642c47259d0bb1cb91a9059f786c03395bba76f608c6f0a2fd26d1afec4847d885c
DIST numpy-ref-1.13.0.pdf 5047809 BLAKE2B c7e2734311918c6faa46b008c4802bb090a728ca22337695755e885a7d7d341ba76d5e489c9c56cf89a9d0545bc9b24787e193c4bc1af2631a368b812fe74083 SHA512 0fe28be029602f8b8dc12987da273581b42f123a9d605321084d4c05233cd31ccff0efb17b99c3e8cbfec5f8de11252a99c1ee5c43d37aa5fa57d712f4bb4aca
+DIST numpy-ref-1.14.5.pdf 4855150 BLAKE2B aa924542346bd06b1aa8b11ceb8eb5de936cfdccc10a8339720a297e27b5b34961044eb8db8dd7b9a19ba93b3cbf76ec278a9a50724653aafd2b9d57a00007f2 SHA512 717f58fcb1aa66ecc5f5d4c11c9923d2beb21a1b1a0ca1e46f3622c69f1122fd0547b7f7abaf6de008e2aa988b2453af3c2590877f5596fb6642479ece651746
DIST numpy-ref-1.8.1.pdf 5348248 BLAKE2B f087fbbd3c789adebd2902db0a2acc8a8748ccbb5a1e7e064effdc91e92c7dcf087ae36436fc52d7afa12a12ca2fc0f5f5617177bcd8b9745a7155acd10d71fc SHA512 340dd8f47430f24fea81bb3a8674e1a58f4290a9d1c5d64bac96d50b31a94a770e78381e42daf8b0a6a90cefe5cafe86b0c89f7cc7635a042a7e85eb74bdbdf5
DIST numpy-ref-1.9.1.pdf 5318122 BLAKE2B a893be075c823ab1a6ad3b2e38e8c05aad20cc2abf9307af9dac87b12f029fe07b535b1f385a4315bcc9590fedb79e25bc5e1659885ad61cf010d2f45ae6edf5 SHA512 5171bb22588117a53e0eac355520581f7817a7e7a099ae83bb73f2ac8248a60e139ae9719dc543b44f25ccf8319c9f149fec1bf5aa55d943fad06a8e6da0d9ba
DIST numpy-user-1.10.1.pdf 406114 BLAKE2B 88d43e87071eb88223c84720001671677c6f8c1e745b4434331434a9c48cee4591e67740ef102e49e839e4b2aa690798a5415fa25eaa79d823dbcfa29780fa85 SHA512 998bce3777944e7b366c619e968ac4b6cc4351cd2819d6ecba7f422e20b6cd4d7332a8dede4036cd12e85b24c4c3d973bd9ef2d407610369c2591fce990fa8f4
DIST numpy-user-1.13.0.pdf 580593 BLAKE2B dcf86d0a87ceb7062b8fb339d37bfe3c3fd5e166f3079a079d50f6afb51bde9754d050c97b3e4aec237aaf797d70a2458fe0f26beeeeaf1594330e08c07e181a SHA512 d3891d449b72c2d97af28182e0bcb12559abc114f8dbf0e0c68362c1af50e6aeab565b31b4aa44ab079e8d47f550081a79a4066c37fc52a1c70c05be45eb5c11
+DIST numpy-user-1.14.5.pdf 574418 BLAKE2B 80738f1760932fa74b07334d1a355ba3ce319e0b03fe1428d0b3497466fa1164ccbad84969cb7bc8daebb5525094f0d0c7710e1d661b1c6bbaca0669bfcbf875 SHA512 fb00305408c56ee203ed71ac042474592e7e933f14a639f6dce0f6dc80206c13b844c2425a919f9072a114c7af2c2f9f85b78a07ba3874259e5d173290e51a13
DIST numpy-user-1.8.1.pdf 408305 BLAKE2B 2956e42ebad45b021f72c7e71d357d953ea8a26639b4c6e81dbe1718052304ac5ce1a7f96646d94ad48bf737ddc6962fcbc304e31dfce32b85cb8165b0ada6e0 SHA512 9e646e89e7e67834fa596e43082b43842d1c59287d22fd8d20c9f0a1d3d56a518a08cc2c036de4972ad0d6d9d3c2f56e2210f76e7244d3f7547b5204d84d3c7c
DIST numpy-user-1.9.1.pdf 418111 BLAKE2B 683ed35ca9e123387a08a88047ad0cfd8bf3698efee7c17c3b57941f57f86297798787f13b142a1bf806f775e70bc116109decb281ab82959c08932c06aa1f3d SHA512 724302468a8e93daf70d379bb1ee7369953e297c40ea260f080b7aca3c9c81e619a81705bdfb2ea214da5b5325ec2b48e953eceeaa1d60c07593b00c35989f45
EBUILD numpy-1.10.4.ebuild 4069 BLAKE2B 04336f313395a4c4243aceea1d52592d7fd77cfc4c854362acfd2923dd9b2b6cc652a90745b122e0c31399508aac4ed4f6977e1a0d1a4050952a6dbd3b8a532a SHA512 4fb21dfcdc22b27caddea047b658a4824c31dc431c5dae420213a1c13d09e10503c504f8ea1898667cf52fb7933c5a7ee5ddcecc12aa55afc2e8bf67f74e331a
EBUILD numpy-1.13.3.ebuild 4621 BLAKE2B e54d42c776130b90df8b2e6c4774e09aab63b04ade5bf012a2c66b59fa37a5cece84e0b64f1e8bb8263faf69017608ec3ab0e3551fbd67c9bd63bf14791439f7 SHA512 b9ec2d0df263574051d23b2c28635c4c1bce6d28acd7d35548d8ed4362d6ac4cf1c3c5d9e52c16a4ea10efa29bd58641045a97a39813fbe661d529de07b2dce3
+EBUILD numpy-1.14.5.ebuild 4046 BLAKE2B d7cdc4a2cae8bcf0a5700f07bd30149f2e669c4c6660766e8ebe88708bf37c2162d2c61ed567de20ddf65584b426eef069df72edf42c41c3b2297d05332fa6e6 SHA512 c77d5ce9c0f572434c00f4225f112a81c7ad25306130bc0ef1ad4d6a580188eb98bdd4019ecdd14b39ea10aeb5ca224b01c6ba9d1c6d5e0a15e76518f9e4dbbb
EBUILD numpy-1.8.2.ebuild 3956 BLAKE2B 6d8d06a5e42f73b1b6d76f42587d2cb266157385a2fadca2da36814b7255162409bcced3b7b5e1f710244bd8ca6d4198c96d01c7b611ed2e577947c052057b9b SHA512 c28b06e01227eaa18312671e13177b3c92931f3ac21209865e03d0f583eccaa88b7c2571140fa0fdbd56d55934b745f72507f5d764728647903f9f8d6954eefc
EBUILD numpy-1.9.2.ebuild 3969 BLAKE2B d394ff79c26ac65cf029b107dea4e2822f7035743d3ce3e79b9f8bc1d8ec6d55c28600134c5efbc073a6b03c61b341a89bbd333328794d4779c3824d564b7146 SHA512 13787d361d2a065a676fd55f96dea96c49272ddbef88d89391a4250cf305d39e293db203c6be3e3de9fcb6f0aff5b38fc97ad344a34f91d1a60d507df9e347e4
-EBUILD numpy-9999.ebuild 3317 BLAKE2B a6d96463d4718d3395224936a7f2781a21bcc52a385c895e07b2f9987e60c1d8f0de8acda781125841c3ded5a1c4ae417d151c973ce1549a6376c0c9b973f12a SHA512 04e2469daea40a304d1477f267b0b789a9ebc1b27fec9355e2b7e657193fccd041541a95218af85efd7d83bc471e3c544216f4414b0818a9e83a06c2f2699638
+EBUILD numpy-9999.ebuild 3319 BLAKE2B 77a7f1d045e0111a1da7ac555ba27eff63b79b2c1e611a1837da323d5e9142309378dec07e693b72588f4bd6618de107cf111e2769cb965857c8c668ec733b8b SHA512 a7af8f6ebdc80db8506bfeb513513af91b107a93fb1cc9d223a6c872e5839a4f314086d6c4a7a39b8e86fe6c42f7ccee85fc8b3a3a5600c84ac8e0ece623c1e8
MISC metadata.xml 876 BLAKE2B 5e257d6ea3c59c5819d854db7b7db3ebff53b5c87b5ce9348786085f09db12aa6fc8fa86393b9e6c06760ac0d9f36a52fdfb1865c9d1d9ad5526d74d3d53e8b1 SHA512 d35d0954ff8f21e370edeab3ce3e5ab501bf216c93399e807ede6f1910ba0ea41359425bf894d813a39442fb92a724fe83ec8a5c64e6bd97de9422f67700d549
diff --git a/dev-python/numpy/files/numpy-1.14.5-no-hardcode-blas.patch b/dev-python/numpy/files/numpy-1.14.5-no-hardcode-blas.patch
new file mode 100644
index 000000000000..39777ec55afb
--- /dev/null
+++ b/dev-python/numpy/files/numpy-1.14.5-no-hardcode-blas.patch
@@ -0,0 +1,75 @@
+diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
+index 93a8e6f..df3f3f8 100644
+--- a/numpy/distutils/system_info.py
++++ b/numpy/distutils/system_info.py
+@@ -364,28 +364,7 @@ def get_info(name, notfound_action=0):
+ 1 - display warning message
+ 2 - raise error
+ """
+- cl = {'atlas': atlas_info, # use lapack_opt or blas_opt instead
+- 'atlas_threads': atlas_threads_info, # ditto
+- 'atlas_blas': atlas_blas_info,
+- 'atlas_blas_threads': atlas_blas_threads_info,
+- 'lapack_atlas': lapack_atlas_info, # use lapack_opt instead
+- 'lapack_atlas_threads': lapack_atlas_threads_info, # ditto
+- 'atlas_3_10': atlas_3_10_info, # use lapack_opt or blas_opt instead
+- 'atlas_3_10_threads': atlas_3_10_threads_info, # ditto
+- 'atlas_3_10_blas': atlas_3_10_blas_info,
+- 'atlas_3_10_blas_threads': atlas_3_10_blas_threads_info,
+- 'lapack_atlas_3_10': lapack_atlas_3_10_info, # use lapack_opt instead
+- 'lapack_atlas_3_10_threads': lapack_atlas_3_10_threads_info, # ditto
+- 'mkl': mkl_info,
+- # openblas which may or may not have embedded lapack
+- 'openblas': openblas_info, # use blas_opt instead
+- # openblas with embedded lapack
+- 'openblas_lapack': openblas_lapack_info, # use blas_opt instead
+- 'openblas_clapack': openblas_clapack_info, # use blas_opt instead
+- 'blis': blis_info, # use blas_opt instead
+- 'lapack_mkl': lapack_mkl_info, # use lapack_opt instead
+- 'blas_mkl': blas_mkl_info, # use blas_opt instead
+- 'x11': x11_info,
++ cl = {'x11': x11_info,
+ 'fft_opt': fft_opt_info,
+ 'fftw': fftw_info,
+ 'fftw2': fftw2_info,
+@@ -730,10 +709,7 @@ class system_info(object):
+ return [b for b in [a.strip() for a in libs.split(',')] if b]
+
+ def get_libraries(self, key='libraries'):
+- if hasattr(self, '_lib_names'):
+- return self.get_libs(key, default=self._lib_names)
+- else:
+- return self.get_libs(key, '')
++ return self.get_libs(key, '')
+
+ def library_extensions(self):
+ c = customized_ccompiler()
+@@ -1740,7 +1716,7 @@ class blas_info(system_info):
+ lib = self.has_cblas(info)
+ if lib is not None:
+ info['language'] = 'c'
+- info['libraries'] = [lib]
++ info['libraries'] = lib
+ info['define_macros'] = [('HAVE_CBLAS', None)]
+ self.set_info(**info)
+
+@@ -1772,16 +1748,16 @@ class blas_info(system_info):
+ # check for cblas lib, and if not present check for blas lib.
+ try:
+ c.link_executable(obj, os.path.join(tmpdir, "a.out"),
+- libraries=["cblas"],
++ libraries=info["libraries"],
+ library_dirs=info['library_dirs'],
+ extra_postargs=info.get('extra_link_args', []))
+- res = "cblas"
++ res = info["libraries"]
+ except distutils.ccompiler.LinkError:
+ c.link_executable(obj, os.path.join(tmpdir, "a.out"),
+ libraries=["blas"],
+ library_dirs=info['library_dirs'],
+ extra_postargs=info.get('extra_link_args', []))
+- res = "blas"
++ res = ["blas"]
+ except distutils.ccompiler.CompileError:
+ res = None
+ finally:
diff --git a/dev-python/numpy/files/numpy-1.14.5-py37.patch b/dev-python/numpy/files/numpy-1.14.5-py37.patch
new file mode 100644
index 000000000000..c53b3acf6966
--- /dev/null
+++ b/dev-python/numpy/files/numpy-1.14.5-py37.patch
@@ -0,0 +1,135 @@
+From dce7f20e95e6bd3fc07517c0b2daf3942a34ddf7 Mon Sep 17 00:00:00 2001
+From: Charles Harris <charlesr.harris@gmail.com>
+Date: Wed, 14 Mar 2018 12:52:26 -0600
+Subject: [PATCH] MAINT: Fix test_utils.py for Python 3.7.
+
+The contents of the module warnings registries was made more module
+specific in Python 3.7 and consequently the tests of the context
+managers clear_and_catch_warnings and suppress_warnings need updating.
+---
+ numpy/testing/tests/test_utils.py | 43 +++++++++++++++++++++----------
+ 1 file changed, 29 insertions(+), 14 deletions(-)
+
+diff --git a/numpy/testing/tests/test_utils.py b/numpy/testing/tests/test_utils.py
+index a97b627f9..33b3555b0 100644
+--- a/numpy/testing/tests/test_utils.py
++++ b/numpy/testing/tests/test_utils.py
+@@ -1114,18 +1114,28 @@ class TestStringEqual(unittest.TestCase):
+ lambda: assert_string_equal("foo", "hello"))
+
+
+-def assert_warn_len_equal(mod, n_in_context, py3_n_in_context=None):
++def assert_warn_len_equal(mod, n_in_context, py34=None, py37=None):
+ mod_warns = mod.__warningregistry__
++ num_warns = len(mod_warns)
+ # Python 3.4 appears to clear any pre-existing warnings of the same type,
+ # when raising warnings inside a catch_warnings block. So, there is a
+ # warning generated by the tests within the context manager, but no
+ # previous warnings.
+ if 'version' in mod_warns:
+- if py3_n_in_context is None:
+- py3_n_in_context = n_in_context
+- assert_equal(len(mod_warns) - 1, py3_n_in_context)
+- else:
+- assert_equal(len(mod_warns), n_in_context)
++ # Python 3 adds a 'version' entry to the registry,
++ # do not count it.
++ num_warns -= 1
++
++ # Behavior of warnings is Python version dependent. Adjust the
++ # expected result to compensate. In particular, Python 3.7 does
++ # not make an entry for ignored warnings.
++ if sys.version_info[:2] >= (3, 7):
++ if py37 is not None:
++ n_in_context = py37
++ elif sys.version_info[:2] >= (3, 4):
++ if py34 is not None:
++ n_in_context = py34
++ assert_equal(num_warns, n_in_context)
+
+
+ def _get_fresh_mod():
+@@ -1134,6 +1144,8 @@ def _get_fresh_mod():
+ try:
+ my_mod.__warningregistry__.clear()
+ except AttributeError:
++ # will not have a __warningregistry__ unless warning has been
++ # raised in the module at some point
+ pass
+ return my_mod
+
+@@ -1147,21 +1159,23 @@ def test_clear_and_catch_warnings():
+ warnings.warn('Some warning')
+ assert_equal(my_mod.__warningregistry__, {})
+ # Without specified modules, don't clear warnings during context
++ # Python 3.7 catch_warnings doesn't make an entry for 'ignore'.
+ with clear_and_catch_warnings():
+ warnings.simplefilter('ignore')
+ warnings.warn('Some warning')
+- assert_warn_len_equal(my_mod, 1)
++ assert_warn_len_equal(my_mod, 1, py37=0)
+ # Confirm that specifying module keeps old warning, does not add new
+ with clear_and_catch_warnings(modules=[my_mod]):
+ warnings.simplefilter('ignore')
+ warnings.warn('Another warning')
+- assert_warn_len_equal(my_mod, 1)
++ assert_warn_len_equal(my_mod, 1, py37=0)
+ # Another warning, no module spec does add to warnings dict, except on
+ # Python 3.4 (see comments in `assert_warn_len_equal`)
++ # Python 3.7 catch_warnings doesn't make an entry for 'ignore'.
+ with clear_and_catch_warnings():
+ warnings.simplefilter('ignore')
+ warnings.warn('Another warning')
+- assert_warn_len_equal(my_mod, 2, 1)
++ assert_warn_len_equal(my_mod, 2, py34=1, py37=0)
+
+
+ def test_suppress_warnings_module():
+@@ -1178,6 +1192,7 @@ def test_suppress_warnings_module():
+ np.apply_along_axis(warn, 0, [0])
+
+ # Test module based warning suppression:
++ assert_warn_len_equal(my_mod, 0)
+ with suppress_warnings() as sup:
+ sup.record(UserWarning)
+ # suppress warning from other module (may have .pyc ending),
+@@ -1189,8 +1204,7 @@ def test_suppress_warnings_module():
+ # got filtered)
+ assert_(len(sup.log) == 1)
+ assert_(sup.log[0].message.args[0] == "Some warning")
+-
+- assert_warn_len_equal(my_mod, 0)
++ assert_warn_len_equal(my_mod, 0, py37=0)
+ sup = suppress_warnings()
+ # Will have to be changed if apply_along_axis is moved:
+ sup.filter(module=my_mod)
+@@ -1204,11 +1218,11 @@ def test_suppress_warnings_module():
+ assert_warn_len_equal(my_mod, 0)
+
+ # Without specified modules, don't clear warnings during context
++ # Python 3.7 does not add ignored warnings.
+ with suppress_warnings():
+ warnings.simplefilter('ignore')
+ warnings.warn('Some warning')
+- assert_warn_len_equal(my_mod, 1)
+-
++ assert_warn_len_equal(my_mod, 1, py37=0)
+
+ def test_suppress_warnings_type():
+ # Initial state of module, no warnings
+@@ -1232,10 +1246,11 @@ def test_suppress_warnings_type():
+ assert_warn_len_equal(my_mod, 0)
+
+ # Without specified modules, don't clear warnings during context
++ # Python 3.7 does not add ignored warnings.
+ with suppress_warnings():
+ warnings.simplefilter('ignore')
+ warnings.warn('Some warning')
+- assert_warn_len_equal(my_mod, 1)
++ assert_warn_len_equal(my_mod, 1, py37=0)
+
+
+ def test_suppress_warnings_decorate_no_record():
+--
+2.18.0
+
diff --git a/dev-python/numpy/numpy-1.14.5.ebuild b/dev-python/numpy/numpy-1.14.5.ebuild
new file mode 100644
index 000000000000..69028b40de6f
--- /dev/null
+++ b/dev-python/numpy/numpy-1.14.5.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
+PYTHON_REQ_USE="threads(+)"
+
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 multiprocessing toolchain-funcs
+
+DOC_PV="${PV}"
+DOC_P="${PN}-${DOC_PV}"
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="https://www.numpy.org"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.zip
+ doc? (
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-html-${DOC_PV}.zip
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-ref-${DOC_PV}.pdf
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-user-${DOC_PV}.pdf
+ )"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc lapack test"
+
+RDEPEND="lapack? ( virtual/cblas virtual/lapack )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ lapack? ( virtual/pkgconfig )
+ test? ( >=dev-python/nose-1.0[${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.14.5-no-hardcode-blas.patch
+ # backport a fix for py3.7 test failures
+ "${FILESDIR}"/numpy-1.14.5-py37.patch
+)
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ if use lapack; then
+ append-ldflags "$($(tc-getPKG_CONFIG) --libs-only-other cblas lapack)"
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ cat >> site.cfg <<-EOF || die
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ else
+ export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
+ fi
+
+ export CC="$(tc-getCC) ${CFLAGS}"
+
+ append-flags -fno-strict-aliasing
+
+ # See progress in http://projects.scipy.org/scipy/numpy/ticket/573
+ # with the subtle difference that we don't want to break Darwin where
+ # -shared is not a valid linker argument
+ if [[ ${CHOST} != *-darwin* ]]; then
+ append-ldflags -shared
+ fi
+
+ # only one fortran to link with:
+ # linking with cblas and lapack library will force
+ # autodetecting and linking to all available fortran compilers
+ append-fflags -fPIC
+ if use lapack; then
+ NUMPY_FCONFIG="config_fc --noopt --noarch"
+ # workaround bug 335908
+ [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
+ fi
+
+ # don't version f2py, we will handle it.
+ sed -i -e '/f2py_exe/s: + os\.path.*$::' numpy/f2py/setup.py || die
+
+ # we don't have f2py-3.3
+ sed \
+ -e 's:test_f2py:_&:g' \
+ -i numpy/tests/test_scripts.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local python_makeopts_jobs=""
+ python_is_python3 || python_makeopts_jobs="-j $(makeopts_jobs)"
+ distutils-r1_python_compile \
+ ${python_makeopts_jobs} \
+ ${NUMPY_FCONFIG}
+}
+
+python_test() {
+ distutils_install_for_testing --single-version-externally-managed --record "${TMPDIR}/record.txt" ${NUMPY_FCONFIG}
+
+ cd "${TMPDIR}" || die
+
+ ${EPYTHON} -c "
+import numpy, sys
+r = numpy.test(label='full', verbose=3)
+sys.exit(0 if r.wasSuccessful() else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install ${NUMPY_FCONFIG}
+}
+
+python_install_all() {
+ local DOCS=( THANKS.txt )
+
+ if use doc; then
+ local HTML_DOCS=( "${WORKDIR}"/html/. )
+ DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf )
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/numpy/numpy-9999.ebuild b/dev-python/numpy/numpy-9999.ebuild
index a930c5a32ab4..aa2a3abfa0ef 100644
--- a/dev-python/numpy/numpy-9999.ebuild
+++ b/dev-python/numpy/numpy-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=5
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
PYTHON_REQ_USE="threads(+)"
FORTRAN_NEEDED=lapack