From 5fd3189a31b8f94866efc67ceed70ac66224c0aa Mon Sep 17 00:00:00 2001 From: wiz Date: Fri, 15 Jul 2016 07:18:45 +0000 Subject: [PATCH] Updated py-numexpr to 2.6.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix CPU detection patch while here. Changes from 2.5.2 to 2.6.0 =========================== - Introduced a new re_evaluate() function for re-evaluating the previous executed array expression without any check. This is meant for accelerating loops that are re-evaluating the same expression repeatedly without changing anything else than the operands. If unsure, use evaluate() which is safer. - The BLOCK_SIZE1 and BLOCK_SIZE2 constants have been re-checked in order to find a value maximizing most of the benchmarks in bench/ directory. The new values (8192 and 16 respectively) give somewhat better results (~5%) overall. The CPU used for fine tuning is a relatively new Haswell processor (E3-1240 v3). - The '--name' flag for `setup.py` returning the name of the package is honored now (issue #215). Changes from 2.5.1 to 2.5.2 =========================== - conj() and abs() actually added as VML-powered functions, preventing the same problems than log10() before (PR #212). Thanks to Tom Kooij for the fix! Changes from 2.5 to 2.5.1 ========================= - Fix for log10() and conj() functions. These produced wrong results when numexpr was compiled with Intel's MKL (which is a popular build since Anaconda ships it by default) and non-contiguous data (issue #210). Thanks to Arne de Laat and Tom Kooij for reporting and providing a nice test unit. - Fix that allows numexpr-powered apps to be profiled with pympler. Thanks to @nbecker. Changes from 2.4.6 to 2.5 ========================= - Added locking for allowing the use of numexpr in multi-threaded callers (this does not prevent numexpr to use multiple cores simultaneously). (PR #199, Antoine Pitrou, PR #200, Jenn Olsen). - Added new min() and max() functions (PR #195, CJ Carey). Changes from 2.4.5 to 2.4.6 =========================== - Fixed some UserWarnings in Solaris (PR #189, Graham Jones). - Better handling of MSVC defines. (#168, Francesc Alted). Changes from 2.4.4 to 2.4.5 =========================== - Undone a 'fix' for a harmless data race. (#185 Benedikt Reinartz, Francesc Alted). - Ignore NumPy warnings (overflow/underflow, divide by zero and others) that only show up in Python3. Masking these warnings in tests is fine because all the results are checked to be valid. (#183, Francesc Alted). Changes from 2.4.3 to 2.4.4 =========================== - Fix bad #ifdef for including stdint on Windows (PR #186, Mike Sarahan). Changes from 2.4.3 to 2.4.4 =========================== * Honor OMP_NUM_THREADS as a fallback in case NUMEXPR_NUM_THREADS is not set. Fixes #161. (PR #175, Stefan Erb). * Added support for AppVeyor (PR #178 Andrea Bedini) * Fix to allow numexpr to be imported after eventlet.monkey_patch(), as suggested in #118 (PR #180 Ben Moran). * Fix harmless data race that triggers false positives in ThreadSanitizer. (PR #179, Clement Courbet). * Fixed some string tests on Python 3 (PR #182, Antonio Valentino). Changes from 2.4.2 to 2.4.3 =========================== * Comparisons with empty strings work correctly now. Fixes #121 and PyTables #184. Changes from 2.4.1 to 2.4.2 =========================== * Improved setup.py so that pip can query the name and version without actually doing the installation. Thanks to Joris Borgdorff. Changes from 2.4 to 2.4.1 ========================= * Added more configuration examples for compiling with MKL/VML support. Thanks to Davide Del Vento. * Symbol MKL_VML changed into MKL_DOMAIN_VML because the former is deprecated in newer MKL. Thanks to Nick Papior Andersen. * Better determination of methods in `cpuinfo` module. Thanks to Marc Jofre. * Improved NumPy version determination (handy for 1.10.0). Thanks to Åsmund Hjulstad. * Benchmarks run now with both Python 2 and Python 3. Thanks to Zoran Plesivčak. Changes from 2.3.1 to 2.4 ========================= * A new `contains()` function has been added for detecting substrings in strings. Only plain strings (bytes) are supported for now. See PR #135 and ticket #142. Thanks to Marcin Krol. * New version of setup.py that allows better management of NumPy dependency. See PR #133. Thanks to Aleks Bunin. Changes from 2.3 to 2.3.1 ========================= * Added support for shift-left (<<) and shift-right (>>) binary operators. See PR #131. Thanks to fish2000! * Removed the rpath flag for the GCC linker, because it is probably not necessary and it chokes to clang. --- math/py-numexpr/Makefile | 10 ++++++---- math/py-numexpr/PLIST | 3 ++- math/py-numexpr/distinfo | 12 ++++++------ math/py-numexpr/patches/patch-ab | 20 ++++++++++++-------- 4 files changed, 26 insertions(+), 19 deletions(-) diff --git a/math/py-numexpr/Makefile b/math/py-numexpr/Makefile index e4095eeaf1ec7..0c13c1220d322 100644 --- a/math/py-numexpr/Makefile +++ b/math/py-numexpr/Makefile @@ -1,12 +1,14 @@ -# $NetBSD: Makefile,v 1.5 2014/07/19 12:46:53 bad Exp $ +# $NetBSD: Makefile,v 1.6 2016/07/15 07:18:45 wiz Exp $ -DISTNAME= numexpr-2.2.2 +DISTNAME= numexpr-2.6.0 PKGNAME= ${PYPKGPREFIX}-${DISTNAME} CATEGORIES= math -MASTER_SITES= http://numexpr.googlecode.com/files/ +MASTER_SITES= ${MASTER_SITE_GITHUB:=pydata/} +GITHUB_TAG= v${PKGVERSION_NOREV} +GITHUB_PROJECT= numexpr MAINTAINER= pkgsrc-users@NetBSD.org -HOMEPAGE= https://code.google.com/p/numexpr/ +HOMEPAGE= https://github.com/pydata/numexpr COMMENT= Numerical expression evaluator for NumPy LICENSE= mit diff --git a/math/py-numexpr/PLIST b/math/py-numexpr/PLIST index 1926b86ac0dfb..5baca7e5f20ab 100644 --- a/math/py-numexpr/PLIST +++ b/math/py-numexpr/PLIST @@ -1,8 +1,9 @@ -@comment $NetBSD: PLIST,v 1.3 2014/07/19 12:46:53 bad Exp $ +@comment $NetBSD: PLIST,v 1.4 2016/07/15 07:18:45 wiz Exp $ ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt ${PYSITELIB}/${EGG_INFODIR}/not-zip-safe +${PYSITELIB}/${EGG_INFODIR}/requires.txt ${PYSITELIB}/${EGG_INFODIR}/top_level.txt ${PYSITELIB}/numexpr/__config__.py ${PYSITELIB}/numexpr/__config__.pyc diff --git a/math/py-numexpr/distinfo b/math/py-numexpr/distinfo index 6db43ffa791e9..de2eb311d5054 100644 --- a/math/py-numexpr/distinfo +++ b/math/py-numexpr/distinfo @@ -1,7 +1,7 @@ -$NetBSD: distinfo,v 1.4 2015/11/03 23:33:42 agc Exp $ +$NetBSD: distinfo,v 1.5 2016/07/15 07:18:45 wiz Exp $ -SHA1 (numexpr-2.2.2.tar.gz) = 021cbd31e6976164b4b956318b30630dabd16159 -RMD160 (numexpr-2.2.2.tar.gz) = 683d7d88f305b18e8538bdaca000f46fdf02b1ee -SHA512 (numexpr-2.2.2.tar.gz) = bf04d16cfab7f71cc1bc0ab736fa4222ec24321292ca1bfe0b01b0cdf4a683fcdc297faff1abafd9f18ce7b6c07364fff855c51a5aa9a310b6664616f817a004 -Size (numexpr-2.2.2.tar.gz) = 75680 bytes -SHA1 (patch-ab) = 8d7c58654228b9961169bde5c74cc9bd22ed7fa4 +SHA1 (numexpr-2.6.0.tar.gz) = 02b80e27878853e65ccc8884f1d83d9fdc017abf +RMD160 (numexpr-2.6.0.tar.gz) = 0b02d07304e38b06ae83cc43cbacd1a99910c1c2 +SHA512 (numexpr-2.6.0.tar.gz) = 6712901e3be20a44d4f40e57fc09bcae17ab0a6af1caf5bc63dd66ca751875b74af71e0f016386b7e68d52ef34a2bab226e3a79871eea35754ddbfe143b5a68e +Size (numexpr-2.6.0.tar.gz) = 99103 bytes +SHA1 (patch-ab) = 8c51ca19b2817b55f6e950a0e64da293dcbdceb8 diff --git a/math/py-numexpr/patches/patch-ab b/math/py-numexpr/patches/patch-ab index ed977ee1e60bf..4331c8e2e617d 100644 --- a/math/py-numexpr/patches/patch-ab +++ b/math/py-numexpr/patches/patch-ab @@ -1,9 +1,11 @@ -$NetBSD: patch-ab,v 1.1.1.1 2010/07/16 12:12:17 drochner Exp $ +$NetBSD: patch-ab,v 1.2 2016/07/15 07:18:45 wiz Exp $ ---- numexpr/cpuinfo.py.orig 2009-06-23 08:39:40.000000000 +0000 +Add NetBSD support in CPU detection. + +--- numexpr/cpuinfo.py.orig 2016-06-01 11:55:58.000000000 +0000 +++ numexpr/cpuinfo.py -@@ -390,6 +390,30 @@ class DarwinCPUInfo(CPUInfoBase): - def _is_ppc823(self): return self.__machine(823) +@@ -498,6 +498,32 @@ class DarwinCPUInfo(CPUInfoBase): + def _is_ppc860(self): return self.__machine(860) +class NetBSDCPUInfo(CPUInfoBase): @@ -12,8 +14,10 @@ $NetBSD: patch-ab,v 1.1.1.1 2010/07/16 12:12:17 drochner Exp $ + def __init__(self): + if self.info is not None: + return -+ info = command_info(arch='arch', machine='machine') -+ info['sysctl_hw'] = key_value_from_command('sysctl hw', sep='=') ++ info = {} ++ info['sysctl_hw'] = key_value_from_command(['sysctl', 'hw'], sep='=') ++ info['arch'] = info['sysctl_hw'].get('hw.machine_arch', 1) ++ info['machine'] = info['sysctl_hw'].get('hw.machine', 1) + self.__class__.info = info + + def _not_impl(self): pass @@ -32,8 +36,8 @@ $NetBSD: patch-ab,v 1.1.1.1 2010/07/16 12:12:17 drochner Exp $ + return False class SunOSCPUInfo(CPUInfoBase): - -@@ -648,6 +672,8 @@ elif sys.platform.startswith('irix'): + info = None +@@ -781,6 +807,8 @@ elif sys.platform.startswith('irix'): cpuinfo = IRIXCPUInfo elif sys.platform == 'darwin': cpuinfo = DarwinCPUInfo