Message ID | 20240812182036.1132711-1-tgamblin@baylibre.com |
---|---|
State | Accepted |
Headers | show |
Series | [meta-python] python3-pandas: upgrade 2.0.3 -> 2.2.2 | expand |
On Mon, Aug 12, 2024 at 11:20 AM Trevor Gamblin via lists.openembedded.org <tgamblin=baylibre.com@lists.openembedded.org> wrote: > > 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 <tgamblin@baylibre.com> > --- > ...t.toml-don-t-pin-dependency-versions.patch | 37 +++++++++++++++++++ > ...andas_2.0.3.bb => python3-pandas_2.2.2.bb} | 8 +++- > 2 files changed, 43 insertions(+), 2 deletions(-) > create mode 100644 meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-don-t-pin-dependency-versions.patch > rename meta-python/recipes-devtools/python/{python3-pandas_2.0.3.bb => python3-pandas_2.2.2.bb} (81%) > > 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 000000000..f60f43a5b > --- /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 <tgamblin@baylibre.com> > +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 <tgamblin@baylibre.com> > +--- > + 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", This means I have to synchronise this patch with the numpy 2.x upgrade patch in oe-core > +-- > +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.2.2.bb > similarity index 81% > rename from meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb > rename to meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb > index 91e76d991..ac8d46984 100644 > --- a/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb > +++ b/meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb > @@ -6,9 +6,13 @@ HOMEPAGE = "http://pandas.pydata.org/" > LICENSE = "BSD-3-Clause" > LIC_FILES_CHKSUM = "file://LICENSE;md5=cb819092901ddb13a7d0a4f5e05f098a" > > -SRC_URI[sha256sum] = "c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c" > +SRC_URI += " \ > + file://0001-pyproject.toml-don-t-pin-dependency-versions.patch \ > + " > > -inherit pypi setuptools3 > +SRC_URI[sha256sum] = "9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54" > + > +inherit pypi python_mesonpy > > DEPENDS += " \ > python3-cython-native \ > -- > 2.39.2 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#111773): https://lists.openembedded.org/g/openembedded-devel/message/111773 > Mute This Topic: https://lists.openembedded.org/mt/107862188/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On 2024-08-12 11:38 p.m., Khem Raj wrote: > On Mon, Aug 12, 2024 at 11:20 AM Trevor Gamblin via > lists.openembedded.org <tgamblin=baylibre.com@lists.openembedded.org> > wrote: >> 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 <tgamblin@baylibre.com> >> --- >> ...t.toml-don-t-pin-dependency-versions.patch | 37 +++++++++++++++++++ >> ...andas_2.0.3.bb => python3-pandas_2.2.2.bb} | 8 +++- >> 2 files changed, 43 insertions(+), 2 deletions(-) >> create mode 100644 meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-don-t-pin-dependency-versions.patch >> rename meta-python/recipes-devtools/python/{python3-pandas_2.0.3.bb => python3-pandas_2.2.2.bb} (81%) >> >> 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 000000000..f60f43a5b >> --- /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 <tgamblin@baylibre.com> >> +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 <tgamblin@baylibre.com> >> +--- >> + 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", > This means I have to synchronise this patch with the numpy 2.x upgrade > patch in oe-core Yes, once that is merged then this should be OK to merge as well. - Trevor > >> +-- >> +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.2.2.bb >> similarity index 81% >> rename from meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb >> rename to meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb >> index 91e76d991..ac8d46984 100644 >> --- a/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb >> +++ b/meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb >> @@ -6,9 +6,13 @@ HOMEPAGE = "http://pandas.pydata.org/" >> LICENSE = "BSD-3-Clause" >> LIC_FILES_CHKSUM = "file://LICENSE;md5=cb819092901ddb13a7d0a4f5e05f098a" >> >> -SRC_URI[sha256sum] = "c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c" >> +SRC_URI += " \ >> + file://0001-pyproject.toml-don-t-pin-dependency-versions.patch \ >> + " >> >> -inherit pypi setuptools3 >> +SRC_URI[sha256sum] = "9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54" >> + >> +inherit pypi python_mesonpy >> >> DEPENDS += " \ >> python3-cython-native \ >> -- >> 2.39.2 >> >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#111773): https://lists.openembedded.org/g/openembedded-devel/message/111773 >> Mute This Topic: https://lists.openembedded.org/mt/107862188/1997914 >> Group Owner: openembedded-devel+owner@lists.openembedded.org >> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] >> -=-=-=-=-=-=-=-=-=-=-=- >>
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 000000000..f60f43a5b --- /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 <tgamblin@baylibre.com> +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 <tgamblin@baylibre.com> +--- + 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.2.2.bb similarity index 81% rename from meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb rename to meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb index 91e76d991..ac8d46984 100644 --- a/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb +++ b/meta-python/recipes-devtools/python/python3-pandas_2.2.2.bb @@ -6,9 +6,13 @@ HOMEPAGE = "http://pandas.pydata.org/" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=cb819092901ddb13a7d0a4f5e05f098a" -SRC_URI[sha256sum] = "c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c" +SRC_URI += " \ + file://0001-pyproject.toml-don-t-pin-dependency-versions.patch \ + " -inherit pypi setuptools3 +SRC_URI[sha256sum] = "9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54" + +inherit pypi python_mesonpy DEPENDS += " \ python3-cython-native \
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 <tgamblin@baylibre.com> --- ...t.toml-don-t-pin-dependency-versions.patch | 37 +++++++++++++++++++ ...andas_2.0.3.bb => python3-pandas_2.2.2.bb} | 8 +++- 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 meta-python/recipes-devtools/python/python3-pandas/0001-pyproject.toml-don-t-pin-dependency-versions.patch rename meta-python/recipes-devtools/python/{python3-pandas_2.0.3.bb => python3-pandas_2.2.2.bb} (81%)