summaryrefslogtreecommitdiff
path: root/media-sound/pavucontrol
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-03-19 11:37:34 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-03-19 11:37:34 +0000
commitb7b97785ebbb2f11d24d14dab8b81ed274f4ce6a (patch)
tree9fd110f9fc996e8a4213eeda994a8c112491b86d /media-sound/pavucontrol
parent066d27181e9a797ad9f8fc43b49fc9a10ff2f707 (diff)
gentoo resync : 19.03.2019
Diffstat (limited to 'media-sound/pavucontrol')
-rw-r--r--media-sound/pavucontrol/Manifest5
-rw-r--r--media-sound/pavucontrol/files/pavucontrol-2.0-fix-startup-crashes.patch188
-rw-r--r--media-sound/pavucontrol/pavucontrol-4.0.ebuild (renamed from media-sound/pavucontrol/pavucontrol-2.0-r1.ebuild)31
3 files changed, 16 insertions, 208 deletions
diff --git a/media-sound/pavucontrol/Manifest b/media-sound/pavucontrol/Manifest
index c00d3a435629..768195cb50fc 100644
--- a/media-sound/pavucontrol/Manifest
+++ b/media-sound/pavucontrol/Manifest
@@ -1,6 +1,5 @@
-AUX pavucontrol-2.0-fix-startup-crashes.patch 7437 BLAKE2B 9ca2b024ffa606259ffab7181ab330b18390fcd95b65c4f25dfe64d7e067db781b74ab2c4c2dba70d2660d9ca6709377d3b37032ee89c68550f927eac45e282d SHA512 f5cfdc8731867bcda61a38ccd30a91b2dc3e28106bae7300254957e6e1f8fd8806322c9bd90b7bd2f269aa6190203c1b9f545c18bd5b3f11c3f2d6983f114aac
-DIST pavucontrol-2.0.tar.xz 151560 BLAKE2B 3d06663124c513de9a1f85fa720f51378d1fe57f8b23792a65bf7150c4895387bde4db0cbfab357a2a1bbb05a0d5c47b69ed5acaad83dcca002079eb5d640b70 SHA512 2b5f83f79cf6d7ce94bd836278274acb09824af389f5a7ad7d3977db743d8f9c5def78d8e9dea901a7e05355cfebb060f513cf01997baf546fd2dd2ada0513b1
DIST pavucontrol-3.0.tar.xz 145092 BLAKE2B 3461aaac4228150918effcff04b61f9112c8b12aa61bcce9a82d033c825d7466720a4d8f008ff19d9d8d2ad0d52c6ffd0ee0a2288ce84beb7f30c5f816eb0c11 SHA512 3562fc50e5f60c6b6280c2d524e13cf44114bf481e5ec98b8714c7c2f162d0332179ebcf4c5a78d86f511de857bdc3aa7415e1548e0c10d4582b5958c4cacae9
-EBUILD pavucontrol-2.0-r1.ebuild 942 BLAKE2B 7e3277029a29b923a888937910906dd86d4e7c00e32d501c429b0a819571d60f077c677beb3201a9ba08d588de2b865271430168d318ca92db9f497ca197d241 SHA512 ed88a58947b6097d1aa2ea15ff121ea4cc3fb57a66e8ebdec9fa159bfe5c30c3711e763f47ea24aecf67b72cb578cbaea7e01714100049913699d22493b7f377
+DIST pavucontrol-4.0.tar.xz 165216 BLAKE2B 5a556dbd8132d811b7704b377f4a62ad606378e235f9892a7951e1f981917e4196d17e85350ef757a956e6fbc448f0f6cd600b5656e12e2152b71d10b5e64e2a SHA512 eaea303c46ddb36733aed88c8a603907d70e4539c345d8acec23527d3306ee21ae630c0508bdab6ae52cbc2f1eb8fc4b212abda72876dc92e83fba7ceb623be2
EBUILD pavucontrol-3.0.ebuild 881 BLAKE2B ea25e8863fe6e1ce340db5c1981dea6afa587e7596ba2b4f3992fabb054566117481a5e51ff2b3c6b1171d7971d547ddef228c0035c369310b63ec392f9acb36 SHA512 520625ac6fc823eb12c31210f810b5febff29da6f35c94757c4515fe9828e01381c3be4b1e2881d071515369e780ffbabc55bc2972205ba69e99f8dc9192b782
+EBUILD pavucontrol-4.0.ebuild 890 BLAKE2B f40bf933b2e8112336080c2d4b284c8c80e09b686fef19d5281e9f94dcac620bd07c9a434ac74e9793880e2cf82eef497c63576dcb0c123f612afab9e7115f04 SHA512 d7a36766f88e6a34307f903aee17cadc28a6693036c78c94b3f3135684c8a19cf004b19181de49a423a8603195f2d82de7ef9cdb1cfcc828982e1514e42903b0
MISC metadata.xml 249 BLAKE2B f7f8f071ecba933f3d39b0b60983281d59299b92de9375a60ab4109d7202800cb790bce0c426227f04b3e2624b1adb20876145741355abc6a4938b8b9698d144 SHA512 9a100fb26586365eda99724330a03a512f4d0be18d39c3a195ba02c2fc841edeee99d22512acf5a058a3b978d3a74f4d963a5aff9aa343b6cb4086cdfefe6343
diff --git a/media-sound/pavucontrol/files/pavucontrol-2.0-fix-startup-crashes.patch b/media-sound/pavucontrol/files/pavucontrol-2.0-fix-startup-crashes.patch
deleted file mode 100644
index 0689290b6229..000000000000
--- a/media-sound/pavucontrol/files/pavucontrol-2.0-fix-startup-crashes.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-From b2362f2223b1ecc0c92fac9d261d5684f33af06f Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Thu, 28 Aug 2014 12:58:05 +0200
-Subject: Reference the widget before returning it from ::create methods
-
-Widgets (unlike Windows and Dialogs) returned by Gtk::Builder::get_widget*
-start owned by the GtkBuilder object, the idea being that they will get
-added to a container before the scope of the GtkBuilder object ends, and it
-thus automatically gets destroyed.
-
-But in the various ::create methods in pavucontrol, a pointer to the widget
-gets returned, so that it can be added to a cointainer by the caller.
-However as soon as the ::create method exits the GtkBuilder object owning
-the widget, and thus also the widget gets destroyed, and we end up returning
-free-ed memory.
-
-This commit fixes this by making all ::create methods take a reference on
-the widget before returning it, and having all the callers unreference the
-widget after adding it to a container.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=83144
-https://bugzilla.redhat.com/show_bug.cgi?id=1133339
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-
-diff --git a/src/cardwidget.cc b/src/cardwidget.cc
-index c79ac6c..28c558d 100644
---- a/src/cardwidget.cc
-+++ b/src/cardwidget.cc
-@@ -45,6 +45,7 @@ CardWidget* CardWidget::create() {
- CardWidget* w;
- Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "cardWidget");
- x->get_widget_derived("cardWidget", w);
-+ w->reference();
- return w;
- }
-
-diff --git a/src/channelwidget.cc b/src/channelwidget.cc
-index 6f59de2..fe94c11 100644
---- a/src/channelwidget.cc
-+++ b/src/channelwidget.cc
-@@ -53,6 +53,7 @@ ChannelWidget* ChannelWidget::create() {
- x->add_from_file(GLADE_FILE, "adjustment1");
- x->add_from_file(GLADE_FILE, "channelWidget");
- x->get_widget_derived("channelWidget", w);
-+ w->reference();
- return w;
- }
-
-diff --git a/src/devicewidget.cc b/src/devicewidget.cc
-index 1a148ee..813780f 100644
---- a/src/devicewidget.cc
-+++ b/src/devicewidget.cc
-@@ -89,6 +89,7 @@ void DeviceWidget::setChannelMap(const pa_channel_map &m, bool can_decibel) {
- snprintf(text, sizeof(text), "<b>%s</b>", pa_channel_position_to_pretty_string(m.map[i]));
- cw->channelLabel->set_markup(text);
- channelsVBox->pack_start(*cw, false, false, 0);
-+ cw->unreference();
- }
- channelWidgets[m.channels-1]->last = true;
-
-diff --git a/src/mainwindow.cc b/src/mainwindow.cc
-index 5a42318..5d205fb 100644
---- a/src/mainwindow.cc
-+++ b/src/mainwindow.cc
-@@ -300,6 +300,7 @@ void MainWindow::updateCard(const pa_card_info &info) {
- else {
- cardWidgets[info.index] = w = CardWidget::create();
- cardsVBox->pack_start(*w, false, false, 0);
-+ w->unreference();
- w->index = info.index;
- is_new = true;
- }
-@@ -416,6 +417,7 @@ bool MainWindow::updateSink(const pa_sink_info &info) {
- sinkWidgets[info.index] = w = SinkWidget::create(this);
- w->setChannelMap(info.channel_map, !!(info.flags & PA_SINK_DECIBEL_VOLUME));
- sinksVBox->pack_start(*w, false, false, 0);
-+ w->unreference();
- w->index = info.index;
- w->monitor_index = info.monitor_source;
- is_new = true;
-@@ -570,6 +572,7 @@ void MainWindow::updateSource(const pa_source_info &info) {
- sourceWidgets[info.index] = w = SourceWidget::create(this);
- w->setChannelMap(info.channel_map, !!(info.flags & PA_SOURCE_DECIBEL_VOLUME));
- sourcesVBox->pack_start(*w, false, false, 0);
-+ w->unreference();
- w->index = info.index;
- is_new = true;
-
-@@ -686,6 +689,7 @@ void MainWindow::updateSinkInput(const pa_sink_input_info &info) {
- sinkInputWidgets[info.index] = w = SinkInputWidget::create(this);
- w->setChannelMap(info.channel_map, true);
- streamsVBox->pack_start(*w, false, false, 0);
-+ w->unreference();
- w->index = info.index;
- w->clientIndex = info.client;
- is_new = true;
-@@ -743,6 +747,7 @@ void MainWindow::updateSourceOutput(const pa_source_output_info &info) {
- w->setChannelMap(info.channel_map, true);
- #endif
- recsVBox->pack_start(*w, false, false, 0);
-+ w->unreference();
- w->index = info.index;
- w->clientIndex = info.client;
- is_new = true;
-@@ -838,6 +843,7 @@ bool MainWindow::createEventRoleWidget() {
-
- eventRoleWidget = RoleWidget::create();
- streamsVBox->pack_start(*eventRoleWidget, false, false, 0);
-+ eventRoleWidget->unreference();
- eventRoleWidget->role = "sink-input-by-media-role:event";
- eventRoleWidget->setChannelMap(cm, true);
-
-diff --git a/src/rolewidget.cc b/src/rolewidget.cc
-index fd3196c..db07f92 100644
---- a/src/rolewidget.cc
-+++ b/src/rolewidget.cc
-@@ -40,6 +40,7 @@ RoleWidget* RoleWidget::create() {
- RoleWidget* w;
- Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget");
- x->get_widget_derived("streamWidget", w);
-+ w->reference();
- return w;
- }
-
-diff --git a/src/sinkinputwidget.cc b/src/sinkinputwidget.cc
-index b88b718..5a0ba39 100644
---- a/src/sinkinputwidget.cc
-+++ b/src/sinkinputwidget.cc
-@@ -43,6 +43,7 @@ SinkInputWidget* SinkInputWidget::create(MainWindow* mainWindow) {
- Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget");
- x->get_widget_derived("streamWidget", w);
- w->init(mainWindow);
-+ w->reference();
- return w;
- }
-
-diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc
-index 7f4902c..f682cf2 100644
---- a/src/sinkwidget.cc
-+++ b/src/sinkwidget.cc
-@@ -82,6 +82,7 @@ SinkWidget* SinkWidget::create(MainWindow* mainWindow) {
- Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "deviceWidget");
- x->get_widget_derived("deviceWidget", w);
- w->init(mainWindow, "sink");
-+ w->reference();
- return w;
- }
-
-diff --git a/src/sourceoutputwidget.cc b/src/sourceoutputwidget.cc
-index 827c5a8..4d915b0 100644
---- a/src/sourceoutputwidget.cc
-+++ b/src/sourceoutputwidget.cc
-@@ -49,6 +49,7 @@ SourceOutputWidget* SourceOutputWidget::create(MainWindow* mainWindow) {
- Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget");
- x->get_widget_derived("streamWidget", w);
- w->init(mainWindow);
-+ w->reference();
- return w;
- }
-
-diff --git a/src/sourcewidget.cc b/src/sourcewidget.cc
-index 5e4ecf0..fde5333 100644
---- a/src/sourcewidget.cc
-+++ b/src/sourcewidget.cc
-@@ -35,6 +35,7 @@ SourceWidget* SourceWidget::create(MainWindow* mainWindow) {
- Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "deviceWidget");
- x->get_widget_derived("deviceWidget", w);
- w->init(mainWindow, "source");
-+ w->reference();
- return w;
- }
-
-diff --git a/src/streamwidget.cc b/src/streamwidget.cc
-index 94363ec..e602cce 100644
---- a/src/streamwidget.cc
-+++ b/src/streamwidget.cc
-@@ -77,6 +77,7 @@ void StreamWidget::setChannelMap(const pa_channel_map &m, bool can_decibel) {
- snprintf(text, sizeof(text), "<b>%s</b>", pa_channel_position_to_pretty_string(m.map[i]));
- cw->channelLabel->set_markup(text);
- channelsVBox->pack_start(*cw, false, false, 0);
-+ cw->unreference();
- }
- channelWidgets[m.channels-1]->last = true;
- channelWidgets[m.channels-1]->setBaseVolume(PA_VOLUME_NORM);
---
-cgit v0.10.2
-
diff --git a/media-sound/pavucontrol/pavucontrol-2.0-r1.ebuild b/media-sound/pavucontrol/pavucontrol-4.0.ebuild
index de1f512e73de..8291e6f1a184 100644
--- a/media-sound/pavucontrol/pavucontrol-2.0-r1.ebuild
+++ b/media-sound/pavucontrol/pavucontrol-4.0.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-
-inherit eutils
+EAPI=7
+inherit flag-o-matic
DESCRIPTION="Pulseaudio Volume Control, GTK based mixer for Pulseaudio"
HOMEPAGE="https://freedesktop.org/software/pulseaudio/pavucontrol/"
@@ -11,33 +10,31 @@ SRC_URI="https://freedesktop.org/software/pulseaudio/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ppc ~ppc64 ~sparc x86 ~x86-fbsd"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
IUSE="nls"
RDEPEND="
>=dev-cpp/gtkmm-3.0:3.0
>=dev-libs/libsigc++-2.2:2
>=media-libs/libcanberra-0.16[gtk3]
- >=media-sound/pulseaudio-3[glib]
+ >=media-sound/pulseaudio-5[glib]
virtual/freedesktop-icon-theme
"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
virtual/pkgconfig
nls? (
dev-util/intltool
sys-devel/gettext
- )
+ )
"
-src_prepare() {
- # Fix statup crashes (bug #530170)
- epatch "${FILESDIR}"/${P}-fix-startup-crashes.patch
-}
-
src_configure() {
- econf \
- --docdir=/usr/share/doc/${PF} \
- --htmldir=/usr/share/doc/${PF}/html \
- --disable-lynx \
+ append-cxxflags -std=c++11 #567216
+ local myeconfargs=(
+ --disable-lynx
+ --docdir=/usr/share/doc/${PF}
$(use_enable nls)
+ )
+ econf "${myeconfargs[@]}"
}