diff options
Diffstat (limited to 'pcr/emacs-bzr/PKGBUILD')
-rw-r--r-- | pcr/emacs-bzr/PKGBUILD | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/pcr/emacs-bzr/PKGBUILD b/pcr/emacs-bzr/PKGBUILD new file mode 100644 index 000000000..7383e3490 --- /dev/null +++ b/pcr/emacs-bzr/PKGBUILD @@ -0,0 +1,93 @@ +# 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 +} |