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?

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
 

Reply via email to