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-23.1.97.ebuild emacs-vcs-23.1.93.ebuild emacs-vcs-23.1.94.ebuild
Date: Tue, 04 May 2010 07:59:49
Message-Id: 20100504075943.37AFA29628@corvid.gentoo.org
1 ulm 10/05/04 07:59:43
2
3 Modified: ChangeLog
4 Added: emacs-vcs-23.1.97.ebuild
5 Removed: emacs-vcs-23.1.93.ebuild emacs-vcs-23.1.94.ebuild
6 Log:
7 New pretest version. Remove old.
8 (Portage version: 2.1.8.3/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.17 app-editors/emacs-vcs/ChangeLog
12
13 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-editors/emacs-vcs/ChangeLog?rev=1.17&view=markup
14 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-editors/emacs-vcs/ChangeLog?rev=1.17&content-type=text/plain
15 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-editors/emacs-vcs/ChangeLog?r1=1.16&r2=1.17
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/app-editors/emacs-vcs/ChangeLog,v
20 retrieving revision 1.16
21 retrieving revision 1.17
22 diff -u -r1.16 -r1.17
23 --- ChangeLog 1 May 2010 15:16:49 -0000 1.16
24 +++ ChangeLog 4 May 2010 07:59:43 -0000 1.17
25 @@ -1,6 +1,12 @@
26 # ChangeLog for app-editors/emacs-vcs
27 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs-vcs/ChangeLog,v 1.16 2010/05/01 15:16:49 ulm Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs-vcs/ChangeLog,v 1.17 2010/05/04 07:59:43 ulm Exp $
30 +
31 +*emacs-vcs-23.1.97 (04 May 2010)
32 +
33 + 04 May 2010; Ulrich Mueller <ulm@g.o> -emacs-vcs-23.1.93.ebuild,
34 + -emacs-vcs-23.1.94.ebuild, +emacs-vcs-23.1.97.ebuild:
35 + New (upstream says final) pretest for Emacs 23.2. Remove old.
36
37 01 May 2010; Ulrich Mueller <ulm@g.o> emacs-vcs-23.1.95.ebuild,
38 emacs-vcs-23.1.96.ebuild, emacs-vcs-23.1.9999-r3.ebuild,
39
40
41
42 1.1 app-editors/emacs-vcs/emacs-vcs-23.1.97.ebuild
43
44 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-editors/emacs-vcs/emacs-vcs-23.1.97.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-editors/emacs-vcs/emacs-vcs-23.1.97.ebuild?rev=1.1&content-type=text/plain
46
47 Index: emacs-vcs-23.1.97.ebuild
48 ===================================================================
49 # Copyright 1999-2010 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-23.1.97.ebuild,v 1.1 2010/05/04 07:59:43 ulm Exp $
52
53 EAPI=2
54
55 inherit autotools elisp-common eutils flag-o-matic
56
57 if [ "${PV##*.}" = "9999" ]; then
58 inherit bzr
59 EMACS_BRANCH="emacs-23"
60 EBZR_REPO_URI="http://bzr.savannah.gnu.org/r/emacs/${EMACS_BRANCH}/"
61 EBZR_CACHE_DIR="emacs-${EMACS_BRANCH#emacs-}"
62 SRC_URI=""
63 else
64 SRC_URI="mirror://gentoo/emacs-${PV}.tar.gz
65 ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-${PV}.tar.gz"
66 # FULL_VERSION keeps the full version number, which is needed in
67 # order to determine some path information correctly for copy/move
68 # operations later on
69 FULL_VERSION="${PV%%_*}"
70 S="${WORKDIR}/emacs-${FULL_VERSION}"
71 fi
72
73 DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
74 HOMEPAGE="http://www.gnu.org/software/emacs/"
75
76 LICENSE="GPL-3 FDL-1.3 BSD as-is MIT W3C unicode"
77 SLOT="23"
78 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
79 IUSE="alsa dbus gconf gif gpm gtk gzip-el hesiod jpeg kerberos m17n-lib motif png sound source svg tiff toolkit-scroll-bars X Xaw3d xft +xpm"
80 RESTRICT="strip"
81
82 RDEPEND="sys-libs/ncurses
83 >=app-admin/eselect-emacs-1.2
84 net-libs/liblockfile
85 hesiod? ( net-dns/hesiod )
86 kerberos? ( virtual/krb5 )
87 alsa? ( media-libs/alsa-lib )
88 gpm? ( sys-libs/gpm )
89 dbus? ( sys-apps/dbus )
90 X? (
91 x11-libs/libXmu
92 x11-libs/libXt
93 x11-misc/xbitmaps
94 gconf? ( >=gnome-base/gconf-2.26.2 )
95 gif? ( media-libs/giflib )
96 jpeg? ( media-libs/jpeg:0 )
97 png? ( media-libs/libpng )
98 svg? ( >=gnome-base/librsvg-2.0 )
99 tiff? ( media-libs/tiff )
100 xpm? ( x11-libs/libXpm )
101 xft? (
102 media-libs/fontconfig
103 media-libs/freetype
104 x11-libs/libXft
105 m17n-lib? (
106 >=dev-libs/libotf-0.9.4
107 >=dev-libs/m17n-lib-1.5.1
108 )
109 )
110 gtk? ( x11-libs/gtk+:2 )
111 !gtk? (
112 Xaw3d? ( x11-libs/Xaw3d )
113 !Xaw3d? ( motif? ( x11-libs/openmotif ) )
114 )
115 )"
116
117 DEPEND="${RDEPEND}
118 dev-util/pkgconfig
119 gzip-el? ( app-arch/gzip )"
120
121 RDEPEND="${RDEPEND}
122 >=app-emacs/emacs-common-gentoo-1[X?]"
123
124 EMACS_SUFFIX="emacs-${SLOT}-vcs"
125 SITEFILE="20${PN}-${SLOT}-gentoo.el"
126
127 src_prepare() {
128 if [ "${PV##*.}" = "9999" ]; then
129 FULL_VERSION=$(grep 'defconst[ ]*emacs-version' lisp/version.el \
130 | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/')
131 [ "${FULL_VERSION}" ] || die "Cannot determine current Emacs version"
132 echo
133 einfo "Emacs branch: ${EMACS_BRANCH}"
134 einfo "Emacs version number: ${FULL_VERSION}"
135 [ "${FULL_VERSION%.*}" = ${PV%.*} ] \
136 || die "Upstream version number changed to ${FULL_VERSION}"
137 echo
138 #else
139 # EPATCH_SUFFIX=patch epatch
140 fi
141
142 sed -i -e "s:/usr/lib/crtbegin.o:$(`tc-getCC` -print-file-name=crtbegin.o):g" \
143 -e "s:/usr/lib/crtend.o:$(`tc-getCC` -print-file-name=crtend.o):g" \
144 "${S}"/src/s/freebsd.h || die "unable to sed freebsd.h settings"
145
146 if ! use alsa; then
147 # ALSA is detected even if not requested by its USE flag.
148 # Suppress it by supplying pkg-config with a wrong library name.
149 sed -i -e "/ALSA_MODULES=/s/alsa/DiSaBlEaLsA/" configure.in \
150 || die "unable to sed configure.in"
151 fi
152 if ! use gzip-el; then
153 # Emacs' build system automatically detects the gzip binary and
154 # compresses el files. We don't want that so confuse it with a
155 # wrong binary name
156 sed -i -e "s/ gzip/ PrEvEnTcOmPrEsSiOn/" configure.in \
157 || die "unable to sed configure.in"
158 fi
159
160 eautoreconf
161 }
162
163 src_configure() {
164 ALLOWED_FLAGS=""
165 strip-flags
166 #unset LDFLAGS
167 if use sh; then
168 replace-flags -O[1-9] -O0 #262359
169 else
170 replace-flags -O[3-9] -O2
171 fi
172
173 local myconf
174
175 if use alsa && ! use sound; then
176 echo
177 einfo "Although sound USE flag is disabled you chose to have alsa,"
178 einfo "so sound is switched on anyway."
179 echo
180 myconf="${myconf} --with-sound"
181 else
182 myconf="${myconf} $(use_with sound)"
183 fi
184
185 if use X; then
186 myconf="${myconf} --with-x"
187 myconf="${myconf} $(use_with gconf)"
188 myconf="${myconf} $(use_with toolkit-scroll-bars)"
189 myconf="${myconf} $(use_with gif) $(use_with jpeg)"
190 myconf="${myconf} $(use_with png) $(use_with svg rsvg)"
191 myconf="${myconf} $(use_with tiff) $(use_with xpm)"
192 myconf="${myconf} $(use_with xft)"
193
194 if use xft; then
195 myconf="${myconf} $(use_with m17n-lib libotf)"
196 myconf="${myconf} $(use_with m17n-lib m17n-flt)"
197 else
198 myconf="${myconf} --without-libotf --without-m17n-flt"
199 use m17n-lib && ewarn \
200 "USE flag \"m17n-lib\" has no effect because xft is not set."
201 fi
202
203 # GTK+ is the default toolkit if USE=gtk is chosen with other
204 # possibilities. Emacs upstream thinks this should be standard
205 # policy on all distributions
206 if use gtk; then
207 einfo "Configuring to build with GIMP Toolkit (GTK+)"
208 myconf="${myconf} --with-x-toolkit=gtk"
209 elif use Xaw3d; then
210 einfo "Configuring to build with Xaw3d (Athena/Lucid) toolkit"
211 myconf="${myconf} --with-x-toolkit=athena"
212 elif use motif; then
213 einfo "Configuring to build with Motif toolkit"
214 myconf="${myconf} --with-x-toolkit=motif"
215 else
216 einfo "Configuring to build with no toolkit"
217 myconf="${myconf} --with-x-toolkit=no"
218 fi
219
220 local f tk=
221 for f in gtk Xaw3d motif; do
222 use ${f} || continue
223 [ "${tk}" ] \
224 && ewarn "USE flag \"${f}\" ignored (superseded by \"${tk}\")"
225 tk="${tk}${tk:+ }${f}"
226 done
227 else
228 myconf="${myconf} --without-x"
229 fi
230
231 myconf="${myconf} $(use_with hesiod)"
232 myconf="${myconf} $(use_with kerberos) $(use_with kerberos kerberos5)"
233 myconf="${myconf} $(use_with gpm) $(use_with dbus)"
234
235 econf \
236 --program-suffix=-${EMACS_SUFFIX} \
237 --infodir=/usr/share/info/${EMACS_SUFFIX} \
238 ${myconf} || die "econf emacs failed"
239 }
240
241 src_compile() {
242 export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
243 if [ "${PV##*.}" = "9999" ]; then
244 emake CC="$(tc-getCC)" bootstrap || die "make bootstrap failed"
245 # cleanup, otherwise emacs will be dumped again in src_install
246 (cd src; emake versionclean)
247 fi
248 emake CC="$(tc-getCC)" || die "emake failed"
249 }
250
251 src_install () {
252 local i m
253
254 emake install DESTDIR="${D}" || die "make install failed"
255
256 rm "${D}"/usr/bin/emacs-${FULL_VERSION}-${EMACS_SUFFIX} \
257 || die "removing duplicate emacs executable failed"
258 mv "${D}"/usr/bin/emacs-${EMACS_SUFFIX} "${D}"/usr/bin/${EMACS_SUFFIX} \
259 || die "moving Emacs executable failed"
260
261 # move info documentation to the correct place
262 for i in "${D}"/usr/share/info/${EMACS_SUFFIX}/*; do
263 mv "${i}" "${i}.info" || die "mv info failed"
264 done
265
266 # move man pages to the correct place
267 for m in "${D}"/usr/share/man/man1/* ; do
268 mv "${m}" "${m%.1}-${EMACS_SUFFIX}.1" || die "mv man failed"
269 done
270
271 # avoid collision between slots, see bug #169033 e.g.
272 rm "${D}"/usr/share/emacs/site-lisp/subdirs.el
273 rm -rf "${D}"/usr/share/{applications,icons}
274 rm "${D}"/var/lib/games/emacs/{snake,tetris}-scores
275 keepdir /var/lib/games/emacs
276
277 local c=";;"
278 if use source; then
279 insinto /usr/share/emacs/${FULL_VERSION}/src
280 # This is not meant to install all the source -- just the
281 # C source you might find via find-function
282 doins src/*.[ch]
283 c=""
284 fi
285
286 sed 's/^X//' >"${SITEFILE}" <<-EOF
287 X
288 ;;; ${PN}-${SLOT} site-lisp configuration
289 X
290 (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
291 X ${c}(setq find-function-C-source-directory
292 X ${c} "/usr/share/emacs/${FULL_VERSION}/src")
293 X (let ((path (getenv "INFOPATH"))
294 X (dir "/usr/share/info/${EMACS_SUFFIX}")
295 X (re "\\\\\`/usr/share/info\\\\>"))
296 X (and path
297 X ;; move Emacs Info dir before anything else in /usr/share/info
298 X (let* ((p (cons nil (split-string path ":" t))) (q p))
299 X (while (and (cdr q) (not (string-match re (cadr q))))
300 X (setq q (cdr q)))
301 X (setcdr q (cons dir (delete dir (cdr q))))
302 X (setq Info-directory-list (prune-directory-list (cdr p)))))))
303 EOF
304 elisp-site-file-install "${SITEFILE}" || die
305
306 dodoc README BUGS || die "dodoc failed"
307 }
308
309 emacs-infodir-rebuild() {
310 # Depending on the Portage version, the Info dir file is compressed
311 # or removed. It is only rebuilt by Portage if our directory is in
312 # INFOPATH, which is not guaranteed. So we rebuild it ourselves.
313
314 local infodir=/usr/share/info/${EMACS_SUFFIX} f
315 [ -d "${ROOT}"${infodir} ] || return # may occur with FEATURES=noinfo
316 einfo "Regenerating Info directory index in ${infodir} ..."
317 rm -f "${ROOT}"${infodir}/dir{,.*}
318 for f in "${ROOT}"${infodir}/*.info*; do
319 [[ ${f##*/} != *[0-9].info* && -e ${f} ]] \
320 && install-info --info-dir="${ROOT}"${infodir} "${f}" &>/dev/null
321 done
322 rmdir "${ROOT}"${infodir} 2>/dev/null # remove dir if it is empty
323 }
324
325 pkg_postinst() {
326 local f
327 for f in "${ROOT}"/var/lib/games/emacs/{snake,tetris}-scores; do
328 [ -e "${f}" ] || touch "${f}"
329 done
330 chown games:games "${ROOT}"/var/lib/games/emacs
331
332 elisp-site-regen
333 emacs-infodir-rebuild
334 eselect emacs update ifunset
335
336 if use X; then
337 echo
338 elog "You need to install some fonts for Emacs."
339 elog "Installing media-fonts/font-adobe-{75,100}dpi on the X server's"
340 elog "machine would satisfy basic Emacs requirements under X11."
341 elog "See also http://www.gentoo.org/proj/en/lisp/emacs/xft.xml"
342 elog "for how to enable anti-aliased fonts."
343 fi
344
345 echo
346 elog "You can set the version to be started by /usr/bin/emacs through"
347 elog "the Emacs eselect module, which also redirects man and info pages."
348 elog "Therefore, several Emacs versions can be installed at the same time."
349 elog "\"man emacs.eselect\" for details."
350 echo
351 elog "If you upgrade from a previous major version of Emacs, then it is"
352 elog "strongly recommended that you use app-admin/emacs-updater to rebuild"
353 elog "all byte-compiled elisp files of the installed Emacs packages."
354 }
355
356 pkg_postrm() {
357 elisp-site-regen
358 emacs-infodir-rebuild
359 eselect emacs update ifunset
360 }