mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-20 19:41:34 +01:00
development/xemacs: Added (XEmacs editor)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
parent
572042ec89
commit
61faa8b74d
8 changed files with 264 additions and 0 deletions
5
development/xemacs/README
Normal file
5
development/xemacs/README
Normal 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.
|
11
development/xemacs/patches/check-features.patch
Normal file
11
development/xemacs/patches/check-features.patch
Normal 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
|
||||
|
27
development/xemacs/patches/dump-paths.patch
Normal file
27
development/xemacs/patches/dump-paths.patch
Normal 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
|
29
development/xemacs/patches/lib64.patch
Normal file
29
development/xemacs/patches/lib64.patch
Normal 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
|
30
development/xemacs/patches/mod-shift.patch
Normal file
30
development/xemacs/patches/mod-shift.patch
Normal 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;
|
19
development/xemacs/slack-desc
Normal file
19
development/xemacs/slack-desc
Normal 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.
|
129
development/xemacs/xemacs.SlackBuild
Normal file
129
development/xemacs/xemacs.SlackBuild
Normal 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
|
14
development/xemacs/xemacs.info
Normal file
14
development/xemacs/xemacs.info
Normal 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"
|
Loading…
Reference in a new issue