From f1c220076afc0c111b255c5855d2e16489b2e56f Mon Sep 17 00:00:00 2001 From: wangjiang Date: Mon, 7 Aug 2023 08:56:20 +0000 Subject: [PATCH] fix build failed due to Perl upgrade --- ...fix-build-failed-due-to-Perl-upgrade.patch | 79 +++++++++++++++++++ vim.spec | 9 ++- 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 backport-fix-build-failed-due-to-Perl-upgrade.patch diff --git a/backport-fix-build-failed-due-to-Perl-upgrade.patch b/backport-fix-build-failed-due-to-Perl-upgrade.patch new file mode 100644 index 0000000..a3bf994 --- /dev/null +++ b/backport-fix-build-failed-due-to-Perl-upgrade.patch @@ -0,0 +1,79 @@ +From 0212089f2742173bbb6b8f1c62b19cb9795629d4 Mon Sep 17 00:00:00 2001 +From: Philip H <47042125+pheiduck@users.noreply.github.com> +Date: Thu, 22 Jun 2023 08:55:47 +0200 +Subject: [PATCH] fix build failed due to Perl upgrade + +Solution: https://github.com/vim/vim/pull/12575 +--- + src/if_perl.xs | 14 +++++++------- + 1 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/if_perl.xs b/src/if_perl.xs +index 1afb1d4..9dbfdab 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 + +@@ -397,14 +397,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) +@@ -705,7 +705,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) + { +@@ -732,7 +732,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)) +@@ -1645,7 +1645,7 @@ Buffers(...) + PPCODE: + if (items == 0) + { +- if (GIMME == G_SCALAR) ++ if (GIMME_V == G_SCALAR) + { + i = 0; + FOR_ALL_BUFFERS(vimbuf) +@@ -1696,7 +1696,7 @@ Windows(...) + PPCODE: + if (items == 0) + { +- if (GIMME == G_SCALAR) ++ if (GIMME_V == G_SCALAR) + XPUSHs(sv_2mortal(newSViv(win_count()))); + else + { +-- +2.33.0 + diff --git a/vim.spec b/vim.spec index ae0a417..cd2ac67 100644 --- a/vim.spec +++ b/vim.spec @@ -12,7 +12,7 @@ Name: vim Epoch: 2 Version: 9.0 -Release: 33 +Release: 34 Summary: Vim is a highly configurable text editor for efficiently creating and changing any kind of text. License: Vim and MIT URL: http://www.vim.org @@ -97,6 +97,7 @@ Patch6066: backport-vim-7.0-rclocation.patch Patch6067: backport-CVE-2023-2426.patch Patch6068: backport-CVE-2023-2609.patch Patch6069: backport-CVE-2023-2610.patch +Patch6070: backport-fix-build-failed-due-to-Perl-upgrade.patch Patch9000: bugfix-rm-modify-info-version.patch @@ -504,6 +505,12 @@ LC_ALL=en_US.UTF-8 make -j1 test %{_mandir}/man1/evim.* %changelog +* Mon Aug 07 2023 wangjiang - 2:9.0-34 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:fix build failed due to Perl upgrade + * Sat May 13 2023 wangjiang - 2:9.0-33 - Type:CVE - ID:CVE-2023-2609 CVE-2023-2610 -- Gitee