Compare commits

..

No commits in common. "rawhide" and "f40" have entirely different histories.

14 changed files with 122 additions and 316 deletions

View file

@ -0,0 +1,13 @@
--- modules/berkeley-db/bdb.c.orig 2023-07-18 14:03:05.000000000 -0600
+++ modules/berkeley-db/bdb.c 2023-12-01 12:12:30.675503890 -0700
@@ -2752,8 +2752,8 @@ DEFUN(BDB:TXN-RECOVER, dbe &key FIRST :N
DB_ENV *dbe = (DB_ENV*)bdb_handle(popSTACK(),`BDB::DBE`,BH_VALID);
u_int32_t tx_max;
DB_PREPLIST *preplist;
- int status, ii;
- u_int32_t retnum;
+ int status;
+ long ii, retnum;
SYSCALL(dbe->get_tx_max,(dbe,&tx_max));
preplist = (DB_PREPLIST*)clisp_malloc(tx_max * sizeof(DB_PREPLIST));
begin_blocking_system_call();

36
clisp-c99.patch Normal file
View file

@ -0,0 +1,36 @@
berkeley-db: Avoid failure of HAVE_DB_STAT_ACCEPT_TXN test in
configure
The last argument for db_stat is of type uint32_t, and compilers may
not allow passing NULL in its place. This causes the check to fail
in some cases where HAVE_DB_STAT_ACCEPT_TXN is expected to be defined,
leading to build failures later.
Submitted upstream: <https://gitlab.com/gnu-clisp/clisp/-/merge_requests/8>
diff --git modules/berkeley-db/configure modules/berkeley-db/configure
index 6f63e605b..c8734a1ca 100755
--- modules/berkeley-db/configure
+++ modules/berkeley-db/configure
@@ -6347,7 +6347,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
int
main (void)
{
-DB db; db.stat(&db,NULL,0,NULL);
+DB db; db.stat(&db,NULL,0,0);
;
return 0;
}
diff --git modules/berkeley-db/configure.in modules/berkeley-db/configure.in
index c2b8a5d2d..225fd91b1 100644
--- modules/berkeley-db/configure.in
+++ modules/berkeley-db/configure.in
@@ -38,7 +38,7 @@ AC_CHECK_SIZEOF(db_recno_t,,[#include <stdio.h>
dnl <http://www.sleepycat.com/docs/ref/upgrade.4.3/stat.html>
AC_CACHE_CHECK([whether DB->stat() accepts TXNid],ac_cv_db_stat_accept_txn,[
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <db.h>],
-[[DB db; db.stat(&db,NULL,0,NULL);]])],
+[[DB db; db.stat(&db,NULL,0,0);]])],
ac_cv_db_stat_accept_txn=yes,ac_cv_db_stat_accept_txn=no)])
if test "$ac_cv_db_stat_accept_txn" = "yes"; then
AC_DEFINE(HAVE_DB_STAT_ACCEPT_TXN,1,[Define to 1 if DB->stat() accepts TXNid])

22
clisp-db.patch Normal file
View file

@ -0,0 +1,22 @@
--- 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);]])],

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,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,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 +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
--- tests/streams.tst.orig 2021-06-28 14:32:42.000000000 -0600
+++ tests/streams.tst 2022-01-28 14:04:45.685239619 -0700
@@ -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)
-#.(if (member (ext:operating-system-type) '("AIX" "Haiku" "HP-UX" "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)
+;;#.(if (member (ext:operating-system-type) '("AIX" "Haiku" "HP-UX" "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,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,7 +1,7 @@
# Upstream has not made a new release since 2010
%global srcname clisp
%global commit f66220939ea7d36fd085384afa4a0ec44597d499
%global date 20250504
%global commit 66924971790e4cbee3d58f36e530caa0ad568e5f
%global date 20230718
%global forgeurl https://gitlab.com/gnu-clisp/clisp
# There is a plus on the end for unreleased versions, not for released versions
@ -10,11 +10,13 @@
# This package uses toplevel ASMs which are incompatible with LTO
%global _lto_cflags %{nil}
%bcond gtk2 %[!(0%{?rhel} > 9)]
%if ! (0%{?rhel} > 9)
%bcond_without gtk2
%endif
Name: clisp
Summary: ANSI Common Lisp implementation
Version: 2.49.95
Version: 2.49.93
%forgemeta
@ -24,46 +26,34 @@ Version: 2.49.95
# - 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}
Release: 37%{?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/
Patch0: %{name}-format.patch
Patch1: %{name}-format.patch
# The combination of register and volatile is nonsensical
Patch1: %{name}-register-volatile.patch
Patch2: %{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
Patch3: %{name}-pts-access.patch
# Fix HAVE_DB_STAT_ACCEPT_TXN test in the Berkeley DB module
Patch4: %{name}-c99.patch
# Fix mismatched pointer types in the Berkeley DB module
# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/9
Patch5: %{name}-bdb-mismatched-pointer.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
Patch100: %{name}-no-inline.patch
BuildRequires: dbus-devel
BuildRequires: diffutils
@ -95,7 +85,6 @@ BuildRequires: pari-devel
BuildRequires: pari-gp
BuildRequires: libpq-devel
BuildRequires: readline-devel
BuildRequires: vim-filesystem
BuildRequires: zlib-devel
Requires: emacs-filesystem
@ -106,24 +95,25 @@ 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
@ -142,8 +132,6 @@ Files necessary for linking CLISP programs.
%ifarch %{power64}
%autopatch 100 -p0
%endif
%conf
cp -p %{SOURCE1} emacs
cp -p %{SOURCE2} %{SOURCE3} src/po
@ -152,11 +140,8 @@ 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
# 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
# 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
# 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
@ -174,6 +159,8 @@ 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.
@ -204,9 +191,9 @@ sed -i 's/9090/9096/g' tests/socket.tst
--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.
@ -229,7 +216,7 @@ find %{buildroot}%{_libdir} -name '*.dvi' -exec rm -f {} \+
cat %{name}low.lang >> %{name}.lang
# Compile the Emacs interface
pushd %{buildroot}%{_emacs_sitelispdir}
pushd %{buildroot}%{_datadir}/emacs/site-lisp
%{_emacs_bytecompile} *.el
popd
@ -307,6 +294,7 @@ 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
@ -362,8 +350,8 @@ make -C build base-mod-check
%{_libdir}/%{instdir}/rawsock/preload.lisp
%dir %{_libdir}/%{instdir}/zlib/
%{_libdir}/%{instdir}/zlib/*.fas
%{_emacs_sitelispdir}/*
%{vimfiles_root}/after/syntax/*
%{_datadir}/emacs/site-lisp/*
%{_datadir}/vim/vimfiles/after/syntax/*
%files devel
%doc modules/clx/clx-manual
@ -460,47 +448,6 @@ 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

View file

@ -1 +1 @@
SHA512 (clisp-f66220939ea7d36fd085384afa4a0ec44597d499.tar.bz2) = 16d6ccba500d60fe36c20b5bd1d6c9403567996020cef406e42813a302a86d94dc0d5e36aae434b5b846d39ec37d6db2b50565a69d24291b973724bcc0874bd0
SHA512 (clisp-66924971790e4cbee3d58f36e530caa0ad568e5f.tar.bz2) = a07051188e87cb0333b463248373289c59468e192583d7e7235ec8a74eab494b664fbd79a6c735b52d77157eb803eff2a3e1a0fa45fa4e68ccff4e637fae73ad