summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/emacs/emacs-21.4-r10.ebuild')
-rw-r--r--app-editors/emacs/emacs-21.4-r10.ebuild18
1 files changed, 18 insertions, 0 deletions
diff --git a/app-editors/emacs/emacs-21.4-r10.ebuild b/app-editors/emacs/emacs-21.4-r10.ebuild
index 0570339..02d078e 100644
--- a/app-editors/emacs/emacs-21.4-r10.ebuild
+++ b/app-editors/emacs/emacs-21.4-r10.ebuild
@@ -161,6 +161,16 @@ pkg_postinst() {
test -f ${ROOT}/usr/share/emacs/site-lisp/subdirs.el ||
cp ${ROOT}/usr/share/emacs{/${PV},}/site-lisp/subdirs.el
+ # Depending on the Portage version, the Info dir file is compressed
+ # or removed. It is only rebuilt by Portage if our directory is in
+ # INFOPATH, which is not guaranteed. So we rebuild it ourselves.
+ local infodir=${ROOT}/usr/share/info/emacs-${SLOT} f
+ rm -f ${infodir}/dir{,.*}
+ for f in ${infodir}/*.info*; do
+ [[ ${f##*/} == *[0-9].info* ]] \
+ || install-info --info-dir=${infodir} ${f} &>/dev/null
+ done
+
eselect emacs update --if-unset
if use nosendmail; then
@@ -179,5 +189,13 @@ pkg_postinst() {
}
pkg_postrm() {
+ # Rebuild Info dir file.
+ local infodir=${ROOT}/usr/share/info/emacs-${SLOT} f
+ rm -f ${infodir}/dir{,.*}
+ for f in ${infodir}/*.info*; do
+ [[ ${f##*/} == *[0-9].info* ]] \
+ || install-info --info-dir=${infodir} ${f} &>/dev/null
+ done
+
eselect emacs update --if-unset
}