summaryrefslogtreecommitdiff
path: root/pcr/emacs-git
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/emacs-git')
-rw-r--r--pcr/emacs-git/PKGBUILD99
-rw-r--r--pcr/emacs-git/emacs-git.install32
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
+}