summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Chvatal <scarabeus@gentoo.org>2010-08-10 12:55:46 +0000
committerTomas Chvatal <scarabeus@gentoo.org>2010-08-10 12:55:46 +0000
commit3e5bee0b5432d6150efc3d4bd9598dc3ece808dc (patch)
treeb687b1440b9b9ff681d02b4fd6f81747cec8bfd3 /media-sound
parentDrop unused stuff. (diff)
downloadhistorical-3e5bee0b5432d6150efc3d4bd9598dc3ece808dc.tar.gz
historical-3e5bee0b5432d6150efc3d4bd9598dc3ece808dc.tar.bz2
historical-3e5bee0b5432d6150efc3d4bd9598dc3ece808dc.zip
Cleanup old stuff.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/amarok/ChangeLog9
-rw-r--r--media-sound/amarok/amarok-2.2.2-r1.ebuild113
-rw-r--r--media-sound/amarok/amarok-2.3.1-r1.ebuild148
-rw-r--r--media-sound/amarok/amarok-2.3.1.ebuild120
-rw-r--r--media-sound/amarok/files/amarok-2.2-mysql-libs.patch11
-rw-r--r--media-sound/amarok/files/amarok-2.2.2-nodebug.patch383
-rw-r--r--media-sound/amarok/files/amarok-2.3.0-crash_fix_info_applet.patch61
-rw-r--r--media-sound/amarok/files/amarok-qtscriptcheck.patch24
8 files changed, 8 insertions, 861 deletions
diff --git a/media-sound/amarok/ChangeLog b/media-sound/amarok/ChangeLog
index 2639d20f2d5f..29293768c5a8 100644
--- a/media-sound/amarok/ChangeLog
+++ b/media-sound/amarok/ChangeLog
@@ -1,6 +1,13 @@
# 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.385 2010/07/30 12:03:10 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/amarok/ChangeLog,v 1.386 2010/08/10 12:55:46 scarabeus Exp $
+
+ 10 Aug 2010; Tomáš Chvátal <scarabeus@gentoo.org>
+ -amarok-2.2.2-r1.ebuild, -files/amarok-2.2.2-nodebug.patch,
+ -files/amarok-2.2-mysql-libs.patch,
+ -files/amarok-2.3.0-crash_fix_info_applet.patch, -amarok-2.3.1.ebuild,
+ -amarok-2.3.1-r1.ebuild, -files/amarok-qtscriptcheck.patch:
+ Cleanup old stuff.
30 Jul 2010; Markos Chandras <hwoarang@gentoo.org> amarok-2.3.1-r2.ebuild:
Stable on amd64 wrt bug #329853
diff --git a/media-sound/amarok/amarok-2.2.2-r1.ebuild b/media-sound/amarok/amarok-2.2.2-r1.ebuild
deleted file mode 100644
index fb6c5bad1c4b..000000000000
--- a/media-sound/amarok/amarok-2.2.2-r1.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# 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.2.2-r1.ebuild,v 1.8 2010/03/01 10:34:19 spatz Exp $
-
-EAPI="2"
-
-# Translations are only in the tarballs, not the git repo
-if [[ ${PV} != *9999* ]]; then
- KDE_LINGUAS="bg ca cs da de en_GB es et eu fi fr it ja km nb nds nl
- pa pl pt pt_BR ru sl sr sr@latin sv th tr uk wa zh_TW"
-else
- EGIT_REPO_URI="git://gitorious.org/${PN}/${PN}.git"
- GIT_ECLASS="git"
-fi
-OPENGL_REQUIRED="optional"
-inherit kde4-base ${GIT_ECLASS}
-
-DESCRIPTION="Advanced audio player based on KDE framework."
-HOMEPAGE="http://amarok.kde.org/"
-if [[ ${PV} = *9999* ]]; then
- SRC_URI=""
-else
- SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.bz2"
-fi
-
-LICENSE="GPL-2"
-KEYWORDS="amd64 ~ppc x86"
-SLOT="4"
-IUSE="cdda daap debug +embedded ipod lastfm mp3tunes mtp semantic-desktop"
-
-# ipod requires gdk enabled and also gtk compiled in libgpod
-DEPEND="
- app-crypt/qca:2
- >=app-misc/strigi-0.5.7[dbus,qt4]
- >=dev-db/mysql-5.0.76
- >=media-libs/taglib-1.6.1[asf,mp4]
- >=media-libs/taglib-extras-1.0.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 )
-"
-RDEPEND="${DEPEND}
- >=kde-base/phonon-kde-${KDE_MINIMAL}
- >=media-sound/amarok-utils-${PV}
- semantic-desktop? ( >=kde-base/nepomuk-${KDE_MINIMAL} )
-"
-
-PATCHES=( "${FILESDIR}/${P}-nodebug.patch" )
-
-# Only really required for live ebuild, to skip git_src_prepare
-src_prepare() {
- kde4-base_src_prepare
-}
-
-src_configure() {
- mycmakeargs=(
- -DWITH_PLAYER=ON
- -DWITH_UTILITIES=OFF
- -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)
- )
- # $(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 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
-
- 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
-}
diff --git a/media-sound/amarok/amarok-2.3.1-r1.ebuild b/media-sound/amarok/amarok-2.3.1-r1.ebuild
deleted file mode 100644
index 4b097caf8c74..000000000000
--- a/media-sound/amarok/amarok-2.3.1-r1.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# 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-r1.ebuild,v 1.6 2010/07/07 20:35:18 ssuominen Exp $
-
-EAPI="2"
-
-# Translations are only in the tarballs, not the git repo
-if [[ ${PV} != *9999* ]]; then
- KDE_LINGUAS="bg ca cs da de en_GB es et eu fi fr it ja km nb nds nl
- pa pl pt pt_BR ru sl sr sr@latin sv th tr uk wa 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
-DEPEND="
- >=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] ) )
-"
-RDEPEND="${DEPEND}
- !media-sound/amarok-utils
- player? ( >=kde-base/phonon-kde-${KDE_MINIMAL} )
-"
-
-PATCHES=( "${FILESDIR}/${PN}-fix-accessibility-dep.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/amarok-2.3.1.ebuild b/media-sound/amarok/amarok-2.3.1.ebuild
deleted file mode 100644
index ce57c2b83575..000000000000
--- a/media-sound/amarok/amarok-2.3.1.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# 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.ebuild,v 1.2 2010/06/09 12:42:57 jmbsvicetto Exp $
-
-EAPI="2"
-
-# Translations are only in the tarballs, not the git repo
-if [[ ${PV} != *9999* ]]; then
- KDE_LINGUAS="bg ca cs da de en_GB es et eu fi fr it ja km nb nds nl
- pa pl pt pt_BR ru sl sr sr@latin sv th tr uk wa zh_TW"
-else
- EGIT_REPO_URI="git://gitorious.org/${PN}/${PN}.git"
- GIT_ECLASS="git"
-fi
-OPENGL_REQUIRED="optional"
-inherit kde4-base ${GIT_ECLASS}
-
-DESCRIPTION="Advanced audio player based on KDE framework."
-HOMEPAGE="http://amarok.kde.org/"
-if [[ ${PV} = *9999* ]]; then
- SRC_URI=""
-else
- SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.bz2"
-fi
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~ppc ~x86"
-SLOT="4"
-IUSE="cdda daap debug embedded ipod lastfm mp3tunes mtp semantic-desktop"
-
-# ipod requires gdk enabled and also gtk compiled in libgpod
-# Some UI dialogs require qt-gui built with the accessibility use flag
-DEPEND="
- app-crypt/qca:2
- >=app-misc/strigi-0.5.7[dbus,qt4]
- >=dev-db/mysql-5.0.76
- >=media-libs/taglib-1.6.1[asf,mp4]
- >=media-libs/taglib-extras-1.0.1
- >=kde-base/kdelibs-${KDE_MINIMAL}[opengl?,semantic-desktop?]
- sys-libs/zlib
- x11-libs/qt-gui[accessibility]
- 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 )
-"
-RDEPEND="${DEPEND}
- >=kde-base/phonon-kde-${KDE_MINIMAL}
- >=media-sound/amarok-utils-${PV}
- semantic-desktop? ( >=kde-base/nepomuk-${KDE_MINIMAL} )
-"
-
-# Tests require gmock - http://code.google.com/p/gmock/
-# It's not in the tree yet
-RESTRICT="test"
-
-# Only really required for live ebuild, to skip git_src_prepare
-src_prepare() {
- kde4-base_src_prepare
-}
-
-src_configure() {
- mycmakeargs=(
- -DWITH_PLAYER=ON
- -DWITH_UTILITIES=OFF
- -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)
- )
- # $(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 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
-}
diff --git a/media-sound/amarok/files/amarok-2.2-mysql-libs.patch b/media-sound/amarok/files/amarok-2.2-mysql-libs.patch
deleted file mode 100644
index 60bf8b17fd3f..000000000000
--- a/media-sound/amarok/files/amarok-2.2-mysql-libs.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur amarok-2.2.1-old/src/collection/mysqlecollection/CMakeLists.txt amarok-2.2.1/src/collection/mysqlecollection/CMakeLists.txt
---- amarok-2.2.1-old/src/collection/mysqlecollection/CMakeLists.txt 2009-11-30 23:31:05.000000000 -0100
-+++ amarok-2.2.1/src/collection/mysqlecollection/CMakeLists.txt 2009-11-30 23:31:32.000000000 -0100
-@@ -64,7 +64,6 @@
- ${KDE4_KIO_LIBS}
- ${KDE4_THREADWEAVER_LIBRARIES}
- ${MYSQL_EMBEDDED_LIBRARIES}
-- ${MYSQL_LIBRARIES}
- ${CMAKE_DL_LIBS}
- ${ZLIB_LIBRARIES}
- ${TAGLIB_LIBRARIES}
diff --git a/media-sound/amarok/files/amarok-2.2.2-nodebug.patch b/media-sound/amarok/files/amarok-2.2.2-nodebug.patch
deleted file mode 100644
index b095f2723f83..000000000000
--- a/media-sound/amarok/files/amarok-2.2.2-nodebug.patch
+++ /dev/null
@@ -1,383 +0,0 @@
-Fixes potential crashes during scanning discovered in 2.2.2 after tagging.
-Jeff Mitchell <mitchell@kde.org>
-
-
-diff --git a/src/collection/sqlcollection/ScanResultProcessor.cpp b/src/collection/sqlcollection/ScanResultProcessor.cpp
-index b680623..68b31df 100644
---- a/src/collection/sqlcollection/ScanResultProcessor.cpp
-+++ b/src/collection/sqlcollection/ScanResultProcessor.cpp
-@@ -42,19 +42,59 @@ ScanResultProcessor::ScanResultProcessor( SqlCollection *collection )
- ScanResultProcessor::~ScanResultProcessor()
- {
- //everything has a URL, so enough to just delete from here
-+ QSet<QStringList*> currSet; //prevent double deletes
- foreach( QStringList *list, m_urlsHashByUid )
-- delete list;
-+ {
-+ if( list )
-+ {
-+ if( !currSet.contains( list ) )
-+ {
-+ delete list;
-+ currSet.insert( list );
-+ }
-+ }
-+ else
-+ debug() << "GAAH! Tried to double-delete a value in m_urlsHashByUid";
-+ }
- foreach( QLinkedList<QStringList*> *list, m_albumsHashByName )
- {
-- foreach( QStringList *slist, *list )
-- delete slist;
-- delete list;
-+ if( list )
-+ {
-+ foreach( QStringList *slist, *list )
-+ {
-+ if( slist )
-+ {
-+ if( !currSet.contains( slist ) )
-+ {
-+ delete slist;
-+ currSet.insert( slist );
-+ }
-+ else
-+ debug() << "GAAH! Tried to double-delete a value in m_albumsHashByName";
-+ }
-+ }
-+ delete list;
-+ }
- }
- foreach( QLinkedList<QStringList*> *list, m_tracksHashByAlbum )
- {
-- foreach( QStringList *slist, *list )
-- delete slist;
-- delete list;
-+ if( list )
-+ {
-+ foreach( QStringList *slist, *list )
-+ {
-+ if( slist )
-+ {
-+ if( !currSet.contains( slist ) )
-+ {
-+ delete slist;
-+ currSet.insert( slist );
-+ }
-+ else
-+ debug() << "GAAH! Tried to double-delete a value in m_tracksHashByAlbum";
-+ }
-+ }
-+ delete list;
-+ }
- }
- }
-
-@@ -67,11 +107,11 @@ ScanResultProcessor::setScanType( ScanType type )
- void
- ScanResultProcessor::addDirectory( const QString &dir, uint mtime )
- {
-- DEBUG_BLOCK
-- debug() << "SRP::addDirectory on " << dir << " with mtime " << mtime;
-+ //DEBUG_BLOCK
-+ //debug() << "SRP::addDirectory on " << dir << " with mtime " << mtime;
- if( dir.isEmpty() )
- {
-- debug() << "got directory with no path from the scanner, not adding";
-+ //debug() << "got directory with no path from the scanner, not adding";
- return;
- }
- setupDatabase();
-@@ -254,7 +294,7 @@ ScanResultProcessor::rollback()
- void
- ScanResultProcessor::processDirectory( const QList<QVariantMap > &data )
- {
--// DEBUG_BLOCK
-+ //DEBUG_BLOCK
- setupDatabase();
- //using the following heuristics:
- //if more than one album is in the dir, use the artist of each track as albumartist
-@@ -274,24 +314,54 @@ ScanResultProcessor::processDirectory( const QList<QVariantMap > &data )
- if( row.value( Field::ALBUM ).toString() != album )
- multipleAlbums = true;
- }
-+
- if( multipleAlbums || album.isEmpty() || artists.size() == 1 )
- {
- foreach( const QVariantMap &row, data )
- {
-- int artist = genericId( &m_artists, row.value( Field::ARTIST ).toString(), &m_nextArtistNum );
-- addTrack( row, artist );
-+ QString uid = row.value( Field::UNIQUEID ).toString();
-+ if( m_uidsSeenThisScan.contains( uid ) )
-+ {
-+ QString originalLocation = ( ( m_urlsHashByUid.contains( uid ) &&
-+ m_urlsHashByUid[uid] != 0 ) ?
-+ MountPointManager::instance()->getAbsolutePath( m_urlsHashByUid[uid]->at( 1 ).toInt(), m_urlsHashByUid[uid]->at( 2 ) ) : "(unknown)" );
-+ debug() << "Skipping file with uniqueid " << uid << " as it was already seen this scan," <<
-+ "file is at " << row.value( Field::URL ).toString() << ", original file is at " << originalLocation;
-+ }
-+ else
-+ {
-+ int artist = genericId( &m_artists, row.value( Field::ARTIST ).toString(), &m_nextArtistNum );
-+ //debug() << "artist found = " << artist;
-+ addTrack( row, artist );
-+ m_uidsSeenThisScan.insert( uid );
-+ }
- }
- }
- else
- {
- QString albumArtist = findAlbumArtist( artists, data.count() );
-+ //debug() << "albumArtist found = " << albumArtist;
- //an empty string means that no albumartist was found
- int artist = albumArtist.isEmpty() ? 0 : genericId( &m_artists, albumArtist, &m_nextArtistNum );
-+ //debug() << "artist found = " << artist;
-
- //debug() << "albumartist " << albumArtist << "for artists" << artists;
- foreach( const QVariantMap &row, data )
- {
-- addTrack( row, artist );
-+ QString uid = row.value( Field::UNIQUEID ).toString();
-+ if( m_uidsSeenThisScan.contains( uid ) )
-+ {
-+ QString originalLocation = ( ( m_urlsHashByUid.contains( uid ) &&
-+ m_urlsHashByUid[uid] != 0 ) ?
-+ MountPointManager::instance()->getAbsolutePath( m_urlsHashByUid[uid]->at( 1 ).toInt(), m_urlsHashByUid[uid]->at( 2 ) ) : "(unknown)" );
-+ debug() << "Skipping file with uniqueid " << uid << " as it was already seen this scan," <<
-+ "file is at " << row.value( Field::URL ).toString() << ", original file is at " << originalLocation;
-+ }
-+ else
-+ {
-+ addTrack( row, artist );
-+ m_uidsSeenThisScan.insert( uid );
-+ }
- }
- }
- }
-@@ -299,6 +369,7 @@ ScanResultProcessor::processDirectory( const QList<QVariantMap > &data )
- QString
- ScanResultProcessor::findAlbumArtist( const QSet<QString> &artists, int trackCount ) const
- {
-+ //DEBUG_BLOCK
- QMap<QString, int> artistCount;
- bool featuring;
- QStringList trackArtists;
-@@ -371,6 +442,7 @@ void
- ScanResultProcessor::addTrack( const QVariantMap &trackData, int albumArtistId )
- {
- //DEBUG_BLOCK
-+ //debug() << "albumArtistId = " << albumArtistId;
- //amarok 1 stored all tracks of a compilation in different directories.
- //when using its "Organize Collection" feature
- //try to detect these cases
-@@ -419,7 +491,15 @@ ScanResultProcessor::addTrack( const QVariantMap &trackData, int albumArtistId )
-
- //urlId will take care of the urls table part of AFT
- int url = urlId( path, uid );
--
-+/*
-+ foreach( QString key, m_urlsHashByUid.keys() )
-+ debug() << "Key: " << key << ", list: " << *m_urlsHashByUid[key];
-+ foreach( int key, m_urlsHashById.keys() )
-+ debug() << "Key: " << key << ", list: " << *m_urlsHashById[key];
-+ typedef QPair<int, QString> blahType; //QFOREACH is stupid when it comes to QPairs
-+ foreach( blahType key, m_urlsHashByLocation.keys() )
-+ debug() << "Key: " << key << ", list: " << *m_urlsHashByLocation[key];
-+*/
- QStringList *trackList = new QStringList();
- int id = m_nextTrackNum;
- //debug() << "Appending new track number with tracknum: " << id;
-@@ -470,7 +550,7 @@ ScanResultProcessor::addTrack( const QVariantMap &trackData, int albumArtistId )
- //insert into hashes
- if( m_tracksHashByUrl.contains( url ) && m_tracksHashByUrl[url] != 0 )
- {
-- //debug() << "m_tracksHashByUrl contains the url!";
-+ //debug() << "m_tracksHashByUrl already contains url " << url;
- //need to replace, not overwrite/add a new one
- QStringList *oldValues = m_tracksHashByUrl[url];
- QString oldId = oldValues->at( 0 );
-@@ -490,8 +570,24 @@ ScanResultProcessor::addTrack( const QVariantMap &trackData, int albumArtistId )
- m_tracksHashById.insert( id, trackList );
- }
-
-+ //debug() << "album = " << album;
-+
- if( m_tracksHashByAlbum.contains( album ) && m_tracksHashByAlbum[album] != 0 )
-- m_tracksHashByAlbum[album]->append( trackList );
-+ {
-+ //contains isn't the fastest on linked lists, but in reality this is on the order of maybe
-+ //ten quick pointer comparisons per track on average...probably lower
-+ //debug() << "trackList is " << trackList;
-+ if( !m_tracksHashByAlbum[album]->contains( trackList ) )
-+ {
-+ //debug() << "appending trackList to m_tracksHashByAlbum";
-+ m_tracksHashByAlbum[album]->append( trackList );
-+ }
-+ else
-+ {
-+ //debug() << "not appending trackList to m_tracksHashByAlbum";
-+ }
-+
-+ }
- else
- {
- QLinkedList<QStringList*> *list = new QLinkedList<QStringList*>();
-@@ -595,6 +691,8 @@ ScanResultProcessor::albumId( const QString &album, int albumArtistId )
- QLinkedList<QStringList*> *list = m_albumsHashByName[album];
- foreach( QStringList *slist, *list )
- {
-+ //debug() << "albumArtistId = " << albumArtistId;
-+ //debug() << "Checking list: " << *slist;
- if( slist->at( 2 ).isEmpty() && albumArtistId == 0 )
- {
- //debug() << "artist is empty and albumArtistId = 0, returning " << slist->at( 0 );
-@@ -631,7 +729,10 @@ ScanResultProcessor::albumInsert( const QString &album, int albumArtistId )
- albumList->append( QString() );
- m_albumsHashById[returnedNum] = albumList;
- if( m_albumsHashByName.contains( album ) && m_albumsHashByName[album] != 0 )
-- m_albumsHashByName[album]->append( albumList );
-+ {
-+ if( !m_albumsHashByName[album]->contains( albumList ) )
-+ m_albumsHashByName[album]->append( albumList );
-+ }
- else
- {
- QLinkedList<QStringList*> *list = new QLinkedList<QStringList*>();
-@@ -645,7 +746,7 @@ ScanResultProcessor::albumInsert( const QString &album, int albumArtistId )
- int
- ScanResultProcessor::urlId( const QString &url, const QString &uid )
- {
-- /*
-+/*
- DEBUG_BLOCK
- foreach( QString key, m_urlsHashByUid.keys() )
- debug() << "Key: " << key << ", list: " << *m_urlsHashByUid[key];
-@@ -654,8 +755,7 @@ ScanResultProcessor::urlId( const QString &url, const QString &uid )
- typedef QPair<int, QString> blahType; //QFOREACH is stupid when it comes to QPairs
- foreach( blahType key, m_urlsHashByLocation.keys() )
- debug() << "Key: " << key << ", list: " << *m_urlsHashByLocation[key];
-- */
--
-+*/
- QFileInfo fileInfo( url );
- const QString dir = fileInfo.absoluteDir().absolutePath();
- int dirId = directoryId( dir );
-@@ -665,6 +765,7 @@ ScanResultProcessor::urlId( const QString &url, const QString &uid )
- QPair<int, QString> locationPair( deviceId, rpath );
- //debug() << "in urlId with url = " << url << " and uid = " << uid;
- //debug() << "checking locationPair " << locationPair;
-+/*
- if( m_urlsHashByLocation.contains( locationPair ) )
- {
- QStringList values;
-@@ -674,6 +775,7 @@ ScanResultProcessor::urlId( const QString &url, const QString &uid )
- values << "zero";
- //debug() << "m_urlsHashByLocation contains it! It is " << values;
- }
-+*/
- QStringList currUrlIdValues;
- if( m_urlsHashByUid.contains( uid ) && m_urlsHashByUid[uid] != 0 )
- currUrlIdValues = *m_urlsHashByUid[uid];
-@@ -717,6 +819,7 @@ ScanResultProcessor::urlId( const QString &url, const QString &uid )
- //debug() << "m_urlsHashByUid contains this UID, updating deviceId and path";
- QStringList *list = m_urlsHashByUid[uid];
- //debug() << "list from UID hash is " << list << " with values " << *list;
-+ QPair<int, QString> oldLocationPair( list->at( 1 ).toInt(), list->at( 2 ) );
- list->replace( 1, QString::number( deviceId ) );
- list->replace( 2, rpath );
- list->replace( 3, QString::number( dirId ) );
-@@ -737,6 +840,7 @@ ScanResultProcessor::urlId( const QString &url, const QString &uid )
- delete oldList;
- }
- m_urlsHashByLocation[locationPair] = list;
-+ m_urlsHashByLocation.remove( oldLocationPair );
- }
- m_permanentTablesUrlUpdates.insert( uid, url );
- m_changedUrls.insert( uid, QPair<QString, QString>( MountPointManager::instance()->getAbsolutePath( currUrlIdValues[1].toInt(), currUrlIdValues[2] ), url ) );
-@@ -751,6 +855,7 @@ ScanResultProcessor::urlId( const QString &url, const QString &uid )
- {
- QStringList *list = m_urlsHashByLocation[locationPair];
- //debug() << "Replacing hash " << list->at( 4 ) << " with " << uid;
-+ QString oldId = list->at( 4 );
- list->replace( 4, uid );
- if( m_urlsHashByUid.contains( uid )
- && m_urlsHashByUid[uid] != 0
-@@ -762,6 +867,7 @@ ScanResultProcessor::urlId( const QString &url, const QString &uid )
- delete oldList;
- }
- m_urlsHashByUid[uid] = list;
-+ m_urlsHashByUid.remove( oldId );
- }
- m_permanentTablesUidUpdates.insert( url, uid );
- m_changedUids.insert( currUrlIdValues[4], uid );
-@@ -855,7 +961,8 @@ ScanResultProcessor::directoryId( const QString &dir )
- int
- ScanResultProcessor::checkExistingAlbums( const QString &album )
- {
--// DEBUG_BLOCK
-+ //DEBUG_BLOCK
-+ //debug() << "looking for album " << album;
- // "Unknown" albums shouldn't be handled as compilations
- if( album.isEmpty() )
- return 0;
-@@ -865,7 +972,10 @@ ScanResultProcessor::checkExistingAlbums( const QString &album )
- //it's probably a compilation.
- //this handles A1 compilations that were automatically organized by Amarok
- if( !m_albumsHashByName.contains( album ) || m_albumsHashByName[album] == 0 )
-+ {
-+ //debug() << "hashByName doesn't contain album, or it's zero";
- return 0;
-+ }
-
- QStringList trackIds;
- QLinkedList<QStringList*> *llist = m_albumsHashByName[album];
-@@ -915,8 +1025,10 @@ ScanResultProcessor::checkExistingAlbums( const QString &album )
- }
- }
-
-+ //debug() << "trackIds = " << trackIds;
- if( trackIds.isEmpty() )
- {
-+ //debug() << "trackIds empty, returning zero";
- return 0;
- }
- else
-@@ -933,6 +1045,7 @@ ScanResultProcessor::checkExistingAlbums( const QString &album )
- list->replace( 3, compilationString );
- }
- }
-+ //debug() << "returning " << compilationId;
- return compilationId;
- }
- }
-@@ -1167,6 +1280,17 @@ ScanResultProcessor::copyHashesToTempTables()
- foreach( blahType key, m_urlsHashByLocation.keys() )
- debug() << "Key: " << key << ", list: " << *m_urlsHashByLocation[key];
- debug() << "Next album num: " << m_nextAlbumNum;
-+
-+ foreach( int key, m_tracksHashById.keys() )
-+ debug() << "Key: " << key << ", list: " << *m_tracksHashById[key];
-+ foreach( int key, m_tracksHashByUrl.keys() )
-+ debug() << "Key: " << key << ", list: " << *m_tracksHashByUrl[key];
-+ foreach( int key, m_tracksHashByAlbum.keys() )
-+ {
-+ debug() << "Key: " << key;
-+ foreach( QStringList* item, *m_tracksHashByAlbum[key] )
-+ debug() << "list: " << item << " is " << *item;
-+ }
- */
-
- DEBUG_BLOCK
-diff --git a/src/collection/sqlcollection/ScanResultProcessor.h b/src/collection/sqlcollection/ScanResultProcessor.h
-index 71afc98..c7f200f 100644
---- a/src/collection/sqlcollection/ScanResultProcessor.h
-+++ b/src/collection/sqlcollection/ScanResultProcessor.h
-@@ -94,6 +94,7 @@ class ScanResultProcessor : public QObject
- QMap<QString, int> m_directories;
- QMap<QString, QList< QPair< QString, QString > > > m_imageMap;
-
-+ QSet<QString> m_uidsSeenThisScan;
- QHash<QString, uint> m_filesInDirs;
-
- TrackUrls m_changedUids; //not really track urls
diff --git a/media-sound/amarok/files/amarok-2.3.0-crash_fix_info_applet.patch b/media-sound/amarok/files/amarok-2.3.0-crash_fix_info_applet.patch
deleted file mode 100644
index bd92cd01d1bb..000000000000
--- a/media-sound/amarok/files/amarok-2.3.0-crash_fix_info_applet.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git a/src/context/applets/info/InfoApplet.cpp b/src/context/applets/info/InfoApplet.cpp
-index 166da4c..e415e98 100644
---- a/src/context/applets/info/InfoApplet.cpp
-+++ b/src/context/applets/info/InfoApplet.cpp
-@@ -40,18 +40,30 @@ QString InfoApplet::s_defaultHtml = "<html>"
-
- InfoApplet::InfoApplet( QObject* parent, const QVariantList& args )
- : Context::Applet( parent, args )
-+ , m_webView( 0 )
- , m_initialized( false )
- , m_currentPlaylist( 0 )
-+
- {
- setHasConfigurationInterface( false );
- setBackgroundHints( Plasma::Applet::NoBackground );
-+}
-+
-+InfoApplet::~InfoApplet()
-+{
-+ delete m_webView;
-+}
-+
-+
-+void InfoApplet::init()
-+{
-
- dataEngine( "amarok-info" )->connectSource( "info", this );
-
- m_webView = new AmarokWebView( this );
-
- resize( 500, -1 );
--
-+
- QPalette p = m_webView->palette();
- p.setColor( QPalette::Dark, QColor( 255, 255, 255, 0) );
- p.setColor( QPalette::Window, QColor( 255, 255, 255, 0) );
-@@ -62,11 +74,6 @@ InfoApplet::InfoApplet( QObject* parent, const QVariantList& args )
- constraintsEvent();
- }
-
--InfoApplet::~InfoApplet()
--{
-- delete m_webView;
--}
--
- void InfoApplet::constraintsEvent( Plasma::Constraints constraints )
- {
- Q_UNUSED( constraints )
-diff --git a/src/context/applets/info/InfoApplet.h b/src/context/applets/info/InfoApplet.h
-index 4be28fc..775ea7c 100644
---- a/src/context/applets/info/InfoApplet.h
-+++ b/src/context/applets/info/InfoApplet.h
-@@ -48,6 +48,8 @@ public:
- InfoApplet( QObject* parent, const QVariantList& args );
- virtual ~InfoApplet();
-
-+ void init();
-+
- void paintInterface( QPainter *painter, const QStyleOptionGraphicsItem *option, const QRect &contentsRect );
- void constraintsEvent( Plasma::Constraints constraints = Plasma::AllConstraints );
-
diff --git a/media-sound/amarok/files/amarok-qtscriptcheck.patch b/media-sound/amarok/files/amarok-qtscriptcheck.patch
deleted file mode 100644
index 643ec30f4eb4..000000000000
--- a/media-sound/amarok/files/amarok-qtscriptcheck.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/cmake/modules/bindingstest/QtScriptBindingsTest.cpp 2009-11-14 15:07:20.400971341 +0200
-+++ b/cmake/modules/bindingstest/QtScriptBindingsTest.cpp 2009-11-14 16:13:48.156222032 +0200
-@@ -16,9 +16,7 @@
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
--#include <KDE/KApplication>
--#include <KDE/KAboutData>
--#include <KDE/KCmdLineArgs>
-+#include <qt4/QtCore/QCoreApplication>
- #include <QtScript/QScriptEngine>
- #include <QtCore/QStringList>
- #include <QtCore/QDebug>
-@@ -27,9 +25,7 @@
-
- int main(int argc, char **argv)
- {
-- KAboutData about( "findgeneratorplugins", "", ki18n("Generator Exists?"), "1.0", ki18n("Find if the QtScript Plugins Are Installed"), KAboutData::License_LGPL_V2 );
-- KCmdLineArgs::init( argc, argv, &about );
-- KApplication app( false ); //no gui pls
-+ QCoreApplication app( argc, argv ); //no gui pls
-
- QStringList allowedBindings;
- allowedBindings << "qt.core" << "qt.gui" << "qt.sql" << "qt.xml" << "qt.uitools" << "qt.network";