From 204242e4da194f2d7f87bfc95a950f8dcf9f481b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Sat, 23 Oct 2010 13:22:44 +0200
Subject: Improved Mac packaging.


diff --git a/Swift/Packaging/MacOSX/Swift.dmg.gz b/Swift/Packaging/MacOSX/Swift.dmg.gz
new file mode 100644
index 0000000..1e56881
Binary files /dev/null and b/Swift/Packaging/MacOSX/Swift.dmg.gz differ
diff --git a/Swift/Packaging/MacOSX/package.sh b/Swift/Packaging/MacOSX/package.sh
new file mode 100755
index 0000000..884403b
--- /dev/null
+++ b/Swift/Packaging/MacOSX/package.sh
@@ -0,0 +1,27 @@
+#!/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`
+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
diff --git a/Swift/QtUI/SConscript b/Swift/QtUI/SConscript
index 78579a6..0bb0708 100644
--- a/Swift/QtUI/SConscript
+++ b/Swift/QtUI/SConscript
@@ -152,11 +152,8 @@ if env["PLATFORM"] == "darwin" :
     frameworks.append(env["GROWL_FRAMEWORK"])
   app = myenv.AppBundle("Swift", version = myenv["SWIFT_VERSION"], resources = ["../resources/MacOSX/Swift.icns"] + commonResources, frameworks = frameworks)
   if env["DIST"] :
-    myenv.Command(["Swift-${SWIFT_VERSION}.dmg"], [app], [
-        "$QTDIR/bin/macdeployqt $SOURCE -dmg",
-        Move("$TARGET", "$SOURCE.dir/Swift.dmg")
-      ])
-
+    myenv.Command(["Swift-${SWIFT_VERSION}.dmg"], [app], ["Swift/Packaging/MacOSX/package.sh " + app.path + " Swift/Packaging/MacOSX/Swift.dmg.gz $TARGET $QTDIR"])
+    
 if env.get("SWIFT_INSTALLDIR", "") :
   env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "bin"), swiftProgram)
   env.InstallAs(os.path.join(env["SWIFT_INSTALLDIR"], "share", "pixmaps", "swift.xpm"), "../resources/logo/logo-icon-32.xpm")
diff --git a/Swift/resources/logo/dmg.svg b/Swift/resources/logo/dmg.svg
new file mode 100644
index 0000000..1c88cb4
--- /dev/null
+++ b/Swift/resources/logo/dmg.svg
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="550"
+   height="350"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="dmg.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Mend"
+       style="overflow:visible;">
+      <path
+         id="path3832"
+         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(0.6) rotate(180) translate(0,0)" />
+    </marker>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <inkscape:perspective
+       id="perspective3746"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective3794"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#e7e7e7"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="312.75"
+     inkscape:cy="140.25"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:snap-global="true"
+     inkscape:window-width="1067"
+     inkscape:window-height="1103"
+     inkscape:window-x="708"
+     inkscape:window-y="109"
+     inkscape:window-maximized="0"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:object-paths="true"
+     inkscape:snap-intersection-paths="true"
+     inkscape:object-nodes="true"
+     inkscape:snap-smooth-nodes="true"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-midpoints="true"
+     inkscape:snap-center="true"
+     inkscape:snap-nodes="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2816"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-702.36218)">
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:#c9c9c9;stroke-width:0.94299999999999995;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       id="rect2820"
+       width="509"
+       height="310"
+       x="21"
+       y="-1032.3622"
+       transform="scale(1,-1)"
+       ry="20.5" />
+    <text
+       xml:space="preserve"
+       style="font-size:41.37400817999999703px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#787878;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+       x="502.43417"
+       y="660.57532"
+       id="text4434"
+       transform="scale(0.85210172,1.1735688)"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4436"
+         x="502.43417"
+         y="660.57532">Swift</tspan></text>
+    <path
+       style="fill:#f1f1f1;fill-opacity:1;stroke:#dcdcdc;stroke-width:3.50000000000000000;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="M 289.03125 178 L 289.03125 190.0625 L 248.46875 190.0625 L 248.46875 220.09375 L 289.03125 220.09375 L 289.03125 232.09375 L 309.03125 205.03125 L 289.03125 178 z "
+       transform="translate(0,702.36218)"
+       id="rect4438" />
+  </g>
+</svg>
-- 
cgit v0.10.2-6-g49f6