diff options
Diffstat (limited to 'pcr/emacs-bzr')
-rw-r--r-- | pcr/emacs-bzr/PKGBUILD | 93 | ||||
-rw-r--r-- | pcr/emacs-bzr/emacs-bzr.install | 32 |
2 files changed, 125 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 +} diff --git a/pcr/emacs-bzr/emacs-bzr.install b/pcr/emacs-bzr/emacs-bzr.install new file mode 100644 index 000000000..35d11bd56 --- /dev/null +++ b/pcr/emacs-bzr/emacs-bzr.install @@ -0,0 +1,32 @@ +ICON_PATH=/usr/share/icons/hicolor +INFO_DIR=/usr/share/info + +INFO_FILES=(ada-mode auth autotype calc ccmode cl dbus dired-x ebrowse +ede ediff edt efaq eieio eintr elisp emacs emacs-mime epa erc ert eshell +eudc flymake forms gnus idlwave mairix-el message mh-e newsticker +nxml-mode org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses +sieve smtpmail speedbar tramp url vip viper widget woman) + +post_install() { + gtk-update-icon-cache -q -t -f ${ICON_PATH} + update-desktop-database -q + + [[ -x /usr/bin/install-info ]] || return 0 + for f in ${INFO_FILES[@]}; do + install-info ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + gtk-update-icon-cache -q -t -f ${ICON_PATH} + update-desktop-database -q + + [[ -x /usr/bin/install-info ]] || return 0 + for f in ${INFO_FILES[@]}; do + install-info --delete ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null + done +} |