commit: 6c3a277f3e713c807bdf56100dffee2b1686f3a3 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Fri Sep 5 11:37:38 2025 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Fri Sep 5 17:57:49 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c3a277f
media-sound/pnmixer: Fix build and runtime w/ cmake-4 I feel like this should rather be treecleaned, but not to throw away some good work by various non-maintainers ... Closes: https://bugs.gentoo.org/961943 Closes: https://bugs.gentoo.org/957783 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> .../pnmixer-0.7.2-cmake4-fix-signalhandlers.patch | 57 ++++++++++++++++++++++ .../pnmixer/files/pnmixer-0.7.2-cmake4.patch | 8 +++ media-sound/pnmixer/pnmixer-0.7.2-r3.ebuild | 52 ++++++++++++++++++++ 3 files changed, 117 insertions(+) diff --git a/media-sound/pnmixer/files/pnmixer-0.7.2-cmake4-fix-signalhandlers.patch b/media-sound/pnmixer/files/pnmixer-0.7.2-cmake4-fix-signalhandlers.patch new file mode 100644 index 000000000000..d92faa9fcf56 --- /dev/null +++ b/media-sound/pnmixer/files/pnmixer-0.7.2-cmake4-fix-signalhandlers.patch @@ -0,0 +1,57 @@ +Thanks-to: Maciej S. Szmigiero +Source: https://bugs.gentoo.org/961943 + +--- a/src/ui-hotkey-dialog.c ++++ b/src/ui-hotkey-dialog.c +@@ -248,6 +248,8 @@ + gtk_window_set_transient_for(GTK_WINDOW(dialog->hotkey_dialog), parent); + + /* Connect ui signal handlers */ ++ gtk_builder_add_callback_symbol(builder, "on_hotkey_dialog_key_press_event", G_CALLBACK(on_hotkey_dialog_key_press_event)); ++ gtk_builder_add_callback_symbol(builder, "on_hotkey_dialog_key_release_event", G_CALLBACK(on_hotkey_dialog_key_release_event)); + gtk_builder_connect_signals(builder, dialog); + + /* Cleanup */ +--- a/src/ui-popup-menu.c ++++ b/src/ui-popup-menu.c +@@ -330,6 +330,11 @@ + #endif + + /* Connect ui signal handlers */ ++ gtk_builder_add_callback_symbol(builder, "on_mute_item_activate", G_CALLBACK(on_mute_item_activate)); ++ gtk_builder_add_callback_symbol(builder, "on_mixer_item_activate", G_CALLBACK(on_mixer_item_activate)); ++ gtk_builder_add_callback_symbol(builder, "on_prefs_item_activate", G_CALLBACK(on_prefs_item_activate)); ++ gtk_builder_add_callback_symbol(builder, "on_reload_item_activate", G_CALLBACK(on_reload_item_activate)); ++ gtk_builder_add_callback_symbol(builder, "on_about_item_activate", G_CALLBACK(on_about_item_activate)); + gtk_builder_connect_signals(builder, menu); + + /* Connect audio signal handlers */ +--- a/src/ui-popup-window.c ++++ b/src/ui-popup-window.c +@@ -476,6 +476,10 @@ + configure_vol_increment(GTK_ADJUSTMENT(window->vol_scale_adj)); + + /* Connect ui signal handlers */ ++ gtk_builder_add_callback_symbol(builder, "on_popup_window_event", G_CALLBACK(on_popup_window_event)); ++ gtk_builder_add_callback_symbol(builder, "on_vol_scale_value_changed", G_CALLBACK(on_vol_scale_value_changed)); ++ gtk_builder_add_callback_symbol(builder, "on_mute_check_toggled", G_CALLBACK(on_mute_check_toggled)); ++ gtk_builder_add_callback_symbol(builder, "on_mixer_button_clicked", G_CALLBACK(on_mixer_button_clicked)); + gtk_builder_connect_signals(builder, window); + + /* Connect audio signal handlers */ +--- a/src/ui-prefs-dialog.c ++++ b/src/ui-prefs-dialog.c +@@ -922,6 +922,13 @@ + gtk_window_set_transient_for(GTK_WINDOW(dialog->prefs_dialog), parent); + + /* Connect ui signal handlers */ ++ gtk_builder_add_callback_symbol(builder, "on_noti_enable_check_toggled", G_CALLBACK(on_noti_enable_check_toggled)); ++ gtk_builder_add_callback_symbol(builder, "on_card_combo_changed", G_CALLBACK(on_card_combo_changed)); ++ gtk_builder_add_callback_symbol(builder, "on_vol_text_check_toggled", G_CALLBACK(on_vol_text_check_toggled)); ++ gtk_builder_add_callback_symbol(builder, "on_vol_meter_draw_check_toggled", G_CALLBACK(on_vol_meter_draw_check_toggled)); ++ gtk_builder_add_callback_symbol(builder, "on_middle_click_combo_changed", G_CALLBACK(on_middle_click_combo_changed)); ++ gtk_builder_add_callback_symbol(builder, "on_hotkeys_enable_check_toggled", G_CALLBACK(on_hotkeys_enable_check_toggled)); ++ gtk_builder_add_callback_symbol(builder, "on_hotkey_event_box_button_press_event", G_CALLBACK(on_hotkey_event_box_button_press_event)); + gtk_builder_connect_signals(builder, dialog); + + /* Save some references */ diff --git a/media-sound/pnmixer/files/pnmixer-0.7.2-cmake4.patch b/media-sound/pnmixer/files/pnmixer-0.7.2-cmake4.patch new file mode 100644 index 000000000000..ba1de19ae56c --- /dev/null +++ b/media-sound/pnmixer/files/pnmixer-0.7.2-cmake4.patch @@ -0,0 +1,8 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.0) ++cmake_minimum_required(VERSION 3.10) + project(PNMixer) + + diff --git a/media-sound/pnmixer/pnmixer-0.7.2-r3.ebuild b/media-sound/pnmixer/pnmixer-0.7.2-r3.ebuild new file mode 100644 index 000000000000..1a231cce54c0 --- /dev/null +++ b/media-sound/pnmixer/pnmixer-0.7.2-r3.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_P="${PN}-v${PV}" +inherit cmake xdg + +DESCRIPTION="Volume mixer for the system tray" +HOMEPAGE="https://github.com/nicklan/pnmixer" +SRC_URI="https://github.com/nicklan/${PN}/releases/download/v${PV}/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="doc libnotify nls" + +RDEPEND=" + dev-libs/glib:2 + media-libs/alsa-lib + x11-libs/gtk+:3[X] + x11-libs/libX11 + libnotify? ( x11-libs/libnotify ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + doc? ( + app-text/doxygen + media-gfx/graphviz + ) + nls? ( sys-devel/gettext ) +" + +PATCHES=( + "${FILESDIR}/${P}-fix-assert-if-volume-gt-100.patch" + "${FILESDIR}/${P}-fix-possible-garbage-value.patch" + "${FILESDIR}/${P}-fix-possible-memleak.patch" + "${FILESDIR}/${P}-cmake4.patch" # bug 957783 + "${FILESDIR}/${P}-cmake4-fix-signalhandlers.patch" # bug 961943 +) + +src_configure() { + local mycmakeargs=( + -DBUILD_DOCUMENTATION="$(usex doc)" + -DWITH_LIBNOTIFY="$(usex libnotify)" + -DENABLE_NLS="$(usex nls)" + -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}" + ) + cmake_src_configure +}
