Add GNU emacs

This commit is contained in:
Manuel 2013-05-04 14:46:07 +00:00
parent 5586dc12a2
commit ce97885ad8
2 changed files with 68 additions and 0 deletions

38
emacs/PKGBUILD Normal file
View File

@ -0,0 +1,38 @@
pkgname=emacs
pkgver=24.3
pkgrel=1
pkgdesc="The extensible, customizable, self-documenting real-time display editor"
arch=('x86_64')
url="http://www.gnu.org/software/emacs/emacs.html"
license=('GPL3')
depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'gtk3' 'hicolor-icon-theme' 'desktop-file-utils' 'alsa-lib' 'imagemagick')
install=emacs.install
source=(ftp://ftp.gnu.org/gnu/emacs/$pkgname-$pkgver.tar.xz{,.sig})
md5sums=('ea9ed000ca165280265aabb55b9afbd7'
'3f6990fabfbe1d5f3cd58bace4eb20f1')
build() {
cd "$srcdir"/$pkgname-$pkgver
./configure --prefix=/extra/usr --sysconfdir=/extra/etc --libexecdir=/extra/usr/lib \
--localstatedir=/var --with-x-toolkit=gtk3 --with-xft
make
}
package() {
cd "$srcdir"/$pkgname-$pkgver
make DESTDIR="$pkgdir" install
# remove conflict with ctags package
mv "$pkgdir"/extra/usr/bin/{ctags,ctags.emacs}
mv "$pkgdir"/extra/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
# remove conflict with texinfo
rm "$pkgdir"/extra/usr/share/info/info.info.gz
# fix user/root permissions on usr/share files
find "$pkgdir"/extra/usr/share/emacs/$pkgver -exec chown root:root {} \;
# fix perms 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
}

30
emacs/emacs.install Normal file
View File

@ -0,0 +1,30 @@
INFO_DIR=extra/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() {
xdg-icon-resource forceupdate --theme hicolor &> /dev/null
kbuildsycoca4 &> /dev/null
[[ -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() {
xdg-icon-resource forceupdate --theme hicolor &> /dev/null
[[ -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
}