summaryrefslogtreecommitdiff
path: root/net-p2p/vuze
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-p2p/vuze
reinit the tree, so we can have metadata
Diffstat (limited to 'net-p2p/vuze')
-rw-r--r--net-p2p/vuze/Manifest23
-rw-r--r--net-p2p/vuze/files/build.xml68
-rw-r--r--net-p2p/vuze/files/vuze-4.1.0.0-pre75
-rw-r--r--net-p2p/vuze/files/vuze-5.3.0.0-disable-osx.patch60
-rw-r--r--net-p2p/vuze/files/vuze-5.3.0.0-disable-shared-plugins.patch33
-rw-r--r--net-p2p/vuze/files/vuze-5.3.0.0-disable-updaters.patch45
-rw-r--r--net-p2p/vuze/files/vuze-5.3.0.0-java5.patch11
-rw-r--r--net-p2p/vuze/files/vuze-5.3.0.0-remove-classpath.patch10
-rw-r--r--net-p2p/vuze/files/vuze-5.3.0.0-unbundle-commons.patch110
-rw-r--r--net-p2p/vuze/files/vuze-5.3.0.0-unbundle-json.patch42
-rw-r--r--net-p2p/vuze/files/vuze-5.6.0.0-commons-lang-entities.patch51
-rw-r--r--net-p2p/vuze/files/vuze-5.6.0.0-invalid-characters.patch26
-rw-r--r--net-p2p/vuze/files/vuze-5.7.2.0-disable-osx.patch71
-rw-r--r--net-p2p/vuze/files/vuze.desktop9
-rw-r--r--net-p2p/vuze/metadata.xml15
-rw-r--r--net-p2p/vuze/vuze-4.8.1.2-r1.ebuild143
-rw-r--r--net-p2p/vuze/vuze-5.6.0.0.ebuild144
-rw-r--r--net-p2p/vuze/vuze-5.7.2.0.ebuild144
18 files changed, 1080 insertions, 0 deletions
diff --git a/net-p2p/vuze/Manifest b/net-p2p/vuze/Manifest
new file mode 100644
index 000000000000..25a101828078
--- /dev/null
+++ b/net-p2p/vuze/Manifest
@@ -0,0 +1,23 @@
+AUX build.xml 2275 SHA256 9fb2a2f672a8a8aaede04b178c8c593132cc12bd8fcd6f3eee0421037411b542 SHA512 bdec7c10548ed2fda57235d14f0ae67e00e548a84b88855b5b683c947015b52bcf7011fb5952b4225370db54541614c0402fe6c77e723d310358a502837b40a3 WHIRLPOOL 67c11cd6d36178a68c784632e9bba040d0cf3d55b67f409fdb97af8f1d874d5b71099ed6671067170336894d46837041203eff35152916fb6e8c8e518043c97f
+AUX vuze-4.1.0.0-pre 1850 SHA256 aae3963e55330eb292176052a2cd72b8a9c322fd63fb71bb0fe6456df7d329e5 SHA512 04c5a77bff69e50963f3122c46f549dec78e462bfa0697b32ffe8630d22612a64f1adc52bc8d7d8868d972c4bdac3082a1e9b513459d9f97915ad87d05ab2b4a WHIRLPOOL 8d20a2850dc9724f3e02bc69158faaee931035fd98d7c902c6973e7197db17908e6bc67deeb516bba1fd4b4ff8defc4ca67beb8b11a6305fa09e8296d06f9c19
+AUX vuze-5.3.0.0-disable-osx.patch 1841 SHA256 8d37e1090e938d91fc539d043f0b82dd9106dfd38c6c621824f6041d7137cee3 SHA512 f5c60b188eb5e4c48dfd73c9de03c4eb0884dfb36f147d6ef4be6d2e26602d7de6f80de4be4a64d94c1d9ad9cdbbd928b1cd4e00f09c57e8eb72d7d0f623e1c7 WHIRLPOOL b931704e6cad2f2f03b67bd00bab31243fe73055416da575782e8fe642705f0ed97a3707dcf1fadfbda412b11835f900bf6d4fd443ff5aeb5b327bf6d95290fc
+AUX vuze-5.3.0.0-disable-shared-plugins.patch 1069 SHA256 248f5a570e6099def1d155c2aab1dff4c2aa1fea81fac8f53a1da4900b9b360f SHA512 ee9e6513b2dd1d4e986f4c57fd5ace3593f98f7eaeb5e454fc7b5fb3c6876b86b85b511981c951ead96b1a106abb18a2e01047b2063d55c98300ed6356c0460b WHIRLPOOL 9ef8f3e640f8d7d5b62dcbb14013eb6193b42d0b884b1189124350d9678dcc748971d3260808b1939dbc2e2204f3d58526fc87f25df4d8f1946e5c40cbf75d8d
+AUX vuze-5.3.0.0-disable-updaters.patch 1726 SHA256 fac23c094c3ab83cbcb89ce77d5123737729817f53d60ecefd7498df6f0e2bde SHA512 743d48eeeac4534fc66463c0989a88d97117d988227b6cce77abdaa97c9cb9813aa1228f81a607af09e07fdf95ce02a3981f7f083fba0d9875d0951b8bbf29a3 WHIRLPOOL 2a4a78694043d651c5c072dd43607809cad0e528ab5741a4ddf2cf440a0649f1394c08420e35359b271567c7e933a4d1792c92224a64eeadb26778cbc33f49d2
+AUX vuze-5.3.0.0-java5.patch 618 SHA256 58f30c1c20ae73048b222dbbfa169f2f200dc11be735f099cf375f06b0a1abce SHA512 0ecddf69a7fdd72860262cc73dd4a0852ba8e31d73dfc7ad1d96ad18eaa41ec23ca977207d6bff32e183d95c1a6918909ef3cab697d0c9d754345613544eb90c WHIRLPOOL 77bb1707d77605822c904e35c7fa40f5f2c29a04340cadb203631c4a0ba6cda3898f53beea105ea4d2614eda40d3374903f7ccd88ba69375e73b905a705c659c
+AUX vuze-5.3.0.0-remove-classpath.patch 545 SHA256 9bf7ebca70dc2eee23f8747295abfab1d68cdb11311de3e83add4557cfa1a4d5 SHA512 867e932eab1f33af6a8320cbe1f1cf565b68f39c6e1c0188dada018de4b50823047a7e9a53d558c00fe2253c48e4e6276e7725681b33a115de694c43265cf42c WHIRLPOOL 28f0912f002b481f9ab4dac182cf201518c727193438e88e3c04fc8200fa50b4edf6a6a5ccb7375cbb655827689132aec6a7f1b2e845eac933ddf03785f1b175
+AUX vuze-5.3.0.0-unbundle-commons.patch 4741 SHA256 b7aea040bd7b307ac19b1937bf46691cfd37c73721fa459d4ca6a40f13645fcd SHA512 b6ea60f966e5c5d5c1118bf4d479175eb890c231c5c7324a7216b7791882217803d06de4780f63818aac34bd95172a211bbbe559843e9a89cc511fac29bc307d WHIRLPOOL b4ea72019bf4528b73cd21bdcbab584ead025ccbf1dc11857e4c7d6175c13fe8e68af2d68034b9e0718b56f14910f0804db52ba60f8e84981bdd354369c008a1
+AUX vuze-5.3.0.0-unbundle-json.patch 1322 SHA256 61c0df3a1ecbfdec9845a3e4789030e014a700138caaa761dd430f45936dd91f SHA512 60b8dc8216f5f51a4cb6c6b793d1b31b686f63d03e373741d76856a594468fa5c97781fc99fc9af30f2db8173bb86414cd52cb30ea7ebeac5a018633f661ce26 WHIRLPOOL 52d5da03ee31316d0a6c4ebc2d3e4d59ee88ca228d74345171ef90909f25bcaafeb36594cec16f427bf32524a0c4da7b0726313dcfc856690eca61d9f4bb2c23
+AUX vuze-5.6.0.0-commons-lang-entities.patch 2085 SHA256 52515b513089e549d488d84b2c88f160735d9b7ef75da1e998df8f616e3fe9f6 SHA512 a08d23a1947ad668048f49c8137d4494da662d65f5cf98acd5e44656f7d6a2bf691eebba4fd8033996594d1c4edc1a2eec3ce3f92d23b1818c03b405fc081899 WHIRLPOOL a6447983dc9e7ff0e26ced10f5298b6ee1996549643c67aa693e7eff58b77a9708574066823ed0110d08603fa12eaa017fdb43738166007f49f75f116c3a6788
+AUX vuze-5.6.0.0-invalid-characters.patch 1121 SHA256 8f00bc2477c01853a352b6afc1e186dacb97161c3d9d199205e2d68e3bef6a2a SHA512 718c64a892aa860455db4c23f97d403c77bbba0fd1ecf957761f7c7dfcb9c8b42ed75b1f3e706f3d67335ed38599fbc6f9e2731941bdf819d956e830a8227344 WHIRLPOOL 9b432134579a88c5bdac0942ec019172583f2292453e09d3584e73079e9601992b08672e6e5d2d989fa11562d74bc569143309ead78a26dcf8f9eff6f51762b5
+AUX vuze-5.7.2.0-disable-osx.patch 2278 SHA256 5a4fe3b0b13aad279efb5b892f1989da7e9caba356e11fe9399c1ffd192174f7 SHA512 39797193297d61c1e91bfdcbf6e4fa6acb523c067ac96a0de99d5f79fab69b327688f87f8c8f24c0d7967c4c1017bde478ecc10aa117f96f0b891dc10a21420a WHIRLPOOL b060eb315ba6c3d27591294bea964737a87c36630902311d8d032292cc1b0731a0c7a8be0351212ee650f93684da2c9e08b5cb49def01c5cb761b34eb66b22f7
+AUX vuze.desktop 164 SHA256 4fbc293d66810bcd4eec210d00d5ea97f5e49acdd10197a52e361ed11b8718ed SHA512 4d68ed3af2c983435d1014ea1281076fd5d1171b23ebbe7cc8d7e6c45b39b036e7f4660fce81481ba3b7bddd29c8255ce22bbb79230f77c6ecfdecb24736d480 WHIRLPOOL 822e059e377141864f465d4de7915651a609ef69c8d67eedc85bd1c60a2b605882cad0c63b592329b369e34f8877e1c36bc344f414be20818bccf39d1f88ec25
+DIST Vuze_4812_source.zip 9530217 SHA256 8ad02ae61ac1c515cb3226b95b34d4fe036faa64e725b64fdcb5ef7d1cb9633d SHA512 7007c91f829c57d0f08b9da4ea3fcc8820efe14aeec7286cf764e5ac2d7d165f3a14abc6b0e92a617e21b45803f7c121fb00ddd8c5e8d9664509eb3337fc65bf WHIRLPOOL bc8823e053fa2f86161234c77f4873f2035a111361d60ee8c75937710774defec577651a10acf909bb170e600dc2775a5dbe2cf626649729e86f4a04e02a46d9
+DIST Vuze_5600_source.zip 10398501 SHA256 1aa6148311969ce6c51333b7ef51bcc8713e222fa5d14b2448e97aebbd25ea5e SHA512 dfe557cb1f50be935c78ee4431bc14db5f0107eebab8545cf925de8b0d48bb91ca77f7feab54a5fd91aaaf50bd3c68c1519cf49c2eb4d145ff7794bf9f22cfd7 WHIRLPOOL 62b637b5fc8145c31bdfb0ca2f63bdd9ee9c70d3afde3cb693ede66c0ab6db593f412ab124ac1230f1bbf33ff9ce635e29a0cea7556f013fcb7144aacb98c0d0
+DIST Vuze_5720_source.zip 10709515 SHA256 fcad8bc3df5e5d844eb7a8e0f24d199b37cfc831b2c50698e12ce9e5a9db1045 SHA512 073af0c68219884aaf1b860fcc04cf75edaf662f1e82fe6c49f615b928b00d1a50d25f348c6bf5a922fa1c5a53c7bce5f75b7a0c065602675bcb6d80c1c92edf WHIRLPOOL a45cdfba1a42bfdb4cf36a493b1522865b465e37ec8d0921a63d2e449f1d25f1dfd3d96857b29b45f68eb6d36bf4f25767eb13426bf944711411259a8af3ea78
+DIST vuze-4.5.0.2-gentoo-patches.tar.bz2 3143 SHA256 972cf16d88d8605f93b77a84770b6512d54ae8281a0d4c06b66890a69deb6c49 SHA512 aacaeb404d9b7dbb40d89b04f9ad26caf447202b1fcb63d532f5e01dc611152adbc38804563f1a35227a080b2eadec0e2e42d0baa163d1d5489eec65cd28f83d WHIRLPOOL a7dd533676c428a00caddc2d4d4c008feec1a1201bb9aef7b7ed9c25d41405344d89bc9f70d442f043beb7aaf6db7d73582cc46edfa3665d599b2635e51b1ee7
+EBUILD vuze-4.8.1.2-r1.ebuild 4273 SHA256 73cc2fb3fdabb4c4c42475fb09cc986ed253af538cb140956a57e6f0ec32a179 SHA512 c27b01e4d5ec5751d5af4d62170572a43744fa04d934bf820c7a53d84735adda38967bfcc525521ec6e2dd2ab9f0d4de346ce7099b8f64ebafd0ddf0cc44c8c1 WHIRLPOOL fd66bdd605a188e8219af53930a552284de7f3c550417ea1319f64aac8f55cee0f532357bd47a886286d52c95f78d2430bb2dd4718a6aa69524a1bf04a9c2dbd
+EBUILD vuze-5.6.0.0.ebuild 4407 SHA256 a6dbbf54e70204adc355fcc1725f70ee19fc4164ab9cf7314b5a0c75dbfd559f SHA512 a94743bace7557aec51eec202edc89fc828924e790b5591494ca73f10ced30c2378f36bb4d512d49e6c0f34e17bad295ce8a5777b9219a9e819e50c49fce6b5d WHIRLPOOL b00c7a831f57ce555bfa0cf1b844e92449cfd7919cbe2ffa57c9d7f74634a94495d57a98901f65b7712fabc00450de955a115b7a4f4ea6ccc9b14e199f332fb0
+EBUILD vuze-5.7.2.0.ebuild 4407 SHA256 dd6ef35fbd156a07d3c633401f9e4e5f994f4bcdf5e1d59daec0f4cb8b58d6f4 SHA512 2015dda515c61e65b554dd1d7ad1b56773bc717e3e927e937d04b4ef6bf37c7e48a6ea267c9647e8044093d555a3649467c25003562bc670f3a96aa0d416dd53 WHIRLPOOL 815de654a18846c22807763d08709804c8626f78e8baeaa3eb110879b35f1ed645d9b4981bc26fc6e22b72e6d2d83f5ad35ac50df121e106ab3a89f8ed7a0019
+MISC ChangeLog 3722 SHA256 5caf30bbcb7a4edf720094a64efcdee387f67442857797320fe130080d7a326e SHA512 3f25643d1c793b51644c5808bb388ddef83d758b3d1d61bb6aac23b186d9b239d628ddbe835f244b742d11ffa540fae6b296211000b1d45a5ec8bec8110ba29b WHIRLPOOL 66ffc2428b9fab57e789ae5f96e6a6c16b1b4f1a7d0698de34ef84ec476a00816d43e0525fd0073c29e30d1483dbd2265e729a928a54cb3b145c89f36c8a885a
+MISC ChangeLog-2015 29159 SHA256 0c312ebb96a3d990c803a6b84566a2998e160a67deaa6115e03a8166dd9e963d SHA512 88e5b4e5b2edda237f984bd80a4f54481e992f1714ec24d1bd69be66d7ff49acd208d900d56a06bfbe0c582df7ebb3d11862f1b70000ec069a4e7fd6cb78fc92 WHIRLPOOL 7c48e8931750abb8fcb7a52c0762fa23363341b498b86713c65d5dc099e612b761e6be64429ab60853a627de3892b6e6e1e3844f66de2ea5d60a1db9973f5b2b
+MISC metadata.xml 415 SHA256 6bdb66372614c29f3fbe9021880a2e2c1f1f90c51fbb65ff626c53e001d56dc0 SHA512 d81c0a6171fcd95b06d63b6d6680a22451326ecff7e4a82e8d581cc2da95663bc35b9f2a4e56c0d10aa915e5f1ee238f5b2bc33ee06944ef1250def695367c7d WHIRLPOOL 364ed65692e2a93b635318f225f80ed85454977aca6c89d31d742012eccd4700628e5bcb48d2a2664f0845b45f4c29caa962c9f47d9e3da1ee45e2721b08fede
diff --git a/net-p2p/vuze/files/build.xml b/net-p2p/vuze/files/build.xml
new file mode 100644
index 000000000000..7b060c14b2f2
--- /dev/null
+++ b/net-p2p/vuze/files/build.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+
+<!--
+
+NOTE: You may need to set the ANT_OPTS="-Xmx512m" env prop in order to compile this project successfully.
+
+-->
+
+
+<project default="jar" name="Azureus" basedir=".">
+
+ <property name="root.dir" value="." /> <!-- REMINDER: this needs to be "." for public source -->
+ <property name="libs.dir" value="build/libs" />
+ <property name="dist.dir" value="dist" />
+
+ <property name="generic.excludes" value="**/*.jar **/*.txt **/*.jardesc **/.classpath **/.project **/aereg.lib **/aereg.dll" />
+ <property name="dist.jar.excludes" value="${generic.excludes} **/*.java " />
+ <!-- <property name="dist.source.excludes" value="${generic.excludes} **/*.class" /> -->
+
+
+ <target name="init" >
+ <echo message="Building Azureus2.jar..." />
+
+ <tstamp/>
+
+ <!-- <condition property="libs.dir" value="build/libs">
+ <not> <isset property="libs.dir" /> </not>
+ </condition> -->
+
+ <mkdir dir="${root.dir}/${dist.dir}" />
+ </target>
+
+
+ <target name="compile" depends="init" >
+ <path id="libs.classpath">
+ <fileset dir="${root.dir}/${libs.dir}" includes="**/*.jar" />
+ </path>
+
+ <javac srcdir="${root.dir}" destdir="${root.dir}" nowarn="yes" source="1.4" target="1.4" includeAntRuntime="no" debug="true" debuglevel="lines,vars,source" >
+ <classpath refid="libs.classpath" />
+ </javac>
+ </target>
+
+
+ <target name="jar" depends="compile" >
+ <jar destfile="${root.dir}/${dist.dir}/Azureus2.jar" basedir="${root.dir}" excludes="${dist.jar.excludes}" >
+ <manifest>
+ <attribute name="Main-Class" value="org.gudy.azureus2.ui.common.Main" />
+ <attribute name="Class-Path" value="Azureus2.jar apple-extensions.jar commons-cli.jar log4j.jar swt.jar swt-win32.jar swt-osx.jar" />
+ </manifest>
+ </jar>
+
+ <!-- <zip destfile="${dist.dir}/Azureus2_source.zip" basedir="." excludes="${dist.source.excludes}" /> -->
+
+ </target>
+
+
+ <target name="clean" >
+ <delete quiet="true" >
+ <fileset dir="${root.dir}/com" includes="**/*.class"/>
+ <fileset dir="${root.dir}/org" includes="**/*.class"/>
+ </delete>
+
+ <delete dir="${root.dir}/${dist.dir}" />
+ </target>
+
+</project>
+
diff --git a/net-p2p/vuze/files/vuze-4.1.0.0-pre b/net-p2p/vuze/files/vuze-4.1.0.0-pre
new file mode 100644
index 000000000000..505a7e704df3
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-4.1.0.0-pre
@@ -0,0 +1,75 @@
+#
+# Copyright (c) 2005, Petteri Räty <betelgeuse@gentoo.org>
+# Copyright (c) 2004, Jochen Maes <sejo@gentoo.org>
+# Copyright (c) 2004, Karl Trygve Kalleberg <karltk@gentoo.org>
+# Copyright (c) 2004, Gentoo Foundation
+#
+# Licensed under the GNU General Public License, v2
+
+# The Azureus config dir has moved
+olddotazudir="${HOME}/.Azureus"
+oldgentoocfg="${olddotazudir}/gentoo.config"
+dotazudir="${HOME}/.azureus"
+gentoocfg="${dotazudir}/gentoo.config"
+
+if [[ -f "${oldgentoocfg}" && -f "${gentoocfg}" ]]; then
+ cat > /dev/stderr <<END
+You have gentoo.config files in both
+${dotazudir} and
+${olddotazudir}
+${olddotazudir} is deprecated and you can delete this directory.
+
+END
+fi
+
+create_initial_config() {
+ if [[ ! -e "${dotazudir}" ]] ; then
+ mkdir "${dotazudir}"
+ echo "Creating ${dotazudir}"
+ fi
+
+ [[ ${UI} ]] && UI="swt"
+
+ echo "Creating ${gentoocfg}"
+
+ # Create the config file
+ cat > "${gentoocfg}" <<END
+# User Interface options:
+# console - console based
+# swt - swt (GUI) based
+UI="${UI}"
+
+# Options you want to pass to the java binary
+JAVA_OPTIONS=""
+END
+}
+
+if [[ -f "${gentoocfg}" ]] ; then
+ . "${gentoocfg}"
+ echo "using ${gentoocfg}"
+elif [[ -f "${oldgentoocfg}" ]]; then
+ . "${oldgentoocfg}"
+ echo "using ${oldgentoocfg}"
+else
+ create_initial_config
+fi
+
+if [[ -z "${UI}" && -n "${UI_OPTIONS}" ]]; then
+ echo '${UI_OPTIONS} is no longer supported. ${UI} should be used instead instead' > /dev/stderr
+ echo 'Unsetting ${UI_OPTIONS} and trying to migrate to ${UI}' > /dev/stderr
+ if [[ ${UI_OPTIONS} = *--ui=console* ]]; then
+ UI=console
+ elif [[ ${UI_OPTIONS} = *--ui=swt* ]]; then
+ UI=swt
+ else
+ echo 'Could not make $UI from $UI_OPTIONS' > /dev/stderr
+ fi
+ unset UI_OPTIONS
+fi
+
+if [[ -z "${UI}" ]]; then
+ echo '$UI not set defaulting to swt' > /dev/stderr
+ UI="swt"
+fi
+
+[[ ! -e "${dotazudir}" ]] && create_initial_config
diff --git a/net-p2p/vuze/files/vuze-5.3.0.0-disable-osx.patch b/net-p2p/vuze/files/vuze-5.3.0.0-disable-osx.patch
new file mode 100644
index 000000000000..070dae2d7562
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.3.0.0-disable-osx.patch
@@ -0,0 +1,60 @@
+--- a/org/gudy/azureus2/ui/swt/mainwindow/SWTThread.java
++++ b/org/gudy/azureus2/ui/swt/mainwindow/SWTThread.java
+@@ -229,57 +229,6 @@ public class SWTThread {
+ }
+ });
+
+- if (Constants.isOSX) {
+-
+- // On Cocoa, we get a Close trigger on display. Need to check if all
+- // platforms send this.
+- display.addListener(SWT.Close, new Listener() {
+- public void handleEvent(Event event) {
+- event.doit = UIFunctionsManager.getUIFunctions().dispose(false, false);
+- }
+- });
+-
+- String platform = SWT.getPlatform();
+- // use reflection here so we decouple generic SWT from OSX specific stuff to an extent
+-
+- if (platform.equals("carbon")) {
+- try {
+-
+- Class<?> ehancerClass = Class.forName("org.gudy.azureus2.ui.swt.osx.CarbonUIEnhancer");
+-
+- Constructor<?> constructor = ehancerClass.getConstructor(new Class[] {});
+-
+- constructor.newInstance(new Object[] {});
+-
+- } catch (Throwable e) {
+-
+- Debug.printStackTrace(e);
+- }
+- } else if (platform.equals("cocoa")) {
+- try {
+-
+- Class<?> ehancerClass = Class.forName("org.gudy.azureus2.ui.swt.osx.CocoaUIEnhancer");
+-
+- Method mGetInstance = ehancerClass.getMethod("getInstance", new Class[0]);
+- Object claObj = mGetInstance.invoke(null, new Object[0] );
+-
+- Method mHookAppMenu = claObj.getClass().getMethod("hookApplicationMenu", new Class[] {});
+- if (mHookAppMenu != null) {
+- mHookAppMenu.invoke(claObj, new Object[0]);
+- }
+-
+- Method mHookDocOpen = claObj.getClass().getMethod("hookDocumentOpen", new Class[] {});
+- if (mHookDocOpen != null) {
+- mHookDocOpen.invoke(claObj, new Object[0]);
+- }
+-
+- } catch (Throwable e) {
+-
+- Debug.printStackTrace(e);
+- }
+- }
+- }
+-
+ if (app != null) {
+ app.runInSWTThread();
+ runner = new Thread(new AERunnable() {
diff --git a/net-p2p/vuze/files/vuze-5.3.0.0-disable-shared-plugins.patch b/net-p2p/vuze/files/vuze-5.3.0.0-disable-shared-plugins.patch
new file mode 100644
index 000000000000..b459c8b38308
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.3.0.0-disable-shared-plugins.patch
@@ -0,0 +1,33 @@
+Disallow users to install into the shared plugin directory,
+which they won't have write access to. This doesn't disable
+shared plugins, just removes the installation UI.
+
+
+--- a/org/gudy/azureus2/ui/swt/pluginsinstaller/IPWListPanel.java
++++ b/org/gudy/azureus2/ui/swt/pluginsinstaller/IPWListPanel.java
+@@ -234,13 +234,13 @@ public class IPWListPanel extends AbstractWizardPanel<InstallPluginWizard> {
+ }
+
+ public boolean
+- isNextEnabled()
++ isFinishEnabled()
+ {
+ return(((InstallPluginWizard)wizard).getPluginList().size() > 0 );
+ }
+
+- public IWizardPanel<InstallPluginWizard> getNextPanel() {
+- return new IPWInstallModePanel(wizard,this);
++ public IWizardPanel<InstallPluginWizard> getFinishPanel() {
++ return new IPWFinishPanel(wizard,this);
+ }
+
+ public void updateList() {
+@@ -252,7 +252,7 @@ public class IPWListPanel extends AbstractWizardPanel<InstallPluginWizard> {
+ }
+ }
+ wizard.setPluginList( list );
+- wizard.setNextEnabled( isNextEnabled() );
++ wizard.setFinishEnabled( isFinishEnabled() );
+
+ }
+ }
diff --git a/net-p2p/vuze/files/vuze-5.3.0.0-disable-updaters.patch b/net-p2p/vuze/files/vuze-5.3.0.0-disable-updaters.patch
new file mode 100644
index 000000000000..1bf78cf1009d
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.3.0.0-disable-updaters.patch
@@ -0,0 +1,45 @@
+--- a/org/gudy/azureus2/pluginsimpl/local/PluginInitializer.java
++++ b/org/gudy/azureus2/pluginsimpl/local/PluginInitializer.java
+@@ -130,18 +130,6 @@ PluginInitializer
+ "Magnet URI Handler",
+ "true",
+ "false"},
+- { PluginManagerDefaults.PID_CORE_UPDATE_CHECKER,
+- "org.gudy.azureus2.update.CoreUpdateChecker",
+- "azbpcoreupdater",
+- "CoreUpdater",
+- "true",
+- "true"},
+- { PluginManagerDefaults.PID_CORE_PATCH_CHECKER,
+- "org.gudy.azureus2.update.CorePatchChecker",
+- "azbpcorepatcher",
+- "CorePatcher",
+- "true",
+- "true"},
+ { PluginManagerDefaults.PID_PLATFORM_CHECKER,
+ "org.gudy.azureus2.platform.PlatformManagerPluginDelegate",
+ "azplatform2",
+--- a/org/gudy/azureus2/pluginsimpl/update/PluginUpdatePlugin.java
++++ b/org/gudy/azureus2/pluginsimpl/update/PluginUpdatePlugin.java
+@@ -562,6 +562,10 @@ PluginUpdatePlugin
+ }
+ }
+
++ if ( pi.getPluginState().isShared()) {
++ continue;
++ }
++
+ String mand = pi.getPluginProperties().getProperty( "plugin.mandatory");
+
+ boolean pi_mandatory = mand != null && mand.trim().toLowerCase().equals("true");
+--- a/org/gudy/azureus2/ui/swt/updater2/SWTUpdateChecker.java
++++ b/org/gudy/azureus2/ui/swt/updater2/SWTUpdateChecker.java
+@@ -64,7 +64,7 @@ public class SWTUpdateChecker implements UpdatableComponent
+ public static void
+ initialize()
+ {
+- PluginInitializer.getDefaultInterface().getUpdateManager().registerUpdatableComponent(new SWTUpdateChecker(),true);
++// PluginInitializer.getDefaultInterface().getUpdateManager().registerUpdatableComponent(new SWTUpdateChecker(),true);
+ }
+
+ public SWTUpdateChecker() {
diff --git a/net-p2p/vuze/files/vuze-5.3.0.0-java5.patch b/net-p2p/vuze/files/vuze-5.3.0.0-java5.patch
new file mode 100644
index 000000000000..b6d2a59c43a2
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.3.0.0-java5.patch
@@ -0,0 +1,11 @@
+--- a/build.xml
++++ b/build.xml
+@@ -36,7 +36,7 @@ NOTE: You may need to set the ANT_OPTS="-Xmx512m" env prop in order to compil
+ <fileset dir="${root.dir}/${libs.dir}" includes="**/*.jar" />
+ </path>
+
+- <javac srcdir="${root.dir}" destdir="${root.dir}" nowarn="yes" source="1.4" target="1.4" includeAntRuntime="no" debug="true" debuglevel="lines,vars,source" >
++ <javac encoding="8859_1" srcdir="${root.dir}" destdir="${root.dir}" nowarn="yes" includeAntRuntime="no" debug="true" debuglevel="lines,vars,source" >
+ <classpath refid="libs.classpath" />
+ </javac>
+ </target>
diff --git a/net-p2p/vuze/files/vuze-5.3.0.0-remove-classpath.patch b/net-p2p/vuze/files/vuze-5.3.0.0-remove-classpath.patch
new file mode 100644
index 000000000000..290b902203a8
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.3.0.0-remove-classpath.patch
@@ -0,0 +1,10 @@
+--- a/build.xml
++++ b/build.xml
+@@ -46,7 +46,6 @@ NOTE: You may need to set the ANT_OPTS="-Xmx512m" env prop in order to compil
+ <jar destfile="${root.dir}/${dist.dir}/Azureus2.jar" basedir="${root.dir}" excludes="${dist.jar.excludes}" >
+ <manifest>
+ <attribute name="Main-Class" value="org.gudy.azureus2.ui.common.Main" />
+- <attribute name="Class-Path" value="Azureus2.jar apple-extensions.jar commons-cli.jar log4j.jar swt.jar swt-win32.jar swt-osx.jar" />
+ </manifest>
+ </jar>
+
diff --git a/net-p2p/vuze/files/vuze-5.3.0.0-unbundle-commons.patch b/net-p2p/vuze/files/vuze-5.3.0.0-unbundle-commons.patch
new file mode 100644
index 000000000000..deed0af9c7b2
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.3.0.0-unbundle-commons.patch
@@ -0,0 +1,110 @@
+--- a/com/aelitis/azureus/core/metasearch/Result.java
++++ b/com/aelitis/azureus/core/metasearch/Result.java
+@@ -27,7 +27,7 @@ import java.util.Locale;
+ import java.util.Map;
+ import java.util.Random;
+
+-import org.apache.commons.lang.Entities;
++import org.apache.commons.lang.StringEscapeUtils;
+ import org.gudy.azureus2.core3.util.DisplayFormatters;
+ import org.json.simple.JSONObject;
+
+@@ -372,6 +372,6 @@ public abstract class Result {
+ if ( input == null ){
+ return( null );
+ }
+- return( Entities.HTML40.unescape( input ));
++ return( StringEscapeUtils.unescapeHtml( input ));
+ }
+ }
+--- a/com/aelitis/azureus/core/metasearch/impl/web/WebResult.java
++++ b/com/aelitis/azureus/core/metasearch/impl/web/WebResult.java
+@@ -88,14 +88,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.unescapeHtml(name);
+ }
+ }
+
+ public void setCommentsFromHTML(String comments) {
+ if(comments != null) {
+ comments = removeHTMLTags(comments);
+- comments = Entities.HTML40.unescape(comments);
++ comments = StringEscapeUtils.unescapeHtml(comments);
+ comments = comments.replaceAll(",", "");
+ comments = comments.replaceAll(" ", "");
+ try{
+@@ -108,7 +108,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.unescapeHtml(category).trim();
+ /*int separator = this.category.indexOf(">");
+
+ if(separator != -1) {
+@@ -133,7 +133,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.unescapeHtml(nbPeers);
+ nbPeersS = nbPeersS.replaceAll(",", "");
+ nbPeersS = nbPeersS.replaceAll(" ", "");
+ try {
+@@ -148,7 +148,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.unescapeHtml(nbSeeds);
+ nbSeedsS = nbSeedsS.replaceAll(",", "");
+ nbSeedsS = nbSeedsS.replaceAll(" ", "");
+ try {
+@@ -163,7 +163,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.unescapeHtml(nbSuperSeeds);
+ nbSuperSeedsS = nbSuperSeedsS.replaceAll(",", "");
+ nbSuperSeedsS = nbSuperSeedsS.replaceAll(" ", "");
+ try {
+@@ -230,7 +230,7 @@ public class WebResult extends Result {
+ public void setPublishedDateFromHTML(String publishedDate) {
+ if(publishedDate != null) {
+ publishedDate = removeHTMLTags(publishedDate);
+- String publishedDateS = Entities.HTML40.unescape(publishedDate).replace((char)160,(char)32);
++ String publishedDateS = StringEscapeUtils.unescapeHtml(publishedDate).replace((char)160,(char)32);
+ this.publishedDate = dateParser.parseDate(publishedDateS);
+ }
+ }
+@@ -239,7 +239,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.unescapeHtml(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");
+@@ -285,7 +285,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.unescapeHtml(votes_str);
+ votes_str = votes_str.replaceAll(",", "");
+ votes_str = votes_str.replaceAll(" ", "");
+ try {
+@@ -299,7 +299,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.unescapeHtml(votes_str);
+ votes_str = votes_str.replaceAll(",", "");
+ votes_str = votes_str.replaceAll(" ", "");
+ try {
diff --git a/net-p2p/vuze/files/vuze-5.3.0.0-unbundle-json.patch b/net-p2p/vuze/files/vuze-5.3.0.0-unbundle-json.patch
new file mode 100644
index 000000000000..18d5ac7670ff
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.3.0.0-unbundle-json.patch
@@ -0,0 +1,42 @@
+--- a/com/aelitis/azureus/util/ImportExportUtils.java
++++ b/com/aelitis/azureus/util/ImportExportUtils.java
+@@ -360,7 +360,7 @@ public final class ImportExportUtils {
+
+ throws IOException
+ {
+- List l = new JSONArray(data.length);
++ List l = new JSONArray();
+
+ map.put( key, l );
+
+--- a/com/aelitis/azureus/util/JSONUtils.java
++++ b/com/aelitis/azureus/util/JSONUtils.java
+@@ -74,7 +74,7 @@ public class JSONUtils
+ * @since 3.0.1.5
+ */
+ public static JSONObject encodeToJSONObject(Map map) {
+- JSONObject newMap = new JSONObject((int)(map.size()*1.5));
++ JSONObject newMap = new JSONObject();
+
+ for (Map.Entry<String, Object> entry: ((Map<String,Object>)map).entrySet()){
+ String key = entry.getKey();
+@@ -105,9 +105,7 @@ public class JSONUtils
+ */
+ public static String encodeToJSON(Map map) {
+ JSONObject jobj = encodeToJSONObject(map);
+- StringBuilder sb = new StringBuilder(8192);
+- jobj.toString( sb );
+- return( sb.toString());
++ return( jobj.toString());
+ }
+
+ public static String encodeToJSON(Collection list) {
+@@ -138,7 +136,7 @@ public class JSONUtils
+ * @since 3.0.1.5
+ */
+ private static JSONArray encodeToJSONArray(Collection list) {
+- JSONArray newList = new JSONArray(list.size());
++ JSONArray newList = new JSONArray();
+
+ for ( Object value: list ){
+
diff --git a/net-p2p/vuze/files/vuze-5.6.0.0-commons-lang-entities.patch b/net-p2p/vuze/files/vuze-5.6.0.0-commons-lang-entities.patch
new file mode 100644
index 000000000000..c58d475995ee
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.6.0.0-commons-lang-entities.patch
@@ -0,0 +1,51 @@
+diff --git a/org/gudy/azureus2/core3/util/AddressUtils.java b/org/gudy/azureus2/core3/util/AddressUtils.java
+index 6691951..38f14ee 100644
+--- a/org/gudy/azureus2/core3/util/AddressUtils.java
++++ b/org/gudy/azureus2/core3/util/AddressUtils.java
+@@ -494,11 +494,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 a67a8a2..da4a46c 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.lang.StringEscapeUtils;
+ import org.gudy.azureus2.core3.util.AENetworkClassifier;
+ import org.gudy.azureus2.core3.util.Constants;
+ import org.gudy.azureus2.core3.util.Debug;
+@@ -656,17 +656,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.escapeHtml(ref);
+ }
+
+ char[] chars = replacement.toCharArray();
diff --git a/net-p2p/vuze/files/vuze-5.6.0.0-invalid-characters.patch b/net-p2p/vuze/files/vuze-5.6.0.0-invalid-characters.patch
new file mode 100644
index 000000000000..ee3b07047eca
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.6.0.0-invalid-characters.patch
@@ -0,0 +1,26 @@
+diff --git a/com/aelitis/azureus/core/metasearch/impl/DateParserRegex.java b/com/aelitis/azureus/core/metasearch/impl/DateParserRegex.java
+index 34e898c..2e5bcaa 100644
+--- a/com/aelitis/azureus/core/metasearch/impl/DateParserRegex.java
++++ b/com/aelitis/azureus/core/metasearch/impl/DateParserRegex.java
+@@ -49,17 +49,17 @@ public class DateParserRegex extends DateParser {
+
+ private static final String[] MONTHS_LIST = new String[] {
+ " january janvier enero januar",
+- " february fevrier f�vrier febrero februar",
+- " march mars marzo marz marz m�rz" ,
++ " february fevrier febrero februar",
++ " march mars marzo marz marz",
+ " april avril abril april ",
+ " may mai mayo mai",
+ " june juin junio juni",
+ " july juillet julio juli",
+- " august aout ao�t agosto august",
++ " august aout agosto august",
+ " september septembre septiembre september",
+ " october octobre octubre oktober",
+ " november novembre noviembre november",
+- " december decembre d�cembre diciembre dezember"};
++ " december decembre diciembre dezember"};
+
+ public DateParserRegex() {
+ this("GMT-7",true,null);
diff --git a/net-p2p/vuze/files/vuze-5.7.2.0-disable-osx.patch b/net-p2p/vuze/files/vuze-5.7.2.0-disable-osx.patch
new file mode 100644
index 000000000000..6ae2301e75e3
--- /dev/null
+++ b/net-p2p/vuze/files/vuze-5.7.2.0-disable-osx.patch
@@ -0,0 +1,71 @@
+diff --git a/org/gudy/azureus2/ui/swt/mainwindow/SWTThread.java b/org/gudy/azureus2/ui/swt/mainwindow/SWTThread.java
+index 256daff..68010b9 100644
+--- a/org/gudy/azureus2/ui/swt/mainwindow/SWTThread.java
++++ b/org/gudy/azureus2/ui/swt/mainwindow/SWTThread.java
+@@ -231,66 +231,6 @@ public class SWTThread {
+ }
+ });
+
+- if (Constants.isOSX) {
+-
+- // On Cocoa, we get a Close trigger on display. Need to check if all
+- // platforms send this.
+- display.addListener(SWT.Close, new Listener() {
+- public void handleEvent(Event event) {
+- UIFunctions uiFunctions = UIFunctionsManager.getUIFunctions();
+- if (uiFunctions != null) {
+- event.doit = uiFunctions.dispose(false, false);
+- }
+- }
+- });
+-
+- String platform = SWT.getPlatform();
+- // use reflection here so we decouple generic SWT from OSX specific stuff to an extent
+-
+- if (platform.equals("carbon")) {
+- try {
+-
+- Class<?> ehancerClass = Class.forName("org.gudy.azureus2.ui.swt.osx.CarbonUIEnhancer");
+-
+- Constructor<?> constructor = ehancerClass.getConstructor(new Class[] {});
+-
+- constructor.newInstance(new Object[] {});
+-
+- } catch (Throwable e) {
+-
+- Debug.printStackTrace(e);
+- }
+- } else if (platform.equals("cocoa")) {
+- try {
+-
+- Class<?> ehancerClass = Class.forName("org.gudy.azureus2.ui.swt.osx.CocoaUIEnhancer");
+-
+- Method mGetInstance = ehancerClass.getMethod("getInstance", new Class[0]);
+- Object claObj = mGetInstance.invoke(null, new Object[0] );
+-
+- Method mHookAppMenu = claObj.getClass().getMethod("hookApplicationMenu", new Class[] {});
+- if (mHookAppMenu != null) {
+- mHookAppMenu.invoke(claObj, new Object[0]);
+- }
+-
+- Method mHookDocOpen = claObj.getClass().getMethod("hookDocumentOpen", new Class[] {});
+- if (mHookDocOpen != null) {
+- mHookDocOpen.invoke(claObj, new Object[0]);
+- }
+-
+- Method mIsRetinaDisplay = claObj.getClass().getMethod("isRetinaDisplay");
+- if (mIsRetinaDisplay != null) {
+- isRetinaDisplay = (Boolean) mIsRetinaDisplay.invoke(claObj);
+- }
+-
+-
+- } catch (Throwable e) {
+-
+- Debug.printStackTrace(e);
+- }
+- }
+- }
+-
+ if (app != null) {
+ app.runInSWTThread();
+ runner = new Thread(new AERunnable() {
diff --git a/net-p2p/vuze/files/vuze.desktop b/net-p2p/vuze/files/vuze.desktop
new file mode 100644
index 000000000000..cee9fcae3824
--- /dev/null
+++ b/net-p2p/vuze/files/vuze.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Vuze
+Comment=Vuze BitTorrent Client
+Exec=vuze
+Icon=vuze
+Terminal=false
+Categories=Network;
+Type=Application
+MimeType=application/x-bittorrent;
diff --git a/net-p2p/vuze/metadata.xml b/net-p2p/vuze/metadata.xml
new file mode 100644
index 000000000000..5bde23a45a6b
--- /dev/null
+++ b/net-p2p/vuze/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>rhill@gentoo.org</email>
+ <name>Ryan Hill</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">azureus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-p2p/vuze/vuze-4.8.1.2-r1.ebuild b/net-p2p/vuze/vuze-4.8.1.2-r1.ebuild
new file mode 100644
index 000000000000..0c35e7b02cd3
--- /dev/null
+++ b/net-p2p/vuze/vuze-4.8.1.2-r1.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+JAVA_PKG_IUSE="source"
+
+inherit eutils fdo-mime java-pkg-2 java-ant-2 versionator
+
+MY_PV=$(replace_all_version_separators "")
+
+PATCHSET_VER="4.5.0.2"
+PATCHSET_DIR="${PN}-${PATCHSET_VER}-gentoo-patches"
+PATCHSET="${PATCHSET_DIR}.tar.bz2"
+SRC_TARBALL="Vuze_${MY_PV}_source.zip"
+
+DESCRIPTION="BitTorrent client in Java, formerly called Azureus"
+HOMEPAGE="http://www.vuze.com/"
+SRC_URI="mirror://sourceforge/azureus/${PN}/Vuze_${MY_PV}/${SRC_TARBALL}
+ mirror://gentoo/${PATCHSET}"
+LICENSE="GPL-2 BSD"
+
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+IUSE=""
+
+# bundles parts of commons-lang, but modified
+# bundles parts of http://www.programmers-friend.org/
+RDEPEND="
+ dev-java/json-simple:0
+ dev-java/bcprov:1.40
+ >=dev-java/commons-cli-1.0:1
+ >=dev-java/log4j-1.2.8:0
+ >=dev-java/swt-3.7.2-r1:3.7[cairo]
+ >=virtual/jre-1.5"
+
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-util/desktop-file-utils
+ >=virtual/jdk-1.5"
+
+PDEPEND="~net-p2p/vuze-coreplugins-${PV}"
+
+src_unpack() {
+ unpack ${PATCHSET}
+ mkdir "${S}" && cd "${S}" || die
+ unpack ${SRC_TARBALL}
+ # this is no longer needed
+ rm "${WORKDIR}"/${PATCHSET_DIR}/0006-Remove-the-use-of-windows-only-Tree2-widget.patch || die
+}
+
+java_prepare() {
+ # build.xml disappeared from 4.4.0.0 although it was there in 4.3.1.4
+ # hopefully that's just a packaging mistake
+ [[ -f build.xml ]] && die "upstream has build.xml again, don't overwrite"
+ cp "${FILESDIR}"/build.xml . || die "failed to copy build.xml"
+
+ EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/${PATCHSET_DIR}/
+
+ ### Removes OS X files and entries.
+ rm -rf "org/gudy/azureus2/platform/macosx" \
+ "org/gudy/azureus2/ui/swt/osx" || die
+
+ ### Removes Windows files.
+ rm -rf ./org/gudy/azureus2/ui/swt/win32/Win32UIEnhancer.java || die
+
+ ### Removes test files.
+ rm -rf org/gudy/azureus2/ui/console/multiuser/TestUserManager.java || die
+
+ ### Removes bouncycastle (we use our own bcprov).
+ rm -rf "org/bouncycastle" || die
+
+ ### Removes bundled json
+ rm -rf "org/json" || die
+
+ ### The Tree2 file does not compile against Linux SWT and is used only on Windows.
+ ### It's runtime-conditional use is thus patched out in the patchset.
+ rm -rf "org/eclipse" || die
+
+ mkdir -p build/libs || die
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+EANT_GENTOO_CLASSPATH="swt-3.7,bcprov-1.40,json-simple,log4j,commons-cli-1"
+
+src_compile() {
+ local mem
+ use amd64 && mem="320"
+ use x86 && mem="192"
+ 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 via ebuilds"
+
+ elog "Vuze has been formerly called Azureus and many references to the old name remain."
+ elog
+ elog "After running Vuze for the first time, configuration"
+ elog "options will be placed in '~/.azureus/gentoo.config'."
+ elog "If you need to change some startup options, you should"
+ elog "modify this file, rather than the startup script."
+ elog "Using this config file you can start the console UI."
+ elog
+
+ if ! has_version dev-java/swt:3.7[webkit]; then
+ elog
+ elog "Your dev-java/swt:3.7 was built without webkit support. Features such as Vuze HD Network will not work."
+ elog "Rebuild swt with USE=webkit (needs net-libs/webkit-gtk:2) to use these features."
+ fi
+
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/net-p2p/vuze/vuze-5.6.0.0.ebuild b/net-p2p/vuze/vuze-5.6.0.0.ebuild
new file mode 100644
index 000000000000..561de94cf7ae
--- /dev/null
+++ b/net-p2p/vuze/vuze-5.6.0.0.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+JAVA_PKG_IUSE="source"
+
+inherit eutils fdo-mime java-pkg-2 java-ant-2 versionator
+
+MY_PV=$(replace_all_version_separators "")
+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 ~ppc64 ~x86"
+IUSE=""
+
+# bundles parts of http://www.programmers-friend.org/
+# bundles bcprov - 1.37 required but not in the tree
+RDEPEND="
+ dev-java/commons-cli:1
+ dev-java/commons-lang:2.1
+ dev-java/json-simple:0
+ dev-java/log4j:0
+ dev-java/swt:3.8[cairo]
+ >=virtual/jre-1.6:*"
+
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-util/desktop-file-utils
+ >=virtual/jdk-1.6:*"
+
+PDEPEND="~net-p2p/vuze-coreplugins-${PV}"
+
+pkg_pretend() {
+ if ! has_version dev-java/swt:3.8[webkit]; then
+ echo
+ ewarn "dev-java/swt:3.8 was built without webkit support."
+ ewarn "Web features such as Vuze HD Network will be disabled."
+ fi
+}
+
+src_unpack() {
+ mkdir -p "${S}" && cd "${S}"
+ unpack ${A}
+
+ # build.xml disappeared from 4.4.0.0 although it was there in 4.3.1.4
+ [[ -f build.xml ]] && die "upstream has build.xml again, don't overwrite"
+ cp "${FILESDIR}"/build.xml "${S}" || die "failed to copy build.xml"
+}
+
+java_prepare() {
+ # upstream likes randomly changing a subset of files to CRLF every release
+ edos2unix $(find "${S}" -type f -name "*.java")
+
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-java5.patch
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-remove-classpath.patch
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-disable-shared-plugins.patch
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-disable-osx.patch
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-disable-updaters.patch
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-unbundle-commons.patch
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-unbundle-json.patch
+ epatch "${FILESDIR}"/${PN}-5.6.0.0-commons-lang-entities.patch
+ epatch "${FILESDIR}"/${PN}-5.6.0.0-invalid-characters.patch
+# epatch "${FILESDIR}"/${P}-use-jdk-cipher-only.patch # bcprov
+
+ # OSX / Windows
+ rm "${S}"/org/gudy/azureus2/ui/swt/osx/CarbonUIEnhancer.java
+ rm "${S}"/org/gudy/azureus2/ui/swt/osx/Start.java
+ rm "${S}"/org/gudy/azureus2/ui/swt/win32/Win32UIEnhancer.java
+
+ # 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-lang-2.1"
+
+src_compile() {
+ local mem
+ use amd64 && mem="320"
+ use x86 && mem="192"
+ 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
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/net-p2p/vuze/vuze-5.7.2.0.ebuild b/net-p2p/vuze/vuze-5.7.2.0.ebuild
new file mode 100644
index 000000000000..65d8f1b6371f
--- /dev/null
+++ b/net-p2p/vuze/vuze-5.7.2.0.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+JAVA_PKG_IUSE="source"
+
+inherit eutils fdo-mime java-pkg-2 java-ant-2 versionator
+
+MY_PV=$(replace_all_version_separators "")
+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 ~ppc64 ~x86"
+IUSE=""
+
+# bundles parts of http://www.programmers-friend.org/
+# bundles bcprov - 1.37 required but not in the tree
+RDEPEND="
+ dev-java/commons-cli:1
+ dev-java/commons-lang:2.1
+ dev-java/json-simple:0
+ dev-java/log4j:0
+ dev-java/swt:3.8[cairo]
+ >=virtual/jre-1.6:*"
+
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-util/desktop-file-utils
+ >=virtual/jdk-1.6:*"
+
+PDEPEND="~net-p2p/vuze-coreplugins-${PV}"
+
+pkg_pretend() {
+ if ! has_version dev-java/swt:3.8[webkit]; then
+ echo
+ ewarn "dev-java/swt:3.8 was built without webkit support."
+ ewarn "Web features such as Vuze HD Network will be disabled."
+ fi
+}
+
+src_unpack() {
+ mkdir -p "${S}" && cd "${S}"
+ unpack ${A}
+
+ # build.xml disappeared from 4.4.0.0 although it was there in 4.3.1.4
+ [[ -f build.xml ]] && die "upstream has build.xml again, don't overwrite"
+ cp "${FILESDIR}"/build.xml "${S}" || die "failed to copy build.xml"
+}
+
+java_prepare() {
+ # upstream likes randomly changing a subset of files to CRLF every release
+ edos2unix $(find "${S}" -type f -name "*.java")
+
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-java5.patch
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-remove-classpath.patch
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-disable-shared-plugins.patch
+ epatch "${FILESDIR}"/${PN}-5.7.2.0-disable-osx.patch
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-disable-updaters.patch
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-unbundle-commons.patch
+ epatch "${FILESDIR}"/${PN}-5.3.0.0-unbundle-json.patch
+ epatch "${FILESDIR}"/${PN}-5.6.0.0-commons-lang-entities.patch
+ epatch "${FILESDIR}"/${PN}-5.6.0.0-invalid-characters.patch
+# epatch "${FILESDIR}"/${P}-use-jdk-cipher-only.patch # bcprov
+
+ # OSX / Windows
+ rm "${S}"/org/gudy/azureus2/ui/swt/osx/CarbonUIEnhancer.java
+ rm "${S}"/org/gudy/azureus2/ui/swt/osx/Start.java
+ rm "${S}"/org/gudy/azureus2/ui/swt/win32/Win32UIEnhancer.java
+
+ # 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-lang-2.1"
+
+src_compile() {
+ local mem
+ use amd64 && mem="320"
+ use x86 && mem="192"
+ 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
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}