summaryrefslogtreecommitdiff
path: root/app-editors/emacs
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/emacs')
-rw-r--r--app-editors/emacs/Manifest8
-rw-r--r--app-editors/emacs/emacs-23.4-r17.ebuild3
-rw-r--r--app-editors/emacs/emacs-24.5-r5.ebuild3
-rw-r--r--app-editors/emacs/emacs-25.3-r4.ebuild3
-rw-r--r--app-editors/emacs/emacs-26.1-r1.ebuild387
5 files changed, 401 insertions, 3 deletions
diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest
index b4da72f6bd8a..948837697b88 100644
--- a/app-editors/emacs/Manifest
+++ b/app-editors/emacs/Manifest
@@ -8,11 +8,13 @@ DIST emacs-24.5-patches-4.tar.xz 13632 BLAKE2B 99e70f4ee32c1ba3a66b934de692437aa
DIST emacs-24.5.tar.xz 39759804 BLAKE2B aec253528038686822d1f8ed9a52dff276789ef7744053fc9b6176fceba4d4d8684fe979cf97e756b3feaf734d2377baef81f5efaa5450930a4e94d9f3bca355 SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677
DIST emacs-25.3-patches-1.tar.xz 1252 BLAKE2B 33c3c8e32b85f548201d4988d3aaf94e6440ab4727fced17aa26f00fd5665b755d3add254a764f579736bbfbc90716ff800e3ad5b8e7bd5d5c2370d31451e4b1 SHA512 09371a789a7c742b4e18f45a4c4e063a5392d0684899eb8be8c7415af9fe3c306083c62f18abc6a15c4fe76dd6ae3ac5c9b002c962971e59379cc187926a0c15
DIST emacs-25.3.tar.xz 42854740 BLAKE2B 4f4e2572bbef48b75c561497fc22046081e56099b6174725d79b15a5b16d5c886eaf8ff3f75cf561e989ebb092ab9e98ba7503e720a9db7560758b30d5116f23 SHA512 1cce656451b6ca8502ebb229e88bd3ef48b7f9444a10eeac4ea43bd5491b2efacd641dfa35227a33362c3866493d3449cf1df81606563eef44bba0ed668e457f
+DIST emacs-26.1-patches-1.tar.xz 1296 BLAKE2B 5e3cef3130b35a362d67f853686625d207e9af29ffb27753b6aa00327e30cc06b3cd7ed339b214b12fb00137654521c21e2252ecd83a79258bb9636406ab032c SHA512 6e4b0bdbf98d5130a6cd41fb0a8c3d641bf0b8d46f150d1f10f2d659e0418c14198d8990df13f3266437bb128f5fc7db8456458f5f547f2c12cc59da4fea3c8e
DIST emacs-26.1.tar.xz 44258932 BLAKE2B 5b5ea6a506228507af18417c3f94c2d6ea482c25d13ec5e0bee9ec6a65e80c52c870162b4671e80a82f8310784c802924609f2f87d504b1a97617c44d859566f SHA512 537c2cfdd281151b360002419dde6280c313e07a937ed96405c67f754b3401ec5541091a3c0aa6690929bc33dd79e8e0d8844e7a6b014b7798c63cb15de210c2
EBUILD emacs-18.59-r11.ebuild 4358 BLAKE2B d5db4c011da9c728092eeb75f8708c7ab3729497be75fec58553de3df47a12a54e0845c1a4bc5a07c1080a305d0fdf8033370c0c5692ca3ae7caa617637d8fea SHA512 9637184ba4c9f51da3eef13625b5de4a1af283ada88c2a4f6fe6f03447907ac37e05ae69abbef514bd0024f748f1cc458567f4480e0e23fd4db26905bfa0b4f9
EBUILD emacs-18.59-r12.ebuild 4414 BLAKE2B 73ac8bfad69df23c494194c3df2933ae5e9bfe57c3516ddaf2df9160a3316b1a85bee4a69ad0e7a81bd8c1ed4e7636eda79a24aa9df0d1a322fed28a73f58dc7 SHA512 ec790db2ce8a9fc73e222c9cd78113b59717c378690a56bf5632b581f924bb640a507a1185dede45fc0598f66a954b61af38ab56c3a9717bde5ac75ed1d2eb3d
-EBUILD emacs-23.4-r17.ebuild 11421 BLAKE2B 88c04aabc068027d0ef6d9a1199d22c90f7b400e9b88396d04e39d8d7981c2601fc08c0881f1cddd310b47a1dd8122f80f2288f9a30eb6f08b35f7b2591e7903 SHA512 d59446d471cc210bcfb20b0d8c0553eb8a47109c301fe6f63de2fa5ec93536e76684619ea6e19dd8543cb52918eaf21569711b6cf4b65dc22948e4171d2d09f0
-EBUILD emacs-24.5-r5.ebuild 11139 BLAKE2B c85b922bae742dc6ee475a937b000e0900d991379d65ade60e20a3de7a9adda271707945b9f543df7017c614a0f30cbaea5c57fd5b4fd7699bdc99f8b7cff468 SHA512 9539a8a4fb5032992cfa6d4a972a482e5015291895412faf4d2923137c271a665cad25a38a2cd3d43fa3535c62c82b4de5a45ae8ae72963ab90cdbf710d1bac5
-EBUILD emacs-25.3-r4.ebuild 11630 BLAKE2B 765d1ed69b11ba40726443522b0d620cea9b78b838a10d404e3d73366aa26de5801d293be006e5899bdbf6ad4164798dd96c389e935182dfa0c1038339eedbce SHA512 6909cdf101f5858e89e8f0df7ee507f84b7818e55ad5d06f35d533eb906627b57df8992768cc5fa845746fb897269aa3c2d9cb416d776233b9916e7cb4f5defe
+EBUILD emacs-23.4-r17.ebuild 11518 BLAKE2B 1b44754cac7d35ac41597c68f2e7f8716d8c647e217141ee80943619220a599fc73cc5abec00b6e056f11d792e4a4a843c48f2b1cae863173888bbbeedecb3f2 SHA512 100b5565754d44904d18ce6cf90da7fea48f51223bce30f0d946283a93f526dbde01e142b10aaab74ab02bd3124f96eef8d251887de99619c20610f540663bfc
+EBUILD emacs-24.5-r5.ebuild 11236 BLAKE2B 841894ba951ae0eac88feebba0f421ec9f9d7c20d0bd0834d270987f948cea1a8016c54f04a869099365969c0889a4ea5f086510fb2d05a5c2f40376fec54617 SHA512 046f7e6c2baf11db3bec94906f33a71dbe25eaf72fbc16f212768490e0a463739c4f66390cf47fa224a6ae27302c24377b3d563fe9e72d0df72b07cf5930c8f4
+EBUILD emacs-25.3-r4.ebuild 11727 BLAKE2B 5f4b8c4ab165378be40a8601cd1eca6ce59236cdf275ac93fa7965cf5461b78fe5528034c066a35c81b7884096a54b4b134a0382cbcb2da0de094c28c054291f SHA512 a181e11cdf7cbb3731bfec5d77904a4473908a043d228a664a9592ff4c01db5ec8bb322459646febb3e697a2e883ceeee3f7e2a5d8f1c5b1ccd4968467b63e16
+EBUILD emacs-26.1-r1.ebuild 12160 BLAKE2B 18c8991f5ceca5b8c5c93e345beee16d98630ea3d25eb5aed005d454b3293180963ad230f274347e50a971e46817cc17589042dfbc1dee622086e3f68aecf1e7 SHA512 56fe3cb8557a97f198af2dd2594d9f214481870c850f7db8b348d0c8c11173fef517dead5f4dcb0455924d3057993fb81fc9424de9919cc222b80d4175ea1498
EBUILD emacs-26.1.ebuild 11997 BLAKE2B d6c4e7936d79816231d36c87a10e71c75705b9095b08d1cd8e5b267909997ac5f6dcee7cdc0bcccbcfe344f768461799292a3ca498baba7fe56b382053a63769 SHA512 31134efc2349c475dd4e6d02ca865c87a90dcad9804bbe41a90036de51b819b015d72769b9783d0fd3bdb937ba04496ee95da4b75430ca6ef5b661e0fa8b0a40
MISC metadata.xml 2741 BLAKE2B aa5276abe676055d9ce3a95dd3ab9208ca1b03676854a26e0309907c7d5aae466cd2746b43db6d2303bda2d1fd650191cf87c8cd983a040d66c9e57dfd59a830 SHA512 136a8328c80529ff045dd183770e629a6a0e9fc0b49258e994023636ec917aea1477be60898b86636071a94f9cccc6e80b06e173c15024cf3a794a2d0f968335
diff --git a/app-editors/emacs/emacs-23.4-r17.ebuild b/app-editors/emacs/emacs-23.4-r17.ebuild
index a2456d6cbd3b..99eac1719fdd 100644
--- a/app-editors/emacs/emacs-23.4-r17.ebuild
+++ b/app-editors/emacs/emacs-23.4-r17.ebuild
@@ -134,6 +134,9 @@ src_configure() {
replace-flags "-O[3-9]" -O2
fi
+ # Don't trigger a floating point exception for NaNs on alpha
+ use alpha && append-flags -mieee
+
local myconf
if use alsa && ! use sound; then
diff --git a/app-editors/emacs/emacs-24.5-r5.ebuild b/app-editors/emacs/emacs-24.5-r5.ebuild
index d1f8e3fe6d66..d06860523d92 100644
--- a/app-editors/emacs/emacs-24.5-r5.ebuild
+++ b/app-editors/emacs/emacs-24.5-r5.ebuild
@@ -125,6 +125,9 @@ src_configure() {
replace-flags "-O[3-9]" -O2
fi
+ # Don't trigger a floating point exception for NaNs on alpha
+ use alpha && append-flags -mieee
+
local myconf
if use alsa; then
diff --git a/app-editors/emacs/emacs-25.3-r4.ebuild b/app-editors/emacs/emacs-25.3-r4.ebuild
index c6d29908c41b..6911c651218c 100644
--- a/app-editors/emacs/emacs-25.3-r4.ebuild
+++ b/app-editors/emacs/emacs-25.3-r4.ebuild
@@ -127,6 +127,9 @@ src_configure() {
replace-flags "-O[3-9]" -O2
fi
+ # Don't trigger a floating point exception for NaNs on alpha
+ use alpha && append-flags -mieee
+
local myconf
if use alsa; then
diff --git a/app-editors/emacs/emacs-26.1-r1.ebuild b/app-editors/emacs/emacs-26.1-r1.ebuild
new file mode 100644
index 000000000000..97b7b1294852
--- /dev/null
+++ b/app-editors/emacs/emacs-26.1-r1.ebuild
@@ -0,0 +1,387 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit elisp-common flag-o-matic multilib readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.xz
+ https://dev.gentoo.org/~ulm/emacs/${P}-patches-1.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="26"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el imagemagick +inotify jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses:0=
+ >=app-eselect/eselect-emacs-1.16
+ >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+ acl? ( virtual/acl )
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ gpm? ( sys-libs/gpm )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+ kerberos? ( virtual/krb5 )
+ lcms? ( media-libs/lcms:2 )
+ libxml2? ( >=dev-libs/libxml2-2.2.0 )
+ mailutils? ( net-mail/mailutils[clients] )
+ !mailutils? ( net-libs/liblockfile )
+ selinux? ( sys-libs/libselinux )
+ ssl? ( net-libs/gnutls:0= )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ X? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ x11-misc/xbitmaps
+ gconf? ( >=gnome-base/gconf-2.26.2 )
+ gsettings? ( >=dev-libs/glib-2.28.6 )
+ gif? ( media-libs/giflib:0= )
+ jpeg? ( virtual/jpeg:0= )
+ png? ( >=media-libs/libpng-1.4:0= )
+ svg? ( >=gnome-base/librsvg-2.0 )
+ tiff? ( media-libs/tiff:0 )
+ xpm? ( x11-libs/libXpm )
+ imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
+ xft? (
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/libXft
+ x11-libs/libXrender
+ cairo? ( >=x11-libs/cairo-1.12.18 )
+ m17n-lib? (
+ >=dev-libs/libotf-0.9.4
+ >=dev-libs/m17n-lib-1.5.1
+ )
+ )
+ gtk? (
+ xwidgets? (
+ net-libs/webkit-gtk:4=
+ x11-libs/gtk+:3
+ x11-libs/libXcomposite
+ )
+ !xwidgets? (
+ gtk3? ( x11-libs/gtk+:3 )
+ !gtk3? ( x11-libs/gtk+:2 )
+ )
+ )
+ !gtk? (
+ motif? (
+ >=x11-libs/motif-2.3:0
+ x11-libs/libXpm
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !motif? (
+ Xaw3d? (
+ x11-libs/libXaw3d
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+ !Xaw3d? ( athena? (
+ x11-libs/libXaw
+ x11-libs/libXmu
+ x11-libs/libXt
+ ) )
+ )
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+BDEPEND="virtual/pkgconfig
+ gzip-el? ( app-arch/gzip )"
+# pax_kernel? ( sys-apps/attr )
+
+RDEPEND="${RDEPEND}
+ !<app-editors/emacs-vcs-${PV}"
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+# FULL_VERSION keeps the full version number, which is needed in
+# order to determine some path information correctly for copy/move
+# operations later on
+FULL_VERSION="${PV%%_*}"
+S="${WORKDIR}/emacs-${FULL_VERSION}"
+
+src_prepare() {
+ eapply ../patch
+ eapply_user
+
+ # Fix filename reference in redirected man page
+ sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+ || die "unable to sed ctags.1"
+
+ #AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ strip-flags
+ filter-flags -pie #526948
+
+ if use sh; then
+ replace-flags "-O[1-9]" -O0 #262359
+ elif use ia64; then
+ replace-flags "-O[2-9]" -O1 #325373
+ else
+ replace-flags "-O[3-9]" -O2
+ fi
+
+ # Don't trigger a floating point exception for NaNs on alpha
+ use alpha && append-flags -mieee
+
+ local myconf
+
+ if use alsa; then
+ use sound || ewarn \
+ "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+ myconf+=" --with-sound=alsa"
+ else
+ myconf+=" --with-sound=$(usex sound oss)"
+ fi
+
+ if use X; then
+ myconf+=" --with-x --without-ns"
+ myconf+=" $(use_with gconf)"
+ myconf+=" $(use_with gsettings)"
+ myconf+=" $(use_with toolkit-scroll-bars)"
+ myconf+=" $(use_with gif)"
+ myconf+=" $(use_with jpeg)"
+ myconf+=" $(use_with png)"
+ myconf+=" $(use_with svg rsvg)"
+ myconf+=" $(use_with tiff)"
+ myconf+=" $(use_with xpm)"
+ myconf+=" $(use_with imagemagick)"
+
+ if use xft; then
+ myconf+=" --with-xft"
+ myconf+=" $(use_with cairo)"
+ myconf+=" $(use_with m17n-lib libotf)"
+ myconf+=" $(use_with m17n-lib m17n-flt)"
+ else
+ myconf+=" --without-xft"
+ myconf+=" --without-cairo"
+ myconf+=" --without-libotf --without-m17n-flt"
+ use cairo && ewarn \
+ "USE flag \"cairo\" has no effect if \"xft\" is not set."
+ use m17n-lib && ewarn \
+ "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+ fi
+
+ local f line
+ if use gtk; then
+ einfo "Configuring to build with GIMP Toolkit (GTK+)"
+ while read line; do ewarn "${line}"; done <<-EOF
+ Your version of GTK+ will have problems with closing open
+ displays. This is no problem if you just use one display, but
+ if you use more than one and close one of them Emacs may crash.
+ See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>.
+ If you intend to use more than one display, then it is strongly
+ recommended that you compile Emacs with the Athena/Lucid or the
+ Motif toolkit instead.
+ EOF
+ if use xwidgets; then
+ myconf+=" --with-x-toolkit=gtk3 --with-xwidgets"
+ else
+ myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+ myconf+=" --without-xwidgets"
+ fi
+ for f in motif Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"gtk\" is set."
+ done
+ elif use motif; then
+ einfo "Configuring to build with Motif toolkit"
+ myconf+=" --with-x-toolkit=motif"
+ for f in Xaw3d athena; do
+ use ${f} && ewarn \
+ "USE flag \"${f}\" has no effect if \"motif\" is set."
+ done
+ elif use athena || use Xaw3d; then
+ einfo "Configuring to build with Athena/Lucid toolkit"
+ myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+ else
+ einfo "Configuring to build with no toolkit"
+ myconf+=" --with-x-toolkit=no"
+ fi
+ ! use gtk && use xwidgets && ewarn \
+ "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+ elif use aqua; then
+ einfo "Configuring to build with Nextstep (Cocoa) support"
+ myconf+=" --with-ns --disable-ns-self-contained"
+ myconf+=" --without-x"
+ else
+ myconf+=" --without-x --without-ns"
+ fi
+
+ econf \
+ --program-suffix="-${EMACS_SUFFIX}" \
+ --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+ --without-compress-install \
+ --without-hesiod \
+ --without-pop \
+ --with-file-notification=$(usev inotify || usev gfile || echo no) \
+ $(use_enable acl) \
+ $(use_with dbus) \
+ $(use_with dynamic-loading modules) \
+ $(use_with games gameuser ":gamestat") \
+ $(use_with gpm) \
+ $(use_with kerberos) $(use_with kerberos kerberos5) \
+ $(use_with lcms lcms2) \
+ $(use_with libxml2 xml2) \
+ $(use_with mailutils) \
+ $(use_with selinux) \
+ $(use_with ssl gnutls) \
+ $(use_with systemd libsystemd) \
+ $(use_with threads) \
+ $(use_with wide-int) \
+ $(use_with zlib) \
+ ${myconf}
+}
+
+src_compile() {
+ # Disable sandbox when dumping. For the unbelievers, see bug #131505
+ emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+}
+
+src_install () {
+ emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+ mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+ || die "moving emacs executable failed"
+ mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+ || die "moving emacs man page failed"
+
+ # move info dir to avoid collisions with the dir file generated by portage
+ mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+ || die "moving info dir failed"
+ touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+ docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+ # avoid collision between slots, see bug #169033 e.g.
+ rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+ rm -rf "${ED}"/usr/share/{appdata,applications,icons}
+ rm -rf "${ED}/usr/$(get_libdir)"
+ rm -rf "${ED}"/var
+
+ # remove unused <version>/site-lisp dir
+ rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+ # remove COPYING file (except for etc/COPYING used by describe-copying)
+ rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+ if use gzip-el; then
+ # compress .el files when a corresponding .elc exists
+ find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+ -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+ assert "gzip .el failed"
+ fi
+
+ local cdir
+ if use source; then
+ cdir="/usr/share/emacs/${FULL_VERSION}/src"
+ insinto "${cdir}"
+ # This is not meant to install all the source -- just the
+ # C source you might find via find-function
+ doins src/*.{c,h,m}
+ elif has installsources ${FEATURES}; then
+ cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+ fi
+
+ sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
+ X
+ ;;; ${PN}-${SLOT} site-lisp configuration
+ X
+ (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+ Y (setq find-function-C-source-directory
+ Y "${EPREFIX}${cdir}")
+ X (let ((path (getenv "INFOPATH"))
+ X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+ X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+ X (and path
+ X ;; move Emacs Info dir before anything else in /usr/share/info
+ X (let* ((p (cons nil (split-string path ":" t))) (q p))
+ X (while (and (cdr q) (not (string-match re (cadr q))))
+ X (setq q (cdr q)))
+ X (setcdr q (cons dir (delete dir (cdr q))))
+ X (setq Info-directory-list (prune-directory-list (cdr p)))))))
+ EOF
+ elisp-site-file-install "${T}/${SITEFILE}" || die
+
+ dodoc README BUGS CONTRIBUTE
+
+ if use aqua; then
+ dodir /Applications/Gentoo
+ rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+ mv nextstep/Emacs.app \
+ "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+ fi
+
+ DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+ through the Emacs eselect module, which also redirects man and info
+ pages. Therefore, several Emacs versions can be installed at the
+ same time. \"man emacs.eselect\" for details.
+ \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+ strongly recommended that you use app-admin/emacs-updater to rebuild
+ all byte-compiled elisp files of the installed Emacs packages."
+ use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+ Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+ machine would satisfy basic Emacs requirements under X11.
+ See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+ for how to enable anti-aliased fonts."
+ use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+ \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+ it into /Applications by yourself."
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ local infodir=/usr/share/info/${EMACS_SUFFIX} f
+ if [[ -f ${ED}${infodir}/dir.orig ]]; then
+ mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+ elif [[ -d "${ED}"${infodir} ]]; then
+ # this should not happen in EAPI 4
+ ewarn "Regenerating Info directory index in ${infodir} ..."
+ rm -f "${ED}"${infodir}/dir{,.*}
+ for f in "${ED}"${infodir}/*; do
+ if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+ install-info --info-dir="${ED}"${infodir} "${f}" \
+ || die "install-info failed"
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+ readme.gentoo_print_elog
+
+ if use livecd; then
+ # force an update of the emacs symlink for the livecd/dvd,
+ # because some microemacs packages set it with USE=livecd
+ eselect emacs update
+ elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+ # refresh symlinks in case any installed files have changed
+ eselect emacs set ${EMACS_SUFFIX}
+ else
+ eselect emacs update ifunset
+ fi
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ eselect emacs update ifunset
+}