From 8f08dbf2921b2863fdfe0ebfc9ec4b7f8c4c762f Mon Sep 17 00:00:00 2001 From: fabolous005 Date: Sun, 16 Mar 2025 15:00:27 +0100 Subject: [PATCH] Postsync update gentoo --- media-sound/pavucontrol/Manifest | 1 + ...ontrol-5.0-make-libcanberra-optional.patch | 125 ++++++++++++++++++ .../files/pavucontrol-6.1-docdir.patch | 13 ++ ...avucontrol-6.1-libcanberra-automagic.patch | 39 ++++++ .../pavucontrol/pavucontrol-6.1-r1.ebuild | 50 +++++++ .../md5-cache/media-sound/pavucontrol-6.1-r1 | 15 +++ 6 files changed, 243 insertions(+) create mode 100644 media-sound/pavucontrol/Manifest create mode 100644 media-sound/pavucontrol/files/pavucontrol-5.0-make-libcanberra-optional.patch create mode 100644 media-sound/pavucontrol/files/pavucontrol-6.1-docdir.patch create mode 100644 media-sound/pavucontrol/files/pavucontrol-6.1-libcanberra-automagic.patch create mode 100644 media-sound/pavucontrol/pavucontrol-6.1-r1.ebuild create mode 100644 metadata/md5-cache/media-sound/pavucontrol-6.1-r1 diff --git a/media-sound/pavucontrol/Manifest b/media-sound/pavucontrol/Manifest new file mode 100644 index 0000000..749ec4d --- /dev/null +++ b/media-sound/pavucontrol/Manifest @@ -0,0 +1 @@ +DIST pavucontrol-6.1.tar.xz 169488 BLAKE2B 888fbe404482e5da5b59d10f913f174daa128029babbb9493df5df5d6d3c0b95e22d03a3ec2629fbcd4f33c6267f6e2173428d7eb9be8b7f4c7f012d3e777e92 SHA512 90a0d85916010f624928f6aa68524f776b0a529d84e75287739a07db48e4084767ca0caf75503e44e04d8add84b1d668ee9ed5b822b8f8f945cd902cdf78413a diff --git a/media-sound/pavucontrol/files/pavucontrol-5.0-make-libcanberra-optional.patch b/media-sound/pavucontrol/files/pavucontrol-5.0-make-libcanberra-optional.patch new file mode 100644 index 0000000..595cf9f --- /dev/null +++ b/media-sound/pavucontrol/files/pavucontrol-5.0-make-libcanberra-optional.patch @@ -0,0 +1,125 @@ +From 8916cb62b0facf45ccb220fd2efd5746fdaf79b8 Mon Sep 17 00:00:00 2001 +From: Adrian Ratiu +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 +--- + 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 +- + #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 + #endif + ++#ifdef HAVE_LIBCANBERRA + #include ++#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 ++#endif ++ + #if HAVE_EXT_DEVICE_RESTORE_API + # include + # include +@@ -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 + diff --git a/media-sound/pavucontrol/files/pavucontrol-6.1-docdir.patch b/media-sound/pavucontrol/files/pavucontrol-6.1-docdir.patch new file mode 100644 index 0000000..55dd419 --- /dev/null +++ b/media-sound/pavucontrol/files/pavucontrol-6.1-docdir.patch @@ -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() diff --git a/media-sound/pavucontrol/files/pavucontrol-6.1-libcanberra-automagic.patch b/media-sound/pavucontrol/files/pavucontrol-6.1-libcanberra-automagic.patch new file mode 100644 index 0000000..deef400 --- /dev/null +++ b/media-sound/pavucontrol/files/pavucontrol-6.1-libcanberra-automagic.patch @@ -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 +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 +--- 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 + diff --git a/media-sound/pavucontrol/pavucontrol-6.1-r1.ebuild b/media-sound/pavucontrol/pavucontrol-6.1-r1.ebuild new file mode 100644 index 0000000..7af2dfc --- /dev/null +++ b/media-sound/pavucontrol/pavucontrol-6.1-r1.ebuild @@ -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 +} diff --git a/metadata/md5-cache/media-sound/pavucontrol-6.1-r1 b/metadata/md5-cache/media-sound/pavucontrol-6.1-r1 new file mode 100644 index 0000000..1c2acd0 --- /dev/null +++ b/metadata/md5-cache/media-sound/pavucontrol-6.1-r1 @@ -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