From 3a63fbf62a72cbfb407f776f673ca34e43f08b9a Mon Sep 17 00:00:00 2001 From: Trevor Gamblin Date: Tue, 25 Jul 2023 15:09:40 -0400 Subject: python3-matplotlib: upgrade 3.6.3 -> 3.7.2 - Adjust target lines in setup.py for LIC_FILES_CHKSUM, since the content of interest has moved (but not changed) - Tweak matplotlib-disable-download.patch to apply on 3.7.2 - Remove backported patch since it's in 3.7.2: [tgamblin@megalith matplotlib]$ git log --oneline --grep="removed RandomNumberGenerator class" 601d92a885 removed RandomNumberGenerator class, included , replaced random_shuffle with shuffle and used mersenne twister engine to generate uniform random bit generator for the shuffle. [tgamblin@megalith matplotlib]$ git tag --contains 601d92a885 v3.7.0 v3.7.0rc1 v3.7.1 v3.7.2 Changelog: https://github.com/matplotlib/matplotlib/releases Signed-off-by: Trevor Gamblin Signed-off-by: Khem Raj --- ...domNumberGenerator-class-included-random-.patch | 59 ------------------ .../matplotlib-disable-download.patch | 28 ++++----- .../python/python3-matplotlib_3.6.3.bb | 69 --------------------- .../python/python3-matplotlib_3.7.2.bb | 70 ++++++++++++++++++++++ 4 files changed, 84 insertions(+), 142 deletions(-) delete mode 100644 meta-python/recipes-devtools/python/python3-matplotlib/0001-removed-RandomNumberGenerator-class-included-random-.patch delete mode 100644 meta-python/recipes-devtools/python/python3-matplotlib_3.6.3.bb create mode 100644 meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb (limited to 'meta-python/recipes-devtools/python') diff --git a/meta-python/recipes-devtools/python/python3-matplotlib/0001-removed-RandomNumberGenerator-class-included-random-.patch b/meta-python/recipes-devtools/python/python3-matplotlib/0001-removed-RandomNumberGenerator-class-included-random-.patch deleted file mode 100644 index 1f9b8cdeaf..0000000000 --- a/meta-python/recipes-devtools/python/python3-matplotlib/0001-removed-RandomNumberGenerator-class-included-random-.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 3eb9987b02cc10b93e09219ddc86aa6be5f10177 Mon Sep 17 00:00:00 2001 -From: tybeller -Date: Fri, 30 Sep 2022 16:13:41 -0400 -Subject: [PATCH] removed RandomNumberGenerator class, included , - replaced random_shuffle with shuffle and used mersenne twister engine to - generate uniform random bit generator for the shuffle. - -Upstream-Status: Backport [https://github.com/matplotlib/matplotlib/commit/601d92a8850] -Signed-off-by: Khem Raj ---- - src/tri/_tri.cpp | 20 ++++---------------- - 1 file changed, 4 insertions(+), 16 deletions(-) - -diff --git a/src/tri/_tri.cpp b/src/tri/_tri.cpp -index b7a87783de..6e639eea44 100644 ---- a/src/tri/_tri.cpp -+++ b/src/tri/_tri.cpp -@@ -12,6 +12,7 @@ - - #include - #include -+#include - - - TriEdge::TriEdge() -@@ -1465,8 +1466,8 @@ TrapezoidMapTriFinder::initialize() - _tree->assert_valid(false); - - // Randomly shuffle all edges other than first 2. -- RandomNumberGenerator rng(1234); -- std::random_shuffle(_edges.begin()+2, _edges.end(), rng); -+ std::mt19937 rng(1234); -+ std::shuffle(_edges.begin()+2, _edges.end(), rng); - - // Add edges, one at a time, to tree. - size_t nedges = _edges.size(); -@@ -2055,17 +2056,4 @@ TrapezoidMapTriFinder::Trapezoid::set_upper_right(Trapezoid* upper_right_) - upper_right = upper_right_; - if (upper_right != 0) - upper_right->upper_left = this; --} -- -- -- --RandomNumberGenerator::RandomNumberGenerator(unsigned long seed) -- : _m(21870), _a(1291), _c(4621), _seed(seed % _m) --{} -- --unsigned long --RandomNumberGenerator::operator()(unsigned long max_value) --{ -- _seed = (_seed*_a + _c) % _m; -- return (_seed*max_value) / _m; --} -+} -\ No newline at end of file --- -2.39.0 - diff --git a/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch b/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch index 899cac624a..aea8f62ea7 100644 --- a/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch +++ b/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch @@ -4,19 +4,17 @@ Upstream-Status: Inappropriate [disable feature] Signed-off-by: Mark Hatle +Update patch to fit on 3.7.2. + +Signed-off-by: Trevor Gamblin + +diff --git a/setup.py b/setup.py +index 0bea13fa6f..f39d8fc871 100644 --- a/setup.py +++ b/setup.py -@@ -303,7 +303,6 @@ setup( # Finally, pass this all along t - setup_requires=[ - "certifi>=2020.06.20", - "numpy>=1.19", -- "setuptools_scm>=7", - ], - install_requires=[ - "contourpy>=1.0.1", -@@ -315,13 +314,7 @@ setup( # Finally, pass this all along t +@@ -327,13 +327,7 @@ setup( # Finally, pass this all along to setuptools to do the heavy lifting. "pillow>=6.2.0", - "pyparsing>=2.2.1", + "pyparsing>=2.3.1,<3.1", "python-dateutil>=2.7", - ] + ( - # Installing from a git checkout that is not producing a wheel. @@ -26,12 +24,14 @@ Signed-off-by: Mark Hatle - ) else [] - ), + ], - use_scm_version={ - "version_scheme": "release-branch-semver", - "local_scheme": "node-and-date", + extras_require={ + ':python_version<"3.10"': [ + "importlib-resources>=3.2.0", +diff --git a/setupext.py b/setupext.py +index a898d642d6..474172ff8f 100644 --- a/setupext.py +++ b/setupext.py -@@ -65,40 +65,7 @@ def get_from_cache_or_download(url, sha) +@@ -66,40 +66,7 @@ def get_from_cache_or_download(url, sha): BytesIO The file loaded into memory. """ diff --git a/meta-python/recipes-devtools/python/python3-matplotlib_3.6.3.bb b/meta-python/recipes-devtools/python/python3-matplotlib_3.6.3.bb deleted file mode 100644 index fa0a78d6a9..0000000000 --- a/meta-python/recipes-devtools/python/python3-matplotlib_3.6.3.bb +++ /dev/null @@ -1,69 +0,0 @@ -SUMMARY = "matplotlib: plotting with Python" -DESCRIPTION = "\ -Matplotlib is a Python 2D plotting library which produces \ -publication-quality figures in a variety of hardcopy formats \ -and interactive environments across platforms." -HOMEPAGE = "https://github.com/matplotlib/matplotlib" -SECTION = "devel/python" -LICENSE = "PSF-2.0" -LIC_FILES_CHKSUM = "\ - file://setup.py;beginline=283;endline=283;md5=20e7ab4d2b2b1395a0e4ab800181eb96 \ - file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74 \ -" - -DEPENDS = "\ - freetype \ - libpng \ - python3-numpy-native \ - python3-pip-native \ - python3-dateutil-native \ - python3-pytz-native \ - python3-certifi-native \ - python3-setuptools-scm-native \ -" -SRC_URI[sha256sum] = "1f4d69707b1677560cd952544ee4962f68ff07952fb9069ff8c12b56353cb8c9" - -inherit pypi setuptools3 pkgconfig - -# Stop the component from attempting to download when it detects a missing -# dependency -SRC_URI += "file://matplotlib-disable-download.patch \ - file://0001-removed-RandomNumberGenerator-class-included-random-.patch" - -# This python module requires a full copy of freetype-2.6.1 -SRC_URI += "https://downloads.sourceforge.net/project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz;name=freetype;subdir=matplotlib-${PV}/build" -SRC_URI[freetype.sha256sum] = "0a3c7dfbda6da1e8fce29232e8e96d987ababbbf71ebc8c75659e4132c367014" - -# This python module requires a full copy of 'qhull-2020' -SRC_URI += "http://www.qhull.org/download/qhull-2020-src-8.0.2.tgz;name=qhull;subdir=matplotlib-${PV}/build" -SRC_URI[qhull.sha256sum] = "b5c2d7eb833278881b952c8a52d20179eab87766b00b865000469a45c1838b7e" - -# LTO with clang needs lld -LDFLAGS:append:toolchain-clang = " -fuse-ld=lld" -LDFLAGS:remove:toolchain-clang:mips = "-fuse-ld=lld" -LDFLAGS:remove:toolchain-clang:riscv64 = "-fuse-ld=lld" -LDFLAGS:remove:toolchain-clang:riscv32 = "-fuse-ld=lld" -RDEPENDS:${PN} = "\ - freetype \ - libpng \ - python3-numpy \ - python3-pyparsing \ - python3-cycler \ - python3-dateutil \ - python3-kiwisolver \ - python3-pytz \ - python3-pillow \ - python3-packaging \ -" - -ENABLELTO:toolchain-clang:riscv64 = "echo enable_lto = False >> ${S}/mplsetup.cfg" -ENABLELTO:toolchain-clang:riscv32 = "echo enable_lto = False >> ${S}/mplsetup.cfg" -ENABLELTO:toolchain-clang:mips = "echo enable_lto = False >> ${S}/mplsetup.cfg" - -do_compile:prepend() { - echo [libs] > ${S}/mplsetup.cfg - echo system_freetype = True >> ${S}/mplsetup.cfg - ${ENABLELTO} -} - -BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb b/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb new file mode 100644 index 0000000000..72c369100a --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-matplotlib_3.7.2.bb @@ -0,0 +1,70 @@ +SUMMARY = "matplotlib: plotting with Python" +DESCRIPTION = "\ +Matplotlib is a Python 2D plotting library which produces \ +publication-quality figures in a variety of hardcopy formats \ +and interactive environments across platforms." +HOMEPAGE = "https://github.com/matplotlib/matplotlib" +SECTION = "devel/python" +LICENSE = "PSF-2.0" +LIC_FILES_CHKSUM = "\ + file://setup.py;beginline=293;endline=293;md5=20e7ab4d2b2b1395a0e4ab800181eb96 \ + file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74 \ +" + +DEPENDS = "\ + freetype \ + libpng \ + python3-numpy-native \ + python3-pip-native \ + python3-dateutil-native \ + python3-pytz-native \ + python3-certifi-native \ + python3-setuptools-scm-native \ + python3-pybind11-native \ +" +SRC_URI[sha256sum] = "a8cdb91dddb04436bd2f098b8fdf4b81352e68cf4d2c6756fcc414791076569b" + +inherit pypi setuptools3 pkgconfig + +# Stop the component from attempting to download when it detects a missing +# dependency +SRC_URI += "file://matplotlib-disable-download.patch \ +" + +# This python module requires a full copy of freetype-2.6.1 +SRC_URI += "https://downloads.sourceforge.net/project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz;name=freetype;subdir=matplotlib-${PV}/build" +SRC_URI[freetype.sha256sum] = "0a3c7dfbda6da1e8fce29232e8e96d987ababbbf71ebc8c75659e4132c367014" + +# This python module requires a full copy of 'qhull-2020' +SRC_URI += "http://www.qhull.org/download/qhull-2020-src-8.0.2.tgz;name=qhull;subdir=matplotlib-${PV}/build" +SRC_URI[qhull.sha256sum] = "b5c2d7eb833278881b952c8a52d20179eab87766b00b865000469a45c1838b7e" + +# LTO with clang needs lld +LDFLAGS:append:toolchain-clang = " -fuse-ld=lld" +LDFLAGS:remove:toolchain-clang:mips = "-fuse-ld=lld" +LDFLAGS:remove:toolchain-clang:riscv64 = "-fuse-ld=lld" +LDFLAGS:remove:toolchain-clang:riscv32 = "-fuse-ld=lld" +RDEPENDS:${PN} = "\ + freetype \ + libpng \ + python3-numpy \ + python3-pyparsing \ + python3-cycler \ + python3-dateutil \ + python3-kiwisolver \ + python3-pytz \ + python3-pillow \ + python3-packaging \ +" + +ENABLELTO:toolchain-clang:riscv64 = "echo enable_lto = False >> ${S}/mplsetup.cfg" +ENABLELTO:toolchain-clang:riscv32 = "echo enable_lto = False >> ${S}/mplsetup.cfg" +ENABLELTO:toolchain-clang:mips = "echo enable_lto = False >> ${S}/mplsetup.cfg" + +do_compile:prepend() { + echo [libs] > ${S}/mplsetup.cfg + echo system_freetype = True >> ${S}/mplsetup.cfg + ${ENABLELTO} +} + +BBCLASSEXTEND = "native" -- cgit v1.2.3-54-g00ecf