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

Reply via email to