summaryrefslogtreecommitdiff
path: root/pcr/emacs-lucid
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/emacs-lucid')
-rw-r--r--pcr/emacs-lucid/PKGBUILD54
-rw-r--r--pcr/emacs-lucid/emacs-24.3-giflib5.patch26
-rw-r--r--pcr/emacs-lucid/emacs.install32
3 files changed, 112 insertions, 0 deletions
diff --git a/pcr/emacs-lucid/PKGBUILD b/pcr/emacs-lucid/PKGBUILD
new file mode 100644
index 000000000..f88607e0a
--- /dev/null
+++ b/pcr/emacs-lucid/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 192474 2013-08-12 20:25:41Z eric $
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer (Arch): Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu>
+
+_pkgname=emacs
+pkgname=emacs-lucid
+pkgver=24.3
+pkgrel=4
+pkgdesc="The extensible, customizable, self-documenting real-time display editor"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/emacs/emacs.html"
+license=('GPL3')
+depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib' 'imagemagick')
+install=emacs.install
+source=(ftp://ftp.gnu.org/gnu/emacs/$_pkgname-$pkgver.tar.xz{,.sig}
+ emacs-24.3-giflib5.patch)
+md5sums=('ea9ed000ca165280265aabb55b9afbd7'
+ 'SKIP'
+ '560cdf463299e059c5fadf474bcba218')
+
+pkgdesc+=", with the Lucid X11 toolkit"
+provides=("$_pkgname=$pkgver")
+conflicts=("$_pkgname")
+
+prepare() {
+ cd $_pkgname-$pkgver
+ patch -Np0 -i ../emacs-24.3-giflib5.patch
+}
+
+build() {
+ cd "$srcdir"/$_pkgname-$pkgver
+ ac_cv_lib_gif_EGifPutExtensionLast=yes ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+ --localstatedir=/var --with-x-toolkit=lucid --with-xft
+ make
+}
+
+package() {
+ cd "$srcdir"/$_pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # remove conflict with ctags package
+ mv "$pkgdir"/usr/bin/{ctags,ctags.emacs}
+ mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
+ # 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/$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
+}
diff --git a/pcr/emacs-lucid/emacs-24.3-giflib5.patch b/pcr/emacs-lucid/emacs-24.3-giflib5.patch
new file mode 100644
index 000000000..b8571abb2
--- /dev/null
+++ b/pcr/emacs-lucid/emacs-24.3-giflib5.patch
@@ -0,0 +1,26 @@
+--- src/image.c
++++ src/image.c 2013-05-21 15:49:41.945819346 +0000
+@@ -7192,7 +7192,11 @@ gif_load (struct frame *f, struct image
+ }
+
+ /* Open the GIF file. */
++#if GIFLIB_MAJOR < 5
+ gif = fn_DGifOpenFileName (SSDATA (file));
++#else
++ gif = fn_DGifOpenFileName (SSDATA (file), NULL);
++#endif
+ if (gif == NULL)
+ {
+ image_error ("Cannot open `%s'", file, Qnil);
+@@ -7213,7 +7217,11 @@ gif_load (struct frame *f, struct image
+ memsrc.len = SBYTES (specified_data);
+ memsrc.index = 0;
+
++#if GIFLIB_MAJOR < 5
+ gif = fn_DGifOpen (&memsrc, gif_read_from_memory);
++#else
++ gif = fn_DGifOpen (&memsrc, gif_read_from_memory, NULL);
++#endif
+ if (!gif)
+ {
+ image_error ("Cannot open memory source `%s'", img->spec, Qnil);
diff --git a/pcr/emacs-lucid/emacs.install b/pcr/emacs-lucid/emacs.install
new file mode 100644
index 000000000..6712f44ba
--- /dev/null
+++ b/pcr/emacs-lucid/emacs.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
+}