diff options
author | zlg <zlg@gentoo.org> | 2015-05-22 05:44:58 +0000 |
---|---|---|
committer | zlg <zlg@gentoo.org> | 2015-05-22 05:44:58 +0000 |
commit | f79eb9a12ea81ef87321469d70e6a89d8bc6e0ca (patch) | |
tree | 6759fb96c269eb69d1b6004c084c900339c66a1d /net-p2p/i2p | |
parent | Version bump. (diff) | |
download | gentoo-2-f79eb9a12ea81ef87321469d70e6a89d8bc6e0ca.tar.gz gentoo-2-f79eb9a12ea81ef87321469d70e6a89d8bc6e0ca.tar.bz2 gentoo-2-f79eb9a12ea81ef87321469d70e6a89d8bc6e0ca.zip |
New ebuild for i2p wrt 297660. Thanks Andrey Tikhomirov, M. B., Chaser, et al
(Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 5039E170)
Diffstat (limited to 'net-p2p/i2p')
-rw-r--r-- | net-p2p/i2p/ChangeLog | 11 | ||||
-rw-r--r-- | net-p2p/i2p/Manifest | 7 | ||||
-rw-r--r-- | net-p2p/i2p/files/i2p-0.9.18_fix-paths.patch | 137 | ||||
-rw-r--r-- | net-p2p/i2p/files/i2p.initd | 36 | ||||
-rw-r--r-- | net-p2p/i2p/files/i2p.service | 13 | ||||
-rw-r--r-- | net-p2p/i2p/i2p-0.9.18.ebuild | 97 | ||||
-rw-r--r-- | net-p2p/i2p/metadata.xml | 10 |
7 files changed, 311 insertions, 0 deletions
diff --git a/net-p2p/i2p/ChangeLog b/net-p2p/i2p/ChangeLog new file mode 100644 index 000000000000..ffd279deb07e --- /dev/null +++ b/net-p2p/i2p/ChangeLog @@ -0,0 +1,11 @@ +# ChangeLog for net-p2p/i2p +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/i2p/ChangeLog,v 1.1 2015/05/22 05:44:58 zlg Exp $ + +*i2p-0.9.18 (22 May 2015) + + 22 May 2015; Daniel Campbell <zlg@gentoo.org> +i2p-0.9.18.ebuild, + +files/i2p-0.9.18_fix-paths.patch, +files/i2p.initd, +files/i2p.service, + +metadata.xml: + Add ebuild wrt bug 297660. Thanks Andrey Tikhomirov, M.B., Chaser, et al + diff --git a/net-p2p/i2p/Manifest b/net-p2p/i2p/Manifest new file mode 100644 index 000000000000..54a2a5b13f1c --- /dev/null +++ b/net-p2p/i2p/Manifest @@ -0,0 +1,7 @@ +AUX i2p-0.9.18_fix-paths.patch 5512 SHA256 6c5925d5520c864de751a96b619f8a46aa3cd625c08df1689b890352617adeef SHA512 05722506129d4a929dd5aca9a5054151346ec94d00206726772e6088b69ae727bc45b1104702e9bf515b08e0f8a05abe8aafe82082317f2d93cf28ea86dde55e WHIRLPOOL 50860da84690041a8ba360b25fc689c22c47932c7a03636c3618e160846460d903df6f4df08aa5052e8c24219a9a41004161c5d46d7c7e324ac687cde4b7ff88 +AUX i2p.initd 1177 SHA256 b14aaa3457784b3dd71e0cd4df2c801b1115801b418611b3ae4af2d5bd8e4976 SHA512 16a2fb5fe72fe979943d76c985558a6fc93886e2896784bcbce8191d63f31abee298967fd1d4824c98c02e64a92ce5c01d7c57415a70da160254fd1b3976bf48 WHIRLPOOL a27930fa66d7c0d2b2cd918be203915525fe965f9b9e31cc045c25eef1e62a5befb5070fa0b17b56270a5da043ac01a21283789fe16ee16b676926263319e638 +AUX i2p.service 244 SHA256 62b078c9cb011474fd1e73f29995a3e9106f6e48c90fff6e46010908676c4086 SHA512 409438616aa655630e0e3256052fee831a8f68728b67eef077f5ea303d6dcccb06bbb549af5ee1023ef60ee6fa264d0170d991dbbdc0cc70335b030c73a7e6c8 WHIRLPOOL fa51dde6b4dfa51881736fe3f85507f9d0f86f1b7889c485dafa099fe5af94a289a5274c7f197af8d838b829a838344eb7652d006ae09b898b00c14786e5636d +DIST i2psource_0.9.18.tar.bz2 24147960 SHA256 6f02f38c933662874c485cb52ca800a9e07c36e74a26fdfeece65e25979beb4b SHA512 6cc336f94f8e4331b26d6e42958808f193ad3709ab6098981077c9390749233fb3d20df5c8fea34ec7810bc8846fd2e11ed7a79bf7c1ec68402b1ccacae999d6 WHIRLPOOL 467285b189af69b300c56756992e53979aa049515cb89ce0d5cbff80b9270c4ab1188f419dd0206b2406780b36ddde73861b5e2e69c7b2e7d8ed00b7bcaaa7a7 +EBUILD i2p-0.9.18.ebuild 2998 SHA256 ebecbf2b55d3fecc14989a9e124a4fb21a2db5b364f72cdd51939e268f8dc5ba SHA512 1645061d9b8907cd15c79817d18f96c26e7a06ee09cb3244ebcb45c0473140b33753ac716c942d13dda54728650066821dd8402ca0d4f05b7ffa6975dd2ec429 WHIRLPOOL f94f75b23cf747d699ed4fa9772818bc2124d039790a2899ad7e09fc60b225ab48b08eddbd912fbfda752dca03cbfd4a6e5520c713bb402c0e68cc0346fcef5b +MISC ChangeLog 375 SHA256 ff32d05d871658eab3dab0ed0c18c210e0596764c04ba09b398792fabc63a3ca SHA512 bfaa440cb3fa29925606e9929aa8bdd19561999635381e944dc7aee737ce468db0ccdba19facaf8285485745741b3aed0ed6a84efca981fd0479e28ffaea1d94 WHIRLPOOL 47cff201503e282f6f185824f198749a2ef01a8adb88814425bb36ac07fb38d579b188bad2c903825f8789cc220c1dbf79dff986d56f1500f4ce75a7de819781 +MISC metadata.xml 482 SHA256 9122ea15f789fb627a0d0779d44bb89bf10eb051e8b0d3216947c64d303673c1 SHA512 f29b998f6f96ccb20f915dc14e99d884993d77210ba6c65aba9b662e8561a329c621ee9049b7504fb916b7eff8090b9ef236c9ed48c632283287df8fe9cc2908 WHIRLPOOL 5c6f2d5ab6e23d0d3224d3ae568bdf255a6dcd2740b09b70239860560f7f40a8c1987e7a188299b1221ca961b75530503004a81bb9496d939507ba1f1414f676 diff --git a/net-p2p/i2p/files/i2p-0.9.18_fix-paths.patch b/net-p2p/i2p/files/i2p-0.9.18_fix-paths.patch new file mode 100644 index 000000000000..d1c207f10e96 --- /dev/null +++ b/net-p2p/i2p/files/i2p-0.9.18_fix-paths.patch @@ -0,0 +1,137 @@ +--- 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 2015-03-15 02:02:29.022408661 -0700 ++++ wrapper.config 2015-03-15 02:21:50.666238909 -0700 +@@ -60,13 +60,17 @@ + # 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/jakarta-jstl/lib/*.jar ++wrapper.java.classpath.3=/usr/share/java-service-wrapper/lib/*.jar ++wrapper.java.classpath.4=/usr/share/bcprov/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 +@@ -76,7 +80,7 @@ + wrapper.java.additional.1=-DloggerFilenameOverride=logs/log-router-@.txt + wrapper.java.additional.2=-Dorg.mortbay.http.Version.paranoid=true + wrapper.java.additional.3=-Dorg.mortbay.xml.XmlParser.NotValidating=true +-wrapper.java.additional.4=-Di2p.dir.base="$INSTALL_PATH" ++wrapper.java.additional.4=-Di2p.dir.base="/usr/share/i2p" + wrapper.java.additional.4.stripquotes=TRUE + + # On some IPv6 enabled systems, I2P and other network-enabled java applications +@@ -96,11 +100,11 @@ + # wrapper.java.additional.7=-Dorg.mortbay.util.FileResource.checkAliases=false + # PORTABLE installation: + # uncomment the following +-#wrapper.java.additional.7=-Di2p.dir.pid="$INSTALL_PATH" ++#wrapper.java.additional.7=-Di2p.dir.pid="/usr/share/i2p" + #wrapper.java.additional.7.stripquotes=TRUE +-#wrapper.java.additional.8=-Di2p.dir.temp="$INSTALL_PATH" ++#wrapper.java.additional.8=-Di2p.dir.temp="/usr/share/i2p" + #wrapper.java.additional.8.stripquotes=TRUE +-#wrapper.java.additional.9=-Di2p.dir.config="$INSTALL_PATH" ++#wrapper.java.additional.9=-Di2p.dir.config="/usr/share/i2p" + #wrapper.java.additional.9.stripquotes=TRUE + # + # Uncomment this for better performance. +@@ -147,7 +151,7 @@ + # PORTABLE installation: + # Use the following instead. I2P will find the logfile here, + # no need for a wrapper.java.additional line too. +-#wrapper.logfile=$INSTALL_PATH/wrapper.log ++#wrapper.logfile=/usr/share/i2p/wrapper.log + + # Format of output for the log file. + # The format consists of the tokens 'L' for log level, 'P' for prefix, 'D' for thread, +@@ -220,7 +224,7 @@ + #wrapper.java.pidfile=$SYSTEM_java_io_tmpdir/routerjvm.pid + # PORTABLE installation: + # Use the following instead. +-#wrapper.java.pidfile=$INSTALL_PATH/routerjvm.pid ++#wrapper.java.pidfile=/usr/share/i2p/routerjvm.pid + # pid file for the service monitoring the JVM + # + # From i2prouter: +@@ -238,7 +242,7 @@ + #wrapper.pidfile=$SYSTEM_java_io_tmpdir/i2p.pid + # PORTABLE installation: + # Use the following instead. +-#wrapper.pidfile=$INSTALL_PATH/i2p.pid ++#wrapper.pidfile=/usr/share/i2p/i2p.pid + + #******************************************************************** + # Wrapper General Properties diff --git a/net-p2p/i2p/files/i2p.initd b/net-p2p/i2p/files/i2p.initd new file mode 100644 index 000000000000..1899bc681a26 --- /dev/null +++ b/net-p2p/i2p/files/i2p.initd @@ -0,0 +1,36 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/i2p/files/i2p.initd,v 1.1 2015/05/22 05:44:58 zlg Exp $ + +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 $? +} + diff --git a/net-p2p/i2p/files/i2p.service b/net-p2p/i2p/files/i2p.service new file mode 100644 index 000000000000..ccbadbd4d167 --- /dev/null +++ b/net-p2p/i2p/files/i2p.service @@ -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 diff --git a/net-p2p/i2p/i2p-0.9.18.ebuild b/net-p2p/i2p/i2p-0.9.18.ebuild new file mode 100644 index 000000000000..1c991298b0e5 --- /dev/null +++ b/net-p2p/i2p/i2p-0.9.18.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/i2p/i2p-0.9.18.ebuild,v 1.1 2015/05/22 05:44:58 zlg Exp $ + +EAPI="5" + +inherit eutils java-pkg-2 java-ant-2 systemd user + +DESCRIPTION="A privacy-centric, anonymous network." +HOMEPAGE="https://geti2p.net" +SRC_URI="https://download.i2p2.de/releases/${PV}/i2psource_${PV}.tar.bz2" + +LICENSE="Apache-2.0 Artistic BSD CC-BY-2.5 CC-BY-3.0 CC-BY-SA-3.0 EPL-1.0 GPL-2 GPL-3 LGPL-2.1 LGPL-3 MIT public-domain WTFPL-2" +SLOT="0" +# Until the deps reach other arches +KEYWORDS="~amd64 ~x86" +IUSE="nls" +# dev-java/ant-core is automatically added due to java-ant-2.eclass +DEPEND=">=dev-java/bcprov-1.50 + dev-java/eclipse-ecj:* + dev-java/jakarta-jstl + dev-java/java-service-wrapper + dev-java/jrobin + dev-java/slf4j-api + dev-libs/gmp:* + nls? ( sys-devel/gettext ) + >=virtual/jdk-1.6:=" +RDEPEND="${DEPEND} >=virtual/jre-1.6" + +EANT_BUILD_TARGET="pkg" +EANT_GENTOO_CLASSPATH="jakarta-jstl,java-service-wrapper,jrobin,slf4j-api" + +pkg_setup() { + enewgroup i2p + enewuser i2p -1 -1 /var/lib/i2p i2p -m +} + +src_unpack() { + unpack ${A} + cd "${S}" + java-ant_rewrite-classpath +} + +src_prepare() { + # We're on GNU/Linux, we don't need .exe files + echo "noExe=true" > override.properties + if ! use nls; then + echo "require.gettext=false" >> override.properties + fi +} + +src_install() { + # Using ${D} here results in an error. Docs say use $ROOT + i2p_home="${ROOT}/usr/share/i2p" + # Patch the relevant files. This needs to be in src_install due to + # preinst() generating the files we're patching + cd pkg-temp + epatch "${FILESDIR}/i2p-0.9.18_fix-paths.patch" + + # 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 + java-pkg_jarinto "${i2p_home}/lib" + 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 + java-pkg_dojar lib/${i}.jar + done + + # Set up symlinks for binaries + dosym /usr/bin/wrapper ${i2p_home}/i2psvc + dosym ${i2p_home}/i2prouter /usr/bin/i2prouter + dosym ${i2p_home}/eepget /usr/bin/eepget + + # Install main files and basic documentation + exeinto ${i2p_home} + insinto ${i2p_home} + doins blocklist.txt hosts.txt *.config + doexe eepget i2prouter runplain.sh + dodoc history.txt INSTALL-headless.txt LICENSE.txt + doman man/* + + # Install other directories + doins -r certificates docs eepsite geoip scripts + dodoc -r licenses + java-pkg_dowar webapps/*.war + + # Install daemon files + newinitd "${FILESDIR}/i2p.initd" i2p + systemd_newunit "${FILESDIR}"/i2p.service i2p.service +} + +pkg_postinst() { + elog "Custom configuration belongs in /var/lib/i2p/.i2p/ to avoid being overwritten." + elog "I2P can be configured through the web interface at http://localhost:7657/index.jsp" +} diff --git a/net-p2p/i2p/metadata.xml b/net-p2p/i2p/metadata.xml new file mode 100644 index 000000000000..e7203d0c8f6a --- /dev/null +++ b/net-p2p/i2p/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>java</herd> +<maintainer><email>maintainer-wanted@gentoo.org</email></maintainer> +<longdescription>I2P is an anonymous network, exposing a simple layer that applications can use to anonymously and securely send messages to each other.</longdescription> +<use> +<flag name="nls">Adds Native Language Support using GNU gettext.</flag> +</use> +</pkgmetadata> |