<pre style='margin:0'>
Zhenfu Shi (i0ntempest) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/8e12500fb837350b132266b07d4eca7a952ad3ed">https://github.com/macports/macports-ports/commit/8e12500fb837350b132266b07d4eca7a952ad3ed</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 8e12500fb83 i2pd: new port, C++ implementation of i2p
</span>8e12500fb83 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 8e12500fb837350b132266b07d4eca7a952ad3ed
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Mon Nov 21 20:45:21 2022 +0800

<span style='display:block; white-space:pre;color:#404040;'>    i2pd: new port, C++ implementation of i2p
</span>---
 security/i2pd/Portfile                             | 136 +++++++++++++++++++++
 .../files/0001-i2pd.conf-adjust-for-MacPorts.patch |  47 +++++++
 2 files changed, 183 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/i2pd/Portfile b/security/i2pd/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..eaa4ff349cf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/i2pd/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,136 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem              1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               boost 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               openssl 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup            PurpleI2P i2pd 2.44.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories              security net
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers             {@barracuda156 gmail.com:vital.had} {@catap korins.ky:kirill} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license                 BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description             End-to-End encrypted and anonymous Internet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description        ${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage                https://i2pd.website \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        https://i2pd.readthedocs.io
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  c7caf1c00ec99208af76f084fe9df523d368cebb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  4feb50418dc484cf21612a18f7305000e19162af8f75d921e133e85c78afa854 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    648654
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append      port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.pre_args          -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append       0001-i2pd.conf-adjust-for-MacPorts.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set i2pddir             ${prefix}/var/db/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@PREFIX@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/contrib/i2pd.conf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/contrib/i2pd.logrotate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@I2PDDIR@|${i2pddir}|g" ${worksrcpath}/contrib/i2pd.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set i2pduser            _i2pd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+add_users               ${i2pduser} group=${i2pduser} realname=I2PD\ user
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.source_dir        ${worksrcpath}/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Minimum required is C++11, C++17 used if supported.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard   2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/PurpleI2P/i2pd/issues/1798
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        {clang < 600}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# These are defaults, but better have them explicit:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append   -DWITH_LIBRARY=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_BINARY=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_STATIC=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${build_arch} in [list ppc ppc64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -Dppc_support=TRUE \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_AESNI=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Temporary fix: use std::atomic in place of GCC builtins.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107590
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/PurpleI2P/i2pd/issues/1726
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/boostorg/smart_ptr/issues/105
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxxflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DBOOST_SP_USE_STD_ATOMIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${prefix}/etc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach item {i2pd.conf subscriptions.txt tunnels.conf tunnels.d} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move ${worksrcpath}/contrib/${item} ${destroot}${prefix}/etc/${name}/${item}.default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${prefix}/share/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach item {i2pd.logrotate certificates} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move ${worksrcpath}/contrib/${item} ${destroot}${prefix}/share/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -W ${worksrcpath} -m 0644 ChangeLog LICENSE README.md ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${prefix}/var/log/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${prefix}/var/run/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${i2pddir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -sf ${prefix}/share/${name}/certificates ${destroot}${i2pddir}/certificates
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -sf ${prefix}/etc/${name}/tunnels.d ${destroot}${i2pddir}/tunnels.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -sf ${prefix}/etc/${name}/i2pd.conf ${destroot}${i2pddir}/i2pd.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -sf ${prefix}/etc/${name}/subscriptions.txt ${destroot}${i2pddir}/subscriptions.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -sf ${prefix}/etc/${name}/tunnels.conf ${destroot}${i2pddir}/tunnels.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+i2pd status can be checked at: http://127.0.0.1:7070
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+You may edit i2pd settings in ${prefix}/etc/i2pd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+See also: https://i2pd.readthedocs.io/en/latest/user-guide/configuration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Re using i2pd with web-browser: https://github.com/PurpleI2P/i2pdbrowser
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![file exists ${prefix}/etc/logrotate.d/i2pd] && [variant_isset logrotate]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d ${destroot}${prefix}/etc/logrotate.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${prefix}/share/${name}/i2pd.logrotate ${prefix}/etc/logrotate.d/i2pd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach item {i2pd.conf subscriptions.txt tunnels.conf tunnels.d} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![file exists ${prefix}/etc/${name}/${item}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            copy ${prefix}/etc/${name}/${item}.default ${prefix}/etc/${name}/${item}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fs-traverse item "${i2pddir} ${prefix}/var/log/${name} ${prefix}/var/run/${name}" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file attributes ${item} -owner ${i2pduser} -group ${i2pduser}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.create      yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.user        ${i2pduser}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.group       ${i2pduser}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.executable  ${prefix}/bin/${name} --datadir=${i2pddir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.pidfile     clean ${prefix}/var/run/${name}/${name}.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.logfile     ${prefix}/var/log/${name}/${name}.log
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.keepdirs       ${destroot}${i2pddir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ${destroot}${prefix}/var/run/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ${destroot}${prefix}/var/log/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant upnp description "Support for UPNP" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:miniupnpc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_UPNP=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant logrotate description "Logrotate configuration" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append  port:logrotate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants        +upnp +logrotate
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/i2pd/files/0001-i2pd.conf-adjust-for-MacPorts.patch b/security/i2pd/files/0001-i2pd.conf-adjust-for-MacPorts.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7bf2a736b82
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/i2pd/files/0001-i2pd.conf-adjust-for-MacPorts.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,47 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From c9e23017bcbc2a35712c3e6739ff27176d51c3c6 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: barracuda156 <vital.had@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 11 Nov 2022 07:48:10 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] i2pd.conf: adjust for MacPorts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ contrib/i2pd.conf | 8 ++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 4 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/contrib/i2pd.conf b/contrib/i2pd.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d0a9e141..06be503e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/contrib/i2pd.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/contrib/i2pd.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,19 +8,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Tunnels config file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Default: ~/.i2pd/tunnels.conf or /var/lib/i2pd/tunnels.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# tunconf = /var/lib/i2pd/tunnels.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tunconf = @I2PDDIR@/tunnels.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Tunnels config files path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Use that path to store separated tunnels in different config files.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Default: ~/.i2pd/tunnels.d or /var/lib/i2pd/tunnels.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# tunnelsdir = /var/lib/i2pd/tunnels.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++tunnelsdir = @I2PDDIR@/tunnels.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Path to certificates used for verifying .su3, families
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Default: ~/.i2pd/certificates or /var/lib/i2pd/certificates
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# certsdir = /var/lib/i2pd/certificates
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++certsdir = @I2PDDIR@/certificates
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Where to write pidfile (default: i2pd.pid, not used in Windows)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# pidfile = /run/i2pd.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++pidfile = @PREFIX@/var/run/i2pd/i2pd.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## Logging configuration section
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## By default logs go to stdout with level 'info' and higher
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/contrib/i2pd.logrotate b/contrib/i2pd.logrotate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d0ca70ad..26ca3407 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/contrib/i2pd.logrotate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/contrib/i2pd.logrotate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"/var/log/i2pd/*.log" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"@PREFIX@/var/log/i2pd/*.log" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     copytruncate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     daily
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     rotate 5
</span></pre><pre style='margin:0'>

</pre>