git: 013e70f366f6 - main - devel/py-paver: Fix build with setuptools 58.0.0+

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Mon, 07 Mar 2022 18:27:14 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=013e70f366f6f82725de352fab21eaa10a1bdc6a

commit 013e70f366f6f82725de352fab21eaa10a1bdc6a
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-03-07 18:07:25 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-03-07 18:13:19 +0000

    devel/py-paver: Fix build with setuptools 58.0.0+
    
    With  hat:      python
---
 devel/py-paver/files/patch-2to3 | 201 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 201 insertions(+)

diff --git a/devel/py-paver/files/patch-2to3 b/devel/py-paver/files/patch-2to3
new file mode 100644
index 000000000000..819541b24082
--- /dev/null
+++ b/devel/py-paver/files/patch-2to3
@@ -0,0 +1,201 @@
+--- paver/deps/path2.py.orig	2014-07-16 12:48:36 UTC
++++ paver/deps/path2.py
+@@ -39,10 +39,10 @@ for f in d.files('*.py'):
+ This module requires Python 2.3 or later.
+ """
+ 
+-from __future__ import generators
+ 
+-import __builtin__
+ 
++import builtins
++
+ import sys
+ import warnings
+ import os
+@@ -75,16 +75,16 @@ _base = str
+ _getcwd = os.getcwd
+ try:
+     if os.path.supports_unicode_filenames:
+-        _base = unicode
+-        _getcwd = os.getcwdu
++        _base = str
++        _getcwd = os.getcwd
+ except AttributeError:
+     pass
+ 
+ # Pre-2.3 workaround for basestring.
+ try:
+-    basestring
++    str
+ except NameError:
+-    basestring = (str, unicode)
++    str = (str, str)
+ 
+ # Universal newline support
+ _textmode = 'U'
+@@ -116,7 +116,7 @@ class path(_base):
+         # On python 2, unicode result breaks os.path.join
+         # if we are inheriting from str
+         # see https://github.com/paver/paver/issues/78
+-        if isinstance(resultStr, unicode) and not os.path.supports_unicode_filenames:
++        if isinstance(resultStr, str) and not os.path.supports_unicode_filenames:
+             resultStr = resultStr.encode('utf-8')
+ 
+         if resultStr is NotImplemented:
+@@ -124,7 +124,7 @@ class path(_base):
+         return self.__class__(resultStr)
+ 
+     def __radd__(self, other):
+-        if isinstance(other, basestring):
++        if isinstance(other, str):
+             return self.__class__(other.__add__(self))
+         else:
+             return NotImplemented
+@@ -604,11 +604,11 @@ class path(_base):
+                 t = f.read()
+             finally:
+                 f.close()
+-            return (t.replace(u'\r\n', u'\n')
+-                     .replace(u'\r\x85', u'\n')
+-                     .replace(u'\r', u'\n')
+-                     .replace(u'\x85', u'\n')
+-                     .replace(u'\u2028', u'\n'))
++            return (t.replace('\r\n', '\n')
++                     .replace('\r\x85', '\n')
++                     .replace('\r', '\n')
++                     .replace('\x85', '\n')
++                     .replace('\u2028', '\n'))
+ 
+     def write_text(self, text, encoding=None, errors='strict', linesep=os.linesep, append=False):
+         r""" Write the given text to this file.
+@@ -674,16 +674,16 @@ class path(_base):
+         conversion.
+ 
+         """
+-        if isinstance(text, unicode):
++        if isinstance(text, str):
+             if linesep is not None:
+                 # Convert all standard end-of-line sequences to
+                 # ordinary newline characters.
+-                text = (text.replace(u'\r\n', u'\n')
+-                            .replace(u'\r\x85', u'\n')
+-                            .replace(u'\r', u'\n')
+-                            .replace(u'\x85', u'\n')
+-                            .replace(u'\u2028', u'\n'))
+-                text = text.replace(u'\n', linesep)
++                text = (text.replace('\r\n', '\n')
++                            .replace('\r\x85', '\n')
++                            .replace('\r', '\n')
++                            .replace('\x85', '\n')
++                            .replace('\u2028', '\n'))
++                text = text.replace('\n', linesep)
+             if encoding is None:
+                 encoding = sys.getdefaultencoding()
+             bytes = text.encode(encoding, errors)
+@@ -766,15 +766,15 @@ class path(_base):
+         f = self.open(mode)
+         try:
+             for line in lines:
+-                isUnicode = isinstance(line, unicode)
++                isUnicode = isinstance(line, str)
+                 if linesep is not None:
+                     # Strip off any existing line-end and add the
+                     # specified linesep string.
+                     if isUnicode:
+-                        if line[-2:] in (u'\r\n', u'\x0d\x85'):
++                        if line[-2:] in ('\r\n', '\x0d\x85'):
+                             line = line[:-2]
+-                        elif line[-1:] in (u'\r', u'\n',
+-                                           u'\x85', u'\u2028'):
++                        elif line[-1:] in ('\r', '\n',
++                                           '\x85', '\u2028'):
+                             line = line[:-1]
+                     else:
+                         if line[-2:] == '\r\n':
+@@ -893,7 +893,7 @@ class path(_base):
+                 self, win32security.OWNER_SECURITY_INFORMATION)
+             sid = desc.GetSecurityDescriptorOwner()
+             account, domain, typecode = win32security.LookupAccountSid(None, sid)
+-            return domain + u'\\' + account
++            return domain + '\\' + account
+         else:
+             if pwd is None:
+                 raise NotImplementedError("path.owner is not implemented on this platform.")
+@@ -936,25 +936,25 @@ class path(_base):
+     #
+     # --- Create/delete operations on directories
+ 
+-    def mkdir(self, mode=0777):
++    def mkdir(self, mode=0o777):
+         if not self.exists():
+             os.mkdir(self, mode)
+ 
+-    def mkdir_p(self, mode=0777):
++    def mkdir_p(self, mode=0o777):
+         try:
+             self.mkdir(mode)
+-        except OSError, e:
++        except OSError as e:
+             if e.errno != errno.EEXIST:
+                 raise
+ 
+-    def makedirs(self, mode=0777):
++    def makedirs(self, mode=0o777):
+         if not self.exists():
+             os.makedirs(self, mode)
+ 
+-    def makedirs_p(self, mode=0777):
++    def makedirs_p(self, mode=0o777):
+         try:
+             self.makedirs(mode)
+-        except OSError, e:
++        except OSError as e:
+             if e.errno != errno.EEXIST:
+                 raise
+ 
+@@ -965,7 +965,7 @@ class path(_base):
+     def rmdir_p(self):
+         try:
+             self.rmdir()
+-        except OSError, e:
++        except OSError as e:
+             if e.errno != errno.ENOTEMPTY and e.errno != errno.EEXIST:
+                 raise
+ 
+@@ -976,7 +976,7 @@ class path(_base):
+     def removedirs_p(self):
+         try:
+             self.removedirs()
+-        except OSError, e:
++        except OSError as e:
+             if e.errno != errno.ENOTEMPTY and e.errno != errno.EEXIST:
+                 raise
+ 
+@@ -986,7 +986,7 @@ class path(_base):
+         """ Set the access/modified times of this file to the current time.
+         Create the file if it does not exist.
+         """
+-        fd = os.open(self, os.O_WRONLY | os.O_CREAT, 0666)
++        fd = os.open(self, os.O_WRONLY | os.O_CREAT, 0o666)
+         os.close(fd)
+         os.utime(self, None)
+ 
+@@ -997,7 +997,7 @@ class path(_base):
+     def remove_p(self):
+         try:
+             self.unlink()
+-        except OSError, e:
++        except OSError as e:
+             if e.errno != errno.ENOENT:
+                 raise
+ 
+@@ -1058,7 +1058,7 @@ class path(_base):
+     def rmtree_p(self):
+         try:
+             self.rmtree()
+-        except OSError, e:
++        except OSError as e:
+             if e.errno != errno.ENOENT:
+                 raise
+