# HG changeset patch
# User Sune Foldager <[email protected]>
# Date 1269270999 -3600
# Node ID d387cfd2cf5b6f45d1d488216b2cbef4acd7b6fd
# Parent d56ecb62955280c08f3e540db991852f3b97d744
bug fixes and additions for greater flexibility
- The list of extensions is expanded for greater readability and to to make it
easier to disable individual items.
- The hard-coded list of locations has been factored out so you only need to
disable extensions in one place.
- A few conditionals have been introduced, based on selected extensions.
- The GTK dll copy has been fixed to allow spaces in the path.
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -56,22 +56,40 @@
onlymsi = False
URL = {
- 'hg-main' : 'http://selenic.com/repo/hg/',
- 'tortoisehg': 'http://bitbucket.org/tortoisehg/stable/',
- 'hgfold' : 'http://bitbucket.org/bradobro/hgfold/',
- 'hgcr-gui' : 'http://bitbucket.org/glimchb/hgcr-gui/',
- 'perfarce' : 'http://www.kingswood-consulting.co.uk/hg/perfarce/',
- 'hgeol' : 'http://bitbucket.org/mg/hg-eol/',
- 'keyring' : 'http://bitbucket.org/sborho/python-keyring-lib/',
- 'hgkeyring' : 'http://bitbucket.org/Mekk/mercurial_keyring/',
- 'dulwich' : 'http://bitbucket.org/abderrahim/dulwich/',
- 'wincolor' : 'http://bitbucket.org/sborho/wincolor/',
+ 'hg-main' : 'http://selenic.com/repo/hg/',
+ 'tortoisehg': 'http://bitbucket.org/tortoisehg/stable/',
+ 'hgfold' : 'http://bitbucket.org/bradobro/hgfold/',
+ 'hgcr-gui' : 'http://bitbucket.org/glimchb/hgcr-gui/',
+ 'perfarce' : 'http://www.kingswood-consulting.co.uk/hg/perfarce/',
+ 'hgeol' : 'http://bitbucket.org/mg/hg-eol/',
+ 'keyring' : 'http://bitbucket.org/sborho/python-keyring-lib/',
+ 'hgkeyring' : 'http://bitbucket.org/Mekk/mercurial_keyring/',
+ 'dulwich' : 'http://bitbucket.org/abderrahim/dulwich/',
+ 'wincolor' : 'http://bitbucket.org/sborho/wincolor/',
}
-extensions = ['hgfold', 'hgcr-gui', 'perfarce', 'hgeol',
- 'keyring', 'hgkeyring', 'dulwich', 'wincolor']
+extensions = [
+ 'hgfold',
+ 'hgcr-gui',
+ 'perfarce',
+ 'hgeol',
+ 'keyring',
+ 'hgkeyring',
+ 'dulwich',
+ 'wincolor',
+ ]
+
thg_source_repos = ['tortoisehg', 'hg-main'] + extensions
+ext_loc = {
+ 'hgfold': 'hgfold/fold.py',
+ 'hgcr-gui': 'hgcr-gui/hgcr-gui.py',
+ 'hgeol': 'hgeol/eol.py',
+ 'perfarce': 'perfarce/perfarce.py',
+ 'hgkeryring': 'hgkeyring/mercurial_keyring.py',
+ 'wincolor': 'wincolor/wincolor.py',
+ }
+
def checkrepo(name, ver=''):
if os.path.isdir(name):
return
@@ -210,11 +228,10 @@
run(r'copy contrib\win32\config.py tortoisehg\util', 'build-thg')
run(r'copy contrib\win32\setup.cfg .', 'build-thg')
# Copy bundled Mercurial extensions into build-hg/hgext
- for ext in ('hgfold/fold.py', 'hgcr-gui/hgcr-gui.py', 'hgeol/eol.py',
- 'perfarce/perfarce.py', 'hgkeyring/mercurial_keyring.py',
- 'wincolor/wincolor.py'):
- if os.path.exists(ext):
- shutil.copy(ext, 'build-hg/hgext')
+ for ext in extensions:
+ extloc = ext_loc.get(ext)
+ if ext_loc and os.path.exists(ext_loc):
+ shutil.copy(ext_loc, 'build-hg/hgext')
# Build docs
os.environ['hhc_compiler'] = 'hhc.exe'
run(r'build chm', 'build-thg/doc')
@@ -252,7 +269,7 @@
for dir in (r'\share\themes\MS-Windows', r'\etc', r'\lib\gtk-2.0'):
shutil.copytree(gtkpath + dir, r'build-thg\dist\gtk' + dir,
ignore=shutil.ignore_patterns('include'))
- run(r'copy %s\bin\*.dll build-thg\dist\gtk' % gtkpath)
+ run(r'copy "%s\bin\*.dll" build-thg\dist\gtk' % gtkpath)
run(r'copy misc\gtkrc build-thg\dist\gtk\etc\gtk-2.0')
for locale in ('cs', 'da', 'de', 'es', 'fr', 'it', 'ja', 'pt',
'pt_BR', 'ru', 'uk', 'zh_CN'):
@@ -450,15 +467,21 @@
sys.exit(1)
# Verify pyreadline
- try:
- import pyreadline
- except ImportError:
- print 'pyreadline not found:'
- print 'easy_install --always-unzip pyreadline'
- sys.exit(1)
+ if 'wincolor' in extensions:
+ try:
+ import pyreadline
+ except ImportError:
+ print 'pyreadline not found:'
+ print 'easy_install --always-unzip pyreadline'
+ sys.exit(1)
oldpath = os.environ.get('PYTHONPATH', '')
- installenv['PYTHONPATH'] = '../build-hg;../keyring;../dulwich;'+oldpath
+ path = '../build-hg'
+ if 'keyring' in extensions:
+ path += ';../keyring'
+ if 'dulwich' in extensions:
+ path += ';../dulwich'
+ installenv['PYTHONPATH'] = path + ';' + oldpath
def usage(code, msg=''):
print >> sys.stderr, __doc__
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Tortoisehg-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop