From 4f0c087c8fcc877346e0b701bc659904dda2536e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulrich=20M=C3=BCller?= Date: Wed, 2 Oct 2013 20:56:20 +0200 Subject: Copied from Portage tree. Bump ebuild to EAPI 5. Depend on multilib-enabled ncurses on amd64. Package-Manager: portage-2.2.7 --- app-editors/emacs/ChangeLog | 11 +++ app-editors/emacs/Manifest | 3 + app-editors/emacs/emacs-18.59-r9.ebuild | 165 ++++++++++++++++++++++++++++++++ app-editors/emacs/metadata.xml | 5 + 4 files changed, 184 insertions(+) create mode 100644 app-editors/emacs/ChangeLog create mode 100644 app-editors/emacs/Manifest create mode 100644 app-editors/emacs/emacs-18.59-r9.ebuild create mode 100644 app-editors/emacs/metadata.xml (limited to 'app-editors/emacs') 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 +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 @@ + + + +emacs + -- cgit v1.2.3