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_pre20150531.ebuild
Date: Mon, 01 Jun 2015 06:31:58
Message-Id: 20150601063150.EEEA5A10@oystercatcher.gentoo.org
1 ulm 15/06/01 06:31:50
2
3 Modified: ChangeLog
4 Added: emacs-vcs-25.0.50_pre20150531.ebuild
5 Log:
6 New snapshot.
7
8 (Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 9433907D693FB5B8!)
9
10 Revision Changes Path
11 1.195 app-editors/emacs-vcs/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs-vcs/ChangeLog?rev=1.195&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs-vcs/ChangeLog?rev=1.195&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs-vcs/ChangeLog?r1=1.194&r2=1.195
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/app-editors/emacs-vcs/ChangeLog,v
20 retrieving revision 1.194
21 retrieving revision 1.195
22 diff -u -r1.194 -r1.195
23 --- ChangeLog 11 Apr 2015 11:50:01 -0000 1.194
24 +++ ChangeLog 1 Jun 2015 06:31:50 -0000 1.195
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.194 2015/04/11 11:50:01 ulm Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs-vcs/ChangeLog,v 1.195 2015/06/01 06:31:50 ulm Exp $
30 +
31 +*emacs-vcs-25.0.50_pre20150531 (01 Jun 2015)
32 +
33 + 01 Jun 2015; Ulrich Müller <ulm@g.o>
34 + +emacs-vcs-25.0.50_pre20150531.ebuild:
35 + New snapshot.
36
37 11 Apr 2015; Ulrich Müller <ulm@g.o> emacs-vcs-24.5.9999.ebuild:
38 Remove blocker against released version.
39
40
41
42 1.1 app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150531.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs-vcs/emacs-vcs-25.0.50_pre20150531.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_pre20150531.ebuild?rev=1.1&content-type=text/plain
46
47 Index: emacs-vcs-25.0.50_pre20150531.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_pre20150531.ebuild,v 1.1 2015/06/01 06:31:50 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 myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
220 for f in motif Xaw3d athena; do
221 use ${f} && ewarn \
222 "USE flag \"${f}\" has no effect if \"gtk\" is set."
223 done
224 elif use motif; then
225 einfo "Configuring to build with Motif toolkit"
226 myconf+=" --with-x-toolkit=motif"
227 for f in Xaw3d athena; do
228 use ${f} && ewarn \
229 "USE flag \"${f}\" has no effect if \"motif\" is set."
230 done
231 elif use athena || use Xaw3d; then
232 einfo "Configuring to build with Athena/Lucid toolkit"
233 myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
234 else
235 einfo "Configuring to build with no toolkit"
236 myconf+=" --with-x-toolkit=no"
237 fi
238 elif use aqua; then
239 einfo "Configuring to build with Nextstep (Cocoa) support"
240 myconf+=" --with-ns --disable-ns-self-contained"
241 myconf+=" --without-x"
242 else
243 myconf+=" --without-x --without-ns"
244 fi
245
246 # Save version information in the Emacs binary. It will be available
247 # in variable "system-configuration-options".
248 myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
249 if [[ ${PV##*.} = 9999 ]]; then
250 myconf+=" EGIT_BRANCH=${EGIT_BRANCH} EGIT_VERSION=${EGIT_VERSION}"
251 fi
252
253 econf \
254 --program-suffix="-${EMACS_SUFFIX}" \
255 --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
256 --localstatedir="${EPREFIX}"/var \
257 --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
258 --with-gameuser=":gamestat" \
259 --without-compress-install \
260 --with-file-notification=$(usev gfile || usev inotify || echo no) \
261 $(use_enable acl) \
262 $(use_with dbus) \
263 $(use_with gnutls) \
264 $(use_with gpm) \
265 $(use_with hesiod) \
266 $(use_with kerberos) $(use_with kerberos kerberos5) \
267 $(use_with libxml2 xml2) \
268 $(use_with selinux) \
269 $(use_with wide-int) \
270 $(use_with zlib) \
271 ${myconf}
272 }
273
274 src_compile() {
275 export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
276 emake
277 }
278
279 src_install () {
280 emake DESTDIR="${D}" NO_BIN_LINK=t install
281
282 mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
283 || die "moving emacs executable failed"
284 mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
285 || die "moving emacs man page failed"
286
287 # move info dir to avoid collisions with the dir file generated by portage
288 mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
289 || die "moving info dir failed"
290 touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
291 docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
292
293 # avoid collision between slots, see bug #169033 e.g.
294 rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
295 rm -rf "${ED}"/usr/share/{appdata,applications,icons}
296 rm -rf "${ED}"/var
297
298 # remove unused <version>/site-lisp dir
299 rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
300
301 # remove COPYING file (except for etc/COPYING used by describe-copying)
302 rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
303
304 if use gzip-el; then
305 # compress .el files when a corresponding .elc exists
306 find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
307 -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
308 assert "gzip .el failed"
309 fi
310
311 local cdir
312 if use source; then
313 cdir="/usr/share/emacs/${FULL_VERSION}/src"
314 insinto "${cdir}"
315 # This is not meant to install all the source -- just the
316 # C source you might find via find-function
317 doins src/*.{c,h,m}
318 elif has installsources ${FEATURES}; then
319 cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
320 fi
321
322 sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF
323 X
324 ;;; ${PN}-${SLOT} site-lisp configuration
325 X
326 (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
327 Y (setq find-function-C-source-directory
328 Y "${EPREFIX}${cdir}")
329 X (let ((path (getenv "INFOPATH"))
330 X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
331 X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
332 X (and path
333 X ;; move Emacs Info dir before anything else in /usr/share/info
334 X (let* ((p (cons nil (split-string path ":" t))) (q p))
335 X (while (and (cdr q) (not (string-match re (cadr q))))
336 X (setq q (cdr q)))
337 X (setcdr q (cons dir (delete dir (cdr q))))
338 X (setq Info-directory-list (prune-directory-list (cdr p)))))))
339 EOF
340 elisp-site-file-install "${T}/${SITEFILE}" || die
341
342 dodoc README BUGS CONTRIBUTE
343
344 if use aqua; then
345 dodir /Applications/Gentoo
346 rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
347 mv nextstep/Emacs.app \
348 "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
349 fi
350
351 DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
352 through the Emacs eselect module, which also redirects man and info
353 pages. Therefore, several Emacs versions can be installed at the
354 same time. \"man emacs.eselect\" for details.
355 \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
356 strongly recommended that you use app-admin/emacs-updater to rebuild
357 all byte-compiled elisp files of the installed Emacs packages."
358 use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
359 Installing media-fonts/font-adobe-{75,100}dpi on the X server's
360 machine would satisfy basic Emacs requirements under X11.
361 See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
362 for how to enable anti-aliased fonts."
363 use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
364 \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
365 it into /Applications by yourself."
366 readme.gentoo_create_doc
367 }
368
369 pkg_preinst() {
370 # move Info dir file to correct name
371 local infodir=/usr/share/info/${EMACS_SUFFIX} f
372 if [[ -f ${ED}${infodir}/dir.orig ]]; then
373 mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
374 elif [[ -d "${ED}"${infodir} ]]; then
375 # this should not happen in EAPI 4
376 ewarn "Regenerating Info directory index in ${infodir} ..."
377 rm -f "${ED}"${infodir}/dir{,.*}
378 for f in "${ED}"${infodir}/*; do
379 if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
380 install-info --info-dir="${ED}"${infodir} "${f}" \
381 || die "install-info failed"
382 fi
383 done
384 fi
385 }
386
387 pkg_postinst() {
388 elisp-site-regen
389
390 local pvr
391 for pvr in ${REPLACING_VERSIONS}; do
392 [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1
393 done
394 readme.gentoo_print_elog
395
396 if use livecd; then
397 # force an update of the emacs symlink for the livecd/dvd,
398 # because some microemacs packages set it with USE=livecd
399 eselect emacs update
400 elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
401 # refresh symlinks in case any installed files have changed
402 eselect emacs set ${EMACS_SUFFIX}
403 else
404 eselect emacs update ifunset
405 fi
406 }
407
408 pkg_postrm() {
409 elisp-site-regen
410 eselect emacs update ifunset
411 }