Permalink
Browse files

Successfully removed sre_parse.py and family.

- Remove 're' import in the stdlib 'string' module.
- Remove Oil's dependency on the platform module, because it uses 're'
  to parse Python's own sys.version.  We can just use sys.version
  instead.
- Fix the app bundle by including pickles.  Remove .asdl schemas.

Still need to remove _sre.c.
  • Loading branch information...
Andy Chu
Andy Chu committed Aug 19, 2018
1 parent aef87e7 commit 91a9c1de48560f659b04c88cbfbed2a27e31fde7
Showing with 30 additions and 17 deletions.
  1. +1 −3 Python-2.7.13/Lib/platform.py
  2. +5 −4 Python-2.7.13/Lib/string.py
  3. +3 −3 build/oil-manifest.txt
  4. +21 −7 core/util.py
@@ -1457,9 +1457,7 @@ def python_implementation():
'PyPy' (Python implementation of Python).
"""
# PATCH to identify OVM
return 'OVM'
#return _sys_version()[0]
return _sys_version()[0]
def python_version():
@@ -78,9 +78,9 @@ def maketrans(fromstr, tostr):
return ''.join(L)
####################################################################
import re as _re
# OVM_MAIN patch: Removed so we don't depend on 're' module. We're not using
# string.Template.
#import re as _re
class _multimap:
"""Helper class for combining multiple mappings.
@@ -123,7 +123,8 @@ def __init__(cls, name, bases, dct):
class Template:
"""A string class for supporting $-substitutions."""
__metaclass__ = _TemplateMetaclass
# OVM_MAIN patch: avoid running constructor, which uses _re
#__metaclass__ = _TemplateMetaclass
delimiter = '$'
idpattern = r'[_a-z][_a-z0-9]*'
View
@@ -1,5 +1,5 @@
osh/osh.asdl osh/osh.asdl
osh/types.asdl osh/types.asdl
core/runtime.asdl core/runtime.asdl
oil-version.txt oil-version.txt
doc/osh-quick-ref-toc.txt doc/osh-quick-ref-toc.txt
_devbuild/types_asdl.pickle _devbuild/types_asdl.pickle
_devbuild/osh_asdl.pickle _devbuild/osh_asdl.pickle
_devbuild/runtime_asdl.pickle _devbuild/runtime_asdl.pickle
View
@@ -15,7 +15,6 @@
import cStringIO
import os
import platform
import pwd # TODO: Move this dependency to Oil?
import sys
@@ -269,15 +268,30 @@ def ShowAppVersion(app_name):
finally:
f.close()
# node is like 'hostname'
# release is the kernel version
system, unused_node, unused_release, platform_version, machine = os.uname()
# The platform.py module has a big regex that parses sys.version, but we
# don't want to depend on regular expressions. So we will do our own parsing
# here.
py_version, py_compiler = sys.version.splitlines()
assert py_compiler.startswith('['), py_compiler
assert py_compiler.endswith(']'), py_compiler
py_compiler = py_compiler[1:-1]
# This environment variable set in C code.
py_impl = 'OVM' if os.getenv('_OVM_IS_BUNDLE') else 'CPython'
# What C functions do these come from?
print('%s version %s' % (app_name, version))
print('Release Date: %s' % release_date)
print('Arch: %s' % platform.machine())
print('OS: %s' % platform.system())
print('Platform: %s' % platform.version())
print('Compiler: %s' % platform.python_compiler())
print('Interpreter: %s' % platform.python_implementation())
print('Interpreter version: %s' % platform.python_version())
print('Arch: %s' % machine)
print('OS: %s' % system)
print('Platform: %s' % platform_version)
print('Compiler: %s' % py_compiler)
print('Interpreter: %s' % py_impl)
print('Interpreter version: %s' % py_version)
print('Bytecode: %s' % pyc_version)

0 comments on commit 91a9c1d

Please sign in to comment.