summaryrefslogtreecommitdiff
path: root/dev-python/numpy
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-05-31 20:59:14 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-05-31 20:59:14 +0100
commite748ba9741f6540f4675c23e3e37b73e822c13a4 (patch)
tree23dece8beabb3a3d7c6c0273b0eb40b21c62a889 /dev-python/numpy
parent908778078736bd36f7a60a2d576d415cb8e000fa (diff)
gentoo resync : 31.05.2021
Diffstat (limited to 'dev-python/numpy')
-rw-r--r--dev-python/numpy/Manifest5
-rw-r--r--dev-python/numpy/files/numpy-1.20.2-fix-popcnt-detection.patch103
-rw-r--r--dev-python/numpy/numpy-1.20.2-r1.ebuild (renamed from dev-python/numpy/numpy-1.20.2.ebuild)1
-rw-r--r--dev-python/numpy/numpy-1.20.3-r1.ebuild (renamed from dev-python/numpy/numpy-1.20.3.ebuild)1
4 files changed, 108 insertions, 2 deletions
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
index d4c5625d88de..1c8c3c127e4f 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -1,5 +1,6 @@
AUX numpy-1.20.1-no-hardcode-blasv2.patch 2582 BLAKE2B 5057f925a12e6703ab5d9d4c342db80f7f5a7f02a5b5884bd9fac574dcadb9234901b08b1b2ca5bc5ba0345a58e896a241e3a48b4b050b2f5a1063324359d84c SHA512 4418b9c5ed3842848bc06a56ebbd7cd9261657e407775374f2f060944522128d8a5178888def6e4cf42ff6d81082d9cc1425d9553c5334ad4e728d0df9b86bc8
AUX numpy-1.20.2-fix-ccompiler-tests.patch 1616 BLAKE2B 3e2796029854207187322b1061201e7f014472c64d8c66a2dd3f82ec2eed7311f5cc3351d98aeb4b8b75d95608853066a30394e5316bb91e443744f33d66966b SHA512 5ed01b466a0da96b5d7c56b78e420d6c589c48c20053b9da66344384fa93048f90e281d3ed5caa9325f6afe00ff48841b24abc926c75aacb8a6bd5418ed32117
+AUX numpy-1.20.2-fix-popcnt-detection.patch 2852 BLAKE2B c7b97d54649e33fecfa9cdd7e79fbd6a0f599648edd9a923a4d8ff428f774813d81f045e82905e236828608f4c969e56d681a828ed0190f86f8731a2c22401d8 SHA512 cb0e461b4ec788812fcdb528be18dcc04222c1aedb9ecef96d8f0ccefd407640dfb7d10b2bd392e0e40054b016a0d023f4a397432904496b793c8a2f1fba8f74
AUX numpy-1.20.3-float-hashing-py310.patch 4677 BLAKE2B 410438f8b9ba7bc346cd9fbb4d3087d60af6cc54b7ba4a839a1d9559d5b09db623932089ca8c34a70d30622d6260f3bff13fd2d97c94f6af437502f2e5b3c27d SHA512 a7605bf4db0886f4e7d4edd65c7b46d6b47ccb43140555cc86b35c2f003cdf29e8704593d77f7cc551f3be1550af209e7910a95e1421fe45b5d0ea5716d62588
DIST numpy-1.20.2.zip 7756879 BLAKE2B 8b76942e04701e164029b145fed1747de72142ea4f5a8aa7472a01caeeed5e0b5b6d9e543106f9786e231df5a8afe3b7ad9256e69873e4f8876c659114bc494e SHA512 337a66d68c965da06f757a89b58d30b83ec0b2f3c7a3bb39496e5031e50fee6c4f2ec090202c3da9a20613864ea46d032ae75af1de5c33eebe515133ef37d40c
DIST numpy-1.20.3.zip 7761912 BLAKE2B a4da49f7c1aadca299acb1b6d92deb4f50b1881c4b131cd389524a88ffc70179b2acdc88235dccd1ffd09879893db45b16bf2f54ced9b9639b806e85f7346285 SHA512 897be1cd6f3880711149dcedd838357e2d937a3c5f36b2a0db6ceed341654acf96b8b775610e1b43bdb6eacb987bbc51aaa8906244ca02cc8c2eae359ccef405
@@ -9,6 +10,6 @@ DIST numpy-ref-1.16.4.pdf 5176571 BLAKE2B 9a875ebd1473b241d463d810a6d191581aef96
DIST numpy-ref-1.20.3.pdf 7362241 BLAKE2B bf17564d7aea0db25ca9ef6b24dbbd25093c09e2a93bb60b69220d4e666024c50f3373fdb65aac510c06420dc415102d552fb0435e1986330ffdc41e9e356098 SHA512 316e645402125ca41d1e8b4da33374703f4379c31cf572c8ad429e0e89b6968776f480f9159bce53b9fdec918f03b82e5bb6446f127f43f138d6c0990191af5a
DIST numpy-user-1.16.4.pdf 596203 BLAKE2B da3ad1f0ec1c965d20656f73a970911cbb58efa73a5df89e2e6485e0dd763f483e35eea1395ac919bf35d496fb216cee954fc5d31edebc1796a24a2a7a2d12b9 SHA512 3083008547213bfa98ffa5cd8e2cea13f6947f42d83aef61502a2a852b0d5f27d727c76b42d281d7a2f4f76c78e88b12ee3d9b164b39fe1f0213ace7097357d6
DIST numpy-user-1.20.3.pdf 4977046 BLAKE2B 3548463cc878645bb169255d3332681685d0f05e02abf4cfcdd03773826d34f5a25c020240652839867a76258b25ca601ed292462f80bdf18b92ecfb46710487 SHA512 f6c37152228eac1fb69ddfc3a37454066ed678d57f12a587e0edcfe0adb390cc0b470384c2751033f7407bac44df9f69b0da4f3da1c300e6fc02231035ff634c
-EBUILD numpy-1.20.2.ebuild 3734 BLAKE2B 2a4dd063c94eb074c8ce3f60039710d4426f1f8e0be2be1419af23a791bdee32cb52aaf03084741fdb4d6a849b9e6c4f08aea3d642178361e5d1dd8329ca9f3d SHA512 541e3a324ef2f06236c78b5578a338b0084e1067b2fdd214f95bb579f706e6db91fe00513999deaffd5e7bb4736e49326c8f919e4c1b3b7b8c1dd473364032b9
-EBUILD numpy-1.20.3.ebuild 3675 BLAKE2B ca4e67e97798cd46444cb49587a6e9549fe8bb67e4ff8f8d1da400ad3b8b03823e767cd936b58ae6abc307e1a2c49857c58e2d2d428fe102e0959f72ca37197a SHA512 cb0a52a6c41db0097413117363d1e243e3b56b13f0d731939f556795f9c68ecd2e274b89ec675e0b6f72100c775e4d92137547527b32e27dc6ecaf0b941495fc
+EBUILD numpy-1.20.2-r1.ebuild 3789 BLAKE2B 04b13cd33ea2805716faf5c2d286e3f0928eeda592c0c6217501a1adbea30e614d940732041cb4236a89966db1cebae33b437ab55a309ff6be62e81bb6be5010 SHA512 9a2bb8e998e317e540b7a0fa70979a872db8b0a99cc1e6f72d1fa0ab1c11f26551be22eff1a84b2c25e9d39934246b955ea54fc72c25b2d89badc430bf048f38
+EBUILD numpy-1.20.3-r1.ebuild 3730 BLAKE2B 7099a2b62a5d366b9a5b099fe7a8b675d1488659e48810d2e014526338ff67eec04b68577db68ce9f97b301de52dd58bd9a1df903b1b7492c6c157a34f61f274 SHA512 97c9046f0d2548cb7ff6f91c8f0d000f0e90caf9d748e9c723b957f28bdad3faad66d44b5bada93577f40cebd37fa2ad213069bec86eb925ae7c4d0b79e88cbf
MISC metadata.xml 934 BLAKE2B 948b9a948cddc46d20d672992bf73ddb1e59ba18f470acf805c78f561249e7bce2cec1cb1affe63aad447f2f0ad627147cf05ca04ac3c321781255357de92d63 SHA512 404bc31423a1093c19dd535aa3cd5a6b925f4ef1699f9991ae19b46495c46ac4ab3b0b1995f62ea8bc5de15889b975dfcdc416360978508b837d4d5d518dfeeb
diff --git a/dev-python/numpy/files/numpy-1.20.2-fix-popcnt-detection.patch b/dev-python/numpy/files/numpy-1.20.2-fix-popcnt-detection.patch
new file mode 100644
index 000000000000..85f4bb11b768
--- /dev/null
+++ b/dev-python/numpy/files/numpy-1.20.2-fix-popcnt-detection.patch
@@ -0,0 +1,103 @@
+https://github.com/numpy/numpy/pull/19074
+https://bugs.gentoo.org/788184
+
+From 8dc768964b5578a8aa9db1ef2c55134a00731e10 Mon Sep 17 00:00:00 2001
+From: Carl Michal <michal@physics.ubc.ca>
+Date: Sat, 22 May 2021 20:43:10 -0700
+Subject: [PATCH 1/2] Fix compile-time test of POPCNT
+
+The compile-time test of POPCNT, cpu_popcnt.c produced code that would
+execute without error even if the machine didn't support the popcnt
+instruction. This patch attempts to use popcnt on random numbers so the
+compiler can't substitute the answer at compile time.
+---
+ numpy/distutils/checks/cpu_popcnt.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/numpy/distutils/checks/cpu_popcnt.c b/numpy/distutils/checks/cpu_popcnt.c
+index e6a80fb40be4..f6c785dd2a97 100644
+--- a/numpy/distutils/checks/cpu_popcnt.c
++++ b/numpy/distutils/checks/cpu_popcnt.c
+@@ -4,20 +4,26 @@
+ #include <popcntintrin.h>
+ #endif
+
++#include <stdlib.h>
++
+ int main(void)
+ {
+ long long a = 0;
+ int b;
++
++ a = random();
++ b = random();
++
+ #ifdef _MSC_VER
+ #ifdef _M_X64
+- a = _mm_popcnt_u64(1);
++ a = _mm_popcnt_u64(a);
+ #endif
+- b = _mm_popcnt_u32(1);
++ b = _mm_popcnt_u32(b);
+ #else
+ #ifdef __x86_64__
+- a = __builtin_popcountll(1);
++ a = __builtin_popcountll(a);
+ #endif
+- b = __builtin_popcount(1);
++ b = __builtin_popcount(b);
+ #endif
+ return (int)a + b;
+ }
+
+From 52d5fe1ede45083d0783c3e2bbaee5c44df9d553 Mon Sep 17 00:00:00 2001
+From: Carl Michal <michal@physics.ubc.ca>
+Date: Sun, 23 May 2021 08:24:52 -0700
+Subject: [PATCH 2/2] Change fix of cpu_popcnt.c to use
+ _mm_popcnt_u64/_mm_popcnt_u32 on GCC
+
+_builtin_popcount is always available, so the compile-time check always
+succeeds.
+---
+ numpy/distutils/checks/cpu_popcnt.c | 26 ++++++++------------------
+ 1 file changed, 8 insertions(+), 18 deletions(-)
+
+diff --git a/numpy/distutils/checks/cpu_popcnt.c b/numpy/distutils/checks/cpu_popcnt.c
+index f6c785dd2a97..540c98dab05d 100644
+--- a/numpy/distutils/checks/cpu_popcnt.c
++++ b/numpy/distutils/checks/cpu_popcnt.c
+@@ -4,26 +4,16 @@
+ #include <popcntintrin.h>
+ #endif
+
+-#include <stdlib.h>
+-
+-int main(void)
++int main(int argc, char **argv)
+ {
+- long long a = 0;
+- int b;
+-
+- a = random();
+- b = random();
+-
+-#ifdef _MSC_VER
+- #ifdef _M_X64
++ // To make sure popcnt instructions are generated
++ // and been tested against the assembler
++ unsigned long long a = *((unsigned long long*)argv[argc-1]);
++ unsigned int b = *((unsigned int*)argv[argc-2]);
++
++#if defined(_M_X64) || defined(__x86_64__)
+ a = _mm_popcnt_u64(a);
+- #endif
+- b = _mm_popcnt_u32(b);
+-#else
+- #ifdef __x86_64__
+- a = __builtin_popcountll(a);
+- #endif
+- b = __builtin_popcount(b);
+ #endif
++ b = _mm_popcnt_u32(b);
+ return (int)a + b;
+ }
diff --git a/dev-python/numpy/numpy-1.20.2.ebuild b/dev-python/numpy/numpy-1.20.2-r1.ebuild
index 234a0932bb97..2e16936ea190 100644
--- a/dev-python/numpy/numpy-1.20.2.ebuild
+++ b/dev-python/numpy/numpy-1.20.2-r1.ebuild
@@ -48,6 +48,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/numpy-1.20.1-no-hardcode-blasv2.patch
"${FILESDIR}"/numpy-1.20.2-fix-ccompiler-tests.patch
+ "${FILESDIR}"/numpy-1.20.2-fix-popcnt-detection.patch
)
distutils_enable_tests pytest
diff --git a/dev-python/numpy/numpy-1.20.3.ebuild b/dev-python/numpy/numpy-1.20.3-r1.ebuild
index 5b772a58a6f9..6604eb23a4e6 100644
--- a/dev-python/numpy/numpy-1.20.3.ebuild
+++ b/dev-python/numpy/numpy-1.20.3-r1.ebuild
@@ -46,6 +46,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/numpy-1.20.1-no-hardcode-blasv2.patch
"${FILESDIR}"/numpy-1.20.2-fix-ccompiler-tests.patch
+ "${FILESDIR}"/numpy-1.20.2-fix-popcnt-detection.patch
"${FILESDIR}"/numpy-1.20.3-float-hashing-py310.patch
)