Compare commits

..

No commits in common. "rawhide" and "F-8-split" have entirely different histories.

23 changed files with 214 additions and 20815 deletions

1
.cvsignore Normal file
View file

@ -0,0 +1 @@
clisp-2.41.tar.bz2

2
.gitignore vendored
View file

@ -1,2 +0,0 @@
/clisp-*.tar.?z
/clisp-*.tar.bz2

21
Makefile Normal file
View file

@ -0,0 +1,21 @@
# Makefile for source rpm: clisp
# $Id$
NAME := clisp
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View file

@ -1,22 +0,0 @@
# clisp
[ANSI Common Lisp](http://www.lispworks.com/documentation/HyperSpec/Front/) is
a high-level, general-purpose programming language.
[GNU CLISP](https://clisp.sourceforge.io/) is a Common Lisp implementation by
Bruno Haible of Karlsruhe University and Michael Stoll of Munich University,
both in Germany. It mostly supports the Lisp described in the ANSI Common
Lisp standard. It runs on most Unix workstations (GNU/Linux, FreeBSD, NetBSD,
OpenBSD, Solaris, Tru64, HP-UX, BeOS, NeXTstep, IRIX, AIX and others) and on
other systems (Windows NT/2000/XP, Windows 95/98/ME) and needs only 4 MiB of
RAM.
It is Free Software and may be distributed under the terms of GNU GPL, while
it is possible to distribute commercial proprietary applications compiled with
GNU CLISP.
The user interface comes in English, German, French, Spanish, Dutch, Russian
and Danish, and can be changed at run time. GNU CLISP includes an
interpreter, a compiler, a debugger, CLOS, MOP, a foreign language interface,
sockets, i18n, fast bignums and more. An X11 interface is available through
CLX, Garnet, CLUE/CLIO. GNU CLISP runs Maxima, ACL2 and many other Common
Lisp packages.

136
clhs.el
View file

@ -1,136 +0,0 @@
;;; clhs.el --- Access the Common Lisp HyperSpec (CLHS) -*- lexical-binding: t -*-
;; Version: 2
;; Homepage: https://gitlab.com/sam-s/clhs
;; Maintainer: Sam Steingold <sds@gnu.org>
;;; This works with both
;;; * the "long file name" version released by Harlequin and available
;;; at the MIT web site as
;;; http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/FrontMatter/
;;; * the "8.3 file name" version released later by Xanalys/LispWorks and
;;; available at http://www.lispworks.com/documentation/common-lisp.html
;;; This is accomplished by not hard-wiring the symbol->file table
;;; but reading the Data/<map> file instead.
;;; Copyright (C) 2002-2008, 2017, 2019, 2021 Sam Steingold <sds@gnu.org>
;;; Keywords: lisp, common lisp, emacs, ANSI CL, hyperspec
;;; released under the GNU GPL <https://www.gnu.org/copyleft/gpl.html>
;;; as a part of GNU CLISP <https://www.clisp.org>
;;; Usage:
;; (autoload 'clhs-doc "clhs" "Get doc on ANSI CL" t)
;; (define-key help-map "\C-l" 'clhs-doc)
;; (custom-set-variables
;; '(tags-apropos-additional-actions '(("Common Lisp" clhs-doc clhs-symbols))))
;;; Commentary:
;; Kent Pitman and the Harlequin Group (later Xanalys) have made the
;; text of the "American National Standard for Information Technology --
;; Programming Language -- Common Lisp", ANSI X3.226-1994 available on
;; the WWW, in the form of the Common Lisp HyperSpec. This package
;; makes it convenient to peruse this documentation from within Emacs.
;; This is inspired by the Erik Naggum's version of 1997.
;;; Code:
(require 'browse-url)
(require 'thingatpt)
(require 'url)
(defvar clhs-symbols nil)
(defcustom clhs-root "http://clhs.lisp.se/"
;; "http://www.lispworks.com/documentation/HyperSpec/"
;; "http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/html/hyperspec/HyperSpec/"
;; "http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/"
"*The root of the Common Lisp HyperSpec URL.
If you copy the HyperSpec to your local system, set this variable to
something like \"file:/usr/local/doc/HyperSpec/\"."
:group 'lisp
:set (lambda (s v)
(setq clhs-symbols nil)
(set-default s v))
:type 'string)
(defvar clhs-history nil
"History of symbols looked up in the Common Lisp HyperSpec so far.")
(defun clhs-table-buffer (&optional root)
"Create a buffer containing the CLHS symbol table.
Optional argument ROOT specifies the CLHS root location
and defaults to `clhs-root'."
(unless root (setq root clhs-root))
(if (string-match "^file:/" root)
(with-current-buffer (get-buffer-create " *clhs-tmp-buf*")
(insert-file-contents-literally
(let* ((d (concat (substring root 6) "/Data/"))
(f (concat d "Map_Sym.txt")))
(if (file-exists-p f) f
(setq f (concat d "Symbol-Table.text"))
(if (file-exists-p f) f
(error "No symbol table at %s" root))))
nil nil nil t)
(goto-char 0)
(current-buffer))
(let* ((d (concat root "/Data/"))
(f (concat d "Map_Sym.txt")))
(set-buffer (url-retrieve-synchronously f))
(goto-char 0)
(unless (looking-at "^HTTP/.*200 *OK$")
(kill-buffer (current-buffer))
(setq f (concat d "Symbol-Table.text"))
(set-buffer (url-retrieve-synchronously f))
(goto-char 0)
(unless (looking-at "^HTTP/.*200 *OK$")
(kill-buffer (current-buffer))
(error "No symbol table at %s" root)))
;; skip to the first symbol
(search-forward "\n\n")
(current-buffer))))
(defun clhs-read-symbols ()
"Read variable `clhs-symbols' from the current position in the current buffer."
(while (not (eobp))
(puthash (buffer-substring-no-properties ; symbol
(line-beginning-position) (line-end-position))
(progn (forward-line 1) ; file name
(buffer-substring-no-properties ; strip "../"
(+ 3 (line-beginning-position)) (line-end-position)))
clhs-symbols)
(forward-line 1)))
(defun clhs-symbols ()
"Get variable `clhs-symbols' from `clhs-root'."
(if (and clhs-symbols (not (= 0 (hash-table-count clhs-symbols))))
clhs-symbols
(with-current-buffer (clhs-table-buffer)
(unless clhs-symbols
(setq clhs-symbols (make-hash-table :test 'equal :size 1031)))
(clhs-read-symbols)
(kill-buffer (current-buffer))
clhs-symbols)))
;;;###autoload
(defun clhs-doc (symbol-name &optional kill)
"Browse the Common Lisp HyperSpec documentation for SYMBOL-NAME.
Finds the HyperSpec at `clhs-root'.
With prefix arg KILL, save the URL in the `kill-ring' instead."
(interactive (list (let ((sym (thing-at-point 'symbol t))
(completion-ignore-case t))
(completing-read
"Look-up symbol in the Common Lisp HyperSpec: "
(clhs-symbols) nil t sym 'clhs-history))
current-prefix-arg))
(unless (= ?/ (aref clhs-root (1- (length clhs-root))))
(setq clhs-root (concat clhs-root "/")))
(let ((url (concat clhs-root (gethash (upcase symbol-name) (clhs-symbols)))))
(if kill
(kill-new url)
(browse-url url))))
(provide 'clhs)
;;; clhs.el ends here

41
clisp-2.40-doc.patch Normal file
View file

@ -0,0 +1,41 @@
--- documentation.lisp 02 Oct 2006 06:01:24 -0400 1.26
+++ documentation.lisp 03 Oct 2006 10:47:23 -0400
@@ -4,7 +4,7 @@
(in-package "CLOS")
-(defun function-documentation (x)
+(defun function-documentation (x &aux name)
(cond ((typep-class x <standard-generic-function>)
(std-gf-documentation x))
((eq (type-of x) 'FUNCTION) ; interpreted function?
@@ -12,8 +12,7 @@
#+FFI ((eq (type-of x) 'ffi::foreign-function)
(getf (sys::%record-ref x 5) :documentation))
((sys::closurep x) (sys::closure-documentation x))
- ((let ((name (sys::subr-info x))) ; subr
- (and name (get :documentation name))))
+ ((setq name (sys::subr-info x)) (get :documentation name)) ; subr
(t (get :documentation (sys::%record-ref x 0)))))
;;; documentation
@@ -81,7 +80,7 @@
(:method ((x slot-definition) (doc-type (eql 't)))
(slot-definition-documentation x)))
-(defun set-function-documentation (x new-value)
+(defun set-function-documentation (x new-value &aux name)
(cond ((typep-class x <standard-generic-function>)
(setf (std-gf-documentation x) new-value))
((eq (type-of x) 'FUNCTION) ; interpreted function?
@@ -89,8 +88,8 @@
#+FFI ((eq (type-of x) 'ffi::foreign-function)
(setf (getf (sys::%record-ref x 5) :documentation) new-value))
((sys::closurep x) (sys::closure-set-documentation x new-value))
- ((let ((name (sys::subr-info x))) ; subr
- (and name (setf (get :documentation name) new-value))))
+ ((setq name (sys::subr-info x)) ; subr
+ (setf (get :documentation name) new-value))
(t ; fsubr
(setf (get :documentation (sys::%record-ref x 0)) new-value))))

View file

@ -0,0 +1,51 @@
--- configure 2006/10/18 01:36:48 1.104
+++ configure 2007/01/02 21:51:40 1.105
@@ -718,6 +718,17 @@
fi
fi
+# CLISP needs a lot of stack space for bootstrapping,
+# and insufficient stack space manifests itself via arbitrary GC errors.
+# it was believed that 8192 is enough until power5 came along:
+# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=166347
+STACK_LIMIT=16384
+stacksizelimit=`ulimit -s 2>/dev/null || :` # cygwin /bin/sh ulimit is broken
+# need 3 separate test calls because of "integer expression expected" errors
+# when $stacksizelimit is "" or "unlimited" (no short-circuiting!)
+test -z "$stacksizelimit" || { test "$stacksizelimit" != unlimited && test "$stacksizelimit" -lt ${STACK_LIMIT}; }
+STACK_TOO_SMALL=$? # 0=true => need to reset; 1=false => big enough
+
if test -z "$do_build"; then
echo
@@ -729,13 +740,12 @@
echo " ./makemake $makemake_args > Makefile"
echo " make config.lisp"
echo " ${EDITOR:-vi} config.lisp"
- stacksizelimit=`ulimit -s 2>/dev/null || :` # cygwin /bin/sh ulimit is broken
- if test -z "$stacksizelimit" || { test "$stacksizelimit" != unlimited && test "$stacksizelimit" -lt 8192; }; then
+ if [ "${STACK_TOO_SMALL}" = 0 ]; then
cat <<EOF
# The default stack size on your platform is insufficient
-# and must be increased to at least 8192. You must do either
-# 'ulimit -s 8192' (for Bourne shell derivatives, e.g., bash and zsh) or
-# 'limit stacksize 8192' (for C shell derivarives, e.g., tcsh)
+# and must be increased to at least ${STACK_LIMIT}. You must do either
+# 'ulimit -s ${STACK_LIMIT}' (for Bourne shell derivatives, e.g., bash and zsh)
+# or 'limit stacksize ${STACK_LIMIT}' (for C shell derivarives, e.g., tcsh)
EOF
fi
echo " make"
@@ -750,9 +760,9 @@
make config.lisp;
${EDITOR:-vi} config.lisp;
fi
- # ulimit: just to make sure, should not hurt
- # cygwin /bin/sh ulimit is broken
- set +e; ulimit -s 8192 2>/dev/null; set -e;
+ if [ "${STACK_TOO_SMALL}" = 0 ]; then
+ set +e; ulimit -s ${STACK_LIMIT} 2>/dev/null; set -e;
+ fi
make
make check
cd ..

View file

@ -1,10 +0,0 @@
--- src/encoding.d.orig 2024-12-28 00:47:59.000000000 -0700
+++ src/encoding.d 2025-02-04 20:28:22.743346018 -0700
@@ -2592,6 +2592,7 @@ local maygc object encoding_from_name (c
pushSTACK(STACK_0);
}
}
+ free(name);
#else
unused const_name; unused context;
pushSTACK(unbound); /* :charset */

View file

@ -1,33 +0,0 @@
--- src/spvw_fault.d.orig 2017-10-08 11:45:53.000000000 -0600
+++ src/spvw_fault.d 2018-02-18 12:41:32.934240135 -0700
@@ -289,7 +289,7 @@ modexp bool handle_fault_range (int prot
local void xmprotect (aint addr, uintM len, int prot) {
if (mprotect((void*)addr,len,prot) < 0) {
- fprintf(stderr,GETTEXTL("mprotect(0x%lx,%d,%d) failed."),addr,len,prot);
+ fprintf(stderr,GETTEXTL("mprotect(0x%lx,%lu,%d) failed."),addr,(unsigned long)len,prot);
errno_out(OS_errno);
abort();
}
--- src/spvw_language.d.orig 2017-05-25 09:49:04.000000000 -0600
+++ src/spvw_language.d 2018-02-18 12:41:32.934240135 -0700
@@ -172,7 +172,7 @@ global void init_language
{ /* Invalidate the gettext internal caches. */
char *td = textdomain(NULL);
if (NULL == td) {
- ANSIC_ERROR("textdomain",NULL);
+ ANSIC_ERROR("textdomain","");
}
if (NULL == textdomain(td)) {
ANSIC_ERROR("textdomain",td);
--- src/spvw_sigsegv.d.orig 2018-01-09 16:04:26.000000000 -0700
+++ src/spvw_sigsegv.d 2018-03-03 13:52:32.985798284 -0700
@@ -62,7 +62,7 @@ local void print_mem_stats (void) {
/* Put a breakpoint here if you want to catch CLISP just before it dies. */
global void sigsegv_handler_failed (void* address) {
fprint(stderr,"\n");
- fprintf(stderr,GETTEXTL("SIGSEGV cannot be cured. Fault address = 0x%lx."),
+ fprintf(stderr,GETTEXTL("SIGSEGV cannot be cured. Fault address = %p."),
address);
fprint(stderr,"\n");
print_mem_stats();

View file

@ -1,38 +0,0 @@
--- src/stream.d.orig 2024-12-28 00:47:59.000000000 -0700
+++ src/stream.d 2025-02-07 11:47:28.448086694 -0700
@@ -4239,6 +4239,9 @@ global uintL iconv_wcslen (object encodi
!= (size_t)(-1)) {
inptr += sizeof(chart); insize -= sizeof(chart);
} else {
+ var int saved_errno = errno;
+ iconv_close(cd);
+ errno = saved_errno;
if (errno != EILSEQ) {
ANSIC_error();
} else {
@@ -4247,6 +4250,7 @@ global uintL iconv_wcslen (object encodi
}
}
} else {
+ iconv_close(cd);
end_system_call();
error_unencodable(encoding,*(const chart*)inptr);
}
@@ -4317,6 +4321,9 @@ global void iconv_wcstombs (object encod
if (iconv(cd,&inptr1,&insize1,&outptr,&outsize) != (size_t)(-1)) {
inptr += sizeof(chart); insize -= sizeof(chart);
} else {
+ var int saved_errno = errno;
+ iconv_close(cd);
+ errno = saved_errno;
if (errno != EILSEQ) {
ANSIC_error();
} else {
@@ -4325,6 +4332,7 @@ global void iconv_wcstombs (object encod
}
}
} else {
+ iconv_close(cd);
end_system_call();
error_unencodable(encoding,*(const chart*)inptr);
}

View file

@ -1,11 +0,0 @@
--- src/foreign.d.orig 2021-06-28 14:32:42.000000000 -0600
+++ src/foreign.d 2022-02-03 21:52:22.932176743 -0700
@@ -2417,7 +2417,7 @@ local void count_walk_post (object fvd,
{
unused(fvd); unused(obj); unused(walk);
}
-local maygc void convert_to_foreign_needs (object fvd, object obj,
+local maygc __attribute__((noinline)) void convert_to_foreign_needs (object fvd, object obj,
struct foreign_layout *sas)
{
struct walk_lisp walk

View file

@ -1,18 +0,0 @@
Fixes UBSAN errors such as:
../src/spvw_typealloc.d:146:450: runtime error: member access within misaligned address 0x17000000009c for type 'struct s8string_', which requires 8 byte alignment
0x17000000009c: note: pointer points here
53 45 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
--- src/lispbibl.d.orig 2025-02-07 19:25:44.207789666 -0700
+++ src/lispbibl.d 2025-02-10 11:38:31.029348227 -0700
@@ -6006,7 +6006,7 @@ typedef signed_int_with_n_bits(intVsize)
#if defined(I80386) || defined(POWERPC) || defined(ARM) || defined(S390)
#define varobject_alignment 4
#endif
-#if defined(SPARC) || defined(HPPA) || defined(MIPS) || defined(DECALPHA) || defined(IA64) || defined(AMD64) || defined(ARM64) || defined(RISCV64) || defined(LOONGARCH64)
+#if defined(SPARC) || defined(HPPA) || defined(MIPS) || defined(DECALPHA) || defined(IA64) || defined(AMD64) || defined(ARM64) || defined(RISCV64) || defined(LOONGARCH64) || defined(POWERPC64)
#define varobject_alignment 8
#endif
#if (!defined(TYPECODES) || defined(GENERATIONAL_GC)) && (varobject_alignment < 4)

View file

@ -1,15 +0,0 @@
--- tests/streams.tst.orig 2024-07-04 15:55:33.000000000 -0600
+++ tests/streams.tst 2024-07-08 14:50:23.547424881 -0600
@@ -1288,9 +1288,9 @@ T
(streamp (setq s (make-stream :error))) T
(or (not (search "#P" (prin1-to-string s))) (pathnamep (truename s))) T
(write-line "foo" s) "foo"
-(let ((*reopen-open-file* nil)) ; stdout can be a file, it will be detected!
- (with-open-file (copy s :direction :output) (streamp copy)))
-#.(if (member (ext:operating-system-type) '("AIX" "Haiku" "Minix" "Windows") :test #'equal) 'ERROR 'T)
+;;(let ((*reopen-open-file* nil)) ; stdout can be a file, it will be detected!
+;; (with-open-file (copy s :direction :output) (streamp copy)))
+;;#.(if (member (ext:operating-system-type) '("AIX" "Haiku" "Minix" "Windows") :test #'equal) 'ERROR 'T)
#+clisp
(progn

View file

@ -1,75 +0,0 @@
--- modules/readline/readline.lisp.orig 2024-12-28 00:47:59.000000000 -0700
+++ modules/readline/readline.lisp 2025-02-10 15:17:06.296266455 -0700
@@ -126,7 +126,7 @@ name in ~/.inputrc. This is preferred wa
(:documentation "Get keymap with given name (e.g., emacs, vi)")
(:arguments (name c-string)) (:return-type keymap))
-(def-call-out get-keymap-name (:name "rl_get_keymap_by_name") ; untested
+(def-call-out get-keymap-name (:name "rl_get_keymap_name") ; untested
(:arguments (keymap keymap)) (:return-type c-string))
;;; Binding Keys
@@ -255,7 +255,7 @@ name in ~/.inputrc. This is preferred wa
;;; Redisplay
(def-call-out redisplay (:name "rl_redisplay")
- (:arguments) (:return-type int))
+ (:arguments) (:return-type nil))
(def-call-out forced-update-display (:name "rl_forced_update_display")
(:arguments) (:return-type int))
@@ -308,7 +308,7 @@ name in ~/.inputrc. This is preferred wa
(def-call-out copy-text (:name "rl_copy_text") ; untested
(:arguments (start int) (end int))
- (:return-type int))
+ (:return-type c-string :malloc-free))
(def-call-out kill-text (:name "rl_kill_text") ; untested
(:arguments (start int) (end int))
@@ -316,7 +316,7 @@ name in ~/.inputrc. This is preferred wa
(def-call-out push-macro-input (:name "rl_push_macro_input")
(:arguments (macro c-string))
- (:return-type int))
+ (:return-type nil))
;;; Character input
@@ -362,7 +362,7 @@ name in ~/.inputrc. This is preferred wa
(def-call-out extend-line-buffer (:name "rl_extend_line_buffer") ; untested
(:arguments (len int))
- (:return-type int))
+ (:return-type nil))
(def-call-out ding (:name "rl_ding")
(:arguments) (:return-type int))
@@ -404,7 +404,7 @@ name in ~/.inputrc. This is preferred wa
(:return-type int))
(def-call-out clear-history (:name "rl_clear_history") ; untested
- (:arguments) (:return-type int))
+ (:arguments) (:return-type nil))
(def-call-out get-termcap (:name "rl_get_termcap") ; untested
(:arguments (cap c-string))
@@ -647,10 +647,16 @@ and the completion character will be ins
(:documentation "reading multiple-key command"))
(def-c-const state-vicmdonce (:name "RL_STATE_VICMDONCE") ; 0x400000
(:documentation "entered vi command mode at least once"))
-(def-c-const state-redisplaying (:name "RL_STATE_REDISPLAYING") ; 0x800000
+(def-c-const state-charsearch (:name "RL_STATE_CHARSEARCH") ; 0x800000
+ (:documentation "vi mode char search"))
+(def-c-const state-redisplaying (:name "RL_STATE_REDISPLAYING") ; 0x1000000
(:documentation "updating terminal display"))
-(def-c-const state-done (:name "RL_STATE_DONE") ; 0x1000000
+(def-c-const state-done (:name "RL_STATE_DONE") ; 0x2000000
(:documentation "done; accepted line"))
+(def-c-const state-timeout (:name "RL_STATE_TIMEOUT") ; 0x4000000
+ (:documentation "done; timed out"))
+(def-c-const state-eof (:name "RL_STATE_EOF") ; 0x8000000
+ (:documentation "done; got eof on read"))
(def-c-const readerr ; (-2)
(:documentation " Input error; can be returned by (*rl_getc_function)

View file

@ -1,11 +0,0 @@
--- src/lispbibl.d.orig 2018-11-11 17:05:07.000000000 -0700
+++ src/lispbibl.d 2019-03-19 20:25:04.289654626 -0600
@@ -11884,7 +11884,7 @@ All other long words on the LISP-Stack a
#define FAST_SP
#endif
#elif defined(GNU) && defined(SP_register)
- register __volatile__ aint __SP __asm__(SP_register);
+ register aint __SP __asm__(SP_register);
#ifdef SPARC64
#define SP() (__SP+2048)
#else

View file

@ -1,18 +0,0 @@
Avoids this warning:
../src/unixaux.d: In function install_signal_handler:
../src/unixaux.d:734:3: warning: siginterrupt is deprecated: Use sigaction with SA_RESTART instead [-Wdeprecated-declarations]
734 | siginterrupt(sig,0);
| ^~~~~~~~~~~~
--- src/unixaux.d.orig 2024-07-12 09:22:07.000000000 -0600
+++ src/unixaux.d 2024-08-26 15:42:17.202775988 -0600
@@ -703,7 +703,7 @@ global int wait2 (pid_t child) {
global signal_handler_t install_signal_handler (int sig,
signal_handler_t handler) {
var signal_handler_t old_handler;
- #if defined(USE_SIGACTION)
+ #if defined(HAVE_SIGACTION)
var struct sigaction old_sa;
var struct sigaction new_sa;
memset(&new_sa,0,sizeof(new_sa));

View file

@ -1,15 +0,0 @@
Fixes this UBSAN error:
../src/eval.d:5808:11: runtime error: variable length array bound evaluates to non-positive value 0
--- src/eval.d.orig 2024-12-28 00:47:59.000000000 -0700
+++ src/eval.d 2025-02-10 09:39:02.285198247 -0700
@@ -5805,7 +5805,7 @@ local /*maygc*/ Values interpret_bytecod
var uintL private_SP_length =
(uintL)(((Codevec)codeptr)->ccv_spdepth_1)
+ jmpbufsize * (uintL)(((Codevec)codeptr)->ccv_spdepth_jmpbufsize);
- var DYNAMIC_ARRAY(private_SP_space,SPint,private_SP_length);
+ var DYNAMIC_ARRAY(private_SP_space,SPint,private_SP_length+1);
var SPint* private_SP = &private_SP_space[private_SP_length];
#undef SP_
#undef _SP_

View file

@ -1,15 +0,0 @@
Fixes this UBSAN error:
runtime error: variable length array bound evaluates to non-positive value 0
--- src/io.d.orig 2024-12-28 00:47:59.000000000 -0700
+++ src/io.d 2025-02-10 09:50:29.262067759 -0700
@@ -8158,7 +8158,7 @@ local maygc void pr_array (const gcv_obj
LEVEL_CHECK;
{ /* determine rank and fetch dimensions and sub-product: */
var uintL r = (uintL)Iarray_rank(obj); /* rank */
- var DYNAMIC_ARRAY(dims_sizes,array_dim_size_t,r); /* dynamically allocated array */
+ var DYNAMIC_ARRAY(dims_sizes,array_dim_size_t,r?r:1); /* dynamically allocated array */
iarray_dims_sizes(obj,dims_sizes); /* fill */
var uintL depth = r; /* depth of recursion */
var pr_array_locals_t locals; /* local variables */

View file

@ -1,23 +0,0 @@
Fixes this USBAN error:
../src/sort.d:42:18: runtime error: applying non-zero offset 18446744073709551584 to null pointer
--- src/sort.d.orig 2024-12-28 00:47:59.000000000 -0700
+++ src/sort.d 2025-02-10 09:33:00.121016044 -0700
@@ -39,7 +39,7 @@
/* sort(v,n); sorts the array v[0]..v[n-1] in ascending order. */
local void SORT(SORTID,sort) (SORT_ELEMENT* v, uintL n)
{
- var SORT_ELEMENT* w = &v[-1];
+ var SORT_ELEMENT* w;
/* w[1]..w[n] point to the same elements as v[0]..v[n-1] .
We collect the numbers 1,...,n to a balanced binary subtree,
so that k has the children 2*k and 2*k+1.
@@ -70,6 +70,7 @@ local void SORT(SORTID,sort) (SORT_ELEME
}
if (n<=1) /* nothing to do? */
return;
+ w = &v[-1];
{ /* Because of 2*(floor(n/2)+1) > n,
w[floor(n/2)+1]..w[n] is already sorted. */
var uintL r;

View file

@ -1,800 +1,143 @@
# Upstream has not made a new release since 2010
%global srcname clisp
%global commit f66220939ea7d36fd085384afa4a0ec44597d499
%global date 20250504
%global forgeurl https://gitlab.com/gnu-clisp/clisp
# There is a plus on the end for unreleased versions, not for released versions
%global instdir %{name}-%{version}+
# This package uses toplevel ASMs which are incompatible with LTO
%global _lto_cflags %{nil}
%bcond gtk2 %[!(0%{?rhel} > 9)]
Name: clisp
Summary: ANSI Common Lisp implementation
Version: 2.49.95
Summary: Common Lisp (ANSI CL) implementation
Version: 2.41
Release: 6%{?dist}
%forgemeta
# The project as a whole is GPL-2.0-or-later. Exceptions:
# - Some documentation is dual-licensed as GPL-2.0-or-later OR GFDL-1.2-or-later
# - src/gllib is LGPL-2.1-or-later
# - src/socket.d and modules/clx/mit-clx/doc.lisp are HPND
# - src/xthread.d and modules/asdf/asdf.lisp are X11
License: GPL-2.0-or-later AND (GPL-2.0-or-later OR GFDL-1.2-or-later) AND LGPL-2.1-or-later AND HPND AND X11
Release: 5%{?dist}
URL: http://www.clisp.org/
VCS: git:%{forgeurl}.git
Source0: %{forgesource}
# Upstream dropped this file from the distribution
Source1: https://gitlab.com/sam-s/clhs/-/raw/master/clhs.el
# Updated translations
Source2: http://translationproject.org/latest/clisp/sv.po
Source3: http://translationproject.org/latest/clisp/de.po
# https://sourceforge.net/p/clisp/patches/32/
Patch0: %{name}-format.patch
# The combination of register and volatile is nonsensical
Patch1: %{name}-register-volatile.patch
# A test that writes to /dev/pts/0 succeeds or fails apparently at random.
# I can only guess that /dev/pts/0 may or may not be what the test expects.
# Perhaps we are racing with something else that allocates a pty. Disable
# the test for now.
Patch2: %{name}-pts-access.patch
# Do not call the deprecated siginterrupt function
Patch3: %{name}-siginterrupt.patch
# Fix an iconv leak in stream.d
Patch4: %{name}-iconv-close.patch
# Fix a memory leak in encoding.d
# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/11
Patch5: %{name}-encoding-leak.patch
# Fix undefined behavior in SORT
Patch6: %{name}-undefined-behavior-sort.patch
# Fix undefined behavior in interpret_bytecode_
Patch7: %{name}-undefined-behavior-eval.patch
# Fix undefined behavior in pr_array
Patch8: %{name}-undefined-behavior-io.patch
# Fix misaligned memory accesses on ppc64le
Patch9: %{name}-ppc64le-alignment.patch
# Fix some mismatched readline function declarations
# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/13
Patch10: %{name}-readline.patch
# Work around a problem inlining a function on ppc64le
# See https://bugzilla.redhat.com/show_bug.cgi?id=2049371
Patch100: %{name}-no-inline.patch
BuildRequires: dbus-devel
BuildRequires: diffutils
BuildRequires: emacs
BuildRequires: fcgi-devel
BuildRequires: ffcall-devel
BuildRequires: gcc
BuildRequires: gdbm-devel
BuildRequires: gettext-devel
BuildRequires: ghostscript
BuildRequires: glibc-langpack-en
BuildRequires: glibc-langpack-fr
BuildRequires: glibc-langpack-ja
BuildRequires: glibc-langpack-zh
BuildRequires: groff
%if %{with gtk2}
BuildRequires: gtk2-devel
BuildRequires: libglade2-devel
%endif
BuildRequires: libXaw-devel
BuildRequires: libXft-devel
BuildRequires: libdb-devel
BuildRequires: libsigsegv-devel
BuildRequires: libsvm-devel
BuildRequires: libunistring-devel
BuildRequires: libxcrypt-devel
BuildRequires: make
BuildRequires: pari-devel
BuildRequires: pari-gp
BuildRequires: libpq-devel
Group: Development/Languages
License: GPL
URL: http://clisp.cons.org
Source: http://download.sourceforge.net/clisp/clisp-2.41.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: readline-devel
BuildRequires: vim-filesystem
BuildRequires: zlib-devel
BuildRequires: gettext
BuildRequires: pcre-devel
BuildRequires: postgresql-devel
BuildRequires: libsigsegv-devel
# no berkeley db until fixed for new version
#BuildRequires: db4-devel
BuildRequires: zlib-devel
BuildRequires: libICE-devel
BuildRequires: libSM-devel
BuildRequires: libX11-devel
BuildRequires: libXaw-devel
BuildRequires: libXext-devel
BuildRequires: libXft-devel
BuildRequires: libXmu-devel
BuildRequires: libXrender-devel
BuildRequires: libXt-devel
BuildRequires: imake
ExcludeArch: ppc64
Requires: emacs-filesystem
Requires: vim-filesystem
# clisp contains a copy of gnulib, which has been granted a bundling exception:
# https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions
Provides: bundled(gnulib)
%description
ANSI Common Lisp is a high-level, general-purpose programming language. GNU
CLISP is a Common Lisp implementation by Bruno Haible of Karlsruhe University
and Michael Stoll of Munich University, both in Germany. It mostly supports
the Lisp described in the ANSI Common Lisp standard. It runs on most Unix
workstations (GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Tru64, HP-UX,
BeOS, NeXTstep, IRIX, AIX and others) and on other systems (Windows NT/2000/XP,
Windows 95/98/ME) and needs only 4 MiB of RAM.
ANSI Common Lisp is a high-level, general-purpose programming
language. GNU CLISP is a Common Lisp implementation by Bruno Haible
of Karlsruhe University and Michael Stoll of Munich University, both
in Germany. It mostly supports the Lisp described in the ANSI Common
Lisp standard. It runs on most Unix workstations (GNU/Linux, FreeBSD,
NetBSD, OpenBSD, Solaris, Tru64, HP-UX, BeOS, NeXTstep, IRIX, AIX and
others) and on other systems (Windows NT/2000/XP, Windows 95/98/ME)
and needs only 4 MiB of RAM.
It is Free Software and may be distributed under the terms of GNU GPL, while
it is possible to distribute commercial proprietary applications compiled with
GNU CLISP.
It is Free Software and may be distributed under the terms of GNU GPL,
while it is possible to distribute commercial proprietary applications
compiled with GNU CLISP.
The user interface comes in English, German, French, Spanish, Dutch, Russian
and Danish, and can be changed at run time. GNU CLISP includes an
interpreter, a compiler, a debugger, CLOS, MOP, a foreign language interface,
sockets, i18n, fast bignums and more. An X11 interface is available through
CLX, Garnet, CLUE/CLIO. GNU CLISP runs Maxima, ACL2 and many other Common
Lisp packages.
The user interface comes in English, German, French, Spanish, Dutch,
Russian and Danish, and can be changed at run time. GNU CLISP
includes an interpreter, a compiler, a debugger, CLOS, MOP, a foreign
language interface, sockets, i18n, fast bignums and more. An X11
interface is available through CLX, Garnet, CLUE/CLIO. GNU CLISP runs
Maxima, ACL2 and many other Common Lisp packages.
%package devel
Summary: Development files for CLISP
Provides: %{name}-static = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: libsigsegv-devel%{?_isa}
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
%description devel
Files necessary for linking CLISP programs.
Files necessary for linking CLISP.
%prep
%forgesetup
%autopatch -M99 -p0
%ifarch %{power64}
%autopatch 100 -p0
%endif
%setup -q
# enforced stack size seems to be too small
sed -i "s|ulimit -s 8192|ulimit -s unlimited|" configure
%conf
cp -p %{SOURCE1} emacs
cp -p %{SOURCE2} %{SOURCE3} src/po
# We only link against libraries in system directories, so we need -L dir in
# place of -Wl,-rpath -Wl,dir
cp -p src/build-aux/config.rpath config.rpath.orig
sed -i -e 's/${wl}-rpath ${wl}/-L/g' src/build-aux/config.rpath
# Do not use -Werror, or we get build failures on every new gcc version
sed -i '/CFLAGS -Werror/d' modules/berkeley-db/configure
# Do not override our choice of optimization flags
sed -i "/CFLAGS/s/'-O'/''/;/Z_XCFLAGS/s/' -O'//" src/makemake.in
# When building modules, put -Wl,--as-needed before the libraries to link
sed -i "s/CC='\${CC}'/CC='\${CC} -Wl,--as-needed'/" src/makemake.in
# Enable firefox to be the default browser for displaying documentation
sed -i 's/;; \((setq \*browser\* .*)\)/\1/' src/cfgunix.lisp
# Unpack the CLX manual
tar -C modules/clx -xzf modules/clx/clx-manual.tar.gz
chmod -R go+r modules/clx/clx-manual
chmod a-x modules/clx/clx-manual/html/doc-index.cgi
# On some koji builders, something is already listening on port 9090, which
# causes a spurious test failure. Change to port 9096 for the test.
sed -i 's/9090/9096/g' tests/socket.tst
%build
# Do not need to specify base modules: i18n, readline, regexp, syscalls.
# The dirkey module currently can only be built on Windows/Cygwin/MinGW.
# The editor module is not in good enough shape to use.
# The matlab, netica, and oracle modules require proprietary code to build.
# The queens module is intended as an example only, not for actual use.
./configure --prefix=%{_prefix} \
# no berkeley db until fixed for new version
# --with-module=berkeley-db
CFLAGS="" ./configure --prefix=%{_prefix} \
--libdir=%{_libdir} \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--docdir=%{_pkgdocdir} \
--fsstnd=redhat \
--with-module=asdf \
--with-module=berkeley-db \
--with-module=bindings/glibc \
--with-dynamic-ffi \
--with-module=clx/new-clx \
--with-module=dbus \
--with-module=fastcgi \
--with-module=gdbm \
%if %{with gtk2}
--with-module=gtk2 \
%endif
--with-module=libsvm \
--with-module=pari \
--with-module=pcre \
--with-module=postgresql \
--with-module=rawsock \
--with-module=wildcard \
--with-module=zlib \
--with-libreadline-prefix=$PWD/readline \
--with-ffcall \
--config \
build \
CPPFLAGS='-I/usr/include/libsvm' \
CFLAGS='%{build_cflags} -Wa,--noexecstack' \
LDFLAGS='-Wl,--as-needed -Wl,-z,relro -Wl,-z,noexecstack'
--with-module=bindings/glibc \
--with-readline \
--build build
cd build
# Workaround libtool reordering -Wl,--as-needed after all the libraries.
sed -i 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' libtool
make
cd -
%install
make -C build DESTDIR=%{buildroot} install
cp -a build/full %{buildroot}%{_libdir}/%{instdir}
rm -f %{buildroot}%{_pkgdocdir}/doc/clisp.{dvi,1,ps}
rm -f %{buildroot}%{_pkgdocdir}/{COPYRIGHT,GNU-GPL}
cp -p doc/mop-spec.pdf %{buildroot}%{_pkgdocdir}/doc
cp -p doc/*.png %{buildroot}%{_pkgdocdir}/doc
cp -p doc/Why-CLISP* %{buildroot}%{_pkgdocdir}/doc
cp -p doc/regexp.html %{buildroot}%{_pkgdocdir}/doc
find %{buildroot}%{_libdir} -name '*.dvi' -exec rm -f {} \+
rm -rf $RPM_BUILD_ROOT
make -C \
build \
prefix=%{_prefix} \
libdir=%{_libdir} \
mandir=%{_mandir} \
docdir=%{_docdir}/clisp-%{version} \
DESTDIR=$RPM_BUILD_ROOT \
install
rm -f $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}/doc/clisp.{dvi,1,ps}
cp -p doc/mop-spec.pdf $RPM_BUILD_ROOT%{_docdir}/clisp-%{version}/doc
%find_lang %{name}
%find_lang %{name}low
cat %{name}low.lang >> %{name}.lang
# Compile the Emacs interface
pushd %{buildroot}%{_emacs_sitelispdir}
%{_emacs_bytecompile} *.el
popd
# Put back the original config.rpath
cp -p config.rpath.orig %{buildroot}%{_libdir}/%{instdir}/build-aux/config.rpath
# Fix a missing executable bit
chmod a+x %{buildroot}%{_libdir}/%{instdir}/build-aux/depcomp
# Fix paths in the Makefiles
for mk in $(find %{buildroot}%{_libdir} -name Makefile); do
sed -e "s,$PWD/modules,%{_libdir}/%{instdir}," \
-e "s,$PWD/build/clisp,%{_bindir}/clisp," \
-e "s,$PWD/build/linkkit,%{_libdir}/%{instdir}/linkkit," \
-i $mk
done
for mk in %{buildroot}%{_libdir}/%{instdir}/{base,full}/makevars; do
sed -e "s, -I$PWD[^']*,," \
-e "s,%{_libdir}/lib\([[:alnum:]]*\)\.so,-l\1,g" \
-i $mk
done
# Install config.h, which is needed in some cases
for dir in %{buildroot}%{_libdir}/%{instdir}/*; do
cp -p build/$(basename $dir)/config.h $dir || :
done
cp -p build/config.h %{buildroot}%{_libdir}/%{instdir}
cp -p build/clx/new-clx/config.h \
%{buildroot}%{_libdir}/%{instdir}/clx/new-clx
# Fix broken symlinks in the full set
pushd %{buildroot}%{_libdir}/%{instdir}/full
for obj in calls gettext readline regexi; do
rm -f ${obj}.o
ln -s ../base/${obj}.o ${obj}.o
done
for obj in libgnu libnoreadline lisp; do
rm -f ${obj}.a
ln -s ../base/${obj}.a ${obj}.a
done
for obj in fastcgi fastcgi_wrappers; do
rm -f ${obj}.o
ln -s ../fastcgi/${obj}.o ${obj}.o
done
for obj in cpari pari; do
rm -f ${obj}.o
ln -s ../pari/${obj}.o ${obj}.o
done
rm -f bdb.o
ln -s ../berkeley-db/bdb.o bdb.o
rm -f clx.o
ln -s ../clx/new-clx/clx.o clx.o
rm -f dbus.o
ln -s ../dbus/dbus.o dbus.o
rm -f gdbm.o
ln -s ../gdbm/gdbm.o gdbm.o
%if %{with gtk2}
rm -f gtk.o
ln -s ../gtk2/gtk.o gtk.o
%endif
rm -f libsvm.o
ln -s ../libsvm/libsvm.o libsvm.o
rm -f linux.o
ln -s ../bindings/glibc/linux.o linux.o
rm -f postgresql.o
ln -s ../postgresql/postgresql.o postgresql.o
rm -f rawsock.o
ln -s ../rawsock/rawsock.o rawsock.o
rm -f zlib.o
ln -s ../zlib/zlib.o zlib.o
popd
# Help the debuginfo generator
ln -s ../../src/modules.c build/base/modules.c
ln -s ../../src/modules.c build/full/modules.c
%check
make -C build check
make -C build extracheck
make -C build base-mod-check
%files -f %{name}.lang
%license COPYRIGHT GNU-GPL
%defattr(-,root,root,-)
%{_bindir}/clisp
%{_mandir}/man1/clisp.1*
%{_pkgdocdir}/
%dir %{_libdir}/%{instdir}/
%dir %{_libdir}/%{instdir}/asdf/
%{_libdir}/%{instdir}/asdf/asdf.fas
%dir %{_libdir}/%{instdir}/base/
%{_libdir}/%{instdir}/base/lispinit.mem
%{_libdir}/%{instdir}/base/lisp.run
%dir %{_libdir}/%{instdir}/berkeley-db/
%{_libdir}/%{instdir}/berkeley-db/*.fas
%{_libdir}/%{instdir}/berkeley-db/preload.lisp
%dir %{_libdir}/%{instdir}/bindings/
%dir %{_libdir}/%{instdir}/bindings/glibc/
%{_libdir}/%{instdir}/bindings/glibc/*.fas
%dir %{_libdir}/%{instdir}/clx/
%dir %{_libdir}/%{instdir}/clx/new-clx/
%{_libdir}/%{instdir}/clx/new-clx/*.fas
%{_libdir}/%{instdir}/clx/new-clx/clx-preload.lisp
%{_libdir}/%{instdir}/data/
%dir %{_libdir}/%{instdir}/dbus/
%{_libdir}/%{instdir}/dbus/*.fas
%{_libdir}/%{instdir}/dynmod/
%dir %{_libdir}/%{instdir}/fastcgi/
%{_libdir}/%{instdir}/fastcgi/*.fas
%dir %{_libdir}/%{instdir}/full/
%{_libdir}/%{instdir}/full/lispinit.mem
%{_libdir}/%{instdir}/full/lisp.run
%dir %{_libdir}/%{instdir}/gdbm/
%{_libdir}/%{instdir}/gdbm/*.fas
%{_libdir}/%{instdir}/gdbm/preload.lisp
%if %{with gtk2}
%dir %{_libdir}/%{instdir}/gtk2/
%{_libdir}/%{instdir}/gtk2/*.fas
%{_libdir}/%{instdir}/gtk2/preload.lisp
%endif
%dir %{_libdir}/%{instdir}/libsvm/
%{_libdir}/%{instdir}/libsvm/*.fas
%{_libdir}/%{instdir}/libsvm/preload.lisp
%dir %{_libdir}/%{instdir}/pari/
%{_libdir}/%{instdir}/pari/*.fas
%{_libdir}/%{instdir}/pari/preload.lisp
%dir %{_libdir}/%{instdir}/postgresql/
%{_libdir}/%{instdir}/postgresql/*.fas
%dir %{_libdir}/%{instdir}/rawsock/
%{_libdir}/%{instdir}/rawsock/*.fas
%{_libdir}/%{instdir}/rawsock/preload.lisp
%dir %{_libdir}/%{instdir}/zlib/
%{_libdir}/%{instdir}/zlib/*.fas
%{_emacs_sitelispdir}/*
%{vimfiles_root}/after/syntax/*
%{_mandir}/man1/*
%{_docdir}/clisp-%{version}
%dir %{_libdir}/clisp/base
%dir %{_libdir}/clisp/full
%dir %{_libdir}/clisp
%{_libdir}/clisp/base/lispinit.mem
%{_libdir}/clisp/base/lisp.run
%{_libdir}/clisp/full/lispinit.mem
%{_libdir}/clisp/full/lisp.run
%{_libdir}/clisp/data
%{_datadir}/emacs/site-lisp/*
%files devel
%doc modules/clx/clx-manual
%{_bindir}/clisp-link
%{_mandir}/man1/clisp-link.1*
%{_libdir}/%{instdir}/asdf/Makefile
%{_libdir}/%{instdir}/asdf/*.lisp
%{_libdir}/%{instdir}/asdf/*.sh
%{_libdir}/%{instdir}/base/*.a
%{_libdir}/%{instdir}/base/*.h
%{_libdir}/%{instdir}/base/*.o
%{_libdir}/%{instdir}/base/makevars
%{_libdir}/%{instdir}/berkeley-db/Makefile
%{_libdir}/%{instdir}/berkeley-db/*.h
%{_libdir}/%{instdir}/berkeley-db/dbi.lisp
%{_libdir}/%{instdir}/berkeley-db/*.o
%{_libdir}/%{instdir}/berkeley-db/*.sh
%{_libdir}/%{instdir}/bindings/glibc/Makefile
%{_libdir}/%{instdir}/bindings/glibc/*.lisp
%{_libdir}/%{instdir}/bindings/glibc/*.o
%{_libdir}/%{instdir}/bindings/glibc/*.sh
%{_libdir}/%{instdir}/build-aux/
%{_libdir}/%{instdir}/clx/new-clx/demos/
%{_libdir}/%{instdir}/clx/new-clx/README
%{_libdir}/%{instdir}/clx/new-clx/Makefile
%{_libdir}/%{instdir}/clx/new-clx/*.h
%{_libdir}/%{instdir}/clx/new-clx/clx.lisp
%{_libdir}/%{instdir}/clx/new-clx/image.lisp
%{_libdir}/%{instdir}/clx/new-clx/resource.lisp
%{_libdir}/%{instdir}/clx/new-clx/*.o
%{_libdir}/%{instdir}/clx/new-clx/*.sh
%{_libdir}/%{instdir}/config.h
%{_libdir}/%{instdir}/dbus/Makefile
%{_libdir}/%{instdir}/dbus/*.h
%{_libdir}/%{instdir}/dbus/*.lisp
%{_libdir}/%{instdir}/dbus/*.o
%{_libdir}/%{instdir}/dbus/*.sh
%{_libdir}/%{instdir}/fastcgi/README
%{_libdir}/%{instdir}/fastcgi/Makefile
%{_libdir}/%{instdir}/fastcgi/*.h
%{_libdir}/%{instdir}/fastcgi/*.lisp
%{_libdir}/%{instdir}/fastcgi/*.o
%{_libdir}/%{instdir}/fastcgi/*.sh
%{_libdir}/%{instdir}/full/*.a
%{_libdir}/%{instdir}/full/*.h
%{_libdir}/%{instdir}/full/*.o
%{_libdir}/%{instdir}/full/makevars
%{_libdir}/%{instdir}/gdbm/Makefile
%{_libdir}/%{instdir}/gdbm/*.h
%{_libdir}/%{instdir}/gdbm/gdbm.lisp
%{_libdir}/%{instdir}/gdbm/*.o
%{_libdir}/%{instdir}/gdbm/*.sh
%if %{with gtk2}
%{_libdir}/%{instdir}/gtk2/Makefile
%{_libdir}/%{instdir}/gtk2/*.cfg
%{_libdir}/%{instdir}/gtk2/*.glade
%{_libdir}/%{instdir}/gtk2/*.h
%{_libdir}/%{instdir}/gtk2/gtk.lisp
%{_libdir}/%{instdir}/gtk2/*.o
%{_libdir}/%{instdir}/gtk2/*.sh
%endif
%{_libdir}/%{instdir}/libsvm/README
%{_libdir}/%{instdir}/libsvm/Makefile
%{_libdir}/%{instdir}/libsvm/*.h
%{_libdir}/%{instdir}/libsvm/libsvm.lisp
%{_libdir}/%{instdir}/libsvm/*.o
%{_libdir}/%{instdir}/libsvm/*.sh
%{_libdir}/%{instdir}/linkkit/
%{_libdir}/%{instdir}/pari/README
%{_libdir}/%{instdir}/pari/Makefile
%{_libdir}/%{instdir}/pari/*.h
%{_libdir}/%{instdir}/pari/desc2lisp.lisp
%{_libdir}/%{instdir}/pari/pari.lisp
%{_libdir}/%{instdir}/pari/*.o
%{_libdir}/%{instdir}/pari/*.sh
%{_libdir}/%{instdir}/postgresql/README
%{_libdir}/%{instdir}/postgresql/Makefile
%{_libdir}/%{instdir}/postgresql/*.h
%{_libdir}/%{instdir}/postgresql/*.lisp
%{_libdir}/%{instdir}/postgresql/*.o
%{_libdir}/%{instdir}/postgresql/*.sh
%{_libdir}/%{instdir}/rawsock/demos/
%{_libdir}/%{instdir}/rawsock/Makefile
%{_libdir}/%{instdir}/rawsock/*.h
%{_libdir}/%{instdir}/rawsock/sock.lisp
%{_libdir}/%{instdir}/rawsock/*.o
%{_libdir}/%{instdir}/rawsock/*.sh
%{_libdir}/%{instdir}/zlib/Makefile
%{_libdir}/%{instdir}/zlib/*.h
%{_libdir}/%{instdir}/zlib/*.lisp
%{_libdir}/%{instdir}/zlib/*.o
%{_libdir}/%{instdir}/zlib/*.sh
%{_datadir}/aclocal/clisp.m4
%defattr(-,root,root,-)
%attr(0755,root,root) %{_libdir}/clisp/clisp-link
%{_libdir}/clisp/base/*.a
%{_libdir}/clisp/base/*.o
%{_libdir}/clisp/base/*.h
%{_libdir}/clisp/base/*.dvi
%{_libdir}/clisp/base/makevars
%{_libdir}/clisp/full/*.a
%{_libdir}/clisp/full/*.o
%{_libdir}/clisp/full/*.h
%{_libdir}/clisp/full/*.dvi
%{_libdir}/clisp/full/makevars
%{_libdir}/clisp/linkkit
%clean
rm -fr $RPM_BUILD_ROOT
%changelog
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.95-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Jun 02 2025 Jerry James <loganjerry@gmail.com> - 2.49.95-4
- Update to latest git snapshot
- Drop one upstreamed patch to fix undefined behavior
* Fri Feb 14 2025 Jerry James <loganjerry@gmail.com> - 2.49.95-3
- Add patches to fix more undefined behavior
- Fix misaligned memory accesses on ppc64le
- Fix mismatched readline function declarations
* Fri Feb 7 2025 Jerry James <loganjerry@gmail.com> - 2.49.95-3
- Add patch to fix undefined behavior (rhbz#2339979)
- Add two patches to fix memory leaks
- Do not force -O1
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.95-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Jan 13 2025 Jerry James <loganjerry@gmail.com> - 2.49.95-2
- Update to latest git snapshot
- Move configuration steps to %%conf
* Mon Nov 25 2024 Jerry James <loganjerry@gmail.com> - 2.49.95-1
- Version 2.49.95
- Drop upstreamed patches: db, c99, bdb-mismatched-pointer, new-clx, pari
* Sat Oct 5 2024 Jerry James <loganjerry@gmail.com> - 2.49.93-40
- Rebuild for pari 2.17.0
* Tue Sep 3 2024 Jerry James <loganjerry@gmail.com> - 2.49.93-39
- Update to latest git snapshot
- Add patch to fix FTBFS in the new-clx code
- Add patch to avoid calling the deprecated siginterrupt function
- Add VCS field
- Setting LC_ALL is no longer necessary
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Dec 1 2023 Jerry James <loganjerry@gmail.com> - 2.49.93-35
- Fix a mismatched pointer type error with GCC 14
* Wed Aug 16 2023 Jerry James <loganjerry@gmail.com> - 2.49.93-34
- Build without pcre support (rhbz#2128278)
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 18 2023 Jerry James <loganjerry@gmail.com> - 2.49.93-32
- Update to fix message typos
* Mon May 08 2023 Florian Weimer <fweimer@redhat.com> - 2.49.93-31
- Port to C99
* Tue Apr 4 2023 Jerry James <loganjerry@gmail.com> - 2.49.93-30
- Update to allow non-simple strings in FORMAT and FORMATTER
- Drop upstreamed ensure-6x patch
- Disable gtk2 support for RHEL 10 (thanks to Yaakov Selkowitz)
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Jan 10 2023 Jerry James <loganjerry@gmail.com> - 2.49.93-29
- Update to latest git snapshot for buffer overflow fix
- Drop upstreamed pari patch
* Mon Sep 19 2022 Jerry James <loganjerry@gmail.com> - 2.49.93-28
- Rebuild for pari 2.15.0
* Thu Aug 18 2022 Jerry James <loganjerry@gmail.com> - 2.49.93-27
- Rebuild for libsvm 3.3
* Mon Aug 15 2022 Jerry James <loganjerry@gmail.com> - 2.49.93-26
- Convert License tag to SPDX
* Wed Aug 10 2022 Jerry James <loganjerry@gmail.com> - 2.49.93-26
- Move preload.lisp files to the main package
* Mon Aug 8 2022 Jerry James <loganjerry@gmail.com> - 2.49.93-25
- Add -ensure-6x patch (rhbz#2115476)
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jul 18 2022 Jerry James <loganjerry@gmail.com> - 2.49.93-23
- Reduce the impact of the -no-inline patch
* Thu Feb 3 2022 Jerry James <loganjerry@gmail.com> - 2.49.93-23
- Add -no-inline patch to workaround bz 2049371 (ppc64le segfault)
* Fri Jan 28 2022 Jerry James <loganjerry@gmail.com> - 2.49.93-23
- Add -pts-access patch to fix FTBFS
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jul 16 2021 Jerry James <loganjerry@gmail.com> - 2.49.93-21.20210628gitde01f0f
- Update to latest git snapshot for autoconf + glib updates
- Drop upstreamed -setkey patch
- Use forge macros
- Use default HyperSpec URLs
* Thu Jun 17 2021 Jerry James <loganjerry@gmail.com> - 2.49.93-20.d9cbf22git
- Rebuild for ffcall 2.4 and multithreaded pari
* Tue May 25 2021 Florian Weimer <fweimer@redhat.com> - 2.49.93-19.d9cbf22git
- Rebuild with new binutils to fix ppc64le corruption (#1960730)
* Tue Mar 23 2021 Jerry James <loganjerry@gmail.com> - 2.49.93-18.d9cbf22git
- Update to latest git snapshot for autoconf + glib updates
- Fix broken symlinks in the full set
* Mon Feb 08 2021 Pavel Raiskup <praiskup@redhat.com> - 2.49.93-17.a9aeb80git
- rebuild for libpq ABI fix rhbz#1908268
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-16.a9aeb80git
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Nov 9 2020 Jerry James <loganjerry@gmail.com> - 2.49.93-15.a9aeb80git
- Update to latest git snapshot for more HyperSpec fixes
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-14.c26de78git
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Jeff Law <law@redhat.com> - 2.49.93-13.c26de78git
- Disable LTO
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-12.c26de78git
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-11.c26de78git
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Dec 17 2019 Jerry James <loganjerry@gmail.com> - 2.49.93-10.c26de78git
- Update to latest git snapshot for HyperSpec fixes
* Mon Aug 26 2019 Jerry James <loganjerry@gmail.com> - 2.49.93-9.dd40369git
- Update to latest git snapshot for bug fixes
- Add latest German translation
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-8.df3b9f6git
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Mar 30 2019 Jerry James <loganjerry@gmail.com> - 2.49.93-7.df3b9f6git
- Update to latest git snapshot for bug fixes
- Add -register-volatile patch
- Build for s390x again now that bz 1689769 is fixed
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.49.93-6.90b3631git
- Rebuild for readline 8.0
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-5.90b3631git
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 14 2019 Björn Esser <besser82@fedoraproject.org> - 2.49.93-4.90b3631git
- Rebuilt for libcrypt.so.2 (#1666033)
* Fri Aug 10 2018 Jerry James <loganjerry@gmail.com> - 2.49.93-3.90b3631git
- Update to latest git snapshot for bug fixes
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.49.93-2.d1310adgit
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Jun 21 2018 Jerry James <loganjerry@gmail.com> - 2.49.93-1.d1310adgit
- License change: GPLv2 to GPLv2+
- Build with readline 6 due to the new license
- Drop upstreamed -arm, -libsvm, -alias, and -linux patches
- Build for all architectures
- Bring back the pari module
* Mon Feb 26 2018 Tom Callaway <spot@fedoraproject.org> - 2.49.93-0.1.20180224hg
- update to latest in mercurial (lots of fixes)
- re-enable ppc64, aarch64
- disable s390x (builds, but does not run properly)
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.49-27.20170224hg
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sun Jan 21 2018 Björn Esser <besser82@fedoraproject.org> - 2.49-26.20170224hg
- Explicitly BR: ffcall-devel and configure --with-ffcall
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 2.49-25.20170224hg
- Rebuilt for switch to libxcrypt
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.49-24.20170224hg
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.49-23.20170224hg
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 24 2017 Jerry James <loganjerry@gmail.com> - 2.49-22.20170224hg
- Update to latest mercurial snapshot
- Drop upstreamed -32bit patch
- Add -volatile, -negshift, and -alias patches
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.49-22.20161113hg
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Sat Jan 28 2017 Jerry James <loganjerry@gmail.com> - 2.49-21.20161113hg
- Update to latest mercurial snapshot
* Fri Nov 11 2016 Jerry James <loganjerry@gmail.com> - 2.49-20.20161111hg
- Update to latest mercurial snapshot (bz 1392563)
- Drop upstreamed -gcc5 patch
- Rebase all other patches
- Update config.guess and config.sub
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.49-19.20130208hg
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Sep 29 2015 Jerry James <loganjerry@gmail.com> - 2.49-18.20130208hg
- Install the full link set
- Fix installed Makefile paths
- Fix clx manual permissions
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.49-17.20130208hg
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Apr 3 2015 Jerry James <loganjerry@gmail.com> - 2.49-16.20130208hg
- Fix modules that need access to symbols in libgnu.a
* Wed Feb 11 2015 Jerry James <loganjerry@gmail.com> - 2.49-15.20130208hg
- Add -gcc5 patch to fix 32-bit build with gcc 5.0
- Use license macro
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.49-14.20130208hg
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.49-13.20130208hg
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri Aug 30 2013 Jerry James <loganjerry@gmail.com> - 2.49-11.20130208hg
- clisp does not support aarch64 (bz 925155)
- Adapt to versionless docdir (bz 992605 and 993701)
- More stack space needed to install
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.49-11.20130208hg
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 2.49-10.20130208hg
- Perl 5.18 rebuild
* Mon Feb 18 2013 Jerry James <loganjerry@gmail.com> - 2.49-9.20130208hg
- Update to mercurial snapshot to fix FTBFS
- Drop upstreamed -hostname patch
- Build against libdb instead of libdb4
- Include the CLX manual in the -devel documentation
- Compile the Emacs Lisp interface
- Build the asdf module
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.49-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Jul 25 2012 Jerry James <loganjerry@gmail.com> - 2.49-8
- Fix build for new libdb4-devel package.
- Fix ARM assembly (bz 812928)
- Add gnulib Provides (bz 821747)
- Disable the pari module for now; it does not compile against pari 2.5
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.49-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sun Mar 18 2012 Daniel E. Wilson <danw@bureau-13.org> - 2.49-6
- Changed build process to define the default browser.
- Fixed module directories to move only *.fas files.
- Moved build-aux directory to the development package.
- Replaced the clisp-* wildcards with the correct version.
- More stack space may be needed on all arches (Jerry James).
* Sun Jan 8 2012 Jerry James <loganjerry@gmail.com> - 2.49-5
- Rebuild for GCC 4.7
- Minor spec file cleanups
* Thu Jun 23 2011 Jerry James <loganjerry@gmail.com> - 2.49-4
- Add libsvm patch to fix FTBFS on Rawhide (bz 715970)
- Fix readline module to also use compat-readline5 instead of readline6
- Drop unnecessary spec file elements (clean script, etc.)
* Fri Feb 11 2011 Jerry James <loganjerry@gmail.com> - 2.49-3
- Build with compat-readline5 instead of readline (#511303)
- Build the libsvm module
- Get rid of the execstack flag on Lisp images
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.49-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun Nov 28 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.49-1
- clisp-2.49 (#612469)
- -devel: Provides: %%name-static (#609602)
* Sun Nov 28 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.48-2
- rebuild (libsigsegv)
* Fri Feb 26 2010 Jerry James <loganjerry@gmail.com> - 2.48-1
- new release 2.48
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.47-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.47-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Sat Nov 22 2008 Gerard Milmeister <gemi@bluewin.ch> - 2.47-1
- new release 2.47
* Wed Jul 2 2008 Gerard Milmeister <gemi@bluewin.ch> - 2.46-1
- new release 2.46
* Fri Apr 18 2008 Gerard Milmeister <gemi@bluewin.ch> - 2.44.1-1
- new release 2.44.1
* Fri Feb 22 2008 Gerard Milmeister <gemi@bluewin.ch> - 2.43-5
- Compile with -O0 to avoid GCC 4.3 miscompilation
* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.43-4
- Autorebuild for GCC 4.3
* Sat Nov 24 2007 Gerard Milmeister <gemi@bluewin.ch> - 2.43-1
- new release 2.43
* Tue Oct 16 2007 Gerard Milmeister <gemi@bluewin.ch> - 2.42-1
- new release 2.42
* Fri May 4 2007 David Woodhouse <dwmw2@infradead.org> - 2.41-6
- Revert to overriding stack limit in specfile

11575
de.po

File diff suppressed because it is too large Load diff

View file

@ -1 +1 @@
SHA512 (clisp-f66220939ea7d36fd085384afa4a0ec44597d499.tar.bz2) = 16d6ccba500d60fe36c20b5bd1d6c9403567996020cef406e42813a302a86d94dc0d5e36aae434b5b846d39ec37d6db2b50565a69d24291b973724bcc0874bd0
3a7a00e82ebeeb72a75a032f84c36c6c clisp-2.41.tar.bz2

8041
sv.po

File diff suppressed because it is too large Load diff