Merge pull request #1630 from pavelvat/add-package-qt5-clementine

add package clementine to mxe/plugins/apps
This commit is contained in:
Tony Theodore 2017-07-25 21:54:36 +10:00 committed by GitHub
commit db35db0076
3 changed files with 304 additions and 7 deletions

View File

@ -0,0 +1,225 @@
This file is part of MXE. See LICENSE.md for licensing information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Pavel Vatagin <pavelvat@gmail.com>
Date: Tue, 31 Jan 2017 22:15:13 +0300
Subject: [PATCH] fix build
diff --git a/3rdparty/libprojectm/CMakeLists.txt b/3rdparty/libprojectm/CMakeLists.txt
index 1111111..2222222 100644
--- a/3rdparty/libprojectm/CMakeLists.txt
+++ b/3rdparty/libprojectm/CMakeLists.txt
@@ -176,6 +176,8 @@ if(BUNDLE_PROJECTM_PRESETS)
COPY_ONLY
)
endforeach (preset)
+ elseif (WIN32)
+ INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/projectm-presets)
else (APPLE)
INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/clementine/projectm-presets)
endif (APPLE)
diff --git a/3rdparty/libprojectm/glew.h b/3rdparty/libprojectm/glew.h
index 1111111..2222222 100644
--- a/3rdparty/libprojectm/glew.h
+++ b/3rdparty/libprojectm/glew.h
@@ -149,7 +149,7 @@ typedef unsigned short wchar_t;
# endif
#endif
#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_)
-# ifdef _WIN64
+# if defined(_WIN64) && !defined(__MINGW32__)
typedef __int64 ptrdiff_t;
# else
typedef _W64 int ptrdiff_t;
diff --git a/3rdparty/qtsingleapplication/qtlocalpeer.cpp b/3rdparty/qtsingleapplication/qtlocalpeer.cpp
index 1111111..2222222 100644
--- a/3rdparty/qtsingleapplication/qtlocalpeer.cpp
+++ b/3rdparty/qtsingleapplication/qtlocalpeer.cpp
@@ -54,14 +54,12 @@ static PProcessIdToSessionId pProcessIdToSessionId = 0;
#include <time.h>
#endif
-namespace QtLP_Private {
#include "qtlockedfile.cpp"
#if defined(Q_OS_WIN)
#include "qtlockedfile_win.cpp"
#else
#include "qtlockedfile_unix.cpp"
#endif
-}
const char* QtLocalPeer::ack = "ack";
@@ -113,7 +111,7 @@ bool QtLocalPeer::isClient()
if (lockFile.isLocked())
return false;
- if (!lockFile.lock(QtLP_Private::QtLockedFile::WriteLock, false))
+ if (!lockFile.lock(QtLockedFile::WriteLock, false))
return true;
bool res = server->listen(socketName);
diff --git a/3rdparty/qtsingleapplication/qtlocalpeer.h b/3rdparty/qtsingleapplication/qtlocalpeer.h
index 1111111..2222222 100644
--- a/3rdparty/qtsingleapplication/qtlocalpeer.h
+++ b/3rdparty/qtsingleapplication/qtlocalpeer.h
@@ -67,7 +67,7 @@ protected:
QString id;
QString socketName;
QLocalServer* server;
- QtLP_Private::QtLockedFile lockFile;
+ QtLockedFile lockFile;
private:
static const char* ack;
diff --git a/3rdparty/qtsingleapplication/qtlockedfile.h b/3rdparty/qtsingleapplication/qtlockedfile.h
index 1111111..2222222 100644
--- a/3rdparty/qtsingleapplication/qtlockedfile.h
+++ b/3rdparty/qtsingleapplication/qtlockedfile.h
@@ -61,8 +61,6 @@
# define QT_QTLOCKEDFILE_EXPORT
#endif
-namespace QtLP_Private {
-
class QT_QTLOCKEDFILE_EXPORT QtLockedFile : public QFile
{
public:
@@ -92,5 +90,5 @@ private:
#endif
LockMode m_lock_mode;
};
-}
+
#endif
diff --git a/3rdparty/qtsingleapplication/qtlockedfile_win.cpp b/3rdparty/qtsingleapplication/qtlockedfile_win.cpp
index 1111111..2222222 100644
--- a/3rdparty/qtsingleapplication/qtlockedfile_win.cpp
+++ b/3rdparty/qtsingleapplication/qtlockedfile_win.cpp
@@ -62,7 +62,7 @@ Qt::HANDLE QtLockedFile::getMutexHandle(int idx, bool doCreate)
QT_WA( { mutex = CreateMutexW(NULL, FALSE, (TCHAR*)mname.utf16()); },
{ mutex = CreateMutexA(NULL, FALSE, mname.toLocal8Bit().constData()); } );
#else
- mutex = CreateMutexW(NULL, FALSE, (TCHAR*)mname.utf16());
+ mutex = CreateMutexW(NULL, FALSE, (WCHAR*)mname.utf16());
#endif
if (!mutex) {
qErrnoWarning("QtLockedFile::lock(): CreateMutex failed");
@@ -74,7 +74,7 @@ Qt::HANDLE QtLockedFile::getMutexHandle(int idx, bool doCreate)
QT_WA( { mutex = OpenMutexW(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, (TCHAR*)mname.utf16()); },
{ mutex = OpenMutexA(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, mname.toLocal8Bit().constData()); } );
#else
- mutex = OpenMutexW(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, (TCHAR*)mname.utf16());
+ mutex = OpenMutexW(SYNCHRONIZE | MUTEX_MODIFY_STATE, FALSE, (WCHAR*)mname.utf16());
#endif
if (!mutex) {
if (GetLastError() != ERROR_FILE_NOT_FOUND)
diff --git a/3rdparty/tinysvcmdns/CMakeLists.txt b/3rdparty/tinysvcmdns/CMakeLists.txt
index 1111111..2222222 100644
--- a/3rdparty/tinysvcmdns/CMakeLists.txt
+++ b/3rdparty/tinysvcmdns/CMakeLists.txt
@@ -7,7 +7,7 @@ set(TINYSVCMDNS-SOURCES
)
find_library(PTHREAD
- pthreadGC2
+ pthread
)
add_library(tinysvcmdns STATIC
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Alexander Golubev <fatzer2@gmail.com>
Date: Thu, 16 Mar 2017 14:54:55 +0300
Subject: [PATCH] core/database: configure fts3 tokenizer support
Original patch by Arfrever
This fixes https://github.com/clementine-player/Clementine/issues/5297
https://github.com/clementine-player/Clementine/pull/5669
diff --git a/src/core/database.cpp b/src/core/database.cpp
index 1111111..2222222 100644
--- a/src/core/database.cpp
+++ b/src/core/database.cpp
@@ -265,6 +265,20 @@ QSqlDatabase Database::Connect() {
StaticInit();
{
+
+#ifdef SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
+ // In case sqlite>=3.12 is compiled without -DSQLITE_ENABLE_FTS3_TOKENIZER (generally a good idea
+ // due to security reasons) the fts3 support should be enabled explicitly.
+ // see https://github.com/clementine-player/Clementine/issues/5297
+ QVariant v = db.driver()->handle();
+ if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*") == 0) {
+ sqlite3* handle = *static_cast<sqlite3**>(v.data());
+ if (handle) {
+ sqlite3_db_config(handle, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, NULL);
+ }
+ }
+#endif
+
QSqlQuery set_fts_tokenizer(db);
set_fts_tokenizer.prepare("SELECT fts3_tokenizer(:name, :pointer)");
set_fts_tokenizer.bindValue(":name", "unicode");
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Krzysztof Sobiecki <sobkas@gmail.com>
Date: Sun, 9 Jul 2017 19:05:14 +0200
Subject: [PATCH] Fix build in src/ui/
It looks like there is a problem with build of src/ui/appearancesettingspage.cpp
It might fix it.
https://github.com/clementine-player/Clementine/pull/5784
diff --git a/src/ui/appearancesettingspage.cpp b/src/ui/appearancesettingspage.cpp
index 1111111..2222222 100644
--- a/src/ui/appearancesettingspage.cpp
+++ b/src/ui/appearancesettingspage.cpp
@@ -81,7 +81,7 @@ AppearanceSettingsPage::AppearanceSettingsPage(SettingsDialog* dialog)
connect(ui_->use_no_background, SIGNAL(toggled(bool)),
SLOT(DisableBlurAndOpacitySliders(bool)));
#if !defined (Q_OS_UNIX) || defined (Q_OS_MACOS)
- ui_->sys_icons->setDisabled(true);
+ ui_->b_use_sys_icons->setDisabled(true);
#endif
}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Pavel Vatagin <pavelvat@gmail.com>
Date: Mon, 24 Jul 2017 20:49:21 +0300
Subject: [PATCH] fix qtsparkle headers
diff --git a/src/main.cpp b/src/main.cpp
index 1111111..2222222 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -95,7 +95,7 @@ const QDBusArgument& operator>>(const QDBusArgument& arg, QImage& image);
#endif
#ifdef Q_OS_WIN32
-#include <qtsparkle/Updater>
+#include <qtsparkle-qt5/Updater>
#endif
// Load sqlite plugin on windows and mac.
diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp
index 1111111..2222222 100644
--- a/src/ui/mainwindow.cpp
+++ b/src/ui/mainwindow.cpp
@@ -38,7 +38,7 @@
#include <QtDebug>
#ifdef Q_OS_WIN32
-#include <qtsparkle/Updater>
+#include <qtsparkle-qt5/Updater>
#endif
#include "core/appearance.h"

View File

@ -0,0 +1,78 @@
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := clementine
$(PKG)_IGNORE :=
$(PKG)_VERSION := fbc2f78
$(PKG)_CHECKSUM := ed26f77c41869cbb054a0ca33cc5bb98b5d8cf5ff248ca3ab188b896fb16cc7c
$(PKG)_GH_CONF := clementine-player/Clementine/qt5
$(PKG)_WEBSITE := https://www.clementine-player.org/
$(PKG)_OWNER := https://github.com/pavelvat
$(PKG)_DEPS := gcc boost chromaprint cryptopp fftw glew gst-libav gst-plugins-bad \
gst-plugins-good gst-plugins-ugly liblastfm \
libmpcdec protobuf qtsparkle sparsehash
define $(PKG)_BUILD
cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)' \
-DCMAKE_INSTALL_PREFIX=$(PREFIX)/$(TARGET)/apps/$(PKG)
$(MAKE) -C '$(BUILD_DIR)' -j $(JOBS)
$(MAKE) -C '$(BUILD_DIR)' -j 1 install
$(if $(BUILD_SHARED),
$(INSTALL) -d '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstapetag.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstapp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstasf.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudioconvert.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudiofx.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudioparsers.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudioresample.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstaudiotestsrc.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstautodetect.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstcdio.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstcoreelements.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstdirectsoundsink.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstequalizer.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstfaad.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstflac.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstgdp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstgio.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsticydemux.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstid3demux.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstisomp4.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstlame.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstlibav.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstmms.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstogg.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstopus.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstplayback.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstreplaygain.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstsoup.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstspectrum.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstspeex.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsttaglib.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsttcp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgsttypefindfunctions.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstudp.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstvolume.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstvorbis.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstwavpack.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) '$(PREFIX)/$(TARGET)/bin/gstreamer-1.0/libgstwavparse.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats'
$(INSTALL) '$(PREFIX)/$(TARGET)/qt5/plugins/imageformats/qgif.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats'
$(INSTALL) '$(PREFIX)/$(TARGET)/qt5/plugins/imageformats/qjpeg.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/platforms'
$(INSTALL) '$(PREFIX)/$(TARGET)/qt5/plugins/platforms/qwindows.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/platforms'
'$(TOP_DIR)/tools/copydlldeps.sh' -c \
-d '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin' \
-F '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin' \
-F '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins' \
-F '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/imageformats' \
-X '$(PREFIX)/$(TARGET)/apps' \
-R '$(PREFIX)/$(TARGET)';
)
endef
$(PKG)_BUILD_STATIC =

View File

@ -12,19 +12,13 @@ PKG := clementine_qt4
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.3.1
$(PKG)_CHECKSUM := f885931a9ab7c88607d07b50c64fcce46fc05f13dd2c0a04188c94eff938f37c
$(PKG)_SUBDIR := Clementine-$($(PKG)_VERSION)
$(PKG)_FILE := clementine-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://github.com/clementine-player/clementine/archive/$($(PKG)_VERSION).tar.gz
$(PKG)_GH_CONF := clementine-player/Clementine
$(PKG)_WEBSITE := https://www.clementine-player.org/
$(PKG)_OWNER := https://github.com/pavelvat
$(PKG)_DEPS := gcc boost chromaprint cryptopp fftw glew gst-libav gst-plugins-bad \
gst-plugins-good gst-plugins-ugly libechonest liblastfm_qt4 \
libmpcdec protobuf qtsparkle_qt4 sparsehash
define $(PKG)_UPDATE
$(call MXE_GET_GITHUB_TAGS, clementine-player/clementine)
endef
define $(PKG)_BUILD
cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)' \
-DCMAKE_INSTALL_PREFIX=$(PREFIX)/$(TARGET)/apps/$(PKG)