2222671 - fix FTBFS due Python3 rebase
2222648 - fix FailToInstall due Perl rebase
This commit is contained in:
parent
1da81559a3
commit
74af866c9b
@ -0,0 +1,62 @@
|
|||||||
|
From 939e0db21a5145d6a84eb8922ba3dc3a14fb4572 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zdenek Dohnal <zdohnal@redhat.com>
|
||||||
|
Date: Wed, 12 Jul 2023 13:13:38 +0200
|
||||||
|
Subject: [PATCH] if_python3.c: Fix building dynamic Python3 interpreter
|
||||||
|
|
||||||
|
There are new extern global variables defined in python3 development
|
||||||
|
files, which types are within python3 library, so they break dynamic
|
||||||
|
python3 interpret Vim plugin.
|
||||||
|
|
||||||
|
Since the variables are used in macro `Py_SIZE` which is used in other
|
||||||
|
python3 headers, the dummy variables have to defined before including
|
||||||
|
Python.h.
|
||||||
|
---
|
||||||
|
src/if_python3.c | 11 +++++++++--
|
||||||
|
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/if_python3.c b/src/if_python3.c
|
||||||
|
index 240b88fac..f6704a31e 100644
|
||||||
|
--- a/src/if_python3.c
|
||||||
|
+++ b/src/if_python3.c
|
||||||
|
@@ -68,6 +68,8 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define PY_SSIZE_T_CLEAN
|
||||||
|
+#define PyLong_Type (*py3_PyLong_Type)
|
||||||
|
+#define PyBool_Type (*py3_PyBool_Type)
|
||||||
|
|
||||||
|
#include <Python.h>
|
||||||
|
|
||||||
|
@@ -270,7 +272,6 @@ static HINSTANCE hinstPy3 = 0; // Instance of python.dll
|
||||||
|
# define PyFloat_Type (*py3_PyFloat_Type)
|
||||||
|
# define PyNumber_Check (*py3_PyNumber_Check)
|
||||||
|
# define PyNumber_Long (*py3_PyNumber_Long)
|
||||||
|
-# define PyBool_Type (*py3_PyBool_Type)
|
||||||
|
# define PyErr_NewException py3_PyErr_NewException
|
||||||
|
# ifdef Py_DEBUG
|
||||||
|
# define _Py_NegativeRefcount py3__Py_NegativeRefcount
|
||||||
|
@@ -448,7 +449,10 @@ static PyTypeObject* py3_PyType_Type;
|
||||||
|
static PyTypeObject* py3_PyStdPrinter_Type;
|
||||||
|
static PyTypeObject* py3_PySlice_Type;
|
||||||
|
static PyTypeObject* py3_PyFloat_Type;
|
||||||
|
-static PyTypeObject* py3_PyBool_Type;
|
||||||
|
+PyTypeObject* py3_PyBool_Type;
|
||||||
|
+# if PY_VERSION_HEX >= 0x030c00b0
|
||||||
|
+PyTypeObject* py3_PyLong_Type;
|
||||||
|
+# endif
|
||||||
|
static int (*py3_PyNumber_Check)(PyObject *);
|
||||||
|
static PyObject* (*py3_PyNumber_Long)(PyObject *);
|
||||||
|
static PyObject* (*py3_PyErr_NewException)(char *name, PyObject *base, PyObject *dict);
|
||||||
|
@@ -624,6 +628,9 @@ static struct
|
||||||
|
{"PySlice_Type", (PYTHON_PROC*)&py3_PySlice_Type},
|
||||||
|
{"PyFloat_Type", (PYTHON_PROC*)&py3_PyFloat_Type},
|
||||||
|
{"PyBool_Type", (PYTHON_PROC*)&py3_PyBool_Type},
|
||||||
|
+# if PY_VERSION_HEX >= 0x030c00b0
|
||||||
|
+ {"PyLong_Type", (PYTHON_PROC*)&py3_PyLong_Type},
|
||||||
|
+# endif
|
||||||
|
{"PyNumber_Check", (PYTHON_PROC*)&py3_PyNumber_Check},
|
||||||
|
{"PyNumber_Long", (PYTHON_PROC*)&py3_PyNumber_Long},
|
||||||
|
{"PyErr_NewException", (PYTHON_PROC*)&py3_PyErr_NewException},
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
48
perl538.patch
Normal file
48
perl538.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
diff --git a/src/if_perl.xs b/src/if_perl.xs
|
||||||
|
index c69ed9ef1..2cf78b901 100644
|
||||||
|
--- a/src/if_perl.xs
|
||||||
|
+++ b/src/if_perl.xs
|
||||||
|
@@ -40,7 +40,7 @@
|
||||||
|
/* Work around for perl-5.18.
|
||||||
|
* Don't include "perl\lib\CORE\inline.h" for now,
|
||||||
|
* include it after Perl_sv_free2 is defined. */
|
||||||
|
-#ifdef DYNAMIC_PERL
|
||||||
|
+#if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
|
||||||
|
# define PERL_NO_INLINE_FUNCTIONS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -402,14 +402,14 @@ static bool (*Perl_sv_2bool)(pTHX_ SV*);
|
||||||
|
static IV (*Perl_sv_2iv)(pTHX_ SV*);
|
||||||
|
static SV* (*Perl_sv_2mortal)(pTHX_ SV*);
|
||||||
|
# if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
|
||||||
|
-static char* (*Perl_sv_2pv_flags)(pTHX_ SV*, STRLEN*, I32);
|
||||||
|
+static char* (*Perl_sv_2pv_flags)(pTHX_ SV*, STRLEN* const, const U32);
|
||||||
|
static char* (*Perl_sv_2pv_nolen)(pTHX_ SV*);
|
||||||
|
# else
|
||||||
|
static char* (*Perl_sv_2pv)(pTHX_ SV*, STRLEN*);
|
||||||
|
# endif
|
||||||
|
static char* (*Perl_sv_2pvbyte)(pTHX_ SV*, STRLEN*);
|
||||||
|
# if (PERL_REVISION == 5) && (PERL_VERSION >= 32)
|
||||||
|
-static char* (*Perl_sv_2pvbyte_flags)(pTHX_ SV*, STRLEN*, I32);
|
||||||
|
+static char* (*Perl_sv_2pvbyte_flags)(pTHX_ SV*, STRLEN* const, const U32);
|
||||||
|
# endif
|
||||||
|
static SV* (*Perl_sv_bless)(pTHX_ SV*, HV*);
|
||||||
|
# if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
|
||||||
|
@@ -710,7 +710,7 @@ S_POPMARK(pTHX)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* perl-5.34 needs Perl_SvTRUE_common; used in SvTRUE_nomg_NN */
|
||||||
|
-# if (PERL_REVISION == 5) && (PERL_VERSION >= 34)
|
||||||
|
+# if (PERL_REVISION == 5) && (PERL_VERSION == 34)
|
||||||
|
PERL_STATIC_INLINE bool
|
||||||
|
Perl_SvTRUE_common(pTHX_ SV * sv, const bool sv_2bool_is_fallback)
|
||||||
|
{
|
||||||
|
@@ -737,7 +737,7 @@ Perl_SvTRUE_common(pTHX_ SV * sv, const bool sv_2bool_is_fallback)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* perl-5.32 needs Perl_SvTRUE */
|
||||||
|
-# if (PERL_REVISION == 5) && (PERL_VERSION >= 32)
|
||||||
|
+# if (PERL_REVISION == 5) && (PERL_VERSION == 32)
|
||||||
|
PERL_STATIC_INLINE bool
|
||||||
|
Perl_SvTRUE(pTHX_ SV *sv) {
|
||||||
|
if (!LIKELY(sv))
|
10
vim.spec
10
vim.spec
@ -98,6 +98,10 @@ Patch3003: vim-python3-tests.patch
|
|||||||
Patch3004: vim-crypto-warning.patch
|
Patch3004: vim-crypto-warning.patch
|
||||||
# don't ever set mouse (Fedora downstream patch)
|
# don't ever set mouse (Fedora downstream patch)
|
||||||
Patch3005: vim-8.0-copy-paste.patch
|
Patch3005: vim-8.0-copy-paste.patch
|
||||||
|
# https://github.com/vim/vim/pull/12660
|
||||||
|
Patch3006: 0001-if_python3.c-Fix-building-dynamic-Python3-interprete.patch
|
||||||
|
# https://github.com/vim/vim/pull/12575 + https://github.com/vim/vim/pull/12575#issuecomment-1634226250
|
||||||
|
Patch3007: perl538.patch
|
||||||
|
|
||||||
|
|
||||||
# uses autoconf in spec file
|
# uses autoconf in spec file
|
||||||
@ -408,6 +412,8 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
|
|||||||
%patch -P 3003 -p1 -b .python-tests
|
%patch -P 3003 -p1 -b .python-tests
|
||||||
%patch -P 3004 -p1 -b .fips-warning
|
%patch -P 3004 -p1 -b .fips-warning
|
||||||
%patch -P 3005 -p1 -b .copypaste
|
%patch -P 3005 -p1 -b .copypaste
|
||||||
|
%patch -P 3006 -p1 -b .python312
|
||||||
|
%patch -P 3007 -p1 -b .perl538
|
||||||
|
|
||||||
%build
|
%build
|
||||||
cd src
|
cd src
|
||||||
@ -1030,6 +1036,10 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 13 2023 Zdenek Dohnal <zdohnal@redhat.com> - 2:9.0.1677-1
|
||||||
|
- 2222671 - fix FTBFS due Python3 rebase
|
||||||
|
- 2222648 - fix FailToInstall due Perl rebase
|
||||||
|
|
||||||
* Tue Jul 11 2023 Zdenek Dohnal <zdohnal@redhat.com> - 2:9.0.1677-1
|
* Tue Jul 11 2023 Zdenek Dohnal <zdohnal@redhat.com> - 2:9.0.1677-1
|
||||||
- patchlevel 1677
|
- patchlevel 1677
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user