diff options
-rw-r--r-- | metadata/categories.conf | 1 | ||||
-rw-r--r-- | packages/net-vpn/i2pd/files/99i2pd | 1 | ||||
-rw-r--r-- | packages/net-vpn/i2pd/files/i2pd.conf | 4 | ||||
-rw-r--r-- | packages/net-vpn/i2pd/files/i2pd.logrotate | 14 | ||||
-rw-r--r-- | packages/net-vpn/i2pd/files/systemd/i2pd.service | 18 | ||||
-rw-r--r-- | packages/net-vpn/i2pd/i2pd-scm.exheres-0 | 60 |
6 files changed, 98 insertions, 0 deletions
diff --git a/metadata/categories.conf b/metadata/categories.conf index 8737760..b8da8c9 100644 --- a/metadata/categories.conf +++ b/metadata/categories.conf @@ -13,3 +13,4 @@ mail-client voip media-sound media +net-vpn diff --git a/packages/net-vpn/i2pd/files/99i2pd b/packages/net-vpn/i2pd/files/99i2pd new file mode 100644 index 0000000..3cf3b46 --- /dev/null +++ b/packages/net-vpn/i2pd/files/99i2pd @@ -0,0 +1 @@ +CONFIG_PROTECT="/var/lib/i2pd/certificates" diff --git a/packages/net-vpn/i2pd/files/i2pd.conf b/packages/net-vpn/i2pd/files/i2pd.conf new file mode 100644 index 0000000..10675e6 --- /dev/null +++ b/packages/net-vpn/i2pd/files/i2pd.conf @@ -0,0 +1,4 @@ +log = 1 +daemon = 1 +service = 1 + diff --git a/packages/net-vpn/i2pd/files/i2pd.logrotate b/packages/net-vpn/i2pd/files/i2pd.logrotate new file mode 100644 index 0000000..790cd2a --- /dev/null +++ b/packages/net-vpn/i2pd/files/i2pd.logrotate @@ -0,0 +1,14 @@ +/var/log/i2pd.log { + rotate 4 + weekly + missingok + notifempty + compress + delaycompress + copytruncate + create 640 i2pd i2pd + postrotate + /etc/init.d/i2pd restart >/dev/null + endscript +} + diff --git a/packages/net-vpn/i2pd/files/systemd/i2pd.service b/packages/net-vpn/i2pd/files/systemd/i2pd.service new file mode 100644 index 0000000..7f44cde --- /dev/null +++ b/packages/net-vpn/i2pd/files/systemd/i2pd.service @@ -0,0 +1,18 @@ +[Unit] +Description=C++ daemon for accessing the I2P network +After=network.target + +[Service] +Type=forking +Restart=on-abnormal +PIDFile=/var/run/i2pd.pid +User=i2pd +Group=i2pd +PermissionsStartOnly=yes +ExecStartPre=/bin/touch /var/run/i2pd.pid /var/log/i2pd.log +ExecStartPre=/bin/chown i2pd:i2pd /run/i2pd.pid /var/log/i2pd.log +ExecStart=/usr/lib/i2pd/i2p --conf=/etc/i2pd.conf + +[Install] +WantedBy=multi-user.target + diff --git a/packages/net-vpn/i2pd/i2pd-scm.exheres-0 b/packages/net-vpn/i2pd/i2pd-scm.exheres-0 new file mode 100644 index 0000000..611feaa --- /dev/null +++ b/packages/net-vpn/i2pd/i2pd-scm.exheres-0 @@ -0,0 +1,60 @@ +# Distributed under the terms of the GNU General Public License v2 + +SCM_REPOSITORY="git://github.com/PurpleI2P/i2pd" +require scm-git systemd-service cmake [ api=2 ] +HOMEPAGE="https://github.com/PurpleI2P/i2pd" +SUMMARY="A C++ daemon for accessing the I2P anonymous network" +#LICENSE="BSD" +SLOT="0" +PLATFORMS="~amd64 ~x86" +DOWNLOADS="" + +MYOPTIONS=" + i2p-hardening + pch + upnp + ( + providers: + libressl + openssl + ) + [[ number-selected = exactly-one ]] +" + +MYOPTIONS+=" + amd64_cpu_features: aes avx + x86_cpu_features: aes avx +" + +DEPENDENCIES=" + build+run: + providers:openssl? ( dev-libs/openssl ) + providers:libressl? ( dev-libs/libressl ) + dev-libs/boost[>=1.49] + upnp? ( net-libs/miniupnpc ) +" + +src_configure() { + local cmakeparams=() + if option amd64_cpu_features:aes; then + cmakeparams+=( -DWITH_AESNI=ON ) + fi + if option x86_cpu_features:aes; then + cmakeparams+=( -DWITH_AESNI=ON ) + fi + if option amd64_cpu_features:avx; then + cmakeparams+=( -DWITH_AVX=ON ) + fi + if option x86_cpu_features:avx; then + cmakeparams+=( -DWITH_AVX=ON ) + fi + cmakeparams+=( + $(cmake_with i2p-hardening HARDENING) + $(cmake_with pch PCH) + $(cmake_with upnp UPNP) + -DWITH_LIBRARY=ON + -DWITH_BINARY=ON + ) + CMAKE_SOURCE=${WORKBASE}/${PNV}/build + ecmake "${cmakeparams[@]}" +} |