diff --git a/resources/osx/Info.plist.master b/resources/osx/Info.plist.master deleted file mode 100755 index 5fc3aa48f..000000000 --- a/resources/osx/Info.plist.master +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - CFBundleDocumentTypes - - - CFBundleTypeExtension - - osz - - CFBundleTypeIconFiles - - openlp-logo-with-text.icns - - CFBundleTypeName - OpenLP Service - CFBundleTypeRole - Viewer - LSHandlerRank - Owner - LSItemContentTypes - - org.openlp.osz - - - - CFBundleTypeExtension - - otz - - CFBundleTypeIconFiles - - openlp-logo-with-text.icns - - CFBundleTypeName - OpenLP Theme - CFBundleTypeRole - Viewer - LSHandlerRank - Owner - LSItemContentTypes - - org.openlp.otz - - - - - UTExportedTypeDeclarations - - - UTTypeIdentifier - org.openlp.osz - UTTypeDescription - OpenLP Service - UTTypeConformsTo - - public.data - public.content - - UTTypeTagSpecification - - public.filename-extension - - osz - - public.mime-type - - application/x-openlp-service - - - - - UTTypeIdentifier - org.openlp.otz - UTTypeDescription - OpenLP Theme - UTTypeConformsTo - - public.data - public.content - - UTTypeTagSpecification - - public.filename-extension - - otz - - public.mime-type - - application/x-openlp-theme - - - - - -CFBundleIdentifier -org.openlp -CFBundleShortVersionString -%(openlp_version)s -CFBundleVersion -%(openlp_version)s -CFBundleInfoDictionaryVersion -6.0 -CFBundleDisplayName -%(openlp_appname)s -CFBundleIconFile -openlp-logo-with-text.icns -CFBundleExecutable -MacOS/openlp -CFBundleName -%(openlp_appname)s -CFBundleGetInfoString -%(openlp_appname)s %(openlp_version)s -LSHasLocalizedDisplayName - -NSAppleScriptEnabled - -CFBundlePackageType -APPL -LSBackgroundOnly - - - diff --git a/resources/osx/Makefile b/resources/osx/Makefile deleted file mode 100644 index 738a27aaa..000000000 --- a/resources/osx/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -all: - python build.py -c openlp.cfg - -view: - python build.py -c openlp.cfg --package-view --compress-view - -package: - - python build.py -c openlp.cfg --package --package-view - -bundle: - - python build.py -c openlp.cfg --compress --compress-view - -clean: - # remove old configuration files - rm -f openlp.spec - rm -f Info.plist - rm -f .version - - # remove old build artifacts - rm -rf build - rm -rf dist - rm -rf Macopenlp.app - rm -rf OpenLP.app - rm -f warnopenlp.txt - rm -f *dmg - diff --git a/resources/osx/applescript-adjustview-10-5.master b/resources/osx/applescript-adjustview-10-5.master deleted file mode 100755 index 19be239d0..000000000 --- a/resources/osx/applescript-adjustview-10-5.master +++ /dev/null @@ -1,74 +0,0 @@ -on saveImageWithItselfAsIcon(icon_image_file) - -- save icon_image_file with itself as icon - set icon_image_file_string to icon_image_file as string - tell application "Image Events" - launch - set icon_image to open file icon_image_file_string - save icon_image with icon - close icon_image - end tell -end saveImageWithItselfAsIcon - -on copyIconOfTo(aFileOrFolderWithIcon, aFileOrFolder) - tell application "Finder" to set f to aFileOrFolderWithIcon as alias - -- grab the file's icon - my CopyOrPaste(f, "c") - -- now the icon is in the clipboard - tell application "Finder" to set c to aFileOrFolder as alias - my CopyOrPaste(result, "v") -end copyIconOfTo - -on CopyOrPaste(i, cv) - tell application "Finder" - activate - open information window of i - end tell - tell application "System Events" to tell process "Finder" to tell window 1 - keystroke tab -- select icon button - keystroke (cv & "w") using command down (* (copy or paste) + close window *) - end tell -- window 1 then process Finder then System Events -end CopyOrPaste - -on run - set icon_image_file to POSIX file "%s" as alias - set dmg_file to POSIX file "/Volumes/%s" as alias - - my saveImageWithItselfAsIcon(icon_image_file) - -- wait for virus scanner - delay 2 - my copyIconOfTo(icon_image_file, dmg_file) - - tell application "Finder" - tell disk "%s" - open - set current view of container window to icon view - set toolbar visible of container window to false - set statusbar visible of container window to false - set the bounds of container window to {400, 100, 1100, 500} - set theViewOptions to the icon view options of container window - set arrangement of theViewOptions to not arranged - set icon size of theViewOptions to 128 - set background picture of theViewOptions to file ".background:installer-background.png" - if not exists file "Applications" then - make new alias file at container window to POSIX file "/Applications" with properties {name:"Applications"} - end if - delay 5 - set position of item "%s" of container window to {160, 200} - set position of item ".Trashes" of container window to {100, 500} - set position of item ".installer-background.png" of container window to {200, 500} - set position of item ".DS_Store" of container window to {400, 500} - set position of item "Applications" of container window to {550, 200} - set position of item ".VolumeIcon.icns" of container window to {500, 500} - set position of item ".fseventsd" of container window to {300, 500} - if exists POSIX file ".SymAVx86QSFile" then - set position of item ".SymAVx86QSFile" of container window to {600, 500} - end if - open - close - update without registering applications - -- wait until the virus scan completes - delay 5 - -- eject - end tell - end tell -end run diff --git a/resources/osx/applescript-adjustview-10-6.master b/resources/osx/applescript-adjustview-10-6.master deleted file mode 100755 index 170842564..000000000 --- a/resources/osx/applescript-adjustview-10-6.master +++ /dev/null @@ -1,77 +0,0 @@ -on saveImageWithItselfAsIcon(icon_image_file) - -- save icon_image_file with itself as icon - set icon_image_file_string to icon_image_file as string - tell application "Image Events" - launch - set icon_image to open file icon_image_file_string - save icon_image with icon - close icon_image - end tell -end saveImageWithItselfAsIcon - -on copyIconOfTo(aFileOrFolderWithIcon, aFileOrFolder) - tell application "Finder" to set f to aFileOrFolderWithIcon as alias - -- grab the file's icon - my CopyOrPaste(f, "c") - -- now the icon is in the clipboard - tell application "Finder" to set c to aFileOrFolder as alias - my CopyOrPaste(result, "v") -end copyIconOfTo - -on CopyOrPaste(i, cv) - tell application "Finder" - activate - set infoWindow to open information window of i - set infoWindowName to name of infoWindow - end tell - tell application "System Events" to tell process "Finder" to tell window infoWindowName - keystroke tab -- select icon button - keystroke (cv & "w") using command down (* (copy or paste) + close window *) - end tell -- window 1 then process Finder then System Events -end CopyOrPaste - -on run - set icon_image_file to POSIX file "%s" as alias - set dmg_file to POSIX file "/Volumes/%s" as alias - - my saveImageWithItselfAsIcon(icon_image_file) - -- wait for virus scanner - delay 2 - my copyIconOfTo(icon_image_file, dmg_file) - - tell application "Finder" - tell disk "%s" - open - set current view of container window to icon view - set toolbar visible of container window to false - set statusbar visible of container window to false - set the bounds of container window to {400, 100, 1100, 500} - set theViewOptions to the icon view options of container window - set arrangement of theViewOptions to not arranged - set icon size of theViewOptions to 128 - set background picture of theViewOptions to file ".background:installer-background.png" - if not exists file "Applications" then - make new alias file at container window to POSIX file "/Applications" with properties {name:"Applications"} - end if - delay 1 - set position of item "%s" of container window to {160, 200} - set position of item ".Trashes" of container window to {100, 500} - set position of item ".background" of container window to {200, 500} - set position of item ".DS_Store" of container window to {400, 500} - set position of item "Applications" of container window to {550, 200} - if exists file ".VolumeIcon.icns" then - set position of item ".VolumeIcon.icns" of container window to {500, 500} - end if - set position of item ".fseventsd" of container window to {300, 500} - if exists POSIX file ".SymAVx86QSFile" then - set position of item ".SymAVx86QSFile" of container window to {600, 500} - end if - open - close - update without registering applications - -- wait until the virus scan completes - delay 5 - -- eject - end tell - end tell -end run diff --git a/resources/osx/applescript-seticon-10-5.master b/resources/osx/applescript-seticon-10-5.master deleted file mode 100755 index 738c4b883..000000000 --- a/resources/osx/applescript-seticon-10-5.master +++ /dev/null @@ -1,40 +0,0 @@ -on saveImageWithItselfAsIcon(icon_image_file) - -- save icon_image_file with itself as icon - set icon_image_file_string to icon_image_file as string - tell application "Image Events" - launch - set icon_image to open file icon_image_file_string - save icon_image with icon - close icon_image - end tell -end saveImageWithItselfAsIcon - -on copyIconOfTo(aFileOrFolderWithIcon, aFileOrFolder) - tell application "Finder" to set f to aFileOrFolderWithIcon as alias - -- grab the file's icon - my CopyOrPaste(f, "c") - -- now the icon is in the clipboard - tell application "Finder" to set c to aFileOrFolder as alias - my CopyOrPaste(result, "v") -end copyIconOfTo - -on CopyOrPaste(i, cv) - tell application "Finder" - activate - open information window of i - end tell - tell application "System Events" to tell process "Finder" to tell window 1 - keystroke tab -- select icon button - keystroke (cv & "w") using command down (* (copy or paste) + close window *) - end tell -- window 1 then process Finder then System Events -end CopyOrPaste - -on run - set icon_image_file to POSIX file "%s" as alias - set dmg_file to POSIX file "%s" as alias - - my saveImageWithItselfAsIcon(icon_image_file) - -- wait for virus scanner - delay 2 - my copyIconOfTo(icon_image_file, dmg_file) -end run diff --git a/resources/osx/applescript-seticon-10-6.master b/resources/osx/applescript-seticon-10-6.master deleted file mode 100755 index 849f02344..000000000 --- a/resources/osx/applescript-seticon-10-6.master +++ /dev/null @@ -1,41 +0,0 @@ -on saveImageWithItselfAsIcon(icon_image_file) - -- save icon_image_file with itself as icon - set icon_image_file_string to icon_image_file as string - tell application "Image Events" - launch - set icon_image to open file icon_image_file_string - save icon_image with icon - close icon_image - end tell -end saveImageWithItselfAsIcon - -on copyIconOfTo(aFileOrFolderWithIcon, aFileOrFolder) - tell application "Finder" to set f to aFileOrFolderWithIcon as alias - -- grab the file's icon - my CopyOrPaste(f, "c") - -- now the icon is in the clipboard - tell application "Finder" to set c to aFileOrFolder as alias - my CopyOrPaste(result, "v") -end copyIconOfTo - -on CopyOrPaste(i, cv) - tell application "Finder" - activate - set infoWindow to open information window of i - set infoWindowName to name of infoWindow - end tell - tell application "System Events" to tell process "Finder" to tell window infoWindowName - keystroke tab -- select icon button - keystroke (cv & "w") using command down (* (copy or paste) + close window *) - end tell -- window 1 then process Finder then System Events -end CopyOrPaste - -on run - set icon_image_file to POSIX file "%s" as alias - set dmg_file to POSIX file "%s" as alias - - my saveImageWithItselfAsIcon(icon_image_file) - -- wait for virus scanner - delay 2 - my copyIconOfTo(icon_image_file, dmg_file) -end run diff --git a/resources/osx/build.py b/resources/osx/build.py deleted file mode 100644 index ea8531239..000000000 --- a/resources/osx/build.py +++ /dev/null @@ -1,426 +0,0 @@ -#!/usr/bin/python -# -*- encoding: utf-8 -*- - -############################################################################### -# OpenLP - Open Source Lyrics Projection # -# --------------------------------------------------------------------------- # -# Copyright (c) 2008-2011 Raoul Snyman # -# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, # -# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, # -# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund # -# --------------------------------------------------------------------------- # -# This program is free software; you can redistribute it and/or modify it # -# under the terms of the GNU General Public License as published by the Free # -# Software Foundation; version 2 of the License. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with this program; if not, write to the Free Software Foundation, Inc., 59 # -# Temple Place, Suite 330, Boston, MA 02111-1307 USA # -############################################################################### - -""" -Mac OS X Build Script ---------------------- - -This script is used to build the OS X binary and the accompanying installer. -For this script to work out of the box, it depends on a number of things: - -Python 2.6/2.7 - This build script only works with Python 2.6/2.7 - -PyQt4 - You should already have this installed, OpenLP doesn't work without it. - The version the script expects is the packaged one available from River - Bank Computing. - -PyInstaller - PyInstaller should be a checkout of revision 1355 of trunk, and in a - directory which is configured in the openlp.cfg. The revision is very - important as there is just included a fix for builds on OS X. - - 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. - -openlp.cfg - The configuration file contains settings of the version string to include - in the bundle as well as directory and file settings for different - purposes (e.g. PyInstaller location or installer background image) - -To start the build process do a - - make - -inside the resources/osx directory. The result should be a {openlp_dmgname}.dmg -file in the same directory. If something went wrong - this sometimes happen -with the graphical commands in the Apple script - do a - - make clean - -and start the build process again. If you want to execute only parts of the -build process you can specify different make targets - - make view -- runs the Apple scripts to set the icons - make package -- creates the dmg file and copies the application files - make bundle -- compresses the dmg file and sets the dmg file icon -""" - -import os -import ConfigParser -import logging -import optparse -import sys -import glob -import platform -import re -import subprocess as subp - -from shutil import copy - -# set the script name -script_name = "build" - - -def build_application(settings, app_name_lower, app_dir): - logging.info('[%s] now building the app with pyinstaller at "%s"...', - script_name, settings['pyinstaller_basedir']) - result = os.system('arch -i386 %s %s/pyinstaller.py openlp.spec' \ - % ( sys.executable, - settings['pyinstaller_basedir']) ) - if (result != 0): - logging.error('[%s] The pyinstaller build reported an error, cannot \ - continue!', script_name) - sys.exit(1) - - - dist_folder = os.getcwd() + '/dist/' + app_name_lower - - logging.info('[%s] copying the new plugins...', script_name) - result = os.system('cp -R %(openlp_directory)s/openlp/plugins \ - %(application_directory)s/Contents/MacOS' \ - % { 'openlp_directory' : settings['openlp_basedir'], - 'application_directory' : app_dir }) - if (result != 0): - logging.error('[%s] could not copy plugins, dmg creation failed!', - script_name) - sys.exit(1) - - logging.info('[%s] removing the presentations plugin...', script_name) - result = os.system('rm -rf \ - %(application_directory)s/Contents/MacOS/plugins/presentations' \ - % { 'application_directory' : app_dir }) - if (result != 0): - logging.error('[%s] could not remove presentations plugins, dmg \ - creation failed!', script_name) - sys.exit(1) - - logging.info('[%s] copying the icons to the resource directory...', - script_name) - result = os.system('cp %(icon_file)s \ - %(application_directory)s/Contents/Resources' \ - % { 'icon_file' : settings['openlp_icon_file'], - 'application_directory' : app_dir }) - if (result != 0): - logging.error('[%s] could not copy the icon, dmg creation failed!', - script_name) - sys.exit(1) - - logging.info('[%s] copying the version file...', script_name) - result = os.system('CpMac %s/.version %s/Contents/MacOS' % (os.getcwd(), - app_dir)) - if (result != 0): - logging.error('[%s] could not copy the version file, dmg creation \ - failed!', script_name) - sys.exit(1) - - logging.info('[%s] copying the new Info.plist...', script_name) - result = os.system('cp %(target_directory)s/Info.plist \ - %(application_directory)s/Contents' \ - % { 'target_directory' : os.getcwd(), - 'application_directory' : app_dir }) - if (result != 0): - logging.error('[%s] could not copy the info file, dmg creation \ - failed!', script_name) - sys.exit(1) - - logging.info('[%s] copying the translations...', script_name) - os.makedirs(app_dir + '/Contents/MacOS/i18n') - for ts_file in glob.glob(os.path.join(settings['openlp_basedir'] - + '/resources/i18n/', '*ts')): - result = os.system('lconvert -i %(ts_file)s \ - -o %(target_directory)s/Contents/MacOS/i18n/%(base)s.qm' \ - % { 'ts_file' : ts_file, 'target_directory' : app_dir, - 'base': os.path.splitext(os.path.basename(ts_file))[0] }) - if (result != 0): - logging.error('[%s] could not copy the translations, dmg \ - creation failed!', script_name) - sys.exit(1) - - # Backported from windows build script. - logging.info('[%s] copying the media player...', script_name) - os.makedirs(os.path.join(app_dir, 'Contents/MacOS/core/ui/media')) - source = os.path.join(settings['openlp_basedir'], u'openlp', u'core', u'ui', u'media') - dest = os.path.join(app_dir, u'Contents/MacOS/core/ui/media') - for root, dirs, files in os.walk(source): - for filename in files: - print filename - if not filename.endswith(u'.pyc'): - 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 create_dmg(settings): - logging.info('[%s] creating the dmg...', script_name) - dmg_file = os.getcwd() + '/' + settings['openlp_dmgname'] + '.dmg' - result = os.system('hdiutil create %(dmg_file)s~ -ov -megabytes \ - %(vol_size)s -fs HFS+ -volname %(vol_name)s' \ - % { 'dmg_file' : dmg_file, - 'vol_size' : '250', - 'vol_name' : settings['openlp_appname'] }) - if (result != 0): - logging.error('[%s] could not create dmg file!', script_name) - sys.exit(1) - - logging.info('[%s] mounting the dmg file...', script_name) - output = subp.Popen(["hdiutil", "attach", dmg_file + "~.dmg"], - stdout=subp.PIPE).communicate()[0] - logging.debug(output) - - p = re.compile('Apple_HFS\s+(.+?)\s*$') - result = p.search(output, re.M) - volume_basedir = '' - if result: - volume_basedir = result.group(1) - else: - logging.error('could not mount dmg file, cannot continue!') - sys.exit(1) - - logging.info('[%s] copying the app (from %s) to the dmg (at %s)...', - script_name, app_dir, volume_basedir) - result = os.system('CpMac -r %s %s' \ - % ( app_dir, volume_basedir )) - if (result != 0): - logging.error('[%s] could not copy application, dmg creation failed!', - script_name) - sys.exit(1) - - logging.info('[%s] copying the background image...', script_name) - os.mkdir(volume_basedir + '/.background') - result = os.system('CpMac %s %s' - % (settings['installer_backgroundimage_file'], - volume_basedir + '/.background/installer-background.png')) - if (result != 0): - logging.error('[%s] could not copy the background image, dmg creation\ - failed!', script_name) - sys.exit(1) - - return (volume_basedir, dmg_file) - -def unmount_dmg(settings, volume_basedir): - logging.info('[%s] unmounting the dmg...', script_name) - result = os.system('hdiutil detach %s' % volume_basedir) - if (result != 0): - logging.error('[%s] could not unmount the dmg file, dmg creation \ - failed!', script_name) - sys.exit(1) - -def compress_view(settings, seticon_scriptname, dmg_file): - logging.info('[%s] setting icon of the dmg file...', script_name) - try: - f = open(seticon_scriptname) - p = subp.Popen(["osascript"], stdin=subp.PIPE) - p.communicate(f.read() % ((os.getcwd() + '/' + - settings['openlp_dmg_icon_file']), dmg_file)) - f.close() - result = p.returncode - if (result != 0): - logging.error('[%s] could not set the icon to the dmg file, \ - dmg creation failed!', script_name) - sys.exit(1) - except IOError, e: - logging.error('[%s] could not adjust the view (%s), dmg creation \ - failed!', script_name, e) - sys.exit(1) - except OSError, e: - logging.error('[%s] could not set the icon to the dmg file(%s), \ - dmg creation failed!', script_name, e) - sys.exit(1) - -def adjust_package_view(settings, adjustview_scriptname): - logging.info('[%s] making adjustments to the view...', script_name) - try: - f = open(adjustview_scriptname) - p = subp.Popen(["osascript"], stdin=subp.PIPE) - p.communicate(f.read() % ((os.getcwd() + '/' + \ - settings['openlp_dmg_icon_file']), - settings['openlp_appname'], - settings['openlp_appname'], - settings['openlp_appname'])) - f.close() - result = p.returncode - if (result != 0): - logging.error('[%s] could not adjust the view, dmg creation \ - failed!', script_name) - sys.exit(1) - except IOError, e: - logging.error('[%s] could not adjust the view (%s), dmg creation \ - failed!', script_name, e) - sys.exit(1) - except OSError, e: - logging.error('[%s] could not adjust the view (%s), dmg creation \ - failed!', script_name, e) - sys.exit(1) - -def compress_dmg(settings): - logging.info('[%s] compress the dmg file...', script_name) - result = os.system('hdiutil convert %s~.dmg -format UDZO \ - -imagekey zlib-level=9 -o %s' \ - % (dmg_file, dmg_file)) - if (result != 0): - logging.error('[%s] could not compress the dmg file, dmg creation \ - failed!', script_name) - sys.exit(1) - - -if __name__ == '__main__': - - # set default actions - do_build = True - do_compress_view = True - do_package_view = True - do_create_dmg = True - do_compress_dmg = True - - parser = optparse.OptionParser() - parser.add_option('-c', '--config', dest='config', help='config file', - metavar='CONFIG') - parser.add_option('-v', '--package-view', dest='package_view', - help='triggers view adjustment scripts for package', - metavar='PACKAGEVIEWONLY', action='store_true', default=False) - parser.add_option('-y', '--compress-view', dest='compress_view', - help='triggers view adjustment scripts for dmg', - metavar='COMPRESSVIEWONLY', action='store_true', default=False) - parser.add_option('-p', '--package', dest='package', - help='package application folder to dmg', metavar='PACKAGE', - action='store_true', default=False) - parser.add_option('-z', '--compress', dest='compress', - help='compresses the existing dmg', metavar='COMPRESS', - action='store_true', default=False) - parser.add_option('-b', '--basedir', dest='basedir', - help='volume basedir like /Volumes/OpenLP', metavar='BASEDIR', - default='/Volumes/OpenLP') - - (options, args) = parser.parse_args() - - # if an option is set, false all - if (options.package_view is True or options.compress_view is True - or options.package is True or options.compress is True): - do_build = False - do_package_view = options.package_view - do_compress_view = options.compress_view - do_create_dmg = options.package - do_compress_dmg = options.compress - - if not options.config: - parser.error('option --config|-c is required') - - logHandler = logging.StreamHandler() - logHandler.setFormatter(logging.Formatter( - '%(asctime)s %(levelname)-8s %(message)s', - '%a, %d %b %Y %H:%M:%S')) - logging.getLogger().addHandler(logHandler) - logging.getLogger().setLevel(logging.DEBUG) - - config = ConfigParser.RawConfigParser() - config.readfp(open(options.config, 'r')) - - if not config.has_section('openlp'): - logging.error('[%s] config file "%s" lacks an [openlp] section', - script_name, options.config) - sys.exit(1) - - if not sys.platform == "darwin": - logging.error('[%s] this script only works on Macintosh OS X systems,' - + 'not on %s', script_name, sys.platform) - sys.exit(1) - - version = platform.mac_ver()[0] - # we only need the differenciation between leopard and snow leopard - if version.startswith("10.6") or version.startswith("10.7"): - SNOWLEOPARD = True - logging.info('[%s] using snow leopard scripts (version = %s)', - script_name, version) - adjustview_scriptname = "applescript-adjustview-10-6.master" - seticon_scriptname = "applescript-seticon-10-6.master" - else: - SNOWLEOPARD = False - logging.info('[%s] using leopard scripts (version = %s)', script_name, - version) - adjustview_scriptname = "applescript-adjustview-10-5.master" - seticon_scriptname = "applescript-seticon-10-5.master" - - if not os.path.isfile(adjustview_scriptname) \ - or not os.path.isfile(seticon_scriptname): - logging.error('[%s] could not find apple scripts for given OS X ' - + 'version %s', script_name, version) - sys.exit(1) - - settings = dict() - for k in config.options('openlp'): - settings[k] = config.get('openlp', k) - - # prepare the configuration files - os.system('python expander.py --config %(config_file)s \ - --template openlp.spec.master \ - --expandto %(target_directory)s/openlp.spec' \ - % { 'config_file' : options.config, 'target_directory' : os.getcwd() }) - os.system('python expander.py --config %(config_file)s \ - --template Info.plist.master \ - --expandto %(target_directory)s/Info.plist' \ - % { 'config_file' : options.config, 'target_directory' : os.getcwd() }) - os.system('python get_version.py > .version') - - # prepare variables - app_name_lower = settings['openlp_appname'].lower() - app_dir = os.getcwd() + '/' + settings['openlp_appname'] + '.app' - - # if the view option is set, skip the building steps - if (do_build is True): - build_application(settings, app_name_lower, app_dir) - - if (do_create_dmg is True): - (volume_basedir, dmg_file) = create_dmg(settings) - else: - # setting base dir - volume_basedir = options.basedir - dmg_file = os.getcwd() + '/' + settings['openlp_dmgname'] + '.dmg' - - if (do_package_view is True): - adjust_package_view(settings, adjustview_scriptname) - - if (do_create_dmg is True): - unmount_dmg(settings, volume_basedir) - - if (do_compress_dmg is True): - compress_dmg(settings) - - if (do_compress_view is True): - compress_view(settings, seticon_scriptname, dmg_file) - - if (do_compress_dmg is True): - logging.info('[%s] finished creating dmg file, resulting file is "%s"', - script_name, dmg_file) diff --git a/resources/osx/expander.py b/resources/osx/expander.py deleted file mode 100755 index b4911ff75..000000000 --- a/resources/osx/expander.py +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 - -############################################################################### -# OpenLP - Open Source Lyrics Projection # -# --------------------------------------------------------------------------- # -# Copyright (c) 2008-2011 Raoul Snyman # -# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, # -# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, # -# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode # -# Woldsund # -# --------------------------------------------------------------------------- # -# This program is free software; you can redistribute it and/or modify it # -# under the terms of the GNU General Public License as published by the Free # -# Software Foundation; version 2 of the License. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with this program; if not, write to the Free Software Foundation, Inc., 59 # -# Temple Place, Suite 330, Boston, MA 02111-1307 USA # -############################################################################### - -# TODOs: -# - defaults for non-supplied expansions: -# template contains - -import ConfigParser -import logging -import optparse -import os -import re -import sys - -# variable expansion: -# - %(dog)s --- normal python expansion -# - %(dog%)s --- no python expansion, leave as is (stripping the trailing %) -# - %(dog:cat) --- if there is an expansion for dog, dog will be used; -# otherwise if cat exists cat will be used -# - %(dog=cat) --- if there is an expansion for dog, dog will be used; -# otherwise "cat" will be used -# re_conf = re.compile(r'(?[^\(]+?)\)s') -re_conf = re.compile(r'(?P%?)%\((?P[^+=:&\)]+?)' - + '(?:(?P[+=:&])(?P[^\)]+))?\)(?Ps|d)') - -def expand_variable(match, expansions, errors): - key = match.group('key') - kind = match.group('kind') - default = match.group('default') - typ = match.group('type') - verbatim = match.group('verbatim') - - if verbatim: - return match.group(0)[1:] - - # literal default - if kind == '=': - if key in expansions: - return expansions[key] - return default - - # variable default - if kind == ':' and default in expansions: - return expansions[default] - - if kind == '+' and default in expansions: - if key in expansions: - key = expansions[key] - if typ == 's': - return '%s%s' % (key, expansions[default]) - if typ == 'd': - try: - return str(int(key) + int(expansions[default])) - except: - pass - - if kind == '&' and default in expansions: - if typ == 's': - return '%s%s' % (key, expansions[default]) - if typ == 'd': - try: - return str(int(key) + int(expansions[default])) - except: - pass - - if key in expansions: - return expansions[key] - - if not match.group(0) in errors: - errors.append(match.group(0)) - - return None - -options = None - -if __name__ == '__main__': - - # get config file - parser = optparse.OptionParser() - parser.add_option('-c', '--config', dest='config', - help='config file', metavar='CONFIG') - parser.add_option('-t', '--template', dest='template', - help='template file', metavar='TEMPLATE') - parser.add_option('-x', '--expandto', dest='expanded', - help='expanded file', metavar='EXPANDED') - parser.add_option('-e', '--echo', dest='echo', - help='echo variable', metavar='ECHOVAR') - - (options, args) = parser.parse_args() - - if not options.config: - parser.error('option --config|-c is required') - if not os.path.exists(options.config): - parser.error('config file "%s" does not exist' % options.config) - if not options.echo: - if not options.template: - parser.error('option --template|-t is required') - if not os.path.exists(options.template): - parser.error('template file "%s" does not exist' \ - % options.template) - if not options.expanded: - parser.error('option --expandto|-e is required') - - logHandler = logging.StreamHandler() - logHandler.setFormatter(logging.Formatter('%(asctime)s %(levelname)-8s ' - + ' %(message)s', '%a, %d %b %Y %H:%M:%S')) - logging.getLogger().addHandler(logHandler) - logging.getLogger().setLevel(logging.DEBUG) - - config = ConfigParser.RawConfigParser() - config.readfp(open(options.config, 'r')) - - if not config.has_section('openlp'): - logging.error('[expander] %s: config file "%s" lacks an [openlp] ' - + 'section', options.template, options.config) - - expansions = dict() - for k in config.options('openlp'): - expansions[k] = config.get('openlp', k) - - # commandline overrides? - for override in args: - if not '=' in override: - continue - - (k, v) = override.split('=', 2) - expansions[k] = v - - if options.echo: - if options.echo in expansions: - print expansions[options.echo] - sys.exit(0) - else: - sys.exit(1) - - # closure to capture expansions and errors variable - errors = [] - expanded = [] - - try: - # try to expand the template - line = 0 - faulty = False - - template = open(options.template, 'r') - raw = template.readlines() - template.close() - - def _expand(m): - return expand_variable(m, expansions = expansions, errors = errors) - - for l in raw: - line += 1 - exp = re_conf.sub(_expand, l) - if errors: - for key in errors: - logging.error('[expander] %s: line %d: could not expand ' - + 'key "%s"', options.template, line, key) - faulty = True - errors = [] - else: - expanded.append(exp) - - if faulty: - sys.exit(1) - - # successfully expanded template, now backup potentially existing - # target file - targetFile = options.expanded % expansions - if os.path.exists(targetFile): - if os.path.exists('%s~' % targetFile): - os.unlink('%s~' % targetFile) - os.rename(options.expanded, '%s~' % targetFile) - logging.info('[expander] %s: backed up existing target file "%s" ' - + 'to "%s"', options.template, targetFile, - '%s~' % options.expanded) - - # make sure that target directory exists - targetDir = os.path.dirname(targetFile) - if not os.path.exists(targetDir): - os.makedirs(targetDir) - - # write target file - try: - target = open(targetFile, 'w') - for exp in expanded: - target.write(exp) - target.close() - except Exception, e: - logging.error('[expander] %s: could not expand to "%s"', - options.template, options.expaned, e) - - # copy over file access mode from template - mode = os.stat(options.template) - os.chmod(options.expanded, mode.st_mode) - - logging.info('[expander] expanded "%s" to "%s"', - options.template, options.expanded) - - except: - pass - diff --git a/resources/osx/get_version.py b/resources/osx/get_version.py deleted file mode 100644 index 7be4678b8..000000000 --- a/resources/osx/get_version.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 - -############################################################################### -# OpenLP - Open Source Lyrics Projection # -# --------------------------------------------------------------------------- # -# Copyright (c) 2008-2011 Raoul Snyman # -# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, # -# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, # -# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode # -# Woldsund # -# --------------------------------------------------------------------------- # -# This program is free software; you can redistribute it and/or modify it # -# under the terms of the GNU General Public License as published by the Free # -# Software Foundation; version 2 of the License. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with this program; if not, write to the Free Software Foundation, Inc., 59 # -# Temple Place, Suite 330, Boston, MA 02111-1307 USA # -############################################################################### -import sys -import os -from bzrlib.branch import Branch - -def get_version(path): - b = Branch.open_containing(path)[0] - b.lock_read() - result = '0.0.0' - try: - # Get the branch's latest revision number. - revno = b.revno() - # Convert said revision number into a bzr revision id. - revision_id = b.dotted_revno_to_revision_id((revno,)) - # Get a dict of tags, with the revision id as the key. - tags = b.tags.get_reverse_tag_dict() - # Check if the latest - if revision_id in tags: - result = tags[revision_id][0] - else: - result = '%s-bzr%s' % (sorted(b.tags.get_tag_dict().keys())[-1], revno) - finally: - b.unlock() - return result - -def get_path(): - if len(sys.argv) > 1: - return os.path.abspath(sys.argv[1]) - else: - return os.path.abspath('.') - -if __name__ == u'__main__': - path = get_path() - print get_version(path) - diff --git a/resources/osx/installation-background.png b/resources/osx/installation-background.png deleted file mode 100755 index 8a41d3b68..000000000 Binary files a/resources/osx/installation-background.png and /dev/null differ diff --git a/resources/osx/openlp-logo-420x420-background.png b/resources/osx/openlp-logo-420x420-background.png deleted file mode 100755 index 1008621d6..000000000 Binary files a/resources/osx/openlp-logo-420x420-background.png and /dev/null differ diff --git a/resources/osx/openlp-logo-420x420.png b/resources/osx/openlp-logo-420x420.png deleted file mode 100644 index 85457d8fb..000000000 Binary files a/resources/osx/openlp-logo-420x420.png and /dev/null differ diff --git a/resources/osx/openlp-logo-with-text.icns b/resources/osx/openlp-logo-with-text.icns deleted file mode 100644 index 6066b111e..000000000 Binary files a/resources/osx/openlp-logo-with-text.icns and /dev/null differ diff --git a/resources/osx/openlp-splash-screen.png b/resources/osx/openlp-splash-screen.png deleted file mode 100755 index 618e47c6e..000000000 Binary files a/resources/osx/openlp-splash-screen.png and /dev/null differ diff --git a/resources/osx/openlp.cfg.sample b/resources/osx/openlp.cfg.sample deleted file mode 100755 index f72a8fca1..000000000 --- a/resources/osx/openlp.cfg.sample +++ /dev/null @@ -1,10 +0,0 @@ -[openlp] -openlp_appname = OpenLP -openlp_dmgname = OpenLP-1.9.6-bzrXXXX -openlp_version = XXXX -openlp_basedir = /Users/openlp/repo/trunk -openlp_icon_file = openlp-logo-with-text.icns -openlp_dmg_icon_file = openlp-logo-420x420.png -installer_backgroundimage_file = installation-background.png -pyinstaller_basedir = /Users/openlp/pyinstaller/trunk -qt_menu_basedir = /Library/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib diff --git a/resources/osx/openlp.spec.master b/resources/osx/openlp.spec.master deleted file mode 100755 index eb743c40b..000000000 --- a/resources/osx/openlp.spec.master +++ /dev/null @@ -1,24 +0,0 @@ -# -*- mode: python -*- -a = Analysis([os.path.join(HOMEPATH,'support/_mountzlib.py'), os.path.join(CONFIGDIR,'support/useUnicode.py'), '%(openlp_basedir)s/openlp.pyw'], - pathex=['%(pyinstaller_basedir)s'], hookspath=['%(openlp_basedir)s/resources/pyinstaller']) -pyz = PYZ(a.pure) -exe = EXE(pyz, - a.scripts, - exclude_binaries=1, - name=os.path.join('build/pyi.darwin/openlp', 'openlp'), - debug=False, - strip=False, - upx=True, - console=1 ) -coll = COLLECT( exe, - a.binaries, - a.zipfiles, - a.datas, - strip=False, - upx=True, - name=os.path.join('dist', 'openlp')) -import sys -if sys.platform.startswith("darwin"): - app = BUNDLE(coll, - name='%(openlp_appname)s.app', - version='%(openlp_version)s')