summaryrefslogtreecommitdiff
path: root/misc/osx/package.bash
diff options
context:
space:
mode:
Diffstat (limited to 'misc/osx/package.bash')
-rwxr-xr-xmisc/osx/package.bash69
1 files changed, 69 insertions, 0 deletions
diff --git a/misc/osx/package.bash b/misc/osx/package.bash
new file mode 100755
index 000000000..d4ee5f48f
--- /dev/null
+++ b/misc/osx/package.bash
@@ -0,0 +1,69 @@
+#!/bin/bash
+# Copyright 2011 The Go Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+set -e
+
+if ! test -f ../../src/all.bash; then
+ echo >&2 "package.bash must be run from $GOROOT/misc/osx"
+ exit 1
+fi
+
+echo >&2 "Locating PackageMaker..."
+PM=/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
+if [ ! -x $PM ]; then
+ PM=/Developer$PM
+ if [ ! -x $PM ]; then
+ echo >&2 "could not find PackageMaker; aborting"
+ exit 1
+ fi
+fi
+echo >&2 " Found: $PM"
+
+BUILD=/tmp/go.build.tmp
+ROOT=`hg root`
+export GOROOT=$BUILD/root/usr/local/go
+export GOROOT_FINAL=/usr/local/go
+
+echo >&2 "Removing old images"
+rm -f *.pkg *.dmg
+
+echo >&2 "Preparing temporary directory"
+rm -rf $BUILD
+mkdir -p $BUILD
+trap "rm -rf $BUILD" 0
+
+echo >&2 "Copying go source distribution"
+mkdir -p $BUILD/root/usr/local
+cp -r $ROOT $GOROOT
+cp -r etc $BUILD/root/etc
+
+pushd $GOROOT > /dev/null
+
+echo >&2 "Detecting version..."
+pushd src > /dev/null
+./make.bash --dist-tool > /dev/null
+../bin/tool/dist version > /dev/null
+popd > /dev/null
+mv VERSION.cache VERSION
+VERSION="$(cat VERSION | awk '{ print $1 }')"
+echo >&2 " Version: $VERSION"
+
+echo >&2 "Pruning Mercurial metadata"
+rm -rf .hg .hgignore .hgtags
+
+echo >&2 "Building Go"
+pushd src
+./all.bash 2>&1 | sed "s/^/ /" >&2
+popd > /dev/null
+
+popd > /dev/null
+
+echo >&2 "Building package"
+$PM -v -r $BUILD/root -o "go.darwin.$VERSION.pkg" \
+ --scripts scripts \
+ --id com.googlecode.go \
+ --title Go \
+ --version "0.1" \
+ --target "10.5"