summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2008-05-11 21:24:04 +0000
committerUlrich Müller <ulm@gentoo.org>2008-05-11 21:24:04 +0000
commit0e40b48ed4b75dbdf2afca6428b69e2408dd501f (patch)
treea53405f5373bc0cf84d7588d3781708991111b9b
parentversion bump, thanks Pavel (diff)
downloadgentoo-2-0e40b48ed4b75dbdf2afca6428b69e2408dd501f.tar.gz
gentoo-2-0e40b48ed4b75dbdf2afca6428b69e2408dd501f.tar.bz2
gentoo-2-0e40b48ed4b75dbdf2afca6428b69e2408dd501f.zip
Fix temacs segmentation fault when dumping with kernel 2.6.25, bug 221281.
(Portage version: 2.1.5_rc10)
-rw-r--r--app-editors/emacs/ChangeLog10
-rw-r--r--app-editors/emacs/emacs-18.59-r5.ebuild92
-rw-r--r--app-editors/emacs/emacs-21.4-r16.ebuild193
3 files changed, 294 insertions, 1 deletions
diff --git a/app-editors/emacs/ChangeLog b/app-editors/emacs/ChangeLog
index 3fe3aee9c2f1..662bebfd473f 100644
--- a/app-editors/emacs/ChangeLog
+++ b/app-editors/emacs/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for app-editors/emacs
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.243 2008/05/06 20:37:32 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.244 2008/05/11 21:24:04 ulm Exp $
+
+*emacs-21.4-r16 (11 May 2008)
+*emacs-18.59-r5 (11 May 2008)
+
+ 11 May 2008; Ulrich Mueller <ulm@gentoo.org> +emacs-18.59-r5.ebuild,
+ +emacs-21.4-r16.ebuild:
+ Fix temacs segmentation fault when dumping with kernel 2.6.25, bug 221281.
+ Patch backported from Emacs 22.
06 May 2008; Jeroen Roovers <jer@gentoo.org> emacs-22.2-r1.ebuild:
Stable for HPPA (bug #220535).
diff --git a/app-editors/emacs/emacs-18.59-r5.ebuild b/app-editors/emacs/emacs-18.59-r5.ebuild
new file mode 100644
index 000000000000..10a81d1e3b25
--- /dev/null
+++ b/app-editors/emacs/emacs-18.59-r5.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-18.59-r5.ebuild,v 1.1 2008/05/11 21:24:04 ulm Exp $
+
+inherit eutils toolchain-funcs flag-o-matic
+
+DESCRIPTION="The extensible self-documenting text editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/old-gnu/emacs/${P}.tar.gz
+ ftp://ftp.splode.com/pub/users/friedman/emacs/${P}-linux22x-elf-glibc21.diff.gz
+ mirror://gentoo/${P}-patches-2.tar.bz2"
+
+LICENSE="GPL-1 BSD"
+SLOT="18"
+KEYWORDS="~x86"
+IUSE="X"
+
+RDEPEND="sys-libs/ncurses
+ >=app-admin/eselect-emacs-1.2
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}"
+
+MY_BASEDIR="/usr/share/emacs/${PV}"
+MY_LOCKDIR="/var/lib/emacs/lock"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${WORKDIR}/${P}-linux22x-elf-glibc21.diff"
+ EPATCH_SUFFIX=patch epatch
+}
+
+src_compile() {
+ # Do not use the sandbox, or the dumped Emacs will be twice as large
+ SANDBOX_ON=0
+
+ # autoconf? What's autoconf? We are living in 1992. ;-)
+ local arch
+ case ${ARCH} in
+ x86) arch=intel386 ;;
+ *) die "Architecture ${ARCH} not supported" ;;
+ esac
+ local cmd="s/\"s-.*\.h\"/\"s-linux.h\"/;s/\"m-.*\.h\"/\"m-${arch}.h\"/"
+ use X && cmd="${cmd};s/.*\(#define HAVE_X_WINDOWS\).*/\1/"
+ sed -e "${cmd}" src/config.h-dist >src/config.h
+
+ cat <<-END >src/paths.h
+ #define PATH_LOADSEARCH "${MY_BASEDIR}/lisp"
+ #define PATH_EXEC "${MY_BASEDIR}/etc"
+ #define PATH_LOCK "${MY_LOCKDIR}/"
+ #define PATH_SUPERLOCK "${MY_LOCKDIR}/!!!SuperLock!!!"
+ END
+
+ # -O3 and -finline-functions cause segmentation faults at run time.
+ filter-flags -finline-functions
+ replace-flags -O[3-9] -O2
+ strip-flags
+
+ emake -j1 CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Demacs" || die
+}
+
+src_install() {
+ local i
+
+ dodir ${MY_BASEDIR}
+ dodir /usr/share/man/man1
+ make install LIBDIR="${D}${MY_BASEDIR}" BINDIR="${D}/usr/bin" \
+ MANDIR="${D}/usr/share/man/man1" || die
+ chmod -R go-w "${D}${MY_BASEDIR}"
+ rmdir "${D}${MY_BASEDIR}/lock"
+
+ dodir ${MY_LOCKDIR%/*}
+ diropts -m0777
+ keepdir ${MY_LOCKDIR}
+
+ for i in emacsclient etags ctags; do
+ mv "${D}"/usr/bin/${i}{,-emacs-${SLOT}} || die "mv ${i} failed"
+ done
+ mv "${D}"/usr/bin/emacs{,-${SLOT}} || die "mv emacs failed"
+ mv "${D}"/usr/share/man/man1/emacs{,-emacs-${SLOT}}.1 || die
+ dosym ../emacs/${PV}/info /usr/share/info/emacs-${SLOT}
+
+ dodoc README PROBLEMS
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs/emacs-21.4-r16.ebuild b/app-editors/emacs/emacs-21.4-r16.ebuild
new file mode 100644
index 000000000000..b57cb44fe701
--- /dev/null
+++ b/app-editors/emacs/emacs-21.4-r16.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-21.4-r16.ebuild,v 1.1 2008/05/11 21:24:04 ulm Exp $
+
+WANT_AUTOCONF="2.1"
+
+inherit flag-o-matic eutils toolchain-funcs autotools
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="http://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}a.tar.gz
+ mirror://gentoo/${P}-patches-3.tar.bz2
+ leim? ( mirror://gnu/emacs/leim-${PV}.tar.gz )"
+
+LICENSE="GPL-2 FDL-1.1 BSD"
+SLOT="21"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="X Xaw3d leim motif nls sendmail"
+
+RDEPEND="sys-libs/ncurses
+ X? (
+ x11-libs/libXext
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXmu
+ x11-libs/libXpm
+ x11-misc/emacs-desktop
+ >=media-libs/giflib-4.1.0.1b
+ >=media-libs/jpeg-6b-r2
+ >=media-libs/tiff-3.5.5-r3
+ >=media-libs/libpng-1.2.1
+ Xaw3d? ( x11-libs/Xaw3d )
+ !Xaw3d? ( motif? ( virtual/motif ) )
+ )
+ sendmail? ( virtual/mta )
+ >=app-admin/eselect-emacs-1.2"
+
+DEPEND="${RDEPEND}
+ X? ( x11-misc/xbitmaps )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ EPATCH_SUFFIX=patch epatch
+
+ 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"
+
+ # install emacsclient.1 man page (#165466)
+ sed -i -e "s/for page in emacs/& emacsclient/" Makefile.in || die
+
+ # This will need to be updated for X-Compilation
+ sed -i -e "s:/usr/lib/\([^ ]*\).o:/usr/$(get_libdir)/\1.o:g" \
+ "${S}/src/s/gnu-linux.h" || die
+
+ eautoconf
+}
+
+src_compile() {
+ export SANDBOX_ON=0
+
+ # -fstack-protector gets internal compiler error at xterm.c (bug 33265)
+ filter-flags -fstack-protector
+
+ # emacs doesn't handle LDFLAGS properly (bug #77430 and bug #65002)
+ unset LDFLAGS
+
+ # ever since GCC 3.2
+ replace-flags -O[3-9] -O2
+
+ # -march is known to cause signal 6 on some environment
+ filter-flags "-march=*"
+
+ local myconf
+ use nls || myconf="${myconf} --disable-nls"
+ if use X ; then
+ myconf="${myconf}
+ --with-x
+ --with-xpm
+ --with-jpeg
+ --with-tiff
+ --with-gif
+ --with-png"
+ if use Xaw3d ; then
+ einfo "Configuring to build with Xaw3d (Athena) toolkit"
+ myconf="${myconf} --with-x-toolkit=athena"
+ elif use motif ; then
+ einfo "Configuring to build with Motif toolkit"
+ myconf="${myconf} --with-x-toolkit=motif"
+ else
+ # do not build emacs with any toolkit, bug 35300
+ einfo "Configuring to build with no toolkit"
+ myconf="${myconf} --with-x-toolkit=no"
+ fi
+ else
+ myconf="${myconf} --without-x"
+ fi
+ econf ${myconf} || die "econf failed"
+ emake CC="$(tc-getCC)" || die "emake failed"
+
+ einfo "Recompiling patched lisp files..."
+ (cd lisp; emake recompile) || die "emake recompile failed"
+ (cd src; emake versionclean)
+ emake CC="$(tc-getCC)" || die "die emake failed"
+}
+
+src_install() {
+ local i m
+
+ einstall || die "einstall failed"
+ for i in "${D}"/usr/bin/* ; do
+ mv "${i}" "${i}-emacs-${SLOT}" || die "mv ${i} failed"
+ done
+ mv "${D}"/usr/bin/emacs{-emacs,}-${SLOT} || die "mv emacs failed"
+ rm "${D}"/usr/bin/emacs-${PV}-emacs-${SLOT}
+
+ einfo "Fixing info documentation..."
+ mkdir "${T}/emacs-${SLOT}"
+ mv "${D}/usr/share/info/dir" "${T}"
+ for i in "${D}"/usr/share/info/*
+ do
+ mv "${i}" "${T}/emacs-${SLOT}/${i##*/}.info"
+ done
+ mv "${T}/emacs-${SLOT}" "${D}/usr/share/info"
+ mv "${T}/dir" "${D}/usr/share/info/emacs-${SLOT}"
+
+ einfo "Fixing manpages..."
+ for m in "${D}"/usr/share/man/man1/* ; do
+ mv "${m}" "${m%.1}-emacs-${SLOT}.1" || die "mv ${m} failed"
+ done
+
+ # avoid collision between slots
+ rm "${D}"/usr/share/emacs/site-lisp/subdirs.el
+
+ einfo "Fixing permissions..."
+ find "${D}" -perm 664 |xargs chmod -f 644 2>/dev/null
+ find "${D}" -type d |xargs chmod -f 755 2>/dev/null
+
+ keepdir /usr/share/emacs/${PV}/leim
+ keepdir /usr/share/emacs/site-lisp
+
+ dodoc BUGS ChangeLog README
+}
+
+emacs-infodir-rebuild() {
+ # Depending on the Portage version, the Info dir file is compressed
+ # or removed. It is only rebuilt by Portage if our directory is in
+ # INFOPATH, which is not guaranteed. So we rebuild it ourselves.
+
+ local infodir=/usr/share/info/emacs-${SLOT} f
+ einfo "Regenerating Info directory index in ${infodir} ..."
+ rm -f "${ROOT}"${infodir}/dir{,.*}
+ for f in "${ROOT}"${infodir}/*.info*; do
+ [[ ${f##*/} == *[0-9].info* ]] \
+ || install-info --info-dir="${ROOT}"${infodir} "${f}" &>/dev/null
+ done
+ rmdir "${ROOT}"${infodir} 2>/dev/null # remove dir if it is empty
+ echo
+}
+
+pkg_postinst() {
+ test -f "${ROOT}"/usr/share/emacs/site-lisp/subdirs.el ||
+ cp "${ROOT}"/usr/share/emacs{/${PV},}/site-lisp/subdirs.el
+
+ emacs-infodir-rebuild
+
+ if [[ $(readlink "${ROOT}"/usr/bin/emacs) == emacs.emacs-${SLOT}* ]]; then
+ # transition from pre-eselect revision
+ eselect emacs set emacs-${SLOT}
+ else
+ eselect emacs update ifunset
+ fi
+
+ if ! use sendmail && ! has_version "virtual/mta"; then
+ elog "You disabled sendmail support for Emacs. If you later install"
+ elog "a MTA then you will need to recompile Emacs. See Bug #11104."
+ fi
+ if use X; then
+ elog "You need to install some fonts for Emacs. Under monolithic"
+ elog "XFree86/Xorg you typically had such fonts installed by default."
+ elog "With modular Xorg, you will have to perform this step yourself."
+ elog "Installing media-fonts/font-adobe-{75,100}dpi on the X server's"
+ elog "machine would satisfy basic Emacs requirements under X11."
+ fi
+}
+
+pkg_postrm() {
+ emacs-infodir-rebuild
+ eselect emacs update ifunset
+}