vim: Update to version 9.0

- Update from version 8.2 to 9.0
- Update of rootfile
- Remove gcc10 detection patch as this is now built into the source tarball
- Update hardening crash patch. The issue related to the gcc10 patch seems to suggest
   that when that is fixed then the hardening crash patch is not required but it wasn't
   100% clear. So I have left the patch in place as it only changes one line and if it
   worked with the earlier versions then it should also work now. If it is decided that
   it is not needed then it can always be removed at a future update.
- Changelog is massive with over 30000 lines.
   vim provides fixed updates such as 8.2 and 9.0 but then issues very frequent patch
   updates. For version 8.2 there are 5172 patch updates none of which have been applied
   to IPFire. All of these are now built into version 9.0
   https://vimhelp.org/version9.txt.html#new-9 provides the details of what is new with
   version 9.0, including details of all the 5172 patches.
- Key thing for version 9.0 is that there is a new Vim9 script language which is not
   backwards compatible. However the old legacy script language will continue to be
   supported so all old scripts can continue to be used.
- Version 9.0 already has 48 patches released. The releases occur virtually every day
   with several days having multiple patch releases.
- Once this 9.0 version of vim has been confirmed to work successfully by people
   experienced in using vim (I struggle to remember the set of characters to press to
   exit from an editing session), then my plan is to periodically submit an update of the
   patches, although some may be missed out as they are not relevant for IPFire - such
   as deleting Travis CI config and improving the recognition of some Visual Basic files.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
This commit is contained in:
Adolf Belka
2022-07-10 15:10:56 +02:00
committed by Peter Müller
parent 319b5ee2c6
commit be4bd649f1
5 changed files with 1653 additions and 1527 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -24,12 +24,12 @@
include Config
VER = 8.2
VER = 9.0
THISAPP = vim-$(VER)
DL_FILE = $(THISAPP).tar.bz2
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/vim82
DIR_APP = $(DIR_SRC)/vim90
TARGET = $(DIR_INFO)/$(THISAPP)
###############################################################################
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 9a4591f1745a6883ac0d30d674bf4910b054aea6ab6743bc61ea47f505f15f6f6411f4b3464f2aa342bf8acce5b975ba7da7f3d94ab671a5157d66d74d1b56f4
$(DL_FILE)_BLAKE2 = 824208c9dd9c2c64ab16112146cfff70e7722c34aacb119129ca6c46afe6306a7e989519a2a7a0e78cb84e6617149233e7148cc805ccd9c9dc048ad2b76add10
install : $(TARGET)
@@ -70,8 +70,7 @@ $(subst %,%_BLAKE2,$(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) && patch -Np1 < $(DIR_SRC)/src/patches/vim/vim-9.0_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

@@ -1,14 +0,0 @@
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

@@ -1,14 +0,0 @@
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;

View File

@@ -0,0 +1,15 @@
source: https://github.com/vim/vim/issues/5581
diff -Naur vim90/src/structs.h.orig vim90/src/structs.h
--- vim90/src/structs.h.orig 2022-06-14 14:26:55.000000000 +0200
+++ vim90/src/structs.h 2022-07-09 15:41:39.320170402 +0200
@@ -1542,7 +1542,7 @@
{
typval_T di_tv; // type and value of the variable
char_u di_flags; // 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;