#!/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!"