FreeBSD Bugzilla – Attachment 223613 Details for
Bug 253692
[NEW PORT]: databases/py-bsddb185: A Python 3.5+ module
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
databases/py-bsddb185 port
py-bsddb185.diff (text/plain), 5.34 KB, created by
bambyster
on 2021-03-26 16:43:31 UTC
(
hide
)
Description:
databases/py-bsddb185 port
Filename:
MIME Type:
Creator:
bambyster
Created:
2021-03-26 16:43:31 UTC
Size:
5.34 KB
patch
obsolete
>diff --git databases/py-bsddb185/Makefile databases/py-bsddb185/Makefile >new file mode 100644 >index 000000000000..21466635d36d >--- /dev/null >+++ databases/py-bsddb185/Makefile >@@ -0,0 +1,17 @@ >+# $FreeBSD$ >+ >+PORTNAME= bsddb185 >+PORTVERSION= 1.1 >+CATEGORIES= databases python >+MASTER_SITES= CHEESESHOP >+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} >+ >+MAINTAINER= bambyster@gmail.com >+COMMENT= Python module for BerkeleyDB 1.85 >+ >+LICENSE= PSFL >+ >+USES= python:3.5+ >+USE_PYTHON= autoplist distutils >+ >+.include <bsd.port.mk> >diff --git databases/py-bsddb185/distinfo databases/py-bsddb185/distinfo >new file mode 100644 >index 000000000000..ae568d634bab >--- /dev/null >+++ databases/py-bsddb185/distinfo >@@ -0,0 +1,3 @@ >+TIMESTAMP = 1613558429 >+SHA256 (bsddb185-1.1.tar.gz) = 5aace2afbabec2ffcfbaa39a23b4c3cd78e516c44f02ebd0653106af39286ab3 >+SIZE (bsddb185-1.1.tar.gz) = 6404 >diff --git databases/py-bsddb185/files/patch-bsddb185.c databases/py-bsddb185/files/patch-bsddb185.c >new file mode 100644 >index 000000000000..dd22de2a01ea >--- /dev/null >+++ databases/py-bsddb185/files/patch-bsddb185.c >@@ -0,0 +1,134 @@ >+--- bsddb185.c.orig 2008-05-10 14:39:44 UTC >++++ bsddb185.c >+@@ -312,7 +312,7 @@ bsddb_subscript(bsddbobject *dp, PyObject *key) >+ return NULL; >+ } >+ >+- result = PyString_FromStringAndSize(data, (int)drec.size); >++ result = PyBytes_FromStringAndSize(data, (int)drec.size); >+ if (data != buf) free(data); >+ return result; >+ } >+@@ -422,9 +422,9 @@ bsddb_keys(bsddbobject *dp) >+ if (status == 0 && data==NULL) return PyErr_NoMemory(); >+ while (status == 0) { >+ if (dp->di_type == DB_RECNO) >+- item = PyInt_FromLong(*((int*)data)); >++ item = PyLong_FromLong(*((int*)data)); >+ else >+- item = PyString_FromStringAndSize(data, >++ item = PyBytes_FromStringAndSize(data, >+ (int)krec.size); >+ if (data != buf) free(data); >+ if (item == NULL) { >+@@ -495,7 +495,7 @@ bsddb_has_key(bsddbobject *dp, PyObject *args) >+ return NULL; >+ } >+ >+- return PyInt_FromLong(status == 0); >++ return PyLong_FromLong(status == 0); >+ } >+ >+ static PyObject * >+@@ -592,10 +592,10 @@ bsddb_seq(bsddbobject *dp, int sequence_request) >+ } >+ >+ if (dp->di_type == DB_RECNO) >+- result = Py_BuildValue("is#", *((int*)kdata), >++ result = Py_BuildValue("iy#", *((int*)kdata), >+ ddata, drec.size); >+ else >+- result = Py_BuildValue("s#s#", kdata, krec.size, >++ result = Py_BuildValue("y#y#", kdata, krec.size, >+ ddata, drec.size); >+ if (kdata != kbuf) free(kdata); >+ if (ddata != dbuf) free(ddata); >+@@ -635,7 +635,7 @@ bsddb_sync(bsddbobject *dp) >+ PyErr_SetFromErrno(BsddbError); >+ return NULL; >+ } >+- return PyInt_FromLong(status = 0); >++ return PyLong_FromLong(status = 0); >+ } >+ static PyMethodDef bsddb_methods[] = { >+ {"close", (PyCFunction)bsddb_close, METH_NOARGS}, >+@@ -651,26 +651,40 @@ static PyMethodDef bsddb_methods[] = { >+ }; >+ >+ static PyObject * >+-bsddb_getattr(PyObject *dp, char *name) >++bsddb_getattro(PyObject *self, PyObject *name) >+ { >+- return Py_FindMethod(bsddb_methods, dp, name); >++ return PyObject_GenericGetAttr(self, name); >+ } >+ >+ static PyTypeObject Bsddbtype = { >+ PyObject_HEAD_INIT(NULL) >+- 0, >+ "bsddb.bsddb", >+ sizeof(bsddbobject), >+ 0, >+ (destructor)bsddb_dealloc, /*tp_dealloc*/ >+ 0, /*tp_print*/ >+- (getattrfunc)bsddb_getattr, /*tp_getattr*/ >++ 0, /*tp_getattr*/ >+ 0, /*tp_setattr*/ >+ 0, /*tp_compare*/ >+ 0, /*tp_repr*/ >+ 0, /*tp_as_number*/ >+ 0, /*tp_as_sequence*/ >+ &bsddb_as_mapping, /*tp_as_mapping*/ >++ (hashfunc)0, /*tp_hash*/ >++ (ternaryfunc)0, /*tp_call*/ >++ (reprfunc)0, /*tp_str*/ >++ (getattrofunc)bsddb_getattro, /* tp_getattro */ >++ 0, /* tp_setattro */ >++ 0, /* tp_as_buffer */ >++ Py_TPFLAGS_DEFAULT, /*tp_flags*/ >++ 0, /* tp_doc - Documentation string */ >++ 0, /* tp_traverse */ >++ 0, /* tp_clear */ >++ 0, /* tp_richcompare */ >++ 0, /* tp_weaklistoffset */ >++ 0, /* tp_iter */ >++ 0, /* tp_iternext */ >++ bsddb_methods, /* tp_methods */ >+ }; >+ >+ static PyObject * >+@@ -843,16 +857,30 @@ static PyMethodDef bsddbmodule_methods[] = { >+ {0, 0}, >+ }; >+ >++static struct PyModuleDef bsddbmodule = { >++ PyModuleDef_HEAD_INIT, >++ "bsddb185", >++ 0, >++ -1, >++ bsddbmodule_methods, >++ NULL, >++ NULL, >++ NULL, >++ NULL >++}; >++ >+ PyMODINIT_FUNC >+-initbsddb185(void) { >++PyInit_bsddb185(void) { >+ PyObject *m, *d; >+ >+- Bsddbtype.ob_type = &PyType_Type; >+- m = Py_InitModule("bsddb185", bsddbmodule_methods); >++ if (PyType_Ready(&Bsddbtype) < 0) >++ return NULL; >++ m = PyModule_Create(&bsddbmodule); >+ if (m == NULL) >+- return; >++ return NULL; >+ d = PyModule_GetDict(m); >+ BsddbError = PyErr_NewException("bsddb.error", NULL, NULL); >+ if (BsddbError != NULL) >+ PyDict_SetItemString(d, "error", BsddbError); >++ return m; >+ } >diff --git databases/py-bsddb185/pkg-descr databases/py-bsddb185/pkg-descr >new file mode 100644 >index 000000000000..2c70b73ab84e >--- /dev/null >+++ databases/py-bsddb185/pkg-descr >@@ -0,0 +1,3 @@ >+This module provides binding for the BSD DB 1.85. >+ >+WWW: https://pypi.org/project/bsddb185
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 253692
:
222638
| 223613