From d135ee1c0b4feaee338f476be9319759cd6feb94 Mon Sep 17 00:00:00 2001 From: Trevor Gamblin Date: Mon, 12 Aug 2024 14:20:36 -0400 Subject: python3-pandas: upgrade 2.0.3 -> 2.2.2 pandas 2.2.2 is the first version compatible with numpy 2.0.x. The package now uses meson as the build backend, so change the recipe to inherit that. Its pyproject.toml pins required versions for Cython and meson, but newer upstream pandas releases are using different versions and compatibility strings, so just add an OE-specific patch to relax the requirements a bit for us. Changelog: https://pandas.pydata.org/pandas-docs/version/2.2.2/whatsnew/v2.2.2.html Signed-off-by: Trevor Gamblin Signed-off-by: Khem Raj --- ...roject.toml-don-t-pin-dependency-versions.patch | 37 +++++++++++++++++++ .../python/python3-pandas_2.0.3.bb | 38 -------------------- .../python/python3-pandas_2.2.2.bb | 42 ++++++++++++++++++++++ 3 files changed, 79 insertions(+), 38 deletions(-) create mode 100644 meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-don-t-pin-dependency-versions.patch delete mode 100644 meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb create mode 100644 meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb (limited to 'meta-python/recipes-devtools/python') 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 new file mode 100644 index 0000000000..f60f43a5b0 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-don-t-pin-dependency-versions.patch @@ -0,0 +1,37 @@ +From d46b8720a6bccb345f6bdd7ee2f5c357e7eb227b Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin +Date: Mon, 12 Aug 2024 11:27:36 -0400 +Subject: [PATCH] pyproject.toml: don't pin dependency versions + +Pandas will fail to build if the exact versions aren't found, but newer +ones actually work. Since newer versions of pandas are adjusting the +requires section of pyproject toml further, just patch it for us. + +Upstream-Status: Inappropriate [OE-Specific] + +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 @@ + # Minimum requirements for the build system to execute. + # See https://github.com/scipy/scipy/pull/12940 for the AIX issue. + requires = [ +- "meson-python==0.13.1", +- "meson==1.2.1", ++ "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 + # Force numpy higher than 2.0rc1, so that built wheels are compatible + # with both numpy 1 and 2 + "numpy>=2.0.0rc1", +-- +2.39.2 + diff --git a/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb b/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb deleted file mode 100644 index 91e76d9919..0000000000 --- a/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb +++ /dev/null @@ -1,38 +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 = "http://pandas.pydata.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=cb819092901ddb13a7d0a4f5e05f098a" - -SRC_URI[sha256sum] = "c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c" - -inherit pypi setuptools3 - -DEPENDS += " \ - python3-cython-native \ - python3-numpy-native \ - python3-versioneer-native \ -" - -PACKAGESPLITFUNCS =+ "fix_cythonized_sources" - -fix_cythonized_sources() { - for f in `grep -l -r -e '\/* Generated by Cython.*/$' ${PKGD}${TARGET_DBGSRC_DIR}`; do - if [ -e $f ]; then - sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' $f - fi - done -} - -CFLAGS:append:toolchain-clang = " -Wno-error=deprecated-declarations" - -RDEPENDS:${PN} += " \ - python3-json \ - python3-numpy \ - python3-dateutil \ - python3-dateutil-zoneinfo \ - python3-pytz \ - python3-profile \ -" 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 new file mode 100644 index 0000000000..ac8d469847 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb @@ -0,0 +1,42 @@ +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 = "http://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[sha256sum] = "9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54" + +inherit pypi python_mesonpy + +DEPENDS += " \ + python3-cython-native \ + python3-numpy-native \ + python3-versioneer-native \ +" + +PACKAGESPLITFUNCS =+ "fix_cythonized_sources" + +fix_cythonized_sources() { + for f in `grep -l -r -e '\/* Generated by Cython.*/$' ${PKGD}${TARGET_DBGSRC_DIR}`; do + if [ -e $f ]; then + sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' $f + fi + done +} + +CFLAGS:append:toolchain-clang = " -Wno-error=deprecated-declarations" + +RDEPENDS:${PN} += " \ + python3-json \ + python3-numpy \ + python3-dateutil \ + python3-dateutil-zoneinfo \ + python3-pytz \ + python3-profile \ +" -- cgit v1.2.3-54-g00ecf