File python_38.patch of Package python-leveldb
From 93547221d6ff19418491201b8f2931c10413102b Mon Sep 17 00:00:00 2001
From: Carl George <carl@george.computer>
Date: Sun, 8 Sep 2019 07:32:44 -0500
Subject: [PATCH] Fix method descriptors for Python 3.8
Importing leveldb in Python 3.8 raises `SystemError: bad call flags`.
This is due to a change in Python where the method descriptor flags are
checked at import time, rather than when the methods are called. This
change fixes the incorrect method description.
Adapted from @vstinner's fix for the same problem in libcomps.
https://github.com/rpm-software-management/libcomps/pull/50
---
leveldb_object.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/leveldb_object.cc b/leveldb_object.cc
index ec9756f..da88d42 100644
--- a/leveldb_object.cc
+++ b/leveldb_object.cc
@@ -763,7 +763,7 @@ static PyMethodDef PyLevelDB_methods[] = {
{(char*)"Delete", (PyCFunction)PyLevelDB_Delete, METH_VARARGS | METH_KEYWORDS, (char*)"delete a value in the database" },
{(char*)"Write", (PyCFunction)PyLevelDB_Write, METH_VARARGS | METH_KEYWORDS, (char*)"apply a write-batch"},
{(char*)"RangeIter", (PyCFunction)PyLevelDB_RangeIter, METH_VARARGS | METH_KEYWORDS, (char*)"key/value range scan"},
- {(char*)"GetStats", (PyCFunction)PyLevelDB_GetStatus, METH_VARARGS | METH_NOARGS, (char*)"get a mapping of all DB statistics"},
+ {(char*)"GetStats", (PyCFunction)PyLevelDB_GetStatus, METH_NOARGS, (char*)"get a mapping of all DB statistics"},
{(char*)"CreateSnapshot", (PyCFunction)PyLevelDB_CreateSnapshot, METH_NOARGS, (char*)"create a new snapshot from current DB state"},
{(char*)"CompactRange", (PyCFunction)PyLevelDB_CompactRange, METH_VARARGS | METH_KEYWORDS, (char*)"Compact keys in the range"},
{NULL}