poky/meta/recipes-devtools/python/python3-numpy/fix_reproducibility.patch
Trevor Gamblin e0e5dd1e43 python3-numpy: upgrade 2.2.1 -> 2.2.2
Changelog: https://github.com/numpy/numpy/releases/tag/v2.2.2

Reproducibility looks OK:

|2025-01-20 16:40:52,428 - oe-selftest - INFO - Ran 1 test in 2125.833s
|2025-01-20 16:40:52,428 - oe-selftest - INFO - OK
|2025-01-20 16:40:57,146 - oe-selftest - INFO - RESULTS:
|2025-01-20 16:40:57,146 - oe-selftest - INFO - RESULTS - reproducible.ReproducibleTests.test_reproducible_builds: PASSED (2065.94s)
|2025-01-20 16:40:57,147 - oe-selftest - INFO - SUMMARY:
|2025-01-20 16:40:57,147 - oe-selftest - INFO - oe-selftest () - Ran 1 test in 2125.834s
|2025-01-20 16:40:57,147 - oe-selftest - INFO - oe-selftest - OK - All required tests passed (successes=1, skipped=0, failures=0, errors=0)

(From OE-Core rev: 8ba751635a333ba0ccdeaff7b135131de99292a9)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2025-01-23 11:56:47 +00:00

41 lines
1.6 KiB
Diff

From 061a8ae1d1d000892d6dba89a444922e7a28804b Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Fri, 29 Sep 2023 22:53:24 +0100
Subject: [PATCH] This regex decides whether to use O3 opimisation on numpy or
not.
It includes "od", which happens to be a substring of "reproducible"
but not "qemux86-world".
The regex will run against all compiler options including things like:
-fmacro-prefix-map=/XXX/build/tmp/work/core2-64-poky-linux/python3-numpy/1.26.0/numpy-1.26.0=/usr/src/debug/python3-numpy/1.26.0-r0
i.e. including build paths.
Reduce the regex to something deterministic for our builds, assuming
nobody builds in /home/debug:full/
The autobuilder race depended upon whether qemux86-world or the
reproducible target ran first and won the race to populate sstate.
Upstream-Status: Inappropriate [upstream have dropped distutils and switched to meson]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
numpy/distutils/ccompiler_opt.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/numpy/distutils/ccompiler_opt.py b/numpy/distutils/ccompiler_opt.py
index b1a6fa3..7b0302b 100644
--- a/numpy/distutils/ccompiler_opt.py
+++ b/numpy/distutils/ccompiler_opt.py
@@ -991,7 +991,7 @@ def __init__(self):
("cc_is_nocc", "", ""),
)
detect_args = (
- ("cc_has_debug", ".*(O0|Od|ggdb|coverage|debug:full).*", ""),
+ ("cc_has_debug", ".*debug:full.*", ""),
("cc_has_native",
".*(-march=native|-xHost|/QxHost|-mcpu=a64fx).*", ""),
# in case if the class run with -DNPY_DISABLE_OPTIMIZATION