mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-16 19:50:19 +01:00
development/xemacs: Updated for version 21.5.34.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
20f9f3bb1e
commit
7067111589
8 changed files with 85 additions and 128 deletions
|
@ -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.
|
||||
|
|
34
development/xemacs/c11.patch
Normal file
34
development/xemacs/c11.patch
Normal 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)
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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))
|
||||
|
|
|
@ -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;
|
|
@ -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
|
||||
|
|
|
@ -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=""
|
||||
|
|
Loading…
Reference in a new issue