summaryrefslogtreecommitdiffstats
blob: 4c7157f2ef0fec06a550494ac1625d81adda5f37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/sh

APP=$1
TEMPLATE=$2
TARGET=$3
QTDIR=$4

if [[ ! -f "$TEMPLATE" || ! -d "$APP" || ! -d "$QTDIR" || -z "$TARGET" ]]; then
	echo "Error"
	exit -1
fi

set -e -x

WC_DIR=`dirname $TEMPLATE`/tmp
WC_DMG=`dirname $TEMPLATE`/tmp.dmg

gunzip -c $TEMPLATE > $WC_DMG
rm -rf $WC_DIR
mkdir -p $WC_DIR
hdiutil attach "$WC_DMG" -noautoopen -quiet -mountpoint "$WC_DIR"
ditto -rsrc "$APP" "$WC_DIR"/`basename $APP`
$QTDIR/bin/macdeployqt "$WC_DIR"/`basename $APP` -no-strip 
# The bearer plugins of Qt5 cannot be disabled by an application. 
# They will constantly ask the OS to scan for available wireless networks, unrelated to actual API calls.
# This results in unnessecary resource load, so we remove the plugins from our packages.
rm "$WC_DIR"/`basename $APP`/Contents/PlugIns/bearer/*.dylib
hdiutil detach "$WC_DIR" -quiet -force
rm -f $TARGET
hdiutil convert "$WC_DMG" -quiet -format UDZO -imagekey zlib-level=9 -o "$TARGET"
rm -rf $WC_DMG $WC_DIR