aboutsummaryrefslogtreecommitdiff
path: root/contrib/create_osx_dmg.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/create_osx_dmg.sh')
-rwxr-xr-xcontrib/create_osx_dmg.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/contrib/create_osx_dmg.sh b/contrib/create_osx_dmg.sh
new file mode 100755
index 0000000000..af164e56cf
--- /dev/null
+++ b/contrib/create_osx_dmg.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+#
+# Creates a Bitcoin.dmg OSX file from the contrib/BitcoinTemplate.dmg file
+#
+# Recipe from: http://digital-sushi.org/entry/how-to-create-a-disk-image-installer-for-apple-mac-os-x/
+#
+# To make a prettier BitcoinTemplate.dmg:
+# + open (mount) BitcoinTemplate.dmg
+# + change the file properties, icon positions, background image, etc
+# + eject, then commit the changed BitcoinTemplate.dmg
+#
+
+CWD=$(pwd)
+
+if [ $# -lt 1 ]; then
+ if [ $(basename $CWD) == "contrib" ]
+ then
+ TOP=$(dirname $CWD)
+ else
+ echo "Usage: $0 /path/to/bitcoin/tree"
+ exit 1
+ fi
+else
+ TOP=$1
+fi
+
+CONTRIB=$TOP/contrib
+BUILD_DIR=/tmp/bitcoin_osx_build
+
+# First, compile bitcoin and bitcoind
+cd "$TOP/src"
+if [ ! -e bitcoin ]; then make -f makefile.osx bitcoin; fi
+if [ ! -e bitcoind ]; then make -f makefile.osx bitcoind; fi
+strip bitcoin bitcoind
+
+mkdir -p "$BUILD_DIR"
+cd "$BUILD_DIR"
+
+rm -f Bitcoin.sparseimage
+hdiutil convert "$CONTRIB/BitcoinTemplate.dmg" -format UDSP -o Bitcoin
+hdiutil mount Bitcoin.sparseimage
+
+# Copy over placeholders in /Volumes/Bitcoin
+cp "$TOP/src/bitcoind" /Volumes/Bitcoin/
+cp "$TOP/src/bitcoin" /Volumes/Bitcoin/Bitcoin.app/Contents/MacOS/
+
+# Create source code .zip
+cd "$TOP"
+git archive -o /Volumes/Bitcoin/bitcoin.zip $(git branch 2>/dev/null|grep -e ^* | cut -d ' ' -f 2)
+
+# Fix permissions
+chmod -Rf go-w /Volumes/Bitcoin
+
+cd "$BUILD_DIR"
+hdiutil eject /Volumes/Bitcoin
+rm -f "$CWD/Bitcoin.dmg"
+hdiutil convert Bitcoin.sparseimage -format UDBZ -o "$CWD/Bitcoin.dmg"
+
+cd "$CWD"
+rm -rf "$BUILD_DIR"