pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/chat/irssi-icb Update irssi-icb to version 0.15. Requ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/43d67019c185
branches:  trunk
changeset: 639891:43d67019c185
user:      jperkin <jperkin%pkgsrc.org@localhost>
date:      Tue Sep 30 08:59:58 2014 +0000

description:
Update irssi-icb to version 0.15.  Requested during the freeze by agc, as
the version number accidentally went backwards in the last irssi update.

This release mainly incorporates most of the pkgsrc patches into the upstream
tarball, so the only real change of note is that /beep output has been fixed.

diffstat:

 chat/irssi-icb/Makefile                                     |    8 +-
 chat/irssi-icb/distinfo                                     |   25 +-
 chat/irssi-icb/patches/patch-aa                             |   13 -
 chat/irssi-icb/patches/patch-ab                             |  489 ------------
 chat/irssi-icb/patches/patch-ac                             |   13 -
 chat/irssi-icb/patches/patch-ad                             |   19 -
 chat/irssi-icb/patches/patch-ae                             |   16 -
 chat/irssi-icb/patches/patch-af                             |  167 ----
 chat/irssi-icb/patches/patch-ag                             |   33 -
 chat/irssi-icb/patches/patch-ah                             |   13 -
 chat/irssi-icb/patches/patch-ai                             |   13 -
 chat/irssi-icb/patches/patch-aj                             |   41 -
 chat/irssi-icb/patches/patch-al                             |   14 -
 chat/irssi-icb/patches/patch-am                             |    4 +-
 chat/irssi-icb/patches/patch-an                             |    4 +-
 chat/irssi-icb/patches/patch-src_core_Makefile.in           |   39 +
 chat/irssi-icb/patches/patch-src_fe-common_module-formats.c |   15 +
 17 files changed, 72 insertions(+), 854 deletions(-)

diffs (truncated from 1012 to 300 lines):

diff -r 990e05cf39b8 -r 43d67019c185 chat/irssi-icb/Makefile
--- a/chat/irssi-icb/Makefile   Tue Sep 30 08:17:17 2014 +0000
+++ b/chat/irssi-icb/Makefile   Tue Sep 30 08:59:58 2014 +0000
@@ -1,12 +1,12 @@
-# $NetBSD: Makefile,v 1.37 2014/06/07 23:49:47 ryoon Exp $
+# $NetBSD: Makefile,v 1.38 2014/09/30 08:59:58 jperkin Exp $
 #
 
-DISTNAME=      irssi-icb-0.14
+DISTNAME=      irssi-icb-0.15
 CATEGORIES=    chat
-MASTER_SITES=  http://www.irssi.org/files/plugins/icb/
+MASTER_SITES=  https://github.com/downloads/jperkin/irssi-icb/
 DISTFILES=     ${DISTNAME}.tar.gz ${IRSSI_DISTFILE}
 
-MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+MAINTAINER=    jperkin%joyent.com@localhost
 HOMEPAGE=      http://www.irssi.org/
 COMMENT=       Irssi plugin to access ICB networks
 LICENSE=       gnu-gpl-v2
diff -r 990e05cf39b8 -r 43d67019c185 chat/irssi-icb/distinfo
--- a/chat/irssi-icb/distinfo   Tue Sep 30 08:17:17 2014 +0000
+++ b/chat/irssi-icb/distinfo   Tue Sep 30 08:59:58 2014 +0000
@@ -1,21 +1,12 @@
-$NetBSD: distinfo,v 1.19 2014/06/07 23:49:47 ryoon Exp $
+$NetBSD: distinfo,v 1.20 2014/09/30 08:59:58 jperkin Exp $
 
 SHA1 (irssi-0.8.16.tar.bz2) = 631dd70b6d3872c5f81c1a46a6872fef5bd65ffb
 RMD160 (irssi-0.8.16.tar.bz2) = 2d4caefc9d713b0ff4b26ceaa63430f1bb346caa
 Size (irssi-0.8.16.tar.bz2) = 986129 bytes
-SHA1 (irssi-icb-0.14.tar.gz) = 31d7a5d04a896e0e19db44b4d76b7ac85af1a5d4
-RMD160 (irssi-icb-0.14.tar.gz) = dd104925ece6eabd0112b86b9eb6898846ba8f52
-Size (irssi-icb-0.14.tar.gz) = 172647 bytes
-SHA1 (patch-aa) = b94bae58a59f4d96a107ad123a6abe7ac0ca375a
-SHA1 (patch-ab) = 6ca4512785b91e7a05cccd8806dbcab969e91cca
-SHA1 (patch-ac) = 68409b392f3212a8da9a79c2dfcc4dc265504d98
-SHA1 (patch-ad) = f5cf3b9294a1a8a450f8c380ff41bbaafd425337
-SHA1 (patch-ae) = ee3ed714e2f1d136562b87cfd82bc4b58b7d80df
-SHA1 (patch-af) = 169f32783892241133df73b25817c562531c69c9
-SHA1 (patch-ag) = 2823b763c76c37e4f382cc09456cccb56f1007fc
-SHA1 (patch-ah) = 097bab1ebd959372a0266fa5d9a99c78c3a2c1fe
-SHA1 (patch-ai) = 42ce6c309957c3e46c638e2599b932b6ea4065ee
-SHA1 (patch-aj) = 3a46a61b0bd5763f78e85d6a0bff1d1223e8da39
-SHA1 (patch-al) = 2a190b803f00beb83c123bc3416e23ec7c7edc69
-SHA1 (patch-am) = 832aa40a84afbfff303e6080bf420ca2ceec289f
-SHA1 (patch-an) = 0a936cbdb49f9a1bf65d5e92da5d37de65238d27
+SHA1 (irssi-icb-0.15.tar.gz) = c5a739960eb98e6686a94f6d4662cfab5a95d447
+RMD160 (irssi-icb-0.15.tar.gz) = b947a341e1fc2f6d42bee3cb7b738bfdbb0a031d
+Size (irssi-icb-0.15.tar.gz) = 306973 bytes
+SHA1 (patch-am) = 3bd9e38d0fde6d99d9b6a6ad67268bd63a8a92e2
+SHA1 (patch-an) = bca7fff754b60b49a6322bd5595a4a7f4003a828
+SHA1 (patch-src_core_Makefile.in) = d052d78b4f084da51498f1df934ca16412b8e5a0
+SHA1 (patch-src_fe-common_module-formats.c) = 5af701e6919051c834c52e6932e0028324362b9f
diff -r 990e05cf39b8 -r 43d67019c185 chat/irssi-icb/patches/patch-aa
--- a/chat/irssi-icb/patches/patch-aa   Tue Sep 30 08:17:17 2014 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-$NetBSD: patch-aa,v 1.2 2010/08/10 20:26:36 sketch Exp $
-
---- src/fe-common/Makefile.in.orig     2002-11-24 13:18:08.000000000 +0000
-+++ src/fe-common/Makefile.in  2010-08-10 20:57:17.000000000 +0100
-@@ -83,7 +83,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)  -I$(IRSSI_INCLUDE) -I$(IRSSI_INCLUDE)/src       -I$(IRSSI_INCLUDE)/src/core -I$(IRSSI_INCLUDE)/src/fe-common/core       -I$(top_srcdir)/src/core
- 
diff -r 990e05cf39b8 -r 43d67019c185 chat/irssi-icb/patches/patch-ab
--- a/chat/irssi-icb/patches/patch-ab   Tue Sep 30 08:17:17 2014 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,489 +0,0 @@
-$NetBSD: patch-ab,v 1.3 2010/08/10 20:26:36 sketch Exp $
-
---- src/fe-common/fe-icb.c     (revision 5174)
-+++ src/fe-common/fe-icb.c     (working copy)
-@@ -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 @@
-         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",



Home | Main Index | Thread Index | Old Index