Compare commits
19 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
24dca17a22 | ||
|
|
f1acbe9371 | ||
|
|
2f58da3a26 | ||
|
|
28d75acd55 | ||
|
|
3f3e034be0 | ||
|
|
00ea9b0d97 | ||
|
|
7bf88cd6af | ||
|
|
ff5c8f0ebb | ||
|
|
885c36453f | ||
|
|
8e77a6688a | ||
|
|
debdecc984 | ||
|
|
3d02564e31 | ||
|
|
6afa4a56b7 | ||
|
|
0acf606978 | ||
|
|
dbb1df508f | ||
|
|
758dd9dc0d | ||
|
|
5c268b6f08 | ||
|
|
6816da647d | ||
|
|
0fb0f9b958 |
12 changed files with 340 additions and 82 deletions
|
|
@ -1,22 +0,0 @@
|
|||
--- modules/berkeley-db/configure.orig 2021-06-28 14:32:42.000000000 -0600
|
||||
+++ modules/berkeley-db/configure 2021-07-16 15:35:19.789568797 -0600
|
||||
@@ -6376,7 +6376,7 @@ then :
|
||||
else $as_nop
|
||||
|
||||
CFLAGS_save="$CFLAGS"
|
||||
-CFLAGS="$CFLAGS -Werror"
|
||||
+CFLAGS="$CFLAGS -Wno-uninitialized -Werror"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <db.h>
|
||||
--- modules/berkeley-db/configure.in.orig 2021-06-28 14:32:42.000000000 -0600
|
||||
+++ modules/berkeley-db/configure.in 2021-07-16 15:35:19.786568792 -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);]])],
|
||||
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);
|
||||
}
|
||||
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)
|
||||
|
|
@ -1,15 +1,15 @@
|
|||
--- tests/streams.tst.orig 2021-06-28 14:32:42.000000000 -0600
|
||||
+++ tests/streams.tst 2022-01-28 14:04:45.685239619 -0700
|
||||
--- 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" "HP-UX" "Minix" "Windows") :test #'equal) 'ERROR 'T)
|
||||
-#.(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" "HP-UX" "Minix" "Windows") :test #'equal) 'ERROR 'T)
|
||||
+;;#.(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)
|
||||
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;
|
||||
178
clisp.spec
178
clisp.spec
|
|
@ -1,7 +1,7 @@
|
|||
# Upstream has not made a new release since 2010
|
||||
%global srcname clisp
|
||||
%global commit 79cbafdbc6337d6dcd8f2dbad69fb7ebf7a46012
|
||||
%global date 20230212
|
||||
%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
|
||||
|
|
@ -10,13 +10,11 @@
|
|||
# This package uses toplevel ASMs which are incompatible with LTO
|
||||
%global _lto_cflags %{nil}
|
||||
|
||||
%if ! (0%{?rhel} > 9)
|
||||
%bcond_without gtk2
|
||||
%endif
|
||||
%bcond gtk2 %[!(0%{?rhel} > 9)]
|
||||
|
||||
Name: clisp
|
||||
Summary: ANSI Common Lisp implementation
|
||||
Version: 2.49.93
|
||||
Version: 2.49.95
|
||||
|
||||
%forgemeta
|
||||
|
||||
|
|
@ -26,28 +24,46 @@ Version: 2.49.93
|
|||
# - 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: 30%{?dist}
|
||||
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/35/
|
||||
Patch0: %{name}-db.patch
|
||||
# https://sourceforge.net/p/clisp/patches/32/
|
||||
Patch1: %{name}-format.patch
|
||||
Patch0: %{name}-format.patch
|
||||
# The combination of register and volatile is nonsensical
|
||||
Patch2: %{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.
|
||||
Patch3: %{name}-pts-access.patch
|
||||
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
|
||||
Patch4: %{name}-no-inline.patch
|
||||
Patch100: %{name}-no-inline.patch
|
||||
|
||||
BuildRequires: dbus-devel
|
||||
BuildRequires: diffutils
|
||||
|
|
@ -77,9 +93,9 @@ BuildRequires: libxcrypt-devel
|
|||
BuildRequires: make
|
||||
BuildRequires: pari-devel
|
||||
BuildRequires: pari-gp
|
||||
BuildRequires: pcre-devel
|
||||
BuildRequires: libpq-devel
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: vim-filesystem
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
Requires: emacs-filesystem
|
||||
|
|
@ -90,25 +106,24 @@ Requires: vim-filesystem
|
|||
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
|
||||
|
|
@ -123,10 +138,12 @@ Files necessary for linking CLISP programs.
|
|||
|
||||
%prep
|
||||
%forgesetup
|
||||
%autopatch -M4 -p0
|
||||
%autopatch -M99 -p0
|
||||
%ifarch %{power64}
|
||||
%autopatch 5 -p0
|
||||
%autopatch 100 -p0
|
||||
%endif
|
||||
|
||||
%conf
|
||||
cp -p %{SOURCE1} emacs
|
||||
cp -p %{SOURCE2} %{SOURCE3} src/po
|
||||
|
||||
|
|
@ -135,8 +152,11 @@ cp -p %{SOURCE2} %{SOURCE3} src/po
|
|||
cp -p src/build-aux/config.rpath config.rpath.orig
|
||||
sed -i -e 's/${wl}-rpath ${wl}/-L/g' src/build-aux/config.rpath
|
||||
|
||||
# Fix modules that need access to symbols in libgnu.a
|
||||
sed -i 's/\(${GLLIB_A}\) \(${LIBS}\)/-Wl,--whole-archive \1 -Wl,--no-whole-archive \2 -ldl/' src/makemake.in
|
||||
# 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
|
||||
|
|
@ -154,8 +174,6 @@ chmod a-x modules/clx/clx-manual/html/doc-index.cgi
|
|||
sed -i 's/9090/9096/g' tests/socket.tst
|
||||
|
||||
%build
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
# 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.
|
||||
|
|
@ -179,7 +197,6 @@ export LC_ALL=C.UTF-8
|
|||
%endif
|
||||
--with-module=libsvm \
|
||||
--with-module=pari \
|
||||
--with-module=pcre \
|
||||
--with-module=postgresql \
|
||||
--with-module=rawsock \
|
||||
--with-module=zlib \
|
||||
|
|
@ -187,9 +204,9 @@ export LC_ALL=C.UTF-8
|
|||
--with-ffcall \
|
||||
--config \
|
||||
build \
|
||||
CPPFLAGS="-I/usr/include/libsvm" \
|
||||
CFLAGS="%{build_cflags} -Wa,--noexecstack" \
|
||||
LDFLAGS="-Wl,--as-needed -Wl,-z,relro -Wl,-z,noexecstack"
|
||||
CPPFLAGS='-I/usr/include/libsvm' \
|
||||
CFLAGS='%{build_cflags} -Wa,--noexecstack' \
|
||||
LDFLAGS='-Wl,--as-needed -Wl,-z,relro -Wl,-z,noexecstack'
|
||||
|
||||
cd build
|
||||
# Workaround libtool reordering -Wl,--as-needed after all the libraries.
|
||||
|
|
@ -212,7 +229,7 @@ find %{buildroot}%{_libdir} -name '*.dvi' -exec rm -f {} \+
|
|||
cat %{name}low.lang >> %{name}.lang
|
||||
|
||||
# Compile the Emacs interface
|
||||
pushd %{buildroot}%{_datadir}/emacs/site-lisp
|
||||
pushd %{buildroot}%{_emacs_sitelispdir}
|
||||
%{_emacs_bytecompile} *.el
|
||||
popd
|
||||
|
||||
|
|
@ -265,8 +282,6 @@ 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 cpcre.o
|
||||
ln -s ../pcre/cpcre.o cpcre.o
|
||||
rm -f dbus.o
|
||||
ln -s ../dbus/dbus.o dbus.o
|
||||
rm -f gdbm.o
|
||||
|
|
@ -292,7 +307,6 @@ ln -s ../../src/modules.c build/base/modules.c
|
|||
ln -s ../../src/modules.c build/full/modules.c
|
||||
|
||||
%check
|
||||
export LC_ALL=C.UTF-8
|
||||
make -C build check
|
||||
make -C build extracheck
|
||||
make -C build base-mod-check
|
||||
|
|
@ -341,9 +355,6 @@ make -C build base-mod-check
|
|||
%dir %{_libdir}/%{instdir}/pari/
|
||||
%{_libdir}/%{instdir}/pari/*.fas
|
||||
%{_libdir}/%{instdir}/pari/preload.lisp
|
||||
%dir %{_libdir}/%{instdir}/pcre/
|
||||
%{_libdir}/%{instdir}/pcre/*.fas
|
||||
%{_libdir}/%{instdir}/pcre/preload.lisp
|
||||
%dir %{_libdir}/%{instdir}/postgresql/
|
||||
%{_libdir}/%{instdir}/postgresql/*.fas
|
||||
%dir %{_libdir}/%{instdir}/rawsock/
|
||||
|
|
@ -351,8 +362,8 @@ make -C build base-mod-check
|
|||
%{_libdir}/%{instdir}/rawsock/preload.lisp
|
||||
%dir %{_libdir}/%{instdir}/zlib/
|
||||
%{_libdir}/%{instdir}/zlib/*.fas
|
||||
%{_datadir}/emacs/site-lisp/*
|
||||
%{_datadir}/vim/vimfiles/after/syntax/*
|
||||
%{_emacs_sitelispdir}/*
|
||||
%{vimfiles_root}/after/syntax/*
|
||||
|
||||
%files devel
|
||||
%doc modules/clx/clx-manual
|
||||
|
|
@ -428,11 +439,6 @@ make -C build base-mod-check
|
|||
%{_libdir}/%{instdir}/pari/pari.lisp
|
||||
%{_libdir}/%{instdir}/pari/*.o
|
||||
%{_libdir}/%{instdir}/pari/*.sh
|
||||
%{_libdir}/%{instdir}/pcre/Makefile
|
||||
%{_libdir}/%{instdir}/pcre/*.h
|
||||
%{_libdir}/%{instdir}/pcre/pcre.lisp
|
||||
%{_libdir}/%{instdir}/pcre/*.o
|
||||
%{_libdir}/%{instdir}/pcre/*.sh
|
||||
%{_libdir}/%{instdir}/postgresql/README
|
||||
%{_libdir}/%{instdir}/postgresql/Makefile
|
||||
%{_libdir}/%{instdir}/postgresql/*.h
|
||||
|
|
@ -454,6 +460,68 @@ make -C build base-mod-check
|
|||
|
||||
|
||||
%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
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (clisp-79cbafdbc6337d6dcd8f2dbad69fb7ebf7a46012.tar.bz2) = 4c08409e454fb6ada0518d1e2bb872f8a0d6d519d165513e468eecb4c8d33c44f10c4c72d43cc22aa29b222d3f759c390020191aeb9318569bad48fc1f127a98
|
||||
SHA512 (clisp-f66220939ea7d36fd085384afa4a0ec44597d499.tar.bz2) = 16d6ccba500d60fe36c20b5bd1d6c9403567996020cef406e42813a302a86d94dc0d5e36aae434b5b846d39ec37d6db2b50565a69d24291b973724bcc0874bd0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue