From d628b5aa6bb21ad255c0c67466f24e571471e169 Mon Sep 17 00:00:00 2001 From: Anna Vyalkova Date: Wed, 6 Apr 2022 16:23:30 +0500 Subject: vim-plugin.eclass: EAPI 8: install allowed dirs only Signed-off-by: Anna Vyalkova Signed-off-by: Patrice Clement --- eclass/vim-plugin.eclass | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) (limited to 'eclass/vim-plugin.eclass') diff --git a/eclass/vim-plugin.eclass b/eclass/vim-plugin.eclass index a457f3a037ae..0c323e0d09e7 100644 --- a/eclass/vim-plugin.eclass +++ b/eclass/vim-plugin.eclass @@ -32,13 +32,30 @@ if [[ ${PV} != 9999* ]] ; then fi SLOT="0" +# @ECLASS_VARIABLE: _VIM_PLUGIN_ALLOWED_DIRS +# @INTERNAL +# @DESCRIPTION: +# Vanilla Vim dirs. +# See /usr/share/vim/vim* for reference. +_VIM_PLUGIN_ALLOWED_DIRS=( + after autoload colors compiler doc ftdetect ftplugin indent keymap + macros plugin spell syntax +) + # @FUNCTION: vim-plugin_src_install -# @USAGE: +# @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. +# * installs all files recognized by default Vim installation and directories +# passed to this function as arguments in "${ED}"/usr/share/vim/vimfiles. +# +# Example use: +# @CODE +# src_install() { +# vim-plugin_src_install syntax_checkers +# } +# @CODE vim-plugin_src_install() { # Install non-vim-help-docs einstalldocs @@ -46,10 +63,18 @@ vim-plugin_src_install() { # Install remainder of plugin insinto /usr/share/vim/vimfiles/ local d - for d in *; do - [[ -d "${d}" ]] || continue - doins -r "${d}" - done + case ${EAPI:-0} in + 6|7) + for d in *; do + [[ -d "${d}" ]] || continue + doins -r "${d}" + done ;; + *) + for d in "${_VIM_PLUGIN_ALLOWED_DIRS[@]}" "${@}"; do + [[ -d "${d}" ]] || continue + doins -r "${d}" + done ;; + esac } # @FUNCTION: vim-plugin_pkg_postinst -- cgit v1.2.3-65-gdbad