diff options
author | Miroslav Šulc <fordfrog@gentoo.org> | 2021-04-19 10:33:10 +0200 |
---|---|---|
committer | Miroslav Šulc <fordfrog@gentoo.org> | 2021-04-19 10:33:19 +0200 |
commit | 64b38f71e0ab137eb054750943d2ecfdf222e1d7 (patch) | |
tree | fde07977b49515642accf3a1531867b4a6ae9343 /net-p2p | |
parent | dev-java/commons-text: new package (diff) | |
download | gentoo-64b38f71e0ab137eb054750943d2ecfdf222e1d7.tar.gz gentoo-64b38f71e0ab137eb054750943d2ecfdf222e1d7.tar.bz2 gentoo-64b38f71e0ab137eb054750943d2ecfdf222e1d7.zip |
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@gentoo.org>
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/vuze/files/vuze-5.7.6.0-commons-lang.patch | 174 | ||||
-rw-r--r-- | net-p2p/vuze/vuze-5.7.6.0-r1.ebuild | 144 |
2 files changed, 318 insertions, 0 deletions
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 000000000000..a03995d167a6 --- /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 000000000000..3c948421a137 --- /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 +} |