diff options
author | Ulrich Müller <ulm@gentoo.org> | 2012-01-15 19:49:25 +0000 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2012-01-15 19:49:25 +0000 |
commit | 0b5ee730f3930a7c3ffd69e11b13278e9e9469fb (patch) | |
tree | 4f650860e35b11592c1a392b1d5c8b5aed2a03a6 /app-editors/emacs-vcs | |
parent | Fix cvs keyword in the header (#398773) (diff) | |
download | historical-0b5ee730f3930a7c3ffd69e11b13278e9e9469fb.tar.gz historical-0b5ee730f3930a7c3ffd69e11b13278e9e9469fb.tar.bz2 historical-0b5ee730f3930a7c3ffd69e11b13278e9e9469fb.zip |
Pretest for Emacs 23.4.
Package-Manager: portage-2.1.10.44/cvs/Linux x86_64
Diffstat (limited to 'app-editors/emacs-vcs')
-rw-r--r-- | app-editors/emacs-vcs/ChangeLog | 7 | ||||
-rw-r--r-- | app-editors/emacs-vcs/Manifest | 30 | ||||
-rw-r--r-- | app-editors/emacs-vcs/emacs-vcs-23.3.90.ebuild | 344 |
3 files changed, 366 insertions, 15 deletions
diff --git a/app-editors/emacs-vcs/ChangeLog b/app-editors/emacs-vcs/ChangeLog index c281957a0a86..c624edd8f8f9 100644 --- a/app-editors/emacs-vcs/ChangeLog +++ b/app-editors/emacs-vcs/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for app-editors/emacs-vcs # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs-vcs/ChangeLog,v 1.77 2012/01/13 23:07:05 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs-vcs/ChangeLog,v 1.78 2012/01/15 19:49:25 ulm Exp $ + +*emacs-vcs-23.3.90 (15 Jan 2012) + + 15 Jan 2012; Ulrich Müller <ulm@gentoo.org> +emacs-vcs-23.3.90.ebuild: + Pretest for Emacs 23.4. *emacs-vcs-24.0.9999-r3 (13 Jan 2012) diff --git a/app-editors/emacs-vcs/Manifest b/app-editors/emacs-vcs/Manifest index 783af047cf65..29e319eb8abe 100644 --- a/app-editors/emacs-vcs/Manifest +++ b/app-editors/emacs-vcs/Manifest @@ -2,26 +2,28 @@ Hash: SHA1 DIST emacs-23.3-patches-4.tar.bz2 19275 RMD160 9a5d61bcf60422efd44efc5f206d9baf8e742bd6 SHA1 695d786f1d43ddbc0c269c780a43cfed9aeb35f0 SHA256 0d4393e221b78bd97c39a10f6e4206d2dbbcee7062e9626d37a3a45c72b34636 +DIST emacs-23.3.90.tar.gz 47721559 RMD160 0e816014a6dd0339caaf81415eceb7b0dcc52ef1 SHA1 9074a972df9fa03c03fc3d8fb759304691d7cb3a SHA256 d32bef9b9660e6e59c4b63a86ccb56b7ddffb71d22d9d016b6869655e513649c DIST emacs-24.0.92.tar.gz 50996706 RMD160 4530f9208765ef168bfb55831371cecc089e2433 SHA1 6d876d3f187be67c210242e8106e8f38c314f77d SHA256 861369d3006e59837bd2daac9931b17148d60cc16d074fb532b51ef9c5d1975f +EBUILD emacs-vcs-23.3.90.ebuild 11113 RMD160 991a06e1e1073ffb94eec2073a907def5a453245 SHA1 e307ecf9022dbcdd5a4c98597c7dda927cec5c9b SHA256 2d7a6847722f98413b7ffd15a6e4238bacd6ac9cb8711321f16544b8ea8347cf EBUILD emacs-vcs-23.3.9999-r1.ebuild 11118 RMD160 662ff612b3ea9a590d58dabee34deb001675bb5b SHA1 6b593b32fba2c4c50853b13a218230940175b3fe SHA256 0b497de535594a16ee6e6dcebc00295dd9104daa94366ef9626f8f22747dd04b EBUILD emacs-vcs-24.0.92-r1.ebuild 11483 RMD160 3af9f27f668b3b921499cfe00a718dc1277be4f7 SHA1 1c7e08cc9c39c4db9f5dd155343f940f720e38d1 SHA256 3884e1a38da0c27fb6274a2989626a70100592dfa72ae2c36c0338ff6e20eeec EBUILD emacs-vcs-24.0.9999-r3.ebuild 11313 RMD160 198b58d7cdf8634cb83d3a5a454367e8c2818d18 SHA1 51e178fa5f36f79f2a8c2af7ae6e9bb11aa28132 SHA256 8846706e0bb593cb3caff3d1fca4a138e204d3c5ac19f94828aea7fd711df083 -MISC ChangeLog 62982 RMD160 7197609c5430516725fe53684faec35b32349640 SHA1 236037b3bfbaeca8841915717b6425ff22f33a02 SHA256 aee2fb4816435e75a67a26b115167647ca1afabda28e858ca298fafba76a4e46 +MISC ChangeLog 63117 RMD160 67d6fa46bb1415c58a0a04fbe89d8688018c720a SHA1 a8f32bd83f0a0be608ff4970b49fcb16db751ddc SHA256 64bb02d4a758fcf565c9ab8403032aa42b4054cd6d4169bf1a38e961e086297b MISC metadata.xml 2159 RMD160 c0ec88f19a4e19271ea414b5e4429d0ca3ec4548 SHA1 3f8c32f164afe13baf231c60a2b64ca9912e5bfb SHA256 b1008bb18ce3aacd84175d61ac8254d017a4a9ba67d5b376f21a39e5699be3ba -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) -iQIcBAEBAgAGBQJPELksAAoJEDxpGckxwJCBbLUP/i5CQ77roxTt3d0GgWmCgAqm -8xpZ2xzC1ESOO/wroxdia3PcBLcRS4l9MxwB2CyWBZcxCXKF9lQ0oHwygibkwBby -pzLYKJdooFj2P+iJseVkerOktGTuWZVU3/xxbguw7M5YH17nBNnypaZfhRQdxABr -Wfvl4A7FC3aDQ8mz8dzOmNzg4UcaX2pD/dB1Q6AsiFOcRdMWsmDIxF5bONIUynyL -oEM+iSVuwfoBYFAu6pMvQHr1/5OV0xo9g6ZVQ00hLJ27kH4VQYNqC4bF10w2Ta5n -2FveKhlZKt+WJHZfkEysh2vRYT7rbltJ53KstTiC+QntudYQOd/N903cGqvWmBsb -anejqJWmKmFLnt5eGdX/nPA6xAy/zxNxy6F9IXEumzKUu5PQD/zZRgiQbCP8vnWq -jHd1RXdF1/2goIKZoc8IB5d887STQ4KNYoJLqPPEIEjtUm3Y0rJJxs1SyKhE/Z4T -ibLV2qJm6fN3rD/2jP+63AymR9hm2YoshmHFnQtDYTzgabIt1MMHAaoCPoFdV6cm -CiAHEqOUF+Tb1GSJ9rscRCyEOD0tPsxqzHdT8zMy78ldD60tIZQnhr4KNDI1udvb -PGHSgpuGhBD6ss5hYj6shLYx8YWuIAsuvg+Se4i7jGqN1hrbwHjhg4ytLTErW0V3 -WQ7Is7UeqK92Z+DVS/CN -=tsUi +iQIcBAEBAgAGBQJPEy3ZAAoJEDxpGckxwJCBi1MP/3yPO8jqOc62XSSYeExTG0Wk +HljaJfjWe4wnIGw60hDj6FRwDh+nNETaYUM8/2RZ5JS+KW7QOX4GbUxbnzDm68qg +aKLXPmpFLsuDaeSWwyb1cENI3Bo0+IfFDqfT6z87clsSmHTTBwfG+TKBqbvrljYA +6fTVimCwVia8p89P8Pv/gTquauCEjWYzYfXJpSieZ6tL+T+ZoXmJgNtwtbRqLWWR +Mv3dauWpfruZzAmwPkARnJ79MYZDdXUYAH7Ywlx2omYjvKtGi0687SIqypOGBy4V +jStEMNTw/ZFBOkYn9U3iJasVCT7x+4ISrey4GVz5E9l26JRitNpwpqmGu4g+xb4s +Sj3wKt2NM3ijoGeszhzrAdeD49VF5spFNIgxSBdcCOIi4od1PDCIUWYhdIKE6rQV +vjMPVyBlTYXERyRMeilNUBtHwDXZAmu1NUh/GOyricqUSPuCSEYSHWcy9JPTNKha +/imH2Olc+WHsti1qik2/d04QoUNz10PbnOOPe4Jl+SXlwjMqVoPkSa0EjLleK4K/ +tH1SXK1eRs11htPb4Lm9RjgD4I1oagKD3ppGj1M2qFCyqdEaRLpuqgfTCn/ezXFH +73PxTMYWo39jZ5qG+AWRK5zKaLWw2Q8WZiahx8zssjHXk8xFr81w1fjqmSSveo3l +2bXdjKdsiESaliS0FpmA +=U0io -----END PGP SIGNATURE----- diff --git a/app-editors/emacs-vcs/emacs-vcs-23.3.90.ebuild b/app-editors/emacs-vcs/emacs-vcs-23.3.90.ebuild new file mode 100644 index 000000000000..0721d9f588ee --- /dev/null +++ b/app-editors/emacs-vcs/emacs-vcs-23.3.90.ebuild @@ -0,0 +1,344 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs-vcs/emacs-vcs-23.3.90.ebuild,v 1.1 2012/01/15 19:49:25 ulm Exp $ + +EAPI=4 +WANT_AUTOMAKE="none" + +inherit autotools elisp-common eutils flag-o-matic multilib + +if [[ ${PV##*.} = 9999 ]]; then + EBZR_PROJECT="emacs" + EBZR_BRANCH="emacs-23" + EBZR_REPO_URI="bzr://bzr.savannah.gnu.org/emacs/${EBZR_BRANCH}/" + # "Nosmart" is much faster for initial branching. + EBZR_INITIAL_URI="nosmart+${EBZR_REPO_URI}" + inherit bzr + SRC_URI="" +else + SRC_URI="mirror://gentoo/emacs-${PV}.tar.gz + ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-${PV}.tar.gz" + # FULL_VERSION keeps the full version number, which is needed in + # order to determine some path information correctly for copy/move + # operations later on + FULL_VERSION="${PV%%_*}" + S="${WORKDIR}/emacs-${FULL_VERSION}" +fi + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" + +LICENSE="GPL-3 FDL-1.3 BSD as-is MIT W3C unicode PSF-2" +SLOT="23" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="alsa athena 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" + +RDEPEND="sys-libs/ncurses + >=app-admin/eselect-emacs-1.2 + net-libs/liblockfile + hesiod? ( net-dns/hesiod ) + kerberos? ( virtual/krb5 ) + alsa? ( media-libs/alsa-lib ) + gpm? ( sys-libs/gpm ) + dbus? ( sys-apps/dbus ) + X? ( + x11-libs/libXmu + x11-libs/libXt + x11-misc/xbitmaps + gconf? ( >=gnome-base/gconf-2.26.2 ) + gif? ( media-libs/giflib ) + jpeg? ( virtual/jpeg ) + png? ( >=media-libs/libpng-1.4:0 ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff ) + xpm? ( x11-libs/libXpm ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXft + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( x11-libs/gtk+:2 ) + !gtk? ( + Xaw3d? ( x11-libs/libXaw3d ) + !Xaw3d? ( + athena? ( x11-libs/libXaw ) + !athena? ( motif? ( >=x11-libs/openmotif-2.3:0 ) ) + ) + ) + )" + +DEPEND="${RDEPEND} + alsa? ( dev-util/pkgconfig ) + dbus? ( dev-util/pkgconfig ) + X? ( dev-util/pkgconfig ) + gzip-el? ( app-arch/gzip )" + +RDEPEND="${RDEPEND} + >=app-emacs/emacs-common-gentoo-1.3[X?]" + +EMACS_SUFFIX="emacs-${SLOT}-vcs" +SITEFILE="20${PN}-${SLOT}-gentoo.el" + +src_prepare() { + if [[ ${PV##*.} = 9999 ]]; then + FULL_VERSION=$(grep 'defconst[ ]*emacs-version' lisp/version.el \ + | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/') + [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version" + einfo "Emacs branch: ${EBZR_BRANCH}" + einfo "Revision: ${EBZR_REVISION:-${EBZR_REVNO}}" + einfo "Emacs version number: ${FULL_VERSION}" + [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \ + || die "Upstream version number changed to ${FULL_VERSION}" + fi + + sed -i \ + -e "s:/usr/lib/crtbegin.o:$(`tc-getCC` -print-file-name=crtbegin.o):g" \ + -e "s:/usr/lib/crtend.o:$(`tc-getCC` -print-file-name=crtend.o):g" \ + "${S}"/src/s/freebsd.h || die "unable to sed freebsd.h settings" + + if ! use alsa; then + # ALSA is detected even if not requested by its USE flag. + # Suppress it by supplying pkg-config with a wrong library name. + sed -i -e "/ALSA_MODULES=/s/alsa/DiSaBlEaLsA/" configure.in \ + || die "unable to sed configure.in" + fi + if ! use gzip-el; then + # Emacs' build system automatically detects the gzip binary and + # compresses el files. We don't want that so confuse it with a + # wrong binary name + sed -i -e "s/ gzip/ PrEvEnTcOmPrEsSiOn/" configure.in \ + || die "unable to sed configure.in" + fi + + eautoreconf +} + +src_configure() { + ALLOWED_FLAGS="" + strip-flags + filter-flags -fstrict-aliasing + append-flags $(test-flags -fno-strict-aliasing) + + if use sh; then + replace-flags -O[1-9] -O0 #262359 + elif use ia64; then + replace-flags -O[2-9] -O1 #325373 + else + replace-flags -O[3-9] -O2 + fi + + local myconf + + if use alsa && ! use sound; then + einfo "Although sound USE flag is disabled you chose to have alsa," + einfo "so sound is switched on anyway." + myconf="${myconf} --with-sound" + else + myconf="${myconf} $(use_with sound)" + fi + + if use X; then + myconf="${myconf} --with-x" + myconf="${myconf} $(use_with gconf)" + myconf="${myconf} $(use_with toolkit-scroll-bars)" + myconf="${myconf} $(use_with gif) $(use_with jpeg)" + myconf="${myconf} $(use_with png) $(use_with svg rsvg)" + myconf="${myconf} $(use_with tiff) $(use_with xpm)" + + if use xft; then + myconf="${myconf} --with-xft" + myconf="${myconf} $(use_with m17n-lib libotf)" + myconf="${myconf} $(use_with m17n-lib m17n-flt)" + else + myconf="${myconf} --without-xft" + myconf="${myconf} --without-libotf --without-m17n-flt" + use m17n-lib && ewarn \ + "USE flag \"m17n-lib\" has no effect if \"xft\" is not set." + fi + + # GTK+ is the default toolkit if USE=gtk is chosen with other + # possibilities. Emacs upstream thinks this should be standard + # policy on all distributions + if use gtk; then + einfo "Configuring to build with GIMP Toolkit (GTK+)" + myconf="${myconf} --with-x-toolkit=gtk" + elif use Xaw3d || use athena; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf="${myconf} --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf="${myconf} --with-x-toolkit=motif" + else + einfo "Configuring to build with no toolkit" + myconf="${myconf} --with-x-toolkit=no" + fi + + local f tk= + for f in gtk Xaw3d athena motif; do + use ${f} || continue + [[ ${tk} ]] \ + && ewarn "USE flag \"${f}\" ignored (superseded by \"${tk}\")" + tk="${tk}${tk:+ }${f}" + done + else + myconf="${myconf} --without-x" + fi + + if [[ ${PV##*.} = 9999 ]]; then + # These variables are not needed for building. We add them to + # configure options because they are stored in the Emacs binary + # and available in variable "system-configuration-options". + myconf="${myconf} EBZR_BRANCH=${EBZR_BRANCH} EBZR_REVNO=${EBZR_REVNO}" + fi + + # According to configure, this option is only used for GNU/Linux + # (x86_64 and s390). For Gentoo Prefix we have to explicitly spell + # out the location because $(get_libdir) does not necessarily return + # something that matches the host OS's libdir naming (e.g. RHEL). + local crtdir=$($(tc-getCC) -print-file-name=crt1.o) + crtdir=${crtdir%/*} + + econf \ + --program-suffix=-${EMACS_SUFFIX} \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --with-crt-dir="${crtdir}" \ + $(use_with hesiod) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with gpm) \ + $(use_with dbus) \ + ${myconf} +} + +src_compile() { + export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 + if [[ ${PV##*.} = 9999 ]]; then + emake CC="$(tc-getCC)" bootstrap + # cleanup, otherwise emacs will be dumped again in src_install + (cd src; emake versionclean) + fi + # set last component of emacs-version to (package revision + 1) + touch src/emacs-${FULL_VERSION}.${PR#r} + emake CC="$(tc-getCC)" +} + +src_install () { + local i m + + emake install DESTDIR="${D}" + + rm "${ED}"/usr/bin/emacs-${FULL_VERSION}-${EMACS_SUFFIX} \ + || die "removing duplicate emacs executable failed" + mv "${ED}"/usr/bin/emacs-${EMACS_SUFFIX} "${ED}"/usr/bin/${EMACS_SUFFIX} \ + || die "moving Emacs executable failed" + + # move man pages to the correct place + for m in "${ED}"/usr/share/man/man1/* ; do + mv "${m}" "${m%.1}-${EMACS_SUFFIX}.1" || die "mv man failed" + done + + # move info dir to avoid collisions with the dir file generated by portage + mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ + || die "moving info dir failed" + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el + rm -rf "${ED}"/usr/share/{applications,icons} + rm "${ED}"/var/lib/games/emacs/{snake,tetris}-scores + keepdir /var/lib/games/emacs + + # remove unused <version>/site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp + + local c=";;" + if use source; then + insinto /usr/share/emacs/${FULL_VERSION}/src + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + doins -r src/{m,s} + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/Makefile.c + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/{m,s}/README + c="" + fi + + sed 's/^X//' >"${T}/${SITEFILE}" <<-EOF + X + ;;; ${PN}-${SLOT} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + X ${c}(setq find-function-C-source-directory + X ${c} "${EPREFIX}/usr/share/emacs/${FULL_VERSION}/src") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share/info + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setq Info-directory-list (prune-directory-list (cdr p))))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS +} + +pkg_preinst() { + # move Info dir file to correct name + local infodir=/usr/share/info/${EMACS_SUFFIX} f + if [[ -f ${ED}${infodir}/dir.orig ]]; then + mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed" + else + # this should not happen in EAPI 4 + ewarn "Regenerating Info directory index in ${infodir} ..." + rm -f "${ED}"${infodir}/dir{,.*} + for f in "${ED}"${infodir}/*; do + if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then + install-info --info-dir="${ED}"${infodir} "${f}" \ + || die "install-info failed" + fi + done + fi +} + +pkg_postinst() { + local f + for f in "${EROOT}"/var/lib/games/emacs/{snake,tetris}-scores; do + [[ -e ${f} ]] || touch "${f}" + done + chown games "${EROOT}"/var/lib/games/emacs + + elisp-site-regen + eselect emacs update ifunset + + if use X; then + elog "You need to install some fonts for Emacs." + elog "Installing media-fonts/font-adobe-{75,100}dpi on the X server's" + elog "machine would satisfy basic Emacs requirements under X11." + elog "See also http://www.gentoo.org/proj/en/lisp/emacs/xft.xml" + elog "for how to enable anti-aliased fonts." + elog + fi + + elog "You can set the version to be started by /usr/bin/emacs through" + elog "the Emacs eselect module, which also redirects man and info pages." + elog "Therefore, several Emacs versions can be installed at the same time." + elog "\"man emacs.eselect\" for details." + elog + elog "If you upgrade from a previous major version of Emacs, then it is" + elog "strongly recommended that you use app-admin/emacs-updater to rebuild" + elog "all byte-compiled elisp files of the installed Emacs packages." +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} |