diff options
-rw-r--r-- | app-editors/sxemacs/ChangeLog | 5 | ||||
-rw-r--r-- | app-editors/sxemacs/sxemacs-22.1.14.ebuild | 360 |
2 files changed, 365 insertions, 0 deletions
diff --git a/app-editors/sxemacs/ChangeLog b/app-editors/sxemacs/ChangeLog index a187869..5be3edd 100644 --- a/app-editors/sxemacs/ChangeLog +++ b/app-editors/sxemacs/ChangeLog @@ -2,6 +2,11 @@ # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*sxemacs-22.1.14 (18 Mar 2011) + + 18 Mar 2011; Hans de Graaff <graaff@gentoo.org> +sxemacs-22.1.14.ebuild: + Update from Horst Günther Burkhardt III + *sxemacs-22.1.12 (28 Feb 2011) 28 Feb 2011; Hans de Graaff <graaff@gentoo.org> -sxemacs-22.1.9.ebuild, diff --git a/app-editors/sxemacs/sxemacs-22.1.14.ebuild b/app-editors/sxemacs/sxemacs-22.1.14.ebuild new file mode 100644 index 0000000..528789b --- /dev/null +++ b/app-editors/sxemacs/sxemacs-22.1.14.ebuild @@ -0,0 +1,360 @@ +# Distributed under the terms of the GNU General Public License v2 + +# Note: Although this ebuild has the approval of the SXEmacs Project, +# it is not an official subset of the project and thus only limited +# support can be offered for this ebuild. + +EAPI="2" + +inherit eutils flag-o-matic + +DESCRIPTION="A text editing and development environment based on XEmacs that aims to be second to none in regards to stability, features, and innovation." +HOMEPAGE="http://www.sxemacs.org/" +SRC_URI="http://downloads.sxemacs.org/releases/${P}.tar.lzma + http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" + +IUSE="X alsa jack pulseaudio oss nas ao esd gif png jpeg xface tiff ffmpeg mad bdwgc + sndfile sox ssl tls ipv6 pop kerberos hesiod postgresql libffi gmp mpfr magic xpm + athena neXt Xaw3d motif xim canna freewnn gdbm berkdb tty gpm ncurses mule socks + omgoptimize warnfull" + +X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps" + +DEPEND="virtual/libc + =sys-libs/zlib-1.2* + app-arch/bzip2 + >=media-libs/audiofile-0.2.3 + X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) ) + alsa? ( media-sound/alsa-headers ) + jack? ( media-sound/jack ) + pulseaudio? ( media-sound/pulseaudio ) + nas? ( media-libs/nas ) + ao? ( >=media-libs/libao-0.8.5 ) + esd? ( media-sound/esound ) + png? ( =media-libs/libpng-1.2* ) + jpeg? ( media-libs/jpeg ) + xface? ( media-libs/compface ) + tiff? ( media-libs/tiff ) + ffmpeg? ( media-video/ffmpeg ) + mad? ( media-libs/libmad media-sound/madplay ) + bdwgc? ( dev-libs/boehm-gc ) + sndfile? ( media-libs/libsndfile ) + sox? ( media-sound/sox ) + ssl? ( >=dev-libs/openssl-0.9.8 ) + tls? ( >=net-libs/gnutls-2.0.4 ) + kerberos? ( app-crypt/mit-krb5 ) + hesiod? ( net-dns/hesiod ) + postgresql? ( dev-db/postgresql-base ) + libffi? ( dev-libs/libffi ) + gmp? ( dev-libs/gmp ) + mpfr? ( dev-libs/mpfr ) + athena? ( x11-libs/libXaw ) + neXt? ( x11-libs/neXtaw ) + Xaw3d? ( x11-libs/Xaw3d ) + motif? ( >=x11-libs/openmotif-2.1.30 ) + canna? ( app-i18n/canna ) + freewnn? ( app-i18n/freewnn ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + berkdb? ( sys-libs/db ) + gpm? ( sys-libs/gpm ) + ncurses? ( >=sys-libs/ncurses-5.2 ) + magic? ( sys-apps/file )" + +PDEPEND="app-xemacs/xemacs-base + mule? ( app-xemacs/mule-base )" + +pkg_setup() { + if use libffi ; + then + elog "You've elected to build SXEmacs with FFI support." + elog "This will allow you to view in SXEmacs any image type" + elog "supported by ImageMagick's libWand." + elog "It will also allow you to download the initial XE packages" + elog "from within SXEmacs itself. To do this, use" + elog " M-x pui-bootstrap RET" + fi + + if use bdwgc ; + then + ewarn "You've elected to compile SXEmacs with support for the" + ewarn "Boehm-Demers-Weiser Garbage Collector, or Boehm-GC." + ewarn "The BDWGC code is still in its infancy, and is known to" + ewarn "consume larger-than-average amounts of memory in an SXEmacs" + ewarn "session. You have been warned." + fi + + ewarn "Note: Although this ebuild has the approval of the SXEmacs Project," + ewarn "it is not an official subset of the project and thus only limited" + ewarn "support can be offered for this ebuild. " +} + +src_unpack() { + unpack ${P}.tar.lzma + use neXt && unpack NeXT_XEmacs.tar.gz +} + +src_prepare() { + use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/ +} + +src_compile() { + + ##################################### + # Allow SXEmacs to decide on CFLAGS # + ##################################### + # Don't know why a higher value won't work on some Gentoo systems, but to be + # safe and ensure that users don't whinge too much, we'll arbitrate -O2 as + # the optimisation level. + # Also work around hardened compiler bugs. + if use omgoptimize ; then + echo "" + else + replace-flags -O* -O2 + fi + filter-flags -fomit-frame-pointer -fPIE + is-flag -nopie && append-flags -nopie + + ################# + # Configuration # + ################# + local myconf="" + + ####################### + # Configuration for X # + ####################### + if use X ; then + myconf="${myconf} --with-widgets=athena" + myconf="${myconf} --with-dialogs=athena" + myconf="${myconf} --with-menubars=lucid" + myconf="${myconf} --with-scrollbars=lucid" + if use motif ; then + myconf="--with-widgets=motif" + myconf="${myconf} --with-dialogs=motif" + myconf="${myconf} --with-scrollbars=motif" + myconf="${myconf} --with-menubars=lucid" + fi + if use athena ; then + myconf="--with-scrollbars=athena" + fi + if use Xaw3d ; then + myconf="${myconf} --with-athena=3d" + elif use neXt ; then + myconf="${myconf} --with-athena=next" + else + myconf="${myconf} --with-athena=xaw" + fi + + else + myconf="${myconf} --without-x" + fi + + ######################### + # Configuration for TTY # + ######################### + local ttyconf="" + if use tty ; then + ttyconf="${ttyconf} --with-tty" + if use tty ; then + if use ncurses ; then + ttyconf="${ttyconf} --with-ncurses" + else + ttyconf="${ttyconf} --without-ncurses" + fi + if use gpm ; then + ttyconf="${ttyconf} --with-gpm" + else + ttyconf="${ttyconf} --without-gpm" + fi + fi + else + ttyconf="${ttyconf} --without-tty" + fi + myconf="${myconf} ${ttyconf}" + + + ###################### + # MULE Configuration # + ###################### + if use mule ; then + myconf="${myconf} --with-mule" + if use xim ; then + if use motif ; then + myconf="${myconf} --with-xim=motif" + else + myconf="${myconf} --with-xim=xlib" + fi + else + myconf="${myconf} --with-xim=no" + fi + use canna && myconf="${myconf} --with-canna" + use freewnn && myconf="${myconf} --with-wnn" + else + myconf="${myconf} --without-mule" + fi + + ####################### + # Sound Configuration # + ####################### + local soundconf="none" + # Define what sound outputs we use + use alsa && soundconf="${soundconf},alsa" + use jack && soundconf="${soundconf},jack" + use pulseaudio && soundconf="${soundconf},pulse" + use oss && soundconf="${soundconf},oss" + use nas && soundconf="${soundconf},nas" + use arts && soundconf="${soundconf},arts" + use ao && soundconf="${soundconf},ao" + use esd && soundconf="${soundconf},esd" + # And make them work + myconf="${myconf} --with-sound=${soundconf}" + + ######################## + # Images Configuration # + ######################## + local imageconf="none" + # Define Image Types to support + use gif && imageconf="${imageconf},gif" + use png && imageconf="${imageconf},png" + use jpeg && imageconf="${imageconf},jpeg" + use xface && imageconf="${imageconf},xface" + use tiff && imageconf="${imageconf},tiff" + use xpm && imageconf="${imageconf},xpm" + # And make them work + myconf="${myconf} --with-image=${imageconf}" + # Note - If FFI useflag is set, and ImageMagick is installed, SXEmacs + # will make use of libWand and can thus display many more types of + # image. + + ########################## + # Database Configuration # + ########################## + local mydb="none" + use gdbm && mydb="${mydb},gdbm" + use berkdb && mydb="${mydb},berkdb" + myconf="${myconf} --with-database=${mydb}" + # and add support for postgre here + use postgresql && myconf="${myconf} --with-postgresql" || myconf="${myconf} --without-postgresql" + + ####################### + # Media Configuration # + ####################### + local mediaconf="none,internal" + # Define Media Types to support + use ffmpeg && mediaconf="${mediaconf},ffmpeg" + use mad && mediaconf="${mediaconf},mad" + use sndfile && mediaconf="${mediaconf},sndfile" + use magic && mediaconf="${mediaconf},magic" + use sox && mediaconf="${mediaconf},sox" + # And make them work + myconf="${myconf} --with-media=${mediaconf}" + + ######################## + # Cryptography Options # + ######################## + local crypto="" + use ssl && crypto="${crypto} --with-openssl" + use tls && crypto="${crypto} --with-gnutls" + myconf="${myconf} ${crypto}" + + ############################ + # Networking Configuration # + ############################ + local netconf="" + use pop && netconf="${netconf} --with-pop" || netconf="${netconf} --without-pop" + use kerberos && netconf="${netconf} --with-kerberos" || netconf="${netconf} --without-kerberos" + use hesiod && netconf="${netconf} --with-hesiod" + use socks && netconf="${netconf} --with-socks" + myconf="${myconf} ${netconf}" + + ####### + # FFI # + ####### + use libffi && myconf="${myconf} --with-ffi" + + ######################################### + # Boehm-Demers-Weiser Garbage Collector # + ######################################### + use bdwgc && myconf="${myconf} --with-experimental-features=all" + + ############################ + # Aggressive Optimisations # + ############################ + use omgoptimize && myconf="${myconf} --with-ridiculously-aggressive-optimisations" + + ########################## + # Maximum Warning Output # + ########################## + use warnfull && myconf="${myconf} --with-maximum-warning-output" + + #################### + # Neat Math Tricks # + #################### + # I'm going to let SXEmacs do the deciding here. + # The useflags will simply be for dependencies. + myconf="${myconf} --with-ent=all --with-ase=all" + + ################## + # Module Support # + ################## + myconf="${myconf} --with-module-support" + myconf="${myconf} --with-modules=all" + + ######################## + # End of Configuration # + ######################## + + ############### + # ./configure # + ############### + + tuple=$(configgmp.guess) + ./configure --prefix=/usr ${myconf} || die "The SXEmacs Configure Script failed to run correctly." + + ################# + # Build SXEmacs # + ################# + + emake beta check || die "The SXEmacs Build Process (compilation) failed." + +} + +src_install() { + ################### + # Install SXEmacs # + ################### + + emake prefix="${D}"/usr mandir="${D}"/usr/share/man/man1 infodir="${D}"/usr/share/info install gzip-el + + dodir /usr/share/sxemacs/xemacs-packages/ + dodir /usr/share/sxemacs/sxemacs-packages/ + dodir /usr/share/sxemacs/site-packages/ + dodir /usr/lib/sxemacs/${tuple}/modules/ + dodir /usr/lib/${P}/${tuple}/modules/ + dodir /usr/lib/sxemacs/${tuple}/site-modules/ + dodir /usr/lib/${P}/${tuple}/site-modules/ + + if use mule; + then + dodir /usr/share/sxemacs/mule-packages + fi + + insinto /usr/share/pixmaps + newins "${S}"/etc/${PN}-icon3.xpm ${PN}.xpm + + insinto /usr/share/applications + doins "${S}"/etc/${PN}.desktop + +} + + +pkg_postinst() { + eselect emacs update --if-unset +} + +pkg_postrm() { + eselect emacs update --if-unset +} |