diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2021-02-26 20:03:49 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2021-02-28 13:26:13 +0100 |
commit | 778f492d269a30b95d5d85222d96e005e518f087 (patch) | |
tree | a2cdbedb01103ae3231bec08f605853c07bc25e8 /media-sound | |
parent | media-sound/pamix: Drop 1.5 (diff) | |
download | gentoo-778f492d269a30b95d5d85222d96e005e518f087.tar.gz gentoo-778f492d269a30b95d5d85222d96e005e518f087.tar.bz2 gentoo-778f492d269a30b95d5d85222d96e005e518f087.zip |
media-sound/pnmixer: Various upstream fixes and port to EAPI-7
Package-Manager: Portage-3.0.15, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'media-sound')
4 files changed, 155 insertions, 0 deletions
diff --git a/media-sound/pnmixer/files/pnmixer-0.7.2-fix-assert-if-volume-gt-100.patch b/media-sound/pnmixer/files/pnmixer-0.7.2-fix-assert-if-volume-gt-100.patch new file mode 100644 index 000000000000..6fd28572f90e --- /dev/null +++ b/media-sound/pnmixer/files/pnmixer-0.7.2-fix-assert-if-volume-gt-100.patch @@ -0,0 +1,37 @@ +From 7eed10b2bd4650dadbc2c98f435d2bb10de7f75e Mon Sep 17 00:00:00 2001 +From: Arnaud Rebillout <elboulangero@gmail.com> +Date: Mon, 19 Jun 2017 20:02:01 +0700 +Subject: [PATCH] Clip volume between 0 and 100 (thx to yunake) #162 + +--- + src/audio.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/src/audio.c b/src/audio.c +index 750f20f..06b245c 100644 +--- a/src/audio.c ++++ b/src/audio.c +@@ -437,11 +437,22 @@ gdouble + audio_get_volume(Audio *audio) + { + AlsaCard *soundcard = audio->soundcard; ++ gdouble volume; + + if (!soundcard) + return 0; + +- return alsa_card_get_volume(soundcard); ++ volume = alsa_card_get_volume(soundcard); ++ ++ /* With PulseAudio, it is perfectly possible for the volume to go above 100%. ++ * Since we don't really expect or handle that, let's clip it right now. ++ */ ++ if (volume < 0) ++ volume = 0; ++ if (volume > 100) ++ volume = 100; ++ ++ return volume; + } + + /** diff --git a/media-sound/pnmixer/files/pnmixer-0.7.2-fix-possible-garbage-value.patch b/media-sound/pnmixer/files/pnmixer-0.7.2-fix-possible-garbage-value.patch new file mode 100644 index 000000000000..e85dcedd2337 --- /dev/null +++ b/media-sound/pnmixer/files/pnmixer-0.7.2-fix-possible-garbage-value.patch @@ -0,0 +1,38 @@ +From c8577027aa4597c8f194a84a73982aa0ce7f2dd0 Mon Sep 17 00:00:00 2001 +From: Julian Ospald <hasufell@posteo.de> +Date: Mon, 19 Feb 2018 20:06:26 +0100 +Subject: [PATCH] MEM: fix possible garbage value wrt #174 + +Not sure if the clang static analyzer has trouble +with g_memdup() or if there is something more serious +going on. Good old g_malloc() works too though. +--- + src/ui-tray-icon.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/ui-tray-icon.c b/src/ui-tray-icon.c +index 27b35f3..23ba947 100644 +--- a/src/ui-tray-icon.c ++++ b/src/ui-tray-icon.c +@@ -166,9 +166,11 @@ pixbuf_array_free(GdkPixbuf **pixbufs) + static GdkPixbuf ** + pixbuf_array_new(int size) + { +- GdkPixbuf *pixbufs[N_VOLUME_PIXBUFS]; ++ GdkPixbuf **pixbufs; + gboolean system_theme; + ++ pixbufs = g_new0(GdkPixbuf *, N_VOLUME_PIXBUFS); ++ + DEBUG("Building pixbuf array (requesting size %d)", size); + + system_theme = prefs_get_boolean("SystemTheme", FALSE); +@@ -202,7 +204,7 @@ pixbuf_array_new(int size) + pixbufs[VOLUME_HIGH] = pixbuf_new_from_file("pnmixer-high.png"); + } + +- return g_memdup(pixbufs, sizeof pixbufs); ++ return pixbufs; + } + + /* Tray icon volume meter */ diff --git a/media-sound/pnmixer/files/pnmixer-0.7.2-fix-possible-memleak.patch b/media-sound/pnmixer/files/pnmixer-0.7.2-fix-possible-memleak.patch new file mode 100644 index 000000000000..a88013b9d4b8 --- /dev/null +++ b/media-sound/pnmixer/files/pnmixer-0.7.2-fix-possible-memleak.patch @@ -0,0 +1,21 @@ +From 84c66c389cd7a8a47aa5f543726683a19dcca5ff Mon Sep 17 00:00:00 2001 +From: Julian Ospald <hasufell@posteo.de> +Date: Mon, 19 Feb 2018 20:06:45 +0100 +Subject: [PATCH] MEM: fix possible memory leak wrt #174 + +--- + src/alsa.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/alsa.c b/src/alsa.c +index c46d4d8..d91c79f 100644 +--- a/src/alsa.c ++++ b/src/alsa.c +@@ -336,6 +336,7 @@ mixer_get_poll_descriptors(const char *hctl, snd_mixer_t *mixer) + err = snd_mixer_poll_descriptors(mixer, fds, count); + if (err < 0) { + ALSA_CARD_ERR(hctl, err, "Couldn't get poll descriptors"); ++ g_free(fds); + return NULL; + } + diff --git a/media-sound/pnmixer/pnmixer-0.7.2-r1.ebuild b/media-sound/pnmixer/pnmixer-0.7.2-r1.ebuild new file mode 100644 index 000000000000..4930d96eb601 --- /dev/null +++ b/media-sound/pnmixer/pnmixer-0.7.2-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_P="${PN}-v${PV}" +inherit cmake xdg-utils + +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" + +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 + x11-libs/libX11 + libnotify? ( x11-libs/libnotify ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + doc? ( + app-doc/doxygen + media-gfx/graphviz + ) + nls? ( sys-devel/gettext ) +" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/${P}-fix-assert-if-volume-gt-100.patch" + "${FILESDIR}/${P}-fix-possible-garbage-value.patch" + "${FILESDIR}/${P}-fix-possible-memleak.patch" +) + +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 +} + +pkg_postinst() { + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_icon_cache_update +} |