[ecl] New upstream release. Drop upstreamed -fixes patch. Add -fenv-access patch to work around a GCC limi

Jerry James jjames at fedoraproject.org
Tue Jun 4 15:52:58 UTC 2013


commit 878d864662cc0cd7ec5eaef93503f4fa46cd9e5f
Author: Jerry James <jamesjer at betterlinux.com>
Date:   Tue Jun 4 09:52:12 2013 -0600

    New upstream release.
    Drop upstreamed -fixes patch.
    Add -fenv-access patch to work around a GCC limitation.

 .gitignore                                         |    2 +-
 ecl-12.12.1-fixes.patch                            |  173 ------------
 ecl-13.5.1-fenv-access.patch                       |   32 +++
 ...atch => ecl-13.5.1-signal_handling_thread.patch |   10 +-
 ...2.1-warnings.patch => ecl-13.5.1-warnings.patch |  277 ++++++++++---------
 ecl.spec                                           |   32 ++-
 sources                                            |    4 +-
 7 files changed, 205 insertions(+), 325 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 4a4fe94..ae74475 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
 /ecl-doc.tar.xz
-/ecl-12.12.1.tgz
+/ecl-13.5.1.tgz
diff --git a/ecl-13.5.1-fenv-access.patch b/ecl-13.5.1-fenv-access.patch
new file mode 100644
index 0000000..d7f51b9
--- /dev/null
+++ b/ecl-13.5.1-fenv-access.patch
@@ -0,0 +1,32 @@
+--- ./src/c/Makefile.in.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/Makefile.in	2013-06-03 15:51:53.999362928 -0600
+@@ -80,6 +80,29 @@ all:	$(DPP) ../libeclmin.a ../cinit.o
+ .d.o: $(DPP)
+ 	if test -f ../CROSS-DPP ; then ../CROSS-DPP $< $@.c ; else $(DPP) $< $@.c ; fi
+ 	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -o $@ $@.c
++# GCC doesn't understand #pragma STDC FENV_ACCESS ON, so we do this instead:
++numbers/atan.o: numbers/atan.c
++	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -frounding-math -o $@ $<
++numbers/cos.o: numbers/cos.c
++	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -frounding-math -o $@ $<
++numbers/cosh.o: numbers/cosh.c
++	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -frounding-math -o $@ $<
++numbers/exp.o: numbers/exp.c
++	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -frounding-math -o $@ $<
++numbers/expt.o: numbers/expt.c
++	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -frounding-math -o $@ $<
++numbers/log.o: numbers/log.c
++	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -frounding-math -o $@ $<
++numbers/sin.o: numbers/sin.c
++	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -frounding-math -o $@ $<
++numbers/sinh.o: numbers/sinh.c
++	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -frounding-math -o $@ $<
++numbers/sqrt.o: numbers/sqrt.c
++	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -frounding-math -o $@ $<
++numbers/tan.o: numbers/tan.c
++	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -frounding-math -o $@ $<
++numbers/tanh.o: numbers/tanh.c
++	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -frounding-math -o $@ $<
+ .c.o:
+ 	$(CC) -DECLDIR="\"@ecldir@\"" $(CFLAGS) -o $@ $<
+ .d.s: $(HFILES)
diff --git a/ecl-12.12.1-signal_handling_thread.patch b/ecl-13.5.1-signal_handling_thread.patch
similarity index 68%
rename from ecl-12.12.1-signal_handling_thread.patch
rename to ecl-13.5.1-signal_handling_thread.patch
index 14693a6..d0fed8b 100644
--- a/ecl-12.12.1-signal_handling_thread.patch
+++ b/ecl-13.5.1-signal_handling_thread.patch
@@ -1,18 +1,18 @@
---- ./src/c/main.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/main.d	2012-12-07 15:35:06.105922908 -0700
+--- ./src/c/main.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/main.d	2013-06-03 14:12:27.438652176 -0600
 @@ -76,7 +76,11 @@ cl_fixnum ecl_option_values[ECL_OPT_LIMI
  	1,		/* ECL_OPT_TRAP_SIGPIPE */
  	1,		/* ECL_OPT_TRAP_SIGCHLD */
  	1,		/* ECL_OPT_TRAP_INTERRUPT_SIGNAL */
 +#ifdef GBC_BOEHM_GENGC
-+	0,		/* ECL_OPT_SIGNAL_HANDLING_THREAD */
++ 	0,		/* ECL_OPT_SIGNAL_HANDLING_THREAD */
 +#else
- 	1,		/* ECL_OPT_SIGNAL_HANDLING_THREAD */
+	1,		/* ECL_OPT_SIGNAL_HANDLING_THREAD */
 +#endif
  	16,		/* ECL_OPT_SIGNAL_QUEUE_SIZE */
  	0,		/* ECL_OPT_BOOTED */
  	8192,		/* ECL_OPT_BIND_STACK_SIZE */
-@@ -506,11 +510,11 @@ cl_boot(int argc, char **argv)
+@@ -502,11 +506,11 @@ cl_boot(int argc, char **argv)
  		return 1;
  	}
  
diff --git a/ecl-12.12.1-warnings.patch b/ecl-13.5.1-warnings.patch
similarity index 65%
rename from ecl-12.12.1-warnings.patch
rename to ecl-13.5.1-warnings.patch
index 60dc704..6a04dfa 100644
--- a/ecl-12.12.1-warnings.patch
+++ b/ecl-13.5.1-warnings.patch
@@ -1,5 +1,37 @@
---- ./src/c/ffi.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/ffi.d	2012-12-07 15:20:00.520398501 -0700
+--- ./src/c/alloc_2.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/alloc_2.d	2013-06-03 13:57:21.502637391 -0600
+@@ -767,8 +767,6 @@ to_bitmap(void *x, void *y)
+ void
+ init_alloc(void)
+ {
+-        union cl_lispunion o;
+-        struct ecl_cons c;
+ 	int i;
+ 	if (alloc_initialized) return;
+ 	alloc_initialized = TRUE;
+--- ./src/c/cinit.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/cinit.d	2013-06-03 13:48:06.000243968 -0600
+@@ -173,6 +173,7 @@ static cl_object si_simple_toplevel ()
+                         ecl_prin1(sentence, output);
+                 }
+         } ECL_CATCH_ALL_END;
++        return ECL_NIL;
+ }
+ 
+ int
+--- ./src/c/compiler.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/compiler.d	2013-06-03 13:49:49.992131142 -0600
+@@ -3081,7 +3081,7 @@ si_valid_function_name_p(cl_object name)
+ cl_object
+ si_make_lambda(cl_object name, cl_object rest)
+ {
+-	cl_object lambda;
++	cl_object lambda = ECL_NIL;
+         const cl_env_ptr the_env = ecl_process_env();
+ 	volatile cl_compiler_env_ptr old_c_env = the_env->c_env;
+ 	struct cl_compiler_env new_c_env;
+--- ./src/c/ffi.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/ffi.d	2013-06-03 13:47:07.536306670 -0600
 @@ -701,7 +701,7 @@ si_load_foreign_module(cl_object filenam
  #if !defined(ENABLE_DLOPEN)
  	FEerror("SI:LOAD-FOREIGN-MODULE does not work when ECL is statically linked", 0);
@@ -9,19 +41,60 @@
  
  # ifdef ECL_THREADS
  	mp_get_lock(1, ecl_symbol_value(@'mp::+load-compile-lock+'));
---- ./src/c/cinit.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/cinit.d	2012-12-07 15:20:27.867319897 -0700
-@@ -149,6 +149,7 @@ static cl_object si_simple_toplevel ()
-                         ecl_prin1(sentence, output);
-                 }
-         } ECL_CATCH_ALL_END;
-+	return ECL_NIL;
- }
- 
- int
---- ./src/c/read.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/read.d	2012-12-07 15:20:48.636254848 -0700
-@@ -2269,7 +2269,7 @@ ecl_init_module(cl_object block, void (*
+--- ./src/c/file.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/file.d	2013-06-03 13:59:26.767502270 -0600
+@@ -1101,7 +1101,7 @@ static int
+ utf_8_encoder(cl_object stream, unsigned char *buffer, ecl_character c)
+ {
+ 	int nbytes;
+-	if (c < 0) {
++	if (c < 0 || c > 0x1FFFFFL) {
+ 		nbytes = 0;
+ 	} else if (c <= 0x7F) {
+ 		buffer[0] = c;
+@@ -1116,7 +1116,7 @@ utf_8_encoder(cl_object stream, unsigned
+ 		buffer[1] = (c & 0x3f) | 0x80; c >>= 6;
+ 		buffer[0] = c | 0xE0;
+ 		nbytes = 3;
+-	} else if (c <= 0x1FFFFFL) {
++	} else {
+ 		buffer[3] = (c & 0x3f) | 0x80; c >>= 6;
+ 		buffer[2] = (c & 0x3f) | 0x80; c >>= 6;
+ 		buffer[1] = (c & 0x3f) | 0x80; c >>= 6;
+@@ -5110,7 +5110,7 @@ ecl_open_stream(cl_object fn, enum ecl_s
+ 		FEerror("Illegal stream mode ~S", 1, ecl_make_fixnum(smm));
+ 	}
+ 	if (flags & ECL_STREAM_C_STREAM) {
+-		FILE *fp;
++		FILE *fp = NULL;
+ 		safe_close(f);
+ 		/* We do not use fdopen() because Windows seems to
+ 		 * have problems with the resulting streams. Furthermore, even for
+--- ./src/c/interpreter.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/interpreter.d	2013-06-03 13:57:53.047602998 -0600
+@@ -273,7 +273,7 @@ ecl_interpret(cl_object frame, cl_object
+         volatile cl_index frame_index = 0;
+ 	cl_opcode *vector = (cl_opcode*)bytecodes->bytecodes.code;
+ 	cl_object *data = bytecodes->bytecodes.data->vector.self.t;
+-	cl_object reg0, reg1, lex_env = env;
++	cl_object reg0 = ECL_NIL, reg1 = ECL_NIL, lex_env = env;
+ 	cl_index narg;
+ 	struct ecl_stack_frame frame_aux;
+ 	volatile struct ecl_ihs_frame ihs;
+--- ./src/c/num_log.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/num_log.d	2013-06-03 13:56:20.670703625 -0600
+@@ -476,7 +476,7 @@ cl_object
+ si_bit_array_op(cl_object o, cl_object x, cl_object y, cl_object r)
+ {
+ 	cl_fixnum i, j, n, d;
+-	cl_object r0;
++	cl_object r0 = ECL_NIL;
+ 	bit_operator op;
+ 	bool replace = FALSE;
+ 	int xi, yi, ri;
+--- ./src/c/read.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/read.d	2013-06-03 13:49:09.984174689 -0600
+@@ -2328,7 +2328,7 @@ ecl_init_module(cl_object block, void (*
  	volatile cl_object x;
  	cl_index i, len, perm_len, temp_len;
  	cl_object in;
@@ -30,20 +103,20 @@
  
  	if (block == NULL)
                  block = ecl_make_codeblock();
---- ./src/c/compiler.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/compiler.d	2012-12-07 15:21:45.907071363 -0700
-@@ -3073,7 +3073,7 @@ si_valid_function_name_p(cl_object name)
- cl_object
- si_make_lambda(cl_object name, cl_object rest)
+--- ./src/c/serialize.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/serialize.d	2013-06-03 13:59:54.822472370 -0600
+@@ -121,7 +121,7 @@ fix_to_ptr(cl_object ptr)
+ static cl_object
+ enqueue(pool_t pool, cl_object what)
  {
--	cl_object lambda;
-+	cl_object lambda = ECL_NIL;
-         const cl_env_ptr the_env = ecl_process_env();
- 	volatile cl_compiler_env_ptr old_c_env = the_env->c_env;
- 	struct cl_compiler_env new_c_env;
---- ./src/c/unixfsys.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/unixfsys.d	2012-12-07 15:23:40.586702719 -0700
-@@ -460,7 +460,6 @@ ecl_file_len(int f)
+-        cl_object record, index;
++        cl_object index;
+         if (ECL_FIXNUMP(what) || ECL_CHARACTERP(what) || what == OBJNULL) {
+                 return what;
+         }
+--- ./src/c/unixfsys.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/unixfsys.d	2013-06-03 13:51:45.424004454 -0600
+@@ -462,7 +462,6 @@ ecl_file_len(int f)
  
  @(defun rename-file (oldn newn &key (if_exists @':error'))
  	cl_object old_filename, new_filename, old_truename, new_truename;
@@ -51,7 +124,7 @@
  @
  
  	/* 1) Get the old filename, and complain if it has wild components,
-@@ -504,6 +503,9 @@ ecl_file_len(int f)
+@@ -506,6 +505,9 @@ ecl_file_len(int f)
                          1, if_exists);
  	}
          {
@@ -61,7 +134,7 @@
                  ecl_disable_interrupts();
  #if defined(ECL_MS_WINDOWS_HOST)
  		error = SetErrorMode(0);
-@@ -664,7 +666,10 @@ ecl_homedir_pathname(cl_object user)
+@@ -666,7 +668,10 @@ ecl_homedir_pathname(cl_object user)
  {
  	cl_index i;
  	cl_object namestring;
@@ -73,19 +146,34 @@
  	if (!Null(user)) {
  #ifdef HAVE_PWD_H
  		struct passwd *pwent = NULL;
---- ./src/c/printer/float_to_digits.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/printer/float_to_digits.d	2012-12-07 15:24:47.690499242 -0700
-@@ -177,7 +177,6 @@ change_precision(float_approx *approx, c
-                 {
-                         cl_object e1 = cl_expt(PRINT_BASE, position);
-                         cl_object e2 = ecl_divide(e1, ecl_make_fixnum(2));
--                        cl_object e3 = cl_expt(PRINT_BASE, k); 
-                         if (ecl_greatereq(ecl_plus(approx->r, ecl_times(approx->s, e1)),
-                                           ecl_times(approx->s, e2)))
-                                 position = ecl_one_minus(position);
---- ./src/c/num_co.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/num_co.d	2012-12-07 15:25:29.618382962 -0700
-@@ -453,7 +453,7 @@ ecl_ceiling2(cl_object x, cl_object y)
+--- src/cmp/cmpwt.lsp.orig	2013-05-27 14:37:36.000000000 -0600
++++ src/cmp/cmpwt.lsp	2013-06-03 14:53:45.012149692 -0600
+@@ -103,10 +103,10 @@
+ 		    (*wt-data-column* 80)
+ 		    (s (with-output-to-string (stream)
+ 			 (wt-filtered-data string stream))))
+-	       (format stream "static const struct ecl_base_string ~A[] = {
++	       (format stream "static const struct ecl_base_string ~A[] = { {
+ 	(int8_t)t_base_string, 0, ecl_aet_bc, 0,
+ 	ECL_NIL, (cl_index)~D, (cl_index)~D,
+-	(ecl_base_char*)~A };~%"
++	(ecl_base_char*)~A } };~%"
+ 		       name *wt-string-size* *wt-string-size* s)
+ 	       name))
+ 	   (output-c-strings (strings stream)
+--- ./src/c/ffi/libraries.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/ffi/libraries.d	2013-06-03 13:55:36.391751747 -0600
+@@ -285,7 +285,6 @@ cl_object
+ ecl_library_open(cl_object filename, bool force_reload) {
+ 	cl_object block;
+ 	bool self_destruct = 0;
+-	char *filename_string;
+ 
+ 	/* Coerces to a file name but does not merge with cwd */
+ 	filename = coerce_to_physical_pathname(filename);
+--- ./src/c/numbers/ceiling.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/numbers/ceiling.d	2013-06-03 13:54:43.263809367 -0600
+@@ -141,7 +141,7 @@ ecl_ceiling2(cl_object x, cl_object y)
  		}
  #endif
  		default:
@@ -94,7 +182,7 @@
  		}
  		break;
  	case t_bignum:
-@@ -499,7 +499,7 @@ ecl_ceiling2(cl_object x, cl_object y)
+@@ -187,7 +187,7 @@ ecl_ceiling2(cl_object x, cl_object y)
  		}
  #endif
  		default:
@@ -103,29 +191,8 @@
  		}
  		break;
  	case t_ratio:
---- ./src/c/ffi/libraries.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/ffi/libraries.d	2012-12-07 15:26:00.442290888 -0700
-@@ -286,7 +286,6 @@ cl_object
- ecl_library_open(cl_object filename, bool force_reload) {
- 	cl_object block;
- 	bool self_destruct = 0;
--	char *filename_string;
- 
- 	/* Coerces to a file name but does not merge with cwd */
- 	filename = coerce_to_physical_pathname(filename);
---- ./src/c/num_log.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/num_log.d	2012-12-07 15:28:35.705820639 -0700
-@@ -476,7 +476,7 @@ cl_object
- si_bit_array_op(cl_object o, cl_object x, cl_object y, cl_object r)
- {
- 	cl_fixnum i, j, n, d;
--	cl_object r0;
-+	cl_object r0 = ECL_NIL;
- 	bit_operator op;
- 	bool replace = FALSE;
- 	int xi, yi, ri;
---- ./src/c/numbers/expt.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/numbers/expt.d	2012-12-07 15:28:59.089752925 -0700
+--- ./src/c/numbers/expt.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/numbers/expt.d	2013-06-03 13:56:43.446678841 -0600
 @@ -81,7 +81,7 @@ expt_zero(cl_object x, cl_object y)
                  return ecl_make_complex(z, ecl_make_fixnum(0));
          default:
@@ -135,70 +202,18 @@
          }
  }
  
---- ./src/c/alloc_2.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/alloc_2.d	2012-12-07 15:29:51.633592866 -0700
-@@ -767,8 +767,6 @@ to_bitmap(void *x, void *y)
- void
- init_alloc(void)
- {
--        union cl_lispunion o;
--        struct ecl_cons c;
- 	int i;
- 	if (alloc_initialized) return;
- 	alloc_initialized = TRUE;
---- ./src/c/interpreter.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/interpreter.d	2012-12-07 15:30:31.985843385 -0700
-@@ -273,7 +273,7 @@ ecl_interpret(cl_object frame, cl_object
-         volatile cl_index frame_index = 0;
- 	cl_opcode *vector = (cl_opcode*)bytecodes->bytecodes.code;
- 	cl_object *data = bytecodes->bytecodes.data->vector.self.t;
--	cl_object reg0, reg1, lex_env = env;
-+	cl_object reg0 = ECL_NIL, reg1 = ECL_NIL, lex_env = env;
- 	cl_index narg;
- 	struct ecl_stack_frame frame_aux;
- 	volatile struct ecl_ihs_frame ihs;
---- ./src/c/file.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/file.d	2012-12-07 15:32:16.257565630 -0700
-@@ -1101,7 +1101,7 @@ static int
- utf_8_encoder(cl_object stream, unsigned char *buffer, ecl_character c)
- {
- 	int nbytes;
--	if (c < 0) {
-+	if (c < 0 || c > 0x1FFFFFL) {
- 		nbytes = 0;
- 	} else if (c <= 0x7F) {
- 		buffer[0] = c;
-@@ -1116,7 +1116,7 @@ utf_8_encoder(cl_object stream, unsigned
- 		buffer[1] = (c & 0x3f) | 0x80; c >>= 6;
- 		buffer[0] = c | 0xE0;
- 		nbytes = 3;
--	} else if (c <= 0x1FFFFFL) {
-+	} else {
- 		buffer[3] = (c & 0x3f) | 0x80; c >>= 6;
- 		buffer[2] = (c & 0x3f) | 0x80; c >>= 6;
- 		buffer[1] = (c & 0x3f) | 0x80; c >>= 6;
-@@ -5110,7 +5110,7 @@ ecl_open_stream(cl_object fn, enum ecl_s
- 		FEerror("Illegal stream mode ~S", 1, ecl_make_fixnum(smm));
- 	}
- 	if (flags & ECL_STREAM_C_STREAM) {
--		FILE *fp;
-+		FILE *fp = NULL;
- 		safe_close(f);
- 		/* We do not use fdopen() because Windows seems to
- 		 * have problems with the resulting streams. Furthermore, even for
---- ./src/c/serialize.d.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/c/serialize.d	2012-12-07 15:32:31.937850413 -0700
-@@ -120,7 +120,7 @@ fix_to_ptr(cl_object ptr)
- static cl_object
- enqueue(pool_t pool, cl_object what)
- {
--        cl_object record, index;
-+        cl_object index;
-         if (ECL_FIXNUMP(what) || ECL_CHARACTERP(what) || what == OBJNULL) {
-                 return what;
-         }
---- ./src/h/ecl-inl.h.orig	2012-12-07 14:01:02.000000000 -0700
-+++ ./src/h/ecl-inl.h	2012-12-07 15:34:05.409879595 -0700
+--- ./src/c/printer/float_to_digits.d.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/c/printer/float_to_digits.d	2013-06-03 13:52:33.311951845 -0600
+@@ -177,7 +177,6 @@ change_precision(float_approx *approx, c
+                 {
+                         cl_object e1 = cl_expt(PRINT_BASE, position);
+                         cl_object e2 = ecl_divide(e1, ecl_make_fixnum(2));
+-                        cl_object e3 = cl_expt(PRINT_BASE, k); 
+                         if (ecl_greatereq(ecl_plus(approx->r, ecl_times(approx->s, e1)),
+                                           ecl_times(approx->s, e2)))
+                                 position = ecl_one_minus(position);
+--- ./src/h/ecl-inl.h.orig	2013-05-27 14:37:36.000000000 -0600
++++ ./src/h/ecl-inl.h	2013-06-03 14:00:36.478427687 -0600
 @@ -73,11 +73,11 @@
                  cl_fixnum padding[(sizeof(struct ecl_base_string)+3)/4*4]; \
          } name[]
diff --git a/ecl.spec b/ecl.spec
index b201926..15a74df 100644
--- a/ecl.spec
+++ b/ecl.spec
@@ -1,6 +1,6 @@
 Name:           ecl
-Version:        12.12.1
-Release:        4%{?dist}
+Version:        13.5.1
+Release:        1%{?dist}
 Summary:        Embeddable Common-Lisp
 
 Group:          Development/Languages
@@ -11,7 +11,7 @@ Source0:        http://downloads.sourceforge.net/ecls/%{name}-%{version}.tgz
 # the manual tarball:
 #   git clone git://ecls.git.sourceforge.net/gitroot/ecls/ecl-doc
 #   cd ecl-doc
-#   git checkout 3af1c1eaec1a3cb590c0ce140f881f48be19995e
+#   git checkout 5d2657b5b32a2b5df701ba1ffa768e3e05816b70
 #   rm -fr .git
 #   cd ..
 #   tar cJf ecl-doc.tar.xz ecl-doc
@@ -23,18 +23,19 @@ Source3:        %{name}.svg
 # This patch was sent upstream on 4 Feb 2012.  It fixes a few warnings
 # from the C compiler that indicate situations that might be dangerous at
 # runtime.
-Patch0:         %{name}-12.12.1-warnings.patch
+Patch0:         %{name}-13.5.1-warnings.patch
 # Do not use a separate thread to handle signals by default if built with
 # boehm-gc support.
 # This prevents a deadlock when building maxima with ecl support in
 # fedora, and should handle by default these problems:
 # http://trac.sagemath.org/sage_trac/ticket/11752
 # http://www.mail-archive.com/ecls-list@lists.sourceforge.net/msg00644.html
-Patch1:         %{name}-12.12.1-signal_handling_thread.patch
-# Bug-fixing patches cherry picked from upstream's git.
-Patch2:         %{name}-12.12.1-fixes.patch
-# Work around xsltproc requiring namespace declarations for entities.
-Patch3:         %{name}-12.12.1-xsltproc.patch
+Patch1:         %{name}-13.5.1-signal_handling_thread.patch
+# Work around xsltproc requiring namespace declarations for entities.  This
+# patch was sent upstream 3 Jun 2013.
+Patch2:         %{name}-12.12.1-xsltproc.patch
+# GCC does not implement support for #pragma STDC FENV_ACCESS
+Patch3:         %{name}-13.5.1-fenv-access.patch
 
 BuildRequires:  libX11-devel
 BuildRequires:  pkgconfig
@@ -73,7 +74,7 @@ Gray streams.
 %setup -q -T -D -a 1
 %patch0
 %patch1
-%patch2 -p1
+%patch2
 %patch3
 
 # Remove spurious executable bits
@@ -88,7 +89,7 @@ find src/h -type f -perm /0111 | xargs chmod a-x
 %ifarch x86_64
   --with-sse \
 %endif
-  CPPFLAGS=`pkg-config --cflags libffi`
+  CPPFLAGS=`pkg-config --cflags libffi` CFLAGS="-std=gnu99 %{optflags}"
 make
 mkdir -p ecl-doc/tmp
 make -C ecl-doc
@@ -146,8 +147,8 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null ||:
 %{_datadir}/applications/ecl.desktop
 %{_datadir}/icons/hicolor/scalable/apps/ecl.svg
 %{_libdir}/ecl*
-%{_libdir}/libecl.so.12.12*
-%{_libdir}/libecl.so.12
+%{_libdir}/libecl.so.13.5*
+%{_libdir}/libecl.so.13
 %{_libdir}/libecl.so
 %{_includedir}/ecl
 %{_mandir}/man1/*
@@ -156,6 +157,11 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null ||:
 
 
 %changelog
+* Mon Jun  3 2013 Jerry James <loganjerry at gmail.com> - 13.5.1-1
+- New upstream release
+- Drop upstreamed -fixes patch
+- Add -fenv-access patch to work around a GCC limitation
+
 * Wed Feb 13 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 12.12.1-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
 
diff --git a/sources b/sources
index 716a84c..c5fdc51 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-014856bdfe265672f9d4b86a060a7aba  ecl-12.12.1.tgz
-f8215ff3dbf7a9896c0e703fda26cb3b  ecl-doc.tar.xz
+f6bb59d9383c51fc94e1c7ca5cf1c586  ecl-13.5.1.tgz
+bcb2158e44ccefe67391ab399a096dcd  ecl-doc.tar.xz


More information about the scm-commits mailing list