summary refs log tree commit diff
path: root/pkgs/applications/networking/p2p
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2011-07-21 18:34:41 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2011-07-21 18:34:41 +0000
commit2758c07f1ee596cdbb56c856588ed5820d6e9663 (patch)
tree24cd1ed9bbd441afa02d3e00eb1a915924ff6d5a /pkgs/applications/networking/p2p
parent3815442cf4b0afeebd90eaa31b1dbfa0f4ca59fc (diff)
downloadnixlib-2758c07f1ee596cdbb56c856588ed5820d6e9663.tar
nixlib-2758c07f1ee596cdbb56c856588ed5820d6e9663.tar.gz
nixlib-2758c07f1ee596cdbb56c856588ed5820d6e9663.tar.bz2
nixlib-2758c07f1ee596cdbb56c856588ed5820d6e9663.tar.lz
nixlib-2758c07f1ee596cdbb56c856588ed5820d6e9663.tar.xz
nixlib-2758c07f1ee596cdbb56c856588ed5820d6e9663.tar.zst
nixlib-2758c07f1ee596cdbb56c856588ed5820d6e9663.zip
Updating mldonkey. I remove the patch needed for mips, as they put it upstream already.
svn path=/nixpkgs/trunk/; revision=27885
Diffstat (limited to 'pkgs/applications/networking/p2p')
-rw-r--r--pkgs/applications/networking/p2p/mldonkey/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/mldonkey/gcc44mips64.patch103
2 files changed, 2 insertions, 107 deletions
diff --git a/pkgs/applications/networking/p2p/mldonkey/default.nix b/pkgs/applications/networking/p2p/mldonkey/default.nix
index ecc2e5f77941..244858757d10 100644
--- a/pkgs/applications/networking/p2p/mldonkey/default.nix
+++ b/pkgs/applications/networking/p2p/mldonkey/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ocaml, zlib, bzip2, ncurses, file, gd, libpng }:
 
 stdenv.mkDerivation (rec {
-  name = "mldonkey-3.0.4";
+  name = "mldonkey-3.0.7";
   
   src = fetchurl {
     url = "mirror://sourceforge/mldonkey/${name}.tar.bz2";
-    sha256 = "0wnyi2m7126dq6r5zbqplgknnypzcx0p3q2mxcdfhp94ln7vn3f6";
+    sha256 = "1m5cfx79jiym93bx789lqc1bmwrkz1b1jilhga7d994jsjcw6c2n";
   };
   
   meta = {
@@ -13,8 +13,6 @@ stdenv.mkDerivation (rec {
     homepage = http://mldonkey.sourceforge.net/;
   };
 
-  patches = [ ./gcc44mips64.patch ];
-
   buildInputs = [ ocaml zlib ncurses bzip2 file gd libpng ];
   configureFlags = [ "--disable-gui" ];
 } // (if (stdenv.system != "i686-linux" && stdenv.system != "x86_64-linux") then
diff --git a/pkgs/applications/networking/p2p/mldonkey/gcc44mips64.patch b/pkgs/applications/networking/p2p/mldonkey/gcc44mips64.patch
deleted file mode 100644
index 41449dcdd05c..000000000000
--- a/pkgs/applications/networking/p2p/mldonkey/gcc44mips64.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-Patch fixing CryptoPP so:
-- it builds properly in mips64 with gcc 4.4 (gcc 4.4 does not have the 'h' asm constraint)
-- it runs properly in mips64 (where lack of templated *Precision functions gave wrong numbers).
-  An assertion check failed without this.
-
-diff --git a/src/utils/lib/CryptoPP.cc b/src/utils/lib/CryptoPP.cc
-index 9208e1c..6b12b0a 100644
---- a/src/utils/lib/CryptoPP.cc
-+++ b/src/utils/lib/CryptoPP.cc
-@@ -890,35 +890,6 @@ unsigned int Parity(unsigned long value)
- 	return (unsigned int)value&1;
- }
- 
--unsigned int BytePrecision(unsigned long value)
--{
--	unsigned int i;
--	for (i=sizeof(value); i; --i)
--		if (value >> (i-1)*8)
--			break;
--
--	return i;
--}
--
--unsigned int BitPrecision(unsigned long value)
--{
--	if (!value)
--		return 0;
--
--	unsigned int l=0, h=8*sizeof(value);
--
--	while (h-l > 1)
--	{
--		unsigned int t = (l+h)/2;
--		if (value >> t)
--			l = t;
--		else
--			h = t;
--	}
--
--	return h;
--}
--
- unsigned long Crop(unsigned long value, unsigned int size)
- {
- 	if (size < 8*sizeof(value))
-@@ -1880,7 +1851,10 @@ public:
- 		#elif defined(__x86_64__)
- 			__asm__("mulq %3" : "=d" (r.m_halfs.high), "=a" (r.m_halfs.low) : "a" (a), "rm" (b) : "cc");
- 		#elif defined(__mips64)
--			__asm__("dmultu %2,%3" : "=h" (r.m_halfs.high), "=l" (r.m_halfs.low) : "r" (a), "r" (b));
-+      //typedef unsigned int uint128_t __attribute__((mode(TI)));
-+      __uint128_t tmp = (__uint128_t) a * b;
-+      r.m_halfs.high = tmp >> 64;
-+      r.m_halfs.low = tmp;
- 		#elif defined(_M_IX86)
- 			// for testing
- 			word64 t = (word64)a * b;
-diff --git a/src/utils/lib/CryptoPP.h b/src/utils/lib/CryptoPP.h
-index d2ec1b2..775a898 100644
---- a/src/utils/lib/CryptoPP.h
-+++ b/src/utils/lib/CryptoPP.h
-@@ -1869,10 +1869,39 @@ template <class T> inline const T& STDMAX(const T& a, const T& b)
- // #define GETBYTE(x, y) (((byte *)&(x))[y])
- 
- CRYPTOPP_DLL unsigned int Parity(unsigned long);
--CRYPTOPP_DLL unsigned int BytePrecision(unsigned long);
--CRYPTOPP_DLL unsigned int BitPrecision(unsigned long);
- CRYPTOPP_DLL unsigned long Crop(unsigned long, unsigned int size);
- 
-+template <typename T>
-+unsigned int BitPrecision(const T &value)
-+{
-+	if (!value)
-+		return 0;
-+
-+	unsigned int l=0, h=8*sizeof(value);
-+
-+	while (h-l > 1)
-+	{
-+		unsigned int t = (l+h)/2;
-+		if (value >> t)
-+			l = t;
-+		else
-+			h = t;
-+	}
-+
-+	return h;
-+}
-+
-+template <typename T>
-+unsigned int BytePrecision(const T &value)
-+{
-+	unsigned int i;
-+	for (i=sizeof(value); i; --i)
-+		if (value >> (i-1)*8)
-+			break;
-+
-+	return i;
-+}
-+
- inline unsigned int BitsToBytes(unsigned int bitCount)
- {
- 	return ((bitCount+7)/(8));