From edeb62eb5fe6f44f5bdf82228dd23c42b33bd3a4c5390e9854a0c6bb2aee29b5 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Wed, 28 Aug 2024 12:17:11 +0000 Subject: [PATCH] . OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/clisp?expand=0&rev=130 --- .gitattributes | 23 + .gitignore | 1 + README.SUSE | 34 ++ check-build.sh | 43 ++ clisp-2.39-ia64-wooh.dif | 18 + clisp-2.49-clx_demos.dif | 174 ++++++ clisp-2.49-configure.dif | 129 ++++ clisp-2.49-gctoken.dif | 13 + clisp-2.49-personality.patch | 32 + clisp-2.49-postgresql.dif | 9 + clisp-2.49-rpath.dif | 16 + clisp-2.49.92.tar.bz2 | 3 + clisp-db6.diff | 31 + clisp-gcc14.patch | 24 + clisp-link.dif | 36 ++ clisp-linux.patch | 16 + clisp-rpmlintrc | 6 + clisp.changes | 1075 ++++++++++++++++++++++++++++++++++ clisp.spec | 408 +++++++++++++ 19 files changed, 2091 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.SUSE create mode 100644 check-build.sh create mode 100644 clisp-2.39-ia64-wooh.dif create mode 100644 clisp-2.49-clx_demos.dif create mode 100644 clisp-2.49-configure.dif create mode 100644 clisp-2.49-gctoken.dif create mode 100644 clisp-2.49-personality.patch create mode 100644 clisp-2.49-postgresql.dif create mode 100644 clisp-2.49-rpath.dif create mode 100644 clisp-2.49.92.tar.bz2 create mode 100644 clisp-db6.diff create mode 100644 clisp-gcc14.patch create mode 100644 clisp-link.dif create mode 100644 clisp-linux.patch create mode 100644 clisp-rpmlintrc create mode 100644 clisp.changes create mode 100644 clisp.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/README.SUSE b/README.SUSE new file mode 100644 index 0000000..01031d0 --- /dev/null +++ b/README.SUSE @@ -0,0 +1,34 @@ +# +# (C) 1997-99, SuSE GmbH, Nürnberg +# + +Call of CLX + + + Please call clisp with the option '-K full' to use clx. The +X Window System is required for the usage of clx. Therefore the clisp +version under /usr/lib/clisp/full/ is used. +For some examples of clx try out in the directory demos/ + + clisp -K full -q -i sokoban + +and + + clisp -K full -q -i qix + +---------------------------------------------------------------------------- + +Aufruf von CLX + + + Bitte rufen Sie clisp mit der Option '-K full' auf. CLX erfordert ein +installiertes X-Window-System. Daher wird die entsprechende clisp-Version +aus /usr/lib/clisp/full/ benutzt. +Sie finden zwei Beispiele für clx im Verzeichnis demos/ + + clisp -K full -q -i sokoban + +und + + clisp -K full -q -i qix + diff --git a/check-build.sh b/check-build.sh new file mode 100644 index 0000000..edf1c5c --- /dev/null +++ b/check-build.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# This script use the following variable(s): +# +# - $BUILD_BASENAME +# + +case $BUILD_BASENAME in + *ia64) + read -t 10 name dummy version rest < /proc/version + if test -z "$version" ; then + echo "FATAL: can not read /proc/version" 1>&2 + exit 1 + fi + OIFS="$IFS" + IFS='.-' + version=($version) + IFS="$OIFS" + if test ${version[0]} -lt 2 -o ${version[1]} -lt 6 -o ${version[2]} -lt 16 ; then + echo "FATAL: kernel too old, need kernel >= 2.6.16 for this package" 1>&2 + exit 1 + fi + ;; + *) + ;; +esac + +# +# XEN kernel may use different stack addresse range +# +if test -e /proc/xen; then + echo "FATAL: kernel contains xen support!" 1>&2 + exit 1 +fi + +# +# Success +# +exit 0 diff --git a/clisp-2.39-ia64-wooh.dif b/clisp-2.39-ia64-wooh.dif new file mode 100644 index 0000000..91f8af2 --- /dev/null +++ b/clisp-2.39-ia64-wooh.dif @@ -0,0 +1,18 @@ +--- + tests/streams.tst | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/streams.tst b/tests/streams.tst +--- a/tests/streams.tst ++++ b/tests/streams.tst +@@ -1043,8 +1043,8 @@ T + (describe (make-array nil :element-type nil) s))) + T + +-(stringp (with-output-to-string (s) (describe nil s))) +-T ++;(stringp (with-output-to-string (s) (describe nil s))) ++;T + + ;; https://sourceforge.net/p/clisp/bugs/396/ + (let ((s "a b")) diff --git a/clisp-2.49-clx_demos.dif b/clisp-2.49-clx_demos.dif new file mode 100644 index 0000000..86d54d5 --- /dev/null +++ b/clisp-2.49-clx_demos.dif @@ -0,0 +1,174 @@ +--- + modules/clx/new-clx/demos/README | 4 +-- + modules/clx/new-clx/demos/clx-demos.lisp | 2 - + modules/clx/new-clx/demos/koch.lisp | 29 +++++++++++++++++++++++++- + modules/clx/new-clx/demos/qix.lisp | 30 ++++++++++++++++++++++++++- + modules/clx/new-clx/demos/sokoban.lisp | 34 +++++++++++++++++++++++++++++-- + 5 files changed, 92 insertions(+), 7 deletions(-) + +--- a/modules/clx/new-clx/demos/README ++++ b/modules/clx/new-clx/demos/README +@@ -3,8 +3,8 @@ Most came with the original CLX and has + Some are original with CLISP (notably sokoban). + + To try them, do +-$ clisp -i clx-demos ++$ clisp -K full -i clx-demos + and read the instructions. + + To try them all, one by one, do +-$ clisp -i clx-demos -x '(clx-demos:run-all-demos)' ++$ clisp -K full -i clx-demos -x '(clx-demos:run-all-demos)' +--- a/modules/clx/new-clx/demos/clx-demos.lisp ++++ b/modules/clx/new-clx/demos/clx-demos.lisp +@@ -13,7 +13,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 +@@ -5,7 +5,30 @@ + ;;; See http://www.gnu.org/copyleft/gpl.html + ;;; + +-(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)))) +@@ -121,4 +144,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") diff --git a/clisp-2.49-configure.dif b/clisp-2.49-configure.dif new file mode 100644 index 0000000..1a33089 --- /dev/null +++ b/clisp-2.49-configure.dif @@ -0,0 +1,129 @@ +--- + clisp-2.49.90/configure | 4 ++-- + clisp-2.49.90/src/lispbibl.d | 16 +++++++++++----- + clisp-2.49.90/src/makemake.in | 17 +++++++++++++---- + clisp-2.49.90/utils/modprep.lisp | 2 +- + 4 files changed, 27 insertions(+), 12 deletions(-) + +--- clisp-2.49.90/configure ++++ clisp-2.49.90/configure 2018-02-12 08:20:34.280915654 +0000 +@@ -429,11 +429,11 @@ do + passnext=makemake ;; + + --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 ;; +--- clisp-2.49.90/src/lispbibl.d ++++ clisp-2.49.90/src/lispbibl.d 2018-02-12 08:20:34.284915577 +0000 +@@ -178,7 +178,7 @@ + #define PC386 /* IBMPC-compatible with 80386/80486-processor */ + #endif + #ifdef GENERIC_UNIX +- #if (defined(unix) && (defined(linux) || defined(__CYGWIN__) || 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(__CYGWIN__) || 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)) +@@ -270,8 +270,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) */ +@@ -1281,7 +1287,7 @@ typedef signed int signean; + address of its component 'ident' and return it as number: */ + #include + #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) +@@ -5520,9 +5526,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) \ +--- clisp-2.49.90/src/makemake.in ++++ clisp-2.49.90/src/makemake.in 2018-02-12 08:24:54.275897762 +0000 +@@ -250,6 +250,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 +@@ -1183,11 +1186,13 @@ else + fi + + # Main cpu dependencies: ++set -x + cpu="${host_cpu_c_abi}" + if test -z "$cpu"; then + echo "$0: WARNING: host_cpu_c_abi is void; using host_cpu=${host_cpu}" >&2 + cpu="${host_cpu}" + fi ++set +x + + test "${verbose}" = true -o "${verbose}" = yes && \ + cat <&2 +@@ -1384,6 +1389,9 @@ if [ $XCC_GCC = true ] ; then + XCFLAGS=${XCFLAGS}" -pthread" + fi + ++ if [ -n "${MYCFLAGS}" ] ; then ++ XCFLAGS=$XCFLAGS' ${MYCFLAGS} ' ++ fi + else + + if [ $CROSS = false ] ; then +@@ -4105,8 +4113,9 @@ if [ $CROSS = false ] ; then + echol + if [ "${with_dynamic_modules}" != no ]; then + depends="full install-modules force" +- line='linkkit base' ++ line='linkkit base full' + echol "install-modules : full force" ++ echotab "mkdir -p \$(DESTDIR)\$(lisplibdir)/full" + echotab "mkdir -p \$(DESTDIR)\$(lisplibdir)/dynmod" + echotab "DESTDIR=\`cd \"\$(DESTDIR)\$(lisplibdir)\"; pwd\` CLISP='./clisp -q -norc' ./clisp-link install \$(MODULES)" + echol +--- clisp-2.49.90/utils/modprep.lisp ++++ clisp-2.49.90/utils/modprep.lisp 2018-02-12 08:20:34.288915500 +0000 +@@ -328,7 +328,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: diff --git a/clisp-2.49-gctoken.dif b/clisp-2.49-gctoken.dif new file mode 100644 index 0000000..f798c8e --- /dev/null +++ b/clisp-2.49-gctoken.dif @@ -0,0 +1,13 @@ + + +diff --git a/utils/gctrigger.c b/utils/gctrigger.c +--- a/utils/gctrigger.c ++++ b/utils/gctrigger.c +@@ -601,6 +601,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) { diff --git a/clisp-2.49-personality.patch b/clisp-2.49-personality.patch new file mode 100644 index 0000000..a97bb07 --- /dev/null +++ b/clisp-2.49-personality.patch @@ -0,0 +1,32 @@ +--- + src/_clisp.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/src/_clisp.c b/src/_clisp.c +--- a/src/_clisp.c ++++ b/src/_clisp.c +@@ -48,6 +48,11 @@ + /* Declare stderr, perror(). */ + # include + ++#if defined(HAS_PERSONALITY) && (HAS_PERSONALITY > 0) ++/* Declare syscall, PER_LINUX32. */ ++# include ++#endif ++ + #if defined(WIN32_NATIVE) + # include + int shell_quote (char * dest, const char * source); +@@ -435,6 +440,12 @@ int main (int argc, char* argv[]) + } + #undef W32ERR + #else ++#if defined(HAS_PERSONALITY) && (HAS_PERSONALITY > 0) ++ if (personality(PER_LINUX32)) { ++ perror(program_name); ++ return 1; ++ } ++#endif + execv(executable,new_argv); + { /* execv() returns only if there was an error. */ + int saved_errno = errno; diff --git a/clisp-2.49-postgresql.dif b/clisp-2.49-postgresql.dif new file mode 100644 index 0000000..8bc575c --- /dev/null +++ b/clisp-2.49-postgresql.dif @@ -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' diff --git a/clisp-2.49-rpath.dif b/clisp-2.49-rpath.dif new file mode 100644 index 0000000..4440ef6 --- /dev/null +++ b/clisp-2.49-rpath.dif @@ -0,0 +1,16 @@ +--- + src/aclocal.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/aclocal.m4 b/src/aclocal.m4 +--- a/src/aclocal.m4 ++++ b/src/aclocal.m4 +@@ -7723,7 +7723,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]) diff --git a/clisp-2.49.92.tar.bz2 b/clisp-2.49.92.tar.bz2 new file mode 100644 index 0000000..48b3ed6 --- /dev/null +++ b/clisp-2.49.92.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd443a94aa9b02da4c4abbcecfc04ffff1919c0a8b0e7e35649b86198cd6bb89 +size 8919616 diff --git a/clisp-db6.diff b/clisp-db6.diff new file mode 100644 index 0000000..6dce26f --- /dev/null +++ b/clisp-db6.diff @@ -0,0 +1,31 @@ +From: Jan Engelhardt +Date: 2013-06-14 13:55:00.148814697 +0200 + +Work around compile abort with libdb-6.0 + +BDB has removed RPC support (which was not implemented anyway; +it [set_rpc_server] always returned EOPNOTSUPP even in libdb-4.8). + +--- + clisp-536a48a9/modules/berkeley-db/bdb.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- clisp-536a48a9/modules/berkeley-db/bdb.c ++++ clisp-536a48a9/modules/berkeley-db/bdb.c 2016-11-29 11:58:23.833524665 +0000 +@@ -60,6 +60,7 @@ static void vecout (unsigned char* v, in + this is a macro and not a function for NO_UNICODE */ + #define asciz_to_string0(a,e) (a ? asciz_to_string(a,e) : NIL) + ++#include + #include + + /* http://www.oracle.com/technology/products/berkeley-db/db/update/4.4.20/if.4.4.20.html +@@ -2216,7 +2217,7 @@ DEFUN(BDB:DB-COMPACT, db &key TRANSACTIO + c_data.compact_timeout = timeout; + c_data.compact_pages = pages; + SYSCALL(db->compact,(db,txn,pstart,pstop,&c_data,flags,&end)); +- pushSTACK(uint32_to_I(c_data.compact_empty_buckets)); ++/*pushSTACK(uint32_to_I(c_data.compact_empty_buckets));*/ + pushSTACK(uint32_to_I(c_data.compact_pages_free)); + pushSTACK(uint32_to_I(c_data.compact_pages_examine)); + pushSTACK(uint32_to_I(c_data.compact_levels)); diff --git a/clisp-gcc14.patch b/clisp-gcc14.patch new file mode 100644 index 0000000..dfd93a8 --- /dev/null +++ b/clisp-gcc14.patch @@ -0,0 +1,24 @@ +--- + modules/gdbm/gdbm.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- modules/gdbm/gdbm.c ++++ modules/gdbm/gdbm.c 2024-08-28 11:55:51.720519565 +0000 +@@ -66,7 +66,7 @@ DEFCHECKER(check_gdbm_errno, prefix=GDBM + READER-CANT-REORGANIZE UNKNOWN-UPDATE ITEM-NOT-FOUND \ + REORGANIZE-FAILED CANNOT-REPLACE ILLEGAL-DATA OPT-ALREADY-SET \ + OPT-ILLEGAL) +-static _Noreturn void error_gdbm (char *fatal_message) { ++static _Noreturn void error_gdbm (const char *fatal_message) { + end_blocking_system_call(); /* in case we are called from _gdbm_fatal() */ + pushSTACK(`GDBM::GDBM-ERROR`); + pushSTACK(`:MESSAGE`); +@@ -126,7 +126,7 @@ static object open_gdbm (object path, in + GDBM_FILE gdbm; + with_string_0(path, GLO(pathname_encoding), name, { + SYSCALL(gdbm = gdbm_open(name, bsize, rw, mode, +- (void (*)(void))error_gdbm)); ++ (void (*)(const char *))error_gdbm)); + }); + if (gdbm == NULL) error_gdbm(NULL); + return allocate_fpointer(gdbm); diff --git a/clisp-link.dif b/clisp-link.dif new file mode 100644 index 0000000..ca822d2 --- /dev/null +++ b/clisp-link.dif @@ -0,0 +1,36 @@ +--- + src/clisp-link.in | 2 +- + src/lispbibl.d | 4 +++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +--- src/clisp-link.in ++++ src/clisp-link.in 2018-02-19 09:30:11.548748097 +0000 +@@ -579,7 +579,7 @@ case "$1" in + # when running "CLISP=./clisp ./clisp-link install " + # in the build directory, avoid "cp: `...' and `...' are the same file" + if [ "${absolute_moduledir}" != "${absdestdir}/$moduledir" ]; then +- make clisp-module-distrib LN=${INSTALL_DATA-cp} distribdir="${absdestdir}/$moduledir" ++ make clisp-module-distrib LN="${INSTALL_DATA-cp}" distribdir="${absdestdir}/$moduledir" + mkdir -p ${absdestdir}/${DYNMOD}; + for f in ${DYNDIR_FILES}; do + cp ${f} ${absdestdir}/${DYNMOD}/ +--- src/lispbibl.d ++++ src/lispbibl.d 2018-02-19 09:30:11.552748021 +0000 +@@ -1631,6 +1631,8 @@ typedef SLONG sint32; /* signed 32 bi + /* Emulate 64-Bit-numbers using two 32-Bit-numbers. */ + typedef struct { sintL hi; uintL lo; } sintL2; /* signed 64 Bit integer */ + typedef struct { uintL hi; uintL lo; } uintL2; /* unsigned 64 Bit integer */ ++ #define bitQ(n) bit(n) ++ #define bitQm(n) bitm(n) + #endif + /* Use 'uintX' and 'sintX' for Integers with approximately given width + and a minumum of storage space. */ +@@ -14397,7 +14399,7 @@ re-enters the corresponding top-level lo + #define pushSTACK(obj) (STACK_(-1) = (obj), STACK skipSTACKop -1) + /* Almost equivalent with *--STACK = obj resp. *STACK++ = obj , but + Careful: first enter the object into STACK_(-1), THEN modify the STACK! */ +-#define popSTACK() (STACK skipSTACKop 1, STACK_(-1)) ++#define popSTACK() ({STACK skipSTACKop 1; STACK_(-1);}) + #define skipSTACK(n) (STACK skipSTACKop (sintP)(n)) + + #if defined(GNU) && defined(M68K) && !defined(NO_ASM) && !defined(WIDE) && defined(STACK_register) diff --git a/clisp-linux.patch b/clisp-linux.patch new file mode 100644 index 0000000..e79112e --- /dev/null +++ b/clisp-linux.patch @@ -0,0 +1,16 @@ +--- + modules/bindings/glibc/linux.lisp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp +--- a/modules/bindings/glibc/linux.lisp ++++ b/modules/bindings/glibc/linux.lisp +@@ -294,6 +294,8 @@ + ;; for robust mutexes + (def-c-const EOWNERDEAD (:documentation "Owner died")) ; 130 + (def-c-const ENOTRECOVERABLE (:documentation "State not recoverable")) ; 131 ++(def-c-const ERFKILL (:documentation "Operation not possible due to RF-kill")) ; 132 ++(def-c-const EHWPOISON (:documentation "Memory page has hardware error")) ; 133 + + ; -------------------------- ----------------------------------- + diff --git a/clisp-rpmlintrc b/clisp-rpmlintrc new file mode 100644 index 0000000..0d4960f --- /dev/null +++ b/clisp-rpmlintrc @@ -0,0 +1,6 @@ +addFilter(".*devel-file-in-non-devel-package.*/usr/lib.*/clisp-.*/.*") +addFilter(".*make-check-outside-check-section.*make\ check.*") +addFilter(".*executable-stack.*/usr/lib.*/clisp-.*") +addFilter(".*binary-or-shlib-calls-gethostbyname.*/usr/lib.*/clisp-.*") +addFilter(".*file-contains-date-and-time.*/usr/lib.*/clisp-.*") +addFilter(".*position-independent-executable-suggested.*") diff --git a/clisp.changes b/clisp.changes new file mode 100644 index 0000000..29c9d51 --- /dev/null +++ b/clisp.changes @@ -0,0 +1,1075 @@ +------------------------------------------------------------------- +Wed Aug 28 12:16:12 UTC 2024 - Dr. Werner Fink + +- Add patch clisp-gcc14.patch to make it build again + +------------------------------------------------------------------- +Mon Feb 26 10:47:36 UTC 2024 - Dominique Leuenberger + +- Use %patch -P N instead of deprecated %patchN. + +------------------------------------------------------------------- +Fri Oct 21 12:57:41 UTC 2022 - Martin Liška + +- Depends on gzip as CLISP memory image data are compressed + with gzip (boo#1132118). + +------------------------------------------------------------------- +Mon Sep 9 07:50:29 UTC 2019 - Dr. Werner Fink + +- Do not use LTO for clisp images + +------------------------------------------------------------------- +Mon Jun 25 13:47:37 UTC 2018 - werner@suse.de + +- Remove -mieee-fp gcc option as gcc does not know or ignore + that l(ib)ieee is not part of glibc package anymore +- -fPIE/-fpie is brain dead for a binary used for dumping images + +------------------------------------------------------------------- +Wed Mar 14 08:03:57 UTC 2018 - werner@suse.de + +- Be aware that source tree of gnulib is GPL-3.0 or later + +------------------------------------------------------------------- +Mon Mar 5 13:36:16 UTC 2018 - crrodriguez@opensuse.org + +- change xorg-x11-devel --> pkgconfig(x11), pkgconfig(xaw6) + pkgconfig(xext), pkgconfig(xpm) +- Add explicit buildrequires on pkgconfig(zlib), glib2-devel, + ncurses-devel. + +------------------------------------------------------------------- +Mon Feb 12 09:02:18 UTC 2018 - werner@suse.de + +- Update 2.49.90 (pre-release 2.50) + * Module WILDCARD has been removed. + Functions WILDCARD:MATCH and WILDCARD:WILDCARD-MATCHER are deprecated + in favor of POSIX:FNMATCH and POSIX:FNMATCH-MATCHER. + See for details. + * Module REGEXP: + + Function REGEXP:REGEXP-EXEC no longer accepts :BOOLEAN argument; use + :RETURN-TYPE 'BOOLEAN instead. + See for details. + * Module RAWSOCK: + + Function RAWSOCK:CONVERT-ADDRESS now returns byte vectors instead of + integers. + See + for details. + * Mixing &OPTIONAL and &KEY in the same lambda list is a bad design + and now triggers a STYLE-WARNING during compilation. + See for details. + * Redefinition warnings are now of type STYLE-WARNING. + Some CLOS warnings are now of type STYLE-WARNING. + See + and + for details. + * FFI now converts REALs to FLOATs automatically as necessary. + * New user variable CUSTOM:*MODULE-PROVIDER-FUNCTIONS* allows user to + influence behavior of REQUIRE. + See for details. + * The readline-based completion facility is now more customizable. + See for details. + * New declaration DYNAMICALLY-MODIFIABLE disables GF-ALREADY-CALLED-WARNING. + See + for details. + * Function EXT:STREAM-HANDLES returns the OS file handles for the stream. + It has been present since 2.36 in package SOCKET but was not documented. + See for details. + * To help distributors distribute memory images of clisp applications in + package repositories, clisp has three new command-line options: + $ clisp [-K linking-set] -memfile-hash + Prints the hash code of the mem file binary interface. + $ clisp [-K linking-set] -memfile-hash-of mem-file + Prints the hash code of the mem file binary interface that was used to + create this mem-file. + $ clisp [-K linking-set] -memfile-compatible mem-file + Returns 0 or 1, depending whether this mem-file is compatible with the + linking-set or not. + See for how to use + these options. + * Module SYSCALLS: + + New function POSIX:FILE-TREE-WALK calls nftw(). + See for details. + + New function POSIX:GETDATE calls getdate(). + See for details. + + New macro POSIX:WITH-SUBPROCESSES temporarily enables SIGCLD so that + functions POSIX:WAIT, LINUX:wait and LINUX:waitpid work (bug#592). + See for details. + + Function POSIX:USAGE now accept an optional argument and returns a + single value. + See for details. + * Module berkeley-db now supports Berkeley-DB 5.1. + (Older versions are, of course, still supported). + See for details. + * Module pari now supports PARI 2.9.3 and most of the interface + functions are generated automatically. + See for details. + * Fix documentation strings handling for structs (bug#561). + * Fix SCREEN behavior when the window is resized. + * Pass the top-level configure arguments --build= & --host= + to the module configures (bug#566). + * Fix PROBE-PATHNAME behavior on win32 and on open file streams (bug#570). + * Fix handling of huge byte arrays on 64-bit platforms (bug#571). + * Fix LOADing corrupt FAS files (bug#578). + * Fix interaction of *DEFAULT-PATHNAME-DEFAULTS* with REQUIRE (bug#579). + * Correctly bind *LOAD-PATHNAME* in LOAD (bug#584). + * Fix OS:FILE-INFO on files with corrupt times (bug#581). + * Make wrong keyword argument a STYLE-WARNING in the presence of + :ALLOW-OTHER-KEYS T (bug#588). + * Fix LOOP mixing WITH & Hash Table FOR (bug#585); + avoid destructuring null patterns (bug#414); + detect incomplete FOR clauses (bug#572); + check whether DO clauses are compound forms (bug#711); + warn on REPEAT before FOR (bug#604). + * Fix SOCKET-CONNECT with non-0 timeout (bug#587). + * Reduce consing in HANDLER-BIND et al (bug#582). + * Implement :NO-HANG and :INTERACTIVE in WRITE-BYTE-SEQUENCE for all + sequences, not just byte vectors (bug#586). + * Fix protocol argument handling in POSIX:SERVICE (bug#596). + * Fix (SETF (VALUES (VALUES) ...) ...) (bug#597). + * Fix handling properties with "format=32" in NEW-CLX on 64-bit + machines (bug#598); handle more host families in XLIB:ACCESS-HOSTS. + * Do not ignore user-supplied print methods for user-defined + SIMPLE-CONDITIONs (bug#605). + * Better argument checking of FUNCALL on LAMBDA (bug#603). + * All truenames now have non-NIL version component (bug#606). + * Fix OS:FILE-STAT on very large files (bug#626). + * Fix error that occurred when constructing the dispatch code of generic + functions with a method that specializes on SEQUENCE (bug#628). + * Improve dotted list detection in APPLY (bug#636). + * Signal TYPE-ERROR in LOGICAL-PATHNAME-TRANSLATIONS on invalid + logical host as per ANSI (bug#638). + * Fix run-time error reporting in compiled FORMAT calls (bug#631). + * Fix symlink to directory handling (bug#625). + * PCRE-EXEC returns character positions instead of byte positions. + * Fix COMPILE-FILE-PATHNAME logical pathname handling (bug#677). + * Streams returned by MAKE-STREAM may be passed to TRUENAME (bug#679). + * Do not signal the CLOS:GF-ALREADY-CALLED-WARNING on Gray streams. + * Improve consistency in declaration handling (bug#702). + * Package locks are checked by DECLARATION and DEFTYPE (bug#701). + * Allow spaces in file names of clisp scripts (bug#699). +- Remove obsolete patches clisp-2.39-clx.dif and clisp-arm.patch +- Modify patches + * clisp-2.39-ia64-wooh.dif + * clisp-2.49-configure.dif + * clisp-2.49-personality.patch + * clisp-2.49-rpath.dif + * clisp-link.dif + * clisp-linux.patch + +------------------------------------------------------------------- +Thu Dec 7 11:04:09 UTC 2017 - dimstar@opensuse.org + +- Escape the usage of %{VERSION} when calling out to rpm. + RPM 4.14 has %{VERSION} defined as 'the main packages version'. + +------------------------------------------------------------------- +Thu Nov 9 08:36:26 UTC 2017 - dimstar@opensuse.org + +- Rename README.SuSE to README.SUSE, adhering to the correct + spelling. + +------------------------------------------------------------------- +Thu Sep 14 12:23:38 UTC 2017 - werner@suse.de + +- cfree() is missed now in (g)libc + +------------------------------------------------------------------- +Thu Jul 27 13:29:56 UTC 2017 - werner@suse.de + +- Try to build on all platforms with new configure option + --enable-portability ... let us see if this works + +------------------------------------------------------------------- +Thu Jul 27 13:08:17 UTC 2017 - werner@suse.de + +- Update to Mercurial source code from 2017/06/25 + aka test version 2.49.60+ +- Modify the patches + * clisp-2.49-configure.dif + * clisp-2.49-gctoken.dif + * clisp-2.49-rpath.dif + * clisp-arm.patch + * clisp-link.dif +- Remove patch modules_readline_readline.lisp.patch + as now the version of readline library is automatically detected + +------------------------------------------------------------------- +Fri Feb 10 08:52:25 UTC 2017 - werner@suse.de + +- Collect some informations on the build system for debugging + a random error on sockets during test suite + +------------------------------------------------------------------- +Thu Jan 19 12:20:06 UTC 2017 - werner@suse.de + +- Remove -L option on screen call dues API change, now we depend + on environment variables only. + +------------------------------------------------------------------- +Tue Nov 29 13:45:20 UTC 2016 - werner@suse.de + +- Update to Mercurial source code from 2016/11/28 + * which shows 2630 new lines in src/Changelog + * Support of new CPU types as well as better 64bit architectures +- Remove patches clisp-glibc-fix.patch and clisp-hostname.patch + as now upstream +- Modify the patches + clisp-2.39-clx.dif + clisp-2.39-ia64-wooh.dif + clisp-2.49-clx_demos.dif + clisp-2.49-configure.dif + clisp-2.49-personality.patch + clisp-2.49-rpath.dif + clisp-db6.diff + clisp-linux.patch +- Add patch clisp-link.dif to get module asdf for console + support well done + +------------------------------------------------------------------- +Thu Oct 27 10:52:29 UTC 2016 - werner@suse.de + +- Add patch modules_readline_readline.lisp.patch to reflect the + API change in libreadline in rl_readline_state(3) (boo#1007196) + +------------------------------------------------------------------- +Fri Aug 14 12:53:11 UTC 2015 - normand@linux.vnet.ibm.com + +- add ppc64le to list of ExcludeArch + related to src/lispbibl.d "CLISP not ported to this platform" + +------------------------------------------------------------------- +Sat Jun 15 14:27:43 UTC 2013 - jengelh@inai.de + +- Add clisp-db6.diff to resolve compile abort with libdb-6.0 +- Remove unused %xarch macro; use automirror-selection Source URL + +------------------------------------------------------------------- +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 + +- This (split up) package is one of three changes in order to make + clisp build on armv7l and other platforms. (SR#172680) + +------------------------------------------------------------------- +Wed Apr 3 17:35:18 UTC 2013 - dvaleev@suse.com + +- src/socket.d (get_hostname): turn into a function and allocate the + array in the caller to support gcc 4.7 [patch#3474660] + fixes ppc socket.d failing test. (clisp-hostname.patch) + +------------------------------------------------------------------- +Wed Nov 28 15:03:30 UTC 2012 - toganm@opensuse.org + +- Fix build with glibc 2.17 (clisp-glibc-fix.patch) + * 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 + +- Fix build with glibc 2.16 (clisp-linux.patch taken from Fedora). + +------------------------------------------------------------------- +Fri Jul 13 06:43:29 UTC 2012 - adrian@suse.de + +- disable stackoverflow tests in qemu builds (fixes arm) + +------------------------------------------------------------------- +Wed Apr 18 16:04:38 UTC 2012 - dvaleev@suse.com + +- fix libsigsegv link. To make service run happy + +------------------------------------------------------------------- +Tue Mar 27 18:14:39 UTC 2012 - sweet_f_a@gmx.de + +- update to libsigsegv 2.9 to fix ppc build + +------------------------------------------------------------------- +Tue Jan 17 15:01:26 UTC 2012 - sweet_f_a@gmx.de + +- don't use deprecated macro suse_update_config +- remove berkeley-db.dif +- strip needs writable files + +------------------------------------------------------------------- +Sun Dec 18 15:49:35 UTC 2011 - sweet_f_a@gmx.de + +- minor portability fixes: + * don't call autoreconf for libsigsegv (not needed since sigsegv patch + has been removed in lately) + * require fdupes, dbus-1-devel and xorg-x11-devel only on recent suse + +------------------------------------------------------------------- +Mon Dec 5 12:01:05 UTC 2011 - werner@suse.de + +- Use _service to avoid silly osc checks + +------------------------------------------------------------------- +Fri Dec 2 08:37:00 UTC 2011 - werner@suse.de + +- Avoid download of ffcall-1.10+2.43 +- Convert libsigsegv-2.6.tar from bz2 to gz as build system is not + smart enough to detect and change the compression format + +------------------------------------------------------------------- +Fri Dec 2 07:42:14 UTC 2011 - coolo@suse.com + +- add automake as buildrequire to avoid implicit dependency + +------------------------------------------------------------------- +Sat Sep 17 23:05:18 UTC 2011 - jengelh@medozas.de + +- Remove redundant tags/sections from specfile + +------------------------------------------------------------------- +Wed Oct 6 20:36:32 UTC 2010 - aj@suse.de + +- Use fdupes +- Fix rpmlintrc for lib64. + +------------------------------------------------------------------- +Thu Jul 15 15:09:10 CEST 2010 - werner@suse.de + +- Update 2.49 + * FFI:OPEN-FOREIGN-LIBRARY now accepts the :REQUIRE argument. + * New user variable CUSTOM:*USER-LIB-DIRECTORY* is respected by REQUIRE + and used by "clisp-link install". + Dynamic modules are now the default build option. + * Function RENAME-FILE now accepts :IF-EXISTS argument which determines + the action when the destination exists, unless, of course, *ANSI* is T. + * The replacement value entered by the user in STORE-VALUE and USE-VALUE + restarts is now EVALuated. + * The old user variable CUSTOM:*PRINT-CLOSURE* now controls interpreted + closure output too (RFE#3001956). This is a tricky feature, read up! + * Module readline now supports readline 6.1. + * Module pcre now supports pcre 8.01. + * Module libsvm does not come with the upstream sources anymore, install + locally and pass --with-libsvm-prefix to the top-level configure instead. + All upstream versions up to 2.91 are supported. + * Module berkeley-db now supports Berkeley-DB 4.8. + * Module postgresql now supports PostgreSQL 8.4. + * Module pari has been updated to support both 64 & 32 bit platforms + with and without GMP. + * New functions OS:VERSION-COMPARE et al call strverscmp. + * Multiple threads of execution are now experimentally supported + (not ready for prime time yet). + * Module libsvm has been upgraded to the upstream version 2.89. + * Module Berkeley-DB now supports Berkeley DB 4.7. + (older versions 4.* are, of course, still supported). + * Module readline now supports readline 6.0. + (older versions 5.* are, of course, still supported). + * Passing :EXECUTABLE 0 to EXT:SAVEINITMEM results in an executable + image which delegates processing of all the usual CLISP command line + options to the :INIT-FUNCTION. + * Driver clisp accepts "-b" to print the installation directory. + * Add file clisp.m4 so that the packages which use CLISP can check + whether it is properly installed and has the required version. + * POSIX:COPY-FILE now accepts :METHOD :HARDLINK-OR-COPY. + * New function POSIX:WAIT calls waitpid or wait4. + * New function EXT:TRIM-IF removes leading and trailing matches. + * New user command "LocalSymbols" (abbreviated ":ls"). + * Commands "add" and "create" replace "add-module-set", "add-module-sets" and + "create-module-set" in clisp-link. + * New module DBUS interfaces to the D-Bus message bus system. + * New function EXT:PROBE-PATHNAME can figure out whether the existing + pathname refers to a file or a directory. + * New function EXT:CANONICALIZE lets you easily canonicalize a value + before processing it. + * New user variable CUSTOM:*REOPEN-OPEN-FILE* controls CLISP behavior + when opening an already open file. + * New SETFable function OS:FILE-SIZE extends FILE-LENGTH to pathname + designators and lets you change file size. + New function OS:USER-SHELLS returns the list of legal user shells. + New SETFable functions OS:HOSTID and OS:DOMAINNAME. + * LOAD now uses DIRECTORY only for wild *LOAD-PATHS* components, thus + speeding up the most common cases and preventing the denial-of-service + attack whereas CLISP would not start if a file with a name + incompatible with *PATHNAME-ENCODING* is present in USER-HOMEDIR-PATHNAME. + * ROOM now prints some GC statistics and returns the same values as GC. + * New user variable CUSTOM:*HTTP-LOG-STREAM* controls EXT:OPEN-HTTP logging. + * CLISP built natively on 64-bit platforms (i.e., with 64-bit pointers) + now has :WORD-SIZE=64 in *FEATURES*. + * Module syscalls now offers OS:ERRNO and OS:STRERROR (for the sake of + FFI modules). + * Modules MIT-CLX and NEW-CLX export a new macro XLIB:WITH-OPEN-DISPLAY. + * Module netica has been upgraded to the Netica C API version 3.25 (from 2.15). + * Module libsvm has been upgraded to the upstream version 2.86. + * The top-level configure option --build has been replaced by --cbc + (Configure/Build/Check) to avoid conflict with the standard autoconf option. + * Experimental Just-In-Time Compilation of byte-compiled closures is now + done using GNU lightning (this is a configure-time option). + * New command-line option -lp adds directories to *LOAD-PATHS*. + * New function FFI:OPEN-FOREIGN-LIBRARY allows pre-opening of shared libraries. + * New macro EXT:COMPILE-TIME-VALUE allows computing values at file compilation. + * New function FFI:FOREIGN-POINTER-INFO allows some introspection. + * Versioned library symbols are now accessible via the :VERSION argument of + DEF-CALL-OUT and DEF-C-VAR. + * New functions GRAY:STREAM-READ-SEQUENCE and GRAY:STREAM-WRITE-SEQUENCE have + been added for portability reasons. + * New user variable CUSTOM:*SUPPRESS-SIMILAR-CONSTANT-REDEFINITION-WARNING* + controls whether the redefinition warning is issues when the new + constant value is visually similar to the old one. + * REPL commands can now accept arguments. + * Bug fixes: + + Do not eliminate function calls which are advertised to have + exceptional situation in unsafe code (bug#2868166). + + Fix an internal error in DECLAIM on bad OPTIMIZE quality (bug#2868147). + + CLEAR-INPUT now clears the EOF condition on file streams (bug#2902716). + + When quitting on a signal, never enter the debugger (bug#2795278). + + Respect :FULL T in DIRECTORY :WILD-INFERIORS (bug#3009966). + + Handle TWO-WAY-STREAM and ECHO-STREAM correctly by + (SETF STREAM-EXTERNAL-FORMAT) (bug#3020933). + + Fix unbuffered output pipe stream initialization (bug#3024887). + + Better support of :START and :END arguments in NEW-CLX (bug#2159172). + + Fix LOAD-LOGICAL-PATHNAME-TRANSLATIONS when *LOAD-PATHS* contains + wild pathnames (introduced in 2.47) (bug#2198109). + + Module NEW-CLX now has the XLIB:QUEUE-EVENT function, + + Extend the domain of LOG to larger BIGNUMs and RATIOs (bug#1007358). + + Avoid a segfault on (EXPT ) (bug#2807311). + + Fix interaction of finalizers and weak objects (bug#1472478). + + Comparison of floats and rationals never underflows (bug#2014262). + + When failing to convert a huge LONG-FLOAT to a RATIONAL, signal an + ARITHMETIC-ERROR instead of blowing the stack (bug#2015118). + + Restored TYPECODES g++ compilation (bug#1385641), which allowed fixing + a few GC-safety bugs. + + Fixed a segfault when signaling some UNBOUND-VARIABLE errors in some + interpreted code on MacOS X (introduced in 2.46) (bug#2020784). + + Fixed input after switching a :DOS stream to binary (bug#2022362). + + Support circular objects in EQUAL and EQUALP hash-tables (bug#2029069). + + Avoid C namespace pollution (bug#2146126). + + Fix timeout precision in NEW-CLX (bug#2188102). + + Work around the absence of tgamma on solaris (bug#1966375). + + Avoid a rare segfault on SIGHUP (bug#1956715). + + Improve module portability to systems with non-GNU make (bug#1970141). + + Fix GRAY:STREAM-READ-SEQUENCE and GRAY:STREAM-WRITE-SEQUENCE (bug#1975798). + + Fix the remaining bugs in special bindings in evaluated code on + TYPECODES (64-bit) platforms. + + Fix SOCKET:SOCKET-CONNECT with timeout to a dead port (bug#2007052). + + Fix handling of quoted objects by READ-PRESERVING-WHITESPACE (bug#1890854). + + Fix rectangle count in NEW-CLX XLIB:SET-GCONTEXT-CLIP-MASK (bug#1918017). + + Fix argument handling in NEW-CLX XLIB:QUERY-COLORS (bug#1931101). + + Fix compilation on systems not supporting returning void (bug#1924506). + + Fix TANH floating point overflow for large floats (bug#1683394). + + Avoid extra aggressive bignum overflow reporting in READ (bug#1928735). + + Improved floating point number formatting. (bug#1790496, bug#1928759) + + COMPILE no longer discards MACRO doc strings (bug#1936255). + + Improved accuracy of LOG on complex numbers (bug#1934968). + + Fix COERCE for compound float result-types (bug#1942246). + + Fix $http_proxy parsing (bug#1959436). + + Fix LISTEN on buffered streams when the last character was + CRLF (bug#1961475). + + Cross-compilation process has been restored to its former glory, + thanks to the valiant and persistent testing by + (bug#1928920, bug#1929496, bug#1929516, bug#1931097) + * ANSI compliance: + + Implement the ANSI issue COMPILER-DIAGNOSTICS:USE-HANDLER: use the + CL Condition System for compiler diagnostics. + + STREAM-ELEMENT-TYPE on empty CONCATENATED-STREAMs now returns NIL + because nothing can be read from such streams (bug#3014921). + + Implement the ANSI (IGNORE #'FUNCTION) declaration. + + The sets of declaration and type names are disjoint. + + FLET, LABELS and MACROLET respect declarations. + + +------------------------------------------------------------------- +Wed Apr 21 14:35:56 UTC 2010 - coolo@novell.com + +- found patch to avoid endless configure + +------------------------------------------------------------------- +Tue Nov 3 19:09:10 UTC 2009 - coolo@novell.com + +- updated patches to apply with fuzz=0 + +------------------------------------------------------------------- +Wed Aug 26 12:53:54 CEST 2009 - mls@suse.de + +- make patch0 usage consistent + +------------------------------------------------------------------- +Thu Mar 5 15:54:47 CET 2009 - crrodriguez@suse.de + +- build this package against newer Berkeley DB, so db43 can be + dropped as nothing else depends on it. + +------------------------------------------------------------------- +Tue Feb 26 13:45:14 CET 2008 - werner@suse.de + +- Update 2.44.1 + + * Portability: + + Add a workaround against a gcc 4.2.x bug. + + Make it work with gcc 4.3 snapshots. + + * CLISP does not come with GNU libffcall anymore. + This is now a separate package and should be installed separately. + Pass --with-libffcall-prefix to the top-level configure if it is not + installed in a standard place. + Option --with-dynamic-ffi is now replaced with --with-ffcall. + + * CLOS now issues warnings of type CLOS:CLOS-WARNING. + See + for details. + + * The AFFI (simple ffi, originally for Amiga) code has been removed. + + * Speed up list and sequence functions when :TEST is EQ, EQL, EQUAL or EQUALP. + + * Rename EXT:DELETE-DIR, EXT:MAKE-DIR, and EXT:RENAME-DIR to + EXT:DELETE-DIRECTORY, EXT:MAKE-DIRECTORY, and EXT:RENAME-DIRECTORY, + respectively, for consistency with EXT:PROBE-DIRECTORY, + EXT:DEFAULT-DIRECTORY and CL:PATHNAME-DIRECTORY. + The old names are still available, but deprecated. + + * The :VERBOSE argument to SAVEINITMEM defaults to a new user variable + *SAVEINITMEM-VERBOSE*, intial value T. + See for details. + + * Bug fixes: + + Fix FRESH-LINE at the end of a line containing only TABs. [ 1834193 ] + + PPRINT-LOGICAL-BLOCK no longer ignores *PRINT-PPRINT-DISPATCH-TABLE*. + [ 1835520 ] + + BYTE is now a full-fledged type. [ 1854698 ] + + Fix linux:dirent definition in the bindings/glibc module. [ 1779490 ] + + Symbolic links into non-existent directories can now be deleted. [ 1860489 ] + + DIRECTORY :FULL on directories now returns the same information as + on files. [ 1860677 ] + + CLISP no longer hangs at the end of a script coming via a pipe + ("clisp < script.lisp" or "cat script | clisp"). [ 1865567 ] + + When *CURRENT-LANGUAGE* is incompatible with *TERMINAL-ENCODING*, + CLISP no longer goes into an infinite recursion trying to print + various help messages. [ 1865636 ] + + Fix the "Quit" debugger command. [ 1448744 ] + + Repeated terminating signals kill CLISP instantly with the correct + exit code. [ 1871205 ] + + Stack inspection is now safer. [ 1506316 ] + + Errors in the RC-file and init files are now handled properly. [ 1714737 ] + + Avoid the growth of the restart set with each image save. [ 1877497 ] + + Handle foreign functions coming from the old image which cannot be + validated. [ 1407486 ] + + Fix signal code in bindings/glibc/linux.lisp. [ 1781476 ] + +------------------------------------------------------------------- +Thu Jan 24 15:28:13 CET 2008 - werner@suse.de + +- Correct vim site path to current used one + +------------------------------------------------------------------- +Sun Jan 13 11:58:35 CET 2008 - coolo@suse.de + +- fix file list for vim + +------------------------------------------------------------------- +Tue Dec 18 14:51:46 CET 2007 - werner@suse.de + +- Use -ffloat-store on on i386 to avoid the previous bug +- Reorder -f options and -D defines of gcc + +------------------------------------------------------------------- +Mon Dec 17 15:09:09 CET 2007 - werner@suse.de + +- Add workaround to gcc bug in -O2 on i386 + +------------------------------------------------------------------- +Fri Dec 14 17:02:38 CET 2007 - werner@suse.de + +- Update to 2.43 + + * Infrastructure: + + Top-level configure now accepts a new option --vimdir which specifies + the installation directory for the VIM files (lisp.vim). + The default value is ${datadir}/vim/vimfiles/after/syntax/. + Thus, lisp.vim is now installed by "make install", and should + be included in the 3rd party distributions. + + Top-level configure now always runs makemake, and makemake no longer is + a "user-level" command; do not run it unless you know what you are doing. + This brings the CLISP build process in compliance with the GNU standards. + + We now use gnulib-tool to sync with gnulib (not really user visible, + but a major infrastructure change). + + * Portability: + + Support for ancient systems with broken CPP have been dropped. + This includes AIX 4.2, Coherent386, Ultrix, MSVC4, MSVC5. + + NeXT application (GUI) code has been removed. Plain TTY is still supported. + + * Module berkeley-db now supports Berkeley DB 4.5 & 4.6. + + * Bug fixes: + + FORCE-OUTPUT breakage on MacOS X when stdout is not a terminal. [ 1827572 ] + + Fixed *PRINT-PPRINT-DISPATCH* binding in WITH-STANDARD-IO-SYNTAX. + [ 1831367 ] + +- Update to 2.42 + + * New module gtk2 interfaces to GTK+ v2 and makes it possible to build + GUI with Glade. + Thanks to James Bailey for the original code. + See for details. + + * New module gdbm interfaces to GNU DataBase Manager. + Thanks to Masayuki Onjo . + See for details. + + * A kind of Meta-Object Protocol for structures is now available. + See for details. + + * Module libsvm has been upgraded to the upstream version 2.84. + See for details. + + * NEW-CLX module now supports Stumpwm . + Thanks to Shawn Betts . + New NEW-CLX demos: bball bwindow greynetic hanoi petal plaid recurrence from + . + New NEW-CLX demo: clclock based on . + New function XLIB:OPEN-DEFAULT-DISPLAY from portable CLX. + + * Function EXT:ARGLIST now works on macros too. + See for details. + + * Macro TRACE has a new option :BINDINGS, which is useful to share data + between PRE-* and POST-* forms. + See for details. + + * Macro FFI:DEF-C-TYPE can now be called with one argument to define an + integer type. + See for details. + + * New function EXT:RENAME-DIR can be used to rename directories. + See for details. + + * Functions FILE-LENGTH and FILE-POSITION now work on unbuffered streams too. + See for details. + + * Bug fixes: + + Fixed EXT:LETF to work with more than one place. [ 1731462 ] + + Fixed rounding of long floats [even+1/2]. [ 1589311 ] + + Fixed stdio when running without a TTY, e.g., under SSH. [ 1592343 ] + + ANSI compliance: PPRINT dispatch is now respected for nested + objects, not just the top-level. [ 1483768, 1598053 ] + + Fixed print-read-consistency of strings containing #\Return characters + (manifested by COMPILE-FILE). [ 1578179 ] + + Fixed "clisp-link run". [ 1469663 ] + + Fixed ATANH branch cut continuity. [ 1436987 ] + + Reset the function lambda expression when loading a compiled file. + [ 1603260 ] + + DOCUMENTATION set by SETF is now preserved by COMPILE. [ 1604579 ] + + LISTEN now calls STREAM-LISTEN as per the Gray proposal. [ 1607666 ] + + IMPORT into the KEYWORD package does not make a symbol a constant + variable. [ 1612859 ] + + DEFPACKAGE code was executed during non top-level compilation. [ 1612313 ] + + Fixed format error message formatting. [ 1482465 ] + + Fixed *PPRINT-FIRST-NEWLINE* handling. [ 1412454 ] + + Improved hash code generation for very large bignums and for long lists. + [ 948868, 1208124 ] + + Some bugs related to UNICODE-16 & UNICODE-32. [ 1564818, 1631760, 1632718 ] + + All exported defined symbols are now properly locked. [ 1713130 ] + + Berkeley-DB module no longer fills up error log file. [ 1779416 ] + + New-clx now supports 64-bit KeySym. [ 1797132 ] + +------------------------------------------------------------------- +Tue May 22 15:43:32 CEST 2007 - ro@suse.de + +- update to 2.41 + * New module libsvm interfaces to + and makes Support Vector Machines available in CLISP. + See for details. + + * The same internal interface now handles FFI forms DEF-CALL-OUT and + DEF-C-VAR regardless of the presence of the :LIBRARY argument. + (:LIBRARY NIL) is now identical to omitting the :LIBRARY argument. + The default for the :LIBRARY argument is set by + FFI:DEFAULT-FOREIGN-LIBRARY per compilation unit. + See for details. + + * Bug fixes: + + DOCUMENTATION on built-in functions was broken on some platforms. + [ 1569234 ] + + Fixed FFI callbacks, broken since the 2.36 release. + + Fixed the way the top-level driver handles the "--" option terminator. + + Fixed COMPILE of APPLY in LABELS for local function. [ 1575946 ] + +- update to 2.40 + + Important notes + --------------- + + * All .fas files generated by previous CLISP versions are invalid and + must be recompiled. This is because DOCUMENTATION and LAMBDA-LIST are + now kept with the closures. + Set CUSTOM:*LOAD-OBSOLETE-ACTION* to :COMPILE to automate this. + See for details. + + User visible changes + -------------------- + + * Infrastructure + + Top-level configure now accepts a new option --elispdir which specifies + the installation directory for the Emacs Lisp files (clhs.el et al). + The default value is ${datadir}/emacs/site-lisp/. + Thus, clhs.el at al are now installed by "make install", and should + be included in the 3rd party distributions. + + Top-level configure now accepts variables on command line, e.g., + ./configure CC=g++ CFLAGS=-g + + * Function PCRE:PCRE-EXEC accepts :DFA and calls pcre_dfa_exec() when + built against PCRE v6. See . + + * New functions RAWSOCK:IF-NAME-INDEX, RAWSOCK:IFADDRS. + See . + + * When the OPTIMIZE SPACE level is low enough, keep function + documentation and lambda list. + See . + + * Bug fixes: + + Make it possible to set *IMPNOTES-ROOT-DEFAULT* and *CLHS-ROOT-DEFAULT* + to local paths, as opposed to URLs. [ 1494059 ] + + Fix the evaluation order of initialization and :INITIALLY forms in + then extended LOOP. [ 1516684 ] + + Do not allow non-symbols as names of anonymous classes. [ 1528201 ] + + REINITIALIZE-INSTANCE now calls FINALIZE-INHERITANCE. [ 1526448 ] + + Fix the RAWSOCK module on big-endian platforms. [ 1529244 ] + + PRINT-OBJECT now works on built-in objects. [ 1482533 ] + + ADJUST-ARRAY signals an error if :FILL-POINTER is supplied and non-NIL + but the non-adjustable array has no fill pointer, as per ANSI. [ 1538333 ] + + MAKE-PATHNAME no longer ignores explicit :DIRECTORY NIL (thanks to + Stephen Compall ). [ 1550803 ] + + Executable images now work on ia64 (thanks to Dr. Werner Fink + ). + + MAKE-PATHNAME on win32 now handles correctly directories that start + with a non-string (e.g., :WILD). [ 1555096 ] + + SOCKET-STREAM-PEER and SOCKET-STREAM-LOCAL had do-not-resolved-p + inverted since 2.37. + + Set functions with :TEST 'EQUALP were broken on large lists. [ 1567186 ] + + +------------------------------------------------------------------- +Mon Apr 23 21:30:57 CEST 2007 - aj@suse.de + +- Remove unneeded BuildRequires. + +------------------------------------------------------------------- +Wed Jan 24 11:36:01 CET 2007 - werner@suse.de + +- Stop compiler complaining about x = x++ +- Use db-4.3 instead of db-4.4, the breaking all former versions + +------------------------------------------------------------------- +Mon Oct 30 00:42:12 CET 2006 - ro@suse.de + +- disabled berkeley-db module for the moment to fix build + needs porting to db-4.4 + +------------------------------------------------------------------- +Wed Jul 19 17:40:53 CEST 2006 - werner@suse.de + +- Update to clisp version 2.39 + * Many bug fixes and new features +- With a real bug fix for last crash on ia64 +- Add a new workaround for a new random crash on ia64 + +------------------------------------------------------------------- +Thu Jun 22 18:10:50 CEST 2006 - ro@suse.de + +- remove self provides + +------------------------------------------------------------------- +Tue May 23 18:12:47 CEST 2006 - werner@suse.de + +- Skip exec-image test on ia64, currently broken +- Use noexec heap codes on 32 bit architectures + +------------------------------------------------------------------- +Mon May 22 18:14:49 CEST 2006 - werner@suse.de + +- Update to clisp 2.38 + +------------------------------------------------------------------- +Tue Mar 21 13:29:37 CET 2006 - werner@suse.de + +- Be sure not to be fooled by old kernels on IA64 + +------------------------------------------------------------------- +Mon Mar 13 17:25:51 CET 2006 - werner@suse.de + +- Be sure that the stack size limit is large enough to be able + to dump the resulting clisp image. + +------------------------------------------------------------------- +Sun Feb 5 11:40:24 CET 2006 - schwab@suse.de + +- Remove ridiculous stack limit. + +------------------------------------------------------------------- +Wed Jan 25 21:35:03 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Tue Jan 10 16:27:05 CET 2006 - werner@suse.de + +- Update to bug fix release 2.37 + +------------------------------------------------------------------- +Wed Dec 21 16:26:51 CET 2005 - werner@suse.de + +- Make the factorials of 17 upto 33 work on 64 bit without SIGSEGV + +------------------------------------------------------------------- +Wed Dec 7 17:19:17 CET 2005 - werner@suse.de + +- Update to clisp 2.36 + +------------------------------------------------------------------- +Mon Sep 5 17:04:55 CEST 2005 - werner@suse.de + +- Update to clisp 2.35 + +------------------------------------------------------------------- +Thu Apr 14 17:30:43 CEST 2005 - werner@suse.de + +- Get clisp back on ix86 + +------------------------------------------------------------------- +Wed Jan 12 12:12:39 CET 2005 - mfabian@suse.de + +- Bugzilla #39700: apply patch received from Bruno Haible to fix + a problem with non-ASCII file names. + +------------------------------------------------------------------- +Tue Oct 26 13:41:33 CEST 2004 - werner@suse.de + +- Switch from heimdal-lib to kerberos-devel-packages macro + +------------------------------------------------------------------- +Wed Jun 30 17:41:46 CEST 2004 - werner@suse.de + +- Handle axp just as ia64 in CFLAGS to make it work correctly + +------------------------------------------------------------------- +Tue Jun 29 15:28:31 CEST 2004 - werner@suse.de + +- Make FFI work on ia64 +- Make memory mapping of lisp object work correctly on ia64 + +------------------------------------------------------------------- +Wed Jun 23 19:28:48 CEST 2004 - werner@suse.de + +- Update to clisp 2.33.2 +- Make it work on x86_64 +- Use FFI on s390 because it works +- Currently disable FFI in ia64 because it does not work + +------------------------------------------------------------------- +Fri Feb 20 14:24:46 CET 2004 - werner@suse.de + +- Back to clisp 2.30 because 2.32/2.31 does _not_ support 64bit + systems (work in progress, waiting on 2.33). OK, with 2.30 + and current compiler no of 64 bit systems are running, but + we get abck a s390 clisp version. + +------------------------------------------------------------------- +Fri Feb 13 22:58:10 CET 2004 - kukuk@suse.de + +- Build as normal user +- Cleanup neededforbuild + +------------------------------------------------------------------- +Fri Feb 13 13:56:36 CET 2004 - werner@suse.de + +- Update to clisp 2.32 + +------------------------------------------------------------------- +Wed Nov 19 16:44:56 CET 2003 - max@suse.de + +- Linking libpq dynamically, because it now depends on libkrb5. + +- Added heimdal-lib (libkrb5) to neededforbuild. + +------------------------------------------------------------------- +Thu Jun 12 16:18:01 CEST 2003 - coolo@suse.de + +- use BuildRoot +- use %find_lang + +------------------------------------------------------------------- +Wed Jun 11 05:31:28 CEST 2003 - kukuk@suse.de + +- Fix tail parameters +- Fix filelist + +------------------------------------------------------------------- +Wed Jan 29 16:30:59 CET 2003 - werner@suse.de + +- Get it running with gcc 3.3, with this compiler the TYPECODES + can not determined anymore and uses NO_TYPECODES. + +------------------------------------------------------------------- +Fri Jan 24 19:33:34 CET 2003 - werner@suse.de + +- Update to 2.30 + +------------------------------------------------------------------- +Mon Nov 11 23:49:54 CET 2002 - ro@suse.de + +- changed neededforbuild to +- changed neededforbuild to <> + +------------------------------------------------------------------- +Thu Aug 1 18:32:56 CEST 2002 - werner@suse.de + +- Make it work on i386, on others gcc 3.1 runs into problems + +------------------------------------------------------------------- +Wed Jul 31 16:06:33 CEST 2002 - werner@suse.de + +- Update to 2.29 (mainly for gcc 3.1) +- Use SAFETY=3 for some architectures (currently for + sparc sparcv9 sparc64 s390 s390x x86_64) +- Replace config.guess within all autoconf directories (ppc64?) + +------------------------------------------------------------------- +Wed Jun 26 16:05:41 CEST 2002 - aj@suse.de + +- First draft for x86-64. Still work needed for avcall. + +------------------------------------------------------------------- +Wed Jun 26 13:33:55 CEST 2002 - ro@suse.de + +- update to 2.28 +- build again with gcc-3.1 (use -fno-gcse and -DNO_ASM as proposed) +- use -fPIC for files linked into shared lib +- still needs some porting for x86_64 (processor-defs in lispbibl.d) + +------------------------------------------------------------------- +Mon Jun 24 00:00:09 CEST 2002 - ro@suse.de + +- fix permissions for doc directories + +------------------------------------------------------------------- +Sat Jun 1 18:53:03 UTC 2002 - adrian@suse.de + +- fix build on mips + * fix wrong #includes + * fix as path /bin/as -> /usr/bin/as + +------------------------------------------------------------------- +Thu Aug 23 00:33:50 CEST 2001 - ro@suse.de + +- fixed specfile to build on ppc + +------------------------------------------------------------------- +Wed Jul 11 02:42:10 CEST 2001 - ro@suse.de + +- update to 2.26 +- no autoconf call at the moment + +------------------------------------------------------------------- +Mon May 7 21:19:32 CEST 2001 - mfabian@suse.de + +- bzip2 sources + +------------------------------------------------------------------- +Tue Dec 5 15:21:09 CET 2000 - werner@suse.de + +- Update to 2000.03.06 +- Use postgresql and postgresql-devel +- Change libpq paths accordingly to postgresql-devel +- Make clx demos working as found in README + +------------------------------------------------------------------- +Fri Dec 1 02:01:33 CET 2000 - ro@suse.de + +- neededforbuild: postgresql + +------------------------------------------------------------------- +Mon Jun 5 17:00:57 MEST 2000 - uli@suse.de + +- moved docs to %{_docdir} + +------------------------------------------------------------------- +Mon Jan 31 23:30:03 CET 2000 - ro@suse.de + +- fixed libc6-checking again + +------------------------------------------------------------------- +Mon Jan 31 21:56:21 CET 2000 - werner@suse.de + + - Tried to get PPC working (does NOT work) + - /usr/man -> /usr/share/man + +------------------------------------------------------------------- +Thu Oct 28 17:32:32 CEST 1999 - werner@suse.de + + - Reintroduce FIFO hack for a missed tty + +------------------------------------------------------------------- +Mon Oct 11 22:39:26 CEST 1999 - werner@suse.de + + - New version clisp-1999-07-22 + * remove Makefile.Linux and use spec instead + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +---------------------------------------------------------------------------- +Wed Mar 31 11:58:32 CEST 1999 - werner@suse.de + + - No string inlines + +---------------------------------------------------------------------------- +Tue Mar 30 17:54:43 CEST 1999 - werner@suse.de + + - Work around clisp's buffered *TERMINAL-IO* within a + background build process + +---------------------------------------------------------------------------- +Mon Mar 29 20:52:59 CEST 1999 - werner@suse.de + + - New version clisp-1999-01-08 + - Make -X and -F identical + +---------------------------------------------------------------------------- +Fri Dec 18 21:28:04 MET 1998 - werner@suse.de + + - New version clisp-1998-09-09 + - Change option -F (full version) to option -X + * Split modules into wildcard, regexp, bindings/linuxlibc6 on + one hand and new-clx on the other one. + * Replace normal version with full version without new-clx + * New version including new-clx and all other modules + +---------------------------------------------------------------------------- +Fri Feb 20 00:21:51 MET 1998 - werner@suse.de + + - New Version 1997-12-06 + - clx script removed + - Option -F for clisp added + +---------------------------------------------------------------------------- +Mon Jun 9 21:36:35 MET DST 1997 - werner@suse.de + - Patch for GC in clisp included. + +---------------------------------------------------------------------------- +Fri Jun 6 13:24:35 MET DST 1997 - werner@suse.de + - New package: clisp version 1997-05-03 + - Added nclx version 1996-10-12 a + clx re-implementation of Gilbert Baumann + - clisp+clx is called with /usr/bin/clx + clisp is called with /usr/bin/clisp diff --git a/clisp.spec b/clisp.spec new file mode 100644 index 0000000..88853bc --- /dev/null +++ b/clisp.spec @@ -0,0 +1,408 @@ +# +# spec file for package clisp +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: clisp +Version: 2.49.92 +Release: 0 +Summary: A Common Lisp Interpreter +# Included gllib is GPL-3.0-or-later +License: GPL-2.0-or-later AND GPL-3.0-or-later +Group: Development/Languages/Other +URL: https://gitlab.com/gnu-clisp/clisp +Source: %name-%version.tar.bz2 +Source3: clisp-rpmlintrc +Source4: README.SUSE +# 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 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 +Patch13: clisp-gcc14.patch +Patch14: clisp-link.dif +Patch16: clisp-db6.diff + +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%global vimdir %{_datadir}/vim/site/after/syntax +BuildRequires: FastCGI-devel +BuildRequires: db-devel +BuildRequires: dbus-1-devel +BuildRequires: fdupes +BuildRequires: ffcall +#%ifarch s390x +#BuildRequires: gcc8 +#%endif +BuildRequires: gdbm-devel +BuildRequires: glib2-devel +BuildRequires: gtk2-devel +BuildRequires: libglade2-devel +BuildRequires: libsigsegv-devel +BuildRequires: ncurses-devel +BuildRequires: net-tools +BuildRequires: openssl-devel +BuildRequires: pcre-devel +BuildRequires: pcre2-devel +BuildRequires: postgresql-devel +BuildRequires: readline-devel +BuildRequires: screen +BuildRequires: vim-data +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xaw6) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xpm) +BuildRequires: pkgconfig(zlib) +# +# If set to yes do not forget to add +# gcc-c++ +# to BuildRequires +# +%define debug no +%define _lto_cflags %{nil} +%global rlver %(rpm -q --qf '%%{VERSION}' readline-devel | sed 's/\\.//g') +%define add_optflags(a:f:t:p:w:W:d:g:O:A:C:D:E:H:i:M:n:P:U:u:l:s:X:B:I:L:b:V:m:x:c:S:E:o:v:) \ +%global optflags %{optflags} %{**} +Requires(pre): vim +Requires(pre): vim-data +Requires: ffcall +# CLISP memory image data are compressed with gzip +Requires: /usr/bin/gzip +Provides: %{name}-devel +Suggests: %{name}-doc + +%description +Common Lisp is a high-level, all-purpose programming language. CLISP is +an implementation of Common Lisp that closely follows the book "Common +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/ + +/usr/share/doc/packages/clisp/doc/ + +As well as the conventional CLISP, this package also includes CLX, an +extension of CLISP for the X Window System. The X Window System must be +installed before running the clx command. The description of this CLX +version (new-clx) is placed in + +/usr/share/doc/packages/clisp/clx/ + +with the file README. The subdirectory + +/usr/share/doc/packages/clisp/clx/demos/ + +contains two nice applications. + +%prep +%setup -qT -b0 +%patch -P 1 -p1 -b .sel +%patch -P 2 -p1 -b .wooh +%patch -P 4 -p1 -b .conf +%patch -P 5 -p1 -b .gc +%patch -P 6 -p1 -b .demos +%patch -P 7 -p1 -b .psql +%patch -P 8 -p1 -b .rpath +%patch -P 12 -p1 -b .p12 +%patch -P 13 -p0 -b .p13 +%patch -P 14 -p0 -b .p14 +%patch -P 16 -p1 -b .p16 + +%build +%add_optflags -g3 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE +# +# Overwrite stack size limit (hopefully a soft limit only) +# +ulimit -Ss unlimited || true +ulimit -Hs unlimited || true +unset LC_CTYPE +LANG=POSIX +LC_ALL=POSIX +export LANG LC_ALL +# +# Current system +# +SYSTEM=${RPM_ARCH}-suse-linux +export PATH="$PATH:." +# +# Set gcc command line but do not use CFLAGS +# +if test %debug = yes ; then + CC="g++" +else + CC="gcc" +fi +%ifarch s390x +##RPM_OPT_FLAGS="$(echo %{optflags}|sed -r 's/-fstack-protector-strong ?//g;s/-f(stack-clash-protection)/-fno-\1/') -fno-stack-limit" +%endif +CC="${CC} -g %{optflags} -fno-strict-aliasing -fPIC -pipe" +case "$(uname -m)" in + i[0-9]86) + CC="${CC} -ffloat-store" ;; + arm*) CC="${CC}" ;; + aarch64)CC="${CC}" ;; + ppc) CC="${CC}" ;; + s390) CC="${CC}" ;; + x86_64) CC="${CC} -fno-gcse" ;; + sparc*) CC="${CC} -mcpu=v9 -fno-gcse" ;; + ppc64) CC="${CC} -fno-gcse -mpowerpc64" ;; + ppc64le)CC="${CC} -fno-gcse" ;; + s390x) CC="${CC} -fno-gcse -fno-schedule-insns";; + ia64) CC="${CC} -fno-gcse" ;; + axp|alpha) + CC="${CC}" ;; +esac +# +# FastCGI-devel seems a bit broken +# +CC="${CC} -I%{_includedir}/fastcgi" + +safety='-O' +MYCFLAGS="$(getconf LFS_CFLAGS)" +if grep -q _DEFAULT_SOURCE /usr/include/features.h +then + MYCFLAGS="${MYCFLAGS} -D_GNU_SOURCE -D_DEFAULT_SOURCE" +else + MYCFLAGS="${MYCFLAGS} -D_GNU_SOURCE" +fi +MYCFLAGS="${MYCFLAGS} -Wno-unused -Wno-uninitialized -Wno-implicit-fallthrough -Wno-volatile-register-var" +# From src/makemake.in +# +# Do NOT enable -DSAFETY=3 here, because -DSAFETY=3 not only disables some +# optimizations but also enables some debugging features (STACKCHECKs), which +# is not in the scope of --enable-portability. +# +port='' +%ifarch s390x +##port='--enable-portability' +%endif +case "$(uname -m)" in + i[0-9]86) + MYCFLAGS="${MYCFLAGS}" ;; + arm*) MYCFLAGS="${MYCFLAGS} ${safety}" ;; + aarch64)MYCFLAGS="${MYCFLAGS}" ;; + ppc) MYCFLAGS="${MYCFLAGS}" ;; + s390) MYCFLAGS="${MYCFLAGS}" ;; + x86_64) MYCFLAGS="${MYCFLAGS}" ;; + sparc*) MYCFLAGS="${MYCFLAGS} ${safety}" ;; + ppc64) MYCFLAGS="${MYCFLAGS} ${safety}" ;; + ppc64le)MYCFLAGS="${MYCFLAGS} ${safety}" ;; + s390x) MYCFLAGS="${MYCFLAGS} ${safety}" ;; + ia64) MYCFLAGS="${MYCFLAGS} ${safety}" ;; + axp|alpha) + MYCFLAGS="${MYCFLAGS}" ;; +esac +export CC +export MYCFLAGS +unset noexec nommap safety + +# +# Report final architectures +# +echo $(uname -i -m -p) %_build_arch %_arch +echo | $CC $MYCFLAGS -v -E - 2>&1 | grep /cc1 +# +# Environment for the case of missing terminal +# +%global _configure screen -D -m setarch $(uname -m) -R ./configure +%global _make screen -D -m setarch $(uname -m) -R make +SCREENDIR=$(mktemp -d ${PWD}/screen.XXXXXX) || exit 1 +SCREENRC=${SCREENDIR}/clisp +export SCREENRC SCREENDIR +exec 0< /dev/null +SCREENLOG=${SCREENDIR}/log +cat > $SCREENRC<<-EOF + deflogin off + deflog on + logfile $SCREENLOG + logfile flush 1 + logtstamp off + log on + setsid on + scrollback 0 + silence on + utf8 on + EOF +# +# Build the current system +# +if test %debug = yes ; then + DEBUG=--with-debug + MYCFLAGS="${MYCFLAGS} -g3 -DDEBUG_GCSAFETY" +else + DEBUG="" + MYCFLAGS="${MYCFLAGS}" +fi + +find -name configure | xargs -r \ + sed -ri "/ac_precious_vars='build_alias\$/ {N; s/build_alias\\n//; }" +# +# The modules i18n, syscalls, regexp +# are part of the base clisp system. +# +> $SCREENLOG +tail -q -s 0.5 -f $SCREENLOG & pid=$! +%_configure build ${DEBUG} \ + ${port+"$port"} \ + --prefix=%{_prefix} \ + --exec-prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --vimdir=%{vimdir} \ + --fsstnd=suse \ + --with-readline \ + --with-dynamic-modules \ + --with-gettext \ + --with-module=asdf \ + --with-module=dbus \ + --with-module=editor \ + --with-module=fastcgi \ + --with-module=queens \ + --with-module=gdbm \ + --with-module=gtk2 \ + --with-module=pcre \ + --with-module=rawsock \ + --with-module=zlib \ + --with-module=bindings/glibc\ + --with-module=clx/new-clx \ + --with-module=berkeley-db \ + --with-module=postgresql + +%_make -C build lispbibl.h +grep TYPECODES build/lispbibl.h || : +%_make -C build +%_make -C build check + +# +# Stop tail +# +sleep 1 +kill $pid + +# +# Check for errors +# + +check=no +for err in build/tests/*.erg +do + test -e "$err" || break + check=yes + cat $err +done +if test $check != no +then + type -p uname > /dev/null 2>&1 && uname -a || : + type -p netstat > /dev/null 2>&1 && netstat -i || : + type -p netstat > /dev/null 2>&1 && netstat -x || : + type -p ip > /dev/null 2>&1 && ip link || : + type -p ss > /dev/null 2>&1 && ss -x || : +fi + +# +%install +# +# Clean +# +find modules/clx/ -name '*.demos' | xargs --no-run-if-empty rm -vf +# +# Current system +# +SYSTEM=${RPM_ARCH}-suse-linux +LSPDOC=%{_docdir}/clisp +DOCDOC=${LSPDOC}/doc +CLXDOC=${LSPDOC}/clx +LSPLIB=%{_libdir}/clisp-%{version} +CLXLIB=${LSPLIB}/full +# +# Install the current system +# +setarch $(uname -m) -R make -C build install prefix=%{_prefix} \ + exec_prefix=%{_prefix} \ + mandir=%{_mandir} \ + libdir=%{_libdir} \ + DESTDIR=%{buildroot} \ + INSTALL_DATA="install -cm 0444" + +# +# The CLX interface +# +install -d %{buildroot}${CLXDOC} +install -d %{buildroot}${CLXLIB} +pushd modules/clx/new-clx/ + install -c -m 0444 README %{buildroot}${CLXDOC}/ + install -c -m 0444 %{S:4} %{buildroot}${CLXDOC}/ + tar cf - demos/ | (cd %{buildroot}${CLXDOC}/ ; tar xf - ) +popd +pushd modules/clx/ + tar xfz clx-manual.tar.gz -C %{buildroot}${CLXDOC} +popd +find %{buildroot} -name "*.a" | xargs chmod u+w +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 +rm -rf %{buildroot}${LSPLIB}/new-clx/demos/ +find %{buildroot} -type f | xargs -r chmod u+w +chmod a+x %{buildroot}${LSPLIB}/build-aux/{config,depcomp}* +%fdupes %{buildroot}${LSPLIB}/ +%find_lang clisp +%find_lang clisplow clisp.lang + +%files -f clisp.lang +%defattr(-,root,root,755) +%{_bindir}/clisp +%{_bindir}/clisp-link +%{_libdir}/clisp-%{version}/ +%{_datadir}/aclocal/clisp.m4 +%{_datadir}/emacs/site-lisp/ +%doc %{_datadir}/man/man1/clisp*.1.gz +%{vimdir}/lisp.vim + +%files doc +%defattr(-,root,root,755) +%{_docdir}/clisp/ + +%changelog