##// END OF EJS Templates
Build 64-bit windows installer via Wine.
Fernando Perez -
Show More
@@ -1,35 +1,49 b''
1 1 #!/usr/bin/env python
2 2 """IPython release build script.
3 3 """
4
5 import os
6
4 7 from toollib import *
5 8
6 9 # Get main ipython dir, this will raise if it doesn't pass some checks
7 10 ipdir = get_ipdir()
8 11 cd(ipdir)
9 12
10 13 # Load release info
11 14 execfile(pjoin('IPython', 'core', 'release.py'))
12 15
13 16 # Check that everything compiles
14 17 compile_tree()
15 18
16 19 # Cleanup
17 20 for d in ['build', 'dist', pjoin('docs', 'build'), pjoin('docs', 'dist'),
18 21 pjoin('docs', 'source', 'api', 'generated')]:
19 22 if os.path.isdir(d):
20 23 remove_tree(d)
21 24
22 25 # Build source and binary distros
23 26 sh('./setup.py sdist --formats=gztar,zip')
24 27
25 28 # Build eggs
26 29 sh('python ./setupegg.py bdist_egg')
27 30
28 31 # Call the windows build separately, so that the extra Windows scripts don't
29 32 # get pulled into Unix builds (setup.py has code which checks for
30 # bdist_wininst)
31 sh("python setup.py bdist_wininst --install-script=ipython_win_post_install.py")
33 # bdist_wininst). Note that the install scripts args are added to the main
34 # distutils call in setup.py, so they don't need to be passed here.
35 sh("python setup.py bdist_wininst")
36
37 # The Windows 64-bit installer can't be built by a Linux/Mac Python because ofa
38 # bug in distutils: http://bugs.python.org/issue6792.
39 # So we have to build it with a wine-installed native Windows Python...
40 sh("%s/.wine/dosdevices/c\:/Python27/python.exe setup.py build "
41 "--plat-name=win-amd64 bdist_wininst "
42 "--install-script=ipython_win_post_install.py" % os.environ['HOME'])
32 43
33 44 # Change name so retarded Vista runs the installer correctly
34 sh("rename 's/linux-i686/win32-setup/' dist/*.exe")
35 sh("rename 's/linux-x86_64/win32-setup/' dist/*.exe")
45 sh("rename 's/linux-i686/win32/' dist/*.exe")
46 sh("rename 's/linux-x86_64/win32/' dist/*.exe")
47 sh("rename 's/amd64/amd64-setup/' dist/*.exe")
48 # exe files aren't really executable under *nix.
49 sh("chmod -x dist/*.exe")
General Comments 0
You need to be logged in to leave comments. Login now