Postsync update gentoo

This commit is contained in:
fabolous005 2025-03-16 15:00:27 +01:00
parent 546379bf34
commit 8f08dbf292
6 changed files with 243 additions and 0 deletions

View File

@ -0,0 +1 @@
DIST pavucontrol-6.1.tar.xz 169488 BLAKE2B 888fbe404482e5da5b59d10f913f174daa128029babbb9493df5df5d6d3c0b95e22d03a3ec2629fbcd4f33c6267f6e2173428d7eb9be8b7f4c7f012d3e777e92 SHA512 90a0d85916010f624928f6aa68524f776b0a529d84e75287739a07db48e4084767ca0caf75503e44e04d8add84b1d668ee9ed5b822b8f8f945cd902cdf78413a

View File

@ -0,0 +1,125 @@
From 8916cb62b0facf45ccb220fd2efd5746fdaf79b8 Mon Sep 17 00:00:00 2001
From: Adrian Ratiu <adrian.ratiu@collabora.com>
Date: Mon, 25 Mar 2024 02:19:42 +0200
Subject: [PATCH] Make libcanberra optional
libcanberra is an old abandoned project whose last release
was well over a decade ago, despite getting some few fixes
on its master branch since then, which are unreleased.
My problem with libcanberra is that it can't be built on
pure wayland systems (no X11 headers) which are becoming
more common nowadays.
It is the only thing keeping pavucontrol tied to X11, all
other dependencies (eg gtk+) build fine on pure wayland.
Since canberra is not a core part of the project, let's
make it optional so pavucontrol can build & work on
pure wayland systems.
Ideally in the future libcanberra can be replaced with
something else, however I don't have the bandwidth to
take this on for now, so I'm just making it optional.
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
---
configure.ac | 9 ++++++++-
src/pavuapplication.cc | 2 --
src/pavucontrol.cc | 4 ++++
src/sinkwidget.cc | 5 +++++
4 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 056ba5e..1b793b8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,10 +41,17 @@ AC_TYPE_SIGNAL
AC_HEADER_STDC
AX_CXX_COMPILE_STDCXX_11
-PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 libcanberra-gtk3 >= 0.16 json-glib-1.0 ])
+PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 json-glib-1.0 ])
AC_SUBST(GUILIBS_CFLAGS)
AC_SUBST(GUILIBS_LIBS)
+AC_CHECK_LIB([canberra-gtk3], [canberra_gtk_play], [HAVE_LIBCANBERRA=yes], [HAVE_LIBCANBERRA=no])
+AS_IF([test "x$HAVE_LIBCANBERRA" = "xyes"], [
+ AC_DEFINE([HAVE_LIBCANBERRA], [1], [Have libcanberra support.])
+ AC_SUBST(LIBCANBERRA_CFLAGS)
+ AC_SUBST(LIBCANBERRA_LIBS)
+])
+
if test -d ../pulseaudio ; then
PULSE_CFLAGS='-I$(top_srcdir)/../pulseaudio/src'
PULSE_LIBS='-L$(top_srcdir)/../pulseaudio/src/.libs -lpulse -lpulse-mainloop-glib'
diff --git a/src/pavuapplication.cc b/src/pavuapplication.cc
index 6773b53..60c016c 100644
--- a/src/pavuapplication.cc
+++ b/src/pavuapplication.cc
@@ -24,8 +24,6 @@
#include "i18n.h"
-#include <canberra-gtk.h>
-
#include "pavuapplication.h"
#include "pavucontrol.h"
#include "mainwindow.h"
diff --git a/src/pavucontrol.cc b/src/pavucontrol.cc
index 18d5400..ff652be 100644
--- a/src/pavucontrol.cc
+++ b/src/pavucontrol.cc
@@ -29,7 +29,9 @@
#include <json-glib/json-glib.h>
#endif
+#ifdef HAVE_LIBCANBERRA
#include <canberra-gtk.h>
+#endif
#include "pavucontrol.h"
#include "i18n.h"
@@ -916,7 +918,9 @@ MainWindow* pavucontrol_get_window(pa_glib_mainloop *m, bool maximize, bool _ret
tab_number = _tab_number;
retry = _retry;
+#ifdef HAVE_LIBCANBERRA
ca_context_set_driver(ca_gtk_context_get(), "pulse");
+#endif
mainWindow = MainWindow::create(maximize);
diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc
index f30bd37..41d7bb8 100644
--- a/src/sinkwidget.cc
+++ b/src/sinkwidget.cc
@@ -24,7 +24,10 @@
#include "sinkwidget.h"
+#ifdef HAVE_LIBCANBERRA
#include <canberra-gtk.h>
+#endif
+
#if HAVE_EXT_DEVICE_RESTORE_API
# include <pulse/format.h>
# include <pulse/ext-device-restore.h>
@@ -120,6 +123,7 @@ void SinkWidget::executeVolumeUpdate() {
pa_operation_unref(o);
+#ifdef HAVE_LIBCANBERRA
ca_context_playing(ca_gtk_context_get(), 2, &playing);
if (playing)
return;
@@ -136,6 +140,7 @@ void SinkWidget::executeVolumeUpdate() {
NULL);
ca_context_change_device(ca_gtk_context_get(), NULL);
+#endif
}
void SinkWidget::onMuteToggleButton() {
--
2.43.2

View File

@ -0,0 +1,13 @@
diff --git a/meson.build b/meson.build
index bc1a300..553abc1 100644
--- a/meson.build
+++ b/meson.build
@@ -28,7 +28,7 @@ configinc = include_directories('.')
prefix = get_option('prefix')
datadir = join_paths(prefix, get_option('datadir'))
-docdir = join_paths(datadir, 'doc', 'pavucontrol')
+docdir = join_paths(datadir, 'doc', 'pavucontrol-' + meson.project_version())
localedir = join_paths(prefix, get_option('localedir'))
cdata = configuration_data()

View File

@ -0,0 +1,39 @@
https://bugs.gentoo.org/950761
https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/merge_requests/104
From 53b44d9ccd2e095a9c0ce1511e122e4ed37bbbb5 Mon Sep 17 00:00:00 2001
From: Alfred Wingate <parona@protonmail.com>
Date: Mon, 10 Mar 2025 20:44:02 +0200
Subject: [PATCH] Add a option for controlling libcanberra feature
The retains the previous behavior of automagic except it allows the user to
explicitly enable or disable the feature.
Chose to call the feature a more agnostic "audio-feedback".
Bug: https://bugs.gentoo.org/950761
See-Also: 22b04fff6e881b4e0a1b8344a6513bdf99a10c65
Signed-off-by: Alfred Wingate <parona@protonmail.com>
--- a/meson.build
+++ b/meson.build
@@ -10,7 +10,7 @@ cpp = meson.get_compiler('cpp')
gtkmm_dep = dependency('gtkmm-4.0', version : '>= 4.0', required : true)
sigcpp_dep = dependency('sigc++-3.0', required : true)
-canberragtk_dep = dependency('libcanberra', version : '>= 0.16', required : false)
+canberragtk_dep = dependency('libcanberra', version : '>= 0.16', required : get_option('audio-feedback'))
libpulse_dep = dependency('libpulse', version : '>= 5.0', required : true)
libpulsemlglib_dep = dependency('libpulse-mainloop-glib', version : '>= 0.9.16', required : true)
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,6 @@
option('lynx',
type : 'boolean', value : true,
description : 'Enable building of the README text file for installation')
+option('audio-feedback',
+ type : 'feature', value: 'auto',
+ description : 'Play a sound when you change the volume of a sink')
--
GitLab

View File

@ -0,0 +1,50 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson
DESCRIPTION="Pulseaudio Volume Control, GTK based mixer for Pulseaudio"
HOMEPAGE="https://freedesktop.org/software/pulseaudio/pavucontrol/"
SRC_URI="https://freedesktop.org/software/pulseaudio/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="sound"
RDEPEND="
dev-cpp/gtkmm:4.0
dev-libs/json-glib
dev-libs/libsigc++:3
>=media-libs/libpulse-15.0[glib]
virtual/freedesktop-icon-theme
sound? ( media-libs/libcanberra )
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
sys-devel/gettext
"
PATCHES=(
"${FILESDIR}/pavucontrol-6.1-libcanberra-automagic.patch"
)
src_prepare() {
default
# Follow Gentoo FHS with docdir
sed -i -e "/^docdir/ { s/${PN}/${PF}/ }" meson.build || die
}
src_configure() {
local emesonargs=(
-Dlynx=false
$(meson_feature sound audio-feedback)
)
meson_src_configure
}

View File

@ -0,0 +1,15 @@
BDEPEND=virtual/pkgconfig sys-devel/gettext >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array
DEFINED_PHASES=compile configure install prepare test
DEPEND=dev-libs/json-glib dev-libs/libsigc++:3 >=media-libs/libpulse-15.0[glib] virtual/freedesktop-icon-theme sound? ( media-libs/libcanberra )
DESCRIPTION=Pulseaudio Volume Control, GTK based mixer for Pulseaudio
EAPI=8
HOMEPAGE=https://freedesktop.org/software/pulseaudio/pavucontrol/
INHERIT=meson
IUSE=sound
KEYWORDS=amd64 arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86
LICENSE=GPL-2
RDEPEND=dev-libs/json-glib dev-libs/libsigc++:3 >=media-libs/libpulse-15.0[glib] virtual/freedesktop-icon-theme sound? ( media-libs/libcanberra )
SLOT=0
SRC_URI=https://freedesktop.org/software/pulseaudio/pavucontrol/pavucontrol-6.1.tar.xz
_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922
_md5_=99b703f43f6661b5a0455f8b5375a7bc