macOS building script added.
This commit is contained in:
parent
3a2a826d5b
commit
1b3b7bccf8
92
doc/installation/macos/make-app.sh
Executable file
92
doc/installation/macos/make-app.sh
Executable file
@ -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='<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleGetInfoString</key>
|
||||||
|
<string>URTrator</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>urtrator</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>name.pztrn.urtrator</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>URTrator</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>urtrator.icns</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>0.1.0</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>IFMajorVersion</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>IFMinorVersion</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
</dict>
|
||||||
|
</plist>'
|
||||||
|
|
||||||
|
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!"
|
Reference in New Issue
Block a user