On 2021/08/26 23:26, Florian Viehweger wrote:
> Hi,
> 
> this updates profanity to 0.11.0.
> 
> Changes are listed here [1] as they are too long to list in this mail.
> 
> This version fixes several issues regarding OMEMO. Additional the XMPP
> library is changed to libstrophe, as libmesode is deprecated upstream.
> 
> portcheck, 'make lib-depends-check' and 'make test' are happy for both
> profanity and libstrophe.
> 
> Tested on amd64. I'm using it with 'standard' conversations with OMEMO
> and on an another server with a self signed certificate in a MUC chat
> room, again with OMEMO. No issues so far, it is running fine.
> 
> As libmesode is deprecated, I've modified devel/quirks.
> 
> Comments? OK?

This is looking pretty good. Couple of small things inline:

> Thanks!
> 
> [1] https://github.com/profanity-im/profanity/releases/tag/0.11.0
> 
> 
> Index: devel/quirks/files/Quirks.pm
> ===================================================================
> RCS file: /cvs/ports/devel/quirks/files/Quirks.pm,v
> retrieving revision 1.1296
> diff -u -p -u -p -r1.1296 Quirks.pm
> --- devel/quirks/files/Quirks.pm      10 Aug 2021 20:43:52 -0000      1.1296
> +++ devel/quirks/files/Quirks.pm      26 Aug 2021 20:25:58 -0000
> @@ -477,7 +477,8 @@ my $stem_extensions = {
>       'py-spark-parser' => 'py3-spark-parser',
>       'py-xdis' => 'py3-xdis',
>       'py-uncompyle6' => 'py3-uncompyle6',
> -     'py-click' => 'py3-click'
> +     'py-click' => 'py3-click',
> +     'libmesode' => 'libstrophe'
>  };
>  
>  my $obsolete_reason = {};
> @@ -647,7 +648,6 @@ setup_obsolete_reason(
>       6 => 'suricata-update',
>       1 => 'exploitdb-papers',
>       3 => 'nautilus-sendto',
> -     5 => 'libstrophe',
>       2 => 'ghostview',
>       7 => 'libcudf',
>       7 => 'ocaml-cudf',
> @@ -1234,6 +1234,7 @@ setup_obsolete_reason(
>       3 => 'qt4-postgresql',
>       3 => 'qt4-sqlite2',
>       3 => 'qt4-tds',
> +     5 => 'libmesode',
>  );

With the $stem_extensions addition that will automatically replace
libmesode with libstrophe, there shouldn't be a $obsolete_reason entry
for this. quirks needs a REVISION bump.

>  
>  # though it's not yet used, these should be pkgnames, so that eventually
> Index: net/Makefile
> ===================================================================
> RCS file: /cvs/ports/net/Makefile,v
> retrieving revision 1.1262
> diff -u -p -u -p -r1.1262 Makefile
> --- net/Makefile      24 Jul 2021 21:33:15 -0000      1.1262
> +++ net/Makefile      26 Aug 2021 20:26:04 -0000
> @@ -225,6 +225,7 @@
>       SUBDIR += libsignal-protocol-c
>       SUBDIR += libsmi
>       SUBDIR += libst
> +     SUBDIR += libstrophe
>       SUBDIR += libtorrent
>       SUBDIR += libtorrent-rasterbar
>       SUBDIR += libunbound

libmesode should be removed from net/Makefile

> Index: net/libmesode/Makefile
> ===================================================================
> RCS file: net/libmesode/Makefile
> diff -N net/libmesode/Makefile
> --- net/libmesode/Makefile    23 Oct 2020 13:44:41 -0000      1.6
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,39 +0,0 @@
> -# $OpenBSD: Makefile,v 1.6 2020/10/23 13:44:41 rsadowski Exp $
> -
> -COMMENT =    fork of libstrophe for use with profanity XMPP client
> -
> -GH_ACCOUNT = boothj5
> -GH_PROJECT = libmesode
> -GH_TAGNAME = 0.10.1
> -
> -CATEGORIES = net devel
> -
> -SHARED_LIBS +=  mesode                    1.0 # 0.0
> -
> -MAINTAINER = Rafael Sadowski <rsadow...@openbsd.org>
> -
> -# Dual licensed: MIT and GPLv3
> -PERMIT_PACKAGE =     Yes
> -
> -WANTLIB += crypto expat ssl
> -
> -# Only needed for tests, but cannot be a TEST_DEPENDS.
> -# Check must be present at build time for tests to work.
> -BUILD_DEPENDS +=     devel/check
> -
> -SEPARATE_BUILD =     Yes
> -
> -USE_GMAKE =          Yes
> -
> -AUTOMAKE_VERSION =   1.16
> -AUTOCONF_VERSION =   2.69
> -
> -MAKE_FLAGS =         CC="${CC}" \
> -                     CFLAGS="${CFLAGS}"
> -
> -CONFIGURE_STYLE =    autoreconf
> -CONFIGURE_ENV +=     CPPFLAGS="-I${LOCALBASE}/include" \
> -                     LDFLAGS="-L${LOCALBASE}/lib"
> -AUTORECONF =         ./bootstrap.sh
> -
> -.include <bsd.port.mk>
> Index: net/libmesode/distinfo
> ===================================================================
> RCS file: net/libmesode/distinfo
> diff -N net/libmesode/distinfo
> --- net/libmesode/distinfo    23 Oct 2020 13:44:41 -0000      1.4
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,2 +0,0 @@
> -SHA256 (libmesode-0.10.1.tar.gz) = 
> yd2QZI5z2SuQ8rCuQaddj0abEW0+aqKXwUzVe+k32Z4=
> -SIZE (libmesode-0.10.1.tar.gz) = 150629
> Index: net/libmesode/pkg/DESCR
> ===================================================================
> RCS file: net/libmesode/pkg/DESCR
> diff -N net/libmesode/pkg/DESCR
> --- net/libmesode/pkg/DESCR   3 Mar 2019 19:14:28 -0000       1.1.1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,13 +0,0 @@
> -libmesode is a minimal XMPP library written in C. libmesode is a fork of
> -libstrophe for use in Profanity (ports/net/profanity).
> -
> -Reasons for forking:
> -
> -    Remove Windows support
> -    Support only one XML Parser implementation (expat)
> -    Support only one SSL implementation (OpenSSL)
> -
> -This simplifies maintenance of the library when used in Profanity.
> -
> -Whilst Profanity will run against libstrophe, libmesode provides extra TLS
> -functionality such as manual SSL certificate verification.
> Index: net/libmesode/pkg/PLIST
> ===================================================================
> RCS file: net/libmesode/pkg/PLIST
> diff -N net/libmesode/pkg/PLIST
> --- net/libmesode/pkg/PLIST   9 Oct 2020 19:42:09 -0000       1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,6 +0,0 @@
> -@comment $OpenBSD: PLIST,v 1.2 2020/10/09 19:42:09 rsadowski Exp $
> -include/mesode.h
> -@static-lib lib/libmesode.a
> -lib/libmesode.la
> -@lib lib/libmesode.so.${LIBmesode_VERSION}
> -lib/pkgconfig/libmesode.pc
> Index: net/libstrophe/Makefile
> ===================================================================
> RCS file: /cvs/ports/net/libstrophe/Makefile,v
> retrieving revision 1.4
> diff -u -p -u -p -r1.4 Makefile
> --- net/libstrophe/Makefile   12 Jul 2019 20:48:31 -0000      1.4
> +++ net/libstrophe/Makefile   26 Aug 2021 20:26:05 -0000
> @@ -2,16 +2,16 @@
>  
>  COMMENT =    simple, lightweight XMPP C library
>  
> -V =          0.9.2
> +V =          0.10.1
>  DISTNAME =   libstrophe-${V}
>  
> -SHARED_LIBS =        strophe                 2.0 # 1.0
> +SHARED_LIBS =        strophe                 3.0 # 2.0
>  
>  CATEGORIES = net devel
>  
>  HOMEPAGE =   http://strophe.im/libstrophe/
>  
> -MAINTAINER = Rafael Sadowski <rsadow...@openbsd.org>
> +MAINTAINER = Florian Viehweger <open...@out-of-creativity.de>
>  
>  # Dual licensed: MIT and GPLv3
>  PERMIT_PACKAGE =     Yes
> @@ -34,6 +34,5 @@ MAKE_FLAGS =                CC="${CC}" CFLAGS="${CFLAG
>  
>  CONFIGURE_ENV +=     CPPFLAGS="-I${LOCALBASE}/include" \
>                       LDFLAGS="-L${LOCALBASE}/lib"
> -
>  
>  .include <bsd.port.mk>
> Index: net/libstrophe/distinfo
> ===================================================================
> RCS file: /cvs/ports/net/libstrophe/distinfo,v
> retrieving revision 1.3
> diff -u -p -u -p -r1.3 distinfo
> --- net/libstrophe/distinfo   29 Mar 2018 19:56:59 -0000      1.3
> +++ net/libstrophe/distinfo   26 Aug 2021 20:26:05 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (libstrophe-0.9.2.tar.gz) = 
> eH5qO5K5i2HMToo+cWWTyYZOL+KlWl9JyecOzRfEdNc=
> -SIZE (libstrophe-0.9.2.tar.gz) = 500459
> +SHA256 (libstrophe-0.10.1.tar.gz) = 
> SRjEcCns3qLeq0sPkzbKSouxLCi3KyzsOX2YZkuUx3E=
> +SIZE (libstrophe-0.10.1.tar.gz) = 520649
> Index: net/libstrophe/patches/patch-src_tls_openssl_c
> ===================================================================
> RCS file: net/libstrophe/patches/patch-src_tls_openssl_c
> diff -N net/libstrophe/patches/patch-src_tls_openssl_c
> --- net/libstrophe/patches/patch-src_tls_openssl_c    29 Mar 2018 19:56:59 
> -0000      1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,41 +0,0 @@
> -$OpenBSD: patch-src_tls_openssl_c,v 1.1 2018/03/29 19:56:59 rsadowski Exp $
> -
> -Index: src/tls_openssl.c
> ---- src/tls_openssl.c.orig
> -+++ src/tls_openssl.c
> -@@ -51,7 +51,7 @@ static void _tls_log_error(xmpp_ctx_t *ctx);
> - 
> - void tls_initialize(void)
> - {
> --#if OPENSSL_VERSION_NUMBER < 0x10100000L
> -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
> -     SSL_library_init();
> -     SSL_load_error_strings();
> - #else
> -@@ -66,14 +66,14 @@ void tls_shutdown(void)
> -      * openssl after libstrophe finalization. Maybe better leak some fixed
> -      * memory rather than cause random crashes of the main program.
> -      */
> --#if OPENSSL_VERSION_NUMBER < 0x10100000L
> -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
> -     ERR_free_strings();
> -     EVP_cleanup();
> -     CRYPTO_cleanup_all_ex_data();
> --#if OPENSSL_VERSION_NUMBER >= 0x10002000L
> -+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && 
> !defined(LIBRESSL_VERSION_NUMBER)
> -     SSL_COMP_free_compression_methods();
> - #endif
> --#if OPENSSL_VERSION_NUMBER < 0x10000000L
> -+#if OPENSSL_VERSION_NUMBER < 0x10000000L || defined(LIBRESSL_VERSION_NUMBER)
> -     ERR_remove_state(0);
> - #else
> -     ERR_remove_thread_state(NULL);
> -@@ -120,7 +120,7 @@ tls_t *tls_new(xmpp_conn_t *conn)
> -         /* Trust server's certificate when user sets the flag explicitly. */
> -         mode = conn->tls_trust ? SSL_VERIFY_NONE : SSL_VERIFY_PEER;
> -         SSL_set_verify(tls->ssl, mode, 0);
> --#if OPENSSL_VERSION_NUMBER >= 0x10002000L
> -+#if OPENSSL_VERSION_NUMBER >= 0x10002000L || 
> !defined(LIBRESSL_VERSION_NUMBER)
> -         /* Hostname verification is supported in OpenSSL 1.0.2 and newer. */
> -         X509_VERIFY_PARAM *param = SSL_get0_param(tls->ssl);
> - 
> Index: net/libstrophe/pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/net/libstrophe/pkg/PLIST,v
> retrieving revision 1.1.1.1
> diff -u -p -u -p -r1.1.1.1 PLIST
> --- net/libstrophe/pkg/PLIST  25 Apr 2016 17:43:39 -0000      1.1.1.1
> +++ net/libstrophe/pkg/PLIST  26 Aug 2021 20:26:05 -0000
> @@ -1,6 +1,7 @@
>  @comment $OpenBSD: PLIST,v 1.1.1.1 2016/04/25 17:43:39 tb Exp $
>  include/strophe.h
> -lib/libstrophe.a
> +@static-lib lib/libstrophe.a
>  lib/libstrophe.la
>  @lib lib/libstrophe.so.${LIBstrophe_VERSION}
>  lib/pkgconfig/libstrophe.pc
> +@pkgpath net/libmesode
> Index: net/profanity/Makefile
> ===================================================================
> RCS file: /cvs/ports/net/profanity/Makefile,v
> retrieving revision 1.20
> diff -u -p -u -p -r1.20 Makefile
> --- net/profanity/Makefile    23 Feb 2021 19:39:33 -0000      1.20
> +++ net/profanity/Makefile    26 Aug 2021 20:26:05 -0000
> @@ -1,15 +1,14 @@
>  # $OpenBSD: Makefile,v 1.20 2021/02/23 19:39:33 sthen Exp $
>  
>  COMMENT =    console based XMPP client
> -DISTNAME =   profanity-0.10.0
> +DISTNAME =   profanity-0.11.0
>  CATEGORIES = net
> -REVISION =   0
>  
>  HOMEPAGE =   https://profanity-im.github.io/
>  
>  MAINTAINER = Florian Viehweger <open...@out-of-creativity.de>
>  
> -SHARED_LIBS +=  profanity                 0.0 # 0.0
> +SHARED_LIBS +=  profanity                 1.0 # 0.0
>  
>  # GPLv3+
>  PERMIT_PACKAGE =     Yes
> @@ -18,7 +17,7 @@ MASTER_SITES =      https://profanity-im.gith
>  
>  WANTLIB += assuan c crypto curl curses ereadline expat ffi gcrypt
>  WANTLIB += gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 gpg-error
> -WANTLIB += gpgme iconv intl m mesode nghttp2 otr pcre pthread
> +WANTLIB += gpgme iconv intl m strophe nghttp2 otr pcre pthread
>  WANTLIB += ${MODPY_WANTLIB} signal-protocol-c sqlite3 ssl util z
>  
>  MODULES +=   lang/python
> @@ -27,7 +26,7 @@ LIB_DEPENDS +=      databases/sqlite3 \
>               devel/glib2 \
>               devel/readline \
>               net/curl \
> -             net/libmesode \
> +             net/libstrophe \
>               net/libsignal-protocol-c \
>               security/gpgme \
>               security/libotr
> Index: net/profanity/distinfo
> ===================================================================
> RCS file: /cvs/ports/net/profanity/distinfo,v
> retrieving revision 1.11
> diff -u -p -u -p -r1.11 distinfo
> --- net/profanity/distinfo    17 Jan 2021 17:08:09 -0000      1.11
> +++ net/profanity/distinfo    26 Aug 2021 20:26:05 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (profanity-0.10.0.tar.gz) = 
> SgXjJZD57DhDDjNzW9As+hmbJXkitBFmE/I5Eso5/4w=
> -SIZE (profanity-0.10.0.tar.gz) = 868180
> +SHA256 (profanity-0.11.0.tar.gz) = 
> P8mAmBb2kYbbuGCycYP2zSrvClKn0U4g5O9sOn8PNgY=
> +SIZE (profanity-0.11.0.tar.gz) = 887566
> Index: net/profanity/pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/net/profanity/pkg/PLIST,v
> retrieving revision 1.6
> diff -u -p -u -p -r1.6 PLIST
> --- net/profanity/pkg/PLIST   17 Jan 2021 17:08:09 -0000      1.6
> +++ net/profanity/pkg/PLIST   26 Aug 2021 20:26:05 -0000
> @@ -18,6 +18,7 @@ lib/libprofanity.la
>  @man man/man1/profanity-bookmark.1
>  @man man/man1/profanity-caps.1
>  @man man/man1/profanity-carbons.1
> +@man man/man1/profanity-changepassword.1
>  @man man/man1/profanity-charset.1
>  @man man/man1/profanity-clear.1
>  @man man/man1/profanity-close.1
> @@ -29,6 +30,7 @@ lib/libprofanity.la
>  @man man/man1/profanity-correction.1
>  @man man/man1/profanity-disco.1
>  @man man/man1/profanity-disconnect.1
> +@man man/man1/profanity-editor.1
>  @man man/man1/profanity-executable.1
>  @man man/man1/profanity-export.1
>  @man man/man1/profanity-flash.1
> @@ -47,6 +49,7 @@ lib/libprofanity.la
>  @man man/man1/profanity-log.1
>  @man man/man1/profanity-logging.1
>  @man man/man1/profanity-mainwin.1
> +@man man/man1/profanity-mam.1
>  @man man/man1/profanity-msg.1
>  @man man/man1/profanity-nick.1
>  @man man/man1/profanity-notify.1
> @@ -77,6 +80,7 @@ lib/libprofanity.la
>  @man man/man1/profanity-script.1
>  @man man/man1/profanity-sendfile.1
>  @man man/man1/profanity-serversoftware.1
> +@man man/man1/profanity-silence.1
>  @man man/man1/profanity-slashguard.1
>  @man man/man1/profanity-software.1
>  @man man/man1/profanity-splash.1
> @@ -99,6 +103,7 @@ lib/libprofanity.la
>  @man man/man1/profanity-wrap.1
>  @man man/man1/profanity-xmlconsole.1
>  @man man/man1/profanity.1
> +share/doc/pkg-readmes/${PKGSTEM}
>  share/examples/profanity/
>  share/examples/profanity/profrc.example
>  share/profanity/
> Index: net/profanity/pkg/README
> ===================================================================
> RCS file: net/profanity/pkg/README
> diff -N net/profanity/pkg/README
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ net/profanity/pkg/README  26 Aug 2021 20:26:05 -0000
> @@ -0,0 +1,16 @@
> +$OpenBSD: README,v 1.1.1.1 2021/04/04 08:57:15 solene Exp $
> +
> ++-------------------------------------------------------------------------------
> +| split manpages for ${PKGSTEM}
> ++-------------------------------------------------------------------------------
> +
> +The manpage for ${PKGSTEM} is split for each command.  These can be
> +listed with +apropros(1).
> +
> ++-------------------------------------------------------------------------------
> +| change in XMPP library
> ++-------------------------------------------------------------------------------
> +
> +Beginning with version 0.11.0 this port of profanity uses libstrophe instead 
> of
> +libmesode. This is because libmesode is deprecated upstream and you may
> +remove it on your system.

This doesn't quite match the standard format for a pkg-readme. However:
I don't think there's any need to mention the change in XMPP library,
this will be handled automatically with pkg_add -u anyway. And the "split
manpages" thing is quite common (especially known from git, but also in
other software) and I don't think it's worth adding a pkg-readme just
for that. So I would remove pkg/README and share/doc/pkg-readmes/${PKGSTEM}
PLIST entry again.

With those changes, OK sthen@ (or I can make those changes and commit it
if rsadowski is happy).

Reply via email to