net-p2p/i2p: version bump to 0.9.26.
authortharvik <tharvik@users.noreply.github.com>
Mon, 11 Jul 2016 14:45:06 +0000 (16:45 +0200)
committerPatrice Clement <monsieurp@gentoo.org>
Thu, 14 Jul 2016 17:38:15 +0000 (19:38 +0200)
Gentoo-Bug: https://bugs.gentoo.org/586850
Package-Manager: portage-2.2.28
Closes: https://github.com/gentoo/gentoo/pull/1756

Signed-off-by: Patrice Clement <monsieurp@gentoo.org>
net-p2p/i2p/Manifest
net-p2p/i2p/files/i2p-0.9.22_fix-paths.patch [deleted file]
net-p2p/i2p/files/i2p-0.9.23_fix-encoding.patch [deleted file]
net-p2p/i2p/files/i2p-0.9.23_fix-paths.patch [deleted file]
net-p2p/i2p/files/i2p-0.9.24_initd [deleted file]
net-p2p/i2p/files/i2p-0.9.26-add_libs.patch [moved from net-p2p/i2p/files/i2p-0.9.24_add-libs.patch with 85% similarity]
net-p2p/i2p/files/i2p-0.9.26.initd [moved from net-p2p/i2p/files/i2p-0.9.23_initd with 100% similarity]
net-p2p/i2p/files/i2p-0.9.26.service [new file with mode: 0644]
net-p2p/i2p/i2p-0.9.26.ebuild [moved from net-p2p/i2p/i2p-0.9.24-r2.ebuild with 73% similarity]

index 1504c9cc1987606a218e7a71b4bb29baa323c7de..80867dbed211b334ae71b2cfb6192131de686c47 100644 (file)
@@ -1,2 +1,2 @@
-DIST i2psource_0.9.24.tar.bz2 24468215 SHA256 134481ae5ef934a411545330d1b22e768189c424a65db47058db0f7d9cf51e7d SHA512 9029ea06640a937385499fd308232f2c3b04308cc834e2e2491a567c47be4aa128d509b2058735cb8cf088a0b9273b418efbca05d70944ef9e95c3d15d96a47a WHIRLPOOL d7211cf46bf4bbaa54340de0dadcb255f2321d75b3d968401612c1bc0926f91f1d248e634c97c8d6948f78cd4a68c9a79ca4a65102e205a56c704a2409416cf3
 DIST i2psource_0.9.25.tar.bz2 24652935 SHA256 daaac2b5a5a6b5bbd4b805f76e14f6a7c201dfd7c1cf43c98e182d2e657d1236 SHA512 a50f00d9ad32993da30529339e3ffd425d5e97d5120d9e4e446f6fa7ac0cbb6ee4f35c013b0815802ff6c72e188b00d408c7fa398c8ee1ae71be57383a1411f6 WHIRLPOOL a851f6505155201d872774407dc71c9dd03a4683b3ce35d2fff74fd3f7f17d12cc1cc72dfcc2c7c4f0d82b86333bd0424066ae41330e603ba07872d56c257e27
+DIST i2psource_0.9.26.tar.bz2 27039859 SHA256 49fbaea7f4d5ea0606de68ebb270fc3d4380631ecfd5c9ad82ed9356e29df937 SHA512 2b3f96fe97418c176b4e0058817bde81909e46d136ed5cadf9f8fb4323b0a35e0a5d3fc0eaadacbfe8f9578376d8a6c6757121452cd9f7c1c3c7d019169a914d WHIRLPOOL b8161e77a491d26f24e786bf185f9eba35aa4421ba17e668f3a8f73fc481c6c8b7ea630b8c860f4cb2c877660a703aaa0dfa2d03d8163ea98a151302067e1600
diff --git a/net-p2p/i2p/files/i2p-0.9.22_fix-paths.patch b/net-p2p/i2p/files/i2p-0.9.22_fix-paths.patch
deleted file mode 100644 (file)
index e189016..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
---- clients.config     2015-03-15 02:02:29.021408673 -0700
-+++ clients.config     2015-03-15 02:24:33.460308396 -0700
-@@ -60,7 +60,7 @@
- clientApp.4.name=Open Router Console in web browser at startup
- clientApp.4.args=http://127.0.0.1:7657/
- clientApp.4.delay=3
--clientApp.4.startOnLoad=true
-+clientApp.4.startOnLoad=false
- # BOB bridge
- clientApp.5.args=
---- eepget     2015-03-15 02:02:29.078407997 -0700
-+++ eepget     2015-03-15 02:17:51.441075791 -0700
-@@ -1,3 +1,3 @@
- #!/bin/sh
--I2P="%INSTALL_PATH"
-+I2P="/usr/share/i2p"
- java -cp "$I2P/lib/i2p.jar" net.i2p.util.EepGet "$@"
---- i2prouter  2015-03-15 02:02:29.079407985 -0700
-+++ i2prouter  2015-03-15 02:11:13.023194731 -0700
-@@ -28,20 +28,22 @@
- # Note that (percent)INSTALL_PATH, (percent)USER_HOME,  and (percent)SYSTEM_java_io_tmpdir
- # should have been replaced by the izpack installer.
- # If you did not run the installer, replace them with the appropriate paths.
--I2P="%INSTALL_PATH"
-+USER_HOME="$HOME"
-+SYSTEM_java_io_tmpdir="$USER_HOME/.i2p"
-+I2P="/usr/share/i2p"
- if [ "`uname -s`" = "Darwin" ]; then
--   if [ -d "%USER_HOME/Library/Application Support" ]; then
--       I2P_CONFIG_DIR="%USER_HOME/Library/Application Support/i2p"
-+   if [ -d "$USER_HOME/Library/Application Support" ]; then
-+       I2P_CONFIG_DIR="$USER_HOME/Library/Application Support/i2p"
-    else
--       I2P_CONFIG_DIR="%USER_HOME/.i2p"
-+       I2P_CONFIG_DIR="$USER_HOME/.i2p"
-    fi
- else
--    I2P_CONFIG_DIR="%USER_HOME/.i2p"
-+    I2P_CONFIG_DIR="$USER_HOME/.i2p"
- fi
--I2PTEMP="%SYSTEM_java_io_tmpdir"
-+I2PTEMP="$SYSTEM_java_io_tmpdir"
- # PORTABLE installation:
- # Use the following instead.
--#I2PTEMP="%INSTALL_PATH"
-+#I2PTEMP="/usr/share/i2p"
- # Application
- APP_NAME="i2p"
---- runplain.sh        2015-03-15 02:02:29.078407997 -0700
-+++ runplain.sh        2015-03-15 02:18:46.530422508 -0700
-@@ -11,8 +11,8 @@
- # Note that (percent)INSTALL_PATH and (percent)SYSTEM_java_io_tmpdir
- # should have been replaced by the izpack installer.
- # If you did not run the installer, replace them with the appropriate path.
--I2P="%INSTALL_PATH"
--I2PTEMP="%SYSTEM_java_io_tmpdir"
-+I2P="/usr/share/i2p"
-+I2PTEMP="$SYSTEM_java_io_tmpdir"
- # Having IPv6 enabled can cause problems with certain configurations. Changing the
- # next value to true may help. 
---- wrapper.config.orig        2015-10-18 13:31:29.410486000 +0000
-+++ wrapper.config     2015-10-18 13:48:05.823486000 +0000
-@@ -60,13 +60,18 @@
- # classes, or all the classes of i2p.jar, are in a different directory).
- # Be sure there are no other duplicate classes.
- #
--wrapper.java.classpath.1=$INSTALL_PATH/lib/*.jar
-+wrapper.java.classpath.1=/usr/share/i2p/lib/*.jar
-+wrapper.java.classpath.2=/usr/share/tomcat-jstl-impl/lib/*.jar
-+wrapper.java.classpath.3=/usr/share/tomcat-jstl-spec/lib/*.jar
-+wrapper.java.classpath.4=/usr/share/java-service-wrapper/lib/*.jar
-+wrapper.java.classpath.5=/usr/share/bcprov-1.50/lib/*.jar
- #  uncomment this to use the system classpath as well (e.g. to get tools.jar)
- # wrapper.java.classpath.2=%CLASSPATH%
- # Java Library Path (location of Wrapper.DLL or libwrapper.so)
--wrapper.java.library.path.1=$INSTALL_PATH
--wrapper.java.library.path.2=$INSTALL_PATH/lib
-+wrapper.java.library.path.1=/usr/share/i2p
-+wrapper.java.library.path.2=/usr/share/i2p/lib
-+wrapper.java.library.path.3=/usr/lib/java-service-wrapper
- # Java Bits.  On applicable platforms, tells the JVM to run in 32 or 64-bit mode.
- wrapper.java.additional.auto_bits=TRUE
-@@ -74,7 +79,7 @@
- # Java Additional Parameters
- # Numbers must be consecutive (except for stripquotes)
- wrapper.java.additional.1=-DloggerFilenameOverride=logs/log-router-@.txt
--wrapper.java.additional.2=-Di2p.dir.base="$INSTALL_PATH"
-+wrapper.java.additional.2=-Di2p.dir.base="/usr/share/i2p"
- wrapper.java.additional.2.stripquotes=TRUE
- # Prevent the JVM from exporting stats (and thereby causing hundreds of
diff --git a/net-p2p/i2p/files/i2p-0.9.23_fix-encoding.patch b/net-p2p/i2p/files/i2p-0.9.23_fix-encoding.patch
deleted file mode 100644 (file)
index 4c542b5..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-diff -Naur a/core/java/src/net/i2p/crypto/eddsa/math/GroupElement.java b/core/java/src/net/i2p/crypto/eddsa/math/GroupElement.java
---- a/core/java/src/net/i2p/crypto/eddsa/math/GroupElement.java        2016-01-07 01:40:50.225460721 +0100
-+++ b/core/java/src/net/i2p/crypto/eddsa/math/GroupElement.java        2016-01-07 01:41:19.960462373 +0100
-@@ -216,9 +216,9 @@
-      * x is recovered in the following way:
-      * <p><ul>
-      * <li>x = sign(x) * sqrt((y^2 - 1) / (d * y^2 + 1)) = sign(x) * sqrt(u / v) with u = y^2 - 1 and v = d * y^2 + 1.
--     * <li>Setting β = (u * v^3) * (u * v^7)^((q - 5) / 8) one has β^2 = +-(u / v).
--     * <li>If v * β = -u multiply β with i=sqrt(-1).
--     * <li>Set x := β.
-+     * <li>Setting b = (u * v^3) * (u * v^7)^((q - 5) / 8) one has b^2 = +-(u / v).
-+     * <li>If v * b = -u multiply b with i=sqrt(-1).
-+     * <li>Set x := b.
-      * <li>If sign(x) != bit 255 of s then negate x.
-      *
-      * @param curve The curve.
-@@ -511,10 +511,10 @@
-      * Formula for the P^2 representation is in agreement with the formula given in [4] page 12 (with a = -1)
-      * up to a common factor -1 which does not matter:
-      * <p>
--     * B = (X + Y)^2; C = X^2; D = Y^2; E = -C = -X^2; F := E + D = Y^2 - X^2; H = Z^2; J = F − 2 * H;
--     * X3 = (B − C − D) · J = X' * (-T');
--     * Y3 = F · (E − D) = Z' * (-Y');
--     * Z3 = F · J = Z' * (-T').
-+     * B = (X + Y)^2; C = X^2; D = Y^2; E = -C = -X^2; F := E + D = Y^2 - X^2; H = Z^2; J = F - 2 * H;
-+     * X3 = (B - C - D) . J = X' * (-T');
-+     * Y3 = F . (E - D) = Z' * (-Y');
-+     * Z3 = F . J = Z' * (-T').
-      *
-      * @return The P1P1 representation
-      */
-diff -Naur a/core/java/src/net/i2p/data/DataHelper.java b/core/java/src/net/i2p/data/DataHelper.java
---- a/core/java/src/net/i2p/data/DataHelper.java       2016-01-07 01:40:50.214460721 +0100
-+++ b/core/java/src/net/i2p/data/DataHelper.java       2016-01-07 01:41:02.491461403 +0100
-@@ -1577,7 +1577,7 @@
-         } else if (adms < 0.001d) {
-             t = ngettext("1 ns", "{0,number,###} ns", (int) Math.round(ms * 1000000d));
-         } else if (adms < 1.0d) {
--            t = ngettext("1 μs", "{0,number,###} μs", (int) Math.round(ms * 1000d));
-+            t = ngettext("1 us", "{0,number,###} us", (int) Math.round(ms * 1000d));
-         } else if (ams < 3 * 1000) {
-             t = ngettext("1 ms", "{0,number,####} ms", (int) Math.round(ms));
-         } else if (ams < 2 * 60 * 1000) {
diff --git a/net-p2p/i2p/files/i2p-0.9.23_fix-paths.patch b/net-p2p/i2p/files/i2p-0.9.23_fix-paths.patch
deleted file mode 100644 (file)
index c30e208..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -Naur a/clients.config b/clients.config
---- a/clients.config   2016-01-07 00:44:46.721273819 +0100
-+++ b/clients.config   2016-01-07 00:44:52.185274122 +0100
-@@ -60,7 +60,7 @@
- clientApp.4.name=Open Router Console in web browser at startup
- clientApp.4.args=http://127.0.0.1:7657/
- clientApp.4.delay=3
--clientApp.4.startOnLoad=true
-+clientApp.4.startOnLoad=false
- # BOB bridge
- clientApp.5.args=
-diff -Naur a/eepget b/eepget
---- a/eepget   2016-01-07 00:44:46.721273819 +0100
-+++ b/eepget   2016-01-07 00:44:52.186274123 +0100
-@@ -1,3 +1,3 @@
- #!/bin/sh
--I2P="%INSTALL_PATH"
-+I2P="/usr/share/i2p"
- java -cp "$I2P/lib/i2p.jar" net.i2p.util.EepGet "$@"
-diff -Naur a/i2prouter b/i2prouter
---- a/i2prouter        2016-01-07 00:44:46.721273819 +0100
-+++ b/i2prouter        2016-01-07 00:44:52.188274123 +0100
-@@ -28,20 +28,22 @@
- # Note that (percent)INSTALL_PATH, (percent)USER_HOME,  and (percent)SYSTEM_java_io_tmpdir
- # should have been replaced by the izpack installer.
- # If you did not run the installer, replace them with the appropriate paths.
--I2P="%INSTALL_PATH"
-+USER_HOME="$HOME"
-+SYSTEM_java_io_tmpdir="$USER_HOME/.i2p"
-+I2P="/usr/share/i2p"
- if [ "`uname -s`" = "Darwin" ]; then
--   if [ -d "%USER_HOME/Library/Application Support" ]; then
--       I2P_CONFIG_DIR="%USER_HOME/Library/Application Support/i2p"
-+   if [ -d "$USER_HOME/Library/Application Support" ]; then
-+       I2P_CONFIG_DIR="$USER_HOME/Library/Application Support/i2p"
-    else
--       I2P_CONFIG_DIR="%USER_HOME/.i2p"
-+       I2P_CONFIG_DIR="$USER_HOME/.i2p"
-    fi
- else
--    I2P_CONFIG_DIR="%USER_HOME/.i2p"
-+    I2P_CONFIG_DIR="$USER_HOME/.i2p"
- fi
--I2PTEMP="%SYSTEM_java_io_tmpdir"
-+I2PTEMP="$SYSTEM_java_io_tmpdir"
- # PORTABLE installation:
- # Use the following instead.
--#I2PTEMP="%INSTALL_PATH"
-+#I2PTEMP="/usr/share/i2p"
- # Application
- APP_NAME="i2p"
-diff -Naur a/runplain.sh b/runplain.sh
---- a/runplain.sh      2016-01-07 00:44:46.721273819 +0100
-+++ b/runplain.sh      2016-01-07 00:44:52.189274123 +0100
-@@ -11,8 +11,8 @@
- # Note that (percent)INSTALL_PATH and (percent)SYSTEM_java_io_tmpdir
- # should have been replaced by the izpack installer.
- # If you did not run the installer, replace them with the appropriate path.
--I2P="%INSTALL_PATH"
--I2PTEMP="%SYSTEM_java_io_tmpdir"
-+I2P="/usr/share/i2p"
-+I2PTEMP="$SYSTEM_java_io_tmpdir"
- # Having IPv6 enabled can cause problems with certain configurations. Changing the
- # next value to true may help.
-diff -Naur a/wrapper.config b/wrapper.config
---- a/wrapper.config   2016-01-07 00:44:46.714273818 +0100
-+++ b/wrapper.config   2016-01-07 00:46:24.151279233 +0100
-@@ -60,13 +60,19 @@
- # classes, or all the classes of i2p.jar, are in a different directory).
- # Be sure there are no other duplicate classes.
- #
--wrapper.java.classpath.1=$INSTALL_PATH/lib/*.jar
-+wrapper.java.classpath.1=/usr/share/i2p/lib/*.jar
-+wrapper.java.classpath.2=/usr/share/tomcat-jstl-impl/lib/*.jar
-+wrapper.java.classpath.3=/usr/share/tomcat-jstl-spec/lib/*.jar
-+wrapper.java.classpath.4=/usr/share/java-service-wrapper/lib/*.jar
-+wrapper.java.classpath.5=/usr/share/bcprov-1.50/lib/*.jar
-+wrapper.java.classpath.6=/usr/share/jrobin/lib/*.jar
- #  uncomment this to use the system classpath as well (e.g. to get tools.jar)
- # wrapper.java.classpath.2=%CLASSPATH%
- # Java Library Path (location of Wrapper.DLL or libwrapper.so)
--wrapper.java.library.path.1=$INSTALL_PATH
--wrapper.java.library.path.2=$INSTALL_PATH/lib
-+wrapper.java.library.path.1=/usr/share/i2p
-+wrapper.java.library.path.2=/usr/share/i2p/lib
-+wrapper.java.library.path.3=/usr/lib/java-service-wrapper
- # Java Bits.  On applicable platforms, tells the JVM to run in 32 or 64-bit mode.
- wrapper.java.additional.auto_bits=TRUE
-@@ -74,7 +80,7 @@
- # Java Additional Parameters
- # Numbers must be consecutive (except for stripquotes)
- wrapper.java.additional.1=-DloggerFilenameOverride=logs/log-router-@.txt
--wrapper.java.additional.2=-Di2p.dir.base="$INSTALL_PATH"
-+wrapper.java.additional.2=-Di2p.dir.base="/usr/share/i2p"
- wrapper.java.additional.2.stripquotes=TRUE
- # Prevent the JVM from exporting stats (and thereby causing hundreds of
diff --git a/net-p2p/i2p/files/i2p-0.9.24_initd b/net-p2p/i2p/files/i2p-0.9.24_initd
deleted file mode 100644 (file)
index bd00917..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-depend() {
-       need net
-}
-
-HOME="/var/lib/i2p"
-USER_HOME="$HOME"
-JAVABINARY="/etc/java-config-2/current-system-vm/bin/java"
-INSTALL_PATH="/usr/share/i2p"
-I2P="$INSTALL_PATH"
-I2P_CONFIG_DIR="$USER_HOME/.i2p"
-SYSTEM_java_io_tmpdir="$I2P_CONFIG_DIR"
-I2PTEMP="$SYSTEM_java_io_tmpdir"
-LOGFILE="$I2P_CONFIG_DIR/wrapper.log"
-PIDFILE="/var/run/i2p.pid"
-WRAPPER_CMD="$I2P/i2psvc"
-WRAPPER_CONF="$I2P/wrapper.config"
-
-start() {
-       ebegin "Starting I2P"
-       start-stop-daemon --start -b -m -u i2p --pidfile "$PIDFILE" --quiet --exec $WRAPPER_CMD -- -c $WRAPPER_CONF wrapper.daemonize=FALSE wrapper.syslog.ident=i2p wrapper.java.command="$JAVABINARY" wrapper.name=i2p wrapper.displayname="I2P Service" wrapper.statusfile="$I2P_CONFIG_DIR/i2p.status" wrapper.java.statusfile="$I2P_CONFIG_DIR/i2p.java.status" wrapper.logfile="$LOGFILE"
-       sleep 1
-       [ -e "$PIDFILE" -a -e /proc/$(cat "$PIDFILE") ]
-       eend $?
-}
-
-stop() {
-       ebegin "Stopping I2P"
-       start-stop-daemon --stop -u i2p --pidfile "$PIDFILE" --quiet --exec $WRAPPER_CMD -R SIGTERM/20 SIGKILL/20 -P
-       eend $?
-}
-
similarity index 85%
rename from net-p2p/i2p/files/i2p-0.9.24_add-libs.patch
rename to net-p2p/i2p/files/i2p-0.9.26-add_libs.patch
index f2230449c89388306ffc3f5691869adcdcce1082..945366966ca470b6d607e9827430004222b1dd38 100644 (file)
@@ -1,6 +1,6 @@
 diff -Naur a/wrapper.config b/wrapper.config
---- a/wrapper.config   2016-02-07 23:19:48.714569016 +0100
-+++ b/wrapper.config   2016-02-07 23:20:37.523566840 +0100
+--- a/installer/resources/wrapper.config       2016-02-07 23:19:48.714569016 +0100
++++ b/installer/resources/wrapper.config       2016-02-07 23:20:37.523566840 +0100
 @@ -61,12 +61,18 @@
  # Be sure there are no other duplicate classes.
  #
diff --git a/net-p2p/i2p/files/i2p-0.9.26.service b/net-p2p/i2p/files/i2p-0.9.26.service
new file mode 100644 (file)
index 0000000..ccbadbd
--- /dev/null
@@ -0,0 +1,13 @@
+[Unit]
+Description=Invisible Internet Project
+After=network.target
+
+[Service]
+User=i2p
+Type=forking
+ExecReload=/usr/bin/i2prouter restart
+ExecStart=/usr/bin/i2prouter start
+ExecStop=/usr/bin/i2prouter stop
+
+[Install]
+WantedBy=multi-user.target
similarity index 73%
rename from net-p2p/i2p/i2p-0.9.24-r2.ebuild
rename to net-p2p/i2p/i2p-0.9.26.ebuild
index f0f48b09a001d71c67b7f91cfd4bd1d4a5935327..8f0da55f8a0ea6774ccd4b79e60960e7e38ed5f3 100644 (file)
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="5"
+EAPI="6"
 
 inherit eutils java-pkg-2 java-ant-2 systemd user
 
@@ -15,7 +15,7 @@ SLOT="0"
 
 # Until the deps reach other arches
 KEYWORDS="~amd64 ~x86"
-IUSE="nls"
+IUSE="+ecdsa nls"
 
 # dev-java/ant-core is automatically added due to java-ant-2.eclass
 CDEPEND="dev-java/bcprov:1.50
@@ -27,21 +27,24 @@ CDEPEND="dev-java/bcprov:1.50
 
 DEPEND="${CDEPEND}
        dev-java/eclipse-ecj:*
-       dev-libs/gmp:*
-       nls? ( sys-devel/gettext )
+       dev-libs/gmp:0
+       nls? ( >=sys-devel/gettext-0.19 )
        >=virtual/jdk-1.7"
 
 RDEPEND="${CDEPEND}
-       || (
-               dev-java/icedtea:7[-sunec]
-               dev-java/icedtea:8[-sunec]
-               dev-java/icedtea:7[nss,-sunec]
-               dev-java/icedtea-bin:7[nss]
-               dev-java/icedtea-bin:7
-               dev-java/icedtea-bin:8
-               dev-java/oracle-jre-bin
-               dev-java/oracle-jdk-bin
-       )"
+       ecdsa? (
+               || (
+                       dev-java/icedtea:7[-sunec]
+                       dev-java/icedtea:8[-sunec]
+                       dev-java/icedtea:7[nss,-sunec]
+                       dev-java/icedtea-bin:7[nss]
+                       dev-java/icedtea-bin:7
+                       dev-java/icedtea-bin:8
+                       dev-java/oracle-jre-bin
+                       dev-java/oracle-jdk-bin
+               )
+       )
+       !ecdsa? ( >=virtual/jre-1.7 )"
 
 EANT_BUILD_TARGET="pkg"
 EANT_GENTOO_CLASSPATH="java-service-wrapper,jrobin,slf4j-api,tomcat-jstl-impl,tomcat-jstl-spec,bcprov-1.50"
@@ -49,7 +52,13 @@ JAVA_ANT_ENCODING="UTF-8"
 
 I2P_ROOT='/usr/share/i2p'
 I2P_CONFIG_HOME='/var/lib/i2p'
-I2P_CONFIG_DIR="${I2P_HOME}/.i2p"
+I2P_CONFIG_DIR="${I2P_CONFIG_HOME}/.i2p"
+
+RES_DIR='installer/resources'
+
+PATCHES=(
+       "${FILESDIR}/${P}-add_libs.patch"
+)
 
 pkg_setup() {
        java-pkg-2_pkg_setup
@@ -68,39 +77,39 @@ src_prepare() {
        java-pkg-2_src_prepare
 
        # We're on GNU/Linux, we don't need .exe files
-       echo "noExe=true" > override.properties
+       echo "noExe=true" > override.properties || die
        if ! use nls; then
-               echo "require.gettext=false" >> override.properties
+               echo "require.gettext=false" >> override.properties || die
        fi
-}
-
-src_install() {
-       # Cd into pkg-temp.
-       cd "${S}/pkg-temp" || die
-
-       # add libs
-       epatch "${FILESDIR}/${P}_add-libs.patch"
 
        # avoid auto starting browser
        sed -i 's|clientApp.4.startOnLoad=true|clientApp.4.startOnLoad=false|' \
-               clients.config || die
+               "${RES_DIR}/clients.config" || die
+
+       # we do it now so we can resolve path after
+       default
 
        # replace paths as the installer would
        sed -i "s|%INSTALL_PATH|${I2P_ROOT}|" \
-               eepget i2prouter runplain.sh  || die
-       sed -i "s|\$INSTALL_PATH|${I2P_ROOT}|" wrapper.config || die
+               "${RES_DIR}/"{eepget,i2prouter,runplain.sh}  || die
+       sed -i "s|\$INSTALL_PATH|${I2P_ROOT}|" "${RES_DIR}/wrapper.config" || die
        sed -i "s|%SYSTEM_java_io_tmpdir|${I2P_CONFIG_DIR}|" \
-               i2prouter runplain.sh || die
-       sed -i "s|%USER_HOME|${I2P_CONFIG_HOME}|" i2prouter || die
+               "${RES_DIR}/"{i2prouter,runplain.sh} || die
+       sed -i "s|%USER_HOME|${I2P_CONFIG_HOME}|" "${RES_DIR}/i2prouter" || die
+}
+
+src_install() {
+       # cd into pkg-temp.
+       cd "${S}/pkg-temp" || die
 
-       # This is ugly, but to satisfy all non-system .jar dependencies, jetty and
-       # systray4j would need to be packaged. The former would be too large a task
-       # for an unseasoned developer and systray4j hasn't been touched in over 10
-       # years. This seems to be the most pragmatic solution
+       # This is ugly, but to satisfy all non-system .jar dependencies, jetty
+       # would need to be packaged. It would be too large a task
+       # for an unseasoned developer. This seems to be the most pragmatic solution
        java-pkg_jarinto "${I2P_ROOT}/lib"
+       local i
        for i in BOB commons-el commons-logging i2p i2psnark i2ptunnel \
                jasper-compiler jasper-runtime javax.servlet jbigi jetty* mstreaming org.mortbay.* router* \
-               sam standard streaming systray systray4j; do
+               sam standard streaming systray; do
                java-pkg_dojar lib/${i}.jar
        done
 
@@ -123,11 +132,11 @@ src_install() {
        java-pkg_dowar webapps/*.war
 
        # Install daemon files
-       newinitd "${FILESDIR}/${P}_initd" i2p
-       systemd_newunit "${FILESDIR}"/i2p.service i2p.service
+       newinitd "${FILESDIR}/${P}.initd" i2p
+       systemd_newunit "${FILESDIR}/${P}.service" i2p.service
 
        # setup user
-       dodir "${I2P_CONFIG_DIR}"
+       keepdir "${I2P_CONFIG_DIR}"
        fowners -R i2p:i2p "${I2P_CONFIG_DIR}"
 }
 
@@ -148,5 +157,4 @@ pkg_postinst() {
        ewarn "This is purely a run-time issue. You're free to build i2p with any JDK, as long as"
        ewarn 'the JVM you run it with is one of the above listed and from the same or a newer generation'
        ewarn 'as the one you built with.'
-
 }