Index | Thread | Search

From:
David Uhden Collado <david@uhden.dev>
Subject:
Upgrade to 2.53.1 and add FLAVOR to the net/i2pd port
To:
ports@openbsd.org
Date:
Wed, 31 Jul 2024 05:55:19 +0200

Download raw body.

Thread
Hello,

At the bottom of this email there is a diff that updates the net/i2pd 
port to version 2.53.1 and adds a new flavor. This version includes the 
improvements and fixes from version 2.53.0, as well as some additional 
important updates [1]. The new flavor adds UPnP support to the net/i2pd 
port, which is very useful for computers without a fixed IP address 
within a NAT, as it facilitates incoming I2P connections without the 
need to configure rules in the router or in pf.conf(5).

Initially, I tried to update this port to version 2.53.0 but encountered 
compilation errors [2] due to the lack of SipHash in LibreSSL. For a 
moment, I thought I would have to add OpenSSL as a dependency to resolve 
the issue. Fortunately, the I2Pd developers fixed this problem in 
version 2.53.1.

Additionally, I am working on other similar ports for OpenBSD. If anyone 
is interested in helping out, you can find my work in this GitHub 
repository [3].

References:
1. 
https://raw.githubusercontent.com/PurpleI2P/i2pd/81cc3e3de8526b7f2ccc91053c9d1718d3293136/ChangeLog
2. https://github.com/PurpleI2P/i2pd/issues/2080
3. https://github.com/daviduhden/wip-openbsd-ports

Best regards,
David.

Index: net/i2pd/Makefile
===================================================================
RCS file: /cvs/ports/net/i2pd/Makefile,v
diff -u -r1.24 Makefile
--- net/i2pd/Makefile	27 May 2024 08:13:51 -0000	1.24
+++ net/i2pd/Makefile	31 Jul 2024 03:24:20 -0000
@@ -2,7 +2,7 @@

  GH_ACCOUNT =	PurpleI2P
  GH_PROJECT =	i2pd
-GH_TAGNAME =	2.52.0
+GH_TAGNAME =	2.53.1

  CATEGORIES =	net
  HOMEPAGE =	https://i2pd.website
@@ -20,6 +20,14 @@

  # for tests
  USE_GMAKE =	Yes
+
+FLAVORS+=upnp
+FLAVOR?=
+
+.if ${FLAVOR:Mupnp}
+LIB_DEPENDS+=net/miniupnp/miniupnpc
+CONFIGURE_ARGS+=-DWITH_UPNP=ON
+.endif

  WRKSRC =	${WRKDIST}/build

Index: net/i2pd/pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/i2pd/pkg/PLIST,v
diff -u -r1.13 PLIST
--- net/i2pd/pkg/PLIST	16 Apr 2024 15:22:32 -0000	1.13
+++ net/i2pd/pkg/PLIST	31 Jul 2024 03:24:58 -0000
@@ -8,7 +8,6 @@
  include/i2pd/Base.h
  include/i2pd/Blinding.h
  include/i2pd/CPU.h
-include/i2pd/ChaCha20.h
  include/i2pd/ClientContext.h
  include/i2pd/Config.h
  include/i2pd/Crypto.h
@@ -38,7 +37,6 @@
  include/i2pd/MatchedDestination.h
  include/i2pd/NTCP2.h
  include/i2pd/NetDbRequests.h
-include/i2pd/Poly1305.h
  include/i2pd/Profiling.h
  include/i2pd/Queue.h
  include/i2pd/Reseed.h
@@ -190,12 +188,6 @@
  @owner _i2pd
  @group _i2pd
  @sample 
${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/lazygravy_at_mail.i2p.crt
-@owner
-@group
-share/examples/i2pd/certificates/reseed/ls_at_mail.i2p.crt
-@owner _i2pd
-@group _i2pd
-@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/ls_at_mail.i2p.crt
  @owner
  @group
  share/examples/i2pd/certificates/reseed/orignal_at_mail.i2p.crt

Index: net/i2pd/pkg/DESCR
===================================================================
RCS file: /cvs/ports/net/i2pd/pkg/DESCR,v
diff -u -r1.1.1.1 DESCR
--- net/i2pd/pkg/DESCR	16 Jun 2019 22:13:55 -0000	1.1.1.1
+++ net/i2pd/pkg/DESCR	31 Jul 2024 03:25:14 -0000
@@ -1,7 +1,13 @@
-i2pd is a full featured client for the I2P network written in C++.
+I2Pd is a full featured client for the I2P network written in C++.

-I2P (Invisible Internet Project) is a universal anonymous network layer.
-All communications over I2P are anonymous and end-to-end encrypted.
-Participants don't reveal their real IP address to each other. Peer to
-peer (cryptocorruencies, file sharing) and client-to-server applications
-(websites, instant messengers, chat servers) are supported.
+I2P (Invisible Internet Project) is a universal anonymous network 
layer. All
+communications over I2P are anonymous and end-to-end encrypted. 
Participants
+don't reveal their real IP address to each other. Peer to peer
+(cryptocurrencies, file sharing) and client-to-server applications 
(websites,
+instant messengers, chat servers) are supported.
+
+I2P allows people from all around the world to communicate and share
+information without restrictions.
+
+Flavors:
+    upnp       - Built with UPnP support