On Tue, Dec 29, 2015 at 08:11:13PM +0000, Stuart Henderson wrote: > Picking up viq's old irssi update, now with an update to irssi-icb > which fixes things (the in-tree irssi-icb was fairly broken when > I tried it with irssi 0.8.17 before). > > For irssi, compared to the previous diff, it installs irssi-config > in the include dir so that irssi-icb can find it without patching > the autoconf files, and there are minor whitespace changes. > > irssi-otr and irssi-silc seem to work (though I'm not on an active > silc network any more so just testing locally). > > Could someone test irssi-xmpp please?
Seems still to work fine here. Thanks for the update! > OK? > > > Index: irssi/Makefile > =================================================================== > RCS file: /cvs/ports/net/irssi/Makefile,v > retrieving revision 1.59 > diff -u -p -r1.59 Makefile > --- irssi/Makefile 14 Jun 2014 10:34:45 -0000 1.59 > +++ irssi/Makefile 29 Dec 2015 19:54:07 -0000 > @@ -4,18 +4,20 @@ SHARED_ONLY= Yes > > COMMENT= modular IRC client with many features (ipv6,socks,proxy) > > -DISTNAME= irssi-0.8.16 > +V= 0.8.17 > +DISTNAME= irssi-$V > +PKGSPEC= irssi-=$V > +EXTRACT_SUFX= .tar.bz2 > CATEGORIES= net > -REVISION= 0 > > HOMEPAGE= http://www.irssi.org/ > > MAINTAINER= Wiktor Izdebski <vic...@gmail.com> > > -# GPL > +# GPLv2+ > PERMIT_PACKAGE_CDROM= Yes > > -MASTER_SITES= ${HOMEPAGE}files/ > +MASTER_SITES= https://github.com/irssi-import/irssi/releases/download/$V/ > > WANTLIB= c crypto m ncurses perl pthread ssl util \ > pcre glib-2.0 gmodule-2.0 > @@ -25,9 +27,9 @@ MODULES= devel/gettext > LIB_DEPENDS= devel/glib2 > > LIBTOOL_FLAGS+= --tag=disable-static > -CONFIGURE_STYLE=gnu > -MODGNU_CONFIG_GUESS_DIRS=${WRKSRC} > -CONFIGURE_ARGS+=--with-pic \ > +CONFIGURE_STYLE= gnu > +MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC} > +CONFIGURE_ARGS+= --with-pic \ > --with-proxy \ > --with-perl=yes \ > --with-perl-lib=${PREFIX}/libdata/perl5/site_perl > @@ -51,5 +53,8 @@ FAKE_FLAGS= confdir="${PREFIX}/share/exa > > pre-configure: > ${SUBST_CMD} ${WRKSRC}/docs/irssi.1 > + > +post-install: > + ${INSTALL_DATA} ${WRKSRC}/irssi-config ${PREFIX}/include/irssi/ > > .include <bsd.port.mk> > Index: irssi/distinfo > =================================================================== > RCS file: /cvs/ports/net/irssi/distinfo,v > retrieving revision 1.19 > diff -u -p -r1.19 distinfo > --- irssi/distinfo 2 Jun 2014 16:50:42 -0000 1.19 > +++ irssi/distinfo 29 Dec 2015 19:54:07 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (irssi-0.8.16.tar.gz) = aIsXYdmWYgdfGIImjJXoQxhsscLm5pbBYjsCRn8mAqU= > -SIZE (irssi-0.8.16.tar.gz) = 1359539 > +SHA256 (irssi-0.8.17.tar.bz2) = PJYAytLt9Y8dAS/rwaC6hEJ0324zHAGp6TVGdwUWaAc= > +SIZE (irssi-0.8.17.tar.bz2) = 1102196 > Index: irssi/patches/patch-docs_irssi_1 > =================================================================== > RCS file: /cvs/ports/net/irssi/patches/patch-docs_irssi_1,v > retrieving revision 1.4 > diff -u -p -r1.4 patch-docs_irssi_1 > --- irssi/patches/patch-docs_irssi_1 11 Oct 2009 15:23:51 -0000 1.4 > +++ irssi/patches/patch-docs_irssi_1 29 Dec 2015 19:54:07 -0000 > @@ -1,7 +1,7 @@ > $OpenBSD: patch-docs_irssi_1,v 1.4 2009/10/11 15:23:51 okan Exp $ > ---- docs/irssi.1.orig Sat Oct 6 11:38:21 2007 > -+++ docs/irssi.1 Wed Dec 3 22:58:13 2008 > -@@ -65,10 +65,10 @@ display brief usage message. > +--- docs/irssi.1.orig Sat Oct 11 09:42:36 2014 > ++++ docs/irssi.1 Tue Dec 29 16:47:56 2015 > +@@ -62,10 +62,10 @@ show a help message. > .SH SEE ALSO > .B Irssi > has been supplied with a huge amount of documentation. Check /help or look > @@ -14,7 +14,7 @@ $OpenBSD: patch-docs_irssi_1,v 1.4 2009/ > Global configuration file > .TP > .I ~/.irssi/config > -@@ -83,13 +83,18 @@ Default irssi theme > +@@ -80,13 +80,18 @@ Default irssi theme > .I ~/.irssi/away.log > Logged messages in away status > .TP > Index: irssi/patches/patch-src_fe-common_core_Makefile_in > =================================================================== > RCS file: /cvs/ports/net/irssi/patches/patch-src_fe-common_core_Makefile_in,v > retrieving revision 1.6 > diff -u -p -r1.6 patch-src_fe-common_core_Makefile_in > --- irssi/patches/patch-src_fe-common_core_Makefile_in 2 Jun 2014 > 16:50:42 -0000 1.6 > +++ irssi/patches/patch-src_fe-common_core_Makefile_in 29 Dec 2015 > 19:54:07 -0000 > @@ -1,7 +1,7 @@ > $OpenBSD: patch-src_fe-common_core_Makefile_in,v 1.6 2014/06/02 16:50:42 > sthen Exp $ > ---- src/fe-common/core/Makefile.in.orig Wed May 28 21:16:02 2014 > -+++ src/fe-common/core/Makefile.in Sun Jun 1 14:45:13 2014 > -@@ -365,7 +365,7 @@ INCLUDES = \ > +--- src/fe-common/core/Makefile.in.orig Sat Oct 11 09:58:14 2014 > ++++ src/fe-common/core/Makefile.in Tue Dec 29 16:47:56 2015 > +@@ -365,7 +365,7 @@ AM_CPPFLAGS = \ > -I$(top_srcdir)/src -I$(top_srcdir)/src/core/ \ > $(GLIB_CFLAGS) \ > -DHELPDIR=\""$(datadir)/irssi/help"\" \ > Index: irssi/patches/patch-src_fe-common_core_fe-core-commands_c > =================================================================== > RCS file: irssi/patches/patch-src_fe-common_core_fe-core-commands_c > diff -N irssi/patches/patch-src_fe-common_core_fe-core-commands_c > --- irssi/patches/patch-src_fe-common_core_fe-core-commands_c 10 Sep 2009 > 21:31:42 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,15 +0,0 @@ > -$OpenBSD: patch-src_fe-common_core_fe-core-commands_c,v 1.2 2009/09/10 > 21:31:42 martynas Exp $ > - > -Don't assume the size of time_t. > - > ---- src/fe-common/core/fe-core-commands.c.orig Tue Jul 21 20:47:59 2009 > -+++ src/fe-common/core/fe-core-commands.c Sat Aug 8 09:10:46 2009 > -@@ -177,7 +177,7 @@ static void cmd_uptime(char *data) > - g_return_if_fail(data != NULL); > - > - if (*data == '\0') { > -- uptime = time(NULL) - client_start_time; > -+ uptime = (long)difftime(time(NULL), client_start_time); > - printtext(NULL, NULL, MSGLEVEL_CLIENTNOTICE, > - "Uptime: %ldd %ldh %ldm %lds", > - uptime/3600/24, uptime/3600%24, > Index: irssi/patches/patch-src_irc_proxy_listen_c > =================================================================== > RCS file: irssi/patches/patch-src_irc_proxy_listen_c > diff -N irssi/patches/patch-src_irc_proxy_listen_c > --- irssi/patches/patch-src_irc_proxy_listen_c 2 Jun 2014 16:50:42 > -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,11 +0,0 @@ > -$OpenBSD: patch-src_irc_proxy_listen_c,v 1.2 2014/06/02 16:50:42 sthen Exp $ > ---- src/irc/proxy/listen.c.orig Sun Jun 1 15:01:12 2014 > -+++ src/irc/proxy/listen.c Sun Jun 1 15:01:31 2014 > -@@ -24,6 +24,7 @@ > - #include "servers-redirect.h" > - #include "levels.h" > - #include "settings.h" > -+#include "misc.h" > - > - #include "irc.h" > - #include "irc-channels.h" > Index: irssi/patches/patch-src_perl_Makefile_in > =================================================================== > RCS file: /cvs/ports/net/irssi/patches/patch-src_perl_Makefile_in,v > retrieving revision 1.6 > diff -u -p -r1.6 patch-src_perl_Makefile_in > --- irssi/patches/patch-src_perl_Makefile_in 2 Jun 2014 16:50:42 -0000 > 1.6 > +++ irssi/patches/patch-src_perl_Makefile_in 29 Dec 2015 19:54:07 -0000 > @@ -1,7 +1,7 @@ > $OpenBSD: patch-src_perl_Makefile_in,v 1.6 2014/06/02 16:50:42 sthen Exp $ > ---- src/perl/Makefile.in.orig Wed May 28 21:16:03 2014 > -+++ src/perl/Makefile.in Sun Jun 1 15:02:26 2014 > -@@ -378,7 +378,7 @@ INCLUDES = \ > +--- src/perl/Makefile.in.orig Sat Oct 11 09:58:14 2014 > ++++ src/perl/Makefile.in Tue Dec 29 16:47:56 2015 > +@@ -378,7 +378,7 @@ AM_CPPFLAGS = \ > -I$(top_srcdir)/src/core \ > -I$(top_srcdir)/src/fe-common/core \ > $(GLIB_CFLAGS) \ > Index: irssi/pkg/PLIST > =================================================================== > RCS file: /cvs/ports/net/irssi/pkg/PLIST,v > retrieving revision 1.20 > diff -u -p -r1.20 PLIST > --- irssi/pkg/PLIST 14 Jun 2014 10:34:45 -0000 1.20 > +++ irssi/pkg/PLIST 29 Dec 2015 19:54:07 -0000 > @@ -1,6 +1,7 @@ > @comment $OpenBSD: PLIST,v 1.20 2014/06/14 10:34:45 sthen Exp $ > @bin bin/irssi > include/irssi/ > +include/irssi/irssi-config > include/irssi/irssi-config.h > include/irssi/irssi-version.h > include/irssi/src/ > @@ -140,15 +141,11 @@ libdata/perl5/site_perl/${MACHINE_ARCH}- > libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/ > libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/ > libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/Irc/ > -@comment > libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/Irc/Irc.bs > libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/Irc/Irc.so > -@comment libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/Irssi.bs > libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/Irssi.so > libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/TextUI/ > -@comment > libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/TextUI/TextUI.bs > libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/TextUI/TextUI.so > libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/UI/ > -@comment libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/UI/UI.bs > libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/UI/UI.so > @man man/man1/irssi.1 > share/doc/irssi/ > @@ -238,8 +235,6 @@ share/irssi/help/hilight > share/irssi/help/ignore > share/irssi/help/info > share/irssi/help/invite > -share/irssi/help/invitelist > -share/irssi/help/ircnet > share/irssi/help/ison > share/irssi/help/join > share/irssi/help/kick > @@ -266,7 +261,6 @@ share/irssi/help/nctcp > share/irssi/help/netsplit > share/irssi/help/network > share/irssi/help/nick > -share/irssi/help/note > share/irssi/help/notice > share/irssi/help/notify > share/irssi/help/op > @@ -284,17 +278,13 @@ share/irssi/help/reload > share/irssi/help/restart > share/irssi/help/rmreconns > share/irssi/help/rmrejoins > -share/irssi/help/rping > share/irssi/help/save > -share/irssi/help/say > share/irssi/help/sconnect > share/irssi/help/script > share/irssi/help/scrollback > share/irssi/help/server > -share/irssi/help/servlist > share/irssi/help/set > share/irssi/help/silence > -share/irssi/help/squery > share/irssi/help/squit > share/irssi/help/stats > share/irssi/help/statusbar > @@ -311,7 +301,7 @@ share/irssi/help/unnotify > share/irssi/help/unquery > share/irssi/help/unsilence > share/irssi/help/upgrade > -share/irssi/help/uping > +share/irssi/help/uptime > share/irssi/help/userhost > share/irssi/help/ver > share/irssi/help/version > @@ -319,10 +309,7 @@ share/irssi/help/voice > share/irssi/help/wait > share/irssi/help/wall > share/irssi/help/wallops > -share/irssi/help/watch > share/irssi/help/who > share/irssi/help/whois > share/irssi/help/whowas > share/irssi/help/window > -share/irssi/help/wjoin > -share/irssi/help/wquery > Index: irssi-icb/Makefile > =================================================================== > RCS file: /cvs/ports/net/irssi-icb/Makefile,v > retrieving revision 1.34 > diff -u -p -r1.34 Makefile > --- irssi-icb/Makefile 24 Nov 2015 09:11:05 -0000 1.34 > +++ irssi-icb/Makefile 29 Dec 2015 19:54:07 -0000 > @@ -4,41 +4,26 @@ SHARED_ONLY= Yes > > COMMENT= ICB plugin for irssi > > -DISTNAME= irssi-icb-0.14 > -REVISION= 10 > -MASTER_SITES= https://distfiles.nl/ > +DISTNAME= irssi-icb-0.15 > > CATEGORIES= net > > -BUILD_DEPENDS= ${MODGNU_AUTOCONF_DEPENDS} \ > - ${MODGNU_AUTOMAKE_DEPENDS} \ > - net/irssi>=0.8.15p5 \ > +BUILD_DEPENDS= net/irssi \ > devel/glib2 > RUN_DEPENDS= net/irssi > > -# GPL > +# GPLv2+ > PERMIT_PACKAGE_CDROM= Yes > > -# Needs AC_PROG_LIBTOOL > -BUILD_DEPENDS += devel/libtool > +MASTER_SITES= https://github.com/downloads/jperkin/irssi-icb/ > + > LIBTOOL_FLAGS= --tag=disable-static > CONFIGURE_STYLE= gnu > -AUTOCONF_VERSION=2.61 > -AUTOMAKE_VERSION=1.9 > CONFIGURE_ARGS+= --with-irssi=${LOCALBASE}/include/irssi > > -AUTO_ENV= AUTOCONF_VERSION=${AUTOCONF_VERSION} \ > - AUTOMAKE_VERSION=${AUTOMAKE_VERSION} > - > -pre-configure: > - cd ${WRKSRC} && ${AUTO_ENV} aclocal > - cd ${WRKSRC} && ${AUTO_ENV} automake\ > - --add-missing -f --foreign > - cd ${WRKSRC} && ${AUTO_ENV} autoconf > - > post-install: > ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/irssi > ${INSTALL_DATA} ${WRKSRC}/README \ > - ${PREFIX}/share/doc/irssi/icb-plugin.txt > + ${PREFIX}/share/doc/irssi/icb-plugin.txt > > .include <bsd.port.mk> > Index: irssi-icb/distinfo > =================================================================== > RCS file: /cvs/ports/net/irssi-icb/distinfo,v > retrieving revision 1.5 > diff -u -p -r1.5 distinfo > --- irssi-icb/distinfo 9 Jan 2014 23:28:49 -0000 1.5 > +++ irssi-icb/distinfo 29 Dec 2015 19:54:07 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (irssi-icb-0.14.tar.gz) = NEP9e5fgtkoiRJSDuRfi5aqAsIsY3WTGIT9qO3Vkmyg= > -SIZE (irssi-icb-0.14.tar.gz) = 172647 > +SHA256 (irssi-icb-0.15.tar.gz) = v4MpRI27ubhdfcnFOLSFelLTxA6cU11Rd3cjlsqotS4= > +SIZE (irssi-icb-0.15.tar.gz) = 306973 > Index: irssi-icb/patches/patch-README > =================================================================== > RCS file: irssi-icb/patches/patch-README > diff -N irssi-icb/patches/patch-README > --- irssi-icb/patches/patch-README 21 Apr 2008 10:35:27 -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,14 +0,0 @@ > -$OpenBSD: patch-README,v 1.1 2008/04/21 10:35:27 sthen Exp $ > ---- README.orig Sat Apr 27 21:56:18 2002 > -+++ README Sun Oct 21 15:31:29 2007 > -@@ -14,6 +14,10 @@ chatnets section: > - > - icbnet = { type = "ICB"; }; > - > -+You'll also need to add to your startup file: > -+ > -+ LOAD icb > -+ > - and then: > - > - /SERVER ADD -auto -icbnet icbnet default.icb.net > Index: irssi-icb/patches/patch-configure_in > =================================================================== > RCS file: irssi-icb/patches/patch-configure_in > diff -N irssi-icb/patches/patch-configure_in > --- irssi-icb/patches/patch-configure_in 11 Jun 2010 13:56:33 -0000 > 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,40 +0,0 @@ > -$OpenBSD: patch-configure_in,v 1.1 2010/06/11 13:56:33 dcoppa Exp $ > ---- configure.in.orig Sun Nov 24 14:17:32 2002 > -+++ configure.in Wed Jun 9 16:23:05 2010 > -@@ -9,7 +9,6 @@ AC_ISC_POSIX > - AC_PROG_CC > - AC_PROG_CPP > - AC_STDC_HEADERS > --AC_ARG_PROGRAM > - AM_DISABLE_STATIC > - AM_PROG_LIBTOOL > - > -@@ -20,11 +19,11 @@ AC_ARG_WITH(irssi, > - > - if test x$IRSSI_INCLUDE = x; then > - dnl * --with-irssi not given, try to find irssi > -- if test -f ../irssi-config; then > -+ if test -f ../irssi-version.h; then > - IRSSI_INCLUDE=".." > -- elif test -f ../irssi/irssi-config; then > -+ elif test -f ../irssi/irssi-version.h; then > - IRSSI_INCLUDE="../irssi" > -- elif test -f ../../irssi/irssi-config; then > -+ elif test -f ../../irssi/irssi-version.h; then > - IRSSI_INCLUDE="../../irssi" > - fi > - fi > -@@ -36,11 +35,11 @@ cd $old > - > - AC_SUBST(IRSSI_INCLUDE) > - > --if test ! -f $IRSSI_INCLUDE/irssi-config; then > -+if test ! -f $IRSSI_INCLUDE/irssi-version.h; then > - AC_ERROR(Not irssi directory: $IRSSI_INCLUDE) > - fi > - > --AM_PATH_GLIB(1.2.0,,, gmodule) > -+AM_PATH_GLIB_2_0(2.6.0,,, gmodule) > - > - # gcc specific options > - if test "x$ac_cv_prog_gcc" = "xyes"; then > Index: irssi-icb/patches/patch-src_core_Makefile_am > =================================================================== > RCS file: irssi-icb/patches/patch-src_core_Makefile_am > diff -N irssi-icb/patches/patch-src_core_Makefile_am > --- irssi-icb/patches/patch-src_core_Makefile_am 19 Oct 2011 09:47:26 > -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,28 +0,0 @@ > -$OpenBSD: patch-src_core_Makefile_am,v 1.2 2011/10/19 09:47:26 dcoppa Exp $ > ---- src/core/Makefile.am.orig Sat May 4 19:21:43 2002 > -+++ src/core/Makefile.am Tue Oct 18 15:11:37 2011 > -@@ -1,7 +1,7 @@ > - moduledir = $(libdir)/irssi/modules > - > - module_LTLIBRARIES = libicb_core.la > --libicb_core_la_LDFLAGS = -avoid-version > -+libicb_core_la_LDFLAGS = -module -avoid-version > - > - INCLUDES = \ > - $(GLIB_CFLAGS) \ > -@@ -12,6 +12,7 @@ libicb_core_la_SOURCES = \ > - icb-channels.c \ > - icb-commands.c \ > - icb-core.c \ > -+ icb-nicklist.c \ > - icb-queries.c \ > - icb-servers-reconnect.c \ > - icb-protocol.c \ > -@@ -22,6 +23,7 @@ noinst_HEADERS = \ > - icb.h \ > - icb-channels.h \ > - icb-commands.h \ > -+ icb-nicklist.h \ > - icb-protocol.h \ > - icb-queries.h \ > - icb-servers.h \ > Index: irssi-icb/patches/patch-src_core_Makefile_in > =================================================================== > RCS file: irssi-icb/patches/patch-src_core_Makefile_in > diff -N irssi-icb/patches/patch-src_core_Makefile_in > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ irssi-icb/patches/patch-src_core_Makefile_in 29 Dec 2015 19:54:07 > -0000 > @@ -0,0 +1,39 @@ > +$OpenBSD$ > + > +pkgsrc patch-src_core_Makefile.in r1.1 > + > +--- src/core/Makefile.in.orig Tue Jun 14 00:18:30 2011 > ++++ src/core/Makefile.in Tue Dec 29 18:55:41 2015 > +@@ -72,7 +72,7 @@ LTLIBRARIES = $(module_LTLIBRARIES) > + libicb_core_la_LIBADD = > + am_libicb_core_la_OBJECTS = icb-channels.lo icb-commands.lo \ > + icb-core.lo icb-queries.lo icb-servers-reconnect.lo \ > +- icb-protocol.lo icb-servers.lo icb-session.lo > ++ icb-nicklist.lo icb-protocol.lo icb-servers.lo icb-session.lo > + libicb_core_la_OBJECTS = $(am_libicb_core_la_OBJECTS) > + AM_V_lt = $(am__v_lt_$(V)) > + am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) > +@@ -246,6 +246,7 @@ libicb_core_la_SOURCES = \ > + icb-core.c \ > + icb-queries.c \ > + icb-servers-reconnect.c \ > ++ icb-nicklist.c \ > + icb-protocol.c \ > + icb-servers.c \ > + icb-session.c > +@@ -254,6 +255,7 @@ noinst_HEADERS = \ > + icb.h \ > + icb-channels.h \ > + icb-commands.h \ > ++ icb-nicklist.h \ > + icb-protocol.h \ > + icb-queries.h \ > + icb-servers.h \ > +@@ -336,6 +338,7 @@ distclean-compile: > + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icb-channels.Plo@am__quote@ > + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icb-commands.Plo@am__quote@ > + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icb-core.Plo@am__quote@ > ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icb-nicklist.Plo@am__quote@ > + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icb-protocol.Plo@am__quote@ > + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icb-queries.Plo@am__quote@ > + @AMDEP_TRUE@@am__include@ > @am__quote@./$(DEPDIR)/icb-servers-reconnect.Plo@am__quote@ > Index: irssi-icb/patches/patch-src_core_icb-channels_c > =================================================================== > RCS file: irssi-icb/patches/patch-src_core_icb-channels_c > diff -N irssi-icb/patches/patch-src_core_icb-channels_c > --- irssi-icb/patches/patch-src_core_icb-channels_c 11 Jun 2010 13:56:33 > -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,12 +0,0 @@ > -$OpenBSD: patch-src_core_icb-channels_c,v 1.1 2010/06/11 13:56:33 dcoppa Exp > $ > ---- src/core/icb-channels.c.orig Wed Jun 9 15:44:50 2010 > -+++ src/core/icb-channels.c Wed Jun 9 15:45:33 2010 > -@@ -42,7 +42,7 @@ ICB_CHANNEL_REC *icb_channel_create(ICB_SERVER_REC *se > - void icb_change_channel(ICB_SERVER_REC *server, const char *channel, > - int automatic) > - { > -- if (g_strcasecmp(server->group->name, channel) == 0) > -+ if (g_ascii_strcasecmp(server->group->name, channel) == 0) > - return; > - > - channel_destroy(CHANNEL(server->group)); > Index: irssi-icb/patches/patch-src_core_icb-commands_c > =================================================================== > RCS file: irssi-icb/patches/patch-src_core_icb-commands_c > diff -N irssi-icb/patches/patch-src_core_icb-commands_c > --- irssi-icb/patches/patch-src_core_icb-commands_c 21 Apr 2008 10:35:27 > -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,32 +0,0 @@ > -$OpenBSD: patch-src_core_icb-commands_c,v 1.1 2008/04/21 10:35:27 sthen Exp $ > ---- src/core/icb-commands.c.orig Sat May 4 18:21:43 2002 > -+++ src/core/icb-commands.c Sun Oct 21 15:31:29 2007 > -@@ -29,9 +29,10 @@ static char *icb_commands[] = { > - "whois", "p", "delete", "cp", "rname", > - "phone", "addr", "email", "text", "www", > - "read", "write", "secure", "nosecure", "info", "?", > -- > - "invite", "v", "echoback", "name", "motd", "topic", "status", > -- "boot", "pass", "drop", "shutdown", "wall", > -+ "boot", "pass", "drop", "shutdown", "wall", "away", "noaway", > -+ "nobeep", "cancel", "exclude", "news", "notify", "s_help", > -+ "shuttime", "whereis", "hush", "talk", > - NULL > - }; > - > -@@ -108,7 +109,6 @@ void icb_commands_init(void) > - > - /* adds also some aliases known to IRC users :) */ > - command_bind_icb("quote", NULL, (SIGNAL_FUNC) cmd_quote); > -- command_bind_icb("w", NULL, (SIGNAL_FUNC) cmd_who); > - command_bind_icb("who", NULL, (SIGNAL_FUNC) cmd_who); > - command_bind_icb("nick", NULL, (SIGNAL_FUNC) cmd_name); > - command_bind_icb("kick", NULL, (SIGNAL_FUNC) cmd_boot); > -@@ -126,7 +126,6 @@ void icb_commands_deinit(void) > - command_unbind(*cmd, (SIGNAL_FUNC) cmd_self); > - > - command_unbind("quote", (SIGNAL_FUNC) cmd_quote); > -- command_unbind("w", (SIGNAL_FUNC) cmd_who); > - command_unbind("who", (SIGNAL_FUNC) cmd_who); > - command_unbind("nick", (SIGNAL_FUNC) cmd_name); > - command_unbind("kick", (SIGNAL_FUNC) cmd_boot); > Index: irssi-icb/patches/patch-src_core_icb-nicklist_c > =================================================================== > RCS file: /cvs/ports/net/irssi-icb/patches/patch-src_core_icb-nicklist_c,v > retrieving revision 1.1 > diff -u -p -r1.1 patch-src_core_icb-nicklist_c > --- irssi-icb/patches/patch-src_core_icb-nicklist_c 14 Jun 2011 10:22:16 > -0000 1.1 > +++ irssi-icb/patches/patch-src_core_icb-nicklist_c 29 Dec 2015 19:54:07 > -0000 > @@ -1,6 +1,9 @@ > -$OpenBSD: patch-src_core_icb-nicklist_c,v 1.1 2011/06/14 10:22:16 sthen Exp $ > ---- src/core/icb-nicklist.c.orig Tue Jun 14 10:29:57 2011 > -+++ src/core/icb-nicklist.c Tue Jun 14 10:29:57 2011 > +$OpenBSD$ > + > +pkgsrc patch-am, r1.2 > + > +--- src/core/icb-nicklist.c.orig Tue Dec 29 18:53:05 2015 > ++++ src/core/icb-nicklist.c Tue Dec 29 18:53:05 2015 > @@ -0,0 +1,44 @@ > +/* > + icb-nicklist.c : irssi > Index: irssi-icb/patches/patch-src_core_icb-nicklist_h > =================================================================== > RCS file: /cvs/ports/net/irssi-icb/patches/patch-src_core_icb-nicklist_h,v > retrieving revision 1.1 > diff -u -p -r1.1 patch-src_core_icb-nicklist_h > --- irssi-icb/patches/patch-src_core_icb-nicklist_h 14 Jun 2011 10:22:16 > -0000 1.1 > +++ irssi-icb/patches/patch-src_core_icb-nicklist_h 29 Dec 2015 19:54:07 > -0000 > @@ -1,6 +1,9 @@ > -$OpenBSD: patch-src_core_icb-nicklist_h,v 1.1 2011/06/14 10:22:16 sthen Exp $ > ---- src/core/icb-nicklist.h.orig Tue Jun 14 10:29:41 2011 > -+++ src/core/icb-nicklist.h Tue Jun 14 10:29:41 2011 > +$OpenBSD$ > + > +pkgsrc patch-an, r1.2 > + > +--- src/core/icb-nicklist.h.orig Tue Dec 29 18:53:26 2015 > ++++ src/core/icb-nicklist.h Tue Dec 29 18:53:26 2015 > @@ -0,0 +1,33 @@ > +/* > + icb-nicklist.h : irssi > Index: irssi-icb/patches/patch-src_core_icb-protocol_c > =================================================================== > RCS file: irssi-icb/patches/patch-src_core_icb-protocol_c > diff -N irssi-icb/patches/patch-src_core_icb-protocol_c > --- irssi-icb/patches/patch-src_core_icb-protocol_c 19 Oct 2011 09:47:26 > -0000 1.4 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,136 +0,0 @@ > -$OpenBSD: patch-src_core_icb-protocol_c,v 1.4 2011/10/19 09:47:26 dcoppa Exp > $ > - > -Break lines longer than 255 chars > - > ---- src/core/icb-protocol.c.orig Sat May 4 19:21:44 2002 > -+++ src/core/icb-protocol.c Tue Oct 18 15:19:39 2011 > -@@ -121,9 +121,93 @@ static void icb_login(ICB_SERVER_REC *server) > - > - void icb_send_open_msg(ICB_SERVER_REC *server, const char *text) > - { > -- icb_send_cmd(server, 'b', text, NULL); > -+ size_t remain; > -+ > -+ /* > -+ * ICB has 255 byte line length limit, and public messages are sent > -+ * out with our nickname, so split text accordingly. > -+ * > -+ * 250 = 255 - 'b' - 1 space after nick - ^A - nul - extra > -+ * > -+ * Taken from ircII's icb.c, thanks phone :-) > -+ */ > -+ remain = 250 - strlen(server->connrec->nick); > -+ > -+ while(*text) { > -+ char buf[256], *sendbuf; > -+ size_t len, copylen; > -+ > -+ len = strlen(text); > -+ copylen = remain; > -+ if (len > remain) { > -+ int i; > -+ > -+ /* try to split on a word boundary */ > -+ for (i = 1; i < 128 && i < len; i++) { > -+ if (isspace(text[remain - i])) { > -+ copylen -= i - 1; > -+ break; > -+ } > -+ } > -+ strncpy(buf, text, copylen); > -+ buf[copylen] = 0; > -+ sendbuf = buf; > -+ } else { > -+ sendbuf = (char *)text; > -+ } > -+ icb_send_cmd(server, 'b', sendbuf, NULL); > -+ text += len > copylen ? copylen : len; > -+ } > - } > - > -+void icb_send_private_msg(ICB_SERVER_REC *server, const char *target, > -+ const char *text) > -+{ > -+ size_t mylen, targlen, remain; > -+ > -+ /* > -+ * ICB has 255 byte line length limit. Private messages are sent > -+ * out with our nickname, but received with the target nickname, > -+ * so deduct the larger of the two in addition to other parts. > -+ * > -+ * 248 = 255 - 'hm' - 1 space after nick - ^A's - nul - extra > -+ * > -+ * Taken from ircII's icb.c, thanks phone :-) > -+ */ > -+ mylen = strlen(server->connrec->nick); > -+ targlen = strlen(target); > -+ if (mylen > targlen) { > -+ remain = 248 - mylen; > -+ } else { > -+ remain = 248 - targlen; > -+ } > -+ while(*text) { > -+ char buf[256], *sendbuf; > -+ size_t len, copylen; > -+ > -+ len = strlen(text); > -+ copylen = remain; > -+ if (len > remain) { > -+ int i; > -+ > -+ /* try to split on a word boundary */ > -+ for (i = 1; i < 128 && i < len; i++) { > -+ if (isspace(text[remain - i])) { > -+ copylen -= i - 1; > -+ break; > -+ } > -+ } > -+ strncpy(buf, text, copylen); > -+ buf[copylen] = 0; > -+ sendbuf = g_strconcat(target, " ", buf, NULL); > -+ } else { > -+ sendbuf = g_strconcat(target, " ", text, NULL); > -+ } > -+ icb_send_cmd(server, 'h', "m", sendbuf, NULL); > -+ text += len > copylen ? copylen : len; > -+ } > -+} > -+ > - void icb_command(ICB_SERVER_REC *server, const char *cmd, > - const char *args, const char *id) > - { > -@@ -293,6 +377,20 @@ static void event_cmdout(ICB_SERVER_REC *server, const > - g_strfreev(args); > - } > - > -+static void event_status(ICB_SERVER_REC *server, const char *data) > -+{ > -+ char **args, *event; > -+ > -+ args = g_strsplit(data, "\001", -1); > -+ if (args[0] != NULL) { > -+ event = g_strdup_printf("icb status %s", > g_ascii_strdown(args[0], strlen(args[0]))); > -+ if (!signal_emit(event, 2, server, args)) > -+ signal_emit("default icb status", 2, server, args); > -+ g_free(event); > -+ } > -+ g_strfreev(args); > -+} > -+ > - void icb_protocol_init(void) > - { > - signal_add("server connected", (SIGNAL_FUNC) sig_server_connected); > -@@ -300,6 +398,7 @@ void icb_protocol_init(void) > - signal_add("icb event login", (SIGNAL_FUNC) event_login); > - signal_add("icb event ping", (SIGNAL_FUNC) event_ping); > - signal_add("icb event cmdout", (SIGNAL_FUNC) event_cmdout); > -+ signal_add("icb event status", (SIGNAL_FUNC) event_status); > - } > - > - void icb_protocol_deinit(void) > -@@ -309,4 +408,5 @@ void icb_protocol_deinit(void) > - signal_remove("icb event login", (SIGNAL_FUNC) event_login); > - signal_remove("icb event ping", (SIGNAL_FUNC) event_ping); > - signal_remove("icb event cmdout", (SIGNAL_FUNC) event_cmdout); > -+ signal_remove("icb event status", (SIGNAL_FUNC) event_status); > - } > Index: irssi-icb/patches/patch-src_core_icb-protocol_h > =================================================================== > RCS file: irssi-icb/patches/patch-src_core_icb-protocol_h > diff -N irssi-icb/patches/patch-src_core_icb-protocol_h > --- irssi-icb/patches/patch-src_core_icb-protocol_h 4 Jun 2010 14:16:22 > -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,15 +0,0 @@ > -$OpenBSD: patch-src_core_icb-protocol_h,v 1.1 2010/06/04 14:16:22 phessler > Exp $ > - > -Break lines longer than 255 chars > - > ---- src/core/icb-protocol.h.orig Sat May 4 19:21:44 2002 > -+++ src/core/icb-protocol.h Fri Jun 4 10:12:25 2010 > -@@ -4,6 +4,8 @@ > - #define ICB_PROTOCOL_LEVEL 1 > - > - void icb_send_open_msg(ICB_SERVER_REC *server, const char *text); > -+void icb_send_private_msg(ICB_SERVER_REC *server, const char *target, > -+ const char *text); > - void icb_command(ICB_SERVER_REC *server, const char *cmd, > - const char *args, const char *id); > - void icb_protocol(ICB_SERVER_REC *server, const char *level, > Index: irssi-icb/patches/patch-src_core_icb-servers_c > =================================================================== > RCS file: irssi-icb/patches/patch-src_core_icb-servers_c > diff -N irssi-icb/patches/patch-src_core_icb-servers_c > --- irssi-icb/patches/patch-src_core_icb-servers_c 14 Jun 2011 10:22:16 > -0000 1.3 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,56 +0,0 @@ > -$OpenBSD: patch-src_core_icb-servers_c,v 1.3 2011/06/14 10:22:16 sthen Exp $ > - > -Break lines longer than 255 chars > - > ---- src/core/icb-servers.c.orig Tue May 28 17:56:34 2002 > -+++ src/core/icb-servers.c Tue Jun 14 10:31:10 2011 > -@@ -39,6 +39,9 @@ SERVER_REC *icb_server_init_connect(SERVER_CONNECT_REC > - server = g_new0(ICB_SERVER_REC, 1); > - server->chat_type = ICB_PROTOCOL; > - > -+ server->silentwho = FALSE; > -+ server->updatenicks = FALSE; > -+ > - server->recvbuf_size = 256; > - server->recvbuf = g_malloc(server->recvbuf_size); > - > -@@ -93,17 +96,17 @@ static void channels_join(SERVER_REC *server, const ch > - icb_change_channel(ICB_SERVER(server), channel, automatic); > - } > - > --static int isnickflag_func(char flag) > -+static int isnickflag_func(SERVER_REC *server, char flag) > - { > - return flag == '*'; > - } > - > - static int ischannel_func(SERVER_REC *server, const char *data) > - { > -- return g_strcasecmp(ICB_SERVER(server)->group->name, data) == 0; > -+ return g_ascii_strcasecmp(ICB_SERVER(server)->group->name, data) == > 0; > - } > - > --static const char *get_nick_flags(void) > -+static const char *get_nick_flags(SERVER_REC *server) > - { > - static const char flags[] = { '*', '\0', '\0' }; > - return flags; > -@@ -113,7 +116,6 @@ static void send_message(SERVER_REC *server, const cha > - const char *msg, int target_type) > - { > - ICB_SERVER_REC *icbserver; > -- char *str; > - > - icbserver = ICB_SERVER(server); > - g_return_if_fail(server != NULL); > -@@ -125,9 +127,7 @@ static void send_message(SERVER_REC *server, const cha > - icb_send_open_msg(icbserver, msg); > - } else { > - /* private message */ > -- str = g_strconcat(target, " ", msg, NULL); > -- icb_command(icbserver, "m", str, NULL); > -- g_free(str); > -+ icb_send_private_msg(icbserver, target, msg); > - } > - } > - > Index: irssi-icb/patches/patch-src_core_icb-servers_h > =================================================================== > RCS file: irssi-icb/patches/patch-src_core_icb-servers_h > diff -N irssi-icb/patches/patch-src_core_icb-servers_h > --- irssi-icb/patches/patch-src_core_icb-servers_h 14 Jun 2011 10:22:16 > -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,13 +0,0 @@ > -$OpenBSD: patch-src_core_icb-servers_h,v 1.1 2011/06/14 10:22:16 sthen Exp $ > ---- src/core/icb-servers.h.orig Tue Jun 14 10:29:08 2011 > -+++ src/core/icb-servers.h Tue Jun 14 10:29:19 2011 > -@@ -31,6 +31,9 @@ struct _ICB_SERVER_REC { > - unsigned char *sendbuf; > - int sendbuf_size; > - > -+ int silentwho; /* silence /who output when updating nicks */ > -+ int updatenicks; /* parse /who output for topic/nicks */ > -+ > - unsigned char *recvbuf; > - int recvbuf_size, recvbuf_pos; > - int recvbuf_next_packet; > Index: irssi-icb/patches/patch-src_fe-common_Makefile_am > =================================================================== > RCS file: irssi-icb/patches/patch-src_fe-common_Makefile_am > diff -N irssi-icb/patches/patch-src_fe-common_Makefile_am > --- irssi-icb/patches/patch-src_fe-common_Makefile_am 19 Oct 2011 09:47:26 > -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,12 +0,0 @@ > -$OpenBSD: patch-src_fe-common_Makefile_am,v 1.1 2011/10/19 09:47:26 dcoppa > Exp $ > ---- src/fe-common/Makefile.am.orig Tue Oct 18 15:12:19 2011 > -+++ src/fe-common/Makefile.am Tue Oct 18 15:12:30 2011 > -@@ -1,7 +1,7 @@ > - moduledir = $(libdir)/irssi/modules > - > - module_LTLIBRARIES = libfe_icb.la > --libfe_icb_la_LDFLAGS = -avoid-version > -+libfe_icb_la_LDFLAGS = -module -avoid-version > - > - INCLUDES = \ > - $(GLIB_CFLAGS) \ > Index: irssi-icb/patches/patch-src_fe-common_fe-icb_c > =================================================================== > RCS file: irssi-icb/patches/patch-src_fe-common_fe-icb_c > diff -N irssi-icb/patches/patch-src_fe-common_fe-icb_c > --- irssi-icb/patches/patch-src_fe-common_fe-icb_c 19 Oct 2011 09:47:26 > -0000 1.4 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,488 +0,0 @@ > -$OpenBSD: patch-src_fe-common_fe-icb_c,v 1.4 2011/10/19 09:47:26 dcoppa Exp $ > ---- src/fe-common/fe-icb.c.orig Sat Apr 27 22:56:18 2002 > -+++ src/fe-common/fe-icb.c Tue Oct 18 15:20:42 2011 > -@@ -18,33 +18,73 @@ > - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 > USA > - */ > - > -+#include <time.h> > -+ > - #include "module.h" > - #include "module-formats.h" > - #include "signals.h" > - #include "commands.h" > - #include "servers-setup.h" > - #include "levels.h" > -+#include "nicklist.h" > - > - #include "icb.h" > - #include "icb-servers.h" > - #include "icb-channels.h" > -+#include "icb-nicklist.h" > - #include "icb-protocol.h" > - > - #include "printtext.h" > - #include "themes.h" > - > --static void event_status(ICB_SERVER_REC *server, const char *data) > -+static void icb_change_topic(ICB_SERVER_REC *server, const char *topic, > -+ const char *setby, time_t settime) > - { > -- char **args; > -+ if (topic != NULL) { > -+ g_free_not_null(server->group->topic); > -+ server->group->topic = g_strdup(topic); > -+ } > - > -- /* FIXME: status messages should probably divided into their own > -- signals so irssi could track joins, parts, etc. */ > -- args = icb_split(data, 2); > -- printformat(server, server->group->name, MSGLEVEL_CRAP, > -- ICBTXT_STATUS, args[0], args[1]); > -- icb_split_free(args); > -+ if (setby != NULL) { > -+ g_free_not_null(server->group->topic_by); > -+ server->group->topic_by = g_strdup(setby); > -+ } > -+ > -+ server->group->topic_time = settime; > -+ > -+ signal_emit("channel topic changed", 1, server->group); > - } > - > -+/* > -+ * ICB makes it hard to keep track of nicks: > -+ * > -+ * - moderators can come and go, and even return with a different nick, > while > -+ * still retaining their moderator status > -+ * > -+ * - group moderator can change at any time, if the moderator is off-group > -+ * while changing nick > -+ * > -+ * - users can be moderator of multiple groups simultaneously, but can only > -+ * be in one group at a time > -+ * > -+ * So for now we don't bother to track the moderator, just the group nicks > -+ */ > -+static void icb_update_nicklist(ICB_SERVER_REC *server) > -+{ > -+ /* > -+ * In theory we should be able to just send '/who <group>' and parse, > -+ * but the problem is that ICB does not send any kind of end-of-who > -+ * marker when only listing one group, and sending a separate command > -+ * isn't guaranteed to come back in the right order. > -+ * > -+ * So we're forced do perform a full /who and then match against our > -+ * groupname. A full /who is terminated with a 'Total: ' line which we > -+ * can use as EOF> > -+ */ > -+ server->silentwho = TRUE; > -+ icb_command(server, "w", "", NULL); > -+} > -+ > - static void event_error(ICB_SERVER_REC *server, const char *data) > - { > - printformat(server, NULL, MSGLEVEL_CRAP, ICBTXT_ERROR, data); > -@@ -84,15 +124,351 @@ static void event_personal(ICB_SERVER_REC *server, con > - icb_split_free(args); > - } > - > -+static void idle_time(char *buf, size_t bufsize, time_t idle) > -+{ > -+#define MIN_LEN 60UL > -+#define HOUR_LEN 3600UL > -+#define DAY_LEN 86400UL > -+#define WEEK_LEN 604800UL > -+ > -+ if (idle >= WEEK_LEN) > -+ snprintf(buf, bufsize, "%2dw%2dd", > -+ (int)(idle/WEEK_LEN), (int)((idle%WEEK_LEN)/DAY_LEN)); > -+ else if (idle >= DAY_LEN) > -+ snprintf(buf, bufsize, "%2dd%2dh", > -+ (int)(idle/DAY_LEN), (int)((idle%DAY_LEN)/HOUR_LEN)); > -+ else if (idle >= HOUR_LEN) > -+ snprintf(buf, bufsize, "%2dh%2dm", > -+ (int)(idle/HOUR_LEN), (int)((idle%HOUR_LEN)/MIN_LEN)); > -+ else if (idle >= MIN_LEN) > -+ snprintf(buf, bufsize, "%2dm%2ds", > -+ (int)(idle/MIN_LEN), (int)(idle%MIN_LEN)); > -+ else > -+ snprintf(buf, bufsize, " %2ds", (int)idle); > -+} > -+ > -+static void cmdout_co(ICB_SERVER_REC *server, char **args) > -+{ > -+ char *p, *group, *topic; > -+ int len; > -+ > -+ static const char match_group[] = "Group: "; > -+ static const char match_topic[] = "Topic: "; > -+ static const char match_topicunset[] = "(None)"; > -+ static const char match_topicis[] = "The topic is"; > -+ static const char match_total[] = "Total: "; > -+ > -+ /* > -+ * Use 'co' as the marker to denote wl lines have finished, so > -+ * reset the nick updates > -+ */ > -+ server->updatenicks = FALSE; > -+ > -+ /* If we're running in silent mode, parse the output for nicks/topic */ > -+ if (server->silentwho) { > -+ > -+ /* Match group lines */ > -+ len = strlen(match_group); > -+ if (strncmp(args[0], match_group, len) == 0) { > -+ > -+ group = g_strdup(args[0] + len); > -+ p = strchr(group, ' '); > -+ *p = '\0'; > -+ > -+ /* Check for our particular group */ > -+ len = strlen(group); > -+ if (g_ascii_strncasecmp(group, server->group->name, > len) == 0) { > -+ > -+ /* Start matching nicks */ > -+ server->updatenicks = TRUE; > -+ > -+ p = strstr(args[0], match_topic); > -+ if (p != NULL && p != args[0]) { > -+ topic = p + strlen(match_topic); > -+ if (topic != NULL) { > -+ len = strlen(match_topicunset); > -+ if (strncmp(topic, > -+ match_topicunset, > -+ len) != 0) { > -+ > -+ /* No way to find who > set the topic, mark as unknown */ > -+ > icb_change_topic(server, topic, "unknown", time(NULL)); > -+ } > -+ } > -+ } > -+ } > -+ g_free(group); > -+ } > -+ > -+ /* > -+ * End of /who output, stop silent mode and signal front-end > -+ * to display /names list > -+ */ > -+ len = strlen(match_total); > -+ if (strncmp(args[0], match_total, len) == 0) { > -+ server->silentwho = FALSE; > -+ signal_emit("channel joined", 1, server->group); > -+ } > -+ } else { > -+ /* Now that /topic works correctly, ignore server output */ > -+ len = strlen(match_topicis); > -+ if (strncmp(args[0], match_topicis, len) != 0) { > -+ printtext(server, NULL, MSGLEVEL_CRAP, "%s", args[0]); > -+ } > -+ } > -+} > -+ > -+static void cmdout_wl(ICB_SERVER_REC *server, char **args) > -+{ > -+ struct tm *logintime; > -+ char logbuf[20]; > -+ char idlebuf[20]; > -+ char line[255]; > -+ time_t temptime; > -+ int op; > -+ > -+ /* "wl" : In a who listing, a line of output listing a user. Has the > following format: > -+ > -+ * Field 1: String indicating whether user is moderator or not. Usually > "*" for > -+ * moderator, and " " for not. > -+ * Field 2: Nickname of user. > -+ * Field 3: Number of seconds user has been idle. > -+ * Field 4: Response Time. No longer in use. > -+ * Field 5: Login Time. Unix time_t format. Seconds since Jan. 1, 1970 > GMT. > -+ * Field 6: Username of user. > -+ * Field 7: Hostname of user. > -+ * Field 8: Registration status. > -+ */ > -+ temptime = strtol(args[4], NULL, 10); > -+ logintime = gmtime(&temptime); > -+ strftime(logbuf, sizeof(logbuf), "%b %e %H:%M", logintime); > -+ temptime = strtol(args[2], NULL, 10); > -+ idle_time(idlebuf, sizeof(idlebuf), temptime); > -+ > -+ /* Update nicklist */ > -+ if (server->updatenicks) { > -+ op = FALSE; > -+#ifdef NO_MOD_SUPPORT_YET > -+ switch(args[0][0]) { > -+ case '*': > -+ case 'm': > -+ op = TRUE; > -+ break; > -+ } > -+#endif > -+ icb_nicklist_insert(server->group, args[1], op); > -+ } > -+ if (!server->silentwho) { > -+ snprintf(line, sizeof(line), "*** %c%-14.14s %6.6s %12.12s > %s@%s %s", > -+ args[0][0] == ' '?' ':'*', args[1], idlebuf, logbuf, > args[5], > -+ args[6], args[7]); > -+ printtext(server, NULL, MSGLEVEL_CRAP, line); > -+ } > -+} > -+ > - static void cmdout_default(ICB_SERVER_REC *server, char **args) > - { > - char *data; > - > - data = g_strjoinv(" ", args+1); > -- printtext(server, server->group->name, MSGLEVEL_CRAP, "%s", data); > -+ if (!server->silentwho) { > -+ printtext(server, NULL, MSGLEVEL_CRAP, "%s", data); > -+ } > - g_free(data); > - } > - > -+/* > -+ * args0 = "Arrive" > -+ * args0 = "<nickname> (<user>@<host>) entered group" > -+ */ > -+static void status_arrive(ICB_SERVER_REC *server, char **args) > -+{ > -+ char *nick, *p; > -+ > -+ nick = g_strdup(args[1]); > -+ p = strchr(nick, ' '); > -+ *p = '\0'; > -+ /* XXX: new arrivals can still be moderator */ > -+ icb_nicklist_insert(server->group, nick, FALSE); > -+ g_free(nick); > -+ > -+ printformat(server, server->group->name, MSGLEVEL_CRAP, > -+ ICBTXT_STATUS, args[0], args[1]); > -+} > -+ > -+/* > -+ * args0 = "Depart" > -+ * args1 = "<nickname> (<user>@<host>) just left" > -+ */ > -+static void status_depart(ICB_SERVER_REC *server, char **args) > -+{ > -+ NICK_REC *nickrec; > -+ char *nick, *p; > -+ > -+ nick = g_strdup(args[1]); > -+ p = strchr(nick, ' '); > -+ *p = '\0'; > -+ > -+ nickrec = nicklist_find(CHANNEL(server->group), nick); > -+ if (nickrec != NULL) { > -+ nicklist_remove(CHANNEL(server->group), nickrec); > -+ } > -+ g_free(nick); > -+ > -+ printformat(server, server->group->name, MSGLEVEL_CRAP, > -+ ICBTXT_STATUS, args[0], args[1]); > -+} > -+ > -+/* > -+ * args0 = "Sign-on" > -+ * args1 = "<nickname> (<user>@<host>) entered group" > -+ */ > -+static void status_signon(ICB_SERVER_REC *server, char **args) > -+{ > -+ char *nick, *p; > -+ > -+ nick = g_strdup(args[1]); > -+ p = strchr(nick, ' '); > -+ *p = '\0'; > -+ > -+ icb_nicklist_insert(server->group, nick, FALSE); > -+ > -+ g_free(nick); > -+ > -+ printformat(server, server->group->name, MSGLEVEL_CRAP, > -+ ICBTXT_STATUS, args[0], args[1]); > -+} > -+ > -+/* > -+ * args0 = "Sign-off" > -+ * args1 = "<nickname> (<user>@<host>) has signed off." > -+ */ > -+static void status_signoff(ICB_SERVER_REC *server, char **args) > -+{ > -+ NICK_REC *nickrec; > -+ char *nick, *p; > -+ > -+ nick = g_strdup(args[1]); > -+ p = strchr(nick, ' '); > -+ *p = '\0'; > -+ > -+ nickrec = nicklist_find(CHANNEL(server->group), nick); > -+ if (nickrec != NULL) { > -+ nicklist_remove(CHANNEL(server->group), nickrec); > -+ } > -+ g_free(nick); > -+ > -+ printformat(server, server->group->name, MSGLEVEL_CRAP, > -+ ICBTXT_STATUS, args[0], args[1]); > -+} > -+ > -+/* > -+ * In theory should be status_status() but that's just silly :-) > -+ * > -+ * args0 = "Status" > -+ * args0 = "You are now in group <group>[ as moderator]" > -+ */ > -+static void status_join(ICB_SERVER_REC *server, char **args) > -+{ > -+ icb_update_nicklist(server); > -+ > -+ printformat(server, server->group->name, MSGLEVEL_CRAP, > -+ ICBTXT_STATUS, args[0], args[1]); > -+} > -+ > -+/* > -+ * args0 = "Name" > -+ * args1 = "<oldnick> changed nickname to <newnick>" > -+ */ > -+static void status_name(ICB_SERVER_REC *server, char **args) > -+{ > -+ NICK_REC *nickrec; > -+ char *oldnick, *newnick, *p; > -+ > -+ oldnick = g_strdup(args[1]); > -+ p = strchr(oldnick, ' '); > -+ if (p != NULL) *p = '\0'; > -+ > -+ p = g_strdup(args[1]); > -+ newnick = strrchr(p, ' '); > -+ if (newnick != NULL) > -+ newnick++; > -+ > -+ nickrec = nicklist_find(CHANNEL(server->group), oldnick); > -+ if (nickrec != NULL) > -+ nicklist_rename(SERVER(server), oldnick, newnick); > -+ > -+ /* Update our own nick */ > -+ if (strcmp(oldnick, server->connrec->nick) == 0) { > -+ server_change_nick(SERVER(server), newnick); > -+ g_free(server->connrec->nick); > -+ server->connrec->nick = g_strdup(newnick); > -+ } > -+ > -+ g_free(oldnick); > -+ g_free(p); > -+ > -+ printformat(server, server->group->name, MSGLEVEL_CRAP, > -+ ICBTXT_STATUS, args[0], args[1]); > -+} > -+ > -+/* > -+ * args0 = "Topic" > -+ * args1 = "<nickname> changed the topic to "<topic>" > -+ */ > -+static void status_topic(ICB_SERVER_REC *server, char **args) > -+{ > -+ char *topic, *setby, *p1, *p2; > -+ > -+ p1 = strchr(args[1], '"'); > -+ p2 = strrchr(args[1], '"'); > -+ > -+ if (p1++) { > -+ topic = g_strdup(p1); > -+ p2 = strrchr(topic, '"'); > -+ *p2 = '\0'; > -+ > -+ setby = g_strdup(args[1]); > -+ p2 = strchr(setby, ' '); > -+ *p2 = '\0'; > -+ > -+ icb_change_topic(server, topic, setby, time(NULL)); > -+ > -+ g_free(topic); > -+ g_free(setby); > -+ } > -+ > -+ printformat(server, server->group->name, MSGLEVEL_CRAP, > -+ ICBTXT_STATUS, args[0], args[1]); > -+} > -+ > -+/* > -+ * args0 = "Pass" > -+ * args1 = "<nickname> just passed you moderation of group <group>" > -+ * args1 = "<nickname> has passed moderation to <nickname>" > -+ * args1 = "<nickname> is now mod." > -+ * > -+ * If the moderator signs off and you are passed moderation, then the third > -+ * args1 is used. > -+ * > -+ */ > -+static void status_pass(ICB_SERVER_REC *server, char **args) > -+{ > -+ /* > -+ * Eventually we might want to track this, for now just print status > -+ * to the group window > -+ */ > -+ printformat(server, server->group->name, MSGLEVEL_CRAP, > -+ ICBTXT_STATUS, args[0], args[1]); > -+} > -+ > -+static void status_default(ICB_SERVER_REC *server, char **args) > -+{ > -+ /* Send messages to the group window by default */ > -+ printformat(server, server->group->name, MSGLEVEL_CRAP, > -+ ICBTXT_STATUS, args[0], args[1]); > -+} > -+ > - static void sig_server_add_fill(SERVER_SETUP_REC *rec, > - GHashTable *optlist) > - { > -@@ -109,13 +485,23 @@ void fe_icb_init(void) > - { > - theme_register(fecommon_icb_formats); > - > -- signal_add("icb event status", (SIGNAL_FUNC) event_status); > - signal_add("icb event error", (SIGNAL_FUNC) event_error); > - signal_add("icb event important", (SIGNAL_FUNC) event_important); > - signal_add("icb event beep", (SIGNAL_FUNC) event_beep); > - signal_add("icb event open", (SIGNAL_FUNC) event_open); > - signal_add("icb event personal", (SIGNAL_FUNC) event_personal); > -+ signal_add("icb cmdout co", (SIGNAL_FUNC) cmdout_co); > -+ signal_add("icb cmdout wl", (SIGNAL_FUNC) cmdout_wl); > - signal_add("default icb cmdout", (SIGNAL_FUNC) cmdout_default); > -+ signal_add("icb status arrive", (SIGNAL_FUNC) status_arrive); > -+ signal_add("icb status depart", (SIGNAL_FUNC) status_depart); > -+ signal_add("icb status sign-on", (SIGNAL_FUNC) status_signon); > -+ signal_add("icb status sign-off", (SIGNAL_FUNC) status_signoff); > -+ signal_add("icb status status", (SIGNAL_FUNC) status_join); > -+ signal_add("icb status topic", (SIGNAL_FUNC) status_topic); > -+ signal_add("icb status name", (SIGNAL_FUNC) status_name); > -+ signal_add("icb status pass", (SIGNAL_FUNC) status_pass); > -+ signal_add("default icb status", (SIGNAL_FUNC) status_default); > - > - signal_add("server add fill", (SIGNAL_FUNC) sig_server_add_fill); > - command_set_options("server add", "-icbnet"); > -@@ -125,13 +511,23 @@ void fe_icb_init(void) > - > - void fe_icb_deinit(void) > - { > -- signal_remove("icb event status", (SIGNAL_FUNC) event_status); > - signal_remove("icb event error", (SIGNAL_FUNC) event_error); > - signal_remove("icb event important", (SIGNAL_FUNC) event_important); > - signal_remove("icb event beep", (SIGNAL_FUNC) event_beep); > - signal_remove("icb event open", (SIGNAL_FUNC) event_open); > - signal_remove("icb event personal", (SIGNAL_FUNC) event_personal); > -+ signal_remove("icb cmdout co", (SIGNAL_FUNC) cmdout_co); > -+ signal_remove("icb cmdout wl", (SIGNAL_FUNC) cmdout_wl); > - signal_remove("default icb cmdout", (SIGNAL_FUNC) cmdout_default); > -+ signal_remove("icb status arrive", (SIGNAL_FUNC) status_arrive); > -+ signal_remove("icb status depart", (SIGNAL_FUNC) status_depart); > -+ signal_remove("icb status sign-on", (SIGNAL_FUNC) status_signon); > -+ signal_remove("icb status sign-off", (SIGNAL_FUNC) status_signoff); > -+ signal_remove("icb status status", (SIGNAL_FUNC) status_join); > -+ signal_remove("icb status topic", (SIGNAL_FUNC) status_topic); > -+ signal_remove("icb status name", (SIGNAL_FUNC) status_name); > -+ signal_remove("icb status pass", (SIGNAL_FUNC) status_pass); > -+ signal_remove("default icb status", (SIGNAL_FUNC) status_default); > - > - signal_remove("server add fill", (SIGNAL_FUNC) sig_server_add_fill); > - } > Index: irssi-icb/patches/patch-src_fe-common_module-formats_c > =================================================================== > RCS file: > /cvs/ports/net/irssi-icb/patches/patch-src_fe-common_module-formats_c,v > retrieving revision 1.1 > diff -u -p -r1.1 patch-src_fe-common_module-formats_c > --- irssi-icb/patches/patch-src_fe-common_module-formats_c 21 Apr 2008 > 10:35:27 -0000 1.1 > +++ irssi-icb/patches/patch-src_fe-common_module-formats_c 29 Dec 2015 > 19:54:07 -0000 > @@ -1,14 +1,15 @@ > -$OpenBSD: patch-src_fe-common_module-formats_c,v 1.1 2008/04/21 10:35:27 > sthen Exp $ > ---- src/fe-common/module-formats.c.orig Sat Apr 27 21:56:18 2002 > -+++ src/fe-common/module-formats.c Sun Oct 21 15:31:29 2007 > -@@ -30,7 +30,9 @@ FORMAT_REC fecommon_icb_formats[] = { > +$OpenBSD$ > + > +pkgsrc patch-src_fe-common_module-formats.c r1.1 > + > +--- src/fe-common/module-formats.c.orig Mon Jun 13 19:10:41 2011 > ++++ src/fe-common/module-formats.c Tue Dec 29 18:55:00 2015 > +@@ -30,7 +30,7 @@ FORMAT_REC fecommon_icb_formats[] = { > { "status", "[$0] $1", 2, { 0, 0 } }, > { "important", "[$0!] $1", 2, { 0, 0 } }, > { "status", "{error [Error]} $0", 1, { 0 } }, > -- { "beep", "[beep] $1 beeps you", 1, { 0 } }, > -+ { "beep", "[beep] $0 wants to annoy you.", 1, { 0 } }, > -+ { "who_header", " Nickname Idle Sign-On Account", 0 }, > -+ { "who_list", "$0$[13]1 $[-6]2 $[12]3 $4@$5 $6", 7, { 0, 0, 0, 0, 0, 0, > 0 } }, > +- { "beep", "[Beep] $1 beeps you", 1, { 0 } }, > ++ { "beep", "[Beep] $0 beeps you", 1, { 0 } }, > > { NULL, NULL, 0 } > }; > Index: irssi-icb/patches/patch-src_fe-common_module-formats_h > =================================================================== > RCS file: irssi-icb/patches/patch-src_fe-common_module-formats_h > diff -N irssi-icb/patches/patch-src_fe-common_module-formats_h > --- irssi-icb/patches/patch-src_fe-common_module-formats_h 21 Apr 2008 > 10:35:27 -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,14 +0,0 @@ > -$OpenBSD: patch-src_fe-common_module-formats_h,v 1.1 2008/04/21 10:35:27 > sthen Exp $ > ---- src/fe-common/module-formats.h.orig Sat Apr 27 21:56:18 2002 > -+++ src/fe-common/module-formats.h Sun Oct 21 15:31:29 2007 > -@@ -8,7 +8,9 @@ enum { > - ICBTXT_STATUS, > - ICBTXT_IMPORTANT, > - ICBTXT_ERROR, > -- ICBTXT_BEEP > -+ ICBTXT_BEEP, > -+ ICBTXT_WHO_HEADER, > -+ ICBTXT_WHO_LIST > - }; > - > - extern FORMAT_REC fecommon_icb_formats[]; > Index: irssi-otr/Makefile > =================================================================== > RCS file: /cvs/ports/net/irssi-otr/Makefile,v > retrieving revision 1.4 > diff -u -p -r1.4 Makefile > --- irssi-otr/Makefile 12 Jan 2015 00:13:53 -0000 1.4 > +++ irssi-otr/Makefile 29 Dec 2015 19:54:07 -0000 > @@ -5,6 +5,7 @@ SHARED_ONLY = Yes > COMMENT = OTR (off the record) encryption support for irssi > > V = 1.0.1 > +REVISION = 0 > DISTNAME = irssi-otr-$V > > CATEGORIES = net security > Index: irssi-silc/Makefile > =================================================================== > RCS file: /cvs/ports/net/irssi-silc/Makefile,v > retrieving revision 1.32 > diff -u -p -r1.32 Makefile > --- irssi-silc/Makefile 22 Jan 2015 15:18:43 -0000 1.32 > +++ irssi-silc/Makefile 29 Dec 2015 19:54:07 -0000 > @@ -5,7 +5,7 @@ SHARED_ONLY= Yes > COMMENT= SILC plugin for irssi > > DISTNAME= irssi-silc-1.1.8 > -REVISION= 5 > +REVISION= 6 > > CATEGORIES= net > > Index: irssi-xmpp/Makefile > =================================================================== > RCS file: /cvs/ports/net/irssi-xmpp/Makefile,v > retrieving revision 1.5 > diff -u -p -r1.5 Makefile > --- irssi-xmpp/Makefile 10 Jan 2014 23:57:32 -0000 1.5 > +++ irssi-xmpp/Makefile 29 Dec 2015 19:54:07 -0000 > @@ -5,7 +5,7 @@ SHARED_ONLY= Yes > COMMENT= XMPP plugin for irssi > > DISTNAME= irssi-xmpp-0.52 > -REVISION = 2 > +REVISION = 3 > > CATEGORIES= net > >