diff --git a/media-sound/qmmp/patches/qmmp-1.2.4.patchset b/media-sound/qmmp/patches/qmmp-1.3.0.patchset similarity index 64% rename from media-sound/qmmp/patches/qmmp-1.2.4.patchset rename to media-sound/qmmp/patches/qmmp-1.3.0.patchset index 7b78e1c0b..155183a99 100644 --- a/media-sound/qmmp/patches/qmmp-1.2.4.patchset +++ b/media-sound/qmmp/patches/qmmp-1.3.0.patchset @@ -1,293 +1,93 @@ -From 42b234b71cfc75d88f7954a48dc3cfd1eab021f2 Mon Sep 17 00:00:00 2001 +From 008061e5c914089e65e08eaa48c145ebd41349f4 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Tue, 28 Nov 2017 00:42:45 +1000 -Subject: Fix build for Haiku +Date: Wed, 13 Feb 2019 20:35:27 +1000 +Subject: Add haiku support -diff --git a/qmmp.pri b/qmmp.pri -index 47db18a..3dec1a5 100644 ---- a/qmmp.pri -+++ b/qmmp.pri -@@ -13,7 +13,7 @@ RCC_DIR=./.build/rcc - #Defines +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0d0c1b5..2eea057 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -62,7 +62,6 @@ find_package(Qt5DBus 5.4.0) + find_package(Qt5Multimedia 5.4.0) + find_package(Qt5Sql 5.4.0) + find_package(QtWinExtras 5.4.0) +-ADD_DEFINITIONS(-DQMMP_WS_X11) + set(CMAKE_CXX_VISIBILITY_PRESET hidden) + set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) + set(CMAKE_CXX_STANDARD 11) +@@ -235,7 +234,7 @@ PRINT_SUMMARY ("Two-panel File File Dialog ............" USE_TWO_PANEL_DIALOG 1) - DEFINES += QT_NO_CAST_FROM_BYTEARRAY QT_STRICT_ITERATORS --unix:DEFINES += QMMP_WS_X11 -+unix:!haiku:DEFINES += QMMP_WS_X11 - DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x050400 + MESSAGE("") + MESSAGE("Advanced:") +-PRINT_SUMMARY ("Skinned user interface ................" USE_SKINNED X11_FOUND AND Qt5X11Extras_FOUND) ++PRINT_SUMMARY ("Skinned user interface ................" USE_SKINNED 1) + PRINT_SUMMARY ("Simple user interface (QSUI) .........." USE_QSUI 1) + PRINT_SUMMARY ("Automatic charset detection ..........." USE_ENCA ENCA_FOUND) + PRINT_SUMMARY ("Directory association ................." USE_DIR_ASSOC 1) +diff --git a/src/plugins/Input/gme/CMakeLists.txt b/src/plugins/Input/gme/CMakeLists.txt +index 0134f73..8cbc33c 100644 +--- a/src/plugins/Input/gme/CMakeLists.txt ++++ b/src/plugins/Input/gme/CMakeLists.txt +@@ -9,16 +9,10 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../) + link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp) - #Configuration -diff --git a/src/app/app.pro b/src/app/app.pro -index 3f7ba55..87e38a9 100644 ---- a/src/app/app.pro -+++ b/src/app/app.pro -@@ -4,6 +4,7 @@ TEMPLATE = app - - unix:TARGET = ../../bin/qmmp - win32:TARGET = ../../../bin/qmmp -+haiku:TARGET = ../../Qmmp - - QT += network - -diff --git a/src/plugins/Effect/Effect.pro b/src/plugins/Effect/Effect.pro -index 5a1cc69..800ad00 100644 ---- a/src/plugins/Effect/Effect.pro -+++ b/src/plugins/Effect/Effect.pro -@@ -2,11 +2,12 @@ include (../../../qmmp.pri) - TEMPLATE = subdirs - - SUBDIRS += crossfade stereo + # libgme +-CHECK_INCLUDE_FILE_CXX(gme/gme.h GME_HEADER_FOUND) +-FIND_LIBRARY(GME_LIB NAME gme PATHS /usr/lib /usr/lib32 /usr/local/lib /usr/local/lib32) - -+!haiku { - contains(CONFIG, BS2B_PLUGIN):SUBDIRS += bs2b - contains(CONFIG, SOXR_PLUGIN):SUBDIRS += soxr -+} - contains(CONFIG, FILEWRITER_PLUGIN):SUBDIRS += filewriter +-IF(GME_HEADER_FOUND AND (NOT GME_LIB MATCHES "^.*-NOTFOUND")) +-SET(GME_FOUND TRUE CACHE INTERNAL "GME") +-MESSAGE(STATUS "Found Game Music Emu: ${GME_LIB}") +-ELSE(GME_HEADER_FOUND AND (NOT GME_LIB MATCHES "^.*-NOTFOUND")) +-MESSAGE(STATUS "Could not find Game Music Emu library") +-ENDIF(GME_HEADER_FOUND AND (NOT GME_LIB MATCHES "^.*-NOTFOUND")) +- ++pkg_search_module(GME libgme) ++include_directories(${GME_INCLUDE_DIRS}) ++link_directories(${GME_LIBRARY_DIRS}) ++ADD_DEFINITIONS(${GME_CFLAGS}) --unix { -+unix:!haiku { - contains(CONFIG, LADSPA_PLUGIN):SUBDIRS += ladspa - } -diff --git a/src/plugins/General/General.pro b/src/plugins/General/General.pro -index a1f1129..47c3d69 100644 ---- a/src/plugins/General/General.pro -+++ b/src/plugins/General/General.pro -@@ -1,7 +1,6 @@ - include(../../../qmmp.pri) + SET(libgme_SRCS + decoder_gme.cpp +@@ -51,6 +45,6 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}) + IF(GME_FOUND) + ADD_LIBRARY(gme MODULE ${libgme_SRCS} ${libgme_RCC_SRCS} ${libgme_HDRS} ${libgme_UIS_H}) + add_dependencies(gme libqmmp) +-target_link_libraries(gme Qt5::Widgets libqmmp ${GME_LIB}) ++target_link_libraries(gme Qt5::Widgets libqmmp ${GME_LDFLAGS}) + install(TARGETS gme DESTINATION ${PLUGIN_DIR}/Input) + ENDIF(GME_FOUND) +diff --git a/src/plugins/Output/CMakeLists.txt b/src/plugins/Output/CMakeLists.txt +index 60c2066..5eac3bc 100644 +--- a/src/plugins/Output/CMakeLists.txt ++++ b/src/plugins/Output/CMakeLists.txt +@@ -9,6 +9,7 @@ SET(USE_DSOUND TRUE CACHE BOOL "enable/disable DirectSound plugin") + SET(USE_QTMULTIMEDIA TRUE CACHE BOOL "enable/disable Qt Multimedia output plugin") + SET(USE_WASAPI TRUE CACHE BOOL "enable/disable WASAPI plugin") + SET(USE_SHOUT TRUE CACHE BOOL "enable/disable Icecast plugin") ++SET(USE_MEDIAKIT TRUE CACHE BOOL "enable/disable MediaKit plugin") - SUBDIRS += statusicon \ -- notifier \ - lyrics \ - scrobbler \ - fileops \ -@@ -9,19 +8,20 @@ SUBDIRS += statusicon \ - streambrowser \ - trackchange \ - copypaste \ -- rgscan \ -- hotkey --unix:SUBDIRS += mpris \ -+ rgscan -+unix:!haiku:SUBDIRS += mpris \ -+ notifier \ -+ hotkey \ - kdenotify \ - converter \ - gnomehotkey - - contains(CONFIG, UDISKS2_PLUGIN){ -- unix:SUBDIRS += udisks2 -+ unix:!haiku:SUBDIRS += udisks2 - } - - contains(CONFIG, HAL_PLUGIN){ -- unix:SUBDIRS += hal -+ unix:!haiku:SUBDIRS += hal - } - - TEMPLATE = subdirs -diff --git a/src/plugins/Input/Input.pro b/src/plugins/Input/Input.pro -index eef4806..1262644 100644 ---- a/src/plugins/Input/Input.pro -+++ b/src/plugins/Input/Input.pro -@@ -19,6 +19,7 @@ contains(CONFIG, FFMPEG_PLUGIN){ - SUBDIRS += ffmpeg - } - -+!haiku { - contains(CONFIG, GME_PLUGIN){ - SUBDIRS += gme - } -@@ -34,6 +35,7 @@ contains(CONFIG, CDAUDIO_PLUGIN){ - contains(CONFIG, SID_PLUGIN){ - SUBDIRS += sid - } -+} - - unix{ - -@@ -42,9 +44,11 @@ contains(CONFIG, AAC_PLUGIN){ - } - - -+!haiku { - contains(CONFIG, WILDMIDI_PLUGIN){ - SUBDIRS += wildmidi - } -+} - - contains(CONFIG, ARCHIVE_PLUGIN){ - TAGLIB_VERSION = $$system("pkg-config --modversion taglib") -diff --git a/src/plugins/Output/Output.pro b/src/plugins/Output/Output.pro -index 1d745e4..194b25b 100644 ---- a/src/plugins/Output/Output.pro -+++ b/src/plugins/Output/Output.pro -@@ -7,7 +7,7 @@ win32:SUBDIRS += wasapi - - SUBDIRS += null - --unix{ -+unix:!haiku{ - - contains(CONFIG, JACK_PLUGIN){ - SUBDIRS += jack -@@ -34,9 +34,13 @@ contains(CONFIG, SHOUT_PLUGIN){ - } - } - -+haiku{ -+ SUBDIRS += mediakit -+} + IF(USE_ALSA) + add_subdirectory(alsa) +@@ -53,3 +54,7 @@ ENDIF(USE_WASAPI) + IF(USE_SHOUT) + add_subdirectory(shout) + ENDIF(USE_SHOUT) + - #all platforms - qtHaveModule(multimedia){ - contains(CONFIG, QTMULTIMEDIA_PLUGIN){ -- SUBDIRS += qtmultimedia -+ !haiku:SUBDIRS += qtmultimedia - } - } -diff --git a/src/plugins/Ui/skinned/skinned.pro b/src/plugins/Ui/skinned/skinned.pro -index 9e55ab2..4565cf3 100644 ---- a/src/plugins/Ui/skinned/skinned.pro -+++ b/src/plugins/Ui/skinned/skinned.pro -@@ -121,7 +121,7 @@ RESOURCES = resources/resources.qrc \ - - LIBS += $$QMMPUI_LIB - --unix { -+unix:!haiku { - target.path = $$LIB_DIR/qmmp/Ui - INSTALLS += target - PKGCONFIG += x11 -diff --git a/src/plugins/Ui/skinned/symboldisplay.cpp b/src/plugins/Ui/skinned/symboldisplay.cpp -index 49a6ce3..d5a6e33 100644 ---- a/src/plugins/Ui/skinned/symboldisplay.cpp -+++ b/src/plugins/Ui/skinned/symboldisplay.cpp -@@ -32,7 +32,7 @@ SymbolDisplay::SymbolDisplay (QWidget *parent, int digits) - connect (m_skin, SIGNAL (skinChanged()), this, SLOT (draw())); - draw(); - for (int i=0; iapplicationDirPath() + "/plugins"); - #else - QDir dir(qApp->applicationDirPath() + "/../" LIB_DIR "/qmmp"); -diff --git a/src/qmmpui/configdialog.cpp b/src/qmmpui/configdialog.cpp -index de0e271..a8173f8 100644 ---- a/src/qmmpui/configdialog.cpp -+++ b/src/qmmpui/configdialog.cpp -@@ -56,6 +56,11 @@ ConfigDialog::ConfigDialog (QWidget *parent) : QDialog (parent) - m_insert_row = 0; - setAttribute(Qt::WA_QuitOnClose, false); - setAttribute(Qt::WA_DeleteOnClose, false); -+#if defined(Q_OS_HAIKU) -+ hide(); -+ setWindowModality(Qt::NonModal); -+ show(); -+#endif - m_ui->preferencesButton->setEnabled(false); - m_ui->informationButton->setEnabled(false); - m_ui->treeWidget->setItemDelegate(new RadioItemDelegate(this)); --- -2.15.0 - - -From 57dc32beb35771fa790587982bb41d625abff59e Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Tue, 28 Nov 2017 00:46:04 +1000 -Subject: Add mediakit output plugin - - ++IF(USE_MEDIAKIT) ++add_subdirectory(mediakit) ++ENDIF(USE_MEDIAKIT) diff --git a/src/plugins/Output/mediakit/CMakeLists.txt b/src/plugins/Output/mediakit/CMakeLists.txt new file mode 100644 -index 0000000..55c1bdc +index 0000000..c1fe674 --- /dev/null +++ b/src/plugins/Output/mediakit/CMakeLists.txt -@@ -0,0 +1,58 @@ +@@ -0,0 +1,31 @@ +project(libmediakit) + -+cmake_minimum_required(VERSION 2.4.7) -+ -+if(COMMAND cmake_policy) -+cmake_policy(SET CMP0003 NEW) -+endif(COMMAND cmake_policy) -+ -+# qt plugin -+ADD_DEFINITIONS( -Wall ) -+ADD_DEFINITIONS(${QT_DEFINITIONS}) -+ADD_DEFINITIONS(-DQT_PLUGIN) -+ADD_DEFINITIONS(-DQT_NO_DEBUG) -+ADD_DEFINITIONS(-DQT_SHARED) -+ADD_DEFINITIONS(-DQT_THREAD) -+ +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + -+SET(QT_INCLUDES -+ ${QT_INCLUDES} -+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../ -+) -+ +# libqmmp +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../) +link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp) @@ -297,38 +97,30 @@ index 0000000..55c1bdc + outputmediakitfactory.cpp +) + -+SET(libmediakit_MOC_HDRS -+ outputmediakitfactory.h -+) -+ +SET(libmediakit_HDRS + outputmediakit.h ++ outputmediakitfactory.h +) + +SET(libmediakit_RCCS translations/translations.qrc) + -+QT4_ADD_RESOURCES(libmediakit_RCC_SRCS ${libmediakit_RCCS}) -+ -+QT4_WRAP_CPP(libmediakit_MOC_SRCS ${libmediakit_MOC_HDRS}) -+ ++QT5_ADD_RESOURCES(libmediakit_RCC_SRCS ${libmediakit_RCCS}) + +# Don't forget to include output directory, otherwise +# the UI file won't be wrapped! +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + -+ADD_LIBRARY(mediakit MODULE ${libmediakit_SRCS} ${libmediakit_MOC_SRCS} ${libmediakit_UIS_H} -+ ${libmediakit_RCC_SRCS} ${libmediakit_HDRS}) -+add_dependencies(mediakit qmmp) -+target_link_libraries(mediakit ${QT_LIBRARIES} -lqmmp -lbe -lmedia -lgame) -+install(TARGETS mediakit DESTINATION ${LIB_DIR}/qmmp/Output) -+ + ++ADD_LIBRARY(mediakit MODULE ${libmediakit_SRCS} ${libmediakit_UIS_H} ${libmediakit_RCC_SRCS} ${libmediakit_HDRS}) ++add_dependencies(mediakit libqmmp) ++target_link_libraries(mediakit Qt5::Widgets libqmmp media) ++install(TARGETS mediakit DESTINATION ${PLUGIN_DIR}/Output) diff --git a/src/plugins/Output/mediakit/mediakit.pro b/src/plugins/Output/mediakit/mediakit.pro new file mode 100644 -index 0000000..d18625e +index 0000000..86849a8 --- /dev/null +++ b/src/plugins/Output/mediakit/mediakit.pro -@@ -0,0 +1,31 @@ +@@ -0,0 +1,22 @@ +include(../../plugins.pri) + +HEADERS += outputmediakitfactory.h \ @@ -339,35 +131,26 @@ index 0000000..d18625e + + +TARGET=$$PLUGINS_PREFIX/Output/mediakit -+QMAKE_CLEAN =$$PLUGINS_PREFIX/Output/libmediakit.so -+ -+INCLUDEPATH += ../../../ -+QMAKE_LIBDIR += ../../../../lib + +CONFIG += warn_on \ +thread \ +plugin \ +link_pkgconfig + -+TEMPLATE = lib +LIBS += -lqmmp -lbe -lmedia + +RESOURCES = translations/translations.qrc + -+isEmpty (LIB_DIR){ -+LIB_DIR = /lib -+} -+ -+target.path = $$LIB_DIR/qmmp/Output ++target.path = $$PLUGIN_DIR/Output +INSTALLS += target diff --git a/src/plugins/Output/mediakit/outputmediakit.cpp b/src/plugins/Output/mediakit/outputmediakit.cpp new file mode 100644 -index 0000000..b0ea1b6 +index 0000000..baf7326 --- /dev/null +++ b/src/plugins/Output/mediakit/outputmediakit.cpp @@ -0,0 +1,137 @@ +/*************************************************************************** -+ * Copyright (C) 2013-2015 by Gerasim Troeglazov * ++ * Copyright (C) 2013-2019 by Gerasim Troeglazov * + * 3dEyes@gmail.com * + * * + * This program is free software; you can redistribute it and/or modify * @@ -505,12 +288,12 @@ index 0000000..b0ea1b6 +} diff --git a/src/plugins/Output/mediakit/outputmediakit.h b/src/plugins/Output/mediakit/outputmediakit.h new file mode 100644 -index 0000000..0a65f44 +index 0000000..cc1af5b --- /dev/null +++ b/src/plugins/Output/mediakit/outputmediakit.h @@ -0,0 +1,56 @@ +/*************************************************************************** -+ * Copyright (C) 2013-2015 by Gerasim Troeglazov * ++ * Copyright (C) 2013-2019 by Gerasim Troeglazov * + * 3dEyes@gmail.com * + * * + * This program is free software; you can redistribute it and/or modify * @@ -567,13 +350,13 @@ index 0000000..0a65f44 +#endif // OUTPUTMEDIAKIT_H diff --git a/src/plugins/Output/mediakit/outputmediakitfactory.cpp b/src/plugins/Output/mediakit/outputmediakitfactory.cpp new file mode 100644 -index 0000000..f54967e +index 0000000..a503603 --- /dev/null +++ b/src/plugins/Output/mediakit/outputmediakitfactory.cpp -@@ -0,0 +1,68 @@ +@@ -0,0 +1,65 @@ +/*************************************************************************** -+ * Copyright (C) 2007-2012 by Ilya Kotov * -+ * forkotov02@hotmail.ru * ++ * Copyright (C) 2013-2019 by Gerasim Troeglazov * ++ * 3dEyes@gmail.com * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * @@ -599,7 +382,7 @@ index 0000000..f54967e +#include "outputmediakitfactory.h" + + -+const OutputProperties OutputMediaKitFactory::properties() const ++OutputProperties OutputMediaKitFactory::properties() const +{ + OutputProperties properties; + properties.name = "MediaKit Plugin"; @@ -627,27 +410,24 @@ index 0000000..f54967e +void OutputMediaKitFactory::showAbout(QWidget *parent) +{ + QMessageBox::about (parent, "About MediaKit Output Plugin", -+ "Qmmp MediaKit Output Plugin\n(C) 2013-2015 3dEyes**"); ++ "Qmmp MediaKit Output Plugin\n(C) 2013-2019 3dEyes**"); +} + -+QTranslator *OutputMediaKitFactory::createTranslator(QObject *parent) ++QString OutputMediaKitFactory::translation() const +{ -+ QTranslator *translator = new QTranslator(parent); -+ QString locale = Qmmp::systemLanguageID(); -+ translator->load(QString(":/mediakit_plugin_") + locale); -+ return translator; ++ return QLatin1String(":/mediakit_plugin_"); +} + +//Q_EXPORT_PLUGIN2(mediakit, OutputMediaKitFactory) diff --git a/src/plugins/Output/mediakit/outputmediakitfactory.h b/src/plugins/Output/mediakit/outputmediakitfactory.h new file mode 100644 -index 0000000..6f3c721 +index 0000000..e90eb23 --- /dev/null +++ b/src/plugins/Output/mediakit/outputmediakitfactory.h -@@ -0,0 +1,49 @@ +@@ -0,0 +1,50 @@ +/*************************************************************************** -+ * Copyright (C) 2007-2012 by Ilya Kotov * -+ * forkotov02@hotmail.ru * ++ * Copyright (C) 2013-2019 by Gerasim Troeglazov * ++ * 3dEyes@gmail.com * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * @@ -664,6 +444,7 @@ index 0000000..6f3c721 + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ ++ +#ifndef OUTPUTMEDIAKITFACTORY_H +#define OUTPUTMEDIAKITFACTORY_H + @@ -685,12 +466,12 @@ index 0000000..6f3c721 +Q_INTERFACES(OutputFactory) + +public: -+ const OutputProperties properties() const; -+ Output* create(); -+ Volume *createVolume(); -+ void showSettings(QWidget* parent); -+ void showAbout(QWidget *parent); -+ QTranslator *createTranslator(QObject *parent); ++ OutputProperties properties() const override; ++ Output* create() override; ++ Volume *createVolume() override; ++ void showSettings(QWidget* parent) override; ++ void showAbout(QWidget *parent) override; ++ QString translation() const override; +}; + +#endif @@ -718,29 +499,168 @@ index 0000000..f678c61 + + + --- -2.15.0 - - -From 50c8b80d4a6f0c7fe59c9c0781c4b6e1407c1efd Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Tue, 28 Nov 2017 17:50:44 +1000 -Subject: Fix skins directory for Haiku - - +diff --git a/src/plugins/Ui/CMakeLists.txt b/src/plugins/Ui/CMakeLists.txt +index ca25b54..7670cdb 100644 +--- a/src/plugins/Ui/CMakeLists.txt ++++ b/src/plugins/Ui/CMakeLists.txt +@@ -1,9 +1,9 @@ + SET(USE_SKINNED TRUE CACHE BOOL "enable/disable skinned user interface") + SET(USE_QSUI TRUE CACHE BOOL "enable/disable simple user interface (qsui)") + +-IF(USE_SKINNED AND Qt5X11Extras_FOUND) ++IF(USE_SKINNED) + add_subdirectory(skinned) +-ENDIF(USE_SKINNED AND Qt5X11Extras_FOUND) ++ENDIF(USE_SKINNED) + + IF(USE_QSUI) + add_subdirectory(qsui) +diff --git a/src/plugins/Ui/skinned/CMakeLists.txt b/src/plugins/Ui/skinned/CMakeLists.txt +index 6e2e14d..36916b3 100644 +--- a/src/plugins/Ui/skinned/CMakeLists.txt ++++ b/src/plugins/Ui/skinned/CMakeLists.txt +@@ -5,11 +5,6 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../) + link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmpui) + link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp) + +-# X11 +-include_directories(${X11_INCLUDE_DIRS}) +-link_directories(${X11_LIBRARY_DIRS}) +-ADD_DEFINITIONS(${X11_CFLAGS}) +- + SET(skinned_SRCS + fft.c + balancebar.cpp +@@ -95,10 +90,7 @@ QT5_WRAP_UI(skinned_UIS_H ${skinned_UIS}) + # the UI file won't be wrapped! + include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +-IF(X11_FOUND) + ADD_LIBRARY(skinned MODULE ${skinned_SRCS} ${skinned_UIS_H} ${skinned_RCC_SRCS} ${skinned_HDRS}) + add_dependencies(skinned libqmmpui libqmmp) +-target_link_libraries(skinned Qt5::Widgets Qt5::X11Extras libqmmpui libqmmp ${X11_LDFLAGS}) ++target_link_libraries(skinned Qt5::Widgets libqmmpui libqmmp) + install(TARGETS skinned DESTINATION ${PLUGIN_DIR}/Ui) +-install(FILES scripts/kwin.sh DESTINATION ${CMAKE_INSTALL_DATADIR}/qmmp${APP_NAME_SUFFIX}/scripts) +-ENDIF(X11_FOUND) +diff --git a/src/plugins/Ui/skinned/display.cpp b/src/plugins/Ui/skinned/display.cpp +index 2ae37d3..04d90a2 100644 +--- a/src/plugins/Ui/skinned/display.cpp ++++ b/src/plugins/Ui/skinned/display.cpp +@@ -345,7 +345,9 @@ void MainDisplay::mousePressEvent(QMouseEvent *e) + { + if (e->button() == Qt::RightButton) + m_mw->menu()->exec(e->globalPos()); ++#ifndef Q_OS_HAIKU + else if(e->button() == Qt::LeftButton && m_aboutWidget->underMouse()) + m_mw->about(); ++#endif + PixmapWidget::mousePressEvent(e); + } diff --git a/src/plugins/Ui/skinned/skinreader.cpp b/src/plugins/Ui/skinned/skinreader.cpp -index 160e9b4..6c66770 100644 +index 0494af7..5b4bcbc 100644 --- a/src/plugins/Ui/skinned/skinreader.cpp +++ b/src/plugins/Ui/skinned/skinreader.cpp @@ -49,7 +49,7 @@ void SkinReader::generateThumbs() - QDir dir(Qmmp::configDir() + "skins"); + QDir dir(Qmmp::configDir() + "/skins"); dir.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks); QFileInfoList f = dir.entryInfoList(); -#if defined(Q_OS_WIN) && !defined(Q_OS_CYGWIN) +#if (defined(Q_OS_WIN) && !defined(Q_OS_CYGWIN)) || defined(Q_OS_HAIKU) dir.setPath(qApp->applicationDirPath()+"/skins"); #else - dir.setPath(qApp->applicationDirPath()+"/../share/qmmp/skins"); + dir.setPath(Qmmp::dataPath()); +diff --git a/src/plugins/Ui/skinned/symboldisplay.cpp b/src/plugins/Ui/skinned/symboldisplay.cpp +index 49a6ce3..d5a6e33 100644 +--- a/src/plugins/Ui/skinned/symboldisplay.cpp ++++ b/src/plugins/Ui/skinned/symboldisplay.cpp +@@ -32,7 +32,7 @@ SymbolDisplay::SymbolDisplay (QWidget *parent, int digits) + connect (m_skin, SIGNAL (skinChanged()), this, SLOT (draw())); + draw(); + for (int i=0; iapplicationDirPath() + "/../lib/qmmp-" STR(QMMP_VERSION_MAJOR) "." STR(QMMP_VERSION_MINOR); +-#ifdef QMMP_PLUGIN_DIR ++#if defined(QMMP_PLUGIN_DIR) && !defined(Q_OS_HAIKU) + QDir dir(QMMP_PLUGIN_DIR); +-#elif defined(Q_OS_WIN) && !defined(Q_OS_CYGWIN) ++#elif defined(Q_OS_WIN) && !defined(Q_OS_CYGWIN) || defined(Q_OS_HAIKU) + QDir dir(qApp->applicationDirPath() + "/plugins"); + #else + QDir dir(fallbackPath); +diff --git a/src/qmmpui/configdialog.cpp b/src/qmmpui/configdialog.cpp +index 88f12e1..8b69e59 100644 +--- a/src/qmmpui/configdialog.cpp ++++ b/src/qmmpui/configdialog.cpp +@@ -56,6 +56,11 @@ ConfigDialog::ConfigDialog (QWidget *parent) : QDialog (parent) + m_insert_row = 0; + setAttribute(Qt::WA_QuitOnClose, false); + setAttribute(Qt::WA_DeleteOnClose, false); ++#if defined(Q_OS_HAIKU) ++ hide(); ++ setWindowModality(Qt::NonModal); ++ show(); ++#endif + m_ui->preferencesButton->setEnabled(false); + m_ui->informationButton->setEnabled(false); + m_ui->treeWidget->setItemDelegate(new RadioItemDelegate(this)); -- -2.15.0 +2.19.1 + + +From 59b4362badc1144be44ed4069655a2e9ab0b03f5 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Wed, 13 Feb 2019 21:21:54 +1000 +Subject: Ugly hack for fix crush on exit + + +diff --git a/src/app/main.cpp b/src/app/main.cpp +index 815c748..6a2e5d7 100644 +--- a/src/app/main.cpp ++++ b/src/app/main.cpp +@@ -30,6 +30,10 @@ + #include + #include + #endif ++#ifdef __HAIKU__ ++#include ++#include ++#endif + #include + #include "qmmpstarter.h" + +@@ -67,5 +71,11 @@ int main(int argc, char *argv[]) + return starter.exitCode(); + + a.setQuitOnLastWindowClosed(false); ++#ifdef __HAIKU__ ++ int res = a.exec(); ++ kill(::getpid(), SIGKILL); ++ return res; ++#else + return a.exec(); ++#endif + } +-- +2.19.1 diff --git a/media-sound/qmmp/qmmp-1.2.4.recipe b/media-sound/qmmp/qmmp-1.3.0.recipe similarity index 70% rename from media-sound/qmmp/qmmp-1.2.4.recipe rename to media-sound/qmmp/qmmp-1.3.0.recipe index 8c1fd8320..78ef07c1d 100644 --- a/media-sound/qmmp/qmmp-1.2.4.recipe +++ b/media-sound/qmmp/qmmp-1.3.0.recipe @@ -2,11 +2,11 @@ SUMMARY="Qt-based audio player with winamp/xmms skins support" DESCRIPTION="This program is an audio-player, written with the help of the Qt library. \ The user interface is similar to winamp or xmms." HOMEPAGE="http://qmmp.ylsoftware.com/" -COPYRIGHT="2006-2018 Qmmp Development Team" +COPYRIGHT="2006-2019 Qmmp Development Team" LICENSE="GNU GPL v2" REVISION="1" SOURCE_URI="https://sourceforge.net/projects/qmmp-dev/files/qmmp/qmmp-$portVersion.tar.bz2" -CHECKSUM_SHA256="224904f073e3921a080dca008e6c99e3d606f5442d1df08835cba000a069ae66" +CHECKSUM_SHA256="4da9884b598ac7157a353178eb022f3d56017df3096b3c367b9ae8e8b5dd2cfe" PATCHES="qmmp-$portVersion.patchset" ADDITIONAL_FILES=" qmmp.rdef.in @@ -30,23 +30,33 @@ REQUIRES=" lib:libavcodec$secondaryArchSuffix lib:libavformat$secondaryArchSuffix lib:libavutil$secondaryArchSuffix + lib:libbs2b$secondaryArchSuffix + lib:libcddb$secondaryArchSuffix + lib:libcdio$secondaryArchSuffix >= 18 + lib:libcdio_cdda$secondaryArchSuffix + lib:libcdio_paranoia$secondaryArchSuffix lib:libcurl$secondaryArchSuffix lib:libenca$secondaryArchSuffix lib:libfaad$secondaryArchSuffix lib:libflac$secondaryArchSuffix lib:libgl$secondaryArchSuffix lib:libglib_2.0$secondaryArchSuffix + lib:libgme$secondaryArchSuffix lib:libiconv$secondaryArchSuffix lib:libintl$secondaryArchSuffix lib:libmad$secondaryArchSuffix lib:libmms$secondaryArchSuffix lib:libmodplug$secondaryArchSuffix lib:libmpcdec$secondaryArchSuffix + lib:libmpg123$secondaryArchSuffix lib:libogg$secondaryArchSuffix + lib:libopus$secondaryArchSuffix + lib:libopusfile$secondaryArchSuffix lib:libQt5Core$secondaryArchSuffix lib:libQt5Gui$secondaryArchSuffix lib:libQt5Widgets$secondaryArchSuffix lib:libsndfile$secondaryArchSuffix + lib:libsoxr$secondaryArchSuffix lib:libtag$secondaryArchSuffix lib:libvorbis$secondaryArchSuffix lib:libwavpack$secondaryArchSuffix @@ -66,31 +76,43 @@ BUILD_REQUIRES=" devel:libarchive$secondaryArchSuffix devel:libavcodec$secondaryArchSuffix devel:libavformat$secondaryArchSuffix + devel:libbs2b$secondaryArchSuffix + devel:libcddb$secondaryArchSuffix + devel:libcdio$secondaryArchSuffix >= 18 + devel:libcdio_cdda$secondaryArchSuffix + devel:libcdio_paranoia$secondaryArchSuffix devel:libcurl$secondaryArchSuffix devel:libenca$secondaryArchSuffix devel:libfaad$secondaryArchSuffix devel:libflac$secondaryArchSuffix devel:libglib_2.0$secondaryArchSuffix + devel:libgme$secondaryArchSuffix devel:libiconv$secondaryArchSuffix devel:libintl$secondaryArchSuffix devel:libmad$secondaryArchSuffix devel:libmms$secondaryArchSuffix devel:libmodplug$secondaryArchSuffix devel:libmpcdec$secondaryArchSuffix + devel:libmpg123$secondaryArchSuffix devel:libogg$secondaryArchSuffix - devel:libQt5Core$secondaryArchSuffix >= 5.7 + devel:libopus$secondaryArchSuffix + devel:libopusfile$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix >= 5.12 devel:libsndfile$secondaryArchSuffix + devel:libsoxr$secondaryArchSuffix devel:libtag$secondaryArchSuffix devel:libvorbis$secondaryArchSuffix devel:libwavpack$secondaryArchSuffix " BUILD_PREREQUIRES=" + cmd:cmake cmd:find cmd:flex cmd:gcc$secondaryArchSuffix + cmd:lrelease$secondaryArchSuffix >= 5.12 cmd:make cmd:pkg_config$secondaryArchSuffix - cmd:qmake$secondaryArchSuffix >= 5.7 + cmd:qmake$secondaryArchSuffix >= 5.12 cmd:unzip cmd:xargs cmd:yacc @@ -103,25 +125,36 @@ PATCH() BUILD() { - unzip - qmake + mkdir -p build + cd build + cmake .. $cmakeDirArgs \ + -DCMAKE_INSTALL_PREFIX=$appsDir/Qmmp \ + -DCMAKE_INSTALL_BINDIR=$appsDir/Qmmp \ + -DPLUGIN_DIR=$appsDir/Qmmp/plugins \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DUSE_GNOMEHOTKEY=OFF \ + -DUSE_HAL=OFF \ + -DUSE_HOTKEY=OFF \ + -DUSE_KDENOTIFY=OFF \ + -DUSE_LADSPA=OFF \ + -DUSE_MEDIAKIT=ON \ + -DUSE_MPRIS=OFF \ + -DUSE_QTMULTIMEDIA=OFF \ + -DUSE_SKINNED=ON \ + -DUSE_UDISKS2=OFF + make $jobArgs } INSTALL() { - mkdir -p $appsDir/Qmmp - make install INSTALL_ROOT=$appsDir/Qmmp - mv -f $appsDir/Qmmp/bin/Qmmp $appsDir/Qmmp/ - cp -rf plugins $appsDir/Qmmp/plugins - mkdir -p $libDir - mv -f $appsDir/Qmmp/lib/*.so* $libDir - mv -f $appsDir/Qmmp/lib/pkgconfig $libDir - mkdir -p $includeDir - mv -f $appsDir/Qmmp/include/* $includeDir - rm -rf $appsDir/Qmmp/{bin,include,lib,share} + cd build + make install + mkdir -p $appsDir/Qmmp/skins cp -f $portDir/additional-files/*.wsz $appsDir/Qmmp/skins + mv $appsDir/Qmmp/qmmp $appsDir/Qmmp/Qmmp + rm -rf $dataDir fixPkgconfig prepareInstalledDevelLibs libqmmp libqmmpui