diff options
author | Thomas Bracht Laumann Jespersen <t@laumann.xyz> | 2022-04-06 11:10:34 +0200 |
---|---|---|
committer | Patrice Clement <monsieurp@gentoo.org> | 2022-05-30 14:57:01 +0200 |
commit | 88c453b8bbe3c25a139c88705d9f462ac78ae88a (patch) | |
tree | 601b39963659892f24e70875b583ed538cd28823 /eclass/vim-plugin.eclass | |
parent | vim-doc.eclass: support EAPI 8 (diff) | |
download | gentoo-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.eclass | 35 |
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 |