diff options
Diffstat (limited to 'kde-plasma/plasma-pa')
4 files changed, 334 insertions, 0 deletions
diff --git a/kde-plasma/plasma-pa/Manifest b/kde-plasma/plasma-pa/Manifest index 8d990e1454e9..7ec6f4baf8eb 100644 --- a/kde-plasma/plasma-pa/Manifest +++ b/kde-plasma/plasma-pa/Manifest @@ -1,8 +1,11 @@ +AUX plasma-pa-5.13.3-automagic_gconf.patch 530 BLAKE2B 49fa6547b997c0f31627941b333c30ce0ba1165910c235a8319e4855fc5b5acb8c8355b47cd87e57aa49d1f320ed9d6b395887376ef55a5098c436bcfa7d4e4a SHA512 5baaeafc2e4426251d445f954ce25b6561e9e5e36064f803068d8d60d6186cecc4d7eb97da20406160c166800bfa4e54543566f21ac4afa398c3cf4588d23546 +AUX plasma-pa-5.13.3-optional_gconf.patch 9170 BLAKE2B 02d4ac961579c4cdd58e0ac5d494f4f91e01e66d541a8ac7fcaafc19714dcce928d32a6f9cce97b88ef91ac167dea6e404314c06778b31d66ed68d0605706c76 SHA512 999db3e8b1c10dfece350a0f12deb52e51cf6da0d217bf3470c5e2375df26e8526fb88f8c9d72d283aff5819708f068dd87e0eadeec8f7272ab14cdd6ea4ff12 AUX plasma-pa-5.13.3-wrong-port-avail.patch 2797 BLAKE2B d17cb7f3220219ebed54db3fa5d6f9b2dede0d90bef21237cd4f48d961bad56109a5ae459e6691305bd8de73e6e9a500c46c745e991f9fcaefea6db27da23cca SHA512 67811d1427aa38265fb1d62cdf7a864318c150f7fc29ba7226deed529d76ae220db1469958563bf5b3ea30bcb07537f08f4982276b41ed1d9b55bf51a585d5fe DIST plasma-pa-5.12.5.tar.xz 86068 BLAKE2B 5133b667527e083d390b8d0e4352fdbb2d6ccc7abf6676e07b5f141787372bd8c00cb600f08e4fd20707476108fe661c779820645f06e895c53e4aa1411bc3a1 SHA512 7fedeaaeafaba7e2d7568fddcaff1793640979090aaf8ab7131c462b2bc0c2766f76d37cd0133c02c05a23efeb9e11b11350848d59b9869bf7bfcbd55924163e DIST plasma-pa-5.12.6.tar.xz 87396 BLAKE2B 9fdb9426e1e9ba1e92d8e9bd724930de6f5f4055ebb6f74e2b5f6abf4efcc012ef9a6193762232abc063dd17bb7cd1d7e3b12e2a7250d3e9a9f6fdbb270fa24f SHA512 6d5cb3c5ab911d286782b84c7904e6317d2346e2fdcef5611704aa64967dbe0fd3b5794f35c4744ce1a5617d9c873d0ac39c30bfaf0e56fbbbe64cfa55a1df22 DIST plasma-pa-5.13.3.tar.xz 89888 BLAKE2B 5942e736d17097c098a809461f6829fe392df71edbe8e727b7cb94d6cc1109b301569a9d3d56ac8a5c77db8e9c818716273b431d06429a02ff774527744dbd03 SHA512 deee784b383e4f7118d652b48fd9041dc6d099c2ad78a7dfbfb0a044f7a5fd934e7f3a446158b0e88bc2cbb58185f5c162aedb637def11092050ee187d61e1c6 EBUILD plasma-pa-5.12.5.ebuild 654 BLAKE2B 92ab0bdf33a2abbeff636da7fd356b4bd94c2c7d3bc73adf0867c3563e6ed06bff4ff1706c49eb5d6730f16667c29b8d234899a24a1016b7af51b98400778ed8 SHA512 7aadaba73defe948c5eaeab2a08810ccc02bdfbc32acdc9b6729185c8c0c1c3f05a6bf93137c46dea46fe2ec2c1fd92388b47dc117f6d3688b211355751a0040 EBUILD plasma-pa-5.12.6.ebuild 656 BLAKE2B 983c94164589679c8600b9c09c6e4e1c8c08708c9435f09626e6634fec3644fd5af322290b57f7fbb9d268f3eefabf2460e75140e3899ba4a4d4983d4f733b24 SHA512 caaa8c3ed5652cf042a60ed86134afb1d0034fd8da500008cfdc3469db9b17a6074be1b27d9935f1c866522fce30c656cbcadfdb11919f19ea6111d44f1be1c5 +EBUILD plasma-pa-5.13.3-r2.ebuild 751 BLAKE2B 0ffd8ebcf4378de9960c50327213296fbcc36283b8e1ba0a6b1f17486400cd1846867cef237aabecd32beeb32e3008143c5d2f3b9a015b637c4b8ad017349f73 SHA512 5dff2fed2e866994b01f532486957ca6e595df9b4c5d2d295b2d1cf3beccc483eb52b35f0ccd7ae9e5366c75a4c28f89929c6ac88db4bdf319e8e3dff5c5d69f EBUILD plasma-pa-5.13.3.ebuild 711 BLAKE2B 0c191688c39821413fed24e59393e66c5267e9e815beeb322a21f5fadf290de93ea6de1d0fe78c953290c1e172a1db06527c4d2f4240ca572ab9b198c4edd9e1 SHA512 934f5645283ba3297801dfb078326d059af98d831dc54c5c257ed64f6fc6f120df60c1020d0f485a940ac5aa3054d4d8a836feb95aba240e0a0f8cad72428c5a MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3 diff --git a/kde-plasma/plasma-pa/files/plasma-pa-5.13.3-automagic_gconf.patch b/kde-plasma/plasma-pa/files/plasma-pa-5.13.3-automagic_gconf.patch new file mode 100644 index 000000000000..8e58077d478c --- /dev/null +++ b/kde-plasma/plasma-pa/files/plasma-pa-5.13.3-automagic_gconf.patch @@ -0,0 +1,18 @@ +--- plasma-pa-5.13.3/CMakeLists.txt ++++ plasma-pa-5.13.3/CMakeLists.txt +@@ -18,12 +18,9 @@ + include(KDECompilerSettings NO_POLICY_SCOPE) + include(ECMOptionalAddSubdirectory) + +-include(FindPkgConfig) +-pkg_check_modules(GCONF gconf-2.0) +-pkg_check_modules(GOBJECT gobject-2.0) +-if (GCONF_FOUND AND GOBJECT_FOUND) +- set(HAVE_GCONF TRUE) +-endif() ++# Don't even try to use gconf. ++# >=pulseaudio-12.0 recommends to no longer use it anyway. ++set(HAVE_GCONF FALSE) + + find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS + Core diff --git a/kde-plasma/plasma-pa/files/plasma-pa-5.13.3-optional_gconf.patch b/kde-plasma/plasma-pa/files/plasma-pa-5.13.3-optional_gconf.patch new file mode 100644 index 000000000000..f14fd180c249 --- /dev/null +++ b/kde-plasma/plasma-pa/files/plasma-pa-5.13.3-optional_gconf.patch @@ -0,0 +1,280 @@ +From c9fae1fb3f8e8a820fd480ce227d7fabf87bd045 Mon Sep 17 00:00:00 2001 +From: David Rosca <nowrep@gmail.com> +Date: Tue, 26 Jun 2018 10:56:04 +0200 +Subject: [PATCH] Make GConf optional dependency + +When building without GConf, Advanded Output Configuration will be hidden in KCM. + +BUG: 386665 +FIXED-IN: 5.13.4 + +Differential Revision: https://phabricator.kde.org/D13734 +--- + CMakeLists.txt | 9 ++++-- + config.h.cmake | 3 ++ + src/CMakeLists.txt | 18 ++++++++---- + src/kcm/package/contents/ui/Advanced.qml | 5 +++- + src/modulemanager.cpp | 47 ++++++++++++++++++++++++++------ + src/modulemanager.h | 3 ++ + 6 files changed, 68 insertions(+), 17 deletions(-) + create mode 100644 config.h.cmake + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e494ced..2505696 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,8 +19,11 @@ include(KDECompilerSettings NO_POLICY_SCOPE) + include(ECMOptionalAddSubdirectory) + + include(FindPkgConfig) +-pkg_check_modules(GCONF REQUIRED gconf-2.0) +-pkg_check_modules(GOBJECT REQUIRED gobject-2.0) ++pkg_check_modules(GCONF gconf-2.0) ++pkg_check_modules(GOBJECT gobject-2.0) ++if (GCONF_FOUND AND GOBJECT_FOUND) ++ set(HAVE_GCONF TRUE) ++endif() + + find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS + Core +@@ -41,6 +44,8 @@ find_package(PulseAudio 5.0.0 REQUIRED) + find_package(Canberra REQUIRED) + find_package(GLIB2 REQUIRED) + ++configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) ++ + add_subdirectory(applet) + add_subdirectory(src) + add_subdirectory(data) +diff --git a/config.h.cmake b/config.h.cmake +new file mode 100644 +index 0000000..1643e50 +--- /dev/null ++++ b/config.h.cmake +@@ -0,0 +1,3 @@ ++/* config.h. Generated by cmake from config.h.cmake */ ++ ++#cmakedefine01 HAVE_GCONF +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e6cddfc..09d108c 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,5 +1,4 @@ +-include_directories(${PULSEAUDIO_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR} ${GCONF_INCLUDE_DIRS} +- ${GOBJECT_INCLUDE_DIRS}) ++include_directories(${PULSEAUDIO_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR}) + + set(cpp_SRCS + card.cpp +@@ -15,7 +14,6 @@ set(cpp_SRCS + sink.cpp + sinkinput.cpp + modulemanager.cpp +- gconfitem.cpp + source.cpp + sourceoutput.cpp + stream.cpp +@@ -38,6 +36,11 @@ set(qml_SRCS + set_property(SOURCE qml/dbus/osdService.xml APPEND PROPERTY CLASSNAME OsdServiceInterface) + qt5_add_dbus_interface(dbus_SRCS qml/dbus/osdService.xml osdservice) + ++if (HAVE_GCONF) ++ include_directories(${GCONF_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS}) ++ set(cpp_SRCS ${cpp_SRCS} gconfitem.cpp) ++endif() ++ + add_library(plasma-volume-declarative SHARED ${dbus_SRCS} ${cpp_SRCS} ${qml_SRCS}) + target_link_libraries(plasma-volume-declarative + Qt5::Core +@@ -47,11 +50,16 @@ target_link_libraries(plasma-volume-declarative + KF5::GlobalAccel + ${PULSEAUDIO_LIBRARY} + ${PULSEAUDIO_MAINLOOP_LIBRARY} +- ${GCONF_LDFLAGS} +- ${GOBJECT_LDFLAGS} + ${CANBERRA_LIBRARIES} + ) + ++if (HAVE_GCONF) ++ target_link_libraries(plasma-volume-declarative ++ ${GCONF_LDFLAGS} ++ ${GOBJECT_LDFLAGS} ++ ) ++endif() ++ + set(PRIVATE_QML_INSTALL_DIR ${QML_INSTALL_DIR}/org/kde/plasma/private/volume) + install(TARGETS plasma-volume-declarative DESTINATION ${PRIVATE_QML_INSTALL_DIR}) + install(FILES ${qml_SRCS} DESTINATION ${PRIVATE_QML_INSTALL_DIR}) +diff --git a/src/kcm/package/contents/ui/Advanced.qml b/src/kcm/package/contents/ui/Advanced.qml +index b305cf1..0cd9eb9 100644 +--- a/src/kcm/package/contents/ui/Advanced.qml ++++ b/src/kcm/package/contents/ui/Advanced.qml +@@ -56,6 +56,7 @@ ScrollView { + Header { + Layout.fillWidth: true + text: i18n("Advanced Output Configuration") ++ visible: moduleManager.settingsSupported + } + + ModuleManager { +@@ -71,6 +72,7 @@ ScrollView { + checked: moduleManager.combineSinks + onCheckedChanged: moduleManager.combineSinks = checked; + enabled: moduleManager.loadedModules.indexOf("module-gconf") != -1 ++ visible: moduleManager.settingsSupported + } + + CheckBox { +@@ -81,6 +83,7 @@ ScrollView { + checked: moduleManager.switchOnConnect + onCheckedChanged: moduleManager.switchOnConnect = checked; + enabled: moduleManager.loadedModules.indexOf("module-gconf") != -1 ++ visible: moduleManager.settingsSupported + } + + Label { +@@ -88,7 +91,7 @@ ScrollView { + enabled: false + font.italic: true + text: i18n("Requires 'module-gconf' PulseAudio module") +- visible: moduleManager.loadedModules.indexOf("module-gconf") == -1 ++ visible: moduleManager.settingsSupported && moduleManager.loadedModules.indexOf("module-gconf") == -1 + } + } + } +diff --git a/src/modulemanager.cpp b/src/modulemanager.cpp +index 635adc8..5245ac5 100644 +--- a/src/modulemanager.cpp ++++ b/src/modulemanager.cpp +@@ -21,20 +21,22 @@ + + #include "modulemanager.h" + #include "module.h" ++#include "../config.h" + ++#if HAVE_GCONF ++#include "gconfitem.h" + #define PA_GCONF_ROOT "/system/pulseaudio" + #define PA_GCONF_PATH_MODULES PA_GCONF_ROOT"/modules" +- +-#include "gconfitem.h" ++#endif + + #include <QTimer> + + namespace QPulseAudio + { + ++#if HAVE_GCONF + class GConfModule : public GConfItem + { +- Q_OBJECT + public: + GConfModule(const QString &configName, const QString &moduleName, QObject *parent); + bool isEnabled() const; +@@ -67,17 +69,21 @@ void GConfModule::setEnabled(bool enabled, const QVariant &args) + } + set(QStringLiteral("locked"), false); + } ++#endif + + + ModuleManager::ModuleManager(QObject *parent) : +- QObject(parent), +- m_combineSinks(new GConfModule(QStringLiteral("combine"), QStringLiteral("module-combine"), this)), +- m_switchOnConnect(new GConfModule(QStringLiteral("switch-on-connect"), QStringLiteral("module-switch-on-connect"), this)), +- m_deviceManager(new GConfModule(QStringLiteral("device-manager"), QStringLiteral("module-device-manager"), this)) ++ QObject(parent) + { ++#if HAVE_GCONF ++ m_combineSinks = new GConfModule(QStringLiteral("combine"), QStringLiteral("module-combine"), this); ++ m_switchOnConnect = new GConfModule(QStringLiteral("switch-on-connect"), QStringLiteral("module-switch-on-connect"), this); ++ m_deviceManager = new GConfModule(QStringLiteral("device-manager"), QStringLiteral("module-device-manager"), this); ++ + connect(m_combineSinks, &GConfItem::subtreeChanged, this, &ModuleManager::combineSinksChanged); + connect(m_switchOnConnect, &GConfItem::subtreeChanged, this, &ModuleManager::switchOnConnectChanged); + connect(m_deviceManager, &GConfItem::subtreeChanged, this, &ModuleManager::switchOnConnectChanged); ++#endif + + QTimer *updateModulesTimer = new QTimer(this); + updateModulesTimer->setInterval(500); +@@ -92,14 +98,31 @@ ModuleManager::~ModuleManager() + { + }; + ++bool ModuleManager::settingsSupported() const ++{ ++#if HAVE_GCONF ++ return true; ++#else ++ return false; ++#endif ++} ++ + bool ModuleManager::combineSinks() const + { ++#if HAVE_GCONF + return m_combineSinks->isEnabled(); ++#else ++ return false; ++#endif + } + + void ModuleManager::setCombineSinks(bool combineSinks) + { ++#if HAVE_GCONF + m_combineSinks->setEnabled(combineSinks); ++#else ++ Q_UNUSED(combineSinks) ++#endif + } + + bool ModuleManager::switchOnConnect() const +@@ -109,13 +132,21 @@ bool ModuleManager::switchOnConnect() const + //Note on the first run m_deviceManager will appear to be disabled even though it's actually running + //because there is no gconf entry, however m_switchOnConnect will only exist if set by Plasma PA + //hence only check this entry ++#if HAVE_GCONF + return m_switchOnConnect->isEnabled() ; ++#else ++ return false; ++#endif + } + + void ModuleManager::setSwitchOnConnect(bool switchOnConnect) + { ++#if HAVE_GCONF + m_deviceManager->setEnabled(!switchOnConnect); + m_switchOnConnect->setEnabled(switchOnConnect); ++#else ++ Q_UNUSED(switchOnConnect) ++#endif + } + + QStringList ModuleManager::loadedModules() const +@@ -134,5 +165,3 @@ void ModuleManager::updateLoadedModules() + } + + } +- +-#include "modulemanager.moc" +diff --git a/src/modulemanager.h b/src/modulemanager.h +index b8fcd0b..8108fe0 100644 +--- a/src/modulemanager.h ++++ b/src/modulemanager.h +@@ -38,12 +38,15 @@ class GConfModule; + class ModuleManager : public QObject + { + Q_OBJECT ++ Q_PROPERTY(bool settingsSupported READ settingsSupported CONSTANT) + Q_PROPERTY(bool combineSinks READ combineSinks WRITE setCombineSinks NOTIFY combineSinksChanged) + Q_PROPERTY(bool switchOnConnect READ switchOnConnect WRITE setSwitchOnConnect NOTIFY switchOnConnectChanged) + Q_PROPERTY(QStringList loadedModules READ loadedModules NOTIFY loadedModulesChanged) + public: + ModuleManager(QObject *parent = nullptr); + ~ModuleManager(); ++ ++ bool settingsSupported() const; + bool combineSinks() const; + void setCombineSinks(bool combineSinks); + bool switchOnConnect() const; diff --git a/kde-plasma/plasma-pa/plasma-pa-5.13.3-r2.ebuild b/kde-plasma/plasma-pa/plasma-pa-5.13.3-r2.ebuild new file mode 100644 index 000000000000..3c1d7097d87d --- /dev/null +++ b/kde-plasma/plasma-pa/plasma-pa-5.13.3-r2.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +KDE_HANDBOOK="forceoptional" +inherit kde5 + +DESCRIPTION="Plasma applet for audio volume management using PulseAudio" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="" + +DEPEND=" + $(add_frameworks_dep kcoreaddons) + $(add_frameworks_dep kdeclarative) + $(add_frameworks_dep kglobalaccel) + $(add_frameworks_dep ki18n) + $(add_frameworks_dep plasma) + $(add_qt_dep qtdbus) + $(add_qt_dep qtdeclarative) + $(add_qt_dep qtgui) + $(add_qt_dep qtwidgets) + media-libs/libcanberra + media-sound/pulseaudio +" + +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${P}-wrong-port-avail.patch" + "${FILESDIR}/${P}-optional_gconf.patch" + "${FILESDIR}/${P}-automagic_gconf.patch" +) |