← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~mzibricky/openlp/testing into lp:openlp

 

matysek has proposed merging lp:~mzibricky/openlp/testing into lp:openlp.

Requested reviews:
  Jonathan Corwin (j-corwin)

For more details, see:
https://code.launchpad.net/~mzibricky/openlp/testing/+merge/66790

Partial fix #799990 - updated windows build script to work with latest pyinstaller svn version where pyenchant files are handled by pyinstaller automatically.

Updated windows icon to include higher resolution images.
-- 
https://code.launchpad.net/~mzibricky/openlp/testing/+merge/66790
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'resources/images/OpenLP.ico'
Binary files resources/images/OpenLP.ico	2010-09-14 18:18:47 +0000 and resources/images/OpenLP.ico	2011-07-04 13:31:25 +0000 differ
=== added file 'resources/images/README.txt'
--- resources/images/README.txt	1970-01-01 00:00:00 +0000
+++ resources/images/README.txt	2011-07-04 13:31:25 +0000
@@ -0,0 +1,6 @@
+OpenLP.ico
+
+This Windows icon contains several images with different resolution.
+It can be recreated by command:
+
+icotool -c -o OpenLP.ico openlp-logo-16x16.png openlp-logo-32x32.png openlp-logo-48x48.png openlp-logo-64x64.png openlp-logo-128x128.png

=== removed file 'resources/windows/OpenLP.spec'
--- resources/windows/OpenLP.spec	2010-10-10 15:40:54 +0000
+++ resources/windows/OpenLP.spec	1970-01-01 00:00:00 +0000
@@ -1,14 +0,0 @@
-# -*- mode: python -*-
-a = Analysis([
-    os.path.join(HOMEPATH, 'support\\_mountzlib.py'),
-    os.path.join(HOMEPATH, 'support\\useUnicode.py'),
-    os.path.abspath('openlp.pyw')],
-    pathex=[os.path.abspath('.')])
-pyz = PYZ(a.pure)
-exe = EXE(pyz, a.scripts, exclude_binaries=1,
-    name=os.path.abspath(os.path.join('build', 'pyi.win32', 'OpenLP',
-        'OpenLP.exe')),
-    debug=False, strip=False, upx=True, console=False,
-    icon=os.path.abspath(os.path.join('resources', 'images', 'OpenLP.ico')))
-coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True,
-    name=os.path.abspath(os.path.join('dist', 'OpenLP')))

=== modified file 'scripts/windows-builder.py'
--- scripts/windows-builder.py	2011-06-29 14:42:14 +0000
+++ scripts/windows-builder.py	2011-07-04 13:31:25 +0000
@@ -32,8 +32,7 @@
 This script is used to build the Windows binary and the accompanying installer.
 For this script to work out of the box, it depends on a number of things:
 
-Python 2.6
-    This build script only works with Python 2.6.
+Python 2.6/2.7
 
 PyQt4
     You should already have this installed, OpenLP doesn't work without it. The
@@ -49,7 +48,7 @@
 
 UPX
     This is used to compress DLLs and EXEs so that they take up less space, but
-    still function exactly the same. To install UPS, download it from
+    still function exactly the same. To install UPX, download it from
     http://upx.sourceforge.net/, extract it into C:\%PROGRAMFILES%\UPX, and then
     add that directory to your PATH environment variable.
 
@@ -61,7 +60,7 @@
     This is used to create the help file
 
 PyInstaller
-    PyInstaller should be a checkout of revision 844 of trunk, and in a
+    PyInstaller should be a checkout of revision 1470 of trunk, and in a
     directory called, "pyinstaller" on the same level as OpenLP's Bazaar shared
     repository directory. The revision is very important as there is currently
     a major regression in HEAD.
@@ -73,13 +72,8 @@
         http://svn.pyinstaller.org/trunk
 
     Then you need to copy the two hook-*.py files from the "pyinstaller"
-    subdirectory in OpenLP's "resources" directory into PyInstaller's "hooks"
-    directory.
-
-    Once you've done that, open a command prompt (DOS shell), navigate to the
-    PyInstaller directory and run::
-
-        C:\Projects\pyinstaller>python Configure.py
+    subdirectory in OpenLP's "resources" directory into PyInstaller's
+    "PyInstaller/hooks" directory.
 
 Bazaar
     You need the command line "bzr" client installed.
@@ -137,9 +131,11 @@
 
 # Files and executables
 pyi_build = os.path.abspath(os.path.join(branch_path, u'..', u'..',
-    u'pyinstaller', u'Build.py'))
+    u'pyinstaller', u'pyinstaller.py'))
+openlp_main_script = os.path.abspath(os.path.join(branch_path, 'openlp.pyw'))
 lrelease_exe = os.path.join(site_packages, u'PyQt4', u'bin', u'lrelease.exe')
 i18n_utils = os.path.join(script_path, u'translation_utils.py')
+win32_icon = os.path.join(branch_path, u'resources', u'images', 'OpenLP.ico')
 
 # Paths
 source_path = os.path.join(branch_path, u'openlp')
@@ -148,9 +144,8 @@
 helpfile_path = os.path.join(manual_build_path, u'htmlhelp')
 i18n_path = os.path.join(branch_path, u'resources', u'i18n')
 winres_path = os.path.join(branch_path, u'resources', u'windows')
-build_path = os.path.join(branch_path, u'build', u'pyi.win32', u'OpenLP')
-dist_path = os.path.join(branch_path, u'dist', u'OpenLP')
-enchant_path = os.path.join(site_packages, u'enchant')
+build_path = os.path.join(branch_path, u'build')
+dist_path = os.path.join(build_path, u'dist', u'OpenLP')
 pptviewlib_path = os.path.join(source_path, u'plugins', u'presentations',
     u'lib', u'pptviewlib')
 
@@ -174,8 +169,15 @@
 def run_pyinstaller():
     print u'Running PyInstaller...'
     os.chdir(branch_path)
-    pyinstaller = Popen((python_exe, pyi_build, u'-y', u'-o', build_path,
-        os.path.join(winres_path, u'OpenLP.spec')), stdout=PIPE)
+    pyinstaller = Popen((python_exe, pyi_build,
+        u'--noconfirm',
+        u'--windowed',
+        u'-o', build_path,
+        u'-i', win32_icon,
+        u'-p', branch_path,
+        u'-n', 'OpenLP',
+        openlp_main_script),
+        stdout=PIPE)
     output, error = pyinstaller.communicate()
     code = pyinstaller.wait()
     if code != 0:
@@ -208,19 +210,6 @@
     f.write(versionstring)
     f.close()
 
-def copy_enchant():
-    print u'Copying enchant/pyenchant...'
-    source = enchant_path
-    dest = os.path.join(dist_path, u'enchant')
-    for root, dirs, files in os.walk(source):
-        for filename in files:
-            if not filename.endswith(u'.pyc') and not filename.endswith(u'.pyo'):
-                dest_path = os.path.join(dest, root[len(source) + 1:])
-                if not os.path.exists(dest_path):
-                    os.makedirs(dest_path)
-                copy(os.path.join(root, filename),
-                    os.path.join(dest_path, filename))
-
 def copy_plugins():
     print u'Copying plugins...'
     source = os.path.join(source_path, u'plugins')
@@ -353,7 +342,6 @@
     build_pptviewlib()
     run_pyinstaller()
     write_version_file()
-    copy_enchant()
     copy_plugins()
     if os.path.exists(manual_path):
         run_sphinx()


Follow ups