Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-p2p/vuze/files/, net-p2p/vuze/
Date: Sun, 20 Feb 2022 10:14:19
Message-Id: 1645351856.63d98adfd4189404fa86fbef73475410f12a6f41.fordfrog@gentoo
1 commit: 63d98adfd4189404fa86fbef73475410f12a6f41
2 Author: Yuan Liao <liaoyuan <AT> gmail <DOT> com>
3 AuthorDate: Thu Feb 17 18:48:06 2022 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Sun Feb 20 10:10:56 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63d98adf
7
8 net-p2p/vuze: Switch to log4j-12-api:2, and make ebuild improvements
9
10 - Update to EAPI 8
11 - Switch to HTTPS URL for HOMEPAGE
12 - Put dependencies into BDEPEND and IDEPEND as appropriate
13 - Increase memory allotted to the JVM running javac by 192 MB, which is
14 needed after the migration to log4j-12-api:2
15
16 Closes: https://bugs.gentoo.org/831714
17 Signed-off-by: Yuan Liao <liaoyuan <AT> gmail.com>
18 Closes: https://github.com/gentoo/gentoo/pull/24261/commits/1a2dd6e5e73c65bbe266c58fa4f573d4e1698522
19 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
20
21 net-p2p/vuze/files/vuze-5.7.6.0-log4j-12-api.patch | 130 ++++++++++++++++++
22 net-p2p/vuze/vuze-5.7.6.0-r2.ebuild | 147 +++++++++++++++++++++
23 2 files changed, 277 insertions(+)
24
25 diff --git a/net-p2p/vuze/files/vuze-5.7.6.0-log4j-12-api.patch b/net-p2p/vuze/files/vuze-5.7.6.0-log4j-12-api.patch
26 new file mode 100644
27 index 000000000000..4bcce5d5f32d
28 --- /dev/null
29 +++ b/net-p2p/vuze/files/vuze-5.7.6.0-log4j-12-api.patch
30 @@ -0,0 +1,130 @@
31 +From d960f15294c451bda338e4d9998e8d009970f380 Mon Sep 17 00:00:00 2001
32 +From: Yuan Liao <liaoyuan@×××××.com>
33 +Date: Fri, 18 Feb 2022 12:47:20 -0800
34 +Subject: [PATCH] Migrate from Log4j 1.2 to log4j-1.2-api bridge from Log4j 2
35 +
36 +Signed-off-by: Yuan Liao <liaoyuan@×××××.com>
37 +---
38 + org/gudy/azureus2/ui/common/Main.java | 7 +++---
39 + .../azureus2/ui/console/ConsoleInput.java | 8 +++---
40 + .../azureus2/ui/console/commands/Log.java | 25 ++++++++++---------
41 + 3 files changed, 21 insertions(+), 19 deletions(-)
42 +
43 +diff --git a/org/gudy/azureus2/ui/common/Main.java b/org/gudy/azureus2/ui/common/Main.java
44 +index 8c533fb..f93e685 100644
45 +--- a/org/gudy/azureus2/ui/common/Main.java
46 ++++ b/org/gudy/azureus2/ui/common/Main.java
47 +@@ -43,7 +43,8 @@ import org.apache.log4j.Appender;
48 + import org.apache.log4j.ConsoleAppender;
49 + import org.apache.log4j.Logger;
50 + import org.apache.log4j.PatternLayout;
51 +-import org.apache.log4j.varia.DenyAllFilter;
52 ++import org.apache.log4j.bridge.FilterWrapper;
53 ++import org.apache.logging.log4j.core.filter.DenyAllFilter;
54 +
55 + import com.aelitis.azureus.core.*;
56 + import com.aelitis.azureus.core.impl.AzureusCoreSingleInstanceClient;
57 +@@ -113,9 +114,9 @@ public class Main {
58 + public static void initRootLogger() {
59 + if (Logger.getRootLogger().getAppender("ConsoleAppender")==null) {
60 + Appender app;
61 +- app = new ConsoleAppender(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));
62 ++ app = new ConsoleAppender();
63 + app.setName("ConsoleAppender");
64 +- app.addFilter( new DenyAllFilter() ); //'log off' by default
65 ++ app.addFilter( new FilterWrapper(DenyAllFilter.newBuilder().build()) ); //'log off' by default
66 + Logger.getRootLogger().addAppender(app);
67 + }
68 + }
69 +diff --git a/org/gudy/azureus2/ui/console/ConsoleInput.java b/org/gudy/azureus2/ui/console/ConsoleInput.java
70 +index d660bbb..0559f72 100644
71 +--- a/org/gudy/azureus2/ui/console/ConsoleInput.java
72 ++++ b/org/gudy/azureus2/ui/console/ConsoleInput.java
73 +@@ -34,8 +34,8 @@ import java.util.Vector;
74 + import org.apache.log4j.Appender;
75 + import org.apache.log4j.ConsoleAppender;
76 + import org.apache.log4j.Logger;
77 +-import org.apache.log4j.PatternLayout;
78 +-import org.apache.log4j.varia.DenyAllFilter;
79 ++import org.apache.log4j.bridge.FilterWrapper;
80 ++import org.apache.logging.log4j.core.filter.DenyAllFilter;
81 + import org.gudy.azureus2.core3.config.COConfigurationManager;
82 + import org.gudy.azureus2.core3.download.DownloadManager;
83 + import org.gudy.azureus2.core3.download.DownloadManagerState;
84 +@@ -157,9 +157,9 @@ public class ConsoleInput extends Thread {
85 +
86 + if (Logger.getRootLogger().getAppender("ConsoleAppender")==null) {
87 + Appender app;
88 +- app = new ConsoleAppender(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));
89 ++ app = new ConsoleAppender();
90 + app.setName("ConsoleAppender");
91 +- app.addFilter( new DenyAllFilter() ); //'log off' by default
92 ++ app.addFilter( new FilterWrapper(DenyAllFilter.newBuilder().build()) ); //'log off' by default
93 + Logger.getRootLogger().addAppender(app);
94 + }
95 +
96 +diff --git a/org/gudy/azureus2/ui/console/commands/Log.java b/org/gudy/azureus2/ui/console/commands/Log.java
97 +index 43f66d5..8e9b222 100644
98 +--- a/org/gudy/azureus2/ui/console/commands/Log.java
99 ++++ b/org/gudy/azureus2/ui/console/commands/Log.java
100 +@@ -18,10 +18,13 @@ import org.apache.commons.cli.Option;
101 + import org.apache.commons.cli.Options;
102 + import org.apache.log4j.Appender;
103 + import org.apache.log4j.ConsoleAppender;
104 +-import org.apache.log4j.FileAppender;
105 + import org.apache.log4j.Logger;
106 + import org.apache.log4j.PatternLayout;
107 +-import org.apache.log4j.varia.DenyAllFilter;
108 ++import org.apache.log4j.bridge.AppenderWrapper;
109 ++import org.apache.log4j.bridge.FilterWrapper;
110 ++import org.apache.log4j.bridge.LayoutAdapter;
111 ++import org.apache.logging.log4j.core.appender.FileAppender;
112 ++import org.apache.logging.log4j.core.filter.DenyAllFilter;
113 + import org.gudy.azureus2.plugins.PluginInterface;
114 + import org.gudy.azureus2.plugins.logging.LoggerChannel;
115 + import org.gudy.azureus2.plugins.logging.LoggerChannelListener;
116 +@@ -54,7 +57,7 @@ public class Log extends OptionsConsoleCommand {
117 + String subcommand = (String) args.get(0);
118 + if ("off".equalsIgnoreCase(subcommand) ) {
119 + if ( args.size() == 1 ){
120 +- con.addFilter(new DenyAllFilter());
121 ++ con.addFilter(new FilterWrapper(DenyAllFilter.newBuilder().build()));
122 + ci.out.println("> Console logging off");
123 + }else{
124 +
125 +@@ -81,25 +84,23 @@ public class Log extends OptionsConsoleCommand {
126 + {
127 + // send log output to a file
128 + String filename = commandLine.getOptionValue('f');
129 +-
130 +- try
131 +- {
132 +- Appender newAppender = new FileAppender(new PatternLayout("%d{ISO8601} %c{1}-%p: %m%n"), filename, true);
133 ++
134 ++ Appender newAppender = new AppenderWrapper(FileAppender.newBuilder()
135 ++ .setLayout(new LayoutAdapter(new PatternLayout("%d{ISO8601} %c{1}-%p: %m%n")))
136 ++ .withFileName(filename)
137 ++ .withAppend(true)
138 ++ .build());
139 + newAppender.setName("ConsoleAppender");
140 + Logger.getRootLogger().removeAppender(con);
141 + Logger.getRootLogger().addAppender(newAppender);
142 + ci.out.println("> Logging to filename: " + filename);
143 +- } catch (IOException e)
144 +- {
145 +- ci.out.println("> Unable to log to file: " + filename + ": " + e);
146 +- }
147 + }
148 + else
149 + {
150 + if( ! (con instanceof ConsoleAppender) )
151 + {
152 + Logger.getRootLogger().removeAppender(con);
153 +- con = new ConsoleAppender(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));
154 ++ con = new ConsoleAppender();
155 + con.setName("ConsoleAppender");
156 + Logger.getRootLogger().addAppender(con);
157 + }
158 +--
159 +2.34.1
160 +
161
162 diff --git a/net-p2p/vuze/vuze-5.7.6.0-r2.ebuild b/net-p2p/vuze/vuze-5.7.6.0-r2.ebuild
163 new file mode 100644
164 index 000000000000..b2c74be487d2
165 --- /dev/null
166 +++ b/net-p2p/vuze/vuze-5.7.6.0-r2.ebuild
167 @@ -0,0 +1,147 @@
168 +# Copyright 1999-2022 Gentoo Authors
169 +# Distributed under the terms of the GNU General Public License v2
170 +
171 +EAPI=8
172 +
173 +JAVA_PKG_IUSE="source"
174 +
175 +inherit desktop edos2unix java-pkg-2 java-ant-2 xdg-utils
176 +
177 +MY_PV=$(ver_rs 1- "")
178 +MY_SRC="Vuze_${MY_PV}"
179 +
180 +DESCRIPTION="BitTorrent client in Java, formerly called Azureus"
181 +HOMEPAGE="https://www.vuze.com/"
182 +SRC_URI="mirror://sourceforge/azureus/${PN}/${MY_SRC}/${MY_SRC}_source.zip"
183 +LICENSE="GPL-2 BSD"
184 +
185 +SLOT="0"
186 +KEYWORDS="~amd64 ~ppc64 ~x86"
187 +
188 +# bundles parts of http://www.programmers-friend.org/
189 +# bundles bcprov - 1.37 required but not in the tree
190 +CP_DEPEND="
191 + dev-java/log4j-12-api:2
192 + dev-java/log4j-core:2
193 + dev-java/swt:3.8[cairo]
194 + dev-java/commons-cli:1
195 + dev-java/commons-text:0
196 + dev-java/json-simple:0"
197 +
198 +RDEPEND="
199 + ${CP_DEPEND}
200 + >=virtual/jre-1.8:*"
201 +
202 +# does not compile with java 11, uses classes deprecated even in java 8
203 +DEPEND="
204 + ${CP_DEPEND}
205 + virtual/jdk:1.8"
206 +
207 +BDEPEND="app-arch/unzip"
208 +
209 +IDEPEND="dev-util/desktop-file-utils"
210 +
211 +PDEPEND="~net-p2p/vuze-coreplugins-${PV}"
212 +
213 +PATCHES=(
214 + "${FILESDIR}"/${PN}-5.3.0.0-java5.patch
215 + "${FILESDIR}"/${PN}-5.3.0.0-remove-classpath.patch
216 + "${FILESDIR}"/${PN}-5.3.0.0-disable-shared-plugins.patch
217 + "${FILESDIR}"/${PN}-5.7.2.0-disable-osx.patch
218 + "${FILESDIR}"/${PN}-5.3.0.0-disable-updaters.patch
219 + "${FILESDIR}"/${PN}-5.3.0.0-unbundle-json.patch
220 + "${FILESDIR}"/${PN}-5.7.6.0-commons-lang.patch
221 + "${FILESDIR}"/${PN}-5.7.6.0-log4j-12-api.patch
222 +)
223 +
224 +src_unpack() {
225 + mkdir -p "${S}" || die
226 + cd "${S}" || die
227 + unpack ${A}
228 +
229 + # build.xml disappeared from 4.4.0.0 although it was there in 4.3.1.4
230 + if [[ -f build.xml ]]; then
231 + die "upstream has build.xml again, don't overwrite"
232 + fi
233 + cp "${FILESDIR}"/build.xml "${S}" || die "failed to copy build.xml"
234 +}
235 +
236 +src_prepare() {
237 + # upstream likes randomly changing a subset of files to CRLF every release
238 + edos2unix $(find "${S}" -type f -name "*.java")
239 +
240 + default
241 +
242 + # OSX / Windows
243 + rm "${S}"/org/gudy/azureus2/ui/swt/osx/CarbonUIEnhancer.java || die
244 + rm "${S}"/org/gudy/azureus2/ui/swt/osx/Start.java || die
245 + rm "${S}"/org/gudy/azureus2/ui/swt/win32/Win32UIEnhancer.java || die
246 +
247 + # Tree2 file does not compile on linux
248 + rm -rf "${S}"/org/eclipse || die
249 + # Bundled apache
250 + rm -rf "${S}"/org/apache || die
251 + # Bundled json
252 + rm -rf "${S}"/org/json || die
253 + # Bundled bcprov
254 + # currently disabled - requires bcprov 1.37
255 + #rm -rf "${S}"/org/bouncycastle || die
256 +
257 + rm -rf "${S}"/org/gudy/azureus2/ui/console/multiuser/TestUserManager.java || die
258 + mkdir -p "${S}"/build/libs || die
259 +}
260 +
261 +JAVA_ANT_REWRITE_CLASSPATH="true"
262 +
263 +src_compile() {
264 + local mem
265 + use amd64 && mem="512"
266 + use x86 && mem="448"
267 + use ppc && mem="384"
268 + use ppc64 && mem="448"
269 + use sparc && mem="512"
270 + export ANT_OPTS="-Xmx${mem}m"
271 + java-pkg-2_src_compile
272 +
273 + # bug #302058 - build.xml excludes .txt but upstream jar has it...
274 + jar uf dist/Azureus2.jar ChangeLog.txt || die
275 +}
276 +
277 +src_install() {
278 + java-pkg_dojar dist/Azureus2.jar
279 + dodoc ChangeLog.txt
280 +
281 + java-pkg_dolauncher "${PN}" \
282 + --main org.gudy.azureus2.ui.common.Main -pre "${FILESDIR}/${PN}-4.1.0.0-pre" \
283 + --java_args '-Dazureus.install.path=/usr/share/vuze/ ${JAVA_OPTIONS}' \
284 + --pkg_args '--ui=${UI}'
285 + dosym vuze /usr/bin/azureus
286 +
287 + # https://bugs.gentoo.org/show_bug.cgi?id=204132
288 + java-pkg_register-environment-variable MOZ_PLUGIN_PATH /usr/lib/nsbrowser/plugins
289 +
290 + newicon "${S}"/org/gudy/azureus2/ui/icons/a32.png vuze.png
291 + domenu "${FILESDIR}"/${PN}.desktop
292 +
293 + use source && java-pkg_dosrc "${S}"/{com,edu,org}
294 +}
295 +
296 +pkg_postinst() {
297 + ewarn "Running Vuze as root is not supported and may result in untracked"
298 + ewarn "updates to shared components and then collisions on updates"
299 + echo
300 + elog "Vuze was formerly called Azureus and many references to the old name remain."
301 + elog
302 + elog "After running Vuze for the first time, configuration options will be"
303 + elog "placed in '~/.azureus/gentoo.config'."
304 + elog
305 + elog "If you need to change some startup options, you should modify this file"
306 + elog "rather than the startup script. You can enable the console UI by"
307 + elog "editing this config file."
308 + echo
309 + xdg_desktop_database_update
310 +}
311 +
312 +pkg_postrm() {
313 + xdg_desktop_database_update
314 +}