summaryrefslogtreecommitdiff
path: root/community-testing/xemacs
diff options
context:
space:
mode:
Diffstat (limited to 'community-testing/xemacs')
-rw-r--r--community-testing/xemacs/PKGBUILD65
-rw-r--r--community-testing/xemacs/xemacs-21.5.29-optimization-bug.patch14
-rw-r--r--community-testing/xemacs/xemacs.desktop34
-rw-r--r--community-testing/xemacs/xemacs.install35
4 files changed, 148 insertions, 0 deletions
diff --git a/community-testing/xemacs/PKGBUILD b/community-testing/xemacs/PKGBUILD
new file mode 100644
index 000000000..2787048b1
--- /dev/null
+++ b/community-testing/xemacs/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 61886 2012-01-09 18:50:38Z stephane $
+# Maintainer: juergen <juergen@archlinux.org>
+# Contributor : Stéphane Gaudreault <stephane@archlinux.org>
+
+pkgname=xemacs
+pkgver=21.5.31
+pkgrel=4
+pkgdesc="An highly customizable open source text editor and application development system forked from GNU Emacs"
+arch=('i686' 'x86_64')
+url="http://www.xemacs.org/"
+license=('GPL')
+depends=('db' 'libpng' 'libtiff' 'gpm' 'desktop-file-utils' 'libxaw' 'gdbm' 'giflib')
+optdepends=('xorg-fonts-75dpi: X bitmap fonts needed for the interface'
+ 'xorg-fonts-100dpi: X bitmap fonts needed for the interface')
+makedepends=('xbitmaps')
+install=xemacs.install
+source=(http://ftp.xemacs.org/pub/xemacs/beta/${pkgname}-${pkgver}.tar.gz
+ xemacs.desktop
+ xemacs-21.5.29-optimization-bug.patch)
+md5sums=('0185fe905d0b8d8d094d9b60cf262d4a'
+ 'a4d3d5c0aa2c7ce7bec491f809ca3694'
+ 'eb061b10ea3bbe1026df5326ae1618e3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+# Fix problem caused by improper optimization with GCC>=4.1.2 on i686
+# (and possibly other arches). See
+# http://tracker.xemacs.org/XEmacs/its/issue354
+# for the upstream bug report.
+ patch -Np0 -i ../xemacs-21.5.29-optimization-bug.patch
+
+ ./configure --build="${CHOST}" --prefix=/usr --with-dynamic \
+ --without-postgresql --with-athena=xaw \
+ --enable-database=berkdb --without-ldap \
+ --enable-menubars=lucid --enable-scrollbars=lucid \
+ --enable-widgets=athena --enable-dialogs=athena \
+ --enable-external-widget \
+ --with-jpeg --with-png --with-tiff \
+ --with-ncurses --with-pop --with-xfs --disable-sound \
+ --infodir=/usr/share/info \
+ --with-mule \
+ --mandir=/usr/share/man/man1
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make -j1 prefix="${pkgdir}/usr" mandir="${pkgdir}/usr/share/man/man1" infodir="${pkgdir}/usr/share/info" install gzip-el
+
+ rm "${pkgdir}"/usr/bin/{b2m,ctags,etags}
+ rm "${pkgdir}"/usr/share/man/man1/{ctags.1,etags.1}
+
+ # fix FS#7927
+ install -d -m755 "${pkgdir}/usr/share/pixmaps"
+ install -D -m644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ ln -sf /usr/share/xemacs-${pkgver%.*}-b${pkgver##*.}/etc/xemacs-icon.xpm "${pkgdir}/usr/share/pixmaps/xemacs-icon.xpm"
+
+ # correct permissions
+ chown -R root:root "${pkgdir}"
+
+ rm "${pkgdir}"/usr/share/info/{info.info,texinfo.info-2,cl.info,texinfo.info-1,texinfo.info,standards.info,widget.info}
+}
+# vim: ts=2 sw=2 et ft=sh
diff --git a/community-testing/xemacs/xemacs-21.5.29-optimization-bug.patch b/community-testing/xemacs/xemacs-21.5.29-optimization-bug.patch
new file mode 100644
index 000000000..32a1a02c2
--- /dev/null
+++ b/community-testing/xemacs/xemacs-21.5.29-optimization-bug.patch
@@ -0,0 +1,14 @@
+Work around a GCC optimization bug as described in
+http://tracker.xemacs.org/XEmacs/its/issue354
+
+--- src/dumper.c.~1~ 2008-01-26 09:54:11.000000000 +0100
++++ src/dumper.c 2008-05-03 10:17:03.000000000 +0200
+@@ -2584,7 +2584,7 @@
+ #endif /* !WIN32_NATIVE */
+
+
+-static int
++int
+ pdump_file_try (Wexttext *exe_path)
+ {
+ Wexttext *w = exe_path + wext_strlen (exe_path);
diff --git a/community-testing/xemacs/xemacs.desktop b/community-testing/xemacs/xemacs.desktop
new file mode 100644
index 000000000..257c56947
--- /dev/null
+++ b/community-testing/xemacs/xemacs.desktop
@@ -0,0 +1,34 @@
+[Desktop Entry]
+Name=XEmacs Text Editor
+Name[bg]=редактор XEmacs
+Name[ca]=Editor XEmacs
+Name[cs]=Editor XEmacs
+Name[da]=XEmacs tekstredigerer
+Name[de]=XEmacs Texteditor
+Name[eo]=La redaktilo XEmakso
+Name[es]=Emacs para X
+Name[et]=Emacs X'i kasutajaliidesega
+Name[fi]=XEmacs editori
+Name[fr]=Éditeur XEmacs
+Name[hu]=XEmacs szövegszerkesztő
+Name[is]=XEmacs-ritill
+Name[it]=Emacs per X
+Name[ja]=XEmacs テキスト・エディター
+Name[mk]=Софистицираниот XEmacs уредувач
+Name[no]=XEmacs-tekstredigerer
+Name[pt]=Editor XEmacs
+Name[ro]=Editorul XEmacs
+Name[ru]=Редактор XEmacs
+Name[sk]=Editor XEmacs
+Name[sl]=Urejevalnik XEmacs
+Name[uk]=Редактор XEmacs
+GenericName=Text Editor
+Comment=Edit text
+MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+Exec=xemacs %f
+Icon=/usr/share/pixmaps/xemacs-icon.xpm
+Type=Application
+Terminal=false
+Categories=Development;TextEditor;
+Encoding=UTF-8
+StartupWMClass=Emacs
diff --git a/community-testing/xemacs/xemacs.install b/community-testing/xemacs/xemacs.install
new file mode 100644
index 000000000..a04ee187f
--- /dev/null
+++ b/community-testing/xemacs/xemacs.install
@@ -0,0 +1,35 @@
+infodir=usr/share/info
+filelist=(beta.info.gz custom.info.gz
+ emodules.info.gz external-widget.info.gz
+ internals.info-1.gz internals.info-2.gz
+ internals.info-3.gz internals.info-4.gz
+ internals.info-5.gz internals.info.gz
+ lispref.info-1.gz lispref.info-10.gz
+ lispref.info-2.gz lispref.info-3.gz
+ lispref.info-4.gz lispref.info-5.gz
+ lispref.info-6.gz lispref.info-7.gz
+ lispref.info-8.gz lispref.info-9.gz
+ lispref.info.gz new-users-guide.info.gz
+ term.info.gz termcap.info.gz
+ xemacs-faq.info-1.gz xemacs-faq.info-2.gz
+ xemacs-faq.info.gz xemacs.info-1.gz
+ xemacs.info-2.gz xemacs.info-3.gz
+ xemacs.info-4.gz xemacs.info.gz)
+
+post_install() {
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+ update-desktop-database -q
+}