We last updated net/loudmouth in 2008. Upstream is gone, and the
following depend on it:

 o net/mcabber
 o net/irssi-xmpp
 o net/freetalk
 o lang/io (strangly)

I know that at least two of those are pretty common chat clients.
Because loudmouth is a network-exposed XMPP library, this is probably a
dangerous situation. The best solution is likely to switch to a
(somewhat) maintained fork from the mcabber people:

https://github.com/mcabber/loudmouth

Below is an initial patch for that. I haven't tested whether it works
with its dependencies yet - I thought I'd get a sanity check first.

A few things to note:

 o I have to remove "include $(top_srcdir)/gtk-doc.make" from one of the
   Makefile.am's or the build fails

 o Their means of checking for strndup(3) support didn't work, so I just
   removed their redefinition

 o I don't entirely know what I'm doing with the autononsense, so there
   may be an easier way of dealing with it


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/loudmouth/Makefile,v
retrieving revision 1.25
diff -u -p -r1.25 Makefile
--- Makefile    21 Apr 2015 18:24:23 -0000      1.25
+++ Makefile    3 Mar 2016 00:09:35 -0000
@@ -2,13 +2,16 @@
 
 COMMENT=               lightweight Jabber client library
 
-V=                     1.4.3
-DISTNAME=              loudmouth-$V
-REVISION=              6
+VERSION =              1.5.0
+DISTNAME =             loudmouth-${VERSION}
+
 SHARED_LIBS += loudmouth-1          3.0      # .1.0
 CATEGORIES=            net devel
 
-HOMEPAGE=              http://groups.google.com/group/loudmouth-dev/
+GH_ACCOUNT =           mcabber
+GH_PROJECT =           loudmouth
+
+DISTFILES =            ${VERSION}${EXTRACT_SUFX}
 
 # LGPLv2.1
 PERMIT_PACKAGE_CDROM=  Yes
@@ -17,18 +20,33 @@ WANTLIB += crypto glib-2.0 idn>=16 pcre 
 
 MODULES=               devel/gettext
 
-MASTER_SITES=          
${MASTER_SITE_GNOME:=sources/loudmouth/${V:C/^([0-9]+\.[0-9]+).*/\1/}/}
-EXTRACT_SUFX=          .tar.bz2
-
 LIB_DEPENDS=           devel/glib2 \
                        devel/libidn
-BUILD_DEPENDS=         ${TEST_DEPENDS}
-TEST_DEPENDS=  devel/check
 
-CONFIGURE_STYLE=       gnu
+BUILD_DEPENDS =                ${TEST_DEPENDS} \
+                       ${MODGNU_AUTOCONF_DEPENDS} \
+                       ${MODGNU_AUTOMAKE_DEPENDS} \
+                       devel/libtool
+
+TEST_DEPENDS =         devel/check
+
+CONFIGURE_STYLE =      autoconf automake gnu
+AUTOCONF_VERSION =     2.69
+AUTOMAKE_VERSION =     1.15
+# with-compile-warnings=yes prevents it from using -Werror
 CONFIGURE_ARGS+=       ${CONFIGURE_SHARED} \
                        --disable-mono \
                        --with-check=${LOCALBASE} \
+                       --with-compile-warnings=yes \
                        --with-ssl=openssl
+
+AUTO_ENV =             AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \
+                       AUTOCONF_VERSION=${AUTOCONF_VERSION}
+
+post-patch:
+       cd ${WRKSRC}; ${AUTO_ENV} aclocal
+
+pre-configure:
+       cd ${WRKSRC}; libtoolize && ${AUTO_ENV} automake --add-missing --foreign
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/loudmouth/distinfo,v
retrieving revision 1.6
diff -u -p -r1.6 distinfo
--- distinfo    18 Jan 2015 03:14:42 -0000      1.6
+++ distinfo    3 Mar 2016 00:09:35 -0000
@@ -1,2 +1,2 @@
-SHA256 (loudmouth-1.4.3.tar.bz2) = lak/XQCbceqBk9mUqhHzEbwzCj7+G3zXTcSPEcf5KeM=
-SIZE (loudmouth-1.4.3.tar.bz2) = 366818
+SHA256 (1.5.0.tar.gz) = UUAxemOEUMl3pynexUW1lTjqSy5Rndcj07/aEsonhmU=
+SIZE (1.5.0.tar.gz) = 124001
Index: patches/patch-configure
===================================================================
RCS file: patches/patch-configure
diff -N patches/patch-configure
--- patches/patch-configure     18 Nov 2008 11:41:23 -0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-$OpenBSD: patch-configure,v 1.3 2008/11/18 11:41:23 jasper Exp $
---- configure.orig     Wed Oct 29 21:25:57 2008
-+++ configure  Tue Nov 18 12:33:20 2008
-@@ -21423,6 +21423,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- 
- #include <stdio.h>
- #include <stdlib.h>
-+#include <string.h>
- 
- #include <check.h>
- 
-@@ -21532,6 +21533,7 @@ cat >>conftest.$ac_ext <<_ACEOF
- 
- #include <stdio.h>
- #include <stdlib.h>
-+#include <string.h>
- 
- #include <check.h>
- 
Index: patches/patch-docs_reference_Makefile_am
===================================================================
RCS file: patches/patch-docs_reference_Makefile_am
diff -N patches/patch-docs_reference_Makefile_am
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-docs_reference_Makefile_am    3 Mar 2016 00:09:35 -0000
@@ -0,0 +1,13 @@
+$OpenBSD$
+--- docs/reference/Makefile.am.orig    Wed Mar  2 14:22:02 2016
++++ docs/reference/Makefile.am Wed Mar  2 14:22:25 2016
+@@ -80,9 +80,6 @@ GTKDOC_LIBS=                                         \
+       $(top_builddir)/loudmouth/libloudmouth.la
+ 
+ 
+-# This includes the standard gtk-doc make rules, copied by gtkdocize.
+-include $(top_srcdir)/gtk-doc.make
+-
+ # Other files to distribute
+ # e.g. EXTRA_DIST += version.xml.in
+ EXTRA_DIST += 
Index: patches/patch-loudmouth_Makefile_in
===================================================================
RCS file: patches/patch-loudmouth_Makefile_in
diff -N patches/patch-loudmouth_Makefile_in
--- patches/patch-loudmouth_Makefile_in 20 Aug 2008 16:11:11 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$OpenBSD: patch-loudmouth_Makefile_in,v 1.1 2008/08/20 16:11:11 jasper Exp $
---- loudmouth/Makefile.in.orig Mon Aug  4 13:37:02 2008
-+++ loudmouth/Makefile.in      Mon Aug  4 13:37:12 2008
-@@ -306,8 +306,7 @@ libloudmouthinclude_HEADERS = \
- 
- libloudmouth_1_la_LIBADD = \
-       $(LOUDMOUTH_LIBS)               \
--      $(LIBIDN_LIBS) \
--      -lresolv
-+      $(LIBIDN_LIBS)
- 
- libloudmouth_1_la_LDFLAGS = \
-       -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
Index: patches/patch-loudmouth_asyncns_c
===================================================================
RCS file: patches/patch-loudmouth_asyncns_c
diff -N patches/patch-loudmouth_asyncns_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-loudmouth_asyncns_c   3 Mar 2016 00:09:35 -0000
@@ -0,0 +1,39 @@
+$OpenBSD$
+--- loudmouth/asyncns.c.orig   Mon Mar  9 19:05:59 2009
++++ loudmouth/asyncns.c        Wed Mar  2 14:31:49 2016
+@@ -24,6 +24,7 @@
+ 
+ /* #undef HAVE_PTHREAD */
+ 
++#include <sys/resource.h>
+ #include <assert.h>
+ #include <fcntl.h>
+ #include <signal.h>
+@@ -176,27 +177,6 @@ typedef struct res_query_response {
+     int _errno;
+     int _h_errno;
+ } res_response_t;
+-
+-#ifndef HAVE_STRNDUP
+-
+-static char *strndup(const char *s, size_t l) {
+-    size_t a;
+-    char *n;
+-
+-    a = strlen(s);
+-    if (a > l)
+-        a = l;
+-
+-    if (!(n = malloc(a+1)))
+-        return NULL;
+-
+-    memcpy(n, s, a);
+-    n[a] = 0;
+-
+-    return n;
+-}
+-
+-#endif
+ 
+ #ifndef HAVE_PTHREAD
+ 
Index: patches/patch-loudmouth_lm-error_c
===================================================================
RCS file: /cvs/ports/net/loudmouth/patches/patch-loudmouth_lm-error_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-loudmouth_lm-error_c
--- patches/patch-loudmouth_lm-error_c  23 Mar 2012 13:28:25 -0000      1.1
+++ patches/patch-loudmouth_lm-error_c  3 Mar 2016 00:09:35 -0000
@@ -2,9 +2,9 @@ $OpenBSD: patch-loudmouth_lm-error_c,v 1
 
 error: #error "Only <glib.h> can be included directly."
 
---- loudmouth/lm-error.c.orig  Sun Mar 18 07:26:55 2012
-+++ loudmouth/lm-error.c       Sun Mar 18 07:27:04 2012
-@@ -19,7 +19,7 @@
+--- loudmouth/lm-error.c.orig  Mon Mar  9 19:05:59 2009
++++ loudmouth/lm-error.c       Wed Mar  2 14:21:01 2016
+@@ -25,7 +25,7 @@
   */
  
  #include <config.h>
@@ -12,4 +12,4 @@ error: #error "Only <glib.h> can be incl
 +#include <glib.h>
  #include "lm-error.h"
  
- /**
+ GQuark
Index: patches/patch-loudmouth_lm-resolver_c
===================================================================
RCS file: patches/patch-loudmouth_lm-resolver_c
diff -N patches/patch-loudmouth_lm-resolver_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-loudmouth_lm-resolver_c       3 Mar 2016 00:09:35 -0000
@@ -0,0 +1,11 @@
+$OpenBSD$
+--- loudmouth/lm-resolver.c.orig       Wed Mar  2 14:37:08 2016
++++ loudmouth/lm-resolver.c    Wed Mar  2 14:37:26 2016
+@@ -27,6 +27,7 @@
+ #include <arpa/nameser_compat.h>
+ #endif
+ 
++#include <netinet/in.h>
+ #include <arpa/nameser.h>
+ #include <resolv.h>
+ 
Index: patches/patch-loudmouth_lm-ssl-openssl_c
===================================================================
RCS file: patches/patch-loudmouth_lm-ssl-openssl_c
diff -N patches/patch-loudmouth_lm-ssl-openssl_c
--- patches/patch-loudmouth_lm-ssl-openssl_c    19 Jan 2009 10:54:27 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-$OpenBSD: patch-loudmouth_lm-ssl-openssl_c,v 1.1 2009/01/19 10:54:27 jasper 
Exp $
---- loudmouth/lm-ssl-openssl.c.orig    Mon Jan 19 11:50:51 2009
-+++ loudmouth/lm-ssl-openssl.c Mon Jan 19 11:51:45 2009
-@@ -305,6 +305,14 @@ _lm_ssl_initialize (LmSSL *ssl) 
-               g_warning ("SSL_CTX_new() == NULL");
-               abort();
-       }
-+      /* Set the NO_TICKET option on the context to allow for talk to Google 
Talk 
-+       * which apparently seems to be having a problem handling empty session 
-+       * tickets due to a bug in Java.
-+       *
-+       * See http://twistedmatrix.com/trac/ticket/3463 and
-+       * Loudmouth [#28].
-+       */
-+      SSL_CTX_set_options (ssl->ssl_ctx, SSL_OP_NO_TICKET);
-       /*if (access("/etc/ssl/cert.pem", R_OK) == 0)
-               cert_file = "/etc/ssl/cert.pem";
-       if (!SSL_CTX_load_verify_locations(ssl->ssl_ctx,
Index: patches/patch-tests-Makefile_in
===================================================================
RCS file: patches/patch-tests-Makefile_in
diff -N patches/patch-tests-Makefile_in
--- patches/patch-tests-Makefile_in     20 Aug 2008 16:11:11 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
-$OpenBSD: patch-tests-Makefile_in,v 1.2 2008/08/20 16:11:11 jasper Exp $
---- tests/Makefile.in.orig     Mon Aug  4 13:23:35 2008
-+++ tests/Makefile.in  Mon Aug  4 13:24:03 2008
-@@ -52,7 +52,7 @@ test_objects_LDADD = $(LDADD)
- am_test_parser_OBJECTS = test-parser.$(OBJEXT)
- test_parser_OBJECTS = $(am_test_parser_OBJECTS)
- test_parser_LDADD = $(LDADD)
--DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -I${TRUEPREFIX}/include
- depcomp = $(SHELL) $(top_srcdir)/depcomp
- am__depfiles_maybe = depfiles
- COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-@@ -127,7 +127,7 @@ INSTALL_DATA = @INSTALL_DATA@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
--LDFLAGS = @LDFLAGS@
-+LDFLAGS = @LDFLAGS@ -lcheck
- LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
- LIBGNUTLS_CONFIG = @LIBGNUTLS_CONFIG@
- LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@

Reply via email to