summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>2010-07-11 01:54:44 +0000
committerJorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>2010-07-11 01:54:44 +0000
commit12d7c929c79569c0a585e24b8656c022a8cd10d3 (patch)
tree838f44434df751d8278abddc24c331b605a87a58 /media-sound/amarok
parentbuild against gtk+-2.20 with sed patch from Egor Y. Egorov (bug #324221) (diff)
downloadgentoo-2-12d7c929c79569c0a585e24b8656c022a8cd10d3.tar.gz
gentoo-2-12d7c929c79569c0a585e24b8656c022a8cd10d3.tar.bz2
gentoo-2-12d7c929c79569c0a585e24b8656c022a8cd10d3.zip
Added missing deps for dev-util/automoc and dev-util/pkgconfig. Thanks to Nikoli <nikoli@lavabit.com> - fixes bug 324883.
Added a patch to fix the missing tray icon in non-KDE environments. Thanks to Rex Dieter for the heads up in the amarok-packagers ml and Kevin Funk for the patch - fixes bug 325371. Fixed the available linguas list. Thanks to MarisN <maris.gis@gmail.com> - fixes bug 326147. (Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'media-sound/amarok')
-rw-r--r--media-sound/amarok/ChangeLog14
-rw-r--r--media-sound/amarok/amarok-2.3.1-r2.ebuild155
-rw-r--r--media-sound/amarok/files/amarok-2.3.1-fix-trayicon.patch260
3 files changed, 428 insertions, 1 deletions
diff --git a/media-sound/amarok/ChangeLog b/media-sound/amarok/ChangeLog
index 8177e41046d0..72227800c162 100644
--- a/media-sound/amarok/ChangeLog
+++ b/media-sound/amarok/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for media-sound/amarok
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/amarok/ChangeLog,v 1.381 2010/07/07 20:35:18 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/amarok/ChangeLog,v 1.382 2010/07/11 01:54:43 jmbsvicetto Exp $
+
+*amarok-2.3.1-r2 (11 Jul 2010)
+
+ 11 Jul 2010; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
+ +amarok-2.3.1-r2.ebuild, +files/amarok-2.3.1-fix-trayicon.patch:
+ Added missing deps for dev-util/automoc and dev-util/pkgconfig. Thanks to
+ Nikoli <nikoli@lavabit.com> - fixes bug 324883.
+ Added a patch to fix the missing tray icon in non-KDE environments. Thanks
+ to Rex Dieter for the heads up in the amarok-packagers ml and Kevin Funk
+ for the patch - fixes bug 325371.
+ Fixed the available linguas list. Thanks to MarisN <maris.gis@gmail.com> -
+ fixes bug 326147.
07 Jul 2010; Samuli Suominen <ssuominen@gentoo.org>
amarok-2.3.1-r1.ebuild:
diff --git a/media-sound/amarok/amarok-2.3.1-r2.ebuild b/media-sound/amarok/amarok-2.3.1-r2.ebuild
new file mode 100644
index 000000000000..5e818787729e
--- /dev/null
+++ b/media-sound/amarok/amarok-2.3.1-r2.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/amarok/amarok-2.3.1-r2.ebuild,v 1.1 2010/07/11 01:54:44 jmbsvicetto Exp $
+
+EAPI="2"
+
+# Translations are only in the tarballs, not the git repo
+if [[ ${PV} != *9999* ]]; then
+ KDE_LINGUAS="af bg ca ca@valencia cs da de el en_GB es et fr it ja lt lv nb nds pa pl
+ pt pt_BR ru sk sl sr sr@ijekavian sr@ijekavianlatin sr@latin sv th tr uk zh_CN zh_TW"
+ SRC_URI="mirror://kde/unstable/${PN}/${PV}/src/${P}.tar.bz2"
+else
+ EGIT_REPO_URI="git://git.kde.org/${PN}/${PN}.git"
+ GIT_ECLASS="git"
+fi
+
+KDE_REQUIRED="never"
+inherit flag-o-matic kde4-base ${GIT_ECLASS}
+
+DESCRIPTION="Advanced audio player based on KDE framework."
+HOMEPAGE="http://amarok.kde.org/"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+SLOT="4"
+IUSE="cdda daap debug embedded ipod lastfm mp3tunes mtp opengl +player semantic-desktop +utils"
+
+# Tests require gmock - http://code.google.com/p/gmock/
+# It's not in the tree yet
+RESTRICT="test"
+
+# ipod requires gdk enabled and also gtk compiled in libgpod
+COMMONDEPEND="
+ >=media-libs/taglib-1.6.1[asf,mp4]
+ >=media-libs/taglib-extras-1.0.1
+ player? (
+ app-crypt/qca:2
+ >=app-misc/strigi-0.5.7[dbus,qt4]
+ || ( >=dev-db/mysql-5.0.76 =virtual/mysql-5.1 )
+ >=kde-base/kdelibs-${KDE_MINIMAL}[opengl?,semantic-desktop?]
+ sys-libs/zlib
+ x11-libs/qt-script
+ >=x11-libs/qtscriptgenerator-0.1.0
+ cdda? (
+ >=kde-base/libkcddb-${KDE_MINIMAL}
+ >=kde-base/libkcompactdisc-${KDE_MINIMAL}
+ >=kde-base/kdemultimedia-kioslaves-${KDE_MINIMAL}
+ )
+ embedded? ( <dev-db/mysql-5.1[embedded,-minimal] )
+ ipod? ( >=media-libs/libgpod-0.7.0[gtk] )
+ lastfm? ( >=media-libs/liblastfm-0.3.0 )
+ mp3tunes? (
+ dev-libs/glib:2
+ dev-libs/libxml2
+ dev-libs/openssl
+ net-libs/loudmouth
+ net-misc/curl
+ x11-libs/qt-core[glib]
+ )
+ mtp? ( >=media-libs/libmtp-0.3.0 )
+ opengl? ( virtual/opengl )
+ )
+ utils? (
+ x11-libs/qt-core
+ x11-libs/qt-dbus
+ )
+ !player? ( !utils? ( media-sound/amarok[player] ) )
+"
+DEPEND="${COMMONDEPEND}
+ dev-util/automoc
+ dev-util/pkgconfig
+"
+RDEPEND="${COMMONDEPEND}
+ !media-sound/amarok-utils
+ player? ( >=kde-base/phonon-kde-${KDE_MINIMAL} )
+"
+
+# The fix trayicon patch is amarok.git-26104cd35fd50222c354f3afc9fce6bba093c05f.patch
+# from https://bugs.kde.org/show_bug.cgi?id=232578#c13 and
+# http://gitweb.kde.org/amarok/amarok.git/commitdiff/26104cd35fd50222c354f3afc9fce6bba093c05f
+PATCHES=( "${FILESDIR}/${PN}-fix-accessibility-dep.patch" "${FILESDIR}/${P}-fix-trayicon.patch")
+
+src_prepare() {
+ if ! use player; then
+ # Disable po processing
+ sed -e "s:include(MacroOptionalAddSubdirectory)::" \
+ -i "${S}/CMakeLists.txt" \
+ || die "Removing include of MacroOptionalAddSubdirectory failed."
+ sed -e "s:macro_optional_add_subdirectory( po )::" \
+ -i "${S}/CMakeLists.txt" \
+ || die "Removing include of MacroOptionalAddSubdirectory failed."
+ fi
+
+ kde4-base_src_prepare
+}
+
+src_configure() {
+ # Append minimal-toc cflag for ppc64, see bug 280552 and 292707
+ use ppc64 && append-flags -mminimal-toc
+
+ if use player; then
+ mycmakeargs=(
+ -DWITH_PLAYER=ON
+ -DWITH_Libgcrypt=OFF
+ $(cmake-utils_use embedded WITH_MYSQL_EMBEDDED)
+ $(cmake-utils_use_with ipod)
+ $(cmake-utils_use_with ipod Gdk)
+ $(cmake-utils_use_with lastfm LibLastFm)
+ $(cmake-utils_use_with mtp)
+ $(cmake-utils_use_with mp3tunes MP3Tunes)
+ )
+ else
+ mycmakeargs=(
+ -DWITH_PLAYER=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ $(cmake-utils_use_with utils UTILITIES)
+ )
+ # $(cmake-utils_use_with semantic-desktop Nepomuk)
+ # $(cmake-utils_use_with semantic-desktop Soprano)
+
+ kde4-base_src_configure
+}
+
+pkg_postinst() {
+ kde4-base_pkg_postinst
+
+ if use player; then
+
+ if use daap; then
+ echo
+ elog "You have installed amarok with daap support."
+ elog "You may be interested in installing www-servers/mongrel as well."
+ echo
+ fi
+
+ if ! use embedded; then
+ echo
+ elog "You've disabled the amarok support for embedded mysql DBs."
+ elog "You'll have to configure amarok to use an external db server."
+ echo
+ elog "Please read http://amaroklive.com/wiki/MySQL_Server for details on how"
+ elog "to configure the external db and migrate your data from the embedded database."
+ echo
+
+ if has_version "dev-db/mysql[minimal]"; then
+ elog "You built mysql with the minimal use flag, so it doesn't include the server."
+ elog "You won't be able to use the local mysql installation to store your amarok collection."
+ echo
+ fi
+ fi
+ fi
+}
diff --git a/media-sound/amarok/files/amarok-2.3.1-fix-trayicon.patch b/media-sound/amarok/files/amarok-2.3.1-fix-trayicon.patch
new file mode 100644
index 000000000000..c971ef48a4c0
--- /dev/null
+++ b/media-sound/amarok/files/amarok-2.3.1-fix-trayicon.patch
@@ -0,0 +1,260 @@
+From 26104cd35fd50222c354f3afc9fce6bba093c05f Mon Sep 17 00:00:00 2001
+From: Kevin Funk <krf@electrostorm.net>
+Date: Thu, 8 Jul 2010 12:13:00 +0200
+Subject: [PATCH] Some TrayIcon changes:
+ * Remove track progress effect (this is because KSNI has some bogus
+ implementation of the setIconByPixmap() function causing the overlay
+ icon being wrong sized
+ * Fix overlay icon size
+ * Tooltip album cover is now updated if changed in Amarok
+ * Cleanup
+ CCBUG: 231539
+ CCBUG: 232578
+ CCBUG: 232312
+ BUG: 233506
+ BUG: 240463
+
+---
+ src/TrayIcon.cpp | 106 ++++++++++++------------------------------------------
+ src/TrayIcon.h | 11 +-----
+ 2 files changed, 25 insertions(+), 92 deletions(-)
+
+diff --git a/src/TrayIcon.cpp b/src/TrayIcon.cpp
+index fb97483..4bd46e4 100644
+--- a/src/TrayIcon.cpp
++++ b/src/TrayIcon.cpp
+@@ -52,7 +52,6 @@
+ Amarok::TrayIcon::TrayIcon( QObject *parent )
+ : KStatusNotifierItem( parent )
+ , Engine::EngineObserver( The::engineController() )
+- , m_trackLength( 0 )
+ , m_separator( 0 )
+ {
+ DEBUG_BLOCK
+@@ -80,7 +79,7 @@ Amarok::TrayIcon::TrayIcon( QObject *parent )
+
+ PERF_LOG( "Adding system tray icon" );
++ setIconByName( "amarok" );
+- paintIcon();
+
+ setupToolTip();
+
+ connect( this, SIGNAL( scrollRequested( int, Qt::Orientation ) ), SLOT( slotScrollRequested(int, Qt::Orientation) ) );
+@@ -102,22 +95,13 @@ Amarok::TrayIcon::setupToolTip()
+ setToolTipTitle( The::engineController()->prettyNowPlaying() );
+
+ QStringList tooltip;
+- // TODO: Use Observer to get notified about changed album art
+- if( m_track->album() )
++ if( m_track->album() && m_track->album()->hasImage() )
+ {
+ const QString uid = m_track->uidUrl();
+ if ( uid != m_toolTipIconUid ) {
+ const QPixmap image = The::svgHandler()->imageWithBorder( m_track->album(), KIconLoader::SizeLarge, 5 );
+- if ( image.isNull() )
+- {
+- setToolTipIconByName( "amarok" );
+- m_toolTipIconUid.clear();
+- }
+- else
+- {
+- setToolTipIconByPixmap( image );
+- m_toolTipIconUid = uid;
+- }
++ setToolTipIconByPixmap( image );
++ m_toolTipIconUid = uid;
+ }
+ }
+ else
+@@ -184,9 +168,10 @@ Amarok::TrayIcon::setupToolTip()
+ else
+ {
+ setToolTipIconByName( "amarok" );
+- m_toolTipIconUid.clear();
+ setToolTipTitle( KCmdLineArgs::aboutData()->programName() );
+ setToolTipSubTitle( The::engineController()->prettyNowPlaying() );
++
++ m_toolTipIconUid.clear();
+ }
+ }
+
+@@ -206,20 +191,26 @@ Amarok::TrayIcon::engineStateChanged( Phonon::State state, Phonon::State /*oldSt
+ switch( state )
+ {
+ case Phonon::PlayingState:
+- unsubscribeFrom( m_track );
++ if ( m_track )
++ {
++ unsubscribeFrom( m_track );
++ unsubscribeFrom( m_track->album() );
++ }
+ m_track = track;
+- m_trackLength = m_track ? m_track->length() : 0;
+- subscribeTo( track );
++ if ( track )
++ {
++ subscribeTo( track );
++ subscribeTo( track->album() );
++ }
+
+- paintIcon( 0 );
++ setOverlayIconByName( "media-playback-start" );
+ setupMenu();
+ break;
+
+ case Phonon::StoppedState:
+ m_track = 0;
+- m_trackLength = 0;
+
+- paintIcon();
++ setOverlayIconByName( QString() );
+ setupMenu(); // remove custom track actions on stop
+ break;
+
+@@ -230,6 +221,7 @@ Amarok::TrayIcon::engineStateChanged( Phonon::State state, Phonon::State /*oldSt
+ case Phonon::LoadingState:
+ case Phonon::ErrorState:
+ case Phonon::BufferingState:
++ setOverlayIconByName( QString() );
+ break;
+ }
+
+@@ -240,9 +232,6 @@ void
+ Amarok::TrayIcon::engineNewTrackPlaying()
+ {
+ m_track = The::engineController()->currentTrack();
+- m_trackLength = m_track ? m_track->length() : 0;
+-
+- paintIcon( 0 );
+
+ setupToolTip();
+ setupMenu();
+@@ -258,12 +247,12 @@ Amarok::TrayIcon::metadataChanged( Meta::TrackPtr track )
+ }
+
+ void
+-Amarok::TrayIcon::engineTrackPositionChanged( qint64 position, bool userSeek )
++Amarok::TrayIcon::metadataChanged( Meta::AlbumPtr album )
+ {
+- Q_UNUSED( userSeek );
++ Q_UNUSED( album )
+
+- if( m_trackLength )
+- paintIcon( position );
++ setupToolTip();
++ setupMenu();
+ }
+
+ void
+@@ -283,71 +272,6 @@ Amarok::TrayIcon::engineMuteStateChanged( bool mute )
+ }
+
+ void
+-Amarok::TrayIcon::paletteChange( const QPalette & op )
+-{
+- Q_UNUSED( op );
+-
+- paintIcon();
+-}
+-
+-void
+-Amarok::TrayIcon::paintIcon( qint64 trackPosition )
+-{
+- static qint64 oldMergePos = -1;
+-
+- // start up
+- // TODO: Move these two blocks to ctor (warning: might get some regressions)
+- if( m_baseIcon.isNull() )
+- {
+- m_baseIcon = KIconLoader::global()->loadIcon( "amarok", KIconLoader::Panel );
+- setIconByPixmap( m_baseIcon ); // show icon
+- setOverlayIconByName( QString() );
+- return; // HACK: return because m_baseIcon is still null after first startup (why?)
+- }
+-
+- if( m_grayedIcon.isNull() )
+- {
+- m_grayedIcon = m_baseIcon; // copies object
+- KIconEffect::semiTransparent( m_grayedIcon );
+- }
+-
+- // trackPosition < 0 means reset
+- if( trackPosition < 0 )
+- {
+- oldMergePos = -1;
+- setIconByPixmap( m_baseIcon );
+- setOverlayIconByName( QString() );
+- return;
+- }
+-
+- // check if we are playing a stream
+- if( !m_trackLength )
+- {
+- m_icon = m_baseIcon;
+- setIconByPixmap( m_icon );
+- setOverlayIconByName( "media-playback-start" );
+- return;
+- }
+-
+- const qint64 mergePos = ( float( trackPosition ) / m_trackLength ) * m_icon.height();
+-
+- // return if pixmap would stay the same
+- if( oldMergePos == mergePos )
+- return;
+-
+- // draw m_baseIcon on top of the gray version
+- m_icon = m_grayedIcon; // copies object
+- QPainter p( &m_icon );
+- p.drawPixmap( 0, 0, m_baseIcon, 0, 0, 0, m_icon.height() - mergePos );
+- p.end();
+-
+- oldMergePos = mergePos;
+-
+- setIconByPixmap( m_icon );
+- setOverlayIconByName( "media-playback-start" );
+-}
+-
+-void
+ Amarok::TrayIcon::setupMenu()
+ {
+ foreach( QAction* action, m_extraActions )
+diff --git a/src/TrayIcon.h b/src/TrayIcon.h
+index c2602df..d590b5f 100644
+--- a/src/TrayIcon.h
++++ b/src/TrayIcon.h
+@@ -49,16 +49,13 @@ protected:
+ // reimplemented from engineobserver
+ virtual void engineStateChanged( Phonon::State state, Phonon::State oldState = Phonon::StoppedState );
+ virtual void engineNewTrackPlaying();
+- virtual void engineTrackPositionChanged( qint64 position, bool /*userSeek*/ );
+ virtual void engineVolumeChanged( int percent );
+ virtual void engineMuteStateChanged( bool mute );
+
+- //Reimplemented from Meta::Observer
++ // reimplemented from Meta::Observer
+ using Observer::metadataChanged;
+ virtual void metadataChanged( Meta::TrackPtr track );
+-
+- // get notified of 'highlight' color change
+- virtual void paletteChange( const QPalette & oldPalette );
++ virtual void metadataChanged( Meta::AlbumPtr album );
+
+ private slots:
+ void slotActivated();
+@@ -68,13 +65,9 @@ private:
+ void setupMenu();
+ void setupToolTip();
+
+- void paintIcon( qint64 trackPosition = -1 );
+-
+ Meta::TrackPtr m_track;
+- qint64 m_trackLength;
+ QString m_toolTipIconUid;
+
+- QPixmap m_baseIcon, m_grayedIcon, m_icon;
+ SmartPointerList<QAction> m_extraActions;
+ QPointer<QAction> m_separator;
+ };
+--
+1.7.1
+