FreeBSD Bugzilla – Attachment 161677 Details for
Bug 203525
[UPDATE] devel/py-ply to 3.8
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch to update devel/py-ply
py-ply.diff (text/plain), 12.14 KB, created by
Olivier Duchateau
on 2015-10-03 13:17:17 UTC
(
hide
)
Description:
Patch to update devel/py-ply
Filename:
MIME Type:
Creator:
Olivier Duchateau
Created:
2015-10-03 13:17:17 UTC
Size:
12.14 KB
patch
obsolete
>Index: Makefile >=================================================================== >--- Makefile (revision 398467) >+++ Makefile (working copy) >@@ -2,8 +2,7 @@ > # $FreeBSD$ > > PORTNAME= ply >-PORTVERSION= 3.6 >-PORTREVISION= 1 >+PORTVERSION= 3.8 > CATEGORIES= devel python > MASTER_SITES= http://www.dabeaz.com/ply/ > PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} >@@ -20,14 +19,6 @@ > > OPTIONS_DEFINE= DOCS EXAMPLES > >-post-extract: >- @${FIND} ${WRKSRC}/example -name "*.pyc" -type f -delete >- @${FIND} ${WRKSRC}/example -name "__pycache__" -type d -delete >- >-pre-configure: >- @${REINPLACE_CMD} -e 's|from setuptools import setup|from distutils.core import setup|' \ >- ${WRKSRC}/setup.py >- > post-install: > @${MKDIR} ${STAGEDIR}${DOCSDIR} > ${INSTALL_DATA} ${WRKSRC}/doc/ply.html ${STAGEDIR}${DOCSDIR} >Index: distinfo >=================================================================== >--- distinfo (revision 398467) >+++ distinfo (working copy) >@@ -1,2 +1,2 @@ >-SHA256 (ply-3.6.tar.gz) = 61367b9eb2f4b819f69ea116750305270f1df8859992c9e356d6a851f25a4b47 >-SIZE (ply-3.6.tar.gz) = 281690 >+SHA256 (ply-3.8.tar.gz) = e7d1bdff026beb159c9942f7a17e102c375638d9478a7ecd4cc0c76afd8de0b8 >+SIZE (ply-3.8.tar.gz) = 157286 >Index: files/patch-CHANGES >=================================================================== >--- files/patch-CHANGES (revision 398467) >+++ files/patch-CHANGES (working copy) >@@ -1,12 +0,0 @@ >---- CHANGES.orig 2015-04-25 14:15:57 UTC >-+++ CHANGES >-@@ -1,3 +1,9 @@ >-+Version 3.7 >-+--------------------- >-+05/07/15: beazley >-+ Fixed regression in handling of table modules if specified as module >-+ objects. See https://github.com/dabeaz/ply/issues/63 >-+ >- Version 3.6 >- --------------------- >- 04/25/15: beazley >Index: files/patch-ply_lex.py >=================================================================== >--- files/patch-ply_lex.py (revision 398467) >+++ files/patch-ply_lex.py (working copy) >@@ -1,82 +0,0 @@ >---- ply/lex.py.orig 2015-04-26 21:17:41 UTC >-+++ ply/lex.py >-@@ -171,7 +171,10 @@ class Lexer: >- # ------------------------------------------------------------ >- # writetab() - Write lexer information to a table file >- # ------------------------------------------------------------ >-- def writetab(self, basetabmodule, outputdir=''): >-+ def writetab(self, lextab, outputdir=''): >-+ if isinstance(lextab, types.ModuleType): >-+ raise IOError("Won't overwrite existing lextab module") >-+ basetabmodule = lextab.split('.')[-1] >- filename = os.path.join(outputdir, basetabmodule) + '.py' >- with open(filename, 'w') as tf: >- tf.write('# %s.py. This file automatically created by PLY (version %s). Don\'t edit!\n' % (basetabmodule, __version__)) >-@@ -856,6 +859,10 @@ class LexerReflect(object): >- # ----------------------------------------------------------------------------- >- def lex(module=None, object=None, debug=False, optimize=False, lextab='lextab', >- reflags=0, nowarn=False, outputdir=None, debuglog=None, errorlog=None): >-+ >-+ if lextab is None: >-+ lextab = 'lextab' >-+ >- global lexer >- >- ldict = None >-@@ -885,29 +892,13 @@ def lex(module=None, object=None, debug= >- else: >- ldict = get_caller_module_dict(2) >- >-- if outputdir is None: >-- # If no output directory is set, the location of the output files >-- # is determined according to the following rules: >-- # - If lextab specifies a package, files go into that package directory >-- # - Otherwise, files go in the same directory as the specifying module >-- if '.' not in lextab: >-- srcfile = ldict['__file__'] >-- else: >-- parts = lextab.split('.') >-- pkgname = '.'.join(parts[:-1]) >-- exec('import %s' % pkgname) >-- srcfile = getattr(sys.modules[pkgname], '__file__', '') >-- outputdir = os.path.dirname(srcfile) >-- >- # Determine if the module is package of a package or not. >- # If so, fix the tabmodule setting so that tables load correctly >- pkg = ldict.get('__package__') >-- if pkg: >-+ if pkg and isinstance(lextab, str): >- if '.' not in lextab: >- lextab = pkg + '.' + lextab >- >-- baselextab = lextab.split('.')[-1] >-- >- # Collect parser information from the dictionary >- linfo = LexerReflect(ldict, log=errorlog, reflags=reflags) >- linfo.get_all() >-@@ -1029,8 +1020,24 @@ def lex(module=None, object=None, debug= >- >- # If in optimize mode, we write the lextab >- if lextab and optimize: >-+ if outputdir is None: >-+ # If no output directory is set, the location of the output files >-+ # is determined according to the following rules: >-+ # - If lextab specifies a package, files go into that package directory >-+ # - Otherwise, files go in the same directory as the specifying module >-+ if isinstance(lextab, types.ModuleType): >-+ srcfile = lextab.__file__ >-+ else: >-+ if '.' not in lextab: >-+ srcfile = ldict['__file__'] >-+ else: >-+ parts = lextab.split('.') >-+ pkgname = '.'.join(parts[:-1]) >-+ exec('import %s' % pkgname) >-+ srcfile = getattr(sys.modules[pkgname], '__file__', '') >-+ outputdir = os.path.dirname(srcfile) >- try: >-- lexobj.writetab(baselextab, outputdir) >-+ lexobj.writetab(lextab, outputdir) >- except IOError as e: >- errorlog.warning("Couldn't write lextab module %r. %s" % (lextab, e)) >- >Index: files/patch-ply_yacc.py >=================================================================== >--- files/patch-ply_yacc.py (revision 398467) >+++ files/patch-ply_yacc.py (working copy) >@@ -1,79 +0,0 @@ >---- ply/yacc.py.orig 2015-04-26 21:19:12 UTC >-+++ ply/yacc.py >-@@ -2692,7 +2692,11 @@ class LRGeneratedTable(LRTable): >- # This function writes the LR parsing tables to a file >- # ----------------------------------------------------------------------------- >- >-- def write_table(self, basemodulename, outputdir='', signature=''): >-+ def write_table(self, tabmodule, outputdir='', signature=''): >-+ if isinstance(tabmodule, types.ModuleType): >-+ raise IOError("Won't overwrite existing tabmodule") >-+ >-+ basemodulename = tabmodule.split('.')[-1] >- filename = os.path.join(outputdir, basemodulename) + '.py' >- try: >- f = open(filename, 'w') >-@@ -2705,7 +2709,7 @@ _tabversion = %r >- _lr_method = %r >- >- _lr_signature = %r >-- ''' % (filename, __tabversion__, self.lr_method, signature)) >-+ ''' % (os.path.basename(filename), __tabversion__, self.lr_method, signature)) >- >- # Change smaller to 0 to go back to original tables >- smaller = 1 >-@@ -3179,6 +3183,9 @@ def yacc(method='LALR', debug=yaccdebug, >- check_recursion=True, optimize=False, write_tables=True, debugfile=debug_file, >- outputdir=None, debuglog=None, errorlog=None, picklefile=None): >- >-+ if tabmodule is None: >-+ tabmodule = tab_module >-+ >- # Reference to the parsing method of the last built parser >- global parse >- >-@@ -3204,22 +3211,26 @@ def yacc(method='LALR', debug=yaccdebug, >- # is determined according to the following rules: >- # - If tabmodule specifies a package, files go into that package directory >- # - Otherwise, files go in the same directory as the specifying module >-- if '.' not in tabmodule: >-- srcfile = pdict['__file__'] >-+ if isinstance(tabmodule, types.ModuleType): >-+ srcfile = tabmodule.__file__ >- else: >-- parts = tabmodule.split('.') >-- pkgname = '.'.join(parts[:-1]) >-- exec('import %s' % pkgname) >-- srcfile = getattr(sys.modules[pkgname], '__file__', '') >-+ if '.' not in tabmodule: >-+ srcfile = pdict['__file__'] >-+ else: >-+ parts = tabmodule.split('.') >-+ pkgname = '.'.join(parts[:-1]) >-+ exec('import %s' % pkgname) >-+ srcfile = getattr(sys.modules[pkgname], '__file__', '') >- outputdir = os.path.dirname(srcfile) >- >- # Determine if the module is package of a package or not. >- # If so, fix the tabmodule setting so that tables load correctly >- pkg = pdict.get('__package__') >-- if pkg and '.' not in tabmodule: >-- tabmodule = pkg + '.' + tabmodule >-+ if pkg and isinstance(tabmodule, str): >-+ if '.' not in tabmodule: >-+ tabmodule = pkg + '.' + tabmodule >-+ >- >-- basetabmodule = tabmodule.split('.')[-1] >- >- # Set start symbol if it's specified directly using an argument >- if start is not None: >-@@ -3432,7 +3443,7 @@ def yacc(method='LALR', debug=yaccdebug, >- # Write the table file if requested >- if write_tables: >- try: >-- lr.write_table(basetabmodule, outputdir, signature) >-+ lr.write_table(tabmodule, outputdir, signature) >- except IOError as e: >- errorlog.warning("Couldn't create %r. %s" % (tabmodule, e)) >- >Index: pkg-plist >=================================================================== >--- pkg-plist (revision 398467) >+++ pkg-plist (working copy) >@@ -1,28 +1,5 @@ >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ansic/README >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ansic/clex.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ansic/cparse.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calc/calc.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calc/parser.out >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calc/parsetab.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calceof/calc.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calcdebug/calc.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/classcalc/calc.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/classcalc/calc_Calc_parsetab.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/closurecalc/calc.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hedit/hedit.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/newclasscalc/calc.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/newclasscalc/calc_Calc_parsetab.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/optcalc/README >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/optcalc/calc.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/optcalc/lextab.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/optcalc/parser.out >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/optcalc/parsetab.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/unicalc/calc.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yply/README >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yply/ylex.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yply/yparse.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yply/yply.py >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/sqrt2.bas >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/README >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/basic.py > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/basiclex.py > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/basiclog.py > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/basinterp.py >@@ -36,12 +13,28 @@ > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/maxsin.bas > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/powers.bas > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/rand.bas >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/README > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/sales.bas > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/sears.bas > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/sqrt1.bas >-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/basic.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/BASIC/sqrt2.bas > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/GardenSnake/GardenSnake.py > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/GardenSnake/README > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/README >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ansic/README >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ansic/clex.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ansic/cparse.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calc/calc.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calcdebug/calc.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calceof/calc.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/classcalc/calc.py > %%PORTEXAMPLES%%%%EXAMPLESDIR%%/cleanup.sh >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/closurecalc/calc.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/hedit/hedit.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/newclasscalc/calc.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/optcalc/README >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/optcalc/calc.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/unicalc/calc.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yply/README >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yply/ylex.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yply/yparse.py >+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yply/yply.py
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 203525
: 161677