pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
clementine: add new, incomplete package.
Module Name: pkgsrc-wip
Committed By: Thomas Klausner <wiz%NetBSD.org@localhost>
Pushed By: wiz
Date: Fri Aug 5 16:01:17 2016 +0200
Changeset: 1bac127b4a543f5ca063596658d06449df8e60ba
Modified Files:
Makefile
Added Files:
clementine/DESCR
clementine/Makefile
clementine/PLIST
clementine/TODO
clementine/distinfo
clementine/patches/patch-CMakeLists.txt
clementine/patches/patch-src_CMakeLists.txt
clementine/patches/patch-src_main.cpp
clementine/patches/patch-src_songinfo_artistinfoview.cpp
clementine/patches/patch-src_songinfo_songkickconcerts.cpp
Log Message:
clementine: add new, incomplete package.
A music player inspired by amarok 1.4.
On NetBSD-current, it has lots of implicit casting errors
and this one, which has me stumped:
In file included from /usr/include/sys/types.h:354:0,
from /scratch/wip/clementine/work/.buildlink/include/cdio/types.h:35,
from /scratch/wip/clementine/work/.buildlink/include/cdio/cdio.h:36,
from /scratch/wip/clementine/work/Clementine-1.3.1/src/ripper/ripper.h:21,
from /scratch/wip/clementine/work/Clementine-1.3.1/src/ripper/ripper.cpp:18:
/usr/include/g++/ext/concurrence.h: At global scope:
/usr/include/g++/ext/concurrence.h:122:34: error: invalid conversion from 'void*' to 'pthread_t {aka __pthread_st*}' [-fpermissive]
__gthread_mutex_t _M_mutex = __GTHREAD_MUTEX_INIT;
^
/usr/include/g++/ext/concurrence.h:122:34: error: invalid conversion from 'void*' to '__pthread_st**' [-fpermissive]
/usr/include/g++/ext/concurrence.h:255:32: error: invalid conversion from 'void*' to '__pthread_st*' [-fpermissive]
__gthread_cond_t _M_cond = __GTHREAD_COND_INIT;
^
/usr/include/g++/ext/concurrence.h:255:32: error: invalid conversion from 'void*' to '__pthread_st**' [-fpermissive]
/usr/include/g++/ext/concurrence.h:255:32: error: invalid conversion from 'void*' to 'pthread_mutex_t* {aka __pthread_mutex_st*}' [-fpermissive]
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=1bac127b4a543f5ca063596658d06449df8e60ba
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 4 +-
clementine/DESCR | 4 ++
clementine/Makefile | 55 +++++++++++++++
clementine/PLIST | 1 +
clementine/TODO | 18 +++++
clementine/distinfo | 11 +++
clementine/patches/patch-CMakeLists.txt | 28 ++++++++
clementine/patches/patch-src_CMakeLists.txt | 58 ++++++++++++++++
clementine/patches/patch-src_main.cpp | 27 ++++++++
.../patches/patch-src_songinfo_artistinfoview.cpp | 32 +++++++++
.../patch-src_songinfo_songkickconcerts.cpp | 79 ++++++++++++++++++++++
11 files changed, 314 insertions(+), 3 deletions(-)
diffs:
diff --git a/Makefile b/Makefile
index 7c4f191..1918e9a 100644
--- a/Makefile
+++ b/Makefile
@@ -369,6 +369,7 @@ SUBDIR+= classgen
SUBDIR+= classic-mac-font-pack
SUBDIR+= claws-mail-fancy
SUBDIR+= clearsans-ttf
+SUBDIR+= clementine
SUBDIR+= clfswm
SUBDIR+= clhep
SUBDIR+= cli-git
@@ -3086,9 +3087,6 @@ SUBDIR+= py-mark
SUBDIR+= py-markovchain
SUBDIR+= py-math-snappy
SUBDIR+= py-mathjspy
-SUBDIR+= py-matplotlib
-SUBDIR+= py-matplotlib-gtk2
-SUBDIR+= py-matplotlib-tk
SUBDIR+= py-matplottheme
SUBDIR+= py-mave
SUBDIR+= py-mcerp
diff --git a/clementine/DESCR b/clementine/DESCR
new file mode 100644
index 0000000..601ad26
--- /dev/null
+++ b/clementine/DESCR
@@ -0,0 +1,4 @@
+Clementine is a modern music player and library organizer
+
+It is inspired by Amarok 1.4, focusing on a fast and easy-to-use
+interface for searching and playing your music.
diff --git a/clementine/Makefile b/clementine/Makefile
new file mode 100644
index 0000000..4c2be7b
--- /dev/null
+++ b/clementine/Makefile
@@ -0,0 +1,55 @@
+# $NetBSD$
+
+DISTNAME= clementine-1.3.1
+CATEGORIES= audio
+MASTER_SITES= ${MASTER_SITE_GITHUB:=clementine-player/}
+DIST_SUBDIR= ${GITHUB_PROJECT}
+GITHUB_PROJECT= Clementine
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://www.clementine-player.org/
+COMMENT= Cross-platform music player inspired by Amarok 1.4
+LICENSE= gnu-gpl-v3
+
+WRKSRC= ${WRKDIR}/${DISTNAME:S/c/C/}
+USE_CMAKE= yes
+USE_TOOLS+= pkg-config
+USE_LANGUAGES= c c++
+
+PKGCONFIG_OVERRIDE+= 3rdparty/libprojectm/libprojectM.pc.in
+
+LDFLAGS.NetBSD+= -lexecinfo # for backtrace()
+
+# libgpod (optional, for iPod support)
+# libplist (optional, for iPod support)
+# libusbmuxd (optional, for iPod support)
+# libmtp (optional, for MTP support)
+# libgio (optional, for various device support)
+# libcdio (optional, for CD support)
+.include "../../misc/libcdio/buildlink3.mk"
+# libspotify (optional, for Spotify support)
+# libcrypto++ (optional, for Spotify support)
+# libsparsehash (optional, for Google Drive/Dropbox/Box/Skydrive support)
+# libpulse (optional, for choosing output devices)
+
+.include "../../devel/boost-libs/buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../multimedia/gstreamer1/buildlink3.mk"
+.include "../../multimedia/gst-plugins1-base/buildlink3.mk"
+.include "../../audio/liblastfm/buildlink3.mk"
+.include "../../devel/glib2/buildlink3.mk"
+.include "../../x11/qt4-libs/buildlink3.mk"
+.include "../../x11/qt4-tools/buildlink3.mk"
+.include "../../x11/qt4-qdbus/buildlink3.mk"
+.include "../../audio/taglib/buildlink3.mk"
+.include "../../audio/chromaprint/buildlink3.mk"
+.include "../../graphics/glew/buildlink3.mk"
+.include "../../devel/qjson/buildlink3.mk"
+.include "../../databases/sqlite3/buildlink3.mk"
+.include "../../devel/protobuf/buildlink3.mk"
+.include "../../security/qca2/buildlink3.mk"
+# all below here supposedly optional, but not really
+.include "../../security/crypto++/buildlink3.mk"
+.include "../../textproc/libxml2/buildlink3.mk"
+.include "../../audio/pulseaudio/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/clementine/PLIST b/clementine/PLIST
new file mode 100644
index 0000000..48d96a5
--- /dev/null
+++ b/clementine/PLIST
@@ -0,0 +1 @@
+@comment $NetBSD$
diff --git a/clementine/TODO b/clementine/TODO
new file mode 100644
index 0000000..407356e
--- /dev/null
+++ b/clementine/TODO
@@ -0,0 +1,18 @@
+Lots of implicit cast errors and a thread initializer issue in a
+header in the NetBSD base system:
+
+In file included from /usr/include/sys/types.h:354:0,
+ from /scratch/wip/clementine/work/.buildlink/include/cdio/types.h:35,
+ from /scratch/wip/clementine/work/.buildlink/include/cdio/cdio.h:36,
+ from /scratch/wip/clementine/work/Clementine-1.3.1/src/ripper/ripper.h:21,
+ from /scratch/wip/clementine/work/Clementine-1.3.1/src/ripper/ripper.cpp:18:
+/usr/include/g++/ext/concurrence.h: At global scope:
+/usr/include/g++/ext/concurrence.h:122:34: error: invalid conversion from 'void*' to 'pthread_t {aka __pthread_st*}' [-fpermissive]
+ __gthread_mutex_t _M_mutex = __GTHREAD_MUTEX_INIT;
+ ^
+/usr/include/g++/ext/concurrence.h:122:34: error: invalid conversion from 'void*' to '__pthread_st**' [-fpermissive]
+/usr/include/g++/ext/concurrence.h:255:32: error: invalid conversion from 'void*' to '__pthread_st*' [-fpermissive]
+ __gthread_cond_t _M_cond = __GTHREAD_COND_INIT;
+ ^
+/usr/include/g++/ext/concurrence.h:255:32: error: invalid conversion from 'void*' to '__pthread_st**' [-fpermissive]
+/usr/include/g++/ext/concurrence.h:255:32: error: invalid conversion from 'void*' to 'pthread_mutex_t* {aka __pthread_mutex_st*}' [-fpermissive]
diff --git a/clementine/distinfo b/clementine/distinfo
new file mode 100644
index 0000000..dc2c622
--- /dev/null
+++ b/clementine/distinfo
@@ -0,0 +1,11 @@
+$NetBSD$
+
+SHA1 (Clementine/clementine-1.3.1.tar.gz) = caf50b46551f2878a6e2e01633cf283ca4f37ffe
+RMD160 (Clementine/clementine-1.3.1.tar.gz) = fb5780599a9af524b54c0e7b04f4721eb56ddae1
+SHA512 (Clementine/clementine-1.3.1.tar.gz) = 1942a046be24a583b5e2095dd39dc736c1b14a47dc4aad61d6252c1fccf745c26d7b35da907a220d5dc8c0736f5b589d050ed9582de343aa3cb5abc607001790
+Size (Clementine/clementine-1.3.1.tar.gz) = 8501827 bytes
+SHA1 (patch-CMakeLists.txt) = f17c67d9b86b131a176d0afb9c603ded5a5201ed
+SHA1 (patch-src_CMakeLists.txt) = 2b117f4736cc1a7c278faabf1c5d590ddaa26d22
+SHA1 (patch-src_main.cpp) = 8e7f0be2f1a8059277042e63557a2e7d3dbca1ca
+SHA1 (patch-src_songinfo_artistinfoview.cpp) = cfd73d040cfa34761b25d675537d1e3fe0a9dc19
+SHA1 (patch-src_songinfo_songkickconcerts.cpp) = ee8e7b053ffa0c0c283dfbeb9bdb41ba57b26485
diff --git a/clementine/patches/patch-CMakeLists.txt b/clementine/patches/patch-CMakeLists.txt
new file mode 100644
index 0000000..c360813
--- /dev/null
+++ b/clementine/patches/patch-CMakeLists.txt
@@ -0,0 +1,28 @@
+$NetBSD$
+
+Remove unnecessary fatal error.
+
+Remove echonest support, see
+https://github.com/clementine-player/Clementine/commit/a8a0f2e4fdd3d4b2fd23b8628a3abc27c290d01d
+
+--- CMakeLists.txt.orig 2016-04-19 15:08:35.000000000 +0000
++++ CMakeLists.txt
+@@ -275,8 +275,6 @@ optional_component(LIBPULSE ON "Pulse au
+ optional_component(VISUALISATIONS ON "Visualisations")
+
+ if(NOT HAVE_SPOTIFY_BLOB AND NOT CRYPTOPP_FOUND)
+- message(FATAL_ERROR "Either crypto++ must be available or the non-GPL Spotify "
+- "code must be compiled in")
+ elseif(CRYPTOPP_FOUND)
+ set(HAVE_CRYPTOPP ON)
+ set(HAVE_SPOTIFY_DOWNLOADER ON)
+@@ -365,9 +363,6 @@ else (USE_SYSTEM_QXT)
+ endif (NOT APPLE)
+ endif (USE_SYSTEM_QXT)
+
+-find_path(ECHONEST_INCLUDE_DIRS echonest/echonest_export.h)
+-find_library(ECHONEST_LIBRARIES echonest)
+-
+ # Use system gmock if it's available
+ # We need to look for both gmock and gtest
+ find_path(GMOCK_INCLUDE_DIRS gmock/gmock.h)
diff --git a/clementine/patches/patch-src_CMakeLists.txt b/clementine/patches/patch-src_CMakeLists.txt
new file mode 100644
index 0000000..050918d
--- /dev/null
+++ b/clementine/patches/patch-src_CMakeLists.txt
@@ -0,0 +1,58 @@
+$NetBSD$
+
+Remove echonest support, see
+https://github.com/clementine-player/Clementine/commit/a8a0f2e4fdd3d4b2fd23b8628a3abc27c290d01d
+
+--- src/CMakeLists.txt.orig 2016-04-19 15:08:35.000000000 +0000
++++ src/CMakeLists.txt
+@@ -35,7 +35,6 @@ include_directories(${LIBPROJECTM_INCLUD
+ include_directories(${QTSINGLEAPPLICATION_INCLUDE_DIRS})
+ include_directories(${QTIOCOMPRESSOR_INCLUDE_DIRS})
+ include_directories(${QXT_INCLUDE_DIRS})
+-include_directories(${ECHONEST_INCLUDE_DIRS})
+ include_directories(${SHA2_INCLUDE_DIRS})
+ include_directories(${CHROMAPRINT_INCLUDE_DIRS})
+ include_directories(${MYGPOQT_INCLUDE_DIRS})
+@@ -297,8 +296,6 @@ set(SOURCES
+ songinfo/artistinfoview.cpp
+ songinfo/collapsibleinfoheader.cpp
+ songinfo/collapsibleinfopane.cpp
+- songinfo/echonestbiographies.cpp
+- songinfo/echonestimages.cpp
+ songinfo/songinfobase.cpp
+ songinfo/songinfofetcher.cpp
+ songinfo/songinfoprovider.cpp
+@@ -586,8 +583,6 @@ set(HEADERS
+ songinfo/artistinfoview.h
+ songinfo/collapsibleinfoheader.h
+ songinfo/collapsibleinfopane.h
+- songinfo/echonestbiographies.h
+- songinfo/echonestimages.h
+ songinfo/songinfobase.h
+ songinfo/songinfofetcher.h
+ songinfo/songinfoprovider.h
+@@ -822,16 +817,12 @@ optional_source(HAVE_LIBLASTFM
+ internet/lastfm/lastfmcompat.cpp
+ internet/lastfm/lastfmservice.cpp
+ internet/lastfm/lastfmsettingspage.cpp
+- songinfo/echonestsimilarartists.cpp
+- songinfo/echonesttags.cpp
+ songinfo/lastfmtrackinfoprovider.cpp
+ songinfo/tagwidget.cpp
+ HEADERS
+ covers/lastfmcoverprovider.h
+ internet/lastfm/lastfmservice.h
+ internet/lastfm/lastfmsettingspage.h
+- songinfo/echonestsimilarartists.h
+- songinfo/echonesttags.h
+ songinfo/lastfmtrackinfoprovider.h
+ songinfo/tagwidget.h
+ UI
+@@ -1241,7 +1232,6 @@ target_link_libraries(clementine_lib
+ ${TAGLIB_LIBRARIES}
+ ${MYGPOQT_LIBRARIES}
+ ${CHROMAPRINT_LIBRARIES}
+- ${ECHONEST_LIBRARIES}
+ ${GOBJECT_LIBRARIES}
+ ${GLIB_LIBRARIES}
+ ${GIO_LIBRARIES}
diff --git a/clementine/patches/patch-src_main.cpp b/clementine/patches/patch-src_main.cpp
new file mode 100644
index 0000000..f9ae792
--- /dev/null
+++ b/clementine/patches/patch-src_main.cpp
@@ -0,0 +1,27 @@
+$NetBSD$
+
+Remove echonest support, see
+https://github.com/clementine-player/Clementine/commit/a8a0f2e4fdd3d4b2fd23b8628a3abc27c290d01d
+
+--- src/main.cpp.orig 2016-04-19 15:08:35.000000000 +0000
++++ src/main.cpp
+@@ -76,8 +76,6 @@
+ #include <glib.h>
+ #include <gst/gst.h>
+
+-#include <echonest/Config.h>
+-
+ #ifdef Q_OS_DARWIN
+ #include <sys/resource.h>
+ #include <sys/sysctl.h>
+@@ -440,10 +438,6 @@ int main(int argc, char* argv[]) {
+ Application app;
+ app.set_language_name(language);
+
+- Echonest::Config::instance()->setAPIKey("DFLFLJBUF4EGTXHIG");
+- Echonest::Config::instance()->setNetworkAccessManager(
+- new NetworkAccessManager);
+-
+ // Network proxy
+ QNetworkProxyFactory::setApplicationProxyFactory(
+ NetworkProxyFactory::Instance());
diff --git a/clementine/patches/patch-src_songinfo_artistinfoview.cpp b/clementine/patches/patch-src_songinfo_artistinfoview.cpp
new file mode 100644
index 0000000..f32ced3
--- /dev/null
+++ b/clementine/patches/patch-src_songinfo_artistinfoview.cpp
@@ -0,0 +1,32 @@
+$NetBSD$
+
+Remove echonest support, see
+https://github.com/clementine-player/Clementine/commit/a8a0f2e4fdd3d4b2fd23b8628a3abc27c290d01d
+
+--- src/songinfo/artistinfoview.cpp.orig 2016-04-19 15:08:35.000000000 +0000
++++ src/songinfo/artistinfoview.cpp
+@@ -16,24 +16,16 @@
+ */
+
+ #include "artistinfoview.h"
+-#include "echonestbiographies.h"
+-#include "echonestimages.h"
+ #include "songinfofetcher.h"
+ #include "songkickconcerts.h"
+ #include "widgets/prettyimageview.h"
+
+ #ifdef HAVE_LIBLASTFM
+-#include "echonestsimilarartists.h"
+-#include "echonesttags.h"
+ #endif
+
+ ArtistInfoView::ArtistInfoView(QWidget* parent) : SongInfoBase(parent) {
+- fetcher_->AddProvider(new EchoNestBiographies);
+- fetcher_->AddProvider(new EchoNestImages);
+ fetcher_->AddProvider(new SongkickConcerts);
+ #ifdef HAVE_LIBLASTFM
+- fetcher_->AddProvider(new EchoNestSimilarArtists);
+- fetcher_->AddProvider(new EchoNestTags);
+ #endif
+ }
+
diff --git a/clementine/patches/patch-src_songinfo_songkickconcerts.cpp b/clementine/patches/patch-src_songinfo_songkickconcerts.cpp
new file mode 100644
index 0000000..2ccec70
--- /dev/null
+++ b/clementine/patches/patch-src_songinfo_songkickconcerts.cpp
@@ -0,0 +1,79 @@
+$NetBSD$
+
+Remove echonest support, see
+https://github.com/clementine-player/Clementine/commit/a8a0f2e4fdd3d4b2fd23b8628a3abc27c290d01d
+
+--- src/songinfo/songkickconcerts.cpp.orig 2016-04-19 15:08:35.000000000 +0000
++++ src/songinfo/songkickconcerts.cpp
+@@ -21,9 +21,6 @@
+ #include <QVBoxLayout>
+ #include <QXmlStreamWriter>
+
+-#include <echonest/Artist.h>
+-#include <echonest/TypeInformation.h>
+-
+ #include <qjson/parser.h>
+
+ #include "core/closure.h"
+@@ -47,57 +44,13 @@ SongkickConcerts::SongkickConcerts() {
+ }
+
+ void SongkickConcerts::FetchInfo(int id, const Song& metadata) {
+- Echonest::Artist::SearchParams params;
+- params.push_back(
+- qMakePair(Echonest::Artist::Name, QVariant(metadata.artist())));
+- qLog(Debug) << "Params:" << params;
+- QNetworkReply* reply = Echonest::Artist::search(
+- params,
+- Echonest::ArtistInformation(Echonest::ArtistInformation::NoInformation,
+- QStringList() << kSongkickArtistBucket));
+- qLog(Debug) << reply->request().url();
+- NewClosure(reply, SIGNAL(finished()), this,
+- SLOT(ArtistSearchFinished(QNetworkReply*, int)), reply, id);
++ emit Finished(id);
++ return;
+ }
+
+ void SongkickConcerts::ArtistSearchFinished(QNetworkReply* reply, int id) {
+- reply->deleteLater();
+- try {
+- Echonest::Artists artists = Echonest::Artist::parseSearch(reply);
+- if (artists.isEmpty()) {
+- qLog(Debug) << "Failed to find artist in echonest";
+- emit Finished(id);
+- return;
+- }
+-
+- const Echonest::Artist& artist = artists[0];
+- const Echonest::ForeignIds& foreign_ids = artist.foreignIds();
+- QString songkick_id;
+- for (const Echonest::ForeignId& id : foreign_ids) {
+- if (id.catalog == "songkick") {
+- songkick_id = id.foreign_id;
+- break;
+- }
+- }
+-
+- if (songkick_id.isEmpty()) {
+- qLog(Debug) << "Failed to fetch songkick foreign id for artist";
+- emit Finished(id);
+- return;
+- }
+-
+- QStringList split = songkick_id.split(':');
+- if (split.count() != 3) {
+- qLog(Error) << "Weird songkick id";
+- emit Finished(id);
+- return;
+- }
+-
+- FetchSongkickCalendar(split[2], id);
+- } catch (Echonest::ParseError& e) {
+- qLog(Error) << "Error parsing echonest reply:" << e.errorType() << e.what();
+- emit Finished(id);
+- }
++ emit Finished(id);
++ return;
+ }
+
+ void SongkickConcerts::FetchSongkickCalendar(const QString& artist_id, int id) {
Home |
Main Index |
Thread Index |
Old Index