audio/Songbird: Updated for version 1.1.2_1042

This commit is contained in:
Michiel van Wessem 2010-05-12 17:36:45 +02:00 committed by David Somero
parent 60b709b7af
commit 6d13b6404a
6 changed files with 129 additions and 18 deletions

View File

@ -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.

View File

@ -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 {} \;
( cd $PKG/usr/bin/ ; ln -sf /usr/lib/$PRGNAM/songbird . )
# 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
# 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

View File

@ -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"

View File

@ -1,3 +1,4 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications
fi

View File

@ -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

View File

@ -0,0 +1,5 @@
#!/bin/bash
( cd /usr/lib/Songbird
./songbird "$@"
)