aboutsummaryrefslogtreecommitdiff
path: root/sysutils
diff options
context:
space:
mode:
authorPhilip M. Gollucci <pgollucci@FreeBSD.org>2010-10-19 01:12:52 +0000
committerPhilip M. Gollucci <pgollucci@FreeBSD.org>2010-10-19 01:12:52 +0000
commitd50fa8a2e245d06f6811973844f22890079a0ae2 (patch)
treecf8ecf794969b4267e6b2097e3e18ff180dfbea2 /sysutils
parent6664c5be75fb9deff25ff1a3e1fae7944c4e1ca4 (diff)
Notes
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/conky/Makefile7
-rw-r--r--sysutils/conky/distinfo6
-rw-r--r--sysutils/conky/files/patch-configure79
-rw-r--r--sysutils/conky/files/patch-doc-variables.xml29
-rw-r--r--sysutils/conky/files/patch-lua-cairo.pkg4
-rw-r--r--sysutils/conky/files/patch-src-Makefile.in11
-rw-r--r--sysutils/conky/files/patch-src-apcupsd.c18
-rw-r--r--sysutils/conky/files/patch-src-apcupsd.h10
-rw-r--r--sysutils/conky/files/patch-src-audacious.c19
-rw-r--r--sysutils/conky/files/patch-src-audacious.h11
-rw-r--r--sysutils/conky/files/patch-src-bmpx.c60
-rw-r--r--sysutils/conky/files/patch-src-common.c62
-rw-r--r--sysutils/conky/files/patch-src-common.h51
-rw-r--r--sysutils/conky/files/patch-src-conky.c385
-rw-r--r--sysutils/conky/files/patch-src-conky.h21
-rw-r--r--sysutils/conky/files/patch-src-core.c111
-rw-r--r--sysutils/conky/files/patch-src-diskio.c15
-rw-r--r--sysutils/conky/files/patch-src-diskio.h11
-rw-r--r--sysutils/conky/files/patch-src-entropy.c15
-rw-r--r--sysutils/conky/files/patch-src-entropy.h11
-rw-r--r--sysutils/conky/files/patch-src-exec.c129
-rw-r--r--sysutils/conky/files/patch-src-freebsd.c371
-rw-r--r--sysutils/conky/files/patch-src-fs.c26
-rw-r--r--sysutils/conky/files/patch-src-fs.h11
-rw-r--r--sysutils/conky/files/patch-src-i8k.c34
-rw-r--r--sysutils/conky/files/patch-src-i8k.h11
-rw-r--r--sysutils/conky/files/patch-src-logging.h20
-rw-r--r--sysutils/conky/files/patch-src-mail.c46
-rw-r--r--sysutils/conky/files/patch-src-mixer.c196
-rw-r--r--sysutils/conky/files/patch-src-moc.c12
-rw-r--r--sysutils/conky/files/patch-src-moc.h11
-rw-r--r--sysutils/conky/files/patch-src-mpd.c30
-rw-r--r--sysutils/conky/files/patch-src-mpd.h11
-rw-r--r--sysutils/conky/files/patch-src-net_stat.c28
-rw-r--r--sysutils/conky/files/patch-src-net_stat.h11
-rw-r--r--sysutils/conky/files/patch-src-read_tcp.c11
-rw-r--r--sysutils/conky/files/patch-src-rss.c11
-rw-r--r--sysutils/conky/files/patch-src-tcp-portmon.c14
-rw-r--r--sysutils/conky/files/patch-src-tcp-portmon.h11
-rw-r--r--sysutils/conky/files/patch-src-text_object.h10
-rw-r--r--sysutils/conky/files/patch-src-top.c25
-rw-r--r--sysutils/conky/files/patch-src-users.c17
-rw-r--r--sysutils/conky/files/patch-src-x11.c37
-rw-r--r--sysutils/conky/files/patch-src-xmms2.c11
44 files changed, 121 insertions, 1909 deletions
diff --git a/sysutils/conky/Makefile b/sysutils/conky/Makefile
index 60aac1810bdc..c06ac7b1d82e 100644
--- a/sysutils/conky/Makefile
+++ b/sysutils/conky/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= conky
-PORTVERSION= 1.8.0
+PORTVERSION= 1.8.1
CATEGORIES= sysutils
MASTER_SITES= SF
@@ -24,8 +24,7 @@ USE_GNOME?= pkgconfig
USE_ICONV= yes
USE_GMAKE= yes
CONFIGURE_ARGS+= --disable-portmon \
- --disable-hddtemp \
- --disable-iostats
+ --disable-hddtemp
CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
@@ -100,6 +99,7 @@ CONFIGURE_ARGS+= --disable-lua
.if defined(WITH_LUA_CAIRO)
LIB_DEPENDS+= cairo.2:${PORTSDIR}/graphics/cairo
BUILD_DEPENDS+= tolua++-5.1:${PORTSDIR}/lang/tolua++
+RUN_DEPENDS+= tolua++-5.1:${PORTSDIR}/lang/tolua++
CONFIGURE_ARGS+= --enable-lua-cairo
.endif
@@ -112,6 +112,7 @@ CONFIGURE_ARGS+= --disable-imlib2
.if defined(WITH_LUA_IMLIB2)
BUILD_DEPENDS+= tolua++-5.1:${PORTSDIR}/lang/tolua++
+RUN_DEPENDS+= tolua++-5.1:${PORTSDIR}/lang/tolua++
CONFIGURE_ARGS+= --enable-lua-imlib2
.endif
diff --git a/sysutils/conky/distinfo b/sysutils/conky/distinfo
index a4990f9bad35..bb275c3f7c71 100644
--- a/sysutils/conky/distinfo
+++ b/sysutils/conky/distinfo
@@ -1,3 +1,3 @@
-MD5 (conky-1.8.0.tar.bz2) = 494cbaf1108cfdb977fc80454d9b13e2
-SHA256 (conky-1.8.0.tar.bz2) = badb3824a9655eee90281939df8bdb3ca95cf8bab03269b3b3775bfea2ed0a51
-SIZE (conky-1.8.0.tar.bz2) = 610545
+MD5 (conky-1.8.1.tar.bz2) = 366dc6a5c2ebebfbe6f53da25061b5d6
+SHA256 (conky-1.8.1.tar.bz2) = f85a278f2869596b1fd68b6d26d58c93af8dcc39d5186bbcfd587d4c545e5e43
+SIZE (conky-1.8.1.tar.bz2) = 612481
diff --git a/sysutils/conky/files/patch-configure b/sysutils/conky/files/patch-configure
index 7d02cd40a805..97e4645d6745 100644
--- a/sysutils/conky/files/patch-configure
+++ b/sysutils/conky/files/patch-configure
@@ -1,55 +1,5 @@
---- configure.orig 2010-05-01 05:57:07.000000000 +0300
-+++ configure 2010-05-01 06:00:45.000000000 +0300
-@@ -11233,12 +11233,12 @@
- pkg_cv_Audacious_CFLAGS="$Audacious_CFLAGS"
- else
- if test -n "$PKG_CONFIG" && \
-- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"audacious >= 1.4.0 dbus-glib-1 glib-2.0 gobject-2.0\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "audacious >= 1.4.0 dbus-glib-1 glib-2.0 gobject-2.0") 2>&5
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"audacious >= 1.4.0 audclient dbus-glib-1 glib-2.0 gobject-2.0\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "audacious >= 1.4.0 audclient dbus-glib-1 glib-2.0 gobject-2.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- pkg_cv_Audacious_CFLAGS=`$PKG_CONFIG --cflags "audacious >= 1.4.0 dbus-glib-1 glib-2.0 gobject-2.0" 2>/dev/null`
-+ pkg_cv_Audacious_CFLAGS=`$PKG_CONFIG --cflags "audacious >= 1.4.0 audclient dbus-glib-1 glib-2.0 gobject-2.0" 2>/dev/null`
- else
- pkg_failed=yes
- fi
-@@ -11251,12 +11251,12 @@
- pkg_cv_Audacious_LIBS="$Audacious_LIBS"
- else
- if test -n "$PKG_CONFIG" && \
-- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"audacious >= 1.4.0 dbus-glib-1 glib-2.0 gobject-2.0\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "audacious >= 1.4.0 dbus-glib-1 glib-2.0 gobject-2.0") 2>&5
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"audacious >= 1.4.0 audclient dbus-glib-1 glib-2.0 gobject-2.0\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "audacious >= 1.4.0 audclient dbus-glib-1 glib-2.0 gobject-2.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- pkg_cv_Audacious_LIBS=`$PKG_CONFIG --libs "audacious >= 1.4.0 dbus-glib-1 glib-2.0 gobject-2.0" 2>/dev/null`
-+ pkg_cv_Audacious_LIBS=`$PKG_CONFIG --libs "audacious >= 1.4.0 audclient dbus-glib-1 glib-2.0 gobject-2.0" 2>/dev/null`
- else
- pkg_failed=yes
- fi
-@@ -11275,14 +11275,14 @@
- _pkg_short_errors_supported=no
- fi
- if test $_pkg_short_errors_supported = yes; then
-- Audacious_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "audacious >= 1.4.0 dbus-glib-1 glib-2.0 gobject-2.0"`
-+ Audacious_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "audacious >= 1.4.0 audclient dbus-glib-1 glib-2.0 gobject-2.0"`
- else
-- Audacious_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "audacious >= 1.4.0 dbus-glib-1 glib-2.0 gobject-2.0"`
-+ Audacious_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "audacious >= 1.4.0 audclient dbus-glib-1 glib-2.0 gobject-2.0"`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$Audacious_PKG_ERRORS" >&5
-
-- as_fn_error "Package requirements (audacious >= 1.4.0 dbus-glib-1 glib-2.0 gobject-2.0) were not met:
-+ as_fn_error "Package requirements (audacious >= 1.4.0 audclient dbus-glib-1 glib-2.0 gobject-2.0) were not met:
-
- $Audacious_PKG_ERRORS
-
+--- configure.orig
++++ configure
@@ -11645,7 +11645,7 @@
@@ -59,23 +9,12 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: apcupsd not supported on $uname... disabling" >&5
$as_echo "$as_me: apcupsd not supported on $uname... disabling" >&6;}
want_apcupsd="not supported on $uname"
-@@ -15950,11 +15950,6 @@
- fi
+@@ -11675,7 +11675,7 @@
- fi
--if test x$want_alsa = xyes; then
--
--$as_echo "#define MIXER_IS_ALSA 1" >>confdefs.h
--
--fi
- for ac_header in signal.h unistd.h sys/utsname.h sys/stat.h linux/soundcard.h alsa/asoundlib.h dirent.h mcheck.h \
- sys/statfs.h sys/param.h pthread.h semaphore.h assert.h errno.h time.h
-@@ -18905,6 +18900,7 @@
- ALSA mixer: $want_alsa
- apcupsd: $want_apcupsd
- I/O stats: $want_iostats
-+ ncurses: $want_ncurses
-
- * Lua ($want_lua) bindings:
- Cairo: $want_lua_cairo
+ if test x$want_iostats = xyes; then
+- if test x"$uname" != xLinux; then
++ if test x"$uname" != xLinux -a x"$uname" != xFreeBSD; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: iostats not supported on $uname... disabling" >&5
+ $as_echo "$as_me: iostats not supported on $uname... disabling" >&6;}
+ want_iostats="not supported on $uname"
diff --git a/sysutils/conky/files/patch-doc-variables.xml b/sysutils/conky/files/patch-doc-variables.xml
deleted file mode 100644
index 815ce712b9ab..000000000000
--- a/sysutils/conky/files/patch-doc-variables.xml
+++ /dev/null
@@ -1,29 +0,0 @@
---- doc/variables.xml.orig
-+++ doc/variables.xml
-@@ -7,8 +7,8 @@
- <option>(adapter)</option>
- </term>
- <listitem>ACPI ac adapter state. On linux, the adapter option specifies the
-- subfolder of /sys/class/power_supply containing the state information (defaults
-- to "AC"). Other systems ignore it.
-+ subfolder of /sys/class/power_supply containing the state information (tries "AC"
-+ and "ADP1" if there is no argument given). Non-linux systems ignore it.
- <para /></listitem>
- </varlistentry>
- <varlistentry>
-@@ -2416,6 +2416,15 @@
- <listitem>Hostname
- <para /></listitem>
- </varlistentry>
-+ <varlistentry>
-+ <term>
-+ <command>
-+ <option>nodename_short</option>
-+ </command>
-+ </term>
-+ <listitem>Short hostname (same as 'hostname -s' shell command).
-+ <para /></listitem>
-+ </varlistentry>
- <varlistentry>
- <term>
- <command>
diff --git a/sysutils/conky/files/patch-lua-cairo.pkg b/sysutils/conky/files/patch-lua-cairo.pkg
index 8b361db373d2..b097095dfa7e 100644
--- a/sysutils/conky/files/patch-lua-cairo.pkg
+++ b/sysutils/conky/files/patch-lua-cairo.pkg
@@ -1,5 +1,5 @@
---- lua/cairo.pkg.orig 2010-05-01 04:41:44.000000000 +0300
-+++ lua/cairo.pkg 2010-05-01 04:20:40.000000000 +0300
+--- lua/cairo.pkg.orig
++++ lua/cairo.pkg
@@ -4,6 +4,7 @@
$#include <cairo-xlib.h>
$#include <X11/Xlib.h>
diff --git a/sysutils/conky/files/patch-src-Makefile.in b/sysutils/conky/files/patch-src-Makefile.in
deleted file mode 100644
index 6b67bfcfe640..000000000000
--- a/sysutils/conky/files/patch-src-Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/Makefile.in.orig 2010-04-30 21:55:48.000000000 +0300
-+++ src/Makefile.in 2010-04-30 21:55:50.000000000 +0300
-@@ -141,7 +141,7 @@
- am__objects_15 = conky-linux.$(OBJEXT) conky-top.$(OBJEXT) \
- conky-users.$(OBJEXT) conky-sony.$(OBJEXT) conky-i8k.$(OBJEXT)
- @BUILD_LINUX_TRUE@am__objects_16 = $(am__objects_15)
--am__objects_17 = conky-freebsd.$(OBJEXT)
-+am__objects_17 = conky-freebsd.$(OBJEXT) conky-top.$(OBJEXT)
- @BUILD_FREEBSD_TRUE@am__objects_18 = $(am__objects_17)
- am__objects_19 = conky-openbsd.$(OBJEXT)
- @BUILD_OPENBSD_TRUE@am__objects_20 = $(am__objects_19)
diff --git a/sysutils/conky/files/patch-src-apcupsd.c b/sysutils/conky/files/patch-src-apcupsd.c
deleted file mode 100644
index f41d28b13788..000000000000
--- a/sysutils/conky/files/patch-src-apcupsd.c
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/apcupsd.c.orig
-+++ src/apcupsd.c
-@@ -154,7 +154,7 @@ static int fill_items(int sock, PAPCUPSD_S apc) {
- //
- // Conky update function for apcupsd data
- //
--void update_apcupsd(void) {
-+int update_apcupsd(void) {
-
- int i;
- APCUPSD_S apc;
-@@ -225,5 +225,5 @@ void update_apcupsd(void) {
- // "atomically" copy the data into working set
- //
- memcpy(info.apcupsd.items, apc.items, sizeof(info.apcupsd.items));
-- return;
-+ return 0;
- }
diff --git a/sysutils/conky/files/patch-src-apcupsd.h b/sysutils/conky/files/patch-src-apcupsd.h
deleted file mode 100644
index 1d3035b3eacd..000000000000
--- a/sysutils/conky/files/patch-src-apcupsd.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/apcupsd.h.orig
-+++ src/apcupsd.h
-@@ -49,6 +49,6 @@ typedef struct apcupsd_s {
- } APCUPSD_S, *PAPCUPSD_S;
-
- /* Service routine for the conky main thread */
--void update_apcupsd(void);
-+int update_apcupsd(void);
-
- #endif /*APCUPSD_H_*/
diff --git a/sysutils/conky/files/patch-src-audacious.c b/sysutils/conky/files/patch-src-audacious.c
deleted file mode 100644
index 8d92f1da2c0e..000000000000
--- a/sysutils/conky/files/patch-src-audacious.c
+++ /dev/null
@@ -1,19 +0,0 @@
---- src/audacious.c.orig
-+++ src/audacious.c
-@@ -62,7 +62,7 @@ static audacious_t audacious_items;
- /* -----------------------------------------
- * Conky update function for audacious data.
- * ----------------------------------------- */
--void update_audacious(void)
-+int update_audacious(void)
- {
- /* The worker thread is updating audacious_items array asynchronously
- * to the main conky thread.
-@@ -79,6 +79,7 @@ void update_audacious(void)
- timed_thread_lock(info.audacious.p_timed_thread);
- memcpy(&info.audacious.items, audacious_items, sizeof(audacious_items));
- timed_thread_unlock(info.audacious.p_timed_thread);
-+ return 0;
- }
-
- /* ---------------------------------------------------------
diff --git a/sysutils/conky/files/patch-src-audacious.h b/sysutils/conky/files/patch-src-audacious.h
deleted file mode 100644
index feba3243f09e..000000000000
--- a/sysutils/conky/files/patch-src-audacious.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/audacious.h.orig
-+++ src/audacious.h
-@@ -60,7 +60,7 @@ int create_audacious_thread(void);
- int destroy_audacious_thread(void);
-
- /* Service routine for the conky main thread */
--void update_audacious(void);
-+int update_audacious(void);
-
- /* Thread functions */
- void *audacious_thread_func(void *);
diff --git a/sysutils/conky/files/patch-src-bmpx.c b/sysutils/conky/files/patch-src-bmpx.c
new file mode 100644
index 000000000000..3728d640ea00
--- /dev/null
+++ b/sysutils/conky/files/patch-src-bmpx.c
@@ -0,0 +1,60 @@
+--- src/bmpx.c.orig
++++ src/bmpx.c
+@@ -42,7 +42,7 @@
+ static int connected = 0;
+ static char *unknown = "unknown";
+
+-void fail(GError *error);
++void fail(GError *error, struct information *);
+
+ void update_bmpx()
+ {
+@@ -58,15 +58,15 @@
+ bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error);
+ if (bus == NULL) {
+ NORM_ERR("BMPx error 1: %s\n", error->message);
+- fail(error);
++ fail(error, current_info);
+ return;
+ }
+
+ remote_object = dbus_g_proxy_new_for_name(bus, BMP_DBUS_SERVICE,
+- BMP_DBUS_PATH, BMP_DBUS_INTERFACE);
++ BMP_DBUS_PATH__BMP, BMP_DBUS_INTERFACE__BMP);
+ if (!remote_object) {
+ NORM_ERR("BMPx error 2: %s\n", error->message);
+- fail(error);
++ fail(error, current_info);
+ return;
+ }
+
+@@ -78,7 +78,7 @@
+ G_TYPE_INVALID, G_TYPE_INT, &current_track, G_TYPE_INVALID)) {
+ } else {
+ NORM_ERR("BMPx error 3: %s\n", error->message);
+- fail(error);
++ fail(error, current_info);
+ return;
+ }
+
+@@ -112,17 +112,17 @@
+ g_value_get_string(g_hash_table_lookup(metadata, "location"));
+ } else {
+ NORM_ERR("BMPx error 4: %s\n", error->message);
+- fail(error);
++ fail(error, current_info);
+ return;
+ }
+
+ g_hash_table_destroy(metadata);
+ } else {
+- fail(error);
++ fail(error, current_info);
+ }
+ }
+
+-void fail(GError *error)
++void fail(GError *error, struct information *current_info)
+ {
+ if (error) {
+ g_error_free(error);
diff --git a/sysutils/conky/files/patch-src-common.c b/sysutils/conky/files/patch-src-common.c
deleted file mode 100644
index 5b0c5a82ca28..000000000000
--- a/sysutils/conky/files/patch-src-common.c
+++ /dev/null
@@ -1,62 +0,0 @@
---- src/common.c.orig
-+++ src/common.c
-@@ -84,9 +84,10 @@ char *strndup(const char *s, size_t n)
- }
- #endif /* HAVE_STRNDUP */
-
--void update_uname(void)
-+int update_uname(void)
- {
- uname(&info.uname_s);
-+ return 0;
- }
-
- double get_time(void)
-@@ -268,7 +269,7 @@ void format_seconds_short(char *buf, unsigned int n, long seconds)
- * Populated while initialising text objects in construct_text_object(). */
- static struct update_cb {
- struct update_cb *next;
-- void (*func)(void);
-+ int (*func)(void);
- pthread_t thread;
- sem_t start_wait, end_wait;
-
-@@ -286,7 +287,7 @@ static int threading_started = 0;
-
- /* Register an update callback. Don't allow duplicates, to minimise side
- * effects and overhead. */
--void add_update_callback(void (*func)(void))
-+void add_update_callback(int (*func)(void))
- {
- struct update_cb *uc = &update_cb_head;
-
-@@ -376,7 +377,12 @@ static void *run_update_callback(void *data)
- while (1) {
- if (sem_wait(&ucb->start_wait)) pthread_exit(NULL);
- if (ucb->running == 0) pthread_exit(NULL);
-- (*ucb->func)();
-+ if((*ucb->func)()) {
-+ ucb->next = ucb; //this is normally not be possible, so we use it to show that there was a critical error
-+ sem_post(&ucb->end_wait);
-+ sem_post(&ucb->end_wait);
-+ pthread_exit(NULL);
-+ }
- if (sem_post(&ucb->end_wait)) pthread_exit(NULL);
- }
- }
-@@ -411,8 +417,14 @@ void update_stuff(void)
- }
- /* need to synchronise here, otherwise locking is needed (as data
- * would be printed with some update callbacks still running) */
-- for (uc = update_cb_head.next; uc; uc = uc->next)
-+ for (uc = update_cb_head.next; uc; uc = uc->next) {
- sem_wait(&uc->end_wait);
-+ if(uc == uc->next) {
-+ pthread_join(uc->thread, NULL);
-+ free(uc);
-+ exit(EXIT_FAILURE);
-+ }
-+ }
-
- /* XXX: move the following into the update_meminfo() functions? */
- if (no_buffers) {
diff --git a/sysutils/conky/files/patch-src-common.h b/sysutils/conky/files/patch-src-common.h
deleted file mode 100644
index 55f19f768f25..000000000000
--- a/sysutils/conky/files/patch-src-common.h
+++ /dev/null
@@ -1,51 +0,0 @@
---- src/common.h.orig
-+++ src/common.h
-@@ -11,7 +11,7 @@
- #include <sys/socket.h>
- #include "text_object.h"
-
--void add_update_callback(void (*func)(void));
-+void add_update_callback(int (*func)(void));
- void free_update_callbacks(void);
- void start_update_threading(void);
-
-@@ -19,20 +19,20 @@ void start_update_threading(void);
- void strfold(char *start, int count);
- int check_mount(char *s);
- void prepare_update(void);
--void update_uptime(void);
--void update_meminfo(void);
--void update_net_stats(void);
--void update_cpu_usage(void);
--void update_total_processes(void);
--void update_uname(void);
--void update_threads(void);
--void update_running_processes(void);
-+int update_uptime(void);
-+int update_meminfo(void);
-+int update_net_stats(void);
-+int update_cpu_usage(void);
-+int update_total_processes(void);
-+int update_uname(void);
-+int update_threads(void);
-+int update_running_processes(void);
- void update_stuff(void);
- char get_freq(char *, size_t, const char *, int, unsigned int);
- void print_voltage_mv(struct text_object *, char *, int);
- void print_voltage_v(struct text_object *, char *, int);
--void update_load_average(void);
--void update_top(void);
-+int update_load_average(void);
-+int update_top(void);
- void free_all_processes(void);
- struct process *get_first_process(void);
- void get_cpu_count(void);
-@@ -50,7 +50,7 @@ void format_seconds(char *buf, unsigned int n, long t);
- void format_seconds_short(char *buf, unsigned int n, long t);
-
- #ifdef X11
--void update_x11info(void);
-+int update_x11info(void);
- #endif
-
- int round_to_int_temp(float);
diff --git a/sysutils/conky/files/patch-src-conky.c b/sysutils/conky/files/patch-src-conky.c
index 2a9228f6c157..b643ba5b82ce 100644
--- a/sysutils/conky/files/patch-src-conky.c
+++ b/sysutils/conky/files/patch-src-conky.c
@@ -1,77 +1,6 @@
---- src/conky.c.orig 2010-03-25 22:27:32.000000000 +0200
-+++ src/conky.c 2010-06-11 23:10:56.000000000 +0300
-@@ -166,9 +166,7 @@
- #ifdef IOSTATS
- int top_io;
- #endif
--#ifdef __linux__
- int top_running;
--#endif
- int output_methods;
- static int extra_newline;
- enum x_initialiser_state x_initialised = NO;
-@@ -269,9 +267,6 @@
- #ifdef IMLIB2
- " * Imlib2\n"
- #endif /* IMLIB2 */
--#ifdef MIXER_IS_ALSA
-- " * ALSA mixer support\n"
--#endif /* MIXER_IS_ALSA */
- #ifdef APCUPSD
- " * apcupsd\n"
- #endif /* APCUPSD */
-@@ -463,7 +458,7 @@
- }
- fclose(where);
- } else {
-- NORM_ERR("Could not open the file");
-+ NORM_ERR("Could not open the file '%s'", f);
- }
- return ret;
- }
-@@ -512,6 +507,7 @@
- char *ps, *pe;
- int special_index = 0; /* specials index */
-
-+ if(! b) return;
- for (ps = b, pe = b; *pe; pe++) {
- if (*pe == '\n') {
- *pe = '\0';
-@@ -765,6 +761,8 @@
- buff_in[0] = 0;
- #endif /* HAVE_ICONV */
-
-+ if(! p) return;
-+
- p[0] = 0;
- obj = root.next;
- while (obj && p_max_size > 0) {
-@@ -1330,7 +1328,7 @@
- DO_JUMP;
- } else if (spc) {
- *spc = '\0';
-- if (check_contains(obj->data.s, spc + 1))
-+ if (!check_contains(obj->data.s, spc + 1))
- DO_JUMP;
- *spc = ' ';
- }
-@@ -1503,6 +1501,15 @@
- OBJ(nodename) {
- snprintf(p, p_max_size, "%s", cur->uname_s.nodename);
- }
-+ OBJ(nodename_short) {
-+ char *pos;
-+ pos = strstr(cur->uname_s.nodename, ".");
-+ if(pos != NULL) {
-+ snprintf(p, MIN(pos-cur->uname_s.nodename+1, p_max_size), "%s", cur->uname_s.nodename);
-+ } else {
-+ snprintf(p, p_max_size, "%s", cur->uname_s.nodename);
-+ }
-+ }
- OBJ(outlinecolor) {
- new_outline(p, obj->data.l);
- }
-@@ -2062,9 +2069,11 @@
+--- src/conky.c.orig 2010-10-06 00:29:36.000000000 +0300
++++ src/conky.c 2010-10-10 00:06:31.000000000 +0300
+@@ -2072,9 +2072,11 @@
OBJ(xmms2_percent) {
snprintf(p, p_max_size, "%2.0f", cur->xmms2.progress * 100);
}
@@ -83,7 +12,7 @@
OBJ(xmms2_playlist) {
snprintf(p, p_max_size, "%s", cur->xmms2.playlist);
}
-@@ -2140,6 +2149,7 @@
+@@ -2150,6 +2152,7 @@
snprintf(p, p_max_size, "%s",
cur->audacious.items[AUDACIOUS_MAIN_VOLUME]);
}
@@ -91,7 +20,7 @@
OBJ(audacious_bar) {
double progress;
-@@ -2148,6 +2158,7 @@
+@@ -2158,6 +2161,7 @@
atof(cur->audacious.items[AUDACIOUS_LENGTH_SECONDS]);
new_bar(obj, p, p_max_size, (int) (progress * 255.0f));
}
@@ -99,306 +28,12 @@
#endif /* AUDACIOUS */
#ifdef BMPX
-@@ -2173,7 +2184,6 @@
- /* we have four different types of top (top, top_mem,
- * top_time and top_io). To avoid having almost-same code four
- * times, we have this special handler. */
--#ifdef __linux__
- break;
- case OBJ_top:
- case OBJ_top_mem:
-@@ -2182,7 +2192,6 @@
- case OBJ_top_io:
- #endif
- print_top(obj, p, p_max_size);
--#endif /* __linux__ */
- OBJ(tail) {
- print_tailhead("tail", obj, p, p_max_size);
- }
-@@ -2375,13 +2384,7 @@
- #ifdef HAVE_ICONV
- iconv_convert(&a, buff_in, p, p_max_size);
- #endif /* HAVE_ICONV */
-- if (obj->type != OBJ_text && obj->type != OBJ_execp && obj->type != OBJ_execpi
--#ifdef HAVE_LUA
-- && obj->type != OBJ_lua && obj->type != OBJ_lua_parse
--#endif /* HAVE_LUA */
-- ) {
-- substitute_newlines(p, a - 2);
-- }
-+ substitute_newlines(p, a - 2);
- p += a;
- p_max_size -= a;
- (*p) = 0;
-@@ -3119,36 +3122,49 @@
- if (seconds != 0) {
- timeunits = seconds / 86400; seconds %= 86400;
- if (timeunits > 0) {
-- asprintf(&tmp_day_str, "%dd", timeunits);
-+ if (asprintf(&tmp_day_str, "%dd", timeunits) < 0) {
-+ tmp_day_str = 0;
-+ }
- } else {
- tmp_day_str = strdup("");
- }
- timeunits = seconds / 3600; seconds %= 3600;
- if (timeunits > 0) {
-- asprintf(&tmp_hour_str, "%dh", timeunits);
-+ if (asprintf(&tmp_hour_str, "%dh", timeunits) < 0) {
-+ tmp_day_str = 0;
-+ }
- } else {
- tmp_hour_str = strdup("");
- }
- timeunits = seconds / 60; seconds %= 60;
- if (timeunits > 0) {
-- asprintf(&tmp_min_str, "%dm", timeunits);
-+ if (asprintf(&tmp_min_str, "%dm", timeunits) < 0) {
-+ tmp_min_str = 0;
-+ }
- } else {
- tmp_min_str = strdup("");
- }
- if (seconds > 0) {
-- asprintf(&tmp_sec_str, "%ds", seconds);
-+ if (asprintf(&tmp_sec_str, "%ds", seconds) < 0) {
-+ tmp_sec_str = 0;
-+ }
- } else {
- tmp_sec_str = strdup("");
- }
-- asprintf(&tmp_str, "%s%s%s%s", tmp_day_str, tmp_hour_str, tmp_min_str, tmp_sec_str);
-- free(tmp_day_str); free(tmp_hour_str); free(tmp_min_str); free(tmp_sec_str);
-+ if (asprintf(&tmp_str, "%s%s%s%s", tmp_day_str,
-+ tmp_hour_str, tmp_min_str, tmp_sec_str) < 0) {
-+ tmp_str = 0;
-+ }
-+#define FREE(a) if ((a)) free((a));
-+ FREE(tmp_day_str); FREE(tmp_hour_str); FREE(tmp_min_str); FREE(tmp_sec_str);
- } else {
-- asprintf(&tmp_str, "Range not possible"); // should never happen, but better safe then sorry
-+ tmp_str = strdup("Range not possible"); /* should never happen, but better safe then sorry */
- }
- cur_x += (w / 2) - (font_ascent() * (strlen(tmp_str) / 2));
- cur_y += font_h / 2;
- draw_string(tmp_str);
-- free(tmp_str);
-+ FREE(tmp_str);
-+#undef FREE
- cur_x = tmp_x;
- cur_y = tmp_y;
- }
-@@ -3974,11 +3990,39 @@
- initialisation(argc_copy, argv_copy);
- }
-
--void clean_up(void *memtofree1, void* memtofree2)
--{
-- int i;
-+#ifdef X11
-+void clean_up_x11() {
-+ if(window_created == 1) {
-+ XClearArea(display, window.window, text_start_x - window.border_inner_margin - window.border_outer_margin - window.border_width,
-+ text_start_y - window.border_inner_margin - window.border_outer_margin - window.border_width,
-+ text_width + window.border_inner_margin * 2 + window.border_outer_margin * 2 + window.border_width * 2,
-+ text_height + window.border_inner_margin * 2 + window.border_outer_margin * 2 + window.border_width * 2, 0);
-+ }
-+ destroy_window();
-+ free_fonts();
-+ fonts = NULL;
-+ if(x11_stuff.region) {
-+ XDestroyRegion(x11_stuff.region);
-+ x11_stuff.region = NULL;
-+ }
-+ if(display) {
-+ XCloseDisplay(display);
-+ display = NULL;
-+ }
-+ if(info.x11.desktop.all_names) {
-+ free(info.x11.desktop.all_names);
-+ info.x11.desktop.all_names = NULL;
-+ }
-+ if (info.x11.desktop.name) {
-+ free(info.x11.desktop.name);
-+ info.x11.desktop.name = NULL;
-+ }
-+ x_initialised = NO;
-+}
-+#endif
-
-- free_update_callbacks();
-+void clean_up_without_threads(void *memtofree1, void* memtofree2) {
-+ int i;
+@@ -6007,7 +6011,7 @@
- #ifdef NCURSES
- if(output_methods & TO_NCURSES) {
-@@ -4001,29 +4045,7 @@
- }
- #ifdef X11
- if (x_initialised == YES) {
-- if(window_created == 1) {
-- XClearArea(display, window.window, text_start_x - window.border_inner_margin - window.border_outer_margin - window.border_width,
-- text_start_y - window.border_inner_margin - window.border_outer_margin - window.border_width,
-- text_width + window.border_inner_margin * 2 + window.border_outer_margin * 2 + window.border_width * 2,
-- text_height + window.border_inner_margin * 2 + window.border_outer_margin * 2 + window.border_width * 2, 0);
-- }
-- destroy_window();
-- free_fonts();
-- if(x11_stuff.region) {
-- XDestroyRegion(x11_stuff.region);
-- x11_stuff.region = NULL;
-- }
-- XCloseDisplay(display);
-- display = NULL;
-- if(info.x11.desktop.all_names) {
-- free(info.x11.desktop.all_names);
-- info.x11.desktop.all_names = NULL;
-- }
-- if (info.x11.desktop.name) {
-- free(info.x11.desktop.name);
-- info.x11.desktop.name = NULL;
-- }
-- x_initialised = NO;
-+ clean_up_x11();
- }else{
- free(fonts); //in set_default_configurations a font is set but not loaded
- font_count = -1;
-@@ -4097,6 +4119,12 @@
+ void alarm_handler(void) {
+ if(childpid > 0) {
+- kill(childpid, SIGTERM);
++ kill(childpid, SIGKILL);
}
}
-+void clean_up(void *memtofree1, void* memtofree2)
-+{
-+ free_update_callbacks();
-+ clean_up_without_threads(memtofree1, memtofree2);
-+}
-+
- static int string_to_bool(const char *s)
- {
- if (!s) {
-@@ -4200,9 +4228,7 @@
- #ifdef IOSTATS
- top_io = 0;
- #endif
--#ifdef __linux__
- top_running = 0;
--#endif
- #ifdef MPD
- mpd_env_host = getenv("MPD_HOST");
- mpd_env_port = getenv("MPD_PORT");
-@@ -4252,6 +4278,9 @@
- output_methods = TO_STDOUT;
- #endif
- #ifdef X11
-+#ifdef BUILD_XFT
-+ use_xft = 0;
-+#endif
- show_graph_scale = 0;
- show_graph_range = 0;
- draw_shades = 1;
-@@ -4282,11 +4311,11 @@
- text_alignment = BOTTOM_LEFT;
- info.x11.monitor.number = 1;
- info.x11.monitor.current = 0;
-- info.x11.desktop.current = 1;
-+ info.x11.desktop.current = 1;
- info.x11.desktop.number = 1;
- info.x11.desktop.nitems = 0;
-- info.x11.desktop.all_names = NULL;
-- info.x11.desktop.name = NULL;
-+ info.x11.desktop.all_names = NULL;
-+ info.x11.desktop.name = NULL;
- #endif /* X11 */
-
- free_templates();
-@@ -4518,13 +4547,13 @@
- int a = string_to_alignment(value);
-
- if (a <= 0) {
-- if(setbyconffile == true) {
-+ if (setbyconffile) {
- CONF_ERR;
- } else NORM_ERR("'%s' is not a alignment setting", value);
- } else {
- *ltext_alignment = a;
- }
-- } else if(setbyconffile == true) {
-+ } else if (setbyconffile) {
- CONF_ERR;
- }
- }
-@@ -4552,15 +4581,12 @@
-
- #ifdef X11
- CONF2("out_to_x") {
-- /* don't listen if X is already initialised or
-- * if we already know we don't want it */
-- if(x_initialised != YES) {
-- if (string_to_bool(value)) {
-- output_methods &= TO_X;
-- } else {
-- output_methods &= ~TO_X;
-- x_initialised = NEVER;
-- }
-+ if (string_to_bool(value)) {
-+ output_methods &= TO_X;
-+ } else {
-+ clean_up_x11();
-+ output_methods &= ~TO_X;
-+ x_initialised = NEVER;
- }
- }
- CONF("display") {
-@@ -4573,7 +4599,7 @@
- }
- }
- CONF("alignment") {
-- setalignment(&text_alignment, window.type, value, f, line, true);
-+ setalignment(&text_alignment, window.type, value, f, line, 1);
- }
- CONF("background") {
- fork_to_background = string_to_bool(value);
-@@ -4609,7 +4635,7 @@
- CONF("border_width") {
- if (value) {
- window.border_width = strtol(value, 0, 0);
-- if (window.border_width < 0) window.border_width = 0;
-+ if (window.border_width < 1) window.border_width = 1;
- } else {
- CONF_ERR;
- }
-@@ -5696,7 +5722,7 @@
- set_first_font(optarg);
- break;
- case 'a':
-- setalignment(&text_alignment, window.type, optarg, NULL, 0, false);
-+ setalignment(&text_alignment, window.type, optarg, NULL, 0, 0);
- break;
-
- #ifdef OWN_WINDOW
-@@ -5895,7 +5921,9 @@
- current_config = strndup(optarg, max_user_text);
- break;
- case 'q':
-- freopen("/dev/null", "w", stderr);
-+ if (!freopen("/dev/null", "w", stderr)) {
-+ NORM_ERR("unable to redirect stderr to /dev/null");
-+ }
- break;
- case 'h':
- print_help(argv[0]);
-@@ -5929,7 +5957,13 @@
- #endif /* XOAP */
-
- #ifdef HAVE_SYS_INOTIFY_H
-- inotify_fd = inotify_init1(IN_NONBLOCK);
-+ inotify_fd = inotify_init();
-+ if(inotify_fd != -1) {
-+ int fl;
-+
-+ fl = fcntl(inotify_fd, F_GETFL);
-+ fcntl(inotify_fd, F_SETFL, fl | O_NONBLOCK);
-+ }
- #endif /* HAVE_SYS_INOTIFY_H */
-
- initialisation(argc, argv);
diff --git a/sysutils/conky/files/patch-src-conky.h b/sysutils/conky/files/patch-src-conky.h
deleted file mode 100644
index e285a2e7d431..000000000000
--- a/sysutils/conky/files/patch-src-conky.h
+++ /dev/null
@@ -1,21 +0,0 @@
---- src/conky.h.orig
-+++ src/conky.h
-@@ -296,9 +296,7 @@ extern int top_cpu, top_mem, top_time;
- #ifdef IOSTATS
- extern int top_io;
- #endif
--#ifdef __linux__
- extern int top_running;
--#endif
-
- /* defined in conky.c, needed by top.c */
- extern int cpu_separate;
-@@ -308,7 +306,7 @@ extern int cpu_separate;
- extern struct information info;
-
- /* defined in users.c */
--void update_users(void);
-+int update_users(void);
- void update_user_time(char *tty);
-
- /* defined in conky.c */
diff --git a/sysutils/conky/files/patch-src-core.c b/sysutils/conky/files/patch-src-core.c
index 0bd49ec8afed..b14187e8b307 100644
--- a/sysutils/conky/files/patch-src-core.c
+++ b/sysutils/conky/files/patch-src-core.c
@@ -1,98 +1,40 @@
---- src/core.c.orig 2010-03-25 22:27:32.000000000 +0200
-+++ src/core.c 2010-06-15 10:38:22.000000000 +0300
-@@ -171,8 +171,6 @@
- NORM_ERR("acpiacadapter: arg is only used on linux");
- #endif
- }
-- if(! obj->data.opaque)
-- obj->data.opaque = strdup("AC");
- #endif /* !__OpenBSD__ */
- END OBJ(freq, 0)
- get_cpu_count();
-@@ -279,8 +277,9 @@
- obj->data.s = strndup(bat, text_buffer_size);
- END OBJ(battery_bar, 0)
- char bat[64];
-- if (arg) {
-- arg = scan_bar(obj, arg);
-+
-+ arg = scan_bar(obj, arg);
-+ if (arg && strlen(arg)>0) {
- sscanf(arg, "%63s", bat);
- } else {
- strcpy(bat, "BAT0");
-@@ -372,18 +371,18 @@
- scan_loadgraph_arg(obj, arg);
- #endif /* X11 */
- END OBJ(diskio, &update_diskio)
-- parse_diskio_arg(obj, arg);
-+ parse_diskio_arg(obj, dev_name(arg));
- END OBJ(diskio_read, &update_diskio)
-- parse_diskio_arg(obj, arg);
-+ parse_diskio_arg(obj, dev_name(arg));
- END OBJ(diskio_write, &update_diskio)
-- parse_diskio_arg(obj, arg);
-+ parse_diskio_arg(obj, dev_name(arg));
- #ifdef X11
- END OBJ(diskiograph, &update_diskio)
-- parse_diskiograph_arg(obj, arg);
-+ parse_diskiograph_arg(obj, dev_name(arg));
- END OBJ(diskiograph_read, &update_diskio)
-- parse_diskiograph_arg(obj, arg);
-+ parse_diskiograph_arg(obj, dev_name(arg));
- END OBJ(diskiograph_write, &update_diskio)
-- parse_diskiograph_arg(obj, arg);
-+ parse_diskiograph_arg(obj, dev_name(arg));
- #endif /* X11 */
- END OBJ(color, 0)
- #ifdef X11
-@@ -542,6 +541,11 @@
+--- src/core.c.orig 2010-10-06 00:29:36.000000000 +0300
++++ src/core.c 2010-10-09 23:51:18.000000000 +0300
+@@ -541,11 +541,11 @@
parse_platform_sensor(obj, arg);
END OBJ_ARG(hwmon, 0, "hwmon needs argumanets")
parse_hwmon_sensor(obj, arg);
+- END OBJ(addr, &update_net_stats)
+- parse_net_stat_arg(obj, arg, free_at_crash);
+ END OBJ(addrs, &update_net_stats)
+ parse_net_stat_arg(obj, arg, free_at_crash);
+ #endif /* __linux__ */
+ END OBJ(addr, &update_net_stats)
+ parse_net_stat_arg(obj, arg, free_at_crash);
-+ END OBJ(addrs, &update_net_stats)
-+ parse_net_stat_arg(obj, arg, free_at_crash);
-+#endif /* __linux__ */
END
/* we have four different types of top (top, top_mem, top_time and top_io). To
* avoid having almost-same code four times, we have this special
-@@ -552,12 +556,8 @@
- if (!parse_top_args(s, arg, obj)) {
- return NULL;
- }
-- } else OBJ(addr, &update_net_stats)
-- parse_net_stat_arg(obj, arg, free_at_crash);
-- END OBJ(addrs, &update_net_stats)
-- parse_net_stat_arg(obj, arg, free_at_crash);
--#endif /* __linux__ */
-- END OBJ_ARG(tail, 0, "tail needs arguments")
-+ } else
-+ OBJ_ARG(tail, 0, "tail needs arguments")
- init_tailhead("tail", arg, obj, free_at_crash);
- END OBJ_ARG(head, 0, "head needs arguments")
- init_tailhead("head", arg, obj, free_at_crash);
-@@ -657,6 +657,7 @@
- obj->sub = malloc(sizeof(struct text_object));
- extract_variable_text_internal(obj->sub, arg);
- END OBJ(nodename, 0)
-+ END OBJ(nodename_short, 0)
- END OBJ_ARG(cmdline_to_pid, 0, "cmdline_to_pid needs a command line as argument")
- scan_cmdline_to_pid_arg(obj, arg, free_at_crash);
- END OBJ_ARG(pid_chroot, 0, "pid_chroot needs a pid as argument")
-@@ -786,9 +787,9 @@
+@@ -577,7 +577,7 @@
+ obj->data.s = strndup(arg, text_buffer_size);
+ END OBJ_IF_ARG(if_mounted, 0, "if_mounted needs an argument")
+ obj->data.s = strndup(arg, text_buffer_size);
+-#ifdef __linux__
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+ END OBJ_IF_ARG(if_running, &update_top, "if_running needs an argument")
+ top_running = 1;
+ obj->data.s = strndup(arg, text_buffer_size);
+@@ -787,9 +787,9 @@
obj->sub = malloc(sizeof(struct text_object));
extract_variable_text_internal(obj->sub, arg);
END OBJ(processes, &update_total_processes)
--#ifdef __linux__
++#ifdef __linux__
END OBJ(running_processes, &update_top)
top_running = 1;
-+#ifdef __linux__
+-#ifdef __linux__
END OBJ(threads, &update_threads)
END OBJ(running_threads, &update_stat)
#else
-@@ -966,8 +967,10 @@
+@@ -967,8 +967,10 @@
END OBJ(xmms2_size, &update_xmms2)
END OBJ(xmms2_status, &update_xmms2)
END OBJ(xmms2_percent, &update_xmms2)
@@ -103,7 +45,7 @@
END OBJ(xmms2_smart, &update_xmms2)
END OBJ(xmms2_playlist, &update_xmms2)
END OBJ(xmms2_timesplayed, &update_xmms2)
-@@ -993,9 +996,11 @@
+@@ -994,9 +996,11 @@
END OBJ(audacious_playlist_length, &update_audacious)
END OBJ(audacious_playlist_position, &update_audacious)
END OBJ(audacious_main_volume, &update_audacious)
@@ -115,12 +57,3 @@
#ifdef BMPX
END OBJ(bmpx_title, &update_bmpx)
memset(&(info.bmpx), 0, sizeof(struct bmpx_s));
-@@ -1327,7 +1332,7 @@
- strfold(p, 1);
- } else if (*p == '#') {
- char c;
-- if (remove_comment(p, &c) && p > orig_p && c == '\n') {
-+ if (remove_comment(p, &c) && p >= orig_p && c == '\n') {
- /* if remove_comment removed a newline, we need to 'back up' with p */
- p--;
- }
diff --git a/sysutils/conky/files/patch-src-diskio.c b/sysutils/conky/files/patch-src-diskio.c
deleted file mode 100644
index 6623c8f14fe4..000000000000
--- a/sysutils/conky/files/patch-src-diskio.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/diskio.c.orig
-+++ src/diskio.c
-@@ -76,12 +76,6 @@ struct diskio_stat *prepare_diskio_stat(const char *s)
- if (!s)
- return &stats;
-
--#if defined(__FreeBSD__)
-- if (strncmp(s, "/dev/", 5) == 0) {
-- // supplied a /dev/device arg, so cut off the /dev part
-- strncpy(device_name, s + 5, text_buffer_size);
-- } else
--#endif
- strncpy(device_name, s, text_buffer_size);
-
- snprintf(stat_name, text_buffer_size, "/dev/%s", device_name);
diff --git a/sysutils/conky/files/patch-src-diskio.h b/sysutils/conky/files/patch-src-diskio.h
deleted file mode 100644
index de61ed550fa4..000000000000
--- a/sysutils/conky/files/patch-src-diskio.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/diskio.h.orig
-+++ src/diskio.h
-@@ -47,7 +47,7 @@ struct diskio_stat {
- extern struct diskio_stat stats;
-
- struct diskio_stat *prepare_diskio_stat(const char *);
--void update_diskio(void);
-+int update_diskio(void);
- void clear_diskio_stats(void);
- void update_diskio_values(struct diskio_stat *, unsigned int, unsigned int);
-
diff --git a/sysutils/conky/files/patch-src-entropy.c b/sysutils/conky/files/patch-src-entropy.c
deleted file mode 100644
index bc3b15c8ecbd..000000000000
--- a/sysutils/conky/files/patch-src-entropy.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/entropy.c.orig
-+++ src/entropy.c
-@@ -49,10 +49,11 @@ static struct {
- .poolsize = 0,
- };
-
--void update_entropy(void)
-+int update_entropy(void)
- {
- get_entropy_avail(&entropy.avail);
- get_entropy_poolsize(&entropy.poolsize);
-+ return 0;
- }
-
- void print_entropy_avail(struct text_object *obj, char *p, int p_max_size)
diff --git a/sysutils/conky/files/patch-src-entropy.h b/sysutils/conky/files/patch-src-entropy.h
deleted file mode 100644
index 9559e87d9a2d..000000000000
--- a/sysutils/conky/files/patch-src-entropy.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/entropy.h.orig
-+++ src/entropy.h
-@@ -31,7 +31,7 @@
- #ifndef _ENTROPY_H
- #define _ENTROPY_H
-
--void update_entropy(void);
-+int update_entropy(void);
-
- void print_entropy_avail(struct text_object *, char *, int);
- void print_entropy_perc(struct text_object *, char *, int);
diff --git a/sysutils/conky/files/patch-src-exec.c b/sysutils/conky/files/patch-src-exec.c
deleted file mode 100644
index e5a9618666d8..000000000000
--- a/sysutils/conky/files/patch-src-exec.c
+++ /dev/null
@@ -1,129 +0,0 @@
---- src/exec.c.orig
-+++ src/exec.c
-@@ -140,7 +140,8 @@ static inline double get_barnum(char *buf)
- return barnum;
- }
-
--static inline void read_exec(const char *data, char *buf, const int size)
-+static inline void read_exec(const char *data, char *buf, const int size, const
-+ char use_alarm)
- {
- FILE *fp;
-
-@@ -149,7 +150,7 @@ static inline void read_exec(const char *data, char *buf, const int size)
- if (!data)
- return;
-
-- alarm(update_interval);
-+ if (use_alarm) alarm(update_interval);
- fp = pid_popen(data, "r", &childpid);
- if(fp) {
- int length;
-@@ -163,7 +164,7 @@ static inline void read_exec(const char *data, char *buf, const int size)
- } else {
- buf[0] = '\0';
- }
-- alarm(0);
-+ if (use_alarm) alarm(0);
- }
-
- static void *threaded_exec(void *) __attribute__((noreturn));
-@@ -176,7 +177,7 @@ static void *threaded_exec(void *arg)
-
- while (1) {
- buff = malloc(text_buffer_size);
-- read_exec(ed->cmd, buff, text_buffer_size);
-+ read_exec(ed->cmd, buff, text_buffer_size, 0);
- p2 = buff;
- while (*p2) {
- if (*p2 == '\001') {
-@@ -216,7 +217,7 @@ void scan_pre_exec_arg(struct text_object *obj, const char *arg)
- char buf[2048];
-
- obj->type = OBJ_text;
-- read_exec(arg, buf, sizeof(buf));
-+ read_exec(arg, buf, sizeof(buf), 1);
- obj->data.s = strndup(buf, text_buffer_size);
- }
-
-@@ -258,7 +259,7 @@ void scan_execgraph_arg(struct text_object *obj, const char *arg)
-
- void print_exec(struct text_object *obj, char *p, int p_max_size)
- {
-- read_exec(obj->data.s, p, p_max_size);
-+ read_exec(obj->data.s, p, p_max_size, 1);
- remove_deleted_chars(p);
- }
-
-@@ -271,7 +272,7 @@ void print_execp(struct text_object *obj, char *p, int p_max_size)
- buf = malloc(text_buffer_size);
- memset(buf, 0, text_buffer_size);
-
-- read_exec(obj->data.s, buf, text_buffer_size);
-+ read_exec(obj->data.s, buf, text_buffer_size, 1);
-
- tmp_info = malloc(sizeof(struct information));
- memcpy(tmp_info, &info, sizeof(struct information));
-@@ -292,7 +293,7 @@ void print_execi(struct text_object *obj, char *p, int p_max_size)
- if (time_to_update(ed)) {
- if (!ed->buffer)
- ed->buffer = malloc(text_buffer_size);
-- read_exec(ed->cmd, ed->buffer, text_buffer_size);
-+ read_exec(ed->cmd, ed->buffer, text_buffer_size, 1);
- ed->last_update = current_update_time;
- }
- snprintf(p, p_max_size, "%s", ed->buffer);
-@@ -365,7 +366,7 @@ void print_execgauge(struct text_object *obj, char *p, int p_max_size)
- {
- double barnum;
-
-- read_exec(obj->data.s, p, p_max_size);
-+ read_exec(obj->data.s, p, p_max_size, 1);
- barnum = get_barnum(p); /*using the same function*/
-
- if (barnum >= 0.0) {
-@@ -383,7 +384,7 @@ void print_execgraph(struct text_object *obj, char *p, int p_max_size)
- if (!ed)
- return;
-
-- read_exec(ed->cmd, p, p_max_size);
-+ read_exec(ed->cmd, p, p_max_size, 1);
- barnum = get_barnum(p);
-
- if (barnum > 0) {
-@@ -401,7 +402,7 @@ void print_execigraph(struct text_object *obj, char *p, int p_max_size)
- if (time_to_update(ed)) {
- double barnum;
-
-- read_exec(ed->cmd, p, p_max_size);
-+ read_exec(ed->cmd, p, p_max_size, 1);
- barnum = get_barnum(p);
-
- if (barnum >= 0.0) {
-@@ -423,7 +424,7 @@ void print_execigauge(struct text_object *obj, char *p, int p_max_size)
- if (time_to_update(ed)) {
- double barnum;
-
-- read_exec(ed->cmd, p, p_max_size);
-+ read_exec(ed->cmd, p, p_max_size, 1);
- barnum = get_barnum(p);
-
- if (barnum >= 0.0) {
-@@ -437,7 +438,7 @@ void print_execigauge(struct text_object *obj, char *p, int p_max_size)
- void print_execbar(struct text_object *obj, char *p, int p_max_size)
- {
- double barnum;
-- read_exec(obj->data.s, p, p_max_size);
-+ read_exec(obj->data.s, p, p_max_size, 1);
- barnum = get_barnum(p);
-
- if (barnum >= 0.0) {
-@@ -455,7 +456,7 @@ void print_execibar(struct text_object *obj, char *p, int p_max_size)
- return;
-
- if (time_to_update(ed)) {
-- read_exec(ed->cmd, p, p_max_size);
-+ read_exec(ed->cmd, p, p_max_size, 1);
- barnum = get_barnum(p);
-
- if (barnum >= 0.0) {
diff --git a/sysutils/conky/files/patch-src-freebsd.c b/sysutils/conky/files/patch-src-freebsd.c
deleted file mode 100644
index 7146ad9dc658..000000000000
--- a/sysutils/conky/files/patch-src-freebsd.c
+++ /dev/null
@@ -1,371 +0,0 @@
---- src/freebsd.c.orig
-+++ src/freebsd.c
-@@ -67,7 +67,7 @@
- #endif
-
- __attribute__((gnu_inline)) inline void
--proc_find_top(struct process **cpu, struct process **mem);
-+proc_find_top(struct process **cpu, struct process **mem, struct process **time);
-
- static short cpu_setup = 0;
-
-@@ -118,7 +118,7 @@ void prepare_update(void)
- {
- }
-
--void update_uptime(void)
-+int update_uptime(void)
- {
- int mib[2] = { CTL_KERN, KERN_BOOTTIME };
- struct timeval boottime;
-@@ -133,6 +133,8 @@ void update_uptime(void)
- fprintf(stderr, "Could not get uptime\n");
- info.uptime = 0;
- }
-+
-+ return 0;
- }
-
- int check_mount(char *s)
-@@ -150,7 +152,7 @@ int check_mount(char *s)
- return 0;
- }
-
--void update_meminfo(void)
-+int update_meminfo(void)
- {
- u_int total_pages, inactive_pages, free_pages;
- unsigned long swap_avail, swap_free;
-@@ -182,9 +184,11 @@ void update_meminfo(void)
- info.swap = 0;
- info.swapfree = 0;
- }
-+
-+ return 0;
- }
-
--void update_net_stats(void)
-+int update_net_stats(void)
- {
- struct net_stat *ns;
- double delta;
-@@ -195,11 +199,11 @@ void update_net_stats(void)
- /* get delta */
- delta = current_update_time - last_update_time;
- if (delta <= 0.0001) {
-- return;
-+ return 0;
- }
-
- if (getifaddrs(&ifap) < 0) {
-- return;
-+ return 0;
- }
-
- for (ifa = ifap; ifa; ifa = ifa->ifa_next) {
-@@ -255,18 +259,20 @@ void update_net_stats(void)
- }
-
- freeifaddrs(ifap);
-+ return 0;
- }
-
--void update_total_processes(void)
-+int update_total_processes(void)
- {
- int n_processes;
-
- kvm_getprocs(kd, KERN_PROC_ALL, 0, &n_processes);
-
- info.procs = n_processes;
-+ return 0;
- }
-
--void update_running_processes(void)
-+int update_running_processes(void)
- {
- struct kinfo_proc *p;
- int n_processes;
-@@ -284,42 +290,41 @@ void update_running_processes(void)
- }
-
- info.run_procs = cnt;
-+ return 0;
- }
-
--struct cpu_load_struct {
-- unsigned long load[5];
--};
--
--struct cpu_load_struct fresh = { {0, 0, 0, 0, 0} };
--long cpu_used, oldtotal, oldused;
--
- void get_cpu_count(void)
- {
-- /* int cpu_count = 0; */
-+ int cpu_count = 0;
-+ size_t cpu_count_len = sizeof(cpu_count);
-
-- /* XXX: FreeBSD doesn't allow to get per CPU load stats on SMP machines.
-- * It's possible to get a CPU count, but as we fulfill only
-- * info.cpu_usage[0], it's better to report there's only one CPU.
-- * It should fix some bugs (e.g. cpugraph) */
--#if 0
- if (GETSYSCTL("hw.ncpu", cpu_count) == 0) {
- info.cpu_count = cpu_count;
-+ } else {
-+ fprintf(stderr, "Cannot get hw.ncpu\n");
-+ info.cpu_count = 0;
- }
--#endif
-- info.cpu_count = 1;
-
-- info.cpu_usage = malloc(info.cpu_count * sizeof(float));
-+ info.cpu_usage = malloc((info.cpu_count + 1) * sizeof(float));
- if (info.cpu_usage == NULL) {
- CRIT_ERR(NULL, NULL, "malloc");
- }
- }
-
--/* XXX: SMP support */
--void update_cpu_usage(void)
-+struct cpu_info {
-+ long oldtotal;
-+ long oldused;
-+};
-+
-+int update_cpu_usage(void)
- {
-+ int i, j = 0;
- long used, total;
-- long cp_time[CPUSTATES];
-- size_t cp_len = sizeof(cp_time);
-+ long *cp_time = NULL;
-+ size_t cp_len;
-+ static struct cpu_info *cpu = NULL;
-+ unsigned int malloc_cpu_size = 0;
-+ extern void* global_cpu;
-
- /* add check for !info.cpu_usage since that mem is freed on a SIGUSR1 */
- if ((cpu_setup == 0) || (!info.cpu_usage)) {
-@@ -327,31 +332,72 @@ void update_cpu_usage(void)
- cpu_setup = 1;
- }
-
-- if (sysctlbyname("kern.cp_time", &cp_time, &cp_len, NULL, 0) < 0) {
-- fprintf(stderr, "Cannot get kern.cp_time");
-+ if (!global_cpu) {
-+ malloc_cpu_size = (info.cpu_count + 1) * sizeof(struct cpu_info);
-+ cpu = malloc(malloc_cpu_size);
-+ memset(cpu, 0, malloc_cpu_size);
-+ global_cpu = cpu;
- }
-
-- fresh.load[0] = cp_time[CP_USER];
-- fresh.load[1] = cp_time[CP_NICE];
-- fresh.load[2] = cp_time[CP_SYS];
-- fresh.load[3] = cp_time[CP_IDLE];
-- fresh.load[4] = cp_time[CP_IDLE];
-+ /* cpu[0] is overall stats, get it from separate sysctl */
-+ cp_len = CPUSTATES * sizeof(long);
-+ cp_time = malloc(cp_len);
-
-- used = fresh.load[0] + fresh.load[1] + fresh.load[2];
-- total = fresh.load[0] + fresh.load[1] + fresh.load[2] + fresh.load[3];
-+ if (sysctlbyname("kern.cp_time", cp_time, &cp_len, NULL, 0) < 0) {
-+ fprintf(stderr, "Cannot get kern.cp_time\n");
-+ }
-+
-+ total = 0;
-+ for (j = 0; j < CPUSTATES; j++)
-+ total += cp_time[j];
-
-- if ((total - oldtotal) != 0) {
-- info.cpu_usage[0] = ((double) (used - oldused)) /
-- (double) (total - oldtotal);
-+ used = total - cp_time[CP_IDLE];
-+
-+ if ((total - cpu[0].oldtotal) != 0) {
-+ info.cpu_usage[0] = ((double) (used - cpu[0].oldused)) /
-+ (double) (total - cpu[0].oldtotal);
- } else {
- info.cpu_usage[0] = 0;
- }
-
-- oldused = used;
-- oldtotal = total;
-+ cpu[0].oldused = used;
-+ cpu[0].oldtotal = total;
-+
-+ free(cp_time);
-+
-+ /* per-core stats */
-+ cp_len = CPUSTATES * sizeof(long) * info.cpu_count;
-+ cp_time = malloc(cp_len);
-+
-+ /* on e.g. i386 SMP we may have more values than actual cpus; this will just drop extra values */
-+ if (sysctlbyname("kern.cp_times", cp_time, &cp_len, NULL, 0) < 0 && errno != ENOMEM) {
-+ fprintf(stderr, "Cannot get kern.cp_times\n");
-+ }
-+
-+ for (i = 0; i < info.cpu_count; i++)
-+ {
-+ total = 0;
-+ for (j = 0; j < CPUSTATES; j++)
-+ total += cp_time[i*CPUSTATES + j];
-+
-+ used = total - cp_time[i*CPUSTATES + CP_IDLE];
-+
-+ if ((total - cpu[i+1].oldtotal) != 0) {
-+ info.cpu_usage[i+1] = ((double) (used - cpu[i+1].oldused)) /
-+ (double) (total - cpu[i+1].oldtotal);
-+ } else {
-+ info.cpu_usage[i+1] = 0;
-+ }
-+
-+ cpu[i+1].oldused = used;
-+ cpu[i+1].oldtotal = total;
-+ }
-+
-+ free(cp_time);
-+ return 0;
- }
-
--void update_load_average(void)
-+int update_load_average(void)
- {
- double v[3];
-
-@@ -360,6 +406,8 @@ void update_load_average(void)
- info.loadavg[0] = (double) v[0];
- info.loadavg[1] = (double) v[1];
- info.loadavg[2] = (double) v[2];
-+
-+ return 0;
- }
-
- double get_acpi_temperature(int fd)
-@@ -540,9 +588,10 @@ char get_freq(char *p_client_buffer, size_t client_buffer_size, const char *p_fo
- return 1;
- }
-
--void update_top(void)
-+int update_top(void)
- {
-- proc_find_top(info.cpu, info.memu);
-+ proc_find_top(info.cpu, info.memu, info.time);
-+ return 0;
- }
-
- #if 0
-@@ -600,7 +649,7 @@ cleanup:
- }
- #endif
-
--void update_diskio(void)
-+int update_diskio(void)
- {
- int devs_count, num_selected, num_selections, dn;
- struct device_selection *dev_select = NULL;
-@@ -618,7 +667,7 @@ void update_diskio(void)
-
- if (devstat_getdevs(NULL, &statinfo_cur) < 0) {
- free(statinfo_cur.dinfo);
-- return;
-+ return 0;
- }
-
- devs_count = statinfo_cur.dinfo->numdevs;
-@@ -650,6 +699,7 @@ void update_diskio(void)
- }
-
- free(statinfo_cur.dinfo);
-+ return 0;
- }
-
- /* While topless is obviously better, top is also not bad. */
-@@ -676,8 +726,15 @@ int comparemem(const void *a, const void *b)
- }
- }
-
-+int comparetime(const void *va, const void *vb)
-+{
-+ struct process *a = (struct process *)va, *b = (struct process *)vb;
-+
-+ return b->total_cpu_time - a->total_cpu_time;
-+}
-+
- __attribute__((gnu_inline)) inline void
--proc_find_top(struct process **cpu, struct process **mem)
-+proc_find_top(struct process **cpu, struct process **mem, struct process **time)
- {
- struct kinfo_proc *p;
- int n_processes;
-@@ -701,6 +758,9 @@ proc_find_top(struct process **cpu, struct process **mem)
- processes[j].amount = 100.0 * p[i].ki_pctcpu / FSCALE;
- processes[j].vsize = p[i].ki_size;
- processes[j].rss = (p[i].ki_rssize * getpagesize());
-+ /* ki_runtime is in microseconds, total_cpu_time in centiseconds.
-+ * Therefore we divide by 10000. */
-+ processes[j].total_cpu_time = p[i].ki_runtime / 10000;
- j++;
- }
- }
-@@ -710,11 +770,8 @@ proc_find_top(struct process **cpu, struct process **mem)
- struct process *tmp, *ttmp;
-
- tmp = malloc(sizeof(struct process));
-- tmp->pid = processes[i].pid;
-- tmp->amount = processes[i].amount;
-+ memcpy(tmp, &processes[i], sizeof(struct process));
- tmp->name = strndup(processes[i].name, text_buffer_size);
-- tmp->rss = processes[i].rss;
-- tmp->vsize = processes[i].vsize;
-
- ttmp = mem[i];
- mem[i] = tmp;
-@@ -729,11 +786,8 @@ proc_find_top(struct process **cpu, struct process **mem)
- struct process *tmp, *ttmp;
-
- tmp = malloc(sizeof(struct process));
-- tmp->pid = processes[i].pid;
-- tmp->amount = processes[i].amount;
-+ memcpy(tmp, &processes[i], sizeof(struct process));
- tmp->name = strndup(processes[i].name, text_buffer_size);
-- tmp->rss = processes[i].rss;
-- tmp->vsize = processes[i].vsize;
-
- ttmp = cpu[i];
- cpu[i] = tmp;
-@@ -743,6 +797,22 @@ proc_find_top(struct process **cpu, struct process **mem)
- }
- }
-
-+ qsort(processes, j - 1, sizeof(struct process), comparetime);
-+ for (i = 0; i < 10 && i < n_processes; i++) {
-+ struct process *tmp, *ttmp;
-+
-+ tmp = malloc(sizeof(struct process));
-+ memcpy(tmp, &processes[i], sizeof(struct process));
-+ tmp->name = strndup(processes[i].name, text_buffer_size);
-+
-+ ttmp = time[i];
-+ time[i] = tmp;
-+ if (ttmp != NULL) {
-+ free(ttmp->name);
-+ free(ttmp);
-+ }
-+ }
-+
- #if defined(FREEBSD_DEBUG)
- printf("=====\nmem\n");
- for (i = 0; i < 10; i++) {
-@@ -916,8 +986,3 @@ int get_entropy_poolsize(unsigned int *val)
- (void)val;
- return 1;
- }
--
--/* empty stub so conky links */
--void free_all_processes(void)
--{
--}
diff --git a/sysutils/conky/files/patch-src-fs.c b/sysutils/conky/files/patch-src-fs.c
deleted file mode 100644
index 44ef2eb1ca51..000000000000
--- a/sysutils/conky/files/patch-src-fs.c
+++ /dev/null
@@ -1,26 +0,0 @@
---- src/fs.c.orig
-+++ src/fs.c
-@@ -65,13 +65,13 @@ static void update_fs_stat(struct fs_stat *fs);
-
- void get_fs_type(const char *path, char *result);
-
--void update_fs_stats(void)
-+int update_fs_stats(void)
- {
- unsigned i;
- static double last_fs_update = 0.0;
-
- if (current_update_time - last_fs_update < 13)
-- return;
-+ return 0;
-
- for (i = 0; i < MAX_FS_STATS; ++i) {
- if (fs_stats[i].set) {
-@@ -79,6 +79,7 @@ void update_fs_stats(void)
- }
- }
- last_fs_update = current_update_time;
-+ return 0;
- }
-
- void clear_fs_stats(void)
diff --git a/sysutils/conky/files/patch-src-fs.h b/sysutils/conky/files/patch-src-fs.h
deleted file mode 100644
index 41e103eaaf5c..000000000000
--- a/sysutils/conky/files/patch-src-fs.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/fs.h.orig
-+++ src/fs.h
-@@ -28,7 +28,7 @@ void print_fs_size(struct text_object *, char *, int);
- void print_fs_used(struct text_object *, char *, int);
- void print_fs_type(struct text_object *, char *, int);
-
--void update_fs_stats(void);
-+int update_fs_stats(void);
- struct fs_stat *prepare_fs_stat(const char *path);
- void clear_fs_stats(void);
-
diff --git a/sysutils/conky/files/patch-src-i8k.c b/sysutils/conky/files/patch-src-i8k.c
deleted file mode 100644
index 951310af7252..000000000000
--- a/sysutils/conky/files/patch-src-i8k.c
+++ /dev/null
@@ -1,34 +0,0 @@
---- src/i8k.c.orig
-+++ src/i8k.c
-@@ -53,7 +53,7 @@ struct {
- #define PROC_I8K "/proc/i8k"
- #define I8K_DELIM " "
- static char *i8k_procbuf = NULL;
--void update_i8k(void)
-+int update_i8k(void)
- {
- FILE *fp;
-
-@@ -61,8 +61,13 @@ void update_i8k(void)
- i8k_procbuf = (char *) malloc(128 * sizeof(char));
- }
- if ((fp = fopen(PROC_I8K, "r")) == NULL) {
-- CRIT_ERR(NULL, NULL, "/proc/i8k doesn't exist! use insmod to make sure the kernel "
-+ free(i8k_procbuf);
-+ i8k_procbuf = NULL;
-+ NORM_ERR("/proc/i8k doesn't exist! use insmod to make sure the kernel "
- "driver is loaded...");
-+ clean_up_without_threads(NULL, NULL);
-+ free(current_mail_spool);
-+ return 1;
- }
-
- memset(&i8k_procbuf[0], 0, 128);
-@@ -82,6 +87,7 @@ void update_i8k(void)
- i8k.right_fan_rpm = strtok(NULL, I8K_DELIM);
- i8k.ac_status = strtok(NULL, I8K_DELIM);
- i8k.buttons_status = strtok(NULL, I8K_DELIM);
-+ return 0;
- }
-
- static const char *fan_status_to_string(int status)
diff --git a/sysutils/conky/files/patch-src-i8k.h b/sysutils/conky/files/patch-src-i8k.h
deleted file mode 100644
index 45be71a8ccaf..000000000000
--- a/sysutils/conky/files/patch-src-i8k.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/i8k.h.orig
-+++ src/i8k.h
-@@ -32,7 +32,7 @@
- #ifndef _I8K_H
- #define _I8K_H
-
--void update_i8k(void);
-+int update_i8k(void);
- void print_i8k_left_fan_status(struct text_object *, char *, int);
- void print_i8k_cpu_temp(struct text_object *, char *, int);
- void print_i8k_right_fan_status(struct text_object *, char *, int);
diff --git a/sysutils/conky/files/patch-src-logging.h b/sysutils/conky/files/patch-src-logging.h
deleted file mode 100644
index 39e1a748d6b4..000000000000
--- a/sysutils/conky/files/patch-src-logging.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/logging.h.orig
-+++ src/logging.h
-@@ -30,6 +30,7 @@
- #include "mail.h"
-
- void clean_up(void *memtofree1, void* memtofree2);
-+void clean_up_without_threads(void *memtofree1, void* memtofree2);
-
- #ifndef _LOGGING_H
- #define _LOGGING_H
-@@ -44,6 +45,9 @@ void clean_up(void *memtofree1, void* memtofree2);
- #define CRIT_ERR(memtofree1, memtofree2, ...) \
- { NORM_ERR(__VA_ARGS__); clean_up(memtofree1, memtofree2); free(current_mail_spool); exit(EXIT_FAILURE); }
-
-+#define THREAD_CRIT_ERR(memtofree1, memtofree2, ...) \
-+ { NORM_ERR(__VA_ARGS__); clean_up_without_threads(memtofree1, memtofree2); free(current_mail_spool); return; }
-+
- /* debugging output */
- extern int global_debug_level;
- #define __DBGP(level, ...) \
diff --git a/sysutils/conky/files/patch-src-mail.c b/sysutils/conky/files/patch-src-mail.c
deleted file mode 100644
index ac0b652beeb3..000000000000
--- a/sysutils/conky/files/patch-src-mail.c
+++ /dev/null
@@ -1,46 +0,0 @@
---- src/mail.c.orig
-+++ src/mail.c
-@@ -61,6 +61,8 @@
- #define POP3_TYPE 1
- #define IMAP_TYPE 2
-
-+#define MAXFOLDERSIZE 128
-+
- struct mail_s { // for imap and pop3
- unsigned long unseen;
- unsigned long messages;
-@@ -74,7 +76,7 @@ struct mail_s { // for imap and pop3
- char user[128];
- char pass[128];
- char command[1024];
-- char folder[128];
-+ char folder[MAXFOLDERSIZE];
- timed_thread *p_timed_thread;
- char secure;
- };
-@@ -465,17 +467,20 @@ struct mail_s *parse_mail_args(char type, const char *arg)
- if (type == IMAP_TYPE) {
- tmp = strstr(arg, "-f ");
- if (tmp) {
-- int len = 1024;
-+ int len = MAXFOLDERSIZE-1;
- tmp += 3;
- if (tmp[0] == '\'') {
- len = strstr(tmp + 1, "'") - tmp - 1;
-- if (len > 1024) {
-- len = 1024;
-+ if (len > MAXFOLDERSIZE-1) {
-+ len = MAXFOLDERSIZE-1;
- }
-+ tmp++;
- }
-- strncpy(mail->folder, tmp + 1, len);
-+ strncpy(mail->folder, tmp, len);
-+ mail->folder[len-1] = 0;
- } else {
-- strncpy(mail->folder, "INBOX", 128); // default imap inbox
-+ strncpy(mail->folder, "INBOX", MAXFOLDERSIZE-1); // default imap inbox
-+ mail->folder[MAXFOLDERSIZE-1] = 0;
- }
- }
- tmp = strstr(arg, "-e ");
diff --git a/sysutils/conky/files/patch-src-mixer.c b/sysutils/conky/files/patch-src-mixer.c
deleted file mode 100644
index a343b5b654c9..000000000000
--- a/sysutils/conky/files/patch-src-mixer.c
+++ /dev/null
@@ -1,196 +0,0 @@
---- src/mixer.c.orig
-+++ src/mixer.c
-@@ -38,9 +38,6 @@
- #include <ctype.h>
-
-
--#ifdef MIXER_IS_ALSA
--#include <alsa/asoundlib.h>
--#else
- #ifdef HAVE_LINUX_SOUNDCARD_H
- #include <linux/soundcard.h>
- #else
-@@ -50,173 +47,12 @@
- #include <sys/soundcard.h>
- #endif /* __OpenBSD__ */
- #endif /* HAVE_LINUX_SOUNDCARD_H */
--#endif /* MIXER_IS_ALSA */
-
- #define MIXER_DEV "/dev/mixer"
-
--#ifdef MIXER_IS_ALSA
--#define MAX_MIXERS 8
--struct mixer_control {
-- char name[64];
-- snd_mixer_t *mixer;
-- snd_mixer_selem_id_t *sid;
-- snd_mixer_elem_t *elem;
-- long vol_min, vol_max;
--};
--
--static struct mixer_control mixer_data[MAX_MIXERS];
--int num_mixers = 0;
--static char soundcard[64] = "default";
--#else
- static int mixer_fd;
- static const char *devs[] = SOUND_DEVICE_NAMES;
--#endif
--
--#ifdef MIXER_IS_ALSA
--static int parse_simple_id(const char *str, snd_mixer_selem_id_t *sid)
--{
-- int c, size;
-- char buf[128];
-- char *ptr = buf;
--
-- while (*str == ' ' || *str == '\t')
-- str++;
-- if (!(*str))
-- return -EINVAL;
-- size = 1; /* for '\0' */
-- if (*str != '"' && *str != '\'') {
-- while (*str && *str != ',') {
-- if (size < (int)sizeof(buf)) {
-- *ptr++ = *str;
-- size++;
-- }
-- str++;
-- }
-- } else {
-- c = *str++;
-- while (*str && *str != c) {
-- if (size < (int)sizeof(buf)) {
-- *ptr++ = *str;
-- size++;
-- }
-- str++;
-- }
-- if (*str == c)
-- str++;
-- }
-- if (*str == '\0') {
-- snd_mixer_selem_id_set_index(sid, 0);
-- *ptr = 0;
-- goto _set;
-- }
-- if (*str != ',')
-- return -EINVAL;
-- *ptr = 0; /* terminate the string */
-- str++;
-- if (!isdigit(*str))
-- return -EINVAL;
-- snd_mixer_selem_id_set_index(sid, atoi(str));
-- _set:
-- snd_mixer_selem_id_set_name(sid, buf);
-- return 0;
--}
--
--int mixer_init (const char *name)
--{
-- /* from amixer.c, replaced -EINVAL with -1 */
-- int i, err;
-- if (!name)
-- name = "Master";
--
-- for (i = 0; i < num_mixers; i++) {
-- if (!strcasecmp (mixer_data[i].name, name)) {
-- return i;
-- }
-- }
-- if (i == MAX_MIXERS) {
-- fprintf (stderr, "max mixers (%d) reached\n", MAX_MIXERS);
-- return -1;
-- };
--
-- num_mixers++;
--#define data mixer_data[i]
--
-- strncpy (mixer_data[i].name, name, 63);
-- mixer_data[i].name[63] = '\0';
-- snd_mixer_selem_id_alloca (&data.sid);
-- data.mixer = NULL;
-- if (parse_simple_id (name, data.sid) < 0) {
-- fprintf (stderr, "Wrong mixer identifier: %s\n", name);
-- return -1;
-- }
-- if ((err = snd_mixer_open (&data.mixer, 0)) < 0) {
-- fprintf (stderr, "snd_mixer_open: %s\n", snd_strerror (err));
-- return -1;
-- }
-- if ((err = snd_mixer_attach (data.mixer, soundcard)) < 0) {
-- fprintf (stderr, "snd_mixer_attach: %s\n", snd_strerror (err));
-- return -1;
-- }
-- if ((err = snd_mixer_selem_register (data.mixer, NULL, NULL)) < 0) {
-- fprintf (stderr, "snd_mixer_selem_register: %s\n",
-- snd_strerror (err));
-- return -1;
-- }
-- if ((err = snd_mixer_load (data.mixer)) < 0) {
-- fprintf (stderr, "snd_mixer_load: %s\n", snd_strerror (err));
-- return -1;
-- }
-- if (!(data.elem = snd_mixer_find_selem (data.mixer, data.sid))) {
-- fprintf (stderr, "snd_mixer_find_selem (\"%s\", %i)\n",
-- snd_mixer_selem_id_get_name (data.sid),
-- snd_mixer_selem_id_get_index (data.sid));
-- return -1;
-- }
-- snd_mixer_selem_get_playback_volume_range(data.elem, &data.vol_min, &data.vol_max);
-- return i;
--}
--static int mixer_get_avg (int i)
--{
-- long val;
--
-- snd_mixer_handle_events (data.mixer);
-- snd_mixer_selem_get_playback_volume (data.elem, 0, &val);
-- if(data.vol_max != 100) {
-- float avgf = ((float)val / data.vol_max) * 100;
-- int avg = (int)avgf;
-- return (avgf - avg < 0.5) ? avg : avg + 1;
-- }
-- return (int) val;
--}
--static int mixer_get_left (int i)
--{
-- /* stub */
-- return mixer_get_avg (i);
--}
--static int mixer_get_right (int i)
--{
-- /* stub */
-- return mixer_get_avg (i);
--}
--int mixer_to_255(int i, int x)
--{
-- return (x-data.vol_min)*255/(data.vol_max-data.vol_min);
--}
--int mixer_is_mute(int i)
--{
-- snd_mixer_handle_events (data.mixer);
-- if (snd_mixer_selem_has_playback_switch (data.elem)) {
-- int val, err;
-- if ((err = snd_mixer_selem_get_playback_switch(data.elem, 0, &val)) < 0)
-- fprintf (stderr, "playback_switch: %s\n", snd_strerror (err));
-- return !val;
-- } else {
-- return !mixer_get_avg(i);
-- }
--}
--#undef data
-
--#else /* MIXER_IS_ALSA */
- int mixer_init(const char *name)
- {
- unsigned int i;
-@@ -281,8 +117,7 @@ int mixer_is_mute(int i)
- return !mixer_get(i);
- }
-
--#define mixer_to_255(i, x) x
--#endif /* MIXER_IS_ALSA */
-+#define mixer_to_255(i, x) x * 2.55
-
- void parse_mixer_arg(struct text_object *obj, const char *arg)
- {
diff --git a/sysutils/conky/files/patch-src-moc.c b/sysutils/conky/files/patch-src-moc.c
deleted file mode 100644
index a5e23555ca72..000000000000
--- a/sysutils/conky/files/patch-src-moc.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/moc.c.orig
-+++ src/moc.c
-@@ -133,7 +133,8 @@ static int run_moc_thread(double interval)
- return 0;
- }
-
--void update_moc(void)
-+int update_moc(void)
- {
- run_moc_thread(info.music_player_interval * 100000);
-+ return 0;
- }
diff --git a/sysutils/conky/files/patch-src-moc.h b/sysutils/conky/files/patch-src-moc.h
deleted file mode 100644
index a3e7d2fc8dda..000000000000
--- a/sysutils/conky/files/patch-src-moc.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/moc.h.orig
-+++ src/moc.h
-@@ -40,7 +40,7 @@ struct moc_s {
- };
- extern struct moc_s moc;
-
--void update_moc(void);
-+int update_moc(void);
- void free_moc(void);
-
- #endif /* MOC_H_ */
diff --git a/sysutils/conky/files/patch-src-mpd.c b/sysutils/conky/files/patch-src-mpd.c
deleted file mode 100644
index 725de2ee78bb..000000000000
--- a/sysutils/conky/files/patch-src-mpd.c
+++ /dev/null
@@ -1,30 +0,0 @@
---- src/mpd.c.orig
-+++ src/mpd.c
-@@ -113,23 +113,24 @@ void free_mpd(void)
-
- static void *update_mpd_thread(void *) __attribute__((noreturn));
-
--void update_mpd(void)
-+int update_mpd(void)
- {
- int interval;
- static timed_thread *thread = NULL;
-
- if (thread)
-- return;
-+ return 0;
-
- interval = info.music_player_interval * 1000000;
- thread = timed_thread_create(&update_mpd_thread, &thread, interval);
- if (!thread) {
- NORM_ERR("Failed to create MPD timed thread");
-- return;
-+ return 0;
- }
- timed_thread_register(thread, &thread);
- if (timed_thread_run(thread))
- NORM_ERR("Failed to run MPD timed thread");
-+ return 0;
- }
-
- /* stringMAXdup dups at most text_buffer_size bytes */
diff --git a/sysutils/conky/files/patch-src-mpd.h b/sysutils/conky/files/patch-src-mpd.h
deleted file mode 100644
index 7020649fef03..000000000000
--- a/sysutils/conky/files/patch-src-mpd.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/mpd.h.orig
-+++ src/mpd.h
-@@ -31,7 +31,7 @@ int mpd_set_port(const char *);
- void init_mpd(void);
- struct mpd_s *mpd_get_info(void);
- void free_mpd(void);
--void update_mpd(void);
-+int update_mpd(void);
-
- void print_mpd_elapsed(struct text_object *, char *, int);
- void print_mpd_length(struct text_object *, char *, int);
diff --git a/sysutils/conky/files/patch-src-net_stat.c b/sysutils/conky/files/patch-src-net_stat.c
deleted file mode 100644
index 2645df002159..000000000000
--- a/sysutils/conky/files/patch-src-net_stat.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- src/net_stat.c.orig
-+++ src/net_stat.c
-@@ -400,7 +400,7 @@ void free_dns_data(void)
- memset(&dns_data, 0, sizeof(dns_data));
- }
-
--void update_dns_data(void)
-+int update_dns_data(void)
- {
- FILE *fp;
- char line[256];
-@@ -416,7 +416,7 @@ void update_dns_data(void)
- free_dns_data();
-
- if ((fp = fopen("/etc/resolv.conf", "r")) == NULL)
-- return;
-+ return 0;
- while(!feof(fp)) {
- if (fgets(line, 255, fp) == NULL) {
- break;
-@@ -429,6 +429,7 @@ void update_dns_data(void)
- }
- }
- fclose(fp);
-+ return 0;
- }
-
- void parse_nameserver_arg(struct text_object *obj, const char *arg)
diff --git a/sysutils/conky/files/patch-src-net_stat.h b/sysutils/conky/files/patch-src-net_stat.h
deleted file mode 100644
index c57156907cc1..000000000000
--- a/sysutils/conky/files/patch-src-net_stat.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/net_stat.h.orig
-+++ src/net_stat.h
-@@ -94,7 +94,7 @@ int interface_up(struct text_object *);
- void free_if_up(struct text_object *);
-
- void free_dns_data(void);
--void update_dns_data(void);
-+int update_dns_data(void);
- void parse_nameserver_arg(struct text_object *, const char *);
- void print_nameserver(struct text_object *, char *, int);
-
diff --git a/sysutils/conky/files/patch-src-read_tcp.c b/sysutils/conky/files/patch-src-read_tcp.c
deleted file mode 100644
index f5b702ad6043..000000000000
--- a/sysutils/conky/files/patch-src-read_tcp.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/read_tcp.c.orig
-+++ src/read_tcp.c
-@@ -87,7 +87,7 @@ void print_read_tcp(struct text_object *obj, char *p, int p_max_size)
- addr.sin_family = AF_INET;
- addr.sin_port = rtd->port;
- memcpy(&addr.sin_addr, he->h_addr, he->h_length);
-- if (!connect(sock, (struct sockaddr*)&addr, sizeof(struct sockaddr))) {
-+ if (connect(sock, (struct sockaddr*)&addr, sizeof(struct sockaddr)) != 0) {
- NORM_ERR("read_tcp: Couldn't create a connection");
- return;
- }
diff --git a/sysutils/conky/files/patch-src-rss.c b/sysutils/conky/files/patch-src-rss.c
deleted file mode 100644
index ee335ef1f741..000000000000
--- a/sysutils/conky/files/patch-src-rss.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/rss.c.orig
-+++ src/rss.c
-@@ -67,7 +67,7 @@ static void rss_process_info(char *p, int p_max_size, char *uri, char *action, i
- curloc->result = malloc(sizeof(PRSS));
- memset(curloc->result, 0, sizeof(PRSS));
- curloc->process_function = &prss_parse_data;
-- ccurl_init_thread(curloc, interval);
-+ ccurl_init_thread(curloc, interval * 60);
- if (!curloc->p_timed_thread) {
- NORM_ERR("error setting up RSS thread");
- }
diff --git a/sysutils/conky/files/patch-src-tcp-portmon.c b/sysutils/conky/files/patch-src-tcp-portmon.c
deleted file mode 100644
index 44eb45831da9..000000000000
--- a/sysutils/conky/files/patch-src-tcp-portmon.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/tcp-portmon.c.orig
-+++ src/tcp-portmon.c
-@@ -139,9 +139,10 @@ int tcp_portmon_action(struct text_object *obj, char *p, int p_max_size)
- return 0;
- }
-
--void tcp_portmon_update(void)
-+int tcp_portmon_update(void)
- {
- update_tcp_port_monitor_collection(pmc);
-+ return 0;
- }
-
- int tcp_portmon_clear(void)
diff --git a/sysutils/conky/files/patch-src-tcp-portmon.h b/sysutils/conky/files/patch-src-tcp-portmon.h
deleted file mode 100644
index ead7e83e1333..000000000000
--- a/sysutils/conky/files/patch-src-tcp-portmon.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/tcp-portmon.h.orig
-+++ src/tcp-portmon.h
-@@ -40,7 +40,7 @@ struct text_object;
-
- int tcp_portmon_init(struct text_object *, const char *);
- int tcp_portmon_action(struct text_object *, char *, int);
--void tcp_portmon_update(void);
-+int tcp_portmon_update(void);
- int tcp_portmon_clear(void);
- int tcp_portmon_set_max_connections(int);
- void tcp_portmon_free(struct text_object *);
diff --git a/sysutils/conky/files/patch-src-text_object.h b/sysutils/conky/files/patch-src-text_object.h
deleted file mode 100644
index df2f413a06e3..000000000000
--- a/sysutils/conky/files/patch-src-text_object.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/text_object.h.orig
-+++ src/text_object.h
-@@ -230,6 +230,7 @@ enum text_object_type {
- #endif /* X11 */
- OBJ_nameserver,
- OBJ_nodename,
-+ OBJ_nodename_short,
- OBJ_nvidia,
- OBJ_pre_exec,
- OBJ_cmdline_to_pid,
diff --git a/sysutils/conky/files/patch-src-top.c b/sysutils/conky/files/patch-src-top.c
deleted file mode 100644
index 8ec3c84553e4..000000000000
--- a/sysutils/conky/files/patch-src-top.c
+++ /dev/null
@@ -1,25 +0,0 @@
---- src/top.c.orig
-+++ src/top.c
-@@ -880,16 +880,22 @@ int parse_top_args(const char *s, const char *arg, struct text_object *obj)
- #else /* IOSTATS */
- NORM_ERR("must be one of: name, cpu, pid, mem, time, mem_res, mem_vsize");
- #endif /* IOSTATS */
-+ free(td->s);
-+ free(obj->data.opaque);
- return 0;
- }
- if (n < 1 || n > 10) {
- NORM_ERR("invalid num arg for top. Must be between 1 and 10.");
-+ free(td->s);
-+ free(obj->data.opaque);
- return 0;
- } else {
- td->num = n - 1;
- }
- } else {
- NORM_ERR("invalid argument count for top");
-+ free(td->s);
-+ free(obj->data.opaque);
- return 0;
- }
- return 1;
diff --git a/sysutils/conky/files/patch-src-users.c b/sysutils/conky/files/patch-src-users.c
deleted file mode 100644
index e7d10dd80335..000000000000
--- a/sysutils/conky/files/patch-src-users.c
+++ /dev/null
@@ -1,17 +0,0 @@
---- src/users.c.orig
-+++ src/users.c
-@@ -157,7 +157,7 @@ void update_user_time(char *tty)
- }
- }
-
--void update_users(void)
-+int update_users(void)
- {
- struct information *current_info = &info;
- char temp[BUFLEN] = "";
-@@ -221,4 +221,5 @@ void update_users(void)
- current_info->users.times = malloc(text_buffer_size);
- strncpy(current_info->users.times, "broken", text_buffer_size);
- }
-+ return 0;
- }
diff --git a/sysutils/conky/files/patch-src-x11.c b/sysutils/conky/files/patch-src-x11.c
deleted file mode 100644
index c251f8642b1a..000000000000
--- a/sysutils/conky/files/patch-src-x11.c
+++ /dev/null
@@ -1,37 +0,0 @@
---- src/x11.c.orig
-+++ src/x11.c
-@@ -44,7 +44,7 @@
-
- #ifdef XFT
- #include <X11/Xft/Xft.h>
--int use_xft = 0;
-+int use_xft;
- #endif
-
- #ifdef HAVE_XDBE
-@@ -336,7 +336,7 @@ void init_window(int own_window, int w, int h, int set_trans, int back_colour,
- XClassHint classHint;
- XWMHints wmHint;
- Atom xa;
--
-+
- #ifdef USE_ARGB
- if (have_argb_visual) {
- attrs.colormap = window.colourmap;
-@@ -775,13 +775,14 @@ void get_x11_desktop_info(Display *current_display, Atom atom)
- }
- }
-
--void update_x11info(void)
-+int update_x11info(void)
- {
- struct information *current_info = &info;
- if (x_initialised != YES)
-- return;
-+ return 0;
- current_info->x11.monitor.number = XScreenCount(display);
- current_info->x11.monitor.current = XDefaultScreen(display);
-+ return 0;
- }
-
- #ifdef OWN_WINDOW
diff --git a/sysutils/conky/files/patch-src-xmms2.c b/sysutils/conky/files/patch-src-xmms2.c
new file mode 100644
index 000000000000..e29e177bad97
--- /dev/null
+++ b/sysutils/conky/files/patch-src-xmms2.c
@@ -0,0 +1,11 @@
+--- src/xmms2.c.orig 2010-09-29 04:54:10.000000000 +0300
++++ src/xmms2.c 2010-09-29 04:55:19.000000000 +0300
+@@ -223,7 +223,7 @@
+ break;
+ case XMMS_PLAYBACK_STATUS_STOP:
+ strncpy(ptr->xmms2.status, "Stopped", text_buffer_size - 1);
+- ptr->xmms2.elapsed = ptr->xmms2.progress = ptr->xmms2.percent = 0;
++ ptr->xmms2.elapsed = ptr->xmms2.progress = 0;
+ break;
+ default:
+ strncpy(ptr->xmms2.status, "Unknown", text_buffer_size - 1);