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: emacs-vcs-24.4.50_pre20140430.ebuild ChangeLog
Date: Fri, 02 May 2014 07:52:03
Message-Id: 20140502075157.921432004C@flycatcher.gentoo.org
1 ulm 14/05/02 07:51:57
2
3 Modified: ChangeLog
4 Added: emacs-vcs-24.4.50_pre20140430.ebuild
5 Log:
6 Snapshot of trunk.
7
8 (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 9433907D693FB5B8!)
9
10 Revision Changes Path
11 1.156 app-editors/emacs-vcs/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs-vcs/ChangeLog?rev=1.156&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs-vcs/ChangeLog?rev=1.156&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs-vcs/ChangeLog?r1=1.155&r2=1.156
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/app-editors/emacs-vcs/ChangeLog,v
20 retrieving revision 1.155
21 retrieving revision 1.156
22 diff -u -r1.155 -r1.156
23 --- ChangeLog 12 Apr 2014 20:33:05 -0000 1.155
24 +++ ChangeLog 2 May 2014 07:51:57 -0000 1.156
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.155 2014/04/12 20:33:05 ulm Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs-vcs/ChangeLog,v 1.156 2014/05/02 07:51:57 ulm Exp $
30 +
31 +*emacs-vcs-24.4.50_pre20140430 (02 May 2014)
32 +
33 + 02 May 2014; Ulrich Müller <ulm@g.o>
34 + +emacs-vcs-24.4.50_pre20140430.ebuild:
35 + Snapshot of trunk.
36
37 *emacs-vcs-24.3.90 (12 Apr 2014)
38
39
40
41
42 1.1 app-editors/emacs-vcs/emacs-vcs-24.4.50_pre20140430.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs-vcs/emacs-vcs-24.4.50_pre20140430.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs-vcs/emacs-vcs-24.4.50_pre20140430.ebuild?rev=1.1&content-type=text/plain
46
47 Index: emacs-vcs-24.4.50_pre20140430.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.4.50_pre20140430.ebuild,v 1.1 2014/05/02 07:51:57 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="trunk"
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? (
146 sys-apps/attr
147 sys-apps/paxctl
148 )"
149
150 if [[ ${PV##*.} = 9999 ]]; then
151 DEPEND="${DEPEND}
152 sys-apps/texinfo"
153 fi
154
155 EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
156 SITEFILE="20${PN}-${SLOT}-gentoo.el"
157
158 src_prepare() {
159 if [[ ${PV##*.} = 9999 ]]; then
160 FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
161 configure.ac)
162 [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
163 einfo "Emacs branch: ${EBZR_BRANCH}"
164 einfo "Revision: ${EBZR_REVISION:-${EBZR_REVNO}}"
165 einfo "Emacs version number: ${FULL_VERSION}"
166 [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
167 || die "Upstream version number changed to ${FULL_VERSION}"
168 fi
169
170 epatch_user
171
172 # Fix filename reference in redirected man page
173 sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
174 || die "unable to sed ctags.1"
175
176 AT_M4DIR=m4 eautoreconf
177 }
178
179 src_configure() {
180 strip-flags
181
182 if use sh; then
183 replace-flags "-O[1-9]" -O0 #262359
184 elif use ia64; then
185 replace-flags "-O[2-9]" -O1 #325373
186 else
187 replace-flags "-O[3-9]" -O2
188 fi
189
190 local myconf
191
192 if use alsa; then
193 use sound || ewarn \
194 "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
195 myconf+=" --with-sound=alsa"
196 else
197 myconf+=" --with-sound=$(usex sound oss)"
198 fi
199
200 if use X; then
201 myconf+=" --with-x --without-ns"
202 myconf+=" $(use_with gconf)"
203 myconf+=" $(use_with gsettings)"
204 myconf+=" $(use_with toolkit-scroll-bars)"
205 myconf+=" $(use_with gif)"
206 myconf+=" $(use_with jpeg)"
207 myconf+=" $(use_with png)"
208 myconf+=" $(use_with svg rsvg)"
209 myconf+=" $(use_with tiff)"
210 myconf+=" $(use_with xpm)"
211 myconf+=" $(use_with imagemagick)"
212
213 if use xft; then
214 myconf+=" --with-xft"
215 myconf+=" $(use_with m17n-lib libotf)"
216 myconf+=" $(use_with m17n-lib m17n-flt)"
217 else
218 myconf+=" --without-xft"
219 myconf+=" --without-libotf --without-m17n-flt"
220 use m17n-lib && ewarn \
221 "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
222 fi
223
224 local f
225 if use gtk; then
226 einfo "Configuring to build with GIMP Toolkit (GTK+)"
227 myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
228 for f in motif Xaw3d athena; do
229 use ${f} && ewarn \
230 "USE flag \"${f}\" has no effect if \"gtk\" is set."
231 done
232 elif use motif; then
233 einfo "Configuring to build with Motif toolkit"
234 myconf+=" --with-x-toolkit=motif"
235 for f in Xaw3d athena; do
236 use ${f} && ewarn \
237 "USE flag \"${f}\" has no effect if \"motif\" is set."
238 done
239 elif use athena || use Xaw3d; then
240 einfo "Configuring to build with Athena/Lucid toolkit"
241 myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
242 else
243 einfo "Configuring to build with no toolkit"
244 myconf+=" --with-x-toolkit=no"
245 fi
246 elif use aqua; then
247 einfo "Configuring to build with Nextstep (Cocoa) support"
248 myconf+=" --with-ns --disable-ns-self-contained"
249 myconf+=" --without-x"
250 else
251 myconf+=" --without-x --without-ns"
252 fi
253
254 # Save version information in the Emacs binary. It will be available
255 # in variable "system-configuration-options".
256 myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
257 if [[ ${PV##*.} = 9999 ]]; then
258 myconf+=" EBZR_BRANCH=${EBZR_BRANCH} EBZR_REVNO=${EBZR_REVNO}"
259 fi
260
261 econf \
262 --program-suffix="-${EMACS_SUFFIX}" \
263 --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
264 --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
265 --with-gameuser="${GAMES_USER_DED:-games}" \
266 --without-compress-install \
267 --with-file-notification=$(usev gfile || usev inotify || echo no) \
268 $(use_enable acl) \
269 $(use_with dbus) \
270 $(use_with gnutls) \
271 $(use_with gpm) \
272 $(use_with hesiod) \
273 $(use_with kerberos) $(use_with kerberos kerberos5) \
274 $(use_with libxml2 xml2) \
275 $(use_with selinux) \
276 $(use_with wide-int) \
277 $(use_with zlib) \
278 ${myconf}
279 }
280
281 src_compile() {
282 export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
283 emake
284 }
285
286 src_install () {
287 emake DESTDIR="${D}" NO_BIN_LINK=t install
288
289 mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
290 || die "moving emacs executable failed"
291 mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
292 || die "moving emacs man page failed"
293
294 # move info dir to avoid collisions with the dir file generated by portage
295 mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
296 || die "moving info dir failed"
297 touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
298 docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
299
300 # avoid collision between slots, see bug #169033 e.g.
301 rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
302 rm -rf "${ED}"/usr/share/{applications,icons}
303 rm -rf "${ED}"/var
304
305 # remove unused <version>/site-lisp dir
306 rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
307
308 if use gzip-el; then
309 # compress .el files when a corresponding .elc exists
310 find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
311 -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
312 assert "gzip .el failed"
313 fi
314
315 local cdir
316 if use source; then
317 cdir="/usr/share/emacs/${FULL_VERSION}/src"
318 insinto "${cdir}"
319 # This is not meant to install all the source -- just the
320 # C source you might find via find-function
321 doins src/*.{c,h,m}
322 elif has installsources ${FEATURES}; then
323 cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
324 fi
325
326 sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
327 X
328 ;;; ${PN}-${SLOT} site-lisp configuration
329 X
330 (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
331 Y (setq find-function-C-source-directory
332 Y "${EPREFIX}${cdir}")
333 X (let ((path (getenv "INFOPATH"))
334 X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
335 X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
336 X (and path
337 X ;; move Emacs Info dir before anything else in /usr/share/info
338 X (let* ((p (cons nil (split-string path ":" t))) (q p))
339 X (while (and (cdr q) (not (string-match re (cadr q))))
340 X (setq q (cdr q)))
341 X (setcdr q (cons dir (delete dir (cdr q))))
342 X (setq Info-directory-list (prune-directory-list (cdr p)))))))
343 EOF
344 elisp-site-file-install "${T}/${SITEFILE}" || die
345
346 dodoc README BUGS
347
348 if use aqua; then
349 dodir /Applications/Gentoo
350 rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
351 mv nextstep/Emacs.app \
352 "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
353 fi
354
355 DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
356 through the Emacs eselect module, which also redirects man and info
357 pages. Therefore, several Emacs versions can be installed at the
358 same time. \"man emacs.eselect\" for details.
359 \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
360 strongly recommended that you use app-admin/emacs-updater to rebuild
361 all byte-compiled elisp files of the installed Emacs packages."
362 use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
363 Installing media-fonts/font-adobe-{75,100}dpi on the X server's
364 machine would satisfy basic Emacs requirements under X11.
365 See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
366 for how to enable anti-aliased fonts."
367 use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
368 \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
369 it into /Applications by yourself."
370 readme.gentoo_create_doc
371 }
372
373 pkg_preinst() {
374 # move Info dir file to correct name
375 local infodir=/usr/share/info/${EMACS_SUFFIX} f
376 if [[ -f ${ED}${infodir}/dir.orig ]]; then
377 mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
378 elif [[ -d "${ED}"${infodir} ]]; then
379 # this should not happen in EAPI 4
380 ewarn "Regenerating Info directory index in ${infodir} ..."
381 rm -f "${ED}"${infodir}/dir{,.*}
382 for f in "${ED}"${infodir}/*; do
383 if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
384 install-info --info-dir="${ED}"${infodir} "${f}" \
385 || die "install-info failed"
386 fi
387 done
388 fi
389 }
390
391 pkg_postinst() {
392 elisp-site-regen
393
394 local pvr
395 for pvr in ${REPLACING_VERSIONS}; do
396 [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
397 done
398 readme.gentoo_print_elog
399
400 if use livecd; then
401 # force an update of the emacs symlink for the livecd/dvd,
402 # because some microemacs packages set it with USE=livecd
403 eselect emacs update
404 elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
405 # refresh symlinks in case any installed files have changed
406 eselect emacs set ${EMACS_SUFFIX}
407 else
408 eselect emacs update ifunset
409 fi
410 }
411
412 pkg_postrm() {
413 elisp-site-regen
414 eselect emacs update ifunset
415 }