<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/6df3cf1e93c1dd8a7c953aafe3ed21684849aa29">https://github.com/macports/macports-ports/commit/6df3cf1e93c1dd8a7c953aafe3ed21684849aa29</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 6df3cf1e93c1dd8a7c953aafe3ed21684849aa29
</span>Author: Renee Otten <reneeotten@macports.org>
AuthorDate: Mon Oct 14 10:31:11 2024 -0400

<span style='display:block; white-space:pre;color:#404040;'>    py27-matplotlib: move to separate port
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    - add patch to allow building on macOS 15
</span><span style='display:block; white-space:pre;color:#404040;'>    - remove no longer supported backends
</span>---
 python/py27-matplotlib/Portfile                    | 209 +++++++++++++++++++++
 python/py27-matplotlib/files/patch-jquery-ui.diff  |  15 ++
 python/py27-matplotlib/files/patch-qhull.diff      |  28 +++
 python/py27-matplotlib/files/patch-setup.cfg.diff  |  28 +++
 .../py27-matplotlib/files/patch-setupext.py.diff   |  17 ++
 .../files/patch-src_ft2font.cpp.diff               |  30 +++
 6 files changed, 327 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py27-matplotlib/Portfile b/python/py27-matplotlib/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..6807bedd025
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py27-matplotlib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,209 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           python 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           compiler_wrapper 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                py27-matplotlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.rootname     matplotlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             2.2.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append   graphics math
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             {PSF BSD}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {reneeotten @reneeotten} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Matplotlib is a python plotting library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    Matplotlib strives to produce publication quality 2D \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    graphics for interactive graphing, scientific publishing, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    user interface development and web application servers \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    targeting multiple user interfaces and hardcopy output \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    formats. There is a 'pylab' mode which emulates matlab \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    graphics. The library uses numpy for handling large data \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sets and supports a variety of output backends. This port \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    provides variants for the different GUIs (gtk2, gtk3, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    tkinter, qt4, qt5, cairo, latex).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://matplotlib.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  4532a205e8f40d6f40346b2e461d3dca144b38b9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  a3037a840cd9dfdc2df9fee8af8f76ca82bfab173c0f9468193ca7a89a2b60ea \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    36678633
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_parallel_build  no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions     27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.pep517       no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                path:bin/pkg-config:pkgconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:py${python.version}-setuptools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:freetype \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:qhull \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:py${python.version}-cycler \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:py${python.version}-dateutil \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:py${python.version}-kiwisolver \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:py${python.version}-numpy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:py${python.version}-parsing \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:libpng \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:py${python.version}-backports-functools_lru_cache \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:py${python.version}-six \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:py${python.version}-subprocess32 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:py${python.version}-tz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${python.version} < 310} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:py${python.version}-importlib-resources
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set configfile setup.cfg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles  patch-setup.cfg.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patch-qhull.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patch-setupext.py.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patch-jquery-ui.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patch-src_ft2font.cpp.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant gtk2 description "Enable GTKAgg backend" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:py${python.version}-pygtk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|^gtk=False|gtk=True|" ${worksrcpath}/${configfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|^gtkagg=False|gtkagg=True|" ${worksrcpath}/${configfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@@PREFIX@@|${prefix}|" ${worksrcpath}/${configfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant qt4 description "Enable Qt4Agg backend" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:py${python.version}-pyqt4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|^qt4agg=False|qt4agg=True|" ${worksrcpath}/${configfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# jquery-ui is included in the PyPI files, patch added for setup.py that avoids trying
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# to install if from the cache or download from URL. Just copy the directory in the post-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# build phase.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set libdir [glob -nocomplain ${worksrcpath}/build/lib*]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![file exists ${libdir}/matplotlib/backends/web_backend/jquery-ui-1.12.1]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/lib/matplotlib/backends/web_backend/jquery-ui-1.12.1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${libdir}/matplotlib/backends/web_backend/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                PKG_CONFIG_PATH=${python.prefix}/lib/pkgconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                CFLAGS=${configure.cxxflags} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                CXXFLAGS=${configure.cxxflags} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                PKG_CONFIG_PATH=${python.prefix}/lib/pkgconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                CFLAGS=${configure.cxxflags} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                CXXFLAGS=${configure.cxxflags} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# build fails with gcc-4.0 on Leopard, use gcc-4.2 (#37069)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist gcc-4.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# additionally on Leopard the macosx backend cannot be compiled anymore, see Trac ticket:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/61757
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# this is a compiler issue, not OS version issue; this backend should be disabled for gcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# cc1obj: error: '-Werror=unguarded-availability': no option '-Wunguarded-availability'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# src/_macosx.m: error: incompatible type for argument 1 of 'updateDevicePixelRatio'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# src/_macosx.m: error: incompatible types when initializing type 'CGFloat' {aka 'float'} using type 'id'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *gcc* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|^macosx=True|macosx=False|" ${worksrcpath}/${configfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${prefix}/share/doc/${subport} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/share/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0644 {*}[glob ${worksrcpath}/README.*] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0644 -W ${worksrcpath} matplotlibrc.template \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file copy ${worksrcpath}/examples \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/share/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant webagg description "Enable WebAgg backend" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:py${python.version}-tornado
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant tkinter description "Enable TkAgg backend" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:py${python.version}-tkinter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|^tkagg=False|tkagg=True|" ${worksrcpath}/${configfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant gtk3 description "Enable GTK3Agg backend" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:py${python.version}-gobject3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        path:lib/pkgconfig/gtk+-3.0.pc:gtk3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|^gtk3agg=False|gtk3agg=True|" ${worksrcpath}/${configfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant qt5 description "Enable Qt5Agg backend" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:py${python.version}-pyqt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|^qt5agg=False|qt5agg=True|" ${worksrcpath}/${configfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant cairo description "Enable Cairo backends" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:py${python.version}-cairo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|^cairo=False|cairo=True|" ${worksrcpath}/${configfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant dvipng description "Enable dvipng support" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append  port:dvipng
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant ghostscript description "Enable GhostScript support" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append  port:ghostscript
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant latex description "Enable LaTeX support" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append  bin:latex:texlive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant pdftops description "Enable pdftops support" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append  bin:pdftops:poppler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants +webagg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset gtk2] && ![variant_isset tkinter] && ![variant_isset qt5] &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ![variant_isset qt4]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        default_variants-append +cairo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset gtk3] && [variant_isset cairo]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|^gtk3cairo=False|gtk3cairo=True|" ${worksrcpath}/${configfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "The default backend is the interactive Mac OS X backend. Different\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    backends can be specified using the ~/.matplotlib/matplotlibrc file.\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    More details regarding backends can be found in the matplotlib FAQ:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    https://matplotlib.org/stable/users/explain/backends.html"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type      none
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py27-matplotlib/files/patch-jquery-ui.diff b/python/py27-matplotlib/files/patch-jquery-ui.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..46b43fb069d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py27-matplotlib/files/patch-jquery-ui.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setup.py.orig  2019-02-25 19:18:32.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setup.py       2019-05-21 10:36:03.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -188,9 +188,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         _download_jquery_to("lib/matplotlib/backends/web_backend/")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-cmdclass['sdist'] = sdist_with_jquery
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-cmdclass['install_lib'] = install_lib_with_jquery
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-cmdclass['develop'] = develop_with_jquery
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++##cmdclass['sdist'] = sdist_with_jquery
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++##cmdclass['install_lib'] = install_lib_with_jquery
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++##cmdclass['develop'] = develop_with_jquery
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # One doesn't normally see `if __name__ == '__main__'` blocks in a setup.py,
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py27-matplotlib/files/patch-qhull.diff b/python/py27-matplotlib/files/patch-qhull.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c42c5a02f75
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py27-matplotlib/files/patch-qhull.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setupext.py.orig       2019-02-25 21:07:47.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setupext.py    2019-02-27 23:27:59.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1406,23 +1406,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def check(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.__class__.found_external = True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            return self._check_for_pkg_config(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                'libqhull', 'libqhull/qhull_a.h', min_version='2015.2')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        except CheckFailed as e:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            self.__class__.found_pkgconfig = False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            self.__class__.found_external = False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            return str(e) + ' Using local copy.'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return ' Using copy installed by MacPorts.'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def add_flags(self, ext):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if self.found_external:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            pkg_config.setup_extension(ext, 'qhull',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                       default_libraries=['qhull'])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            ext.include_dirs.insert(0, 'extern')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            ext.sources.extend(sorted(glob.glob('extern/libqhull/*.c')))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            if sysconfig.get_config_var('LIBM') == '-lm':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                ext.libraries.extend('m')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ext.libraries.append('qhull')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ class TTConv(SetupPackage):
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py27-matplotlib/files/patch-setup.cfg.diff b/python/py27-matplotlib/files/patch-setup.cfg.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9a677a0951d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py27-matplotlib/files/patch-setup.cfg.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setup.cfg      2018-10-03 11:50:33.000000000 +0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setup.cfg      2018-10-03 11:54:34.000000000 +0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++[gui_support]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++agg=True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cairo=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gtk=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gtk3agg=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gtk3cairo=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gtkagg=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++macosx=True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++pyside=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++qt4agg=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++qt5agg=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tkagg=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++windowing=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++wxagg=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++[packages]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++sample_data=True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++toolkits=True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tests=False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++[rc_options]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++backend=MacOSX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++[directories]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++basedirlist=@@PREFIX@@
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py27-matplotlib/files/patch-setupext.py.diff b/python/py27-matplotlib/files/patch-setupext.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b85bd4f71df
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py27-matplotlib/files/patch-setupext.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setupext.py.orig       2019-02-27 23:27:59.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setupext.py    2019-02-27 23:28:57.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1541,10 +1541,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ class BackendTkAgg(OptionalBackendPackage):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     name = "tkagg"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    force = True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    def check(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        return "installing; run-time loading from Python Tcl / Tk"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++##    force = True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++##
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++##    def check(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++##        return "installing; run-time loading from Python Tcl / Tk"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def runtime_check(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         """ Checks whether TkAgg runtime dependencies are met
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py27-matplotlib/files/patch-src_ft2font.cpp.diff b/python/py27-matplotlib/files/patch-src_ft2font.cpp.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b93f89d6d5c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py27-matplotlib/files/patch-src_ft2font.cpp.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Avoids the errors:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:info:build src/ft2font.cpp:207:29: error: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:info:build   207 |         tags = outline.tags + first;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:info:build       |                ~~~~~~~~~~~~~^~~~~~~
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:info:build src/ft2font.cpp:323:29: error: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:info:build   323 |         tags = outline.tags + first;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:info:build       |                ~~~~~~~~~~~~~^~~~~~~
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:info:build 2 errors generated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/ft2font.cpp.orig   2024-10-28 22:40:16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/ft2font.cpp        2024-10-28 22:40:28
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -204,7 +204,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         v_control = v_start;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         point = outline.points + first;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        tags = outline.tags + first;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        tags  = (char*)(outline.tags)  + first;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         tag = FT_CURVE_TAG(tags[0]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         // A contour cannot start with a cubic control point!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -320,7 +320,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         v_control = v_start;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         point = outline.points + first;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        tags = outline.tags + first;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        tags  = (char*)(outline.tags)  + first;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         tag = FT_CURVE_TAG(tags[0]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         double x, y;
</span></pre><pre style='margin:0'>

</pre>