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 +}