* 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.
		
			
				
	
	
		
			17 lines
		
	
	
	
		
			646 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
	
		
			646 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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;
 | |
|  }
 | |
|  
 |