# Contributor: Neil Santos <nsantos16+aur@gmail.com> # Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io> # Compile against Gtk+ 2.x, instead of the default 3.x _opt_use_gtk2="n" # Emacs is leaking like a sieve on my box with the default values; # this should be the number of bytes Emacs should allocate for pure # storage (see Elisp manual). Default as of writing this is 1.62 megs # (not the final value; there are still calculations done on it). _opt_puresize="2000000" pkgname=emacs-bzr pkgver=110380 pkgrel=1 pkgdesc='The extensible, customizable, self-documenting real-time display editor from its official Bzr repository' arch=('i686' 'x86_64') url='http://www.gnu.org/software/emacs/' license=('GPL3') if [[ $_opt_use_gtk2 = "y" ]]; then depends=('dbus-core' 'desktop-file-utils' 'libpng' 'libtiff' 'librsvg' 'giflib' 'gtk2' 'libxpm' 'libjpeg>=7' 'hicolor-icon-theme') else depends=('dbus-core' 'desktop-file-utils' 'libpng' 'libtiff' 'librsvg' 'giflib' 'gtk3' 'libxpm' 'libjpeg>=7' 'hicolor-icon-theme') fi makedepends=('bzr' 'pkgconfig' 'texinfo') provides=("emacs=$pkgver") conflicts=('emacs' 'emacs-nox' 'emacs-otf' 'emacs-cvs' 'emacs-git') install=$pkgname.install _bzrtrunk='http://bzr.savannah.gnu.org/r/emacs/trunk' _bzrmod='emacs' build() { cd $srcdir msg "Connecting to Savannah..." if [[ -d $_bzrmod/.bzr ]]; then (cd $_bzrmod && bzr update -v && cd ..) msg "Local checkout updated or server timeout" else bzr co --lightweight -v $_bzrtrunk $_bzrmod msg "Checkout done or server timeout" fi cp -urT $_bzrmod/ ${_bzrmod}-build cd ${_bzrmod}-build msg "Adjusting BASE_PURESIZE to avoid possible leaks" sed -i -e "s/\(define BASE_PURESIZE\s*(*\)[0-9]*/\1${_opt_puresize}/" src/puresize.h msg "Bootstrapping Emacs Lisp files..." make bootstrap mandir=/usr/share/man msg "Starting make..." if [[ $_opt_use_gtk2 = "y" ]]; then ./autogen.sh && ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/usr/lib \ --mandir=${mandir} \ --without-sound \ --with-xft \ --with-x-toolkit=gtk2 else ./autogen.sh && ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/usr/lib \ --mandir=${mandir} \ --without-sound \ --with-xft \ --with-x-toolkit=gtk3 fi make make DESTDIR=${pkgdir} install msg "Cleaning up..." mv $pkgdir/usr/bin/{ctags,ctags.emacs} mv $pkgdir/usr/bin/{etags,etags.emacs} mv $pkgdir${mandir}/man1/{etags.1,etags.emacs.1}.gz mv $pkgdir${mandir}/man1/{ctags.1,ctags.emacs.1}.gz # This is mostly superfluous, and conflicts with texinfo rm $pkgdir/usr/share/info/info.info.gz rm $pkgdir/usr/share/info/dir find $pkgdir/usr/share/emacs -type d -exec chmod 755 {} \; find $pkgdir/usr/share/emacs -exec chown root.root {} \; chmod 775 $pkgdir/var/games chmod 775 $pkgdir/var/games/emacs chmod 664 $pkgdir/var/games/emacs/* chown -R root:50 $pkgdir/var/games }