From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-vpn/i2p/
Date: Tue, 11 Mar 2025 08:33:11 +0000 (UTC) [thread overview]
Message-ID: <1741681957.12a08218ba10d02376643b6f8d8103f741e91d88.sam@gentoo> (raw)
commit: 12a08218ba10d02376643b6f8d8103f741e91d88
Author: Valérian Rousset <tharvik <AT> users <DOT> noreply <DOT> github <DOT> com>
AuthorDate: Sun Mar 9 22:19:34 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Mar 11 08:32:37 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12a08218
net-vpn/i2p: add 2.8.0
Signed-off-by: Valérian Rousset <tharvik <AT> users.noreply.github.com>
Closes: https://github.com/gentoo/gentoo/pull/41007
Signed-off-by: Sam James <sam <AT> gentoo.org>
net-vpn/i2p/Manifest | 1 +
net-vpn/i2p/i2p-2.8.0.ebuild | 262 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 263 insertions(+)
diff --git a/net-vpn/i2p/Manifest b/net-vpn/i2p/Manifest
index 90d64be5b0f9..0838ebea2be2 100644
--- a/net-vpn/i2p/Manifest
+++ b/net-vpn/i2p/Manifest
@@ -1 +1,2 @@
DIST i2psource_2.7.0.tar.bz2 33683394 BLAKE2B aa3505b2bcd402e8d2d8bae4955e1cbd52939e5a3bb567ef4e918f895021489fd7dc0663f86f1cf6a998105cc3e0296971bac22ec04348fa4aa392f23dd28560 SHA512 a216ca91351bbdef7844376f8d77686a48f3b0ab72a3b446866f788035f652badb19e7e123586f47adf5befc4cc295b4395def94971065068c7f487ed1111643
+DIST i2psource_2.8.0.tar.bz2 33785482 BLAKE2B af9fac097cce79b1700adc374cc0d53c0732257d2f48f717962a93c852ab718d137c36d7bdf40504d25bcea2336d4b1605c5f87feada5c2dedb9b99426377ae7 SHA512 af08ec4b5962e22e41e4e6d43cde28921161469da772bb92c23a603c49372211374e3183c2537d7c4557b793ac062866adfc3b5500e46663ce6dc6842e847a7b
diff --git a/net-vpn/i2p/i2p-2.8.0.ebuild b/net-vpn/i2p/i2p-2.8.0.ebuild
new file mode 100644
index 000000000000..442a6d309a7b
--- /dev/null
+++ b/net-vpn/i2p/i2p-2.8.0.ebuild
@@ -0,0 +1,262 @@
+# Copyright 1999-2025 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}/2.7.0-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
+}
next reply other threads:[~2025-03-11 8:33 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-11 8:33 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-04-12 23:01 [gentoo-commits] repo/gentoo:master commit in: net-vpn/i2p/ Sam James
2025-03-25 4:36 Sam James
2024-11-28 0:09 Jakov Smolić
2024-10-17 15:32 Arthur Zamarin
2024-10-12 17:12 Arthur Zamarin
2024-09-28 13:30 Arthur Zamarin
2024-09-27 23:23 Jakov Smolić
2024-06-29 9:50 Miroslav Šulc
2024-06-29 6:22 Joonas Niilola
2024-05-24 11:02 Miroslav Šulc
2024-05-24 9:44 Florian Schmaus
2024-05-23 9:19 Miroslav Šulc
2024-05-23 9:14 Florian Schmaus
2024-05-23 9:14 Florian Schmaus
2024-03-10 21:10 Miroslav Šulc
2024-03-10 21:10 Miroslav Šulc
2024-01-05 14:12 Sam James
2023-08-06 5:46 Miroslav Šulc
2023-08-01 11:22 Sam James
2023-07-18 17:21 Sam James
2023-07-18 17:21 Sam James
2023-07-18 16:32 Sam James
2023-07-18 16:32 Sam James
2023-07-15 13:15 Arthur Zamarin
2023-06-14 4:17 Sam James
2023-05-22 6:08 Miroslav Šulc
2023-05-20 11:08 Sam James
2022-08-05 6:57 Arthur Zamarin
2022-07-28 14:17 Sam James
2022-07-10 19:15 Arthur Zamarin
2022-07-10 6:17 Agostino Sarubbo
2022-05-24 14:42 Florian Schmaus
2022-05-24 14:42 Florian Schmaus
2022-03-12 12:01 Arthur Zamarin
2022-03-11 13:30 Joonas Niilola
2021-12-13 5:10 Sam James
2021-12-13 5:10 Sam James
2021-07-16 1:34 Sam James
2021-06-07 8:52 Miroslav Šulc
2020-12-11 7:58 Joonas Niilola
2020-12-11 7:58 Joonas Niilola
2020-09-13 0:44 Sam James
2020-03-21 16:13 Joonas Niilola
2020-03-21 16:13 Joonas Niilola
2020-01-29 6:14 Joonas Niilola
2020-01-16 5:49 Joonas Niilola
2020-01-06 15:40 Joonas Niilola
2020-01-06 15:40 Joonas Niilola
2019-11-13 6:03 Joonas Niilola
2019-06-05 8:54 Michał Górny
2019-06-05 8:54 Michał Górny
2019-04-22 10:17 Michał Górny
2018-10-14 10:33 Michał Górny
2018-10-14 10:33 Michał Górny
2018-09-07 8:24 Patrice Clement
2018-09-07 8:24 Patrice Clement
2018-08-26 17:40 Michał Górny
2018-04-03 15:28 Jonas Stein
2018-02-11 11:12 Michał Górny
2017-08-26 6:50 Patrick Lauer
2017-06-12 21:37 Patrice Clement
2017-05-23 14:28 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=1741681957.12a08218ba10d02376643b6f8d8103f741e91d88.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