From 02c52ce66f3845f6d2fbdc74bd3c291a4c4eb902 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 18 May 2025 09:57:18 -0700 Subject: [PATCH] python3-pandas: Upgrade to 2.2.3 Fixes build with cython >=3.1 Drop patch to pin numpy to 1.x Edit out absolute paths from cython generated C files Cc: Martin Jansa Signed-off-by: Khem Raj --- ...ion-to-specify-numpy-header-location.patch | 5 ---- ...Downgrade-numpy-version-needs-to-1.x.patch | 27 ------------------- ...t.toml-don-t-pin-dependency-versions.patch | 11 +++----- ...andas_2.2.2.bb => python3-pandas_2.2.3.bb} | 9 +++++-- 4 files changed, 10 insertions(+), 42 deletions(-) delete mode 100644 meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-Downgrade-numpy-version-needs-to-1.x.patch rename meta-python/recipes-devtools/python/{python3-pandas_2.2.2.bb => python3-pandas_2.2.3.bb} (80%) diff --git a/meta-python/recipes-devtools/python/python3-pandas/0001-BLD-add-option-to-specify-numpy-header-location.patch b/meta-python/recipes-devtools/python/python3-pandas/0001-BLD-add-option-to-specify-numpy-header-location.patch index 87023a24ec..e83576eb62 100644 --- a/meta-python/recipes-devtools/python/python3-pandas/0001-BLD-add-option-to-specify-numpy-header-location.patch +++ b/meta-python/recipes-devtools/python/python3-pandas/0001-BLD-add-option-to-specify-numpy-header-location.patch @@ -25,15 +25,10 @@ Signed-off-by: Gyorgy Sarvari 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 meson.options -diff --git a/meson.options b/meson.options -new file mode 100644 -index 0000000000..3d3a18d145 --- /dev/null +++ b/meson.options @@ -0,0 +1 @@ +option('numpy_inc_dir', type : 'string', description : 'The absolute path to the numpy headers') -diff --git a/pandas/meson.build b/pandas/meson.build -index 435103a..a08c77a 100644 --- a/pandas/meson.build +++ b/pandas/meson.build @@ -3,17 +3,24 @@ incdir_numpy = run_command(py, diff --git a/meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-Downgrade-numpy-version-needs-to-1.x.patch b/meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-Downgrade-numpy-version-needs-to-1.x.patch deleted file mode 100644 index b0ef8ce00c..0000000000 --- a/meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-Downgrade-numpy-version-needs-to-1.x.patch +++ /dev/null @@ -1,27 +0,0 @@ -From d81d95274d84ac51fc02e0fa91affc7f3cbefccb Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 24 Aug 2024 10:21:43 -0700 -Subject: [PATCH] pyproject.toml: Downgrade numpy version needs to 1.x - -Drop it when numpy is upgraded to 2.x or newer in core - -Upstream-Status: Inappropriate [OE workaround] - -Signed-off-by: Khem Raj ---- - pyproject.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pyproject.toml b/pyproject.toml -index 5158d60..d3daa78 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -8,7 +8,7 @@ requires = [ - "Cython>=3.0.5", # Note: sync with setup.py, environment.yml and asv.conf.json - # Force numpy higher than 2.0rc1, so that built wheels are compatible - # with both numpy 1 and 2 -- "numpy>=2.0.0rc1", -+ "numpy>=1.24.0", - "versioneer[toml]" - ] - diff --git a/meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-don-t-pin-dependency-versions.patch b/meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-don-t-pin-dependency-versions.patch index f60f43a5b0..950f25303f 100644 --- a/meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-don-t-pin-dependency-versions.patch +++ b/meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-don-t-pin-dependency-versions.patch @@ -14,8 +14,6 @@ Signed-off-by: Trevor Gamblin pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/pyproject.toml b/pyproject.toml -index db9f055799..5158d60f59 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,10 +2,10 @@ @@ -27,11 +25,8 @@ index db9f055799..5158d60f59 100644 + "meson-python>=0.13.1", + "meson>=1.2.1", "wheel", -- "Cython==3.0.5", # Note: sync with setup.py, environment.yml and asv.conf.json +- "Cython~=3.0.5", # Note: sync with setup.py, environment.yml and asv.conf.json + "Cython>=3.0.5", # Note: sync with setup.py, environment.yml and asv.conf.json - # Force numpy higher than 2.0rc1, so that built wheels are compatible + # Force numpy higher than 2.0, so that built wheels are compatible # with both numpy 1 and 2 - "numpy>=2.0.0rc1", --- -2.39.2 - + "numpy>=2.0", diff --git a/meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb b/meta-python/recipes-devtools/python/python3-pandas_2.2.3.bb similarity index 80% rename from meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb rename to meta-python/recipes-devtools/python/python3-pandas_2.2.3.bb index b956f5ca2f..c7e3ec8fec 100644 --- a/meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb +++ b/meta-python/recipes-devtools/python/python3-pandas_2.2.3.bb @@ -8,12 +8,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=cb819092901ddb13a7d0a4f5e05f098a" SRC_URI += " \ file://0001-pyproject.toml-don-t-pin-dependency-versions.patch \ - file://0001-pyproject.toml-Downgrade-numpy-version-needs-to-1.x.patch \ " SRC_URI:append:class-target = " file://0001-BLD-add-option-to-specify-numpy-header-location.patch " -SRC_URI[sha256sum] = "9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54" +SRC_URI[sha256sum] = "4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667" inherit pkgconfig pypi python_mesonpy cython @@ -36,4 +35,10 @@ RDEPENDS:${PN} += " \ PYTHONPATH:prepend:class-target = "${RECIPE_SYSROOT}${PYTHON_SITEPACKAGES_DIR}:" export PYTHONPATH +do_compile:append() { + # Fix absolute paths in generated files + find ${B} -name "*.c" -o -name "*.cpp" | xargs -r \ + sed -i 's|${WORKDIR}/pandas-${PV}/|${TARGET_DBGSRC_DIR}/|g' +} + EXTRA_OEMESON:append:class-target = " -Dnumpy_inc_dir=${RECIPE_SYSROOT}${PYTHON_SITEPACKAGES_DIR}/numpy/_core/include "