# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-editors/emacs-cvs/emacs-cvs-22.0.9999-r6.ebuild,v 1.2 2007/04/04 13:26:16 grobian Exp $ ECVS_AUTH="pserver" ECVS_SERVER="cvs.savannah.gnu.org:/sources/emacs" ECVS_MODULE="emacs" ECVS_BRANCH="HEAD" WANT_AUTOCONF="2.61" WANT_AUTOMAKE="latest" inherit alternatives autotools cvs elisp-common eutils flag-o-matic DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" SRC_URI="" HOMEPAGE="http://www.gnu.org/software/emacs/" IUSE="alsa aqua gif gnome gtk gzip-el jpeg lesstif motif nls png spell source tiff toolkit-scroll-bars X Xaw3d " RESTRICT="$RESTRICT nostrip" X_DEPEND="x11-libs/libXmu x11-libs/libXpm x11-libs/libXt x11-misc/xbitmaps || ( media-fonts/font-adobe-100dpi media-fonts/font-adobe-75dpi )" DEPEND="sys-libs/ncurses sys-libs/zlib spell? ( || ( app-text/ispell app-text/aspell ) ) X? ( $X_DEPEND ) X? ( gif? ( media-libs/giflib ) jpeg? ( media-libs/jpeg ) tiff? ( media-libs/tiff ) png? ( media-libs/libpng ) gtk? ( =x11-libs/gtk+-2* ) !gtk? ( Xaw3d? ( x11-libs/Xaw3d ) ) !Xaw3d? ( motif? ( x11-libs/openmotif ) ) !motif? ( lesstif? ( x11-libs/lesstif ) ) gnome? ( gnome-base/gnome-desktop ) ) alsa? ( media-sound/alsa-headers ) gzip-el? ( app-arch/gzip ) nls? ( sys-devel/gettext )" PROVIDE="virtual/emacs virtual/editor" SLOT="22.0.96" LICENSE="GPL-2" KEYWORDS="~amd64 ~ppc ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" S="${WORKDIR}/emacs" src_unpack() { cvs_src_unpack cd "${S}" sed -i -e "s:/usr/lib/crtbegin.o:$(`tc-getCC` -print-file-name=crtbegin.o):g" \ -e "s:/usr/lib/crtend.o:$(`tc-getCC` -print-file-name=crtend.o):g" \ "${S}"/src/s/freebsd.h || die "unable to sed freebsd.h settings" if ! use gzip-el; then # Emacs' build system automatically detects the gzip binary and compresses # el files. We don't want that so confuse it with a wrong binary name sed -i -e "s/ gzip/ PrEvEnTcOmPrEsSiOn/" configure.in || die "unable to sed configure.in" fi epatch "${FILESDIR}/${PN}-freebsd-sparc.patch" eautoreconf } src_compile() { export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 ALLOWED_FLAGS="" strip-flags unset LDFLAGS replace-flags -O[3-9] -O2 sed -i -e "s/-lungif/-lgif/g" configure* src/Makefile* || die local myconf if use X; then myconf="${myconf} --with-x" myconf="${myconf} --with-xpm" myconf="${myconf} $(use_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(athena) support" myconf="${myconf} --with-x-toolkit=athena" myconf="${myconf} --without-gtk" myconf="${myconf} --with-x-toolkit=lucid" elif use motif; then einfo "Configuring to build with motif toolkit support" myconf="${myconf} --without-gtk" myconf="${myconf} --with-x-toolkit=motif" elif use lesstif; then einfo "Configuring to build with lesstif toolkit support" myconf="${myconf} --without-gtk" myconf="${myconf} --with-x-toolkit=motif" fi else myconf="${myconf} --without-x" fi if use aqua; then einfo "Configuring to build with Carbon Emacs" econf \ --enable-carbon-app=/Applications/Gentoo \ --without-x \ $(use_with jpeg) $(use_with tiff) \ $(use_with gif) $(use_with png) \ || die "econf carbon emacs failed" else econf \ --program-suffix=.emacs-${SLOT} \ --without-carbon \ ${myconf} || die "econf emacs failed" fi emake CC="$(tc-getCC) " bootstrap \ || die "make bootstrap failed." } src_install () { emake install DESTDIR="${D}" || die "make install failed" 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 fi done insinto /etc/env.d cat >"${D}"/etc/env.d/50emacs-cvs-${SLOT} <00emacs-cvs-${SLOT}-gentoo.el < /dev/null if use X; then elog "You need to install some fonts for Emacs. Under monolithic" elog "XFree86/Xorg you typically had such fonts installed by default." elog "With modular Xorg, you will have to perform this step yourself." elog "Installing media-fonts/font-adobe-{75,100}dpi would satisfy basic" elog "Emacs requirements under X11." fi } pkg_postrm() { update-alternatives elisp-site-regen }