diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/0001-removed-RandomNumberGenerator-class-included-random-.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/0001-removed-RandomNumberGenerator-class-included-random-.patch
deleted file mode 100644
index 1f9b8cd..0000000
--- a/meta-openembedded/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 <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-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch
index 899cac6..aea8f62 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib/matplotlib-disable-download.patch
@@ -4,19 +4,17 @@
 
 Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
 
+Update patch to fit on 3.7.2.
+
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+
+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 @@
 -        ) 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.
      """
