diff options
author | Justin Lecher <jlec@gentoo.org> | 2014-02-24 12:15:11 +0000 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2014-02-24 12:15:11 +0000 |
commit | 2ba0de0d3bbc8e4faefca27c80ed3dd1c12a332e (patch) | |
tree | ff96352695d9459e83ebcae37fa8c083df77c4a7 /dev-python/numpy | |
parent | Version bump. (diff) | |
download | historical-2ba0de0d3bbc8e4faefca27c80ed3dd1c12a332e.tar.gz historical-2ba0de0d3bbc8e4faefca27c80ed3dd1c12a332e.tar.bz2 historical-2ba0de0d3bbc8e4faefca27c80ed3dd1c12a332e.zip |
dev-python/numpy: Backport fix for regression in testsuite, #500484; enable full testsuite; thanks Arfrever helping here; drop old patches
Package-Manager: portage-2.2.8-r1/cvs/Linux x86_64
Manifest-Sign-Key: 0xB9D4F231BD1558AB!
Diffstat (limited to 'dev-python/numpy')
-rw-r--r-- | dev-python/numpy/ChangeLog | 10 | ||||
-rw-r--r-- | dev-python/numpy/Manifest | 39 | ||||
-rw-r--r-- | dev-python/numpy/files/numpy-1.6.1-atlas.patch | 17 | ||||
-rw-r--r-- | dev-python/numpy/files/numpy-1.6.2-distutils.patch | 540 | ||||
-rw-r--r-- | dev-python/numpy/files/numpy-1.6.2-test-pareto.patch | 45 | ||||
-rw-r--r-- | dev-python/numpy/files/numpy-1.7.0-atlas.patch | 17 | ||||
-rw-r--r-- | dev-python/numpy/files/numpy-1.7.1-distutils-python33.patch | 540 | ||||
-rw-r--r-- | dev-python/numpy/files/numpy-1.8.0-f2py-insecure-temporary.patch | 2 | ||||
-rw-r--r-- | dev-python/numpy/numpy-1.8.0-r1.ebuild | 15 |
9 files changed, 35 insertions, 1190 deletions
diff --git a/dev-python/numpy/ChangeLog b/dev-python/numpy/ChangeLog index 4ba4c6cfd66c..88656ee84b3f 100644 --- a/dev-python/numpy/ChangeLog +++ b/dev-python/numpy/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for dev-python/numpy # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/numpy/ChangeLog,v 1.231 2014/02/22 11:23:17 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-python/numpy/ChangeLog,v 1.232 2014/02/24 12:15:10 jlec Exp $ + + 24 Feb 2014; Justin Lecher <jlec@gentoo.org> numpy-1.8.0-r1.ebuild, + -files/numpy-1.6.1-atlas.patch, -files/numpy-1.6.2-distutils.patch, + -files/numpy-1.6.2-test-pareto.patch, -files/numpy-1.7.0-atlas.patch, + -files/numpy-1.7.1-distutils-python33.patch, + files/numpy-1.8.0-f2py-insecure-temporary.patch: + Backport fix for regression in testsuite, #500484; enable full testsuite; + thanks Arfrever helping here; drop old patches 22 Feb 2014; Justin Lecher <jlec@gentoo.org> -numpy-1.6.2-r2.ebuild, -numpy-1.7.1.ebuild: diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest index fa68468ea9c0..78246466d915 100644 --- a/dev-python/numpy/Manifest +++ b/dev-python/numpy/Manifest @@ -1,36 +1,31 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 -AUX numpy-1.6.1-atlas.patch 829 SHA256 5faada467f38931eb128144bdef72d19b227eb3583bcdc95b973bc2267e3705d SHA512 84e5a820fad9bb2c97c866891b7e4cd5d025c21b4ccff2703b57eabdf3597cb9162d528d13863e1f6fa6b1e50281b2066f12b975feb88cc905b6da6cc60adde5 WHIRLPOOL 1f14425a1dd6717611a77693a90a94e60bde5ecfe82e5d26c0c38aa33e0374b363c135e906ec51c382bf62761d95aa9293d0f98ccf04e07544ad184d39e9d965 -AUX numpy-1.6.2-distutils.patch 20000 SHA256 779c0b03ee25b294f203729e954eed02022113ab18f4a1fbc20c36299dc5c1b8 SHA512 d47c2d4dab77c69fbad4b3a84df493e1e2a584b67d5832b3c11ca5d449935ca4ac5626d3616c8f612e74cb6503ddbf94a44fd1fda7b9aed5f20e8358aaa44c8a WHIRLPOOL bb876d24d56dd13409516e7de3dfce492fd4498ad186016be672b3ef613064c3c7f3fb8f62e0188277d2ea7191efb490e7482fd60413ce0f75df5052c8f8a828 -AUX numpy-1.6.2-test-pareto.patch 1857 SHA256 6e5d42323fdd76ad8e4c7d9dfd313f27e5b301f9ec3a98810779f6e6524e9675 SHA512 342576c546839ed601d32542947b52684b208c89a9fa93176f7d2b1ca77bd7c1179ea2513f094a59a55d01d686cda2b9e2cc07ca386e4c4146fdcc6f980b7235 WHIRLPOOL fae26d2cea2d28b9a569fbf4195401b4b342e25468cf7e3d0750adb306a61d22ed88d1903f8f382740f2a7d76e5c277bb6fd9b622530fe16d14aba0266828583 -AUX numpy-1.7.0-atlas.patch 845 SHA256 fe1097351178aab9fe7fbf4dde87a2e177c53989b6080bb5b2a9059fd596d83f SHA512 a9c4a8b9a11c58462cfc13beec8e5f4045a302c833e792cd42b35d5a0cfb497b594d3cfe8ea51108f447bcdc22308f74bd9dea108de1e6491e3adc761be7dd42 WHIRLPOOL b815cded5082740c8941a6c976345465e1815a926c2bfb8bdb940096f4e928a7065dbbcc3a9b195584dbca0612c725d6a4a6b260fabd50f8ad9af7c29cb9fdab -AUX numpy-1.7.1-distutils-python33.patch 20008 SHA256 5a5f191321b794fea110610246ccbaf985c790e184ce6df6928af0686cc43acd SHA512 a97db2d74d8be34a84d7aafc992379ecfff1303f1b2ea21689a31183b8c433d02a8c86f4c529ada24451188c3dc6895f83cd06cc7a1ad59a732ec94878875a52 WHIRLPOOL efbdf5c8658cc6038ea8881e493c7653a71d185864a1103d20f157f853641f7a52a70bdec3932ed70ceb6d8fc568fe6c7273e03bba8213e262e9d0d7d83d9a10 -AUX numpy-1.8.0-f2py-insecure-temporary.patch 7243 SHA256 4215b023f3d03b506f9c757c532cf9a6188cb218b4f3c97aea83376f121d1ab0 SHA512 b3c70726f443c41520a77ae80f937d5e990754d9afcc1120e41841f70759c5c5352fe0a47adbada3ce84384a3b8fefdcab8a763c9082af38d7dd85b163679657 WHIRLPOOL 3d8be22202ff6fb7dc47229a2e13ba02b1e2df86bfdd7a3dee22592e20999284219c48881dde23829720cc0dd31a2c79a55faa5df3c3dc5aa552c163d4f64e3e +AUX numpy-1.8.0-f2py-insecure-temporary.patch 7232 SHA256 3e10992bcb67bedb61d07c6679e66b02de4e0cde5cb7c60034a5aafdaab9f337 SHA512 509e75d3c0a0c0afcbd57545078fb3cbc3ec611429560b9f70529a9dfb36ec13a942e3cf8ae39463be36fc5bcd6aee68445559e03801cc11ccca3a69ccf556f0 WHIRLPOOL 3653cf024f8f2c67704e3ca2501553437a41103bf2b87a1c0f43e1bd4a8364ae90a6322fa59971b26dd488a62de4fccad1109ea5059fd8ac1226c7319dfa9011 AUX numpy-1.8.0-no-hardcode-blas.patch 1153 SHA256 ad79d788189db97178b73f019a47c502bb9297ae7a1b248da878f3f91ab8af3b SHA512 baa29a0c981ede608d890e776026961fb71156eb7804f702623bce775e3b6ce3bb28ced252d9c6fe991429b690b3eef8468d703f79247820527648d6484d23f3 WHIRLPOOL 38db4618b8fe505b711270b9050c56c1541c2fc3094b02ef6a45e776d56f54fd82b79ddc1b65721e0ac08949c6b9354da8c6ae0437b77e3b474ca941d44de9bb DIST numpy-1.8.0.tar.gz 3779617 SHA256 2764d0819acc77e9ff81b060fe7f69530b0d85c26ac9d162639b787cb227d253 SHA512 ec3d002ed786335e8748983261c96f88a9f1520fc345ad5b810dc02a5e126e15fe5afb02bed1f4b43d580a1da39583d86b84f57dc456b0702653e34e5357c857 WHIRLPOOL 8796d90795ddec62e6d72be433ea00917a63ef39cf3fe81e094f653e1863b69ecdce812995877f78e4324434141b03e2ceb3f872ed4e023b19c6bd9bcc294ac2 DIST numpy-html-1.8.0.zip 9779825 SHA256 39e853c1aaa711976333782f465f2579ca66e6698393f6ba79f5cc78317b1203 SHA512 33333c48a3f4d27ccddf6696dce4e346f8729d1f398128b3bfebb8a9d53ded7bb62b63a766319f6e49ba7cf8ca4e1ce252996acd263976ad2990bf9650d71043 WHIRLPOOL 7eea0ad3418c55d6104a4a115fcdcd5eeb291b9fc1237724e10dcbbf95bc7a4a23b519c64976ac405fb4c5abbaae87a6c747f9ad695d08b6326b459ba1fb8a15 DIST numpy-ref-1.8.0.pdf 5324229 SHA256 49ecb1d768eb48598439cc63058f830ca3522fe1cfeba1a321086e9820ae8911 SHA512 d89314215c4adefa487b3e46b2babeda7739ee193fef821846d4df0089fabf2167b47dd2990b6bd423432f75238547548924622c6f3b9a90a36d578450001eb2 WHIRLPOOL 3bb12c719cbe4734014774f1bfc3f98af544ee2c407adb2e3ee988e2b1035ad0ef711eaa68168656be7b034df2db76c8789daa2940a048b4a6cb3af0bb0eca68 DIST numpy-user-1.8.0.pdf 408447 SHA256 a8c30360f9e46c63cfdf48fa594971d94d68ce59ece08c13d4acde8b14032cfe SHA512 10293dba45377c6f1024125a49810b01e388eb33a3e8ed75b8ec39c2b93e53878cbe62e6b7adbf1e957dc47ef253e20304afa7d86d798fb5198887cbe618131f WHIRLPOOL 70cc5a5e97a919bb027f92ac87127fb1bc08d06e2a131c4b413837e76d8feab9b65d7dc9e95b6e797d057efb6abf0d2b3e7562ee3cd140b1ff1418bad5475335 -EBUILD numpy-1.8.0-r1.ebuild 4003 SHA256 0f63749cf38a4a1950e81feeed218638c7a971875020f0df25f66e176e164b1e SHA512 fd6f9af749e4ea57608b8720ac73855944543a7588f6110a6623c4339824e522a4242466112a7bf8c195eee593b3761fe85c0e7353ed1fcda007dc6c148b9bb5 WHIRLPOOL 88d8aa376b15949974ef8ce347723ff8c1045b2c12aa5a9d3aaa0fd443fcae2e6db3375f36bd27e4b0e1bb422878e5f131c361819541c799f5877b19fba305eb -MISC ChangeLog 31938 SHA256 ff95f65b9e7e8f5e4288cbd05b9650b13a992ba021326af5251a9d38629eb0cb SHA512 d05320176472693059e77b33c00cca2ebe6e749d6243a7969aebe2ea6b7f522899ae7625a451cdfe23c5418b7d2570f81e53bea500986528ef07b0fc85543b03 WHIRLPOOL aa175a9f297ae7a799faf4b2d826808d641118d48c9e11db698358775cf628c6dd57b700bed6213878d05e957369666f57369bb3deb2fd9cfd91d73b15928575 +EBUILD numpy-1.8.0-r1.ebuild 4007 SHA256 f5bc577939cc56183acee30235b29c75d05b294ca93c57b3732b8d10efacd0c6 SHA512 c69a76a703241775745d89fcb2bb78387c528f44a6c5e9334a30d372b6a233aeee97a50f86d87edc0d1638df00e869517a7e886b1436cb57d4c8152f452f025f WHIRLPOOL c914179d52080f4bbadb300aab3a500c01762822b2f98bcbd3f316d8d3254fc47eb38f0288950b7e6f5d554e51ded69d4561b27f91937ed2a0a59327e7d4e2b2 +MISC ChangeLog 32374 SHA256 7eac24b2b02e2f4d04e00edfcc5f4790cfd520fa40ef46bfd9ab742f5175351d SHA512 6949d2edcb895bb9bf506a6734161cfbe940f3f1bcc834b493500b1de37b73490b79c344c61c9a3cd1bf8c914770eb920e47c681182f1ac0b49816f44cd92766 WHIRLPOOL 161be8274615dfc5bb8999d81c40c524fdd8159ad33cd62b0d17ef245f18fedc2c0fc3a35409fdaa41d6bef000cb043637e20215e7ced79e8d848dd10ccf23b3 MISC metadata.xml 690 SHA256 9c315188497956a9b1e2a1373f7830f702cf9b588aabc33a3f5547ab75b20a84 SHA512 1adcf955fdc7f06b56a69c6345b79a4fb0ca0df17cfdcd1f3604a234389534f8f00b88ebddb3e47a39d563d7374d40349c3e4050799a31405446a1629f8c7698 WHIRLPOOL e2b34ab0b391c99a279dd11de292aafd9225f9743ec3bafafd980edb7522e772cde461705d5394569aa8dd73e72a210560eb50a23b2334ab5c12ec064099abd1 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) -iQJ8BAEBCgBmBQJTCIjZXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +iQJ8BAEBCgBmBQJTCzfPXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQyQ0JDQjFGMzBDQ0UxMjFGNENDNDgxMDdC -OUQ0RjIzMUJEMTU1OEFCAAoJELnU8jG9FVirYs8QAI5SprdDD66PGaajSNS0WmF/ -Zh9IhZLEXNcHyW323dlKthn5WhS7NJhHGIhDxJctRDtutuMDCycfSJZgVlVLhlyo -KjZPkzkt0gLEJT8Tx3yKqHbA5dXE2RZObRsaIGYfesNwmgNJw/LZj+SeUGRLjGJU -yvkuNEKdoUQe3kVInaaEzd1adutGGTAlt51Ed7PxX4c6eGGFGs4T+x8OuSoiH4sx -bbXmMKHeMslQ9OKT0/TtZpI11ZWo/FOK2Y9dSD3+vzIAz47r4TGquAlfhxKzGwzl -nLLeNySTszKndcrkm84pzo8vLY9cZ1a5uMe7m3fAhiiJ+ynHDUqVRwd7XzZ/ayZg -0UU78HSsQzhBicRsH+HbU9PqCnpPhqPoQMiUfTtfe9/3NVA3u+sXWL/ftzHsVO7U -qBgo6Kr6n+ALvK/QR8eD6OPkgkIaZs/hATfHBhhscjPppgb/Z0cJrEKJVeeBg4Dr -jxl5KUx/gK70GANsy3koa4B410UhiiocpW4mE+fcfX/BIsBqJaIY8NHJE9fK0FbC -FuYSMpj1Iw537Uin9w3IV3KYLPqjXQmzT91/+tTUY06jkTyyVIPYOsrSs5qH5Csn -NC0Fwg0xAD/arRwNoSNIEkjiOX8dEjkoDYudFYza2hc8nZ0kmDdNIAJRJiaXeCBR -hN/+x8wDjAK3y8GCswr2 -=Mr9I +OUQ0RjIzMUJEMTU1OEFCAAoJELnU8jG9FVirfW4P/0/T9PhpOipbzIWgdR2p837N +H4UqFtI4G9kRZaobmuotTRNfFoMvHRTQB2qC7LeFwEfA8cLKpjeZ5nWTxIsJBH+B +iWr35UpIq7LrUOP2XYlgodd0tX9TiHhNnt6O0bUTxO6JVXKPGw6HkqBfzY8uWUuq +s3cCbBRPG8RZivXEQ/tShVoRQiLSltbsZ6E6de6HML/jetNKBGEkfMtOeDoH+/w9 +qzNPCiZaN5FtpNr1ooaNAxbNXB6Xy/QBjwvoIkCHBDYrvvXFjiSdZyosuXfwJaa+ +HfDquOtn+wLJFD/IaKDF0spzV9PnedYq6dqeTixm4UDsoVIfr4EaGPLk1hAFewsU +0PK7BPimLhUoAbJ1ILO2wGziuc+PvzMgyROyNp8Vua+yxjtZSFTz0eRbmN0yctHr +KZt90cep0eADGqn6k11cGNDvLtDEbB3nzpMkT6Y9bSJiAxl17UpzkXi8oCTgHJdV +Hoyd1qd3YM44FhbdmBvfMtINy8k/xxkgbhmFf8825TaCmt4Y+8oSLK02FUul5xAK +G1r5YnT4YdkIfjQ+Mhwunya6fkykAaCpE6gQySAIDjJ6aUREfQTndaeKHQ435b0s +lAOGS9/3BjNC3ubb/DOFMI2rFsXt0m7ScdEsHd5XgIyBwHgEPCm1AAU3LPdXilAG +u8fHrxgK0t54yuZL+yVC +=ROyw -----END PGP SIGNATURE----- diff --git a/dev-python/numpy/files/numpy-1.6.1-atlas.patch b/dev-python/numpy/files/numpy-1.6.1-atlas.patch deleted file mode 100644 index b10f653ea33b..000000000000 --- a/dev-python/numpy/files/numpy-1.6.1-atlas.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- numpy/distutils/system_info.py 2011-10-10 20:45:44.261316565 +0300 -+++ numpy/distutils/system_info.py 2011-10-10 20:50:22.977932228 +0300 -@@ -255,13 +255,7 @@ - 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 -- 'mkl':mkl_info, -+ cl = {'mkl':mkl_info, - 'lapack_mkl':lapack_mkl_info, # use lapack_opt instead - 'blas_mkl':blas_mkl_info, # use blas_opt instead - 'x11':x11_info, diff --git a/dev-python/numpy/files/numpy-1.6.2-distutils.patch b/dev-python/numpy/files/numpy-1.6.2-distutils.patch deleted file mode 100644 index 9fb4d65251ad..000000000000 --- a/dev-python/numpy/files/numpy-1.6.2-distutils.patch +++ /dev/null @@ -1,540 +0,0 @@ ---- numpy/distutils/misc_util.py.orig 2013-04-06 22:04:05.000000000 -0700 -+++ numpy/distutils/misc_util.py 2013-08-27 11:11:50.970945380 -0700 -@@ -1,3 +1,5 @@ -+from __future__ import division, absolute_import, print_function -+ - import os - import re - import sys -@@ -165,7 +167,7 @@ - fid = open(config_file) - mathlibs = [] - s = '#define MATHLIB' -- for line in fid.readlines(): -+ for line in fid: - if line.startswith(s): - value = line[len(s):].strip() - if value: -@@ -218,8 +220,8 @@ - else: - if include_non_existing: - new_paths.append(n) -- print('could not resolve pattern in %r: %r' \ -- % (local_path,n)) -+ print('could not resolve pattern in %r: %r' % -+ (local_path,n)) - else: - n2 = njoin(local_path,n) - if os.path.exists(n2): -@@ -230,8 +232,8 @@ - elif include_non_existing: - new_paths.append(n) - if not os.path.exists(n): -- print('non-existing path in %r: %r' \ -- % (local_path,n)) -+ print('non-existing path in %r: %r' % -+ (local_path,n)) - - elif is_sequence(n): - new_paths.extend(_fix_paths(n,local_path,include_non_existing)) -@@ -249,11 +251,9 @@ - - _temporary_directory = None - def clean_up_temporary_directory(): -- from numpy.distutils import log - global _temporary_directory - if not _temporary_directory: - return -- log.debug('removing %s', _temporary_directory) - try: - shutil.rmtree(_temporary_directory) - except OSError: -@@ -394,8 +394,7 @@ - return [] - modules = [] - f = open(source,'r') -- f_readlines = getattr(f,'xreadlines',f.readlines) -- for line in f_readlines(): -+ for line in f: - m = f90_module_name_match(line) - if m: - name = m.group('name') -@@ -557,7 +556,7 @@ - def get_ext_source_files(ext): - # Get sources and any include files in the same directory. - filenames = [] -- sources = filter(is_string, ext.sources) -+ sources = [_m for _m in ext.sources if is_string(_m)] - filenames.extend(sources) - filenames.extend(get_dependencies(sources)) - for d in ext.depends: -@@ -568,13 +567,13 @@ - return filenames - - def get_script_files(scripts): -- scripts = filter(is_string, scripts) -+ scripts = [_m for _m in scripts if is_string(_m)] - return scripts - - def get_lib_source_files(lib): - filenames = [] - sources = lib[1].get('sources',[]) -- sources = filter(is_string, sources) -+ sources = [_m for _m in sources if is_string(_m)] - filenames.extend(sources) - filenames.extend(get_dependencies(sources)) - depends = lib[1].get('depends',[]) -@@ -606,11 +605,29 @@ - Linux, but not on OS X. - - """ -- so_ext = distutils.sysconfig.get_config_var('SO') or '' -- # fix long extension for Python >=3.2, see PEP 3149. -- if (not is_python_ext) and 'SOABI' in distutils.sysconfig.get_config_vars(): -- # Does nothing unless SOABI config var exists -- so_ext = so_ext.replace('.' + distutils.sysconfig.get_config_var('SOABI'), '', 1) -+ confvars = distutils.sysconfig.get_config_vars() -+ # SO is deprecated in 3.3.1, use EXT_SUFFIX instead -+ so_ext = confvars.get('EXT_SUFFIX', None) -+ if so_ext is None: -+ so_ext = confvars.get('SO', '') -+ -+ if not is_python_ext: -+ # hardcode known values, config vars (including SHLIB_SUFFIX) are -+ # unreliable (see #3182) -+ # darwin, windows and debug linux are wrong in 3.3.1 and older -+ if (sys.platform.startswith('linux') or -+ sys.platform.startswith('gnukfreebsd')): -+ so_ext = '.so' -+ elif sys.platform.startswith('darwin'): -+ so_ext = '.dylib' -+ elif sys.platform.startswith('win'): -+ so_ext = '.dll' -+ else: -+ # fall back to config vars for unknown platforms -+ # fix long extension for Python >=3.2, see PEP 3149. -+ if 'SOABI' in confvars: -+ # Does nothing unless SOABI config var exists -+ so_ext = so_ext.replace('.' + confvars.get('SOABI'), '', 1) - - return so_ext - -@@ -628,7 +645,7 @@ - if os.path.isfile(s): - filenames.append(s) - else: -- print('Not existing data file:',s) -+ print('Not existing data file:', s) - else: - raise TypeError(repr(s)) - return filenames -@@ -647,56 +664,13 @@ - frame = frame.f_back - return frame - --class SconsInfo(object): -- """ -- Container object holding build info for building a package with scons. -- -- Parameters -- ---------- -- scons_path : str or None -- Path to scons script, relative to the directory of setup.py. -- If None, no scons script is specified. This can be useful to add only -- pre- and post-hooks to a configuration. -- parent_name : str or None -- Name of the parent package (for example "numpy"). -- pre_hook : sequence of callables or None -- Callables that are executed before scons is invoked. -- Each callable should be defined as ``callable(*args, **kw)``. -- post_hook : sequence of callables or None -- Callables that are executed after scons is invoked. -- Each callable should be defined as ``callable(*args, **kw)``. -- source_files : list of str or None -- List of paths to source files, relative to the directory of setup.py. -- pkg_path : str or None -- Path to the package for which the `SconsInfo` instance holds the -- build info, relative to the directory of setup.py. -- -- Notes -- ----- -- All parameters are available as attributes of a `SconsInfo` instance. -- -- """ -- def __init__(self, scons_path, parent_name, pre_hook, -- post_hook, source_files, pkg_path): -- self.scons_path = scons_path -- self.parent_name = parent_name -- self.pre_hook = pre_hook -- self.post_hook = post_hook -- self.source_files = source_files -- if pkg_path: -- self.pkg_path = pkg_path -- else: -- if scons_path: -- self.pkg_path = os.path.dirname(scons_path) -- else: -- self.pkg_path = '' - - ###################### - - class Configuration(object): - - _list_keys = ['packages', 'ext_modules', 'data_files', 'include_dirs', -- 'libraries', 'headers', 'scripts', 'py_modules', 'scons_data', -+ 'libraries', 'headers', 'scripts', 'py_modules', - 'installed_libraries'] - _dict_keys = ['package_dir', 'installed_pkg_config'] - _extra_keys = ['name', 'version'] -@@ -853,7 +827,7 @@ - caller_level = 1): - l = subpackage_name.split('.') - subpackage_path = njoin([self.local_path]+l) -- dirs = filter(os.path.isdir,glob.glob(subpackage_path)) -+ dirs = [_m for _m in glob.glob(subpackage_path) if os.path.isdir(_m)] - config_list = [] - for d in dirs: - if not os.path.isfile(njoin(d,'__init__.py')): -@@ -895,7 +869,7 @@ - pn = dot_join(*([parent_name] + subpackage_name.split('.')[:-1])) - args = (pn,) - def fix_args_py2(args): -- if setup_module.configuration.func_code.co_argcount > 1: -+ if setup_module.configuration.__code__.co_argcount > 1: - args = args + (self.top_path,) - return args - def fix_args_py3(args): -@@ -922,14 +896,14 @@ - - Parameters - ---------- -- subpackage_name: str,None -+ subpackage_name : str or None - Name of the subpackage to get the configuration. '*' in - subpackage_name is handled as a wildcard. -- subpackage_path: str -+ subpackage_path : str - If None, then the path is assumed to be the local path plus the - subpackage_name. If a setup.py file is not found in the - subpackage_path, then a default configuration is used. -- parent_name: str -+ parent_name : str - Parent name. - """ - if subpackage_name is None: -@@ -985,13 +959,13 @@ - - Parameters - ---------- -- subpackage_name: str -+ subpackage_name : str - name of the subpackage -- subpackage_path: str -+ subpackage_path : str - if given, the subpackage path such as the subpackage is in - subpackage_path / subpackage_name. If None,the subpackage is - assumed to be located in the local path / subpackage_name. -- standalone: bool -+ standalone : bool - """ - - if standalone: -@@ -1029,10 +1003,10 @@ - - Parameters - ---------- -- data_path: seq,str -+ data_path : seq or str - Argument can be either - -- * 2-sequence (<datadir suffix>,<path to data directory>) -+ * 2-sequence (<datadir suffix>, <path to data directory>) - * path to data directory where python datadir suffix defaults - to package dir. - -@@ -1091,14 +1065,14 @@ - pattern_list = allpath(d).split(os.sep) - pattern_list.reverse() - # /a/*//b/ -> /a/*/b -- rl = range(len(pattern_list)-1); rl.reverse() -+ rl = list(range(len(pattern_list)-1)); rl.reverse() - for i in rl: - if not pattern_list[i]: - del pattern_list[i] - # - for path in paths: - if not os.path.isdir(path): -- print('Not a directory, skipping',path) -+ print('Not a directory, skipping', path) - continue - rpath = rel_path(path, self.local_path) - path_list = rpath.split(os.sep) -@@ -1151,7 +1125,7 @@ - - Parameters - ---------- -- files: sequence -+ files : sequence - Argument(s) can be either - - * 2-sequence (<datadir prefix>,<path to data file(s)>) -@@ -1330,7 +1304,7 @@ - - Parameters - ---------- -- files: str, seq -+ files : str or seq - Argument(s) can be either: - - * 2-sequence (<includedir suffix>,<path to header file(s)>) -@@ -1385,9 +1359,9 @@ - - Parameters - ---------- -- name: str -+ name : str - name of the extension -- sources: seq -+ sources : seq - list of the sources. The list of sources may contain functions - (called source generators) which must take an extension instance - and a build directory as inputs and return a source file or list of -@@ -1395,28 +1369,28 @@ - generated. If the Extension instance has no sources after - processing all source generators, then no extension module is - built. -- include_dirs: -- define_macros: -- undef_macros: -- library_dirs: -- libraries: -- runtime_library_dirs: -- extra_objects: -- extra_compile_args: -- extra_link_args: -- extra_f77_compile_args: -- extra_f90_compile_args: -- export_symbols: -- swig_opts: -- depends: -+ include_dirs : -+ define_macros : -+ undef_macros : -+ library_dirs : -+ libraries : -+ runtime_library_dirs : -+ extra_objects : -+ extra_compile_args : -+ extra_link_args : -+ extra_f77_compile_args : -+ extra_f90_compile_args : -+ export_symbols : -+ swig_opts : -+ depends : - The depends list contains paths to files or directories that the - sources of the extension module depend on. If any path in the - depends list is newer than the extension module, then the module - will be rebuilt. -- language: -- f2py_options: -- module_dirs: -- extra_info: dict,list -+ language : -+ f2py_options : -+ module_dirs : -+ extra_info : dict or list - dict or list of dict of keywords to be appended to keywords. - - Notes -@@ -1653,65 +1627,6 @@ - self.installed_pkg_config[self.name] = [(template, install_dir, - subst_dict)] - -- def add_scons_installed_library(self, name, install_dir): -- """ -- Add a scons-built installable library to distutils. -- -- Parameters -- ---------- -- name : str -- The name of the library. -- install_dir : str -- Path to install the library, relative to the current sub-package. -- -- """ -- install_dir = os.path.join(self.package_path, install_dir) -- self.installed_libraries.append(InstallableLib(name, {}, install_dir)) -- -- def add_sconscript(self, sconscript, subpackage_path=None, -- standalone = False, pre_hook = None, -- post_hook = None, source_files = None, package_path=None): -- """Add a sconscript to configuration. -- -- pre_hook and post hook should be sequences of callable, which will be -- use before and after executing scons. The callable should be defined as -- callable(*args, **kw). It is ugly, but well, hooks are ugly anyway... -- -- sconscript can be None, which can be useful to add only post/pre -- hooks.""" -- if standalone: -- parent_name = None -- else: -- parent_name = self.name -- -- dist = self.get_distribution() -- # Convert the sconscript name to a relative filename (relative from top -- # setup.py's directory) -- fullsconsname = self.paths(sconscript)[0] -- -- # XXX: Think about a way to automatically register source files from -- # scons... -- full_source_files = [] -- if source_files: -- full_source_files.extend([self.paths(i)[0] for i in source_files]) -- -- scons_info = SconsInfo(fullsconsname, parent_name, -- pre_hook, post_hook, -- full_source_files, package_path) -- if dist is not None: -- if dist.scons_data is None: -- dist.scons_data = [] -- dist.scons_data.append(scons_info) -- self.warn('distutils distribution has been initialized,'\ -- ' it may be too late to add a subpackage '+ subpackage_name) -- # XXX: we add a fake extension, to correctly initialize some -- # options in distutils command. -- dist.add_extension('', sources = []) -- else: -- self.scons_data.append(scons_info) -- # XXX: we add a fake extension, to correctly initialize some -- # options in distutils command. -- self.add_extension('', sources = []) - - def add_scripts(self,*files): - """Add scripts to configuration. -@@ -2086,11 +2001,6 @@ - """ - self.py_modules.append((self.name,name,generate_config_py)) - -- def scons_make_config_py(self, name = '__config__'): -- """Generate package __config__.py file containing system_info -- information used during building the package. -- """ -- self.py_modules.append((self.name, name, scons_generate_config_py)) - - def get_info(self,*names): - """Get resources information. -@@ -2098,7 +2008,7 @@ - Return information (from system_info.get_info) for all of the names in - the argument list in a single dictionary. - """ -- from system_info import get_info, dict_append -+ from .system_info import get_info, dict_append - info_dict = {} - for a in names: - dict_append(info_dict,**get_info(a)) -@@ -2233,57 +2143,18 @@ - return info - - def is_bootstrapping(): -- import __builtin__ -+ if sys.version_info[0] >= 3: -+ import builtins -+ else: -+ import __builtin__ as builtins -+ - try: -- __builtin__.__NUMPY_SETUP__ -+ builtins.__NUMPY_SETUP__ - return True - except AttributeError: - return False - __NUMPY_SETUP__ = False - --def scons_generate_config_py(target): -- """generate config.py file containing system_info information -- used during building the package. -- -- usage: -- config['py_modules'].append((packagename, '__config__',generate_config_py)) -- """ -- from distutils.dir_util import mkpath -- from numscons import get_scons_configres_dir, get_scons_configres_filename -- d = {} -- mkpath(os.path.dirname(target)) -- f = open(target, 'w') -- f.write('# this file is generated by %s\n' % (os.path.abspath(sys.argv[0]))) -- f.write('# it contains system_info results at the time of building this package.\n') -- f.write('__all__ = ["show"]\n\n') -- confdir = get_scons_configres_dir() -- confilename = get_scons_configres_filename() -- for root, dirs, files in os.walk(confdir): -- if files: -- file = os.path.join(root, confilename) -- assert root.startswith(confdir) -- pkg_name = '.'.join(root[len(confdir)+1:].split(os.sep)) -- fid = open(file, 'r') -- try: -- cnt = fid.read() -- d[pkg_name] = eval(cnt) -- finally: -- fid.close() -- # d is a dictionary whose keys are package names, and values the -- # corresponding configuration. Each configuration is itself a dictionary -- # (lib : libinfo) -- f.write('_config = %s\n' % d) -- f.write(r''' --def show(): -- for pkg, config in _config.items(): -- print("package %s configuration:" % pkg) -- for lib, libc in config.items(): -- print(' %s' % lib) -- for line in libc.split('\n'): -- print('\t%s' % line) -- ''') -- f.close() -- return target - - ######################### - ---- numpy/distutils/tests/test_misc_util.py.orig 2013-04-06 22:04:05.000000000 -0700 -+++ numpy/distutils/tests/test_misc_util.py 2013-08-27 11:14:23.438843136 -0700 -@@ -1,7 +1,9 @@ - #!/usr/bin/env python -+from __future__ import division, absolute_import, print_function - - from numpy.testing import * --from numpy.distutils.misc_util import appendpath, minrelpath, gpaths, rel_path -+from numpy.distutils.misc_util import appendpath, minrelpath, \ -+ gpaths, get_shared_lib_extension - from os.path import join, sep, dirname - - ajoin = lambda *paths: join(*((sep,)+paths)) -@@ -49,10 +51,25 @@ - def test_gpaths(self): - local_path = minrelpath(join(dirname(__file__),'..')) - ls = gpaths('command/*.py', local_path) -- assert join(local_path,'command','build_src.py') in ls,`ls` -+ assert join(local_path,'command','build_src.py') in ls,repr(ls) - f = gpaths('system_info.py', local_path) -- assert join(local_path,'system_info.py')==f[0],`f` -+ assert join(local_path,'system_info.py')==f[0],repr(f) - -+class TestSharedExtension(TestCase): -+ -+ def test_get_shared_lib_extension(self): -+ import sys -+ ext = get_shared_lib_extension(is_python_ext=False) -+ if sys.platform.startswith('linux'): -+ assert_equal(ext, '.so') -+ elif sys.platform.startswith('gnukfreebsd'): -+ assert_equal(ext, '.so') -+ elif sys.platform.startswith('darwin'): -+ assert_equal(ext, '.dylib') -+ elif sys.platform.startswith('win'): -+ assert_equal(ext, '.dll') -+ # just check for no crash -+ assert_(get_shared_lib_extension(is_python_ext=True)) - - if __name__ == "__main__": - run_module_suite() diff --git a/dev-python/numpy/files/numpy-1.6.2-test-pareto.patch b/dev-python/numpy/files/numpy-1.6.2-test-pareto.patch deleted file mode 100644 index 7d67b49071c6..000000000000 --- a/dev-python/numpy/files/numpy-1.6.2-test-pareto.patch +++ /dev/null @@ -1,45 +0,0 @@ -From d01354e52d5c272522c09ffd733887500e4846d7 Mon Sep 17 00:00:00 2001 -From: "Nathaniel J. Smith" <njs@pobox.com> -Date: Fri, 7 Sep 2012 10:49:45 +0100 -Subject: [PATCH] FIX: loosen numerical tolerance in test_pareto() - -The problem was that in 32bit Ubuntu 12.04, one gets the following: - -> -/home/njs/numpy/.tox/py27/local/lib/python2.7/site-packages/numpy/random/tests/test_random.py(363)test_pareto() --> np.testing.assert_array_almost_equal(actual, desired, decimal=15) -(Pdb) actual[1, 0] -52828779.702948704 -(Pdb) desired[1, 0] -52828779.702948518 - -and the test was comparing the numbers to 1e-14, which obviously -failed. - -Fixes #424. ---- - numpy/random/tests/test_random.py | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/numpy/random/tests/test_random.py b/numpy/random/tests/test_random.py -index 7d9163e..ee40cce 100644 ---- a/numpy/random/tests/test_random.py -+++ b/numpy/random/tests/test_random.py -@@ -310,7 +310,13 @@ def test_pareto(self): - desired = np.array([[ 2.46852460439034849e+03, 1.41286880810518346e+03], - [ 5.28287797029485181e+07, 6.57720981047328785e+07], - [ 1.40840323350391515e+02, 1.98390255135251704e+05]]) -- np.testing.assert_array_almost_equal(actual, desired, decimal=14) -+ # For some reason on 32-bit x86 Ubuntu 12.10 the [1, 0] entry in this -+ # matrix differs by 24 nulps. Discussion: -+ # http://mail.scipy.org/pipermail/numpy-discussion/2012-September/063801.html -+ # Consensus is that this is probably some gcc quirk that affects -+ # rounding but not in any important way, so we just use a looser -+ # tolerance on this test: -+ np.testing.assert_array_almost_equal_nulp(actual, desired, nulp=30) - - def test_poisson(self): - np.random.seed(self.seed) --- -1.7.10 - diff --git a/dev-python/numpy/files/numpy-1.7.0-atlas.patch b/dev-python/numpy/files/numpy-1.7.0-atlas.patch deleted file mode 100644 index b2936a9eb878..000000000000 --- a/dev-python/numpy/files/numpy-1.7.0-atlas.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- numpy/distutils/system_info.py.orig 2013-02-19 10:15:10.183780548 -0800 -+++ numpy/distutils/system_info.py 2013-02-19 10:17:03.565350549 -0800 -@@ -282,13 +282,7 @@ - 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 -- 'mkl': mkl_info, -+ cl = {'mkl': mkl_info, - 'lapack_mkl': lapack_mkl_info, # use lapack_opt instead - 'blas_mkl': blas_mkl_info, # use blas_opt instead - 'x11': x11_info, diff --git a/dev-python/numpy/files/numpy-1.7.1-distutils-python33.patch b/dev-python/numpy/files/numpy-1.7.1-distutils-python33.patch deleted file mode 100644 index 879a75572e2d..000000000000 --- a/dev-python/numpy/files/numpy-1.7.1-distutils-python33.patch +++ /dev/null @@ -1,540 +0,0 @@ ---- numpy/distutils/misc_util.py.orig 2013-04-06 22:04:05.000000000 -0700 -+++ numpy/distutils/misc_util.py 2013-08-27 11:11:50.970945380 -0700 -@@ -1,3 +1,5 @@ -+from __future__ import division, absolute_import, print_function -+ - import os - import re - import sys -@@ -165,7 +167,7 @@ - fid = open(config_file) - mathlibs = [] - s = '#define MATHLIB' -- for line in fid.readlines(): -+ for line in fid: - if line.startswith(s): - value = line[len(s):].strip() - if value: -@@ -218,8 +220,8 @@ - else: - if include_non_existing: - new_paths.append(n) -- print('could not resolve pattern in %r: %r' \ -- % (local_path,n)) -+ print('could not resolve pattern in %r: %r' % -+ (local_path,n)) - else: - n2 = njoin(local_path,n) - if os.path.exists(n2): -@@ -230,8 +232,8 @@ - elif include_non_existing: - new_paths.append(n) - if not os.path.exists(n): -- print('non-existing path in %r: %r' \ -- % (local_path,n)) -+ print('non-existing path in %r: %r' % -+ (local_path,n)) - - elif is_sequence(n): - new_paths.extend(_fix_paths(n,local_path,include_non_existing)) -@@ -249,11 +251,9 @@ - - _temporary_directory = None - def clean_up_temporary_directory(): -- from numpy.distutils import log - global _temporary_directory - if not _temporary_directory: - return -- log.debug('removing %s', _temporary_directory) - try: - shutil.rmtree(_temporary_directory) - except OSError: -@@ -394,8 +394,7 @@ - return [] - modules = [] - f = open(source,'r') -- f_readlines = getattr(f,'xreadlines',f.readlines) -- for line in f_readlines(): -+ for line in f: - m = f90_module_name_match(line) - if m: - name = m.group('name') -@@ -557,7 +556,7 @@ - def get_ext_source_files(ext): - # Get sources and any include files in the same directory. - filenames = [] -- sources = filter(is_string, ext.sources) -+ sources = [_m for _m in ext.sources if is_string(_m)] - filenames.extend(sources) - filenames.extend(get_dependencies(sources)) - for d in ext.depends: -@@ -568,13 +567,13 @@ - return filenames - - def get_script_files(scripts): -- scripts = filter(is_string, scripts) -+ scripts = [_m for _m in scripts if is_string(_m)] - return scripts - - def get_lib_source_files(lib): - filenames = [] - sources = lib[1].get('sources',[]) -- sources = filter(is_string, sources) -+ sources = [_m for _m in sources if is_string(_m)] - filenames.extend(sources) - filenames.extend(get_dependencies(sources)) - depends = lib[1].get('depends',[]) -@@ -606,11 +605,29 @@ - Linux, but not on OS X. - - """ -- so_ext = distutils.sysconfig.get_config_var('SO') or '' -- # fix long extension for Python >=3.2, see PEP 3149. -- if (not is_python_ext) and 'SOABI' in distutils.sysconfig.get_config_vars(): -- # Does nothing unless SOABI config var exists -- so_ext = so_ext.replace('.' + distutils.sysconfig.get_config_var('SOABI'), '', 1) -+ confvars = distutils.sysconfig.get_config_vars() -+ # SO is deprecated in 3.3.1, use EXT_SUFFIX instead -+ so_ext = confvars.get('EXT_SUFFIX', None) -+ if so_ext is None: -+ so_ext = confvars.get('SO', '') -+ -+ if not is_python_ext: -+ # hardcode known values, config vars (including SHLIB_SUFFIX) are -+ # unreliable (see #3182) -+ # darwin, windows and debug linux are wrong in 3.3.1 and older -+ if (sys.platform.startswith('linux') or -+ sys.platform.startswith('gnukfreebsd')): -+ so_ext = '.so' -+ elif sys.platform.startswith('darwin'): -+ so_ext = '.dylib' -+ elif sys.platform.startswith('win'): -+ so_ext = '.dll' -+ else: -+ # fall back to config vars for unknown platforms -+ # fix long extension for Python >=3.2, see PEP 3149. -+ if 'SOABI' in confvars: -+ # Does nothing unless SOABI config var exists -+ so_ext = so_ext.replace('.' + confvars.get('SOABI'), '', 1) - - return so_ext - -@@ -628,7 +645,7 @@ - if os.path.isfile(s): - filenames.append(s) - else: -- print('Not existing data file:',s) -+ print('Not existing data file:', s) - else: - raise TypeError(repr(s)) - return filenames -@@ -647,56 +664,13 @@ - frame = frame.f_back - return frame - --class SconsInfo(object): -- """ -- Container object holding build info for building a package with scons. -- -- Parameters -- ---------- -- scons_path : str or None -- Path to scons script, relative to the directory of setup.py. -- If None, no scons script is specified. This can be useful to add only -- pre- and post-hooks to a configuration. -- parent_name : str or None -- Name of the parent package (for example "numpy"). -- pre_hook : sequence of callables or None -- Callables that are executed before scons is invoked. -- Each callable should be defined as ``callable(*args, **kw)``. -- post_hook : sequence of callables or None -- Callables that are executed after scons is invoked. -- Each callable should be defined as ``callable(*args, **kw)``. -- source_files : list of str or None -- List of paths to source files, relative to the directory of setup.py. -- pkg_path : str or None -- Path to the package for which the `SconsInfo` instance holds the -- build info, relative to the directory of setup.py. -- -- Notes -- ----- -- All parameters are available as attributes of a `SconsInfo` instance. -- -- """ -- def __init__(self, scons_path, parent_name, pre_hook, -- post_hook, source_files, pkg_path): -- self.scons_path = scons_path -- self.parent_name = parent_name -- self.pre_hook = pre_hook -- self.post_hook = post_hook -- self.source_files = source_files -- if pkg_path: -- self.pkg_path = pkg_path -- else: -- if scons_path: -- self.pkg_path = os.path.dirname(scons_path) -- else: -- self.pkg_path = '' - - ###################### - - class Configuration(object): - - _list_keys = ['packages', 'ext_modules', 'data_files', 'include_dirs', -- 'libraries', 'headers', 'scripts', 'py_modules', 'scons_data', -+ 'libraries', 'headers', 'scripts', 'py_modules', - 'installed_libraries'] - _dict_keys = ['package_dir', 'installed_pkg_config'] - _extra_keys = ['name', 'version'] -@@ -853,7 +827,7 @@ - caller_level = 1): - l = subpackage_name.split('.') - subpackage_path = njoin([self.local_path]+l) -- dirs = filter(os.path.isdir,glob.glob(subpackage_path)) -+ dirs = [_m for _m in glob.glob(subpackage_path) if os.path.isdir(_m)] - config_list = [] - for d in dirs: - if not os.path.isfile(njoin(d,'__init__.py')): -@@ -895,7 +869,7 @@ - pn = dot_join(*([parent_name] + subpackage_name.split('.')[:-1])) - args = (pn,) - def fix_args_py2(args): -- if setup_module.configuration.func_code.co_argcount > 1: -+ if setup_module.configuration.__code__.co_argcount > 1: - args = args + (self.top_path,) - return args - def fix_args_py3(args): -@@ -922,14 +896,14 @@ - - Parameters - ---------- -- subpackage_name: str,None -+ subpackage_name : str or None - Name of the subpackage to get the configuration. '*' in - subpackage_name is handled as a wildcard. -- subpackage_path: str -+ subpackage_path : str - If None, then the path is assumed to be the local path plus the - subpackage_name. If a setup.py file is not found in the - subpackage_path, then a default configuration is used. -- parent_name: str -+ parent_name : str - Parent name. - """ - if subpackage_name is None: -@@ -985,13 +959,13 @@ - - Parameters - ---------- -- subpackage_name: str -+ subpackage_name : str - name of the subpackage -- subpackage_path: str -+ subpackage_path : str - if given, the subpackage path such as the subpackage is in - subpackage_path / subpackage_name. If None,the subpackage is - assumed to be located in the local path / subpackage_name. -- standalone: bool -+ standalone : bool - """ - - if standalone: -@@ -1029,10 +1003,10 @@ - - Parameters - ---------- -- data_path: seq,str -+ data_path : seq or str - Argument can be either - -- * 2-sequence (<datadir suffix>,<path to data directory>) -+ * 2-sequence (<datadir suffix>, <path to data directory>) - * path to data directory where python datadir suffix defaults - to package dir. - -@@ -1091,14 +1065,14 @@ - pattern_list = allpath(d).split(os.sep) - pattern_list.reverse() - # /a/*//b/ -> /a/*/b -- rl = range(len(pattern_list)-1); rl.reverse() -+ rl = list(range(len(pattern_list)-1)); rl.reverse() - for i in rl: - if not pattern_list[i]: - del pattern_list[i] - # - for path in paths: - if not os.path.isdir(path): -- print('Not a directory, skipping',path) -+ print('Not a directory, skipping', path) - continue - rpath = rel_path(path, self.local_path) - path_list = rpath.split(os.sep) -@@ -1151,7 +1125,7 @@ - - Parameters - ---------- -- files: sequence -+ files : sequence - Argument(s) can be either - - * 2-sequence (<datadir prefix>,<path to data file(s)>) -@@ -1330,7 +1304,7 @@ - - Parameters - ---------- -- files: str, seq -+ files : str or seq - Argument(s) can be either: - - * 2-sequence (<includedir suffix>,<path to header file(s)>) -@@ -1385,9 +1359,9 @@ - - Parameters - ---------- -- name: str -+ name : str - name of the extension -- sources: seq -+ sources : seq - list of the sources. The list of sources may contain functions - (called source generators) which must take an extension instance - and a build directory as inputs and return a source file or list of -@@ -1395,28 +1369,28 @@ - generated. If the Extension instance has no sources after - processing all source generators, then no extension module is - built. -- include_dirs: -- define_macros: -- undef_macros: -- library_dirs: -- libraries: -- runtime_library_dirs: -- extra_objects: -- extra_compile_args: -- extra_link_args: -- extra_f77_compile_args: -- extra_f90_compile_args: -- export_symbols: -- swig_opts: -- depends: -+ include_dirs : -+ define_macros : -+ undef_macros : -+ library_dirs : -+ libraries : -+ runtime_library_dirs : -+ extra_objects : -+ extra_compile_args : -+ extra_link_args : -+ extra_f77_compile_args : -+ extra_f90_compile_args : -+ export_symbols : -+ swig_opts : -+ depends : - The depends list contains paths to files or directories that the - sources of the extension module depend on. If any path in the - depends list is newer than the extension module, then the module - will be rebuilt. -- language: -- f2py_options: -- module_dirs: -- extra_info: dict,list -+ language : -+ f2py_options : -+ module_dirs : -+ extra_info : dict or list - dict or list of dict of keywords to be appended to keywords. - - Notes -@@ -1653,65 +1627,6 @@ - self.installed_pkg_config[self.name] = [(template, install_dir, - subst_dict)] - -- def add_scons_installed_library(self, name, install_dir): -- """ -- Add a scons-built installable library to distutils. -- -- Parameters -- ---------- -- name : str -- The name of the library. -- install_dir : str -- Path to install the library, relative to the current sub-package. -- -- """ -- install_dir = os.path.join(self.package_path, install_dir) -- self.installed_libraries.append(InstallableLib(name, {}, install_dir)) -- -- def add_sconscript(self, sconscript, subpackage_path=None, -- standalone = False, pre_hook = None, -- post_hook = None, source_files = None, package_path=None): -- """Add a sconscript to configuration. -- -- pre_hook and post hook should be sequences of callable, which will be -- use before and after executing scons. The callable should be defined as -- callable(*args, **kw). It is ugly, but well, hooks are ugly anyway... -- -- sconscript can be None, which can be useful to add only post/pre -- hooks.""" -- if standalone: -- parent_name = None -- else: -- parent_name = self.name -- -- dist = self.get_distribution() -- # Convert the sconscript name to a relative filename (relative from top -- # setup.py's directory) -- fullsconsname = self.paths(sconscript)[0] -- -- # XXX: Think about a way to automatically register source files from -- # scons... -- full_source_files = [] -- if source_files: -- full_source_files.extend([self.paths(i)[0] for i in source_files]) -- -- scons_info = SconsInfo(fullsconsname, parent_name, -- pre_hook, post_hook, -- full_source_files, package_path) -- if dist is not None: -- if dist.scons_data is None: -- dist.scons_data = [] -- dist.scons_data.append(scons_info) -- self.warn('distutils distribution has been initialized,'\ -- ' it may be too late to add a subpackage '+ subpackage_name) -- # XXX: we add a fake extension, to correctly initialize some -- # options in distutils command. -- dist.add_extension('', sources = []) -- else: -- self.scons_data.append(scons_info) -- # XXX: we add a fake extension, to correctly initialize some -- # options in distutils command. -- self.add_extension('', sources = []) - - def add_scripts(self,*files): - """Add scripts to configuration. -@@ -2086,11 +2001,6 @@ - """ - self.py_modules.append((self.name,name,generate_config_py)) - -- def scons_make_config_py(self, name = '__config__'): -- """Generate package __config__.py file containing system_info -- information used during building the package. -- """ -- self.py_modules.append((self.name, name, scons_generate_config_py)) - - def get_info(self,*names): - """Get resources information. -@@ -2098,7 +2008,7 @@ - Return information (from system_info.get_info) for all of the names in - the argument list in a single dictionary. - """ -- from system_info import get_info, dict_append -+ from .system_info import get_info, dict_append - info_dict = {} - for a in names: - dict_append(info_dict,**get_info(a)) -@@ -2233,57 +2143,18 @@ - return info - - def is_bootstrapping(): -- import __builtin__ -+ if sys.version_info[0] >= 3: -+ import builtins -+ else: -+ import __builtin__ as builtins -+ - try: -- __builtin__.__NUMPY_SETUP__ -+ builtins.__NUMPY_SETUP__ - return True - except AttributeError: - return False - __NUMPY_SETUP__ = False - --def scons_generate_config_py(target): -- """generate config.py file containing system_info information -- used during building the package. -- -- usage: -- config['py_modules'].append((packagename, '__config__',generate_config_py)) -- """ -- from distutils.dir_util import mkpath -- from numscons import get_scons_configres_dir, get_scons_configres_filename -- d = {} -- mkpath(os.path.dirname(target)) -- f = open(target, 'w') -- f.write('# this file is generated by %s\n' % (os.path.abspath(sys.argv[0]))) -- f.write('# it contains system_info results at the time of building this package.\n') -- f.write('__all__ = ["show"]\n\n') -- confdir = get_scons_configres_dir() -- confilename = get_scons_configres_filename() -- for root, dirs, files in os.walk(confdir): -- if files: -- file = os.path.join(root, confilename) -- assert root.startswith(confdir) -- pkg_name = '.'.join(root[len(confdir)+1:].split(os.sep)) -- fid = open(file, 'r') -- try: -- cnt = fid.read() -- d[pkg_name] = eval(cnt) -- finally: -- fid.close() -- # d is a dictionary whose keys are package names, and values the -- # corresponding configuration. Each configuration is itself a dictionary -- # (lib : libinfo) -- f.write('_config = %s\n' % d) -- f.write(r''' --def show(): -- for pkg, config in _config.items(): -- print("package %s configuration:" % pkg) -- for lib, libc in config.items(): -- print(' %s' % lib) -- for line in libc.split('\n'): -- print('\t%s' % line) -- ''') -- f.close() -- return target - - ######################### - ---- numpy/distutils/tests/test_misc_util.py.orig 2013-04-06 22:04:05.000000000 -0700 -+++ numpy/distutils/tests/test_misc_util.py 2013-08-27 11:14:23.438843136 -0700 -@@ -1,7 +1,9 @@ - #!/usr/bin/env python -+from __future__ import division, absolute_import, print_function - - from numpy.testing import * --from numpy.distutils.misc_util import appendpath, minrelpath, gpaths, rel_path -+from numpy.distutils.misc_util import appendpath, minrelpath, \ -+ gpaths, get_shared_lib_extension - from os.path import join, sep, dirname - - ajoin = lambda *paths: join(*((sep,)+paths)) -@@ -49,10 +51,25 @@ - def test_gpaths(self): - local_path = minrelpath(join(dirname(__file__),'..')) - ls = gpaths('command/*.py', local_path) -- assert_(join(local_path,'command','build_src.py') in ls,`ls`) -+ assert_(join(local_path,'command','build_src.py') in ls,repr(ls)) - f = gpaths('system_info.py', local_path) -- assert_(join(local_path,'system_info.py')==f[0],`f`) -+ assert_(join(local_path,'system_info.py')==f[0],repr(f)) - -+class TestSharedExtension(TestCase): -+ -+ def test_get_shared_lib_extension(self): -+ import sys -+ ext = get_shared_lib_extension(is_python_ext=False) -+ if sys.platform.startswith('linux'): -+ assert_equal(ext, '.so') -+ elif sys.platform.startswith('gnukfreebsd'): -+ assert_equal(ext, '.so') -+ elif sys.platform.startswith('darwin'): -+ assert_equal(ext, '.dylib') -+ elif sys.platform.startswith('win'): -+ assert_equal(ext, '.dll') -+ # just check for no crash -+ assert_(get_shared_lib_extension(is_python_ext=True)) - - if __name__ == "__main__": - run_module_suite() diff --git a/dev-python/numpy/files/numpy-1.8.0-f2py-insecure-temporary.patch b/dev-python/numpy/files/numpy-1.8.0-f2py-insecure-temporary.patch index 0d34924b3f9e..5a68e8e2aa99 100644 --- a/dev-python/numpy/files/numpy-1.8.0-f2py-insecure-temporary.patch +++ b/dev-python/numpy/files/numpy-1.8.0-f2py-insecure-temporary.patch @@ -203,7 +203,7 @@ index fdd78b2..caffada 100644 - npfile.close() - os.remove(tmp) + with tempdir() as tmpdir: -+ tmp = open(os.path.join(tmpdir, "file.npz"), "w") ++ tmp = os.path.join(tmpdir, "file.npz") + np.savez(tmp, a=a) + del a + npfile = np.load(tmp) diff --git a/dev-python/numpy/numpy-1.8.0-r1.ebuild b/dev-python/numpy/numpy-1.8.0-r1.ebuild index ddab5d676d83..35fe5532b656 100644 --- a/dev-python/numpy/numpy-1.8.0-r1.ebuild +++ b/dev-python/numpy/numpy-1.8.0-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/numpy/numpy-1.8.0-r1.ebuild,v 1.10 2014/02/17 21:07:45 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-python/numpy/numpy-1.8.0-r1.ebuild,v 1.11 2014/02/24 12:15:10 jlec Exp $ EAPI=5 @@ -37,8 +37,13 @@ DEPEND="${RDEPEND} # Uses distutils.command.config. DISTUTILS_IN_SOURCE_BUILD=1 +PATCHES=( + "${FILESDIR}"/${P}-no-hardcode-blas.patch + "${FILESDIR}"/${P}-f2py-insecure-temporary.patch +) + src_unpack() { - unpack ${P}.tar.gz + default if use doc; then unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die fi @@ -62,10 +67,6 @@ pc_libs() { } python_prepare_all() { - epatch \ - "${FILESDIR}"/${P}-no-hardcode-blas.patch \ - "${FILESDIR}"/${P}-f2py-insecure-temporary.patch - if use lapack; then append-ldflags "$($(tc-getPKG_CONFIG) --libs-only-other cblas lapack)" local libdir="${EPREFIX}"/usr/$(get_libdir) @@ -121,7 +122,7 @@ python_test() { cd "${TMPDIR}" || die ${EPYTHON} -c " import numpy, sys -r = numpy.test(verbose=3) +r = numpy.test(label='full', verbose=3) sys.exit(0 if r.wasSuccessful() else 1)" || die "Tests fail with ${EPYTHON}" } |