Files
poky/meta/recipes-support/vim/vim.inc
Alexander Kanavin 9afce96eba vim: do not report upstream version check as broken
As upstream tags point releases with every commit and
the version check still reports 8.2, it should not be considered
broken (e.g. current version newer than latest version)
until 8.3 is released.

(From OE-Core rev: 11d8ee09b1bdec4824203dc0169093b2ae9d101a)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-17 09:56:14 +00:00

158 lines
5.5 KiB
PHP

SUMMARY = "Vi IMproved - enhanced vi editor"
DESCRIPTION = "Vim is a greatly improved version of the good old UNIX editor Vi. Many new features have been added: multi-level undo, syntax highlighting, command line history, on-line help, spell checking, filename completion, block operations, script language, etc. There is also a Graphical User Interface (GUI) available."
SECTION = "console/utils"
HOMEPAGE = "https://www.vim.org/"
BUGTRACKER = "https://github.com/vim/vim/issues"
DEPENDS = "ncurses gettext-native"
# vimdiff doesn't like busybox diff
RSUGGESTS:${PN} = "diffutils"
LICENSE = "vim"
LIC_FILES_CHKSUM = "file://runtime/doc/uganda.txt;endline=287;md5=909f1394892b7e0f9c2a95306c0c552b"
SRC_URI = "git://github.com/vim/vim.git;branch=master;protocol=https \
file://disable_acl_header_check.patch \
file://vim-add-knob-whether-elf.h-are-checked.patch \
file://0001-src-Makefile-improve-reproducibility.patch \
file://no-path-adjust.patch \
file://racefix.patch \
"
PV .= ".3752"
SRCREV = "8603be338ac810446f23c092f21bc6082f787519"
# Remove when 8.3 is out
UPSTREAM_VERSION_UNKNOWN = "1"
# Do not consider .z in x.y.z, as that is updated with every commit
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+)\.0"
# CVE-2021-3968 is related to an issue which was introduced after 8.2, this can be removed after 8.3.
CVE_CHECK_WHITELIST += "CVE-2021-3968"
S = "${WORKDIR}/git"
VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}"
inherit autotools-brokensep update-alternatives mime-xdg
CLEANBROKEN = "1"
# vim configure.in contains functions which got 'dropped' by autotools.bbclass
do_configure () {
cd src
rm -f auto/*
touch auto/config.mk
aclocal
autoconf
cd ..
oe_runconf
touch src/auto/configure
touch src/auto/config.mk src/auto/config.h
}
do_compile() {
# We do not support fully / correctly the following locales. Attempting
# to use these with msgfmt in order to update the ".desktop" files exposes
# this problem and leads to the compile failing.
for LOCALE in cs fr ko pl sk zh_CN zh_TW;do
echo -n > src/po/${LOCALE}.po
done
autotools_do_compile
}
PACKAGECONFIG ??= "\
${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \
nls \
"
PACKAGECONFIG[gtkgui] = "--enable-gui=gtk3,--enable-gui=no,gtk+3"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
PACKAGECONFIG[nls] = "--enable-nls,--disable-nls,,"
PACKAGECONFIG[sound] = "--enable-canberra,--disable-canberra,canberra,"
EXTRA_OECONF = " \
--disable-gpm \
--disable-gtktest \
--disable-xim \
--disable-netbeans \
--disable-desktop-database-update \
--with-tlib=ncurses \
ac_cv_small_wchar_t=no \
ac_cv_path_GLIB_COMPILE_RESOURCES=no \
vim_cv_getcwd_broken=no \
vim_cv_memmove_handles_overlap=yes \
vim_cv_stat_ignores_slash=no \
vim_cv_terminfo=yes \
vim_cv_tgetent=non-zero \
vim_cv_toupper_broken=no \
vim_cv_tty_group=world \
STRIP=/bin/true \
"
do_install() {
autotools_do_install
# Work around file-rdeps picking up csh, awk, perl or python as a dep
chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132
chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk
chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl
chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.py
# Install example vimrc from runtime files
install -m 0644 runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
# we use --with-features=big as default
mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN}
if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'true', 'false', d)}; then
# The mouse being autoenabled is just annoying in xfce4-terminal (mouse
# drag make vim go into visual mode and there is no right click menu),
# delete the block.
sed -i '/the mouse works just fine/,+4d' ${D}/${datadir}/${BPN}/vimrc
fi
}
PARALLEL_MAKEINST = ""
PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-tools"
FILES:${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
FILES:${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
FILES:${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor"
FILES:${PN}-vimrc = "${datadir}/${BPN}/vimrc"
FILES:${PN}-data = "${datadir}/${BPN}"
# We do not want to complain if perl or gawk are not on the target.
#
FILES:${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools"
INSANE_SKIP:${PN}-tools = "file-rdeps"
FILES:${PN}-common = " \
${datadir}/${BPN}/${VIMDIR}/*.vim \
${datadir}/${BPN}/${VIMDIR}/autoload \
${datadir}/${BPN}/${VIMDIR}/colors \
${datadir}/${BPN}/${VIMDIR}/compiler \
${datadir}/${BPN}/${VIMDIR}/ftplugin \
${datadir}/${BPN}/${VIMDIR}/indent \
${datadir}/${BPN}/${VIMDIR}/keymap \
${datadir}/${BPN}/${VIMDIR}/lang \
${datadir}/${BPN}/${VIMDIR}/macros \
${datadir}/${BPN}/${VIMDIR}/plugin \
${datadir}/${BPN}/${VIMDIR}/print \
${datadir}/${BPN}/${VIMDIR}/spell \
${datadir}/icons \
"
ALTERNATIVE:${PN} = "vi vim"
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"