public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Daniel Pielmeier" <billie@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-admin/conky/files/, app-admin/conky/
Date: Thu,  6 Aug 2020 15:10:48 +0000 (UTC)	[thread overview]
Message-ID: <1596726602.8ed09d7c40c3ac74314039fc9fd90b4805b140cd.billie@gentoo> (raw)

commit:     8ed09d7c40c3ac74314039fc9fd90b4805b140cd
Author:     Jan Seeger <jan.seeger <AT> thenybble <DOT> de>
AuthorDate: Wed Aug  5 13:44:04 2020 +0000
Commit:     Daniel Pielmeier <billie <AT> gentoo <DOT> org>
CommitDate: Thu Aug  6 15:10:02 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ed09d7c

app/admin-conky-1.10.8-r10: Patched crash on virtual Pulseaudio sinks

Using upstream commits
https://github.com/brndnmtthws/conky/commit/2a7226d89331f7d5d0abf0b9aff6d75435dd3a2d and
https://github.com/brndnmtthws/conky/commit/ddf8a0f58f3110e31ec4c44ecff838d2b231f6f3. Added missing
braces for multi-line macro, added version bumped ebuild.

Signed-off-by: Jan Seeger <jan.seeger <AT> thenybble.de>
Signed-off-by: Daniel Pielmeier <billie <AT> gentoo.org>

 app-admin/conky/conky-1.10.8-r10.ebuild            | 186 +++++++++++++++++++++
 .../conky/files/conky-1.10.8-virtual-sinks.patch   |  49 ++++++
 2 files changed, 235 insertions(+)

diff --git a/app-admin/conky/conky-1.10.8-r10.ebuild b/app-admin/conky/conky-1.10.8-r10.ebuild
new file mode 100644
index 00000000000..d84975354f0
--- /dev/null
+++ b/app-admin/conky/conky-1.10.8-r10.ebuild
@@ -0,0 +1,186 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake linux-info readme.gentoo-r1
+
+DESCRIPTION="An advanced, highly configurable system monitor for X"
+HOMEPAGE="https://github.com/brndnmtthws/conky"
+SRC_URI="https://github.com/brndnmtthws/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3 BSD LGPL-2.1 MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
+IUSE="apcupsd cmus curl eve hddtemp ical iconv imlib iostats ipv6 irc
+	lua-cairo lua-imlib lua-rsvg math moc mpd mysql nano-syntax ncurses
+	nvidia +portmon pulseaudio rss systemd thinkpad truetype vim-syntax
+	weather-metar webserver wifi X xmms2"
+
+COMMON_DEPEND="
+	X? (
+		imlib? ( media-libs/imlib2[X] )
+		lua-cairo? ( >=dev-lua/toluapp-1.0.93 x11-libs/cairo[X] )
+		lua-imlib? ( >=dev-lua/toluapp-1.0.93 media-libs/imlib2[X] )
+		lua-rsvg? ( >=dev-lua/toluapp-1.0.93 gnome-base/librsvg )
+		nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
+		truetype? ( x11-libs/libXft >=media-libs/freetype-2 )
+		x11-libs/libX11
+		x11-libs/libXdamage
+		x11-libs/libXinerama
+		x11-libs/libXfixes
+		x11-libs/libXext
+		xmms2? ( media-sound/xmms2 )
+	)
+	cmus? ( media-sound/cmus )
+	curl? ( net-misc/curl )
+	eve? ( net-misc/curl dev-libs/libxml2 )
+	ical? ( dev-libs/libical:= )
+	iconv? ( virtual/libiconv )
+	irc? ( net-libs/libircclient )
+	mysql? ( dev-db/mysql-connector-c )
+	ncurses? ( sys-libs/ncurses:= )
+	pulseaudio? ( media-sound/pulseaudio )
+	rss? ( dev-libs/libxml2 net-misc/curl dev-libs/glib:2 )
+	systemd? ( sys-apps/systemd )
+	wifi? ( net-wireless/wireless-tools )
+	weather-metar? ( net-misc/curl )
+	webserver? ( net-libs/libmicrohttpd )
+	|| ( dev-lang/lua:0 dev-lang/lua:5.1 )
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	apcupsd? ( sys-power/apcupsd )
+	hddtemp? ( app-admin/hddtemp )
+	moc? ( media-sound/moc )
+	nano-syntax? ( app-editors/nano )
+	vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
+"
+DEPEND="
+	${COMMON_DEPEND}
+	app-text/docbook2X
+"
+
+CONFIG_CHECK=~IPV6
+
+DOCS=( README.md TODO ChangeLog NEWS AUTHORS )
+
+PATCHES=(
+	"${FILESDIR}"/${P}-use-pkgconfig.patch
+	"${FILESDIR}"/${P}-libical-3.patch
+	"${FILESDIR}"/${P}-portmon.patch
+	"${FILESDIR}"/${P}-clang.patch
+	"${FILESDIR}"/${P}-virtual-sinks.patch
+)
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="You can find sample configurations at ${ROOT}/usr/share/doc/${PF}.
+To customize, copy to ${XDG_CONFIG_HOME}/conky/conky.conf
+and edit it to your liking.
+
+There are pretty html docs available at the conky homepage
+or in ${ROOT}/usr/share/doc/${PF}/html.
+
+Also see https://wiki.gentoo.org/wiki/Conky/HOWTO"
+
+pkg_setup() {
+	use ipv6 && linux-info_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	sed -i -e "s|find_program(APP_MAN man)|set(APP_MAN $(which man) CACHE FILEPATH MAN_BINARY)|" \
+		cmake/ConkyPlatformChecks.cmake || die
+}
+
+src_configure() {
+	local mycmakeargs
+
+	if use X; then
+		mycmakeargs=(
+			-DBUILD_X11=ON
+			-DOWN_WINDOW=ON
+			-DBUILD_XDAMAGE=ON
+			-DBUILD_XINERAMA=ON
+			-DBUILD_XDBE=ON
+			-DBUILD_XFT=$(usex truetype)
+			-DBUILD_IMLIB2=$(usex imlib)
+			-DBUILD_XSHAPE=ON
+			-DBUILD_ARGB=ON
+			-DBUILD_LUA_CAIRO=$(usex lua-cairo)
+			-DBUILD_LUA_IMLIB2=$(usex lua-imlib)
+			-DBUILD_LUA_RSVG=$(usex lua-rsvg)
+			-DBUILD_NVIDIA=$(usex nvidia)
+			-DBUILD_XMMS2=$(usex xmms2)
+		)
+	else
+		mycmakeargs=(
+			-DBUILD_X11=OFF
+			-DBUILD_NVIDIA=OFF
+			-DBUILD_LUA_CAIRO=OFF
+			-DBUILD_LUA_IMLIB2=OFF
+			-DBUILD_LUA_RSVG=OFF
+			-DBUILD_XMMS2=OFF
+		)
+	fi
+
+	mycmakeargs+=(
+		-DBUILD_APCUPSD=$(usex apcupsd)
+		-DBUILD_CMUS=$(usex cmus)
+		-DBUILD_CURL=$(usex curl)
+		-DBUILD_EVE=$(usex eve)
+		-DBUILD_HDDTEMP=$(usex hddtemp)
+		-DBUILD_IOSTATS=$(usex iostats)
+		-DBUILD_ICAL=$(usex ical)
+		-DBUILD_ICONV=$(usex iconv)
+		-DBUILD_IPV6=$(usex ipv6)
+		-DBUILD_IRC=$(usex irc)
+		-DBUILD_MATH=$(usex math)
+		-DBUILD_MOC=$(usex moc)
+		-DBUILD_MPD=$(usex mpd)
+		-DBUILD_MYSQL=$(usex mysql)
+		-DBUILD_NCURSES=$(usex ncurses)
+		-DBUILD_PORT_MONITORS=$(usex portmon)
+		-DBUILD_PULSEAUDIO=$(usex pulseaudio)
+		-DBUILD_RSS=$(usex rss)
+		-DBUILD_JOURNAL=$(usex systemd)
+		-DBUILD_IBM=$(usex thinkpad)
+		-DBUILD_HTTP=$(usex webserver)
+		-DBUILD_WEATHER_METAR=$(usex weather-metar)
+		-DBUILD_WLAN=$(usex wifi)
+		-DBUILD_BUILTIN_CONFIG=ON
+		-DBUILD_OLD_CONFIG=ON
+		-DBUILD_I18N=ON
+		-DMAINTAINER_MODE=ON
+		-DRELEASE=ON
+		-DBUILD_AUDACIOUS=OFF
+		-DBUILD_BMPX=OFF
+		-DDOC_PATH=/usr/share/doc/${PF}
+	)
+
+	cmake_src_configure
+}
+
+src_install() {
+	cmake_src_install
+
+	if use vim-syntax; then
+		insinto /usr/share/vim/vimfiles/ftdetect
+		doins "${S}"/extras/vim/ftdetect/conkyrc.vim
+
+		insinto /usr/share/vim/vimfiles/syntax
+		doins "${S}"/extras/vim/syntax/conkyrc.vim
+	fi
+
+	if use nano-syntax; then
+		insinto /usr/share/nano/
+		doins "${S}"/extras/nano/conky.nanorc
+	fi
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}

diff --git a/app-admin/conky/files/conky-1.10.8-virtual-sinks.patch b/app-admin/conky/files/conky-1.10.8-virtual-sinks.patch
new file mode 100644
index 00000000000..c0198ccc4ec
--- /dev/null
+++ b/app-admin/conky/files/conky-1.10.8-virtual-sinks.patch
@@ -0,0 +1,49 @@
+From 8221ba62045012abf8a4443de20f17a0a8fc1288 Mon Sep 17 00:00:00 2001
+From: Jan Seeger <jan.seeger@thenybble.de>
+Date: Wed, 5 Aug 2020 15:39:20 +0200
+Subject: Fixed crash on virtual sinks.
+
+Taken from upstream commits
+https://github.com/brndnmtthws/conky/commit/ddf8a0f58f3110e31ec4c44ecff838d2b231f6f3 and
+https://github.com/brndnmtthws/conky/commit/2a7226d89331f7d5d0abf0b9aff6d75435dd3a2d.
+
+Signed-off-by: Jan Seeger <jan.seeger@thenybble.de>
+---
+ src/pulseaudio.cc | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/src/pulseaudio.cc b/src/pulseaudio.cc
+index 93226c1b..af814bd6 100644
+--- a/src/pulseaudio.cc
++++ b/src/pulseaudio.cc
+@@ -53,8 +53,13 @@ void pa_sink_info_callback(pa_context *c, const pa_sink_info *i, int eol, void *
+         pdr->sink_mute = i->mute;
+         pdr->sink_card = i->card;
+         pdr->sink_index = i->index;
+-        pdr->sink_active_port_name.assign(i->active_port->name);
+-        pdr->sink_active_port_description.assign(i->active_port->description);
++		if (i->active_port != nullptr) {
++			pdr->sink_active_port_name.assign(i->active_port->name);
++			pdr->sink_active_port_description.assign(i->active_port->description);
++		} else {
++			pdr->sink_active_port_name.erase();
++			pdr->sink_active_port_name.erase();
++		}
+         pdr->sink_volume = round_to_int(100.0f * (float)pa_cvolume_avg(&(i->volume)) / (float)PA_VOLUME_NORM);
+         pa_threaded_mainloop_signal(pulseaudio->mainloop, 0);
+     }
+@@ -224,9 +229,10 @@ void init_pulseaudio(struct text_object *obj) {
+         return;
+     }
+ 
+-    if(pulseaudio->result.sink_card!=(uint32_t)-1)
++    if(pulseaudio->result.sink_card!=(uint32_t)-1) {
+         PULSEAUDIO_WAIT(pa_context_get_card_info_by_index(pulseaudio->context, pulseaudio->result.sink_card,
+                                                           pa_card_info_callback, &pulseaudio->result));
++	}
+ 
+ 	// get notification when something changes in PA
+     pa_context_set_subscribe_callback(pulseaudio->context, subscribe_cb, &pulseaudio->result);
+-- 
+2.26.2
+


             reply	other threads:[~2020-08-06 15:11 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-06 15:10 Daniel Pielmeier [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-03-25 15:14 [gentoo-commits] repo/gentoo:master commit in: app-admin/conky/files/, app-admin/conky/ Daniel Pielmeier
2021-01-13 14:56 Daniel Pielmeier
2019-03-09  7:32 Daniel Pielmeier
2019-03-08 22:00 Daniel Pielmeier
2018-03-11 12:45 Daniel Pielmeier
2018-01-19 16:45 Daniel Pielmeier
2017-11-26 14:27 Daniel Pielmeier
2017-11-18 11:31 Daniel Pielmeier
2017-02-18 12:38 Daniel Pielmeier
2016-09-10 10:08 Daniel Pielmeier
2016-05-18 17:55 Daniel Pielmeier
2016-02-19 16:56 Daniel Pielmeier
2015-11-18 17:14 Daniel Pielmeier
2015-09-28 14:28 Daniel Pielmeier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1596726602.8ed09d7c40c3ac74314039fc9fd90b4805b140cd.billie@gentoo \
    --to=billie@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox