This is a rough update for net/BitTorrent to 4.1.3. This might fix some problems. In my very limited testing so far, it didn't fall into some infinite loop as 4.1.1 sometimes does (but then this happens very irregularly for me), and kashmir didn't throw up any background errors. It also fixes the torrent info option in the GUI client.
The internationalization support has problems. Our gettext tools are too old for the build script, so I pre-built the message catalog on a FreeBSD box. Alas, the bt* clients also fail to actually read the translated message catalogs, because they try the relative path locale/[...] rather than $PREFIX/share/locale/[...]. This seems to be a generic problem in the Unix client--which makes me wonder whether BT is developped on MS Windows. Oh well. Also, when run from a path such that the translations are found, they are unconditionally spit out in UTF-8. I thought gettext did transcoding to the specified LANG/LC_* charset, hmm. Help is appreciated, as well as testing with python 2.3 and 2.4 and in particular on platforms other than i386. (I don't even know Python, I just find BitTorrent... useful.) Index: Makefile =================================================================== RCS file: /cvs/ports/net/BitTorrent/Makefile,v retrieving revision 1.11 diff -u -r1.11 Makefile --- Makefile 20 Jun 2005 21:19:18 -0000 1.11 +++ Makefile 20 Jul 2005 21:56:56 -0000 @@ -3,7 +3,7 @@ COMMENT= "cooperative file distribution system implemented in Python" COMMENT-gui= "graphical interface components for BitTorrent" -VERSION= 4.1.1 +VERSION= 4.1.3 DISTNAME= BitTorrent-${VERSION} PKGNAME-gui= BitTorrent-gui-${VERSION} CATEGORIES= net @@ -18,7 +18,11 @@ PERMIT_PACKAGE_CDROM= Yes PERMIT_PACKAGE_FTP= Yes -MASTER_SITES= ${HOMEPAGE}dl/ +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=bittorrent/} +MASTER_SITES0= http://grappa.unix-ag.uni-kl.de/~naddy/ +DISTFILES= ${DISTNAME}.tar.gz +# pre-built file because our gettext tools are too old +DISTFILES+= bt413-messages.pot:0 MODULES= lang/python @@ -31,6 +35,8 @@ .endif NO_REGRESS= Yes + +EXTRACT_CASES= *.pot) cp ${FULLDISTDIR}/$$archive ${WRKDIST}/messages.pot ;; post-configure: @perl -pi -e 's,/usr/bin/env python,${MODPY_BIN},g' ${WRKBUILD}/bt*.py Index: distinfo =================================================================== RCS file: /cvs/ports/net/BitTorrent/distinfo,v retrieving revision 1.6 diff -u -r1.6 distinfo --- distinfo 1 Jun 2005 16:02:31 -0000 1.6 +++ distinfo 20 Jul 2005 21:56:56 -0000 @@ -1,4 +1,8 @@ -MD5 (BitTorrent-4.1.1.tar.gz) = 57381176882184ad8f539c473ad9bce5 -RMD160 (BitTorrent-4.1.1.tar.gz) = 2d068ba5004b56a0f0f8cdf35802d24fc44f3dc2 -SHA1 (BitTorrent-4.1.1.tar.gz) = 2753a7fa8030c07ce30228bff1e100f6d5c554dd -SIZE (BitTorrent-4.1.1.tar.gz) = 237743 +MD5 (BitTorrent-4.1.3.tar.gz) = cd4dff145b5dea3789fa384bb94a4de9 +MD5 (bt413-messages.pot) = 3ba5babe4daeb75a2cdab1cd2039b899 +RMD160 (BitTorrent-4.1.3.tar.gz) = 100e03dd445461ce28fa048df87bc3cb89c1b0dc +RMD160 (bt413-messages.pot) = 4b6716e214a3aaf6e084872f26778df40d518274 +SHA1 (BitTorrent-4.1.3.tar.gz) = b7fd6de13dfbf6be74d2621b8066e11c4d34777d +SHA1 (bt413-messages.pot) = 4260c3b8e91ea64a12ffee00e99e5e1d57fc09a0 +SIZE (BitTorrent-4.1.3.tar.gz) = 850332 +SIZE (bt413-messages.pot) = 53287 Index: patches/patch-BitTorrent___init___py =================================================================== RCS file: /cvs/ports/net/BitTorrent/patches/patch-BitTorrent___init___py,v retrieving revision 1.2 diff -u -r1.2 patch-BitTorrent___init___py --- patches/patch-BitTorrent___init___py 1 Jun 2005 16:02:31 -0000 1.2 +++ patches/patch-BitTorrent___init___py 20 Jul 2005 21:56:56 -0000 @@ -1,16 +1,16 @@ $OpenBSD: patch-BitTorrent___init___py,v 1.2 2005/06/01 16:02:31 naddy Exp $ ---- BitTorrent/__init__.py.orig Tue May 24 00:01:28 2005 -+++ BitTorrent/__init__.py Sat May 28 12:46:46 2005 -@@ -22,7 +22,7 @@ import os - import re - +--- BitTorrent/__init__.py.orig Sat Jul 9 01:22:38 2005 ++++ BitTorrent/__init__.py Tue Jul 19 20:58:37 2005 +@@ -29,7 +29,7 @@ if os.name == 'posix': + gettext.install('bittorrent', 'locale') + def calc_unix_dirs(): - appdir = '%s-%s'%(app_name, version) + appdir = app_name ip = os.path.join('share', 'pixmaps', appdir) dp = os.path.join('share', 'doc' , appdir) - return ip, dp -@@ -133,10 +133,13 @@ if is_frozen_exe: + lp = os.path.join('share', 'locale') +@@ -145,10 +145,13 @@ if is_frozen_exe: del sys def spawn(torrentqueue, cmd, *args): Index: patches/patch-BitTorrent_defaultargs_py =================================================================== RCS file: /cvs/ports/net/BitTorrent/patches/patch-BitTorrent_defaultargs_py,v retrieving revision 1.2 diff -u -r1.2 patch-BitTorrent_defaultargs_py --- patches/patch-BitTorrent_defaultargs_py 1 Jun 2005 16:02:31 -0000 1.2 +++ patches/patch-BitTorrent_defaultargs_py 20 Jul 2005 21:56:56 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-BitTorrent_defaultargs_py,v 1.2 2005/06/01 16:02:31 naddy Exp $ ---- BitTorrent/defaultargs.py.orig Sat May 28 00:23:22 2005 -+++ BitTorrent/defaultargs.py Sat May 28 00:23:36 2005 -@@ -110,7 +110,7 @@ rare_options = [ +--- BitTorrent/defaultargs.py.orig Sat Jul 9 01:22:38 2005 ++++ BitTorrent/defaultargs.py Tue Jul 19 20:58:37 2005 +@@ -112,7 +112,7 @@ rare_options = [ _("do not connect to several peers that have the same IP address")), ('peer_socket_tos', 8, _("if nonzero, set the TOS option for peer connections to this value")), Index: patches/patch-makei18n_sh =================================================================== RCS file: patches/patch-makei18n_sh diff -N patches/patch-makei18n_sh --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-makei18n_sh 20 Jul 2005 21:56:56 -0000 @@ -0,0 +1,41 @@ +$OpenBSD$ +--- makei18n.sh.orig Tue Jul 19 22:00:59 2005 ++++ makei18n.sh Tue Jul 19 22:01:25 2005 +@@ -2,25 +2,25 @@ APP_NAME="bittorrent" + LANGUAGES='af ar da de es fi fr he_IL hu it ja ko nl no pt_BR ro ru sk sl sq sv tr zh_CN zh_TW' + MESSAGES_PO="messages.pot" + +-rm -f $APP_NAME.lis ++#rm -f $APP_NAME.lis + + # create .pot file with most important strings first so that people + # who start but don't finish translations end up translating the most + # important parts +-ls bt*gui.py >> $APP_NAME.lis +-ls BitTorrent/GUI.py >> $APP_NAME.lis +-ls BitTorrent/TorrentQueue.py >> $APP_NAME.lis +-ls BitTorrent/defaultargs.py >> $APP_NAME.lis +-ls bt*.py >> $APP_NAME.lis +-ls *py >> $APP_NAME.lis ++#ls bt*gui.py >> $APP_NAME.lis ++#ls BitTorrent/GUI.py >> $APP_NAME.lis ++#ls BitTorrent/TorrentQueue.py >> $APP_NAME.lis ++#ls BitTorrent/defaultargs.py >> $APP_NAME.lis ++#ls bt*.py >> $APP_NAME.lis ++#ls *py >> $APP_NAME.lis + # find everything else +-find . -name \*.py -type f | egrep -v '/(build)|(dist)|(test)/' >> $APP_NAME.lis ++#find . -name \*.py -type f | egrep -v '/(build)|(dist)|(test)/' >> $APP_NAME.lis + +-xgettext -f $APP_NAME.lis -L Python -o - | \ +- sed -e 's/CHARSET/UTF-8/' > $MESSAGES_PO.nonunique ++#xgettext -f $APP_NAME.lis -L Python -o - | \ ++# sed -e 's/CHARSET/UTF-8/' > $MESSAGES_PO.nonunique + +-msguniq $MESSAGES_PO.nonunique > $MESSAGES_PO +-rm -f $MESSAGES_PO.nonunique ++#msguniq $MESSAGES_PO.nonunique > $MESSAGES_PO ++#rm -f $MESSAGES_PO.nonunique + + for lang in $LANGUAGES ; do + echo "making $lang" Index: patches/patch-setup_py =================================================================== RCS file: /cvs/ports/net/BitTorrent/patches/patch-setup_py,v retrieving revision 1.5 diff -u -r1.5 patch-setup_py --- patches/patch-setup_py 1 Jun 2005 16:02:31 -0000 1.5 +++ patches/patch-setup_py 20 Jul 2005 21:56:56 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-setup_py,v 1.5 2005/06/01 16:02:31 naddy Exp $ ---- setup.py.orig Tue May 24 00:01:36 2005 -+++ setup.py Sat May 28 00:24:22 2005 -@@ -22,10 +22,10 @@ import BitTorrent +--- setup.py.orig Sat Jul 9 10:48:58 2005 ++++ setup.py Tue Jul 19 20:58:37 2005 +@@ -24,10 +24,10 @@ import BitTorrent import glob @@ -14,5 +14,5 @@ + "btlaunchmany", "btlaunchmanycurses", + "bttrack", "btreannounce", "btrename", "btshowmetainfo"] - img_root, doc_root = BitTorrent.calc_unix_dirs() + img_root, doc_root, locale_root = BitTorrent.calc_unix_dirs() Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/net/BitTorrent/pkg/PLIST,v retrieving revision 1.7 diff -u -r1.7 PLIST --- pkg/PLIST 1 Jun 2005 16:02:31 -0000 1.7 +++ pkg/PLIST 20 Jul 2005 21:56:56 -0000 @@ -84,6 +84,8 @@ lib/python${MODPY_VERSION}/site-packages/BitTorrent/zurllib.py lib/python${MODPY_VERSION}/site-packages/BitTorrent/zurllib.pyc lib/python${MODPY_VERSION}/site-packages/khashmir/ +lib/python${MODPY_VERSION}/site-packages/khashmir/KRateLimiter.py +lib/python${MODPY_VERSION}/site-packages/khashmir/KRateLimiter.pyc lib/python${MODPY_VERSION}/site-packages/khashmir/__init__.py lib/python${MODPY_VERSION}/site-packages/khashmir/__init__.pyc lib/python${MODPY_VERSION}/site-packages/khashmir/actions.py @@ -94,6 +96,8 @@ lib/python${MODPY_VERSION}/site-packages/khashmir/const.pyc lib/python${MODPY_VERSION}/site-packages/khashmir/defer.py lib/python${MODPY_VERSION}/site-packages/khashmir/defer.pyc +lib/python${MODPY_VERSION}/site-packages/khashmir/hammerlock.py +lib/python${MODPY_VERSION}/site-packages/khashmir/hammerlock.pyc lib/python${MODPY_VERSION}/site-packages/khashmir/inserter.py lib/python${MODPY_VERSION}/site-packages/khashmir/inserter.pyc lib/python${MODPY_VERSION}/site-packages/khashmir/khash.py @@ -133,9 +137,79 @@ share/doc/BitTorrent/README.OpenBSD share/doc/BitTorrent/README.txt share/doc/BitTorrent/TRACKERLESS.txt +share/doc/BitTorrent/credits-l10n.txt share/doc/BitTorrent/credits.txt @comment share/doc/BitTorrent/redirdonate.html share/locale/ +share/locale/af/ +share/locale/af/LC_MESSAGES/ +share/locale/af/LC_MESSAGES/bittorrent.mo +share/locale/ar/ +share/locale/ar/LC_MESSAGES/ +share/locale/ar/LC_MESSAGES/bittorrent.mo +share/locale/da/ +share/locale/da/LC_MESSAGES/ +share/locale/da/LC_MESSAGES/bittorrent.mo +share/locale/de/ +share/locale/de/LC_MESSAGES/ +share/locale/de/LC_MESSAGES/bittorrent.mo +share/locale/es/ +share/locale/es/LC_MESSAGES/ +share/locale/es/LC_MESSAGES/bittorrent.mo +share/locale/fi/ +share/locale/fi/LC_MESSAGES/ +share/locale/fi/LC_MESSAGES/bittorrent.mo share/locale/fr/ share/locale/fr/LC_MESSAGES/ share/locale/fr/LC_MESSAGES/bittorrent.mo +share/locale/he_IL/ +share/locale/he_IL/LC_MESSAGES/ +share/locale/he_IL/LC_MESSAGES/bittorrent.mo +share/locale/hu/ +share/locale/hu/LC_MESSAGES/ +share/locale/hu/LC_MESSAGES/bittorrent.mo +share/locale/it/ +share/locale/it/LC_MESSAGES/ +share/locale/it/LC_MESSAGES/bittorrent.mo +share/locale/ja/ +share/locale/ja/LC_MESSAGES/ +share/locale/ja/LC_MESSAGES/bittorrent.mo +share/locale/ko/ +share/locale/ko/LC_MESSAGES/ +share/locale/ko/LC_MESSAGES/bittorrent.mo +share/locale/nl/ +share/locale/nl/LC_MESSAGES/ +share/locale/nl/LC_MESSAGES/bittorrent.mo +share/locale/no/ +share/locale/no/LC_MESSAGES/ +share/locale/no/LC_MESSAGES/bittorrent.mo +share/locale/pt_BR/ +share/locale/pt_BR/LC_MESSAGES/ +share/locale/pt_BR/LC_MESSAGES/bittorrent.mo +share/locale/ro/ +share/locale/ro/LC_MESSAGES/ +share/locale/ro/LC_MESSAGES/bittorrent.mo +share/locale/ru/ +share/locale/ru/LC_MESSAGES/ +share/locale/ru/LC_MESSAGES/bittorrent.mo +share/locale/sk/ +share/locale/sk/LC_MESSAGES/ +share/locale/sk/LC_MESSAGES/bittorrent.mo +share/locale/sl/ +share/locale/sl/LC_MESSAGES/ +share/locale/sl/LC_MESSAGES/bittorrent.mo +share/locale/sq/ +share/locale/sq/LC_MESSAGES/ +share/locale/sq/LC_MESSAGES/bittorrent.mo +share/locale/sv/ +share/locale/sv/LC_MESSAGES/ +share/locale/sv/LC_MESSAGES/bittorrent.mo +share/locale/tr/ +share/locale/tr/LC_MESSAGES/ +share/locale/tr/LC_MESSAGES/bittorrent.mo +share/locale/zh_CN/ +share/locale/zh_CN/LC_MESSAGES/ +share/locale/zh_CN/LC_MESSAGES/bittorrent.mo +share/locale/zh_TW/ +share/locale/zh_TW/LC_MESSAGES/ +share/locale/zh_TW/LC_MESSAGES/bittorrent.mo -- Christian "naddy" Weisgerber [EMAIL PROTECTED]