commit:     d45ea00b8514645bc07215085677ec5f25c708ae
Author:     Daniel Pielmeier <billie <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 25 15:13:14 2021 +0000
Commit:     Daniel Pielmeier <billie <AT> gentoo <DOT> org>
CommitDate: Thu Mar 25 15:13:14 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d45ea00b

app-admin/conky: Fix bug #766704.

Thanks to Alex Efros for the report.

Closes: https://bugs.gentoo.org/766704
Package-Manager: Portage-3.0.13, Repoman-3.0.2
Signed-off-by: Daniel Pielmeier <billie <AT> gentoo.org>

 app-admin/conky/conky-1.12.1-r1.ebuild             | 194 +++++++++++++++++++++
 .../conky/files/conky-1.12.1-network-speed.patch   |  36 ++++
 2 files changed, 230 insertions(+)

diff --git a/app-admin/conky/conky-1.12.1-r1.ebuild 
b/app-admin/conky/conky-1.12.1-r1.ebuild
new file mode 100644
index 00000000000..d07d5d164cf
--- /dev/null
+++ b/app-admin/conky/conky-1.12.1-r1.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-3 )
+
+inherit cmake linux-info lua-single readme.gentoo-r1 xdg
+
+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 bundled-toluapp cmus curl doc 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 xinerama xmms2"
+
+COMMON_DEPEND="
+       cmus? ( media-sound/cmus )
+       curl? ( net-misc/curl )
+       ical? ( dev-libs/libical:= )
+       iconv? ( virtual/libiconv )
+       imlib? ( media-libs/imlib2[X] )
+       irc? ( net-libs/libircclient )
+       lua-cairo? ( x11-libs/cairo[X] )
+       lua-imlib? ( media-libs/imlib2[X] )
+       lua-rsvg? ( gnome-base/librsvg )
+       mysql? ( dev-db/mysql-connector-c )
+       ncurses? ( sys-libs/ncurses:= )
+       nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
+       pulseaudio? ( media-sound/pulseaudio )
+       rss? ( dev-libs/libxml2 net-misc/curl dev-libs/glib:2 )
+       systemd? ( sys-apps/systemd )
+       truetype? ( x11-libs/libXft >=media-libs/freetype-2 )
+       wifi? ( net-wireless/wireless-tools )
+       weather-metar? ( net-misc/curl )
+       webserver? ( net-libs/libmicrohttpd )
+       X? (
+               x11-libs/libX11
+               x11-libs/libXdamage
+               x11-libs/libXfixes
+               x11-libs/libXext
+       )
+       xinerama? ( x11-libs/libXinerama )
+       xmms2? ( media-sound/xmms2 )
+       ${LUA_DEPS}
+"
+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}
+       doc? ( app-text/docbook2X dev-libs/libxslt )
+"
+
+REQUIRED_USE="
+       imlib? ( X )
+       lua-cairo? ( X  bundled-toluapp )
+       lua-imlib? ( X  bundled-toluapp )
+       lua-rsvg? ( X  bundled-toluapp )
+       nvidia? ( X )
+       truetype? ( X )
+       xinerama? ( X )
+"
+
+CONFIG_CHECK="~IPV6"
+
+DOCS=( README.md AUTHORS )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.11.6-ipv6.patch
+       "${FILESDIR}"/${P}-network-speed.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 when built with USE=doc.
+
+Also see https://wiki.gentoo.org/wiki/Conky/HOWTO";
+
+pkg_setup() {
+       use ipv6 && linux-info_pkg_setup
+
+       lua-single_pkg_setup
+}
+
+src_prepare() {
+       cmake_src_prepare
+
+       xdg_environment_reset
+
+       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_ARGB=yes
+                       -DBUILD_X11=yes
+                       -DBUILD_XDAMAGE=yes
+                       -DBUILD_XDBE=yes
+                       -DBUILD_XSHAPE=yes
+                       -DOWN_WINDOW=yes
+               )
+       else
+               mycmakeargs=(
+                       -DBUILD_X11=no
+               )
+       fi
+
+       mycmakeargs+=(
+               -DBUILD_APCUPSD=$(usex apcupsd)
+               -DBUILD_AUDACIOUS=no
+               -DBUILD_BUILTIN_CONFIG=yes
+               -DBUILD_CMUS=$(usex cmus)
+               -DBUILD_CURL=$(usex curl)
+               -DBUILD_DOCS=$(usex doc)
+               -DBUILD_HDDTEMP=$(usex hddtemp)
+               -DBUILD_HTTP=$(usex webserver)
+               -DBUILD_I18N=yes
+               -DBUILD_IBM=$(usex thinkpad)
+               -DBUILD_ICAL=$(usex ical)
+               -DBUILD_ICONV=$(usex iconv)
+               -DBUILD_IMLIB2=$(usex imlib)
+               -DBUILD_IOSTATS=$(usex iostats)
+               -DBUILD_IPV6=$(usex ipv6)
+               -DBUILD_IRC=$(usex irc)
+               -DBUILD_JOURNAL=$(usex systemd)
+               -DBUILD_LUA_CAIRO=$(usex lua-cairo)
+               -DBUILD_LUA_IMLIB2=$(usex lua-imlib)
+               -DBUILD_LUA_RSVG=$(usex lua-rsvg)
+               -DBUILD_MATH=$(usex math)
+               -DBUILD_MOC=$(usex moc)
+               -DBUILD_MPD=$(usex mpd)
+               -DBUILD_MYSQL=$(usex mysql)
+               -DBUILD_NCURSES=$(usex ncurses)
+               -DBUILD_NVIDIA=$(usex nvidia)
+               -DBUILD_OLD_CONFIG=yes
+               -DBUILD_PORT_MONITORS=$(usex portmon)
+               -DBUILD_PULSEAUDIO=$(usex pulseaudio)
+               -DBUILD_RSS=$(usex rss)
+               -DBUILD_WEATHER_METAR=$(usex weather-metar)
+               -DBUILD_WLAN=$(usex wifi)
+               -DBUILD_XFT=$(usex truetype)
+               -DBUILD_XINERAMA=$(usex xinerama)
+               -DBUILD_XMMS2=$(usex xmms2)
+               -DDOC_PATH=/usr/share/doc/${PF}
+               -DMAINTAINER_MODE=no
+               -DRELEASE=yes
+       )
+
+       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
+
+       xdg_pkg_postinst
+}

diff --git a/app-admin/conky/files/conky-1.12.1-network-speed.patch 
b/app-admin/conky/files/conky-1.12.1-network-speed.patch
new file mode 100644
index 00000000000..46a7615c589
--- /dev/null
+++ b/app-admin/conky/files/conky-1.12.1-network-speed.patch
@@ -0,0 +1,36 @@
+From 415c730133476d6652f479242b0638496b5f673b Mon Sep 17 00:00:00 2001
+From: Steven Xu <[email protected]>
+Date: Tue, 23 Mar 2021 20:12:52 +1100
+Subject: [PATCH] fix: update `update last_update_time` earlier, so the network
+ speed is correctly displayed, otherwise the speed shown is much lower than
+ the actual speed (resolves #863)
+
+---
+ src/conky.cc | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/conky.cc b/src/conky.cc
+index b116b2bed..af5602c5b 100644
+--- a/src/conky.cc
++++ b/src/conky.cc
+@@ -766,6 +766,12 @@ static void generate_text() {
+    * some info.mem entries */
+   update_stuff();
+ 
++  /* Update `last_update_time` before `generate_text_internal()`, as the 
latter
++   * calls `evaluate()` -> `update_net_stats()`, which needs 
`last_update_time`
++   * to be set correctly. If this is not done, than the network speed being
++   * shown will be much lower than the actual speed.*/
++  last_update_time = current_update_time;
++
+   /* populate the text buffer; generate_text_internal() iterates through
+    * global_root_object (an instance of the text_object struct) and calls
+    * any callbacks that were set on startup by construct_text_object(). */
+@@ -822,7 +828,6 @@ static void generate_text() {
+   if (next_update_time < time || next_update_time > time + ui) {
+     next_update_time = time - fmod(time, ui) + ui;
+   }
+-  last_update_time = current_update_time;
+   total_updates++;
+ }
+ 

Reply via email to