summaryrefslogtreecommitdiff
path: root/conky
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-02-16 10:45:04 +0100
committerErich Eckner <git@eckner.net>2017-02-16 10:45:04 +0100
commitef9b4497d719b5f387dbe81b494940cc2426c3df (patch)
treee6397894f2566e6435befaf68987da8db6785885 /conky
parent89617cbd1fa25607f37374f16cbf15de17d23f8d (diff)
downloadarchlinuxewe.git.save-ef9b4497d719b5f387dbe81b494940cc2426c3df.tar.xz
conky mit irc neu
Diffstat (limited to 'conky')
-rw-r--r--conky/MAX_SP.patch12
-rw-r--r--conky/PKGBUILD63
-rw-r--r--conky/irc_lines.patch102
-rw-r--r--conky/lua53.patch46
4 files changed, 223 insertions, 0 deletions
diff --git a/conky/MAX_SP.patch b/conky/MAX_SP.patch
new file mode 100644
index 00000000..9c75fbc9
--- /dev/null
+++ b/conky/MAX_SP.patch
@@ -0,0 +1,12 @@
+diff -ru3 conky-1.10.1/src/top.h ../conky-1.10.1/src/top.h
+--- conky-1.10.1/src/top.h 2015-11-18 16:47:45.000000000 +0100
++++ ../conky-1.10.1/src/top.h 2015-11-20 20:29:25.993328891 +0100
+@@ -75,7 +75,7 @@
+ * and it'll take me a while to write a replacement. */
+ #define BUFFER_LEN 1024
+
+-#define MAX_SP 10 // number of elements to sort
++#define MAX_SP 20 // number of elements to sort
+
+ /******************************************
+ * Process class *
diff --git a/conky/PKGBUILD b/conky/PKGBUILD
new file mode 100644
index 00000000..5cfe6ae5
--- /dev/null
+++ b/conky/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id$
+# Maintainer: Erich Eckner <arch at eckner dot net>
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: James Rayner <james@archlinux.org>
+# Contributor: Partha Chowdhury <kira.laucas@gmail.com>
+
+pkgname=conky
+pkgver=1.10.6
+pkgrel=1
+pkgdesc='Lightweight system monitor for X'
+url='https://github.com/brndnmtthws/conky'
+license=('BSD' 'GPL')
+arch=('i686' 'x86_64')
+makedepends=('cmake' 'docbook2x' 'docbook-xml' 'man-db' 'git')
+depends=('glib2' 'lua' 'wireless_tools' 'libxdamage' 'libxinerama' 'libxft'
+ 'imlib2' 'libxml2' 'libpulse' 'libircclient')
+source=("https://github.com/brndnmtthws/conky/archive/v${pkgver}.tar.gz"
+ 'lua53.patch'
+ 'MAX_SP.patch'
+ 'irc_lines.patch')
+sha512sums=('ddd0b087e89654f8dace7d9682935a802b3bb22b7e65acd25dcc0f06e90b46bee695502d78b6e40a409f8eaffcd65a78d5f861ee6dbcbff6e48f88c2f20319c9'
+ 'a8f7184b0e21daaff137a07431c736269a94b654f50b45ac531cdb0d0edbfa8509def72254c36dce0ca4a1ee5ebae62aac5894f89cda2feae3d54cfcbd85377b'
+ 'ca23309b45a471b075fbebd2f6ec34b1d7b3198528056ddb3018af4010623a5de83a80ecfc98677b48676fd2600224c33772f55b515c897a3cc917997c70bb38'
+ '08b7c8cfd3b5c6646024d9f722912ebc63c245ab028b1528cd8c5bf4c1841bd1a354ef833355a8cdb9999a0a3549adb00274bedd94fc3fc1dca0d431c04d131a')
+
+options=('!strip' 'debug')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i ../lua53.patch # lua_gettable returns an int in lua-5.3
+ patch -p1 -i ../MAX_SP.patch
+ patch -p1 -i ../irc_lines.patch
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ cmake \
+ -D CMAKE_BUILD_TYPE=Release \
+ -D MAINTAINER_MODE=ON \
+ -D BUILD_WLAN=ON \
+ -D BUILD_XDBE=ON \
+ -D BUILD_IMLIB2=ON \
+ -D BUILD_CURL=ON \
+ -D BUILD_RSS=ON \
+ -D BUILD_WEATHER_METAR=ON \
+ -D BUILD_WEATHER_XOAP=ON \
+ -D BUILD_PULSEAUDIO=ON \
+ -D BUILD_IRC=ON \
+ -D CMAKE_INSTALL_PREFIX=/usr \
+ .
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm644 extras/vim/syntax/conkyrc.vim "${pkgdir}"/usr/share/vim/vimfiles/syntax/conkyrc.vim
+ install -Dm644 extras/vim/ftdetect/conkyrc.vim "${pkgdir}"/usr/share/vim/vimfiles/ftdetect/conkyrc.vim
+}
diff --git a/conky/irc_lines.patch b/conky/irc_lines.patch
new file mode 100644
index 00000000..d7ed7d3a
--- /dev/null
+++ b/conky/irc_lines.patch
@@ -0,0 +1,102 @@
+diff --git a/doc/variables.xml b/doc/variables.xml
+index effc5880..f07ef893 100644
+--- a/doc/variables.xml
++++ b/doc/variables.xml
+@@ -1756,11 +1756,12 @@
+ <command>
+ <option>irc</option>
+ </command>
+- <option>server(:port) #channel</option>
++ <option>server(:port) #channel (max_msg_lines)</option>
+ </term>
+ <listitem>Shows everything that's being told in #channel on IRCserver
+ 'server'. TCP-port 6667 is used for the connection unless 'port' is
+- specified.
++ specified. Shows everything since the last time or the last
++ 'max_msg_lines' entries if specified.
+ <para /></listitem>
+ </varlistentry>
+ <varlistentry>
+diff --git a/src/irc.cc b/src/irc.cc
+index 17b81d73..ad5cb846 100644
+@@ -44,6 +44,7 @@ struct obj_irc {
+
+ struct ctx {
+ char *chan;
++ int max_msg_lines;
+ struct ll_text *messages;
+ };
+
+@@ -69,6 +70,22 @@ void addmessage(struct ctx *ctxptr, char *nick, const char *text) {
+ }
+ lastmsg->next = newmsg;
+ }
++ if(ctxptr->max_msg_lines>0) {
++ int msgcnt = 0;
++ newmsg = ctxptr->messages;
++ while(newmsg) {
++ newmsg = newmsg->next;
++ msgcnt++;
++ }
++ msgcnt -= ctxptr->max_msg_lines;
++ while(msgcnt>0) {
++ msgcnt--;
++ newmsg = ctxptr->messages->next;
++ free(ctxptr->messages->text);
++ free(ctxptr->messages);
++ ctxptr->messages = newmsg;
++ }
++ }
+ }
+
+ void ev_talkinchan(irc_session_t *session, const char *event, const char *origin, const char **params, unsigned int count) {
+@@ -95,7 +112,7 @@ void ev_num(irc_session_t *session, unsigned int event, const char *origin, cons
+ if(origin || count) {} //fix gcc warnings
+ }
+
+-#define IRCSYNTAX "The correct syntax is ${irc server(:port) #channel}"
++#define IRCSYNTAX "The correct syntax is ${irc server(:port) #channel (max_msg_lines)}"
+ #define IRCPORT 6667
+ #define IRCNICK "conky"
+ #define IRCSERVERPASS NULL
+@@ -108,6 +125,7 @@ void *ircclient(void *ptr) {
+ irc_callbacks_t callbacks;
+ char *server;
+ char *strport;
++ char *str_max_msg_lines;
+ unsigned int port;
+
+ memset (&callbacks, 0, sizeof(callbacks));
+@@ -120,6 +138,10 @@ void *ircclient(void *ptr) {
+ if( ! ctxptr->chan) {
+ NORM_ERR("irc: %s", IRCSYNTAX);
+ }
++ str_max_msg_lines = strtok(NULL, " ");
++ if(str_max_msg_lines) {
++ ctxptr->max_msg_lines = strtol(str_max_msg_lines, NULL, 10);
++ }
+ ctxptr->messages = NULL;
+ irc_set_ctx(ircobj->session, ctxptr);
+ server = strtok(server, ":");
+@@ -169,14 +191,18 @@ void print_irc(struct text_object *obj, char *p, int p_max_size) {
+ while(curmsg) {
+ nextmsg = curmsg->next;
+ strncat(p, curmsg->text, p_max_size - strlen(p) - 1);
+- free(curmsg->text);
+- free(curmsg);
++ if(!ctxptr->max_msg_lines) {
++ free(curmsg->text);
++ free(curmsg);
++ }
+ curmsg = nextmsg;
+ }
+ if(p[0] != 0) {
+ p[strlen(p) - 1] = 0;
+ }
+- ctxptr->messages = NULL;
++ if(!ctxptr->max_msg_lines) {
++ ctxptr->messages = NULL;
++ }
+ }
+
+ void free_irc(struct text_object *obj) {
diff --git a/conky/lua53.patch b/conky/lua53.patch
new file mode 100644
index 00000000..daab1264
--- /dev/null
+++ b/conky/lua53.patch
@@ -0,0 +1,46 @@
+diff -aur old/src/luamm.cc new/src/luamm.cc
+--- old/src/luamm.cc 2015-06-28 16:38:47.793615922 -1000
++++ new/src/luamm.cc 2015-06-29 09:05:44.646667638 -1000
+@@ -165,7 +165,14 @@
+ }
+
+ template<void (*misc)(lua_State *, int), int nresults>
+- int safe_misc_trampoline(lua_State *l)
++ int safe_misc_trampoline_set(lua_State *l)
++ {
++ misc(l, 1);
++ return nresults;
++ }
++
++ template<int (*misc)(lua_State *, int), int nresults>
++ int safe_misc_trampoline_get(lua_State *l)
+ {
+ misc(l, 1);
+ return nresults;
+@@ -326,7 +333,7 @@
+ if( rawequal(index1, index2) )
+ return true;
+
+- return safe_compare(&safe_compare_trampoline<lua_equal>, index1, index2);
++ return safe_compare(&safe_compare_trampoline<&lua_equal>, index1, index2);
+ }
+
+ int state::gc(int what, int data)
+@@ -367,7 +374,7 @@
+ checkstack(2);
+ pushvalue(index);
+ insert(-2);
+- lua_pushcfunction(cobj.get(), (&safe_misc_trampoline<&lua_gettable, 1>));
++ lua_pushcfunction(cobj.get(), (&safe_misc_trampoline_get<&lua_gettable, 1>));
+ insert(-3);
+ call(2, 1, 0);
+ }
+@@ -492,7 +499,7 @@
+ checkstack(2);
+ pushvalue(index);
+ insert(-3);
+- lua_pushcfunction(cobj.get(), (&safe_misc_trampoline<&lua_settable, 0>));
++ lua_pushcfunction(cobj.get(), (&safe_misc_trampoline_set<&lua_settable, 0>));
+ insert(-4);
+ call(3, 0, 0);
+ }