aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralepulver <alepulver@FreeBSD.org>2007-05-04 06:10:43 +0800
committeralepulver <alepulver@FreeBSD.org>2007-05-04 06:10:43 +0800
commit381c302648341ac1cffac463220e07892f62e978 (patch)
treea39172f47ae9f7d64816d2e432f70e9464285f5b
parent103741a9a44ea124ae396b977359d3a2d98ea10f (diff)
downloadfreebsd-ports-gnome-381c302648341ac1cffac463220e07892f62e978.tar.gz
freebsd-ports-gnome-381c302648341ac1cffac463220e07892f62e978.tar.zst
freebsd-ports-gnome-381c302648341ac1cffac463220e07892f62e978.zip
BitTyrant is a new, protocol compatible BitTorrent client that is optimized
for fast download performance. BitTyrant is: * Fast: During evaluation testing on more than 100 real BitTorrent swarms, BitTyrant provided an average 70% download performance increase when compared to the existing Azureus 2.5 implementation, with some downloads finishing more than three times as quickly. * Fair: BitTorrent was designed with incentives in mind: if a user is downloading at 30 KBps, they should upload at 30 KBps. However, due to the unique workload properties of many real-world swarms, this is not always enforced. BitTyrant is designed to make efficient use of your scarce upload bandwidth, rewarding those users whose upload allocations are fair and only allocating excess capacity to other users. * Familiar: BitTyrant is based on modifications to Azureus 2.5, currently the most popular BitTorrent client. All of our changes are under the hood. You'll find the GUI identical to Azureus, with optional additions to display statistics relevant to BitTyrant's operation.
-rw-r--r--net-p2p/Makefile1
-rw-r--r--net-p2p/bittyrant/Makefile70
-rw-r--r--net-p2p/bittyrant/distinfo3
-rw-r--r--net-p2p/bittyrant/files/bittyrant.in11
-rw-r--r--net-p2p/bittyrant/files/patch-build.xml13
-rw-r--r--net-p2p/bittyrant/files/patch-org__gudy__azureus2__platform__macosx__access__jnilib__OSXAccess.java20
-rw-r--r--net-p2p/bittyrant/files/patch-org__gudy__azureus2__ui__swt__test__PrintTransferTypes.java29
-rw-r--r--net-p2p/bittyrant/pkg-descr19
8 files changed, 166 insertions, 0 deletions
diff --git a/net-p2p/Makefile b/net-p2p/Makefile
index 420ce39a568c..aa584308e995 100644
--- a/net-p2p/Makefile
+++ b/net-p2p/Makefile
@@ -8,6 +8,7 @@
SUBDIR += apollon
SUBDIR += azureus
SUBDIR += bitflu
+ SUBDIR += bittyrant
SUBDIR += bnbt
SUBDIR += btpeer
SUBDIR += btqueue
diff --git a/net-p2p/bittyrant/Makefile b/net-p2p/bittyrant/Makefile
new file mode 100644
index 000000000000..aa0c5c7467d0
--- /dev/null
+++ b/net-p2p/bittyrant/Makefile
@@ -0,0 +1,70 @@
+# New ports collection makefile for: bittyrant
+# Date created: 2007-04-19
+# Whom: alepulver
+#
+# $FreeBSD$
+#
+
+PORTNAME= bittyrant
+PORTVERSION= 1.1
+CATEGORIES= net-p2p java
+MASTER_SITES= http://bittyrant.cs.washington.edu/dist_010807/
+DISTNAME= BitTyrant-src
+
+MAINTAINER= alepulver@FreeBSD.org
+COMMENT= Java BitTorrent client optimized for fast download performance
+
+BUILD_DEPENDS= ${JAVALIBDIR}/log4j.jar:${PORTSDIR}/devel/log4j \
+ ${JAVALIBDIR}/commons-cli.jar:${PORTSDIR}/java/jakarta-commons-cli \
+ ${JAVALIBDIR}/junit.jar:${PORTSDIR}/java/junit \
+ ${JAVALIBDIR}/${SWT}.jar:${PORTSDIR}/x11-toolkits/${SWT}
+RUN_DEPENDS= ${JAVALIBDIR}/${SWT}.jar:${PORTSDIR}/x11-toolkits/${SWT}
+
+USE_ZIP= yes
+USE_DOS2UNIX= build.xml \
+ org/gudy/azureus2/ui/swt/test/PrintTransferTypes.java \
+ org/gudy/azureus2/platform/macosx/access/jnilib/OSXAccess.java
+USE_JAVA= yes
+JAVA_VERSION= 1.5+
+JAVA_OS= native
+USE_ANT= yes
+WRKSRC= ${WRKDIR}/BitTyrant
+
+OPTIONS= SWTDEVEL "Use SWT Development port" on
+
+# build classpath from BUILD_DEPENDS
+MAKE_ENV= LANG=C
+CLASSPATH_JARS= ${BUILD_DEPENDS:C/:.+$//:M*.jar}
+
+PLIST_FILES= bin/${PORTNAME} \
+ %%JAVAJARDIR%%/${PORTNAME}.jar
+
+SUB_FILES= ${PORTNAME}
+SUB_LIST= JARFILE="${PORTNAME}.jar" \
+ JAVA="${LOCALBASE}/bin/java" \
+ LIBDIR="${LOCALBASE}/lib" \
+ SWTJAR="${JAVAJARDIR}/${SWT}.jar"
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_SWTDEVEL)
+SWT= swt-devel
+.else
+SWT= swt
+.endif
+
+CLASSPATH=.
+.for jar in ${CLASSPATH_JARS}
+CLASSPATH:=${CLASSPATH}:${jar}
+.endfor
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|refid="libs.classpath"|path="${CLASSPATH}"|' \
+ ${WRKSRC}/build.xml
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin
+ ${INSTALL_DATA} ${WRKSRC}/dist/Azureus2.jar \
+ ${JAVAJARDIR}/${PORTNAME}.jar
+
+.include <bsd.port.post.mk>
diff --git a/net-p2p/bittyrant/distinfo b/net-p2p/bittyrant/distinfo
new file mode 100644
index 000000000000..3d00aafa8b88
--- /dev/null
+++ b/net-p2p/bittyrant/distinfo
@@ -0,0 +1,3 @@
+MD5 (BitTyrant-src.zip) = c1352000138503c27adf64172bfede15
+SHA256 (BitTyrant-src.zip) = 450253ff20402fdc17a42819d8aa70b7bf1d1aa2af9709301c3818565284b426
+SIZE (BitTyrant-src.zip) = 101031418
diff --git a/net-p2p/bittyrant/files/bittyrant.in b/net-p2p/bittyrant/files/bittyrant.in
new file mode 100644
index 000000000000..bdb81a4dc03d
--- /dev/null
+++ b/net-p2p/bittyrant/files/bittyrant.in
@@ -0,0 +1,11 @@
+#!/bin/sh
+#
+# $FreeBSD$
+
+export JAVA_VERSION="%%JAVA_VERSION%%"
+export JAVA_OS="%%JAVA_OS%%"
+
+LIB_PATH="%%LIBDIR%%"
+CLASS_PATH="%%JAVAJARDIR%%/%%JARFILE%%:%%SWTJAR%%"
+
+exec "%%JAVA%%" -cp "${CLASS_PATH}" "-Djava.library.path=${LIB_PATH}" "-Dos.name=FreeBSD" "-Dazureus.config.path=${HOME}/.BitTyrant" "-Duser.dir=${HOME}/.BitTyrant" org.gudy.azureus2.ui.swt.Main "${@}"
diff --git a/net-p2p/bittyrant/files/patch-build.xml b/net-p2p/bittyrant/files/patch-build.xml
new file mode 100644
index 000000000000..1ca3632e3b17
--- /dev/null
+++ b/net-p2p/bittyrant/files/patch-build.xml
@@ -0,0 +1,13 @@
+--- build.xml.orig Thu Jan 4 15:51:46 2007
++++ build.xml Thu May 3 00:29:25 2007
+@@ -32,6 +32,10 @@
+ <!-- increasing the memory for javac avoids heap space problems when compiling so many source files -->
+ <!--- uses java1.5 -->
+ <javac srcdir="${root.dir}" destdir="${root.dir}" nowarn="yes" source="1.5" target="1.5" includeAntRuntime="no" debug="true" debuglevel="lines,vars,source" fork="yes" memoryMaximumSize="256m">
++ <include name="**/*.java"/>
++ <exclude name="**/Win32*.java"/>
++ <exclude name="**/swt/osx/**"/>
++ <exclude name="**/macosx/**"/>
+ <classpath refid="libs.classpath" />
+ </javac>
+ </target>
diff --git a/net-p2p/bittyrant/files/patch-org__gudy__azureus2__platform__macosx__access__jnilib__OSXAccess.java b/net-p2p/bittyrant/files/patch-org__gudy__azureus2__platform__macosx__access__jnilib__OSXAccess.java
new file mode 100644
index 000000000000..0c6659f8b515
--- /dev/null
+++ b/net-p2p/bittyrant/files/patch-org__gudy__azureus2__platform__macosx__access__jnilib__OSXAccess.java
@@ -0,0 +1,20 @@
+--- ./org/gudy/azureus2/platform/macosx/access/jnilib/OSXAccess.java.orig Fri Nov 3 16:47:18 2006
++++ ./org/gudy/azureus2/platform/macosx/access/jnilib/OSXAccess.java Thu May 3 00:24:10 2007
+@@ -19,7 +19,7 @@
+ */
+ package org.gudy.azureus2.platform.macosx.access.jnilib;
+
+-import org.eclipse.swt.internal.carbon.AEDesc;
++//import org.eclipse.swt.internal.carbon.AEDesc;
+
+ import org.gudy.azureus2.core3.util.Debug;
+
+@@ -42,7 +42,7 @@
+ }
+ }
+
+- public static final native int AEGetParamDesc(int theAppleEvent, int theAEKeyword, int desiredType, AEDesc result);
++// public static final native int AEGetParamDesc(int theAppleEvent, int theAEKeyword, int desiredType, AEDesc result);
+
+ public static final native String getVersion();
+
diff --git a/net-p2p/bittyrant/files/patch-org__gudy__azureus2__ui__swt__test__PrintTransferTypes.java b/net-p2p/bittyrant/files/patch-org__gudy__azureus2__ui__swt__test__PrintTransferTypes.java
new file mode 100644
index 000000000000..b39e3fb53b64
--- /dev/null
+++ b/net-p2p/bittyrant/files/patch-org__gudy__azureus2__ui__swt__test__PrintTransferTypes.java
@@ -0,0 +1,29 @@
+--- ./org/gudy/azureus2/ui/swt/test/PrintTransferTypes.java.orig Fri Nov 3 16:46:40 2006
++++ ./org/gudy/azureus2/ui/swt/test/PrintTransferTypes.java Thu May 3 00:25:01 2007
+@@ -40,7 +40,7 @@
+
+ TransferData[] data = event.dataTypes;
+ for (int i = 0; i < data.length; i++) {
+- int id = data[i].type;
++ long id = data[i].type;
+ String name = getNameFromId(id);
+ System.out.println("Data type is " + id + " " + name);
+ }
+@@ -96,8 +96,8 @@
+ protected int[] getTypeIds() {
+ return ids;
+ }
+- static String getNameFromId(int id) {
+- switch (id) {
++ static String getNameFromId(long id) {
++ switch ((int)id) {
+ case 1 :
+ return "CF_TEXT";
+ case 8 :
+@@ -144,4 +144,4 @@
+ }
+ return "*UNKNOWN_TYPE*";
+ }
+-}
+\ No newline at end of file
++}
diff --git a/net-p2p/bittyrant/pkg-descr b/net-p2p/bittyrant/pkg-descr
new file mode 100644
index 000000000000..e9b92a46aa95
--- /dev/null
+++ b/net-p2p/bittyrant/pkg-descr
@@ -0,0 +1,19 @@
+BitTyrant is a new, protocol compatible BitTorrent client that is optimized
+for fast download performance. BitTyrant is:
+
+* Fast: During evaluation testing on more than 100 real BitTorrent swarms,
+ BitTyrant provided an average 70% download performance increase when
+ compared to the existing Azureus 2.5 implementation, with some downloads
+ finishing more than three times as quickly.
+
+* Fair: BitTorrent was designed with incentives in mind: if a user is
+ downloading at 30 KBps, they should upload at 30 KBps. However, due to the
+ unique workload properties of many real-world swarms, this is not always
+ enforced. BitTyrant is designed to make efficient use of your scarce upload
+ bandwidth, rewarding those users whose upload allocations are fair and only
+ allocating excess capacity to other users.
+
+* Familiar: BitTyrant is based on modifications to Azureus 2.5, currently the
+ most popular BitTorrent client. All of our changes are under the hood.
+ You'll find the GUI identical to Azureus, with optional additions to display
+ statistics relevant to BitTyrant's operation.