From ef9b4497d719b5f387dbe81b494940cc2426c3df Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 16 Feb 2017 10:45:04 +0100 Subject: conky mit irc neu --- conky/MAX_SP.patch | 12 ++++++ conky/PKGBUILD | 63 +++++++++++++++++++++++++++++++ conky/irc_lines.patch | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++ conky/lua53.patch | 46 +++++++++++++++++++++++ 4 files changed, 223 insertions(+) create mode 100644 conky/MAX_SP.patch create mode 100644 conky/PKGBUILD create mode 100644 conky/irc_lines.patch create mode 100644 conky/lua53.patch (limited to 'conky') diff --git a/conky/MAX_SP.patch b/conky/MAX_SP.patch new file mode 100644 index 000000000..9c75fbc99 --- /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 000000000..5cfe6ae5b --- /dev/null +++ b/conky/PKGBUILD @@ -0,0 +1,63 @@ +# $Id$ +# Maintainer: Erich Eckner +# Contributor: Gaetan Bisson +# Contributor: Giovanni Scafora +# Contributor: James Rayner +# Contributor: Partha Chowdhury + +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 000000000..d7ed7d3a8 --- /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 @@ + + + +- ++ + + 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. + + + +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 000000000..daab12646 --- /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 +- int safe_misc_trampoline(lua_State *l) ++ int safe_misc_trampoline_set(lua_State *l) ++ { ++ misc(l, 1); ++ return nresults; ++ } ++ ++ template ++ 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, 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); + } -- cgit v1.2.3-70-g09d2