diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-01-05 20:03:56 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-01-05 20:03:56 +0000 |
commit | 17ad5d72e60411f0ed843a9dbeb450d89f63d62c (patch) | |
tree | 6760805f03473ce66ac45f6d86c78db649702a7e /net-vpn | |
parent | 8fd9d385e5bc3c01115ec2ddcb2227607eb90861 (diff) |
gentoo auto-resync : 05:01:2024 - 20:03:55
Diffstat (limited to 'net-vpn')
-rw-r--r-- | net-vpn/Manifest.gz | bin | 7566 -> 7568 bytes | |||
-rw-r--r-- | net-vpn/i2p/Manifest | 1 | ||||
-rw-r--r-- | net-vpn/i2p/i2p-2.3.0-r1.ebuild | 291 |
3 files changed, 292 insertions, 0 deletions
diff --git a/net-vpn/Manifest.gz b/net-vpn/Manifest.gz Binary files differindex 6cf396fd6b89..922ccf50212e 100644 --- a/net-vpn/Manifest.gz +++ b/net-vpn/Manifest.gz diff --git a/net-vpn/i2p/Manifest b/net-vpn/i2p/Manifest index 1013c8a9507e..fdb7e8ec7c97 100644 --- a/net-vpn/i2p/Manifest +++ b/net-vpn/i2p/Manifest @@ -2,5 +2,6 @@ AUX fix-junit-classpath.patch 6760 BLAKE2B 90791a87b8b726deff7bbda41db657e8f091c AUX i2p.init 278 BLAKE2B 2e26e9d25e21494d2f6a221a3c332f1afe475513096eb7c51a0fbc4cacc8e9bd418f98d622cb054f55d7b7c4941054be8b6314f9b19c249e9ad0e77893980ca6 SHA512 1edb33cd0df28de95e02b1015e86cbc44c867a8df1260abb0565bc232c2cccc2625d36fdefa4a050ea3215d938c1ff0521a591a0bc2b27d57ca6be621795cd52 AUX i2p.service 172 BLAKE2B 8523af82e33d7a8f5b37138f8d28c7adb4c08607b84813f35b42f11064c0ec2768bf443eca32bd7b281ed084d6b820b23977c55a1cd5b8ad058ab18117b83f90 SHA512 c87574c968f4142b3dbe556dab86438765dc8b9b23475dca8c7e268d2963e5dffcd9175bb749b2d42c3fc7fe75d9175158f56cb78f0fa4faa7d6029fdf4b8e6c DIST i2psource_2.3.0.tar.bz2 33379569 BLAKE2B 56002ad57725216730c6a92eed4c4eb569bfe03e4fcbd811577610f8adf212e9db56e6761f5873933d101e513093b61e296871a122a2e2042945c1fe906bc372 SHA512 dc38174683e2388c0e766db71526e98252fc38c52255bd4529684862edfa05ba25204df97cf09a6084f9833507a0d4ea96e112d1138d9c97d2dd582ef98f9301 +EBUILD i2p-2.3.0-r1.ebuild 8962 BLAKE2B 573799e9ffdef4170eff3e6833f43fd973e581cb76ae981f0b738284b983e0b2a6f318add1459592b279007eb6b64141496adfaec6cd295396f90c8f69605e9b SHA512 f6fdb3adace2cb846a95e8ffb492e86a4fdd763d21849912791b3b1c972c9c3d8dcb6780797575f4df450787cd59bb1b22512fe01e93b4cf3714e5fd458d6b8d EBUILD i2p-2.3.0.ebuild 8084 BLAKE2B 9d4472c7eb96f074d83a2ba5f556c940ca4a89f0e211814ccdeb0b381c5f2bbefb1bcf664fbed3e0b97b5f3862e0cb40687a1688b5a31d8e811f8ca4f7924bf7 SHA512 ad520245d8ac7dbcc00a62dd2e4bda98ee69ff11d78d5aa45a636d23814bf8da0f224e63f466fca650fffe49f569f655fb63d676382795e3e6e67bef48bfc6db MISC metadata.xml 743 BLAKE2B 020f7bd72231ce0cb37929330c1f73be6cd91e5d13f86202c6d5da5b2ced53e2b3df172dcf63fb37ae2028019376422ffa7fc8ad94f206f0996984294f353503 SHA512 c1cd68d0fe33ca5b738973fedf764141d490430afa968b325b4a2bc853e6206c0c1683724ff5e4829ac97482b40490cfb3b14b03711149a84baa1e6ecc27dbee diff --git a/net-vpn/i2p/i2p-2.3.0-r1.ebuild b/net-vpn/i2p/i2p-2.3.0-r1.ebuild new file mode 100644 index 000000000000..f4150f6f5378 --- /dev/null +++ b/net-vpn/i2p/i2p-2.3.0-r1.ebuild @@ -0,0 +1,291 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="test" + +inherit java-pkg-2 java-ant-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/json-smart:1 + dev-java/jsonrpc2-base:1 + 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 +" +DEPEND=" + dev-libs/gmp:0= + ${CP_DEPEND} + >=virtual/jdk-1.8:* + test? ( + dev-java/ant-junit4:0 + dev-java/hamcrest:0 + dev-java/junit:4 + dev-java/mockito:4 + ) +" +RDEPEND=" + ${CP_DEPEND} + acct-user/i2p + acct-group/i2p + >=virtual/jre-1.8:* +" + +PATCHES=( + "${FILESDIR}/fix-junit-classpath.patch" +) + +EANT_BUILD_TARGET="preppkg-base" +# no scala as depending on antlib.xml not installed by dev-lang/scala +EANT_TEST_TARGET="junit.test" +JAVA_ANT_ENCODING="UTF-8" +JAVA_ANT_CLASSPATH_TAGS="javac java" +# built locally +EANT_GENTOO_CLASSPATH_EXTRA="${S}/core/java/build/i2p.jar" +EANT_GENTOO_CLASSPATH_EXTRA+=":${S}/router/java/build/router.jar" +EANT_GENTOO_CLASSPATH_EXTRA+=":${S}/apps/ministreaming/java/build/mstreaming.jar" + +DOCS=( README.md history.txt ) + +pkg_pretend() { + # see https://bugs.gentoo.org/831290 + if [[ "`java-config --show-active-vm`" = *-8 ]] && + [[ "`java-config --query MERGE_VM --package=ant-core`" != *-8 ]] + then + eerror "dev-java/ant-core was emerged with a newer version of the JDK." + eerror "It will fail to build with virtual/jdk:1.8 due to #831290." + eerror "Please switch to a newer JDK" + eerror " eselect java-vm set system ..." + eerror "Or remerge dev-java/ant-core with virtual/jdk:1.8" + eerror " emerge dev-java/ant-core" + die 'bad JDK for ant-core' + fi +} + +src_prepare() { + default # apply PATCHES + java-pkg-2_src_prepare + + # add our classpath + for f in `find -name build.xml` + do + java-ant_rewrite-classpath "$f" + done + + # 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\.impl,org.bouncycastle.jce.provider,' \ + -e 's,net\.i2p\.crypto\.elgamal\.spec,org.bouncycastle.jce.spec,' \ + -i core/java/src/net/i2p/crypto/{provider/I2PProvider,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' + # 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*' + # minidns-core, json-simple + rm -r core/java/src/org || die 'unbundle minidns-core & json-simple' + + # 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() { + java-ant-2_src_configure + + # 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' +} + +src_compile() { + java-pkg-2_src_compile + + local compile_lib + compile_lib() { + local name="${1}" + local file="${2}" + shift 2 + + "$(tc-getCC)" "${@}" ${CFLAGS} $(java-pkg_get-jni-cflags) \ + ${LDFLAGS} -shared -fPIC "-Wl,-soname,lib${name}.so" \ + "${file}" -o "lib${name}.so" + } + + cd "${S}/core/c/jbigi/jbigi" || die "unable to cd to jbigi" + compile_lib jbigi src/jbigi.c -Iinclude -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 src/jcpuid.c -Iinclude || + 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' + + EANT_GENTOO_CLASSPATH+=",hamcrest,junit-4,mockito-4" + java-pkg-2_src_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 +} + +pkg_postinst() { + local i2pdir="${EPREFIX}/var/lib/i2p" + + [ -d "${i2pdir}/app" -a -d "${i2pdir}/config" -a -d "${i2pdir}/router" ] || return + + elog "Separated user directories is not fully supported by upstream." + elog "${i2pdir}/{app,config,router} will be merged" + elog "in ${i2pdir} accordingly." + + ebegin "Migrating" + rm -fr "${i2pdir}/config/addressbook" # prefer router's addressbook + local ret=0 + mv "${i2pdir}"/{app,config,router}/* "${i2pdir}" || ret=1 + rmdir "${i2pdir}"/{app,config,router} || ret=1 + find "${i2pdir}" '(' -name '*.config' -o -name '*.xml' ')' \ + -execdir sed -E "s,${i2pdir}/(app|config|router),${i2pdir}," -i {} + || ret=1 + + if ! eend $ret + then + ewarn "Unable to merge user directories automatically." + ewarn "Please merge them by hand and update all configured paths" + ewarn "to point to ${i2pdir} before starting the router." + ewarn + ewarn "Otherwise, consider starting with a fresh router by removing ${i2pdir}." + fi +} |