mirror of
https://github.com/alexkay/spek.git
synced 2025-04-22 11:20:31 +03:00
[osx] Installer fixes
This commit is contained in:
parent
8eb05be739
commit
eec648b619
@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Spek</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>0.4, (C) 2010 Alexander Kojevnikov</string>
|
||||
<string>Spek 0.4</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Spek.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
@ -23,7 +23,7 @@
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.4</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright 2010 Alexander Kojevnikov, GNU General Public License.</string>
|
||||
<string>Copyright (c) 2010 Alexander Kojevnikov</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.4</string>
|
||||
</dict>
|
||||
|
98
osx/bundle.sh
Executable file
98
osx/bundle.sh
Executable file
@ -0,0 +1,98 @@
|
||||
#!/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
|
BIN
osx/dmg-data/DS_Store
Normal file
BIN
osx/dmg-data/DS_Store
Normal file
Binary file not shown.
@ -28,6 +28,7 @@ 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"
|
||||
|
@ -4,7 +4,7 @@
|
||||
<meta>
|
||||
<prefix name="default">${env:JHBUILD_PREFIX}</prefix>
|
||||
|
||||
<destination overwrite="yes">${env:HOME}/Desktop</destination>
|
||||
<destination overwrite="yes">${project}</destination>
|
||||
|
||||
<image>
|
||||
<!-- Not implemented yet (DMG image). -->
|
||||
@ -21,20 +21,11 @@
|
||||
|
||||
<main-binary>${prefix}/bin/spek</main-binary>
|
||||
|
||||
<!-- Copy in GTK+ modules. Note the use of the
|
||||
"${pkg:module:variable}" macro, which evaluates to a pkg-config
|
||||
variable in the specified module. Note that any libraries that
|
||||
binaries link to are also copied in automatically.
|
||||
-->
|
||||
<binary>
|
||||
${prefix}/lib/gtk-2.0/${pkg:gtk+-2.0:gtk_binary_version}/loaders/*.so
|
||||
</binary>
|
||||
|
||||
<!-- Copy in GTK+ theme engines. Dunno why this is a dupe of
|
||||
modules, but that's why it's commented out. >
|
||||
<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}/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
|
||||
@ -44,21 +35,7 @@
|
||||
${prefix}/share/locale
|
||||
</translations>
|
||||
|
||||
<!-- Data to copy in, usually Glade/UI files, images, sounds files
|
||||
etc. The destination inside the bundle can be specified if the
|
||||
files should end up at a different location, by using the
|
||||
"dest" property. The destination must then start with the macro
|
||||
"${bundle}", which refers to the bundle root directory.
|
||||
-->
|
||||
<!-- data>
|
||||
${prefix}/share/giggle
|
||||
</data -->
|
||||
|
||||
<!-- Copy in the themes data. You may want to trim this to save space
|
||||
in your bundle. -->
|
||||
<data>
|
||||
${prefix}/share/themes
|
||||
</data>
|
||||
<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
|
||||
@ -68,21 +45,6 @@
|
||||
${project}/Spek.icns
|
||||
</data -->
|
||||
|
||||
<data dest="${bundle}/Contents/Resources/etc/gtk-2.0/gtkrc">
|
||||
${project}/gtkrc
|
||||
</data>
|
||||
|
||||
<!-- Icon themes to copy. The "icons" property can be either of
|
||||
"auto", "all", or "none". All or none should be
|
||||
self-explanatory, while auto means that the script will try to
|
||||
figure out which icons are needed. This is done by getting all
|
||||
the strings from all copied binaries, and matching them against
|
||||
icon names. To be safe, you should use "all". "none" is useful
|
||||
if you want just the index.theme file but no icons, mostly
|
||||
needed for the "hicolor" base theme.
|
||||
>
|
||||
<icon-theme icons="auto">
|
||||
Tango
|
||||
</icon-theme -->
|
||||
<data dest="${bundle}/Contents/Resources/etc/gtk-2.0/gtkrc">${project}/gtkrc</data>
|
||||
|
||||
</app-bundle>
|
||||
|
Loading…
x
Reference in New Issue
Block a user