Gentoo Archives: gentoo-commits

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:eapi7-ver commit in: app-editors/emacs/
Date: Mon, 11 Sep 2017 18:24:29
Message-Id: 1505154229.bd1cdf64535cfcca6ae19e6aa8097ec3e7351cfc.ulm@gentoo
1 commit: bd1cdf64535cfcca6ae19e6aa8097ec3e7351cfc
2 Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
3 AuthorDate: Mon Sep 11 18:23:49 2017 +0000
4 Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 11 18:23:49 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd1cdf64
7
8 Revert "app-editors/emacs: Fix security vulnerability in enriched mode."
9
10 This reverts commit c99582a94a64f100abf9c97eb9970468e31906bf.
11
12 app-editors/emacs/Manifest | 3 -
13 app-editors/emacs/emacs-23.4-r16.ebuild | 346 ------------------------------
14 app-editors/emacs/emacs-24.5-r4.ebuild | 344 ------------------------------
15 app-editors/emacs/emacs-25.2-r1.ebuild | 358 --------------------------------
16 4 files changed, 1051 deletions(-)
17
18 diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest
19 index 620f2b9507a..69481c41f97 100644
20 --- a/app-editors/emacs/Manifest
21 +++ b/app-editors/emacs/Manifest
22 @@ -2,11 +2,8 @@ DIST emacs-18.59-linux22x-elf-glibc21.diff.gz 15671 SHA256 fb810d893938883d50a3a
23 DIST emacs-18.59-patches-9.tar.xz 21380 SHA256 69411c57b20850e8aab1e20614437f9a836c2ddf47c46a833d0262c138fa3270 SHA512 595a4a7a4052c3b3325e4d4952eed24c98d3dd62b7ce89bd149f046552e2dd67ec3e720b7559fbc086b06a667c992bccc60201ef53b263dbd0fc96cbcdceee38 WHIRLPOOL 23f803d940c35fe9519fe7169e6bca7012c2d2db2246dec121fba37e8dbf39f411a9e579a9cbd4193562da72b9ac226286ad687877ccadd7cb78ea7eb615ab3f
24 DIST emacs-18.59.tar.gz 2962652 SHA256 1e27e33f91984a91e9b4c1f21433f931aba03670960ecc147bb6d7b0de0f051e SHA512 03ce565e346e89b7aacb1852f4783e8907f394de7da0c543b475cb038eb89b87f980d0f7ca1841b1d2108b20f211e95113c7214e4a33e5767a1827ff43173f33 WHIRLPOOL 5e98e71518f665e2a8278afe54e0ace6d7fdd9df23ff0a3354ffc1d5cc25cd21b0dd4d82766fcb436d4f24e9291c933295e956e1ffea43cfeedf915175763be6
25 DIST emacs-23.4-patches-20.tar.xz 18544 SHA256 3ea6d9211b03ee5566674bf1ae3d4032c0921234c1612af66407e880f7e52749 SHA512 cf98090327a1963625b91149d8ff66e9ec4dc8c0bb1054eee138429b5c0d39c2a4662ae5425d7f06e7e69a17d28353f163ca38f6fe786d10def8e143f8a6b1d6 WHIRLPOOL ac3283271d71dc43595fc95dd8930e5888ef7d22cbd19c4701206ebc5aaac8178f462b789a058bb3ae6c9a17c63c0f2a16185708c4517566de50fc035298fe31
26 -DIST emacs-23.4-patches-21.tar.xz 19604 SHA256 b8974eab444e90b2327a3023e7c385df1a7c0e5c583a675ef3cf5f1730174535 SHA512 135eda432de64200797456d594f7de811275a7adf792d10a1c3a51ca4bbbbaa3a2c682b9fd577c4d93fbce967ca08d4ac47eb45f031477c3e44c69c14d5d5b48 WHIRLPOOL 0f746ca161861c128a9d15bc7590954c5a6242c1af495bc65e9bb9c1da3a536ca92755660d0b719155bdb3d3ad18b0d14d820e271c566c97428ea4221b76adce
27 DIST emacs-23.4.tar.bz2 38646508 SHA256 26576f9e664397c729f78f5ffcd092969251988461896fe8793062346ee988b9 SHA512 def7a95ecaefae24d8102b96b1d575a23def1b11a8f0bb17b68f7913bd118e2ea4449a8feee76c1bd649f099b70419f0d494ddd9bb32b26f92720cda842b0296 WHIRLPOOL 2384c3f63ff153c3975e373334d6021d46b23ad3cab448ed2e1180501236453a61d13bf1dfbb2e6075bb141dd8511d85f77e37c763b39769f98de48eacc56f3b
28 DIST emacs-24.5-patches-3.tar.xz 12500 SHA256 4927e037141c0c242d0d6d3aa7dfde140faae361aa556e6ded64b7ab26819f07 SHA512 9bddca3d4a67b57ca03c26fbca378def345592a95c40e868fc47fd9944ed0f750bc30f3a4d588a8a0b4c90daa6c9ed63b56182e8d2d87b4c8d849bf834ead1cc WHIRLPOOL c16cbfda1040b205ced4c1ed120aad6f65285fb315ce89dc936e6a357fbc8f9215fb178b696d2a914c53c6869384f0b1b56fcb6b84c5438f026101b4989de6c5
29 -DIST emacs-24.5-patches-4.tar.xz 13632 SHA256 3b2d7c2034711d114494745780b6521150aa0c524966cbaceeb8d4d053dcbdd3 SHA512 569c3a55aaf1102c0bae4ab25ee06372763cd2de8a54e26b3eefd54e585cf90b53c8ffe1ca48eb4fd312a340380fd3f2fcdb584697814bf429129b48fa56ffb5 WHIRLPOOL 1855ac4178faafcc2d86141e023ff2626246c87e7ff2e7bfbaf9a989e9a48d2767acb9f7af99924cd7db04d34913a42764490831b7b45a34bcd131999180ff28
30 DIST emacs-24.5.tar.xz 39759804 SHA256 dd47d71dd2a526cf6b47cb49af793ec2e26af69a0951cc40e43ae290eacfc34e SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677 WHIRLPOOL 3d9f8fb840f4c846246e642369f967ba0ec357c7cf718ed865523a3cd39605ba14b8c15fc9ae3f076c27e5b6e41fcb681d15f1c6ffc5934430c0a2bf47c233a3
31 DIST emacs-25.1.tar.xz 42498944 SHA256 19f2798ee3bc26c95dca3303e7ab141e7ad65d6ea2b6945eeba4dbea7df48f33 SHA512 67442b9027869c44430e1d4c3e92e74601e667c9aef7e3da16f20a562b5e3fa8c64efdd4b4055919550523093d32eac73c094b644f6573fed41b4e0938668922 WHIRLPOOL 77cf4e126580634ec5aa2d2252a5d3334b6880a2abc32c54543b8df1a7dc9687bf41c54994044be7517b397bcfc2fc1094286ff4c05a7d6f64a8ef8376a4abfb
32 -DIST emacs-25.2-patches-1.tar.xz 2104 SHA256 ea0ba1cf1fb06eb76907cc034acb440af1147bdc0fa849ba8185d016fe58e4ff SHA512 45c666ba6332c8fb60a925c6af9c0da113f46055159d931feddb99ce19b2a03e0101b3a4d671fe699cd5f33fd58a25791bfb8b16e20f463e5d304902ee24854a WHIRLPOOL 97c49266b7be18f028ae939dbdcfd3933637770506f108fcd9d08fa33c63f376fbb6fe520e42ec28adb6d4527c298173bffe596af774748946a3d8a130aa90f7
33 DIST emacs-25.2.tar.xz 46900336 SHA256 59b55194c9979987c5e9f1a1a4ab5406714e80ffcfd415cc6b9222413bc073fa SHA512 2485d5ccd58ecc953cbd2458bdfa45e3c9a6ddfdb1b93c72b957a0da2460d4e42092905e039e8f5bac337ea1ecb9ac404b28702a363323ee5813b30032ebf00c WHIRLPOOL 98de8ad164cf65b21e5fbfdbd7fcee84da32e3de66715d2f03f3c4d03cfa68d49aff2124e5da331282bb5fd9c2b2fbac4ddfd0985e907d2354994c783dddd83f
34
35 diff --git a/app-editors/emacs/emacs-23.4-r16.ebuild b/app-editors/emacs/emacs-23.4-r16.ebuild
36 deleted file mode 100644
37 index 0fb6928c337..00000000000
38 --- a/app-editors/emacs/emacs-23.4-r16.ebuild
39 +++ /dev/null
40 @@ -1,346 +0,0 @@
41 -# Copyright 1999-2017 Gentoo Foundation
42 -# Distributed under the terms of the GNU General Public License v2
43 -
44 -EAPI=6
45 -WANT_AUTOMAKE="none"
46 -
47 -inherit autotools elisp-common flag-o-matic multilib readme.gentoo-r1
48 -
49 -DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
50 -HOMEPAGE="https://www.gnu.org/software/emacs/"
51 -SRC_URI="mirror://gnu/emacs/${P}.tar.bz2
52 - https://dev.gentoo.org/~ulm/emacs/${P}-patches-21.tar.xz"
53 -
54 -LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
55 -SLOT="23"
56 -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
57 -IUSE="alsa aqua athena dbus games gconf gif gpm gtk gzip-el hesiod jpeg kerberos livecd m17n-lib motif pax_kernel png sound source svg tiff toolkit-scroll-bars X Xaw3d xft +xpm"
58 -REQUIRED_USE="?? ( aqua X )"
59 -
60 -RDEPEND="sys-libs/ncurses:0=
61 - >=app-eselect/eselect-emacs-1.16
62 - >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
63 - net-libs/liblockfile
64 - hesiod? ( net-dns/hesiod )
65 - kerberos? ( virtual/krb5 )
66 - alsa? ( media-libs/alsa-lib )
67 - gpm? ( sys-libs/gpm )
68 - dbus? ( sys-apps/dbus )
69 - X? (
70 - x11-libs/libXmu
71 - x11-libs/libXt
72 - x11-misc/xbitmaps
73 - gconf? ( >=gnome-base/gconf-2.26.2 )
74 - gif? ( media-libs/giflib:0= )
75 - jpeg? ( virtual/jpeg:0= )
76 - png? ( >=media-libs/libpng-1.4:0= )
77 - svg? ( >=gnome-base/librsvg-2.0 )
78 - tiff? ( media-libs/tiff:0 )
79 - xpm? ( x11-libs/libXpm )
80 - xft? (
81 - media-libs/fontconfig
82 - media-libs/freetype
83 - x11-libs/libXft
84 - m17n-lib? (
85 - >=dev-libs/libotf-0.9.4
86 - >=dev-libs/m17n-lib-1.5.1
87 - )
88 - )
89 - gtk? ( x11-libs/gtk+:2 )
90 - !gtk? (
91 - motif? ( >=x11-libs/motif-2.3:0 )
92 - !motif? (
93 - Xaw3d? ( x11-libs/libXaw3d )
94 - !Xaw3d? ( athena? ( x11-libs/libXaw ) )
95 - )
96 - )
97 - )"
98 -
99 -DEPEND="${RDEPEND}
100 - alsa? ( virtual/pkgconfig )
101 - dbus? ( virtual/pkgconfig )
102 - X? ( virtual/pkgconfig )
103 - gzip-el? ( app-arch/gzip )
104 - pax_kernel? ( sys-apps/attr )"
105 -
106 -RDEPEND="${RDEPEND}
107 - !<app-editors/emacs-vcs-${PV}"
108 -
109 -EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
110 -SITEFILE="20${PN}-${SLOT}-gentoo.el"
111 -# FULL_VERSION keeps the full version number, which is needed in
112 -# order to determine some path information correctly for copy/move
113 -# operations later on
114 -FULL_VERSION="${PV%%_*}"
115 -S="${WORKDIR}/emacs-${FULL_VERSION}"
116 -
117 -src_prepare() {
118 - eapply ../patch
119 - eapply_user
120 -
121 - sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
122 - || die "unable to sed ctags.1"
123 -
124 - if ! use alsa; then
125 - # ALSA is detected even if not requested by its USE flag.
126 - # Suppress it by supplying pkg-config with a wrong library name.
127 - sed -i -e "/ALSA_MODULES=/s/alsa/DiSaBlEaLsA/" configure.in \
128 - || die "unable to sed configure.in"
129 - fi
130 - if ! use gzip-el; then
131 - # Emacs' build system automatically detects the gzip binary and
132 - # compresses el files. We don't want that so confuse it with a
133 - # wrong binary name
134 - sed -i -e "s/ gzip/ PrEvEnTcOmPrEsSiOn/" configure.in \
135 - || die "unable to sed configure.in"
136 - fi
137 -
138 - mv configure.in configure.ac || die
139 - eautoreconf
140 - touch src/stamp-h.in || die
141 -}
142 -
143 -src_configure() {
144 - strip-flags
145 - filter-flags -fstrict-aliasing -pie
146 - append-flags $(test-flags -fno-strict-aliasing)
147 -
148 - if use sh; then
149 - replace-flags "-O[1-9]" -O0 #262359
150 - elif use ia64; then
151 - replace-flags "-O[2-9]" -O1 #325373
152 - else
153 - replace-flags "-O[3-9]" -O2
154 - fi
155 -
156 - local myconf
157 -
158 - if use alsa && ! use sound; then
159 - einfo "Although sound USE flag is disabled you chose to have alsa,"
160 - einfo "so sound is switched on anyway."
161 - myconf+=" --with-sound"
162 - else
163 - myconf+=" $(use_with sound)"
164 - fi
165 -
166 - if use X; then
167 - myconf+=" --with-x --without-ns"
168 - myconf+=" $(use_with gconf)"
169 - myconf+=" $(use_with toolkit-scroll-bars)"
170 - myconf+=" $(use_with gif)"
171 - myconf+=" $(use_with jpeg)"
172 - myconf+=" $(use_with png)"
173 - myconf+=" $(use_with svg rsvg)"
174 - myconf+=" $(use_with tiff)"
175 - myconf+=" $(use_with xpm)"
176 -
177 - if use xft; then
178 - myconf+=" --with-xft"
179 - myconf+=" $(use_with m17n-lib libotf)"
180 - myconf+=" $(use_with m17n-lib m17n-flt)"
181 - else
182 - myconf+=" --without-xft"
183 - myconf+=" --without-libotf --without-m17n-flt"
184 - use m17n-lib && ewarn \
185 - "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
186 - fi
187 -
188 - # GTK+ is the default toolkit if USE=gtk is chosen with other
189 - # possibilities. Emacs upstream thinks this should be standard
190 - # policy on all distributions
191 - local f
192 - if use gtk; then
193 - einfo "Configuring to build with GIMP Toolkit (GTK+)"
194 - myconf+=" --with-x-toolkit=gtk"
195 - for f in motif Xaw3d athena; do
196 - use ${f} && ewarn \
197 - "USE flag \"${f}\" has no effect if \"gtk\" is set."
198 - done
199 - elif use motif; then
200 - einfo "Configuring to build with Motif toolkit"
201 - myconf+=" --with-x-toolkit=motif"
202 - for f in Xaw3d athena; do
203 - use ${f} && ewarn \
204 - "USE flag \"${f}\" has no effect if \"motif\" is set."
205 - done
206 - elif use athena || use Xaw3d; then
207 - einfo "Configuring to build with Athena/Lucid toolkit"
208 - myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
209 - else
210 - einfo "Configuring to build with no toolkit"
211 - myconf+=" --with-x-toolkit=no"
212 - fi
213 - elif use aqua; then
214 - einfo "Configuring to build with Nextstep (Cocoa) support"
215 - myconf+=" --with-ns --disable-ns-self-contained"
216 - myconf+=" --without-x"
217 - else
218 - myconf+=" --without-x --without-ns"
219 - fi
220 -
221 - # Save version information in the Emacs binary. It will be available
222 - # in variable "system-configuration-options".
223 - myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
224 -
225 - # According to configure, this option is only used for GNU/Linux
226 - # (x86_64 and s390). For Gentoo Prefix we have to explicitly spell
227 - # out the location because $(get_libdir) does not necessarily return
228 - # something that matches the host OS's libdir naming (e.g. RHEL).
229 - local crtdir=$($(tc-getCC) -print-file-name=crt1.o)
230 - crtdir=${crtdir%/*}
231 -
232 - econf \
233 - --program-suffix="-${EMACS_SUFFIX}" \
234 - --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
235 - --localstatedir="${EPREFIX}"/var \
236 - --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
237 - --with-crt-dir="${crtdir}" \
238 - --with-gameuser=":gamestat" \
239 - $(use_with hesiod) \
240 - $(use_with kerberos) $(use_with kerberos kerberos5) \
241 - $(use_with gpm) \
242 - $(use_with dbus) \
243 - ${myconf}
244 -}
245 -
246 -src_compile() {
247 - export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
248 - emake CC="$(tc-getCC)" \
249 - AR="$(tc-getAR) cq" \
250 - RANLIB="$(tc-getRANLIB)"
251 -}
252 -
253 -src_install () {
254 - emake DESTDIR="${D}" install
255 -
256 - rm "${ED}"/usr/bin/emacs-${FULL_VERSION}-${EMACS_SUFFIX} \
257 - || die "removing duplicate emacs executable failed"
258 - mv "${ED}"/usr/bin/emacs-${EMACS_SUFFIX} "${ED}"/usr/bin/${EMACS_SUFFIX} \
259 - || die "moving emacs executable failed"
260 -
261 - # move man pages to the correct place
262 - local m
263 - mv "${ED}"/usr/share/man/man1/{emacs,${EMACS_SUFFIX}}.1 \
264 - || die "moving emacs man page failed"
265 - for m in b2m ctags ebrowse emacsclient etags grep-changelog rcs-checkin; do
266 - mv "${ED}"/usr/share/man/man1/${m}{,-${EMACS_SUFFIX}}.1 \
267 - || die "moving ${m} man page failed"
268 - done
269 -
270 - # move info dir to avoid collisions with the dir file generated by portage
271 - mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
272 - || die "moving info dir failed"
273 - touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
274 - docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
275 -
276 - # avoid collision between slots, see bug #169033 e.g.
277 - rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
278 - rm -rf "${ED}"/usr/share/{applications,icons}
279 - rm -rf "${ED}"/var
280 -
281 - # remove unused <version>/site-lisp dir
282 - rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
283 -
284 - # remove COPYING file (except for etc/COPYING used by describe-copying)
285 - rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
286 -
287 - local cdir
288 - if use source; then
289 - cdir="/usr/share/emacs/${FULL_VERSION}/src"
290 - insinto "${cdir}"
291 - # This is not meant to install all the source -- just the
292 - # C source you might find via find-function
293 - doins src/*.{c,h,m}
294 - doins -r src/{m,s}
295 - rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/Makefile.c
296 - rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/{m,s}/README
297 - elif has installsources ${FEATURES}; then
298 - cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
299 - fi
300 -
301 - sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
302 - X
303 - ;;; ${PN}-${SLOT} site-lisp configuration
304 - X
305 - (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
306 - Y (setq find-function-C-source-directory
307 - Y "${EPREFIX}${cdir}")
308 - X (let ((path (getenv "INFOPATH"))
309 - X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
310 - X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
311 - X (and path
312 - X ;; move Emacs Info dir before anything else in /usr/share/info
313 - X (let* ((p (cons nil (split-string path ":" t))) (q p))
314 - X (while (and (cdr q) (not (string-match re (cadr q))))
315 - X (setq q (cdr q)))
316 - X (setcdr q (cons dir (delete dir (cdr q))))
317 - X (setq Info-directory-list (prune-directory-list (cdr p)))))))
318 - EOF
319 - elisp-site-file-install "${T}/${SITEFILE}" || die
320 -
321 - dodoc README BUGS
322 -
323 - if use aqua; then
324 - dodir /Applications/Gentoo
325 - rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
326 - mv nextstep/Emacs.app \
327 - "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
328 - fi
329 -
330 - DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
331 - through the Emacs eselect module, which also redirects man and info
332 - pages. Therefore, several Emacs versions can be installed at the
333 - same time. \"man emacs.eselect\" for details.
334 - \\n\\nIf you upgrade from a previous major version of Emacs, then
335 - it is strongly recommended that you use app-admin/emacs-updater
336 - to rebuild all byte-compiled elisp files of the installed Emacs
337 - packages."
338 - use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
339 - Installing media-fonts/font-adobe-{75,100}dpi on the X server's
340 - machine would satisfy basic Emacs requirements under X11.
341 - See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
342 - for how to enable anti-aliased fonts."
343 - use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
344 - \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
345 - it into /Applications by yourself."
346 - readme.gentoo_create_doc
347 -}
348 -
349 -pkg_preinst() {
350 - # move Info dir file to correct name
351 - local infodir=/usr/share/info/${EMACS_SUFFIX} f
352 - if [[ -f ${ED}${infodir}/dir.orig ]]; then
353 - mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
354 - elif [[ -d "${ED}"${infodir} ]]; then
355 - # this should not happen in EAPI 4
356 - ewarn "Regenerating Info directory index in ${infodir} ..."
357 - rm -f "${ED}"${infodir}/dir{,.*}
358 - for f in "${ED}"${infodir}/*; do
359 - if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
360 - install-info --info-dir="${ED}"${infodir} "${f}" \
361 - || die "install-info failed"
362 - fi
363 - done
364 - fi
365 -}
366 -
367 -pkg_postinst() {
368 - elisp-site-regen
369 - readme.gentoo_print_elog
370 -
371 - if use livecd; then
372 - # force an update of the emacs symlink for the livecd/dvd,
373 - # because some microemacs packages set it with USE=livecd
374 - eselect emacs update
375 - elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
376 - # refresh symlinks in case any installed files have changed
377 - eselect emacs set ${EMACS_SUFFIX}
378 - else
379 - eselect emacs update ifunset
380 - fi
381 -}
382 -
383 -pkg_postrm() {
384 - elisp-site-regen
385 - eselect emacs update ifunset
386 -}
387
388 diff --git a/app-editors/emacs/emacs-24.5-r4.ebuild b/app-editors/emacs/emacs-24.5-r4.ebuild
389 deleted file mode 100644
390 index 332305b7294..00000000000
391 --- a/app-editors/emacs/emacs-24.5-r4.ebuild
392 +++ /dev/null
393 @@ -1,344 +0,0 @@
394 -# Copyright 1999-2017 Gentoo Foundation
395 -# Distributed under the terms of the GNU General Public License v2
396 -
397 -EAPI=6
398 -
399 -inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo-r1
400 -
401 -DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
402 -HOMEPAGE="https://www.gnu.org/software/emacs/"
403 -SRC_URI="mirror://gnu/emacs/${P}.tar.xz
404 - https://dev.gentoo.org/~ulm/emacs/${P}-patches-4.tar.xz"
405 -
406 -LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
407 -SLOT="24"
408 -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
409 -IUSE="acl alsa aqua athena dbus games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
410 -REQUIRED_USE="?? ( aqua X )"
411 -
412 -RDEPEND="sys-libs/ncurses:0=
413 - >=app-eselect/eselect-emacs-1.16
414 - >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
415 - net-libs/liblockfile
416 - acl? ( virtual/acl )
417 - alsa? ( media-libs/alsa-lib )
418 - dbus? ( sys-apps/dbus )
419 - gpm? ( sys-libs/gpm )
420 - hesiod? ( net-dns/hesiod )
421 - !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
422 - kerberos? ( virtual/krb5 )
423 - libxml2? ( >=dev-libs/libxml2-2.2.0 )
424 - selinux? ( sys-libs/libselinux )
425 - ssl? ( net-libs/gnutls:0= )
426 - zlib? ( sys-libs/zlib )
427 - X? (
428 - x11-libs/libXmu
429 - x11-libs/libXt
430 - x11-misc/xbitmaps
431 - gconf? ( >=gnome-base/gconf-2.26.2 )
432 - gsettings? ( >=dev-libs/glib-2.28.6 )
433 - gif? ( media-libs/giflib:0= )
434 - jpeg? ( virtual/jpeg:0= )
435 - png? ( >=media-libs/libpng-1.4:0= )
436 - svg? ( >=gnome-base/librsvg-2.0 )
437 - tiff? ( media-libs/tiff:0 )
438 - xpm? ( x11-libs/libXpm )
439 - imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
440 - xft? (
441 - media-libs/fontconfig
442 - media-libs/freetype
443 - x11-libs/libXft
444 - m17n-lib? (
445 - >=dev-libs/libotf-0.9.4
446 - >=dev-libs/m17n-lib-1.5.1
447 - )
448 - )
449 - gtk? (
450 - gtk3? ( x11-libs/gtk+:3 )
451 - !gtk3? ( x11-libs/gtk+:2 )
452 - )
453 - !gtk? (
454 - motif? ( >=x11-libs/motif-2.3:0 )
455 - !motif? (
456 - Xaw3d? ( x11-libs/libXaw3d )
457 - !Xaw3d? ( athena? ( x11-libs/libXaw ) )
458 - )
459 - )
460 - )"
461 -
462 -DEPEND="${RDEPEND}
463 - virtual/pkgconfig
464 - gzip-el? ( app-arch/gzip )
465 - pax_kernel? ( sys-apps/attr )"
466 -
467 -RDEPEND="${RDEPEND}
468 - !<app-editors/emacs-vcs-${PV}"
469 -
470 -EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
471 -SITEFILE="20${PN}-${SLOT}-gentoo.el"
472 -# FULL_VERSION keeps the full version number, which is needed in
473 -# order to determine some path information correctly for copy/move
474 -# operations later on
475 -FULL_VERSION="${PV%%_*}"
476 -S="${WORKDIR}/emacs-${FULL_VERSION}"
477 -
478 -src_prepare() {
479 - eapply ../patch
480 - eapply_user
481 -
482 - # Fix filename reference in redirected man page
483 - sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
484 - || die "unable to sed ctags.1"
485 -
486 - AT_M4DIR=m4 eautoreconf
487 - touch src/stamp-h.in || die
488 -}
489 -
490 -src_configure() {
491 - strip-flags
492 - filter-flags -pie #526948
493 -
494 - if use sh; then
495 - replace-flags "-O[1-9]" -O0 #262359
496 - elif use ia64; then
497 - replace-flags "-O[2-9]" -O1 #325373
498 - else
499 - replace-flags "-O[3-9]" -O2
500 - fi
501 -
502 - local myconf
503 -
504 - if use alsa; then
505 - use sound || ewarn \
506 - "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
507 - myconf+=" --with-sound=alsa"
508 - else
509 - myconf+=" --with-sound=$(usex sound oss)"
510 - fi
511 -
512 - if use X; then
513 - myconf+=" --with-x --without-ns"
514 - myconf+=" $(use_with gconf)"
515 - myconf+=" $(use_with gsettings)"
516 - myconf+=" $(use_with toolkit-scroll-bars)"
517 - myconf+=" $(use_with gif)"
518 - myconf+=" $(use_with jpeg)"
519 - myconf+=" $(use_with png)"
520 - myconf+=" $(use_with svg rsvg)"
521 - myconf+=" $(use_with tiff)"
522 - myconf+=" $(use_with xpm)"
523 - myconf+=" $(use_with imagemagick)"
524 -
525 - if use xft; then
526 - myconf+=" --with-xft"
527 - myconf+=" $(use_with m17n-lib libotf)"
528 - myconf+=" $(use_with m17n-lib m17n-flt)"
529 - else
530 - myconf+=" --without-xft"
531 - myconf+=" --without-libotf --without-m17n-flt"
532 - use m17n-lib && ewarn \
533 - "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
534 - fi
535 -
536 - local f line
537 - if use gtk; then
538 - einfo "Configuring to build with GIMP Toolkit (GTK+)"
539 - while read line; do ewarn "${line}"; done <<-EOF
540 - Your version of GTK+ will have problems with closing open
541 - displays. This is no problem if you just use one display, but
542 - if you use more than one and close one of them Emacs may crash.
543 - See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>.
544 - If you intend to use more than one display, then it is strongly
545 - recommended that you compile Emacs with the Athena/Lucid or the
546 - Motif toolkit instead.
547 - EOF
548 - myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
549 - for f in motif Xaw3d athena; do
550 - use ${f} && ewarn \
551 - "USE flag \"${f}\" has no effect if \"gtk\" is set."
552 - done
553 - elif use motif; then
554 - einfo "Configuring to build with Motif toolkit"
555 - myconf+=" --with-x-toolkit=motif"
556 - for f in Xaw3d athena; do
557 - use ${f} && ewarn \
558 - "USE flag \"${f}\" has no effect if \"motif\" is set."
559 - done
560 - elif use athena || use Xaw3d; then
561 - einfo "Configuring to build with Athena/Lucid toolkit"
562 - myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
563 - else
564 - einfo "Configuring to build with no toolkit"
565 - myconf+=" --with-x-toolkit=no"
566 - fi
567 - elif use aqua; then
568 - einfo "Configuring to build with Nextstep (Cocoa) support"
569 - myconf+=" --with-ns --disable-ns-self-contained"
570 - myconf+=" --without-x"
571 - else
572 - myconf+=" --without-x --without-ns"
573 - fi
574 -
575 - # Save version information in the Emacs binary. It will be available
576 - # in variable "system-configuration-options".
577 - myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
578 -
579 - econf \
580 - --program-suffix="-${EMACS_SUFFIX}" \
581 - --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
582 - --localstatedir="${EPREFIX}"/var \
583 - --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
584 - --with-gameuser=":gamestat" \
585 - --without-compress-install \
586 - --with-file-notification=$(usev inotify || usev gfile || echo no) \
587 - $(use_enable acl) \
588 - $(use_with dbus) \
589 - $(use_with gpm) \
590 - $(use_with hesiod) \
591 - $(use_with kerberos) $(use_with kerberos kerberos5) \
592 - $(use_with libxml2 xml2) \
593 - $(use_with selinux) \
594 - $(use_with ssl gnutls) \
595 - $(use_with wide-int) \
596 - $(use_with zlib) \
597 - ${myconf}
598 -}
599 -
600 -src_compile() {
601 - export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
602 - emake
603 -}
604 -
605 -src_install () {
606 - emake DESTDIR="${D}" NO_BIN_LINK=t install
607 -
608 - mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
609 - || die "moving emacs executable failed"
610 - mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
611 - || die "moving emacs man page failed"
612 -
613 - # move info dir to avoid collisions with the dir file generated by portage
614 - mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
615 - || die "moving info dir failed"
616 - touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
617 - docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
618 -
619 - # avoid collision between slots, see bug #169033 e.g.
620 - rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
621 - rm -rf "${ED}"/usr/share/{applications,icons}
622 - rm -rf "${ED}"/var
623 -
624 - # remove unused <version>/site-lisp dir
625 - rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
626 -
627 - # remove COPYING file (except for etc/COPYING used by describe-copying)
628 - rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
629 -
630 - if use gzip-el; then
631 - # compress .el files when a corresponding .elc exists
632 - find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
633 - -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
634 - assert "gzip .el failed"
635 - fi
636 -
637 - local cdir
638 - if use source; then
639 - cdir="/usr/share/emacs/${FULL_VERSION}/src"
640 - insinto "${cdir}"
641 - # This is not meant to install all the source -- just the
642 - # C source you might find via find-function
643 - doins src/*.{c,h,m}
644 - elif has installsources ${FEATURES}; then
645 - cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
646 - fi
647 -
648 - sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
649 - X
650 - ;;; ${PN}-${SLOT} site-lisp configuration
651 - X
652 - (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
653 - Y (setq find-function-C-source-directory
654 - Y "${EPREFIX}${cdir}")
655 - X (let ((path (getenv "INFOPATH"))
656 - X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
657 - X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
658 - X (and path
659 - X ;; move Emacs Info dir before anything else in /usr/share/info
660 - X (let* ((p (cons nil (split-string path ":" t))) (q p))
661 - X (while (and (cdr q) (not (string-match re (cadr q))))
662 - X (setq q (cdr q)))
663 - X (setcdr q (cons dir (delete dir (cdr q))))
664 - X (setq Info-directory-list (prune-directory-list (cdr p)))))))
665 - EOF
666 - elisp-site-file-install "${T}/${SITEFILE}" || die
667 -
668 - dodoc README BUGS
669 -
670 - if use aqua; then
671 - dodir /Applications/Gentoo
672 - rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
673 - mv nextstep/Emacs.app \
674 - "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
675 - fi
676 -
677 - DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
678 - through the Emacs eselect module, which also redirects man and info
679 - pages. Therefore, several Emacs versions can be installed at the
680 - same time. \"man emacs.eselect\" for details.
681 - \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
682 - strongly recommended that you use app-admin/emacs-updater to rebuild
683 - all byte-compiled elisp files of the installed Emacs packages."
684 - use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
685 - Installing media-fonts/font-adobe-{75,100}dpi on the X server's
686 - machine would satisfy basic Emacs requirements under X11.
687 - See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
688 - for how to enable anti-aliased fonts."
689 - use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
690 - \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
691 - it into /Applications by yourself."
692 - readme.gentoo_create_doc
693 -}
694 -
695 -pkg_preinst() {
696 - # move Info dir file to correct name
697 - local infodir=/usr/share/info/${EMACS_SUFFIX} f
698 - if [[ -f ${ED}${infodir}/dir.orig ]]; then
699 - mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
700 - elif [[ -d "${ED}"${infodir} ]]; then
701 - # this should not happen in EAPI 4
702 - ewarn "Regenerating Info directory index in ${infodir} ..."
703 - rm -f "${ED}"${infodir}/dir{,.*}
704 - for f in "${ED}"${infodir}/*; do
705 - if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
706 - install-info --info-dir="${ED}"${infodir} "${f}" \
707 - || die "install-info failed"
708 - fi
709 - done
710 - fi
711 -}
712 -
713 -pkg_postinst() {
714 - elisp-site-regen
715 -
716 - local pvr
717 - for pvr in ${REPLACING_VERSIONS}; do
718 - [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
719 - done
720 - readme.gentoo_print_elog
721 -
722 - if use livecd; then
723 - # force an update of the emacs symlink for the livecd/dvd,
724 - # because some microemacs packages set it with USE=livecd
725 - eselect emacs update
726 - elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
727 - # refresh symlinks in case any installed files have changed
728 - eselect emacs set ${EMACS_SUFFIX}
729 - else
730 - eselect emacs update ifunset
731 - fi
732 -}
733 -
734 -pkg_postrm() {
735 - elisp-site-regen
736 - eselect emacs update ifunset
737 -}
738
739 diff --git a/app-editors/emacs/emacs-25.2-r1.ebuild b/app-editors/emacs/emacs-25.2-r1.ebuild
740 deleted file mode 100644
741 index aebdea0f7fe..00000000000
742 --- a/app-editors/emacs/emacs-25.2-r1.ebuild
743 +++ /dev/null
744 @@ -1,358 +0,0 @@
745 -# Copyright 1999-2017 Gentoo Foundation
746 -# Distributed under the terms of the GNU General Public License v2
747 -
748 -EAPI=6
749 -
750 -inherit elisp-common flag-o-matic multilib readme.gentoo-r1
751 -
752 -DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
753 -HOMEPAGE="https://www.gnu.org/software/emacs/"
754 -SRC_URI="mirror://gnu/emacs/${P}.tar.xz
755 - https://dev.gentoo.org/~ulm/emacs/${P}-patches-1.tar.xz"
756 -
757 -LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
758 -SLOT="25"
759 -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"
760 -IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
761 -REQUIRED_USE="?? ( aqua X )"
762 -
763 -RDEPEND="sys-libs/ncurses:0=
764 - >=app-eselect/eselect-emacs-1.16
765 - >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
766 - net-libs/liblockfile
767 - acl? ( virtual/acl )
768 - alsa? ( media-libs/alsa-lib )
769 - dbus? ( sys-apps/dbus )
770 - gpm? ( sys-libs/gpm )
771 - hesiod? ( net-dns/hesiod )
772 - !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
773 - kerberos? ( virtual/krb5 )
774 - libxml2? ( >=dev-libs/libxml2-2.2.0 )
775 - selinux? ( sys-libs/libselinux )
776 - ssl? ( net-libs/gnutls:0= )
777 - zlib? ( sys-libs/zlib )
778 - X? (
779 - x11-libs/libXmu
780 - x11-libs/libXt
781 - x11-misc/xbitmaps
782 - gconf? ( >=gnome-base/gconf-2.26.2 )
783 - gsettings? ( >=dev-libs/glib-2.28.6 )
784 - gif? ( media-libs/giflib:0= )
785 - jpeg? ( virtual/jpeg:0= )
786 - png? ( >=media-libs/libpng-1.4:0= )
787 - svg? ( >=gnome-base/librsvg-2.0 )
788 - tiff? ( media-libs/tiff:0 )
789 - xpm? ( x11-libs/libXpm )
790 - imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
791 - xft? (
792 - media-libs/fontconfig
793 - media-libs/freetype
794 - x11-libs/libXft
795 - cairo? ( >=x11-libs/cairo-1.12.18 )
796 - m17n-lib? (
797 - >=dev-libs/libotf-0.9.4
798 - >=dev-libs/m17n-lib-1.5.1
799 - )
800 - )
801 - gtk? (
802 - xwidgets? (
803 - x11-libs/gtk+:3
804 - net-libs/webkit-gtk:3=
805 - )
806 - !xwidgets? (
807 - gtk3? ( x11-libs/gtk+:3 )
808 - !gtk3? ( x11-libs/gtk+:2 )
809 - )
810 - )
811 - !gtk? (
812 - motif? ( >=x11-libs/motif-2.3:0 )
813 - !motif? (
814 - Xaw3d? ( x11-libs/libXaw3d )
815 - !Xaw3d? ( athena? ( x11-libs/libXaw ) )
816 - )
817 - )
818 - )"
819 -
820 -DEPEND="${RDEPEND}
821 - virtual/pkgconfig
822 - gzip-el? ( app-arch/gzip )
823 - pax_kernel? ( sys-apps/attr )"
824 -
825 -RDEPEND="${RDEPEND}
826 - !<app-editors/emacs-vcs-${PV}"
827 -
828 -EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
829 -SITEFILE="20${PN}-${SLOT}-gentoo.el"
830 -# FULL_VERSION keeps the full version number, which is needed in
831 -# order to determine some path information correctly for copy/move
832 -# operations later on
833 -FULL_VERSION="${PV%%_*}"
834 -S="${WORKDIR}/emacs-${FULL_VERSION}"
835 -
836 -src_prepare() {
837 - eapply ../patch
838 - eapply_user
839 -
840 - # Fix filename reference in redirected man page
841 - sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
842 - || die "unable to sed ctags.1"
843 -
844 - #AT_M4DIR=m4 eautoreconf
845 - #touch src/stamp-h.in || die
846 -}
847 -
848 -src_configure() {
849 - strip-flags
850 - filter-flags -pie #526948
851 -
852 - if use sh; then
853 - replace-flags "-O[1-9]" -O0 #262359
854 - elif use ia64; then
855 - replace-flags "-O[2-9]" -O1 #325373
856 - else
857 - replace-flags "-O[3-9]" -O2
858 - fi
859 -
860 - local myconf
861 -
862 - if use alsa; then
863 - use sound || ewarn \
864 - "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
865 - myconf+=" --with-sound=alsa"
866 - else
867 - myconf+=" --with-sound=$(usex sound oss)"
868 - fi
869 -
870 - if use X; then
871 - myconf+=" --with-x --without-ns"
872 - myconf+=" $(use_with gconf)"
873 - myconf+=" $(use_with gsettings)"
874 - myconf+=" $(use_with toolkit-scroll-bars)"
875 - myconf+=" $(use_with gif)"
876 - myconf+=" $(use_with jpeg)"
877 - myconf+=" $(use_with png)"
878 - myconf+=" $(use_with svg rsvg)"
879 - myconf+=" $(use_with tiff)"
880 - myconf+=" $(use_with xpm)"
881 - myconf+=" $(use_with imagemagick)"
882 -
883 - if use xft; then
884 - myconf+=" --with-xft"
885 - myconf+=" $(use_with cairo)"
886 - myconf+=" $(use_with m17n-lib libotf)"
887 - myconf+=" $(use_with m17n-lib m17n-flt)"
888 - else
889 - myconf+=" --without-xft"
890 - myconf+=" --without-cairo"
891 - myconf+=" --without-libotf --without-m17n-flt"
892 - use cairo && ewarn \
893 - "USE flag \"cairo\" has no effect if \"xft\" is not set."
894 - use m17n-lib && ewarn \
895 - "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
896 - fi
897 -
898 - local f line
899 - if use gtk; then
900 - einfo "Configuring to build with GIMP Toolkit (GTK+)"
901 - while read line; do ewarn "${line}"; done <<-EOF
902 - Your version of GTK+ will have problems with closing open
903 - displays. This is no problem if you just use one display, but
904 - if you use more than one and close one of them Emacs may crash.
905 - See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>.
906 - If you intend to use more than one display, then it is strongly
907 - recommended that you compile Emacs with the Athena/Lucid or the
908 - Motif toolkit instead.
909 - EOF
910 - if use xwidgets; then
911 - myconf+=" --with-x-toolkit=gtk3 --with-xwidgets"
912 - else
913 - myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
914 - myconf+=" --without-xwidgets"
915 - fi
916 - for f in motif Xaw3d athena; do
917 - use ${f} && ewarn \
918 - "USE flag \"${f}\" has no effect if \"gtk\" is set."
919 - done
920 - elif use motif; then
921 - einfo "Configuring to build with Motif toolkit"
922 - myconf+=" --with-x-toolkit=motif"
923 - for f in Xaw3d athena; do
924 - use ${f} && ewarn \
925 - "USE flag \"${f}\" has no effect if \"motif\" is set."
926 - done
927 - elif use athena || use Xaw3d; then
928 - einfo "Configuring to build with Athena/Lucid toolkit"
929 - myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
930 - else
931 - einfo "Configuring to build with no toolkit"
932 - myconf+=" --with-x-toolkit=no"
933 - fi
934 - ! use gtk && use xwidgets && ewarn \
935 - "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
936 - elif use aqua; then
937 - einfo "Configuring to build with Nextstep (Cocoa) support"
938 - myconf+=" --with-ns --disable-ns-self-contained"
939 - myconf+=" --without-x"
940 - else
941 - myconf+=" --without-x --without-ns"
942 - fi
943 -
944 - # Save version information in the Emacs binary. It will be available
945 - # in variable "system-configuration-options".
946 - myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
947 -
948 - econf \
949 - --program-suffix="-${EMACS_SUFFIX}" \
950 - --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
951 - --localstatedir="${EPREFIX}"/var \
952 - --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
953 - --with-gameuser=":gamestat" \
954 - --without-compress-install \
955 - --with-file-notification=$(usev inotify || usev gfile || echo no) \
956 - $(use_enable acl) \
957 - $(use_with dbus) \
958 - $(use_with dynamic-loading modules) \
959 - $(use_with gpm) \
960 - $(use_with hesiod) \
961 - $(use_with kerberos) $(use_with kerberos kerberos5) \
962 - $(use_with libxml2 xml2) \
963 - $(use_with selinux) \
964 - $(use_with ssl gnutls) \
965 - $(use_with wide-int) \
966 - $(use_with zlib) \
967 - ${myconf}
968 -}
969 -
970 -src_compile() {
971 - export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
972 - emake
973 -}
974 -
975 -src_install () {
976 - emake DESTDIR="${D}" NO_BIN_LINK=t install
977 -
978 - mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
979 - || die "moving emacs executable failed"
980 - mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
981 - || die "moving emacs man page failed"
982 -
983 - # move info dir to avoid collisions with the dir file generated by portage
984 - mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
985 - || die "moving info dir failed"
986 - touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
987 - docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
988 -
989 - # avoid collision between slots, see bug #169033 e.g.
990 - rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
991 - rm -rf "${ED}"/usr/share/{appdata,applications,icons}
992 - rm -rf "${ED}"/var
993 -
994 - # remove unused <version>/site-lisp dir
995 - rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
996 -
997 - # remove COPYING file (except for etc/COPYING used by describe-copying)
998 - rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
999 -
1000 - if use gzip-el; then
1001 - # compress .el files when a corresponding .elc exists
1002 - find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
1003 - -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
1004 - assert "gzip .el failed"
1005 - fi
1006 -
1007 - local cdir
1008 - if use source; then
1009 - cdir="/usr/share/emacs/${FULL_VERSION}/src"
1010 - insinto "${cdir}"
1011 - # This is not meant to install all the source -- just the
1012 - # C source you might find via find-function
1013 - doins src/*.{c,h,m}
1014 - elif has installsources ${FEATURES}; then
1015 - cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
1016 - fi
1017 -
1018 - sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
1019 - X
1020 - ;;; ${PN}-${SLOT} site-lisp configuration
1021 - X
1022 - (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
1023 - Y (setq find-function-C-source-directory
1024 - Y "${EPREFIX}${cdir}")
1025 - X (let ((path (getenv "INFOPATH"))
1026 - X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
1027 - X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
1028 - X (and path
1029 - X ;; move Emacs Info dir before anything else in /usr/share/info
1030 - X (let* ((p (cons nil (split-string path ":" t))) (q p))
1031 - X (while (and (cdr q) (not (string-match re (cadr q))))
1032 - X (setq q (cdr q)))
1033 - X (setcdr q (cons dir (delete dir (cdr q))))
1034 - X (setq Info-directory-list (prune-directory-list (cdr p)))))))
1035 - EOF
1036 - elisp-site-file-install "${T}/${SITEFILE}" || die
1037 -
1038 - dodoc README BUGS CONTRIBUTE
1039 -
1040 - if use aqua; then
1041 - dodir /Applications/Gentoo
1042 - rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
1043 - mv nextstep/Emacs.app \
1044 - "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
1045 - fi
1046 -
1047 - DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
1048 - through the Emacs eselect module, which also redirects man and info
1049 - pages. Therefore, several Emacs versions can be installed at the
1050 - same time. \"man emacs.eselect\" for details.
1051 - \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
1052 - strongly recommended that you use app-admin/emacs-updater to rebuild
1053 - all byte-compiled elisp files of the installed Emacs packages."
1054 - use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
1055 - Installing media-fonts/font-adobe-{75,100}dpi on the X server's
1056 - machine would satisfy basic Emacs requirements under X11.
1057 - See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
1058 - for how to enable anti-aliased fonts."
1059 - use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
1060 - \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
1061 - it into /Applications by yourself."
1062 - readme.gentoo_create_doc
1063 -}
1064 -
1065 -pkg_preinst() {
1066 - # move Info dir file to correct name
1067 - local infodir=/usr/share/info/${EMACS_SUFFIX} f
1068 - if [[ -f ${ED}${infodir}/dir.orig ]]; then
1069 - mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
1070 - elif [[ -d "${ED}"${infodir} ]]; then
1071 - # this should not happen in EAPI 4
1072 - ewarn "Regenerating Info directory index in ${infodir} ..."
1073 - rm -f "${ED}"${infodir}/dir{,.*}
1074 - for f in "${ED}"${infodir}/*; do
1075 - if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
1076 - install-info --info-dir="${ED}"${infodir} "${f}" \
1077 - || die "install-info failed"
1078 - fi
1079 - done
1080 - fi
1081 -}
1082 -
1083 -pkg_postinst() {
1084 - elisp-site-regen
1085 - readme.gentoo_print_elog
1086 -
1087 - if use livecd; then
1088 - # force an update of the emacs symlink for the livecd/dvd,
1089 - # because some microemacs packages set it with USE=livecd
1090 - eselect emacs update
1091 - elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
1092 - # refresh symlinks in case any installed files have changed
1093 - eselect emacs set ${EMACS_SUFFIX}
1094 - else
1095 - eselect emacs update ifunset
1096 - fi
1097 -}
1098 -
1099 -pkg_postrm() {
1100 - elisp-site-regen
1101 - eselect emacs update ifunset
1102 -}