diff options
author | Daniel Pielmeier <billie@gentoo.org> | 2017-02-18 13:37:22 +0100 |
---|---|---|
committer | Daniel Pielmeier <billie@gentoo.org> | 2017-02-18 13:38:00 +0100 |
commit | 27080607b7f95e83e09389efda65feeec2c06424 (patch) | |
tree | c27c9b833d1a2b2615fd43d4542a8f4dfce09091 /app-admin/conky | |
parent | media-gfx/inkscape: Remove old (diff) | |
download | gentoo-27080607b7f95e83e09389efda65feeec2c06424.tar.gz gentoo-27080607b7f95e83e09389efda65feeec2c06424.tar.bz2 gentoo-27080607b7f95e83e09389efda65feeec2c06424.zip |
app-admin/conky: Fix bug #609304.
Thanks to Pavel Labath for the patch.
Package-Manager: portage-2.3.3
Diffstat (limited to 'app-admin/conky')
-rw-r--r-- | app-admin/conky/conky-1.10.6-r1.ebuild | 185 | ||||
-rw-r--r-- | app-admin/conky/files/conky-1.10.6-new_graph-oor.patch | 35 |
2 files changed, 220 insertions, 0 deletions
diff --git a/app-admin/conky/conky-1.10.6-r1.ebuild b/app-admin/conky/conky-1.10.6-r1.ebuild new file mode 100644 index 000000000000..43228b166345 --- /dev/null +++ b/app-admin/conky/conky-1.10.6-r1.ebuild @@ -0,0 +1,185 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit cmake-utils 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 ~x86" +IUSE="apcupsd audacious 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 weather-xoap webserver wifi X xmms2" + +DEPEND_COMMON=" + 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] media-video/nvidia-settings ) ) + truetype? ( x11-libs/libXft >=media-libs/freetype-2 ) + x11-libs/libX11 + x11-libs/libXdamage + x11-libs/libXinerama + x11-libs/libXfixes + x11-libs/libXext + audacious? ( >=media-sound/audacious-1.5 dev-libs/glib:2 ) + 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? ( >=virtual/mysql-5.0 ) + 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 ) + weather-xoap? ( dev-libs/libxml2 net-misc/curl ) + webserver? ( net-libs/libmicrohttpd ) + >=dev-lang/lua-5.1.4-r8:0 + " +RDEPEND=" + ${DEPEND_COMMON} + 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=" + ${DEPEND_COMMON} + app-text/docbook2X + " + +CONFIG_CHECK=~IPV6 + +DOCS=( README.md TODO ChangeLog NEWS AUTHORS ) + +PATCHES=( "${FILESDIR}"/${P}-new_graph-oor.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_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_AUDACIOUS=$(usex audacious) + -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_AUDACIOUS=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_WEATHER_METAR=$(usex weather-metar) + -DBUILD_WEATHER_XOAP=$(usex weather-xoap) + -DBUILD_HTTP=$(usex webserver) + -DBUILD_WLAN=$(usex wifi) + -DBUILD_BUILTIN_CONFIG=ON + -DBUILD_OLD_CONFIG=ON + -DBUILD_I18N=ON + -DMAINTAINER_MODE=OFF + -DRELEASE=ON + -DBUILD_BMPX=OFF + -DDOC_PATH=/usr/share/doc/${PF} + ) + # -DMAINTAINER_MODE=OFF disables building documentation and fixes bug #486270 + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_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.6-new_graph-oor.patch b/app-admin/conky/files/conky-1.10.6-new_graph-oor.patch new file mode 100644 index 000000000000..18091702f681 --- /dev/null +++ b/app-admin/conky/files/conky-1.10.6-new_graph-oor.patch @@ -0,0 +1,35 @@ +From 2600d01373ce04b34f698f3887e90a35c77bda61 Mon Sep 17 00:00:00 2001 +From: labath <pavelo@centrum.sk> +Date: Tue, 31 Jan 2017 01:31:09 +0000 +Subject: [PATCH] Fix an out-of-range error in new_graph (#356) + +The code was multiplying the index with the size of the element, and +then adding it to the typed pointer (resulting in a double +multiplication and an OOB access). + +Replace the buggy code with a slightly safer c++ alternative. +--- + src/specials.cc | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/specials.cc b/src/specials.cc +index ee941eb..73bd2a2 100644 +--- a/src/specials.cc ++++ b/src/specials.cc +@@ -519,14 +519,12 @@ void new_graph(struct text_object *obj, char *buf, int buf_max_size, double val) + DBGP("reallocing graph from %d to %d", s->graph_allocated, s->graph_width); + if (!s->graph) { + /* initialize */ +- memset(graph, 0, s->graph_width * sizeof(double)); ++ std::fill_n(graph, s->graph_width, 0.0); + s->scale = 100; + } else { + if (s->graph_width > s->graph_allocated) { + /* initialize the new region */ +- memset(graph + (s->graph_allocated * sizeof(double)), 0, +- (s->graph_width - s->graph_allocated) * +- sizeof(double)); ++ std::fill(graph + s->graph_allocated, graph + s->graph_width, 0.0); + } + } + s->graph = graph; |