gnu: ecl: Remove 16.1.3.

This package fails to build and has no users in Guix.

* gnu/packages/sagemath.scm (ecl-16): Remove variable.
* gnu/packages/patches/ecl-16-format-directive-limit.patch,
gnu/packages/patches/ecl-16-ignore-stderr-write-error.patch,
gnu/packages/patches/ecl-16-libffi.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
This commit is contained in:
Marius Bakke 2022-11-22 06:54:02 +01:00
parent 41ca8f9c20
commit 0fec067efe
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
5 changed files with 0 additions and 140 deletions

View file

@ -1044,9 +1044,6 @@ dist_patch_DATA = \
%D%/packages/patches/dstat-skip-devices-without-io.patch \ %D%/packages/patches/dstat-skip-devices-without-io.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/dynaconf-unvendor-deps.patch \ %D%/packages/patches/dynaconf-unvendor-deps.patch \
%D%/packages/patches/ecl-16-format-directive-limit.patch \
%D%/packages/patches/ecl-16-ignore-stderr-write-error.patch \
%D%/packages/patches/ecl-16-libffi.patch \
%D%/packages/patches/efibootmgr-remove-extra-decl.patch \ %D%/packages/patches/efibootmgr-remove-extra-decl.patch \
%D%/packages/patches/efivar-211.patch \ %D%/packages/patches/efivar-211.patch \
%D%/packages/patches/eigen-fix-strict-aliasing-bug.patch \ %D%/packages/patches/eigen-fix-strict-aliasing-bug.patch \

View file

@ -1,83 +0,0 @@
Patch backported by Sage.
Fix from upstream that happens to work around
https://trac.sagemath.org/ticket/23011
diff --git a/src/lsp/format.lsp b/src/lsp/format.lsp
index 77ca799..53b887c 100644
--- a/src/lsp/format.lsp
+++ b/src/lsp/format.lsp
@@ -307,11 +307,13 @@
:start (format-directive-start struct)
:end (format-directive-end struct))))
+(defconstant +format-directive-limit+ (1+ (char-code #\~)))
+
#+formatter
(defparameter *format-directive-expanders*
- (make-array char-code-limit :initial-element nil))
+ (make-array +format-directive-limit+ :initial-element nil))
(defparameter *format-directive-interpreters*
- (make-array char-code-limit :initial-element nil))
+ (make-array +format-directive-limit+ :initial-element nil))
(defparameter *default-format-error-control-string* nil)
(defparameter *default-format-error-offset* nil)
@@ -550,24 +552,24 @@
(write-string directive stream)
(interpret-directive-list stream (cdr directives) orig-args args))
(#-ecl format-directive #+ecl vector
+ (multiple-value-bind
+ (new-directives new-args)
+ (let* ((code (char-code (format-directive-character directive)))
+ (function
+ (and (< code +format-directive-limit+)
+ (svref *format-directive-interpreters* code)))
+ (*default-format-error-offset*
+ (1- (format-directive-end directive))))
+ (unless function
+ (error 'format-error
+ :complaint "Unknown format directive."))
(multiple-value-bind
(new-directives new-args)
- (let ((function
- (svref *format-directive-interpreters*
- (char-code (format-directive-character
- directive))))
- (*default-format-error-offset*
- (1- (format-directive-end directive))))
- (unless function
- (error 'format-error
- :complaint "Unknown format directive."))
- (multiple-value-bind
- (new-directives new-args)
- (funcall function stream directive
- (cdr directives) orig-args args)
- (values new-directives new-args)))
- (interpret-directive-list stream new-directives
- orig-args new-args)))))
+ (funcall function stream directive
+ (cdr directives) orig-args args)
+ (values new-directives new-args)))
+ (interpret-directive-list stream new-directives
+ orig-args new-args)))))
args))
@@ -639,11 +641,12 @@
(values `(write-string ,directive stream)
more-directives))
(format-directive
- (let ((expander
- (aref *format-directive-expanders*
- (char-code (format-directive-character directive))))
- (*default-format-error-offset*
- (1- (format-directive-end directive))))
+ (let* ((code (char-code (format-directive-character directive)))
+ (expander
+ (and (< code +format-directive-limit+)
+ (svref *format-directive-expanders* code)))
+ (*default-format-error-offset*
+ (1- (format-directive-end directive))))
(if expander
(funcall expander directive more-directives)
(error 'format-error

View file

@ -1,17 +0,0 @@
Patch adapted from Sage.
diff -Naur ecl-16.1.2.orig/src/c/file.d ecl-16.1.2/src/c/file.d
--- ecl-16.1.2.orig/src/c/file.d 2016-05-11 13:10:51.867673867 +1200
+++ ecl-16.1.2/src/c/file.d 2016-05-11 14:44:48.121907307 +1200
@@ -3354,8 +3354,10 @@
ecl_disable_interrupts();
do {
out = fwrite(c, sizeof(char), n, IO_STREAM_FILE(strm));
- } while (out < n && restartable_io_error(strm, "fwrite"));
- ecl_enable_interrupts();
+ /* Ignore write errors to stderr to avoid an infinite loop */
+ } while (out < n && (IO_STREAM_FILE(strm) != stderr) && restartable_io_error(strm, "fwrite"));
+
+ ecl_enable_interrupts();
return out;
}

View file

@ -1,16 +0,0 @@
Patch adapted from Sage. Allows building ECL on libffi 3.3.
diff --git a/src/c/ffi.d b/src/c/ffi.d
index 8861303e..8a959c23 100644
--- a/src/c/ffi.d
+++ b/src/c/ffi.d
@@ -133,8 +133,8 @@ static struct {
#elif defined(X86_WIN64)
{@':win64', FFI_WIN64},
#elif defined(X86_ANY) || defined(X86) || defined(X86_64)
- {@':cdecl', FFI_SYSV},
- {@':sysv', FFI_SYSV},
+ {@':cdecl', FFI_UNIX64},
+ {@':sysv', FFI_UNIX64},
{@':unix64', FFI_UNIX64},
#endif
};

View file

@ -170,27 +170,6 @@ (define-public libhomfly
(license license:public-domain) (license license:public-domain)
(home-page "https://github.com/miguelmarco/libhomfly"))) (home-page "https://github.com/miguelmarco/libhomfly")))
;; Sage 9.1 doesn't build with ECL 20. This won't be necessary once 9.2 is
;; released. See https://trac.sagemath.org/ticket/22191
(define-public ecl-16
(package
(inherit ecl)
(version "16.1.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://common-lisp.net/project/ecl/static/files/release/ecl"
"-" version ".tgz"))
(sha256
(base32 "0m0j24w5d5a9dwwqyrg0d35c0nys16ijb4r0nyk87yp82v38b9bn"))
(patches (search-patches
"ecl-16-libffi.patch"
"ecl-16-ignore-stderr-write-error.patch"
"ecl-16-format-directive-limit.patch"))))
;; Current ECL uses LGPL 2.1+
(license license:lgpl2.0+)))
(define-public pynac (define-public pynac
(package (package
(name "pynac") (name "pynac")