net-vpn/i2pd: version bump
authorAlexey Korepanov <kaikaikai@yandex.ru>
Mon, 27 Aug 2018 21:10:47 +0000 (22:10 +0100)
committerAnthony G. Basile <blueness@gentoo.org>
Sat, 8 Sep 2018 14:40:12 +0000 (10:40 -0400)
Closes: https://bugs.gentoo.org/664982

net-vpn/i2pd/Manifest
net-vpn/i2pd/i2pd-2.20.0.ebuild [new file with mode: 0644]

index 893ee2ee5ba6c4704428967dc140a024d267eb1f..ac2b9b9e080518a8148e78d2b77063d7d45dd7d8 100644 (file)
@@ -1,3 +1,4 @@
 DIST i2pd-2.17.0.tar.gz 1874984 BLAKE2B 0fd265bbd007009196d2a8202885a016092e9abd016e8dd184d8cd61597ba2bb122698bca2bc073c9393b7d7ead3c59e0dcd5145144afdb5b487b4712936b22d SHA512 ea962b8c52bfbfe211aec9e6d73bf630d7680745c915eaf12e468dc02c8c492edf95ac55b4c131e1391cf0d97ba08d58f05e9652d5b2594b839730317b4c8f6e
 DIST i2pd-2.18.0.tar.gz 1868440 BLAKE2B a5c65c379b38735bc43c81553416ac1dfd7064da33ff282de2ab7567aaeed1e49edbafb48c03f372f72e70bc4fe0e922036cd08538bf0b6c07e00c2c2f328dd9 SHA512 dc8e0f4df25188e4d72ea6ffa2c36e48a7d2103d025730b40e226ab631724a9a07a4dc03a1a3d08328972c98020c44535661820add80374f1dabdf3fc848ef84
 DIST i2pd-2.19.0.tar.gz 1982459 BLAKE2B b05f7a3018091e9c0008ca7037e44b6f5a4416be57054df5f9af72bd664b7d4fc7673e5d3eb1b8bb1ddfb61e81145eb0a847b301a580ef971d181ed00a4c960a SHA512 4c3d2408962f3e55e1a22491b0844ce44cacc7aa631541a86e94554da88e42234576fe221e1398c88e7e68d267bbf9e73cbea9cd74981c354e46ba82d62bb32f
+DIST i2pd-2.20.0.tar.gz 1991174 BLAKE2B 37b85dc37299cd6d2f64050eb096ecc11d75ccdcdba845f34c908e6467cbcb9fa7cea9243415bafd7c9167f5e8ea06c8729bcb885e78f45e37680f8001b69237 SHA512 affade889d32fdf20fc0bc4c7bb809fb511794421a80a93334707e26c72eecc83715d756d79ce7924d43ef44dc9f655925de860b5b392b6c4fe815eb873c1864
diff --git a/net-vpn/i2pd/i2pd-2.20.0.ebuild b/net-vpn/i2pd/i2pd-2.20.0.ebuild
new file mode 100644 (file)
index 0000000..454dd17
--- /dev/null
@@ -0,0 +1,113 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils systemd user cmake-utils versionator toolchain-funcs
+
+DESCRIPTION="A C++ daemon for accessing the I2P anonymous network"
+HOMEPAGE="https://github.com/PurpleI2P/i2pd"
+SRC_URI="https://github.com/PurpleI2P/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc64 ~x86"
+IUSE="cpu_flags_x86_aes i2p-hardening libressl static +upnp websocket"
+
+# if using libressl, require >=boost-1.65, see #597798
+RDEPEND="!static? ( dev-libs/boost[threads]
+                       !libressl? ( dev-libs/openssl:0[-bindist] )
+                       libressl? ( dev-libs/libressl:0
+                                               >=dev-libs/boost-1.65 )
+                       sys-libs/zlib
+                       upnp? ( net-libs/miniupnpc )
+               )"
+DEPEND="${RDEPEND}
+       static? ( dev-libs/boost[static-libs,threads]
+               !libressl? ( dev-libs/openssl:0[static-libs] )
+               libressl? ( dev-libs/libressl:0[static-libs]
+                                       >=dev-libs/boost-1.65 )
+               sys-libs/zlib[static-libs]
+               upnp? ( net-libs/miniupnpc[static-libs] )
+       )
+       websocket? ( dev-cpp/websocketpp )"
+
+I2PD_USER=i2pd
+I2PD_GROUP=i2pd
+
+CMAKE_USE_DIR="${S}/build"
+
+DOCS=( README.md contrib/i2pd.conf contrib/tunnels.conf )
+
+PATCHES=( "${FILESDIR}/${PN}-2.14.0-fix_installed_components.patch" )
+
+pkg_pretend() {
+       if tc-is-gcc && ! version_is_at_least "4.7" "$(gcc-version)"; then
+               die "At least gcc 4.7 is required"
+       fi
+       if use i2p-hardening && ! tc-is-gcc; then
+               die "i2p-hardening requires gcc"
+       fi
+}
+
+src_configure() {
+       mycmakeargs=(
+               -DWITH_AESNI=$(usex cpu_flags_x86_aes ON OFF)
+               -DWITH_HARDENING=$(usex i2p-hardening ON OFF)
+               -DWITH_PCH=OFF
+               -DWITH_STATIC=$(usex static ON OFF)
+               -DWITH_UPNP=$(usex upnp ON OFF)
+               -DWITH_WEBSOCKETS=$(usex websocket ON OFF)
+               -DWITH_LIBRARY=ON
+               -DWITH_BINARY=ON
+       )
+       cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       # config
+       insinto /etc/i2pd
+       doins contrib/i2pd.conf
+       doins contrib/tunnels.conf
+
+       # grant i2pd group read and write access to config files
+       fowners "root:${I2PD_GROUP}" \
+               /etc/i2pd/i2pd.conf \
+               /etc/i2pd/tunnels.conf
+       fperms 660 \
+               /etc/i2pd/i2pd.conf \
+               /etc/i2pd/tunnels.conf
+
+       # working directory
+       keepdir /var/lib/i2pd
+       insinto /var/lib/i2pd
+       doins -r contrib/certificates
+       fowners "${I2PD_USER}:${I2PD_GROUP}" /var/lib/i2pd/
+       fperms 700 /var/lib/i2pd/
+
+       # add /var/lib/i2pd/certificates to CONFIG_PROTECT
+       doenvd "${FILESDIR}/99i2pd"
+
+       # openrc and systemd daemon routines
+       newconfd "${FILESDIR}/i2pd-2.6.0-r3.confd" i2pd
+       newinitd "${FILESDIR}/i2pd-2.6.0-r3.initd" i2pd
+       systemd_newunit "${FILESDIR}/i2pd-2.6.0-r3.service" i2pd.service
+
+       # logrotate
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/i2pd-2.6.0-r3.logrotate" i2pd
+}
+
+pkg_setup() {
+       enewgroup "${I2PD_GROUP}"
+       enewuser "${I2PD_USER}" -1 -1 /var/lib/run/i2pd "${I2PD_GROUP}"
+}
+
+pkg_postinst() {
+       if [[ -f ${EROOT%/}/etc/i2pd/subscriptions.txt ]]; then
+               ewarn
+               ewarn "Configuration of the subscriptions has been moved from"
+               ewarn "subscriptions.txt to i2pd.conf. We recommend updating"
+               ewarn "i2pd.conf accordingly and deleting subscriptions.txt."
+       fi
+}