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