mxe/plugins/apps/clementine-1-fixes.patch

224 lines
7.6 KiB
Diff

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 1/4] 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 2/4] 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 3/4] 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 4/4] 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"