##// END OF EJS Templates
Build 64-bit windows installer via Wine.
Build 64-bit windows installer via Wine.

File last commit:

r6601:db3fa31d
r6601:db3fa31d
Show More
build_release
49 lines | 1.6 KiB | text/plain | TextLexer
#!/usr/bin/env python
"""IPython release build script.
"""
import os
from toollib import *
# Get main ipython dir, this will raise if it doesn't pass some checks
ipdir = get_ipdir()
cd(ipdir)
# Load release info
execfile(pjoin('IPython', 'core', 'release.py'))
# Check that everything compiles
compile_tree()
# Cleanup
for d in ['build', 'dist', pjoin('docs', 'build'), pjoin('docs', 'dist'),
pjoin('docs', 'source', 'api', 'generated')]:
if os.path.isdir(d):
remove_tree(d)
# Build source and binary distros
sh('./setup.py sdist --formats=gztar,zip')
# Build eggs
sh('python ./setupegg.py bdist_egg')
# Call the windows build separately, so that the extra Windows scripts don't
# get pulled into Unix builds (setup.py has code which checks for
# bdist_wininst). Note that the install scripts args are added to the main
# distutils call in setup.py, so they don't need to be passed here.
sh("python setup.py bdist_wininst")
# The Windows 64-bit installer can't be built by a Linux/Mac Python because ofa
# bug in distutils: http://bugs.python.org/issue6792.
# So we have to build it with a wine-installed native Windows Python...
sh("%s/.wine/dosdevices/c\:/Python27/python.exe setup.py build "
"--plat-name=win-amd64 bdist_wininst "
"--install-script=ipython_win_post_install.py" % os.environ['HOME'])
# Change name so retarded Vista runs the installer correctly
sh("rename 's/linux-i686/win32/' dist/*.exe")
sh("rename 's/linux-x86_64/win32/' dist/*.exe")
sh("rename 's/amd64/amd64-setup/' dist/*.exe")
# exe files aren't really executable under *nix.
sh("chmod -x dist/*.exe")