summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesus Rivero <neurogeek@gentoo.org>2010-03-01 23:46:49 +0000
committerJesus Rivero <neurogeek@gentoo.org>2010-03-01 23:46:49 +0000
commit313518665e1788704f70db07799b70ec54cf6feb (patch)
treeecde1d8aba61dedfc394a81f0bb632e9340f83c4 /dev-python/py-xmlrpc
parentamd64 stable wrt #297299 (diff)
downloadhistorical-313518665e1788704f70db07799b70ec54cf6feb.tar.gz
historical-313518665e1788704f70db07799b70ec54cf6feb.tar.bz2
historical-313518665e1788704f70db07799b70ec54cf6feb.zip
Added patchs wrt bug #299023 (now closed), Thanks to Florian for the report
Package-Manager: portage-2.2_rc63/cvs/Linux i686
Diffstat (limited to 'dev-python/py-xmlrpc')
-rw-r--r--dev-python/py-xmlrpc/ChangeLog14
-rw-r--r--dev-python/py-xmlrpc/Manifest22
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_patch-extra.patch338
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcBase64.patch16
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcClient.patch15
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcDate.patch16
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcDispatch.patch16
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcSource.patch16
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcUtils.patch16
-rw-r--r--dev-python/py-xmlrpc/metadata.xml2
-rw-r--r--dev-python/py-xmlrpc/py-xmlrpc-0.8.8.3-r1.ebuild42
11 files changed, 508 insertions, 5 deletions
diff --git a/dev-python/py-xmlrpc/ChangeLog b/dev-python/py-xmlrpc/ChangeLog
index 8d10322571c2..ba5406d12382 100644
--- a/dev-python/py-xmlrpc/ChangeLog
+++ b/dev-python/py-xmlrpc/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for dev-python/py-xmlrpc
-# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/py-xmlrpc/ChangeLog,v 1.21 2007/07/04 20:53:27 hawking Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/py-xmlrpc/ChangeLog,v 1.22 2010/03/01 23:46:49 neurogeek Exp $
+
+*py-xmlrpc-0.8.8.3-r1 (01 Mar 2010)
+
+ 01 Mar 2010; Jesus Rivero <neurogeek@gentoo.org>
+ +py-xmlrpc-0.8.8.3-r1.ebuild, +files/py-xmlrpc_patch-extra.patch,
+ +files/py-xmlrpc_rpcBase64.patch, +files/py-xmlrpc_rpcClient.patch,
+ +files/py-xmlrpc_rpcDate.patch, +files/py-xmlrpc_rpcDispatch.patch,
+ +files/py-xmlrpc_rpcSource.patch, +files/py-xmlrpc_rpcUtils.patch:
+ Added patchs wrt bug #299023 (now closed), Thanks to Florian for the
+ report
04 Jul 2007; Ali Polatel <hawking@gentoo.org> py-xmlrpc-0.8.8.2.ebuild,
py-xmlrpc-0.8.8.3.ebuild:
diff --git a/dev-python/py-xmlrpc/Manifest b/dev-python/py-xmlrpc/Manifest
index 7618eeefa7ba..dfb25fe3fc94 100644
--- a/dev-python/py-xmlrpc/Manifest
+++ b/dev-python/py-xmlrpc/Manifest
@@ -1,6 +1,24 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX py-xmlrpc_patch-extra.patch 8211 RMD160 aab60de96687d7a33d0e5a60b9017806af0b0bb7 SHA1 ee65d7b3eb11c4bd4500cfab17c7b8cd9799cb5c SHA256 61c74431302cf3a554fe48570c8192c1a4d80e62817efb76a16f2d796989be6e
+AUX py-xmlrpc_rpcBase64.patch 317 RMD160 460e224a8b4ff724ad9e9c136a3cecf01f91b176 SHA1 610f80777394b5e5a3b8f6836df959e017725a97 SHA256 743a5fdeb0422b74bf2017f263b5739b63828daa162d856377db8b3e34b1a4d0
+AUX py-xmlrpc_rpcClient.patch 329 RMD160 c14974211a001d245d09650f79264f5102acf1a7 SHA1 3bc61b670821f3326ca2897b855bf33f8c3be213 SHA256 b5894bec654147fb849bc9d79b4df78a39023adc51641fac5b80f767848302e9
+AUX py-xmlrpc_rpcDate.patch 311 RMD160 285944811c0e237282fa60aed48a0b29963fb775 SHA1 9e02924cbffdafa8cac2569f43b1e35f7c7c956a SHA256 e359ffb1bcd3f10bb43e9b05d3597493218647c7c6b86902e7f873b5224766fd
+AUX py-xmlrpc_rpcDispatch.patch 315 RMD160 bf492a3cbefdc75ca7ca9d77e23f506d33fca795 SHA1 7f1cb13ec84cbc20c2cd65ee78a11f9d9945b4ab SHA256 d0d66f1432e07ddf684eb06705de062960dc26b17c8c74ddbf82a2ed567e5888
+AUX py-xmlrpc_rpcSource.patch 372 RMD160 a0e367f3f17243c59a2887ff9b209b096a652a2a SHA1 970a045553932581044016f526c0cce945cb6d20 SHA256 adab0c96bf05b0e82fc2d8684db60c35127c35f30955a85c9711515d3874f49d
+AUX py-xmlrpc_rpcUtils.patch 471 RMD160 fe62746979996b93517b7d05edb1f2a3387f6191 SHA1 fe5c88258e40cd9cc485af6593e1324d100f4f00 SHA256 1deb05ca519da5b4ab8efdf5f94cf2753cd50773345a326b7a84105372774e8f
DIST py-xmlrpc-0.8.8.2.tar.gz 57761 RMD160 55ad5062271657b579a1a72c184ba4e1cd7ef5f6 SHA1 83f50f7530a9e6c83a27d9cc6b2e0d60a2bc2b47 SHA256 c171f0c3fd62219dfb40e45ae0a61268bed519bf77f28851b9454a041d789801
DIST py-xmlrpc-0.8.8.3.tar.gz 62260 RMD160 b46286a4f5e996b4c55378688dfaee78ce8dc839 SHA1 e858538ea59798784eee4ac6d915ecf700bf793f SHA256 12527f130dd695184c44c6197deb619c26c9b5b31ce7699a5dd97e0ad2dd7bd1
EBUILD py-xmlrpc-0.8.8.2.ebuild 658 RMD160 c9daf22b4af103a3ac6abc2952fbe9a46a2c64e7 SHA1 4e9dfee683fa5a2bf1f91958b7f6e1572159bed7 SHA256 13f5ccc4db673f4cbc3ce4426705b7f788a32ffe273e426749d861e400e13148
+EBUILD py-xmlrpc-0.8.8.3-r1.ebuild 1187 RMD160 a8f14558d03f40c5344e4dd6c34842a710076665 SHA1 c53460ef00dc0ffa7883c91e15b69ce66952190b SHA256 f01c3b54dee31becc59a67157b06015fc6dfda458b8f44706b9498cae9ea850f
EBUILD py-xmlrpc-0.8.8.3.ebuild 673 RMD160 8092656d881bf408e4be8be5882f90da6fe8b815 SHA1 507a1cbb6066f01ffe3a102b96516414e9428b5a SHA256 5b28a77f4ba319f0c3c4aefd51d06898ad9f4efe43d0ddd02af9ca1952c8dd9a
-MISC ChangeLog 2400 RMD160 23c4186775eea405ca0ad032999e0dc5082ed80c SHA1 04aae2144ad1e6c7bce1eae65240a28475cb4125 SHA256 ee43c4d806288671b2f8562b6f32f99d9fe485215d55dba6dab6b0d702232fe0
-MISC metadata.xml 159 RMD160 900a8c55d7a7d2f6312594769aaf941bf9e99c7f SHA1 c8e604d56dae898258b5254d78cfeac0b981e288 SHA256 9f01104d3484792496faff4805eed0ecea2352a897151f3397d49a13800037b4
+MISC ChangeLog 2848 RMD160 81ff06f8011ae51dfe4b8885c839588d11930eef SHA1 2ce0790984568adf291fe5781dca6c9428649f36 SHA256 0167f1dc4318648814f596be053e51a83bb5ef3ab908576afcba0660ec6202ea
+MISC metadata.xml 160 RMD160 e730f96ab97c5be577a6d6d05f04990374a0dffb SHA1 2aa5e6be9c265c0e7bceb78ee9fd20df5f818e36 SHA256 6cd954a9de2307c57d32b25fa3599dee2908a4ddc6a98594f593d53577307a3a
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.11 (GNU/Linux)
+
+iEYEARECAAYFAkuMRQcACgkQdIssYB9vBoOWeQCfUZw2kovmDyAlzAQweZnCqZdI
+cMQAn2Leg+jlkDIsyjh2Pg7KGQ3JP+gA
+=+7RW
+-----END PGP SIGNATURE-----
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_patch-extra.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_patch-extra.patch
new file mode 100644
index 000000000000..7f711eb70674
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_patch-extra.patch
@@ -0,0 +1,338 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+Due to unresponsiveness of the development team of the py-xmlrpc, I'm sending
+this change request here in hope it can help the developers that use this
+port.
+
+The py-xmlrpc module has a problem with boolean type - it implements boolean
+type internally thus creating difficulties on encode/decode path of the
+boolean variables. I've changed the source code to use internal Python's
+boolean type and this made things straight to the user of this module.
+
+Another change I've made to the module is support for the <nil/> element.
+Despite the fact this element isn't mentioned in the XML-RPC specification,
+many of implementations support it, as this is the very convenient way to
+pass null values from the environments with dynamic typing such as
+Python, Perl, etc.
+
+
+--- src/rpcBoolean.c.orig 2002-02-21 09:08:11.000000000 +0200
++++ src/rpcBoolean.c 2008-10-15 10:41:34.000000000 +0300
+@@ -2,142 +2,3 @@
+ * Copyright (C) 2001, Shilad Sen, Sourcelight Technologies, Inc.
+ * See xmlrpc.h or the README for more copyright information.
+ */
+-
+-
+-#include "xmlrpc.h"
+-#include "rpcInternal.h"
+-
+-
+-static void rpcBoolDealloc(rpcBool *bp);
+-static int rpcBoolLength(rpcBool *bp);
+-static int rpcBoolCompare(rpcBool *b1, rpcBool *b2);
+-static PyObject *rpcBoolRepr(rpcBool *bp);
+-
+-
+-/*
+- * create a new edb boolean object
+- */
+-PyObject *
+-rpcBoolNew(bool value)
+-{
+- rpcBool *bp;
+-
+- bp = PyObject_NEW(rpcBool, &rpcBoolType);
+- if (bp == NULL)
+- return NULL;
+- bp->value = value;
+- return (PyObject *)bp;
+-}
+-
+-
+-/*
+- * get the value (true or false) of a boolean rpc object
+- */
+-bool
+-rpcBoolValue(PyObject *obj)
+-{
+- return ((rpcBool *)obj)->value;
+-}
+-
+-
+-/*
+- * free resources associated with a boolean object
+- */
+-static void
+-rpcBoolDealloc(rpcBool *bp)
+-{
+- PyMem_DEL(bp);
+-}
+-
+-
+-/*
+- * tell whether a boolean object is true or false
+- */
+-static int
+-rpcBoolLength(rpcBool *bp)
+-{
+- if (bp->value)
+- return 1;
+- else
+- return 0;
+-}
+-
+-
+-/*
+- * bool object to dictionary conversion
+- */
+-static PyMappingMethods rpcBoolAsMapping = {
+- (inquiry)rpcBoolLength, /* mapping length */
+- (binaryfunc)NULL, /* mapping subscript */
+- (objobjargproc)NULL, /* mapping associate subscript */
+-};
+-
+-
+-/*
+- * boolean comparison
+- */
+-static int
+-rpcBoolCompare(rpcBool *b1, rpcBool *b2)
+-{
+- if (not b1->value and not b2->value)
+- return 0;
+- else if (b1->value and b2->value)
+- return 0;
+- else
+- return 1;
+-}
+-
+-
+-/*
+- * represent a boolean xml object
+- */
+-static PyObject *
+-rpcBoolStr(rpcBool *bp)
+-{
+- if (bp->value)
+- return PyString_FromString("<xmlrpc boolean true>");
+- else
+- return PyString_FromString("<xmlrpc boolean false>");
+-}
+-
+-
+-/*
+- * represent a boolean xml object
+- */
+-static PyObject *
+-rpcBoolRepr(rpcBool *bp)
+-{
+- if (bp->value)
+- return PyString_FromString("boolean(1)");
+- else
+- return PyString_FromString("boolean(0)");
+-}
+-
+-
+-/*
+- * map characterstics of a boolean
+- */
+-PyTypeObject rpcBoolType = {
+- PyObject_HEAD_INIT(0)
+- 0,
+- "rpcBoolean",
+- sizeof(rpcBool),
+- 0,
+- (destructor)rpcBoolDealloc, /* tp_dealloc */
+- 0, /* tp_print */
+- 0, /* tp_getattr */
+- 0, /* tp_setattr */
+- (cmpfunc)rpcBoolCompare, /* tp_compare */
+- (reprfunc)rpcBoolRepr, /* tp_repr */
+- 0, /* tp_as_number */
+- 0, /* tp_as_sequence */
+- &rpcBoolAsMapping, /* tp_as_mapping */
+- 0, /* tp_hash */
+- 0, /* tp_call */
+- (reprfunc)rpcBoolStr, /* tp_str */
+- 0, /* tp_getattro */
+- 0, /* tp_setattro */
+- 0, /* tp_as_buffer */
+- 0, /* tp_xxx4 */
+- 0, /* tp_doc */
+-};
+--- src/rpcBoolean.h.orig 2008-10-15 10:46:52.000000000 +0300
++++ src/rpcBoolean.h 2008-10-15 10:46:59.000000000 +0300
+@@ -6,26 +6,3 @@
+ *
+ */
+
+-
+-#ifndef _RPCBOOL_H_
+-#define _RPCBOOL_H_
+-
+-
+-#include "rpcInclude.h"
+-PyTypeObject rpcBoolType;
+-
+-
+-/*
+- * boolean object
+- */
+-typedef struct {
+- PyObject_HEAD /* python standard */
+- bool value; /* true/false value */
+-} rpcBool;
+-
+-
+-PyObject *rpcBoolNew(bool value);
+-bool rpcBoolValue(PyObject *obj);
+-
+-
+-#endif /* _RPCBOOL_H_ */
+--- src/rpcUtils.c.orig 2003-04-21 18:39:15.000000000 +0300
++++ src/rpcUtils.c 2008-10-15 10:45:01.000000000 +0300
+@@ -47,6 +47,7 @@
+
+ static strBuff *encodeValue(strBuff *sp, PyObject *value, uint tabs);
+ static strBuff *encodeBool(strBuff *sp, PyObject *value);
++static strBuff *encodeNone(strBuff *sp);
+ static strBuff *encodeInt(strBuff *sp, PyObject *value);
+ static strBuff *encodeDouble(strBuff *sp, PyObject *value);
+ static strBuff *encodeString(strBuff *sp, PyObject *value);
+@@ -63,6 +64,7 @@
+ static PyObject *decodeString(char **cp, char *ep, ulong *lines);
+ static PyObject *decodeTaglessString(char **cp, char *ep, ulong *lines);
+ static PyObject *decodeBool(char **cp, char *ep, ulong *lines);
++static PyObject *decodeNone(char **cp, char *ep, ulong *lines);
+ static PyObject *decodeBase64(char **cp, char *ep, ulong *lines);
+ static PyObject *decodeArray(char **cp, char *ep, ulong *lines);
+ static PyObject *decodeStruct(char **cp, char *ep, ulong *lines);
+@@ -205,11 +207,13 @@
+ {
+ if (buffConstant(sp, "<value>") == NULL)
+ return NULL;
+- if (PyInt_Check(value) or PyLong_Check(value))
++ if (PyInt_CheckExact(value) or PyLong_Check(value))
+ sp = encodeInt(sp, value);
++ else if (value == Py_None)
++ sp = encodeNone(sp);
+ else if (PyFloat_Check(value))
+ sp = encodeDouble(sp, value);
+- else if (value->ob_type == &rpcBoolType)
++ else if (PyBool_Check(value))
+ sp = encodeBool(sp, value);
+ else if (value->ob_type == &rpcDateType)
+ sp = encodeDate(sp, value);
+@@ -286,12 +290,25 @@
+ }
+
+ /*
++ * encode the None as: "<nil/>"
++ */
++static strBuff *
++encodeNone(strBuff *sp)
++{
++ if (buffConstant(sp, "<nil/>") == NULL)
++ return NULL;
++
++ return sp;
++}
++
++/*
++/*
+ * encode the boolean true (for example) as: "<boolean>1</boolean>"
+ */
+ static strBuff *
+ encodeBool(strBuff *sp, PyObject *value)
+ {
+- if (((rpcBool *)value)->value)
++ if (value == Py_True)
+ return buffConstant(sp, "<boolean>1</boolean>");
+ else
+ return buffConstant(sp, "<boolean>0</boolean>");
+@@ -569,6 +586,8 @@
+ res = decodeDate(cp, ep, lines);
+ else if (strncmp(*cp, "<base64>", 8) == 0)
+ res = decodeBase64(cp, ep, lines);
++ else if (strncmp(*cp, "<nil/>", 6) == 0)
++ res = decodeNone(cp, ep, lines);
+ else { /* it must be a string */
+ *cp = tp;
+ res = decodeTaglessString(cp, ep, lines);
+@@ -619,6 +638,20 @@
+
+
+ static PyObject *
++decodeNone(char **cp, char *ep, ulong *lines)
++{
++ if (*cp + 6 >= ep)
++ return eosErr();
++ *cp += 6;
++ if (chompStr(cp, ep, lines) >= ep)
++ return eosErr();
++
++ Py_INCREF(Py_None);
++ return Py_None;
++}
++
++
++static PyObject *
+ decodeBool(char **cp, char *ep, ulong *lines)
+ {
+ PyObject *res;
+@@ -638,7 +671,12 @@
+ if (chompStr(cp, ep, lines) >= ep)
+ return eosErr();
+
+- return rpcBoolNew(value);
++ if (value) {
++ Py_INCREF(Py_True);
++ return Py_True;
++ }
++ Py_INCREF(Py_False);
++ return Py_False;
+ }
+
+
+--- src/xmlrpc.c.orig 2003-04-21 18:39:15.000000000 +0300
++++ src/xmlrpc.c 2008-10-15 10:47:23.000000000 +0300
+@@ -45,7 +45,6 @@
+ rpcLogLevel = 3;
+ rpcLogger = stderr;
+ rpcDateFormat = XMLRPC_DATE_FORMAT_US;
+- rpcBoolType.ob_type = &PyType_Type;
+ rpcDateType.ob_type = &PyType_Type;
+ rpcBase64Type.ob_type = &PyType_Type;
+ rpcClientType.ob_type = &PyType_Type;
+--- src/xmlrpc.h.orig 2003-04-21 18:39:15.000000000 +0300
++++ src/xmlrpc.h 2008-10-15 10:40:35.000000000 +0300
+@@ -45,7 +45,6 @@
+ #define XMLRPC_DATE_FORMAT_EUROPE 2
+
+ #include "rpcBase64.h"
+-#include "rpcBoolean.h"
+ #include "rpcClient.h"
+ #include "rpcDate.h"
+ #include "rpcDispatch.h"
+--- src/xmlrpcmodule.c.orig 2003-04-21 19:22:54.000000000 +0300
++++ src/xmlrpcmodule.c 2008-10-15 10:48:42.000000000 +0300
+@@ -197,7 +197,12 @@
+ unless (PyArg_ParseTuple(args, "i", &value))
+ return NULL;
+
+- return rpcBoolNew(value);
++ if (value) {
++ Py_INCREF(Py_True);
++ return Py_True;
++ }
++ Py_INCREF(Py_False);
++ return Py_False;
+ }
+
+
+
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcBase64.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcBase64.patch
new file mode 100644
index 000000000000..d22aa75b9a59
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcBase64.patch
@@ -0,0 +1,16 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcBase64.c
++++ src/rpcBase64.c
+@@ -239,7 +239,7 @@
+ if (bp->value) {
+ Py_DECREF(bp->value);
+ }
+- PyMem_DEL(bp);
++ PyObject_DEL(bp);
+ }
+
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcClient.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcClient.patch
new file mode 100644
index 000000000000..37ad5293cda6
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcClient.patch
@@ -0,0 +1,15 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcClient.c
++++ src/rpcClient.c
+@@ -179,7 +179,7 @@
+ cp->url = NULL;
+ Py_DECREF(cp->src);
+ Py_DECREF(cp->disp);
+- PyMem_DEL(cp);
++ PyObject_DEL(cp);
+ }
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDate.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDate.patch
new file mode 100644
index 000000000000..3135173e96f8
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDate.patch
@@ -0,0 +1,16 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcDate.c
++++ src/rpcDate.c
+@@ -75,7 +75,7 @@
+ if (dp->value) {
+ Py_DECREF(dp->value);
+ }
+- PyMem_DEL(dp);
++ PyObject_DEL(dp);
+ }
+
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDispatch.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDispatch.patch
new file mode 100644
index 000000000000..f13c23c2b12c
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDispatch.patch
@@ -0,0 +1,16 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcDispatch.c
++++ src/rpcDispatch.c
+@@ -68,7 +68,7 @@
+ rpcDispClear(dp);
+ free(dp->srcs);
+ }
+- PyMem_DEL(dp);
++ PyObject_DEL(dp);
+ }
+
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcSource.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcSource.patch
new file mode 100644
index 000000000000..9cbfc7f89a00
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcSource.patch
@@ -0,0 +1,16 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcSource.c
++++ src/rpcSource.c
+@@ -61,7 +61,7 @@
+ if (srcp->onErr and srcp->onErrType == ONERR_TYPE_PY) {
+ Py_DECREF((PyObject *)srcp->onErr);
+ }
+- PyMem_DEL(srcp);
++ PyObject_DEL(srcp);
+ }
+
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcUtils.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcUtils.patch
new file mode 100644
index 000000000000..649b2faa5b3f
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcUtils.patch
@@ -0,0 +1,16 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcUtils.c.orig
++++ src/rpcUtils.c
+@@ -276,7 +280,7 @@
+ double d;
+
+ d = PyFloat_AS_DOUBLE(value);
+- snprintf(buff, 255, "%f", d);
++ snprintf(buff, 255, "%.17f", d);
+ if ((buffConstant(sp, "<double>") == NULL)
+ or (buffConcat(sp, buff) == NULL)
+ or (buffConstant(sp, "</double>") == NULL))
diff --git a/dev-python/py-xmlrpc/metadata.xml b/dev-python/py-xmlrpc/metadata.xml
index de483c53568f..301d2207cc29 100644
--- a/dev-python/py-xmlrpc/metadata.xml
+++ b/dev-python/py-xmlrpc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>python</herd>
+ <herd>python</herd>
</pkgmetadata>
diff --git a/dev-python/py-xmlrpc/py-xmlrpc-0.8.8.3-r1.ebuild b/dev-python/py-xmlrpc/py-xmlrpc-0.8.8.3-r1.ebuild
new file mode 100644
index 000000000000..cf0c0cdb7e80
--- /dev/null
+++ b/dev-python/py-xmlrpc/py-xmlrpc-0.8.8.3-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/py-xmlrpc/py-xmlrpc-0.8.8.3-r1.ebuild,v 1.1 2010/03/01 23:46:49 neurogeek Exp $
+
+EAPI="2"
+SUPPORT_PYTHON_ABIS="1"
+inherit distutils eutils
+
+IUSE="examples"
+DESCRIPTION="Fast XML-RPC implementation for Python"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="http://sourceforge.net/projects/py-xmlrpc/"
+DEPEND="virtual/python"
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
+
+src_prepare() {
+
+ #http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+ epatch "${FILESDIR}/${PN}_patch-extra.patch"
+ epatch "${FILESDIR}/${PN}_rpcBase64.patch"
+ epatch "${FILESDIR}/${PN}_rpcClient.patch"
+ epatch "${FILESDIR}/${PN}_rpcDate.patch"
+ epatch "${FILESDIR}/${PN}_rpcDispatch.patch"
+ epatch "${FILESDIR}/${PN}_rpcUtils.patch"
+ epatch "${FILESDIR}/${PN}_rpcSource.patch"
+ distutils_src_prepare
+
+}
+
+src_install () {
+ distutils_src_install
+
+ if use examples; then
+ insinto "/usr/share/doc/${PF}/examples"
+ doins examples/*
+ insinto "/usr/share/doc/${PF}/examples/crj"
+ doins examples/crj/*
+ fi
+
+}