You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

160 lines
4.2 KiB

# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
inherit vim-plugin eutils fdo-mime
DESCRIPTION="An easy-to-use configuration of the GVim text editor"
HOMEPAGE="http://cream.sourceforge.net"
DICT_EN="eng_2.0.2"
DICT_FR="fre_2.1"
DICT_ES="spa_3.0"
DICT_DE="ger_2.0.1"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
l10n_de? ( ${HOMEPAGE}/cream-spell-dict-${DICT_DE}.zip )
l10n_en? ( ${HOMEPAGE}/cream-spell-dict-${DICT_EN}.zip )
l10n_es? ( ${HOMEPAGE}/cream-spell-dict-${DICT_ES}.zip )
l10n_fr? ( ${HOMEPAGE}/cream-spell-dict-${DICT_FR}.zip )"
IUSE="l10n_de l10n_en l10n_fr l10n_es"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 ia64 ~mips ppc sparc x86"
DEPEND="
>=app-editors/gvim-7.0
app-arch/unzip"
RDEPEND="
>=app-editors/gvim-7.0
dev-util/ctags"
VIM_PLUGIN_HELPTEXT=\
"Cream is completely independent from the rest of your Vim/GVim setup.
To launch GVim in Cream mode, use this wrapper script:
\ % cream [filename...]
Cream's documentation has been installed in ${ROOT}usr/share/doc/${PF}
In particular, you may want to read:
\ - the Cream features list:
file://${ROOT}usr/share/doc/${PF}/html/features.html
\ - the Cream shortcuts list:
file://${ROOT}usr/share/doc/${PF}/html/keyboardshortcuts.html
\ - the Cream FAQ:
file://${ROOT}usr/share/doc/${PF}/html/faq.html"
# Utility function to rename a Vim help file and its links/anchors:
# prefix_help_file prefix file [pattern ...]
prefix_help_file() {
local prefix="${1}" ; shift
local helpfile="${1}" ; shift
while [[ -n "${1}" ]] ; do
sed -i "s:\([*|]\)\(${1}[*|]\):\1${prefix}-\2:g" "${helpfile}" \
|| die "Failed to sed \"${1}\" on \"${helpfile}\""
shift
done
mv "${helpfile}" "${helpfile%/*}/${prefix}-${helpfile##*/}" \
|| die "Failed to rename \"${helpfile}\""
}
pkg_setup() {
elog "Cream comes with several dictionaries for spell checking. In"
elog "all cases, at least a small English dictionary will be installed."
elog
elog "To specify which optional dictionaries are installed, set the"
elog "L10N variable in /etc/make.conf. For example, to install full"
elog "English and French dictionaries, use:"
elog " L10N=\"en fr\""
elog
elog "Available dictionaries are:"
for dict in "English en" "French fr" "German de" "Spanish es" ; do
elog " ${dict% *} \t(${dict#* }) $(usex l10n_${dict#* } \
"(Will be installed)" "(Will not be installed)")"
done
elog
}
src_unpack() {
mkdir -p "${S}"/spelldicts
# install spell dictionaries into ${S}/spelldicts
local my_a
for my_a in ${A} ; do
if [ -z ${my_a/*spell-dict*/} ] ; then
cd "${S}"/spelldicts
unpack ${my_a}
else
cd "${WORKDIR}"
unpack ${my_a}
fi
done
}
src_prepare() {
# change installation path + fix the wrapper command (disable plugins)
cat > cream <<-EOF
#!/bin/sh
gvim --servername CREAM --noplugin -U NONE -u "\\\$VIM/cream/creamrc" "\$@"
EOF
sed -i "/let \$CREAM/s:VIMRUNTIME:VIM:" creamrc || die
# make taglist ebuild aware, bug #66052
epatch "${FILESDIR}"/${PN}-0.30-ebuilds.patch
# more filetypes for EnhancedCommentify, including the Gentoo ones
epatch "${FILESDIR}"/enhancedcommentify-2.1-gentooisms.patch
epatch "${FILESDIR}"/enhancedcommentify-2.1-extra-ft-support.patch
# rename vim help files to avoid conflicts with other vim packages
prefix_help_file cream help/EnhancedCommentify.txt \
'EnhancedCommentify' 'EnhComm-[a-zA-Z]\+'
}
src_install() {
# install launcher and menu entry
dobin cream
domenu cream.desktop
doicon cream.svg cream.png
# install shared vim files
insinto /usr/share/vim/cream
doins *.vim creamrc
local dir
for dir in addons bitmaps filetypes lang ; do
insinto /usr/share/vim/cream/${dir}
doins ${dir}/*
done
if [[ -n ${L10N} ]] ; then
insinto /usr/share/vim/cream/spelldicts
doins spelldicts/*
fi
insinto /usr/share/vim/vimfiles/doc
doins help/*.txt
# install docs
dodoc docs/{CHANGELOG,DEVELOPER,KEYBOARD,PressRelease,README,RELEASE}.txt
dohtml docs-html/*
# html doc may be opened from Cream GUI
dosym ../../doc/${PF}/html /usr/share/vim/cream/docs-html
}
pkg_postinst() {
fdo-mime_desktop_database_update
vim-plugin_pkg_postinst
}
pkg_postrm() {
fdo-mime_desktop_database_update
vim-plugin_pkg_postrm
}