diff options
author | Michiel van Wessem <michiel@slackbuilds.org> | 2010-05-12 17:36:45 +0200 |
---|---|---|
committer | David Somero <xgizzmo@slackbuilds.org> | 2010-05-12 17:36:45 +0200 |
commit | 6d13b6404af6e485ae53accef7dda8947ade286c (patch) | |
tree | b71c9586b80bfcc852b6a1a0f396cfd58d79e47b | |
parent | 60b709b7af5d2c7f6d9bdad1a2b9193e7d4b134b (diff) | |
download | slackbuilds-6d13b6404af6e485ae53accef7dda8947ade286c.tar.gz |
audio/Songbird: Updated for version 1.1.2_1042
-rw-r--r-- | audio/Songbird/README | 8 | ||||
-rw-r--r-- | audio/Songbird/Songbird.SlackBuild | 52 | ||||
-rw-r--r-- | audio/Songbird/Songbird.info | 8 | ||||
-rw-r--r-- | audio/Songbird/doinst.sh | 1 | ||||
-rw-r--r-- | audio/Songbird/no.gconf.patch | 73 | ||||
-rw-r--r-- | audio/Songbird/wrapper.songbird | 5 |
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 "$@" +) |