mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-01 11:18:09 -07:00
dev-python/py-xmlrpc: Clean up old version
This commit is contained in:
@@ -1,2 +1 @@
|
||||
DIST py-xmlrpc-0.8.8.3.tar.gz 62260 SHA256 12527f130dd695184c44c6197deb619c26c9b5b31ce7699a5dd97e0ad2dd7bd1 SHA512 cae7c8a0aa7aceedee5e38d056a66c02a7c6e30f9de24bba961aa65d3dbc32d01cc9d2bd9cc104e4d34d9ebf711c18934b31f9b25edbc854ff79d4b30a024aa0 WHIRLPOOL f2e97a4568f7092ab9e704189c83602e4564ae72ac1233dd7daf6ff36ca2bdbf760c773252c67f900ae0b9fba8eaa4ef1d6924b23d8cd996e95873277526c0dc
|
||||
DIST py-xmlrpc-0.9.tar.gz 51200 SHA256 a2f0d1e01f5b8c8b713b204cdf363273b41c10637ad1acbed2a96f29505d3717 SHA512 5a5c0382975ef25183c9b40cf9795e9c87369efc3b11e31845c2a818e3ff88ea753fa923af7d6c493c02008dce4f3bf92c2f719871b4c7d5a24a20a5f2de32c9 WHIRLPOOL 93b3cd0f2acd4fa6f326cf14a7583880abea4c13576eb4c6e9bfebcea21860f301af30d676b08b2b9cc6df1ad8e05746c717dae7174720da377974ec94909de1
|
||||
|
||||
@@ -1,338 +0,0 @@
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
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))
|
||||
@@ -1,48 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="3"
|
||||
PYTHON_DEPEND="2"
|
||||
SUPPORT_PYTHON_ABIS="1"
|
||||
RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-* *-jython"
|
||||
|
||||
inherit distutils eutils
|
||||
|
||||
DESCRIPTION="Fast XML-RPC implementation for Python"
|
||||
HOMEPAGE="https://sourceforge.net/projects/py-xmlrpc/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha ~amd64 ia64 ppc sparc x86"
|
||||
IUSE="examples"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
PYTHON_MODNAME="pyxmlrpclib.py xmlrpc.py"
|
||||
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user