summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorwiz <wiz>2010-03-16 19:28:50 +0000
committerwiz <wiz>2010-03-16 19:28:50 +0000
commit3124b88e640c93ae98e1edc39e3d9649114638b0 (patch)
treeff05c392460db458d1ec30b9e82e989a9b2ed500 /audio
parent69d55a0a6256dfaeadd015f8de70429850304938 (diff)
downloadpkgsrc-3124b88e640c93ae98e1edc39e3d9649114638b0.tar.gz
Update to 2.3.0, switch to mysql51-server for providing the embedded
mysql server. Changes: Team Amarok is proud to announce Amarok 2.3.0. It contains many improvements and bugfixes over Amarok 2.2.2 as well as many new features. Areas such as podcast support and saved playlists have seen huge improvements, as has the support for USB mass storage devices (including generic MP3 players). With large parts of Amarok 2 becoming quite mature, it was also time to start looking forward again. Therefore, this release also contains a number of new features of a slightly more experimental nature. These include a new main toolbar and a rewritten and much simpler file browser. These parts are brand new and based on user feedback, and they will change and improve over the next few releases. The old slim toolbar is still available should you prefer that, but we encourage you to try out the new toolbar and tell us what you think. The file browser's look and feel now aligns more closely with the rest of Amarok with improvements such as breadcrumb navigation, and it is now focused on being a way to find and play music instead of being a multi-purpose file manager. The context menu of tracks in your playlist now offers a "show in media sources" option, making it easier to find the same track again in the collection browser for editing, moving or deleting the file. Podcasts have received a configuration dialog allowing you to change the update interval as well as the location to store new downloaded episodes. Podcasts and saved playlists are now also grouped by source, and a merged view is available just like in your local collection - perfect for those that don't care where their music is coming from but simply want to listen to it. Now, when a new source of playlists or podcasts becomes available, Amarok will switch off merged view and show a collapsible list of your new listening sources. The Wikipedia applet now looks better and links have been fixed. Internal links to other pages on Wikipedia will display in the applet, and external links open a browser window. In short, Team Amarok has been focusing hard on furthering our long-term goal: making Amarok the best tool for immersing yourself in music, no matter where it comes from.
Diffstat (limited to 'audio')
-rw-r--r--audio/amarok/Makefile22
-rw-r--r--audio/amarok/PLIST29
-rw-r--r--audio/amarok/distinfo12
-rw-r--r--audio/amarok/patches/patch-aa369
-rw-r--r--audio/amarok/patches/patch-ab10
-rw-r--r--audio/amarok/patches/patch-ac14
6 files changed, 46 insertions, 410 deletions
diff --git a/audio/amarok/Makefile b/audio/amarok/Makefile
index af10538a4b8..231ef0c3ccf 100644
--- a/audio/amarok/Makefile
+++ b/audio/amarok/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.79 2010/02/16 09:01:46 wiz Exp $
+# $NetBSD: Makefile,v 1.80 2010/03/16 19:28:50 wiz Exp $
#
DISTNAME= amarok-${VERS}
-VERS= 2.2.2
-PKGREVISION= 3
+VERS= 2.3.0
CATEGORIES= audio multimedia
#MASTER_SITES= http://download.kde.org/unstable/amarok/${VERS}/src/ \
# ftp://gd.tuwien.ac.at/kde/unstable/amarok/${VERS}/src/
@@ -25,19 +24,19 @@ USE_CMAKE= yes
USE_LANGUAGES= c c++
USE_TOOLS+= msgfmt pkg-config
-CMAKE_ARGS+= -DMYSQL_INCLUDE_DIR:PATH=${BUILDLINK_PREFIX.mysql-embedded}/mysqld/include/mysql
-CMAKE_ARGS+= -DMYSQL_EMBEDDED_LIBRARIES:PATH=${BUILDLINK_PREFIX.mysql-embedded}/mysqld/lib/mysql/libmysqld.a
+CMAKE_ARGS+= -DMYSQL_INCLUDE_DIR:PATH=${BUILDLINK_PREFIX.mysql-client}/include/mysql
+CMAKE_ARGS+= -DMYSQL_EMBEDDED_LIBRARIES:PATH=${BUILDLINK_PREFIX.mysql-server}/lib/mysql/libmysqld.a
CMAKE_ARGS+= -DMYSQL_EMBEDDED_FOUND:BOOL=TRUE
CMAKE_ARGS+= -DHAVE_MYSQL_OPT_EMBEDDED_CONNECTION:BOOL=TRUE
-CMAKE_ARGS+= -DMYSQL_LIBRARIES:PATH=${BUILDLINK_PREFIX.mysql-embedded}/mysqld/lib/mysql/libmysqlclient.so
+CMAKE_ARGS+= -DMYSQL_LIBRARIES:PATH=${BUILDLINK_PREFIX.mysql-client}/lib/mysql/libmysqlclient.so
SUBST_CLASSES+= mysql
SUBST_STAGE.mysql= post-patch
SUBST_MESSAGE.mysql= Fixup paths for MySQL embedded
SUBST_FILES.mysql= cmake/modules/FindMySQLAmarok.cmake
-SUBST_FILES.mysql+= src/collection/mysqlecollection/CMakeLists.txt
-SUBST_SED.mysql= -e s:/opt/mysqle/:${BUILDLINK_PREFIX.mysql-embedded}/mysqld:
-SUBST_SED.mysql+= -e s:@@WLR@@:${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.mysql-embedded}/mysqld/lib/mysql:
+SUBST_FILES.mysql+= src/collection/sqlcollection/mysqlecollection/CMakeLists.txt
+SUBST_SED.mysql= -e s:/opt/mysqle/:${BUILDLINK_PREFIX.mysql-server}:
+SUBST_SED.mysql+= -e s:@@WLR@@:${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.mysql-server}/lib/mysql:
.include "options.mk"
@@ -45,7 +44,10 @@ SUBST_SED.mysql+= -e s:@@WLR@@:${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.mysql-em
BUILDLINK_API_DEPENDS.taglib+= taglib>=1.6nb1
.include "../../audio/taglib/buildlink3.mk"
.include "../../audio/taglib-extras/buildlink3.mk"
-.include "../../databases/mysql51-embedded/buildlink3.mk"
+BUILDLINK_API_DEPENDS.mysql-client+= mysql-client>=5.1.44nb1
+.include "../../databases/mysql51-client/buildlink3.mk"
+BUILDLINK_API_DEPENDS.mysql-server+= mysql-server>=5.1.44nb1
+.include "../../databases/mysql51-server/buildlink3.mk"
.include "../../devel/qtscriptgenerator/buildlink3.mk"
.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
.include "../../meta-pkgs/kde4/kde4.mk"
diff --git a/audio/amarok/PLIST b/audio/amarok/PLIST
index e3a6d49d16a..44520565a3e 100644
--- a/audio/amarok/PLIST
+++ b/audio/amarok/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.32 2010/02/16 09:01:46 wiz Exp $
+@comment $NetBSD: PLIST,v 1.33 2010/03/16 19:28:50 wiz Exp $
bin/amarok
bin/amarok_afttagger
bin/amarokcollectionscanner
@@ -38,6 +38,9 @@ lib/kde4/kcm_amarok_service_ampache.so
lib/kde4/kcm_amarok_service_lastfm.so
lib/kde4/kcm_amarok_service_magnatunestore.so
lib/kde4/kcm_amarok_service_mp3tunes.so
+lib/libamarok-sqlcollection.so
+lib/libamarok-sqlcollection.so.1
+lib/libamarok-sqlcollection.so.1.0.0
lib/libamaroklib.so
lib/libamaroklib.so.1
lib/libamaroklib.so.1.0.0
@@ -491,11 +494,13 @@ share/kde4/services/amarok_service_magnatunestore_config.desktop
share/kde4/services/amarok_service_mp3tunes.desktop
share/kde4/services/amarok_service_mp3tunes_config.desktop
share/kde4/services/amarok_service_opmldirectory.desktop
+share/kde4/services/amarokitpc.protocol
share/kde4/services/amaroklastfm.protocol
share/kde4/servicetypes/amarok_codecinstall.desktop
share/kde4/servicetypes/amarok_context_applet.desktop
share/kde4/servicetypes/amarok_data_engine.desktop
share/kde4/servicetypes/amarok_plugin.desktop
+share/locale/af/LC_MESSAGES/amarok.mo
share/locale/bg/LC_MESSAGES/amarok.mo
share/locale/bg/LC_MESSAGES/amarok_scriptengine_qscript.mo
share/locale/bg/LC_MESSAGES/amarokcollectionscanner_qt.mo
@@ -504,6 +509,10 @@ share/locale/ca/LC_MESSAGES/amarok.mo
share/locale/ca/LC_MESSAGES/amarok_scriptengine_qscript.mo
share/locale/ca/LC_MESSAGES/amarokcollectionscanner_qt.mo
share/locale/ca/LC_MESSAGES/amarokpkg.mo
+share/locale/ca@valencia/LC_MESSAGES/amarok.mo
+share/locale/ca@valencia/LC_MESSAGES/amarok_scriptengine_qscript.mo
+share/locale/ca@valencia/LC_MESSAGES/amarokcollectionscanner_qt.mo
+share/locale/ca@valencia/LC_MESSAGES/amarokpkg.mo
share/locale/cs/LC_MESSAGES/amarok.mo
share/locale/cs/LC_MESSAGES/amarok_scriptengine_qscript.mo
share/locale/cs/LC_MESSAGES/amarokcollectionscanner_qt.mo
@@ -542,10 +551,6 @@ share/locale/it/LC_MESSAGES/amarok.mo
share/locale/it/LC_MESSAGES/amarok_scriptengine_qscript.mo
share/locale/it/LC_MESSAGES/amarokcollectionscanner_qt.mo
share/locale/it/LC_MESSAGES/amarokpkg.mo
-share/locale/km/LC_MESSAGES/amarok.mo
-share/locale/km/LC_MESSAGES/amarok_scriptengine_qscript.mo
-share/locale/km/LC_MESSAGES/amarokcollectionscanner_qt.mo
-share/locale/km/LC_MESSAGES/amarokpkg.mo
share/locale/lv/LC_MESSAGES/amarok.mo
share/locale/lv/LC_MESSAGES/amarok_scriptengine_qscript.mo
share/locale/lv/LC_MESSAGES/amarokcollectionscanner_qt.mo
@@ -577,10 +582,18 @@ share/locale/pt_BR/LC_MESSAGES/amarok.mo
share/locale/pt_BR/LC_MESSAGES/amarok_scriptengine_qscript.mo
share/locale/pt_BR/LC_MESSAGES/amarokcollectionscanner_qt.mo
share/locale/pt_BR/LC_MESSAGES/amarokpkg.mo
+share/locale/ro/LC_MESSAGES/amarok.mo
+share/locale/ro/LC_MESSAGES/amarok_scriptengine_qscript.mo
+share/locale/ro/LC_MESSAGES/amarokcollectionscanner_qt.mo
+share/locale/ro/LC_MESSAGES/amarokpkg.mo
share/locale/ru/LC_MESSAGES/amarok.mo
share/locale/ru/LC_MESSAGES/amarok_scriptengine_qscript.mo
share/locale/ru/LC_MESSAGES/amarokcollectionscanner_qt.mo
share/locale/ru/LC_MESSAGES/amarokpkg.mo
+share/locale/sk/LC_MESSAGES/amarok.mo
+share/locale/sk/LC_MESSAGES/amarok_scriptengine_qscript.mo
+share/locale/sk/LC_MESSAGES/amarokcollectionscanner_qt.mo
+share/locale/sk/LC_MESSAGES/amarokpkg.mo
share/locale/sl/LC_MESSAGES/amarok.mo
share/locale/sl/LC_MESSAGES/amarok_scriptengine_qscript.mo
share/locale/sl/LC_MESSAGES/amarokcollectionscanner_qt.mo
@@ -589,11 +602,17 @@ share/locale/sr/LC_MESSAGES/amarok.mo
share/locale/sr/LC_MESSAGES/amarok_scriptengine_qscript.mo
share/locale/sr/LC_MESSAGES/amarokcollectionscanner_qt.mo
share/locale/sr/LC_MESSAGES/amarokpkg.mo
+share/locale/sr@ijekavian/LC_MESSAGES/amarok.mo
+share/locale/sr@ijekavian/LC_MESSAGES/amarok_scriptengine_qscript.mo
+share/locale/sr@ijekavian/LC_MESSAGES/amarokcollectionscanner_qt.mo
+share/locale/sr@ijekavian/LC_MESSAGES/amarokpkg.mo
+share/locale/sr@ijekavianlatin/LC_MESSAGES/amarokcollectionscanner_qt.mo
share/locale/sr@latin/LC_MESSAGES/amarokcollectionscanner_qt.mo
share/locale/sv/LC_MESSAGES/amarok.mo
share/locale/sv/LC_MESSAGES/amarok_scriptengine_qscript.mo
share/locale/sv/LC_MESSAGES/amarokcollectionscanner_qt.mo
share/locale/sv/LC_MESSAGES/amarokpkg.mo
+share/locale/th/LC_MESSAGES/amarok.mo
share/locale/tr/LC_MESSAGES/amarok.mo
share/locale/tr/LC_MESSAGES/amarok_scriptengine_qscript.mo
share/locale/tr/LC_MESSAGES/amarokcollectionscanner_qt.mo
diff --git a/audio/amarok/distinfo b/audio/amarok/distinfo
index 987eff29916..4fe9acd16f4 100644
--- a/audio/amarok/distinfo
+++ b/audio/amarok/distinfo
@@ -1,8 +1,6 @@
-$NetBSD: distinfo,v 1.38 2010/02/16 09:01:46 wiz Exp $
+$NetBSD: distinfo,v 1.39 2010/03/16 19:28:50 wiz Exp $
-SHA1 (amarok-2.2.2.tar.bz2) = 2075299b856477cf55cba8ba983ea25a93dc139b
-RMD160 (amarok-2.2.2.tar.bz2) = 0782c4b032d318179bd8bb91353f8e33772d2912
-Size (amarok-2.2.2.tar.bz2) = 8788107 bytes
-SHA1 (patch-aa) = 524a9563db17cbf5e234f2ebe261820326e5d30d
-SHA1 (patch-ab) = 62beea32f17ce6e138702e740d089c6257ddfced
-SHA1 (patch-ac) = c8c111d0927efe56a07ce89b2ec788a6364257aa
+SHA1 (amarok-2.3.0.tar.bz2) = 64856a21907d1ba7d198149a8a46276fc4cda7a6
+RMD160 (amarok-2.3.0.tar.bz2) = ff2a7cea8ffbd0e6b08a9b37ab7529e1b1d43a37
+Size (amarok-2.3.0.tar.bz2) = 9391281 bytes
+SHA1 (patch-ab) = 91e6bf8a84d63832641b6270c6f5215baa8f139e
diff --git a/audio/amarok/patches/patch-aa b/audio/amarok/patches/patch-aa
deleted file mode 100644
index f82c07575cc..00000000000
--- a/audio/amarok/patches/patch-aa
+++ /dev/null
@@ -1,369 +0,0 @@
-$NetBSD: patch-aa,v 1.15 2010/02/16 09:01:46 wiz Exp $
-
-post-2.2.2 patch from upstream
-
---- src/collection/sqlcollection/ScanResultProcessor.cpp.orig 2010-01-06 22:19:46.000000000 +0000
-+++ src/collection/sqlcollection/ScanResultProcessor.cpp
-@@ -42,19 +42,59 @@ ScanResultProcessor::ScanResultProcessor
- 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( ScanTy
- 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( c
- 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( c
- 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 QVa
-
- //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 QVa
- //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 QVa
- 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 QStr
- 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
- 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
- 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 QStrin
- 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 QStrin
- 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 QStrin
- 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 QStrin
- //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 QStrin
- 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 QStrin
- {
- 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 QStrin
- 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
- 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
- //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
- }
- }
-
-+ //debug() << "trackIds = " << trackIds;
- if( trackIds.isEmpty() )
- {
-+ //debug() << "trackIds empty, returning zero";
- return 0;
- }
- else
-@@ -933,6 +1045,7 @@ ScanResultProcessor::checkExistingAlbums
- list->replace( 3, compilationString );
- }
- }
-+ //debug() << "returning " << compilationId;
- return compilationId;
- }
- }
-@@ -1167,6 +1280,17 @@ ScanResultProcessor::copyHashesToTempTab
- 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/audio/amarok/patches/patch-ab b/audio/amarok/patches/patch-ab
index 0a0fd5b541e..6fff12da192 100644
--- a/audio/amarok/patches/patch-ab
+++ b/audio/amarok/patches/patch-ab
@@ -1,12 +1,12 @@
-$NetBSD: patch-ab,v 1.4 2010/02/16 09:01:46 wiz Exp $
+$NetBSD: patch-ab,v 1.5 2010/03/16 19:28:50 wiz Exp $
---- src/collection/mysqlecollection/CMakeLists.txt.orig 2009-09-28 17:34:03.000000000 +0000
-+++ src/collection/mysqlecollection/CMakeLists.txt
-@@ -82,6 +82,7 @@ if(APPLE)
+--- src/collection/sqlcollection/mysqlecollection/CMakeLists.txt.orig 2010-03-10 23:12:15.000000000 +0000
++++ src/collection/sqlcollection/mysqlecollection/CMakeLists.txt
+@@ -49,6 +49,7 @@ if(APPLE)
SET_TARGET_PROPERTIES(amarok_collection-mysqlecollection PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
endif(APPLE)
+SET_TARGET_PROPERTIES(amarok_collection-mysqlecollection PROPERTIES LINK_FLAGS "@@WLR@@")
install(TARGETS amarok_collection-mysqlecollection DESTINATION ${PLUGIN_INSTALL_DIR} )
- install(FILES ../sqlcollection/org.kde.amarok.SqlCollection.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR})
+ install(FILES amarok_collection-mysqlecollection.desktop DESTINATION ${SERVICES_INSTALL_DIR})
diff --git a/audio/amarok/patches/patch-ac b/audio/amarok/patches/patch-ac
deleted file mode 100644
index 93b725d6642..00000000000
--- a/audio/amarok/patches/patch-ac
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-ac,v 1.4 2010/02/16 09:01:46 wiz Exp $
-
-post-2.2.2 patch from upstream
-
---- src/collection/sqlcollection/ScanResultProcessor.h.orig 2010-01-06 22:19:46.000000000 +0000
-+++ src/collection/sqlcollection/ScanResultProcessor.h
-@@ -94,6 +94,7 @@ class ScanResultProcessor : public QObje
- 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