<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/015c8b563a97fc5c55c4aeb964c45f36659a7898">https://github.com/macports/macports-ports/commit/015c8b563a97fc5c55c4aeb964c45f36659a7898</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 015c8b563a9 mapnik: fix location of python binary
</span>015c8b563a9 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 015c8b563a97fc5c55c4aeb964c45f36659a7898
</span>Author: Frank Dean <frankdean@users.noreply.github.com>
AuthorDate: Mon May 22 11:08:39 2023 +0100
<span style='display:block; white-space:pre;color:#404040;'> mapnik: fix location of python binary
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Fix to build with Python 3
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Applied patch from:
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> https://github.com/mapnik/mapnik/commit/7da9009e7ffffb0b9429890f6f13fee837ac320f
</span>---
gis/mapnik/Portfile | 12 ++-
gis/mapnik/files/patch-scons-action.py.diff | 19 +++++
gis/mapnik/files/patch-scons-tool-javac.py.diff | 19 +++++
gis/mapnik/files/patch-scons-util.py.diff | 102 ++++++++++++++++++++++++
4 files changed, 150 insertions(+), 2 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/mapnik/Portfile b/gis/mapnik/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a196181a724..70db24a3491 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gis/mapnik/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/mapnik/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,8 +42,16 @@ checksums rmd160 ddd58a419aa6f7cf537e40ae10d369be423f18b2 \
</span> # `mod_tile` `revision` attribute.
boost.version 1.76
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set python_branch 3.11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python_version [string map {. {}} ${python_branch}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles patch-scons-action.py.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-scons-tool-javac.py.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-scons-util.py.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_build-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:python${python_version}
</span>
depends_lib-append path:lib/pkgconfig/harfbuzz.pc:harfbuzz \
path:lib/pkgconfig/icu-uc.pc:icu \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -98,7 +106,7 @@ universal_variant no
</span>
configure.pkg_config ${prefix}/bin/pkg-config
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.python /usr/bin/python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.python ${prefix}/bin/python${python_branch}
</span>
build.cmd ${configure.python} scons/scons.py
build.pre_args
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/mapnik/files/patch-scons-action.py.diff b/gis/mapnik/files/patch-scons-action.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a0b1ededcc8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/mapnik/files/patch-scons-action.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scons/scons-local-3.0.1/SCons/Action.py.orig 2023-11-15 16:08:13.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scons/scons-local-3.0.1/SCons/Action.py 2023-11-15 16:09:58.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -107,6 +107,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import subprocess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import itertools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import inspect
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++from collections import OrderedDict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import SCons.Debug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from SCons.Debug import logInstanceCreation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1289,7 +1290,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return result
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def get_varlist(self, target, source, env, executor=None):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- result = SCons.Util.OrderedDict()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ result = OrderedDict()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for act in self.list:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for var in act.get_varlist(target, source, env, executor):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ result[var] = True
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/mapnik/files/patch-scons-tool-javac.py.diff b/gis/mapnik/files/patch-scons-tool-javac.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..14701ac6b84
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/mapnik/files/patch-scons-tool-javac.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scons/scons-local-3.0.1/SCons/Tool/javac.py.orig 2023-11-15 16:08:31.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scons/scons-local-3.0.1/SCons/Tool/javac.py 2023-11-15 16:10:14.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,6 +34,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import os.path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++from collections import OrderedDict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import SCons.Action
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import SCons.Builder
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -70,7 +71,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if isinstance(entry, SCons.Node.FS.File):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ slist.append(entry)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elif isinstance(entry, SCons.Node.FS.Dir):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- result = SCons.Util.OrderedDict()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ result = OrderedDict()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dirnode = entry.rdir()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def find_java_files(arg, dirpath, filenames):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ java_files = sorted([n for n in filenames
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/mapnik/files/patch-scons-util.py.diff b/gis/mapnik/files/patch-scons-util.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f959b5b7f49
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/mapnik/files/patch-scons-util.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,102 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scons/scons-local-3.0.1/SCons/Util.py.orig 2023-11-15 16:08:41.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scons/scons-local-3.0.1/SCons/Util.py 2023-11-15 16:10:05.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,21 +37,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PY3 = sys.version_info[0] == 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ from collections import UserDict, UserList, UserString
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++except ImportError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from UserDict import UserDict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-except ImportError as e:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- from collections import UserDict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from UserList import UserList
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-except ImportError as e:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- from collections import UserList
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-from collections import Iterable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ from UserString import UserString
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- from UserString import UserString
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-except ImportError as e:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- from collections import UserString
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ from collections.abc import Iterable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++except ImportError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ from collections import Iterable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++from collections import OrderedDict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Don't "from types import ..." these because we need to get at the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # types module later to look for UnicodeType.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -63,7 +60,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FunctionType = types.FunctionType
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- unicode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ _ = type(unicode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ except NameError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ UnicodeType = str
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1034,60 +1031,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def __str__(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ' '.join(self.data)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# A dictionary that preserves the order in which items are added.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Submitted by David Benjamin to ActiveState's Python Cookbook web site:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Including fixes/enhancements from the follow-on discussions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-class OrderedDict(UserDict):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- def __init__(self, dict = None):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- self._keys = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UserDict.__init__(self, dict)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- def __delitem__(self, key):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UserDict.__delitem__(self, key)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- self._keys.remove(key)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- def __setitem__(self, key, item):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UserDict.__setitem__(self, key, item)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if key not in self._keys: self._keys.append(key)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- def clear(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UserDict.clear(self)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- self._keys = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- def copy(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- dict = OrderedDict()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- dict.update(self)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return dict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- def items(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return list(zip(self._keys, list(self.values())))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- def keys(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return self._keys[:]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- def popitem(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- key = self._keys[-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- except IndexError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- raise KeyError('dictionary is empty')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- val = self[key]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- del self[key]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return (key, val)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- def setdefault(self, key, failobj = None):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- UserDict.setdefault(self, key, failobj)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if key not in self._keys: self._keys.append(key)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- def update(self, dict):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for (key, val) in dict.items():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- self.__setitem__(key, val)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- def values(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return list(map(self.get, self._keys))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ class Selector(OrderedDict):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ """A callable ordered dictionary that maps file suffixes to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dictionary values. We preserve the order in which items are added
</span></pre><pre style='margin:0'>
</pre>