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).