From 7067111589bd57a44ba1eaba8cbc2d7e95811d2a Mon Sep 17 00:00:00 2001 From: Willy Sudiarto Raharjo Date: Mon, 4 Jan 2016 19:53:01 +0700 Subject: [PATCH] development/xemacs: Updated for version 21.5.34. Signed-off-by: Willy Sudiarto Raharjo --- development/xemacs/README | 3 ++ development/xemacs/c11.patch | 34 ++++++++++++ .../xemacs/patches/check-features.patch | 11 ---- development/xemacs/patches/dump-paths.patch | 27 ---------- development/xemacs/patches/lib64.patch | 49 +++++++---------- development/xemacs/patches/mod-shift.patch | 30 ----------- development/xemacs/xemacs.SlackBuild | 53 +++++++++---------- development/xemacs/xemacs.info | 6 +-- 8 files changed, 85 insertions(+), 128 deletions(-) create mode 100644 development/xemacs/c11.patch delete mode 100644 development/xemacs/patches/check-features.patch delete mode 100644 development/xemacs/patches/dump-paths.patch delete mode 100644 development/xemacs/patches/mod-shift.patch diff --git a/development/xemacs/README b/development/xemacs/README index 3d0e2cc39b..e0b4fac714 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 0000000000..d2d3741795 --- /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 7da578a4b4..0000000000 --- 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 d5278013d8..0000000000 --- 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 -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 41f985bd43..4a1ff07097 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 9ca292a7ef..0000000000 --- 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 faddaf4a66..7cc954c509 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 <$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 036f31284e..4261c0088f 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=""