From 1b3b7bccf840462d6ee2b27bddede54cfe1d5ff4 Mon Sep 17 00:00:00 2001 From: pztrn Date: Sun, 9 Oct 2016 01:02:21 +0500 Subject: [PATCH] macOS building script added. --- doc/installation/macos/make-app.sh | 92 ++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100755 doc/installation/macos/make-app.sh diff --git a/doc/installation/macos/make-app.sh b/doc/installation/macos/make-app.sh new file mode 100755 index 0000000..efe98bc --- /dev/null +++ b/doc/installation/macos/make-app.sh @@ -0,0 +1,92 @@ +#!/bin/bash + +# Do some checks. + +# Do we have brew installed? +brew config | grep HOMEBREW_VERSION &>/dev/null +if [ $? -ne 0 ]; then + echo "Please, install brew (http://brew.sh)" + exit 1 +fi + +# Do we have Go installed? +# ToDo: more proper check. +if [ -z ${GOPATH} ]; then + echo "Please, install Go >= 1.7 for continue and configure your shell. See Go installation docs for more information." + exit 1 +fi + +# Do we have GTK+ installed? +GTK_STATUS=$(brew info gtk+ | grep Cellar) +if [ $? -ne 0 ]; then + echo "Please, install GTK+ (brew install gtk+ gtksourceview)" + exit 1 +fi + +# Okay, let's compile. +echo "Getting URTrator (and dependencies) sources" +go get -u -v -d github.com/pztrn/urtrator +if [ $? -ne 0 ]; then + echo "Failed to get URTrator sources" + exit 1 +fi + +echo "Building URTrator..." +go build -v github.com/pztrn/urtrator +if [ $? -ne 0 ]; then + echo "Failed to build URTrator! Please, create a new bug report at https://github.com/pztrn/urtrator and attach FULL console output!" + exit 1 +fi + +echo "Creating app bundle..." +mkdir -p /Applications/URTrator.app/Contents/{MacOS,Library,Resources} +cp $GOPATH/bin/urtrator /Applications/URTrator.app/Contents/MacOS/ +cp $GOPATH/src/github.com/pztrn/urtrator/artwork/urtrator.icns /Applications/URTrator.app/Contents/Resources/ + +##################################################################### +# APP BUNDLE INFO.PLIST +##################################################################### +INFOPLIST=' + + + + CFBundleGetInfoString + URTrator + CFBundleExecutable + urtrator + CFBundleIdentifier + name.pztrn.urtrator + CFBundleName + URTrator + CFBundleIconFile + urtrator.icns + CFBundleShortVersionString + 0.1.0 + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + IFMajorVersion + 0 + IFMinorVersion + 1 + +' + +echo ${INFOPLIST} > /Applications/URTrator.app/Contents/Info.plist + +##################################################################### + +# Libraries works. +echo "Copying libraries..." +LIBS_TO_COPY=$(otool -L urtrator | awk {' print $1 '} | grep "/usr/local") + +for lib in ${LIBS_TO_COPY[@]}; do + cp ${lib} /Applications/URTrator.app/Contents/Library + libname=$(echo ${lib} | awk -F"/" {' print $NF '}) + install_name_tool -change ${lib} @executable_path/../Library/${libname} /Applications/URTrator.app/Contents/MacOS/urtrator +done + +echo "Finishing..." + +echo "URTrator is ready! Launch from Applications!"