blob: a88dc7bb39fe6d903b2271a99ba1dee6e3a9c2d1 [file] [log] [blame]
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emacs/emacs-common-gentoo/emacs-common-gentoo-1.3-r1.ebuild,v 1.9 2012/04/01 15:09:39 armin76 Exp $
EAPI=4
inherit elisp-common eutils fdo-mime gnome2-utils
DESCRIPTION="Common files needed by all GNU Emacs versions"
HOMEPAGE="http://www.gentoo.org/proj/en/lisp/emacs/"
SRC_URI="mirror://gentoo/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="*"
IUSE="X emacs22icons"
PDEPEND="virtual/emacs"
pkg_setup() {
if [[ -e ${EROOT}${SITELISP}/subdirs.el ]] \
&& ! has_version ">=${CATEGORY}/${PN}-1"
then
ewarn "Removing orphan subdirs.el (installed by old Emacs ebuilds)"
rm -f "${EROOT}${SITELISP}/subdirs.el"
fi
}
src_install() {
insinto "${SITELISP}"
doins subdirs.el
keepdir /etc/emacs
insinto /etc/emacs
doins site-start.el
if use X; then
local i
domenu emacs.desktop emacsclient.desktop || die
newicon icons/sink.png emacs-sink.png || die
if use emacs22icons; then
newicon icons/emacs22_48.png emacs.png || die
for i in 16 24 32 48; do
insinto /usr/share/icons/hicolor/${i}x${i}/apps
newins icons/emacs22_${i}.png emacs.png
done
else
newicon icons/emacs_48.png emacs.png || die
for i in 16 24 32 48 128; do
insinto /usr/share/icons/hicolor/${i}x${i}/apps
newins icons/emacs_${i}.png emacs.png
done
insinto /usr/share/icons/hicolor/scalable/apps
doins icons/emacs.svg
fi
gnome2_icon_savelist
fi
}
site-start-modified-p() {
case $(cksum <"${EROOT}${SITELISP}/site-start.el") in
# checksums of auto-generated site-start.el files
"2098727038 349") return 1 ;; # elisp-common.eclass
"3626264063 355") return 1 ;; # emacs-common-gentoo-1.0 (cvs rev 1.1)
"3738455534 394") return 1 ;; # emacs-common-gentoo-1.0 (cvs rev 1.6)
"4199862847 394") return 1 ;; # emacs-common-gentoo-1.1
"2547348044 394") return 1 ;; # emacs-common-gentoo-1.2
"2214952934 397") return 1 ;; # emacs-common-gentoo-1.2-r1
"3917799317 397") return 1 ;; # emacs-common-gentoo-1.2-r2
*) return 0 ;;
esac
}
pkg_postinst() {
if use X; then
fdo-mime_desktop_database_update
gnome2_icon_cache_update
fi
# make sure that site-gentoo.el exists since site-start.el requires it
elisp-site-regen
local line
while read line; do elog "${line:- }"; done <<-EOF
All site initialisation for Gentoo-installed packages is added to
${SITELISP}/site-gentoo.el. In order for this site
initialisation to be loaded for all users automatically, a default
site startup file /etc/emacs/site-start.el is installed. You are
responsible for maintenance of this file.
Alternatively, individual users can add the following command:
(require 'site-gentoo)
to their ~/.emacs initialisation files, or, for greater flexibility,
users may load single package-specific initialisation files from
${SITELISP}/site-gentoo.d/.
EOF
if [[ -e ${EROOT}${SITELISP}/site-start.el ]]; then
elog
ewarn "The location of the site startup file for Emacs has changed to"
ewarn "/etc/emacs/site-start.el."
if site-start-modified-p; then
ewarn "If your site-start.el file contains your own customisation,"
ewarn "you should move it to the new file. In any case, you should"
ewarn "remove the old ${SITELISP}/site-start.el file."
else
ewarn "Removing the old ${SITELISP}/site-start.el file."
rm -f "${EROOT}${SITELISP}/site-start.el"
fi
fi
}
pkg_postrm() {
if use X; then
fdo-mime_desktop_database_update
gnome2_icon_cache_update
fi
}