summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichiel van Wessem <michiel@slackbuilds.org>2010-05-12 17:36:45 +0200
committerDavid Somero <xgizzmo@slackbuilds.org>2010-05-12 17:36:45 +0200
commit6d13b6404af6e485ae53accef7dda8947ade286c (patch)
treeb71c9586b80bfcc852b6a1a0f396cfd58d79e47b
parent60b709b7af5d2c7f6d9bdad1a2b9193e7d4b134b (diff)
downloadslackbuilds-6d13b6404af6e485ae53accef7dda8947ade286c.tar.gz
audio/Songbird: Updated for version 1.1.2_1042
-rw-r--r--audio/Songbird/README8
-rw-r--r--audio/Songbird/Songbird.SlackBuild52
-rw-r--r--audio/Songbird/Songbird.info8
-rw-r--r--audio/Songbird/doinst.sh1
-rw-r--r--audio/Songbird/no.gconf.patch73
-rw-r--r--audio/Songbird/wrapper.songbird5
6 files changed, 129 insertions, 18 deletions
diff --git a/audio/Songbird/README b/audio/Songbird/README
index 5d4df44480..ac0a2a8f32 100644
--- a/audio/Songbird/README
+++ b/audio/Songbird/README
@@ -16,7 +16,9 @@ Note: if songbird has problems reloading the media library after
upgrading, or refuses to scan for media, backup and delete both
~/.songbird2 and ~/.gstreamer-10 directories.
-Songbird requires the following dependencies: gstreamer, liboil,
-gst-plugins-base, gst-plugins-good, gst-plugins-bad,gst-plugins-ugly.
-The build scripts for all these are available at SlackBuilds.org.
+Songbird is patched to not require GConf. If you want to use GConf, supply
+GCONF=yes on the commandline. (eg GCONF=yes ./Songbird.SlackBuild)
+
+Songbird requires gst-plugins-good, gst-plugins-bad, and gst-plugins-ugly.
+The build scripts for all of these are available at SlackBuilds.org.
diff --git a/audio/Songbird/Songbird.SlackBuild b/audio/Songbird/Songbird.SlackBuild
index 6471a971d9..5d2f14ba27 100644
--- a/audio/Songbird/Songbird.SlackBuild
+++ b/audio/Songbird/Songbird.SlackBuild
@@ -1,6 +1,7 @@
#!/bin/sh
# Slackware build script for songbird
+
# Copyright 2007-2008 Michiel van Wessem, Manchester, United Kingdom
# All rights reserved.
#
@@ -24,7 +25,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=Songbird
-VERSION=0.7.0
+VERSION=1.1.2_1042
ARCH=i686 # Leave this Alone. Precompiled binary
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -34,32 +35,61 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
+SRC_VERSION=$(echo $VERSION | tr _ -)
+PLUGINS=${PLUGINS:-YES}
+GCONF=${GCONF:-NO}
+
set -e # Exit on most errors
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-# set up the target enviroment and extract Songbird in there
+cd $PKG
+# Set up the target enviroment and extract Songbird in there
mkdir -p $PKG/usr/{bin,lib}
-tar xzf $CWD/${PRGNAM}_${VERSION}_linux-${ARCH}.tar.gz -C $PKG/usr/lib
+tar -xvf $CWD/${PRGNAM}_${SRC_VERSION}_linux-$ARCH.tar.gz -C $PKG/usr/lib
chown -R root:root .
+# Added "-o -perm 700" to this to take care of the borked directory permissions
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 700 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
+ -exec chmod 644 {} \;
+
+# Since with version 1.0.0 the symlink solution seems to break Songbird,
+# we're installing a small wrapper script.
+install -m 0755 $CWD/wrapper.songbird $PKG/usr/bin/songbird
+
+# For some reason Songbird doesn't want to the see the plugins in
+# /usr/lib/mozilla/plugins. This is reported to upstream under
+# bug http://bugzilla.songbirdnest.com/show_bug.cgi?id=13984
+if [ $PLUGINS = "YES" ]; then
+ mkdir -p $PKG/usr/lib/mozilla/plugins
+ ( cd $PKG/usr/lib/$PRGNAM/
+ rmdir plugins
+ ln -sf ../mozilla/plugins
+ )
+fi
-( cd $PKG/usr/bin/ ; ln -sf /usr/lib/$PRGNAM/songbird . )
+# This fixes a problem related to a lack of gconf. Thanks to Joshua Wood
+# for findg a solution for this.
+if [ $GCONF = "NO" ]; then
+ ( cd $PKG/usr/lib/Songbird/chrome/
+ /usr/bin/unzip songbird.jar
+ patch -p3 content/songbird/scripts/appInit.js < $CWD/no.gconf.patch
+ /usr/bin/zip -uv songbird.jar content/songbird/scripts/appInit.js
+ rm -rf content skin
+ )
+fi
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-( cd $PKG/usr/lib/$PRGNAM
- mv LICENSE.html README.txt TRADEMARK.txt $PKG/usr/doc/$PRGNAM-$VERSION
-)
+cd $PKG/usr/lib/$PRGNAM
+mv LICENSE.html README.txt TRADEMARK.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/usr/share/{applications,pixmaps}
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
-cp $PKG/usr/lib/$PRGNAM/chrome/icons/default/default.xpm $PKG/usr/share/pixmaps/$PRGNAM.xpm
+cp $PKG/usr/lib/$PRGNAM/chrome/icons/default/default.xpm \
+ $PKG/usr/share/pixmaps/$PRGNAM.xpm
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/audio/Songbird/Songbird.info b/audio/Songbird/Songbird.info
index 971eae009c..a764f036f7 100644
--- a/audio/Songbird/Songbird.info
+++ b/audio/Songbird/Songbird.info
@@ -1,8 +1,8 @@
PRGNAM="Songbird"
-VERSION="0.7.0"
+VERSION="1.1.2_1042"
HOMEPAGE="http://www.songbirdnest.com"
-DOWNLOAD="http://download.songbirdnest.com/installer/linux/i686/Songbird_0.7.0_linux-i686.tar.gz"
-MD5SUM="7973e486c52749076ae718ab09f81429"
+DOWNLOAD="http://s3.amazonaws.com/download.songbirdnest.com/installer/linux/i686/Songbird_1.1.2-1042_linux-i686.tar.gz"
+MD5SUM="ed56a9e3408c2d70c16417c6c2d726ca"
MAINTAINER="Michiel van Wessem"
EMAIL="michiel@slackbuilds.org"
-APPROVED="Erik Hanson"
+APPROVED="dsomero"
diff --git a/audio/Songbird/doinst.sh b/audio/Songbird/doinst.sh
index 140e332222..392c12adb9 100644
--- a/audio/Songbird/doinst.sh
+++ b/audio/Songbird/doinst.sh
@@ -1,3 +1,4 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications
fi
+
diff --git a/audio/Songbird/no.gconf.patch b/audio/Songbird/no.gconf.patch
new file mode 100644
index 0000000000..215f1730a7
--- /dev/null
+++ b/audio/Songbird/no.gconf.patch
@@ -0,0 +1,73 @@
+ app/content/scripts/appInit.js | 12 ++++++++++--
+ 1 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git app/content/scripts/appInit.js app/content/scripts/appInit.js
+index 516c815..c982363 100644
+--- app/content/scripts/appInit.js
++++ app/content/scripts/appInit.js
+@@ -155,26 +155,30 @@ function SBAppInitialize()
+ // On Windows and Linux, register the songbird:// protocol.
+ // (Mac is in the info.plist)
+ var platform = Components.classes["@mozilla.org/system-info;1"]
+ .getService(Components.interfaces.nsIPropertyBag2)
+ .getProperty("name");
+ if (platform == "Windows_NT") {
+ SBRegisterWindowsSongbirdProtocol();
+ }
+- else if (platform == "Linux") {
++ else {
+ SBRegisterGConfSongbirdProtocol();
+ }
+ }
+ catch( err ) {
+ alert( "SBAppInitialize:SBRegisterSongbirdProtocol()\n" + err );
+ }
+ }
+
+ function SBRegisterWindowsSongbirdProtocol() {
++ if (!("@mozilla.org/windows-registry-key;1" in Components.classes)) {
++ // no windows registry key, probably not Windows
++ return;
++ }
+ var path = Components.classes["@mozilla.org/file/directory_service;1"]
+ .getService(Components.interfaces.nsIProperties)
+ .get("CurProcD", Components.interfaces.nsIFile);
+ var file = path.clone();
+ // It'd be nice if there were a way to look this up.
+ // (mook suggests) ::GetModuleFileNameW().
+ // http://mxr.mozilla.org/seamonkey/source/browser/components/shell/src/nsWindowsShellService.cpp#264
+ file.append("songbird.exe");
+@@ -199,24 +203,28 @@ function SBRegisterWindowsSongbirdProtocol() {
+ wrk.create(wrk.ROOT_KEY_CURRENT_USER,
+ "Software\\Classes\\songbird\\shell\\open\\command",
+ wrk.ACCESS_WRITE);
+ wrk.writeStringValue("", '"' + file.path + '" "%1"');
+ wrk.close();
+ }
+
+ function SBRegisterGConfSongbirdProtocol() {
++ if (!("@mozilla.org/gnome-gconf-service;1" in Components.classes)) {
++ // gnome-gconf-service doesn't exist
++ return;
++ }
+ var path = Components.classes["@mozilla.org/file/directory_service;1"]
+ .getService(Components.interfaces.nsIProperties)
+ .get("CurProcD", Components.interfaces.nsIFile);
+ var file = path.clone();
+ file.append("songbird");
+
+ var gconf = Components.classes["@mozilla.org/gnome-gconf-service;1"]
+- .getService(Components.interfaces.nsIGConfService);
++ .getService(Components.interfaces.nsIGConfService);
+ gconf.setString("/desktop/gnome/url-handlers/songbird/command", '"' + file.path + '" "%s"');
+ gconf.setBool("/desktop/gnome/url-handlers/songbird/enabled", true);
+ gconf.setBool("/desktop/gnome/url-handlers/songbird/needs_terminal", false);
+ }
+
+ //
+ // Called on window-unload of songbird.xul.
+ //
+--
+1.5.5.1015.g9d258
+
+
diff --git a/audio/Songbird/wrapper.songbird b/audio/Songbird/wrapper.songbird
new file mode 100644
index 0000000000..83b1d47db7
--- /dev/null
+++ b/audio/Songbird/wrapper.songbird
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+( cd /usr/lib/Songbird
+ ./songbird "$@"
+)