gnu: Add ECL 16.1.3 for Sage.

* gnu/packages/sagemath.scm (ecl-16): New 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: New files.
* gnu/local.mk (dist_patch_DATA): Register the patches.
This commit is contained in:
Jakub Kądziołka 2020-06-17 02:08:04 +02:00
parent 71153712a2
commit 5b9822cf43
No known key found for this signature in database
GPG key ID: E315A75846131564
5 changed files with 142 additions and 0 deletions

View file

@ -0,0 +1,17 @@
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;
}