summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bracht Laumann Jespersen <t@laumann.xyz>2022-04-06 11:10:34 +0200
committerPatrice Clement <monsieurp@gentoo.org>2022-05-30 14:57:01 +0200
commit88c453b8bbe3c25a139c88705d9f462ac78ae88a (patch)
tree601b39963659892f24e70875b583ed538cd28823 /eclass/vim-plugin.eclass
parentvim-doc.eclass: support EAPI 8 (diff)
downloadgentoo-88c453b8bbe3c25a139c88705d9f462ac78ae88a.tar.gz
gentoo-88c453b8bbe3c25a139c88705d9f462ac78ae88a.tar.bz2
gentoo-88c453b8bbe3c25a139c88705d9f462ac78ae88a.zip
vim-plugin.eclass: support EAPI 8
* Drop EAPI 0, 1, 2 workarounds * Move EXPORT_FUNCTIONS to end of file * Add required @USAGE on functions * Add _VIM_PLUGIN_ECLASS guard Bug: https://bugs.gentoo.org/830867 Bug: https://bugs.gentoo.org/830866 Signed-off-by: Thomas Bracht Laumann Jespersen <t@laumann.xyz> Signed-off-by: Anna Vyalkova <cyber+gentoo@sysrq.in> Signed-off-by: Patrice Clement <monsieurp@gentoo.org>
Diffstat (limited to 'eclass/vim-plugin.eclass')
-rw-r--r--eclass/vim-plugin.eclass35
1 files changed, 20 insertions, 15 deletions
diff --git a/eclass/vim-plugin.eclass b/eclass/vim-plugin.eclass
index 50e727e98f4e..a457f3a037ae 100644
--- a/eclass/vim-plugin.eclass
+++ b/eclass/vim-plugin.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: vim-plugin.eclass
# @MAINTAINER:
# vim@gentoo.org
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: used for installing vim plugins
# @DESCRIPTION:
# This eclass simplifies installation of app-vim plugins into
@@ -13,12 +13,13 @@
# documentation, for which we make a special case via vim-doc.eclass.
case ${EAPI} in
- 6|7);;
- *) die "EAPI ${EAPI:-0} unsupported (too old)";;
+ 6|7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
+if [[ ! ${_VIM_PLUGIN_ECLASS} ]]; then
+
inherit vim-doc
-EXPORT_FUNCTIONS src_install pkg_postinst pkg_postrm
VIM_PLUGIN_VIM_VERSION="${VIM_PLUGIN_VIM_VERSION:-7.3}"
@@ -32,14 +33,13 @@ fi
SLOT="0"
# @FUNCTION: vim-plugin_src_install
+# @USAGE:
# @DESCRIPTION:
# Overrides the default src_install phase. In order, this function:
# * fixes file permission across all files in ${S}.
# * installs help and documentation files.
# * installs all files in "${ED}"/usr/share/vim/vimfiles.
vim-plugin_src_install() {
- has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${D}"
-
# Install non-vim-help-docs
einstalldocs
@@ -53,6 +53,7 @@ vim-plugin_src_install() {
}
# @FUNCTION: vim-plugin_pkg_postinst
+# @USAGE:
# @DESCRIPTION:
# Overrides the pkg_postinst phase for this eclass.
# The following functions are called:
@@ -60,7 +61,7 @@ vim-plugin_src_install() {
# * update_vim_afterscripts
# * display_vim_plugin_help
vim-plugin_pkg_postinst() {
- update_vim_helptags # from vim-doc
+ update_vim_helptags # from vim-doc
update_vim_afterscripts # see below
display_vim_plugin_help # see below
}
@@ -71,8 +72,7 @@ vim-plugin_pkg_postinst() {
# This function calls the update_vim_helptags and update_vim_afterscripts
# functions and eventually removes a bunch of empty directories.
vim-plugin_pkg_postrm() {
- has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
- update_vim_helptags # from vim-doc
+ update_vim_helptags # from vim-doc
update_vim_afterscripts # see below
# Remove empty dirs; this allows
@@ -82,25 +82,24 @@ vim-plugin_pkg_postrm() {
}
# @FUNCTION: update_vim_afterscripts
+# @USAGE:
# @DESCRIPTION:
# Creates scripts in /usr/share/vim/vimfiles/after/*
# comprised of the snippets in /usr/share/vim/vimfiles/after/*/*.d
update_vim_afterscripts() {
- has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"
- has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
local d f afterdir="${EROOT}"/usr/share/vim/vimfiles/after
# Nothing to do if the dir isn't there
- [ -d "${afterdir}" ] || return 0
+ [[ -d "${afterdir}" ]] || return 0
- einfo "Updating scripts in ${EPREFIX}/usr/share/vim/vimfiles/after"
+ einfo "Updating scripts in ${afterdir}"
find "${afterdir}" -type d -name \*.vim.d | while read d; do
echo '" Generated by update_vim_afterscripts' > "${d%.d}" || die
find "${d}" -name \*.vim -type f -maxdepth 1 -print0 | sort -z | \
xargs -0 cat >> "${d%.d}" || die "update_vim_afterscripts failed"
done
- einfo "Removing dead scripts in ${EPREFIX}/usr/share/vim/vimfiles/after"
+ einfo "Removing dead scripts in ${afterdir}"
find "${afterdir}" -type f -name \*.vim | \
while read f; do
[[ "$(head -n 1 ${f})" == '" Generated by update_vim_afterscripts' ]] \
@@ -115,6 +114,7 @@ update_vim_afterscripts() {
}
# @FUNCTION: display_vim_plugin_help
+# @USAGE:
# @DESCRIPTION:
# Displays a message with the plugin's help file if one is available. Uses the
# VIM_PLUGIN_HELPFILES env var. If multiple help files are available, they
@@ -160,3 +160,8 @@ display_vim_plugin_help() {
fi
fi
}
+
+_VIM_PLUGIN_ECLASS=1
+fi
+
+EXPORT_FUNCTIONS src_install pkg_postinst pkg_postrm