public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-vpn/i2p/, net-vpn/i2p/files/
Date: Sat, 26 Oct 2024 10:40:32 +0000 (UTC)	[thread overview]
Message-ID: <1729939207.c69e1e33c735c1d7945d48b58690d44761965e28.sam@gentoo> (raw)

commit:     c69e1e33c735c1d7945d48b58690d44761965e28
Author:     Valérian Rousset <tharvik <AT> users <DOT> noreply <DOT> github <DOT> com>
AuthorDate: Fri Oct 18 22:57:05 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct 26 10:40:07 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c69e1e33

net-vpn/i2p: add 2.7.0

Signed-off-by: Valérian Rousset <tharvik <AT> users.noreply.github.com>
Closes: https://github.com/gentoo/gentoo/pull/39112
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-vpn/i2p/Manifest                               |   1 +
 .../i2p/files/2.7.0-force-gentoo-classpath.patch   | 291 +++++++++++++++++++++
 net-vpn/i2p/i2p-2.7.0.ebuild                       | 262 +++++++++++++++++++
 3 files changed, 554 insertions(+)

diff --git a/net-vpn/i2p/Manifest b/net-vpn/i2p/Manifest
index 66f27790a582..7b2ef9174382 100644
--- a/net-vpn/i2p/Manifest
+++ b/net-vpn/i2p/Manifest
@@ -1 +1,2 @@
 DIST i2psource_2.6.0.tar.bz2 33486530 BLAKE2B c9a39f4700c590a4e9e6ba621f24d1b6b181e6e69433493259bd59113231c2023c506419298ae6ed158808c0a45bed91038ab92c96147973ec947a787f91f56c SHA512 fdabd15084d0f66474d70e4786951be31e7a0fb4bf8094cd1a442beebd3c81d5f00d88ddc4b79b79d1494e2ad469c2b8028279e1259cd80a6ba68b6265d1be2e
+DIST i2psource_2.7.0.tar.bz2 33683394 BLAKE2B aa3505b2bcd402e8d2d8bae4955e1cbd52939e5a3bb567ef4e918f895021489fd7dc0663f86f1cf6a998105cc3e0296971bac22ec04348fa4aa392f23dd28560 SHA512 a216ca91351bbdef7844376f8d77686a48f3b0ab72a3b446866f788035f652badb19e7e123586f47adf5befc4cc295b4395def94971065068c7f487ed1111643

diff --git a/net-vpn/i2p/files/2.7.0-force-gentoo-classpath.patch b/net-vpn/i2p/files/2.7.0-force-gentoo-classpath.patch
new file mode 100644
index 000000000000..e56f6e5fe7e9
--- /dev/null
+++ b/net-vpn/i2p/files/2.7.0-force-gentoo-classpath.patch
@@ -0,0 +1,291 @@
+commit 3b6350edbace1e84b5f196523f2f7ba1b00544fa
+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 d3e4883da..e1e59c498 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 3346039ad..b49381b6b 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 9d35edadf..45ef995d9 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 39252ef8b..6193ff129 100644
+--- a/apps/imagegen/imagegen/build.xml
++++ b/apps/imagegen/imagegen/build.xml
+@@ -9,6 +9,7 @@
+         <pathelement location="../zxing/build/zxing.jar" />
+         <pathelement location="../../../build/i2p.jar" />
+         <pathelement location="../../../build/jrobin.jar" />
++        <pathelement path="${gentoo.classpath}" />
+     </path>
+ 
+     <target name="all" depends="war" />
+diff --git a/apps/jetty/build.xml b/apps/jetty/build.xml
+index 866bc1dd9..7c76ab341 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 72944b25c..74cfa9b96 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 37ab0403a..c22f0e986 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 89233a415..24c84ab08 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>
+@@ -38,7 +38,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 b89a51b20..af68f5cda 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 e88fb3f27..4ab1a8736 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 8b36ce5f0..53e4b9453 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 4b0cedf2b..68f857214 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.7.0.ebuild b/net-vpn/i2p/i2p-2.7.0.ebuild
new file mode 100644
index 000000000000..18b88c68748c
--- /dev/null
+++ b/net-vpn/i2p/i2p-2.7.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 ~arm64"
+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/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/imagegen/identicon 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
+	rm -r installer/lib || die 'unbundle installer libs'
+	( 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'
+	# zxing
+	rm -r apps/imagegen/zxing || die 'unbundle zxing'
+	sed -E '/dir="[^"]*zxing/d' -i apps/imagegen{/imagegen,}/build.xml &&
+	# 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'
+
+	# redirect to built jbigi
+	sed -e 's,installer/lib/jbigi,core/c/jbigi/jbigi,' -i build.xml ||
+		die 'redirect to built library'
+
+	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
+}


             reply	other threads:[~2024-10-26 10:40 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-26 10:40 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-08-28  6:11 [gentoo-commits] repo/gentoo:master commit in: net-vpn/i2p/, net-vpn/i2p/files/ Joonas Niilola
2023-07-18 17:23 Sam James
2023-07-18 16:32 Sam James
2023-05-20  9:28 Sam James
2019-02-05 22:38 Patrice Clement
2018-04-17 19:33 Patrice Clement
2018-02-11 18:38 Michał Górny
2017-09-22 13:07 Patrice Clement
2017-09-22 13:07 Patrice Clement
2017-05-23 14:28 Patrice Clement
2017-04-08 21:22 Patrice Clement
2017-04-08 21:22 Patrice Clement

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1729939207.c69e1e33c735c1d7945d48b58690d44761965e28.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox