Hello ports@ Attached is an update for groff 1.22.4 -> 1.24.1. A jump of 8 years! Ingo Schwarze is the maintainer of this port and previously did work to update to 1.23.0 [1], much of this diff was made cross referencing upstream, -current, and his patch. [1] https://marc.info/?l=openbsd-ports&m=160529500629494 In his 1.23.0, Ingo undid a lot of the OpenBSD-specific fat-trimming in CONFIGURE_ARGS. I'm not as confident in my own ability to make sure that's done properly so I've left that as-is in case there is interest in it perhaps in a later revision. Regression test results: - Without patches, groff's regression tests fail the following check: FAIL: font/devpdf/tests/check-urw-foundry.sh - With patches, testing this port fails the following checks: FAIL: contrib/mm/tests/letter-with-bottom-block-works.sh FAIL: contrib/mm/tests/letters-format-correctly.sh FAIL: contrib/mm/tests/memoranda-format-correctly.sh FAIL: font/devpdf/tests/check-urw-foundry.sh FAIL: src/preproc/eqn/tests/neqn-smoke-test.sh FAIL: src/roff/groff/tests/adjustment-works.sh FAIL: src/roff/groff/tests/backslash-X-is-transparent-to-hyphenation.sh FAIL: src/roff/groff/tests/br-and-brp-requests-work.sh FAIL: src/roff/groff/tests/hcode-request-copies-spec-char-code.sh FAIL: src/roff/groff/tests/hla-request-works.sh FAIL: src/roff/groff/tests/warn-on-underset-adjusted-line.sh FAIL: tmac/tests/an_HY-register-works.sh FAIL: tmac/tests/an_MT-body-hyphenates.sh FAIL: tmac/tests/an_TH-repairs-ad-damage.sh FAIL: tmac/tests/an_TH-repairs-hy-damage.sh FAIL: tmac/tests/an_UE-breaks-before-long-URIs.sh FAIL: tmac/tests/an_UR-body-hyphenates.sh FAIL: tmac/tests/an_adjust-link-text-correctly.sh FAIL: tmac/tests/an_adjustment-mode-preserved-after-paragraph-tag.sh FAIL: tmac/tests/an_adjustment-mode-restoration-works.sh FAIL: tmac/tests/an_hyphenation-mode-restoration-works.sh FAIL: tmac/tests/an_paragraph-reset-restores-hyphenation-mode.sh FAIL: tmac/tests/andoc_clear-doc-traps.sh FAIL: tmac/tests/doc_Nm-works.sh FAIL: tmac/tests/doc_adjustment-mode-restoration-works.sh FAIL: tmac/tests/doc_indents-correctly.sh FAIL: tmac/tests/s_vertical-margins-are-correct.sh As far as I can tell, these additional failures are a benign result of the stylistic changes made in patches that have carried over from 1.22.4. Patch changes: * patch-Makefile_in Fixed upstream * patch-contrib_pdfmark_pdfroff_sh pdfroff removed since 1.24.0 * patch-lib_vasnprintf_c Fixed upstream * patch-tmac_an-old_tmac -> patch-tmac_an_tmac * patch-tmac_doc-common-u -> patch-tmac_mdoc_doc-common. * patch-tmac_doc_tmac-u Fixed upstream Looking for review and testing. OK? Andrew diff --git a/textproc/groff/Makefile b/textproc/groff/Makefile index c7608a927..2c2d62e58 100644 --- a/textproc/groff/Makefile +++ b/textproc/groff/Makefile @@ -1,8 +1,7 @@ COMMENT = GNU troff typesetter -VERSION = 1.22.4 +VERSION = 1.24.1 SUBST_VARS = VERSION DISTNAME = groff-${VERSION} -REVISION = 4 CATEGORIES = textproc DPB_PROPERTIES = parallel diff --git a/textproc/groff/distinfo b/textproc/groff/distinfo index 2f2ac156c..f8aebf357 100644 --- a/textproc/groff/distinfo +++ b/textproc/groff/distinfo @@ -1,2 +1,2 @@ -SHA256 (groff-1.22.4.tar.gz) = 5457TLfewxCEkAT6iIR8RHAejRM7XUwTBX2HbButApM= -SIZE (groff-1.22.4.tar.gz) = 4137480 +SHA256 (groff-1.24.1.tar.gz) = dOKBl5W2r/QxrqyYPWOpyJaO6roqLrp9+LpMe0Hnz9g= +SIZE (groff-1.24.1.tar.gz) = 9005760 diff --git a/textproc/groff/patches/patch-Makefile_in b/textproc/groff/patches/patch-Makefile_in deleted file mode 100644 index c5d2e3528..000000000 --- a/textproc/groff/patches/patch-Makefile_in +++ /dev/null @@ -1,14 +0,0 @@ -To process the hdtbl example files, eqn(1) is used, so build it first. - -Index: Makefile.in ---- Makefile.in.orig -+++ Makefile.in -@@ -11545,7 +11545,7 @@ $(hdtblexample_DATA): $(HDTBLSTRIPFILES) - && sed -e "s|[@]fontdir[@]|$(fontdir)|" \ - -e "s|[@]EGREP[@]|$(EGREP)|" $< >$@ - --$(HDTBLPROCESSEDEXAMPLEFILES): gnu.eps groff troff pic tbl \ -+$(HDTBLPROCESSEDEXAMPLEFILES): gnu.eps groff troff eqn pic tbl \ - contrib/hdtbl/examples/common.roff - - $(HDTBLSTRIPFILES): $(top_srcdir)/tmac/strip.sed diff --git a/textproc/groff/patches/patch-contrib_pdfmark_pdfroff_sh b/textproc/groff/patches/patch-contrib_pdfmark_pdfroff_sh deleted file mode 100644 index 1af12f7c9..000000000 --- a/textproc/groff/patches/patch-contrib_pdfmark_pdfroff_sh +++ /dev/null @@ -1,22 +0,0 @@ -# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538330 -# references a large patch by Solar Designer. -# Some of those things are fixed in 1.21, most do not look exploitable. -# This is the only one that seems worth patching away: ---- contrib/pdfmark/pdfroff.sh.orig Fri Dec 31 08:33:09 2010 -+++ contrib/pdfmark/pdfroff.sh Wed Jun 22 01:37:47 2011 -@@ -153,11 +153,10 @@ - else - # - # Creation of a private temporary directory was unsuccessful; -- # fall back to user nominated directory, (using current directory -- # as default), and schedule removal of only the temporary files. -- # -- GROFF_TMPDIR=${TMPDIR} -- trap "rm -f ${GROFF_TMPDIR}/pdf$$.*" 0 -+ # DO NOT fall back to user nominated directory, -+ # because that would allow symlink attacks. -+ echo >&2 "$CMD: mktemp(1) -d failure" -+ exit 1 - fi - # - # In the case of abnormal termination events, we force an exit diff --git a/textproc/groff/patches/patch-lib_vasnprintf_c b/textproc/groff/patches/patch-lib_vasnprintf_c deleted file mode 100644 index fb502cf8c..000000000 --- a/textproc/groff/patches/patch-lib_vasnprintf_c +++ /dev/null @@ -1,17 +0,0 @@ -Don't use printf %n. - -Index: lib/vasnprintf.c ---- lib/vasnprintf.c.orig -+++ lib/vasnprintf.c -@@ -4871,10 +4871,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, -
OpenBSD Mail Box
BTC:1BsNfN6m7xtT4PqDb9jJHnDDFBb38zS9Yi
Tuesday, July 21, 2026
[UPDATE] net/i2pd: update to 2.61.0
Hello, Please consider the attached patch to update net/i2pd from 2.59.0 to 2.61.0. This supersedes the maintainer's previously submitted 2.60.0 update and includes all of its port changes. The upstream changes relevant to OpenBSD include: * Add post-quantum cryptography support with LibreSSL. * Use ML-KEM-768 as the default SSU2 cryptographic type when supported by the cryptographic backend. * Add an option to disable pledge and unveil for configurations that require access to additional system resources. * Add support for binding to IPv6 ULA addresses. * Fix issues affecting post-quantum sessions, offline signatures, proxy handling, streaming connections, and tunnel recreation after the router has been offline. * Update the reseed servers and certificates. The port changes carried over from the 2.60.0 update include: * Add boost_container to WANTLIB. * Remove the obsolete boost_system test dependency. * Disable the HTTP console by default. * Use syslog for logging by default. * Store configuration files under /etc/i2pd and runtime data under /var/i2pd. * Update the rc script, PLIST, and package README for the new paths and defaults. The PLIST has also been updated for the headers and reseed certificates added in 2.61.0, and distinfo contains the checksum and size of the new distfile. The port preserves the intended OpenBSD service defaults: syslog logging, the HTTP console disabled unless explicitly enabled, configuration under /etc/i2pd, and runtime data under /var/i2pd. The port applies cleanly, and the normal package build completes successfully. Regression tests were started, but the complete test run was not finished because the upstream test target performs a separate and lengthy build of the test suite. Regards, David.
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/i2pd/Makefile,v
diff -u -p -u -r1.33 Makefile
--- Makefile 21 Feb 2026 14:20:20 -0000 1.33
+++ Makefile 21 Jul 2026 17:35:00 -0000
@@ -2,7 +2,7 @@ COMMENT = client for the I2P anonymous n
GH_ACCOUNT = PurpleI2P
GH_PROJECT = i2pd
-GH_TAGNAME = 2.59.0
+GH_TAGNAME = 2.61.0
CATEGORIES = net
HOMEPAGE = https://i2pd.website
@@ -14,7 +14,7 @@ PERMIT_PACKAGE = Yes
WANTLIB += ${COMPILER_LIBCXX}
WANTLIB += boost_filesystem-mt boost_program_options-mt
-WANTLIB += boost_atomic-mt c crypto m miniupnpc ssl z
+WANTLIB += boost_atomic-mt boost_container-mt c crypto m miniupnpc ssl z
COMPILER = base-clang ports-gcc
MODULES = devel/cmake
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/i2pd/distinfo,v
diff -u -p -u -r1.26 distinfo
--- distinfo 21 Feb 2026 14:20:20 -0000 1.26
+++ distinfo 21 Jul 2026 17:35:00 -0000
@@ -1,2 +1,2 @@
-SHA256 (i2pd-2.59.0.tar.gz) = Dr6wXk82qzgJRJVhoJXcdnrYIaxqYclWI6tJvk/9OYs=
-SIZE (i2pd-2.59.0.tar.gz) = 743516
+SHA256 (i2pd-2.61.0.tar.gz) = QJzTwCV0kShmEatqr2kJQMckj7iYN3wT+ttlqDbioKs=
+SIZE (i2pd-2.61.0.tar.gz) = 779272
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/i2pd/pkg/PLIST,v
diff -u -p -u -r1.18 PLIST
--- pkg/PLIST 21 Feb 2026 14:20:20 -0000 1.18
+++ pkg/PLIST 21 Jul 2026 17:35:00 -0000
@@ -1,5 +1,5 @@
@newgroup _i2pd:838
-@newuser _i2pd:838:838::i2pd account:${LOCALSTATEDIR}/lib/i2pd:/sbin/nologin
+@newuser _i2pd:838:838::i2pd account:${LOCALSTATEDIR}/i2pd:/sbin/nologin
@rcscript ${RCDIR}/i2pd
@bin bin/i2pd
include/i2pd/
@@ -27,6 +27,7 @@ include/i2pd/HTTPProxy.h
include/i2pd/I2CP.h
include/i2pd/I2NPProtocol.h
include/i2pd/I2PEndian.h
+include/i2pd/IdentMetrics.h
include/i2pd/I2PService.h
include/i2pd/I2PTunnel.h
include/i2pd/Identity.h
@@ -54,6 +55,7 @@ include/i2pd/Socks5.h
include/i2pd/Streaming.h
include/i2pd/Tag.h
include/i2pd/Timestamp.h
+include/i2pd/Torrents.h
include/i2pd/TransitTunnel.h
include/i2pd/TransportSession.h
include/i2pd/Transports.h
@@ -69,14 +71,16 @@ include/i2pd/util.h
include/i2pd/version.h
@static-lib lib/libi2pd.a
@static-lib lib/libi2pdclient.a
+@mode 0750
@owner _i2pd
@group _i2pd
@sample ${SYSCONFDIR}/i2pd/
-@sample ${LOCALSTATEDIR}/lib/i2pd/
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/family/
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/router/
+@mode
+@sample ${LOCALSTATEDIR}/i2pd/
+@sample ${LOCALSTATEDIR}/i2pd/certificates/
+@sample ${LOCALSTATEDIR}/i2pd/certificates/family/
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/
+@sample ${LOCALSTATEDIR}/i2pd/certificates/router/
@owner
@group
@static-lib lib/libi2pdlang.a
@@ -87,139 +91,155 @@ share/examples/i2pd/certificates/family/
share/examples/i2pd/certificates/family/gostcoin.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/family/gostcoin.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/family/gostcoin.crt
@owner
@group
share/examples/i2pd/certificates/family/i2p-dev.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/family/i2p-dev.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/family/i2p-dev.crt
@owner
@group
share/examples/i2pd/certificates/family/i2pd-dev.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/family/i2pd-dev.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/family/i2pd-dev.crt
@owner
@group
share/examples/i2pd/certificates/family/mca2-i2p.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/family/mca2-i2p.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/family/mca2-i2p.crt
@owner
@group
share/examples/i2pd/certificates/family/stormycloud.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/family/stormycloud.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/family/stormycloud.crt
@owner
@group
share/examples/i2pd/certificates/family/volatile.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/family/volatile.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/family/volatile.crt
@owner
@group
share/examples/i2pd/certificates/reseed/
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/
+@sample ${LOCALSTATEDIR}/
@owner
@group
share/examples/i2pd/certificates/reseed/acetone_at_mail.i2p.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/acetone_at_mail.i2p.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/acetone_at_mail.i2p.crt
@owner
@group
share/examples/i2pd/certificates/reseed/admin_at_stormycloud.org.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/admin_at_stormycloud.org.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/admin_at_stormycloud.org.crt
@owner
@group
share/examples/i2pd/certificates/reseed/creativecowpat_at_mail.i2p.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/creativecowpat_at_mail.i2p.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/creativecowpat_at_mail.i2p.crt
@owner
@group
share/examples/i2pd/certificates/reseed/diyarciftci_at_protonmail.com.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/diyarciftci_at_protonmail.com.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/diyarciftci_at_protonmail.com.crt
@owner
@group
share/examples/i2pd/certificates/reseed/echelon3_at_mail.i2p.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/echelon3_at_mail.i2p.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/echelon3_at_mail.i2p.crt
@owner
@group
share/examples/i2pd/certificates/reseed/hankhill19580_at_gmail.com.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/hankhill19580_at_gmail.com.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/hankhill19580_at_gmail.com.crt
@owner
@group
share/examples/i2pd/certificates/reseed/i2p-reseed_at_mk16.de.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/i2p-reseed_at_mk16.de.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/i2p-reseed_at_mk16.de.crt
@owner
@group
share/examples/i2pd/certificates/reseed/igor_at_novg.net.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/igor_at_novg.net.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/igor_at_novg.net.crt
@owner
@group
share/examples/i2pd/certificates/reseed/lazygravy_at_mail.i2p.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/lazygravy_at_mail.i2p.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/lazygravy_at_mail.i2p.crt
@owner
@group
share/examples/i2pd/certificates/reseed/orignal_at_mail.i2p.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/orignal_at_mail.i2p.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/orignal_at_mail.i2p.crt
@owner
@group
share/examples/i2pd/certificates/reseed/r4sas-reseed_at_mail.i2p.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/r4sas-reseed_at_mail.i2p.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/r4sas-reseed_at_mail.i2p.crt
@owner
@group
share/examples/i2pd/certificates/reseed/rambler_at_mail.i2p.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/rambler_at_mail.i2p.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/rambler_at_mail.i2p.crt
@owner
@group
share/examples/i2pd/certificates/reseed/reseed_at_diva.exchange.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/reseed_at_diva.exchange.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/reseed_at_diva.exchange.crt
@owner
@group
share/examples/i2pd/certificates/reseed/sahil_at_mail.i2p.crt
@owner _i2pd
@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/sahil_at_mail.i2p.crt
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/sahil_at_mail.i2p.crt
+@owner
+@group
+share/examples/i2pd/certificates/reseed/admin_at_likogan.dev.crt
+@owner _i2pd
+@group _i2pd
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/admin_at_likogan.dev.crt
+@owner
+@group
+share/examples/i2pd/certificates/reseed/vserod1488_at_proton.me.crt
+@owner _i2pd
+@group _i2pd
+@sample ${LOCALSTATEDIR}/i2pd/certificates/reseed/vserod1488_at_proton.me.crt
@owner
@group
share/examples/i2pd/i2pd.conf
+@mode 0640
@owner _i2pd
@group _i2pd
@sample ${SYSCONFDIR}/i2pd/i2pd.conf
+@mode
@owner
@group
share/examples/i2pd/tunnels.conf
+@mode 0640
@owner _i2pd
@group _i2pd
@sample ${SYSCONFDIR}/i2pd/tunnels.conf
+@mode
@owner
@group
share/examples/login.conf.d/i2pd
Index: pkg/README
===================================================================
RCS file: /cvs/ports/net/i2pd/pkg/README,v
diff -u -p -u -r1.4 README
--- pkg/README 16 Apr 2024 15:22:32 -0000 1.4
+++ pkg/README 21 Jul 2026 17:35:00 -0000
@@ -24,3 +24,56 @@ and also edit /etc/login.conf.d/i2pd:
:openfiles-cur=8192:\
:openfiles-max=8192:\
:tc=daemon:
+
+
+The HTTP interface
+==================
+
+On OpenBSD, i2pd's HTTP interface is disabled by default, because it
+allows any user on the system to perform actions on the daemon, such
+as shutting it down, or access private data, such as the router
+identity and the tunnels' B32 addresses.
+
+If you want to use this interface anyway, you can reenable it in
+/etc/i2pd/i2pd.conf under the [http] section.
+
+
+Graceful shutdown
+=================
+
+It is good practice to shutdown the i2pd daemon gracefully, to avoid
+immediatly severing all connections, which would disconnect all
+your peers and affect the overall operation of the I2P network.
+
+You can initiate a graceful shutdown without the HTTP interface by
+sending a signal to the i2pd daemon like this:
+
+ kill -INT $(cat /var/i2pd/i2pd.pid)
+
+When it shuts down gracefully, the i2pd daemon waits for all transit
+tunnels to expire, which usually takes 10 minutes.
+
+
+Logging
+=======
+
+By default, the OpenBSD port of ${PKGSTEM} sends its log messages to
+syslogd(8), which writes them to the /var/log/daemon file.
+
+The default log level of ${PKGSTEM} ("warn") can be very verbose. You
+may want to reduce this log verbosity by changing the "loglevel"
+parameter in /etc/i2pd/i2pd.conf.
+
+If you want log messages to be written to another file, e.g.
+/var/i2pd/i2pd.log, you can change the "log" and "logfile" parameters
+in /etc/i2pd/i2pd.conf. To have this log file rotated automatically,
+you can add an entry to /etc/newsyslog.conf using the i2pd pid
+file so that newsyslog(8) can send SIGHUP to the daemon after rotation.
+
+For example:
+
+ /var/i2pd/i2pd.log _i2pd:_i2pd 644 6 * $D13 Z
+/var/i2pd/i2pd.pid
+
+Sending SIGHUP is enough for log rotation, and also makes i2pd reload
+its tunnel configuration and rotate transient keys.
Index: pkg/i2pd.rc
===================================================================
RCS file: /cvs/ports/net/i2pd/pkg/i2pd.rc,v
diff -u -p -u -r1.4 i2pd.rc
--- pkg/i2pd.rc 11 Mar 2022 19:46:04 -0000 1.4
+++ pkg/i2pd.rc 21 Jul 2026 17:35:00 -0000
@@ -2,7 +2,12 @@
daemon="${TRUEPREFIX}/bin/i2pd --daemon"
daemon_user="_i2pd"
-daemon_flags="--service --datadir=${LOCALSTATEDIR}/lib/i2pd --conf=${SYSCONFDIR}/i2pd/i2pd.conf --tunconf=${SYSCONFDIR}/i2pd/tunnels.conf --tunnelsdir=${SYSCONFDIR}/i2pd/tunnels.d"
+daemon_flags="--service \
+ --datadir=${LOCALSTATEDIR}/i2pd \
+ --conf=${SYSCONFDIR}/i2pd/i2pd.conf \
+ --tunconf=${SYSCONFDIR}/i2pd/tunnels.conf \
+ --tunnelsdir=${SYSCONFDIR}/i2pd/tunnels.d \
+ --certsdir=${LOCALSTATEDIR}/i2pd/certificates"
. /etc/rc.d/rc.subr
Index: patches/patch-contrib_i2pd_conf
===================================================================
RCS file: patches/patch-contrib_i2pd_conf
--- /dev/null Tue Jul 21 19:35:00 2026
+++ patches/patch-contrib_i2pd_conf Tue Jul 21 17:47:48 2026
@@ -0,0 +1,32 @@
+Index: contrib/i2pd.conf
+--- contrib/i2pd.conf.orig
++++ contrib/i2pd.conf
+@@ -8,13 +8,13 @@
+
+ ## Tunnels config file
+ ## Default: ~/.i2pd/tunnels.conf or /var/lib/i2pd/tunnels.conf
+-# tunconf = /var/lib/i2pd/tunnels.conf
++tunconf = /etc/i2pd/tunnels.conf
+
+ ## Tunnels config files path
+ ## Use that path to store separated tunnels in different config files.
+ ## Default: ~/.i2pd/tunnels.d or /var/lib/i2pd/tunnels.d
+-# tunnelsdir = /var/lib/i2pd/tunnels.d
++tunnelsdir = /etc/i2pd/tunnels.d
+
+ ## Path to certificates used for verifying .su3, families
+ ## Default: ~/.i2pd/certificates or /var/lib/i2pd/certificates
+-# certsdir = /var/lib/i2pd/certificates
++certsdir = /etc/i2pd/certificates
+@@ -30,4 +30,4 @@
+ ## * stdout - print log entries to stdout
+ ## * file - log entries to a file
+ ## * syslog - use syslog, see man 3 syslog
+-# log = file
++log = syslog
+@@ -122,4 +122,4 @@
+ [http]
+ ## Web Console settings
+ ## Enable the Web Console (default: true)
+-# enabled = true
++enabled = false
Index: patches/patch-test_Makefile
===================================================================
RCS file: patches/patch-test_Makefile
--- /dev/null Tue Jul 21 19:35:00 2026
+++ patches/patch-test_Makefile Tue Jul 21 17:46:10 2026
@@ -0,0 +1,10 @@
+Index: tests/Makefile
+--- tests/Makefile.orig
++++ tests/Makefile
+@@ -18,7 +18,6 @@ ifneq (, $(findstring mingw, $(SYS))$(findstring windo
+ endif
+
+ LDLIBS = \
+- -lboost_system$(BOOST_SUFFIX) \
+ -lboost_program_options$(BOOST_SUFFIX) \
+ -lssl \