+From 45d0154a1e0bf167656d1ef4050de782452aad2c Mon Sep 17 00:00:00 2001
+From: Victor Stinner <vstinner@redhat.com>
+Date: Wed, 31 Jul 2019 15:03:36 +0200
+Subject: [PATCH] Fix Python method descriptors for Python 3.8
+
+The Python binding cannot be loaded in Python 3.8: import libcomps
+fails with:
+
+ Traceback (most recent call last):
+ File "src/python/src/python3/libcomps/__init__.py", line 1, in <module>
+ from ._libpycomps import *
+ SystemError: bad call flags
+
+Fedora bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1734777
+
+The problem are the following method descriptors of
+libcomps/src/python/src/pycomps.c:
+
+ {"categories_match", (PyCFunction)PyCOMPS_categories_match, METH_KEYWORDS,
+ PyCOMPS_validate__doc__},
+ {"environments_match", (PyCFunction)PyCOMPS_envs_match, METH_KEYWORDS,
+ PyCOMPS_validate__doc__},
+
+In Python 3.7, import didn't check descriptor flags (METH_KEYWORDS):
+these flags were only checked when the methods were called.
+
+In Python 3.8, the flags are checked at soon as the module is
+imported, which prevents the module to be imported.
+
+This change fix the two method descriptors.
+---
+ libcomps/src/python/src/pycomps.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libcomps/src/python/src/pycomps.c b/libcomps/src/python/src/pycomps.c
+index b34685c..293a338 100644
+--- a/libcomps/src/python/src/pycomps.c
++++ b/libcomps/src/python/src/pycomps.c
+@@ -766,9 +766,9 @@ PyDoc_STRVAR(PyCOMPS_arch_filter__doc__,
+ static PyMethodDef PyCOMPS_methods[] = {
+ {"groups_match", (PyCFunction)PyCOMPS_groups_match, METH_VARARGS | METH_KEYWORDS,
+ PyCOMPS_validate__doc__},
+- {"categories_match", (PyCFunction)PyCOMPS_categories_match, METH_KEYWORDS,
++ {"categories_match", (PyCFunction)PyCOMPS_categories_match, METH_VARARGS | METH_KEYWORDS,
+ PyCOMPS_validate__doc__},
+- {"environments_match", (PyCFunction)PyCOMPS_envs_match, METH_KEYWORDS,
++ {"environments_match", (PyCFunction)PyCOMPS_envs_match, METH_VARARGS | METH_KEYWORDS,
+ PyCOMPS_validate__doc__},
+ {"validate", (PyCFunction)PyCOMPS_validate, METH_NOARGS,
+ PyCOMPS_validate__doc__},