mirror of
https://gitlab.com/openlp/packaging.git
synced 2024-12-22 21:12:50 +00:00
Removed workarounds for fixed PyInstaller issues.
Moved mudrawbin option to config.ini. Updated documentation in the comments. bzr-revno: 13
This commit is contained in:
commit
c6a20d66f0
@ -5,6 +5,7 @@ lrelease = lrelease
|
|||||||
diskutil = diskutil
|
diskutil = diskutil
|
||||||
hdiutil = hdiutil
|
hdiutil = hdiutil
|
||||||
osascript = osascript
|
osascript = osascript
|
||||||
|
mudrawbin = /opt/local/bin/mudraw
|
||||||
|
|
||||||
[paths]
|
[paths]
|
||||||
branch = %(projects)s/trunk
|
branch = %(projects)s/trunk
|
||||||
|
@ -34,7 +34,7 @@ Mac OS X Build Script
|
|||||||
This script is used to build the Mac OS X app bundle and pack it into dmg file.
|
This script is used to build the Mac OS X app bundle and pack it into dmg file.
|
||||||
For this script to work out of the box, it depends on a number of things:
|
For this script to work out of the box, it depends on a number of things:
|
||||||
|
|
||||||
Python 2.6/2.7
|
Python 3.3/3.4
|
||||||
|
|
||||||
PyQt4
|
PyQt4
|
||||||
You should already have this installed, OpenLP doesn't work without it. The
|
You should already have this installed, OpenLP doesn't work without it. The
|
||||||
@ -50,18 +50,9 @@ Sphinx
|
|||||||
the same directory level as OpenLP trunk and named "documentation".
|
the same directory level as OpenLP trunk and named "documentation".
|
||||||
|
|
||||||
PyInstaller
|
PyInstaller
|
||||||
PyInstaller should be a checkout of revision 1355 of trunk, and in a
|
PyInstaller should be a git clone of either
|
||||||
directory which is configured in the openlp.cfg. The revision is very
|
https://github.com/matysek/pyinstaller branch python3 or
|
||||||
important as there is just included a fix for builds on OS X.
|
https://github.com/pyinstaller/pyinstaller branch python3
|
||||||
|
|
||||||
To install PyInstaller, first checkout trunk from Subversion. The
|
|
||||||
easiest way is to do a
|
|
||||||
|
|
||||||
svn co 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.
|
|
||||||
|
|
||||||
Bazaar
|
Bazaar
|
||||||
You need the command line "bzr" client installed.
|
You need the command line "bzr" client installed.
|
||||||
@ -91,7 +82,12 @@ SQLAlchemy Migrate
|
|||||||
|
|
||||||
MuPDF
|
MuPDF
|
||||||
Required for PDF support in OpenLP. Install using macports, or use the
|
Required for PDF support in OpenLP. Install using macports, or use the
|
||||||
'--mudraw-bin' option of this script to point to the mudraw binary.
|
mudrawbin option in the config file to point to the mudraw binary.
|
||||||
|
|
||||||
|
MachOLib
|
||||||
|
Python library to analyze and edit Mach-O headers, the executable format
|
||||||
|
used by Mac OS X. Used to relink the mudraw binary from MuPDF to the bundled
|
||||||
|
libraries. Install using macports or pip.
|
||||||
|
|
||||||
MachOLib
|
MachOLib
|
||||||
Python library to analyze and edit Mach-O headers, the executable format
|
Python library to analyze and edit Mach-O headers, the executable format
|
||||||
@ -239,8 +235,6 @@ class MacosxBuilder(object):
|
|||||||
parser.add_argument('--transifex-pass', dest='transifex_pass', help='Transifex password.')
|
parser.add_argument('--transifex-pass', dest='transifex_pass', help='Transifex password.')
|
||||||
parser.add_argument('-v', '--verbose', dest='verbose', action='store_true', default=False,
|
parser.add_argument('-v', '--verbose', dest='verbose', action='store_true', default=False,
|
||||||
help='Print out additional information.')
|
help='Print out additional information.')
|
||||||
parser.add_argument('--mudraw-bin', dest='mudraw_bin', default='/opt/local/bin/mudraw',
|
|
||||||
help='Path to the mudraw binary.')
|
|
||||||
self.args = parser.parse_args()
|
self.args = parser.parse_args()
|
||||||
|
|
||||||
def read_config(self):
|
def read_config(self):
|
||||||
@ -269,6 +263,7 @@ class MacosxBuilder(object):
|
|||||||
self.diskutil = _which(self.config.get('executables', 'diskutil'))
|
self.diskutil = _which(self.config.get('executables', 'diskutil'))
|
||||||
self.hdiutil = _which(self.config.get('executables', 'hdiutil'))
|
self.hdiutil = _which(self.config.get('executables', 'hdiutil'))
|
||||||
self.osascript = _which(self.config.get('executables', 'osascript'))
|
self.osascript = _which(self.config.get('executables', 'osascript'))
|
||||||
|
self.mudraw_bin = _which(self.config.get('executables', 'mudrawbin'))
|
||||||
|
|
||||||
def setup_paths(self):
|
def setup_paths(self):
|
||||||
"""
|
"""
|
||||||
@ -282,10 +277,6 @@ class MacosxBuilder(object):
|
|||||||
self.docs_path = os.path.abspath(self.args.docs)
|
self.docs_path = os.path.abspath(self.args.docs)
|
||||||
else:
|
else:
|
||||||
self.docs_path = self.config.get('paths', 'documentation')
|
self.docs_path = self.config.get('paths', 'documentation')
|
||||||
if self.args.mudraw_bin:
|
|
||||||
self.mudraw_bin = self.args.mudraw_bin
|
|
||||||
else:
|
|
||||||
self.mudraw_bin = ''
|
|
||||||
self.openlp_script = os.path.abspath(os.path.join(self.branch_path, 'openlp.py'))
|
self.openlp_script = os.path.abspath(os.path.join(self.branch_path, 'openlp.py'))
|
||||||
self.hooks_path = os.path.abspath(os.path.join(self.branch_path, self.config.get('paths', 'hooks')))
|
self.hooks_path = os.path.abspath(os.path.join(self.branch_path, self.config.get('paths', 'hooks')))
|
||||||
self.mac_icon = os.path.abspath(self.config.get('paths', 'macicon'))
|
self.mac_icon = os.path.abspath(self.config.get('paths', 'macicon'))
|
||||||
|
@ -8,6 +8,7 @@ psvince = %(here)s\psvince.dll
|
|||||||
lrelease = %(sitepackages)s\PyQt4\bin\lrelease.exe
|
lrelease = %(sitepackages)s\PyQt4\bin\lrelease.exe
|
||||||
portablelauncher = %(progfiles)s\PortableApps.comLauncher\PortableApps.comLauncherGenerator.exe
|
portablelauncher = %(progfiles)s\PortableApps.comLauncher\PortableApps.comLauncherGenerator.exe
|
||||||
portableinstaller = %(progfiles)s\PortableApps.comInstaller\PortableApps.comInstaller.exe
|
portableinstaller = %(progfiles)s\PortableApps.comInstaller\PortableApps.comInstaller.exe
|
||||||
|
mudrawbin = %(here)s\..\mupdf-1.5-windows\mudraw.exe
|
||||||
|
|
||||||
[paths]
|
[paths]
|
||||||
branch = %(projects)s\trunk
|
branch = %(projects)s\trunk
|
||||||
|
@ -34,7 +34,7 @@ Windows Build Script
|
|||||||
This script is used to build the Windows binary and the accompanying installer.
|
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:
|
For this script to work out of the box, it depends on a number of things:
|
||||||
|
|
||||||
Python 2.6/2.7
|
Python 3.3/3.4
|
||||||
|
|
||||||
PyQt4
|
PyQt4
|
||||||
You should already have this installed, OpenLP doesn't work without it. The
|
You should already have this installed, OpenLP doesn't work without it. The
|
||||||
@ -56,16 +56,9 @@ HTML Help Workshop
|
|||||||
This is used to create the help file.
|
This is used to create the help file.
|
||||||
|
|
||||||
PyInstaller
|
PyInstaller
|
||||||
PyInstaller should be a checkout of revision 1470 of trunk, and in a
|
PyInstaller should be a git clone of either
|
||||||
directory called, "pyinstaller" on the same level as OpenLP's Bazaar shared
|
https://github.com/matysek/pyinstaller branch python3 or
|
||||||
repository directory. The revision is very important as there is currently
|
https://github.com/pyinstaller/pyinstaller branch python3
|
||||||
a major regression in HEAD.
|
|
||||||
|
|
||||||
To install PyInstaller, first checkout trunk from Subversion. The easiest
|
|
||||||
way is to install TortoiseSVN and then checkout the following URL to a
|
|
||||||
directory called "pyinstaller"::
|
|
||||||
|
|
||||||
http://svn.pyinstaller.org/trunk
|
|
||||||
|
|
||||||
Bazaar
|
Bazaar
|
||||||
You need the command line "bzr" client installed.
|
You need the command line "bzr" client installed.
|
||||||
@ -108,8 +101,8 @@ SQLAlchemy Migrate
|
|||||||
|
|
||||||
MuPDF
|
MuPDF
|
||||||
Required for PDF support in OpenLP. Download the windows build from
|
Required for PDF support in OpenLP. Download the windows build from
|
||||||
mupdf.com, extract it, and use the '--mudraw-bin' option of this script to
|
mupdf.com, extract it, and set the mudrawbin option in the config file to
|
||||||
point to mudraw.exe.
|
point to mudraw.exe
|
||||||
|
|
||||||
Portable App Builds
|
Portable App Builds
|
||||||
The following are required if you are planning to make a portable build of
|
The following are required if you are planning to make a portable build of
|
||||||
@ -189,7 +182,6 @@ class WindowsBuilder(object):
|
|||||||
help='Do NOT update the language translation files.')
|
help='Do NOT update the language translation files.')
|
||||||
parser.add_argument('-v', '--verbose', dest='verbose', action='store_true', default=False,
|
parser.add_argument('-v', '--verbose', dest='verbose', action='store_true', default=False,
|
||||||
help='Print out additional information.')
|
help='Print out additional information.')
|
||||||
parser.add_argument('--mudraw-bin', dest='mudraw_bin', default=None, help='Path to the mudraw binary.')
|
|
||||||
self.args = parser.parse_args()
|
self.args = parser.parse_args()
|
||||||
|
|
||||||
def read_config(self):
|
def read_config(self):
|
||||||
@ -227,6 +219,7 @@ class WindowsBuilder(object):
|
|||||||
self.psvince = os.path.abspath(self.config.get('executables', 'psvince'))
|
self.psvince = os.path.abspath(self.config.get('executables', 'psvince'))
|
||||||
self.portableinstaller = os.path.abspath(self.config.get('executables', 'portableinstaller'))
|
self.portableinstaller = os.path.abspath(self.config.get('executables', 'portableinstaller'))
|
||||||
self.portablelauncher = os.path.abspath(self.config.get('executables', 'portablelauncher'))
|
self.portablelauncher = os.path.abspath(self.config.get('executables', 'portablelauncher'))
|
||||||
|
self.mudraw_bin = os.path.abspath(self.config.get('executables', 'mudrawbin'))
|
||||||
if os.path.exists(os.path.join(self.site_packages, 'PyQt4', 'bin')):
|
if os.path.exists(os.path.join(self.site_packages, 'PyQt4', 'bin')):
|
||||||
# Older versions of the PyQt4 Windows installer put their binaries
|
# Older versions of the PyQt4 Windows installer put their binaries
|
||||||
# in the "bin" directory
|
# in the "bin" directory
|
||||||
@ -262,10 +255,6 @@ class WindowsBuilder(object):
|
|||||||
self.args.portable = self.portable_path
|
self.args.portable = self.portable_path
|
||||||
else:
|
else:
|
||||||
self.portable_path = ''
|
self.portable_path = ''
|
||||||
if self.args.mudraw_bin:
|
|
||||||
self.mudraw_bin = self.args.mudraw_bin
|
|
||||||
else:
|
|
||||||
self.mudraw_bin = ''
|
|
||||||
self.openlp_script = os.path.abspath(os.path.join(branch_path, 'openlp.py'))
|
self.openlp_script = os.path.abspath(os.path.join(branch_path, 'openlp.py'))
|
||||||
self.hooks_path = os.path.abspath(self.config.get('paths', 'hooks'))
|
self.hooks_path = os.path.abspath(self.config.get('paths', 'hooks'))
|
||||||
self.win32_icon = os.path.abspath(self.config.get('paths', 'win32icon'))
|
self.win32_icon = os.path.abspath(self.config.get('paths', 'win32icon'))
|
||||||
@ -318,7 +307,6 @@ class WindowsBuilder(object):
|
|||||||
'-i', self.win32_icon,
|
'-i', self.win32_icon,
|
||||||
'-p', self.branch_path,
|
'-p', self.branch_path,
|
||||||
'-n', 'OpenLP',
|
'-n', 'OpenLP',
|
||||||
'-d', '-c', # for now this is needed to make OpenLP run under windows
|
|
||||||
self.openlp_script),
|
self.openlp_script),
|
||||||
stdout=PIPE)
|
stdout=PIPE)
|
||||||
output = pyinstaller.communicate()[0]
|
output = pyinstaller.communicate()[0]
|
||||||
@ -427,18 +415,6 @@ class WindowsBuilder(object):
|
|||||||
copy(os.path.join(self.mudraw_bin), os.path.join(self.dist_path, 'mudraw.exe'))
|
copy(os.path.join(self.mudraw_bin), os.path.join(self.dist_path, 'mudraw.exe'))
|
||||||
else:
|
else:
|
||||||
self._print('... WARNING: mudraw.exe not found')
|
self._print('... WARNING: mudraw.exe not found')
|
||||||
self._print_verbose('Tempoary workaround for needed dlls not copied by pyinstaller')
|
|
||||||
self._print_verbose('... pythoncom33.dll')
|
|
||||||
if os.path.isfile('C:\\Python33\\Lib\\site-packages\\pywin32_system32\\pythoncom33.dll'):
|
|
||||||
copy('C:\\Python33\\Lib\\site-packages\\pywin32_system32\\pythoncom33.dll',
|
|
||||||
os.path.join(self.dist_path, 'pythoncom33.dll'))
|
|
||||||
else:
|
|
||||||
self._print('... WARNING: pythoncom33.dll not found')
|
|
||||||
if os.path.isfile('C:\\windows\\system32\\msvcr100.dll'):
|
|
||||||
self._print_verbose('... msvcr100.dll')
|
|
||||||
copy('C:\\windows\\system32\\msvcr100.dll', os.path.join(self.dist_path, 'msvcr100.dll'))
|
|
||||||
else:
|
|
||||||
self._print('... WARNING: msvcr100.dll not found')
|
|
||||||
|
|
||||||
def update_translations(self):
|
def update_translations(self):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user