commit:     63d98adfd4189404fa86fbef73475410f12a6f41
Author:     Yuan Liao <liaoyuan <AT> gmail <DOT> com>
AuthorDate: Thu Feb 17 18:48:06 2022 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Feb 20 10:10:56 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63d98adf

net-p2p/vuze: Switch to log4j-12-api:2, and make ebuild improvements

- Update to EAPI 8
- Switch to HTTPS URL for HOMEPAGE
- Put dependencies into BDEPEND and IDEPEND as appropriate
- Increase memory allotted to the JVM running javac by 192 MB, which is
  needed after the migration to log4j-12-api:2

Closes: https://bugs.gentoo.org/831714
Signed-off-by: Yuan Liao <liaoyuan <AT> gmail.com>
Closes: 
https://github.com/gentoo/gentoo/pull/24261/commits/1a2dd6e5e73c65bbe266c58fa4f573d4e1698522
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 net-p2p/vuze/files/vuze-5.7.6.0-log4j-12-api.patch | 130 ++++++++++++++++++
 net-p2p/vuze/vuze-5.7.6.0-r2.ebuild                | 147 +++++++++++++++++++++
 2 files changed, 277 insertions(+)

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
new file mode 100644
index 000000000000..4bcce5d5f32d
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.7.6.0-log4j-12-api.patch
@@ -0,0 +1,130 @@
+From d960f15294c451bda338e4d9998e8d009970f380 Mon Sep 17 00:00:00 2001
+From: Yuan Liao <liaoy...@gmail.com>
+Date: Fri, 18 Feb 2022 12:47:20 -0800
+Subject: [PATCH] Migrate from Log4j 1.2 to log4j-1.2-api bridge from Log4j 2
+
+Signed-off-by: Yuan Liao <liaoy...@gmail.com>
+---
+ org/gudy/azureus2/ui/common/Main.java         |  7 +++---
+ .../azureus2/ui/console/ConsoleInput.java     |  8 +++---
+ .../azureus2/ui/console/commands/Log.java     | 25 ++++++++++---------
+ 3 files changed, 21 insertions(+), 19 deletions(-)
+
+diff --git a/org/gudy/azureus2/ui/common/Main.java 
b/org/gudy/azureus2/ui/common/Main.java
+index 8c533fb..f93e685 100644
+--- a/org/gudy/azureus2/ui/common/Main.java
++++ b/org/gudy/azureus2/ui/common/Main.java
+@@ -43,7 +43,8 @@ import org.apache.log4j.Appender;
+ import org.apache.log4j.ConsoleAppender;
+ import org.apache.log4j.Logger;
+ import org.apache.log4j.PatternLayout;
+-import org.apache.log4j.varia.DenyAllFilter;
++import org.apache.log4j.bridge.FilterWrapper;
++import org.apache.logging.log4j.core.filter.DenyAllFilter;
+ 
+ import com.aelitis.azureus.core.*;
+ import com.aelitis.azureus.core.impl.AzureusCoreSingleInstanceClient;
+@@ -113,9 +114,9 @@ public class Main {
+   public static void initRootLogger() {
+     if (Logger.getRootLogger().getAppender("ConsoleAppender")==null) {
+       Appender app;
+-      app = new ConsoleAppender(new 
PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));
++      app = new ConsoleAppender();
+       app.setName("ConsoleAppender");
+-      app.addFilter( new DenyAllFilter() );  //'log off' by default
++      app.addFilter( new FilterWrapper(DenyAllFilter.newBuilder().build()) ); 
 //'log off' by default
+       Logger.getRootLogger().addAppender(app);
+     }
+   }
+diff --git a/org/gudy/azureus2/ui/console/ConsoleInput.java 
b/org/gudy/azureus2/ui/console/ConsoleInput.java
+index d660bbb..0559f72 100644
+--- a/org/gudy/azureus2/ui/console/ConsoleInput.java
++++ b/org/gudy/azureus2/ui/console/ConsoleInput.java
+@@ -34,8 +34,8 @@ import java.util.Vector;
+ import org.apache.log4j.Appender;
+ import org.apache.log4j.ConsoleAppender;
+ import org.apache.log4j.Logger;
+-import org.apache.log4j.PatternLayout;
+-import org.apache.log4j.varia.DenyAllFilter;
++import org.apache.log4j.bridge.FilterWrapper;
++import org.apache.logging.log4j.core.filter.DenyAllFilter;
+ import org.gudy.azureus2.core3.config.COConfigurationManager;
+ import org.gudy.azureus2.core3.download.DownloadManager;
+ import org.gudy.azureus2.core3.download.DownloadManagerState;
+@@ -157,9 +157,9 @@ public class ConsoleInput extends Thread {
+                               
+               if 
(Logger.getRootLogger().getAppender("ConsoleAppender")==null) {
+             Appender app;
+-            app = new ConsoleAppender(new 
PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));
++            app = new ConsoleAppender();
+             app.setName("ConsoleAppender");
+-            app.addFilter( new DenyAllFilter() );  //'log off' by default
++            app.addFilter( new 
FilterWrapper(DenyAllFilter.newBuilder().build()) );  //'log off' by default
+             Logger.getRootLogger().addAppender(app);
+           }
+               
+diff --git a/org/gudy/azureus2/ui/console/commands/Log.java 
b/org/gudy/azureus2/ui/console/commands/Log.java
+index 43f66d5..8e9b222 100644
+--- a/org/gudy/azureus2/ui/console/commands/Log.java
++++ b/org/gudy/azureus2/ui/console/commands/Log.java
+@@ -18,10 +18,13 @@ import org.apache.commons.cli.Option;
+ import org.apache.commons.cli.Options;
+ import org.apache.log4j.Appender;
+ import org.apache.log4j.ConsoleAppender;
+-import org.apache.log4j.FileAppender;
+ import org.apache.log4j.Logger;
+ import org.apache.log4j.PatternLayout;
+-import org.apache.log4j.varia.DenyAllFilter;
++import org.apache.log4j.bridge.AppenderWrapper;
++import org.apache.log4j.bridge.FilterWrapper;
++import org.apache.log4j.bridge.LayoutAdapter;
++import org.apache.logging.log4j.core.appender.FileAppender;
++import org.apache.logging.log4j.core.filter.DenyAllFilter;
+ import org.gudy.azureus2.plugins.PluginInterface;
+ import org.gudy.azureus2.plugins.logging.LoggerChannel;
+ import org.gudy.azureus2.plugins.logging.LoggerChannelListener;
+@@ -54,7 +57,7 @@ public class Log extends OptionsConsoleCommand {
+                       String subcommand = (String) args.get(0);
+                       if ("off".equalsIgnoreCase(subcommand) ) {
+                               if ( args.size() == 1 ){
+-                                      con.addFilter(new DenyAllFilter());
++                                      con.addFilter(new 
FilterWrapper(DenyAllFilter.newBuilder().build()));
+                                       ci.out.println("> Console logging off");
+                               }else{
+                                       
+@@ -81,25 +84,23 @@ public class Log extends OptionsConsoleCommand {
+                                       {
+                                               // send log output to a file
+                                               String filename = 
commandLine.getOptionValue('f');
+-                                              
+-                                              try
+-                                              {
+-                                                      Appender newAppender = 
new FileAppender(new PatternLayout("%d{ISO8601} %c{1}-%p: %m%n"), filename, 
true);
++
++                                                      Appender newAppender = 
new AppenderWrapper(FileAppender.newBuilder()
++                                                                      
.setLayout(new LayoutAdapter(new PatternLayout("%d{ISO8601} %c{1}-%p: %m%n")))
++                                                                      
.withFileName(filename)
++                                                                      
.withAppend(true)
++                                                                      
.build());
+                                                       
newAppender.setName("ConsoleAppender");
+                                                       
Logger.getRootLogger().removeAppender(con);
+                                                       
Logger.getRootLogger().addAppender(newAppender);
+                                                       ci.out.println("> 
Logging to filename: " + filename);
+-                                              } catch (IOException e)
+-                                              {
+-                                                      ci.out.println("> 
Unable to log to file: " + filename + ": " + e);
+-                                              }                               
        
+                                       }
+                                       else
+                                       {
+                                               if( ! (con instanceof 
ConsoleAppender) )
+                                               {
+                                                       
Logger.getRootLogger().removeAppender(con);
+-                                                      con = new 
ConsoleAppender(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));
++                                                      con = new 
ConsoleAppender();
+                                                       
con.setName("ConsoleAppender");
+                                                   
Logger.getRootLogger().addAppender(con);
+                                               }
+-- 
+2.34.1
+

diff --git a/net-p2p/vuze/vuze-5.7.6.0-r2.ebuild 
b/net-p2p/vuze/vuze-5.7.6.0-r2.ebuild
new file mode 100644
index 000000000000..b2c74be487d2
--- /dev/null
+++ b/net-p2p/vuze/vuze-5.7.6.0-r2.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="source"
+
+inherit desktop edos2unix java-pkg-2 java-ant-2 xdg-utils
+
+MY_PV=$(ver_rs 1- "")
+MY_SRC="Vuze_${MY_PV}"
+
+DESCRIPTION="BitTorrent client in Java, formerly called Azureus"
+HOMEPAGE="https://www.vuze.com/";
+SRC_URI="mirror://sourceforge/azureus/${PN}/${MY_SRC}/${MY_SRC}_source.zip"
+LICENSE="GPL-2 BSD"
+
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+
+# bundles parts of http://www.programmers-friend.org/
+# bundles bcprov - 1.37 required but not in the tree
+CP_DEPEND="
+       dev-java/log4j-12-api:2
+       dev-java/log4j-core:2
+       dev-java/swt:3.8[cairo]
+       dev-java/commons-cli:1
+       dev-java/commons-text:0
+       dev-java/json-simple:0"
+
+RDEPEND="
+       ${CP_DEPEND}
+       >=virtual/jre-1.8:*"
+
+# does not compile with java 11, uses classes deprecated even in java 8
+DEPEND="
+       ${CP_DEPEND}
+       virtual/jdk:1.8"
+
+BDEPEND="app-arch/unzip"
+
+IDEPEND="dev-util/desktop-file-utils"
+
+PDEPEND="~net-p2p/vuze-coreplugins-${PV}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-5.3.0.0-java5.patch
+       "${FILESDIR}"/${PN}-5.3.0.0-remove-classpath.patch
+       "${FILESDIR}"/${PN}-5.3.0.0-disable-shared-plugins.patch
+       "${FILESDIR}"/${PN}-5.7.2.0-disable-osx.patch
+       "${FILESDIR}"/${PN}-5.3.0.0-disable-updaters.patch
+       "${FILESDIR}"/${PN}-5.3.0.0-unbundle-json.patch
+       "${FILESDIR}"/${PN}-5.7.6.0-commons-lang.patch
+       "${FILESDIR}"/${PN}-5.7.6.0-log4j-12-api.patch
+)
+
+src_unpack() {
+       mkdir -p "${S}" || die
+       cd "${S}" || die
+       unpack ${A}
+
+       # build.xml disappeared from 4.4.0.0 although it was there in 4.3.1.4
+       if [[ -f build.xml ]]; then
+               die "upstream has build.xml again, don't overwrite"
+       fi
+       cp "${FILESDIR}"/build.xml "${S}" || die "failed to copy build.xml"
+}
+
+src_prepare() {
+       # upstream likes randomly changing a subset of files to CRLF every 
release
+       edos2unix $(find "${S}" -type f -name "*.java")
+
+       default
+
+       # OSX / Windows
+       rm "${S}"/org/gudy/azureus2/ui/swt/osx/CarbonUIEnhancer.java || die
+       rm "${S}"/org/gudy/azureus2/ui/swt/osx/Start.java || die
+       rm "${S}"/org/gudy/azureus2/ui/swt/win32/Win32UIEnhancer.java || die
+
+       # Tree2 file does not compile on linux
+       rm -rf "${S}"/org/eclipse || die
+       # Bundled apache
+       rm -rf "${S}"/org/apache || die
+       # Bundled json
+       rm -rf "${S}"/org/json || die
+       # Bundled bcprov
+       # currently disabled - requires bcprov 1.37
+       #rm -rf "${S}"/org/bouncycastle || die
+
+       rm -rf 
"${S}"/org/gudy/azureus2/ui/console/multiuser/TestUserManager.java || die
+       mkdir -p "${S}"/build/libs || die
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+src_compile() {
+       local mem
+       use amd64 && mem="512"
+       use x86   && mem="448"
+       use ppc   && mem="384"
+       use ppc64 && mem="448"
+       use sparc && mem="512"
+       export ANT_OPTS="-Xmx${mem}m"
+       java-pkg-2_src_compile
+
+       # bug #302058 - build.xml excludes .txt but upstream jar has it...
+       jar uf dist/Azureus2.jar ChangeLog.txt || die
+}
+
+src_install() {
+       java-pkg_dojar dist/Azureus2.jar
+       dodoc ChangeLog.txt
+
+       java-pkg_dolauncher "${PN}" \
+               --main org.gudy.azureus2.ui.common.Main -pre 
"${FILESDIR}/${PN}-4.1.0.0-pre" \
+               --java_args '-Dazureus.install.path=/usr/share/vuze/ 
${JAVA_OPTIONS}' \
+               --pkg_args '--ui=${UI}'
+       dosym vuze /usr/bin/azureus
+
+       # https://bugs.gentoo.org/show_bug.cgi?id=204132
+       java-pkg_register-environment-variable MOZ_PLUGIN_PATH 
/usr/lib/nsbrowser/plugins
+
+       newicon "${S}"/org/gudy/azureus2/ui/icons/a32.png vuze.png
+       domenu "${FILESDIR}"/${PN}.desktop
+
+       use source && java-pkg_dosrc "${S}"/{com,edu,org}
+}
+
+pkg_postinst() {
+       ewarn "Running Vuze as root is not supported and may result in 
untracked"
+       ewarn "updates to shared components and then collisions on updates"
+       echo
+       elog "Vuze was formerly called Azureus and many references to the old 
name remain."
+       elog
+       elog "After running Vuze for the first time, configuration options will 
be"
+       elog "placed in '~/.azureus/gentoo.config'."
+       elog
+       elog "If you need to change some startup options, you should modify 
this file"
+       elog "rather than the startup script.  You can enable the console UI by"
+       elog "editing this config file."
+       echo
+       xdg_desktop_database_update
+}
+
+pkg_postrm() {
+       xdg_desktop_database_update
+}

Reply via email to