diff options
Diffstat (limited to 'pcr/emacs-git')
-rw-r--r-- | pcr/emacs-git/PKGBUILD | 99 | ||||
-rw-r--r-- | pcr/emacs-git/emacs-git.install | 32 |
2 files changed, 131 insertions, 0 deletions
diff --git a/pcr/emacs-git/PKGBUILD b/pcr/emacs-git/PKGBUILD new file mode 100644 index 000000000..942bc1f54 --- /dev/null +++ b/pcr/emacs-git/PKGBUILD @@ -0,0 +1,99 @@ +# Maintainer : Omar Vega Ramos <ovruni@gnu.org.pe> + +# +# TIP: Don't run this on a tmpfs unless you have oodles of RAM. +# When the official git repo started, the size was about +# 200MB. As time passes, it will grow more and more. +# + +pkgname=emacs-git +pkgver=25.0.50.r120799 +pkgrel=1 +pkgdesc="GNU Emacs. Official git trunk." +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/emacs/" +license=('GPL') +depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' + 'gtk3' 'hicolor-icon-theme' 'desktop-file-utils' + 'alsa-lib' 'imagemagick' 'gnutls') +makedepends=('git') +conflicts=('emacs') +provides=('emacs') +install="$pkgname".install +source=("$pkgname::git://git.savannah.gnu.org/emacs.git") +md5sums=('SKIP') + +pkgver() { + cd "$srcdir/$pkgname" + printf "%s.r%s" \ + "$(grep AC_INIT configure.ac | sed -e 's/^.\+\ \([0-9]\+\.[0-9]\+\.[0-9]\+\).\+$/\1/')" \ + "$(git rev-list --count HEAD)" +} + + +# There is no need to run autogen.sh after first checkout. +# Doing so, breaks incremental recompilation. +prepare() { + cd "$srcdir/$pkgname" + if ! [ -f configure ]; then + ./autogen.sh + fi +} + +build() { + cd "$srcdir/$pkgname" + ac_cv_lib_gif_EGifPutExtensionLast=yes \ + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --pdfdir=/usr/share/doc/emacs/pdf \ + --with-sound=alsa \ + --without-gconf \ + --with-x-toolkit=gtk3 \ + --with-xft + + # Using "make" instead of "make bootstrap" makes incremental + # compiling work. Less time recompiling. Yay! But if you may + # need to use bootstrap sometime, just add it below. + make + + # You may need to run this if loaddefs.el files become + # corrupt. + #cd "$srcdir/$pkgname/lisp" + #make autoloads + + # Before enabling "make docs" you need to install texlive, either from + # the repos or locally while using texlive-dummy from AUR. + #make docs +} + +package() { + cd "$srcdir/$pkgname" + + make DESTDIR="$pkgdir/" install + + # Before enabling "make install-doc" you need to install texlive, either + # from the repos or locally while using texlive-dummy from AUR. + # make DESTDIR="$pkgdir/" install-doc + + # remove conflict with ctags package + mv "$pkgdir"/usr/bin/{ctags,ctags.emacs} + mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1.gz} + + # remove conflict with texinfo + rm "$pkgdir"/usr/share/info/info.info.gz + + # fix user/root permissions on usr/share files + find "$pkgdir"/usr/share/emacs/ | xargs chown root:root + + # fix permssions on /var/games + chmod 775 "$pkgdir"/var/games + chmod 775 "$pkgdir"/var/games/emacs + chmod 664 "$pkgdir"/var/games/emacs/* + chown -R root:games "$pkgdir"/var/games +} + +# vim:set ft=sh ts=2 sw=2 et: diff --git a/pcr/emacs-git/emacs-git.install b/pcr/emacs-git/emacs-git.install new file mode 100644 index 000000000..6712f44ba --- /dev/null +++ b/pcr/emacs-git/emacs-git.install @@ -0,0 +1,32 @@ +ICON_PATH=usr/share/icons/hicolor +INFO_DIR=usr/share/info + +INFO_FILES=(ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse +ede ediff edt efaq eieio eintr elisp emacs emacs-gnutls emacs-mime epa erc ert eshell eudc flymake +forms gnus htmlfontify idlwave mairix-el message mh-e newsticker nxml-mode +org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail +speedbar srecode tramp url vip viper widget wisent 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 +} |