mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-05 22:48:55 +02:00
Clementine: add recipe for 1.3.1~git version
This commit is contained in:
84
media-sound/clementine/additional-files/clementine.rdef.in
Normal file
84
media-sound/clementine/additional-files/clementine.rdef.in
Normal file
@@ -0,0 +1,84 @@
|
||||
|
||||
resource app_flags B_MULTIPLE_LAUNCH;
|
||||
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = @MINOR@,
|
||||
|
||||
variety = B_APPV_FINAL,
|
||||
internal = 0,
|
||||
|
||||
short_info = "Clementine",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource app_signature "@APP_SIGNATURE@";
|
||||
|
||||
resource file_types message {
|
||||
"types" = "application/x-asf",
|
||||
"types" = "audio"
|
||||
};
|
||||
|
||||
resource vector_icon {
|
||||
$"6E6369660C03FD924703FED9BD03FDA86403FDA86D03FEBD8F03FD924803FD94"
|
||||
$"4A03FD934903FD944C03FD954D050004007B0A0209B6B5B453B5A0B6C6B8F3B3"
|
||||
$"D8BBC7B7A1BA8CB61634B767B95BB6EFBA2AB72DBA30B783BB38B93FBADCB848"
|
||||
$"B9FCB90EB7AC2DB8D3B8A0B891B8F8BA87BA52B9A2B986B90DBA88B613BA94B7"
|
||||
$"90BA90B768BAC6B9F1BBB3B8E0BABFB8ADBC47B5EABC1DB743BC1DB576B98202"
|
||||
$"10B4E4B5C0B438B907B566B528B6B5B453B60FB4BBB5A0B6C6B5EABC1DB576B9"
|
||||
$"82B5EABC1DB5F7BC55B5F7BC55B64ABDC0B749C07BB6BEBF23B755C090B775C0"
|
||||
$"D0B769C0BBB87EC2FBBC4AC604BA19C4F1BC5FC60EBC9FC631BC8BC625BD7AC6"
|
||||
$"9FBF4BC739BE5EC6F7BF92C74BC025C768BFDBC759C07DC775C188C79EC12EC7"
|
||||
$"90C1E1C7ACC294C7C0C23BC7B7C5A4C7C7CBA3C624C8F3C7D7CAF3C715C930C8"
|
||||
$"9BCA1EC7E9C4A6C918BBA5C6F4BFC1C942B8B6C581B5BABF9CB6C8C2A3B483BC"
|
||||
$"7E0207B364BE5DB413C1B8B2E1BB7AB4E4B5C0B2CFB810B438B907B5BABF9CB4"
|
||||
$"83BC7EB6C8C2A3BBA5C6F4B8B6C581BFC1C942C930C89BC4A6C918C75ACA0BC2"
|
||||
$"B9CA76C4F5CA4BBF00CA7AB81AC764BB15C9C0B56DC5210233B95BB6EFBA30B7"
|
||||
$"83BA2AB72DBBC7B7A134B767BCA6B8CCBE56BB27BD7DB9F9BDDEBB15BCF2BAF4"
|
||||
$"BD68BB04BD18BB42BD64BBDDBD3EBB8FBCF0BC18BC0738BC7DBC54BCADBCCABD"
|
||||
$"F7BD3ABD52BD02BD86BD8ABCA63CBD17BDD9BC9DBE70BC8FBEFDBC95BEB5BD19"
|
||||
$"BF11BE2CBF3CBDA3BF27BE04BFA4BDB4C075BDDBC00DBE7CC109C061C13FBF6E"
|
||||
$"C140C095C0DBC0FFC013C0CAC077C136C0ADC1A4C1DEC16CC145C20AC157C2D9"
|
||||
$"C047C271C0CFC366C059C47FC06BC3F1C066C479C02AC46BBF69C46FBFA9C592"
|
||||
$"BFE3C7D6C0F4C6BAC05FC7EFC1A0C825C2F3C80AC248C7ACC271C6B6C171C732"
|
||||
$"C1F1C6C3C26152C441C6D5C352C67DC375C591C1E2C60AC2AAC4E2C2CDC55CC5"
|
||||
$"07C552C3FEC4D8C46EC3C4C348C452C3D9C37BC43BC3B4C62FC39AC539C328C5"
|
||||
$"80C1FCC435C297C4D6C1C5C56CC294C7C0C18DC6D5C23BC7B7C188C79EC1E1C7"
|
||||
$"ACC174C67FC0BEC45BC138C563C021C544C025C768BFD8C654BFDBC759BF4BC7"
|
||||
$"39BF92C74BBF5FC63DBF34C428BFD8C501BDCFC382BC9FC631BD1AC534BC8BC6"
|
||||
$"25BC4AC604BC5FC60EBC97C530BD28C385BCE0C45ABC414ABA75C434BB5BC3F7"
|
||||
$"BB03C3A5BC17C282BB8FC314BB16C211B8EDC233B9FCC229B981C1D1BAA1C105"
|
||||
$"BA12C16CB9A4C076B775C0D0B886C0AAB769C0BBB749C07BB755C090B841C034"
|
||||
$"BA1FBF7EB933BFDFB92EBF3DB74DBEB4B83EBEF9B847BE9DB9E2BD90B940BE62"
|
||||
$"B8DCBC7FB5F7BC55B754BC86B5F7BC55B5EABC1DB5EABC1DB743BC1DB9F1BBB3"
|
||||
$"B8ADBC47B8E0BABFB613BA94B768BAC6B790BA90BA87BA52B90DBA88B9A2B986"
|
||||
$"B7AC2DB891B8F8B8D3B8A0BB38B93FB9FCB90EBADCB8480210BCF2BAF4BD18BB"
|
||||
$"42BD68BB04BE56BB27BDDEBB15BF15BC1EC0DABDD2BFB6BD45C202BE6BC46BBF"
|
||||
$"69C338BEE8C46FBFA9C47FC06BC479C02AC3F1C066C2D9C047C366C059C271C0"
|
||||
$"CFC1A4C1DEC20AC157C16CC145C0FFC013C136C0ADC0CAC077C061C13FC095C0"
|
||||
$"DBBF6EC140BDB4C075BE7CC109BDDBC00DBE2CBF3CBE04BFA4BDA3BF27BC8FBE"
|
||||
$"FDBD19BF11BC95BEB5BCA63CBC9DBE70BD17BDD9BDF7BD3ABD86BD8ABD52BD02"
|
||||
$"BC0738BCADBCCABC7DBC54BD64BBDDBCF0BC18BD3EBB8F0205B5F7BC55B64ABD"
|
||||
$"C0B754BC86B9E2BD90B8DCBC7FB940BE62B74DBEB4B847BE9DB83EBEF9BA1FBF"
|
||||
$"7EB92EBF3DB933BFDFB749C07BB841C034B6BEBF230207B775C0D0B87EC2FBB8"
|
||||
$"86C0AABAA1C105B9A4C076BA12C16CB8EDC233B981C1D1B9FCC229BC17C282BB"
|
||||
$"16C211BB8FC314BA75C434BB03C3A5BB5BC3F7BD28C385BC414ABCE0C45ABC4A"
|
||||
$"C604BC97C530BA19C4F1020DC7D6C0F4C7EFC1A0C983C1D75FC4ACCB54C2D65F"
|
||||
$"C4AC5FC5505FC550CBFDC585CBA3C624CBC2C5EEC8F3C7D7C294C7C0C5A4C7C7"
|
||||
$"C18DC6D5C1FCC435C1C5C56CC297C4D6C3B4C62FC328C580C39AC539C3C4C348"
|
||||
$"C37BC43BC452C3D9C55CC507C4D8C46EC552C3FEC591C1E2C4E2C2CDC60AC2AA"
|
||||
$"52C441C67DC375C6D5C352C6B6C171C6C3C261C732C1F1C825C2F3C7ACC271C8"
|
||||
$"0AC2480203BC9FC631BD7AC69FBD1AC534BF34C428BDCFC382BFD8C501BF4BC7"
|
||||
$"39BF5FC63DBE5EC6F70203C025C768C07DC775BFD8C654C0BEC45BC021C544C1"
|
||||
$"38C563C188C79EC174C67FC12EC7900C0A0B06020304070001123F8723000000"
|
||||
$"0000003F9AF244E7C245FCDF01178422040A0A06020304070001123FA5CE0000"
|
||||
$"000000003FCE6142E53D3FEEDF01178322040A000100023F8816000000000000"
|
||||
$"3FAC5543C4F841FB240A010101023F88160000000000003FAC5543C4F841FB24"
|
||||
$"0A020102023F88160000000000003FAC5543C4F841FB240A030103023F881600"
|
||||
$"00000000003FAC5543C4F841FB240A040104023F88160000000000003FAC5543"
|
||||
$"C4F841FB240A050105023F88160000000000003FAC5543C4F841FB240A060106"
|
||||
$"023F88160000000000003FAC5543C4F841FB240A070107023F88160000000000"
|
||||
$"003FAC5543C4F841FB240A080108023F88160000000000003FAC5543C4F841FB"
|
||||
$"240A090109023F88160000000000003FAC5543C4F841FB24"
|
||||
};
|
||||
166
media-sound/clementine/clementine-1.3.1~git.recipe
Normal file
166
media-sound/clementine/clementine-1.3.1~git.recipe
Normal file
@@ -0,0 +1,166 @@
|
||||
SUMMARY="Modern music player and library organizer based on Amarok 1.4 and Qt5"
|
||||
DESCRIPTION="Clementine Music Player is a multiplatform music player. It is inspired by Amarok 1.4, \
|
||||
focusing on a fast and easy-to-use interface for searching and playing your music.
|
||||
|
||||
Now with Podcast support including integration and synchronization with gpodder.net. \
|
||||
Music from Soundcloud and jazzradio.com is available in the Internet tab in the sidebar, \
|
||||
as well as any songs you've uploaded to Google Drive. \
|
||||
Clementine Music Player will also now show moodbars for the music you play from your local disc.
|
||||
|
||||
Clementine Music Player Features:
|
||||
|
||||
Search and play your local music library.
|
||||
Listen to internet radio from Spotify, Grooveshark, Last.fm, SomaFM, Magnatune, Jamendo, SKY.fm, Digitally Imported, JAZZRADIO.com, Soundcloud, and Icecast.
|
||||
Search and play songs you've uploaded to Google Drive.
|
||||
Create smart playlists and dynamic playlists.
|
||||
Tabbed playlists, import and export M3U, XSPF, PLS and ASX.
|
||||
CUE sheet support.
|
||||
Play audio CDs.
|
||||
Visualisations from projectM.
|
||||
Lyrics and artist biographies and photos.
|
||||
Transcode music into MP3, Ogg Vorbis, Ogg Speex, FLAC or AAC.
|
||||
Edit tags on MP3 and OGG files, organise your music.
|
||||
Fetch missing tags from MusicBrainz.
|
||||
Discover and download Podcasts.
|
||||
Download missing album cover art from Last.fm and Amazon.
|
||||
Cross-platform - works on Windows, Mac OS X and Linux.
|
||||
Native desktop notifications on Linux (libnotify) and Mac OS X (Growl).
|
||||
Remote control using a Wii Remote, MPRIS or the command-line.
|
||||
Copy music to your iPod, iPhone, MTP or mass-storage USB player.
|
||||
Queue manager."
|
||||
HOMEPAGE="https://www.clementine-player.org/"
|
||||
COPYRIGHT="2010-2019 David Sansome, John Maguire, Arnaud Bienner"
|
||||
LICENSE="GNU GPL v3"
|
||||
REVISION="1"
|
||||
srcGitRev="36cc5b82f4daf5c2d4e93dc8072665e5a3ca622b"
|
||||
SOURCE_URI="https://github.com/clementine-player/Clementine/archive/$srcGitRev.tar.gz"
|
||||
CHECKSUM_SHA256="d7f4ee2564fc045dd446226cff02032ba18b9030ad00ba670e484bc9612e7434"
|
||||
SOURCE_DIR="Clementine-$srcGitRev"
|
||||
PATCHES="clementine-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="clementine.rdef.in"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
clementine$secondaryArchSuffix = $portVersion
|
||||
app:Clementine$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libcdio$secondaryArchSuffix
|
||||
lib:libchromaprint$secondaryArchSuffix
|
||||
lib:libfftw3$secondaryArchSuffix
|
||||
lib:libgio_2.0$secondaryArchSuffix
|
||||
lib:libglib_2.0$secondaryArchSuffix
|
||||
lib:libgmodule_2.0$secondaryArchSuffix
|
||||
lib:libgobject_2.0$secondaryArchSuffix
|
||||
lib:libgstapp_1.0$secondaryArchSuffix
|
||||
lib:libgstaudio_1.0$secondaryArchSuffix
|
||||
lib:libgstbase_1.0$secondaryArchSuffix
|
||||
lib:libgstpbutils_1.0$secondaryArchSuffix
|
||||
lib:libgstreamer_1.0$secondaryArchSuffix
|
||||
lib:libiconv$secondaryArchSuffix
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libmtp$secondaryArchSuffix
|
||||
lib:libprotobuf$secondaryArchSuffix
|
||||
lib:libQt5Core$secondaryArchSuffix
|
||||
lib:libQt5Gui$secondaryArchSuffix
|
||||
lib:libQt5Widgets$secondaryArchSuffix
|
||||
lib:libsqlite3$secondaryArchSuffix
|
||||
lib:libtag$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
sparsehash$secondaryArchSuffix
|
||||
devel:libboost_atomic$secondaryArchSuffix
|
||||
devel:libboost_chrono$secondaryArchSuffix
|
||||
devel:libboost_date_time$secondaryArchSuffix
|
||||
devel:libboost_filesystem$secondaryArchSuffix
|
||||
devel:libboost_locale$secondaryArchSuffix
|
||||
devel:libboost_regex$secondaryArchSuffix
|
||||
devel:libboost_system$secondaryArchSuffix
|
||||
devel:libboost_thread$secondaryArchSuffix
|
||||
devel:libcdio$secondaryArchSuffix >= 18
|
||||
devel:libchromaprint$secondaryArchSuffix
|
||||
devel:libexecinfo$secondaryArchSuffix
|
||||
devel:libfftw3$secondaryArchSuffix
|
||||
devel:libgio_2.0$secondaryArchSuffix
|
||||
devel:libgl$secondaryArchSuffix
|
||||
devel:libglib_2.0$secondaryArchSuffix
|
||||
devel:libglu$secondaryArchSuffix
|
||||
devel:libgstapp_1.0$secondaryArchSuffix
|
||||
devel:libgstaudio_1.0$secondaryArchSuffix
|
||||
devel:libgstbadaudio_1.0$secondaryArchSuffix
|
||||
devel:libgstbase_1.0$secondaryArchSuffix
|
||||
devel:libgstreamer_1.0$secondaryArchSuffix
|
||||
devel:libiconv$secondaryArchSuffix
|
||||
devel:libintl$secondaryArchSuffix
|
||||
devel:libmtp$secondaryArchSuffix
|
||||
devel:libprotobuf$secondaryArchSuffix
|
||||
devel:libQt5Core$secondaryArchSuffix
|
||||
devel:libQt5Gui$secondaryArchSuffix
|
||||
devel:libQt5Widgets$secondaryArchSuffix
|
||||
devel:libsqlite3$secondaryArchSuffix
|
||||
devel:libtag$secondaryArchSuffix
|
||||
devel:libxml2$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:lrelease$secondaryArchSuffix >= 5
|
||||
cmd:make
|
||||
cmd:orcc$secondaryArchSuffix
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake .. $cmakeDirArgs \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$appsDir/Clementine \
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5DBus=OFF \
|
||||
-DCCACHE_EXECUTABLE=OFF \
|
||||
-DENABLE_BREAKPAD=OFF \
|
||||
-DENABLE_DEVICEKIT=OFF \
|
||||
-DENABLE_DROPBOX=OFF \
|
||||
-DENABLE_GIO=ON \
|
||||
-DENABLE_GOOGLE_DRIVE=OFF \
|
||||
-DENABLE_LIBGPOD=OFF \
|
||||
-DENABLE_LIBLASTFM=OFF \
|
||||
-DENABLE_SPOTIFY_BLOB=OFF \
|
||||
-DENABLE_UDISKS2=OFF \
|
||||
-DENABLE_VISUALISATIONS=OFF \
|
||||
-DENABLE_WIIMOTEDEV=OFF \
|
||||
-DUSE_SYSTEM_PROJECTM=OFF
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
mkdir -p $appsDir/Clementine
|
||||
cp build/clementine $appsDir/Clementine/Clementine
|
||||
cp build/clementine-tagreader $appsDir/Clementine
|
||||
|
||||
local APP_SIGNATURE="application/x-vnd.clementine"
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
$portDir/additional-files/clementine.rdef.in > clementine.rdef
|
||||
|
||||
addResourcesToBinaries clementine.rdef $appsDir/Clementine/Clementine
|
||||
mimeset -f $appsDir/Clementine/Clementine
|
||||
addAppDeskbarSymlink $appsDir/Clementine/Clementine
|
||||
}
|
||||
301
media-sound/clementine/patches/clementine-1.3.1~git.patchset
Normal file
301
media-sound/clementine/patches/clementine-1.3.1~git.patchset
Normal file
@@ -0,0 +1,301 @@
|
||||
From 42e2e54e9cfc5dd3f2007256ff679278a97a1847 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sun, 24 Feb 2019 14:47:42 +1000
|
||||
Subject: Fix build for Haiku
|
||||
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index d635aee..e9a0268 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -904,6 +904,14 @@ optional_source(WIN32
|
||||
${CMAKE_SOURCE_DIR}/3rdparty/tinysvcmdns
|
||||
)
|
||||
|
||||
+# Platform specific - Haiku
|
||||
+optional_source(HAIKU
|
||||
+ SOURCES
|
||||
+ widgets/osd_win.cpp
|
||||
+ INCLUDE_DIRECTORIES
|
||||
+ ${CMAKE_SOURCE_DIR}/3rdparty/tinysvcmdns
|
||||
+)
|
||||
+
|
||||
# Platform specific - X11
|
||||
optional_source(HAVE_X11 SOURCES widgets/osd_x11.cpp)
|
||||
|
||||
@@ -1357,7 +1365,7 @@ if (WIN32)
|
||||
)
|
||||
endif (WIN32)
|
||||
|
||||
-if (UNIX AND NOT APPLE)
|
||||
+if (UNIX AND NOT APPLE AND NOT HAIKU)
|
||||
# Hack: the Gold linker pays attention to the order that libraries are
|
||||
# specified on the link line. -lX11 and -ldl are provided earlier in the link
|
||||
# command but they're actually used by libraries that appear after them, so
|
||||
diff --git a/src/core/qxtglobalshortcutbackend.cpp b/src/core/qxtglobalshortcutbackend.cpp
|
||||
index c04e41d..485a286 100644
|
||||
--- a/src/core/qxtglobalshortcutbackend.cpp
|
||||
+++ b/src/core/qxtglobalshortcutbackend.cpp
|
||||
@@ -19,7 +19,9 @@
|
||||
|
||||
#include "globalshortcuts.h"
|
||||
#include "qxtglobalshortcutbackend.h"
|
||||
+#ifndef Q_OS_HAIKU
|
||||
#include "qxtglobalshortcut.h"
|
||||
+#endif
|
||||
#include "core/logging.h"
|
||||
|
||||
#include <QAction>
|
||||
@@ -29,24 +31,29 @@ QxtGlobalShortcutBackend::QxtGlobalShortcutBackend(GlobalShortcuts* parent)
|
||||
: GlobalShortcutBackend(parent) {}
|
||||
|
||||
bool QxtGlobalShortcutBackend::DoRegister() {
|
||||
+#ifndef Q_OS_HAIKU
|
||||
qLog(Debug) << "registering";
|
||||
for (const GlobalShortcuts::Shortcut& shortcut :
|
||||
manager_->shortcuts().values()) {
|
||||
AddShortcut(shortcut.action);
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
void QxtGlobalShortcutBackend::AddShortcut(QAction* action) {
|
||||
+#ifndef Q_OS_HAIKU
|
||||
if (action->shortcut().isEmpty()) return;
|
||||
QxtGlobalShortcut* shortcut = new QxtGlobalShortcut(action->shortcut(), this);
|
||||
connect(shortcut, SIGNAL(activated()), action, SLOT(trigger()));
|
||||
shortcuts_ << shortcut;
|
||||
+#endif
|
||||
}
|
||||
|
||||
void QxtGlobalShortcutBackend::DoUnregister() {
|
||||
+#ifndef Q_OS_HAIKU
|
||||
qLog(Debug) << "unregistering";
|
||||
qDeleteAll(shortcuts_);
|
||||
shortcuts_.clear();
|
||||
+#endif
|
||||
}
|
||||
diff --git a/src/main.cpp b/src/main.cpp
|
||||
index 0ee7a8f..88e6f7c 100644
|
||||
--- a/src/main.cpp
|
||||
+++ b/src/main.cpp
|
||||
@@ -488,5 +488,9 @@ int main(int argc, char* argv[]) {
|
||||
}
|
||||
#endif
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ kill(::getpid(), SIGKILL);
|
||||
+#endif
|
||||
+
|
||||
return ret;
|
||||
}
|
||||
--
|
||||
2.19.1
|
||||
|
||||
|
||||
From 207f5027997897cda2b0c1eba92e71f2c9899a87 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sun, 24 Feb 2019 15:11:18 +1000
|
||||
Subject: Disable qxt and x11
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 657efdb..abda86b 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -46,7 +46,7 @@ find_package(PkgConfig REQUIRED)
|
||||
find_package(Protobuf REQUIRED)
|
||||
find_package(FFTW3)
|
||||
find_package(ALSA)
|
||||
-if (NOT APPLE)
|
||||
+if (NOT APPLE AND NOT HAIKU)
|
||||
find_package(X11)
|
||||
endif()
|
||||
if(X11_FOUND)
|
||||
@@ -395,6 +395,7 @@ if(NOT QTIOCOMPRESSOR_INCLUDE_DIRS OR NOT QTIOCOMPRESSOR_LIBRARIES)
|
||||
set(QTIOCOMPRESSOR_LIBRARIES qtiocompressor)
|
||||
endif(NOT QTIOCOMPRESSOR_INCLUDE_DIRS OR NOT QTIOCOMPRESSOR_LIBRARIES)
|
||||
|
||||
+if (NOT HAIKU)
|
||||
# When/if upstream accepts our or reimplement our patches then these options can be
|
||||
# used to link to system installed qxt instead.
|
||||
option(USE_SYSTEM_QXT "Don't set this option unless your system Qxt library has been compiled with the Clementine patches in 3rdparty" OFF)
|
||||
@@ -412,6 +413,7 @@ else (USE_SYSTEM_QXT)
|
||||
add_subdirectory(3rdparty/qxt)
|
||||
endif (NOT APPLE)
|
||||
endif (USE_SYSTEM_QXT)
|
||||
+endif (NOT HAIKU)
|
||||
|
||||
# Use system gmock if it's available
|
||||
# We need to look for both gmock and gtest
|
||||
--
|
||||
2.19.1
|
||||
|
||||
|
||||
From edd7d6fdc02d45a998cafd84a8a0927df1e6d47a Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sun, 24 Feb 2019 16:01:04 +1000
|
||||
Subject: disable backtrace_symbols for haiku
|
||||
|
||||
|
||||
diff --git a/ext/libclementine-common/core/logging.cpp b/ext/libclementine-common/core/logging.cpp
|
||||
index 9aa1319..e148298 100644
|
||||
--- a/ext/libclementine-common/core/logging.cpp
|
||||
+++ b/ext/libclementine-common/core/logging.cpp
|
||||
@@ -254,7 +254,7 @@ QString DemangleSymbol(const QString& symbol) {
|
||||
}
|
||||
|
||||
void DumpStackTrace() {
|
||||
-#ifdef Q_OS_UNIX
|
||||
+#if defined(Q_OS_UNIX) && !defined(Q_OS_HAIKU)
|
||||
void* callstack[128];
|
||||
int callstack_size =
|
||||
backtrace(reinterpret_cast<void**>(&callstack), sizeof(callstack));
|
||||
--
|
||||
2.19.1
|
||||
|
||||
|
||||
From 137ec8ac22ca7a7a6c5797fddd4c8a9b36bba95f Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sun, 24 Feb 2019 16:36:40 +1000
|
||||
Subject: Fix settings paths
|
||||
|
||||
|
||||
diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp
|
||||
index fe106e2..58a80b9 100644
|
||||
--- a/src/core/utilities.cpp
|
||||
+++ b/src/core/utilities.cpp
|
||||
@@ -346,6 +346,9 @@ QString GetConfigPath(ConfigPath config) {
|
||||
#ifdef Q_OS_DARWIN
|
||||
return mac::GetApplicationSupportPath() + "/" +
|
||||
QCoreApplication::organizationName();
|
||||
+#elif defined(Q_OS_HAIKU)
|
||||
+ return QString("%1/config/settings/%2")
|
||||
+ .arg(QDir::homePath(), QCoreApplication::organizationName());
|
||||
#else
|
||||
return QString("%1/.config/%2")
|
||||
.arg(QDir::homePath(), QCoreApplication::organizationName());
|
||||
@@ -356,7 +359,7 @@ QString GetConfigPath(ConfigPath config) {
|
||||
if (Application::kIsPortable) {
|
||||
return GetConfigPath(Path_Root) + "/cache";
|
||||
}
|
||||
-#if defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN)
|
||||
+#if defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN) && !defined(Q_OS_HAIKU)
|
||||
char* xdg = getenv("XDG_CACHE_HOME");
|
||||
if (!xdg || !*xdg) {
|
||||
return QString("%1/.cache/%2")
|
||||
--
|
||||
2.19.1
|
||||
|
||||
|
||||
From a5588095c9fc11c4d67606c9817bcaaad1aee6e3 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sun, 24 Feb 2019 17:39:21 +1000
|
||||
Subject: Tune default settings for Haiku
|
||||
|
||||
|
||||
diff --git a/src/library/librarysettingspage.cpp b/src/library/librarysettingspage.cpp
|
||||
index afb73df..763fb11 100644
|
||||
--- a/src/library/librarysettingspage.cpp
|
||||
+++ b/src/library/librarysettingspage.cpp
|
||||
@@ -132,7 +132,7 @@ void LibrarySettingsPage::Load() {
|
||||
|
||||
s.beginGroup(LibraryWatcher::kSettingsGroup);
|
||||
ui_->startup_scan->setChecked(s.value("startup_scan", true).toBool());
|
||||
- ui_->monitor->setChecked(s.value("monitor", true).toBool());
|
||||
+ ui_->monitor->setChecked(s.value("monitor", false).toBool());
|
||||
|
||||
QStringList filters =
|
||||
s.value("cover_art_patterns", QStringList() << "front"
|
||||
diff --git a/src/ui/appearancesettingspage.cpp b/src/ui/appearancesettingspage.cpp
|
||||
index 8cffb45..befbbca 100644
|
||||
--- a/src/ui/appearancesettingspage.cpp
|
||||
+++ b/src/ui/appearancesettingspage.cpp
|
||||
@@ -108,7 +108,11 @@ void AppearanceSettingsPage::Load() {
|
||||
current_background_color_ = original_background_color_;
|
||||
|
||||
InitColorSelectorsColors();
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ ui_->b_use_sys_icons->setChecked(s.value("b_use_sys_icons", true).toBool());
|
||||
+#else
|
||||
ui_->b_use_sys_icons->setChecked(s.value("b_use_sys_icons", false).toBool());
|
||||
+#endif
|
||||
ui_->b_hide_filter_toolbar->setChecked(s.value("b_hide_filter_toolbar",false).toBool());
|
||||
s.endGroup();
|
||||
|
||||
diff --git a/src/ui/iconloader.cpp b/src/ui/iconloader.cpp
|
||||
index f691504..857af19 100644
|
||||
--- a/src/ui/iconloader.cpp
|
||||
+++ b/src/ui/iconloader.cpp
|
||||
@@ -38,7 +38,11 @@ void IconLoader::Init() {
|
||||
icon_sub_path_ << "/icons" << "/providers" << "/last.fm" << "";
|
||||
QSettings settings;
|
||||
settings.beginGroup(Appearance::kSettingsGroup);
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ use_sys_icons_ = settings.value("b_use_sys_icons", true).toBool();
|
||||
+#else
|
||||
use_sys_icons_ = settings.value("b_use_sys_icons", false).toBool();
|
||||
+#endif
|
||||
}
|
||||
|
||||
QIcon IconLoader::Load(const QString& name, const IconType& icontype) {
|
||||
diff --git a/src/ui/notificationssettingspage.cpp b/src/ui/notificationssettingspage.cpp
|
||||
index a00eede..27d63b9 100644
|
||||
--- a/src/ui/notificationssettingspage.cpp
|
||||
+++ b/src/ui/notificationssettingspage.cpp
|
||||
@@ -98,7 +98,9 @@ NotificationsSettingsPage::NotificationsSettingsPage(SettingsDialog* dialog)
|
||||
if (!OSD::SupportsNativeNotifications())
|
||||
ui_->notifications_native->setEnabled(false);
|
||||
if (!OSD::SupportsTrayPopups()) ui_->notifications_tray->setEnabled(false);
|
||||
-
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ ui_->notifications_pretty->setEnabled(false);
|
||||
+#endif
|
||||
connect(ui_->notifications_pretty, SIGNAL(toggled(bool)),
|
||||
SLOT(UpdatePopupVisible()));
|
||||
|
||||
@@ -126,7 +128,11 @@ void NotificationsSettingsPage::Load() {
|
||||
|
||||
s.beginGroup(OSD::kSettingsGroup);
|
||||
OSD::Behaviour osd_behaviour =
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ OSD::Behaviour(s.value("Behaviour", OSD::TrayPopup).toInt());
|
||||
+#else
|
||||
OSD::Behaviour(s.value("Behaviour", OSD::Native).toInt());
|
||||
+#endif
|
||||
switch (osd_behaviour) {
|
||||
case OSD::Native:
|
||||
if (OSD::SupportsNativeNotifications()) {
|
||||
@@ -171,6 +177,11 @@ void NotificationsSettingsPage::Load() {
|
||||
ui_->notifications_pretty->isChecked());
|
||||
#endif
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ ui_->notifications_options->setEnabled(
|
||||
+ ui_->notifications_tray->isChecked());
|
||||
+#endif
|
||||
+
|
||||
// Pretty OSD
|
||||
pretty_popup_->ReloadSettings();
|
||||
ui_->notifications_opacity->setValue(pretty_popup_->background_opacity() *
|
||||
diff --git a/src/widgets/osd.cpp b/src/widgets/osd.cpp
|
||||
index 77178a1..f5ec09c 100644
|
||||
--- a/src/widgets/osd.cpp
|
||||
+++ b/src/widgets/osd.cpp
|
||||
@@ -64,7 +64,11 @@ OSD::~OSD() { delete pretty_popup_; }
|
||||
void OSD::ReloadSettings() {
|
||||
QSettings s;
|
||||
s.beginGroup(kSettingsGroup);
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ behaviour_ = OSD::Behaviour(s.value("Behaviour", TrayPopup).toInt());
|
||||
+#else
|
||||
behaviour_ = OSD::Behaviour(s.value("Behaviour", Native).toInt());
|
||||
+#endif
|
||||
timeout_msec_ = s.value("Timeout", 5000).toInt();
|
||||
show_on_volume_change_ = s.value("ShowOnVolumeChange", false).toBool();
|
||||
show_art_ = s.value("ShowArt", true).toBool();
|
||||
--
|
||||
2.19.1
|
||||
|
||||
Reference in New Issue
Block a user