From 02c52ce66f3845f6d2fbdc74bd3c291a4c4eb902 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 18 May 2025 09:57:18 -0700 Subject: 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 --- ...d-option-to-specify-numpy-header-location.patch | 5 --- ...toml-Downgrade-numpy-version-needs-to-1.x.patch | 27 ------------- ...roject.toml-don-t-pin-dependency-versions.patch | 11 ++---- .../python/python3-pandas_2.2.2.bb | 39 ------------------- .../python/python3-pandas_2.2.3.bb | 44 ++++++++++++++++++++++ 5 files changed, 47 insertions(+), 79 deletions(-) delete mode 100644 meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-Downgrade-numpy-version-needs-to-1.x.patch delete mode 100644 meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb create mode 100644 meta-python/recipes-devtools/python/python3-pandas_2.2.3.bb (limited to 'meta-python/recipes-devtools') 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.2.bb deleted file mode 100644 index b956f5ca2f..0000000000 --- a/meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "pandas library for high-performance data analysis tools" -DESCRIPTION = "pandas is an open source, BSD-licensed library providing \ -high-performance, easy-to-use data structures and data analysis tools for \ -the Python programming language." -HOMEPAGE = "https://pandas.pydata.org/" -LICENSE = "BSD-3-Clause" -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" - -inherit pkgconfig pypi python_mesonpy cython - -DEPENDS += " \ - python3-numpy \ - python3-versioneer-native \ -" - -CFLAGS:append:toolchain-clang = " -Wno-error=deprecated-declarations" - -RDEPENDS:${PN} += " \ - python3-json \ - python3-numpy \ - python3-dateutil \ - python3-dateutil-zoneinfo \ - python3-pytz \ - python3-profile \ -" - -PYTHONPATH:prepend:class-target = "${RECIPE_SYSROOT}${PYTHON_SITEPACKAGES_DIR}:" -export PYTHONPATH - -EXTRA_OEMESON:append:class-target = " -Dnumpy_inc_dir=${RECIPE_SYSROOT}${PYTHON_SITEPACKAGES_DIR}/numpy/_core/include " diff --git a/meta-python/recipes-devtools/python/python3-pandas_2.2.3.bb b/meta-python/recipes-devtools/python/python3-pandas_2.2.3.bb new file mode 100644 index 0000000000..c7e3ec8fec --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pandas_2.2.3.bb @@ -0,0 +1,44 @@ +SUMMARY = "pandas library for high-performance data analysis tools" +DESCRIPTION = "pandas is an open source, BSD-licensed library providing \ +high-performance, easy-to-use data structures and data analysis tools for \ +the Python programming language." +HOMEPAGE = "https://pandas.pydata.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cb819092901ddb13a7d0a4f5e05f098a" + +SRC_URI += " \ + file://0001-pyproject.toml-don-t-pin-dependency-versions.patch \ + " + +SRC_URI:append:class-target = " file://0001-BLD-add-option-to-specify-numpy-header-location.patch " + +SRC_URI[sha256sum] = "4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667" + +inherit pkgconfig pypi python_mesonpy cython + +DEPENDS += " \ + python3-numpy \ + python3-versioneer-native \ +" + +CFLAGS:append:toolchain-clang = " -Wno-error=deprecated-declarations" + +RDEPENDS:${PN} += " \ + python3-json \ + python3-numpy \ + python3-dateutil \ + python3-dateutil-zoneinfo \ + python3-pytz \ + python3-profile \ +" + +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 " -- cgit v1.2.3-54-g00ecf