diff options
author | Daniel Pielmeier <billie@gentoo.org> | 2021-03-25 16:13:14 +0100 |
---|---|---|
committer | Daniel Pielmeier <billie@gentoo.org> | 2021-03-25 16:13:14 +0100 |
commit | d45ea00b8514645bc07215085677ec5f25c708ae (patch) | |
tree | cecd08ab14fade0ecdaac927a9e0e6fb79960efd | |
parent | sys-process/procps: use BDEPEND with EAPI 7 (diff) | |
download | gentoo-d45ea00b8514645bc07215085677ec5f25c708ae.tar.gz gentoo-d45ea00b8514645bc07215085677ec5f25c708ae.tar.bz2 gentoo-d45ea00b8514645bc07215085677ec5f25c708ae.zip |
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@gentoo.org>
-rw-r--r-- | app-admin/conky/conky-1.12.1-r1.ebuild | 194 | ||||
-rw-r--r-- | app-admin/conky/files/conky-1.12.1-network-speed.patch | 36 |
2 files changed, 230 insertions, 0 deletions
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 000000000000..d07d5d164cff --- /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 000000000000..46a7615c589a --- /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 <stevenxxiu@gmail.com> +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++; + } + |