blob: afbc9f0b3c8f27cf5ad8345b151b91faa13bf03a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# No tests, #839681
JAVA_PKG_IUSE="doc source"
MAVEN_PROVIDES="com.${PN}:${PN}-core:${PV} com.${PN}:${PN}-ui:${PV}"
inherit desktop java-pkg-2 java-pkg-simple optfeature xdg
DESCRIPTION="Feature-filled Bittorrent client based on the Azureus open source project"
HOMEPAGE="https://www.biglybt.com"
SRC_URI="https://github.com/BiglySoftware/BiglyBT/archive/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/BiglyBT-${PV}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm64 ppc64"
CP_DEPEND="
dev-java/commons-cli:1
dev-java/swt:4.27[cairo]
"
# Due to removal of AENameServiceDescriptor it would fail to start under jdk:1.8
# StartServer ERROR: unable to bind to 127.0.0.1:6880 listening for passed torrent info: \
# sun.net.spi.nameservice.NameServiceDescriptor: Provider com.biglybt.core.util.spi.AENameServiceDescriptor not found
# Restricting to jdk:11 for https://bugs.gentoo.org/888859
DEPEND="${CP_DEPEND}
>=virtual/jdk-11:*"
RDEPEND="${CP_DEPEND}
>=virtual/jre-1.8:*"
DOCS=(
CODING_GUIDELINES.md
CONTRIBUTING.md
ChangeLog.txt
README.md
TRANSLATE.md
)
JAVADOC_SRC_DIRS=( {core,uis}/src )
PATCHES=(
"${FILESDIR}/biglybt-3.2.0.0-disable-SWTUpdateChecker.patch"
"${FILESDIR}/biglybt-3.2.0.0-disable-shared-plugins.patch"
"${FILESDIR}/biglybt-3.5.0.0-Entities.javadoc.patch"
"${FILESDIR}/biglybt-3.6.0.0-disable-PluginUpdatePlugin.patch"
)
src_prepare() {
default #780585
java-pkg-2_src_prepare
# AENameServiceDescriptor fails to compile with jdk >= 11
# "error: package sun.net.spi.nameservice does not exist"
# https://github.com/BiglySoftware/BiglyBT/pull/2611
rm -r core/src/com/biglybt/core/util/spi || die
cp -r core/{src,resources} || die
find core/resources -type f -name '*.java' -exec rm -rf {} + || die "deleting classes failed"
cp -r uis/{src,resources} || die
find uis/resources -type f -name '*.java' -exec rm -rf {} + || die "deleting classes failed"
}
src_compile() {
einfo "Compiling module \"core\""
JAVA_JAR_FILENAME="${PN}-core.jar"
JAVA_RESOURCE_DIRS="core/resources"
JAVA_SRC_DIR="core/src"
java-pkg-simple_src_compile
JAVA_GENTOO_CLASSPATH_EXTRA="${PN}-core.jar"
einfo "Compiling module \"uis\""
JAVA_JAR_FILENAME="BiglyBT.jar"
JAVA_LAUNCHER_FILENAME="${PN}"
JAVA_MAIN_CLASS="com.${PN}.ui.Main"
JAVA_RESOURCE_DIRS="uis/resources"
JAVA_SRC_DIR="uis/src"
java-pkg-simple_src_compile
if use doc; then
einfo "Creating javadoc"
JAVADOC_CLASSPATH="${JAVA_GENTOO_CLASSPATH}"
ejavadoc
fi
}
src_install() {
java-pkg-simple_src_install
make_desktop_entry "${PN}" BiglyBT "${PN}" "Network;FileTransfer"
if use source; then
java-pkg_dosrc "core/src/*"
java-pkg_dosrc "uis/src/*"
fi
default
}
pkg_postinst() {
xdg_pkg_postinst
optfeature_header "If you are using plugin proxies you might want to swap them for these native packages:"
optfeature "I2P SOCKS proxy" net-vpn/i2p net-vpn/i2pd
optfeature "TOR SOCKS proxy" net-vpn/tor
}
|