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