2013-05-14 11:34:23 +00:00
committed by Git OBS Bridge
parent 9ac89819ba
commit 98e9e7c909
10 changed files with 450 additions and 108 deletions

View File

@@ -1,7 +1,3 @@
---
modules/clx/new-clx/clx.f | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--- a/modules/clx/new-clx/clx.f
+++ b/modules/clx/new-clx/clx.f
@@ -1721,7 +1721,8 @@ static void general_lookup (object type)
@@ -24,3 +20,13 @@
/* -----------------------------------------------------------------------
--- a/modules/clx/new-clx/clx.lisp
+++ b/modules/clx/new-clx/clx.lisp
@@ -22,6 +22,7 @@
;;;; --------------------------------------------------------------------------
;;;; Exports
;;;; --------------------------------------------------------------------------
+(export '*displays*)
(export
'(*version* access-control access-error access-hosts activate-screen-saver
add-access-host add-resource add-to-save-set alist alloc-color

153
clisp-2.49-clx_demos.dif Normal file
View File

@@ -0,0 +1,153 @@
--- a/modules/clx/new-clx/demos/clx-demos.lisp
+++ b/modules/clx/new-clx/demos/clx-demos.lisp
@@ -11,7 +11,7 @@
(defparameter *demos*
;; (demo-name [package requirements])
- '((koch) (qix) (sokoban #:xpm) (greynetic) (petal) (hanoi)
+ '((greynetic) (petal) (hanoi)
(recurrence) (plaid) (clclock) (bball) (bwindow)))
(defmacro do-demos ((fun-var) &body body)
--- a/modules/clx/new-clx/demos/koch.lisp
+++ b/modules/clx/new-clx/demos/koch.lisp
@@ -7,7 +7,30 @@
;;; $Id: koch.lisp,v 1.5 2008/06/25 23:05:28 sds Exp $
;;; $Source: /cvsroot/clisp/clisp/modules/clx/new-clx/demos/koch.lisp,v $
-(in-package :clx-demos)
+(defpackage "KOCH"
+ (:use "COMMON-LISP" "XLIB" "EXT")
+ (:import-from "SYS" "GETENV")
+ (:shadowing-import-from "XLIB" "CHAR-WIDTH") ; EXT has CHAR-WIDTH
+ (:export "KOCH"))
+
+(in-package :koch)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(defun x-host-display (&optional (disp (getenv "DISPLAY")))
+ "Parse the DISPLAY environment variable.
+Return 3 values: host, server, screen."
+ (if disp
+ (let* ((pos1 (position #\: disp))
+ (pos2 (and pos1 (position #\. disp :start pos1))))
+ (values (subseq disp 0 pos1)
+ (if pos1 (parse-integer (subseq disp (1+ pos1) pos2)) 0)
+ (if pos2 (parse-integer (subseq disp (1+ pos2))) 0)))
+ (values "" 0 0)))
+
+(defun x-open-display ()
+ "Open the appropriate X display."
+ (multiple-value-bind (host di) (x-host-display)
+ (xlib:open-display host :display di)))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun koch-point (cx width/2 height/2 scale)
(list (round (+ width/2 (* scale width/2 (realpart cx))))
@@ -123,4 +146,8 @@ Returns the new list and an indicator of
(xlib:unmap-window win)
(xlib:display-finish-output dpy))))
+(format t "~& Koch snoflake:~%
+ (koch:koch :width :height :delay :x :y :scale :font)
+~% Call (koch:koch)~%~%")
+
(provide "koch")
--- a/modules/clx/new-clx/demos/qix.lisp
+++ b/modules/clx/new-clx/demos/qix.lisp
@@ -14,7 +14,30 @@
;;;; o or a spline option?!
;;;;
-(in-package :clx-demos)
+(defpackage "QIX"
+ (:use "COMMON-LISP" "XLIB" "EXT")
+ (:import-from "SYS" "GETENV")
+ (:shadowing-import-from "XLIB" "CHAR-WIDTH") ; EXT has CHAR-WIDTH
+ (:export "QIX"))
+
+(in-package :qix)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(defun x-host-display (&optional (disp (getenv "DISPLAY")))
+ "Parse the DISPLAY environment variable.
+Return 3 values: host, server, screen."
+ (if disp
+ (let* ((pos1 (position #\: disp))
+ (pos2 (and pos1 (position #\. disp :start pos1))))
+ (values (subseq disp 0 pos1)
+ (if pos1 (parse-integer (subseq disp (1+ pos1) pos2)) 0)
+ (if pos2 (parse-integer (subseq disp (1+ pos2))) 0)))
+ (values "" 0 0)))
+
+(defun x-open-display ()
+ "Open the appropriate X display."
+ (multiple-value-bind (host di) (x-host-display)
+ (xlib:open-display host :display di)))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar *offset* 3)
(defvar *delta* 6)
@@ -87,4 +110,9 @@
(xlib:unmap-window win)
(xlib:display-finish-output dpy))))
+;; since we have no herald, simply dump it:
+(format t "~& The famous swirling vectors.~%
+ (qix:qix :host :display :dpy :width :height :delay :nqixs :nlines)
+~% Call (qix:qix) or (qix:qix :delay 0)~%~%")
+
(provide "qix")
--- a/modules/clx/new-clx/demos/sokoban.lisp
+++ b/modules/clx/new-clx/demos/sokoban.lisp
@@ -41,7 +41,30 @@
;;;; - maximum field size is hard wired to 20x20. (This is not in the LISP spirit!)
;;;; - sometimes the programm could not count correctly ...
-(in-package :clx-demos)
+(defpackage "SOKOBAN"
+ (:use "COMMON-LISP")
+ (:import-from "SYS" "GETENV")
+ (:import-from "XLIB" "CLOSED-DISPLAY-P")
+ (:export "SOKOBAN"))
+
+(in-package :sokoban)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(defun x-host-display (&optional (disp (getenv "DISPLAY")))
+ "Parse the DISPLAY environment variable.
+Return 3 values: host, server, screen."
+ (if disp
+ (let* ((pos1 (position #\: disp))
+ (pos2 (and pos1 (position #\. disp :start pos1))))
+ (values (subseq disp 0 pos1)
+ (if pos1 (parse-integer (subseq disp (1+ pos1) pos2)) 0)
+ (if pos2 (parse-integer (subseq disp (1+ pos2))) 0)))
+ (values "" 0 0)))
+
+(defun x-open-display ()
+ "Open the appropriate X display."
+ (multiple-value-bind (host di) (x-host-display)
+ (xlib:open-display host :display di)))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; First a lot of global variables ...
(defvar *pixmaps* nil) ;array of pixmaps according to below indices
@@ -228,7 +251,12 @@
(nny (+ ny dy)))
(when (>= (field nnx nny) %floor)
;;Ok its legal ...
- (when (and (= (field nx ny) %object)
+ ;;Allow moving through
+ (when (and (= (field nx ny) %treasure)
+ (= (field nnx nny) %floor))
+ (incf *n-objects*))
+ ;;Take this point
+ (when (and (= (field nx ny) %object)
(= (field nnx nny) %goal))
(decf *n-objects*))
(incf (field nx ny) 4) ;remove object and add man
@@ -475,4 +503,6 @@ If you quit sokoban using 'q' the curren
(setq *level* 1)
(init-field))) )
+(format t "~&~% Call (sokoban:sokoban)~%~%")
+
(provide "sokoban")

108
clisp-2.49-configure.dif Normal file
View File

@@ -0,0 +1,108 @@
--- a/configure
+++ b/configure
@@ -393,11 +393,11 @@ do
passnext=both ;;
--vimdir=* | --vimdi=* | --vimd=* | --vim=* | --vi=*)
- subdir_configure_args="$subdir_configure_args $arg"
+# subdir_configure_args="$subdir_configure_args $arg"
makemake_args="$makemake_args --vimdir="`getarg "$arg"` ;;
--vimdir | --vimdi | --vimd | --vim | --vi)
- subdir_configure_args="$subdir_configure_args $arg"
+# subdir_configure_args="$subdir_configure_args $arg"
makemake_args="$makemake_args --vimdir="
prev=vimdir
passnext=both ;;
--- a/src/lispbibl.d
+++ b/src/lispbibl.d
@@ -121,7 +121,7 @@
#define PC386 /* IBMPC-compatible with 80386/80486-processor */
#endif
#ifdef GENERIC_UNIX
- #if (defined(unix) && (defined(linux) || defined(__CYGWIN32__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)) && (defined(i386) || defined(__i386__) || defined(__x86_64__) || defined(__amd64__)))
+ #if (defined(unix) && ((defined(linux) || defined(__linux__)) || defined(__CYGWIN32__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)) && (defined(i386) || defined(__i386__) || defined(__x86_64__) || defined(__amd64__)))
#define PC386
#endif
#if (defined(sun) && defined(unix) && defined(sparc))
@@ -218,8 +218,14 @@
#endif
#ifdef GENERIC_UNIX
#define UNIX
- #ifdef __linux__
+ #if defined(__linux__) || defined(linux)
#define UNIX_LINUX /* Linux (Linus Torvalds Unix) */
+ #ifndef linux
+ #define linux
+ #endif
+ #ifndef __linux__
+ #define __linux__
+ #endif
#endif
#ifdef __GNU__
#define UNIX_HURD /* the GNU system (Hurd + glibc) */
@@ -1245,7 +1251,7 @@ typedef signed int signean;
address of its component 'ident' and return it as number: */
#include <stddef.h>
#ifndef offsetof
- #define offsetof(type,ident) ((ULONG)&(((type*)0)->ident))
+ #define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
#endif
/* Determine the offset of an array 'ident' in a struct of the type 'type': */
#if defined(__cplusplus) || defined(MICROSOFT)
@@ -3312,9 +3318,9 @@ typedef signed_int_with_n_bits(intVsize)
type_data_object(type,data) */
#if defined(WIDE) && defined(WIDE_STRUCT)
#if BIG_ENDIAN_P==WIDE_ENDIANNESS
- #define type_data_object(type,data) ((object){{(tint)(type),(aint)(data)}INIT_ALLOCSTAMP})
+ #define type_data_object(type,data) (object){{(tint)(type),(aint)(data)}INIT_ALLOCSTAMP}
#else
- #define type_data_object(type,data) ((object){{(aint)(data),(tint)(type)}INIT_ALLOCSTAMP})
+ #define type_data_object(type,data) (object){{(aint)(data),(tint)(type)}INIT_ALLOCSTAMP}
#endif
#elif !(oint_addr_shift==0)
#define type_data_object(type,data) \
--- a/src/makemake.in
+++ b/src/makemake.in
@@ -228,6 +228,9 @@ verbose=${CLISP_MAKEMAKE_VERBOSE:-false}
# Handle --with-... arguments
while test -z "$endofargs"; do
case "$1" in
+ -ignore* | --ignore* )
+ shift
+ ;;
-verb* | --verb* )
verbose=`echol "$1"|sed 's/-*v[^=]*=*//'`
test -n "${verbose}" || verbose=true
@@ -1335,6 +1338,10 @@ if [ $XCC_GCC = true ] ; then
XCFLAGS=${XCFLAGS}" -pthread"
fi
+ if [ -n "${MYCFLAGS}" ] ; then
+ XCFLAGS=$XCFLAGS' ${MYCFLAGS} '
+ fi
+
else
if [ $TSYS = sun4 -a $CROSS = false ] ; then
@@ -3593,7 +3600,8 @@ if [ $CROSS = false ] ; then
echotab " mkdir -p \"\$\$absdest/\$\$m\"; \\"
echotab " cd \$\$m; \$(MAKE) clisp-module-distrib LN=\"\$(INSTALL_DATA)\" distribdir=\"\$\$absdest/\$\$m\" ; cd \"\$\$here\"; \\"
echotab " done; fi"
- line='linkkit/* base/*'
+ echotab "mkdir -p \$(DESTDIR)\$(lisplibdir)/full"
+ line='linkkit/* base/* full/*'
else
echotab "mkdir -p \$(DESTDIR)\$(lisplibdir)/full"
line='linkkit/* base/* full/*'
--- a/utils/modprep.lisp
+++ b/utils/modprep.lisp
@@ -345,7 +345,7 @@ FOO(bar,baz,zot) ==> FOO; (bar baz zot);
((or (char= cc #\_) (char= cc #\-)) (write-char #\_ out))
(t (format out "_~2,'0x" (char-code cc))))))
-(defvar *tag-length-limit* 2000
+(defvar *tag-length-limit* 4096
"The approximate maximum length of a C name.
This works around the failure on i18n on Alpha Linux:
/tmp/ccYZBYCX.s: Assembler messages:

10
clisp-2.49-gctoken.dif Normal file
View File

@@ -0,0 +1,10 @@
--- a/utils/gctrigger.c
+++ b/utils/gctrigger.c
@@ -599,6 +599,7 @@ static inline void VectorToken_delete (V
static Token nexttoken (boolean within_prep_directive)
{
Token token;
+ memset(&token, 0, sizeof(Token));
restart:
{ int c = next_char();
switch (c) {

10
clisp-2.49-new_clx.dif Normal file
View File

@@ -0,0 +1,10 @@
--- a/modules/clx/new-clx/clx.lisp
+++ b/modules/clx/new-clx/clx.lisp
@@ -22,6 +22,7 @@
;;;; --------------------------------------------------------------------------
;;;; Exports
;;;; --------------------------------------------------------------------------
+(export '*displays*)
(export
'(*version* access-control access-error access-hosts activate-screen-saver
add-access-host add-resource add-to-save-set alist alloc-color

View File

@@ -0,0 +1,9 @@
--- a/modules/postgresql/link.sh.in
+++ b/modules/postgresql/link.sh.in
@@ -4,5 +4,5 @@ ${MAKE-make} clisp-module \
NEW_MODULES='postgresql'
NEW_FILES=''
for f in ${NEW_MODULES}; do NEW_FILES=${NEW_FILES}" ${f}.o"; done
-NEW_LIBS="${NEW_FILES} @LIBS@"
+NEW_LIBS="${NEW_FILES} @LIBS@ -lcrypt -lssl"
TO_LOAD='postgresql sql'

11
clisp-2.49-rpath.dif Normal file
View File

@@ -0,0 +1,11 @@
--- a/src/aclocal.m4
+++ b/src/aclocal.m4
@@ -6668,7 +6668,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
dnl When using libtool, the option that works for both libraries and
dnl executables is -R. The -R options are cumulative.
for found_dir in $ltrpathdirs; do
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-Wl,-rpath-link$found_dir"
done
fi
popdef([P_A_C_K])

View File

@@ -1,4 +1,5 @@
addFilter(".*devel-file-in-non-devel-package.*/usr/lib.*/clisp-.*/.*")
addFilter(".*make-check-outside-check-section.*make\ check.*")
addFilter(".*executable-stack.*/usr/lib.*/clisp-2.49/.*")
addFilter(".*binary-or-shlib-calls-gethostbyname.*/usr/lib.*/clisp-2.49/.*")
addFilter(".*executable-stack.*/usr/lib.*/clisp-.*")
addFilter(".*binary-or-shlib-calls-gethostbyname.*/usr/lib.*/clisp-.*")
addFilter(".*file-contains-date-and-time.*/usr/lib.*/clisp-.*")

View File

@@ -1,3 +1,16 @@
-------------------------------------------------------------------
Tue May 14 11:24:33 UTC 2013 - werner@suse.de
- Reintroduce my old patches
+ clisp-2.49-configure.dif -- Make sure to be able to use MYCLFAGS
+ clisp-2.49-gctoken.dif -- Make sure to use initialized token on
garbage collection
+ clisp-2.49-clx_demos.dif -- Make CLX demos usable at runtime
+ clisp-2.49-postgresql.dif -- Enable postgresql SSL feature
+ re-add clisp-2.49-rpath.dif -- Do not use rpath but rpath-link
- Re-enable test suite
- Use screen to have a terminla around even in build system
-------------------------------------------------------------------
Thu Apr 18 19:46:40 UTC 2013 - leviathanch@opensuse.org
@@ -18,7 +31,6 @@ Wed Nov 28 15:03:30 UTC 2012 - toganm@opensuse.org
* rebase patches to -p1 as stated in the patching guidelines
* update to libsegsev-2.10
-------------------------------------------------------------------
Fri Jul 27 20:10:16 UTC 2012 - aj@suse.de

View File

@@ -25,11 +25,13 @@ BuildRequires: ffcall
BuildRequires: gdbm-devel
BuildRequires: gtk2-devel
BuildRequires: libglade2-devel
BuildRequires: libsigsegv2-devel
BuildRequires: libsigsegv-devel
BuildRequires: openssl-devel
BuildRequires: pcre-devel
BuildRequires: postgresql-devel
BuildRequires: readline-devel
BuildRequires: screen
BuildRequires: vim-data
%if 0%{?suse_version} >= %min_suse_ver
BuildRequires: dbus-1-devel
BuildRequires: fdupes
@@ -42,8 +44,10 @@ BuildRequires: xorg-x11-devel
#
%define debug no
Requires(pre): vim
Requires(pre): vim-data
Requires: ffcall
Requires: libsigsegv2
Provides: %{name}-devel
Suggests: %{name}-doc
Version: 2.49
Release: 0
Summary: A Common Lisp Interpreter
@@ -53,15 +57,33 @@ Url: http://clisp.cons.org
Source0: http://switch.dl.sourceforge.net/sourceforge/clisp/clisp-2.49.tar.bz2
Source3: clisp-rpmlintrc
Source4: README.SuSE
Patch3: clisp-2.49-personality.patch
Patch7: clisp-2.39-ia64-wooh.dif
Patch8: clisp-2.39-clx.dif
# PATCH-EXTEND-OPENSUSE Set the process execution domain
Patch1: clisp-2.49-personality.patch
# PATCH-FIX-OPENSUSE Fix crash on Ia64
Patch2: clisp-2.39-ia64-wooh.dif
# PATCH-EXTEND-OPENSUSE Help (new) CLX to work out of the box
Patch3: clisp-2.39-clx.dif
# PATCH-EXTEND-OPENSUSE Make sure to be able to use MYCLFAGS
Patch4: clisp-2.49-configure.dif
# PATCH-FIX-OPENSUSE Make sure to use initialized token on garbage collection
Patch5: clisp-2.49-gctoken.dif
# PATCH-FEATURE-OPENSUSE Make CLX demos usable at runtime
Patch6: clisp-2.49-clx_demos.dif
# PATCH-EXTEND-OPENSUSE Enable postgresql SSL feature
Patch7: clisp-2.49-postgresql.dif
# PATCH-FIX-OPENSUSE Do not use rpath but rpath-link
Patch8: clisp-2.49-rpath.dif
# PATCH-FIX-OPENSUSE Correct path for header for System V IPC system calls
Patch12: clisp-linux.patch
# PATCH-FIX-OPENSUSE Glibc got rid of unused __swblk_t type therefore update linux.lisp
Patch13: clisp-glibc-fix.patch
#PATCH-FIX-UPSTREAM patch#3474660 changeset 15557 4f5985f83127
Patch14: clisp-hostname.patch
# PATCH-EXTEND-UPSTREAM Make armv7l work
Patch15: clisp-arm.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global vimdir %{_datadir}/vim/site/after/syntax
%global xarch ppc64 s390x armv4l
ExcludeArch: ppc64 s390x armv4l
@@ -72,6 +94,15 @@ Lisp - The Language" by Guy L. Steele Jr. This package includes an
interactive programming environment with an interpreter, a compiler,
and a debugger. Start this environment with the command 'clisp'.
%package doc
Summary: Documentation of CLisp
Group: Development/Languages/Other
Requires: %{name}
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description doc
CLISP documentation is placed in the following directories:
/usr/share/doc/packages/clisp/
@@ -93,9 +124,14 @@ contains two nice applications.
%prep
%setup -qT -b0
%patch3 -p1 -b .sel
%patch7 -p1 -b .wooh
%patch8 -p1 -b .clx
%patch1 -p1 -b .sel
%patch2 -p1 -b .wooh
%patch3 -p1 -b .clx
%patch4 -p1 -b .conf
%patch5 -p1 -b .gc
%patch6 -p1 -b .demos
%patch7 -p1 -b .psql
%patch8 -p1 -b .rpath
%patch12 -p1
%if 0%{?suse_version} > 1220
%patch13 -p1 -b .glibc
@@ -128,15 +164,16 @@ else
fi
CC="${CC} -g ${RPM_OPT_FLAGS} -fno-strict-aliasing -fPIC -pipe"
case "$RPM_ARCH" in
i[0-9]86) CC="${CC} -falign-functions=4 -mieee-fp -ffloat-store" ;;
ppc) CC="${CC}" ;;
s390) CC="${CC}" ;;
x86_64) CC="${CC} -fno-gcse" ;;
sparc*) CC="${CC} -fno-gcse" ;;
ppc64) CC="${CC} -fno-gcse -mpowerpc64" ;;
s390x) CC="${CC} -fno-gcse" ;;
ia64) CC="${CC} -fno-gcse" ;;
axp|alpha) CC="${CC}" ;;
i[0-9]86)
CC="${CC} -falign-functions=4 -mieee-fp -ffloat-store" ;;
ppc) CC="${CC}" ;;
s390) CC="${CC}" ;;
x86_64) CC="${CC} -fno-gcse" ;;
sparc*) CC="${CC} -fno-gcse" ;;
ppc64) CC="${CC} -fno-gcse -mpowerpc64" ;;
s390x) CC="${CC} -fno-gcse" ;;
ia64) CC="${CC} -fno-gcse" ;;
axp|alpha) CC="${CC}" ;;
esac
noexec='-DLINUX_NOEXEC_HEAPCODES'
nommap='-DNO_MULTIMAP_SHM -DNO_MULTIMAP_FILE -DNO_SINGLEMAP -DNO_TRIVIALMAP'
@@ -144,15 +181,15 @@ safety='-DSAFETY=3 -O'
MYCFLAGS="${MYCFLAGS} -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
MYCFLAGS="${MYCFLAGS} -D_GNU_SOURCE -Wno-unused -Wno-uninitialized"
case "$RPM_ARCH" in
i[0-9]86) MYCFLAGS="${MYCFLAGS} ${noexec}" ;;
ppc) MYCFLAGS="${MYCFLAGS} ${noexec}" ;;
s390) MYCFLAGS="${MYCFLAGS} ${noexec}" ;;
x86_64) MYCFLAGS="${MYCFLAGS} ${safety}" ;;
sparc*) MYCFLAGS="${MYCFLAGS} ${safety}" ;;
ppc64) MYCFLAGS="${MYCFLAGS} ${safety} -DWIDE_HARD" ;;
s390x) MYCFLAGS="${MYCFLAGS} ${safety} -DWIDE_HARD" ;;
ia64) MYCFLAGS="${MYCFLAGS} ${safety}" ;;
axp|alpha) MYCFLAGS="${MYCFLAGS} ${nommap}" ;;
i[0-9]86) MYCFLAGS="${MYCFLAGS} ${noexec}" ;;
ppc) MYCFLAGS="${MYCFLAGS} ${noexec}" ;;
s390) MYCFLAGS="${MYCFLAGS} ${noexec}" ;;
x86_64) MYCFLAGS="${MYCFLAGS} ${safety}" ;;
sparc*) MYCFLAGS="${MYCFLAGS} ${safety}" ;;
ppc64) MYCFLAGS="${MYCFLAGS} ${safety} -DWIDE_HARD" ;;
s390x) MYCFLAGS="${MYCFLAGS} ${safety} -DWIDE_HARD" ;;
ia64) MYCFLAGS="${MYCFLAGS} ${safety}" ;;
axp|alpha) MYCFLAGS="${MYCFLAGS} ${nommap}" ;;
esac
export CC
export MYCFLAGS
@@ -160,11 +197,24 @@ unset cfi386 noexec nommap safety
#
# Environment for the case of missing terminal
#
rm -rf /tmp/clispIO
mknod /tmp/clispIO p
cat /tmp/clispIO &
%global _configure screen -L -D -m ./configure
%global _make screen -L -D -m make
SCREENDIR=$(mktemp -d ${PWD}/screen.XXXXXX) || exit 1
SCREENRC=${SCREENDIR}/clisp
export SCREENRC SCREENDIR
exec 0< /dev/null
exec 1> /tmp/clispIO 2>&1
SCREENLOG=${SCREENDIR}/log
cat > $SCREENRC<<-EOF
deflogin off
logfile $SCREENLOG
logfile flush 1
logtstamp off
log on
setsid on
scrollback 0
silence on
utf8 on
EOF
#
# Build the current system
#
@@ -182,39 +232,44 @@ find -name configure | xargs -r \
# The modules i18n, syscalls, regexp
# are part of the base clisp system.
#
./configure build ${DEBUG} \
--prefix=%{_prefix} \
--exec-prefix=%{_prefix} \
--libdir=%{_libdir} \
--fsstnd=suse \
--with-readline \
> $SCREENLOG
tail -q -s 0.5 -f $SCREENLOG & pid=$!
%_configure build ${DEBUG} \
--prefix=%{_prefix} \
--exec-prefix=%{_prefix} \
--libdir=%{_libdir} \
--vimdir=%{vimdir} \
--fsstnd=suse \
--with-readline \
--with-dynamic-modules \
--with-gettext \
--with-gettext \
%if 0%{?suse_version} >= %min_suse_ver
--with-module=dbus \
--with-module=dbus \
%endif
--with-module=queens \
--with-module=gdbm \
--with-module=gtk2 \
--with-module=pcre \
--with-module=rawsock \
--with-module=zlib \
--with-module=wildcard \
--with-module=bindings/glibc \
--with-module=clx/new-clx \
--with-module=berkeley-db \
--with-module=queens \
--with-module=gdbm \
--with-module=gtk2 \
--with-module=pcre \
--with-module=rawsock \
--with-module=zlib \
--with-module=wildcard \
--with-module=bindings/glibc\
--with-module=clx/new-clx \
--with-module=berkeley-db \
--with-module=postgresql
make -C build
%_make -C build
%_make -C build check
#
# Remove pipe
# Stop tail
#
rm -f /tmp/clispIO
kill $pid
#
# Check for errors
#
test -z "$(ls tests/*.erg 2>/dev/null)"
test -z "$(ls build/tests/*.erg 2>/dev/null)"
%install
#
@@ -254,14 +309,15 @@ chmod u+xrw,a+rx %{buildroot}%{_bindir}/clisp
chmod u+xrw,a+rx %{buildroot}%{_bindir}/clisp-link
chmod -R g+r,o+r %{buildroot}${LSPDOC}/
chmod a-x %{buildroot}${CLXDOC}/clx-manual/html/doc-index.cgi
find %{buildroot}${LSPDOC} -type d | xargs chmod 755
rm -f %{buildroot}${CLXDOC}/*,v
rm -f %{buildroot}${CLXDOC}/.\#*
rm -f %{buildroot}${CLXDOC}/demos/*,v
rm -f %{buildroot}${CLXDOC}/demos/.\#*
rm -f %{buildroot}${CLXDOC}/demos/*.orig
find %{buildroot}${LSPLIB}/ -name '*.dvi' | xargs -r rm -f
find %{buildroot}${LSPLIB}/ -name '*.run' | xargs -r chmod 0755
find %{buildroot}${LSPDOC} -type d | xargs chmod 755
rm -f %{buildroot}${CLXDOC}/*,v
rm -f %{buildroot}${CLXDOC}/.\#*
rm -f %{buildroot}${CLXDOC}/demos/*,v
rm -f %{buildroot}${CLXDOC}/demos/.\#*
rm -f %{buildroot}${CLXDOC}/demos/*.orig
find %{buildroot}${LSPLIB}/ -name '*.dvi' | xargs -r rm -f
find %{buildroot}${LSPLIB}/ -name '*.run' | xargs -r chmod 0755
rm -rf %{buildroot}${LSPLIB}/new-clx/demos/
%if 0%{?suse_version} >= %min_suse_ver
%fdupes %{buildroot}${LSPLIB}/
%endif
@@ -270,50 +326,16 @@ find %{buildroot}${LSPLIB}/ -name '*.run' | xargs -r chmod 0755
%files -f clisp.lang
%defattr(-,root,root,755)
%doc %{_docdir}/clisp/
%{_bindir}/clisp
%{_bindir}/clisp-link
%{_libdir}/clisp-%{version}/
%{_datadir}/aclocal/clisp.m4
%{_datadir}/emacs/site-lisp/clhs.el
%{_datadir}/emacs/site-lisp/clisp-coding.el
%{_datadir}/emacs/site-lisp/clisp-ffi.el
%{_datadir}/emacs/site-lisp/clisp-indent.el
%{_datadir}/emacs/site-lisp/clisp-indent.lisp
%{_datadir}/man/man1/clisp-link.1.gz
%{_datadir}/man/man1/clisp.1.gz
%{_datadir}/vim/vimfiles/after/syntax/lisp.vim
%dir %{_datadir}/vim/vimfiles
%dir %{_datadir}/vim/vimfiles/after
%dir %{_datadir}/vim/vimfiles/after/syntax
%if 0%{?centos_version} == 600
/usr/share/doc/packages/clisp/ANNOUNCE
%{_datadir}/doc/packages/clisp/COPYRIGHT
%{_datadir}/doc/packages/clisp/GNU-GPL
%{_datadir}/doc/packages/clisp/MAGIC.add
%{_datadir}/doc/packages/clisp/NEWS
%{_datadir}/doc/packages/clisp/README
%{_datadir}/doc/packages/clisp/README.de
%{_datadir}/doc/packages/clisp/README.es
%{_datadir}/doc/packages/clisp/SUMMARY
%{_datadir}/doc/packages/clisp/doc/CLOS-guide.txt
%{_datadir}/doc/packages/clisp/doc/LISP-tutorial.txt
%{_datadir}/doc/packages/clisp/doc/clisp-link.1
%{_datadir}/doc/packages/clisp/doc/clisp-link.html
%{_datadir}/doc/packages/clisp/doc/clisp-link.ps
%{_datadir}/doc/packages/clisp/doc/clisp.1
%{_datadir}/doc/packages/clisp/doc/clisp.html
%{_datadir}/doc/packages/clisp/doc/clisp.png
%{_datadir}/doc/packages/clisp/doc/clisp.ps
%{_datadir}/doc/packages/clisp/doc/impnotes.css
%{_datadir}/doc/packages/clisp/doc/impnotes.html
%{_datadir}/locale/da/LC_MESSAGES/clisp.mo
%{_datadir}/locale/de/LC_MESSAGES/clisp.mo
%{_datadir}/locale/en/LC_MESSAGES/clisp.mo
%{_datadir}/locale/es/LC_MESSAGES/clisp.mo
%{_datadir}/locale/fr/LC_MESSAGES/clisp.mo
%{_datadir}/locale/nl/LC_MESSAGES/clisp.mo
%{_datadir}/locale/ru/LC_MESSAGES/clisp.mo
%endif
%{_datadir}/emacs/site-lisp/
%doc %{_datadir}/man/man1/clisp*.1.gz
%{vimdir}/lisp.vim
%files doc
%defattr(-,root,root,755)
%{_docdir}/clisp/
%changelog