diff --git a/configure b/configure index 2c29b9f01b..1ce86b5d3d 100755 --- a/configure +++ b/configure @@ -22,6 +22,9 @@ if [ "$os" == 'Linux' ]; then echo "Eluant.dll.config has been created successfully." fi elif [ "$os" == 'Darwin' ]; then - cp thirdparty/osx/* . - echo "Copied Lua 5.1 and SDL2 libraries successfully." + echo "Downloading pre-compiled lua and SDL2 libraries" + curl -O https://raw.githubusercontent.com/OpenRA/OpenRALauncherOSX/master/dependencies/Eluant.dll.config + curl -O https://github.com/OpenRA/OpenRALauncherOSX/raw/master/dependencies/liblua.5.1.dylib + curl -O https://github.com/OpenRA/OpenRALauncherOSX/raw/master/dependencies/libSDL2.dylib + echo "Downloaded Lua 5.1 and SDL2 libraries successfully." fi diff --git a/packaging/osx/buildpackage.sh b/packaging/osx/buildpackage.sh index a21a70fb2a..98ac5ef34d 100755 --- a/packaging/osx/buildpackage.sh +++ b/packaging/osx/buildpackage.sh @@ -1,8 +1,10 @@ #!/bin/bash # OpenRA packaging script for Mac OSX -if [ $# -ne "4" ]; then - echo "Usage: `basename $0` tag files-dir platform-files-dir outputdir" +LAUNCHER_TAG="osx-launcher-20150412" + +if [ $# -ne "3" ]; then + echo "Usage: `basename $0` tag files-dir outputdir" exit 1 fi @@ -12,9 +14,12 @@ if [ -e "OpenRA.app" ]; then exit 2 fi +wget https://github.com/OpenRA/OpenRALauncherOSX/releases/download/${LAUNCHER_TAG}/launcher.zip || exit 3 +unzip launcher.zip +rm launcher.zip + # Copy the template to build the game package -cp -rv template.app OpenRA.app -cp -rv $2/* $3/* "OpenRA.app/Contents/Resources/" || exit 3 +cp -rv $2/* "OpenRA.app/Contents/Resources/" || exit 3 # Remove unused icon rm OpenRA.app/Contents/Resources/OpenRA.ico @@ -23,14 +28,14 @@ rm OpenRA.app/Contents/Resources/OpenRA.ico rm OpenRA.app/Contents/Resources/OpenRA.exe rm OpenRA.app/Contents/Resources/OpenRA.Editor.exe -# Set version string -sed "s/{DEV_VERSION}/${1}/" OpenRA.app/Contents/Info.plist.template > OpenRA.app/Contents/Info.plist -rm OpenRA.app/Contents/Info.plist.template +# Remove linux cruft +rm Eluant.dll.config.in -# Add a symlink to libgdiplus.dylib to work around an issue in mono 3.8 -ln -s /Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib OpenRA.app/Contents/Resources/libgdiplus.dylib +# Set version string +sed "s/{DEV_VERSION}/${1}/" OpenRA.app/Contents/Info.plist > OpenRA.app/Contents/Info.plist.tmp +mv OpenRA.app/Contents/Info.plist.tmp OpenRA.app/Contents/Info.plist # Package app bundle into a zip and clean up zip OpenRA-$1 -r -9 OpenRA.app --quiet --symlinks -mv OpenRA-$1.zip $4 +mv OpenRA-$1.zip $3 rm -rf OpenRA.app diff --git a/packaging/osx/template.app/Contents/Info.plist.template b/packaging/osx/template.app/Contents/Info.plist.template deleted file mode 100644 index 0b7682304e..0000000000 --- a/packaging/osx/template.app/Contents/Info.plist.template +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleDisplayName - OpenRA - CFBundleExecutable - OpenRA - CFBundleIconFile - OpenRA.icns - CFBundleIdentifier - net.openra.launcher - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - OpenRA - CFBundlePackageType - APPL - CFBundleShortVersionString - {DEV_VERSION} - CFBundleSignature - ???? - CFBundleVersion - {DEV_VERSION} - LSMinimumSystemVersion - 10.5 - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/packaging/osx/template.app/Contents/MacOS/OpenRA b/packaging/osx/template.app/Contents/MacOS/OpenRA deleted file mode 100755 index 672199b3bd..0000000000 --- a/packaging/osx/template.app/Contents/MacOS/OpenRA +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -# OpenRA OSX launcher script -# Checks for a sufficiently recent mono version, then launches the game from the resources directory. -# Based on code from the monodevelop project - -REQUIRED_MAJOR=3 -REQUIRED_MINOR=2 - -# Require a framework build of mono. -# The game files assume that mono-installed libraries are present in /Library/Frameworks/Mono.framework/Libraries -MONO_BIN="/Library/Frameworks/Mono.framework/Commands/mono" - -TITLE="Cannot launch OpenRA" -MESSAGE="OpenRA requires Mono $REQUIRED_MAJOR.$REQUIRED_MINOR or later. Please install the Mono MRE package and try again." -MONO_URL="http://www.mono-project.com/download/" - -CRASH_TITLE="Fatal Error" -CRASH_MESSAGE="OpenRA has encountered a fatal error.\nRefer to the crash logs and FAQ for more information." -FAQ_URL="http://wiki.openra.net/FAQ" - -DIR=$(cd "$(dirname "$0")"; pwd) -RESOURCES="$DIR/../Resources" - -MONO_VERSION="$($MONO_BIN --version | grep 'Mono JIT compiler version ' | cut -f5 -d\ )" -MONO_VERSION_MAJOR="$(echo $MONO_VERSION | cut -f1 -d.)" -MONO_VERSION_MINOR="$(echo $MONO_VERSION | cut -f2 -d.)" - -if [ -z "$MONO_VERSION" ] \ - || [ $MONO_VERSION_MAJOR -lt $REQUIRED_MAJOR ] \ - || [ $MONO_VERSION_MAJOR -eq $REQUIRED_MAJOR -a $MONO_VERSION_MINOR -lt $REQUIRED_MINOR ] -then - osascript \ - -e "tell application \"Finder\"" \ - -e " set question to display dialog \"$MESSAGE\" with title \"$TITLE\" with icon alias (POSIX file \"$RESOURCES/OpenRA.icns\") buttons {\"Quit\", \"Download Mono\"} default button 2" \ - -e " if button returned of question is equal to \"Download Mono\" then open location \"$MONO_URL\"" \ - -e " activate" \ - -e "end tell" - exit 1 -fi - -# Override fontconfig with our own dummy config that prevents long cache delays -cd "$RESOURCES" && FONTCONFIG_PATH="." $MONO_BIN --debug OpenRA.Game.exe Graphics.Renderer=Sdl2 - -# Display an error dialog on game crash -if [ $? != 0 -a $? != 1 ] -then - osascript \ - -e "set logsPath to ((path to application support folder from user domain) as text) & \"OpenRA:Logs:\"" \ - -e "log logsPath" \ - -e "tell application \"Finder\"" \ - -e " repeat" \ - -e " set question to display dialog \"$CRASH_MESSAGE\" with title \"$CRASH_TITLE\" with icon alias (POSIX file \"$RESOURCES/OpenRA.icns\") buttons {\"View Logs\", \"View FAQ\", \"Quit\"} default button 3" \ - -e " if button returned of question is equal to \"View Logs\" then open logsPath" \ - -e " if button returned of question is equal to \"View FAQ\" then open location \"$FAQ_URL\"" \ - -e " if button returned of question is equal to \"Quit\" then exit repeat" \ - -e " if button returned of question is equal to \"Download Mono\" then open location \"$MONO_URL\"" \ - -e " activate" \ - -e " end repeat" \ - -e "end tell" - exit 1 -fi diff --git a/packaging/osx/template.app/Contents/PkgInfo b/packaging/osx/template.app/Contents/PkgInfo deleted file mode 100644 index bd04210fb4..0000000000 --- a/packaging/osx/template.app/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPL???? \ No newline at end of file diff --git a/packaging/osx/template.app/Contents/Resources/OpenRA.icns b/packaging/osx/template.app/Contents/Resources/OpenRA.icns deleted file mode 100755 index 6485059707..0000000000 Binary files a/packaging/osx/template.app/Contents/Resources/OpenRA.icns and /dev/null differ diff --git a/packaging/osx/template.app/Contents/Resources/fonts.conf b/packaging/osx/template.app/Contents/Resources/fonts.conf deleted file mode 100644 index 97797bde3f..0000000000 --- a/packaging/osx/template.app/Contents/Resources/fonts.conf +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/packaging/package-all.sh b/packaging/package-all.sh index db7e5fe185..2c245a6e54 100755 --- a/packaging/package-all.sh +++ b/packaging/package-all.sh @@ -95,7 +95,7 @@ fi pushd osx echo "Zipping OS X package" -bash buildpackage.sh "$TAG" "$BUILTDIR" "${SRCDIR}/thirdparty/osx" "$OUTPUTDIR" +bash buildpackage.sh "$TAG" "$BUILTDIR" "$OUTPUTDIR" if [ $? -ne 0 ]; then echo "OS X package build failed." fi diff --git a/thirdparty/osx/Eluant.dll.config b/thirdparty/osx/Eluant.dll.config deleted file mode 100644 index 43be429756..0000000000 --- a/thirdparty/osx/Eluant.dll.config +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/thirdparty/osx/libSDL2.dylib b/thirdparty/osx/libSDL2.dylib deleted file mode 100644 index f2b4615d74..0000000000 Binary files a/thirdparty/osx/libSDL2.dylib and /dev/null differ diff --git a/thirdparty/osx/liblua.5.1.dylib b/thirdparty/osx/liblua.5.1.dylib deleted file mode 100644 index e213cc5cea..0000000000 Binary files a/thirdparty/osx/liblua.5.1.dylib and /dev/null differ