commit:     64b38f71e0ab137eb054750943d2ecfdf222e1d7
Author:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 19 08:33:10 2021 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Mon Apr 19 08:33:19 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64b38f71

net-p2p/vuze: switched from commons-lang to commons-text

Closes: https://bugs.gentoo.org/783822
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 net-p2p/vuze/files/vuze-5.7.6.0-commons-lang.patch | 174 +++++++++++++++++++++
 net-p2p/vuze/vuze-5.7.6.0-r1.ebuild                | 144 +++++++++++++++++
 2 files changed, 318 insertions(+)

diff --git a/net-p2p/vuze/files/vuze-5.7.6.0-commons-lang.patch 
b/net-p2p/vuze/files/vuze-5.7.6.0-commons-lang.patch
new file mode 100644
index 00000000000..a03995d167a
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.7.6.0-commons-lang.patch
@@ -0,0 +1,174 @@
+diff --git a/com/aelitis/azureus/core/metasearch/Result.java 
b/com/aelitis/azureus/core/metasearch/Result.java
+index bec05e1..9588f9a 100644
+--- a/com/aelitis/azureus/core/metasearch/Result.java
++++ b/com/aelitis/azureus/core/metasearch/Result.java
+@@ -28,7 +28,7 @@ import java.util.Locale;
+ import java.util.Map;
+ import java.util.Random;
+ 
+-import org.apache.commons.lang.Entities;
++import org.apache.commons.text.StringEscapeUtils;
+ import org.gudy.azureus2.core3.util.AENetworkClassifier;
+ import org.gudy.azureus2.core3.util.DisplayFormatters;
+ import org.gudy.azureus2.core3.util.HostNameToIPResolver;
+@@ -464,6 +464,6 @@ public abstract class Result {
+               if ( input == null ){
+                       return( null );
+               }
+-              return( Entities.HTML40.unescape( input ));
++              return( StringEscapeUtils.unescapeHtml4( input ));
+       }
+ }
+diff --git a/com/aelitis/azureus/core/metasearch/impl/web/WebResult.java 
b/com/aelitis/azureus/core/metasearch/impl/web/WebResult.java
+index 2d353b8..e03916b 100644
+--- a/com/aelitis/azureus/core/metasearch/impl/web/WebResult.java
++++ b/com/aelitis/azureus/core/metasearch/impl/web/WebResult.java
+@@ -22,7 +22,7 @@ package com.aelitis.azureus.core.metasearch.impl.web;
+ import java.util.Date;
+ import java.util.StringTokenizer;
+ 
+-import org.apache.commons.lang.*;
++import org.apache.commons.text.StringEscapeUtils;
+ import org.gudy.azureus2.core3.util.Base32;
+ import org.gudy.azureus2.core3.util.ByteFormatter;
+ import org.gudy.azureus2.core3.util.Debug;
+@@ -87,14 +87,14 @@ public class WebResult extends Result {
+       public void setNameFromHTML(String name) {
+               if(name != null) {
+                       name = removeHTMLTags(name);
+-                      this.name = Entities.HTML40.unescape(name);
++                      this.name = StringEscapeUtils.unescapeHtml4(name);
+               }
+       }
+       
+       public void setCommentsFromHTML(String comments) {
+               if(comments != null) {
+                       comments = removeHTMLTags(comments);
+-                      comments = Entities.HTML40.unescape(comments);
++                      comments = StringEscapeUtils.unescapeHtml4(comments);
+                       comments = comments.replaceAll(",", "");
+                       comments = comments.replaceAll(" ", "");
+                       try{
+@@ -107,7 +107,7 @@ public class WebResult extends Result {
+       public void setCategoryFromHTML(String category) {
+               if(category != null) {
+                       category = removeHTMLTags(category);
+-                      this.category = 
Entities.HTML40.unescape(category).trim();
++                      this.category = 
StringEscapeUtils.unescapeHtml4(category).trim();
+                       /*int separator = this.category.indexOf(">");
+                       
+                       if(separator != -1) {
+@@ -136,7 +136,7 @@ public class WebResult extends Result {
+       public void setNbPeersFromHTML(String nbPeers) {
+               if(nbPeers != null) {
+                       nbPeers = removeHTMLTags(nbPeers);
+-                      String nbPeersS = Entities.HTML40.unescape(nbPeers);
++                      String nbPeersS = 
StringEscapeUtils.unescapeHtml4(nbPeers);
+                       nbPeersS = nbPeersS.replaceAll(",", "");
+                       nbPeersS = nbPeersS.replaceAll(" ", "");
+                       try {
+@@ -151,7 +151,7 @@ public class WebResult extends Result {
+       public void setNbSeedsFromHTML(String nbSeeds) {
+               if(nbSeeds != null) {
+                       nbSeeds = removeHTMLTags(nbSeeds);
+-                      String nbSeedsS = Entities.HTML40.unescape(nbSeeds);
++                      String nbSeedsS = 
StringEscapeUtils.unescapeHtml4(nbSeeds);
+                       nbSeedsS = nbSeedsS.replaceAll(",", "");
+                       nbSeedsS = nbSeedsS.replaceAll(" ", "");
+                       try {
+@@ -166,7 +166,7 @@ public class WebResult extends Result {
+       public void setNbSuperSeedsFromHTML(String nbSuperSeeds) {
+               if(nbSuperSeeds != null) {
+                       nbSuperSeeds = removeHTMLTags(nbSuperSeeds);
+-                      String nbSuperSeedsS = 
Entities.HTML40.unescape(nbSuperSeeds);
++                      String nbSuperSeedsS = 
StringEscapeUtils.unescapeHtml4(nbSuperSeeds);
+                       nbSuperSeedsS = nbSuperSeedsS.replaceAll(",", "");
+                       nbSuperSeedsS = nbSuperSeedsS.replaceAll(" ", "");
+                       try {
+@@ -248,7 +248,7 @@ public class WebResult extends Result {
+       public void setPublishedDateFromHTML(String publishedDate) {
+               if(publishedDate != null && publishedDate.length() > 0) {
+                       publishedDate = removeHTMLTags(publishedDate);
+-                      String publishedDateS = 
Entities.HTML40.unescape(publishedDate).replace((char)160,(char)32);
++                      String publishedDateS = 
StringEscapeUtils.unescapeHtml4(publishedDate).replace((char)160,(char)32);
+                       this.publishedDate = 
dateParser.parseDate(publishedDateS);
+               }
+       }
+@@ -257,7 +257,7 @@ public class WebResult extends Result {
+       public void setSizeFromHTML(String size) {
+               if(size != null) {
+                       size = removeHTMLTags(size);
+-                      String sizeS = 
Entities.HTML40.unescape(size).replace((char)160,(char)32);
++                      String sizeS = 
StringEscapeUtils.unescapeHtml4(size).replace((char)160,(char)32);
+                       sizeS = sizeS.replaceAll("<[^>]+>", " ");
+                       //Add a space between the digits and unit if there is 
none
+                       sizeS = sizeS.replaceFirst("(\\d)([a-zA-Z])", "$1 $2");
+@@ -303,7 +303,7 @@ public class WebResult extends Result {
+       public void setVotesFromHTML(String votes_str) {
+               if(votes_str != null) {
+                       votes_str = removeHTMLTags(votes_str);
+-                      votes_str = Entities.HTML40.unescape(votes_str);
++                      votes_str = StringEscapeUtils.unescapeHtml4(votes_str);
+                       votes_str = votes_str.replaceAll(",", "");
+                       votes_str = votes_str.replaceAll(" ", "");
+                       try {
+@@ -317,7 +317,7 @@ public class WebResult extends Result {
+       public void setVotesDownFromHTML(String votes_str) {
+               if(votes_str != null) {
+                       votes_str = removeHTMLTags(votes_str);
+-                      votes_str = Entities.HTML40.unescape(votes_str);
++                      votes_str = StringEscapeUtils.unescapeHtml4(votes_str);
+                       votes_str = votes_str.replaceAll(",", "");
+                       votes_str = votes_str.replaceAll(" ", "");
+                       try {
+diff --git a/org/gudy/azureus2/core3/util/AddressUtils.java 
b/org/gudy/azureus2/core3/util/AddressUtils.java
+index 2558313..8cafd8a 100644
+--- a/org/gudy/azureus2/core3/util/AddressUtils.java
++++ b/org/gudy/azureus2/core3/util/AddressUtils.java
+@@ -592,11 +592,11 @@ AddressUtils
+                       try{
+                                       // unfortunately we have an 
incompatible base64 standard in i2p, they replaced / with ~ and + with -
+                               
+-                              char[]  encoded = to_decode.toCharArray();
++                              byte[]  encoded = to_decode.getBytes();
+                               
+                               for ( int i=0;i<encoded.length;i++){
+                                       
+-                                      char c = encoded[i];
++                                      byte c = encoded[i];
+                                       
+                                       if ( c == '~' ){
+                                               encoded[i] = '/';
+diff --git 
a/org/gudy/azureus2/pluginsimpl/local/utils/xml/simpleparser/SimpleXMLParserDocumentImpl.java
 
b/org/gudy/azureus2/pluginsimpl/local/utils/xml/simpleparser/SimpleXMLParserDocumentImpl.java
+index 1035997..5270c35 100644
+--- 
a/org/gudy/azureus2/pluginsimpl/local/utils/xml/simpleparser/SimpleXMLParserDocumentImpl.java
++++ 
b/org/gudy/azureus2/pluginsimpl/local/utils/xml/simpleparser/SimpleXMLParserDocumentImpl.java
+@@ -25,7 +25,7 @@ package 
org.gudy.azureus2.pluginsimpl.local.utils.xml.simpleparser;
+ import javax.xml.parsers.*;
+ 
+ import org.xml.sax.*;
+-import org.apache.commons.lang.Entities;
++import org.apache.commons.text.StringEscapeUtils;
+ import org.gudy.azureus2.core3.util.AENetworkClassifier;
+ import org.gudy.azureus2.core3.util.Constants;
+ import org.gudy.azureus2.core3.util.Debug;
+@@ -679,17 +679,8 @@ SimpleXMLParserDocumentImpl
+                                                       replacement = new 
String( buffer, 0, buffer_pos );
+                                                       
+                                               }else{
+-                                                                              
                                                                                
        
+-                                                      int num = 
Entities.HTML40.entityValue( ref );
+-                                                              
+-                                                      if ( num != -1 ){
+-                                                      
+-                                                              replacement = 
"&#" + num + ";";
+-                                                              
+-                                                      }else{
+-                                                              
+-                                                              replacement = 
new String( buffer, 0, buffer_pos );
+-                                                      }
++
++                                                              replacement = 
StringEscapeUtils.escapeHtml4(ref);
+                                               }
+                                               
+                                               char[] chars = 
replacement.toCharArray();

diff --git a/net-p2p/vuze/vuze-5.7.6.0-r1.ebuild 
b/net-p2p/vuze/vuze-5.7.6.0-r1.ebuild
new file mode 100644
index 00000000000..3c948421a13
--- /dev/null
+++ b/net-p2p/vuze/vuze-5.7.6.0-r1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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="http://www.vuze.com/";
+SRC_URI="mirror://sourceforge/azureus/${PN}/${MY_SRC}/${MY_SRC}_source.zip"
+LICENSE="GPL-2 BSD"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# bundles parts of http://www.programmers-friend.org/
+# bundles bcprov - 1.37 required but not in the tree
+CDEPEND="
+       dev-java/log4j:0
+       dev-java/swt:3.8[cairo]
+       dev-java/commons-cli:1
+       dev-java/commons-text:0
+       dev-java/json-simple:0"
+
+RDEPEND="
+       ${CDEPEND}
+       >=virtual/jre-1.8:*"
+
+# does not compile with java 11, uses classes deprecated even in java 8
+DEPEND="
+       ${CDEPEND}
+       app-arch/unzip
+       dev-util/desktop-file-utils
+       virtual/jdk:1.8"
+
+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
+)
+
+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"
+EANT_GENTOO_CLASSPATH="swt-3.8,json-simple,log4j,commons-cli-1,commons-text"
+
+src_compile() {
+       local mem
+       use amd64 && mem="320"
+       use x86   && mem="256"
+       use ppc   && mem="192"
+       use ppc64 && mem="256"
+       use sparc && mem="320"
+       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