summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/emacs/emacs-18.59-r5.ebuild')
-rw-r--r--app-editors/emacs/emacs-18.59-r5.ebuild97
1 files changed, 97 insertions, 0 deletions
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 0000000..87f674a
--- /dev/null
+++ b/app-editors/emacs/emacs-18.59-r5.ebuild
@@ -0,0 +1,97 @@
+# 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.6 2008/11/14 09:11:43 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-3.tar.bz2"
+
+LICENSE="GPL-1 GPL-2 BSD as-is"
+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"
+
+pkg_setup() {
+ use X && built_with_use x11-libs/libX11 xcb \
+ && die "${P} requires x11-libs/libX11 built with USE=-xcb"
+}
+
+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
+}