1 |
commit: aaa1afd348143828deaf9bf0e055211edd0ad723 |
2 |
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Nov 30 19:53:31 2022 +0000 |
4 |
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Nov 30 19:53:31 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aaa1afd3 |
7 |
|
8 |
app-editors/emacs: drop 28.2-r1 |
9 |
|
10 |
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org> |
11 |
|
12 |
app-editors/emacs/emacs-28.2-r1.ebuild | 517 --------------------------------- |
13 |
1 file changed, 517 deletions(-) |
14 |
|
15 |
diff --git a/app-editors/emacs/emacs-28.2-r1.ebuild b/app-editors/emacs/emacs-28.2-r1.ebuild |
16 |
deleted file mode 100644 |
17 |
index eaa79e66e8e3..000000000000 |
18 |
--- a/app-editors/emacs/emacs-28.2-r1.ebuild |
19 |
+++ /dev/null |
20 |
@@ -1,517 +0,0 @@ |
21 |
-# Copyright 1999-2022 Gentoo Authors |
22 |
-# Distributed under the terms of the GNU General Public License v2 |
23 |
- |
24 |
-EAPI=8 |
25 |
- |
26 |
-inherit autotools elisp-common readme.gentoo-r1 toolchain-funcs |
27 |
- |
28 |
-if [[ ${PV##*.} = 9999 ]]; then |
29 |
- inherit git-r3 |
30 |
- EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git" |
31 |
- EGIT_BRANCH="emacs-28" |
32 |
- EGIT_CHECKOUT_DIR="${WORKDIR}/emacs" |
33 |
- S="${EGIT_CHECKOUT_DIR}" |
34 |
- SLOT="${PV%%.*}-vcs" |
35 |
-else |
36 |
- # FULL_VERSION keeps the full version number, which is needed in |
37 |
- # order to determine some path information correctly for copy/move |
38 |
- # operations later on |
39 |
- FULL_VERSION="${PV%%_*}" |
40 |
- SRC_URI="mirror://gnu/emacs/${P}.tar.xz" |
41 |
- S="${WORKDIR}/emacs-${FULL_VERSION}" |
42 |
- # PV can be in any of the following formats: |
43 |
- # 27.1 released version (slot 27) |
44 |
- # 27.1_rc1 upstream release candidate (27) |
45 |
- # 27.0.9999 live ebuild (slot 27-vcs) |
46 |
- # 27.0.90 upstream prerelease snapshot (27-vcs) |
47 |
- # 27.0.50_pre20191223 snapshot by Gentoo developer (27-vcs) |
48 |
- if [[ ${PV} == *_pre* ]]; then |
49 |
- SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz" |
50 |
- S="${WORKDIR}/emacs" |
51 |
- elif [[ ${PV//[0-9]} != "." ]]; then |
52 |
- SRC_URI="https://alpha.gnu.org/gnu/emacs/pretest/${PN}-${PV/_/-}.tar.xz" |
53 |
- fi |
54 |
- # Patchset from proj/emacs-patches.git |
55 |
- SRC_URI+=" https://dev.gentoo.org/~ulm/emacs/${PN}-28.1-patches-1.tar.xz" |
56 |
- PATCHES=("${WORKDIR}/patch") |
57 |
- SLOT="${PV%%.*}" |
58 |
- [[ ${PV} == *.*.* ]] && SLOT+="-vcs" |
59 |
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" |
60 |
-fi |
61 |
- |
62 |
-DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" |
63 |
-HOMEPAGE="https://www.gnu.org/software/emacs/" |
64 |
- |
65 |
-LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" |
66 |
-IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jit jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm xwidgets zlib" |
67 |
- |
68 |
-RDEPEND="app-emacs/emacs-common[games?,gui(-)?] |
69 |
- sys-libs/ncurses:0= |
70 |
- acl? ( virtual/acl ) |
71 |
- alsa? ( media-libs/alsa-lib ) |
72 |
- dbus? ( sys-apps/dbus ) |
73 |
- games? ( acct-group/gamestat ) |
74 |
- gmp? ( dev-libs/gmp:0= ) |
75 |
- gpm? ( sys-libs/gpm ) |
76 |
- !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) ) |
77 |
- jit? ( |
78 |
- sys-devel/gcc:=[jit(-)] |
79 |
- sys-libs/zlib |
80 |
- ) |
81 |
- json? ( dev-libs/jansson:= ) |
82 |
- kerberos? ( virtual/krb5 ) |
83 |
- lcms? ( media-libs/lcms:2 ) |
84 |
- libxml2? ( >=dev-libs/libxml2-2.2.0 ) |
85 |
- mailutils? ( net-mail/mailutils[clients] ) |
86 |
- !mailutils? ( acct-group/mail net-libs/liblockfile ) |
87 |
- selinux? ( sys-libs/libselinux ) |
88 |
- ssl? ( net-libs/gnutls:0= ) |
89 |
- systemd? ( sys-apps/systemd ) |
90 |
- zlib? ( sys-libs/zlib ) |
91 |
- gui? ( !aqua? ( |
92 |
- x11-libs/libICE |
93 |
- x11-libs/libSM |
94 |
- x11-libs/libX11 |
95 |
- x11-libs/libXext |
96 |
- x11-libs/libXfixes |
97 |
- x11-libs/libXinerama |
98 |
- x11-libs/libXrandr |
99 |
- x11-libs/libxcb |
100 |
- x11-misc/xbitmaps |
101 |
- gsettings? ( >=dev-libs/glib-2.28.6 ) |
102 |
- gif? ( media-libs/giflib:0= ) |
103 |
- jpeg? ( media-libs/libjpeg-turbo:0= ) |
104 |
- png? ( >=media-libs/libpng-1.4:0= ) |
105 |
- svg? ( >=gnome-base/librsvg-2.0 ) |
106 |
- tiff? ( media-libs/tiff:0 ) |
107 |
- xpm? ( x11-libs/libXpm ) |
108 |
- imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= ) |
109 |
- xft? ( |
110 |
- media-libs/fontconfig |
111 |
- media-libs/freetype |
112 |
- x11-libs/libXft |
113 |
- x11-libs/libXrender |
114 |
- cairo? ( >=x11-libs/cairo-1.12.18[X] ) |
115 |
- harfbuzz? ( media-libs/harfbuzz:0= ) |
116 |
- m17n-lib? ( |
117 |
- >=dev-libs/libotf-0.9.4 |
118 |
- >=dev-libs/m17n-lib-1.5.1 |
119 |
- ) |
120 |
- ) |
121 |
- gtk? ( |
122 |
- x11-libs/gtk+:3 |
123 |
- xwidgets? ( |
124 |
- net-libs/webkit-gtk:4= |
125 |
- x11-libs/libXcomposite |
126 |
- ) |
127 |
- ) |
128 |
- !gtk? ( |
129 |
- motif? ( |
130 |
- >=x11-libs/motif-2.3:0 |
131 |
- x11-libs/libXpm |
132 |
- x11-libs/libXmu |
133 |
- x11-libs/libXt |
134 |
- ) |
135 |
- !motif? ( |
136 |
- Xaw3d? ( |
137 |
- x11-libs/libXaw3d |
138 |
- x11-libs/libXmu |
139 |
- x11-libs/libXt |
140 |
- ) |
141 |
- !Xaw3d? ( athena? ( |
142 |
- x11-libs/libXaw |
143 |
- x11-libs/libXmu |
144 |
- x11-libs/libXt |
145 |
- ) ) |
146 |
- ) |
147 |
- ) |
148 |
- ) )" |
149 |
- |
150 |
-DEPEND="${RDEPEND} |
151 |
- gui? ( !aqua? ( x11-base/xorg-proto ) )" |
152 |
- |
153 |
-BDEPEND="sys-apps/texinfo |
154 |
- virtual/pkgconfig |
155 |
- gzip-el? ( app-arch/gzip )" |
156 |
- |
157 |
-IDEPEND="app-eselect/eselect-emacs" |
158 |
- |
159 |
-RDEPEND+=" ${IDEPEND}" |
160 |
- |
161 |
-EMACS_SUFFIX="emacs-${SLOT}" |
162 |
-SITEFILE="20${EMACS_SUFFIX}-gentoo.el" |
163 |
- |
164 |
-src_prepare() { |
165 |
- if [[ ${PV##*.} = 9999 ]]; then |
166 |
- FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[^0-9.]*\([0-9.]*\).*/\1/p' \ |
167 |
- configure.ac) |
168 |
- [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version" |
169 |
- einfo "Emacs branch: ${EGIT_BRANCH}" |
170 |
- einfo "Commit: ${EGIT_VERSION}" |
171 |
- einfo "Emacs version number: ${FULL_VERSION}" |
172 |
- [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \ |
173 |
- || die "Upstream version number changed to ${FULL_VERSION}" |
174 |
- fi |
175 |
- |
176 |
- if use jit; then |
177 |
- export NATIVE_FULL_AOT=1 |
178 |
- find lisp -type f -name "*.elc" -delete || die |
179 |
- |
180 |
- # These files ignore LDFLAGS. We assign the variable here, because |
181 |
- # for live ebuilds FULL_VERSION doesn't exist in global scope |
182 |
- QA_FLAGS_IGNORED="usr/$(get_libdir)/emacs/${FULL_VERSION}/native-lisp/.*" |
183 |
- |
184 |
- # gccjit doesn't play well with ccache or distcc #801580 |
185 |
- # For now, work around the problem with an explicit LIBRARY_PATH |
186 |
- has ccache ${FEATURES} || has distcc ${FEATURES} && tc-is-gcc \ |
187 |
- && export LIBRARY_PATH=$("$(tc-getCC)" -print-search-dirs \ |
188 |
- | sed -n '/^libraries:/{s:^[^/]*::;p}') |
189 |
- fi |
190 |
- |
191 |
- default |
192 |
- |
193 |
- # Fix filename reference in redirected man page |
194 |
- sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die |
195 |
- |
196 |
- AT_M4DIR=m4 eautoreconf |
197 |
-} |
198 |
- |
199 |
-src_configure() { |
200 |
- local myconf |
201 |
- |
202 |
- # Prevents e.g. tests interfering with running Emacs. |
203 |
- unset EMACS_SOCKET_NAME |
204 |
- |
205 |
- if use alsa; then |
206 |
- use sound || ewarn \ |
207 |
- "USE flag \"alsa\" overrides \"-sound\"; enabling sound support." |
208 |
- myconf+=" --with-sound=alsa" |
209 |
- else |
210 |
- myconf+=" --with-sound=$(usex sound oss)" |
211 |
- fi |
212 |
- |
213 |
- if use jit; then |
214 |
- use zlib || ewarn \ |
215 |
- "USE flag \"jit\" overrides \"-zlib\"; enabling zlib support." |
216 |
- myconf+=" --with-zlib" |
217 |
- else |
218 |
- myconf+=" $(use_with zlib)" |
219 |
- fi |
220 |
- |
221 |
- if ! use gui; then |
222 |
- einfo "Configuring to build without window system support" |
223 |
- myconf+=" --without-x --without-ns" |
224 |
- elif use aqua; then |
225 |
- einfo "Configuring to build with Nextstep (Macintosh Cocoa) support" |
226 |
- myconf+=" --with-ns --disable-ns-self-contained" |
227 |
- myconf+=" --without-x" |
228 |
- else |
229 |
- myconf+=" --with-x --without-ns" |
230 |
- myconf+=" --without-gconf" |
231 |
- myconf+=" $(use_with gsettings)" |
232 |
- myconf+=" $(use_with toolkit-scroll-bars)" |
233 |
- myconf+=" $(use_with gif)" |
234 |
- myconf+=" $(use_with jpeg)" |
235 |
- myconf+=" $(use_with png)" |
236 |
- myconf+=" $(use_with svg rsvg)" |
237 |
- myconf+=" $(use_with tiff)" |
238 |
- myconf+=" $(use_with xpm)" |
239 |
- myconf+=" $(use_with imagemagick)" |
240 |
- |
241 |
- if use xft; then |
242 |
- myconf+=" --with-xft" |
243 |
- myconf+=" $(use_with cairo)" |
244 |
- myconf+=" $(use_with harfbuzz)" |
245 |
- myconf+=" $(use_with m17n-lib libotf)" |
246 |
- myconf+=" $(use_with m17n-lib m17n-flt)" |
247 |
- else |
248 |
- myconf+=" --without-xft" |
249 |
- myconf+=" --without-cairo" |
250 |
- myconf+=" --without-libotf --without-m17n-flt" |
251 |
- use cairo && ewarn \ |
252 |
- "USE flag \"cairo\" has no effect if \"xft\" is not set." |
253 |
- use m17n-lib && ewarn \ |
254 |
- "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." |
255 |
- fi |
256 |
- |
257 |
- local f line |
258 |
- if use gtk; then |
259 |
- einfo "Configuring to build with GIMP Toolkit (GTK+)" |
260 |
- while read line; do ewarn "${line}"; done <<-EOF |
261 |
- Your version of GTK+ will have problems with closing open |
262 |
- displays. This is no problem if you just use one display, but |
263 |
- if you use more than one and close one of them Emacs may crash. |
264 |
- See <https://gitlab.gnome.org/GNOME/gtk/-/issues/221> and |
265 |
- <https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>. |
266 |
- If you intend to use more than one display, then it is strongly |
267 |
- recommended that you compile Emacs with the Athena/Lucid or the |
268 |
- Motif toolkit instead. |
269 |
- EOF |
270 |
- myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)" |
271 |
- for f in motif Xaw3d athena; do |
272 |
- use ${f} && ewarn \ |
273 |
- "USE flag \"${f}\" has no effect if \"gtk\" is set." |
274 |
- done |
275 |
- elif use motif; then |
276 |
- einfo "Configuring to build with Motif toolkit" |
277 |
- myconf+=" --with-x-toolkit=motif" |
278 |
- for f in Xaw3d athena; do |
279 |
- use ${f} && ewarn \ |
280 |
- "USE flag \"${f}\" has no effect if \"motif\" is set." |
281 |
- done |
282 |
- elif use athena || use Xaw3d; then |
283 |
- einfo "Configuring to build with Athena/Lucid toolkit" |
284 |
- myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" |
285 |
- else |
286 |
- einfo "Configuring to build with no toolkit" |
287 |
- myconf+=" --with-x-toolkit=no" |
288 |
- fi |
289 |
- ! use gtk && use xwidgets && ewarn \ |
290 |
- "USE flag \"xwidgets\" has no effect if \"gtk\" is not set." |
291 |
- fi |
292 |
- |
293 |
- if tc-is-cross-compiler; then |
294 |
- # Configure a CBUILD directory when cross-compiling to make tools |
295 |
- mkdir "${S}-build" && pushd "${S}-build" >/dev/null || die |
296 |
- ECONF_SOURCE="${S}" econf_build --without-all --without-x-toolkit |
297 |
- popd >/dev/null || die |
298 |
- # Don't try to execute the binary for dumping during the build |
299 |
- myconf+=" --with-dumping=none" |
300 |
- elif use m68k; then |
301 |
- # Workaround for https://debbugs.gnu.org/44531 |
302 |
- myconf+=" --with-dumping=unexec" |
303 |
- else |
304 |
- myconf+=" --with-dumping=pdumper" |
305 |
- fi |
306 |
- |
307 |
- econf \ |
308 |
- --program-suffix="-${EMACS_SUFFIX}" \ |
309 |
- --includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \ |
310 |
- --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ |
311 |
- --localstatedir="${EPREFIX}"/var \ |
312 |
- --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ |
313 |
- --without-compress-install \ |
314 |
- --without-hesiod \ |
315 |
- --without-pop \ |
316 |
- --with-file-notification=$(usev inotify || usev gfile || echo no) \ |
317 |
- --with-pdumper \ |
318 |
- $(use_enable acl) \ |
319 |
- $(use_with dbus) \ |
320 |
- $(use_with dynamic-loading modules) \ |
321 |
- $(use_with games gameuser ":gamestat") \ |
322 |
- $(use_with gmp libgmp) \ |
323 |
- $(use_with gpm) \ |
324 |
- $(use_with jit native-compilation) \ |
325 |
- $(use_with json) \ |
326 |
- $(use_with kerberos) $(use_with kerberos kerberos5) \ |
327 |
- $(use_with lcms lcms2) \ |
328 |
- $(use_with libxml2 xml2) \ |
329 |
- $(use_with mailutils) \ |
330 |
- $(use_with selinux) \ |
331 |
- $(use_with ssl gnutls) \ |
332 |
- $(use_with systemd libsystemd) \ |
333 |
- $(use_with threads) \ |
334 |
- $(use_with wide-int) \ |
335 |
- ${myconf} |
336 |
-} |
337 |
- |
338 |
-src_compile() { |
339 |
- if tc-is-cross-compiler; then |
340 |
- # Build native tools for compiling lisp etc. |
341 |
- emake -C "${S}-build" src |
342 |
- emake lib # Cross-compile dependencies first for timestamps |
343 |
- # Save native build tools in the cross-directory |
344 |
- cp "${S}-build"/lib-src/make-{docfile,fingerprint} lib-src || die |
345 |
- # Specify the native Emacs to compile lisp |
346 |
- emake -C lisp all EMACS="${S}-build/src/emacs" |
347 |
- fi |
348 |
- |
349 |
- emake |
350 |
-} |
351 |
- |
352 |
-src_test() { |
353 |
- # List .el test files with a comment above listing the exact |
354 |
- # subtests which caused failure. Elements should begin with a %. |
355 |
- # e.g. %lisp/gnus/mml-sec-tests.el. |
356 |
- local exclude_tests=( |
357 |
- # Reason: not yet known |
358 |
- # mml-secure-en-decrypt-{1,2,3,4} |
359 |
- # mml-secure-find-usable-keys-{1,2} |
360 |
- # mml-secure-key-checks |
361 |
- # mml-secure-select-preferred-keys-4 |
362 |
- # mml-secure-sign-verify-1 |
363 |
- %lisp/gnus/mml-sec-tests.el |
364 |
- |
365 |
- # Reason: race condition |
366 |
- # Looks like it should be fixed in 29.x at least: |
367 |
- # https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55706 |
368 |
- # files-tests-file-name-non-special-file-in-directory-p |
369 |
- %lisp/files-tests.el |
370 |
- |
371 |
- # Reason: permission denied on /nonexistent |
372 |
- # (vc-*-bzr only fails if breezy is installed, as they |
373 |
- # try to access cache dirs under /nonexistent) |
374 |
- # |
375 |
- # rmail-undigest-test-multipart-mixed-digest |
376 |
- # rmail-undigest-test-rfc1153-less-strict-digest |
377 |
- # rmail-undigest-test-rfc1153-sloppy-digest |
378 |
- # rmail-undigest-test-rfc934-digest |
379 |
- # vc-test-bzr02-state |
380 |
- # vc-test-bzr05-rename-file |
381 |
- # vc-test-bzr06-version-diff |
382 |
- # vc-bzr-test-bug9781 |
383 |
- %lisp/mail/undigest-tests.el |
384 |
- %lisp/vc/vc-tests.el |
385 |
- %lisp/vc/vc-bzr-tests.el |
386 |
- |
387 |
- # Reason: fails if bubblewrap (bwrap) is installed |
388 |
- # "bwrap: setting up uid map: Permission denied" |
389 |
- # |
390 |
- # bytecomp-tests--dest-mountpoint |
391 |
- %lisp/emacs-lisp/bytecomp-tests.el |
392 |
- ) |
393 |
- |
394 |
- # See test/README for possible options |
395 |
- emake \ |
396 |
- EMACS_TEST_VERBOSE=1 \ |
397 |
- EXCLUDE_TESTS="${exclude_tests[*]}" \ |
398 |
- TEST_BACKTRACE_LINE_LENGTH=nil \ |
399 |
- check |
400 |
-} |
401 |
- |
402 |
-src_install() { |
403 |
- emake DESTDIR="${D}" NO_BIN_LINK=t BLESSMAIL_TARGET= install |
404 |
- |
405 |
- mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die |
406 |
- mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die |
407 |
- mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.metainfo.xml || die |
408 |
- |
409 |
- # move info dir to avoid collisions with the dir file generated by portage |
410 |
- mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die |
411 |
- touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir |
412 |
- docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig |
413 |
- |
414 |
- # movemail must be setgid mail |
415 |
- if ! use mailutils; then |
416 |
- fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail |
417 |
- fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail |
418 |
- fi |
419 |
- |
420 |
- # avoid collision between slots, see bug #169033 e.g. |
421 |
- rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die |
422 |
- rm -rf "${ED}"/usr/share/{applications,icons} || die |
423 |
- rm -rf "${ED}/usr/$(get_libdir)/systemd" || die |
424 |
- rm -rf "${ED}"/var || die |
425 |
- |
426 |
- # remove unused <version>/site-lisp dir |
427 |
- rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp || die |
428 |
- |
429 |
- # remove COPYING file (except for etc/COPYING used by describe-copying) |
430 |
- rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING || die |
431 |
- |
432 |
- if use systemd; then |
433 |
- insinto /usr/lib/systemd/user |
434 |
- sed -e "/^##/d" \ |
435 |
- -e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \ |
436 |
- -e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \ |
437 |
- etc/emacs.service | newins - ${EMACS_SUFFIX}.service |
438 |
- assert |
439 |
- fi |
440 |
- |
441 |
- if use gzip-el; then |
442 |
- # compress .el files when a corresponding .elc exists |
443 |
- find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \ |
444 |
- -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n |
445 |
- assert "gzip .el failed" |
446 |
- fi |
447 |
- |
448 |
- local cdir |
449 |
- if use source; then |
450 |
- cdir="/usr/share/emacs/${FULL_VERSION}/src" |
451 |
- insinto "${cdir}" |
452 |
- # This is not meant to install all the source -- just the |
453 |
- # C source you might find via find-function |
454 |
- doins src/*.{c,h,m} |
455 |
- elif has installsources ${FEATURES}; then |
456 |
- cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" |
457 |
- fi |
458 |
- |
459 |
- sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die |
460 |
- X |
461 |
- ;;; ${EMACS_SUFFIX} site-lisp configuration |
462 |
- X |
463 |
- (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) |
464 |
- Y (setq find-function-C-source-directory |
465 |
- Y "${EPREFIX}${cdir}") |
466 |
- X (let ((path (getenv "INFOPATH")) |
467 |
- X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") |
468 |
- X (re "\\\\\`${EPREFIX}/usr/share\\\\>")) |
469 |
- X (and path |
470 |
- X ;; move Emacs Info dir before anything else in /usr/share |
471 |
- X (let* ((p (cons nil (split-string path ":" t))) (q p)) |
472 |
- X (while (and (cdr q) (not (string-match re (cadr q)))) |
473 |
- X (setq q (cdr q))) |
474 |
- X (setcdr q (cons dir (delete dir (cdr q)))) |
475 |
- X (setq Info-directory-list (prune-directory-list (cdr p))))))) |
476 |
- EOF |
477 |
- elisp-site-file-install "${T}/${SITEFILE}" || die |
478 |
- |
479 |
- dodoc README BUGS CONTRIBUTE |
480 |
- |
481 |
- if use gui && use aqua; then |
482 |
- dodir /Applications/Gentoo |
483 |
- rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die |
484 |
- mv nextstep/Emacs.app \ |
485 |
- "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die |
486 |
- fi |
487 |
- |
488 |
- local DOC_CONTENTS="You can set the version to be started by |
489 |
- /usr/bin/emacs through the Emacs eselect module, which also |
490 |
- redirects man and info pages. Therefore, several Emacs versions can |
491 |
- be installed at the same time. \"man emacs.eselect\" for details. |
492 |
- \\n\\nIf you upgrade from a previous major version of Emacs, then |
493 |
- it is strongly recommended that you use app-admin/emacs-updater |
494 |
- to rebuild all byte-compiled elisp files of the installed Emacs |
495 |
- packages." |
496 |
- if use gui; then |
497 |
- DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. |
498 |
- Installing media-fonts/font-adobe-{75,100}dpi on the X server's |
499 |
- machine would satisfy basic Emacs requirements under X11. |
500 |
- See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs |
501 |
- for how to enable anti-aliased fonts." |
502 |
- use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in |
503 |
- \"${EPREFIX}/Applications/Gentoo\". You may want to copy or |
504 |
- symlink it into /Applications by yourself." |
505 |
- fi |
506 |
- tc-is-cross-compiler && DOC_CONTENTS+="\\n\\nEmacs did not write |
507 |
- a portable dump file due to being cross-compiled. |
508 |
- To create this file at run time, execute the following command: |
509 |
- \\n${EMACS_SUFFIX} --batch -Q --eval='(dump-emacs-portable |
510 |
- \"/usr/libexec/emacs/${FULL_VERSION}/${CHOST}/emacs.pdmp\")'" |
511 |
- readme.gentoo_create_doc |
512 |
-} |
513 |
- |
514 |
-pkg_preinst() { |
515 |
- # move Info dir file to correct name |
516 |
- if [[ -d ${ED}/usr/share/info ]]; then |
517 |
- mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die |
518 |
- fi |
519 |
-} |
520 |
- |
521 |
-pkg_postinst() { |
522 |
- elisp-site-regen |
523 |
- readme.gentoo_print_elog |
524 |
- |
525 |
- if use livecd; then |
526 |
- # force an update of the emacs symlink for the livecd/dvd, |
527 |
- # because some microemacs packages set it with USE=livecd |
528 |
- eselect emacs update |
529 |
- else |
530 |
- eselect emacs update ifunset |
531 |
- fi |
532 |
-} |
533 |
- |
534 |
-pkg_postrm() { |
535 |
- elisp-site-regen |
536 |
- eselect emacs update ifunset |
537 |
-} |