[svn r57468] regen setup for trunk

--HG--
branch : trunk
This commit is contained in:
hpk
2008-08-19 19:34:19 +02:00
parent c1ce0c7357
commit 620805c4d2
2 changed files with 184 additions and 67 deletions

119
setup.py
View File

@@ -1,7 +1,7 @@
"""
setup file for 'py' package based on:
https://codespeak.net/svn/py/release/0.9.x, revision=57387
https://codespeak.net/svn/py/trunk, revision=57462
autogenerated by gensetup.py
"""
@@ -17,8 +17,8 @@ else:
def main():
setup(cmdclass=cmdclass,
name='py',
description='py lib: agile development and test support library',
version='0.9.2-alpha-6',
description='pylib and py.test: agile development and test support library',
version='1.0.0a1',
url='http://pylib.org',
license='MIT license',
platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
@@ -44,7 +44,8 @@ def main():
'py/bin/py.countloc',
'py/bin/py.lookup',
'py/bin/py.rest',
'py/bin/py.test'],
'py/bin/py.test',
'py/bin/py.which'],
packages=['py',
'py.apigen',
'py.apigen.rest',
@@ -59,6 +60,7 @@ def main():
'py.apigen.tracer.testing.package.submodule.pak',
'py.builtin',
'py.builtin.testing',
'py.c-extension',
'py.code',
'py.code.testing',
'py.compat',
@@ -67,8 +69,12 @@ def main():
'py.execnet',
'py.execnet.script',
'py.execnet.testing',
'py.green',
'py.green.pipe',
'py.green.server',
'py.green.test',
'py.io',
'py.io.test',
'py.io.testing',
'py.log',
'py.log.testing',
'py.magic',
@@ -88,10 +94,13 @@ def main():
'py.rest',
'py.rest.testing',
'py.test',
'py.test.rsession',
'py.test.rsession.testing',
'py.test.rsession.webdata',
'py.test.terminal',
'py.test.dsession',
'py.test.dsession.testing',
'py.test.looponfail',
'py.test.looponfail.testing',
'py.test.report',
'py.test.report.testing',
'py.test.report.webdata',
'py.test.testing',
'py.test.testing.import_test.package',
'py.test.web',
@@ -108,36 +117,54 @@ def main():
'apigen/style.css',
'apigen/todo-apigen.txt',
'apigen/todo.txt',
'bin/_findpy.py',
'bin/py.cleanup',
'bin/py.countloc',
'bin/py.lookup',
'bin/py.rest',
'bin/py.test',
'bin/py.which',
'c-extension/greenlet/README.txt',
'c-extension/greenlet/dummy_greenlet.py',
'c-extension/greenlet/greenlet.c',
'c-extension/greenlet/greenlet.h',
'c-extension/greenlet/setup.py',
'c-extension/greenlet/slp_platformselect.h',
'c-extension/greenlet/switch_amd64_unix.h',
'c-extension/greenlet/switch_mips_unix.h',
'c-extension/greenlet/switch_ppc_macosx.h',
'c-extension/greenlet/switch_ppc_unix.h',
'c-extension/greenlet/switch_s390_unix.h',
'c-extension/greenlet/switch_sparc_sun_gcc.h',
'c-extension/greenlet/switch_x86_msvc.h',
'c-extension/greenlet/switch_x86_unix.h',
'c-extension/greenlet/test_generator.py',
'c-extension/greenlet/test_generator_nested.py',
'c-extension/greenlet/test_greenlet.py',
'c-extension/greenlet/test_remote.py',
'c-extension/greenlet/test_throw.py',
'compat/LICENSE',
'compat/testing/test_doctest.txt',
'compat/testing/test_doctest2.txt',
'doc/TODO.txt',
'doc/apigen.txt',
'doc/apigen_refactorings.txt',
'doc/bin.txt',
'doc/code.txt',
'doc/coding-style.txt',
'doc/contact.txt',
'doc/download.txt',
'doc/example/genhtml.py',
'doc/example/genhtmlcss.py',
'doc/example/genxml.py',
'doc/example/pytest/failure_demo.py',
'doc/example/pytest/test_failures.py',
'doc/example/pytest/test_setup_flow_example.py',
'doc/execnet.txt',
'doc/future.txt',
'doc/future/code_template.txt',
'doc/future/planning.txt',
'doc/future/planning2.txt',
'doc/future/pylib_pypy.txt',
'doc/future/rsession_todo.txt',
'doc/greenlet.txt',
@@ -149,7 +176,6 @@ def main():
'doc/misc.txt',
'doc/path.txt',
'doc/release-0.9.0.txt',
'doc/release-0.9.1.txt',
'doc/release-0.9.2.txt',
'doc/style.css',
'doc/test.txt',
@@ -170,11 +196,75 @@ def main():
'rest/testing/data/part1.txt',
'rest/testing/data/part2.txt',
'rest/testing/data/tocdepth.rst2pdfconfig',
'test/rsession/webdata/index.html',
'test/rsession/webdata/source.js']},
'test/report/webdata/index.html',
'test/report/webdata/source.js']},
zip_safe=False,
)
class Win32PathHandling:
""" a helper to remove things added to system PATHs in previous installations. """
_winreg = None
def __init__(self):
if sys.platform == 'win32':
try:
import _winreg
except ImportError:
print sys.stderr, "huh could not import _winreg on windows, ignoring"
else:
self._winreg = _winreg
def remove_pylib_path(self):
reg = self._winreg.ConnectRegistry(
None, self._winreg.HKEY_LOCAL_MACHINE)
key = r"SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
path = self.get_registry_value(reg, key, "Path")
newpath = self.prunepath(path)
if newpath != path:
print "PATH contains old py/bin/win32 scripts:", path
print "pruning and setting a new PATH:", newpath
self.set_registry_value(reg, key, "Path", newpath)
# Propagate changes to current command prompt
os.system("set PATH=%s" % path)
self.try_propagate_system()
def prunepath(self, path):
basename = os.path.basename
dirname = os.path.dirname
l = []
for p in path.split(';'):
if basename(p) == "win32" and basename(dirname(p)) == "bin" \
and basename(dirname(dirname(p))) == "py":
continue # prune this path
l.append(p)
return ";".join(l)
def try_propagate_system(self):
try:
import win32gui, win32con
except ImportError:
return
# Propagate changes throughout the system
win32gui.SendMessageTimeout(win32con.HWND_BROADCAST,
win32con.WM_SETTINGCHANGE, 0, "Environment",
win32con.SMTO_ABORTIFHUNG, 5000)
def get_registry_value(self, reg, key, value_name):
k = self._winreg.OpenKey(reg, key)
value = self._winreg.QueryValueEx(k, value_name)[0]
self._winreg.CloseKey(k)
return value
def set_registry_value(self, reg, key, value_name, value):
k = self._winreg.OpenKey(reg, key, 0, self._winreg.KEY_WRITE)
value_type = self._winreg.REG_SZ
# if we handle the Path value, then set its type to REG_EXPAND_SZ
# so that things like %SystemRoot% get automatically expanded by the
# command prompt
if value_name == "Path":
value_type = self._winreg.REG_EXPAND_SZ
self._winreg.SetValueEx(k, value_name, 0, value_type, value)
self._winreg.CloseKey(k)
# on windows we need to hack up the to-be-installed scripts
from distutils.command.install_scripts import install_scripts
class my_install_scripts(install_scripts):
@@ -195,8 +285,11 @@ class my_install_scripts(install_scripts):
os.remove(newname)
f = open(newname, 'w')
f.write("@echo off\n")
f.write('python "%%~dp0\%s" %%*\n' % newbasename)
f.write('python "%%~dp0\py_command_trampolin" %s %%*\n' % basename)
f.close()
w32path = Win32PathHandling()
w32path.remove_pylib_path()
if sys.platform == "win32":
cmdclass = {'install_scripts': my_install_scripts}
else: