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: emacs-24.3-r2.ebuild ChangeLog
Date: Thu, 23 May 2013 18:18:53
Message-Id: 20130523181847.621882171D@flycatcher.gentoo.org
1 ulm 13/05/23 18:18:47
2
3 Modified: ChangeLog
4 Added: emacs-24.3-r2.ebuild
5 Log:
6 Fix Info reader to support Info files created by makeinfo 5, bug 464368.
7
8 (Portage version: 2.1.12.1/cvs/Linux x86_64, signed Manifest commit with key 9433907D693FB5B8!)
9
10 Revision Changes Path
11 1.580 app-editors/emacs/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/ChangeLog?rev=1.580&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/ChangeLog?rev=1.580&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/ChangeLog?r1=1.579&r2=1.580
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v
20 retrieving revision 1.579
21 retrieving revision 1.580
22 diff -u -r1.579 -r1.580
23 --- ChangeLog 20 May 2013 18:02:24 -0000 1.579
24 +++ ChangeLog 23 May 2013 18:18:47 -0000 1.580
25 @@ -1,6 +1,11 @@
26 # ChangeLog for app-editors/emacs
27 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.579 2013/05/20 18:02:24 ago Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.580 2013/05/23 18:18:47 ulm Exp $
30 +
31 +*emacs-24.3-r2 (23 May 2013)
32 +
33 + 23 May 2013; Ulrich Müller <ulm@g.o> +emacs-24.3-r2.ebuild:
34 + Fix Info reader to support Info files created by makeinfo 5, bug 464368.
35
36 20 May 2013; Agostino Sarubbo <ago@g.o> emacs-24.3-r1.ebuild:
37 Stable for s390, wrt bug #469874
38
39
40
41 1.1 app-editors/emacs/emacs-24.3-r2.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-24.3-r2.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-24.3-r2.ebuild?rev=1.1&content-type=text/plain
45
46 Index: emacs-24.3-r2.ebuild
47 ===================================================================
48 # Copyright 1999-2013 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-24.3-r2.ebuild,v 1.1 2013/05/23 18:18:47 ulm Exp $
51
52 EAPI=5
53
54 inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
55
56 DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
57 HOMEPAGE="http://www.gnu.org/software/emacs/"
58 SRC_URI="mirror://gnu/emacs/${P}.tar.xz
59 mirror://gentoo/${P}-patches-2.tar.xz"
60
61 LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
62 SLOT="24"
63 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
64 IUSE="alsa aqua athena dbus games gconf gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm"
65 REQUIRED_USE="?? ( aqua X )"
66
67 RDEPEND="sys-libs/ncurses
68 >=app-admin/eselect-emacs-1.2
69 >=app-emacs/emacs-common-gentoo-1.3-r3[games?,X?]
70 net-libs/liblockfile
71 hesiod? ( net-dns/hesiod )
72 kerberos? ( virtual/krb5 )
73 alsa? ( media-libs/alsa-lib )
74 gpm? ( sys-libs/gpm )
75 dbus? ( sys-apps/dbus )
76 gnutls? ( net-libs/gnutls )
77 libxml2? ( >=dev-libs/libxml2-2.2.0 )
78 selinux? ( sys-libs/libselinux )
79 X? (
80 x11-libs/libXmu
81 x11-libs/libXt
82 x11-misc/xbitmaps
83 gconf? ( >=gnome-base/gconf-2.26.2 )
84 gsettings? ( >=dev-libs/glib-2.28.6 )
85 gif? ( media-libs/giflib )
86 jpeg? ( virtual/jpeg )
87 png? ( >=media-libs/libpng-1.4:0= )
88 svg? ( >=gnome-base/librsvg-2.0 )
89 tiff? ( media-libs/tiff )
90 xpm? ( x11-libs/libXpm )
91 imagemagick? ( >=media-gfx/imagemagick-6.6.2 )
92 xft? (
93 media-libs/fontconfig
94 media-libs/freetype
95 x11-libs/libXft
96 m17n-lib? (
97 >=dev-libs/libotf-0.9.4
98 >=dev-libs/m17n-lib-1.5.1
99 )
100 )
101 gtk? (
102 gtk3? ( x11-libs/gtk+:3 )
103 !gtk3? ( x11-libs/gtk+:2 )
104 )
105 !gtk? (
106 motif? ( >=x11-libs/motif-2.3:0 )
107 !motif? (
108 Xaw3d? ( x11-libs/libXaw3d )
109 !Xaw3d? ( athena? ( x11-libs/libXaw ) )
110 )
111 )
112 )"
113
114 DEPEND="${RDEPEND}
115 app-arch/xz-utils
116 alsa? ( virtual/pkgconfig )
117 dbus? ( virtual/pkgconfig )
118 gnutls? ( virtual/pkgconfig )
119 libxml2? ( virtual/pkgconfig )
120 X? ( virtual/pkgconfig )
121 gzip-el? ( app-arch/gzip )
122 pax_kernel? ( sys-apps/paxctl )"
123
124 RDEPEND="${RDEPEND}
125 !<app-editors/emacs-vcs-${PV}"
126
127 EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
128 SITEFILE="20${PN}-${SLOT}-gentoo.el"
129 # FULL_VERSION keeps the full version number, which is needed in
130 # order to determine some path information correctly for copy/move
131 # operations later on
132 FULL_VERSION="${PV%%_*}"
133 S="${WORKDIR}/emacs-${FULL_VERSION}"
134
135 src_prepare() {
136 EPATCH_SUFFIX=patch epatch
137 epatch_user
138
139 if ! use alsa; then
140 # ALSA is detected even if not requested by its USE flag.
141 # Suppress it by supplying pkg-config with a wrong library name.
142 sed -i -e "/ALSA_MODULES=/s/alsa/DiSaBlEaLsA/" configure.ac \
143 || die "unable to sed configure.ac"
144 fi
145 if ! use gzip-el; then
146 # Emacs' build system automatically detects the gzip binary and
147 # compresses el files. We don't want that so confuse it with a
148 # wrong binary name
149 sed -i -e "/AC_PATH_PROG/s/gzip/PrEvEnTcOmPrEsSiOn/" configure.ac \
150 || die "unable to sed configure.ac"
151 fi
152
153 AT_M4DIR=m4 eautoreconf
154 }
155
156 src_configure() {
157 strip-flags
158
159 if use sh; then
160 replace-flags "-O[1-9]" -O0 #262359
161 elif use ia64; then
162 replace-flags "-O[2-9]" -O1 #325373
163 else
164 replace-flags "-O[3-9]" -O2
165 fi
166
167 local myconf
168
169 if use alsa && ! use sound; then
170 einfo "Although sound USE flag is disabled you chose to have alsa,"
171 einfo "so sound is switched on anyway."
172 myconf+=" --with-sound"
173 else
174 myconf+=" $(use_with sound)"
175 fi
176
177 if use X; then
178 myconf+=" --with-x --without-ns"
179 myconf+=" $(use_with gconf)"
180 myconf+=" $(use_with gsettings)"
181 myconf+=" $(use_with toolkit-scroll-bars)"
182 myconf+=" $(use_with gif)"
183 myconf+=" $(use_with jpeg)"
184 myconf+=" $(use_with png)"
185 myconf+=" $(use_with svg rsvg)"
186 myconf+=" $(use_with tiff)"
187 myconf+=" $(use_with xpm)"
188 myconf+=" $(use_with imagemagick)"
189
190 if use xft; then
191 myconf+=" --with-xft"
192 myconf+=" $(use_with m17n-lib libotf)"
193 myconf+=" $(use_with m17n-lib m17n-flt)"
194 else
195 myconf+=" --without-xft"
196 myconf+=" --without-libotf --without-m17n-flt"
197 use m17n-lib && ewarn \
198 "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
199 fi
200
201 local f
202 if use gtk; then
203 einfo "Configuring to build with GIMP Toolkit (GTK+)"
204 myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
205 for f in motif Xaw3d athena; do
206 use ${f} && ewarn \
207 "USE flag \"${f}\" has no effect if \"gtk\" is set."
208 done
209 elif use motif; then
210 einfo "Configuring to build with Motif toolkit"
211 myconf+=" --with-x-toolkit=motif"
212 for f in Xaw3d athena; do
213 use ${f} && ewarn \
214 "USE flag \"${f}\" has no effect if \"motif\" is set."
215 done
216 elif use athena || use Xaw3d; then
217 einfo "Configuring to build with Athena/Lucid toolkit"
218 myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
219 else
220 einfo "Configuring to build with no toolkit"
221 myconf+=" --with-x-toolkit=no"
222 fi
223 elif use aqua; then
224 einfo "Configuring to build with Nextstep (Cocoa) support"
225 myconf+=" --with-ns --disable-ns-self-contained"
226 myconf+=" --without-x"
227 else
228 myconf+=" --without-x --without-ns"
229 fi
230
231 # Save version information in the Emacs binary. It will be available
232 # in variable "system-configuration-options".
233 myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
234
235 # According to configure, this option is only used for GNU/Linux
236 # (x86_64 and s390). For Gentoo Prefix we have to explicitly spell
237 # out the location because $(get_libdir) does not necessarily return
238 # something that matches the host OS's libdir naming (e.g. RHEL).
239 local crtdir=$($(tc-getCC) -print-file-name=crt1.o)
240 crtdir=${crtdir%/*}
241
242 econf \
243 --program-suffix="-${EMACS_SUFFIX}" \
244 --program-transform-name="s/^\(emacs\)-[0-9].*-\1/\1/" \
245 --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
246 --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
247 --with-crt-dir="${crtdir}" \
248 --with-gameuser="${GAMES_USER_DED:-games}" \
249 --without-compress-info \
250 $(use_with hesiod) \
251 $(use_with kerberos) $(use_with kerberos kerberos5) \
252 $(use_with gpm) \
253 $(use_with dbus) \
254 $(use_with gnutls) \
255 $(use_with libxml2 xml2) \
256 $(use_with selinux) \
257 $(use_with wide-int) \
258 ${myconf}
259 }
260
261 src_compile() {
262 export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
263 emake
264 }
265
266 src_install () {
267 emake DESTDIR="${D}" NO_BIN_LINK=t install
268
269 # move info dir to avoid collisions with the dir file generated by portage
270 mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
271 || die "moving info dir failed"
272 touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
273 docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
274
275 # avoid collision between slots, see bug #169033 e.g.
276 rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
277 rm -rf "${ED}"/usr/share/{applications,icons}
278 rm -rf "${ED}"/var
279
280 # remove unused <version>/site-lisp dir
281 rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
282
283 local cdir
284 if use source; then
285 cdir="/usr/share/emacs/${FULL_VERSION}/src"
286 insinto "${cdir}"
287 # This is not meant to install all the source -- just the
288 # C source you might find via find-function
289 doins src/*.{c,h,m}
290 elif has installsources ${FEATURES}; then
291 cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
292 fi
293
294 sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
295 X
296 ;;; ${PN}-${SLOT} site-lisp configuration
297 X
298 (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
299 Y (setq find-function-C-source-directory
300 Y "${EPREFIX}${cdir}")
301 X (let ((path (getenv "INFOPATH"))
302 X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
303 X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
304 X (and path
305 X ;; move Emacs Info dir before anything else in /usr/share/info
306 X (let* ((p (cons nil (split-string path ":" t))) (q p))
307 X (while (and (cdr q) (not (string-match re (cadr q))))
308 X (setq q (cdr q)))
309 X (setcdr q (cons dir (delete dir (cdr q))))
310 X (setq Info-directory-list (prune-directory-list (cdr p)))))))
311 EOF
312 elisp-site-file-install "${T}/${SITEFILE}" || die
313
314 dodoc README BUGS
315
316 if use aqua; then
317 dodir /Applications/Gentoo
318 rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
319 mv nextstep/Emacs.app \
320 "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
321 fi
322
323 DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
324 through the Emacs eselect module, which also redirects man and info
325 pages. Therefore, several Emacs versions can be installed at the
326 same time. \"man emacs.eselect\" for details.
327 \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
328 strongly recommended that you use app-admin/emacs-updater to rebuild
329 all byte-compiled elisp files of the installed Emacs packages."
330 use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
331 Installing media-fonts/font-adobe-{75,100}dpi on the X server's
332 machine would satisfy basic Emacs requirements under X11.
333 See also http://www.gentoo.org/proj/en/lisp/emacs/xft.xml
334 for how to enable anti-aliased fonts."
335 use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
336 \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
337 it into /Applications by yourself."
338 readme.gentoo_create_doc
339 }
340
341 pkg_preinst() {
342 # move Info dir file to correct name
343 local infodir=/usr/share/info/${EMACS_SUFFIX} f
344 if [[ -f ${ED}${infodir}/dir.orig ]]; then
345 mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
346 elif [[ -d "${ED}"${infodir} ]]; then
347 # this should not happen in EAPI 4
348 ewarn "Regenerating Info directory index in ${infodir} ..."
349 rm -f "${ED}"${infodir}/dir{,.*}
350 for f in "${ED}"${infodir}/*; do
351 if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
352 install-info --info-dir="${ED}"${infodir} "${f}" \
353 || die "install-info failed"
354 fi
355 done
356 fi
357 }
358
359 pkg_postinst() {
360 elisp-site-regen
361
362 local pvr
363 for pvr in ${REPLACING_VERSIONS}; do
364 [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
365 done
366 readme.gentoo_print_elog
367
368 if use livecd; then
369 # force an update of the emacs symlink for the livecd/dvd,
370 # because some microemacs packages set it with USE=livecd
371 eselect emacs update
372 else
373 eselect emacs update ifunset
374 fi
375 }
376
377 pkg_postrm() {
378 elisp-site-regen
379 eselect emacs update ifunset
380 }