Gentoo Archives: gentoo-commits

From: "Ulrich Mueller (ulm)" <ulm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-editors/emacs: ChangeLog emacs-22.3-r9.ebuild emacs-21.4-r24.ebuild
Date: Fri, 06 Jan 2012 10:24:56
Message-Id: 20120106102447.4F4F92004B@flycatcher.gentoo.org
1 ulm 12/01/06 10:24:47
2
3 Modified: ChangeLog
4 Added: emacs-22.3-r9.ebuild emacs-21.4-r24.ebuild
5 Log:
6 Add /etc/emacs to the lisp load-path; change from 13 Dec 2011 backported
7 to SLOTs 21 and 22.
8
9 (Portage version: 2.1.10.44/cvs/Linux x86_64)
10
11 Revision Changes Path
12 1.456 app-editors/emacs/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/ChangeLog?rev=1.456&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/ChangeLog?rev=1.456&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/ChangeLog?r1=1.455&r2=1.456
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v
21 retrieving revision 1.455
22 retrieving revision 1.456
23 diff -u -r1.455 -r1.456
24 --- ChangeLog 5 Jan 2012 23:51:53 -0000 1.455
25 +++ ChangeLog 6 Jan 2012 10:24:47 -0000 1.456
26 @@ -1,6 +1,14 @@
27 # ChangeLog for app-editors/emacs
28 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.455 2012/01/05 23:51:53 ulm Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.456 2012/01/06 10:24:47 ulm Exp $
31 +
32 +*emacs-22.3-r9 (06 Jan 2012)
33 +*emacs-21.4-r24 (06 Jan 2012)
34 +
35 + 06 Jan 2012; Ulrich Mueller <ulm@g.o> +emacs-21.4-r24.ebuild,
36 + +emacs-22.3-r9.ebuild:
37 + Add /etc/emacs to the lisp load-path; change from 13 Dec 2011 backported
38 + to SLOTs 21 and 22.
39
40 05 Jan 2012; Ulrich Mueller <ulm@g.o> emacs-23.3-r3.ebuild:
41 A build-time dependency on pkgconfig is needed only in some configurations.
42
43
44
45 1.1 app-editors/emacs/emacs-22.3-r9.ebuild
46
47 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-22.3-r9.ebuild?rev=1.1&view=markup
48 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-22.3-r9.ebuild?rev=1.1&content-type=text/plain
49
50 Index: emacs-22.3-r9.ebuild
51 ===================================================================
52 # Copyright 1999-2012 Gentoo Foundation
53 # Distributed under the terms of the GNU General Public License v2
54 # $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-22.3-r9.ebuild,v 1.1 2012/01/06 10:24:47 ulm Exp $
55
56 EAPI=4
57 WANT_AUTOMAKE="none"
58
59 inherit autotools elisp-common eutils flag-o-matic
60
61 DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
62 HOMEPAGE="http://www.gnu.org/software/emacs/"
63 SRC_URI="mirror://gnu/emacs/${P}.tar.gz
64 mirror://gentoo/${P}-patches-8.tar.bz2"
65
66 LICENSE="GPL-3 FDL-1.2 BSD as-is MIT"
67 SLOT="22"
68 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
69 IUSE="alsa gif gtk gzip-el hesiod jpeg kerberos motif png sound source tiff toolkit-scroll-bars X Xaw3d +xpm"
70
71 RDEPEND="sys-libs/ncurses
72 >=app-admin/eselect-emacs-1.2
73 net-libs/liblockfile
74 hesiod? ( net-dns/hesiod )
75 kerberos? ( virtual/krb5 )
76 alsa? ( media-libs/alsa-lib )
77 X? (
78 x11-libs/libXmu
79 x11-libs/libXt
80 x11-misc/xbitmaps
81 gif? ( media-libs/giflib )
82 jpeg? ( virtual/jpeg )
83 png? ( >=media-libs/libpng-1.4:0 )
84 tiff? ( media-libs/tiff )
85 xpm? ( x11-libs/libXpm )
86 gtk? ( x11-libs/gtk+:2 )
87 !gtk? (
88 Xaw3d? ( x11-libs/libXaw3d )
89 !Xaw3d? ( motif? ( >=x11-libs/openmotif-2.3:0 ) )
90 )
91 )"
92
93 DEPEND="${RDEPEND}
94 alsa? ( dev-util/pkgconfig )
95 X? ( gtk? ( dev-util/pkgconfig ) )
96 gzip-el? ( app-arch/gzip )"
97
98 RDEPEND="${RDEPEND}
99 >=app-emacs/emacs-common-gentoo-1.3[X?]"
100
101 # FULL_VERSION keeps the full version number, which is needed in order to
102 # determine some path information correctly for copy/move operations later on
103 FULL_VERSION="${PV}"
104 EMACS_SUFFIX="emacs-${SLOT}"
105 SITEFILE="20${PN}-${SLOT}-gentoo.el"
106
107 src_prepare() {
108 EPATCH_SUFFIX=patch epatch
109
110 sed -i \
111 -e "s:/usr/lib/crtbegin.o:$(`tc-getCC` -print-file-name=crtbegin.o):g" \
112 -e "s:/usr/lib/crtend.o:$(`tc-getCC` -print-file-name=crtend.o):g" \
113 "${S}"/src/s/freebsd.h || die "unable to sed freebsd.h settings"
114
115 if ! use alsa; then
116 # ALSA is detected even if not requested by its USE flag.
117 # Suppress it by supplying pkg-config with a wrong library name.
118 sed -i -e "/ALSA_MODULES=/s/alsa/DiSaBlEaLsA/" configure.in \
119 || die "unable to sed configure.in"
120 fi
121 if ! use gzip-el; then
122 # Emacs' build system automatically detects the gzip binary and
123 # compresses el files. We don't want that so confuse it with a
124 # wrong binary name
125 sed -i -e "s/ gzip/ PrEvEnTcOmPrEsSiOn/" configure.in \
126 || die "unable to sed configure.in"
127 fi
128
129 eautoreconf
130 }
131
132 src_configure() {
133 ALLOWED_FLAGS=""
134 strip-flags
135 filter-flags -fstack-protector -fstack-protector-all #285778
136 replace-flags -O[3-9] -O2
137 sed -i -e "s/-lungif/-lgif/g" configure* src/Makefile* || die
138
139 local myconf
140
141 if use alsa && ! use sound; then
142 einfo "Although sound USE flag is disabled you chose to have alsa,"
143 einfo "so sound is switched on anyway."
144 myconf="${myconf} --with-sound"
145 else
146 myconf="${myconf} $(use_with sound)"
147 fi
148
149 if use X; then
150 myconf="${myconf} --with-x"
151 myconf="${myconf} $(use_with toolkit-scroll-bars)"
152 myconf="${myconf} $(use_with gif) $(use_with jpeg)"
153 myconf="${myconf} $(use_with png) $(use_with tiff)"
154 myconf="${myconf} $(use_with xpm)"
155
156 # GTK+ is the default toolkit if USE=gtk is chosen with other
157 # possibilities. Emacs upstream thinks this should be standard
158 # policy on all distributions
159 if use gtk; then
160 einfo "Configuring to build with GIMP Toolkit (GTK+)"
161 myconf="${myconf} --with-x-toolkit=gtk"
162 elif use Xaw3d; then
163 einfo "Configuring to build with Xaw3d (Athena/Lucid) toolkit"
164 myconf="${myconf} --with-x-toolkit=athena"
165 myconf="${myconf} --without-gtk"
166 elif use motif; then
167 einfo "Configuring to build with Motif toolkit"
168 myconf="${myconf} --with-x-toolkit=motif"
169 myconf="${myconf} --without-gtk"
170 else
171 einfo "Configuring to build with no toolkit"
172 myconf="${myconf} --with-x-toolkit=no"
173 myconf="${myconf} --without-gtk"
174 fi
175
176 local f tk=
177 for f in gtk Xaw3d motif; do
178 use ${f} || continue
179 [ "${tk}" ] \
180 && ewarn "USE flag \"${f}\" ignored (superseded by \"${tk}\")"
181 tk="${tk}${tk:+ }${f}"
182 done
183 else
184 myconf="${myconf} --without-x"
185 fi
186
187 econf \
188 --program-suffix=-${EMACS_SUFFIX} \
189 --infodir=/usr/share/info/${EMACS_SUFFIX} \
190 --enable-locallisppath="/etc/emacs:${SITELISP}" \
191 --without-carbon \
192 --with-gameuser="${GAMES_USER_DED:-games}" \
193 $(use_with hesiod) \
194 $(use_with kerberos) $(use_with kerberos kerberos5) \
195 ${myconf}
196 }
197
198 src_compile() {
199 export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
200 emake CC="$(tc-getCC)"
201 }
202
203 src_install () {
204 local i m
205
206 emake install DESTDIR="${D}"
207
208 rm "${D}"/usr/bin/emacs-${FULL_VERSION}-${EMACS_SUFFIX} \
209 || die "removing duplicate emacs executable failed"
210 mv "${D}"/usr/bin/emacs-${EMACS_SUFFIX} "${D}"/usr/bin/${EMACS_SUFFIX} \
211 || die "moving Emacs executable failed"
212
213 # move man pages to the correct place
214 for m in "${D}"/usr/share/man/man1/* ; do
215 mv "${m}" "${m%.1}-${EMACS_SUFFIX}.1" || die "mv man failed"
216 done
217
218 # move info dir to avoid collisions with the dir file generated by portage
219 mv "${D}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
220 || die "moving info dir failed"
221 touch "${D}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
222 docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
223
224 # avoid collision between slots, see bug #169033 e.g.
225 rm "${D}"/usr/share/emacs/site-lisp/subdirs.el
226 rm "${D}"/var/lib/games/emacs/{snake,tetris}-scores
227 keepdir /var/lib/games/emacs
228
229 # remove unused <version>/site-lisp dir
230 rm -rf "${D}"/usr/share/emacs/${FULL_VERSION}/site-lisp
231
232 local c=";;"
233 if use source; then
234 insinto /usr/share/emacs/${FULL_VERSION}/src
235 # This is not meant to install all the source -- just the
236 # C source you might find via find-function
237 doins src/*.[ch]
238 c=""
239 fi
240
241 sed 's/^X//' >"${T}/${SITEFILE}" <<-EOF
242 X
243 ;;; ${PN}-${SLOT} site-lisp configuration
244 X
245 (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
246 X ${c}(setq find-function-C-source-directory
247 X ${c} "/usr/share/emacs/${FULL_VERSION}/src")
248 X (let ((path (getenv "INFOPATH"))
249 X (dir "/usr/share/info/${EMACS_SUFFIX}")
250 X (re "\\\\\`/usr/share/info\\\\>"))
251 X (and path
252 X ;; move Emacs Info dir before anything else in /usr/share/info
253 X (let* ((p (cons nil (split-string path ":" t))) (q p))
254 X (while (and (cdr q) (not (string-match re (cadr q))))
255 X (setq q (cdr q)))
256 X (setcdr q (cons dir (delete dir (cdr q))))
257 X (setq Info-directory-list (prune-directory-list (cdr p)))))))
258 EOF
259 elisp-site-file-install "${T}/${SITEFILE}" || die
260
261 dodoc AUTHORS BUGS CONTRIBUTE README
262 }
263
264 pkg_preinst() {
265 # move Info dir file to correct name
266 local infodir=/usr/share/info/${EMACS_SUFFIX} f
267 if [ -f "${D}"${infodir}/dir.orig ]; then
268 mv "${D}"${infodir}/dir{.orig,} || die "moving info dir failed"
269 else
270 # this should not happen in EAPI 4
271 ewarn "Regenerating Info directory index in ${infodir} ..."
272 rm -f "${D}"${infodir}/dir{,.*}
273 for f in "${D}"${infodir}/*; do
274 if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
275 install-info --info-dir="${D}"${infodir} "${f}" \
276 || die "install-info failed"
277 fi
278 done
279 fi
280 }
281
282 pkg_postinst() {
283 local f
284 for f in "${ROOT}"/var/lib/games/emacs/{snake,tetris}-scores; do
285 [ -e "${f}" ] || touch "${f}"
286 done
287 chown "${GAMES_USER_DED:-games}" "${ROOT}"/var/lib/games/emacs
288
289 elisp-site-regen
290 eselect emacs update ifunset
291
292 if use X; then
293 elog "You need to install some fonts for Emacs."
294 elog "Installing media-fonts/font-adobe-{75,100}dpi on the X server's"
295 elog "machine would satisfy basic Emacs requirements under X11."
296 elog
297 fi
298
299 elog "You can set the version to be started by /usr/bin/emacs through"
300 elog "the Emacs eselect module, which also redirects man and info pages."
301 elog "Therefore, several Emacs versions can be installed at the same time."
302 elog "\"man emacs.eselect\" for details."
303 }
304
305 pkg_postrm() {
306 elisp-site-regen
307 eselect emacs update ifunset
308 }
309
310
311
312 1.1 app-editors/emacs/emacs-21.4-r24.ebuild
313
314 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-21.4-r24.ebuild?rev=1.1&view=markup
315 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-21.4-r24.ebuild?rev=1.1&content-type=text/plain
316
317 Index: emacs-21.4-r24.ebuild
318 ===================================================================
319 # Copyright 1999-2012 Gentoo Foundation
320 # Distributed under the terms of the GNU General Public License v2
321 # $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-21.4-r24.ebuild,v 1.1 2012/01/06 10:24:47 ulm Exp $
322
323 EAPI=4
324 WANT_AUTOMAKE="none"
325
326 inherit elisp-common flag-o-matic eutils toolchain-funcs autotools
327
328 DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
329 HOMEPAGE="http://www.gnu.org/software/emacs/"
330 SRC_URI="mirror://gnu/emacs/${P}a.tar.gz
331 mirror://gentoo/${P}-patches-12.tar.bz2
332 leim? ( mirror://gnu/emacs/leim-${PV}.tar.gz )"
333
334 LICENSE="GPL-2 FDL-1.1 BSD as-is MIT"
335 SLOT="21"
336 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
337 IUSE="X Xaw3d leim motif sendmail"
338
339 DEPEND="sys-libs/ncurses
340 >=app-admin/eselect-emacs-1.2
341 X? (
342 x11-libs/libXext
343 x11-libs/libICE
344 x11-libs/libSM
345 x11-libs/libXmu
346 x11-libs/libXpm
347 x11-misc/xbitmaps
348 >=media-libs/giflib-4.1.0.1b
349 virtual/jpeg
350 >=media-libs/tiff-3.5.5-r3
351 >=media-libs/libpng-1.4:0
352 Xaw3d? ( x11-libs/libXaw3d )
353 !Xaw3d? ( motif? ( >=x11-libs/openmotif-2.3:0 ) )
354 )"
355
356 RDEPEND="${DEPEND}
357 >=app-emacs/emacs-common-gentoo-1.3[X?]
358 sendmail? ( virtual/mta )"
359
360 src_prepare() {
361 EPATCH_SUFFIX=patch epatch
362
363 sed -i \
364 -e "s:/usr/lib/crtbegin.o:$(`tc-getCC` -print-file-name=crtbegin.o):g" \
365 -e "s:/usr/lib/crtend.o:$(`tc-getCC` -print-file-name=crtend.o):g" \
366 "${S}"/src/s/freebsd.h || die "unable to sed freebsd.h settings"
367
368 # This will need to be updated for X-Compilation
369 sed -i -e "s:/usr/lib/\([^ ]*\).o:/usr/$(get_libdir)/\1.o:g" \
370 "${S}/src/s/gnu-linux.h" || die
371
372 # custom aclocal.m4 was only needed for autoconf 2.13 and earlier
373 rm aclocal.m4
374 eaclocal
375 eautoconf
376 }
377
378 src_configure() {
379 # -fstack-protector gets internal compiler error at xterm.c (bug 33265)
380 filter-flags -fstack-protector -fstack-protector-all
381
382 # emacs doesn't handle LDFLAGS properly (bug #77430 and bug #65002)
383 unset LDFLAGS
384
385 # ever since GCC 3.2
386 replace-flags -O[3-9] -O2
387
388 # -march is known to cause signal 6 on some environment
389 filter-flags "-march=*"
390
391 local myconf
392 if use X ; then
393 myconf="${myconf}
394 --with-x
395 --with-xpm
396 --with-jpeg
397 --with-tiff
398 --with-gif
399 --with-png"
400
401 if use Xaw3d ; then
402 einfo "Configuring to build with Xaw3d (Athena/Lucid) toolkit"
403 myconf="${myconf} --with-x-toolkit=athena"
404 use motif \
405 && ewarn "USE flag \"motif\" ignored (superseded by \"Xaw3d\")"
406 elif use motif ; then
407 einfo "Configuring to build with Motif toolkit"
408 myconf="${myconf} --with-x-toolkit=motif"
409 else
410 # do not build emacs with any toolkit, bug 35300
411 einfo "Configuring to build with no toolkit"
412 myconf="${myconf} --with-x-toolkit=no"
413 fi
414 else
415 myconf="${myconf} --without-x"
416 fi
417
418 econf ${myconf}
419
420 # leave this in src_configure
421 emake \
422 locallisppath="/etc/emacs:${SITELISP}:/usr/share/emacs/${PV}/leim" \
423 epaths-force
424 }
425
426 src_compile() {
427 export SANDBOX_ON=0
428 emake CC="$(tc-getCC)"
429
430 einfo "Recompiling patched lisp files..."
431 (cd lisp; emake recompile)
432 (cd src; emake versionclean)
433 emake CC="$(tc-getCC)"
434 }
435
436 src_install() {
437 local i m
438
439 einstall infodir="${D}/usr/share/info/emacs-${SLOT}"
440
441 for i in "${D}"/usr/bin/* ; do
442 mv "${i}" "${i}-emacs-${SLOT}" || die "mv ${i} failed"
443 done
444 mv "${D}"/usr/bin/emacs{-emacs,}-${SLOT} || die "mv emacs failed"
445 rm "${D}"/usr/bin/emacs-${PV}-emacs-${SLOT}
446
447 # move man pages to the correct place
448 for m in "${D}"/usr/share/man/man1/* ; do
449 mv "${m}" "${m%.1}-emacs-${SLOT}.1" || die "mv ${m} failed"
450 done
451
452 # move info dir to avoid collisions with the dir file generated by portage
453 mv "${D}"/usr/share/info/emacs-${SLOT}/dir{,.orig} \
454 || die "moving info dir failed"
455 touch "${D}"/usr/share/info/emacs-${SLOT}/.keepinfodir
456 docompress -x /usr/share/info/emacs-${SLOT}/dir.orig
457
458 # avoid collision between slots
459 rm "${D}"/usr/share/emacs/site-lisp/subdirs.el
460
461 # remove unused <version>/site-lisp dir
462 rm -rf "${D}"/usr/share/emacs/${PV}/site-lisp
463
464 # fix permissions
465 find "${D}" -perm 664 |xargs chmod -f 644 2>/dev/null
466 find "${D}" -type d |xargs chmod -f 755 2>/dev/null
467
468 keepdir /usr/share/emacs/${PV}/leim
469
470 dodoc BUGS ChangeLog README
471 }
472
473 pkg_preinst() {
474 # move Info dir file to correct name
475 local infodir=/usr/share/info/emacs-${SLOT} f
476 if [ -f "${D}"${infodir}/dir.orig ]; then
477 mv "${D}"${infodir}/dir{.orig,} || die "moving info dir failed"
478 else
479 # this should not happen in EAPI 4
480 ewarn "Regenerating Info directory index in ${infodir} ..."
481 rm -f "${D}"${infodir}/dir{,.*}
482 for f in "${D}"${infodir}/*; do
483 if [[ ${f##*/} != *[0-9].info* && -e ${f} ]]; then
484 install-info --info-dir="${D}"${infodir} "${f}" \
485 || die "install-info failed"
486 fi
487 done
488 fi
489 }
490
491 pkg_postinst() {
492 eselect emacs update ifunset
493
494 if ! use sendmail && ! has_version "virtual/mta"; then
495 elog "You disabled sendmail support for Emacs. If you later install"
496 elog "a MTA then you will need to recompile Emacs. See Bug #11104."
497 fi
498
499 if use X; then
500 elog "You need to install some fonts for Emacs."
501 elog "Installing media-fonts/font-adobe-{75,100}dpi on the X server's"
502 elog "machine would satisfy basic Emacs requirements under X11."
503 fi
504 }
505
506 pkg_postrm() {
507 eselect emacs update ifunset
508 }