commit e62d0fa90c59d2d2433f833b5010cdb2cb8d4e60
parent eec648b61916a22b8dc874c5279887658b171c2e
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date: Fri, 18 Jun 2010 19:54:33 +0900
[osx] Switch to bockbuild
Diffstat:
13 files changed, 597 insertions(+), 281 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -9,6 +9,7 @@ data/spek.desktop
data/spek.desktop.in
depcomp
.deps
+.DS_Store
install-sh
intltool-extract.in
intltool-merge.in
diff --git a/bockbuild/packages/spek.py b/bockbuild/packages/spek.py
@@ -0,0 +1,9 @@
+class SpekPackage (Package):
+ def __init__ (self):
+ Package.__init__ (self, 'spek', '0.4')
+
+ self.sources = [
+ 'http://%{name}.googlecode.com/files/%{name}-%{version}.tar.bz2'
+ ]
+
+SpekPackage ()
diff --git a/bockbuild/profiles/spek/packages.py b/bockbuild/profiles/spek/packages.py
@@ -0,0 +1,74 @@
+import os
+from bockbuild.darwinprofile import DarwinProfile
+
+class SpekPackages:
+ def __init__ (self):
+ # Toolchain
+ self.packages.extend ([
+ 'autoconf.py',
+ 'automake.py',
+ 'libtool.py',
+ 'gettext.py',
+ 'pkg-config.py',
+ ])
+
+ # Base Libraries
+ self.packages.extend ([
+# 'libiconv.py',
+ 'libpng.py',
+ 'libjpeg.py',
+ 'libxml2.py',
+ 'freetype.py',
+ 'fontconfig.py',
+ 'pixman.py',
+ 'cairo.py',
+ 'glib.py',
+ 'pango.py',
+ 'atk.py',
+ 'intltool.py',
+ 'gtk+.py',
+ 'libproxy.py',
+ 'libsoup.py',
+ ])
+
+ # Theme
+ self.packages.extend ([
+ 'librsvg.py',
+ 'icon-naming-utils.py',
+ 'hicolor-icon-theme.py',
+# 'tango-icon-theme.py',
+ 'murrine.py',
+ ])
+
+ # Codecs
+ self.packages.extend ([
+ 'libogg.py',
+ 'libvorbis.py',
+ 'flac.py',
+ 'libtheora.py',
+ 'speex.py',
+ 'wavpack.py',
+ 'taglib.py',
+ ])
+
+ # GStreamer
+ self.packages.extend ([
+ 'liboil.py',
+ 'gstreamer.py',
+ 'gst-plugins-base.py',
+ 'gst-plugins-good.py',
+ 'gst-plugins-bad.py',
+ 'gst-plugins-ugly.py',
+# 'gst-ffmpeg',
+ ])
+
+ if isinstance (self, DarwinProfile):
+ self.packages.extend ([
+ 'ige-mac-integration.py'
+ ])
+
+ if self.cmd_options.release_build:
+ self.packages.append ('spek.py')
+
+ self.packages = [os.path.join ('..', '..', 'packages', p)
+ for p in self.packages]
diff --git a/bockbuild/profiles/spek/profile.darwin.py b/bockbuild/profiles/spek/profile.darwin.py
@@ -0,0 +1,40 @@
+#!/usr/bin/python -B
+
+import os
+import sys
+
+sys.path.append ('../..')
+
+from bockbuild.darwinprofile import DarwinProfile
+from packages import SpekPackages
+
+class SpekDarwinProfile (DarwinProfile, SpekPackages):
+ def __init__ (self):
+ DarwinProfile.__init__ (self)
+ SpekPackages.__init__ (self)
+
+ self_dir = os.path.realpath (os.path.dirname (sys.argv[0]))
+ self.bundle_skeleton_dir = os.path.join (self_dir, 'skeleton.darwin')
+ self.bundle_output_dir = os.path.join (self_dir, 'bundle.darwin')
+
+ self.bundle_from_build = [
+ 'bin/spek',
+ 'lib/pango',
+ 'lib/gtk-2.0/2.10.0/loaders',
+ 'lib/gtk-2.0/2.10.0/engines',
+ 'lib/gtk-2.0/2.10.0/immodules',
+ 'lib/gstreamer-0.10',
+ 'share/spek',
+# 'share/locale',
+ 'share/icons/hicolor/index.theme',
+# 'share/icons/Tango/index.theme',
+ ]
+
+ self.bundle_from_build.extend ([
+ 'share/icons/%s/%sx%s' % (theme, size, size)
+ for size in [16, 22, 32, 48]
+# for theme in ['hicolor', 'Tango']
+ for theme in ['hicolor']
+ ])
+
+SpekDarwinProfile ().build ()
diff --git a/osx/dmg-data/DS_Store b/bockbuild/profiles/spek/skeleton.darwin/.DS_Store
Binary files differ.
diff --git a/osx/Info.plist b/bockbuild/profiles/spek/skeleton.darwin/Contents/Info.plist
diff --git a/bockbuild/profiles/spek/skeleton.darwin/Contents/MacOS/Spek b/bockbuild/profiles/spek/skeleton.darwin/Contents/MacOS/Spek
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+APP_ROOT="$PWD/$(dirname "$0")"
+for ((i=0; i<2; i++)); do APP_ROOT="$(dirname "$APP_ROOT")"; done
+APP_ROOT="${APP_ROOT/\/\/}"
+
+# Bundle directories
+CONTENTS_DIR="$APP_ROOT/Contents"
+RES_DIR="$CONTENTS_DIR/Resources"
+ETC_DIR="$RES_DIR/etc"
+LIB_DIR="$RES_DIR/lib"
+BIN_DIR="$RES_DIR/bin"
+DATA_DIR="$RES_DIR/share"
+
+# Shell environment
+export PATH="/bin:/usr/bin:$BIN_DIR"
+export BUNDLE_BIN_DIR="$BIN_DIR"
+export BUNDLE_LIB_DIR="$LIB_DIR"
+
+# XDG environment
+export XDG_CONFIG_DIRS="$ETC_DIR/xdg"
+export XDG_DATA_DIRS="$DATA_DIR"
+export XDG_CONFIG_HOME="$HOME/.config"
+
+# GTK environment
+export GTK_PATH="$RES_DIR"
+export GTK_EXE_PREFIX="$RES_DIR"
+export GTK_DATA_PREFIX="$RES_DIR"
+export GTK2_RC_FILES="$ETC_DIR/gtk-2.0/gtkrc"
+export GTK_IM_MODULE_FILE="$ETC_DIR/gtk-2.0/gtk.immodules"
+export GDK_PIXBUF_MODULE_FILE="$ETC_DIR/gtk-2.0/gdk-pixbuf.loaders"
+export PANGO_RC_FILE="$ETC_DIR/pango/pangorc"
+
+# Spek/GStreamer environment
+export DYLD_LIBRARY_PATH="$LIB_DIR"
+export GST_PLUGIN_SYSTEM_PATH="$LIB_DIR/gstreamer-0.10"
+export SPEK_CONFIG_DIR="$XDG_CONFIG_HOME/spek"
+SPEK_OPTIONS=""
+SPEK_EXEC_NAME=Spek
+SPEK_BIN="$BIN_DIR/spek"
+
+# FIXME
+# pango.modules sucks - it doesn't like paths with spaces,
+# so even though everything else works fine, we still
+# will explode, so instead I'm just showing this lame dialog.
+if [[ "$APP_ROOT" =~ [[:space:]] ]]; then
+ osascript &>/dev/null <<EOF
+ tell application "System Events"
+ activate
+ display dialog "A space was detected in the path to Spek. Currently this is unsupported.\n\nRename or move Spek.app to a path without spaces.\n\nPath: $APP_ROOT" with title "Error" with icon caution buttons { "OK" } default button 1
+ end tell
+EOF
+ exit 1
+fi
+
+# mkdir -p "$SPEK_CONFIG_DIR"
+
+exec -a $SPEK_EXEC_NAME "$SPEK_BIN"
diff --git a/bockbuild/profiles/spek/skeleton.darwin/Contents/Resources/etc/gtk-2.0/gtkrc b/bockbuild/profiles/spek/skeleton.darwin/Contents/Resources/etc/gtk-2.0/gtkrc
@@ -0,0 +1,325 @@
+# Mac OS X friendly theme
+# Written by Aaron Bockover <abockover@novell.com>
+# Copyright 2010 Novell, Inc.
+# Released under the MIT/X11 license
+
+include "gtkrc.key.mac"
+
+gtk-color-scheme =
+"base_color: #fff
+bg_color: #ededed
+fg_color: #000
+text_color: #000
+selected_bg_color: #7b8ea0
+selected_fg_color: #fff
+tooltip_bg_color: #f7f4b8
+tooltip_fg_color: #000
+"
+gtk-font-name = "Lucida Grande 14"
+gtk-icon-theme-name = "Tango"
+gtk-menu-popup-delay = 1
+gtk-button-images = 0
+gtk-menu-images = 0
+gtk-enable-mnemonics = 0
+
+style "murrine-default" {
+ xthickness = 1
+ ythickness = 1
+
+ GtkCheckButton::indicator-size = 14
+ GtkPaned::handle-size = 6
+
+ GtkButton::child-displacement-x = 0
+ GtkButton::child-displacement-y = 0
+ GtkButton::default-border = { 0, 0, 0, 0 }
+
+ GtkRange::trough-border = 2
+ GtkRange::slider-width = 14
+ GtkRange::stepper-size = 13
+
+ GtkScale::slider-length = 15
+ GtkScale::trough-side-details = 0
+
+ GtkScrollbar::min-slider-length = 35
+ GtkScrollbar::has-forward-stepper = 1
+ GtkScrollbar::has-backward-stepper = 0
+ GtkScrollbar::has-secondary-forward-stepper = 0
+ GtkScrollbar::has-secondary-backward-stepper = 1
+
+ GtkExpander::expander-size = 16
+ GtkToolbar::internal-padding = 0
+ GtkTreeView::expander-size = 14
+ # GtkTreeView::vertical-separator = 0
+
+ GtkMenuBar::internal-padding = 0
+ GtkMenu::horizontal-padding = 0
+ GtkMenu::vertical-padding = 0
+ GtkMenuItem::horizontal-padding = 10
+
+ fg[NORMAL] = @fg_color
+ fg[PRELIGHT] = @fg_color
+ fg[SELECTED] = @selected_fg_color
+ fg[ACTIVE] = @fg_color
+ fg[INSENSITIVE] = darker (@bg_color)
+
+ bg[NORMAL] = @bg_color
+ bg[PRELIGHT] = shade (1.02, @bg_color)
+ bg[SELECTED] = @selected_bg_color
+ bg[INSENSITIVE] = @bg_color
+ bg[ACTIVE] = shade (1.04, @bg_color)
+
+ base[NORMAL] = @base_color
+ base[PRELIGHT] = shade (0.95, @bg_color)
+ base[ACTIVE] = shade (0.92, @selected_bg_color)
+ base[SELECTED] = shade (0.93, @selected_bg_color)
+ base[INSENSITIVE] = @bg_color
+
+ text[NORMAL] = @text_color
+ text[PRELIGHT] = @text_color
+ text[ACTIVE] = @selected_fg_color
+ text[SELECTED] = @selected_fg_color
+ text[INSENSITIVE] = darker (@bg_color)
+
+ engine "murrine" {
+ profile = MURRINE
+
+ contrast = 0.7
+ glazestyle = 3
+ roundness = 3
+ reliefstyle = 2
+ gradients = TRUE
+ gradient_shades = { 1.15, 1.07, 1.02, 0.9 }
+ lightborder_shade = 1.36
+ lightborderstyle = 1
+ highlight_shade = 1.07
+
+ menubarstyle = 0
+ menubaritemstyle = 0
+ menuitemstyle = 0
+ menustyle = 0
+
+ scrollbarstyle = 0
+ stepperstyle = 1
+ toolbarstyle = 2
+ sliderstyle = 0
+
+ listviewheaderstyle = 1
+ listviewstyle = 1
+ }
+}
+
+style "murrine-wide" {
+ xthickness = 2
+ ythickness = 2
+
+ bg[SELECTED] = @selected_bg_color
+}
+
+style "murrine-wider" {
+ xthickness = 3
+ ythickness = 3
+
+ bg[SELECTED] = @selected_bg_color
+}
+
+style "murrine-button" = "murrine-wider" {
+ bg[NORMAL] = shade (1.127, @bg_color)
+ bg[PRELIGHT] = shade (1.15, @bg_color)
+ bg[ACTIVE] = shade (0.90, @bg_color)
+ bg[INSENSITIVE] = shade (1.055, @bg_color)
+
+ engine "murrine" {
+ contrast = 0.925
+ lightborder_shade = 1.7
+ gradient_shades = {1.15,1.07,1.0185,0.885}
+ gradients = TRUE
+ }
+}
+
+style "murrine-scale" = "murrine-button" {
+ GtkRange::slider-width = 14
+ engine "murrine" {
+ roundness = 7
+ }
+}
+
+style "murrine-hscale" { }
+style "murrine-vscale" { }
+
+style "murrine-entry" = "murrine-wider" { }
+
+style "murrine-scrollbar" {
+ engine "murrine" {
+ roundness = 8
+ gradient_shades = { 1.11, 1.07, 1.065, 0.92 }
+ }
+}
+
+style "murrine-hscrollbar" { }
+style "murrine-vscrollbar" { }
+
+style "murrine-progressbar"
+{
+ xthickness = 0
+ ythickness = 0
+
+ fg[PRELIGHT] = lighter (@selected_fg_color)
+ bg[NORMAL] = shade (0.98, @bg_color)
+ bg[SELECTED] = @selected_bg_color
+
+ engine "murrine" {
+ roundness = 1
+ lightborder_shade = 1.36
+ lightborderstyle = 0
+ }
+}
+
+style "murrine-notebook" = "murrine-wider" {
+ bg[ACTIVE] = shade (0.925, @bg_color)
+ bg[NORMAL] = shade (1.135, @bg_color)
+ bg[SELECTED] = @selected_bg_color
+ fg[ACTIVE] = shade (0.5, @bg_color)
+
+ engine "murrine" {
+ contrast = 0.95
+ }
+}
+
+style "murrine-menu" {
+ xthickness = 0
+ ythickness = 0
+
+ bg[NORMAL] = shade (1.15, @bg_color)
+
+ engine "murrine" {
+ roundness = 0
+ glazestyle = 0
+ highlight_shade = 1.0
+ }
+}
+
+style "murrine-menu-item" {
+ xthickness = 0
+ ythickness = 3
+
+ fg[PRELIGHT] = @selected_fg_color
+ bg[SELECTED] = shade (0.98, @selected_bg_color)
+
+ engine "murrine" {
+ roundness = 0
+ gradient_shades = { 1.07, 1.05, 1.04, 1.01 }
+ highlight_shade = 1.0
+ gradients = TRUE
+ glow_shade = 1.3
+ glowstyle = 0
+ contrast = 0.8
+ }
+}
+
+style "murrine-separator-menu-item" { }
+
+style "murrine-treeview" {
+ bg[SELECTED] = @selected_bg_color
+}
+
+style "murrine-treeview-header" = "murrine-default" {
+ bg[NORMAL] = shade (1.08, @bg_color)
+ bg[PRELIGHT] = shade (1.11, @bg_color)
+ bg[ACTIVE] = shade (0.92, @bg_color)
+ bg[INSENSITIVE] = shade (1.04, @bg_color)
+}
+
+style "murrine-frame-title" {
+ fg[NORMAL] = lighter (@fg_color)
+}
+
+style "murrine-tooltips" = "murrine-wider" {
+ bg[NORMAL] = @tooltip_bg_color
+ fg[NORMAL] = @tooltip_fg_color
+}
+
+style "murrine-toolbar" {
+ engine "murrine" {
+ gradient_shades = { 1.0, 0.98, 0.96, 0.928 }
+ gradients = TRUE
+ highlight_shade = 1.00
+ contrast = 0.96
+ }
+}
+
+style "murrine-statusbar" { }
+style "murrine-comboboxentry" { }
+style "murrine-spinbutton" { }
+
+style "murrine-radiocheck" = "murrine-default" {
+ text[NORMAL] = "#FFFFFF"
+ text[PRELIGHT] = "#FFFFFF"
+}
+
+style "smaller-text" {
+ font_name = "7"
+}
+
+style "handle" {
+ bg[NORMAL] = "#232323"
+}
+
+class "GtkRadio*" style "murrine-radiocheck"
+class "GtkCheck*" style "murrine-radiocheck"
+
+class "GtkWidget" style "murrine-default"
+
+class "GtkToolbar" style "murrine-toolbar"
+class "GtkRange" style "murrine-wide"
+class "GtkFrame" style "murrine-wide"
+class "GtkSeparator" style "murrine-wide"
+class "GtkEntry" style "murrine-entry"
+
+class "GtkSpinButton" style "murrine-spinbutton"
+class "GtkScale" style "murrine-scale"
+class "GtkVScale" style "murrine-vscale"
+class "GtkHScale" style "murrine-hscale"
+class "GtkScrollbar" style "murrine-scrollbar"
+class "GtkVScrollbar" style "murrine-vscrollbar"
+class "GtkHScrollbar" style "murrine-hscrollbar"
+
+widget_class "*<GtkNotebook>*<GtkEventBox>" style "murrine-notebook"
+widget_class "*<GtkNotebook>*<GtkDrawingArea>" style "murrine-notebook"
+widget_class "*<GtkNotebook>*<GtkLayout>" style "murrine-notebook"
+widget_class "*<GtkNotebook>*<GtkLabel>" style "murrine-notebook"
+
+widget_class "*<GtkButton>" style "murrine-button"
+widget_class "*<GtkNotebook>" style "murrine-notebook"
+widget_class "*<GtkStatusbar>*" style "murrine-statusbar"
+
+widget_class "*<GtkComboBoxEntry>*" style "murrine-comboboxentry"
+widget_class "*<GtkCombo>*" style "murrine-comboboxentry"
+
+widget_class "*<GtkMenu>*" style "murrine-menu"
+widget_class "*<GtkMenuItem>*" style "murrine-menu-item"
+widget_class "*<GtkSeparatorMenuItem>*" style "murrine-separator-menu-item"
+
+widget_class "*.<GtkFrame>.<GtkLabel>" style "murrine-frame-title"
+widget_class "*.<GtkTreeView>*" style "murrine-treeview"
+
+widget_class "*<GtkProgressBar>" style "murrine-progressbar"
+
+widget_class "*.<GtkTreeView>.<GtkButton>" style "murrine-treeview-header"
+widget_class "*.<GtkCTree>.<GtkButton>" style "murrine-treeview-header"
+widget_class "*.<GtkList>.<GtkButton>" style "murrine-treeview-header"
+widget_class "*.<GtkCList>.<GtkButton>" style "murrine-treeview-header"
+
+widget_class "*ToolButton*" style "smaller-text"
+widget_class "*Statusbar*" style "smaller-text"
+
+widget "gtk-tooltip*" style "murrine-tooltips"
+
+style "murrine-menuitem-text-is-fg-color-workaround" {
+ text[NORMAL] = @fg_color
+ text[PRELIGHT] = @selected_fg_color
+ text[SELECTED] = @selected_fg_color
+ text[ACTIVE] = @fg_color
+ text[INSENSITIVE] = darker (@bg_color)
+}
+
+widget "*.gtk-combobox-popup-menu.*" style "murrine-menuitem-text-is-fg-color-workaround"
diff --git a/bundle.sh b/bundle.sh
@@ -0,0 +1,90 @@
+#!/bin/sh
+
+# This script creates a Mac OS X app bundle and a DMG image from it using bockbuild.
+# The bockbuild package should already be installed in ../../bockbuild
+
+# TODO: create these packages for GStreamer:
+# BAD: orc, schroedinger, faad2, libdca, libmodplug, libmpcdec, xvid
+# UGLY: a52dec, libid3tag, libmad, libmpeg2
+
+# TODO:
+# - DS_Store
+# - gtkrc tune up
+# - ffmpeg and deps above
+# - credit bockbuild
+
+pushd $(dirname $0)
+
+case "$(uname)" in
+ Darwin) profile_name=darwin ;;
+ *)
+ echo "Unsupported system type: $(uname)"
+ exit 1
+ ;;
+esac
+
+# Copy Spek packages to bockbuild
+cp -prv bockbuild ..
+
+# Build Spek and all its dependencies
+pushd ../bockbuild/profiles/spek
+./profile."$profile_name".py -bvr
+
+# Build Solitary
+pushd ../../solitary
+make
+popd
+
+# Bundle
+./profile."$profile_name".py -z
+
+# Make DMG image
+cd bundle."$profile_name"
+VOLUME_NAME=Spek
+DMG_APP=Spek.app
+DMG_FILE=$VOLUME_NAME.dmg
+MOUNT_POINT=$VOLUME_NAME.mounted
+
+rm -f $DMG_FILE
+rm -f $DMG_FILE.master
+
+# Compute an approximated image size in MB, and bloat by 1MB
+image_size=$(du -ck $DMG_APP | tail -n1 | cut -f1)
+image_size=$((($image_size + 5000) / 1000))
+
+echo "Creating disk image (${image_size}MB)..."
+hdiutil create $DMG_FILE -megabytes $image_size -volname $VOLUME_NAME -fs HFS+ -quiet || exit $?
+
+echo "Attaching to disk image..."
+hdiutil attach $DMG_FILE -readwrite -noautoopen -mountpoint $MOUNT_POINT -quiet
+
+echo "Populating image..."
+
+cp -Rp $DMG_APP $MOUNT_POINT
+
+find $MOUNT_POINT -type d -iregex '.*\.svn$' &>/dev/null | xargs rm -rf
+
+pushd $MOUNT_POINT &>/dev/null
+ln -s /Applications " "
+popd &>/dev/null
+
+echo "Detaching from disk image..."
+hdiutil detach $MOUNT_POINT -quiet
+
+mv $DMG_FILE $DMG_FILE.master
+
+echo "Creating distributable image..."
+hdiutil convert -quiet -format UDBZ -o $DMG_FILE $DMG_FILE.master
+
+#echo "Installing end user license agreement..."
+#hdiutil flatten -quiet $DMG_FILE
+#/Developer/Tools/Rez /Developer/Headers/FlatCarbon/*.r dmg-data/license.r -a -o $DMG_FILE
+#hdiutil unflatten -quiet $DMG_FILE
+
+echo "Done."
+
+if [ ! "x$1" = "x-m" ]; then
+ rm $DMG_FILE.master
+fi
+
+popd &>/dev/null
diff --git a/osx/bundle.sh b/osx/bundle.sh
@@ -1,98 +0,0 @@
-#!/bin/sh
-
-# This script creates a Mac OS X app bundle and a DMG image from it
-# using jhbuild/ige-mac-bundler. JHBuild scripts from the GTK-OSX
-# project should be installed and properly configured.
-#
-# Also, the script assumes that all dependencies have already been built,
-# including all (not so optional) GStreamer dependencies. GStreamer plugins
-# will happily compile even if essential components such as libmad, libvorbis,
-# flac, etc are missing. Make sure you have everything that you need installed.
-#
-# Example build sequence:
-#
-# $ jhbuild bootstrap
-# $ jhbuild build
-#
-# Download GStreamer dependencies:
-# BASE: libogg, libvorbis, libtheora
-# GOOD: speex, flac, taglib, wavpack
-# BAD: orc, schroedinger, faad2, libdca, libmodplug, libmpcdec, xvid
-# UGLY: a52dec, libid3tag, libmad, libmpeg2
-#
-# Install each one with:
-#
-# $ jhbuild shell
-# $ ./configure --prefix=$PREFIX && make && make install
-# $ exit
-#
-# Install GStreamer:
-#
-# $ jhbuild build meta-gstreamer
-# $ jhbuild build gst-plugins-ugly
-#
-# IMPORTANT: the script must be run from the `jhbuild shell` environment.
-
-pushd $(dirname $0)/..
-
-# Build Spek
-./configure --prefix=$PREFIX && make && make install
-
-# Bundle
-cd osx
-ige-mac-bundler spek.bundle
-
-# Make DMG image
-#./make-dmg.sh spek 0.4 spek.app
-VOLUME_NAME=Spek
-DMG_APP=Spek.app
-DMG_FILE=$VOLUME_NAME.dmg
-MOUNT_POINT=$VOLUME_NAME.mounted
-
-rm -f $DMG_FILE
-rm -f $DMG_FILE.master
-
-# Compute an approximated image size in MB, and bloat by 1MB
-image_size=$(du -ck $DMG_APP dmg-data | tail -n1 | cut -f1)
-image_size=$((($image_size + 5000) / 1000))
-
-echo "Creating disk image (${image_size}MB)..."
-hdiutil create $DMG_FILE -megabytes $image_size -volname $VOLUME_NAME -fs HFS+ -quiet || exit $?
-
-echo "Attaching to disk image..."
-hdiutil attach $DMG_FILE -readwrite -noautoopen -mountpoint $MOUNT_POINT -quiet
-
-echo "Populating image..."
-
-cp -Rp $DMG_APP $MOUNT_POINT
-
-find $MOUNT_POINT -type d -iregex '.*\.svn$' &>/dev/null | xargs rm -rf
-
-pushd $MOUNT_POINT &>/dev/null
-ln -s /Applications " "
-popd &>/dev/null
-
-#mkdir $MOUNT_POINT/.background
-#cp dmg-data/background.png $MOUNT_POINT/.background
-cp dmg-data/DS_Store $MOUNT_POINT/.DS_Store
-
-echo "Detaching from disk image..."
-hdiutil detach $MOUNT_POINT -quiet
-
-mv $DMG_FILE $DMG_FILE.master
-
-echo "Creating distributable image..."
-hdiutil convert -quiet -format UDBZ -o $DMG_FILE $DMG_FILE.master
-
-#echo "Installing end user license agreement..."
-#hdiutil flatten -quiet $DMG_FILE
-#/Developer/Tools/Rez /Developer/Headers/FlatCarbon/*.r dmg-data/license.r -a -o $DMG_FILE
-#hdiutil unflatten -quiet $DMG_FILE
-
-echo "Done."
-
-if [ ! "x$1" = "x-m" ]; then
- rm $DMG_FILE.master
-fi
-
-popd &>/dev/null
-\ No newline at end of file
diff --git a/osx/gtkrc b/osx/gtkrc
@@ -1,2 +0,0 @@
-gtk-icon-theme-name = "Tango"
-gtk-enable-mnemonics = 0
diff --git a/osx/launcher.sh b/osx/launcher.sh
@@ -1,130 +0,0 @@
-#!/bin/sh
-
-if test "x$IGE_DEBUG_LAUNCHER" != x; then
- set -x
-fi
-
-if test "x$IGE_DEBUG_GDB" != x; then
- EXEC="gdb --args"
-else
- EXEC=exec
-fi
-
-name="`basename $0`"
-tmp="`pwd`/$0"
-tmp=`dirname "$tmp"`
-tmp=`dirname "$tmp"`
-bundle=`dirname "$tmp"`
-bundle_contents="$bundle"/Contents
-bundle_res="$bundle_contents"/Resources
-bundle_lib="$bundle_res"/lib
-bundle_bin="$bundle_res"/bin
-bundle_data="$bundle_res"/share
-bundle_etc="$bundle_res"/etc
-
-export DYLD_LIBRARY_PATH="$bundle_lib"
-export XDG_CONFIG_DIRS="$bundle_etc"/xdg
-export XDG_DATA_DIRS="$bundle_data"
-export GTK_DATA_PREFIX="$bundle_res"
-export GTK_EXE_PREFIX="$bundle_res"
-export GTK_PATH="$bundle_res"
-export GST_PLUGIN_PATH="$bundle_lib"/gstreamer-0.10
-
-export GTK2_RC_FILES="$bundle_etc/gtk-2.0/gtkrc"
-export GTK_IM_MODULE_FILE="$bundle_etc/gtk-2.0/gtk.immodules"
-export GDK_PIXBUF_MODULE_FILE="$bundle_etc/gtk-2.0/gdk-pixbuf.loaders"
-export PANGO_RC_FILE="$bundle_etc/pango/pangorc"
-
-# Set the locale-related variables appropriately:
-unset LANG LC_MESSAGES LC_MONETARY
-
-# Start by trying the Collation preference, in case it's the only setting that exists.
-APPLECOLLATION=`defaults read .GlobalPreferences AppleCollationOrder`
-if test "${APPLECOLLATION}"; then
- COLL=`ls -d /usr/share/locale/${APPLECOLLATION}*.UTF-8 2>> /dev/null`
- if test "${COLL}"; then
- # $COLL is potentially multi-line; concatenate lines by not using quotes.
- export LANG=`echo ${COLL} | awk '{print $1}' | awk -F/ '{print $5}'`
- fi
-fi
-unset APPLECOLLATION COLL
-
-# Continue by attempting to find the Locale preference.
-APPLELOCALE=`defaults read .GlobalPreferences AppleLocale`
-if test "${APPLELOCALE}"; then
- LOCALELANG=`echo "${APPLELOCALE}" | awk -F@ '{print $1".UTF-8"}'`
- if test -d "/usr/share/locale/${LOCALELANG}"; then
- export LANG="${LOCALELANG}"
- fi
-fi
-unset LOCALELANG
-
-# If there is still no locale value, then set US English as a default.
-if test -z "${LANG}"; then
- export LANG=en_US.UTF-8
-fi
-
-# The AppleLocale setting may contain a currency-related substring.
-# Attempt to act on it.
-# First strip the string to just the currency symbol and the language symbol
-APPLECURRENCY=`echo "${APPLELOCALE}" | awk -F= '{print $2}'`
-APPLELANG=`echo "${APPLELOCALE}" | awk -F_ '{print $1}'`
-if test "${APPLECURRENCY}"; then
- # The user has set a currency different from that of their locale.
- # Search for a locale that uses that currency, and set LC_MONETARY accordingly.
-
- # First try to find an LC_MONETARY file that combines the language with the currency.
- FILES=`find /usr/share/locale/${APPLELANG}*UTF-8 -name LC_MONETARY -exec grep -H $APPLECURRENCY {} \;`
- if test -z "$FILES"; then
- # Otherwise try to find any LC_MONETARY file that uses that currency.
- FILES=`find /usr/share/locale/*UTF-8 -name LC_MONETARY -exec grep -H $APPLECURRENCY {} \;`
- fi
-
- if test "$FILES"; then
- # We found a locale that matches; set LC_MONETARY.
- export LC_MONETARY=`echo ${FILES} | awk -F: '{print $1}' | awk -F/ '{print $5}'`
- fi
-fi
-unset APPLECURRENCY APPLELANG APPLELOCALE FILES
-
-# Has a language ordering been set?
-# If so, set LC_MESSAGES accordingly; otherwise skip it.
-APPLELANGUAGES=`defaults read .GlobalPreferences AppleLanguages | awk 'length > 2' | awk -F, '{print $1}' | sed s/\ //g | sed s/-/_/ | sed s/\"//g`
-if test "$APPLELANGUAGES"; then
- # A language ordering exists.
- # Test, item per item, to see whether there is an corresponding locale.
- for L in $APPLELANGUAGES
- do
- POS=`echo ${L} | awk '{print index(ENVIRON["LANG"], $0)}'`
- if test $POS -eq 1; then
- # The language symbol is a subset of the $LANG variable. We're done!
- break
- fi
- # NOTE: the following may fail for the alternate Chinese localizations.
- LC=`ls -d /usr/share/locale/${L}*.UTF-8 2>> /dev/null`
- # $LC is potentially multi-line; concatenate lines by not using quotes.
- if test $LC; then
- # There is a UTF-8 locale matching this language.
- export LC_MESSAGES=`echo ${LC} | awk '{print $1}' | awk -F/ '{print $5}'`
- break
- fi
- done
-fi
-unset APPLELANGUAGES POS LC L
-
-if test -f "$bundle_lib/charset.alias"; then
- export CHARSETALIASDIR="$bundle_lib"
-fi
-
-# Extra arguments can be added in environment.sh.
-EXTRA_ARGS=
-if test -f "$bundle_res/environment.sh"; then
- source "$bundle_res/environment.sh"
-fi
-
-# Strip out the argument added by the OS.
-if [ x`echo "x$1" | sed -e "s/^x-psn_.*//"` == x ]; then
- shift 1
-fi
-
-$EXEC "$bundle_contents/MacOS/$name-bin" $* $EXTRA_ARGS
diff --git a/osx/spek.bundle b/osx/spek.bundle
@@ -1,50 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<app-bundle>
-
- <meta>
- <prefix name="default">${env:JHBUILD_PREFIX}</prefix>
-
- <destination overwrite="yes">${project}</destination>
-
- <image>
- <!-- Not implemented yet (DMG image). -->
- </image>
-
- <!-- Comment this out to keep the install names in binaries -->
- <run-install-name-tool/>
-
- <launcher-script>${project}/launcher.sh</launcher-script >
-
- </meta>
-
- <plist>${project}/Info.plist</plist>
-
- <main-binary>${prefix}/bin/spek</main-binary>
-
- <binary>${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/engines/*.so</binary>
- <binary>${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/immodules/*.so</binary>
- <binary>${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/loaders/*.so</binary>
- <binary>${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/printbackends/*.so</binary>
- <binary>${prefix}/lib/gstreamer-0.10/*.so</binary>
-
- <!-- Translation filenames, one for each program or library that you
- want to copy in to the bundle. The "dest" attribute is
- optional, as usual. Bundler will find all translations of that
- library/program under the indicated directory and copy them.-->
- <translations dest="${bundle}/Contents/Resources" name="gtk20">
- ${prefix}/share/locale
- </translations>
-
- <data>${prefix}/share/themes</data>
-
- <!-- Copy icons. Note that the .icns file is an Apple format which
- contains up to 4 sizes of icon. You can use
- /Developer/Applications/Utilities/Icon Composer.app to import
- artwork and create the file. >
- <data dest="${bundle}/Contents/Resources">
- ${project}/Spek.icns
- </data -->
-
- <data dest="${bundle}/Contents/Resources/etc/gtk-2.0/gtkrc">${project}/gtkrc</data>
-
-</app-bundle>