[arch-commits] Commit in libktorrent/trunk (PKGBUILD magnet.patch)

Ronald van Haren ronald at archlinux.org
Sat Sep 8 08:21:18 UTC 2012


    Date: Saturday, September 8, 2012 @ 04:21:17
  Author: ronald
Revision: 166474

upgpkg: libktorrent 1.3.0-1

upstream update to 1.3.0; remove upstream magnet patch

Modified:
  libktorrent/trunk/PKGBUILD
Deleted:
  libktorrent/trunk/magnet.patch

--------------+
 PKGBUILD     |   16 +---
 magnet.patch |  226 ---------------------------------------------------------
 2 files changed, 5 insertions(+), 237 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-09-08 08:20:25 UTC (rev 166473)
+++ PKGBUILD	2012-09-08 08:21:17 UTC (rev 166474)
@@ -3,29 +3,23 @@
 # Maintainer: Andrea Scarpino <andrea at archlinux.org>
 
 pkgname=libktorrent
-pkgver=1.2.1
-pkgrel=2
+pkgver=1.3.0
+pkgrel=1
 pkgdesc="A BitTorrent protocol implementation"
 arch=('i686' 'x86_64')
 url="http://ktorrent.org/"
 license=('GPL2')
 depends=('kdelibs')
 makedepends=('automoc4' 'cmake' 'boost' 'doxygen')
-source=("http://ktorrent.org/downloads/4.2.1/${pkgname}-${pkgver}-2.tar.bz2"
-	"magnet.patch")
-sha1sums=('857e4227c4bba685755d66581d881f893f6311ae'
-          'f0156489364e5590b0b539cfe2abc929c1922ef8')
+source=("http://ktorrent.org/downloads/4.3.0/${pkgname}-${pkgver}.tar.bz2")
+sha1sums=('e7e813af36f5854237111fd550f4914b83f17102')
 
 build() {
   cd "${srcdir}"
 
-  pushd ${pkgname}-${pkgver}-2
-  patch -Np1 -i ${srcdir}/magnet.patch
-  popd
-
   mkdir build
   cd build
-  cmake ../${pkgname}-${pkgver}-2 \
+  cmake ../${pkgname}-${pkgver} \
     -DCMAKE_BUILD_TYPE=Release \
     -DCMAKE_INSTALL_PREFIX=/usr
   make

Deleted: magnet.patch
===================================================================
--- magnet.patch	2012-09-08 08:20:25 UTC (rev 166473)
+++ magnet.patch	2012-09-08 08:21:17 UTC (rev 166474)
@@ -1,226 +0,0 @@
-commit 5107e4b7a050d7533f44801f5f5f5694203fd3b5
-Author: Joris Guisson <joris.guisson at gmail.com>
-Date:   Wed Jul 11 20:16:43 2012 +0200
-
-    Make sure all trackers are used of a magnet link
-    
-    BUG: 302997
-    BUG: 303269
-
-diff --git a/src/magnet/magnetlink.cpp b/src/magnet/magnetlink.cpp
-index 525bfa5..43168dc 100644
---- a/src/magnet/magnetlink.cpp
-+++ b/src/magnet/magnetlink.cpp
-@@ -19,13 +19,14 @@
-  ***************************************************************************/
- 
- #include "magnetlink.h"
-+#include <QUrl>
- #include <QStringList>
- #include <util/log.h>
- #include <util/error.h>
- 
- namespace bt
- {
--	
-+
- 	MagnetLink::MagnetLink()
- 	{
- 	}
-@@ -44,7 +45,7 @@ namespace bt
- 	{
- 		parse(mlink);
- 	}
--	
-+
- 	MagnetLink::~MagnetLink()
- 	{
- 	}
-@@ -64,83 +65,114 @@ namespace bt
- 	{
- 		return info_hash == mlink.infoHash();
- 	}
--	
-+
-+	static KUrl::List GetTrackers(const KUrl & url)
-+	{
-+		KUrl::List result;
-+		const QString encoded_query = QString::fromLatin1(url.encodedQuery());
-+		const QString item = QLatin1String("tr=");
-+		if(encoded_query.length() <= 1)
-+			return result;
-+
-+		const QStringList items = encoded_query.split(QString(QLatin1Char('&')), QString::SkipEmptyParts);
-+		const int len = item.length();
-+		for(QStringList::ConstIterator it = items.begin(); it != items.end(); ++it)
-+		{
-+			if((*it).startsWith(item))
-+			{
-+				if((*it).length() > len)
-+				{
-+					QString str = (*it).mid(len);
-+					str.replace(QLatin1Char('+'), QLatin1Char(' '));   // + in queries means space.
-+					result.push_back(QUrl::fromPercentEncoding(str.toLatin1()));
-+				}
-+			}
-+		}
-+
-+		return result;
-+	}
-+
- 	void MagnetLink::parse(const QString& mlink)
- 	{
- 		KUrl url(mlink);
--		if (url.protocol() != "magnet")
-+		if(url.protocol() != "magnet")
- 		{
--			Out(SYS_GEN|LOG_NOTICE) << "Invalid protocol of magnet link "
--				<< mlink << endl;
-+			Out(SYS_GEN | LOG_NOTICE) << "Invalid protocol of magnet link "
-+			                          << mlink << endl;
- 			return;
- 		}
--		
-+
- 		torrent_url = url.queryItem("to");
- 		//magnet://description-of-content.btih.HASH(-HASH)*.dht/path/file?x.pt=&x.to=
- 
- 		// TODO automatically select these files and prefetches from here
- 		path = url.queryItem("pt");
--		if ( path.isEmpty() && url.hasPath() && url.path() != "/" ) {
-+		if(path.isEmpty() && url.hasPath() && url.path() != "/")
-+		{
- 			// TODO find out why RemoveTrailingSlash does not work
- 			path = url.path(KUrl::RemoveTrailingSlash).remove(QRegExp("^/"));
- 		}
- 
- 		QString xt = url.queryItem("xt");
--		if ( xt.isEmpty()
--		     || !xt.startsWith("urn:btih:") ) {
-+		if(xt.isEmpty()
-+		        || !xt.startsWith("urn:btih:"))
-+		{
- 			QRegExp btihHash("([^\\.]+).btih");
--			if ( btihHash.indexIn(url.host()) != -1 ) {
-+			if(btihHash.indexIn(url.host()) != -1)
-+			{
- 				QString primaryHash = btihHash.cap(1).split("-")[0];
--				xt = "urn:btih:"+primaryHash;
--			} else {
--				Out(SYS_GEN|LOG_NOTICE) << "No hash found in magnet link "
--					<< mlink << endl;
-+				xt = "urn:btih:" + primaryHash;
-+			}
-+			else
-+			{
-+				Out(SYS_GEN | LOG_NOTICE) << "No hash found in magnet link "
-+				                          << mlink << endl;
- 				return;
- 			}
- 		}
--		
-+
- 		QString ih = xt.mid(9);
--		if (ih.length() != 40 && ih.length() != 32)
-+		if(ih.length() != 40 && ih.length() != 32)
- 		{
--			Out(SYS_GEN|LOG_NOTICE) << "Hash has not valid length in magnet link "
--				<< mlink << endl;
-+			Out(SYS_GEN | LOG_NOTICE) << "Hash has not valid length in magnet link "
-+			                          << mlink << endl;
- 			return;
- 		}
--		
-+
- 		try
- 		{
--			if (ih.length() == 32)
-+			if(ih.length() == 32)
- 				ih = base32ToHexString(ih);
- 
- 			Uint8 hash[20];
--			memset(hash,0,20);
--			for (int i = 0;i < 20;i++)
-+			memset(hash, 0, 20);
-+			for(int i = 0; i < 20; i++)
- 			{
--				Uint8 low = charToHex(ih[2*i + 1]);
--				Uint8 high = charToHex(ih[2*i]);
-+				Uint8 low = charToHex(ih[2 * i + 1]);
-+				Uint8 high = charToHex(ih[2 * i]);
- 				hash[i] = (high << 4) | low;
- 			}
--			
-+
- 			info_hash = SHA1Hash(hash);
--			tracker_urls = url.queryItem("tr").split(",");
-+			tracker_urls = GetTrackers(url);
- 			name = url.queryItem("dn");
- 			magnet_string = mlink;
- 		}
--		catch (...)
-+		catch(...)
- 		{
--			Out(SYS_GEN|LOG_NOTICE) << "Invalid magnet link " << mlink << endl;
-+			Out(SYS_GEN | LOG_NOTICE) << "Invalid magnet link " << mlink << endl;
- 		}
- 	}
--	
-+
- 	Uint8 MagnetLink::charToHex(const QChar& ch)
- 	{
--		if (ch.isDigit())
-+		if(ch.isDigit())
- 			return ch.digitValue();
--		
--		if (!ch.isLetter())
-+
-+		if(!ch.isLetter())
- 			throw bt::Error("Invalid char");
--		
--		if (ch.isLower())
-+
-+		if(ch.isLower())
- 			return 10 + ch.toAscii() - 'a';
- 		else
- 			return 10 + ch.toAscii() - 'A';
-@@ -155,28 +187,28 @@ namespace bt
- 		QString str = s.toUpper();
- 		// 32 base32 chars -> 40 hex chars
- 		// 4 base32 chars -> 5 hex chars
--		for (int i = 0; i < 8; i++)
-+		for(int i = 0; i < 8; i++)
- 		{
- 			part = 0;
--			for (int j = 0; j < 4; j++)
-+			for(int j = 0; j < 4; j++)
- 			{
--				ch = str[i*4 + j];
--				if (ch.isDigit() && (ch.digitValue() < 2 || ch.digitValue() > 7))
-+				ch = str[i * 4 + j];
-+				if(ch.isDigit() && (ch.digitValue() < 2 || ch.digitValue() > 7))
- 					throw bt::Error("Invalid char");
- 
--				if (ch.isDigit())
--					 tmp = ch.digitValue() + 24;
-+				if(ch.isDigit())
-+					tmp = ch.digitValue() + 24;
- 				else
- 					tmp = ch.toAscii() - 'A';
--				part = part + (tmp << 5*(3-j));
-+				part = part + (tmp << 5 * (3 - j));
- 			}
- 
- 			// part is a Uint32 with 20 bits (5 hex)
--			for (int j = 0; j < 5; j++)
-+			for(int j = 0; j < 5; j++)
- 			{
--				tmp = (part >> 4*(4-j)) & 0xf;
--				if (tmp >= 10)
--					ret.append(QChar((tmp-10) + 'a'));
-+				tmp = (part >> 4 * (4 - j)) & 0xf;
-+				if(tmp >= 10)
-+					ret.append(QChar((tmp - 10) + 'a'));
- 				else
- 					ret.append(QChar(tmp + '0'));
- 			}




More information about the arch-commits mailing list