summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/vuze')
-rw-r--r--net-p2p/vuze/ChangeLog9
-rw-r--r--net-p2p/vuze/files/patches-4.0.0.4/remove-osx-platform.diff24
-rw-r--r--net-p2p/vuze/files/patches-4.0.0.4/use-jdk-cipher-only.diff41
-rw-r--r--net-p2p/vuze/vuze-4.0.0.4.ebuild166
4 files changed, 239 insertions, 1 deletions
diff --git a/net-p2p/vuze/ChangeLog b/net-p2p/vuze/ChangeLog
index 5ef57ca1cbc1..4b2a660c094b 100644
--- a/net-p2p/vuze/ChangeLog
+++ b/net-p2p/vuze/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-p2p/azureus
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/vuze/ChangeLog,v 1.1 2009/02/06 11:46:35 caster Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/vuze/ChangeLog,v 1.2 2009/02/06 11:56:14 caster Exp $
+
+*vuze-4.0.0.4 (06 Feb 2009)
+
+ 06 Feb 2009; Vlastimil Babka <caster@gentoo.org>
+ +files/patches-4.0.0.4/remove-osx-platform.diff,
+ +files/patches-4.0.0.4/use-jdk-cipher-only.diff, +vuze-4.0.0.4.ebuild:
+ Restore the stable version.
*vuze-4.1.0.0 (06 Feb 2009)
*vuze-3.0.4.2-r1 (06 Feb 2009)
diff --git a/net-p2p/vuze/files/patches-4.0.0.4/remove-osx-platform.diff b/net-p2p/vuze/files/patches-4.0.0.4/remove-osx-platform.diff
new file mode 100644
index 000000000000..9821573e4e55
--- /dev/null
+++ b/net-p2p/vuze/files/patches-4.0.0.4/remove-osx-platform.diff
@@ -0,0 +1,24 @@
+--- org/gudy/azureus2/platform/PlatformManagerFactory.java.orig 2008-07-06 22:58:18.000000000 +0200
++++ org/gudy/azureus2/platform/PlatformManagerFactory.java 2008-07-06 22:59:21.000000000 +0200
+@@ -50,10 +50,6 @@
+
+ platform_manager = org.gudy.azureus2.platform.win32.PlatformManagerImpl.getSingleton();
+
+- }else if( getPlatformType() == PlatformManager.PT_MACOSX ){
+-
+- platform_manager = org.gudy.azureus2.platform.macosx.PlatformManagerImpl.getSingleton();
+-
+ }else if( getPlatformType() == PlatformManager.PT_UNIX ){
+
+ platform_manager = org.gudy.azureus2.platform.unix.PlatformManagerImpl.getSingleton();
+@@ -89,10 +85,6 @@
+
+ return (PlatformManager.PT_WINDOWS );
+
+- } else if (Constants.isOSX) {
+-
+- return (PlatformManager.PT_MACOSX );
+-
+ } else if (Constants.isUnix) {
+
+ return (PlatformManager.PT_UNIX );
diff --git a/net-p2p/vuze/files/patches-4.0.0.4/use-jdk-cipher-only.diff b/net-p2p/vuze/files/patches-4.0.0.4/use-jdk-cipher-only.diff
new file mode 100644
index 000000000000..cc5055cbd770
--- /dev/null
+++ b/net-p2p/vuze/files/patches-4.0.0.4/use-jdk-cipher-only.diff
@@ -0,0 +1,41 @@
+--- com/aelitis/azureus/core/clientmessageservice/secure/impl/SecureMessageServiceClientHelper.java.orig 2008-07-06 22:54:36.000000000 +0200
++++ com/aelitis/azureus/core/clientmessageservice/secure/impl/SecureMessageServiceClientHelper.java 2008-07-06 22:56:29.000000000 +0200
+@@ -36,7 +36,6 @@
+ import org.bouncycastle.crypto.encodings.PKCS1Encoding;
+ import org.bouncycastle.crypto.engines.RSAEngine;
+ import org.bouncycastle.crypto.params.ParametersWithRandom;
+-import org.bouncycastle.jce.provider.RSAUtil;
+ import org.gudy.azureus2.core3.util.Debug;
+ import org.gudy.azureus2.plugins.utils.StaticUtilities;
+
+@@ -82,30 +81,12 @@
+
+ byte[] secret_bytes = session_key.getEncoded();
+
+- try{
+ Cipher rsa_cipher = Cipher.getInstance( "RSA" );
+
+ rsa_cipher.init( Cipher.ENCRYPT_MODE, public_key );
+
+ encryped_session_key = rsa_cipher.doFinal( secret_bytes );
+
+- }catch( Throwable e ){
+-
+- // fallback to the BC implementation for jdk1.4.2 as JCE RSA not available
+-
+- RSAEngine eng = new RSAEngine();
+-
+- PKCS1Encoding padded_eng = new PKCS1Encoding( eng );
+-
+- CipherParameters param = RSAUtil.generatePublicKeyParameter(public_key);
+-
+- param = new ParametersWithRandom(param, new SecureRandom());
+-
+- padded_eng.init( true, param );
+-
+- encryped_session_key = padded_eng.processBlock(secret_bytes, 0, secret_bytes.length);
+- }
+-
+ }catch( Throwable e ){
+
+ e.printStackTrace();
diff --git a/net-p2p/vuze/vuze-4.0.0.4.ebuild b/net-p2p/vuze/vuze-4.0.0.4.ebuild
new file mode 100644
index 000000000000..00ba727d8822
--- /dev/null
+++ b/net-p2p/vuze/vuze-4.0.0.4.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/vuze/vuze-4.0.0.4.ebuild,v 1.1 2009/02/06 11:56:14 caster Exp $
+
+EAPI=2
+
+JAVA_PKG_IUSE="source"
+
+inherit eutils fdo-mime java-pkg-2 java-ant-2
+
+MAIN_DIST=Vuze_${PV}_source.zip
+PLUGINS_N=azplugins
+RATING_N=azrating
+UPDATER_N=azupdater
+UPNPAV_N=azupnpav
+PLUGINS_V=2.1.6
+RATING_V=1.3.1
+UPDATER_V=1.8.8
+UPNPAV_V=0.2.2
+PLUGINS_DIST=${PLUGINS_N}_${PLUGINS_V}.jar
+RATING_DIST=${RATING_N}_${RATING_V}.jar
+UPDATER_DIST=${UPDATER_N}_${UPDATER_V}.zip
+UPNPAV_DIST=${UPNPAV_N}_${UPNPAV_V}.zip
+
+ALLPLUGINS_URL="http://azureus.sourceforge.net/plugins"
+
+DESCRIPTION="BitTorrent client in Java, now called Vuze"
+HOMEPAGE="http://www.vuze.com/"
+SRC_URI="mirror://sourceforge/azureus/${MAIN_DIST}
+ ${ALLPLUGINS_URL}/${PLUGINS_DIST}
+ ${ALLPLUGINS_URL}/${RATING_DIST}
+ ${ALLPLUGINS_URL}/${UPDATER_DIST}
+ ${ALLPLUGINS_URL}/${UPNPAV_DIST}"
+LICENSE="GPL-2 BSD"
+
+SLOT="0"
+KEYWORDS="amd64 ~ppc 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.35:0
+ >=dev-java/commons-cli-1.0:1
+ >=dev-java/log4j-1.2.8:0
+ >=dev-java/swt-3.4:3.4[cairo,xulrunner]
+ !net-p2p/azureus-bin
+ >=virtual/jre-1.5"
+
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-util/desktop-file-utils
+ >=virtual/jdk-1.5"
+
+JAVA_PKG_FILTER_COMPILER="jikes"
+
+src_unpack() {
+ mkdir "${S}" && cd "${S}" || die
+ unpack ${MAIN_DIST}
+
+ cd "${WORKDIR}"
+ mkdir -p plugins/{${PLUGINS_N},${RATING_N},${UPDATER_N},${UPNPAV_N}} || die
+ cp "${DISTDIR}/${PLUGINS_DIST}" plugins/${PLUGINS_N} || die
+ cp "${DISTDIR}/${RATING_DIST}" plugins/${RATING_N} || die
+ cd "${WORKDIR}/plugins/${UPDATER_N}" && unpack ${UPDATER_DIST} || die
+ cd "${WORKDIR}/plugins/${UPNPAV_N}" && unpack ${UPNPAV_DIST} || die
+
+ cd "${S}"
+ epatch "${FILESDIR}/patches-4.0.0.4/use-jdk-cipher-only.diff"
+ epatch "${FILESDIR}/patches-4.0.0.4/remove-osx-platform.diff"
+
+ ### Removes OS X files and entries.
+ rm -rv "org/gudy/azureus2/platform/macosx" \
+ "org/gudy/azureus2/ui/swt/osx" || die
+
+ ### Removes Windows files.
+ rm -v ./org/gudy/azureus2/ui/swt/win32/Win32UIEnhancer.java || die
+
+ ### Removes test files.
+ rm -rv "org/gudy/azureus2/ui/swt/test" \
+ org/gudy/azureus2/ui/console/multiuser/TestUserManager.java || die
+
+ ### Removes bouncycastle (we use our own bcprov).
+ rm -rv "org/bouncycastle" || die
+
+ ### Removes bundled json
+ rm -rv "org/json" || die
+
+ mkdir -p build/libs || die
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+EANT_GENTOO_CLASSPATH="swt-3.4,bcprov,json-simple,log4j,commons-cli-1"
+
+src_compile() {
+ local mem
+ use amd64 && mem="256"
+ use x86 && mem="192"
+ use ppc && mem="192"
+ use ppc64 && mem="256"
+ export ANT_OPTS="-Xmx${mem}m"
+ java-pkg-2_src_compile
+}
+
+src_install() {
+ java-pkg_dojar dist/*.jar || die "dojar failed"
+ dodoc ChangeLog.txt || die
+
+ 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}'
+
+ insinto /usr/share/${PN}/
+ doins -r "${WORKDIR}/plugins"
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=204132
+ java-pkg_register-environment-variable MOZ_PLUGIN_PATH /usr/lib/nsbrowser/plugins
+
+ doicon "${FILESDIR}/${PN}.png"
+ domenu "${FILESDIR}/${PN}.desktop"
+
+ use source && java-pkg_dosrc "${S}"/{com,edu,org}
+}
+
+pkg_postinst() {
+ ###
+ ### @Todo We should probably deactivate auto-update it by default,
+ ### or even remove the option - bug #218959
+ ###
+ ewarn "Running Azureus as root is not supported and may result in untracked"
+ ewarn "updates to shared components and then collisions on updates via portage"
+
+ elog "Since version 4.0.0.2, plugins that are normally bundled by upstream"
+ elog "(and auto-installed in each user's ~/.azureus if not bundled)"
+ elog "are now installed into shared plugin directory by the ebuild."
+ elog "Users are recommended to delete the following plugin copies:"
+ elog "~/.azureus/plugins/{${PLUGINS_N},${RATING_N},${UPDATER_N},${UPNPAV_N}}"
+ elog
+ elog "Azureus may warn that shared plugin dir is not writable, that's fine."
+ elog "It may also attempt to update some these plugins and fail to write."
+ elog "In that case look for or fill a bump bug in bugs.gentoo.org"
+ elog
+ elog "We plan to disable updater for shared components and plugins."
+ elog "See progress in bug #218959, patches welcome."
+ elog
+ elog "After running azureus 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
+ elog "To switch from classic UI to Vuze use"
+ elog "1: Tools > Options > Interface > Start > Display Vuze UI Chooser"
+ elog "2: Toolbar (right-hand side)"
+ elog
+ elog "If you have problems starting Azureus, try starting it"
+ elog "from the command line to look at debugging output."
+
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}