<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/8cf5ea6c4f8810fb5a5c66d3bdf27c09202c93fc">https://github.com/macports/macports-ports/commit/8cf5ea6c4f8810fb5a5c66d3bdf27c09202c93fc</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 8cf5ea6c4f8810fb5a5c66d3bdf27c09202c93fc
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Sun Apr 28 00:35:59 2024 +0800

<span style='display:block; white-space:pre;color:#404040;'>    FileZilla: update to 3.67.0, fix for older systems
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/69113
</span>---
 www/FileZilla/Portfile                             |  84 +++++++--
 www/FileZilla/files/patch-fix-fz_datadir.diff      |  39 ++++
 www/FileZilla/files/patch-fix-mac-wxgtk.diff       |  33 ++++
 .../files/patch-relax-wxwidgets-version.diff       |  13 ++
 www/FileZilla/files/patch-wx3.0.diff               | 208 +++++++++++++++++++++
 5 files changed, 362 insertions(+), 15 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/FileZilla/Portfile b/www/FileZilla/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 389f212ff2a..aece0deaa35 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/FileZilla/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/FileZilla/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,14 +1,18 @@
</span> # -*- 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
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           wxWidgets 1.0
</span> PortGroup           compiler_blacklist_versions 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           wxWidgets 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# LegacySupport only used for providing wrappers here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.newest_darwin_requires_legacy 0
</span> 
 name                FileZilla
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             3.66.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             3.67.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> 
 categories          www aqua
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span> maintainers         nomaintainer
 license             GPL-2+
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,17 +25,47 @@ long_description    FileZilla Client is a fast and reliable cross-platform \
</span> homepage            https://filezilla-project.org/
 master_sites        https://download.filezilla-project.org/client
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  950e44a39b4464cd47888295eb20cb394b8df6fd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  a40f04e02efaae7b50d1515ee1c36c4b0e445818566c450e440bfd6c70e9b203 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    4057952
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  598141c7af251fbeec751bbaf7e6573d0f0e40af \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  e5dadc807db999ceb464984f974d3ef59b562c59546658057e9b201183adaf9a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    4058264
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# FileZilla 3.67 dropped support for wxWidgets < 3.2.1.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# However, wxWidgets-3.2 does not build on < 10.11,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# and wxWidgets-3.0* does not work correctly on < 10.8.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# So for older macOS (and non-Darwin) use wxGTK.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} > 15} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    wxWidgets.use   wxWidgets-3.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${os.platform} eq "darwin" && ${os.major} > 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    wxWidgets.use   wxWidgets-3.0-cxx11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    wxWidgets.use   wxGTK-3.0-cxx11
</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:desktop-file-utils
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    legacysupport.redirect_bins filezilla
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Contrary to documentation, FZ_DATADIR does nothing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # on macOS, since assumption of app bundle is hardcoded.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-fix-fz_datadir.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# wxWidgets-3.0 with support for C++11 on < 10.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-wxWidgets.use       wxWidgets-3.0-cxx11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${wxWidgets.version} < 3.2} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Here we just restore macOS-relevant fallbacks from 3.66.4.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-relax-wxwidgets-version.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-wx3.0.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build       port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:gettext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:autoconf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:automake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gettext \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libtool \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:pkgconfig
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:dbus \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:dbus \
</span>                     path:lib/pkgconfig/gnutls.pc:gnutls \
                     port:libfilezilla \
                     port:libidn \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -40,12 +74,19 @@ depends_lib         port:dbus \
</span>                     port:xdg-utils \
                     port:${wxWidgets.port}
 
<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;'>+    # checking for whether we need to use Boost Regex due GCC bug 86164
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # configure: error: Boost Regex 1.76 or higher not found.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> distname            ${name}_${version}_src
 
 use_xz              yes
 worksrcdir          filezilla-${version}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          patch-src-commonui-buildinfo.cpp.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-src-commonui-buildinfo.cpp.diff \
</span>                     patch-src-engine-version.cpp.diff \
                     patch-src-interface-mainfrm.cpp.diff \
                     patch-src-interface-toolbar.mm.diff \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -54,6 +95,11 @@ patchfiles          patch-src-commonui-buildinfo.cpp.diff \
</span>                     patch-paths-1050.diff
 
 platform darwin {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Condition is wrong in the source, since this object is required
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # for linking on macOS, whether or not app bundle is built.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-fix-mac-wxgtk.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     if {${os.major} < 11} {
         # O_CLOEXEC was added in Mac OS X 10.7. Only apply this patch on
         # system versions which need it because it could create a race
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -64,7 +110,8 @@ platform darwin {
</span> 
 # http://trac.filezilla-project.org/ticket/5473
 # http://sourceforge.net/p/tinyxml/patches/51/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args      --with-tinyxml=builtin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-tinyxml=builtin \
</span>                     --with-pugixml=builtin \
                     --disable-manualupdatecheck \
                     --disable-autoupdatecheck \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,8 +125,15 @@ compiler.thread_local_storage   yes
</span> # https://trac.macports.org/ticket/59805
 compiler.blacklist-append {clang < 1000}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    copy ${worksrcpath}/FileZilla.app ${destroot}${applications_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# We only override destroot for app bundle build.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} > 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${worksrcpath}/FileZilla.app ${destroot}${applications_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "${prefix}/bin/update-desktop-database ${prefix}/share/applications"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 livecheck.type      regex
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/FileZilla/files/patch-fix-fz_datadir.diff b/www/FileZilla/files/patch-fix-fz_datadir.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..21f595c72e2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/FileZilla/files/patch-fix-fz_datadir.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,39 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/commonui/fz_paths.cpp      2021-10-26 20:12:19.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/commonui/fz_paths.cpp      2024-04-24 10:26:33.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -245,7 +245,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * and hope we find them. If not, the user can still specify on the cmdline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * and using environment variables where the resources are.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * At least on OS X it's simple: All inside application bundle.
</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;'>+   CLocalPath ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -264,20 +263,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           return false;
</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;'>+-#ifdef FZ_MAC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  (void)prefixSub;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (searchSelfDir) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          CFBundleRef bundle = CFBundleGetMainBundle();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          if (bundle) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  if (testPath(fromCFURLRef(CFBundleCopySharedSupportURL(bundle)))) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                          return ret;
</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;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return CLocalPath();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // First try the user specified data dir.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (searchSelfDir) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if (testPath(GetEnv("FZ_DATADIR"))) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -327,7 +312,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ret.clear();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</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;'>+ CLocalPath GetDefaultsDir()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/FileZilla/files/patch-fix-mac-wxgtk.diff b/www/FileZilla/files/patch-fix-mac-wxgtk.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b181c6eeea0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/FileZilla/files/patch-fix-mac-wxgtk.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,33 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We do not want a bundle with wxGTK in this case.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(It might be possible to still build this as a bundle,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+but it will require more patches to the sources. No need.)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure      2024-04-16 02:20:29.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure      2024-04-27 22:26:10.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -21311,7 +21311,7 @@
</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;'>+   # Create application bundle on OS X
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if test "$mac" = "1"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if echo $WX_CPPFLAGS | grep __WXMAC__ > /dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     macappbundle="yes"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     macappbundle="no"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/commonui/Makefile.am       2023-05-10 16:01:51.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/commonui/Makefile.am       2024-04-24 09:31:15.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -65,8 +65,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libfzclient_commonui_private_la_LDFLAGS += -lole32 -Wl,-luuid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if MACAPPBUNDLE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ noinst_LTLIBRARIES = libfzclient-commonui-private-mac.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libfzclient_commonui_private_mac_la_CPPFLAGS = -I$(top_builddir)/config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -84,5 +82,3 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libfzclient_commonui_private_la_LIBADD = libfzclient-commonui-private-mac.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libfzclient_commonui_private_la_DEPENDENCIES += libfzclient-commonui-private-mac.la
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-endif
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/FileZilla/files/patch-relax-wxwidgets-version.diff b/www/FileZilla/files/patch-relax-wxwidgets-version.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..dc0aeda2983
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/FileZilla/files/patch-relax-wxwidgets-version.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Until wxWidgets 3.2.x is fixed for older macOS, this is unavoidable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure      2024-04-16 02:20:29.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure      2024-04-27 22:26:10.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19636,7 +19636,7 @@
</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;'>+-    MIN_WX_VERSION="3.2.1" # Do not downgrade this. wx 3.2.0 and older have too many known and fixed bugs affecting FileZilla.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    MIN_WX_VERSION="3.0.4" # Do not downgrade this. wx 3.0.3 and older have too many known and fixed bugs affecting FileZilla.
</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 test x${WX_CONFIG_NAME+set} != xset ; then
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/FileZilla/files/patch-wx3.0.diff b/www/FileZilla/files/patch-wx3.0.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e63987cf268
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/FileZilla/files/patch-wx3.0.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,208 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/interface/aui_notebook_ex.cpp      2024-01-02 22:09:45.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/aui_notebook_ex.cpp      2024-04-27 22:28:49.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,6 +62,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   disabled = active.ConvertToDisabled(brightness);
</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 wxCHECK_VERSION(3, 2, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void PrepareTabIcon(wxBitmapBundle & active, wxBitmapBundle & disabled, wxString const& art, wxSize const& size, wxSize const& canvasSize, wxSize const& offset = wxSize(), std::function<void(wxImage&)> const& f = nullptr, unsigned char brightness = 128)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   wxBitmap a, d;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -69,6 +70,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   active = MakeBmpBundle(a);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   disabled = MakeBmpBundle(d);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -99,7 +101,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           return art;
</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 wxCHECK_VERSION(3, 2, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmapBundle& bitmap, bool active, int close_button_state, int* x_extent) override
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption, const wxBitmap& bitmap, bool active, int close_button_state, int* x_extent) override
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           wxSize size = TabArtBase::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -180,11 +186,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ protected:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if USE_PREPARED_ICONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if wxCHECK_VERSION(3, 2, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   virtual void UpdateColoursFromSystem() override
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           TabArtBase::UpdateColoursFromSystem();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           PrepareIcons();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   void PrepareIcons()
</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;'>+--- src/interface/graphics.cpp     2024-01-02 22:09:45.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/graphics.cpp     2024-04-27 22:33:29.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,12 +61,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   auto combo = dynamic_cast<wxComboBox*>(&m_wnd);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (combo) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           wxColour c = wxTextCtrl::GetClassDefaultAttributes().colBg;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if wxCHECK_VERSION(3, 2, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           // In old versions of macOS, the wrong color may be reported. Try to detect it and just default to white.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if ((!c.IsOk() || c == *wxBLACK) && !wxSystemSettingsNative::GetAppearance().IsDark()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   return wxColour(255, 255, 255);
</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;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           return c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/interface/filelistctrl.cpp 2024-02-07 00:35:09.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/filelistctrl.cpp 2024-04-27 22:32:11.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -878,7 +878,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const int item = event.GetIndex();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if !defined(__WXMSW__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !defined(__WXMSW__) && wxCHECK_VERSION(3, 2, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (item == -1) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if (wxGetKeyState(WXK_SHIFT)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   // Sad, so expensive.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/interface/themeprovider.cpp        2024-01-27 12:30:02.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/themeprovider.cpp        2024-04-27 23:00:33.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -338,7 +338,7 @@
</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;'>+   bool allowContentScale{true};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__WXMAC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__WXMAC__) && wxCHECK_VERSION(3, 2, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (client == wxART_TOOLBAR) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           allowContentScale = false;
</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;'>+--- src/interface/textctrlex.cpp   2024-01-02 22:09:45.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/textctrlex.cpp   2024-04-27 22:42:37.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,7 +19,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__WXMAC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__WXMAC__) && wxCHECK_VERSION(3,2,1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OSXEnableAutomaticQuoteSubstitution(false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OSXEnableAutomaticDashSubstitution(false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/interface/StatusView.cpp   2024-02-07 00:13:14.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/StatusView.cpp   2024-04-27 22:41:55.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -95,7 +95,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   : COptionChangeEventHandler(this)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   , options_(options)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__WXMAC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__WXMAC__) && wxCHECK_VERSION(3, 1, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int const border = wxBORDER_NONE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int const border = wxBORDER_SUNKEN;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/interface/statusbar.cpp    2024-01-02 22:09:45.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/statusbar.cpp    2024-04-27 22:41:14.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -761,7 +761,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void CStatusBar::SetFieldBitmap(int field, wxStaticBitmap*& indicator, wxBitmap const& bmp, wxSize const& s)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (indicator) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__WXMAC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__WXMAC__) && wxCHECK_VERSION(3, 2, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           RemoveField(field);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           indicator->Destroy();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           indicator = nullptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/interface/sitemanager_dialog.cpp   2024-03-06 12:30:02.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/sitemanager_dialog.cpp   2024-04-27 22:40:21.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1128,7 +1128,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           m_is_deleting = false;
</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 !defined(__WXMSW__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !defined(__WXMSW__) && wxCHECK_VERSION(3, 2, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   auto focused = tree_->GetFocusedItem();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (focused) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           tree_->EnsureVisible(focused);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/interface/renderer.cpp     2024-01-02 22:09:45.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/renderer.cpp     2024-04-27 22:39:30.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "filezilla.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "renderer.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__WXMAC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__WXMAC__) && wxCHECK_VERSION(3, 1, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "themeprovider.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <wx/renderer.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/interface/queue.cpp        2024-01-02 22:09:45.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/queue.cpp        2024-04-27 22:38:37.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -896,7 +896,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ END_EVENT_TABLE()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__WXMAC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__WXMAC__) && wxCHECK_VERSION(3, 1, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int constexpr border = wxBORDER_NONE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int constexpr border = wxBORDER_SUNKEN;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/interface/viewheader.cpp   2024-01-02 22:09:45.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/viewheader.cpp   2024-04-27 22:57:31.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18,13 +18,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __WXMSW__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const int border_offset = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(__WXMAC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(__WXMAC__) && wxCHECK_VERSION(3, 2, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const int border_offset = 12;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(__WXMAC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++const int border_offset = 6;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const int border_offset = 10;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__WXMAC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__WXMAC__) && wxCHECK_VERSION(3, 2, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const int combo_offset = -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const int combo_offset = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -152,7 +154,15 @@
</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 wxUSE_UXTHEME
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (!wxUxThemeIsActive())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if wxCHECK_VERSION(3, 1, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (wxUxThemeIsActive())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  wxUxThemeEngine *p = wxUxThemeEngine::Get();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (p && p->IsThemeActive())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</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;'>++  else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif //wxUSE_UXTHEME
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           dc.SetPen(wxPen(wxSystemSettings::GetColour(IsEnabled() ? wxSYS_COLOUR_WINDOW : wxSYS_COLOUR_BTNFACE)));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/interface/view.cpp 2024-01-02 22:09:45.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/interface/view.cpp 2024-04-27 22:55:07.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CView::CView(wxWindow* pParent)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__WXMAC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__WXMAC__) && wxCHECK_VERSION(3, 1, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int const border = wxBORDER_NONE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int const border = wxBORDER_SUNKEN;
</span></pre><pre style='margin:0'>

</pre>