Files
bpfire/lfs/vim
Adolf Belka be4bd649f1 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>
2022-07-11 13:04:05 +00:00

89 lines
3.5 KiB
Plaintext

###############################################################################
# #
# IPFire.org - A linux based firewall #
# 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 #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 9.0
THISAPP = vim-$(VER)
DL_FILE = $(THISAPP).tar.bz2
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/vim90
TARGET = $(DIR_INFO)/$(THISAPP)
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 824208c9dd9c2c64ab16112146cfff70e7722c34aacb119129ca6c46afe6306a7e989519a2a7a0e78cb84e6617149233e7148cc805ccd9c9dc048ad2b76add10
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
b2 : $(subst %,%_BLAKE2,$(objects))
###############################################################################
# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_BLAKE2,$(objects)) :
@$(B2SUM)
###############################################################################
# Installation Details
###############################################################################
$(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-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 \
--with-features=huge \
--enable-multibyte \
--enable-gui=no \
--disable-nls
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
ln -svf vim /usr/bin/vi
install -m 644 $(DIR_SRC)/config/vim/vimrc /etc/vimrc
@rm -rf $(DIR_APP)
@$(POSTBUILD)