app-admin/gkrellm: Bump to version 2.3.6_rc1
authorLars Wendler <polynomial-c@gentoo.org>
Fri, 11 Sep 2015 11:11:46 +0000 (13:11 +0200)
committerLars Wendler <polynomial-c@gentoo.org>
Fri, 11 Sep 2015 11:12:02 +0000 (13:12 +0200)
Package-Manager: portage-2.2.20.1
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
app-admin/gkrellm/Manifest
app-admin/gkrellm/files/gkrellm-2.3.6_rc1-avoid_possible_busy_loop.patch [new file with mode: 0644]
app-admin/gkrellm/files/gkrellm-2.3.6_rc1-fix_copypaste_error.patch [new file with mode: 0644]
app-admin/gkrellm/files/gkrellm-2.3.6_rc1-fix_gtk_deprecation_warning.patch [new file with mode: 0644]
app-admin/gkrellm/files/gkrellm-2.3.6_rc1-update_german_translation.patch.xz [new file with mode: 0644]
app-admin/gkrellm/files/gkrellmd.initd [new file with mode: 0644]
app-admin/gkrellm/gkrellm-2.3.6_rc1.ebuild [new file with mode: 0644]

index 8faa1e10fd11e95d1cc1d491ae4d788b8792206b..e9e4ff7d4d32bd194a8c516b5e3892eb50455392 100644 (file)
@@ -1 +1,2 @@
 DIST gkrellm-2.3.5.tar.bz2 765011 SHA256 702b5b0e9c040eb3af8e157453f38dd6f53e1dcd8b1272d20266cda3d4372c8b SHA512 9681ec5978b6be9f56a71726df36671829a4427f45caf90c8c3460e8c59004ff4083de1692cad16e3724ed37418bb3e4589d1961c140f3becfa3efd210b7a5dc WHIRLPOOL 3dceb20b9da49fb9b287e1faca88b3fdb7ae7af6dde5e675ee1e5c718467b131e34f740cb38719e5026ce0478146264fa4eaa060120e71f2c442ec5504e6dfb4
+DIST gkrellm-2.3.6-rc1.tar.bz2 784934 SHA256 abeeb0c04a8f911db5f07a95a98e4044326a657f65986013d36a736ba4e47ae8 SHA512 2004c6e57dc5dba9dbbd4c713caa29f5b59e4926b1ce4a3cfb47840096d6d93d66633d15d5588bc22e31df88241248d7910645da75de39278f1fd68255b88517 WHIRLPOOL f3506e88dc19e3eebe313b5f57a5d605d6b011808391036ff5332140c53061f8ee99b942b2b287cb7f645e9f2491e654623759b4a01fa454c785883355141319
diff --git a/app-admin/gkrellm/files/gkrellm-2.3.6_rc1-avoid_possible_busy_loop.patch b/app-admin/gkrellm/files/gkrellm-2.3.6_rc1-avoid_possible_busy_loop.patch
new file mode 100644 (file)
index 0000000..b6843b6
--- /dev/null
@@ -0,0 +1,65 @@
+From 285adc8acd22892f86435edd84bf9b22c915b349 Mon Sep 17 00:00:00 2001
+From: Bill Wilson
+Date: Wed, 5 Nov 2014 17:46:37 -0600
+Subject: Avoid possible busy loop in read_server_setup()
+
+A patch from Joe Garcia.  A ssh tunnel can be up but possibly not
+connected to anything in which case gkrellm_getline() can return 0.
+This patch prevents a busy loop by limiting the 0 return retries.
+
+diff --git a/src/client.c b/src/client.c
+index e7c5116..0eb2924 100644
+--- a/src/client.c
++++ b/src/client.c
+@@ -1712,8 +1712,10 @@ process_server_line(KeyTable *table, gint table_size, gchar *line)
+ static gboolean
+ read_server_setup(gint fd)
+       {
+-      gchar                   buf[4097]; /* TODO: Use dynamic receive buffer */
+-      gint                    table_size;
++      gchar   buf[4097]; /* TODO: Use dynamic receive buffer */
++      gint    table_size;
++      gint    rs;
++      gint    retries = 10;
+       gkrellm_debug(DEBUG_CLIENT, "read_server_setup()\n");
+@@ -1726,13 +1728,18 @@ read_server_setup(gint fd)
+       gkrellm_free_glist_and_data(&client_plugin_setup_line_list);
+-    gint rs;
+-
+       while (1)
+               {
+               rs = gkrellm_getline(fd, buf, sizeof(buf));
+-        if (rs < 0)
+-            return FALSE;
++              if (rs < 0)
++                      return FALSE;
++              if (rs == 0)
++                      {
++                      if (--retries)
++                              usleep(10000);
++                      else
++                              return FALSE;
++                      }
+               if (!strcmp(buf, "</gkrellmd_setup>"))
+                       break;
+               process_server_line(&setup_table[0], table_size, buf);
+@@ -1751,6 +1758,12 @@ read_server_setup(gint fd)
+               rs = gkrellm_getline(fd, buf, sizeof(buf));
+         if (rs < 0)
+             return FALSE;
++        if (rs==0){
++              if(--retries)
++                      usleep(10000);
++              else
++                      return FALSE;
++        }
+               if (!strcmp(buf, "</initial_update>"))
+                       break;
+               process_server_line(&update_table[0], table_size, buf);
+-- 
+cgit v0.10.2-6-g49f6
+
diff --git a/app-admin/gkrellm/files/gkrellm-2.3.6_rc1-fix_copypaste_error.patch b/app-admin/gkrellm/files/gkrellm-2.3.6_rc1-fix_copypaste_error.patch
new file mode 100644 (file)
index 0000000..d5348e2
--- /dev/null
@@ -0,0 +1,24 @@
+From f3f67b79195cb9dbb6f7c2401ffe17d3e3b8321b Mon Sep 17 00:00:00 2001
+From: Jindřich Makovička
+Date: Sun, 26 Oct 2014 17:15:49 +0100
+Subject: fix copy/paste error
+
+This regression was introduced by commit
+6365d18ad0ab6f3646e220bfc493bb2422c6f9aa
+
+diff --git a/src/plugins.c b/src/plugins.c
+index 18278fa..55cd157 100644
+--- a/src/plugins.c
++++ b/src/plugins.c
+@@ -1349,7 +1349,7 @@ replace_plugins()
+                       {
+                       gtk_box_pack_start(GTK_BOX(gkrellm_monitor_vbox()),
+                                       mon->privat->main_vbox, FALSE, FALSE, 0);
+-                      g_object_ref(G_OBJECT(mon->privat->main_vbox));
++                      g_object_unref(G_OBJECT(mon->privat->main_vbox));
+                       }
+               }
+       }
+-- 
+cgit v0.10.2-6-g49f6
+
diff --git a/app-admin/gkrellm/files/gkrellm-2.3.6_rc1-fix_gtk_deprecation_warning.patch b/app-admin/gkrellm/files/gkrellm-2.3.6_rc1-fix_gtk_deprecation_warning.patch
new file mode 100644 (file)
index 0000000..1f40e2c
--- /dev/null
@@ -0,0 +1,29 @@
+From e15c0d4a029e14e8fbd03f2773b8504d7e090ced Mon Sep 17 00:00:00 2001
+From: Bill Wilson
+Date: Tue, 21 Oct 2014 18:49:41 -0500
+Subject: Fix deprecated allow-shring & allow-grow warnings
+
+Reported by Troy Engel, avoid recent GTK version deprecated warnings
+by using gtk_window_set_resizable().
+
+diff --git a/src/main.c b/src/main.c
+index 205f462..d130d81 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -1553,9 +1553,10 @@ create_widget_tree()
+       gtk_widget_realize(gtree.window);
+-      /* gtk_window_set_resizable() */
+-      g_object_set(G_OBJECT(gtree.window), "allow_shrink", FALSE, NULL);
+-      g_object_set(G_OBJECT(gtree.window), "allow_grow", FALSE, NULL);
++      /* Set the toplevel window size handling to be under program control.
++      */
++      gtk_window_set_resizable((GtkWindow *) gtree.window, FALSE);
++
+       if (!decorated)
+               gtk_window_set_decorated((GtkWindow *) gtree.window, FALSE);
+-- 
+cgit v0.10.2-6-g49f6
+
diff --git a/app-admin/gkrellm/files/gkrellm-2.3.6_rc1-update_german_translation.patch.xz b/app-admin/gkrellm/files/gkrellm-2.3.6_rc1-update_german_translation.patch.xz
new file mode 100644 (file)
index 0000000..993f27e
Binary files /dev/null and b/app-admin/gkrellm/files/gkrellm-2.3.6_rc1-update_german_translation.patch.xz differ
diff --git a/app-admin/gkrellm/files/gkrellmd.initd b/app-admin/gkrellm/files/gkrellmd.initd
new file mode 100644 (file)
index 0000000..2a3bd69
--- /dev/null
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+description="gkrell system monitor daemon"
+pidfile="/var/run/gkrellmd.pid"
+command="/usr/bin/gkrellmd"
+command_args="${GKRELLMD_OPTS}"
+command_background="true"
+
+depend() {
+       need net
+       after lm_sensors
+       after hddtemp
+}
diff --git a/app-admin/gkrellm/gkrellm-2.3.6_rc1.ebuild b/app-admin/gkrellm/gkrellm-2.3.6_rc1.ebuild
new file mode 100644 (file)
index 0000000..e2149f4
--- /dev/null
@@ -0,0 +1,136 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib user systemd toolchain-funcs
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="Single process stack of various system monitors"
+HOMEPAGE="http://www.gkrellm.net/"
+SRC_URI="http://gkrellm.srcbox.net/${MY_P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="gnutls hddtemp lm_sensors nls ntlm ssl kernel_FreeBSD X"
+
+RDEPEND="
+       dev-libs/glib:2
+       hddtemp? ( app-admin/hddtemp )
+       gnutls? ( net-libs/gnutls )
+       !gnutls? ( ssl? ( dev-libs/openssl:0= ) )
+       lm_sensors? ( sys-apps/lm_sensors )
+       nls? ( virtual/libintl )
+       ntlm? ( net-libs/libntlm )
+       X? (
+               x11-libs/gtk+:2
+               x11-libs/pango
+               )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       nls? ( sys-devel/gettext )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.3.5-cifs.patch
+       "${FILESDIR}"/${PN}-2.3.5-config.patch
+       "${FILESDIR}"/${PN}-2.3.5-width.patch
+       "${FILESDIR}"/${PN}-2.3.5-sansfont.patch
+       "${FILESDIR}"/${P}-fix_gtk_deprecation_warning.patch
+       "${FILESDIR}"/${P}-fix_copypaste_error.patch
+       "${FILESDIR}"/${P}-avoid_possible_busy_loop.patch
+       "${FILESDIR}"/${P}-update_german_translation.patch.xz
+)
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+       enewgroup gkrellmd
+       enewuser gkrellmd -1 -1 -1 gkrellmd
+       TARGET=
+       use kernel_FreeBSD && TARGET="freebsd"
+}
+
+src_prepare() {
+       sed -e 's:-O2 ::' \
+               -e 's:override CC:CFLAGS:' \
+               -e 's:-L/usr/X11R6/lib::' \
+               -i */Makefile || die "sed Makefile(s) failed"
+
+       sed -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):" \
+               -e "s:/usr/local/lib:${EPREFIX}/usr/local/$(get_libdir):" \
+               -i src/${PN}.h || die "sed ${PN}.h failed"
+
+       epatch ${PATCHES[@]}
+}
+
+src_compile() {
+       if use X ; then
+               local sslopt=""
+               if use gnutls; then
+                       sslopt="without-ssl=yes"
+               elif use ssl; then
+                       sslopt="without-gnutls=yes"
+               else
+                       sslopt="without-ssl=yes without-gnutls=yes"
+               fi
+
+               emake \
+                       ${TARGET} \
+                       CC="$(tc-getCC)" \
+                       STRIP="" \
+                       INSTALLROOT="${EPREFIX}/usr" \
+                       INCLUDEDIR="${EPREFIX}/usr/include/gkrellm2" \
+                       LOCALEDIR="${EPREFIX}/usr/share/locale" \
+                       $(usex nls "" "enable_nls=0") \
+                       $(usex lm_sensors "" "without-libsensors=yes") \
+                       $(usex ntlm "" "without-ntlm=yes") \
+                       ${sslopt}
+       else
+               cd server || die
+               emake \
+                       ${TARGET} \
+                       CC="$(tc-getCC)" \
+                       LINK_FLAGS="$LDFLAGS -Wl,-E" \
+                       STRIP="" \
+                       $(usex nls "" "enable_nls=0") \
+                       $(usex lm_sensors "" "without-libsensors=yes")
+       fi
+}
+
+src_install() {
+       if use X ; then
+               emake \
+                       install${TARGET:+_}${TARGET} \
+                       $(usex nls "" "enable_nls=0") \
+                       STRIP="" \
+                       INSTALLDIR="${ED}/usr/bin" \
+                       INCLUDEDIR="${ED}/usr/include" \
+                       LOCALEDIR="${ED}/usr/share/locale" \
+                       PKGCONFIGDIR="${ED}/usr/$(get_libdir)/pkgconfig" \
+                       MANDIR="${ED}/usr/share/man/man1"
+
+               dohtml *.html
+
+               newicon src/icon.xpm ${PN}.xpm
+               make_desktop_entry ${PN} GKrellM ${PN}
+       else
+               dobin server/gkrellmd
+
+               insinto /usr/include/gkrellm2
+               doins server/gkrellmd.h
+               doins shared/log.h
+       fi
+
+       newinitd "${FILESDIR}"/gkrellmd.initd gkrellmd
+       newconfd "${FILESDIR}"/gkrellmd.conf gkrellmd
+
+       systemd_dounit "${FILESDIR}"/gkrellmd.service
+
+       insinto /etc
+       doins server/gkrellmd.conf
+
+       dodoc Changelog CREDITS README
+}