net-p2p/freenet: add 0.7.5_p1501

Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/40604
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Volkmar W. Pogatzki
2025-02-16 22:15:41 +01:00
committed by Sam James
parent d571525573
commit 7364ff2bac
2 changed files with 221 additions and 0 deletions

View File

@@ -1,3 +1,5 @@
DIST freenet-build01500-source.tar.bz2 6314667 BLAKE2B dc4a7333f030f6d53a5d734bd2b8dfd6712d555addadb2201a899118ad69414779db7d499884daf69ce687e57d510ebef76fdc6d9cb2cb3ae5fd649e5529ac10 SHA512 a7e67f91805b04d9e7cf56af12afd07d8cccedbed3a9977e4d5af938711ab4d9aee7ed85acad8f3e03c8ce4f35e4324fd6a607fc00f135ac1bfecd6ed3cbcb04
DIST freenet-build01500-source.tar.bz2.sig 566 BLAKE2B 69f05acb65b093c5d62160ef5933446a0383c2aaf9d42fa216df21106ac86b6e49d56c1223746c7d602717cdd2340bbf3834fdde9026b4765d4454decf7f5a31 SHA512 2028ba06cbf6cbf123b011365f32ef4fdeb1f61cf8bbfc0e92e7666a8a2f3eacadd5deff9d12e1952146cd3830f95bf5515ea71e20a2321a7e204286c77423bf
DIST freenet-build01501-source.tar.bz2 6314508 BLAKE2B 9c666481c10322cb95284b8e2e10c5a995c5f0e2d9054e774c30df737bda1c5ee75c918f1e4b6e901e04724e4c5a3b3118ba3f50f8929d5b9bfe6eea023317b4 SHA512 5ea5558d9b2698da29afe909180bec09739bfc8ca9888be9b97eaa0e7ae9bb055d81c9a957956a492fc1dd1774876f1be2c5835e2f65ac204af5a1adfd113c48
DIST freenet-build01501-source.tar.bz2.sig 566 BLAKE2B 888365c8424a05222f644baab37abb90802f6443c3fe07a94d149ea4baebc3613865fc5a4f8d5691f755b56647cad0f47c358b3b549ff88fabd1d4643e210fa0 SHA512 fe121c84067d170b79faa643f625eaa8ef0a1b063eb08b972f1c5d6a3f4a6d3c55b372c0b2892abd72c4266b1c2dd3419068ccb8d413e6076e0c6913b0b36401
DIST seednodes-0.7.5_p1480.tar.gz 12364 BLAKE2B edb4e2a5c7424b51f0afb8234c7e486d56fe92e9201ab7ed7658366f070225f8def1b5412a31367e434ab4afae393caa16e7bdd7307f1d870607105fd5076638 SHA512 a2662a29f5721cd1523eb68b8787b074baec990327207b9ff444c91e644738a610e5216064aef00c62d6aca8ba66b2035a3175f63d45c1e0e8efc816b2a38660

View File

@@ -0,0 +1,219 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple systemd verify-sig
DESCRIPTION="An encrypted network without censorship"
HOMEPAGE="https://www.hyphanet.org"
PEV="3.1.6"
SRC_URI="https://github.com/hyphanet/fred/releases/download/build0${PV#*p}/freenet-build0${PV#*p}-source.tar.bz2
https://github.com/hyphanet/seedrefs/archive/build01480.tar.gz -> seednodes-0.7.5_p1480.tar.gz
verify-sig? (
https://github.com/hyphanet/fred/releases/download/build0${PV#*p}/freenet-build0${PV#*p}-source.tar.bz2.sig
)"
S="${WORKDIR}/freenet-build0${PV#*p}"
LICENSE="GPL-2+ GPL-2 MIT BSD-2 Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="+nss"
CP_DEPEND="
dev-java/bcprov:0
dev-java/commons-compress:0
dev-java/commons-io:1
dev-java/fec:0
dev-java/freenet-ext:29
dev-java/java-service-wrapper:0
dev-java/jbitcollider-core:0
dev-java/jna:4
dev-java/lzma:0
dev-java/lzmajio:0
dev-java/mersennetwister:0
dev-java/pebble:0
"
DEPEND="
dev-java/unbescape:0
>=virtual/jdk-1.8:*
${CP_DEPEND}
test? (
dev-java/hamcrest:0
dev-java/mockito:0
dev-java/objenesis:0
net-libs/NativeThread:0
)
"
RDEPEND="
acct-user/freenet
acct-group/freenet
>=virtual/jre-1.8:*
${CP_DEPEND}
nss? ( dev-libs/nss )
"
BDEPEND="
app-arch/unzip
verify-sig? ( sec-keys/openpgp-keys-freenet )
"
PDEPEND="net-libs/NativeThread:0"
DOCS=(
AUTHORS
CONTRIBUTING.md
NEWS.md
README.md
SECURITY.md
)
PATCHES=(
"${FILESDIR}/freenet-0.7.5_p1498-ignore-failing-tests.patch"
)
JAVA_CLASSPATH_EXTRA="
java-service-wrapper
unbescape
"
JAVA_RESOURCE_DIRS="res"
JAVA_SRC_DIR="src"
JAVA_TEST_GENTOO_CLASSPATH="
hamcrest
junit-4
mockito
objenesis
"
# Yes, both variables point to the same directory
# https://github.com/hyphanet/fred/blob/build01497/build.gradle#L169-L173
JAVA_TEST_RESOURCE_DIRS="test"
JAVA_TEST_SRC_DIR="test"
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/freenetproject.org.asc"
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached \
"${DISTDIR}"/freenet-build0${PV#*p}-source.tar.bz2 \
"${DISTDIR}"/freenet-build0${PV#*p}-source.tar.bz2.sig
fi
unpack freenet-build0${PV#*p}-source.tar.bz2
unpack seednodes-0.7.5_p1480.tar.gz
}
src_prepare() {
default
java-pkg-2_src_prepare
# Could not get resource : freenet/l10n/freenet.l10n.pt-PT.properties
# https://github.com/hyphanet/fred/pull/500
mv src/freenet/l10n/freenet.l10n.pt{_,-}PT.properties || die
# java-pkg-simple wants resources in JAVA_RESOURCE_DIRS
mkdir res || die
pushd src > /dev/null || die
find -type f \
! -name '*.java' \
! -name 'package.html' \
! -path '*/simulator/readme.txt' \
| xargs cp --parent -t ../res || die
popd > /dev/null || die
mkdir "${JAVA_RESOURCE_DIRS}/META-INF" || die
cat > "${JAVA_RESOURCE_DIRS}/META-INF/MANIFEST.MF" <<- EOF || die
Add-opens: java.base/java.lang java.base/java.util java.base/java.io
EOF
cat "${WORKDIR}"/seedrefs-build01480/* > "${S}"/seednodes.fref
cp "${FILESDIR}"/freenet-0.7.5_p1497-wrapper.conf freenet-wrapper.conf || die
cp "${FILESDIR}"/run.sh-20090501 run.sh || die
sed -i -e "s:=/usr/lib:=/usr/$(get_libdir):g" \
freenet-wrapper.conf || die "sed failed"
echo "wrapper.java.classpath.1=/usr/share/freenet/lib/freenet.jar" >> freenet-wrapper.conf || die
if use nss; then
echo "wrapper.java.additional.11=-Dfreenet.jce.use.NSS=true" >> freenet-wrapper.conf || die
fi
}
src_compile() {
java-pkg-simple_src_compile
# Moved here because of using JAVA_GENTOO_CLASSPATH which is populated by java-pkg_gen-cp.
local i=2 pkg jars jar
local ifs_original=${IFS}
IFS=","
for pkg in ${JAVA_GENTOO_CLASSPATH} ; do
jars="$(java-pkg_getjars ${pkg})"
for jar in ${jars} ; do
echo "wrapper.java.classpath.$((i++))=${jar}" >> freenet-wrapper.conf || die
done
done
IFS=${ifs_original}
echo "wrapper.java.library.path.2=/usr/$(get_libdir)/java-service-wrapper" >> freenet-wrapper.conf || die
echo "wrapper.java.library.path.3=/usr/$(get_libdir)/jna-4" >> freenet-wrapper.conf || die
}
src_test() {
JAVA_TEST_EXTRA_ARGS=(
-Djava.library.path="${EPREFIX}/usr/$(get_libdir)/jna-4/"
-Djna.nosys=false
-Dnetworkaddress.cache.negative.ttl=0
-Dnetworkaddress.cache.ttl=0
# https://github.com/hyphanet/fred/blob/build01497/build.gradle#L194-L196
# "test.l10npath_main" reads from the JAR file.
-Dtest.l10npath_test="freenet/l10n/"
-Dtest.l10npath_main="freenet/l10n/"
)
local vm_version="$(java-config -g PROVIDES_VERSION)"
if ver_test "${vm_version}" -ge 17; then
JAVA_TEST_EXTRA_ARGS+=(
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
)
fi
pushd test > /dev/null || die
local JAVA_TEST_RUN_ONLY=$(find * \
-type f -name "*Test.java" \
)
JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
popd > /dev/null || die
java-pkg-simple_src_test
}
src_install() {
java-pkg-simple_src_install
doinitd "${FILESDIR}"/freenet
systemd_dounit "${FILESDIR}"/freenet.service
insinto /etc
doins freenet-wrapper.conf
insinto /var/freenet
doins run.sh seednodes.fref
fperms +x /var/freenet/run.sh
}
pkg_postinst() {
elog " "
elog "1. Start freenet with rc-service freenet start."
elog "2. Open localhost:8888 in your browser for the web interface."
#workaround for previously existing freenet user
[[ $(stat --format="%U" /var/freenet) == "freenet" ]] || chown \
freenet:freenet /var/freenet
}
pkg_postrm() {
if ! [[ -e /usr/share/freenet/lib/freenet.jar ]] ; then
elog " "
elog "If you dont want to use freenet any more"
elog "and dont want to keep your identity/other stuff"
elog "remember to do 'rm -rf /var/freenet' to remove everything"
fi
}