development/xemacs: Updated for version 21.5.34.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Willy Sudiarto Raharjo 2016-01-04 19:53:01 +07:00
parent 20f9f3bb1e
commit 7067111589
8 changed files with 85 additions and 128 deletions

View file

@ -3,3 +3,6 @@ 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.
NOTE: If you have xemacs installed, please remove it before building
a new version. Otherwise it will fail to build.

View file

@ -0,0 +1,34 @@
--- src/lisp.h.orig 2014-06-05 09:02:17.000000000 -0600
+++ src/lisp.h 2015-02-09 12:30:00.000000000 -0700
@@ -1154,6 +1154,9 @@
/* ------------------------ alignment definitions ------------------- */
+#if (defined (__STDC_VERSION__) && __STDC_VERSION__ < 201112L) || \
+ (defined (__cplusplus) && __cplusplus < 201103L) || \
+ (! defined (__STDC_VERSION__) && ! defined (__cplusplus))
/* No type has a greater alignment requirement than max_align_t.
(except perhaps for types we don't use, like long double) */
typedef union
@@ -1163,6 +1166,7 @@
struct { void (*f)(void); } f;
struct { double d; } d;
} max_align_t;
+#endif
/* ALIGNOF returns the required alignment of a type -- i.e. a value such
that data of this type must begin at a memory address which is a
@@ -1170,7 +1174,11 @@
as the type itself. */
#ifndef ALIGNOF
-# if defined (__GNUC__) && (__GNUC__ >= 2)
+# if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
+# define ALIGNOF(type) _Alignof(type)
+# elif defined (__cplusplus) && __cplusplus >= 201103L
+# define ALIGNOF(type) alignof(type)
+# elif defined (__GNUC__) && (__GNUC__ >= 2)
/* gcc has an extension that gives us exactly what we want. */
# define ALIGNOF(type) __alignof__ (type)
# elif ! defined (__cplusplus)

View file

@ -1,11 +0,0 @@
--- 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

@ -1,27 +0,0 @@
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

@ -1,29 +1,20 @@
--- 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
--- xemacs-21.5.34/lisp/find-paths.el.old 2016-01-04 18:49:46.227528964 +0700
+++ xemacs-21.5.34/lisp/find-paths.el 2016-01-04 18:50:32.334978047 +0700
@@ -226,7 +226,7 @@
roots
(file-name-as-directory
(paths-construct-path (list
- (if arch-dependent-p "lib" "share")
+ (if arch-dependent-p "lib64" "share")
emacs-program-name)))
bases
envvar default))
@@ -276,7 +276,7 @@
roots
(file-name-as-directory
(paths-construct-path
- (list (if arch-dependent-p "lib" "share")
+ (list (if arch-dependent-p "lib64" "share")
(construct-emacs-version-name))))
bases
envvar default))

View file

@ -1,30 +0,0 @@
--- 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

@ -7,7 +7,8 @@
# better consistency with existing SBo scripts...
PRGNAM=xemacs
VERSION=21.4.22
VERSION=${VERSION:-21.5.34}
SRCVER=21.5-b34
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@ -45,31 +46,33 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xf $CWD/$PRGNAM-$VERSION.tar.bz2
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root.root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# 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
patch -p0 < $CWD/c11.patch
# XEmacs is hardcoded to look in lib
if [ "$ARCH" = "x86_64" ]; then
patch -p1 < $CWD/patches/lib64.patch
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
--with-jpeg \
--with-png \
--with-tiff \
--with-x \
--build=$ARCH-slackware-linux
make
make install \
@ -92,20 +95,20 @@ 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/*/*
mkdir -p $PKG/usr/man/man1
mv $PKG/usr/share/man/* $PKG/usr/man/man1/
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
rm -rf $PKG/usr/share/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
gzip -9 $PKG/usr/share/$PRGNAM-$SRCVER/info/*.info*
# 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 b2m ctags etags ; 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
cp -a CHANGES-* COPYING ChangeLog INSTALL Installation PROBLEMS README* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
@ -113,17 +116,11 @@ 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-$SRCVER/lisp/*.elc
touch usr/lib${LIBDIRSUFFIX}/xemacs-$SRCVER/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

@ -1,10 +1,10 @@
PRGNAM="xemacs"
VERSION="21.4.22"
VERSION="21.5.34"
HOMEPAGE="http://xemacs.org/"
DOWNLOAD="http://ftp.xemacs.org/pub/xemacs/stable/xemacs-21.4.22.tar.bz2 \
DOWNLOAD="http://ftp.xemacs.org/pub/xemacs/xemacs-21.5/xemacs-21.5.34.tar.gz \
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 \
MD5SUM="e093150724b6e55b14bae21739cfe373 \
1f424efc4a55b8da53a7d01136793c9d \
2ec18d0faf31e2d343f558c730474a63"
DOWNLOAD_x86_64=""