diff options
author | Tomas Chvatal <scarabeus@gentoo.org> | 2010-08-10 12:55:46 +0000 |
---|---|---|
committer | Tomas Chvatal <scarabeus@gentoo.org> | 2010-08-10 12:55:46 +0000 |
commit | 3e5bee0b5432d6150efc3d4bd9598dc3ece808dc (patch) | |
tree | b687b1440b9b9ff681d02b4fd6f81747cec8bfd3 /media-sound | |
parent | Drop unused stuff. (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | media-sound/amarok/amarok-2.2.2-r1.ebuild | 113 | ||||
-rw-r--r-- | media-sound/amarok/amarok-2.3.1-r1.ebuild | 148 | ||||
-rw-r--r-- | media-sound/amarok/amarok-2.3.1.ebuild | 120 | ||||
-rw-r--r-- | media-sound/amarok/files/amarok-2.2-mysql-libs.patch | 11 | ||||
-rw-r--r-- | media-sound/amarok/files/amarok-2.2.2-nodebug.patch | 383 | ||||
-rw-r--r-- | media-sound/amarok/files/amarok-2.3.0-crash_fix_info_applet.patch | 61 | ||||
-rw-r--r-- | media-sound/amarok/files/amarok-qtscriptcheck.patch | 24 |
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"; |