<pre style='margin:0'>
David B. Evans (dbevans) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/2ba28235837fd6cee6d038bac60e82daa74e8baa">https://github.com/macports/macports-ports/commit/2ba28235837fd6cee6d038bac60e82daa74e8baa</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 2ba28235837 deluge: add +python38 variant as default, rebuild
</span>2ba28235837 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 2ba28235837fd6cee6d038bac60e82daa74e8baa
</span>Author: David B. Evans <devans@macports.org>
AuthorDate: Thu Apr 2 13:14:40 2020 -0700

<span style='display:block; white-space:pre;color:#404040;'>    deluge: add +python38 variant as default, rebuild
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * add upstream fix for gettext related warning
</span><span style='display:block; white-space:pre;color:#404040;'>    * add upstream python38 logging fixes
</span><span style='display:block; white-space:pre;color:#404040;'>    * fix setup.py to install icons and manpages
</span>---
 net/deluge/Portfile                           | 37 +++++++++++---
 net/deluge/files/fix-gettext-warning.patch    | 24 ++++++++++
 net/deluge/files/install-icons-manpages.patch | 11 +++++
 net/deluge/files/logging-python38-fixes.patch | 69 +++++++++++++++++++++++++++
 4 files changed, 135 insertions(+), 6 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/deluge/Portfile b/net/deluge/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 76e2544e266..73366eebff1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/deluge/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/deluge/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,7 +6,7 @@ PortGroup           active_variants 1.1
</span> 
 name                deluge
 version             2.0.3
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            2
</span> categories          net gnome python
 license             {GPL-3+ OpenSSLException}
 maintainers         {devans @dbevans} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,7 +35,10 @@ depends_lib-append  port:gdk-pixbuf2 \
</span> 
 depends_run         port:adwaita-icon-theme
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          pass-full-mp-libpath.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          pass-full-mp-libpath.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fix-gettext-warning.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    logging-python38-fixes.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    install-icons-manpages.patch
</span> 
 post-patch {
     reinplace "s|@@MP_PREFIX@@|${prefix}|" \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,7 +50,7 @@ build.env           "PYTHON_CFLAGS=-I${prefix}/include -I${prefix}/include/boost
</span>                     "CFLAGS=-I${prefix}/include -I${prefix}/include/boost" \
                     CC=${configure.cc} CXX=${configure.cxx} CPP=${configure.cpp}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python27 conflicts python37 description {Build for Python 2.7} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python27 conflicts python37 python38 description {Build for Python 2.7} {
</span>         require_active_variants libtorrent-rasterbar python27
         python.default_version 27
         depends_build-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,7 +72,7 @@ variant python27 conflicts python37 description {Build for Python 2.7} {
</span>                     port:py27-zopeinterface
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python37 conflicts python27 description {Build for Python 3.7} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python37 conflicts python27 python38 description {Build for Python 3.7} {
</span>         require_active_variants libtorrent-rasterbar python37
         python.default_version 37
         depends_build-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,8 +94,30 @@ variant python37 conflicts python27 description {Build for Python 3.7} {
</span>                     port:py37-zopeinterface
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset python27]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    default_variants    +python37
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python38 conflicts python27 python37 description {Build for Python 3.8} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_active_variants libtorrent-rasterbar python38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        python.default_version 38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-setuptools \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-wheel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-gobject3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-service_identity \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-twisted \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-asn1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-rencode \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-xdg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-openssl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-Pillow \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-mako \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-chardet \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-six \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-setproctitle \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py38-zopeinterface
</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 python27] && ![variant_isset python37] && ![variant_isset python38]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants    +python38
</span> }
 
 python.link_binaries no
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/deluge/files/fix-gettext-warning.patch b/net/deluge/files/fix-gettext-warning.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c3a22fbff0f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/deluge/files/fix-gettext-warning.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,24 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From d6c96d629183e8bab2167ef56457f994017e7c85 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: neeshy <neeshy@tfwno.gf>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 18 Apr 2020 23:23:51 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: Fix warning related to gettext
</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;'>+ deluge/i18n/util.py | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/deluge/i18n/util.py b/deluge/i18n/util.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bd002f7..90568fc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- deluge/i18n/util.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ deluge/i18n/util.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -114,7 +114,7 @@ def setup_translation():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # Workaround for Python 2 unicode gettext (keyword removed in Py3).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         kwargs = {} if not deluge.common.PY2 else {'unicode': True}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        gettext.install(I18N_DOMAIN, translations_path, names='ngettext', **kwargs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        gettext.install(I18N_DOMAIN, translations_path, names=['ngettext'], **kwargs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         builtins.__dict__['_n'] = builtins.__dict__['ngettext']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         libintl = None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cgit v1.1
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/deluge/files/install-icons-manpages.patch b/net/deluge/files/install-icons-manpages.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..317a8ed5412
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/deluge/files/install-icons-manpages.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setup.py.orig  2020-10-21 11:44:35.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setup.py       2020-10-21 11:45:30.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -454,7 +454,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;'>+-if not windows_check() and not osx_check():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if not windows_check():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for icon_path in glob.glob('deluge/ui/data/icons/hicolor/*x*'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         size = os.path.basename(icon_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         icons = glob.glob(os.path.join(icon_path, 'apps', 'deluge*.png'))
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/deluge/files/logging-python38-fixes.patch b/net/deluge/files/logging-python38-fixes.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e68c670f907
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/deluge/files/logging-python38-fixes.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,69 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 351664ec071daa04161577c6a1c949ed0f2c3206 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: minus <minus@mnus.de>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 17 Nov 2019 09:36:23 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1/2] [Logging] Fix Python 3.8 compatibility
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Deluge's logger class extends Python's `logging.Logger`. Since Python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+3.8, it takes an additional argument `stacklevel`.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The implementation in Deluge does not support that. Work around the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+problem by ignoring additional arguments.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ deluge/log.py | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/deluge/log.py b/deluge/log.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 75e8308b5..0f9877fdb 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- deluge/log.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ deluge/log.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -86,7 +86,7 @@ def critical(self, msg, *args, **kwargs):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def exception(self, msg, *args, **kwargs):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         yield LoggingLoggerClass.exception(self, msg, *args, **kwargs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    def findCaller(self, stack_info=False):  # NOQA: N802
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    def findCaller(self, *args, **kwargs):  # NOQA: N802
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         f = logging.currentframe().f_back
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         rv = '(unknown file)', 0, '(unknown function)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         while hasattr(f, 'f_code'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 5e06aee5c8846f94bd5fcc209132dacf06de781f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: minus <minus@mnus.de>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 19 Nov 2019 17:14:01 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 2/2] [Logging] Fix findCaller with unknown source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In case no source was found, a 3-tuple was returned instead of a 4-tuple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+in Python 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ deluge/log.py | 12 ++++++------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 6 insertions(+), 6 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/deluge/log.py b/deluge/log.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0f9877fdb..bf4f3c2d7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- deluge/log.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ deluge/log.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -88,7 +88,7 @@ def exception(self, msg, *args, **kwargs):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def findCaller(self, *args, **kwargs):  # NOQA: N802
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         f = logging.currentframe().f_back
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        rv = '(unknown file)', 0, '(unknown function)'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        rv = ('(unknown file)', 0, '(unknown function)', None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         while hasattr(f, 'f_code'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             co = f.f_code
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             filename = os.path.normcase(co.co_filename)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -98,12 +98,12 @@ def findCaller(self, *args, **kwargs):  # NOQA: N802
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             ):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 f = f.f_back
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 continue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            if common.PY2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                rv = (filename, f.f_lineno, co.co_name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                rv = (filename, f.f_lineno, co.co_name, None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            rv = (co.co_filename, f.f_lineno, co.co_name, None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        return rv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if common.PY2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return rv[:-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return rv
</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;'>+ levels = {
</span></pre><pre style='margin:0'>

</pre>