summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuan Liao <liaoyuan@gmail.com>2022-02-17 10:48:06 -0800
committerMiroslav Šulc <fordfrog@gentoo.org>2022-02-20 11:10:56 +0100
commit63d98adfd4189404fa86fbef73475410f12a6f41 (patch)
treeaa797dc33955e66f12df8ca37c31eab33e1681bb
parentdev-java/fontbox: eapi8, min java 1.8 - 1.7.1-r2 (diff)
downloadgentoo-63d98adfd4189404fa86fbef73475410f12a6f41.tar.gz
gentoo-63d98adfd4189404fa86fbef73475410f12a6f41.tar.bz2
gentoo-63d98adfd4189404fa86fbef73475410f12a6f41.zip
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@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/24261/commits/1a2dd6e5e73c65bbe266c58fa4f573d4e1698522 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
-rw-r--r--net-p2p/vuze/files/vuze-5.7.6.0-log4j-12-api.patch130
-rw-r--r--net-p2p/vuze/vuze-5.7.6.0-r2.ebuild147
2 files changed, 277 insertions, 0 deletions
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 <liaoyuan@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 <liaoyuan@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
+}