From 65cf1984f04686616208107f3745dd17112c48c2 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 17 Dec 2019 15:22:04 -0700 Subject: [PATCH 01/51] Update to latest git snapshot for HyperSpec fixes. --- clisp.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/clisp.spec b/clisp.spec index 44bca80..2214a49 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,4 +1,4 @@ -%global commit dd403693629f7b5cee04f360fb559783c6771bf7 +%global commit c26de78733578fc38952d2485313065eba4f5caa %global shortcommit %(c=%{commit}; echo ${c:0:7}) # There is a plus on the end for unreleased versions, not for released versions @@ -7,7 +7,7 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 9.%{shortcommit}git%{?dist} +Release: 10.%{shortcommit}git%{?dist} License: GPLv2+ URL: http://www.clisp.org/ # The source for this package was pulled from upstream's git repository. @@ -405,6 +405,9 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Tue Dec 17 2019 Jerry James - 2.49.93-10.c26de78git +- Update to latest git snapshot for HyperSpec fixes + * Mon Aug 26 2019 Jerry James - 2.49.93-9.dd40369git - Update to latest git snapshot for bug fixes - Add latest German translation diff --git a/sources b/sources index c49bdf0..83db664 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-dd40369.tar.gz) = 92b897363e3cefd5669fc6eb42f6359f4495fcbb93ca492a17a64dd1deba144aeda625d240917c7b467cfbf464503c0bb9f2d157dbccf12a3346b98b0a24c3e2 +SHA512 (clisp-c26de78.tar.gz) = 79e9a19746c70ba8f4342749b46a843e3a698a4aa8d660042d760abf4258aa893abc217820de73a7df910e7b25f4c42651ba3cc507a8145545d9c14709c7fef5 From e63db6f03392c90ea2bd119cb9e7e408519720a2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 14:13:33 +0000 Subject: [PATCH 02/51] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 2214a49..0f3f59a 100644 --- a/clisp.spec +++ b/clisp.spec @@ -7,7 +7,7 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 10.%{shortcommit}git%{?dist} +Release: 11.%{shortcommit}git%{?dist} License: GPLv2+ URL: http://www.clisp.org/ # The source for this package was pulled from upstream's git repository. @@ -405,6 +405,9 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 2.49.93-11.c26de78git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Tue Dec 17 2019 Jerry James - 2.49.93-10.c26de78git - Update to latest git snapshot for HyperSpec fixes From 46374e59e3d0f351286084827e8bfb9025823d27 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 14:06:36 +0000 Subject: [PATCH 03/51] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 0f3f59a..703a188 100644 --- a/clisp.spec +++ b/clisp.spec @@ -7,7 +7,7 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 11.%{shortcommit}git%{?dist} +Release: 12.%{shortcommit}git%{?dist} License: GPLv2+ URL: http://www.clisp.org/ # The source for this package was pulled from upstream's git repository. @@ -405,6 +405,9 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 2.49.93-12.c26de78git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jan 28 2020 Fedora Release Engineering - 2.49.93-11.c26de78git - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 26951c4fcb69a18f3f949d775e721b03bae21a1a Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 27 Jul 2020 20:50:39 -0600 Subject: [PATCH 04/51] Disable LTO --- clisp.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 703a188..74db232 100644 --- a/clisp.spec +++ b/clisp.spec @@ -7,7 +7,7 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 12.%{shortcommit}git%{?dist} +Release: 13.%{shortcommit}git%{?dist} License: GPLv2+ URL: http://www.clisp.org/ # The source for this package was pulled from upstream's git repository. @@ -132,6 +132,9 @@ cp -p %{SOURCE1} %{SOURCE2} src/po sed -i 's/9090/9096/g' tests/socket.tst %build +# This package uses toplevel ASMs which are incompatible with LTO +%define _lto_cflags %{nil} + ulimit -s unlimited export LC_ALL=C.UTF-8 @@ -405,6 +408,9 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Mon Jul 27 2020 Jeff Law - 2.49.93-13.c26de78git +- Disable LTO + * Mon Jul 27 2020 Fedora Release Engineering - 2.49.93-12.c26de78git - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 6163f752d59c4d680d099a992ea252afdd1dae79 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 1 Aug 2020 00:23:11 +0000 Subject: [PATCH 05/51] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- clisp.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 74db232..8d14feb 100644 --- a/clisp.spec +++ b/clisp.spec @@ -7,7 +7,7 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 13.%{shortcommit}git%{?dist} +Release: 14.%{shortcommit}git%{?dist} License: GPLv2+ URL: http://www.clisp.org/ # The source for this package was pulled from upstream's git repository. @@ -408,6 +408,10 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Sat Aug 01 2020 Fedora Release Engineering - 2.49.93-14.c26de78git +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Mon Jul 27 2020 Jeff Law - 2.49.93-13.c26de78git - Disable LTO From bc6259f86735831624546b4f324ff2698cfa0ff0 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 9 Nov 2020 13:26:31 -0700 Subject: [PATCH 06/51] Explicitly BR make. --- clisp.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/clisp.spec b/clisp.spec index 8d14feb..2424d2a 100644 --- a/clisp.spec +++ b/clisp.spec @@ -48,6 +48,7 @@ BuildRequires: libsigsegv-devel BuildRequires: libsvm-devel BuildRequires: libunistring-devel BuildRequires: libxcrypt-devel +BuildRequires: make BuildRequires: pari-devel BuildRequires: pari-gp BuildRequires: pcre-devel From cf0fa58cb20510668ce04bbb87e152f5c01de44f Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 11 Nov 2020 13:41:11 -0700 Subject: [PATCH 07/51] Update to latest git snapshot for more HyperSpec fixes. --- clisp.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/clisp.spec b/clisp.spec index 2424d2a..199d2a5 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,4 +1,4 @@ -%global commit c26de78733578fc38952d2485313065eba4f5caa +%global commit a9aeb8030714ae97ef7f8e01c2ee68b6f297e749 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # There is a plus on the end for unreleased versions, not for released versions @@ -7,7 +7,7 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 14.%{shortcommit}git%{?dist} +Release: 15.%{shortcommit}git%{?dist} License: GPLv2+ URL: http://www.clisp.org/ # The source for this package was pulled from upstream's git repository. @@ -409,6 +409,9 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Mon Nov 9 2020 Jerry James - 2.49.93-15.a9aeb80git +- Update to latest git snapshot for more HyperSpec fixes + * Sat Aug 01 2020 Fedora Release Engineering - 2.49.93-14.c26de78git - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/sources b/sources index 83db664..61b84d4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-c26de78.tar.gz) = 79e9a19746c70ba8f4342749b46a843e3a698a4aa8d660042d760abf4258aa893abc217820de73a7df910e7b25f4c42651ba3cc507a8145545d9c14709c7fef5 +SHA512 (clisp-a9aeb80.tar.gz) = 6d326c4b14777dae54562954702b1642639bc53bd3704074727cb325b074318392c28262331436ae257d415d71fb72919bdff8021c061f3cd32c14136837e044 From 5731df002ee6841e127bcb88c3ea52303a5d6a11 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 02:06:36 +0000 Subject: [PATCH 08/51] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 199d2a5..0d24522 100644 --- a/clisp.spec +++ b/clisp.spec @@ -7,7 +7,7 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 15.%{shortcommit}git%{?dist} +Release: 16.%{shortcommit}git%{?dist} License: GPLv2+ URL: http://www.clisp.org/ # The source for this package was pulled from upstream's git repository. @@ -409,6 +409,9 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 2.49.93-16.a9aeb80git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Nov 9 2020 Jerry James - 2.49.93-15.a9aeb80git - Update to latest git snapshot for more HyperSpec fixes From 5d3d4499e599f4fdedcf97e50baf6ab448354ee1 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Mon, 8 Feb 2021 09:23:06 +0100 Subject: [PATCH 09/51] rebuild for libpq ABI fix Related: rhbz#1908268 --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 0d24522..9a7eec6 100644 --- a/clisp.spec +++ b/clisp.spec @@ -7,7 +7,7 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 16.%{shortcommit}git%{?dist} +Release: 17.%{shortcommit}git%{?dist} License: GPLv2+ URL: http://www.clisp.org/ # The source for this package was pulled from upstream's git repository. @@ -409,6 +409,9 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Mon Feb 08 2021 Pavel Raiskup - 2.49.93-17.a9aeb80git +- rebuild for libpq ABI fix rhbz#1908268 + * Tue Jan 26 2021 Fedora Release Engineering - 2.49.93-16.a9aeb80git - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 9c5434c0ab479693206c4213bac70aad1b871dde Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 23 Mar 2021 13:51:17 -0600 Subject: [PATCH 10/51] Update to latest git snapshot for autoconf + glib updates. - Fix broken symlinks in the full set. --- clisp.spec | 15 ++++++++++++--- sources | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/clisp.spec b/clisp.spec index 9a7eec6..27da532 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,4 +1,4 @@ -%global commit a9aeb8030714ae97ef7f8e01c2ee68b6f297e749 +%global commit d9cbf22d18680f9b9c84579be6bc363e4bd1090c %global shortcommit %(c=%{commit}; echo ${c:0:7}) # There is a plus on the end for unreleased versions, not for released versions @@ -7,7 +7,7 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 17.%{shortcommit}git%{?dist} +Release: 18.%{shortcommit}git%{?dist} License: GPLv2+ URL: http://www.clisp.org/ # The source for this package was pulled from upstream's git repository. @@ -27,6 +27,7 @@ Patch3: %{name}-pari.patch Patch4: %{name}-register-volatile.patch BuildRequires: dbus-devel +BuildRequires: diffutils BuildRequires: emacs BuildRequires: fcgi-devel BuildRequires: ffcall-devel @@ -227,7 +228,7 @@ chmod 0755 %{buildroot}%{_libdir}/%{instdir}/full/lisp.run # Fix broken symlinks in the full set 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 ln -s ../base/${obj}.o ${obj}.o done @@ -239,6 +240,10 @@ for obj in fastcgi fastcgi_wrappers; do rm -f ${obj}.o ln -s ../fastcgi/${obj}.o ${obj}.o done +for obj in cpari pari; do + rm -f ${obj}.o + ln -s ../pari/${obj}.o ${obj}.o +done rm -f bdb.o ln -s ../berkeley-db/bdb.o bdb.o rm -f clx.o @@ -409,6 +414,10 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Tue Mar 23 2021 Jerry James - 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 - 2.49.93-17.a9aeb80git - rebuild for libpq ABI fix rhbz#1908268 diff --git a/sources b/sources index 61b84d4..8fe623f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-a9aeb80.tar.gz) = 6d326c4b14777dae54562954702b1642639bc53bd3704074727cb325b074318392c28262331436ae257d415d71fb72919bdff8021c061f3cd32c14136837e044 +SHA512 (clisp-d9cbf22.tar.gz) = 80260a22f999c5af26bfec5a69fce1dfd639855feb18e079fea80b8e43cb2dae2ad5ed75db9031e9452470e7b741c3a7868c2aee15dfd716a710d9938f4978d0 From 5224d940d5182ae04283a3f40eb6188e13b95703 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Tue, 25 May 2021 12:16:38 +0200 Subject: [PATCH 11/51] Rebuild with new binutils to fix ppc64le corruption (#1960730) --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 27da532..0cdfc79 100644 --- a/clisp.spec +++ b/clisp.spec @@ -7,7 +7,7 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 18.%{shortcommit}git%{?dist} +Release: 19.%{shortcommit}git%{?dist} License: GPLv2+ URL: http://www.clisp.org/ # The source for this package was pulled from upstream's git repository. @@ -414,6 +414,9 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Tue May 25 2021 Florian Weimer - 2.49.93-19.d9cbf22git +- Rebuild with new binutils to fix ppc64le corruption (#1960730) + * Tue Mar 23 2021 Jerry James - 2.49.93-18.d9cbf22git - Update to latest git snapshot for autoconf + glib updates - Fix broken symlinks in the full set From 357878948a6e4b869299466af7bdab62497fb5b6 Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Wed, 19 May 2021 16:55:46 +0000 Subject: [PATCH 12/51] Don't build with ulimit -s unlimited Back in 2005 or 2008 (a bit unclear from git history and RPM changelogs), it seemed that clisp wouldn't build on ppc or ppc64 without increasing the ulimit for stack size. This seems to no longer be required. Tested building on ppc64le, aarch64, x86_64. Signed-off-by: Stewart Smith --- clisp.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/clisp.spec b/clisp.spec index 0cdfc79..54c7f61 100644 --- a/clisp.spec +++ b/clisp.spec @@ -137,7 +137,6 @@ sed -i 's/9090/9096/g' tests/socket.tst # This package uses toplevel ASMs which are incompatible with LTO %define _lto_cflags %{nil} -ulimit -s unlimited export LC_ALL=C.UTF-8 # Do not need to specify base modules: i18n, readline, regexp, syscalls. @@ -175,7 +174,6 @@ export LC_ALL=C.UTF-8 LDFLAGS="-Wl,--as-needed -Wl,-z,relro -Wl,-z,noexecstack" %install -ulimit -s unlimited make -C build DESTDIR=%{buildroot} install cp -a build/full %{buildroot}%{_libdir}/%{instdir} rm -f %{buildroot}%{_pkgdocdir}/doc/clisp.{dvi,1,ps} From 94e796d993af31c9afa8e02e6d628f42a99f1ed0 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 17 Jun 2021 12:53:52 -0600 Subject: [PATCH 13/51] Rebuild for ffcall 2.4 and multithreaded pari. --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 54c7f61..bebe849 100644 --- a/clisp.spec +++ b/clisp.spec @@ -7,7 +7,7 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 19.%{shortcommit}git%{?dist} +Release: 20.%{shortcommit}git%{?dist} License: GPLv2+ URL: http://www.clisp.org/ # The source for this package was pulled from upstream's git repository. @@ -412,6 +412,9 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Thu Jun 17 2021 Jerry James - 2.49.93-20.d9cbf22git +- Rebuild for ffcall 2.4 and multithreaded pari + * Tue May 25 2021 Florian Weimer - 2.49.93-19.d9cbf22git - Rebuild with new binutils to fix ppc64le corruption (#1960730) From 7cecc3c028cc81a8f5020a35e36c2ce6d57aa621 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 16 Jul 2021 21:24:30 -0600 Subject: [PATCH 14/51] Update to latest git snapshot for autoconf + glib updates. - Drop upstreamed -setkey patch. - Use forge macros. - Use default HyperSpec URLs. --- .gitignore | 1 + clhs.el | 136 +++++++++++++++++++++++++++++++++++++++++++++ clisp-db.patch | 26 ++++----- clisp-setkey.patch | 34 ------------ clisp-test.patch | 11 ++++ clisp.spec | 82 +++++++++++++++------------ sources | 2 +- 7 files changed, 208 insertions(+), 84 deletions(-) create mode 100644 clhs.el delete mode 100644 clisp-setkey.patch create mode 100644 clisp-test.patch diff --git a/.gitignore b/.gitignore index f1217b7..063c566 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /clisp-*.tar.?z +/clisp-*.tar.bz2 diff --git a/clhs.el b/clhs.el new file mode 100644 index 0000000..0628082 --- /dev/null +++ b/clhs.el @@ -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 + +;;; 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/ file instead. + +;;; Copyright (C) 2002-2008, 2017, 2019, 2021 Sam Steingold +;;; Keywords: lisp, common lisp, emacs, ANSI CL, hyperspec +;;; released under the GNU GPL +;;; as a part of GNU CLISP + +;;; 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 diff --git a/clisp-db.patch b/clisp-db.patch index e30179d..aced4e2 100644 --- a/clisp-db.patch +++ b/clisp-db.patch @@ -1,5 +1,16 @@ ---- 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 +--- 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 +--- 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 set_errcall() accepts DBE], ac_cv_dbe_set_errcall_accept_dbe,[ @@ -9,14 +20,3 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include 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 diff --git a/clisp-setkey.patch b/clisp-setkey.patch deleted file mode 100644 index 75e11cb..0000000 --- a/clisp-setkey.patch +++ /dev/null @@ -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 diff --git a/clisp-test.patch b/clisp-test.patch new file mode 100644 index 0000000..ba89ae1 --- /dev/null +++ b/clisp-test.patch @@ -0,0 +1,11 @@ +--- tests/streams.tst.orig 2021-06-28 14:32:42.000000000 -0600 ++++ tests/streams.tst 2021-07-16 16:59:50.530422810 -0600 +@@ -1290,7 +1290,7 @@ 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" "HP-UX" "Linux" "Minix" "Windows") :test #'equal) 'ERROR 'T) + + #+clisp + (progn diff --git a/clisp.spec b/clisp.spec index bebe849..0977c6c 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,5 +1,8 @@ -%global commit d9cbf22d18680f9b9c84579be6bc363e4bd1090c -%global shortcommit %(c=%{commit}; echo ${c:0:7}) +# Upstream has not made a new release since 2010 +%global srcname clisp +%global commit de01f0f47bb44d3a0f9e842464cf2520b238f356 +%global date 20210628 +%global forgeurl https://gitlab.com/gnu-clisp/clisp # There is a plus on the end for unreleased versions, not for released versions %global instdir %{name}-%{version}+ @@ -7,20 +10,24 @@ Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 -Release: 20.%{shortcommit}git%{?dist} + +%forgemeta + +Release: 21%{?dist} License: GPLv2+ URL: http://www.clisp.org/ -# The source for this package was pulled from upstream's git repository. -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 -Source1: http://translationproject.org/latest/clisp/sv.po -Source2: http://translationproject.org/latest/clisp/de.po +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 -# The encrypt and setkey functions are no longer available from glibc -Patch2: %{name}-setkey.patch +# Work around for a test that fails with permission denied +Patch2: %{name}-test.patch # Adapt to changes in pari 2.11.0 Patch3: %{name}-pari.patch # The combination of register and volatile is nonsensical @@ -97,18 +104,10 @@ Files necessary for linking CLISP programs. %prep -%autosetup -p0 -n %{name}-%{commit}-%{commit} - -# Change URLs not affected by the --hyperspec argument to configure -sed -i.orig 's|lisp.org/HyperSpec/Body/chap-7.html|lispworks.com/documentation/HyperSpec/Body/07_.htm|' \ - src/clos-package.lisp -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 +%forgesetup +%autopatch -p0 +cp -p %{SOURCE1} emacs +cp -p %{SOURCE2} %{SOURCE3} src/po # We only link against libraries in system directories, so we need -L dir in # place of -Wl,-rpath -Wl,dir @@ -118,6 +117,9 @@ 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 +# When building modules, put -Wl,--as-needed before the libraries to link +sed -i "s/CC='\${CC}'/CC='\${CC} -Wl,--as-needed'/" src/makemake.in + # Enable firefox to be the default browser for displaying documentation sed -i 's/;; \((setq \*browser\* .*)\)/\1/' src/cfgunix.lisp @@ -126,9 +128,6 @@ tar -C modules/clx -xzf modules/clx/clx-manual.tar.gz chmod -R go+r modules/clx/clx-manual chmod a-x modules/clx/clx-manual/html/doc-index.cgi -# Update the translations -cp -p %{SOURCE1} %{SOURCE2} src/po - # On some koji builders, something is already listening on port 9090, which # causes a spurious test failure. Change to port 9096 for the test. sed -i 's/9090/9096/g' tests/socket.tst @@ -150,7 +149,6 @@ export LC_ALL=C.UTF-8 --infodir=%{_infodir} \ --docdir=%{_pkgdocdir} \ --fsstnd=redhat \ - --hyperspec=http://www.lispworks.com/documentation/HyperSpec/ \ --with-module=asdf \ --with-module=berkeley-db \ --with-module=bindings/glibc \ @@ -167,12 +165,18 @@ export LC_ALL=C.UTF-8 --with-module=zlib \ --with-libreadline-prefix=$PWD/readline \ --with-ffcall \ - --cbcx \ + --config \ build \ CPPFLAGS="-I/usr/include/libsvm" \ CFLAGS="%{optflags} -Wa,--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 make -C build DESTDIR=%{buildroot} install cp -a build/full %{buildroot}%{_libdir}/%{instdir} @@ -192,13 +196,12 @@ pushd %{buildroot}%{_datadir}/emacs/site-lisp %{_emacs_bytecompile} *.el 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 -chmod a+x \ - %{buildroot}%{_libdir}/%{instdir}/build-aux/config.guess \ - %{buildroot}%{_libdir}/%{instdir}/build-aux/config.sub \ - %{buildroot}%{_libdir}/%{instdir}/build-aux/depcomp \ - %{buildroot}%{_libdir}/%{instdir}/build-aux/install-sh \ + +# Fix a missing executable bit +chmod a+x %{buildroot}%{_libdir}/%{instdir}/build-aux/depcomp + # Fix paths in the Makefiles for mk in $(find %{buildroot}%{_libdir} -name Makefile); do sed -e "s,$PWD/modules,%{_libdir}/%{instdir}," \ @@ -220,10 +223,6 @@ cp -p build/config.h %{buildroot}%{_libdir}/%{instdir} cp -p build/clx/new-clx/config.h \ %{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 pushd %{buildroot}%{_libdir}/%{instdir}/full for obj in calls gettext readline regexi; do @@ -270,6 +269,11 @@ popd ln -s ../../src/modules.c build/base/modules.c ln -s ../../src/modules.c build/full/modules.c +%check +make -C build check +make -C build extracheck +make -C build base-mod-check + %files -f %{name}.lang %license COPYRIGHT GNU-GPL %{_bindir}/clisp @@ -412,6 +416,12 @@ ln -s ../../src/modules.c build/full/modules.c %changelog +* Fri Jul 16 2021 Jerry James - 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 - 2.49.93-20.d9cbf22git - Rebuild for ffcall 2.4 and multithreaded pari diff --git a/sources b/sources index 8fe623f..188f8e2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-d9cbf22.tar.gz) = 80260a22f999c5af26bfec5a69fce1dfd639855feb18e079fea80b8e43cb2dae2ad5ed75db9031e9452470e7b741c3a7868c2aee15dfd716a710d9938f4978d0 +SHA512 (clisp-de01f0f47bb44d3a0f9e842464cf2520b238f356.tar.bz2) = d135248d22233194c0cb087053c02b72bd24c0bb2c6b23f6ff9a931ef7b09446a55f061626bfa5da55531a11665c615dae0c2a651df5114a019c5188b67e8b5a From 1f88aa4a0e7a34f7b9a9d3f2a5cafc6bfc397fcb Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 16 Jul 2021 21:37:04 -0600 Subject: [PATCH 15/51] Drop the -test patch, causes koji build failures. --- clisp-test.patch | 11 ----------- clisp.spec | 6 ++---- 2 files changed, 2 insertions(+), 15 deletions(-) delete mode 100644 clisp-test.patch diff --git a/clisp-test.patch b/clisp-test.patch deleted file mode 100644 index ba89ae1..0000000 --- a/clisp-test.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- tests/streams.tst.orig 2021-06-28 14:32:42.000000000 -0600 -+++ tests/streams.tst 2021-07-16 16:59:50.530422810 -0600 -@@ -1290,7 +1290,7 @@ 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" "HP-UX" "Linux" "Minix" "Windows") :test #'equal) 'ERROR 'T) - - #+clisp - (progn diff --git a/clisp.spec b/clisp.spec index 0977c6c..a40598f 100644 --- a/clisp.spec +++ b/clisp.spec @@ -26,12 +26,10 @@ Source3: http://translationproject.org/latest/clisp/de.po Patch0: %{name}-db.patch # https://sourceforge.net/p/clisp/patches/32/ Patch1: %{name}-format.patch -# Work around for a test that fails with permission denied -Patch2: %{name}-test.patch # Adapt to changes in pari 2.11.0 -Patch3: %{name}-pari.patch +Patch2: %{name}-pari.patch # The combination of register and volatile is nonsensical -Patch4: %{name}-register-volatile.patch +Patch3: %{name}-register-volatile.patch BuildRequires: dbus-devel BuildRequires: diffutils From 0818325a5a0100745fa8ae52d049cabd5eb693e0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 14:38:48 +0000 Subject: [PATCH 16/51] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 8469c0bd9b82949085be97b68701364db51162dc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 19:36:17 +0000 Subject: [PATCH 17/51] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index a40598f..db781a8 100644 --- a/clisp.spec +++ b/clisp.spec @@ -13,7 +13,7 @@ Version: 2.49.93 %forgemeta -Release: 21%{?dist} +Release: 22%{?dist} License: GPLv2+ URL: http://www.clisp.org/ Source0: %{forgesource} @@ -414,6 +414,9 @@ make -C build base-mod-check %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 2.49.93-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Fri Jul 16 2021 Jerry James - 2.49.93-21.20210628gitde01f0f - Update to latest git snapshot for autoconf + glib updates - Drop upstreamed -setkey patch From 9ccff9cb0b8c45fdd77e726614ab4dee7afb276f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 23:22:43 +0000 Subject: [PATCH 18/51] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index db781a8..312e142 100644 --- a/clisp.spec +++ b/clisp.spec @@ -13,7 +13,7 @@ Version: 2.49.93 %forgemeta -Release: 22%{?dist} +Release: 23%{?dist} License: GPLv2+ URL: http://www.clisp.org/ Source0: %{forgesource} @@ -414,6 +414,9 @@ make -C build base-mod-check %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 2.49.93-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Wed Jul 21 2021 Fedora Release Engineering - 2.49.93-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 8e4e9cd80cbd561fb34faecdeb4a45350c29d80e Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 28 Jan 2022 13:52:26 -0700 Subject: [PATCH 19/51] Add -pts-access patch to fix FTBFS. --- clisp-pts-access.patch | 11 +++++++++++ clisp.spec | 5 +++++ 2 files changed, 16 insertions(+) create mode 100644 clisp-pts-access.patch diff --git a/clisp-pts-access.patch b/clisp-pts-access.patch new file mode 100644 index 0000000..78d9b6e --- /dev/null +++ b/clisp-pts-access.patch @@ -0,0 +1,11 @@ +--- tests/streams.tst.orig 2021-06-28 14:32:42.000000000 -0600 ++++ tests/streams.tst 2022-01-28 13:42:47.471080169 -0700 +@@ -1290,7 +1290,7 @@ 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" "HP-UX" "Minix" "Windows" "Linux") :test #'equal) 'ERROR 'T) + + #+clisp + (progn diff --git a/clisp.spec b/clisp.spec index 312e142..292965d 100644 --- a/clisp.spec +++ b/clisp.spec @@ -30,6 +30,8 @@ Patch1: %{name}-format.patch Patch2: %{name}-pari.patch # The combination of register and volatile is nonsensical Patch3: %{name}-register-volatile.patch +# Writing directly to /dev/pts/0 fails with a permission error +Patch4: %{name}-pts-access.patch BuildRequires: dbus-devel BuildRequires: diffutils @@ -414,6 +416,9 @@ make -C build base-mod-check %changelog +* Fri Jan 28 2022 Jerry James - 2.49.93-23 +- Add -pts-access patch to fix FTBFS + * Wed Jan 19 2022 Fedora Release Engineering - 2.49.93-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 1bfa025e15a3ffffeefeca42b9381c21e44c027c Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 28 Jan 2022 14:06:46 -0700 Subject: [PATCH 20/51] One more try at the /dev/pts patch. --- clisp-pts-access.patch | 14 +++++++++----- clisp.spec | 5 ++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/clisp-pts-access.patch b/clisp-pts-access.patch index 78d9b6e..15e3ee8 100644 --- a/clisp-pts-access.patch +++ b/clisp-pts-access.patch @@ -1,11 +1,15 @@ --- tests/streams.tst.orig 2021-06-28 14:32:42.000000000 -0600 -+++ tests/streams.tst 2022-01-28 13:42:47.471080169 -0700 -@@ -1290,7 +1290,7 @@ T ++++ 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))) +-(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" "HP-UX" "Minix" "Windows" "Linux") :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) #+clisp (progn diff --git a/clisp.spec b/clisp.spec index 292965d..e184cd0 100644 --- a/clisp.spec +++ b/clisp.spec @@ -30,7 +30,10 @@ Patch1: %{name}-format.patch Patch2: %{name}-pari.patch # The combination of register and volatile is nonsensical Patch3: %{name}-register-volatile.patch -# Writing directly to /dev/pts/0 fails with a permission error +# 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. Patch4: %{name}-pts-access.patch BuildRequires: dbus-devel From ac57db42267dc5691de56f3d98c93d886c04c9fa Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 3 Feb 2022 08:36:15 -0700 Subject: [PATCH 21/51] Add -no-inline patch to workaround bz 2049371 (ppc64le segfault). --- clisp-no-inline.patch | 12 ++++++++++++ clisp.spec | 15 +++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 clisp-no-inline.patch diff --git a/clisp-no-inline.patch b/clisp-no-inline.patch new file mode 100644 index 0000000..bd47c52 --- /dev/null +++ b/clisp-no-inline.patch @@ -0,0 +1,12 @@ +--- src/makemake.in.orig 2021-06-28 14:32:42.000000000 -0600 ++++ src/makemake.in 2022-02-02 19:48:37.880723176 -0700 +@@ -3055,6 +3055,9 @@ for f in $CPARTS genclisph modules $EXTR + # "1252-171 The displacement must be greater than or equal to -32768 and less than or equal to 32767." + flags2=$flags2' -O1' + fi ++ if [ $f = foreign ] && [[ $HSYS =~ ppc64le ]] ; then ++ flags2=$flags2' -fno-inline-small-functions' ++ fi + echol "${f}.i : ${c}${dependsc}" + echotab "${XCPP} ${flags} ${c} > ${f}.i" + echol diff --git a/clisp.spec b/clisp.spec index e184cd0..fec5a1d 100644 --- a/clisp.spec +++ b/clisp.spec @@ -7,6 +7,9 @@ # There is a plus on the end for unreleased versions, not for released versions %global instdir %{name}-%{version}+ +# This package uses toplevel ASMs which are incompatible with LTO +%global _lto_cflags %{nil} + Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 @@ -35,6 +38,9 @@ Patch3: %{name}-register-volatile.patch # Perhaps we are racing with something else that allocates a pty. Disable # the test for now. Patch4: %{name}-pts-access.patch +# Work around a problem inlining a function on ppc64le +# See https://bugzilla.redhat.com/show_bug.cgi?id=2049371 +Patch5: %{name}-no-inline.patch BuildRequires: dbus-devel BuildRequires: diffutils @@ -136,9 +142,6 @@ chmod a-x modules/clx/clx-manual/html/doc-index.cgi sed -i 's/9090/9096/g' tests/socket.tst %build -# This package uses toplevel ASMs which are incompatible with LTO -%define _lto_cflags %{nil} - export LC_ALL=C.UTF-8 # Do not need to specify base modules: i18n, readline, regexp, syscalls. @@ -171,7 +174,7 @@ export LC_ALL=C.UTF-8 --config \ build \ CPPFLAGS="-I/usr/include/libsvm" \ - CFLAGS="%{optflags} -Wa,--noexecstack" \ + CFLAGS="%{build_cflags} -Wa,--noexecstack" \ LDFLAGS="-Wl,--as-needed -Wl,-z,relro -Wl,-z,noexecstack" cd build @@ -273,6 +276,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 @@ -419,6 +423,9 @@ make -C build base-mod-check %changelog +* Thu Feb 3 2022 Jerry James - 2.49.93-23 +- Add -no-inline patch to workaround bz 2049371 (ppc64le segfault) + * Fri Jan 28 2022 Jerry James - 2.49.93-23 - Add -pts-access patch to fix FTBFS From 7d5ddf7eb7a1e08a7a6bb36fd5f3c8ace9e987f8 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 18 Jul 2022 11:09:08 -0600 Subject: [PATCH 22/51] Reduce the impact of the -no-inline patch. Add README.md. --- README.md | 22 ++++++++++++++++++++++ clisp-no-inline.patch | 23 +++++++++++------------ clisp.spec | 12 +++++++++++- 3 files changed, 44 insertions(+), 13 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..e2490fd --- /dev/null +++ b/README.md @@ -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. diff --git a/clisp-no-inline.patch b/clisp-no-inline.patch index bd47c52..f4e54b9 100644 --- a/clisp-no-inline.patch +++ b/clisp-no-inline.patch @@ -1,12 +1,11 @@ ---- src/makemake.in.orig 2021-06-28 14:32:42.000000000 -0600 -+++ src/makemake.in 2022-02-02 19:48:37.880723176 -0700 -@@ -3055,6 +3055,9 @@ for f in $CPARTS genclisph modules $EXTR - # "1252-171 The displacement must be greater than or equal to -32768 and less than or equal to 32767." - flags2=$flags2' -O1' - fi -+ if [ $f = foreign ] && [[ $HSYS =~ ppc64le ]] ; then -+ flags2=$flags2' -fno-inline-small-functions' -+ fi - echol "${f}.i : ${c}${dependsc}" - echotab "${XCPP} ${flags} ${c} > ${f}.i" - echol +--- 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 diff --git a/clisp.spec b/clisp.spec index fec5a1d..b621577 100644 --- a/clisp.spec +++ b/clisp.spec @@ -114,7 +114,14 @@ Files necessary for linking CLISP programs. %prep %forgesetup -%autopatch -p0 +%patch0 -p0 +%patch1 -p0 +%patch2 -p0 +%patch3 -p0 +%patch4 -p0 +%ifarch %{power64} +%patch5 -p0 +%endif cp -p %{SOURCE1} emacs cp -p %{SOURCE2} %{SOURCE3} src/po @@ -423,6 +430,9 @@ make -C build base-mod-check %changelog +* Mon Jul 18 2022 Jerry James - 2.49.93-23 +- Reduce the impact of the -no-inline patch + * Thu Feb 3 2022 Jerry James - 2.49.93-23 - Add -no-inline patch to workaround bz 2049371 (ppc64le segfault) From bf061dddccb604c1b30dfd6cfd098eda9e35b538 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 23:06:37 +0000 Subject: [PATCH 23/51] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index b621577..05338ec 100644 --- a/clisp.spec +++ b/clisp.spec @@ -16,7 +16,7 @@ Version: 2.49.93 %forgemeta -Release: 23%{?dist} +Release: 24%{?dist} License: GPLv2+ URL: http://www.clisp.org/ Source0: %{forgesource} @@ -430,6 +430,9 @@ make -C build base-mod-check %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 2.49.93-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Mon Jul 18 2022 Jerry James - 2.49.93-23 - Reduce the impact of the -no-inline patch From 4be1418d1423f5fe07633ceed0855bc276be5e6a Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 8 Aug 2022 13:07:28 -0600 Subject: [PATCH 24/51] Add -ensure-6x patch (rhbz#2115476). --- clisp-ensure-6x.patch | 11 +++++++++++ clisp.spec | 10 +++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 clisp-ensure-6x.patch diff --git a/clisp-ensure-6x.patch b/clisp-ensure-6x.patch new file mode 100644 index 0000000..5c9207d --- /dev/null +++ b/clisp-ensure-6x.patch @@ -0,0 +1,11 @@ +--- modules/syscalls/calls.c.orig 2021-06-28 14:32:42.000000000 -0600 ++++ modules/syscalls/calls.c 2022-08-04 13:21:10.461997402 -0600 +@@ -677,7 +677,7 @@ DEFUN(OS:VERSION>=, string1 string2){VAL + && name[name##_bytelen-6]=='X') { \ + c_template = name; \ + } else { \ +- c_template = (char*)alloca(name##_bytelen+6); \ ++ c_template = (char*)alloca(name##_bytelen+7); \ + strcpy(c_template,name); \ + strcat(c_template,"XXXXXX"); \ + } diff --git a/clisp.spec b/clisp.spec index 05338ec..984e5b7 100644 --- a/clisp.spec +++ b/clisp.spec @@ -16,7 +16,7 @@ Version: 2.49.93 %forgemeta -Release: 24%{?dist} +Release: 25%{?dist} License: GPLv2+ URL: http://www.clisp.org/ Source0: %{forgesource} @@ -41,6 +41,10 @@ Patch4: %{name}-pts-access.patch # Work around a problem inlining a function on ppc64le # See https://bugzilla.redhat.com/show_bug.cgi?id=2049371 Patch5: %{name}-no-inline.patch +# The ENSURE_6X macro adds 6 'X' characters to a string. However, it allocates +# only 6 bytes more than the length of the string, which is not enough for the +# null terminator. See https://bugzilla.redhat.com/show_bug.cgi?id=2115476. +Patch6: %{name}-ensure-6x.patch BuildRequires: dbus-devel BuildRequires: diffutils @@ -122,6 +126,7 @@ Files necessary for linking CLISP programs. %ifarch %{power64} %patch5 -p0 %endif +%patch6 -p0 cp -p %{SOURCE1} emacs cp -p %{SOURCE2} %{SOURCE3} src/po @@ -430,6 +435,9 @@ make -C build base-mod-check %changelog +* Mon Aug 8 2022 Jerry James - 2.49.93-25 +- Add -ensure-6x patch (rhbz#2115476) + * Wed Jul 20 2022 Fedora Release Engineering - 2.49.93-24 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From fee89f7955d7900d8de36743336f0222e1cd9ea6 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 10 Aug 2022 15:36:51 -0600 Subject: [PATCH 25/51] Move preload.lisp files to the main package. --- clisp.spec | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/clisp.spec b/clisp.spec index 984e5b7..c68b773 100644 --- a/clisp.spec +++ b/clisp.spec @@ -16,7 +16,7 @@ Version: 2.49.93 %forgemeta -Release: 25%{?dist} +Release: 26%{?dist} License: GPLv2+ URL: http://www.clisp.org/ Source0: %{forgesource} @@ -306,12 +306,14 @@ make -C build base-mod-check %{_libdir}/%{instdir}/base/lisp.run %dir %{_libdir}/%{instdir}/berkeley-db/ %{_libdir}/%{instdir}/berkeley-db/*.fas +%{_libdir}/%{instdir}/berkeley-db/preload.lisp %dir %{_libdir}/%{instdir}/bindings/ %dir %{_libdir}/%{instdir}/bindings/glibc/ %{_libdir}/%{instdir}/bindings/glibc/*.fas %dir %{_libdir}/%{instdir}/clx/ %dir %{_libdir}/%{instdir}/clx/new-clx/ %{_libdir}/%{instdir}/clx/new-clx/*.fas +%{_libdir}/%{instdir}/clx/new-clx/clx-preload.lisp %{_libdir}/%{instdir}/data/ %dir %{_libdir}/%{instdir}/dbus/ %{_libdir}/%{instdir}/dbus/*.fas @@ -323,18 +325,24 @@ make -C build base-mod-check %{_libdir}/%{instdir}/full/lisp.run %dir %{_libdir}/%{instdir}/gdbm/ %{_libdir}/%{instdir}/gdbm/*.fas +%{_libdir}/%{instdir}/gdbm/preload.lisp %dir %{_libdir}/%{instdir}/gtk2/ %{_libdir}/%{instdir}/gtk2/*.fas +%{_libdir}/%{instdir}/gtk2/preload.lisp %dir %{_libdir}/%{instdir}/libsvm/ %{_libdir}/%{instdir}/libsvm/*.fas +%{_libdir}/%{instdir}/libsvm/preload.lisp %dir %{_libdir}/%{instdir}/pari/ %{_libdir}/%{instdir}/pari/*.fas +%{_libdir}/%{instdir}/pari/preload.lisp %dir %{_libdir}/%{instdir}/pcre/ %{_libdir}/%{instdir}/pcre/*.fas +%{_libdir}/%{instdir}/pcre/preload.lisp %dir %{_libdir}/%{instdir}/postgresql/ %{_libdir}/%{instdir}/postgresql/*.fas %dir %{_libdir}/%{instdir}/rawsock/ %{_libdir}/%{instdir}/rawsock/*.fas +%{_libdir}/%{instdir}/rawsock/preload.lisp %dir %{_libdir}/%{instdir}/zlib/ %{_libdir}/%{instdir}/zlib/*.fas %{_datadir}/emacs/site-lisp/* @@ -353,7 +361,7 @@ make -C build base-mod-check %{_libdir}/%{instdir}/base/makevars %{_libdir}/%{instdir}/berkeley-db/Makefile %{_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/*.sh %{_libdir}/%{instdir}/bindings/glibc/Makefile @@ -365,7 +373,9 @@ make -C build base-mod-check %{_libdir}/%{instdir}/clx/new-clx/README %{_libdir}/%{instdir}/clx/new-clx/Makefile %{_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/*.sh %{_libdir}/%{instdir}/config.h @@ -386,32 +396,33 @@ make -C build base-mod-check %{_libdir}/%{instdir}/full/makevars %{_libdir}/%{instdir}/gdbm/Makefile %{_libdir}/%{instdir}/gdbm/*.h -%{_libdir}/%{instdir}/gdbm/*.lisp +%{_libdir}/%{instdir}/gdbm/gdbm.lisp %{_libdir}/%{instdir}/gdbm/*.o %{_libdir}/%{instdir}/gdbm/*.sh %{_libdir}/%{instdir}/gtk2/Makefile %{_libdir}/%{instdir}/gtk2/*.cfg %{_libdir}/%{instdir}/gtk2/*.glade %{_libdir}/%{instdir}/gtk2/*.h -%{_libdir}/%{instdir}/gtk2/*.lisp +%{_libdir}/%{instdir}/gtk2/gtk.lisp %{_libdir}/%{instdir}/gtk2/*.o %{_libdir}/%{instdir}/gtk2/*.sh %{_libdir}/%{instdir}/libsvm/README %{_libdir}/%{instdir}/libsvm/Makefile %{_libdir}/%{instdir}/libsvm/*.h -%{_libdir}/%{instdir}/libsvm/*.lisp +%{_libdir}/%{instdir}/libsvm/libsvm.lisp %{_libdir}/%{instdir}/libsvm/*.o %{_libdir}/%{instdir}/libsvm/*.sh %{_libdir}/%{instdir}/linkkit/ %{_libdir}/%{instdir}/pari/README %{_libdir}/%{instdir}/pari/Makefile %{_libdir}/%{instdir}/pari/*.h -%{_libdir}/%{instdir}/pari/*.lisp +%{_libdir}/%{instdir}/pari/desc2lisp.lisp +%{_libdir}/%{instdir}/pari/pari.lisp %{_libdir}/%{instdir}/pari/*.o %{_libdir}/%{instdir}/pari/*.sh %{_libdir}/%{instdir}/pcre/Makefile %{_libdir}/%{instdir}/pcre/*.h -%{_libdir}/%{instdir}/pcre/*.lisp +%{_libdir}/%{instdir}/pcre/pcre.lisp %{_libdir}/%{instdir}/pcre/*.o %{_libdir}/%{instdir}/pcre/*.sh %{_libdir}/%{instdir}/postgresql/README @@ -423,7 +434,7 @@ make -C build base-mod-check %{_libdir}/%{instdir}/rawsock/demos/ %{_libdir}/%{instdir}/rawsock/Makefile %{_libdir}/%{instdir}/rawsock/*.h -%{_libdir}/%{instdir}/rawsock/*.lisp +%{_libdir}/%{instdir}/rawsock/sock.lisp %{_libdir}/%{instdir}/rawsock/*.o %{_libdir}/%{instdir}/rawsock/*.sh %{_libdir}/%{instdir}/zlib/Makefile @@ -435,6 +446,9 @@ make -C build base-mod-check %changelog +* Wed Aug 10 2022 Jerry James - 2.49.93-26 +- Move preload.lisp files to the main package + * Mon Aug 8 2022 Jerry James - 2.49.93-25 - Add -ensure-6x patch (rhbz#2115476) From bc7fe11f4cde218b12dba408f7fee159c63d9ff9 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 15 Aug 2022 15:15:32 -0600 Subject: [PATCH 26/51] Convert License tag to SPDX. --- clisp.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index c68b773..86daa5b 100644 --- a/clisp.spec +++ b/clisp.spec @@ -16,8 +16,13 @@ Version: 2.49.93 %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: 26%{?dist} -License: GPLv2+ URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -446,6 +451,9 @@ make -C build base-mod-check %changelog +* Mon Aug 15 2022 Jerry James - 2.49.93-26 +- Convert License tag to SPDX + * Wed Aug 10 2022 Jerry James - 2.49.93-26 - Move preload.lisp files to the main package From 5ed3b44cd51544ee86e24e31908d301b967405b6 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 18 Aug 2022 21:00:43 -0600 Subject: [PATCH 27/51] Rebuild for libsvm 3.3. --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 86daa5b..c76aabd 100644 --- a/clisp.spec +++ b/clisp.spec @@ -22,7 +22,7 @@ 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: 26%{?dist} +Release: 27%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -451,6 +451,9 @@ make -C build base-mod-check %changelog +* Thu Aug 18 2022 Jerry James - 2.49.93-27 +- Rebuild for libsvm 3.3 + * Mon Aug 15 2022 Jerry James - 2.49.93-26 - Convert License tag to SPDX From cfdd27206ef5e320c2c74100357c4e661007d5e9 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 26 Sep 2022 21:47:57 -0600 Subject: [PATCH 28/51] Rebuild for pari 2.15.0. --- clisp-pari.patch | 16 ++++++++++++++-- clisp.spec | 15 +++++++-------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/clisp-pari.patch b/clisp-pari.patch index 285d73c..ca8f6f9 100644 --- a/clisp-pari.patch +++ b/clisp-pari.patch @@ -1,5 +1,5 @@ ---- 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 +--- modules/pari/desc2lisp.lisp.orig 2021-06-28 14:32:42.000000000 -0600 ++++ modules/pari/desc2lisp.lisp 2022-09-19 21:12:06.708459685 -0600 @@ -166,7 +166,15 @@ (setq h (car h))) (if (and h (ext:starts-with-p h f) (setq end (search "):" h))) @@ -17,3 +17,15 @@ ;; (or (warn "~S: no arglist in ~S" 'desc-arglist desc) ...) :unspecific))) +--- modules/pari/pari.lisp.orig 2021-06-28 14:32:42.000000000 -0600 ++++ modules/pari/pari.lisp 2022-09-19 21:23:25.026083675 -0600 +@@ -218,8 +218,7 @@ t.e., this is the memory size for the re + ;; extern int factor_add_primes; + (def-c-var factor_add_primes (:type int)) + +-;; extern ulong DEBUGFILES, DEBUGLEVEL, DEBUGMEM +-(def-c-var debugfiles (:name "DEBUGFILES") (:type ulong)) ++;; extern ulong DEBUGLEVEL, DEBUGMEM + (def-c-var debuglevel (:name "DEBUGLEVEL") (:type ulong)) + (def-c-var debugmem (:name "DEBUGMEM") (:type ulong)) + diff --git a/clisp.spec b/clisp.spec index c76aabd..1f051ca 100644 --- a/clisp.spec +++ b/clisp.spec @@ -22,7 +22,7 @@ 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: 27%{?dist} +Release: 28%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -34,7 +34,7 @@ Source3: http://translationproject.org/latest/clisp/de.po Patch0: %{name}-db.patch # https://sourceforge.net/p/clisp/patches/32/ Patch1: %{name}-format.patch -# Adapt to changes in pari 2.11.0 +# Adapt to changes in pari 2.15.0 Patch2: %{name}-pari.patch # The combination of register and volatile is nonsensical Patch3: %{name}-register-volatile.patch @@ -123,15 +123,11 @@ Files necessary for linking CLISP programs. %prep %forgesetup -%patch0 -p0 -%patch1 -p0 -%patch2 -p0 -%patch3 -p0 -%patch4 -p0 +%autopatch -M4 -p0 %ifarch %{power64} %patch5 -p0 %endif -%patch6 -p0 +%autopatch -m6 -p0 cp -p %{SOURCE1} emacs cp -p %{SOURCE2} %{SOURCE3} src/po @@ -451,6 +447,9 @@ make -C build base-mod-check %changelog +* Mon Sep 19 2022 Jerry James - 2.49.93-28 +- Rebuild for pari 2.15.0 + * Thu Aug 18 2022 Jerry James - 2.49.93-27 - Rebuild for libsvm 3.3 From d8d6fcacdb03769287452b0310404ca621b83e13 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 10 Jan 2023 15:13:05 -0700 Subject: [PATCH 29/51] Update to latest git snapshot for buffer overflow fix. Drop upstreamed pari patch. --- clisp-pari.patch | 31 ------------------------------- clisp.spec | 21 +++++++++++---------- sources | 2 +- 3 files changed, 12 insertions(+), 42 deletions(-) delete mode 100644 clisp-pari.patch diff --git a/clisp-pari.patch b/clisp-pari.patch deleted file mode 100644 index ca8f6f9..0000000 --- a/clisp-pari.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- modules/pari/desc2lisp.lisp.orig 2021-06-28 14:32:42.000000000 -0600 -+++ modules/pari/desc2lisp.lisp 2022-09-19 21:12:06.708459685 -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))) - ---- modules/pari/pari.lisp.orig 2021-06-28 14:32:42.000000000 -0600 -+++ modules/pari/pari.lisp 2022-09-19 21:23:25.026083675 -0600 -@@ -218,8 +218,7 @@ t.e., this is the memory size for the re - ;; extern int factor_add_primes; - (def-c-var factor_add_primes (:type int)) - --;; extern ulong DEBUGFILES, DEBUGLEVEL, DEBUGMEM --(def-c-var debugfiles (:name "DEBUGFILES") (:type ulong)) -+;; extern ulong DEBUGLEVEL, DEBUGMEM - (def-c-var debuglevel (:name "DEBUGLEVEL") (:type ulong)) - (def-c-var debugmem (:name "DEBUGMEM") (:type ulong)) - diff --git a/clisp.spec b/clisp.spec index 1f051ca..b8c2478 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,7 +1,7 @@ # Upstream has not made a new release since 2010 %global srcname clisp -%global commit de01f0f47bb44d3a0f9e842464cf2520b238f356 -%global date 20210628 +%global commit 957c79a252bda35e56ca5c64d4af8d7ef9de9037 +%global date 20221228 %global forgeurl https://gitlab.com/gnu-clisp/clisp # There is a plus on the end for unreleased versions, not for released versions @@ -22,7 +22,7 @@ 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: 28%{?dist} +Release: 29%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -34,8 +34,10 @@ Source3: http://translationproject.org/latest/clisp/de.po Patch0: %{name}-db.patch # https://sourceforge.net/p/clisp/patches/32/ Patch1: %{name}-format.patch -# Adapt to changes in pari 2.15.0 -Patch2: %{name}-pari.patch +# The ENSURE_6X macro adds 6 'X' characters to a string. However, it allocates +# only 6 bytes more than the length of the string, which is not enough for the +# null terminator. See https://bugzilla.redhat.com/show_bug.cgi?id=2115476. +Patch2: %{name}-ensure-6x.patch # The combination of register and volatile is nonsensical Patch3: %{name}-register-volatile.patch # A test that writes to /dev/pts/0 succeeds or fails apparently at random. @@ -46,10 +48,6 @@ Patch4: %{name}-pts-access.patch # Work around a problem inlining a function on ppc64le # See https://bugzilla.redhat.com/show_bug.cgi?id=2049371 Patch5: %{name}-no-inline.patch -# The ENSURE_6X macro adds 6 'X' characters to a string. However, it allocates -# only 6 bytes more than the length of the string, which is not enough for the -# null terminator. See https://bugzilla.redhat.com/show_bug.cgi?id=2115476. -Patch6: %{name}-ensure-6x.patch BuildRequires: dbus-devel BuildRequires: diffutils @@ -127,7 +125,6 @@ Files necessary for linking CLISP programs. %ifarch %{power64} %patch5 -p0 %endif -%autopatch -m6 -p0 cp -p %{SOURCE1} emacs cp -p %{SOURCE2} %{SOURCE3} src/po @@ -447,6 +444,10 @@ make -C build base-mod-check %changelog +* Tue Jan 10 2023 Jerry James - 2.49.93-29 +- Update to latest git snapshot for buffer overflow fix +- Drop upstreamed pari patch + * Mon Sep 19 2022 Jerry James - 2.49.93-28 - Rebuild for pari 2.15.0 diff --git a/sources b/sources index 188f8e2..c7aae19 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-de01f0f47bb44d3a0f9e842464cf2520b238f356.tar.bz2) = d135248d22233194c0cb087053c02b72bd24c0bb2c6b23f6ff9a931ef7b09446a55f061626bfa5da55531a11665c615dae0c2a651df5114a019c5188b67e8b5a +SHA512 (clisp-957c79a252bda35e56ca5c64d4af8d7ef9de9037.tar.bz2) = 533d46ed32d5ce70f9e56cb029b518ef9e2741ae04e054e798316bb40bb69d7c248aaa74e35ae8fcb08c2b1924d7e062c3bb7451698034408d3b3964255a7564 From 47b4c52ea8b448d2b0cc0824e24162fbdb28f6f6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 00:02:04 +0000 Subject: [PATCH 30/51] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index b8c2478..f7b75bc 100644 --- a/clisp.spec +++ b/clisp.spec @@ -22,7 +22,7 @@ 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: 29%{?dist} +Release: 30%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -444,6 +444,9 @@ make -C build base-mod-check %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 2.49.93-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Tue Jan 10 2023 Jerry James - 2.49.93-29 - Update to latest git snapshot for buffer overflow fix - Drop upstreamed pari patch From 7ab9a4127efdafa6b2ff6205bb983055fc6a3eb5 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Tue, 4 Apr 2023 16:20:57 -0400 Subject: [PATCH 31/51] Disable gtk2 for RHEL 10 --- clisp.spec | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/clisp.spec b/clisp.spec index f7b75bc..8d001d1 100644 --- a/clisp.spec +++ b/clisp.spec @@ -10,6 +10,10 @@ # This package uses toplevel ASMs which are incompatible with LTO %global _lto_cflags %{nil} +%if ! (0%{?rhel} > 9) +%bcond_without gtk2 +%endif + Name: clisp Summary: ANSI Common Lisp implementation Version: 2.49.93 @@ -59,15 +63,17 @@ BuildRequires: gdbm-devel BuildRequires: gettext-devel BuildRequires: ghostscript BuildRequires: glibc-langpack-en -BUildRequires: glibc-langpack-fr +BuildRequires: glibc-langpack-fr BuildRequires: glibc-langpack-ja BuildRequires: glibc-langpack-zh BuildRequires: groff +%if %{with gtk2} BuildRequires: gtk2-devel +BuildRequires: libglade2-devel +%endif BuildRequires: libXaw-devel BuildRequires: libXft-devel BuildRequires: libdb-devel -BuildRequires: libglade2-devel BuildRequires: libsigsegv-devel BuildRequires: libsvm-devel BuildRequires: libunistring-devel @@ -172,7 +178,9 @@ export LC_ALL=C.UTF-8 --with-module=dbus \ --with-module=fastcgi \ --with-module=gdbm \ +%if %{with gtk2} --with-module=gtk2 \ +%endif --with-module=libsvm \ --with-module=pari \ --with-module=pcre \ @@ -267,8 +275,10 @@ rm -f dbus.o ln -s ../dbus/dbus.o dbus.o rm -f gdbm.o ln -s ../gdbm/gdbm.o gdbm.o +%if %{with gtk2} rm -f gtk.o ln -s ../gtk2/gtk.o gtk.o +%endif rm -f libsvm.o ln -s ../libsvm/libsvm.o libsvm.o rm -f linux.o @@ -324,9 +334,11 @@ make -C build base-mod-check %dir %{_libdir}/%{instdir}/gdbm/ %{_libdir}/%{instdir}/gdbm/*.fas %{_libdir}/%{instdir}/gdbm/preload.lisp +%if %{with gtk2} %dir %{_libdir}/%{instdir}/gtk2/ %{_libdir}/%{instdir}/gtk2/*.fas %{_libdir}/%{instdir}/gtk2/preload.lisp +%endif %dir %{_libdir}/%{instdir}/libsvm/ %{_libdir}/%{instdir}/libsvm/*.fas %{_libdir}/%{instdir}/libsvm/preload.lisp @@ -397,6 +409,7 @@ make -C build base-mod-check %{_libdir}/%{instdir}/gdbm/gdbm.lisp %{_libdir}/%{instdir}/gdbm/*.o %{_libdir}/%{instdir}/gdbm/*.sh +%if %{with gtk2} %{_libdir}/%{instdir}/gtk2/Makefile %{_libdir}/%{instdir}/gtk2/*.cfg %{_libdir}/%{instdir}/gtk2/*.glade @@ -404,6 +417,7 @@ make -C build base-mod-check %{_libdir}/%{instdir}/gtk2/gtk.lisp %{_libdir}/%{instdir}/gtk2/*.o %{_libdir}/%{instdir}/gtk2/*.sh +%endif %{_libdir}/%{instdir}/libsvm/README %{_libdir}/%{instdir}/libsvm/Makefile %{_libdir}/%{instdir}/libsvm/*.h From 2cefbcd7f922ef16885f556d685150f3b670749d Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 4 Apr 2023 14:56:14 -0600 Subject: [PATCH 32/51] Update to allow non-simple strings in FORMAT and FORMATTER Also: - Drop upstreamed ensure-6x patch - Disable gtk2 support for RHEL 10 (thanks to Yaakov Selkowitz) --- clisp-ensure-6x.patch | 11 ----------- clisp.spec | 21 +++++++++++---------- sources | 2 +- 3 files changed, 12 insertions(+), 22 deletions(-) delete mode 100644 clisp-ensure-6x.patch diff --git a/clisp-ensure-6x.patch b/clisp-ensure-6x.patch deleted file mode 100644 index 5c9207d..0000000 --- a/clisp-ensure-6x.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- modules/syscalls/calls.c.orig 2021-06-28 14:32:42.000000000 -0600 -+++ modules/syscalls/calls.c 2022-08-04 13:21:10.461997402 -0600 -@@ -677,7 +677,7 @@ DEFUN(OS:VERSION>=, string1 string2){VAL - && name[name##_bytelen-6]=='X') { \ - c_template = name; \ - } else { \ -- c_template = (char*)alloca(name##_bytelen+6); \ -+ c_template = (char*)alloca(name##_bytelen+7); \ - strcpy(c_template,name); \ - strcat(c_template,"XXXXXX"); \ - } diff --git a/clisp.spec b/clisp.spec index 8d001d1..d140106 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,7 +1,7 @@ # Upstream has not made a new release since 2010 %global srcname clisp -%global commit 957c79a252bda35e56ca5c64d4af8d7ef9de9037 -%global date 20221228 +%global commit 79cbafdbc6337d6dcd8f2dbad69fb7ebf7a46012 +%global date 20230212 %global forgeurl https://gitlab.com/gnu-clisp/clisp # There is a plus on the end for unreleased versions, not for released versions @@ -38,20 +38,16 @@ Source3: http://translationproject.org/latest/clisp/de.po Patch0: %{name}-db.patch # https://sourceforge.net/p/clisp/patches/32/ Patch1: %{name}-format.patch -# The ENSURE_6X macro adds 6 'X' characters to a string. However, it allocates -# only 6 bytes more than the length of the string, which is not enough for the -# null terminator. See https://bugzilla.redhat.com/show_bug.cgi?id=2115476. -Patch2: %{name}-ensure-6x.patch # The combination of register and volatile is nonsensical -Patch3: %{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. -Patch4: %{name}-pts-access.patch +Patch3: %{name}-pts-access.patch # Work around a problem inlining a function on ppc64le # See https://bugzilla.redhat.com/show_bug.cgi?id=2049371 -Patch5: %{name}-no-inline.patch +Patch4: %{name}-no-inline.patch BuildRequires: dbus-devel BuildRequires: diffutils @@ -129,7 +125,7 @@ Files necessary for linking CLISP programs. %forgesetup %autopatch -M4 -p0 %ifarch %{power64} -%patch5 -p0 +%autopatch 5 -p0 %endif cp -p %{SOURCE1} emacs cp -p %{SOURCE2} %{SOURCE3} src/po @@ -458,6 +454,11 @@ make -C build base-mod-check %changelog +* Tue Apr 4 2023 Jerry James - 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 - 2.49.93-30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index c7aae19..c281f42 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-957c79a252bda35e56ca5c64d4af8d7ef9de9037.tar.bz2) = 533d46ed32d5ce70f9e56cb029b518ef9e2741ae04e054e798316bb40bb69d7c248aaa74e35ae8fcb08c2b1924d7e062c3bb7451698034408d3b3964255a7564 +SHA512 (clisp-79cbafdbc6337d6dcd8f2dbad69fb7ebf7a46012.tar.bz2) = 4c08409e454fb6ada0518d1e2bb872f8a0d6d519d165513e468eecb4c8d33c44f10c4c72d43cc22aa29b222d3f759c390020191aeb9318569bad48fc1f127a98 From 0fb0f9b958537fcf8e5f4209e5865b9d0ea80a39 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Mon, 8 May 2023 14:26:34 +0200 Subject: [PATCH 33/51] Port to C99 Related to: --- clisp-c99.patch | 36 ++++++++++++++++++++++++++++++++++++ clisp.spec | 13 +++++++++---- 2 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 clisp-c99.patch diff --git a/clisp-c99.patch b/clisp-c99.patch new file mode 100644 index 0000000..9e86315 --- /dev/null +++ b/clisp-c99.patch @@ -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: + +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 + dnl + AC_CACHE_CHECK([whether DB->stat() accepts TXNid],ac_cv_db_stat_accept_txn,[ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], +-[[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]) diff --git a/clisp.spec b/clisp.spec index d140106..b0cb2c5 100644 --- a/clisp.spec +++ b/clisp.spec @@ -26,7 +26,7 @@ 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: 31%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -45,9 +45,11 @@ Patch2: %{name}-register-volatile.patch # Perhaps we are racing with something else that allocates a pty. Disable # the test for now. Patch3: %{name}-pts-access.patch +Patch4: clisp-c99.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 @@ -123,9 +125,9 @@ Files necessary for linking CLISP programs. %prep %forgesetup -%autopatch -M4 -p0 +%autopatch -M99 -p0 %ifarch %{power64} -%autopatch 5 -p0 +%autopatch 100 -p0 %endif cp -p %{SOURCE1} emacs cp -p %{SOURCE2} %{SOURCE3} src/po @@ -454,6 +456,9 @@ make -C build base-mod-check %changelog +* Mon May 08 2023 Florian Weimer - 2.49.93-31 +- Port to C99 + * Tue Apr 4 2023 Jerry James - 2.49.93-30 - Update to allow non-simple strings in FORMAT and FORMATTER - Drop upstreamed ensure-6x patch From 6816da647d40c6160e197dc8f357eb06055c734a Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 18 Jul 2023 15:44:37 -0600 Subject: [PATCH 34/51] Update to fix message typos --- clisp.spec | 9 ++++++--- sources | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/clisp.spec b/clisp.spec index b0cb2c5..8f13b64 100644 --- a/clisp.spec +++ b/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 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 @@ -26,7 +26,7 @@ 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: 31%{?dist} +Release: 32%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -456,6 +456,9 @@ make -C build base-mod-check %changelog +* Tue Jul 18 2023 Jerry James - 2.49.93-32 +- Update to fix message typos + * Mon May 08 2023 Florian Weimer - 2.49.93-31 - Port to C99 diff --git a/sources b/sources index c281f42..b317fdd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-79cbafdbc6337d6dcd8f2dbad69fb7ebf7a46012.tar.bz2) = 4c08409e454fb6ada0518d1e2bb872f8a0d6d519d165513e468eecb4c8d33c44f10c4c72d43cc22aa29b222d3f759c390020191aeb9318569bad48fc1f127a98 +SHA512 (clisp-66924971790e4cbee3d58f36e530caa0ad568e5f.tar.bz2) = a07051188e87cb0333b463248373289c59468e192583d7e7235ec8a74eab494b664fbd79a6c735b52d77157eb803eff2a3e1a0fa45fa4e68ccff4e637fae73ad From 5c268b6f08241fe568967ba36cd50b43b7bf46dd Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 15:52:35 +0000 Subject: [PATCH 35/51] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 8f13b64..bddb507 100644 --- a/clisp.spec +++ b/clisp.spec @@ -26,7 +26,7 @@ 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: 32%{?dist} +Release: 33%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -456,6 +456,9 @@ make -C build base-mod-check %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 2.49.93-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue Jul 18 2023 Jerry James - 2.49.93-32 - Update to fix message typos From 758dd9dc0da8620e1a8f6ccc7333ff55ab773ec3 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 16 Aug 2023 08:28:34 -0600 Subject: [PATCH 36/51] Build without pcre support (rhbz#2128278) --- clisp.spec | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/clisp.spec b/clisp.spec index bddb507..36dc2b4 100644 --- a/clisp.spec +++ b/clisp.spec @@ -26,7 +26,7 @@ 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: 33%{?dist} +Release: 34%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -79,7 +79,6 @@ BuildRequires: libxcrypt-devel BuildRequires: make BuildRequires: pari-devel BuildRequires: pari-gp -BuildRequires: pcre-devel BuildRequires: libpq-devel BuildRequires: readline-devel BuildRequires: zlib-devel @@ -181,7 +180,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 \ @@ -267,8 +265,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 @@ -343,9 +339,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/ @@ -430,11 +423,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 @@ -456,6 +444,9 @@ make -C build base-mod-check %changelog +* Wed Aug 16 2023 Jerry James - 2.49.93-34 +- Build without pcre support (rhbz#2128278) + * Wed Jul 19 2023 Fedora Release Engineering - 2.49.93-33 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From dbb1df508fafd18ed1178397b954c53c0aca8f6f Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 1 Dec 2023 12:44:55 -0700 Subject: [PATCH 37/51] Fix a mismatched pointer type error with GCC 14 --- clisp-bdb-mismatched-pointer.patch | 13 +++++++++++++ clisp.spec | 10 ++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 clisp-bdb-mismatched-pointer.patch diff --git a/clisp-bdb-mismatched-pointer.patch b/clisp-bdb-mismatched-pointer.patch new file mode 100644 index 0000000..9cc3fe0 --- /dev/null +++ b/clisp-bdb-mismatched-pointer.patch @@ -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(); diff --git a/clisp.spec b/clisp.spec index 36dc2b4..2ed2f04 100644 --- a/clisp.spec +++ b/clisp.spec @@ -26,7 +26,7 @@ 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: 34%{?dist} +Release: 35%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -45,7 +45,10 @@ Patch2: %{name}-register-volatile.patch # Perhaps we are racing with something else that allocates a pty. Disable # the test for now. Patch3: %{name}-pts-access.patch -Patch4: clisp-c99.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 +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 @@ -444,6 +447,9 @@ make -C build base-mod-check %changelog +* Fri Dec 1 2023 Jerry James - 2.49.93-35 +- Fix a mismatched pointer type error with GCC 14 + * Wed Aug 16 2023 Jerry James - 2.49.93-34 - Build without pcre support (rhbz#2128278) From 0acf606978cb386949fd054a4492b5e6a1960e18 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 16 Jan 2024 15:45:05 -0700 Subject: [PATCH 38/51] Add link to mismatched pointer PR --- clisp.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/clisp.spec b/clisp.spec index 2ed2f04..5e61825 100644 --- a/clisp.spec +++ b/clisp.spec @@ -48,6 +48,7 @@ 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 From 6afa4a56b71f0d56ff668a1c1097bacd14f44ba4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 15:39:46 +0000 Subject: [PATCH 39/51] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 5e61825..e68c235 100644 --- a/clisp.spec +++ b/clisp.spec @@ -26,7 +26,7 @@ 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: 35%{?dist} +Release: 36%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -448,6 +448,9 @@ make -C build base-mod-check %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 2.49.93-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Dec 1 2023 Jerry James - 2.49.93-35 - Fix a mismatched pointer type error with GCC 14 From 3d02564e3169f4f1f6f8ed0c89c72861fa444639 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 07:27:43 +0000 Subject: [PATCH 40/51] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index e68c235..19e42b1 100644 --- a/clisp.spec +++ b/clisp.spec @@ -26,7 +26,7 @@ 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: 36%{?dist} +Release: 37%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -448,6 +448,9 @@ make -C build base-mod-check %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 2.49.93-37 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 2.49.93-36 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From debdecc984413d1e631ec22db7ef2e5e89cf4ced Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 19:29:07 +0000 Subject: [PATCH 41/51] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 19e42b1..e3bf4ff 100644 --- a/clisp.spec +++ b/clisp.spec @@ -26,7 +26,7 @@ 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: 37%{?dist} +Release: 38%{?dist} URL: http://www.clisp.org/ Source0: %{forgesource} # Upstream dropped this file from the distribution @@ -448,6 +448,9 @@ make -C build base-mod-check %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 2.49.93-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Wed Jan 24 2024 Fedora Release Engineering - 2.49.93-37 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 8e77a6688a92ce02d2ff53072be633611a980d77 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 3 Sep 2024 13:08:11 -0600 Subject: [PATCH 42/51] 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 --- clisp-db.patch | 14 +++++++------- clisp-new-clx.patch | 29 +++++++++++++++++++++++++++++ clisp-pts-access.patch | 8 ++++---- clisp-siginterrupt.patch | 18 ++++++++++++++++++ clisp.spec | 33 ++++++++++++++++++++------------- sources | 2 +- 6 files changed, 79 insertions(+), 25 deletions(-) create mode 100644 clisp-new-clx.patch create mode 100644 clisp-siginterrupt.patch diff --git a/clisp-db.patch b/clisp-db.patch index aced4e2..94cc9ef 100644 --- a/clisp-db.patch +++ b/clisp-db.patch @@ -1,16 +1,16 @@ ---- 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 - +--- modules/berkeley-db/configure.orig 2024-07-04 15:55:33.000000000 -0600 ++++ modules/berkeley-db/configure 2024-07-08 14:48:08.927142156 -0600 +@@ -6272,7 +6272,7 @@ then : + else case e in #( + e) CFLAGS_save="$CFLAGS" -CFLAGS="$CFLAGS -Werror" +CFLAGS="$CFLAGS -Wno-uninitialized -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include ---- 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 +--- modules/berkeley-db/configure.in.orig 2024-07-04 15:55:33.000000000 -0600 ++++ modules/berkeley-db/configure.in 2024-07-08 14:48:08.927142156 -0600 @@ -48,7 +48,7 @@ dnl set_errcall() accepts DBE], ac_cv_dbe_set_errcall_accept_dbe,[ diff --git a/clisp-new-clx.patch b/clisp-new-clx.patch new file mode 100644 index 0000000..039e61c --- /dev/null +++ b/clisp-new-clx.patch @@ -0,0 +1,29 @@ +Fixes this error: + +In file included from genclx.c:1: +/builddir/build/BUILD/clisp-2.49.93-build/clisp-f5acef3880f1604367893ffa895210c942b37db3/build/gllib/stdio.h:71:3: error: #error "Please include config.h first." + 71 | #error "Please include config.h first." + | ^~~~~ + +--- modules/clx/new-clx/Makefile.in.orig 2024-07-12 09:22:07.000000000 -0600 ++++ modules/clx/new-clx/Makefile.in 2024-08-26 14:59:39.943911822 -0600 +@@ -35,7 +35,7 @@ resource.fas: $(srcdir)/resource.lisp cl + + clx.d: $(srcdir)/clx.f + $(CCMP2C) $(srcdir)/clx.f > genclx.c +- $(CC) $(CPPFLAGS) $(CFLAGS) $(WANTS) genclx.c -o genclx ++ $(CC) $(CPPFLAGS) $(CFLAGS) $(WANTS) -I$(CLISP_LINKKIT) genclx.c -o genclx + ./genclx -l -o clx.d > clx.d + $(RM) genclx.c + $(RM) genclx +--- utils/ccmp2c.c.orig 2024-07-12 09:22:07.000000000 -0600 ++++ utils/ccmp2c.c 2024-08-26 15:02:29.685683789 -0600 +@@ -1042,6 +1042,8 @@ main (int argc, char *argv[]) + infilename = argv[1]; + + /* Emit prologue. */ ++ printf ("#include \"clisp.h\"\n"); ++ printf ("#include \"config.h\"\n"); + printf ("#include \n"); + printf ("#include \n"); + printf ("#include \n"); diff --git a/clisp-pts-access.patch b/clisp-pts-access.patch index 15e3ee8..55d026e 100644 --- a/clisp-pts-access.patch +++ b/clisp-pts-access.patch @@ -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 diff --git a/clisp-siginterrupt.patch b/clisp-siginterrupt.patch new file mode 100644 index 0000000..26d0d3b --- /dev/null +++ b/clisp-siginterrupt.patch @@ -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)); diff --git a/clisp.spec b/clisp.spec index e3bf4ff..f52a7a1 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,7 +1,7 @@ # Upstream has not made a new release since 2010 %global srcname clisp -%global commit 66924971790e4cbee3d58f36e530caa0ad568e5f -%global date 20230718 +%global commit c735dd548ba2365804bcee9c2bdd3c291657e8ae +%global date 20240901 %global forgeurl https://gitlab.com/gnu-clisp/clisp # There is a plus on the end for unreleased versions, not for released versions @@ -10,9 +10,7 @@ # 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 @@ -26,8 +24,9 @@ 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: 38%{?dist} +Release: 39%{?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 @@ -44,16 +43,20 @@ Patch2: %{name}-register-volatile.patch # 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 +Patch3: %{name}-pts-access.patch # Fix HAVE_DB_STAT_ACCEPT_TXN test in the Berkeley DB module -Patch4: %{name}-c99.patch +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 +Patch5: %{name}-bdb-mismatched-pointer.patch +# Fix the new-clx build, which was broken by a recent gnulib update +Patch6: %{name}-new-clx.patch +# Do not call the deprecated siginterrupt function +Patch7: %{name}-siginterrupt.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 @@ -159,8 +162,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. @@ -294,7 +295,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 @@ -448,6 +448,13 @@ make -C build base-mod-check %changelog +* Tue Sep 3 2024 Jerry James - 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 - 2.49.93-38 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild diff --git a/sources b/sources index b317fdd..3c2116a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-66924971790e4cbee3d58f36e530caa0ad568e5f.tar.bz2) = a07051188e87cb0333b463248373289c59468e192583d7e7235ec8a74eab494b664fbd79a6c735b52d77157eb803eff2a3e1a0fa45fa4e68ccff4e637fae73ad +SHA512 (clisp-c735dd548ba2365804bcee9c2bdd3c291657e8ae.tar.bz2) = 9614a3bbf5700a8651f03ac7fb19201ad3e7114e331209e0ea718a9e0373e78aa6b51a65c656fd60d407824a7ae8272c3345e8ffe4b14f501b628c4d3ccdf7e5 From 885c36453f8f06a03a92122ab389d6f8bfa60bd1 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Sat, 5 Oct 2024 11:05:47 -0600 Subject: [PATCH 43/51] Rebuild for pari 2.17.0 --- clisp-pari.patch | 24 ++++++++++++++++++++++++ clisp.spec | 9 ++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 clisp-pari.patch diff --git a/clisp-pari.patch b/clisp-pari.patch new file mode 100644 index 0000000..8180cb6 --- /dev/null +++ b/clisp-pari.patch @@ -0,0 +1,24 @@ +--- modules/pari/pari.lisp.orig 2024-09-01 08:33:43.000000000 -0600 ++++ modules/pari/pari.lisp 2024-10-01 14:05:23.052630082 -0600 +@@ -137,8 +137,8 @@ + + (exporting:defun next-entree (e) (foreign-value (entree-next e))) + +-;; typedef unsigned char *byteptr; +-(def-c-type byteptr (c-ptr uchar)) ++;; typedef unsigned int pari_prime; ++(def-c-type pari_prime uint) + + ;; typedef ulong pari_sp; + (def-c-type pari_sp ulong) +@@ -200,8 +200,8 @@ t.e., this is the memory size for the re + ;; extern GEN primetab; + (def-c-var primetab (:type pari-gen) (:read-only t)) + +-;; extern byteptr diffptr; +-(def-c-var diffptr (:type byteptr) (:read-only t)) ++;; extern pari_prime *pari_PRIMES; ++(def-c-var pari_PRIMES (:type (c-pointer pari_prime)) (:read-only t)) + + (def-c-const MAXVARN) + ;; extern entree **varentries; diff --git a/clisp.spec b/clisp.spec index f52a7a1..acf66f4 100644 --- a/clisp.spec +++ b/clisp.spec @@ -24,7 +24,7 @@ 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: 39%{?dist} +Release: 40%{?dist} URL: http://www.clisp.org/ VCS: git:%{forgeurl}.git Source0: %{forgesource} @@ -45,14 +45,18 @@ Patch2: %{name}-register-volatile.patch # the test for now. Patch3: %{name}-pts-access.patch # Fix HAVE_DB_STAT_ACCEPT_TXN test in the Berkeley DB module +# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/8 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 # Fix the new-clx build, which was broken by a recent gnulib update +# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/10 Patch6: %{name}-new-clx.patch # Do not call the deprecated siginterrupt function Patch7: %{name}-siginterrupt.patch +# Adapt to changes in pari 2.17 +Patch8: %{name}-pari.patch # Work around a problem inlining a function on ppc64le # See https://bugzilla.redhat.com/show_bug.cgi?id=2049371 @@ -448,6 +452,9 @@ make -C build base-mod-check %changelog +* Sat Oct 5 2024 Jerry James - 2.49.93-40 +- Rebuild for pari 2.17.0 + * Tue Sep 3 2024 Jerry James - 2.49.93-39 - Update to latest git snapshot - Add patch to fix FTBFS in the new-clx code From ff5c8f0ebb7e189c5527f497a69136991c7cf28f Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 25 Nov 2024 11:51:36 -0700 Subject: [PATCH 44/51] Version 2.49.95+ - Drop upstreamed patches: db, c99, bdb-mismatched-pointer, new-clx, pari --- clisp-bdb-mismatched-pointer.patch | 13 ----------- clisp-c99.patch | 36 ------------------------------ clisp-db.patch | 22 ------------------ clisp-new-clx.patch | 29 ------------------------ clisp-pari.patch | 24 -------------------- clisp.spec | 33 ++++++++++----------------- sources | 2 +- 7 files changed, 13 insertions(+), 146 deletions(-) delete mode 100644 clisp-bdb-mismatched-pointer.patch delete mode 100644 clisp-c99.patch delete mode 100644 clisp-db.patch delete mode 100644 clisp-new-clx.patch delete mode 100644 clisp-pari.patch diff --git a/clisp-bdb-mismatched-pointer.patch b/clisp-bdb-mismatched-pointer.patch deleted file mode 100644 index 9cc3fe0..0000000 --- a/clisp-bdb-mismatched-pointer.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- 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(); diff --git a/clisp-c99.patch b/clisp-c99.patch deleted file mode 100644 index 9e86315..0000000 --- a/clisp-c99.patch +++ /dev/null @@ -1,36 +0,0 @@ -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: - -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 - dnl - AC_CACHE_CHECK([whether DB->stat() accepts TXNid],ac_cv_db_stat_accept_txn,[ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], --[[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]) diff --git a/clisp-db.patch b/clisp-db.patch deleted file mode 100644 index 94cc9ef..0000000 --- a/clisp-db.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- modules/berkeley-db/configure.orig 2024-07-04 15:55:33.000000000 -0600 -+++ modules/berkeley-db/configure 2024-07-08 14:48:08.927142156 -0600 -@@ -6272,7 +6272,7 @@ then : - else case e in #( - e) - CFLAGS_save="$CFLAGS" --CFLAGS="$CFLAGS -Werror" -+CFLAGS="$CFLAGS -Wno-uninitialized -Werror" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include ---- modules/berkeley-db/configure.in.orig 2024-07-04 15:55:33.000000000 -0600 -+++ modules/berkeley-db/configure.in 2024-07-08 14:48:08.927142156 -0600 -@@ -48,7 +48,7 @@ dnl 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 - void my_callback (const DB_ENV* dbe, const char *errpfx, const char *msg) {}], - [[DB_ENV dbe; dbe.set_errcall(&dbe,&my_callback);]])], diff --git a/clisp-new-clx.patch b/clisp-new-clx.patch deleted file mode 100644 index 039e61c..0000000 --- a/clisp-new-clx.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fixes this error: - -In file included from genclx.c:1: -/builddir/build/BUILD/clisp-2.49.93-build/clisp-f5acef3880f1604367893ffa895210c942b37db3/build/gllib/stdio.h:71:3: error: #error "Please include config.h first." - 71 | #error "Please include config.h first." - | ^~~~~ - ---- modules/clx/new-clx/Makefile.in.orig 2024-07-12 09:22:07.000000000 -0600 -+++ modules/clx/new-clx/Makefile.in 2024-08-26 14:59:39.943911822 -0600 -@@ -35,7 +35,7 @@ resource.fas: $(srcdir)/resource.lisp cl - - clx.d: $(srcdir)/clx.f - $(CCMP2C) $(srcdir)/clx.f > genclx.c -- $(CC) $(CPPFLAGS) $(CFLAGS) $(WANTS) genclx.c -o genclx -+ $(CC) $(CPPFLAGS) $(CFLAGS) $(WANTS) -I$(CLISP_LINKKIT) genclx.c -o genclx - ./genclx -l -o clx.d > clx.d - $(RM) genclx.c - $(RM) genclx ---- utils/ccmp2c.c.orig 2024-07-12 09:22:07.000000000 -0600 -+++ utils/ccmp2c.c 2024-08-26 15:02:29.685683789 -0600 -@@ -1042,6 +1042,8 @@ main (int argc, char *argv[]) - infilename = argv[1]; - - /* Emit prologue. */ -+ printf ("#include \"clisp.h\"\n"); -+ printf ("#include \"config.h\"\n"); - printf ("#include \n"); - printf ("#include \n"); - printf ("#include \n"); diff --git a/clisp-pari.patch b/clisp-pari.patch deleted file mode 100644 index 8180cb6..0000000 --- a/clisp-pari.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- modules/pari/pari.lisp.orig 2024-09-01 08:33:43.000000000 -0600 -+++ modules/pari/pari.lisp 2024-10-01 14:05:23.052630082 -0600 -@@ -137,8 +137,8 @@ - - (exporting:defun next-entree (e) (foreign-value (entree-next e))) - --;; typedef unsigned char *byteptr; --(def-c-type byteptr (c-ptr uchar)) -+;; typedef unsigned int pari_prime; -+(def-c-type pari_prime uint) - - ;; typedef ulong pari_sp; - (def-c-type pari_sp ulong) -@@ -200,8 +200,8 @@ t.e., this is the memory size for the re - ;; extern GEN primetab; - (def-c-var primetab (:type pari-gen) (:read-only t)) - --;; extern byteptr diffptr; --(def-c-var diffptr (:type byteptr) (:read-only t)) -+;; extern pari_prime *pari_PRIMES; -+(def-c-var pari_PRIMES (:type (c-pointer pari_prime)) (:read-only t)) - - (def-c-const MAXVARN) - ;; extern entree **varentries; diff --git a/clisp.spec b/clisp.spec index acf66f4..3c6c2b8 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,7 +1,7 @@ # Upstream has not made a new release since 2010 %global srcname clisp -%global commit c735dd548ba2365804bcee9c2bdd3c291657e8ae -%global date 20240901 +%global commit 9ff8aedb796fbf7c47e594bfc2357b69c8e64dc9 +%global date 20241123 %global forgeurl https://gitlab.com/gnu-clisp/clisp # There is a plus on the end for unreleased versions, not for released versions @@ -14,7 +14,7 @@ Name: clisp Summary: ANSI Common Lisp implementation -Version: 2.49.93 +Version: 2.49.95 %forgemeta @@ -24,7 +24,7 @@ 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: 40%{?dist} +Release: 1%{?dist} URL: http://www.clisp.org/ VCS: git:%{forgeurl}.git Source0: %{forgesource} @@ -33,30 +33,17 @@ 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 -# Fix HAVE_DB_STAT_ACCEPT_TXN test in the Berkeley DB module -# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/8 -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 -# Fix the new-clx build, which was broken by a recent gnulib update -# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/10 -Patch6: %{name}-new-clx.patch +Patch2: %{name}-pts-access.patch # Do not call the deprecated siginterrupt function -Patch7: %{name}-siginterrupt.patch -# Adapt to changes in pari 2.17 -Patch8: %{name}-pari.patch +Patch3: %{name}-siginterrupt.patch # Work around a problem inlining a function on ppc64le # See https://bugzilla.redhat.com/show_bug.cgi?id=2049371 @@ -452,6 +439,10 @@ make -C build base-mod-check %changelog +* Mon Nov 25 2024 Jerry James - 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 - 2.49.93-40 - Rebuild for pari 2.17.0 diff --git a/sources b/sources index 3c2116a..c076005 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-c735dd548ba2365804bcee9c2bdd3c291657e8ae.tar.bz2) = 9614a3bbf5700a8651f03ac7fb19201ad3e7114e331209e0ea718a9e0373e78aa6b51a65c656fd60d407824a7ae8272c3345e8ffe4b14f501b628c4d3ccdf7e5 +SHA512 (clisp-9ff8aedb796fbf7c47e594bfc2357b69c8e64dc9.tar.bz2) = 7c29ab9c8f3aad9d7b5338d8f95610e85d3d8f6738ad7cfa4e07d105d2a1f15dcf14d72c72f4e6b87e6ccfd566e1d10d44d541420dedac507a544d7ed768052f From 7bf88cd6af4e5b715efc2d1b87ea7ea7dbe96e7a Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 13 Jan 2025 14:31:13 -0700 Subject: [PATCH 45/51] Update to latest git snapshot - Move configuration steps to %conf --- clisp.spec | 12 +++++++++--- sources | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/clisp.spec b/clisp.spec index 3c6c2b8..ec637f5 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,7 +1,7 @@ # Upstream has not made a new release since 2010 %global srcname clisp -%global commit 9ff8aedb796fbf7c47e594bfc2357b69c8e64dc9 -%global date 20241123 +%global commit c3ec11bab87cfdbeba01523ed88ac2a16b22304d +%global date 20241228 %global forgeurl https://gitlab.com/gnu-clisp/clisp # There is a plus on the end for unreleased versions, not for released versions @@ -24,7 +24,7 @@ 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: 1%{?dist} +Release: 2%{?dist} URL: http://www.clisp.org/ VCS: git:%{forgeurl}.git Source0: %{forgesource} @@ -126,6 +126,8 @@ Files necessary for linking CLISP programs. %ifarch %{power64} %autopatch 100 -p0 %endif + +%conf cp -p %{SOURCE1} emacs cp -p %{SOURCE2} %{SOURCE3} src/po @@ -439,6 +441,10 @@ make -C build base-mod-check %changelog +* Mon Jan 13 2025 Jerry James - 2.49.95-2 +- Update to latest git snapshot +- Move configuration steps to %%conf + * Mon Nov 25 2024 Jerry James - 2.49.95-1 - Version 2.49.95 - Drop upstreamed patches: db, c99, bdb-mismatched-pointer, new-clx, pari diff --git a/sources b/sources index c076005..56851c4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-9ff8aedb796fbf7c47e594bfc2357b69c8e64dc9.tar.bz2) = 7c29ab9c8f3aad9d7b5338d8f95610e85d3d8f6738ad7cfa4e07d105d2a1f15dcf14d72c72f4e6b87e6ccfd566e1d10d44d541420dedac507a544d7ed768052f +SHA512 (clisp-c3ec11bab87cfdbeba01523ed88ac2a16b22304d.tar.bz2) = f1f90de3eec144fd2d7bc9a3b482952c4c187f7ec590c41ce20447b4662961ae35290b260fa91d7399f9a4d1806ec7310ee90a77ead63a9d0f529a8627d2fa17 From 00ea9b0d97ac9958d1839e454c5fd3e611a1b1f2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 13:56:45 +0000 Subject: [PATCH 46/51] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index ec637f5..6e3928a 100644 --- a/clisp.spec +++ b/clisp.spec @@ -24,7 +24,7 @@ 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: 2%{?dist} +Release: 3%{?dist} URL: http://www.clisp.org/ VCS: git:%{forgeurl}.git Source0: %{forgesource} @@ -441,6 +441,9 @@ make -C build base-mod-check %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 2.49.95-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Mon Jan 13 2025 Jerry James - 2.49.95-2 - Update to latest git snapshot - Move configuration steps to %%conf From 3f3e034be0633be06f08ba6afdeb53dbcf46fe33 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 7 Feb 2025 12:26:08 -0700 Subject: [PATCH 47/51] Add patch to fix undefined behavior (rhbz#2339979) - Add two patches to fix memory leaks - Do not force -O1 --- clisp-encoding-leak.patch | 10 ++++++++ clisp-iconv-close.patch | 38 ++++++++++++++++++++++++++++ clisp-undefined-behavior.patch | 46 ++++++++++++++++++++++++++++++++++ clisp.spec | 26 +++++++++++++++---- 4 files changed, 115 insertions(+), 5 deletions(-) create mode 100644 clisp-encoding-leak.patch create mode 100644 clisp-iconv-close.patch create mode 100644 clisp-undefined-behavior.patch diff --git a/clisp-encoding-leak.patch b/clisp-encoding-leak.patch new file mode 100644 index 0000000..f2b939a --- /dev/null +++ b/clisp-encoding-leak.patch @@ -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 */ diff --git a/clisp-iconv-close.patch b/clisp-iconv-close.patch new file mode 100644 index 0000000..db553ad --- /dev/null +++ b/clisp-iconv-close.patch @@ -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); + } diff --git a/clisp-undefined-behavior.patch b/clisp-undefined-behavior.patch new file mode 100644 index 0000000..309c8b2 --- /dev/null +++ b/clisp-undefined-behavior.patch @@ -0,0 +1,46 @@ +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118779 + +--- src/package.d.orig 2024-12-28 00:47:59.000000000 -0700 ++++ src/package.d 2025-02-07 12:00:00.646094825 -0700 +@@ -188,12 +188,12 @@ local maygc object rehash_symtab (object + first process the symbols, that sit in lists + (maybe Conses become free): */ + { +- var gcv_object_t* offset = 0; /* offset = sizeof(gcv_object_t)*index */ ++ var aint offset = 0; /* offset = sizeof(gcv_object_t)*index */ + var uintC count = oldsize; + do { + var object oldentry = /* entry with number index in oldtable */ + *(gcv_object_t*)(pointerplus(&TheSvector(STACK_2)->data[0], +- (aint)offset)); ++ offset)); + if (consp(oldentry)) /* this time process only non-empty symbol-lists */ + do { + pushSTACK(Cdr(oldentry)); /* save rest-list */ +@@ -205,22 +205,22 @@ local maygc object rehash_symtab (object + newinsert(Car(oldentry),newsize); + oldentry = popSTACK(); /* rest-list */ + } while (consp(oldentry)); +- offset++; ++ offset += sizeof(gcv_object_t); + } while (--count); + } + { /* then process symbols, that sit there collision-free: */ +- var gcv_object_t* offset = 0; /* offset = sizeof(gcv_object_t)*index */ ++ var aint offset = 0; /* offset = sizeof(gcv_object_t)*index */ + var uintC count; + dotimespC(count,oldsize, { + var object oldentry = /* entry with number index in oldtable */ + *(gcv_object_t*)(pointerplus(&TheSvector(STACK_2)->data[0], +- (aint)offset)); ++ offset)); + if (!listp(oldentry)) { /* this time process only symbols /= NIL */ + pushSTACK(oldentry); /* dummy, so that the stack is fine */ + newinsert(oldentry,newsize); /* enter into the new table */ + skipSTACK(1); + } +- offset++; ++ offset += sizeof(gcv_object_t); + }); + } + /* stack layout: tab, oldtable, free-conses, newtable. */ diff --git a/clisp.spec b/clisp.spec index 6e3928a..73f38cb 100644 --- a/clisp.spec +++ b/clisp.spec @@ -44,6 +44,14 @@ Patch1: %{name}-register-volatile.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 rehash_symtab +# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/12 +Patch6: %{name}-undefined-behavior.patch # Work around a problem inlining a function on ppc64le # See https://bugzilla.redhat.com/show_bug.cgi?id=2049371 @@ -136,8 +144,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 @@ -185,9 +196,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. @@ -441,6 +452,11 @@ make -C build base-mod-check %changelog +* Fri Feb 7 2025 Jerry James - 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 - 2.49.95-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 28d75acd55df9517747f47195717a06ef5053d49 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 14 Feb 2025 21:24:49 -0700 Subject: [PATCH 48/51] Add patches to fix more undefined behavior - Fix misaligned memory accesses on ppc64le - Fix mismatched readline function declarations --- clisp-ppc64le-alignment.patch | 18 +++++++ clisp-readline.patch | 75 +++++++++++++++++++++++++++++ clisp-undefined-behavior-eval.patch | 15 ++++++ clisp-undefined-behavior-io.patch | 15 ++++++ clisp-undefined-behavior-sort.patch | 23 +++++++++ clisp.spec | 20 +++++++- 6 files changed, 164 insertions(+), 2 deletions(-) create mode 100644 clisp-ppc64le-alignment.patch create mode 100644 clisp-readline.patch create mode 100644 clisp-undefined-behavior-eval.patch create mode 100644 clisp-undefined-behavior-io.patch create mode 100644 clisp-undefined-behavior-sort.patch diff --git a/clisp-ppc64le-alignment.patch b/clisp-ppc64le-alignment.patch new file mode 100644 index 0000000..b186bb5 --- /dev/null +++ b/clisp-ppc64le-alignment.patch @@ -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) diff --git a/clisp-readline.patch b/clisp-readline.patch new file mode 100644 index 0000000..942e67c --- /dev/null +++ b/clisp-readline.patch @@ -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) diff --git a/clisp-undefined-behavior-eval.patch b/clisp-undefined-behavior-eval.patch new file mode 100644 index 0000000..2e6b8e0 --- /dev/null +++ b/clisp-undefined-behavior-eval.patch @@ -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_ diff --git a/clisp-undefined-behavior-io.patch b/clisp-undefined-behavior-io.patch new file mode 100644 index 0000000..7a9e72b --- /dev/null +++ b/clisp-undefined-behavior-io.patch @@ -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 */ diff --git a/clisp-undefined-behavior-sort.patch b/clisp-undefined-behavior-sort.patch new file mode 100644 index 0000000..8408d13 --- /dev/null +++ b/clisp-undefined-behavior-sort.patch @@ -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; diff --git a/clisp.spec b/clisp.spec index 73f38cb..7a5d99b 100644 --- a/clisp.spec +++ b/clisp.spec @@ -45,13 +45,24 @@ 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 +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 rehash_symtab # https://gitlab.com/gnu-clisp/clisp/-/merge_requests/12 -Patch6: %{name}-undefined-behavior.patch +Patch6: %{name}-undefined-behavior.patch +# Fix undefined behavior in SORT +Patch7: %{name}-undefined-behavior-sort.patch +# Fix undefined behavior in interpret_bytecode_ +Patch8: %{name}-undefined-behavior-eval.patch +# Fix undefined behavior in pr_array +Patch9: %{name}-undefined-behavior-io.patch +# Fix misaligned memory accesses on ppc64le +Patch10: %{name}-ppc64le-alignment.patch +# Fix some mismatched readline function declarations +# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/13 +Patch11: %{name}-readline.patch # Work around a problem inlining a function on ppc64le # See https://bugzilla.redhat.com/show_bug.cgi?id=2049371 @@ -452,6 +463,11 @@ make -C build base-mod-check %changelog +* Fri Feb 14 2025 Jerry James - 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 - 2.49.95-3 - Add patch to fix undefined behavior (rhbz#2339979) - Add two patches to fix memory leaks From 2f58da3a26fc9de52fdf2509095edd528f0e43de Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 2 Jun 2025 11:01:50 -0600 Subject: [PATCH 49/51] Update to latest git snapshot - Drop one upstreamed patch to fix undefined behavior --- clisp-undefined-behavior.patch | 46 ---------------------------------- clisp.spec | 23 +++++++++-------- sources | 2 +- 3 files changed, 13 insertions(+), 58 deletions(-) delete mode 100644 clisp-undefined-behavior.patch diff --git a/clisp-undefined-behavior.patch b/clisp-undefined-behavior.patch deleted file mode 100644 index 309c8b2..0000000 --- a/clisp-undefined-behavior.patch +++ /dev/null @@ -1,46 +0,0 @@ -See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118779 - ---- src/package.d.orig 2024-12-28 00:47:59.000000000 -0700 -+++ src/package.d 2025-02-07 12:00:00.646094825 -0700 -@@ -188,12 +188,12 @@ local maygc object rehash_symtab (object - first process the symbols, that sit in lists - (maybe Conses become free): */ - { -- var gcv_object_t* offset = 0; /* offset = sizeof(gcv_object_t)*index */ -+ var aint offset = 0; /* offset = sizeof(gcv_object_t)*index */ - var uintC count = oldsize; - do { - var object oldentry = /* entry with number index in oldtable */ - *(gcv_object_t*)(pointerplus(&TheSvector(STACK_2)->data[0], -- (aint)offset)); -+ offset)); - if (consp(oldentry)) /* this time process only non-empty symbol-lists */ - do { - pushSTACK(Cdr(oldentry)); /* save rest-list */ -@@ -205,22 +205,22 @@ local maygc object rehash_symtab (object - newinsert(Car(oldentry),newsize); - oldentry = popSTACK(); /* rest-list */ - } while (consp(oldentry)); -- offset++; -+ offset += sizeof(gcv_object_t); - } while (--count); - } - { /* then process symbols, that sit there collision-free: */ -- var gcv_object_t* offset = 0; /* offset = sizeof(gcv_object_t)*index */ -+ var aint offset = 0; /* offset = sizeof(gcv_object_t)*index */ - var uintC count; - dotimespC(count,oldsize, { - var object oldentry = /* entry with number index in oldtable */ - *(gcv_object_t*)(pointerplus(&TheSvector(STACK_2)->data[0], -- (aint)offset)); -+ offset)); - if (!listp(oldentry)) { /* this time process only symbols /= NIL */ - pushSTACK(oldentry); /* dummy, so that the stack is fine */ - newinsert(oldentry,newsize); /* enter into the new table */ - skipSTACK(1); - } -- offset++; -+ offset += sizeof(gcv_object_t); - }); - } - /* stack layout: tab, oldtable, free-conses, newtable. */ diff --git a/clisp.spec b/clisp.spec index 7a5d99b..3f4aa0f 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,7 +1,7 @@ # Upstream has not made a new release since 2010 %global srcname clisp -%global commit c3ec11bab87cfdbeba01523ed88ac2a16b22304d -%global date 20241228 +%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 @@ -24,7 +24,7 @@ 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: 3%{?dist} +Release: 4%{?dist} URL: http://www.clisp.org/ VCS: git:%{forgeurl}.git Source0: %{forgesource} @@ -49,20 +49,17 @@ 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 rehash_symtab -# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/12 -Patch6: %{name}-undefined-behavior.patch # Fix undefined behavior in SORT -Patch7: %{name}-undefined-behavior-sort.patch +Patch6: %{name}-undefined-behavior-sort.patch # Fix undefined behavior in interpret_bytecode_ -Patch8: %{name}-undefined-behavior-eval.patch +Patch7: %{name}-undefined-behavior-eval.patch # Fix undefined behavior in pr_array -Patch9: %{name}-undefined-behavior-io.patch +Patch8: %{name}-undefined-behavior-io.patch # Fix misaligned memory accesses on ppc64le -Patch10: %{name}-ppc64le-alignment.patch +Patch9: %{name}-ppc64le-alignment.patch # Fix some mismatched readline function declarations # https://gitlab.com/gnu-clisp/clisp/-/merge_requests/13 -Patch11: %{name}-readline.patch +Patch10: %{name}-readline.patch # Work around a problem inlining a function on ppc64le # See https://bugzilla.redhat.com/show_bug.cgi?id=2049371 @@ -463,6 +460,10 @@ make -C build base-mod-check %changelog +* Mon Jun 02 2025 Jerry James - 2.49.95-4 +- Update to latest git snapshot +- Drop one upstreamed patch to fix undefined behavior + * Fri Feb 14 2025 Jerry James - 2.49.95-3 - Add patches to fix more undefined behavior - Fix misaligned memory accesses on ppc64le diff --git a/sources b/sources index 56851c4..43b7795 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-c3ec11bab87cfdbeba01523ed88ac2a16b22304d.tar.bz2) = f1f90de3eec144fd2d7bc9a3b482952c4c187f7ec590c41ce20447b4662961ae35290b260fa91d7399f9a4d1806ec7310ee90a77ead63a9d0f529a8627d2fa17 +SHA512 (clisp-f66220939ea7d36fd085384afa4a0ec44597d499.tar.bz2) = 16d6ccba500d60fe36c20b5bd1d6c9403567996020cef406e42813a302a86d94dc0d5e36aae434b5b846d39ec37d6db2b50565a69d24291b973724bcc0874bd0 From f1acbe937138c482bbe580d0cec1fdc6a40d292f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 18:24:22 +0000 Subject: [PATCH 50/51] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- clisp.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clisp.spec b/clisp.spec index 3f4aa0f..4dc6b9b 100644 --- a/clisp.spec +++ b/clisp.spec @@ -24,7 +24,7 @@ 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: 4%{?dist} +Release: 5%{?dist} URL: http://www.clisp.org/ VCS: git:%{forgeurl}.git Source0: %{forgesource} @@ -460,6 +460,9 @@ make -C build base-mod-check %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 2.49.95-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Mon Jun 02 2025 Jerry James - 2.49.95-4 - Update to latest git snapshot - Drop one upstreamed patch to fix undefined behavior From 24dca17a22105a25c185380e1c4af7a40d37b39f Mon Sep 17 00:00:00 2001 From: Jerry James Date: Sun, 11 Jan 2026 18:59:06 -0700 Subject: [PATCH 51/51] Reflow the description text - Minor spec file cleanups --- clisp.spec | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/clisp.spec b/clisp.spec index 4dc6b9b..94e352d 100644 --- a/clisp.spec +++ b/clisp.spec @@ -95,6 +95,7 @@ BuildRequires: pari-devel BuildRequires: pari-gp BuildRequires: libpq-devel BuildRequires: readline-devel +BuildRequires: vim-filesystem BuildRequires: zlib-devel Requires: emacs-filesystem @@ -105,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 @@ -229,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 @@ -362,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 @@ -463,7 +463,7 @@ make -C build base-mod-check * Wed Jul 23 2025 Fedora Release Engineering - 2.49.95-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild -* Mon Jun 02 2025 Jerry James - 2.49.95-4 +* Mon Jun 02 2025 Jerry James - 2.49.95-4 - Update to latest git snapshot - Drop one upstreamed patch to fix undefined behavior