mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-11-07 05:57:07 -08:00
Revert multiple meaningless eclass documentation changes, notably adding a lot of placeholders and documenting implementation details. These changes were aimed at silencing (valid) documentation warnings without actually providing valuable documentation to the end users. While some of these changes were beneficial, it would take a lot of effort to review them all and the author is unwilling to fix his mistakes. Signed-off-by: Michał Górny <mgorny@gentoo.org>
73 lines
2.2 KiB
Bash
73 lines
2.2 KiB
Bash
# Copyright 1999-2020 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
#
|
|
# This eclass is used by vim.eclass and vim-plugin.eclass to update
|
|
# the documentation tags. This is necessary since vim doesn't look in
|
|
# /usr/share/vim/vimfiles/doc for documentation; it only uses the
|
|
# versioned directory, for example /usr/share/vim/vim62/doc
|
|
#
|
|
# We depend on vim being installed, which is satisfied by either the
|
|
# DEPEND in vim-plugin or by whatever version of vim is being
|
|
# installed by the eclass.
|
|
|
|
|
|
update_vim_helptags() {
|
|
has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"
|
|
local vimfiles vim d s
|
|
|
|
# This is where vim plugins are installed
|
|
vimfiles="${EROOT}"/usr/share/vim/vimfiles
|
|
|
|
if [[ $PN != vim-core ]]; then
|
|
# Find a suitable vim binary for updating tags :helptags
|
|
vim=$(type -P vim 2>/dev/null)
|
|
[[ -z "$vim" ]] && vim=$(type -P gvim 2>/dev/null)
|
|
[[ -z "$vim" ]] && vim=$(type -P kvim 2>/dev/null)
|
|
if [[ -z "$vim" ]]; then
|
|
ewarn "No suitable vim binary to rebuild documentation tags"
|
|
fi
|
|
fi
|
|
|
|
# Make vim not try to connect to X. See :help gui-x11-start
|
|
# in vim for how this evil trickery works.
|
|
if [[ -n "${vim}" ]] ; then
|
|
ln -s "${vim}" "${T}/tagvim"
|
|
vim="${T}/tagvim"
|
|
fi
|
|
|
|
# Install the documentation symlinks into the versioned vim
|
|
# directory and run :helptags
|
|
for d in "${EROOT%/}"/usr/share/vim/vim[0-9]*; do
|
|
[[ -d "$d/doc" ]] || continue # catch a failed glob
|
|
|
|
# Remove links, and possibly remove stale dirs
|
|
find $d/doc -name \*.txt -type l | while read s; do
|
|
[[ $(readlink "$s") = $vimfiles/* ]] && rm -f "$s"
|
|
done
|
|
if [[ -f "$d/doc/tags" && $(find "$d" | wc -l | tr -d ' ') = 3 ]]; then
|
|
# /usr/share/vim/vim61
|
|
# /usr/share/vim/vim61/doc
|
|
# /usr/share/vim/vim61/doc/tags
|
|
einfo "Removing $d"
|
|
rm -r "$d"
|
|
continue
|
|
fi
|
|
|
|
# Re-create / install new links
|
|
if [[ -d $vimfiles/doc ]]; then
|
|
ln -s $vimfiles/doc/*.txt $d/doc 2>/dev/null
|
|
fi
|
|
|
|
# Update tags; need a vim binary for this
|
|
if [[ -n "$vim" ]]; then
|
|
einfo "Updating documentation tags in $d"
|
|
DISPLAY= $vim -u NONE -U NONE -T xterm -X -n -f \
|
|
'+set nobackup nomore' \
|
|
"+helptags $d/doc" \
|
|
'+qa!' </dev/null &>/dev/null
|
|
fi
|
|
done
|
|
|
|
[[ -n "${vim}" && -f "${vim}" ]] && rm "${vim}"
|
|
}
|