diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-05-31 20:59:14 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-05-31 20:59:14 +0100 |
commit | e748ba9741f6540f4675c23e3e37b73e822c13a4 (patch) | |
tree | 23dece8beabb3a3d7c6c0273b0eb40b21c62a889 /dev-python/numpy | |
parent | 908778078736bd36f7a60a2d576d415cb8e000fa (diff) |
gentoo resync : 31.05.2021
Diffstat (limited to 'dev-python/numpy')
-rw-r--r-- | dev-python/numpy/Manifest | 5 | ||||
-rw-r--r-- | dev-python/numpy/files/numpy-1.20.2-fix-popcnt-detection.patch | 103 | ||||
-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 ) |