vim: update to 8.2 and fix crash with gcc-10

the configure.ac has a bug that detects gcc-10 as gcc-1 and so not use
some quirks. Also there is a bug with FORTIFY-SOURCE=2 that crash
if the matchparen plugin is used (enabled by default).

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
Arne Fitzenreiter
2020-08-29 17:13:58 +02:00
parent 5300e13516
commit 2c8819992e
4 changed files with 1528 additions and 1455 deletions

File diff suppressed because it is too large Load Diff

10
lfs/vim
View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2019 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,12 +24,12 @@
include Config
VER = 8.1
VER = 8.2
THISAPP = vim-$(VER)
DL_FILE = $(THISAPP).tar.bz2
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/vim81
DIR_APP = $(DIR_SRC)/vim82
TARGET = $(DIR_INFO)/$(THISAPP)
###############################################################################
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 1739a1df312305155285f0cfa6118294
$(DL_FILE)_MD5 = 2f3e6ab74d20eea2dc00cedc3f0ee4e8
install : $(TARGET)
@@ -70,6 +70,8 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/vim/vim-8.2_fix_gcc10_detection.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/vim/vim-8.2_fix_hardening_crash.patch
cd $(DIR_APP) && echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
cd $(DIR_APP) && ./configure \
--prefix=/usr \

View File

@@ -0,0 +1,14 @@
Source: https://github.com/vim/vim/issues/5580
diff -Naur vim82.org/src/configure.ac vim82/src/configure.ac
--- vim82.org/src/configure.ac 2020-08-29 13:21:13.367288796 +0200
+++ vim82/src/configure.ac 2020-08-29 13:22:53.837729453 +0200
@@ -4447,7 +4447,7 @@
DEPEND_CFLAGS_FILTER=
if test "$GCC" = yes; then
AC_MSG_CHECKING(for GCC 3 or later)
- gccmajor=`echo "$gccversion" | sed -e 's/^\([[1-9]]\)\..*$/\1/g'`
+ gccmajor=`echo "$gccversion" | sed -e 's/^\([[0-9]]\+\)\..*$/\1/g'`
if test "$gccmajor" -gt "2"; then
DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
AC_MSG_RESULT(yes)

View File

@@ -0,0 +1,14 @@
source: https://github.com/vim/vim/issues/5581
diff -Naur vim82.org/src/structs.h vim82/src/structs.h
--- vim82.org/src/structs.h 2020-08-29 13:21:25.511583763 +0200
+++ vim82/src/structs.h 2020-08-29 13:44:00.110575350 +0200
@@ -1412,7 +1412,7 @@
{
typval_T di_tv; // type and value of the variable
char_u di_flags; // flags (only used for variable)
- char_u di_key[1]; // key (actually longer!)
+ char_u di_key[]; // key (actually longer!)
};
typedef struct dictitem_S dictitem_T;