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