diff options
author | Khem Raj <raj.khem@gmail.com> | 2023-01-16 21:20:02 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2023-01-16 21:23:07 -0800 |
commit | 175682f0df219e54b8f728e6327d81969ba8c436 (patch) | |
tree | ae8d70f44ce55260d244e6280e2d3e417d99b269 /meta-python | |
parent | 1f56bcddaf5bb6d7c8a9a7a3e3dc3b83fc6aa051 (diff) | |
download | meta-openembedded-175682f0df219e54b8f728e6327d81969ba8c436.tar.gz |
python3-matplotlib: Fix build with c++17
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-python')
2 files changed, 63 insertions, 1 deletions
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 new file mode 100644 index 0000000000..1f9b8cdeaf --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-matplotlib/0001-removed-RandomNumberGenerator-class-included-random-.patch @@ -0,0 +1,59 @@ +From 3eb9987b02cc10b93e09219ddc86aa6be5f10177 Mon Sep 17 00:00:00 2001 +From: tybeller <ty.c.beller@gmail.com> +Date: Fri, 30 Sep 2022 16:13:41 -0400 +Subject: [PATCH] removed RandomNumberGenerator class, included <random>, + 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 <raj.khem@gmail.com> +--- + 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 <algorithm> + #include <set> ++#include <random> + + + 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_3.6.3.bb b/meta-python/recipes-devtools/python/python3-matplotlib_3.6.3.bb index 809f9425ba..fa0a78d6a9 100644 --- a/meta-python/recipes-devtools/python/python3-matplotlib_3.6.3.bb +++ b/meta-python/recipes-devtools/python/python3-matplotlib_3.6.3.bb @@ -27,7 +27,8 @@ inherit pypi setuptools3 pkgconfig # Stop the component from attempting to download when it detects a missing # dependency -SRC_URI += "file://matplotlib-disable-download.patch" +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" @@ -40,6 +41,8 @@ SRC_URI[qhull.sha256sum] = "b5c2d7eb833278881b952c8a52d20179eab87766b00b86500046 # 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 \ |