FreeBSD Bugzilla – Attachment 214567 Details for
Bug 246342
[NEW PORT] audio/strawberry: Music Player
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
strawberry-v6.diff
strawberry-v6.diff (text/plain), 18.44 KB, created by
Daniel Menelkir
on 2020-05-16 18:50:09 UTC
(
hide
)
Description:
strawberry-v6.diff
Filename:
MIME Type:
Creator:
Daniel Menelkir
Created:
2020-05-16 18:50:09 UTC
Size:
18.44 KB
patch
obsolete
>Index: audio/strawberry/Makefile >=================================================================== >--- audio/strawberry/Makefile (nonexistent) >+++ audio/strawberry/Makefile (working copy) >@@ -0,0 +1,107 @@ >+# $FreeBSD$ >+ >+PORTNAME= strawberry >+DISTVERSION= 0.6.11 >+CATEGORIES= audio >+MASTER_SITES= https://files.jkvinge.net/packages/strawberry/ >+ >+MAINTAINER= menelkir@itroll.org >+COMMENT= Fork of clementine with many features >+ >+LICENSE= GPLv3 >+LICENSE_FILE= ${WRKSRC}/COPYING >+ >+BUILD_DEPENDS= boost-libs>0:devel/boost-libs >+ >+LIB_DEPENDS= libgnutls.so:security/gnutls \ >+ libprotobuf.so:devel/protobuf \ >+ libtag.so:audio/taglib >+ >+USES= compiler:c++11-lang cmake desktop-file-utils gnome pkgconfig \ >+ qt:5 sqlite pkgconfig tar:xz xorg >+USE_GNOME= glib20 >+USE_QT= buildtools_build concurrent core dbus gui network qmake_build \ >+ sql testlib_build widgets x11extras >+USE_XORG= ice sm x11 xcb xext >+INSTALLS_ICONS= yes >+ >+CMAKE_ARGS= -DUSE_SYSTEM_TAGLIB=ON -DENABLE_UDISKS2=OFF -DENABLE_XINE=OFF >+ >+TEST_TARGET= strawberry_test >+ >+OPTIONS_DEFINE= APPLEDEV AUDIOCD IPOD MOODBAR MTPDEV MUSICBRAINZ NLS SUBSONIC \ >+ TEST TIDAL >+APPLEDEV_IMPLIES= IPOD >+MOODBAR_IMPLIES= GSTREAMER >+OPTIONS_DEFAULT= GSTREAMER PULSEAUDIO >+ >+BACKEND_DESC= Multimedia backend(s) >+ >+OPTIONS_MULTI= BACKEND SOUND >+OPTIONS_MULTI_BACKEND= GSTREAMER VLC >+OPTIONS_MULTI_SOUND= ALSA PULSEAUDIO >+ >+APPLEDEV_DESC= Enable support for more recent Apple devices >+AUDIOCD_DESC= Enable support for Audio CDs >+IPOD_DESC= Enable support for iPod Classic >+MTPDEV_DESC= Enable support for Media Transport Protocol >+MOODBAR_DESC= Enable moodbar >+MUSICBRAINZ_DESC= Enable tag fetching from MusicBrainz >+NLS_DESC= Enable translations >+SUBSONIC_DESC= Enable support for Subsonic music streamer >+TIDAL_DESC= Enable support for TIDAL music service >+VLC_DESC= Multimedia support via (lib)vlc >+ >+APPLEDEV_CMAKE_BOOL= ENABLE_IMOBILEDEVICE >+APPLEDEV_LIB_DEPENDS= libimobiledevice.so:comms/libimobiledevice \ >+ libplist.so:devel/libplist \ >+ libusbmuxd.so:comms/libusbmuxd >+ >+ALSA_CMAKE_BOOL= ENABLE_ALSA >+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib >+ >+AUDIOCD_CMAKE_BOOL= ENABLE_AUDIOCD >+ALSA_LIB_DEPENDS= libcdio.so:sysutils/libcdio >+ >+IPOD_CMAKE_BOOL= ENABLE_LIBGPOD >+IPOD_LIB_DEPENDS= libgpod.so:audio/libgpod >+ >+MTPDEV_CMAKE_BOOL= ENABLE_LIBMTP >+MTPDEV_LIB_DEPENDS= libmtp.so:multimedia/libmtp >+ >+MOODBAR_CMAKE_BOOL= ENABLE_MOODBAR >+MOODBAR_LIB_DEPENDS= libfftw3.so:math/fftw3 >+ >+MUSICBRAINZ_CMAKE_BOOL= ENABLE_CHROMAPRINT >+MUSICBRAINZ_LIB_DEPENDS= libchromaprint.so:audio/chromaprint >+ >+PULSEAUDIO_CMAKE_BOOL= ENABLE_PULSE >+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio >+ >+SUBSONIC_CMAKE_BOOL= ENABLE_SUBSONIC >+ >+TIDAL_CMAKE_BOOL= ENABLE_TIDAL >+ >+TEST_LIB_DEPENDS= libgtest.so:devel/googletest >+ >+VLC_CMAKE_BOOL= ENABLE_VLC >+VLC_LIB_DEPENDS= libvlc.so:multimedia/vlc >+ >+.include <bsd.port.options.mk> >+ >+.if ${PORT_OPTIONS:MGSTREAMER} >+USE_GSTREAMER1= yes >+CMAKE_ARGS+= -DUSE_GSTREAMER=ON >+.else >+CMAKE_ARGS+= -DUSE_GSTREAMER=OFF >+.endif >+ >+.if ${PORT_OPTIONS:MNLS} >+USES+= gettext-runtime gettext-tools iconv >+USE_QT+= linguisttools >+CMAKE_ARGS+= -DUSE_TRANSLATIONS=ON >+.else >+CMAKE_ARGS+= -DUSE_TRANSLATIONS=OFF >+.endif >+ >+.include <bsd.port.mk> > >Property changes on: audio/strawberry/Makefile >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:keywords >## -0,0 +1 ## >+FreeBSD=%H >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/strawberry/distinfo >=================================================================== >--- audio/strawberry/distinfo (nonexistent) >+++ audio/strawberry/distinfo (working copy) >@@ -0,0 +1,3 @@ >+TIMESTAMP = 1589641083 >+SHA256 (strawberry-0.6.11.tar.xz) = 84b71b33b5f80b7e86682e49f15289c2c00ab89d47e3722f762dda0d6965a201 >+SIZE (strawberry-0.6.11.tar.xz) = 9295808 > >Property changes on: audio/strawberry/distinfo >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/strawberry/files/patch-src_collection_collectionmodel.cpp >=================================================================== >--- audio/strawberry/files/patch-src_collection_collectionmodel.cpp (nonexistent) >+++ audio/strawberry/files/patch-src_collection_collectionmodel.cpp (working copy) >@@ -0,0 +1,84 @@ >+--- src/collection/collectionmodel.cpp.orig 2020-05-16 18:39:26 UTC >++++ src/collection/collectionmodel.cpp >+@@ -119,12 +119,14 @@ CollectionModel::CollectionModel(CollectionBackend *ba >+ } >+ >+ QIcon nocover = IconLoader::Load("cdcase"); >+- no_cover_icon_ = nocover.pixmap(nocover.availableSizes().last()).scaled(kPrettyCoverSize, kPrettyCoverSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); >+- //no_cover_icon_ = QPixmap(":/pictures/noalbumart.png").scaled(kPrettyCoverSize, kPrettyCoverSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); >++ if (!nocover.isNull()) { >++ no_cover_icon_ = nocover.pixmap(nocover.availableSizes().last()).scaled(kPrettyCoverSize, kPrettyCoverSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); >++ } >+ >+- if (sIconCache == nullptr) { >++ if (app_ && !sIconCache) { >+ sIconCache = new QNetworkDiskCache(this); >+ sIconCache->setCacheDirectory(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + "/" + kPixmapDiskCacheDir); >++ connect(app_, SIGNAL(ClearPixmapDiskCache()), SLOT(ClearDiskCache())); >+ } >+ >+ connect(backend_, SIGNAL(SongsDiscovered(SongList)), SLOT(SongsDiscovered(SongList))); >+@@ -139,8 +141,6 @@ CollectionModel::CollectionModel(CollectionBackend *ba >+ backend_->UpdateTotalArtistCountAsync(); >+ backend_->UpdateTotalAlbumCountAsync(); >+ >+- connect(app_, SIGNAL(ClearPixmapDiskCache()), SLOT(ClearDiskCache())); >+- >+ ReloadSettings(); >+ >+ } >+@@ -189,7 +189,9 @@ void CollectionModel::ReloadSettings() { >+ >+ QPixmapCache::setCacheLimit(MaximumCacheSize(&s, CollectionSettingsPage::kSettingsCacheSize, CollectionSettingsPage::kSettingsCacheSizeUnit, CollectionSettingsPage::kSettingsCacheSizeDefault) / 1024); >+ >+- sIconCache->setMaximumCacheSize(MaximumCacheSize(&s, CollectionSettingsPage::kSettingsDiskCacheSize, CollectionSettingsPage::kSettingsDiskCacheSizeUnit, CollectionSettingsPage::kSettingsDiskCacheSizeDefault)); >++ if (sIconCache) { >++ sIconCache->setMaximumCacheSize(MaximumCacheSize(&s, CollectionSettingsPage::kSettingsDiskCacheSize, CollectionSettingsPage::kSettingsDiskCacheSizeUnit, CollectionSettingsPage::kSettingsDiskCacheSizeDefault)); >++ } >+ >+ s.endGroup(); >+ >+@@ -510,7 +512,7 @@ void CollectionModel::SongsDeleted(const SongList &son >+ // Remove from pixmap cache >+ const QString cache_key = AlbumIconPixmapCacheKey(ItemToIndex(node)); >+ QPixmapCache::remove(cache_key); >+- if (use_disk_cache_) sIconCache->remove(QUrl(cache_key)); >++ if (use_disk_cache_ && sIconCache) sIconCache->remove(QUrl(cache_key)); >+ if (pending_cache_keys_.contains(cache_key)) { >+ pending_cache_keys_.remove(cache_key); >+ } >+@@ -585,7 +587,7 @@ QVariant CollectionModel::AlbumIcon(const QModelIndex >+ } >+ >+ // Try to load it from the disk cache >+- if (use_disk_cache_) { >++ if (use_disk_cache_ && sIconCache) { >+ std::unique_ptr<QIODevice> cache(sIconCache->data(QUrl(cache_key))); >+ if (cache) { >+ QImage cached_image; >+@@ -637,7 +639,7 @@ void CollectionModel::AlbumCoverLoaded(const quint64 i >+ } >+ >+ // If we have a valid cover not already in the disk cache >+- if (use_disk_cache_) { >++ if (use_disk_cache_ && sIconCache) { >+ std::unique_ptr<QIODevice> cached_img(sIconCache->data(QUrl(cache_key))); >+ if (!cached_img && !result.image_scaled.isNull()) { >+ QNetworkCacheMetaData item_metadata; >+@@ -1556,6 +1558,7 @@ int CollectionModel::MaximumCacheSize(QSettings *s, co >+ } while (unit > 0); >+ >+ return size; >++ >+ } >+ >+ void CollectionModel::GetChildSongs(CollectionItem *item, QList<QUrl> *urls, SongList *songs, QSet<int> *song_ids) const { >+@@ -1686,7 +1689,7 @@ void CollectionModel::TotalAlbumCountUpdatedSlot(const >+ } >+ >+ void CollectionModel::ClearDiskCache() { >+- sIconCache->clear(); >++ if (sIconCache) sIconCache->clear(); >+ } >+ >+ QDataStream &operator<<(QDataStream &s, const CollectionModel::Grouping &g) { > >Property changes on: audio/strawberry/files/patch-src_collection_collectionmodel.cpp >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/strawberry/files/patch-src_organise_organiseformat.cpp >=================================================================== >--- audio/strawberry/files/patch-src_organise_organiseformat.cpp (nonexistent) >+++ audio/strawberry/files/patch-src_organise_organiseformat.cpp (working copy) >@@ -0,0 +1,33 @@ >+--- src/organise/organiseformat.cpp.orig 2020-04-27 23:42:16 UTC >++++ src/organise/organiseformat.cpp >+@@ -35,6 +35,7 @@ >+ #include <QPalette> >+ #include <QValidator> >+ #include <QTextEdit> >++#include <QTextDocument> >+ #include <QTextFormat> >+ >+ #include "core/arraysize.h" >+@@ -44,8 +45,6 @@ >+ >+ #include "organiseformat.h" >+ >+-class QTextDocument; >+- >+ const char *OrganiseFormat::kTagPattern = "\\%([a-zA-Z]*)"; >+ const char *OrganiseFormat::kBlockPattern = "\\{([^{}]+)\\}"; >+ const QStringList OrganiseFormat::kKnownTags = QStringList() << "title" >+@@ -145,7 +144,12 @@ QString OrganiseFormat::GetFilenameForSong(const Song >+ >+ QFileInfo info(filename); >+ QString extension = info.suffix(); >+- QString filepath = info.path() + "/" + info.completeBaseName(); >++ QString filepath; >++ if (!info.path().isEmpty() && info.path() != ".") { >++ filepath.append(info.path()); >++ filepath.append("/"); >++ } >++ filepath.append(info.completeBaseName()); >+ >+ // Fix any parts of the path that start with dots. >+ QStringList parts_old = filepath.split("/"); > >Property changes on: audio/strawberry/files/patch-src_organise_organiseformat.cpp >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/strawberry/files/patch-tests_CMakeLists.txt >=================================================================== >--- audio/strawberry/files/patch-tests_CMakeLists.txt (nonexistent) >+++ audio/strawberry/files/patch-tests_CMakeLists.txt (working copy) >@@ -0,0 +1,10 @@ >+--- tests/CMakeLists.txt.orig 2020-04-27 23:42:17 UTC >++++ tests/CMakeLists.txt >+@@ -87,7 +87,6 @@ if(Qt5Test_FOUND AND GTEST_FOUND AND GMOCK_LIBRARY) >+ add_test_file(src/song_test.cpp false) >+ add_test_file(src/collectionbackend_test.cpp false) >+ add_test_file(src/collectionmodel_test.cpp true) >+- add_test_file(src/playlist_test.cpp true) >+ add_test_file(src/songplaylistitem_test.cpp false) >+ add_test_file(src/organiseformat_test.cpp false) >+ > >Property changes on: audio/strawberry/files/patch-tests_CMakeLists.txt >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/strawberry/files/patch-tests_src_collectionmodel__test.cpp >=================================================================== >--- audio/strawberry/files/patch-tests_src_collectionmodel__test.cpp (nonexistent) >+++ audio/strawberry/files/patch-tests_src_collectionmodel__test.cpp (working copy) >@@ -0,0 +1,29 @@ >+--- tests/src/collectionmodel_test.cpp.orig 2020-04-27 23:42:17 UTC >++++ tests/src/collectionmodel_test.cpp >+@@ -75,6 +75,8 @@ class CollectionModelTest : public ::testing::Test { >+ Song AddSong(const QString& title, const QString& artist, const QString& album, int length) { >+ Song song; >+ song.Init(title, artist, album, length); >++ song.set_mtime(0); >++ song.set_ctime(0); >+ return AddSong(song); >+ } >+ >+@@ -111,6 +113,8 @@ TEST_F(CollectionModelTest, CompilationAlbums) { >+ Song song; >+ song.Init("Title", "Artist", "Album", 123); >+ song.set_compilation(true); >++ song.set_mtime(0); >++ song.set_ctime(0); >+ >+ AddSong(song); >+ model_->Init(false); >+@@ -200,6 +204,8 @@ TEST_F(CollectionModelTest, VariousArtistSongs) { >+ QString n = QString::number(i+1); >+ Song song; >+ song.Init("Title " + n, "Artist " + n, "Album", 0); >++ song.set_mtime(0); >++ song.set_ctime(0); >+ songs << song; >+ } >+ > >Property changes on: audio/strawberry/files/patch-tests_src_collectionmodel__test.cpp >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/strawberry/files/patch-tests_src_organiseformat__test.cpp >=================================================================== >--- audio/strawberry/files/patch-tests_src_organiseformat__test.cpp (nonexistent) >+++ audio/strawberry/files/patch-tests_src_organiseformat__test.cpp (working copy) >@@ -0,0 +1,24 @@ >+--- tests/src/organiseformat_test.cpp.orig 2019-06-29 18:18:34 UTC >++++ tests/src/organiseformat_test.cpp >+@@ -59,6 +59,7 @@ TEST_F(OrganiseFormatTest, BasicReplace) { >+ format_.set_format("%album %albumartist %artist %bitrate %comment %composer %performer %grouping %disc %genre %length %samplerate %bitdepth %title %track %year"); >+ >+ ASSERT_TRUE(format_.IsValid()); >++ >+ EXPECT_EQ("album_albumartist_artist_123_comment_composer_performer_grouping_789_genre_987_654_32_title_321_2010", format_.GetFilenameForSong(song_)); >+ >+ } >+@@ -135,11 +136,12 @@ TEST_F(OrganiseFormatTest, ReplaceNonAscii) { >+ >+ format_.set_remove_non_ascii(false); >+ EXPECT_EQ(QString::fromUtf8("Röyksopp"), format_.GetFilenameForSong(song_)); >++ >+ format_.set_remove_non_ascii(true); >+ EXPECT_EQ("Royksopp", format_.GetFilenameForSong(song_)); >+ >+ song_.set_artist(QString::fromUtf8("ÐÐ»Ð°Ð´Ð¸Ð¼Ð¸Ñ ÐÑÑоÑкий")); >+- EXPECT_EQ("_________________", format_.GetFilenameForSong(song_)); >++ EXPECT_EQ("????????_????????", format_.GetFilenameForSong(song_)); >+ >+ } >+ > >Property changes on: audio/strawberry/files/patch-tests_src_organiseformat__test.cpp >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/strawberry/files/patch-tests_src_playlist__test.cpp >=================================================================== >--- audio/strawberry/files/patch-tests_src_playlist__test.cpp (nonexistent) >+++ audio/strawberry/files/patch-tests_src_playlist__test.cpp (working copy) >@@ -0,0 +1,31 @@ >+--- tests/src/playlist_test.cpp.orig 2020-04-27 23:42:17 UTC >++++ tests/src/playlist_test.cpp >+@@ -53,15 +53,15 @@ class PlaylistTest : public ::testing::Test { >+ Song metadata; >+ metadata.Init(title, artist, album, length); >+ >+- //MockPlaylistItem* ret = new MockPlaylistItem; >++ MockPlaylistItem *ret = new MockPlaylistItem; >+ //EXPECT_CALL(*ret, Metadata()).WillRepeatedly(Return(metadata)); >+ >+- //return ret; >++ return ret; >+ return nullptr; >+ } >+ >+- std::shared_ptr<PlaylistItem> MakeMockItemP(const QString& title, const QString& artist = QString(), const QString& album = QString(), int length = 123) const { >+- return std::shared_ptr<PlaylistItem>(MakeMockItem(title, artist, album, length)); >++ PlaylistItemPtr MakeMockItemP(const QString& title, const QString& artist = QString(), const QString& album = QString(), int length = 123) const { >++ return PlaylistItemPtr(MakeMockItem(title, artist, album, length)); >+ } >+ >+ Playlist playlist_; >+@@ -76,7 +76,7 @@ TEST_F(PlaylistTest, Basic) { >+ TEST_F(PlaylistTest, InsertItems) { >+ >+ MockPlaylistItem* item = MakeMockItem("Title", "Artist", "Album", 123); >+- std::shared_ptr<PlaylistItem> item_ptr(item); >++ PlaylistItemPtr item_ptr(item); >+ >+ // Insert the item >+ EXPECT_EQ(0, playlist_.rowCount(QModelIndex())); > >Property changes on: audio/strawberry/files/patch-tests_src_playlist__test.cpp >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/strawberry/pkg-descr >=================================================================== >--- audio/strawberry/pkg-descr (nonexistent) >+++ audio/strawberry/pkg-descr (working copy) >@@ -0,0 +1,3 @@ >+Strawberry is a fork of clementine with many features. >+ >+WWW: https://www.strawberrymusicplayer.org/ > >Property changes on: audio/strawberry/pkg-descr >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/strawberry/pkg-plist >=================================================================== >--- audio/strawberry/pkg-plist (nonexistent) >+++ audio/strawberry/pkg-plist (working copy) >@@ -0,0 +1,9 @@ >+bin/strawberry >+bin/strawberry-tagreader >+share/applications/org.strawberrymusicplayer.strawberry.desktop >+share/icons/hicolor/128x128/apps/strawberry.png >+share/icons/hicolor/48x48/apps/strawberry.png >+share/icons/hicolor/64x64/apps/strawberry.png >+share/man/man1/strawberry-tagreader.1.gz >+share/man/man1/strawberry.1.gz >+share/metainfo/org.strawberrymusicplayer.strawberry.appdata.xml > >Property changes on: audio/strawberry/pkg-plist >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 246342
:
214326
|
214334
|
214370
|
214371
|
214444
|
214553
| 214567 |
214588