summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2013-10-02 20:56:20 +0200
committerUlrich Müller <ulm@gentoo.org>2013-10-02 20:56:20 +0200
commit4f0c087c8fcc877346e0b701bc659904dda2536e (patch)
tree7061b1ee4856a34c15e3683f94db5704fca4fb6d /app-editors/emacs
parentapp-xemacs/cc-mode: Upstream experimental version bump (diff)
downloademacs-4f0c087c8fcc877346e0b701bc659904dda2536e.tar.gz
emacs-4f0c087c8fcc877346e0b701bc659904dda2536e.tar.bz2
emacs-4f0c087c8fcc877346e0b701bc659904dda2536e.zip
Copied from Portage tree. Bump ebuild to EAPI 5. Depend on multilib-enabled ncurses on amd64.
Package-Manager: portage-2.2.7
Diffstat (limited to 'app-editors/emacs')
-rw-r--r--app-editors/emacs/ChangeLog11
-rw-r--r--app-editors/emacs/Manifest3
-rw-r--r--app-editors/emacs/emacs-18.59-r9.ebuild165
-rw-r--r--app-editors/emacs/metadata.xml5
4 files changed, 184 insertions, 0 deletions
diff --git a/app-editors/emacs/ChangeLog b/app-editors/emacs/ChangeLog
new file mode 100644
index 0000000..53af279
--- /dev/null
+++ b/app-editors/emacs/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for app-editors/emacs
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*emacs-18.59-r9 (02 Oct 2013)
+
+ 02 Oct 2013; Ulrich Müller <ulm@gentoo.org> +emacs-18.59-r9.ebuild,
+ +metadata.xml:
+ Copied from Portage tree. Bump ebuild to EAPI 5. Depend on multilib-enabled
+ ncurses on amd64.
+
diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest
new file mode 100644
index 0000000..79460b2
--- /dev/null
+++ b/app-editors/emacs/Manifest
@@ -0,0 +1,3 @@
+DIST emacs-18.59-linux22x-elf-glibc21.diff.gz 15671 SHA256 fb810d893938883d50a3a8d7c43fbeb1604d5454f760b8f1f700326c8ee659dd SHA512 c6c6ea33850dadf08d68fff56fc6aacc80ad1aa36661260715d50b95438942d56e6244094427d50356cfe716f26559feb885254c436399bff7be639637d605b6 WHIRLPOOL cafaa0fb0d06058cac8e445a7a1b5cba145d23186477a9c681efdab8ca0f18a9675dec3a93851fd7138890701f83fab83300c28a548c8fc22478a0cfff95d5da
+DIST emacs-18.59-patches-8.tar.bz2 19667 SHA256 637542bf5ee07d4abac11b76e742598a60787f3869dbf377eed99ae005fbc59d SHA512 a6564bc16724bfdb22f77b0e21b6064ca5e0e1bc91f3223c1037c26f8a048f28ac7a5da6817dc940a5f00f1f39bbfcda2277645409cd7e143a55fabdc3d3fe5d WHIRLPOOL 6b81f978aef2b429262e79ab1d995cca9237dc9c9d98144d2dc3de07bc2cdcec8547adbaf5ad41d9cce3239554918c04c7b9ff783b7931582a3a7398eb2b66f1
+DIST emacs-18.59.tar.gz 2962652 SHA256 1e27e33f91984a91e9b4c1f21433f931aba03670960ecc147bb6d7b0de0f051e SHA512 03ce565e346e89b7aacb1852f4783e8907f394de7da0c543b475cb038eb89b87f980d0f7ca1841b1d2108b20f211e95113c7214e4a33e5767a1827ff43173f33 WHIRLPOOL 5e98e71518f665e2a8278afe54e0ace6d7fdd9df23ff0a3354ffc1d5cc25cd21b0dd4d82766fcb436d4f24e9291c933295e956e1ffea43cfeedf915175763be6
diff --git a/app-editors/emacs/emacs-18.59-r9.ebuild b/app-editors/emacs/emacs-18.59-r9.ebuild
new file mode 100644
index 0000000..5fdb2c4
--- /dev/null
+++ b/app-editors/emacs/emacs-18.59-r9.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils toolchain-funcs flag-o-matic multilib
+
+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-8.tar.bz2"
+
+LICENSE="GPL-1+ GPL-2+ BSD" #HPND
+SLOT="18"
+KEYWORDS="~amd64 ~x86"
+IUSE="+abi_x86_32 abi_x86_x32"
+REQUIRED_USE="amd64? ( || ( abi_x86_32 abi_x86_x32 ) )"
+
+RDEPEND="sys-libs/ncurses
+ >=app-admin/eselect-emacs-1.2
+ amd64? (
+ sys-libs/ncurses[abi_x86_x32(-)?]
+ !abi_x86_x32? ( sys-libs/ncurses[abi_x86_32(-)?] )
+ )"
+# X? ( x11-libs/libX11[-xcb] )
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${WORKDIR}/${P}-linux22x-elf-glibc21.diff"
+ EPATCH_SUFFIX=patch epatch
+ epatch_user
+}
+
+src_configure() {
+ # autoconf? What's autoconf? We are living in 1992. ;-)
+ local arch
+ case ${ARCH} in
+ amd64)
+ if use abi_x86_x32; then
+ arch=x86-x32
+ multilib_toolchain_setup x32
+ elif use abi_x86_32; then
+ arch=intel386
+ multilib_toolchain_setup x86
+ else
+ die "Need 32 bit ABI on amd64"
+ fi
+ ;;
+ x86) arch=intel386 ;;
+ *) die "Architecture ${ARCH} not yet 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 || die
+
+ cat <<-END >src/paths.h
+ #define PATH_LOADSEARCH "/usr/share/emacs/${PV}/lisp"
+ #define PATH_EXEC "/usr/share/emacs/${PV}/etc"
+ #define PATH_LOCK "/var/lib/emacs/lock/"
+ #define PATH_SUPERLOCK "/var/lib/emacs/lock/!!!SuperLock!!!"
+ END
+
+ sed -i -e "s:/usr/lib/\([^ ]*\).o:/usr/$(get_libdir)/\1.o:g" \
+ -e "s:-lncurses:$("$(tc-getPKG_CONFIG)" --libs ncurses):" \
+ src/s-linux.h || die
+
+ # -O3 and -finline-functions cause segmentation faults at run time.
+ filter-flags -finline-functions
+ replace-flags -O[3-9] -O2
+ strip-flags
+}
+
+src_compile() {
+ # Do not use the sandbox, or the dumped Emacs will be twice as large
+ export SANDBOX_ON=0
+ emake --jobs=1 \
+ CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Demacs" \
+ LD="$(tc-getCC) -nostdlib" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ local basedir="/usr/share/emacs/${PV}" i
+
+ dodir ${basedir}
+ dodir /usr/share/man/man1
+ emake --jobs=1 \
+ LIBDIR="${D}"${basedir} \
+ BINDIR="${D}"/usr/bin \
+ MANDIR="${D}"/usr/share/man/man1 \
+ install
+
+ rmdir "${D}"${basedir}/lock || die
+ find "${D}"${basedir} -type f \( -name "*.c" -o -name ChangeLog \
+ -o -name COPYING ! -path "*/etc/COPYING" \) -exec rm "{}" + || die
+ fperms -R go-w ${basedir}
+
+ # remove duplicate DOC file
+ rm "${D}"${basedir}/etc/DOC || die
+
+ # move executables to the correct place
+ mv "${D}"/usr/bin/emacs{,-${SLOT}} || die
+ for i in etags ctags emacsclient; do
+ mv "${D}"/usr/bin/${i}{,-emacs-${SLOT}} || die
+ rm "${D}"${basedir}/etc/${i} || die
+ done
+
+ dodir /usr/libexec/emacs/${PV}
+ for i in wakeup digest-doc sorted-doc movemail cvtmail fakemail \
+ yow env server
+ do
+ mv "${D}"${basedir}/etc/${i} "${D}"/usr/libexec/emacs/${PV}/${i} || die
+ dosym ../../../../libexec/emacs/${PV}/${i} ${basedir}/etc/${i}
+ done
+ for i in test-distrib make-docfile; do
+ rm "${D}"${basedir}/etc/${i} || die
+ done
+
+ # move man page
+ mv "${D}"/usr/share/man/man1/emacs{,-emacs-${SLOT}}.1 || die
+
+ # move Info files
+ dodir /usr/share/info
+ mv "${D}"${basedir}/info "${D}"/usr/share/info/emacs-${SLOT} || die
+ dosym ../../info/emacs-${SLOT} "${basedir}"/info
+ docompress -x /usr/share/info
+
+ # move Info dir to avoid collisions with the dir file generated by portage
+ mv "${D}"/usr/share/info/emacs-${SLOT}/dir{,.orig} || die
+ touch "${D}"/usr/share/info/emacs-${SLOT}/.keepinfodir
+
+ dodir /var/lib/emacs
+ diropts -m0777
+ keepdir /var/lib/emacs/lock
+
+ dodoc README PROBLEMS
+}
+
+pkg_preinst() {
+ # move Info dir file to correct name
+ if [[ -d "${D}"/usr/share/info ]]; then
+ mv "${D}"/usr/share/info/emacs-${SLOT}/dir{.orig,} || die
+ fi
+
+ # remove symlink and directory installed by -r6 and earlier
+ if [[ -L "${ROOT}"/usr/share/info/emacs-${SLOT} ]]; then
+ ewarn "Removing old symlink /usr/share/info/emacs-${SLOT}"
+ rm "${ROOT}"/usr/share/info/emacs-${SLOT} || die
+ fi
+ if [[ -d "${ROOT}"/usr/share/emacs/${PV}/info \
+ && ! -L "${ROOT}"/usr/share/emacs/${PV}/info ]]; then
+ ewarn "Removing old directory /usr/share/emacs/${PV}/info"
+ rm -r "${ROOT}"/usr/share/emacs/${PV}/info || die
+ fi
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+}
diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml
new file mode 100644
index 0000000..bc306fe
--- /dev/null
+++ b/app-editors/emacs/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>emacs</herd>
+</pkgmetadata>