# HG changeset patch
# User Sune Foldager <[email protected]>
# Date 1269360364 -3600
# Node ID c504fe05e7d61b9337056b19548cbadfc324cf7d
# Parent 47a9033fb13ac8fb19b8009057b8dcd274dbbd60
bring candlelight to setup.py instead of using external scripts
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -117,7 +117,7 @@
'SdkTools', 'TARGETOS', 'VCINSTALLDIR', 'VCRoot',
'VSRegKeyPath')
def get_sdkenv(arch='x86', env=installenv):
- p = subprocess.Popen(r'cmd /e:on /v:on /c call "%s\SetEnv.cmd" /xp /%s
/release && set' %
+ p = subprocess.Popen(r'cmd /e:on /v:on /c call "%s\Bin\SetEnv.cmd" /xp /%s
/release && set' %
(win7sdk, arch),
shell=False,
stdout=subprocess.PIPE,
@@ -210,6 +210,29 @@
run(r'python %s --link-stylesheet --stylesheet-path style.css %s %s' %
(
rst2html, man, outfile), 'build-hg/doc')
+def candle(file, sourcedir=None, cwd='.', defines=None):
+ args = []
+ if sourcedir:
+ args.append('-dSourceDir="%s"' % sourcedir)
+ if defines:
+ args += ['-d%s="%s"' % item for item in defines]
+ run(r'candle -nologo "%s" %s' % (file, ' '.join(args)), cwd)
+
+def light(output, cwd, *files):
+ run(r'light -nologo -ext WixUIExtension -sw1076 -spdb -o %s %s' %
+ (output, ' '.join(f + '.wixobj' for f in files)), cwd)
+
+def candle_hg(cwd):
+ wixobj = [
+ (r'..\build-hg\contrib\wix\help.wxs', r'..\build-hg\mercurial\help'),
+ (r'..\build-hg\contrib\wix\templates.wxs',
r'..\build-hg\mercurial\templates'),
+ (r'..\build-hg\contrib\wix\locale.wxs',
r'..\build-hg\mercurial\locale'),
+ (r'..\build-hg\contrib\wix\i18n.wxs', r'..\build-hg\i18n'),
+ (r'..\build-hg\contrib\wix\doc.wxs', r'..\build-hg\doc'),
+ (r'..\build-hg\contrib\wix\contrib.wxs', r'..\build-hg\contrib')]
+ for file, sourcedir in wixobj:
+ candle(file, sourcedir=sourcedir, cwd=cwd)
+
def build_hg_installer(name):
version = repoversion('build-hg/mercurial/__version__.py')
comments = 'Installs Mercurial version %s' % version
@@ -222,7 +245,12 @@
desc = '%s %s' % (name, version)
run(r'..\misc\sign.cmd %s %s %s "%s"' % (cert, pwd, exe, desc),
'build-hg', hide=True)
package = r'..\output\%s-%s.msi' % (name, version)
- run(r'..\misc\build-mercurial-msi.bat %s "%s" %s' % (version, comments,
package), 'build-hg')
+ candle_hg('build-hg')
+ candle(r'contrib\wix\mercurial.wxs', cwd='build-hg', defines=[
+ ('Version', version),
+ ('Comments', comments),
+ ('VCRedistSrcDir', win7sdk + r'\Redist\VC')])
+ light(package, 'build-hg', 'help', 'templates', 'locale', 'i18n', 'doc',
'contrib', 'mercurial')
if cert is not None:
print "signing using cert '%s'" % (cert,)
desc = '%s %s' % (name, version)
@@ -319,16 +347,28 @@
package = r'dist\%s.exe' % exe
run(r'..\misc\sign.cmd %s %s %s "%s"' % (cert, pwd, package,
desc), 'build-thg', hide=True)
- run(r'..\misc\build-tortoisehg-wixobj.bat', 'build-thg')
+ candle_hg('build-thg')
+ wixobj = [
+ (r'..\misc\gtk.wxs', r'dist\gtk'),
+ (r'..\misc\diff-scripts.wxs', None),
+ (r'contrib\wix\icons.wxs', r'dist\icons'),
+ (r'contrib\wix\thg-locale.wxs', r'locale'),
+ (r'contrib\wix\thg-i18n.wxs', r'i18n'),
+ (r'contrib\wix\cmenu-i18n.wxs', r'win32')]
+ for file, sourcedir in wixobj:
+ candle(file, sourcedir=sourcedir, cwd='build-thg')
package = "..\output\%s-%s" % (name, thgversion)
commentsfmt = 'Installs TortoiseHg %s, Mercurial %s on %s'
- cmd = r'..\misc\build-tortoisehg-msi.bat %s "%s" %s %s %s'
productid = productid.lower()
+ defines = [('Version', thgversion), ('ProductId', productid),
+ ('VCRedistSrcDir', win7sdk + r'\Redist\VC')]
for platform in ('x86', 'x64'):
comments = commentsfmt % (longthgversion, hgversion, platform)
- params = (thgversion, comments, package, platform, productid)
- run(cmd % params, 'build-thg')
+ candle('contrib\wix\tortoisehg.wxs', cwd='build-thg', defines=(defines
+
+ [('Comments', comments), ('Platform', platform)]))
+ light(package, 'build-thg', 'help', 'templates', 'locale', 'i18n',
'doc', 'contrib',
+ 'gtk', 'diff-scripts', 'icons', 'thg-locale', 'thg-i18n',
'cmenu-i18n', 'tortoisehg')
if cert is not None:
msifile = '%s-%s-%s.msi' % (package, platform, productid)
print "signing using cert '%s'" % (cert,)
@@ -356,6 +396,7 @@
if not win7sdk:
print 'Unable to find Microsoft Windows SDK 7.0, please install'
sys.exit(1)
+ win7sdk = win7sdk[:-4]
try:
from mercurial import hg, ui, util
------------------------------------------------------------------------------
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