summaryrefslogtreecommitdiff
path: root/net-vpn
diff options
context:
space:
mode:
Diffstat (limited to 'net-vpn')
-rw-r--r--net-vpn/Manifest.gzbin8061 -> 8060 bytes
-rw-r--r--net-vpn/i2p/Manifest3
-rw-r--r--net-vpn/i2p/files/2.6.0-force-gentoo-classpath.patch291
-rw-r--r--net-vpn/i2p/i2p-2.6.0.ebuild262
4 files changed, 556 insertions, 0 deletions
diff --git a/net-vpn/Manifest.gz b/net-vpn/Manifest.gz
index f80543a28c98..ca2f3acd971f 100644
--- a/net-vpn/Manifest.gz
+++ b/net-vpn/Manifest.gz
Binary files differ
diff --git a/net-vpn/i2p/Manifest b/net-vpn/i2p/Manifest
index 20272248cf79..a71886c44fee 100644
--- a/net-vpn/i2p/Manifest
+++ b/net-vpn/i2p/Manifest
@@ -1,6 +1,9 @@
+AUX 2.6.0-force-gentoo-classpath.patch 14044 BLAKE2B 6d62bad667cb816d0341458545a3339bccbb510d9c82fd3d59921ccacd7101d163273cf1f84b1e27e92e0b4abead50778209b540572fe37dec101b6d2feeed07 SHA512 1b670bc5fd0ad25c6b0d11d857d1a8f59e84aea86551af525852c5f396162b7444988653aff1c2ff43210ae40fa615ee0bd00f6648458e7bf53059f1b61976fb
AUX fix-junit-classpath.patch 6760 BLAKE2B 90791a87b8b726deff7bbda41db657e8f091ce3aa599d3e12453c63c674cdd4123c770cc13454909494d751fe56352e3fc90cd87c12f940e95f1351c62e56741 SHA512 f5355d8361dc8ad0fcce65ef936c4927004d22a71c6ce8ee425ba46a70d251d185d67c73d461c8dcbaa71613f8e22aa40866a38f1ffc0004ee148259745614df
AUX i2p.init 278 BLAKE2B 2e26e9d25e21494d2f6a221a3c332f1afe475513096eb7c51a0fbc4cacc8e9bd418f98d622cb054f55d7b7c4941054be8b6314f9b19c249e9ad0e77893980ca6 SHA512 1edb33cd0df28de95e02b1015e86cbc44c867a8df1260abb0565bc232c2cccc2625d36fdefa4a050ea3215d938c1ff0521a591a0bc2b27d57ca6be621795cd52
AUX i2p.service 172 BLAKE2B 8523af82e33d7a8f5b37138f8d28c7adb4c08607b84813f35b42f11064c0ec2768bf443eca32bd7b281ed084d6b820b23977c55a1cd5b8ad058ab18117b83f90 SHA512 c87574c968f4142b3dbe556dab86438765dc8b9b23475dca8c7e268d2963e5dffcd9175bb749b2d42c3fc7fe75d9175158f56cb78f0fa4faa7d6029fdf4b8e6c
DIST i2psource_2.5.2.tar.bz2 33791390 BLAKE2B ceb74d4dd1c694aa174d9861615f5765f5620a803a5bd8b30eb8f986b2855a70e38c90899ed655f5cb65af5dde1a9572d4bb4ad5d244e5a62805a81325bf8419 SHA512 92ee39fb75b8b3bc4a06ea04831d2267d0fcd52a250eaa5b162f3c1e2c29207a51dcbafe4eab4fcfa87b21317201911d5bdafc118f5493c98bb86d0513fc9c88
+DIST i2psource_2.6.0.tar.bz2 33486530 BLAKE2B c9a39f4700c590a4e9e6ba621f24d1b6b181e6e69433493259bd59113231c2023c506419298ae6ed158808c0a45bed91038ab92c96147973ec947a787f91f56c SHA512 fdabd15084d0f66474d70e4786951be31e7a0fb4bf8094cd1a442beebd3c81d5f00d88ddc4b79b79d1494e2ad469c2b8028279e1259cd80a6ba68b6265d1be2e
EBUILD i2p-2.5.2-r1.ebuild 7403 BLAKE2B 4de4029768ce0f99f87eccd523050bf8768ff1d6e6356afb29266b06208c62236b0fc469daa3b7ed70fa436ce247f09e5c3fe8bfc7c1bab9d2ecd700888f6a72 SHA512 f3697d44f6d89f7f36f431dcd6236111078fd616e687abe08785b398f5571ecc8060ad385d9163c8c436828ebef3a7e46da7bfb56f097f53bc55a99c7ec5e548
+EBUILD i2p-2.6.0.ebuild 8304 BLAKE2B 39f5971ce5db846e1d4d0e6537d72ec5e06fa45a5aa1b09e4938c129c755ffa3540fe0fa07d5e55387b001256ad559d2fefd1bce34f0401d31fb35a9bf5c5a20 SHA512 d732b893b74adc7c4f63ccc8e97d0654888024e261190f7691d8b8248f9b2292d471e72f4d54dc9559f2b88e083f234d7731bac600c9dcae8b1ab0c361058b31
MISC metadata.xml 743 BLAKE2B 020f7bd72231ce0cb37929330c1f73be6cd91e5d13f86202c6d5da5b2ced53e2b3df172dcf63fb37ae2028019376422ffa7fc8ad94f206f0996984294f353503 SHA512 c1cd68d0fe33ca5b738973fedf764141d490430afa968b325b4a2bc853e6206c0c1683724ff5e4829ac97482b40490cfb3b14b03711149a84baa1e6ecc27dbee
diff --git a/net-vpn/i2p/files/2.6.0-force-gentoo-classpath.patch b/net-vpn/i2p/files/2.6.0-force-gentoo-classpath.patch
new file mode 100644
index 000000000000..e0be1a1926f6
--- /dev/null
+++ b/net-vpn/i2p/files/2.6.0-force-gentoo-classpath.patch
@@ -0,0 +1,291 @@
+commit 0d7543a63f99fb1713274fd8619d0d7285f68727
+Author: tharvik <tharvik@users.noreply.github.com>
+Date: Sat Aug 17 13:56:51 2024 +0200
+
+ add gentoo.classpath
+
+diff --git a/apps/i2pcontrol/build.xml b/apps/i2pcontrol/build.xml
+index c350b0b73..db73702f4 100644
+--- a/apps/i2pcontrol/build.xml
++++ b/apps/i2pcontrol/build.xml
+@@ -24,6 +24,7 @@
+ <pathelement location="${wrapperlib}/wrapper.jar" />
+ <!-- following jar only present for debian builds -->
+ <pathelement location="../../core/java/build/json-simple.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </path>
+
+ <path id="cpSocket">
+@@ -33,6 +34,7 @@
+ <pathelement location="${wrapperlib}/wrapper.jar" />
+ <!-- following jar only present for debian builds -->
+ <pathelement location="../../core/java/build/json-simple.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </path>
+
+ <target name="all" depends="clean, build" />
+diff --git a/apps/i2psnark/java/build.xml b/apps/i2psnark/java/build.xml
+index 7033fccff..6701a4f47 100644
+--- a/apps/i2psnark/java/build.xml
++++ b/apps/i2psnark/java/build.xml
+@@ -63,6 +63,7 @@
+ <pathelement location="../../jetty/jettylib/org.mortbay.jetty.jar" />
+ <pathelement location="../../jetty/jettylib/jetty-util.jar" />
+ <pathelement location="../../desktopgui/dist/desktopgui.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ </javac>
+ </target>
+diff --git a/apps/i2ptunnel/java/build.xml b/apps/i2ptunnel/java/build.xml
+index fc40aa32b..91725ab16 100644
+--- a/apps/i2ptunnel/java/build.xml
++++ b/apps/i2ptunnel/java/build.xml
+@@ -45,7 +45,7 @@
+ destdir="./build/obj"
+ includeAntRuntime="false"
+ encoding="UTF-8"
+- classpath="../../../core/java/build/i2p.jar:../../../core/java/build/gnu-getopt.jar:../../ministreaming/java/build/mstreaming.jar" >
++ classpath="../../../core/java/build/i2p.jar:../../../core/java/build/gnu-getopt.jar:../../ministreaming/java/build/mstreaming.jar:${gentoo.classpath}" >
+ <compilerarg line="${javac.compilerargs}" />
+ </javac>
+ </target>
+@@ -373,6 +373,7 @@
+ <!-- required for multipart form handling in register.jsp -->
+ <pathelement location="../../jetty/jettylib/jetty-i2p.jar" />
+ <pathelement location="../../jetty/jettylib/jspc.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <arg value="-d" />
+ <arg value="../jsp/WEB-INF/classes" />
+@@ -410,6 +411,7 @@
+ <pathelement location="../../../core/java/build/i2p.jar" />
+ <!-- required for multipart form handling in register.jsp -->
+ <pathelement location="../../jetty/jettylib/jetty-i2p.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ </javac>
+ <copy file="../jsp/web.xml" tofile="../jsp/web-out.xml" />
+@@ -477,6 +479,7 @@
+ <pathelement location="../../ministreaming/java/build/mstreaming.jar" />
+ <pathelement location="../../streaming/java/build/streaming.jar" />
+ <pathelement location="${junit.home}/junit4.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <batchtest>
+ <fileset dir="./test/junit/">
+diff --git a/apps/imagegen/imagegen/build.xml b/apps/imagegen/imagegen/build.xml
+index ea55c2c7e..83d17e36c 100644
+--- a/apps/imagegen/imagegen/build.xml
++++ b/apps/imagegen/imagegen/build.xml
+@@ -8,6 +8,7 @@
+ <pathelement location="../identicon/build/identicon.jar" />
+ <pathelement location="../zxing/build/zxing.jar" />
+ <pathelement location="../../../build/i2p.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </path>
+
+ <target name="all" depends="war" />
+diff --git a/apps/jetty/build.xml b/apps/jetty/build.xml
+index 3eed66acf..79d664ca9 100644
+--- a/apps/jetty/build.xml
++++ b/apps/jetty/build.xml
+@@ -418,6 +418,7 @@
+ <pathelement location="./jettylib/org.mortbay.jetty.jar" />
+ <!-- following jar only present for debian builds -->
+ <pathelement location="./jettylib/tomcat-api.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <compilerarg line="${javac.compilerargs}" />
+ </javac>
+diff --git a/apps/ministreaming/java/build.xml b/apps/ministreaming/java/build.xml
+index 7e589cb81..387c09eae 100644
+--- a/apps/ministreaming/java/build.xml
++++ b/apps/ministreaming/java/build.xml
+@@ -262,6 +262,7 @@
+ <pathelement location="${mockito.home}/byte-buddy.jar" />
+ <pathelement location="${mockito.home}/objenesis.jar" />
+ <pathelement location="${mockito.home}/mockito-core.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <compilerarg line="${javac.compilerargs}" />
+ </javac>
+@@ -326,6 +327,7 @@
+ <pathelement location="../../build/jbigi.jar" />
+ <pathelement location="${with.clover}" />
+ <pathelement location="${with.cobertura}" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <batchtest todir="../../../reports/ministreaming/junit/">
+ <fileset dir="./test/junit">
+diff --git a/apps/routerconsole/java/build.xml b/apps/routerconsole/java/build.xml
+index 3f9c7ba4b..abcac8aec 100644
+--- a/apps/routerconsole/java/build.xml
++++ b/apps/routerconsole/java/build.xml
+@@ -88,6 +88,7 @@
+ <!-- following jars only present for debian builds -->
+ <pathelement location="../../jetty/jettylib/tomcat-api.jar" />
+ <pathelement location="../../../core/java/build/json-simple.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ </javac>
+ </target>
+@@ -499,6 +500,7 @@
+ <pathelement location="build/obj/" />
+ <pathelement location="../../../router/java/build/router.jar" />
+ <pathelement location="../../../core/java/build/i2p.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <arg value="-d" />
+ <arg value="../jsp/WEB-INF/classes" />
+@@ -539,6 +541,7 @@
+ <pathelement location="build/obj/" />
+ <pathelement location="../../../router/java/build/router.jar" />
+ <pathelement location="../../../core/java/build/i2p.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ </javac>
+
+diff --git a/apps/sam/java/build.xml b/apps/sam/java/build.xml
+index bd5782b73..d0c12b334 100644
+--- a/apps/sam/java/build.xml
++++ b/apps/sam/java/build.xml
+@@ -18,6 +18,7 @@
+ <pathelement location="../../../core/java/build/obj" />
+ <pathelement location="../../../core/java/build/gnu-getopt.jar" />
+ <pathelement location="../../ministreaming/java/build/obj" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ </depend>
+ </target>
+@@ -39,7 +40,7 @@
+ includeAntRuntime="false"
+ encoding="UTF-8"
+ destdir="./build/obj"
+- classpath="../../../core/java/build/i2p.jar:../../../core/java/build/gnu-getopt.jar:../../ministreaming/java/build/mstreaming.jar" >
++ classpath="../../../core/java/build/i2p.jar:../../../core/java/build/gnu-getopt.jar:../../ministreaming/java/build/mstreaming.jar:${gentoo.classpath}" >
+ <compilerarg line="${javac.compilerargs}" />
+ </javac>
+ </target>
+diff --git a/apps/streaming/java/build.xml b/apps/streaming/java/build.xml
+index ecfa0ebfd..690b456de 100644
+--- a/apps/streaming/java/build.xml
++++ b/apps/streaming/java/build.xml
+@@ -76,6 +76,7 @@
+ <pathelement location="${mockito.home}/byte-buddy.jar" />
+ <pathelement location="${mockito.home}/objenesis.jar" />
+ <pathelement location="${mockito.home}/mockito-core.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <compilerarg line="${javac.compilerargs}" />
+ </javac>
+@@ -143,6 +144,7 @@
+ <pathelement location="../../build/jbigi.jar" />
+ <pathelement location="${with.clover}" />
+ <pathelement location="${with.cobertura}" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <batchtest todir="../../../reports/streaming/junit/">
+ <fileset dir="./test/junit">
+diff --git a/apps/susidns/src/build.xml b/apps/susidns/src/build.xml
+index 801881118..2d34278e9 100644
+--- a/apps/susidns/src/build.xml
++++ b/apps/susidns/src/build.xml
+@@ -35,6 +35,7 @@
+ <pathelement location="${ant.home}/lib/ant.jar" />
+ <pathelement location="../../../core/java/build/i2p.jar" />
+ <pathelement location="../../addressbook/dist/addressbook.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </path>
+
+ <property name="javac.compilerargs" value="" />
+diff --git a/apps/susimail/build.xml b/apps/susimail/build.xml
+index a8c8cfffa..098b911db 100644
+--- a/apps/susimail/build.xml
++++ b/apps/susimail/build.xml
+@@ -53,6 +53,7 @@
+ <!-- tomcat-api.jar only present for debian builds -->
+ <pathelement location="../jetty/jettylib/tomcat-api.jar" />
+ <pathelement location="../jetty/jettylib/jetty-i2p.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ </javac>
+ </target>
+diff --git a/core/java/build.xml b/core/java/build.xml
+index be590b093..4dc18c711 100644
+--- a/core/java/build.xml
++++ b/core/java/build.xml
+@@ -72,7 +72,7 @@
+ debuglevel="lines,vars,source"
+ includeAntRuntime="false"
+ encoding="UTF-8"
+- destdir="./build/obj" classpath="${javac.classpath.mod}" >
++ destdir="./build/obj" classpath="${javac.classpath.mod}:${gentoo.classpath}" >
+ <compilerarg line="${javac.compilerargs}" />
+ <include name="**/*.java" />
+ <exclude name="${source.exclude1}" />
+@@ -284,6 +284,7 @@
+ <pathelement location="${scalactic.jar}" />
+ <pathelement location="${scalatest.jar}" />
+ <pathelement location="./build/obj" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ </scalac>
+ </target>
+@@ -319,6 +320,7 @@
+ <pathelement location="${mockito.home}/objenesis.jar" />
+ <pathelement location="${mockito.home}/mockito-core.jar" />
+ <pathelement location="${junit.home}/junit4.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <compilerarg line="${javac.compilerargs}" />
+ </javac>
+@@ -485,6 +487,7 @@
+ <pathelement location="../../build/jbigi.jar" />
+ <pathelement location="${with.clover}" />
+ <pathelement location="${with.cobertura}" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <batchtest todir="../../reports/core/junit/">
+ <fileset dir="./test/junit/">
+diff --git a/installer/tools/java/build.xml b/installer/tools/java/build.xml
+index 51c45cebf..81b0f6f26 100644
+--- a/installer/tools/java/build.xml
++++ b/installer/tools/java/build.xml
+@@ -29,7 +29,7 @@
+ release="${javac.release}"
+ includeAntRuntime="false"
+ encoding="UTF-8"
+- destdir="./build/obj" classpath="${javac.classpath}:../../../build/i2p.jar:../../../core/java/build/gnu-getopt.jar:../../../build/router.jar" >
++ destdir="./build/obj" classpath="${javac.classpath}:../../../build/i2p.jar:../../../core/java/build/gnu-getopt.jar:../../../build/router.jar:${gentoo.classpath}" >
+ <compilerarg line="${javac.compilerargs}" />
+ </javac>
+ </target>
+diff --git a/router/java/build.xml b/router/java/build.xml
+index 34cf4c1f7..0b0833e38 100644
+--- a/router/java/build.xml
++++ b/router/java/build.xml
+@@ -48,7 +48,7 @@
+ debuglevel="lines,vars,source"
+ includeAntRuntime="false"
+ encoding="UTF-8"
+- destdir="./build/obj" classpath="../../core/java/build/obj:../../core/java/build/i2p.jar:../../core/java/build/gnu-getopt.jar:../../core/java/build/httpclient.jar:../../core/java/build/httpcore.jar" >
++ destdir="./build/obj" classpath="../../core/java/build/obj:../../core/java/build/i2p.jar:../../core/java/build/gnu-getopt.jar:../../core/java/build/httpclient.jar:../../core/java/build/httpcore.jar:${gentoo.classpath}" >
+ <compilerarg line="${javac.compilerargs}" />
+ </javac>
+ </target>
+@@ -285,6 +285,7 @@
+ <pathelement location="${hamcrest.home}/hamcrest-all.jar" />
+ <pathelement location="${junit.home}/junit4.jar" />
+ <pathelement location="../../core/java/build/i2ptest.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <compilerarg line="${javac.compilerargs}" />
+ </javac>
+@@ -431,6 +432,7 @@
+ <pathelement location="../../build/jbigi.jar" />
+ <pathelement location="${with.clover}" />
+ <pathelement location="${with.cobertura}" />
++ <pathelement path="${gentoo.classpath}" />
+ </classpath>
+ <batchtest todir="../../reports/router/junit/">
+ <fileset dir="./test/junit">
diff --git a/net-vpn/i2p/i2p-2.6.0.ebuild b/net-vpn/i2p/i2p-2.6.0.ebuild
new file mode 100644
index 000000000000..a77f1880f29d
--- /dev/null
+++ b/net-vpn/i2p/i2p-2.6.0.ebuild
@@ -0,0 +1,262 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="test"
+
+inherit java-pkg-2 systemd toolchain-funcs
+
+DESCRIPTION="A privacy-centric, anonymous network"
+HOMEPAGE="https://geti2p.net"
+SRC_URI="https://files.i2p-projekt.de/${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"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+LANGS=(
+ ar az bg ca cs da de el en es es-AR et fa fi fr gl he hi hr hu id it ja ko ku mg nb nl nn pl pt pt-BR ro ru sk sl sq
+ sr sv tk tr uk vi zh zh-TW
+)
+IUSE="${LANGS[@]/#/l10n_}"
+
+CP_DEPEND="
+ dev-java/bcprov:0
+ dev-java/hashcash:1
+ dev-java/httpcomponents-client:4
+ dev-java/identicon:1
+ dev-java/java-getopt:1
+ dev-java/java-service-wrapper:0
+ dev-java/jbcrypt:0
+ dev-java/json-simple:2.3
+ dev-java/jsonrpc2-server:1
+ dev-java/jstl:0
+ dev-java/jstl-api:0
+ dev-java/minidns-core:1
+ dev-java/zxing-core:3
+ dev-java/zxing-javase:3
+ sys-devel/gettext:0[java]
+ www-servers/tomcat:9
+"
+# jdk-11 for bug #932030
+DEPEND="
+ dev-libs/gmp:0=
+ ${CP_DEPEND}
+ >=virtual/jdk-11:*
+ test? (
+ dev-java/hamcrest:0
+ dev-java/junit:4
+ dev-java/mockito:4
+ )
+"
+BDEPEND="
+ >=dev-java/ant-1.10.14-r3:0
+ test? (
+ >=dev-java/ant-1.10.14-r3:0[junit4]
+ )
+"
+RDEPEND="
+ ${CP_DEPEND}
+ acct-user/i2p
+ acct-group/i2p
+ >=virtual/jre-11:*
+"
+
+PATCHES=( "${FILESDIR}/${PV}-force-gentoo-classpath.patch" )
+
+DOCS=( README.md history.txt )
+
+src_prepare() {
+ default # apply PATCHES
+
+ # remove hardcoded javac's source & target
+ find -name build.xml \
+ -exec sed -Ei 's,(source|target)="\$\{javac\.version\}",,g' {} + ||
+ die "remove javac's source & target in build files"
+
+ java-pkg-2_src_prepare
+
+ # remove most bundled, excepted the next ones.
+ # apps/addressbook/java/src/net/metanotion too much code drift
+ # apps/i2psnark/java/src/org/klomp/snark too much code drift
+ # apps/jrobin need rrd4j ebuild
+ # apps/routerconsole/java/src/{com,edu} too much code drift
+ # {core,router}/java/src/com/southernstorm/noise use internal symbols
+ # core/java/src/freenet too much code drift
+ # core/java/src/gnu/crypto too much code drift
+ # router/java/src/com/maxmind changed interface
+ # router/java/src/org/cybergarage unable to find version 3
+ # router/java/src/org/freenetproject too big to pull
+ # router/java/src/org/xlattice changed interface
+ java-pkg_clean ! \
+ -path "./apps/jetty/jetty-distribution-*" # need to package jetty
+ ( cat >> override.properties || die 'set unbundled properties' ) <<- EOF
+ require.gettext=true
+ with-libgetopt-java=true
+ with-libjakarta-taglibs-standard-java=true
+ with-libjson-simple-java=true
+ with-libtomcat9-java=true
+ with-gettext-base=true
+ # with-geoip-database=true need std geoip use
+ # with-libjetty9-java=true needs a jetty ebuild
+ EOF
+
+ # bcprov
+ rm -r core/java/src/net/i2p/crypto/elgamal || die 'unbundle bcprov'
+ sed -e 's,net\.i2p\.crypto\.elgamal\.spec,org.bouncycastle.jce.spec,' \
+ -i core/java/src/net/i2p/crypto/CryptoConstants.java ||
+ die 'redirect imports of bcprov'
+ # getopt, gettext
+ rm -r core/java/src/gnu/{getopt,gettext} || die 'unbundle GNU code'
+ # httpcomponents-client
+ rm -r core/java/src/net/i2p/apache || die 'unbundle httpcomponents-client'
+ sed -e 's,net\.i2p\.apache,org.apache,' \
+ -i core/java/src/net/i2p/util/{Addresses,I2PSSLSocketFactory}.java \
+ apps/i2pcontrol/java/net/i2p/i2pcontrol/HostCheckHandler.java ||
+ die 'redirect imports of httpcomponents-client'
+ # identicon, zxing
+ rm -r apps/imagegen/{identicon,zxing} || die 'unbundle identicon & zxing'
+ sed -e '/LICENSE-Identicon.txt/d' -i build.xml &&
+ sed -E '/dir="[^"]*(identicon|zxing)/d' -i apps/imagegen{/imagegen,}/build.xml &&
+ sed -E '/(todir="build\/WEB-INF\/classes"|<\/copy>)/d' -i apps/imagegen/imagegen/build.xml ||
+ die 'do not depend on unbundled'
+ mkdir -p apps/imagegen/identicon/build || die 'create built identicon dependencies'
+ java-pkg_jar-from --into apps/imagegen/identicon/build identicon-1
+ # hashcash
+ rm core/java/src/com/nettgryppa/security/HashCash.java ||
+ die 'unbundle hashcash'
+ # jbcrypt, jsonrpc2-*
+ rm -r apps/i2pcontrol/java/{com,org} || die 'unbundle jbcrypt & jsonrpc2-*'
+ # jstl*
+ sed -E '/"apps\/susidns\/src\/lib\/(jstl|standard).jar"/d' -i build.xml ||
+ die 'unbundle jstl*'
+ java-pkg_jar-from --into apps/susidns/src/lib jstl jstl-impl.jar standard.jar
+ java-pkg_jar-from --into apps/susidns/src/lib jstl-api jstl-api.jar jstl.jar
+ # minidns-core, json-simple
+ rm -r core/java/src/org || die 'unbundle minidns-core & json-simple'
+ mkdir core/java/build || die 'create built core dependencies'
+ java-pkg_jar-from --into core/java/build json-simple-2.3
+
+ # keep only enabled locales
+ local lang
+ for lang in ${LANGS[@]}
+ do
+ if ! use "l10n_${lang}"
+ then
+ find -regextype egrep \
+ -regex ".*[_\\./]${lang/-/_}.(html|po|1)" \
+ -delete || die "unbundling ${lang} translations"
+ fi
+ done
+
+ # fix some locale names
+ find -name '*_in.*' -exec rename --no-overwrite _in. _id. {} \; &&
+ find -name '*_iw.*' -exec rename --no-overwrite _iw. _he. {} \; ||
+ die 'fix some locale names'
+}
+
+src_configure() {
+ # build for our JDK
+ cat >> override.properties <<-EOF || die 'set JDK infos'
+ ant.build.javac.source=$(java-pkg_get-source)
+ ant.build.javac.target=$(java-pkg_get-target)
+ EOF
+
+ # deamon shouldn't start GUI
+ sed -i 's|\(clientApp.4.startOnLoad\)=true|\1=false|' \
+ installer/resources/clients.config ||
+ die 'avoid auto starting browser'
+
+ # yep, that's us
+ echo 'build.built-by=Gentoo' >> override.properties ||
+ die 'bragging failed'
+
+ # support no-UTF-8 build systems
+ echo 'file.encoding=UTF-8' >> override.properties ||
+ die 'set files encoding'
+}
+
+src_compile() {
+ local libs='bcprov,gettext,hashcash-1,httpcomponents-client-4'
+ libs+=',java-getopt-1,java-service-wrapper,jbcrypt,jsonrpc2-server-1'
+ libs+=',tomcat-9,minidns-core-1,zxing-javase-3'
+ eant \
+ -Dgentoo.classpath=`java-pkg_getjars --with-dependencies "${libs}"` \
+ preppkg-base
+
+ local compile_lib
+ compile_lib() {
+ local name="${1}"
+ shift 1
+
+ "$(tc-getCC)" "${@}" -Iinclude ${CFLAGS} $(java-pkg_get-jni-cflags) \
+ ${LDFLAGS} -shared -fPIC "-Wl,-soname,lib${name}.so" \
+ "src/${name}.c" -o "lib${name}.so"
+ }
+
+ cd "${S}/core/c/jbigi/jbigi" || die "unable to cd to jbigi"
+ compile_lib jbigi -lgmp || die "unable to build jbigi"
+
+ if use amd64 || use x86; then
+ cd "${S}/core/c/jcpuid" || die "unable to cd to jcpuid"
+ compile_lib jcpuid || die "unable to build jcpuid"
+ fi
+}
+
+src_test() {
+ # avoid rebuilding
+ sed -e '/<delete dir=".\/build" \/>/d' -i core/java/build.xml ||
+ die 'avoid building twice'
+
+ # halt on error
+ find -name build.xml \
+ -execdir sed -e 's/<junit /\0haltonerror="yes" /' -i {} + ||
+ die 'ensure test failures propagate'
+
+ local libs='bcprov,gettext,hashcash-1,httpcomponents-client-4'
+ libs+=',java-getopt-1,java-service-wrapper,jbcrypt,jsonrpc2-server-1'
+ libs+=',tomcat-9,minidns-core-1,zxing-javase-3'
+ libs+=',hamcrest,junit-4,mockito-4'
+ # no scala as depending on antlib.xml not installed by dev-lang/scala
+ eant \
+ -Dgentoo.classpath=`java-pkg_getjars --build-only --with-dependencies "${libs}"` \
+ junit.test
+}
+
+src_install() {
+ # install basic documentation
+ einstalldocs
+ doman installer/resources/man/eepget.*
+
+ # install main files
+ java-pkg_doso core/c/jbigi/jbigi/libjbigi.so
+ if use amd64 || use x86; then
+ java-pkg_doso core/c/jcpuid/libjcpuid.so
+ fi
+ cd "${S}/pkg-temp" || die 'unable to change dir to built artifacts'
+ java-pkg_dojar lib/*.jar
+ java-pkg_dowar webapps/*.war
+
+ # install shared
+ insinto /usr/share/i2p
+ doins blocklist.txt hosts.txt {clients,i2p*}.config
+ doins -r certificates docs eepsite geoip scripts
+
+ # install daemons
+ newinitd "${FILESDIR}/i2p.init" i2p
+ systemd_dounit "${FILESDIR}/i2p.service"
+
+ # setup dirs
+ keepdir /var/log/i2p /var/lib/i2p
+ fowners i2p:i2p /var/lib/i2p /var/log/i2p
+
+ # create own launchers
+ java-pkg_dolauncher i2prouter --main net.i2p.router.Router --jar i2p.jar \
+ --pwd "${EPREFIX}/usr/share/i2p" \
+ --java_args "\
+ -Di2p.dir.config=${EPREFIX}/var/lib/i2p \
+ -Di2p.dir.log=${EPREFIX}/var/log/i2p \
+ -DloggerFilenameOverride=${EPREFIX}/var/log/i2p/router-@"
+ java-pkg_dolauncher eepget --main net.i2p.util.EepGet --jar i2p.jar
+}