Compare commits
51 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
24dca17a22 | ||
|
|
f1acbe9371 | ||
|
|
2f58da3a26 | ||
|
|
28d75acd55 | ||
|
|
3f3e034be0 | ||
|
|
00ea9b0d97 | ||
|
|
7bf88cd6af | ||
|
|
ff5c8f0ebb | ||
|
|
885c36453f | ||
|
|
8e77a6688a | ||
|
|
debdecc984 | ||
|
|
3d02564e31 | ||
|
|
6afa4a56b7 | ||
|
|
0acf606978 | ||
|
|
dbb1df508f | ||
|
|
758dd9dc0d | ||
|
|
5c268b6f08 | ||
|
|
6816da647d | ||
|
|
0fb0f9b958 | ||
|
|
2cefbcd7f9 | ||
|
|
7ab9a4127e | ||
|
|
47b4c52ea8 | ||
|
|
d8d6fcacdb | ||
|
|
cfdd27206e | ||
|
|
5ed3b44cd5 | ||
|
|
bc7fe11f4c | ||
|
|
fee89f7955 | ||
|
|
4be1418d14 | ||
|
|
bf061dddcc | ||
|
|
7d5ddf7eb7 | ||
|
|
ac57db4226 | ||
|
|
1bfa025e15 | ||
|
|
8e4e9cd80c | ||
|
|
9ccff9cb0b | ||
|
|
8469c0bd9b | ||
|
|
0818325a5a | ||
|
|
1f88aa4a0e | ||
|
|
7cecc3c028 | ||
|
|
94e796d993 | ||
|
|
357878948a | ||
|
|
5224d940d5 | ||
|
|
9c5434c0ab | ||
|
|
5d3d4499e5 | ||
|
|
5731df002e | ||
|
|
cf0fa58cb2 | ||
|
|
bc6259f867 | ||
|
|
6163f752d5 | ||
|
|
26951c4fcb | ||
|
|
46374e59e3 | ||
|
|
e63db6f033 | ||
|
|
65cf1984f0 |
18 changed files with 694 additions and 169 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1 +1,2 @@
|
||||||
/clisp-*.tar.?z
|
/clisp-*.tar.?z
|
||||||
|
/clisp-*.tar.bz2
|
||||||
|
|
|
||||||
22
README.md
Normal file
22
README.md
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
# 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
Normal file
136
clhs.el
Normal file
|
|
@ -0,0 +1,136 @@
|
||||||
|
;;; 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
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
--- modules/berkeley-db/configure.in.orig 2018-04-23 07:44:21.000000000 -0600
|
|
||||||
+++ modules/berkeley-db/configure.in 2018-06-21 20:30:56.502368686 -0600
|
|
||||||
@@ -48,7 +48,7 @@ dnl <http://www.sleepycat.com/docs/ref/u
|
|
||||||
AC_CACHE_CHECK([whether DB_ENV->set_errcall() accepts DBE],
|
|
||||||
ac_cv_dbe_set_errcall_accept_dbe,[
|
|
||||||
CFLAGS_save="$CFLAGS"
|
|
||||||
-CFLAGS="$CFLAGS -Werror"
|
|
||||||
+CFLAGS="$CFLAGS -Wno-uninitialized -Werror"
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <db.h>
|
|
||||||
void my_callback (const DB_ENV* dbe, const char *errpfx, const char *msg) {}],
|
|
||||||
[[DB_ENV dbe; dbe.set_errcall(&dbe,&my_callback);]])],
|
|
||||||
--- modules/berkeley-db/configure.orig 2018-04-23 07:44:21.000000000 -0600
|
|
||||||
+++ modules/berkeley-db/configure 2018-06-21 20:30:56.504368682 -0600
|
|
||||||
@@ -5814,7 +5814,7 @@ if ${ac_cv_dbe_set_errcall_accept_dbe+:}
|
|
||||||
else
|
|
||||||
|
|
||||||
CFLAGS_save="$CFLAGS"
|
|
||||||
-CFLAGS="$CFLAGS -Werror"
|
|
||||||
+CFLAGS="$CFLAGS -Wno-uninitialized -Werror"
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
#include <db.h>
|
|
||||||
10
clisp-encoding-leak.patch
Normal file
10
clisp-encoding-leak.patch
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
--- 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 */
|
||||||
38
clisp-iconv-close.patch
Normal file
38
clisp-iconv-close.patch
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
--- 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);
|
||||||
|
}
|
||||||
11
clisp-no-inline.patch
Normal file
11
clisp-no-inline.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
--- 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
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
--- modules/pari/desc2lisp.lisp.orig 2018-07-18 17:50:36.000000000 -0600
|
|
||||||
+++ modules/pari/desc2lisp.lisp 2018-08-03 15:05:25.139224753 -0600
|
|
||||||
@@ -166,7 +166,15 @@
|
|
||||||
(setq h (car h)))
|
|
||||||
(if (and h (ext:starts-with-p h f) (setq end (search "):" h)))
|
|
||||||
;;(parse-arglist-regexp h :start (1+ (position #\( h)) :end end)
|
|
||||||
- (parse-arglist-read h :start (position #\( h) :end (1+ end))
|
|
||||||
+ (let ((l (parse-arglist-read h :start (position #\( h) :end (1+ end))))
|
|
||||||
+ (and
|
|
||||||
+ (consp l)
|
|
||||||
+ (consp (cdr l))
|
|
||||||
+ (consp (cadr l))
|
|
||||||
+ (symbolp (caadr l))
|
|
||||||
+ (equalp (symbol-name (caadr l)) "T")
|
|
||||||
+ (setf (caadr l) 'T_))
|
|
||||||
+ l)
|
|
||||||
;; (or (warn "~S: no arglist in ~S" 'desc-arglist desc) ...)
|
|
||||||
:unspecific)))
|
|
||||||
|
|
||||||
18
clisp-ppc64le-alignment.patch
Normal file
18
clisp-ppc64le-alignment.patch
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
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)
|
||||||
15
clisp-pts-access.patch
Normal file
15
clisp-pts-access.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
--- 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
|
||||||
75
clisp-readline.patch
Normal file
75
clisp-readline.patch
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
--- 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)
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
--- modules/syscalls/posix.lisp.orig 2018-07-18 17:50:36.000000000 -0600
|
|
||||||
+++ modules/syscalls/posix.lisp 2018-08-01 15:54:47.410580519 -0600
|
|
||||||
@@ -72,7 +72,7 @@
|
|
||||||
(addrtype 2 :type fixnum :read-only t))
|
|
||||||
|
|
||||||
;;; ============================================================
|
|
||||||
-#+unix (export '(crypt encrypt setkey))
|
|
||||||
+#+unix (export '(crypt))
|
|
||||||
|
|
||||||
#+unix
|
|
||||||
(defstruct (user-info (:constructor
|
|
||||||
--- modules/syscalls/test.tst.orig 2018-07-18 17:50:36.000000000 -0600
|
|
||||||
+++ modules/syscalls/test.tst 2018-08-01 15:55:58.241645520 -0600
|
|
||||||
@@ -14,20 +14,6 @@ T
|
|
||||||
(> (length (show (os:service) :pretty t)) (length (os:service nil "tcp"))) T
|
|
||||||
(equalp (os:service "www" "tcp") (os:service "http" "tcp")) T
|
|
||||||
|
|
||||||
-#+unix ;; (encrypt (encrypt X t) nil) == X
|
|
||||||
-(handler-case
|
|
||||||
- (let* ((v (make-array 8 :element-type '(unsigned-byte 8))) (u (copy-seq v)))
|
|
||||||
- (loop :repeat 10 :do
|
|
||||||
- (dotimes (i 8) (setf (aref v i) (setf (aref u i) (random 256))))
|
|
||||||
- (os:setkey v) (show (os:encrypt v nil)) (show (os:encrypt v t))
|
|
||||||
- :never (if (equalp v u) nil (list v u))))
|
|
||||||
- (ext:os-error (err)
|
|
||||||
- ;; Solaris (sf cf x86-solaris1 & sparc-solaris1) encrypt fails with
|
|
||||||
- ;; "UNIX error 89 (ENOSYS): Function not implemented"
|
|
||||||
- (format t "~S: ~A" 'os:encrypt err)
|
|
||||||
- T))
|
|
||||||
-#+unix T
|
|
||||||
-
|
|
||||||
#+unix (crypt "foo" "bar") #+unix "ba4TuD1iozTxw"
|
|
||||||
|
|
||||||
;; same as "%F %T" on GNU, but more portable
|
|
||||||
18
clisp-siginterrupt.patch
Normal file
18
clisp-siginterrupt.patch
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
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));
|
||||||
15
clisp-undefined-behavior-eval.patch
Normal file
15
clisp-undefined-behavior-eval.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
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_
|
||||||
15
clisp-undefined-behavior-io.patch
Normal file
15
clisp-undefined-behavior-io.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
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 */
|
||||||
23
clisp-undefined-behavior-sort.patch
Normal file
23
clisp-undefined-behavior-sort.patch
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
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;
|
||||||
389
clisp.spec
389
clisp.spec
|
|
@ -1,32 +1,72 @@
|
||||||
%global commit dd403693629f7b5cee04f360fb559783c6771bf7
|
# Upstream has not made a new release since 2010
|
||||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
%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
|
# There is a plus on the end for unreleased versions, not for released versions
|
||||||
%global instdir %{name}-%{version}+
|
%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
|
Name: clisp
|
||||||
Summary: ANSI Common Lisp implementation
|
Summary: ANSI Common Lisp implementation
|
||||||
Version: 2.49.93
|
Version: 2.49.95
|
||||||
Release: 9.%{shortcommit}git%{?dist}
|
|
||||||
License: GPLv2+
|
%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/
|
URL: http://www.clisp.org/
|
||||||
# The source for this package was pulled from upstream's git repository.
|
VCS: git:%{forgeurl}.git
|
||||||
Source0: https://gitlab.com/gnu-clisp/%{name}/repository/archive.tar.gz?ref=%{commit}#/%{name}-%{shortcommit}.tar.gz
|
Source0: %{forgesource}
|
||||||
|
# Upstream dropped this file from the distribution
|
||||||
|
Source1: https://gitlab.com/sam-s/clhs/-/raw/master/clhs.el
|
||||||
# Updated translations
|
# Updated translations
|
||||||
Source1: http://translationproject.org/latest/clisp/sv.po
|
Source2: http://translationproject.org/latest/clisp/sv.po
|
||||||
Source2: http://translationproject.org/latest/clisp/de.po
|
Source3: http://translationproject.org/latest/clisp/de.po
|
||||||
# https://sourceforge.net/p/clisp/patches/35/
|
|
||||||
Patch0: %{name}-db.patch
|
|
||||||
# https://sourceforge.net/p/clisp/patches/32/
|
# https://sourceforge.net/p/clisp/patches/32/
|
||||||
Patch1: %{name}-format.patch
|
Patch0: %{name}-format.patch
|
||||||
# The encrypt and setkey functions are no longer available from glibc
|
|
||||||
Patch2: %{name}-setkey.patch
|
|
||||||
# Adapt to changes in pari 2.11.0
|
|
||||||
Patch3: %{name}-pari.patch
|
|
||||||
# The combination of register and volatile is nonsensical
|
# The combination of register and volatile is nonsensical
|
||||||
Patch4: %{name}-register-volatile.patch
|
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: dbus-devel
|
||||||
|
BuildRequires: diffutils
|
||||||
BuildRequires: emacs
|
BuildRequires: emacs
|
||||||
BuildRequires: fcgi-devel
|
BuildRequires: fcgi-devel
|
||||||
BuildRequires: ffcall-devel
|
BuildRequires: ffcall-devel
|
||||||
|
|
@ -35,24 +75,27 @@ BuildRequires: gdbm-devel
|
||||||
BuildRequires: gettext-devel
|
BuildRequires: gettext-devel
|
||||||
BuildRequires: ghostscript
|
BuildRequires: ghostscript
|
||||||
BuildRequires: glibc-langpack-en
|
BuildRequires: glibc-langpack-en
|
||||||
BUildRequires: glibc-langpack-fr
|
BuildRequires: glibc-langpack-fr
|
||||||
BuildRequires: glibc-langpack-ja
|
BuildRequires: glibc-langpack-ja
|
||||||
BuildRequires: glibc-langpack-zh
|
BuildRequires: glibc-langpack-zh
|
||||||
BuildRequires: groff
|
BuildRequires: groff
|
||||||
|
%if %{with gtk2}
|
||||||
BuildRequires: gtk2-devel
|
BuildRequires: gtk2-devel
|
||||||
|
BuildRequires: libglade2-devel
|
||||||
|
%endif
|
||||||
BuildRequires: libXaw-devel
|
BuildRequires: libXaw-devel
|
||||||
BuildRequires: libXft-devel
|
BuildRequires: libXft-devel
|
||||||
BuildRequires: libdb-devel
|
BuildRequires: libdb-devel
|
||||||
BuildRequires: libglade2-devel
|
|
||||||
BuildRequires: libsigsegv-devel
|
BuildRequires: libsigsegv-devel
|
||||||
BuildRequires: libsvm-devel
|
BuildRequires: libsvm-devel
|
||||||
BuildRequires: libunistring-devel
|
BuildRequires: libunistring-devel
|
||||||
BuildRequires: libxcrypt-devel
|
BuildRequires: libxcrypt-devel
|
||||||
|
BuildRequires: make
|
||||||
BuildRequires: pari-devel
|
BuildRequires: pari-devel
|
||||||
BuildRequires: pari-gp
|
BuildRequires: pari-gp
|
||||||
BuildRequires: pcre-devel
|
|
||||||
BuildRequires: libpq-devel
|
BuildRequires: libpq-devel
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
|
BuildRequires: vim-filesystem
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
|
|
||||||
Requires: emacs-filesystem
|
Requires: emacs-filesystem
|
||||||
|
|
@ -63,25 +106,24 @@ Requires: vim-filesystem
|
||||||
Provides: bundled(gnulib)
|
Provides: bundled(gnulib)
|
||||||
|
|
||||||
%description
|
%description
|
||||||
ANSI Common Lisp is a high-level, general-purpose programming
|
ANSI Common Lisp is a high-level, general-purpose programming language. GNU
|
||||||
language. GNU CLISP is a Common Lisp implementation by Bruno Haible
|
CLISP is a Common Lisp implementation by Bruno Haible of Karlsruhe University
|
||||||
of Karlsruhe University and Michael Stoll of Munich University, both
|
and Michael Stoll of Munich University, both in Germany. It mostly supports
|
||||||
in Germany. It mostly supports the Lisp described in the ANSI Common
|
the Lisp described in the ANSI Common Lisp standard. It runs on most Unix
|
||||||
Lisp standard. It runs on most Unix workstations (GNU/Linux, FreeBSD,
|
workstations (GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Tru64, HP-UX,
|
||||||
NetBSD, OpenBSD, Solaris, Tru64, HP-UX, BeOS, NeXTstep, IRIX, AIX and
|
BeOS, NeXTstep, IRIX, AIX and others) and on other systems (Windows NT/2000/XP,
|
||||||
others) and on other systems (Windows NT/2000/XP, Windows 95/98/ME)
|
Windows 95/98/ME) and needs only 4 MiB of RAM.
|
||||||
and needs only 4 MiB of RAM.
|
|
||||||
|
|
||||||
It is Free Software and may be distributed under the terms of GNU GPL,
|
It is Free Software and may be distributed under the terms of GNU GPL, while
|
||||||
while it is possible to distribute commercial proprietary applications
|
it is possible to distribute commercial proprietary applications compiled with
|
||||||
compiled with GNU CLISP.
|
GNU CLISP.
|
||||||
|
|
||||||
The user interface comes in English, German, French, Spanish, Dutch,
|
The user interface comes in English, German, French, Spanish, Dutch, Russian
|
||||||
Russian and Danish, and can be changed at run time. GNU CLISP
|
and Danish, and can be changed at run time. GNU CLISP includes an
|
||||||
includes an interpreter, a compiler, a debugger, CLOS, MOP, a foreign
|
interpreter, a compiler, a debugger, CLOS, MOP, a foreign language interface,
|
||||||
language interface, sockets, i18n, fast bignums and more. An X11
|
sockets, i18n, fast bignums and more. An X11 interface is available through
|
||||||
interface is available through CLX, Garnet, CLUE/CLIO. GNU CLISP runs
|
CLX, Garnet, CLUE/CLIO. GNU CLISP runs Maxima, ACL2 and many other Common
|
||||||
Maxima, ACL2 and many other Common Lisp packages.
|
Lisp packages.
|
||||||
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
|
|
@ -95,26 +137,29 @@ Files necessary for linking CLISP programs.
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p0 -n %{name}-%{commit}-%{commit}
|
%forgesetup
|
||||||
|
%autopatch -M99 -p0
|
||||||
|
%ifarch %{power64}
|
||||||
|
%autopatch 100 -p0
|
||||||
|
%endif
|
||||||
|
|
||||||
# Change URLs not affected by the --hyperspec argument to configure
|
%conf
|
||||||
sed -i.orig 's|lisp.org/HyperSpec/Body/chap-7.html|lispworks.com/documentation/HyperSpec/Body/07_.htm|' \
|
cp -p %{SOURCE1} emacs
|
||||||
src/clos-package.lisp
|
cp -p %{SOURCE2} %{SOURCE3} src/po
|
||||||
touch -r src/clos-package.lisp.orig src/clos-package.lisp
|
|
||||||
rm -f src/clos-package.lisp.orig
|
|
||||||
for f in src/_README.*; do
|
|
||||||
sed -i.orig 's|lisp.org/HyperSpec/FrontMatter|lispworks.com/documentation/HyperSpec/Front|' $f
|
|
||||||
touch -r ${f}.orig $f
|
|
||||||
rm -f ${f}.orig
|
|
||||||
done
|
|
||||||
|
|
||||||
# We only link against libraries in system directories, so we need -L dir in
|
# We only link against libraries in system directories, so we need -L dir in
|
||||||
# place of -Wl,-rpath -Wl,dir
|
# place of -Wl,-rpath -Wl,dir
|
||||||
cp -p src/build-aux/config.rpath config.rpath.orig
|
cp -p src/build-aux/config.rpath config.rpath.orig
|
||||||
sed -i -e 's/${wl}-rpath ${wl}/-L/g' src/build-aux/config.rpath
|
sed -i -e 's/${wl}-rpath ${wl}/-L/g' src/build-aux/config.rpath
|
||||||
|
|
||||||
# Fix modules that need access to symbols in libgnu.a
|
# Do not use -Werror, or we get build failures on every new gcc version
|
||||||
sed -i 's/\(${GLLIB_A}\) \(${LIBS}\)/-Wl,--whole-archive \1 -Wl,--no-whole-archive \2 -ldl/' src/makemake.in
|
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
|
# Enable firefox to be the default browser for displaying documentation
|
||||||
sed -i 's/;; \((setq \*browser\* .*)\)/\1/' src/cfgunix.lisp
|
sed -i 's/;; \((setq \*browser\* .*)\)/\1/' src/cfgunix.lisp
|
||||||
|
|
@ -124,17 +169,11 @@ tar -C modules/clx -xzf modules/clx/clx-manual.tar.gz
|
||||||
chmod -R go+r modules/clx/clx-manual
|
chmod -R go+r modules/clx/clx-manual
|
||||||
chmod a-x modules/clx/clx-manual/html/doc-index.cgi
|
chmod a-x modules/clx/clx-manual/html/doc-index.cgi
|
||||||
|
|
||||||
# Update the translations
|
|
||||||
cp -p %{SOURCE1} %{SOURCE2} src/po
|
|
||||||
|
|
||||||
# On some koji builders, something is already listening on port 9090, which
|
# On some koji builders, something is already listening on port 9090, which
|
||||||
# causes a spurious test failure. Change to port 9096 for the test.
|
# causes a spurious test failure. Change to port 9096 for the test.
|
||||||
sed -i 's/9090/9096/g' tests/socket.tst
|
sed -i 's/9090/9096/g' tests/socket.tst
|
||||||
|
|
||||||
%build
|
%build
|
||||||
ulimit -s unlimited
|
|
||||||
export LC_ALL=C.UTF-8
|
|
||||||
|
|
||||||
# Do not need to specify base modules: i18n, readline, regexp, syscalls.
|
# Do not need to specify base modules: i18n, readline, regexp, syscalls.
|
||||||
# The dirkey module currently can only be built on Windows/Cygwin/MinGW.
|
# The dirkey module currently can only be built on Windows/Cygwin/MinGW.
|
||||||
# The editor module is not in good enough shape to use.
|
# The editor module is not in good enough shape to use.
|
||||||
|
|
@ -146,7 +185,6 @@ export LC_ALL=C.UTF-8
|
||||||
--infodir=%{_infodir} \
|
--infodir=%{_infodir} \
|
||||||
--docdir=%{_pkgdocdir} \
|
--docdir=%{_pkgdocdir} \
|
||||||
--fsstnd=redhat \
|
--fsstnd=redhat \
|
||||||
--hyperspec=http://www.lispworks.com/documentation/HyperSpec/ \
|
|
||||||
--with-module=asdf \
|
--with-module=asdf \
|
||||||
--with-module=berkeley-db \
|
--with-module=berkeley-db \
|
||||||
--with-module=bindings/glibc \
|
--with-module=bindings/glibc \
|
||||||
|
|
@ -154,23 +192,29 @@ export LC_ALL=C.UTF-8
|
||||||
--with-module=dbus \
|
--with-module=dbus \
|
||||||
--with-module=fastcgi \
|
--with-module=fastcgi \
|
||||||
--with-module=gdbm \
|
--with-module=gdbm \
|
||||||
|
%if %{with gtk2}
|
||||||
--with-module=gtk2 \
|
--with-module=gtk2 \
|
||||||
|
%endif
|
||||||
--with-module=libsvm \
|
--with-module=libsvm \
|
||||||
--with-module=pari \
|
--with-module=pari \
|
||||||
--with-module=pcre \
|
|
||||||
--with-module=postgresql \
|
--with-module=postgresql \
|
||||||
--with-module=rawsock \
|
--with-module=rawsock \
|
||||||
--with-module=zlib \
|
--with-module=zlib \
|
||||||
--with-libreadline-prefix=$PWD/readline \
|
--with-libreadline-prefix=$PWD/readline \
|
||||||
--with-ffcall \
|
--with-ffcall \
|
||||||
--cbcx \
|
--config \
|
||||||
build \
|
build \
|
||||||
CPPFLAGS="-I/usr/include/libsvm" \
|
CPPFLAGS='-I/usr/include/libsvm' \
|
||||||
CFLAGS="%{optflags} -Wa,--noexecstack" \
|
CFLAGS='%{build_cflags} -Wa,--noexecstack' \
|
||||||
LDFLAGS="-Wl,--as-needed -Wl,-z,relro -Wl,-z,noexecstack"
|
LDFLAGS='-Wl,--as-needed -Wl,-z,relro -Wl,-z,noexecstack'
|
||||||
|
|
||||||
|
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
|
%install
|
||||||
ulimit -s unlimited
|
|
||||||
make -C build DESTDIR=%{buildroot} install
|
make -C build DESTDIR=%{buildroot} install
|
||||||
cp -a build/full %{buildroot}%{_libdir}/%{instdir}
|
cp -a build/full %{buildroot}%{_libdir}/%{instdir}
|
||||||
rm -f %{buildroot}%{_pkgdocdir}/doc/clisp.{dvi,1,ps}
|
rm -f %{buildroot}%{_pkgdocdir}/doc/clisp.{dvi,1,ps}
|
||||||
|
|
@ -185,17 +229,16 @@ find %{buildroot}%{_libdir} -name '*.dvi' -exec rm -f {} \+
|
||||||
cat %{name}low.lang >> %{name}.lang
|
cat %{name}low.lang >> %{name}.lang
|
||||||
|
|
||||||
# Compile the Emacs interface
|
# Compile the Emacs interface
|
||||||
pushd %{buildroot}%{_datadir}/emacs/site-lisp
|
pushd %{buildroot}%{_emacs_sitelispdir}
|
||||||
%{_emacs_bytecompile} *.el
|
%{_emacs_bytecompile} *.el
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Put back the original config.rpath, and fix executable bits
|
# Put back the original config.rpath
|
||||||
cp -p config.rpath.orig %{buildroot}%{_libdir}/%{instdir}/build-aux/config.rpath
|
cp -p config.rpath.orig %{buildroot}%{_libdir}/%{instdir}/build-aux/config.rpath
|
||||||
chmod a+x \
|
|
||||||
%{buildroot}%{_libdir}/%{instdir}/build-aux/config.guess \
|
# Fix a missing executable bit
|
||||||
%{buildroot}%{_libdir}/%{instdir}/build-aux/config.sub \
|
chmod a+x %{buildroot}%{_libdir}/%{instdir}/build-aux/depcomp
|
||||||
%{buildroot}%{_libdir}/%{instdir}/build-aux/depcomp \
|
|
||||||
%{buildroot}%{_libdir}/%{instdir}/build-aux/install-sh \
|
|
||||||
# Fix paths in the Makefiles
|
# Fix paths in the Makefiles
|
||||||
for mk in $(find %{buildroot}%{_libdir} -name Makefile); do
|
for mk in $(find %{buildroot}%{_libdir} -name Makefile); do
|
||||||
sed -e "s,$PWD/modules,%{_libdir}/%{instdir}," \
|
sed -e "s,$PWD/modules,%{_libdir}/%{instdir}," \
|
||||||
|
|
@ -217,13 +260,9 @@ cp -p build/config.h %{buildroot}%{_libdir}/%{instdir}
|
||||||
cp -p build/clx/new-clx/config.h \
|
cp -p build/clx/new-clx/config.h \
|
||||||
%{buildroot}%{_libdir}/%{instdir}/clx/new-clx
|
%{buildroot}%{_libdir}/%{instdir}/clx/new-clx
|
||||||
|
|
||||||
# Fix permissions
|
|
||||||
chmod 0755 %{buildroot}%{_bindir}/%{name}
|
|
||||||
chmod 0755 %{buildroot}%{_libdir}/%{instdir}/full/lisp.run
|
|
||||||
|
|
||||||
# Fix broken symlinks in the full set
|
# Fix broken symlinks in the full set
|
||||||
pushd %{buildroot}%{_libdir}/%{instdir}/full
|
pushd %{buildroot}%{_libdir}/%{instdir}/full
|
||||||
for obj in bogomips calls gettext readline regexi; do
|
for obj in calls gettext readline regexi; do
|
||||||
rm -f ${obj}.o
|
rm -f ${obj}.o
|
||||||
ln -s ../base/${obj}.o ${obj}.o
|
ln -s ../base/${obj}.o ${obj}.o
|
||||||
done
|
done
|
||||||
|
|
@ -235,18 +274,22 @@ for obj in fastcgi fastcgi_wrappers; do
|
||||||
rm -f ${obj}.o
|
rm -f ${obj}.o
|
||||||
ln -s ../fastcgi/${obj}.o ${obj}.o
|
ln -s ../fastcgi/${obj}.o ${obj}.o
|
||||||
done
|
done
|
||||||
|
for obj in cpari pari; do
|
||||||
|
rm -f ${obj}.o
|
||||||
|
ln -s ../pari/${obj}.o ${obj}.o
|
||||||
|
done
|
||||||
rm -f bdb.o
|
rm -f bdb.o
|
||||||
ln -s ../berkeley-db/bdb.o bdb.o
|
ln -s ../berkeley-db/bdb.o bdb.o
|
||||||
rm -f clx.o
|
rm -f clx.o
|
||||||
ln -s ../clx/new-clx/clx.o clx.o
|
ln -s ../clx/new-clx/clx.o clx.o
|
||||||
rm -f cpcre.o
|
|
||||||
ln -s ../pcre/cpcre.o cpcre.o
|
|
||||||
rm -f dbus.o
|
rm -f dbus.o
|
||||||
ln -s ../dbus/dbus.o dbus.o
|
ln -s ../dbus/dbus.o dbus.o
|
||||||
rm -f gdbm.o
|
rm -f gdbm.o
|
||||||
ln -s ../gdbm/gdbm.o gdbm.o
|
ln -s ../gdbm/gdbm.o gdbm.o
|
||||||
|
%if %{with gtk2}
|
||||||
rm -f gtk.o
|
rm -f gtk.o
|
||||||
ln -s ../gtk2/gtk.o gtk.o
|
ln -s ../gtk2/gtk.o gtk.o
|
||||||
|
%endif
|
||||||
rm -f libsvm.o
|
rm -f libsvm.o
|
||||||
ln -s ../libsvm/libsvm.o libsvm.o
|
ln -s ../libsvm/libsvm.o libsvm.o
|
||||||
rm -f linux.o
|
rm -f linux.o
|
||||||
|
|
@ -263,6 +306,11 @@ popd
|
||||||
ln -s ../../src/modules.c build/base/modules.c
|
ln -s ../../src/modules.c build/base/modules.c
|
||||||
ln -s ../../src/modules.c build/full/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
|
%files -f %{name}.lang
|
||||||
%license COPYRIGHT GNU-GPL
|
%license COPYRIGHT GNU-GPL
|
||||||
%{_bindir}/clisp
|
%{_bindir}/clisp
|
||||||
|
|
@ -276,12 +324,14 @@ ln -s ../../src/modules.c build/full/modules.c
|
||||||
%{_libdir}/%{instdir}/base/lisp.run
|
%{_libdir}/%{instdir}/base/lisp.run
|
||||||
%dir %{_libdir}/%{instdir}/berkeley-db/
|
%dir %{_libdir}/%{instdir}/berkeley-db/
|
||||||
%{_libdir}/%{instdir}/berkeley-db/*.fas
|
%{_libdir}/%{instdir}/berkeley-db/*.fas
|
||||||
|
%{_libdir}/%{instdir}/berkeley-db/preload.lisp
|
||||||
%dir %{_libdir}/%{instdir}/bindings/
|
%dir %{_libdir}/%{instdir}/bindings/
|
||||||
%dir %{_libdir}/%{instdir}/bindings/glibc/
|
%dir %{_libdir}/%{instdir}/bindings/glibc/
|
||||||
%{_libdir}/%{instdir}/bindings/glibc/*.fas
|
%{_libdir}/%{instdir}/bindings/glibc/*.fas
|
||||||
%dir %{_libdir}/%{instdir}/clx/
|
%dir %{_libdir}/%{instdir}/clx/
|
||||||
%dir %{_libdir}/%{instdir}/clx/new-clx/
|
%dir %{_libdir}/%{instdir}/clx/new-clx/
|
||||||
%{_libdir}/%{instdir}/clx/new-clx/*.fas
|
%{_libdir}/%{instdir}/clx/new-clx/*.fas
|
||||||
|
%{_libdir}/%{instdir}/clx/new-clx/clx-preload.lisp
|
||||||
%{_libdir}/%{instdir}/data/
|
%{_libdir}/%{instdir}/data/
|
||||||
%dir %{_libdir}/%{instdir}/dbus/
|
%dir %{_libdir}/%{instdir}/dbus/
|
||||||
%{_libdir}/%{instdir}/dbus/*.fas
|
%{_libdir}/%{instdir}/dbus/*.fas
|
||||||
|
|
@ -293,22 +343,27 @@ ln -s ../../src/modules.c build/full/modules.c
|
||||||
%{_libdir}/%{instdir}/full/lisp.run
|
%{_libdir}/%{instdir}/full/lisp.run
|
||||||
%dir %{_libdir}/%{instdir}/gdbm/
|
%dir %{_libdir}/%{instdir}/gdbm/
|
||||||
%{_libdir}/%{instdir}/gdbm/*.fas
|
%{_libdir}/%{instdir}/gdbm/*.fas
|
||||||
|
%{_libdir}/%{instdir}/gdbm/preload.lisp
|
||||||
|
%if %{with gtk2}
|
||||||
%dir %{_libdir}/%{instdir}/gtk2/
|
%dir %{_libdir}/%{instdir}/gtk2/
|
||||||
%{_libdir}/%{instdir}/gtk2/*.fas
|
%{_libdir}/%{instdir}/gtk2/*.fas
|
||||||
|
%{_libdir}/%{instdir}/gtk2/preload.lisp
|
||||||
|
%endif
|
||||||
%dir %{_libdir}/%{instdir}/libsvm/
|
%dir %{_libdir}/%{instdir}/libsvm/
|
||||||
%{_libdir}/%{instdir}/libsvm/*.fas
|
%{_libdir}/%{instdir}/libsvm/*.fas
|
||||||
|
%{_libdir}/%{instdir}/libsvm/preload.lisp
|
||||||
%dir %{_libdir}/%{instdir}/pari/
|
%dir %{_libdir}/%{instdir}/pari/
|
||||||
%{_libdir}/%{instdir}/pari/*.fas
|
%{_libdir}/%{instdir}/pari/*.fas
|
||||||
%dir %{_libdir}/%{instdir}/pcre/
|
%{_libdir}/%{instdir}/pari/preload.lisp
|
||||||
%{_libdir}/%{instdir}/pcre/*.fas
|
|
||||||
%dir %{_libdir}/%{instdir}/postgresql/
|
%dir %{_libdir}/%{instdir}/postgresql/
|
||||||
%{_libdir}/%{instdir}/postgresql/*.fas
|
%{_libdir}/%{instdir}/postgresql/*.fas
|
||||||
%dir %{_libdir}/%{instdir}/rawsock/
|
%dir %{_libdir}/%{instdir}/rawsock/
|
||||||
%{_libdir}/%{instdir}/rawsock/*.fas
|
%{_libdir}/%{instdir}/rawsock/*.fas
|
||||||
|
%{_libdir}/%{instdir}/rawsock/preload.lisp
|
||||||
%dir %{_libdir}/%{instdir}/zlib/
|
%dir %{_libdir}/%{instdir}/zlib/
|
||||||
%{_libdir}/%{instdir}/zlib/*.fas
|
%{_libdir}/%{instdir}/zlib/*.fas
|
||||||
%{_datadir}/emacs/site-lisp/*
|
%{_emacs_sitelispdir}/*
|
||||||
%{_datadir}/vim/vimfiles/after/syntax/*
|
%{vimfiles_root}/after/syntax/*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%doc modules/clx/clx-manual
|
%doc modules/clx/clx-manual
|
||||||
|
|
@ -323,7 +378,7 @@ ln -s ../../src/modules.c build/full/modules.c
|
||||||
%{_libdir}/%{instdir}/base/makevars
|
%{_libdir}/%{instdir}/base/makevars
|
||||||
%{_libdir}/%{instdir}/berkeley-db/Makefile
|
%{_libdir}/%{instdir}/berkeley-db/Makefile
|
||||||
%{_libdir}/%{instdir}/berkeley-db/*.h
|
%{_libdir}/%{instdir}/berkeley-db/*.h
|
||||||
%{_libdir}/%{instdir}/berkeley-db/*.lisp
|
%{_libdir}/%{instdir}/berkeley-db/dbi.lisp
|
||||||
%{_libdir}/%{instdir}/berkeley-db/*.o
|
%{_libdir}/%{instdir}/berkeley-db/*.o
|
||||||
%{_libdir}/%{instdir}/berkeley-db/*.sh
|
%{_libdir}/%{instdir}/berkeley-db/*.sh
|
||||||
%{_libdir}/%{instdir}/bindings/glibc/Makefile
|
%{_libdir}/%{instdir}/bindings/glibc/Makefile
|
||||||
|
|
@ -335,7 +390,9 @@ ln -s ../../src/modules.c build/full/modules.c
|
||||||
%{_libdir}/%{instdir}/clx/new-clx/README
|
%{_libdir}/%{instdir}/clx/new-clx/README
|
||||||
%{_libdir}/%{instdir}/clx/new-clx/Makefile
|
%{_libdir}/%{instdir}/clx/new-clx/Makefile
|
||||||
%{_libdir}/%{instdir}/clx/new-clx/*.h
|
%{_libdir}/%{instdir}/clx/new-clx/*.h
|
||||||
%{_libdir}/%{instdir}/clx/new-clx/*.lisp
|
%{_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/*.o
|
||||||
%{_libdir}/%{instdir}/clx/new-clx/*.sh
|
%{_libdir}/%{instdir}/clx/new-clx/*.sh
|
||||||
%{_libdir}/%{instdir}/config.h
|
%{_libdir}/%{instdir}/config.h
|
||||||
|
|
@ -356,34 +413,32 @@ ln -s ../../src/modules.c build/full/modules.c
|
||||||
%{_libdir}/%{instdir}/full/makevars
|
%{_libdir}/%{instdir}/full/makevars
|
||||||
%{_libdir}/%{instdir}/gdbm/Makefile
|
%{_libdir}/%{instdir}/gdbm/Makefile
|
||||||
%{_libdir}/%{instdir}/gdbm/*.h
|
%{_libdir}/%{instdir}/gdbm/*.h
|
||||||
%{_libdir}/%{instdir}/gdbm/*.lisp
|
%{_libdir}/%{instdir}/gdbm/gdbm.lisp
|
||||||
%{_libdir}/%{instdir}/gdbm/*.o
|
%{_libdir}/%{instdir}/gdbm/*.o
|
||||||
%{_libdir}/%{instdir}/gdbm/*.sh
|
%{_libdir}/%{instdir}/gdbm/*.sh
|
||||||
|
%if %{with gtk2}
|
||||||
%{_libdir}/%{instdir}/gtk2/Makefile
|
%{_libdir}/%{instdir}/gtk2/Makefile
|
||||||
%{_libdir}/%{instdir}/gtk2/*.cfg
|
%{_libdir}/%{instdir}/gtk2/*.cfg
|
||||||
%{_libdir}/%{instdir}/gtk2/*.glade
|
%{_libdir}/%{instdir}/gtk2/*.glade
|
||||||
%{_libdir}/%{instdir}/gtk2/*.h
|
%{_libdir}/%{instdir}/gtk2/*.h
|
||||||
%{_libdir}/%{instdir}/gtk2/*.lisp
|
%{_libdir}/%{instdir}/gtk2/gtk.lisp
|
||||||
%{_libdir}/%{instdir}/gtk2/*.o
|
%{_libdir}/%{instdir}/gtk2/*.o
|
||||||
%{_libdir}/%{instdir}/gtk2/*.sh
|
%{_libdir}/%{instdir}/gtk2/*.sh
|
||||||
|
%endif
|
||||||
%{_libdir}/%{instdir}/libsvm/README
|
%{_libdir}/%{instdir}/libsvm/README
|
||||||
%{_libdir}/%{instdir}/libsvm/Makefile
|
%{_libdir}/%{instdir}/libsvm/Makefile
|
||||||
%{_libdir}/%{instdir}/libsvm/*.h
|
%{_libdir}/%{instdir}/libsvm/*.h
|
||||||
%{_libdir}/%{instdir}/libsvm/*.lisp
|
%{_libdir}/%{instdir}/libsvm/libsvm.lisp
|
||||||
%{_libdir}/%{instdir}/libsvm/*.o
|
%{_libdir}/%{instdir}/libsvm/*.o
|
||||||
%{_libdir}/%{instdir}/libsvm/*.sh
|
%{_libdir}/%{instdir}/libsvm/*.sh
|
||||||
%{_libdir}/%{instdir}/linkkit/
|
%{_libdir}/%{instdir}/linkkit/
|
||||||
%{_libdir}/%{instdir}/pari/README
|
%{_libdir}/%{instdir}/pari/README
|
||||||
%{_libdir}/%{instdir}/pari/Makefile
|
%{_libdir}/%{instdir}/pari/Makefile
|
||||||
%{_libdir}/%{instdir}/pari/*.h
|
%{_libdir}/%{instdir}/pari/*.h
|
||||||
%{_libdir}/%{instdir}/pari/*.lisp
|
%{_libdir}/%{instdir}/pari/desc2lisp.lisp
|
||||||
|
%{_libdir}/%{instdir}/pari/pari.lisp
|
||||||
%{_libdir}/%{instdir}/pari/*.o
|
%{_libdir}/%{instdir}/pari/*.o
|
||||||
%{_libdir}/%{instdir}/pari/*.sh
|
%{_libdir}/%{instdir}/pari/*.sh
|
||||||
%{_libdir}/%{instdir}/pcre/Makefile
|
|
||||||
%{_libdir}/%{instdir}/pcre/*.h
|
|
||||||
%{_libdir}/%{instdir}/pcre/*.lisp
|
|
||||||
%{_libdir}/%{instdir}/pcre/*.o
|
|
||||||
%{_libdir}/%{instdir}/pcre/*.sh
|
|
||||||
%{_libdir}/%{instdir}/postgresql/README
|
%{_libdir}/%{instdir}/postgresql/README
|
||||||
%{_libdir}/%{instdir}/postgresql/Makefile
|
%{_libdir}/%{instdir}/postgresql/Makefile
|
||||||
%{_libdir}/%{instdir}/postgresql/*.h
|
%{_libdir}/%{instdir}/postgresql/*.h
|
||||||
|
|
@ -393,7 +448,7 @@ ln -s ../../src/modules.c build/full/modules.c
|
||||||
%{_libdir}/%{instdir}/rawsock/demos/
|
%{_libdir}/%{instdir}/rawsock/demos/
|
||||||
%{_libdir}/%{instdir}/rawsock/Makefile
|
%{_libdir}/%{instdir}/rawsock/Makefile
|
||||||
%{_libdir}/%{instdir}/rawsock/*.h
|
%{_libdir}/%{instdir}/rawsock/*.h
|
||||||
%{_libdir}/%{instdir}/rawsock/*.lisp
|
%{_libdir}/%{instdir}/rawsock/sock.lisp
|
||||||
%{_libdir}/%{instdir}/rawsock/*.o
|
%{_libdir}/%{instdir}/rawsock/*.o
|
||||||
%{_libdir}/%{instdir}/rawsock/*.sh
|
%{_libdir}/%{instdir}/rawsock/*.sh
|
||||||
%{_libdir}/%{instdir}/zlib/Makefile
|
%{_libdir}/%{instdir}/zlib/Makefile
|
||||||
|
|
@ -405,6 +460,154 @@ ln -s ../../src/modules.c build/full/modules.c
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%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
|
* Mon Aug 26 2019 Jerry James <loganjerry@gmail.com> - 2.49.93-9.dd40369git
|
||||||
- Update to latest git snapshot for bug fixes
|
- Update to latest git snapshot for bug fixes
|
||||||
- Add latest German translation
|
- Add latest German translation
|
||||||
|
|
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
SHA512 (clisp-dd40369.tar.gz) = 92b897363e3cefd5669fc6eb42f6359f4495fcbb93ca492a17a64dd1deba144aeda625d240917c7b467cfbf464503c0bb9f2d157dbccf12a3346b98b0a24c3e2
|
SHA512 (clisp-f66220939ea7d36fd085384afa4a0ec44597d499.tar.bz2) = 16d6ccba500d60fe36c20b5bd1d6c9403567996020cef406e42813a302a86d94dc0d5e36aae434b5b846d39ec37d6db2b50565a69d24291b973724bcc0874bd0
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue