summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-misc/i2pd/files/i2pd-2.5.1-disable_ipv6_in_i2pd_conf.patch9
-rw-r--r--net-misc/i2pd/files/i2pd-2.5.1-fix_installed_components.patch30
-rw-r--r--net-misc/i2pd/files/i2pd-2.5.1.confd9
-rw-r--r--net-misc/i2pd/files/i2pd-2.5.1.initd26
-rw-r--r--net-misc/i2pd/files/i2pd-2.5.1.service18
-rw-r--r--net-misc/i2pd/i2pd-2.5.1-r1.ebuild6
-rw-r--r--net-misc/i2pd/i2pd-2.5.1-r2.ebuild86
7 files changed, 181 insertions, 3 deletions
diff --git a/net-misc/i2pd/files/i2pd-2.5.1-disable_ipv6_in_i2pd_conf.patch b/net-misc/i2pd/files/i2pd-2.5.1-disable_ipv6_in_i2pd_conf.patch
new file mode 100644
index 000000000000..0617b65be530
--- /dev/null
+++ b/net-misc/i2pd/files/i2pd-2.5.1-disable_ipv6_in_i2pd_conf.patch
@@ -0,0 +1,9 @@
+diff -Naur i2pd-2.5.1/debian/i2pd.conf i2pd-2.5.1b/debian/i2pd.conf
+--- i2pd-2.5.1/debian/i2pd.conf 2016-03-10 19:34:16.000000000 +0100
++++ i2pd-2.5.1b/debian/i2pd.conf 2016-03-24 22:30:51.490011172 +0100
+@@ -1,4 +1,4 @@
+-ipv6
++#ipv6
+
+ [httpproxy]
+ address = 127.0.0.1
diff --git a/net-misc/i2pd/files/i2pd-2.5.1-fix_installed_components.patch b/net-misc/i2pd/files/i2pd-2.5.1-fix_installed_components.patch
new file mode 100644
index 000000000000..0416901117c5
--- /dev/null
+++ b/net-misc/i2pd/files/i2pd-2.5.1-fix_installed_components.patch
@@ -0,0 +1,30 @@
+--- a/build/CMakeLists.txt.old 2016-02-04 21:30:50.954251000 +0100
++++ b/build/CMakeLists.txt 2016-02-04 21:34:50.457793484 +0100
+@@ -356,10 +356,6 @@
+ endif ()
+ endif ()
+
+-install(FILES ../LICENSE
+- DESTINATION .
+- COMPONENT Runtime
+- )
+ # Take a copy on Appveyor
+ install(FILES "C:/projects/openssl-$ENV{OPENSSL}/LICENSE"
+ DESTINATION .
+@@ -369,7 +365,6 @@
+ )
+
+ file(GLOB_RECURSE I2PD_SOURCES "../*.cpp" "../build" "../Win32" "../Makefile*")
+-install(FILES ${I2PD_SOURCES} DESTINATION src/ COMPONENT Source)
+ # install(DIRECTORY ../ DESTINATION src/
+ # # OPTIONAL
+ # COMPONENT Source FILES_MATCHING
+@@ -378,7 +373,7 @@
+ # )
+
+ file(GLOB I2PD_HEADERS "../*.h")
+-install(FILES ${I2PD_HEADERS} DESTINATION src/ COMPONENT Headers)
++install(FILES ${I2PD_HEADERS} DESTINATION "include/${PROJECT_NAME}" COMPONENT Headers)
+ # install(DIRECTORY ../ DESTINATION src/
+ # # OPTIONAL
+ # COMPONENT Headers FILES_MATCHING
diff --git a/net-misc/i2pd/files/i2pd-2.5.1.confd b/net-misc/i2pd/files/i2pd-2.5.1.confd
new file mode 100644
index 000000000000..af0de2fba12c
--- /dev/null
+++ b/net-misc/i2pd/files/i2pd-2.5.1.confd
@@ -0,0 +1,9 @@
+I2PD_USER="${I2PD_USER:-i2pd}"
+I2PD_GROUP="${I2PD_GROUP:-i2pd}"
+I2PD_LOG="/var/log/i2pd.log"
+I2PD_PID="/var/run/i2pd.pid"
+I2PD_CFGDIR="/etc/i2pd/"
+# Options to i2pd
+I2PDOPTIONS="--daemon --service --pidfile=${I2PD_PID} \
+--log=file --logfile=${I2PD_LOG} \
+--conf=${I2PD_CFGDIR}i2pd.conf --tunconf=${I2PD_CFGDIR}tunnels.cfg"
diff --git a/net-misc/i2pd/files/i2pd-2.5.1.initd b/net-misc/i2pd/files/i2pd-2.5.1.initd
new file mode 100644
index 000000000000..3bcdd312db33
--- /dev/null
+++ b/net-misc/i2pd/files/i2pd-2.5.1.initd
@@ -0,0 +1,26 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+description="C++ daemon for accessing the I2P network"
+
+depend() {
+ use dns logger netmount
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ checkpath -f "${I2PD_LOG}" -o "${I2PD_USER}:${I2PD_GROUP}"
+ checkpath -f "${I2PD_PID}" -o "${I2PD_USER}:${I2PD_GROUP}"
+ start-stop-daemon -S -u "${I2PD_USER}:${I2PD_GROUP}" -p "${I2PD_PID}.pid" /usr/bin/i2pd -- ${I2PDOPTIONS}
+ sleep 1
+ [ -e "$I2PD_PID" -a -e /proc/$(cat "$I2PD_PID") ]
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon -K -p "${I2PD_PID}" -R SIGTERM/20 SIGKILL/20 -P
+ eend $?
+}
diff --git a/net-misc/i2pd/files/i2pd-2.5.1.service b/net-misc/i2pd/files/i2pd-2.5.1.service
new file mode 100644
index 000000000000..4f79124a8f44
--- /dev/null
+++ b/net-misc/i2pd/files/i2pd-2.5.1.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/bin/i2pd --daemon --service --pidfile=/var/run/i2pd.pid --log=file --logfile=/var/log/i2pd.log --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.cfg
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/net-misc/i2pd/i2pd-2.5.1-r1.ebuild b/net-misc/i2pd/i2pd-2.5.1-r1.ebuild
index 73d79debff70..31385b5f2ace 100644
--- a/net-misc/i2pd/i2pd-2.5.1-r1.ebuild
+++ b/net-misc/i2pd/i2pd-2.5.1-r1.ebuild
@@ -68,9 +68,9 @@ src_install() {
fowners "${I2PD_USER}:${I2PD_GROUP}" "/etc/${PN}/${PN}.conf"
fperms 600 "/etc/${PN}/${PN}.conf"
dodir /usr/share/i2pd
- newconfd "${FILESDIR}/${PN}-2.5.0.confd" "${PN}"
- newinitd "${FILESDIR}/${PN}-2.5.0.initd" "${PN}"
- systemd_newunit "${FILESDIR}/${PN}-2.5.0.service" "${PN}.service"
+ newconfd "${FILESDIR}/${PN}-2.5.1.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}-2.5.1.initd" "${PN}"
+ systemd_newunit "${FILESDIR}/${PN}-2.5.1.service" "${PN}.service"
doenvd "${FILESDIR}/99${PN}"
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}-2.5.0.logrotate" "${PN}"
diff --git a/net-misc/i2pd/i2pd-2.5.1-r2.ebuild b/net-misc/i2pd/i2pd-2.5.1-r2.ebuild
new file mode 100644
index 000000000000..30b46b317b3e
--- /dev/null
+++ b/net-misc/i2pd/i2pd-2.5.1-r2.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit eutils systemd user cmake-utils
+
+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="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="cpu_flags_x86_aes i2p-hardening libressl pch static +upnp"
+
+RDEPEND="!static? ( >=dev-libs/boost-1.46[threads]
+ dev-libs/crypto++
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ upnp? ( net-libs/miniupnpc )
+ )"
+DEPEND="${RDEPEND}
+ static? ( >=dev-libs/boost-1.46[static-libs,threads]
+ dev-libs/crypto++[static-libs]
+ !libressl? ( dev-libs/openssl:0[-bindist,static-libs] )
+ libressl? ( dev-libs/libressl[static-libs] )
+ upnp? ( net-libs/miniupnpc[static-libs] ) )
+ i2p-hardening? ( >=sys-devel/gcc-4.7 )
+ || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.3 )"
+
+I2PD_USER="${I2PD_USER:-i2pd}"
+I2PD_GROUP="${I2PD_GROUP:-i2pd}"
+
+CMAKE_USE_DIR="${S}/build"
+
+src_prepare() {
+ eapply "${FILESDIR}/${P}-fix_installed_components.patch"
+ eapply "${FILESDIR}/${P}-disable_ipv6_in_i2pd_conf.patch"
+ eapply_user
+}
+
+src_configure() {
+ mycmakeargs=(
+ -DWITH_AESNI=$(usex cpu_flags_x86_aes ON OFF)
+ -DWITH_HARDENING=$(usex i2p-hardening ON OFF)
+ -DWITH_PCH=$(usex pch ON OFF)
+ -DWITH_STATIC=$(usex static ON OFF)
+ -DWITH_UPNP=$(usex upnp ON OFF)
+ -DWITH_LIBRARY=ON
+ -DWITH_BINARY=ON
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README.md
+ doman "${FILESDIR}/${PN}.1"
+ keepdir /var/lib/i2pd/
+ insinto "/var/lib/i2pd"
+ doins -r "${S}/contrib/certificates"
+ dosym /etc/i2pd/subscriptions.txt /var/lib/i2pd/subscriptions.txt
+ fowners "${I2PD_USER}:${I2PD_GROUP}" /var/lib/i2pd/
+ fperms 700 /var/lib/i2pd/
+ dodir "/etc/${PN}"
+ insinto "/etc/${PN}"
+ doins "${S}/debian/${PN}.conf"
+ doins "${S}/debian/subscriptions.txt"
+ doins "${FILESDIR}/tunnels.cfg"
+ dodir /usr/share/i2pd
+ newconfd "${FILESDIR}/${PN}-2.5.1.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}-2.5.1.initd" "${PN}"
+ systemd_newunit "${FILESDIR}/${PN}-2.5.1.service" "${PN}.service"
+ doenvd "${FILESDIR}/99${PN}"
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}-2.5.0.logrotate" "${PN}"
+ fowners "${I2PD_USER}:${I2PD_GROUP}" "/etc/${PN}/${PN}.conf" \
+ "/etc/${PN}/subscriptions.txt" \
+ "/etc/${PN}/tunnels.cfg"
+ fperms 600 "/etc/${PN}/"*
+}
+
+pkg_setup() {
+ enewgroup "${I2PD_GROUP}"
+ enewuser "${I2PD_USER}" -1 -1 "/var/lib/run/${PN}" "${I2PD_GROUP}"
+}