development/xemacs: Added (XEmacs editor)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Sean MacLennan 2011-11-12 00:10:23 -06:00 committed by Robby Workman
parent 572042ec89
commit 61faa8b74d
8 changed files with 264 additions and 0 deletions

View file

@ -0,0 +1,5 @@
XEmacs is a highly customizable open source text editor and app-
lication development system. It is protected under the GNU Public
License and related to other versions of Emacs, in particular GNU
Emacs. Its emphasis is on modern graphical user interface support and
an open software development model, similar to Linux.

View file

@ -0,0 +1,11 @@
--- xemacs-21.4.15/Makefile.in.in.orig 2004-07-09 19:00:27.000000000 -0400
+++ xemacs-21.4.15/Makefile.in.in 2004-07-09 19:00:46.000000000 -0400
@@ -403,7 +403,7 @@
## all. --cet
check-features: all
- ${blddir}/src/${PROGNAME} -batch -l check-features.el
+ ${blddir}/src/${PROGNAME} -batch -l ${blddir}/lisp/check-features.el
install-only: ${MAKE_SUBDIR} check-features install-arch-dep install-arch-indep

View file

@ -0,0 +1,27 @@
Subject: Re: Compiling XEmacs when same version is already installed
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: 31 Jul 2001 20:23:42 +0200
http://list-archive.xemacs.org/xemacs/200108/msg00001.html
--- xemacs-21.4.4/lisp/dump-paths.el.orig Tue Jul 31 19:47:56 2001
+++ xemacs-21.4.4/lisp/dump-paths.el Tue Jul 31 19:56:14 2001
@@ -58,10 +58,18 @@
late-packages late-package-load-path)
'external-debugging-output)))
- (setq lisp-directory (paths-find-lisp-directory roots))
+ (let ((build-root (expand-file-name ".." invocation-directory)))
+ (setq lisp-directory (expand-file-name "lisp" build-root))
+ (setq module-directory (expand-file-name "modules" build-root)))
+
(if debug-paths
(princ (format "lisp-directory:\n%S\n" lisp-directory)
'external-debugging-output))
+
+ (if debug-paths
+ (princ (format "module-directory:\n%S\n" module-directory)
+ 'external-debugging-output))
+
(if (featurep 'mule)
(progn
(setq mule-lisp-directory

View file

@ -0,0 +1,29 @@
--- xemacs-21.4.22/lisp/find-paths.el.orig 2011-08-05 13:42:44.545564371 -0400
+++ xemacs-21.4.22/lisp/find-paths.el 2011-08-05 13:43:10.205459415 -0400
@@ -103,7 +103,7 @@
(or
;; installed
(paths-file-readable-directory-p (paths-construct-path (list directory
- "lib"
+ "lib64"
emacs-program-name)))
;; in-place or windows-nt
(and
@@ -216,7 +216,7 @@
(paths-find-emacs-directory roots
(file-name-as-directory
(paths-construct-path (list
- "lib"
+ "lib64"
emacs-program-name)))
base
envvar default
@@ -230,7 +230,7 @@
(paths-find-emacs-directory roots
(file-name-as-directory
(paths-construct-path
- (list "lib"
+ (list "lib64"
(construct-emacs-version-name))))
base
envvar default

View file

@ -0,0 +1,30 @@
--- xemacs-21.4.15/src/event-Xt.c.orig 2004-07-09 11:02:02.000000000 -0400
+++ xemacs-21.4.15/src/event-Xt.c 2004-07-09 11:02:23.000000000 -0400
@@ -1253,7 +1253,26 @@
KeySym bot = XLookupKeysym (ev, Mode_switch_p ? 2 : 0);
KeySym top = XLookupKeysym (ev, Mode_switch_p ? 3 : 1);
if (top && bot && top != bot)
- modifiers &= ~XEMACS_MOD_SHIFT;
+ // SAM
+ switch(top) {
+ case 0x1008fe01:
+ case 0x1008fe02:
+ case 0x1008fe03:
+ case 0x1008fe04:
+ case 0x1008fe05:
+ case 0x1008fe06:
+ case 0x1008fe07:
+ case 0x1008fe08:
+ case 0x1008fe09:
+ case 0x1008fe0a:
+ case 0x1008fe0b:
+ case 0x1008fe0c:
+ break;
+ default:
+ modifiers &= ~XEMACS_MOD_SHIFT;
+ break;
+ }
+ //SAM
}
emacs_event->event_type = key_press_event;
emacs_event->timestamp = ev->time;

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
xemacs: xemacs (XEmacs editor)
xemacs:
xemacs: Base binaries and support files for the XEmacs editor/environment.
xemacs: This version requires X libraries installed but will run in a non-X
xemacs: mode.
xemacs:
xemacs: XEmacs is a highly customizable open source text editor and app-
xemacs: lication development system. It is protected under the GNU Public
xemacs: License and related to other versions of Emacs, in particular GNU
xemacs: Emacs. Its emphasis is on modern graphical user interface support
xemacs: and an open software development model, similar to Linux.

View file

@ -0,0 +1,129 @@
#!/bin/sh
# Slackware build script for XEmacs
# Created by Sean MacLennan <xemacs@seanm.ca>
# Modified by Robby Workman <rworkman@slackbuilds.org> for
# better consistency with existing SBo scripts...
PRGNAM=xemacs
VERSION=21.4.22
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
BASE_VERSION=2.27
EFS_VERSION=1.34
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
# XEmacs will not run compiled -fPIC
SLKCFLAGS="-O2"
LIBDIRSUFFIX="64"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $OUPUT $PKG
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root.root .
# These patches allow building xemacs with xemacs installed
# dump-paths patch from Enrico Scholz
patch -p1 < $CWD/patches/dump-paths.patch || exit 1
patch -p1 < $CWD/patches/check-features.patch || exit 1
# XEmacs is hardcoded to look in lib
if [ "$ARCH" = "x86_64" ]; then
patch -p1 < $CWD/patches/lib64.patch
fi
# Sighhhhhh.....
patch -p1 < $CWD/patches/mod-shift.patch
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib$LIBDIRSUFFIX \
--datadir=/usr/lib${LIBDIRSUFFIX} \
--with-sound=none \
--with-file-coding \
$ARCH-slackware-linux
make
make install \
prefix=$PKG/usr \
libdir=$PKG/usr/lib${LIBDIRSUFFIX} \
datadir=$PKG/usr/lib${LIBDIRSUFFIX}
# Add minimal packages to allow package tools to work
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/xemacs/xemacs-packages
tar xf $CWD/xemacs-base-$BASE_VERSION-pkg.tar.gz -C $PKG/usr/lib${LIBDIRSUFFIX}/xemacs/xemacs-packages
tar xf $CWD/efs-$EFS_VERSION-pkg.tar.gz -C $PKG/usr/lib${LIBDIRSUFFIX}/xemacs/xemacs-packages
# Make sure the .elc files are newer
find $PKG/usr/lib${LIBDIRSUFFIX}/xemacs/xemacs-packages -name \*.elc -exec touch {} \;
make datadir=$PKG/usr/lib${LIBDIRSUFFIX} gzip-el
# What is this 2.3M for?????
rm -rf $PKG/usr/lib$LIBDIRSUFFIX/xemacs-$VERSION/$ARCH-slackware-linux/include
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
gzip $PKG/usr/man/*/*
# gzip info stuff, but not the dir file
gzip -9 $PKG/usr/lib${LIBDIRSUFFIX}/xemacs-$VERSION/info/*
gzip -d $PKG/usr/lib${LIBDIRSUFFIX}/xemacs-$VERSION/info/dir.gz
# Fixup some conflicts with stock Slackware packages
for file in b2m ctags etags rcs-checkin ; do mv $PKG/usr/bin/$file{,-xemacs} ; done
for file in ctags etags ; do mv $PKG/usr/man/man1/$file{,-xemacs}.1.gz ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
BUGS CHANGES-* COPYING ChangeLog Installation PROBLEMS README* \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat <<EOF >$PKG/install/doinst.sh
# Make sure the elc files are newer than the el files
touch usr/lib${LIBDIRSUFFIX}/xemacs-$VERSION/lisp/*.elc
touch usr/lib${LIBDIRSUFFIX}/xemacs-$VERSION/lisp/*/*.elc
touch usr/lib${LIBDIRSUFFIX}/xemacs/xemacs-packages/lisp/xemacs-base/*.elc
touch usr/lib${LIBDIRSUFFIX}/xemacs/xemacs-packages/lisp/efs/*.elc
EOF
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
# Clean up the extra stuff:
if [ "$1" = "--cleanup" ]; then
rm -rf $TMP/$PRGNAM-${VERSION}
rm -rf $PKG
fi

View file

@ -0,0 +1,14 @@
PRGNAM="xemacs"
VERSION="21.4.22"
HOMEPAGE="http://xemacs.org/"
DOWNLOAD="http://ftp.xemacs.org/pub/xemacs/stable/xemacs-21.4.22.tar.bz2 \
http://ftp.xemacs.org/pub/xemacs/packages/efs-1.34-pkg.tar.gz \
http://ftp.xemacs.org/pub/xemacs/packages/xemacs-base-2.27-pkg.tar.gz"
MD5SUM="060bf7565cb3233c6e7071354e9a23a4 \
1f424efc4a55b8da53a7d01136793c9d \
2ec18d0faf31e2d343f558c730474a63"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Sean MacLennan"
EMAIL="xemacs@seanm.ca"
APPROVED="rworkman"