diff options
Diffstat (limited to 'app-editors/emacs/emacs-21.4-r3.ebuild')
-rw-r--r-- | app-editors/emacs/emacs-21.4-r3.ebuild | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/app-editors/emacs/emacs-21.4-r3.ebuild b/app-editors/emacs/emacs-21.4-r3.ebuild new file mode 100644 index 000000000000..2f1384a6ff3a --- /dev/null +++ b/app-editors/emacs/emacs-21.4-r3.ebuild @@ -0,0 +1,179 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-21.4-r3.ebuild,v 1.1 2006/03/06 06:44:12 mkennedy Exp $ + +inherit flag-o-matic eutils alternatives toolchain-funcs + +DESCRIPTION="An incredibly powerful, extensible text editor" +HOMEPAGE="http://www.gnu.org/software/emacs" +SRC_URI="mirror://gnu/emacs/${P}a.tar.gz + leim? ( mirror://gnu/emacs/leim-${PV}.tar.gz )" + +LICENSE="GPL-2" +SLOT="21" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="X Xaw3d leim lesstif motif nls nosendmail" + +RDEPEND="sys-libs/ncurses + sys-libs/gdbm + X? ( || ( ( x11-libs/libXext + x11-libs/libICE + x11-libs/libSM + x11-libs/libXmu + x11-libs/libXpm + || ( media-fonts/font-adobe-100dpi + media-fonts/font-adobe-75dpi ) + ) + virtual/x11 + ) + >=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 + !arm? ( + Xaw3d? ( x11-libs/Xaw3d ) + !Xaw3d? ( || ( x11-libs/libXaw virtual/x11 ) ) + motif? ( + lesstif? ( x11-libs/lesstif ) + !lesstif? ( >=x11-libs/openmotif-2.1.30 ) ) + ) + ) + nls? ( sys-devel/gettext ) + !nosendmail? ( virtual/mta )" + +DEPEND="${RDEPEND} + >=sys-devel/autoconf-2.58 + X? ( || ( x11-misc/xbitmaps virtual/x11 ) )" + +PROVIDE="virtual/emacs virtual/editor" + +DFILE=emacs-${SLOT}.desktop + +src_unpack() { + + unpack ${A} + + cd ${S} + epatch ${FILESDIR}/emacs-21.3-xorg.patch + epatch ${FILESDIR}/emacs-21.3-amd64.patch + epatch ${FILESDIR}/emacs-21.3-hppa.patch + epatch ${FILESDIR}/emacs-21.2-sh.patch + use ppc64 && epatch ${FILESDIR}/emacs-21.3-ppc64.patch + + epatch ${FILESDIR}/emacs-subdirs-el-gentoo.diff + + # 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 + + sed -i -e "s/-lungif/-lgif/g" configure* src/Makefile.in || die +} + +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 + + # gcc 3.4 with -O3 or stronger flag spoils emacs + if [ "$(gcc-major-version)" -ge 3 -a "$(gcc-minor-version)" -ge 4 ] ; then + replace-flags -O[3-9] -O2 + fi + + # -march is known to cause signal 6 on some environment + filter-flags "-march=*" + + export WANT_AUTOCONF=2.1 + autoconf + + local myconf + use nls || myconf="${myconf} --disable-nls" + if use X ; then + if use motif && use lesstif; then + append-ldflags -L/usr/X11R6/lib/lesstif -R/usr/X11R6/lib/lesstif + export CPPFLAGS="${CPPFLAGS} -I/usr/X11R6/include/lesstif" + fi + myconf="${myconf} + --with-x + --with-xpm + --with-jpeg + --with-tiff + --with-gif + --with-png" + if use Xaw3d ; then + myconf="${myconf} --with-x-toolkit=athena" + elif use motif ; then + myconf="${myconf} --with-x-toolkit=motif" + else + # do not build emacs with any toolkit, bug 35300 + myconf="${myconf} --with-x-toolkit=no" + fi + else + myconf="${myconf} --without-x" + fi + econf ${myconf} || die + emake CC="$(tc-getCC)" || die +} + +src_install() { + einstall || die + for i in ${D}/usr/bin/* ; do + mv ${i} ${i}.emacs-${SLOT} || die "mv ${i} failed" + done + mv ${D}/usr/bin/emacs{-${PV},}.emacs-${SLOT} || die "mv emacs failed" + dohard /usr/bin/emacs.emacs-${SLOT} /usr/bin/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 + gzip -9 ${T}/emacs-${SLOT}/${i##*/}.info + done + mv ${T}/emacs-${SLOT} ${D}/usr/share/info + mv ${T}/dir ${D}/usr/share/info/emacs-${SLOT} + + newenvd ${FILESDIR}/60emacs-${SLOT}.envd 60emacs-${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 + + einfo "Fixing permissions..." + find ${D} -perm 664 |xargs chmod 644 + find ${D} -type d |xargs chmod 755 + + keepdir /usr/share/emacs/${PV}/leim + keepdir /usr/share/emacs/site-lisp + + dodoc BUGS ChangeLog README + + insinto /usr/share/applications + doins ${FILESDIR}/${DFILE} +} + +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() { + update-alternatives + if use nosendmail ; then + ewarn + ewarn "You disabled sendmail support for Emacs. If you will install any MTA" + ewarn "you need to recompile Emacs after that. See bug #11104." + ewarn + fi +} + +pkg_postrm() { + update-alternatives +} |