summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/emacs/emacs-22.0.50_pre20050225.ebuild')
-rw-r--r--app-editors/emacs/emacs-22.0.50_pre20050225.ebuild185
1 files changed, 185 insertions, 0 deletions
diff --git a/app-editors/emacs/emacs-22.0.50_pre20050225.ebuild b/app-editors/emacs/emacs-22.0.50_pre20050225.ebuild
new file mode 100644
index 000000000000..06dce1b3bf27
--- /dev/null
+++ b/app-editors/emacs/emacs-22.0.50_pre20050225.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-22.0.50_pre20050225.ebuild,v 1.1 2005/02/26 04:20:48 usata Exp $
+
+inherit elisp-common alternatives flag-o-matic eutils
+
+IUSE="X Xaw3d aqua cjk gif gnome gtk jpeg multi-tty nls png spell tiff"
+
+INLINE="inline_patch-20041229"
+MULTI_TTY="emacs--multi-tty--0--patch-301.2005-02-25"
+
+DESCRIPTION="Emacs is the extensible, customizable, self-documenting real-time display editor."
+HOMEPAGE="http://www.gnu.org/software/emacs/
+ http://macemacsjp.sourceforge.jp/
+ http://lorentey.hu/project/emacs.html.en"
+SRC_URI="mirror://gentoo/${P/_pre/-}.tar.gz
+ cjk? ( mirror://sourceforge.jp/macemacsjp/12817/${INLINE}.tar.gz )
+ multi-tty? ( http://lorentey.hu/downloads/emacs/multi-tty/${MULTI_TTY}.patch.gz )"
+
+# Never use the sandbox, it causes Emacs to segfault on startup
+SANDBOX_DISABLED="1"
+RESTRICT="$RESTRICT nostrip"
+
+DEPEND=">=sys-apps/portage-2.0.51
+ >=sys-libs/ncurses-5.3
+ sys-libs/gdbm
+ spell? ( || ( app-text/ispell app-text/aspell ) )
+ X? ( virtual/x11
+ gif? ( >=media-libs/libungif-4.1.0.1b )
+ jpeg? ( >=media-libs/jpeg-6b )
+ tiff? ( >=media-libs/tiff-3.5.7 )
+ png? ( >=media-libs/libpng-1.2.5 )
+ gtk? ( =x11-libs/gtk+-2* )
+ !gtk? ( Xaw3d? ( x11-libs/Xaw3d ) )
+ gnome? ( gnome-base/gnome-desktop ) )
+ nls? ( >=sys-devel/gettext-0.11.5 )
+ !=app-editors/emacs-cvs-21.3.50*
+ !=app-editors/emacs-cvs-22.0.50*"
+
+PROVIDE="virtual/emacs virtual/editor"
+
+SLOT="22.0.50"
+LICENSE="GPL-2"
+# should run on other arches, but the ebuild is intended for ppc-macos
+KEYWORDS="-* ~ppc-macos"
+
+DFILE=emacs-${SLOT}.desktop
+
+S=${WORKDIR}/${P%_*}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/emacs-subdirs-el-gentoo.diff
+ if use ppc-macos ; then
+ use cjk && epatch ${WORKDIR}/${INLINE}/emacs-inline.patch
+ epatch ${FILESDIR}/emacs-nofink-gentoo.diff
+ fi
+ if use multi-tty ; then
+ if use aqua ; then
+ ewarn "Carbon Emacs will not compile with multi-tty patch; disabling multi-tty."
+ ewarn "If you want to use multi-tty, please trun off aqua USE flag."
+ epause; ebeep; epause
+ else
+ epatch ../${MULTI_TTY}.patch
+ fi
+ fi
+
+ # 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
+
+}
+
+src_compile() {
+
+ strip-flags
+
+ local myconf
+
+ use nls || myconf="${myconf} --disable-nls"
+
+ if use X; then
+ myconf="${myconf} --with-x"
+ myconf="${myconf} --with-xpm --with-toolkit-scroll-bars"
+ myconf="${myconf} $(use_with jpeg) $(use_with tiff)"
+ myconf="${myconf} $(use_with gif) $(use_with png)"
+ if use gtk; then
+ einfo "Configuring to build with GTK support"
+ myconf="${myconf} --with-x-toolkit=gtk"
+ elif use Xaw3d; then
+ einfo "Configuring to build with Xaw3d support"
+ myconf="${myconf} --with-x-toolkit=athena"
+ else
+ einfo "Configuring to build with lucid toolkit support"
+ myconf="${myconf} --without-gtk"
+ myconf="${myconf} --with-x-toolkit=lucid"
+ fi
+ fi
+
+ if use aqua ; then
+ einfo "Configuring to build with Carbon Emacs"
+ econf --enable-debug \
+ --enable-carbon-app=/Applications/Gentoo \
+ --without-x \
+ $(use_with jpeg) $(use_with tiff) \
+ $(use_with gif) $(use_with png) \
+ || die "econf carbon emacs failed"
+ emake -j1 || die "make carbon emacs bootstrap failed"
+ fi
+
+ econf --enable-debug \
+ --program-suffix=.emacs-${SLOT} \
+ --without-carbon \
+ ${myconf} || die "econf emacs failed"
+
+ emake -j1 || die "make emacs bootstrap failed"
+}
+
+src_install () {
+ einstall || die
+ rm ${D}/usr/bin/emacs-${SLOT}.emacs-${SLOT} || die "removing duplicate emacs executable failed"
+ dohard /usr/bin/emacs.emacs-${SLOT} /usr/bin/emacs-${SLOT} || die
+
+ if use aqua ; then
+ einfo "Installing Carbon Emacs..."
+ dodir /Applications/Gentoo/Emacs.app
+ pushd mac/Emacs.app
+ tar -chf - . | ( cd ${D}/Applications/Gentoo/Emacs.app; tar -xf -)
+ popd
+ fi
+
+ # fix info documentation
+ einfo "Fixing info documentation..."
+ dodir /usr/share/info/emacs-${SLOT}
+ mv ${D}/usr/share/info/{,emacs-${SLOT}/}dir || die "mv dir failed"
+ for i in ${D}/usr/share/info/*
+ do
+ if [ "${i##*/}" != emacs-${SLOT} ] ; then
+ mv ${i} ${i/info/info/emacs-${SLOT}}.info
+ gzip -9 ${i/info/info/emacs-${SLOT}}.info
+ fi
+ done
+
+ if has_version 'app-text/aspell' ; then
+ # defaults to aspell if installed
+ elisp-site-file-install ${FILESDIR}/40aspell-gentoo.el
+ fi
+ newenvd ${FILESDIR}/60emacs-${SLOT}.envd 60emacs-${SLOT}
+
+ einfo "Fixing manpages..."
+ for m in ${D}/usr/share/man/man1/* ; do
+ mv ${m} ${m/.1/-${SLOT}.1} || die "mv man failed"
+ done
+
+ dodoc BUGS ChangeLog README*
+
+ if use gnome; then
+ insinto /usr/share/gnome/apps/Application
+ doins ${FILESDIR}/${DFILE} || die "install desktop file faild"
+ fi
+}
+
+update-alternatives() {
+ for i in emacs emacsclient etags ctags b2m ebrowse \
+ rcs-checkin grep-changelog ; do
+ alternatives_auto_makesym "/usr/bin/$i" "/usr/bin/$i.emacs-*"
+ done
+}
+
+pkg_postinst() {
+ use ppc-macos || update-alternatives
+ if use aqua && use cjk ; then
+ einfo
+ einfo "If you are going to use Japanese input method on Carbon Emacs,"
+ einfo "put the following lines to your ~/.emacs.el"
+ einfo "(if (eq window-system 'mac)"
+ einfo " (set-keyboard-coding-system 'sjis)"
+ einfo
+ fi
+}
+
+pkg_postrm() {
+ use ppc-macos || update-alternatives
+}