aboutsummaryrefslogtreecommitdiff
path: root/development/xemacs
diff options
context:
space:
mode:
authorWilly Sudiarto Raharjo <willysr@slackbuilds.org>2016-01-04 19:53:01 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2016-01-17 09:40:16 +0700
commit7067111589bd57a44ba1eaba8cbc2d7e95811d2a (patch)
treeb0eaa0b0316dcb0d6498c2254d1e2c762d6d0b71 /development/xemacs
parent20f9f3bb1e450874bcafa99269863bd471032543 (diff)
development/xemacs: Updated for version 21.5.34.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'development/xemacs')
-rw-r--r--development/xemacs/README3
-rw-r--r--development/xemacs/c11.patch34
-rw-r--r--development/xemacs/patches/check-features.patch11
-rw-r--r--development/xemacs/patches/dump-paths.patch27
-rw-r--r--development/xemacs/patches/lib64.patch49
-rw-r--r--development/xemacs/patches/mod-shift.patch30
-rw-r--r--development/xemacs/xemacs.SlackBuild53
-rw-r--r--development/xemacs/xemacs.info6
8 files changed, 85 insertions, 128 deletions
diff --git a/development/xemacs/README b/development/xemacs/README
index 3d0e2cc39b14c..e0b4fac714fde 100644
--- a/development/xemacs/README
+++ b/development/xemacs/README
@@ -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.
diff --git a/development/xemacs/c11.patch b/development/xemacs/c11.patch
new file mode 100644
index 0000000000000..d2d374179586a
--- /dev/null
+++ b/development/xemacs/c11.patch
@@ -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)
+
diff --git a/development/xemacs/patches/check-features.patch b/development/xemacs/patches/check-features.patch
deleted file mode 100644
index 7da578a4b4355..0000000000000
--- a/development/xemacs/patches/check-features.patch
+++ /dev/null
@@ -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
-
diff --git a/development/xemacs/patches/dump-paths.patch b/development/xemacs/patches/dump-paths.patch
deleted file mode 100644
index d5278013d805d..0000000000000
--- a/development/xemacs/patches/dump-paths.patch
+++ /dev/null
@@ -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
diff --git a/development/xemacs/patches/lib64.patch b/development/xemacs/patches/lib64.patch
index 41f985bd43cef..4a1ff07097bc7 100644
--- a/development/xemacs/patches/lib64.patch
+++ b/development/xemacs/patches/lib64.patch
@@ -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))
diff --git a/development/xemacs/patches/mod-shift.patch b/development/xemacs/patches/mod-shift.patch
deleted file mode 100644
index 9ca292a7efa5e..0000000000000
--- a/development/xemacs/patches/mod-shift.patch
+++ /dev/null
@@ -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;
diff --git a/development/xemacs/xemacs.SlackBuild b/development/xemacs/xemacs.SlackBuild
index faddaf4a66694..7cc954c509c89 100644
--- a/development/xemacs/xemacs.SlackBuild
+++ b/development/xemacs/xemacs.SlackBuild
@@ -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
diff --git a/development/xemacs/xemacs.info b/development/xemacs/xemacs.info
index 036f31284e301..4261c0088f2f6 100644
--- a/development/xemacs/xemacs.info
+++ b/development/xemacs/xemacs.info
@@ -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=""