Lauri Tirkkonen writes: > Hi ports@, > > trivial minor update to irssi. irssi-icb and twirssi still build with > this.
Thanks for posting. I looked into switching to meson since upstream is switching from autotools. The diff is inline. 2 questions =========== I was getting an infinite loop with `make install'. Detected loop, merging sets ok | debug-irssi-1.4.1+irssi-1.4.1+irssi-icb-0.17p2+irssi-otr-1.4.1->debug-irssi-1. Detected loop, merging sets ok | debug-irssi-1.4.1+irssi-1.4.1+irssi-icb-0.17p2+irssi-otr-1.4.1->debug-irssi-1. PKGSPEC is defined. (PKGSPEC-main = irssi-=$V). I see the bump comment: # XXX -stable package builds can't detect PKGSPEC updates properly; 1. Is my understanding correct? -current will be able to detect PKGSPEC updates and rebuild net/irssi-icb and net/twirssi without needing to bump their REVISION for every update of irssi. Thus, the infinite loop is not an issue when pkg_add -u is run. 2. Should the meson.build patch be used? It patches /usr/local/share/irssi --> /usr/local/share/examples/irssi. I'm preserving the behavior from before but I'm also fine not carrying this patch. The important part is that /etc/irssi/irssi.conf is used, via the @sample tags. old discussion: https://marc.info/?l=openbsd-ports&m=114215473012860&w=2 https://marc.info/?l=openbsd-ports&m=114271883720173&w=2 https://marc.info/?l=openbsd-ports&m=114345827203981&w=2 this diff: ========== - updates to 1.4.2 - switches to meson - removes SUBST_CMD of irssi.1 - installs irssi.conf - removes Makefile.in patches passes portcheck and `make port-lib-depends-check' with the following: - WANTLIB uses glib-2.0 and removes iconv/intl/pthread, which are WANTLIBs of glib-2.0 anyways. - add devel/glib2 to LIB_DEPENDS-otr - WANTLIB-otr uses glib-2.0 and removes iconv/intl likewise. removal of gpg-error seems harmless. plist changes: ============== plist was a bit tricky as it involved manual edits. - @so lib/irssi/modules/libfe_perl.so and +@so lib/irssi/modules/libperl_core.so ended up in PLIST-otr so I moved them into PLIST-main. - keeps @pkgpath net/irssi,socks for the removed flavor - MACHINE_ARCH stuff has been removed from the perl paths. libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/Irssi/ This seems harmless because net/twirssi still works. - command.pl, msg-event.pl and redirect.pl have been removed. These are found in ${WRKSRC}/scripts/examples and ${WRKSRC}/scripts/meson.build does not mention installing them so we also shouldn't bother. - .la files were removed automatically - Files had to be wrangled to emulate the layout from before. see: https://namtsui.com/public/irssi_tree.txt for the layout from the previous irssi for /usr/local/share/examples/irssi and /etc/irssi. I patched meson.build to have themedir and scriptdir point to examples. Then, I manually inserted @sample lines into the plist. example: share/examples/irssi/scripts/autoop.pl @sample ${SYSCONFDIR}/irssi/scripts/autoop.pl > > https://irssi.org/2022/07/17/irssi-1.4.2-released/ > Testing ======= net/twirssi, net/irssi-icb, and irssi-otr work. However, irssi-proxy did not work following these instructions: https://irssi.org/modules/ https://github.com/irssi/irssi/blob/master/docs/proxy.txt bug: https://github.com/irssi/irssi/issues/1307 I left proxy in there anyways though in the hopes that it works in the future. `make test' passes. `portcheck' and `make port-lib-depends' pass. I tested irssi's /etc/irssi/scripts/quitmsg.pl. Feedback and tests are welcome. OK? Index: Makefile =================================================================== RCS file: /cvs/ports/net/irssi/Makefile,v retrieving revision 1.97 diff -u -p -u -p -r1.97 Makefile --- Makefile 23 Jun 2022 02:21:35 -0000 1.97 +++ Makefile 26 Jul 2022 01:39:28 -0000 @@ -6,7 +6,7 @@ MULTI_PACKAGES = -main -otr COMMENT-main = modular IRC client with many features COMMENT-otr = OTR (off-the-record) plugin for irssi -V = 1.4.1 +V = 1.4.2 DISTNAME = irssi-$V PKGSPEC-main = irssi-=$V PKGNAME-main = irssi-$V @@ -19,43 +19,34 @@ HOMEPAGE = https://www.irssi.org/ # GPLv2+ PERMIT_PACKAGE = Yes -WANTLIB += c crypto curses glib-2.0 gmodule-2.0 \ - iconv intl m pcre perl pthread ssl +WANTLIB += c crypto curses glib-2.0 gmodule-2.0 m perl ssl MASTER_SITES = https://github.com/irssi/irssi/releases/download/${V}/ DEBUG_PACKAGES = ${BUILD_PACKAGES} +MODULES = devel/meson + LIB_DEPENDS = devel/glib2>=2.28.0 -RUN_DEPENDS-otr = net/irssi,-main -LIB_DEPENDS-otr = security/libgcrypt>=1.2.0 \ - security/libotr>=4.1.0 -WANTLIB-otr = gcrypt gpg-error iconv intl otr - -LIBTOOL_FLAGS += --tag=disable-static - -CONFIGURE_STYLE = gnu -CONFIGURE_ARGS = --disable-utf8proc \ - --with-otr=module \ - --with-perl-lib=${PREFIX}/libdata/perl5/site_perl \ - --with-perl=yes \ - --with-pic \ - --with-proxy -CONFIGURE_ENV += CPPFLAGS="-I${LOCALBASE}/include" \ - LDFLAGS="-L${LOCALBASE}/lib" -SEPARATE_BUILD = Yes - -MAKE_FLAGS = scriptdir="${SYSCONFDIR}/irssi/scripts" \ - themedir="${SYSCONFDIR}/irssi/themes" -FAKE_FLAGS = confdir="${PREFIX}/share/examples/irssi" \ - scriptdir="${PREFIX}/share/examples/irssi/scripts" \ - themedir="${PREFIX}/share/examples/irssi/themes" +MODMESON_CONFIGURE_ARGS += -Ddisable-utf8proc=yes \ + -Dwith-otr=yes \ + -Dwith-perl-lib=${PREFIX}/libdata/perl5/site_perl \ + -Dwith-perl=yes \ + -Dwith-proxy=yes + +RUN_DEPENDS-otr = net/irssi,-main +LIB_DEPENDS-otr = devel/glib2>=2.28.0 \ + security/libgcrypt>=1.2.0 \ + security/libotr>=4.1.0 + +WANTLIB-otr = gcrypt glib-2.0 otr # tests write to it PORTHOME = ${WRKDIR} -post-patch: - ${SUBST_CMD} ${WRKSRC}/docs/irssi.1 +post-install: + ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/irssi/ + ${INSTALL_DATA} ${WRKSRC}/irssi.conf ${PREFIX}/share/examples/irssi/ .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/net/irssi/distinfo,v retrieving revision 1.37 diff -u -p -u -p -r1.37 distinfo --- distinfo 23 Jun 2022 02:21:36 -0000 1.37 +++ distinfo 26 Jul 2022 01:39:28 -0000 @@ -1,2 +1,2 @@ -SHA256 (irssi-1.4.1.tar.gz) = hmO9DzoxPj5rTA1NJDgd6ZCusidhpJr0erlYvpsOKy8= -SIZE (irssi-1.4.1.tar.gz) = 1923982 +SHA256 (irssi-1.4.2.tar.gz) = LXLJoXi/XL5N+rSZgYAFq7hfeTdkdvkk/AnJacschBk= +SIZE (irssi-1.4.2.tar.gz) = 1924981 Index: patches/patch-meson_build =================================================================== RCS file: patches/patch-meson_build diff -N patches/patch-meson_build --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-meson_build 26 Jul 2022 01:39:28 -0000 @@ -0,0 +1,14 @@ +Index: meson.build +--- meson.build.orig ++++ meson.build +@@ -22,8 +22,8 @@ includedir = get_option('includedir') + incdir = 'irssi' + moduledir = get_option('libdir') / incdir / 'modules' + helpdir = get_option('datadir') / incdir / 'help' +-themedir = get_option('datadir') / incdir / 'themes' +-scriptdir = get_option('datadir') / incdir / 'scripts' ++themedir = get_option('datadir') / 'examples' / incdir / 'themes' ++scriptdir = get_option('datadir') / 'examples' / incdir / 'scripts' + docdir = get_option('docdir') != '' ? get_option('docdir') : (get_option('datadir') / 'doc' / incdir) + + want_textui = get_option('without-textui') != 'yes' Index: patches/patch-src_fe-common_core_Makefile_in =================================================================== RCS file: patches/patch-src_fe-common_core_Makefile_in diff -N patches/patch-src_fe-common_core_Makefile_in --- patches/patch-src_fe-common_core_Makefile_in 23 Jun 2022 02:21:36 -0000 1.16 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: src/fe-common/core/Makefile.in ---- src/fe-common/core/Makefile.in.orig -+++ src/fe-common/core/Makefile.in -@@ -424,7 +424,7 @@ AM_CPPFLAGS = \ - -I$(top_builddir) \ - $(GLIB_CFLAGS) \ - -DHELPDIR=\""$(datadir)/irssi/help"\" \ -- -DTHEMESDIR=\""$(datadir)/irssi/themes"\" -+ -DTHEMESDIR=\""$(sysconfdir)/irssi/themes"\" - - libfe_common_core_a_SOURCES = chat-completion.c command-history.c \ - completion.c fe-channels.c fe-common-core.c fe-core-commands.c \ Index: patches/patch-src_perl_Makefile_in =================================================================== RCS file: patches/patch-src_perl_Makefile_in diff -N patches/patch-src_perl_Makefile_in --- patches/patch-src_perl_Makefile_in 23 Jun 2022 02:21:36 -0000 1.16 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: src/perl/Makefile.in ---- src/perl/Makefile.in.orig -+++ src/perl/Makefile.in -@@ -412,7 +412,7 @@ AM_CPPFLAGS = \ - -I$(top_builddir) \ - -I$(builddir) \ - $(GLIB_CFLAGS) \ -- -DSCRIPTDIR=\""$(datadir)/irssi/scripts"\" \ -+ -DSCRIPTDIR=\""$(sysconfdir)/irssi/scripts"\" \ - -DPERL_USE_LIB=\""$(PERL_USE_LIB)"\" \ - -DPERL_STATIC_LIBS=$(PERL_STATIC_LIBS) \ - $(PERL_CFLAGS) Index: pkg/PLIST-main =================================================================== RCS file: /cvs/ports/net/irssi/pkg/PLIST-main,v retrieving revision 1.6 diff -u -p -u -p -r1.6 PLIST-main --- pkg/PLIST-main 23 Jun 2022 02:21:36 -0000 1.6 +++ pkg/PLIST-main 26 Jul 2022 01:39:28 -0000 @@ -150,24 +150,24 @@ include/irssi/src/lib-config/iconfig.h include/irssi/src/lib-config/module.h lib/irssi/ lib/irssi/modules/ -lib/irssi/modules/libirc_proxy.la +@so lib/irssi/modules/libfe_perl.so @so lib/irssi/modules/libirc_proxy.so +@so lib/irssi/modules/libperl_core.so lib/pkgconfig/irssi-1.pc -libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/ -libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/Irssi/ -libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/Irssi.pm -libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/Irssi/Irc.pm -libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/Irssi/TextUI.pm -libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/Irssi/UI.pm -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/ -@so libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/Irc/Irc.so -@so libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/Irssi.so -libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/TextUI/ -@so libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/TextUI/TextUI.so -libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/UI/ -@so libdata/perl5/site_perl/${MACHINE_ARCH}-openbsd/auto/Irssi/UI/UI.so +libdata/perl5/site_perl/Irssi/ +libdata/perl5/site_perl/Irssi.pm +libdata/perl5/site_perl/Irssi/Irc.pm +libdata/perl5/site_perl/Irssi/TextUI.pm +libdata/perl5/site_perl/Irssi/UI.pm +libdata/perl5/site_perl/auto/ +libdata/perl5/site_perl/auto/Irssi/ +libdata/perl5/site_perl/auto/Irssi/Irc/ +@so libdata/perl5/site_perl/auto/Irssi/Irc/Irc.so +@so libdata/perl5/site_perl/auto/Irssi/Irssi.so +libdata/perl5/site_perl/auto/Irssi/TextUI/ +@so libdata/perl5/site_perl/auto/Irssi/TextUI/TextUI.so +libdata/perl5/site_perl/auto/Irssi/UI/ +@so libdata/perl5/site_perl/auto/Irssi/UI/UI.so @man man/man1/irssi.1 share/doc/irssi/ share/doc/irssi/capsicum.txt @@ -194,8 +194,6 @@ share/examples/irssi/scripts/autorejoin. @sample ${SYSCONFDIR}/irssi/scripts/autorejoin.pl share/examples/irssi/scripts/buf.pl @sample ${SYSCONFDIR}/irssi/scripts/buf.pl -share/examples/irssi/scripts/command.pl -@sample ${SYSCONFDIR}/irssi/scripts/command.pl share/examples/irssi/scripts/dns.pl @sample ${SYSCONFDIR}/irssi/scripts/dns.pl share/examples/irssi/scripts/kills.pl @@ -204,12 +202,8 @@ share/examples/irssi/scripts/mail.pl @sample ${SYSCONFDIR}/irssi/scripts/mail.pl share/examples/irssi/scripts/mlock.pl @sample ${SYSCONFDIR}/irssi/scripts/mlock.pl -share/examples/irssi/scripts/msg-event.pl -@sample ${SYSCONFDIR}/irssi/scripts/msg-event.pl share/examples/irssi/scripts/quitmsg.pl @sample ${SYSCONFDIR}/irssi/scripts/quitmsg.pl -share/examples/irssi/scripts/redirect.pl -@sample ${SYSCONFDIR}/irssi/scripts/redirect.pl share/examples/irssi/scripts/scriptassist.pl @sample ${SYSCONFDIR}/irssi/scripts/scriptassist.pl share/examples/irssi/scripts/usercount.pl Index: pkg/PLIST-otr =================================================================== RCS file: /cvs/ports/net/irssi/pkg/PLIST-otr,v retrieving revision 1.4 diff -u -p -u -p -r1.4 PLIST-otr --- pkg/PLIST-otr 11 Mar 2022 19:46:10 -0000 1.4 +++ pkg/PLIST-otr 26 Jul 2022 01:39:28 -0000 @@ -1,4 +1,3 @@ @conflict irssi-<1.2.1 @pkgpath net/irssi-otr -lib/irssi/modules/libotr_core.la @so lib/irssi/modules/libotr_core.so