From 4a3d69d73c20a7afe7fa3a560ad3ce6dc71e347c Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Jul 23 2020 10:18:05 +0000 Subject: python3 dynamic linking patch is already in upstream, remove it --- diff --git a/0001-src-if_python3.c-fix-build-with-python-3.9.patch b/0001-src-if_python3.c-fix-build-with-python-3.9.patch deleted file mode 100644 index 1ec1181..0000000 --- a/0001-src-if_python3.c-fix-build-with-python-3.9.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 39049f0fc3562330e75ccdcca230a5bb8de2babf Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal -Date: Thu, 16 Jul 2020 13:37:18 +0200 -Subject: [PATCH] src/if_python3.c: fix build with python 3.9 - ---- - src/if_python3.c | 40 +++++++++++++++++++++++++++++++++++++--- - 1 file changed, 37 insertions(+), 3 deletions(-) - -diff --git a/src/if_python3.c b/src/if_python3.c -index d540226b3..843fa079f 100644 ---- a/src/if_python3.c -+++ b/src/if_python3.c -@@ -203,6 +203,9 @@ typedef PySliceObject PySliceObject_T; - # define PySys_GetObject py3_PySys_GetObject - # define PySys_SetArgv py3_PySys_SetArgv - # define PyType_Ready py3_PyType_Ready -+# if PY_VERSION_HEX >= 0x030900b0 -+# define PyType_GetFlags py3_PyType_GetFlags -+# endif - #undef Py_BuildValue - # define Py_BuildValue py3_Py_BuildValue - # define Py_SetPythonHome py3_Py_SetPythonHome -@@ -233,6 +236,9 @@ typedef PySliceObject PySliceObject_T; - # define PyBytes_FromString py3_PyBytes_FromString - # undef PyBytes_FromStringAndSize - # define PyBytes_FromStringAndSize py3_PyBytes_FromStringAndSize -+# if defined(Py_DEBUG) || PY_VERSION_HEX >= 0x030900b0 -+# define _Py_Dealloc py3__Py_Dealloc -+# endif - # define PyFloat_FromDouble py3_PyFloat_FromDouble - # define PyFloat_AsDouble py3_PyFloat_AsDouble - # define PyObject_GenericGetAttr py3_PyObject_GenericGetAttr -@@ -247,7 +253,6 @@ typedef PySliceObject PySliceObject_T; - # ifdef Py_DEBUG - # define _Py_NegativeRefcount py3__Py_NegativeRefcount - # define _Py_RefTotal (*py3__Py_RefTotal) --# define _Py_Dealloc py3__Py_Dealloc - # define PyModule_Create2TraceRefs py3_PyModule_Create2TraceRefs - # else - # define PyModule_Create2 py3_PyModule_Create2 -@@ -287,6 +292,10 @@ typedef PySliceObject PySliceObject_T; - # define PyObject_NEW(type, typeobj) \ - ( (type *) PyObject_Init( \ - (PyObject *) _PyObject_DebugMalloc( _PyObject_SIZE(typeobj) ), (typeobj)) ) -+# elif PY_VERSION_HEX >= 0x030900b0 -+# undef PyObject_NEW -+# define PyObject_NEW(type, typeobj) \ -+ ((type *)py3__PyObject_New(typeobj)) - # endif - - /* -@@ -352,6 +361,9 @@ static PyObject* (*py3_PyObject_Repr)(PyObject *); - static PyObject* (*py3_PyObject_GetItem)(PyObject *, PyObject *); - static int (*py3_PyObject_IsTrue)(PyObject *); - static PyObject* (*py3_Py_BuildValue)(char *, ...); -+# if PY_VERSION_HEX >= 0x030900b0 -+static int (*py3_PyType_GetFlags)(PyTypeObject *o); -+# endif - static int (*py3_PyType_Ready)(PyTypeObject *type); - static int (*py3_PyDict_SetItemString)(PyObject *dp, char *key, PyObject *item); - static PyObject* (*py3_PyUnicode_FromString)(const char *u); -@@ -396,6 +408,12 @@ static char* (*py3_PyBytes_AsString)(PyObject *bytes); - static int (*py3_PyBytes_AsStringAndSize)(PyObject *bytes, char **buffer, Py_ssize_t *length); - static PyObject* (*py3_PyBytes_FromString)(char *str); - static PyObject* (*py3_PyBytes_FromStringAndSize)(char *str, Py_ssize_t length); -+# if defined(Py_DEBUG) || PY_VERSION_HEX >= 0x030900b0 -+static void (*py3__Py_Dealloc)(PyObject *obj); -+# endif -+# if PY_VERSION_HEX >= 0x030900b0 -+static PyObject* (*py3__PyObject_New)(PyTypeObject *); -+# endif - static PyObject* (*py3_PyFloat_FromDouble)(double num); - static double (*py3_PyFloat_AsDouble)(PyObject *); - static PyObject* (*py3_PyObject_GenericGetAttr)(PyObject *obj, PyObject *name); -@@ -414,7 +432,6 @@ static void* (*py3_PyCapsule_GetPointer)(PyObject *, char *); - # ifdef Py_DEBUG - static void (*py3__Py_NegativeRefcount)(const char *fname, int lineno, PyObject *op); - static Py_ssize_t* py3__Py_RefTotal; --static void (*py3__Py_Dealloc)(PyObject *obj); - static PyObject* (*py3_PyModule_Create2TraceRefs)(struct PyModuleDef* module, int module_api_version); - # else - static PyObject* (*py3_PyModule_Create2)(struct PyModuleDef* module, int module_api_version); -@@ -525,6 +542,9 @@ static struct - {"PyObject_IsTrue", (PYTHON_PROC*)&py3_PyObject_IsTrue}, - {"PyLong_FromLong", (PYTHON_PROC*)&py3_PyLong_FromLong}, - {"PyDict_New", (PYTHON_PROC*)&py3_PyDict_New}, -+# if PY_VERSION_HEX >= 0x030900b0 -+ {"PyType_GetFlags", (PYTHON_PROC*)&py3_PyType_GetFlags}, -+# endif - {"PyType_Ready", (PYTHON_PROC*)&py3_PyType_Ready}, - {"PyDict_SetItemString", (PYTHON_PROC*)&py3_PyDict_SetItemString}, - {"PyLong_AsLong", (PYTHON_PROC*)&py3_PyLong_AsLong}, -@@ -562,6 +582,12 @@ static struct - {"PyBytes_AsStringAndSize", (PYTHON_PROC*)&py3_PyBytes_AsStringAndSize}, - {"PyBytes_FromString", (PYTHON_PROC*)&py3_PyBytes_FromString}, - {"PyBytes_FromStringAndSize", (PYTHON_PROC*)&py3_PyBytes_FromStringAndSize}, -+# if defined(Py_DEBUG) || PY_VERSION_HEX >= 0x030900b0 -+ {"_Py_Dealloc", (PYTHON_PROC*)&py3__Py_Dealloc}, -+# endif -+# if PY_VERSION_HEX >= 0x030900b0 -+ {"_PyObject_New", (PYTHON_PROC*)&py3__PyObject_New}, -+# endif - {"PyFloat_FromDouble", (PYTHON_PROC*)&py3_PyFloat_FromDouble}, - {"PyFloat_AsDouble", (PYTHON_PROC*)&py3_PyFloat_AsDouble}, - {"PyObject_GenericGetAttr", (PYTHON_PROC*)&py3_PyObject_GenericGetAttr}, -@@ -578,7 +604,6 @@ static struct - # ifdef Py_DEBUG - {"_Py_NegativeRefcount", (PYTHON_PROC*)&py3__Py_NegativeRefcount}, - {"_Py_RefTotal", (PYTHON_PROC*)&py3__Py_RefTotal}, -- {"_Py_Dealloc", (PYTHON_PROC*)&py3__Py_Dealloc}, - {"PyModule_Create2TraceRefs", (PYTHON_PROC*)&py3_PyModule_Create2TraceRefs}, - # else - {"PyModule_Create2", (PYTHON_PROC*)&py3_PyModule_Create2}, -@@ -634,6 +659,15 @@ py3__Py_XDECREF(PyObject *op) - # define Py_XDECREF(op) py3__Py_XDECREF(_PyObject_CAST(op)) - # endif - -+# if PY_VERSION_HEX >= 0x030900b0 -+ static inline int -+py3_PyType_HasFeature(PyTypeObject *type, unsigned long feature) -+{ -+ return ((PyType_GetFlags(type) & feature) != 0); -+} -+# define PyType_HasFeature(t,f) py3_PyType_HasFeature(t,f) -+# endif -+ - /* - * Load library and get all pointers. - * Parameter 'libname' provides name of DLL. --- -2.25.4 - diff --git a/vim.spec b/vim.spec index dc076c6..7e8e74e 100644 --- a/vim.spec +++ b/vim.spec @@ -21,7 +21,7 @@ Summary: The VIM editor URL: http://www.vim.org/ Name: vim Version: %{baseversion}.%{patchlevel} -Release: 3%{?dist} +Release: 4%{?dist} License: Vim and MIT Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}-%{patchlevel}.tar.bz2 Source1: vim.sh @@ -59,8 +59,6 @@ Patch3016: vim-8.0-copy-paste.patch Patch3017: vim-python3-tests.patch # fips warning Patch3018: vim-crypto-warning.patch -# fix dynamic python3 linking with python3.8 -Patch3019: 0001-src-if_python3.c-fix-build-with-python-3.9.patch # gcc is no longer in buildroot by default BuildRequires: gcc @@ -248,7 +246,6 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk %patch3016 -p1 -b .copypaste %patch3017 -p1 -b .python-tests %patch3018 -p1 -%patch3019 -p1 -b .python38-ftbfs %build cd src @@ -775,6 +772,9 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %{_datadir}/icons/locolor/*/apps/* %changelog +* Thu Jul 23 2020 Zdenek Dohnal - 2:8.2.1224-4 +- python3 dynamic linking patch is already in upstream, remove it + * Wed Jul 22 2020 Zdenek Dohnal - 2:8.2.1224-3 - use %%make_build and %%make_install according FPG