[ecl] New upstream release. Add sighandler patch to fix thread-enabled build.
Jerry James
jjames at fedoraproject.org
Wed Aug 8 19:51:58 UTC 2012
commit 5b57319a10a367acaafe5a455693355a8930f068
Author: Jerry James <loganjerry at gmail.com>
Date: Wed Aug 8 13:51:42 2012 -0600
New upstream release.
Add sighandler patch to fix thread-enabled build.
.gitignore | 2 +-
ecl-12.2.1-atomic_ops.patch |16798 --------------------
ecl-12.2.1-warnings.patch | 656 -
ecl-12.7.1-atomic_ops.patch | 52 +
ecl-12.7.1-sighandler.patch | 63 +
...atch => ecl-12.7.1-signal_handling_thread.patch | 10 +-
ecl-12.7.1-warnings.patch | 277 +
ecl.spec | 29 +-
sources | 4 +-
9 files changed, 419 insertions(+), 17472 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index d0a8ac4..f8454d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
/ecl-doc.tar.xz
-/ecl-12.2.1.tgz
+/ecl-12.7.1.tar.gz
diff --git a/ecl-12.7.1-atomic_ops.patch b/ecl-12.7.1-atomic_ops.patch
new file mode 100644
index 0000000..f686764
--- /dev/null
+++ b/ecl-12.7.1-atomic_ops.patch
@@ -0,0 +1,52 @@
+--- ./src/configure.in.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/configure.in 2012-07-27 16:53:23.422951620 -0600
+@@ -722,7 +722,6 @@ if test ! ${opcode8} = "no" ; then
+ fi
+
+ ECL_GCC_BACKTRACE
+-ECL_LIBATOMIC_OPS
+
+ dnl ----------------------------------------------------------------------
+ dnl Lisp library and libecl features
+--- ./src/Makefile.in.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/Makefile.in 2012-07-27 16:53:05.966979669 -0600
+@@ -123,11 +123,8 @@ bin/ecl-config: bin/ecl-config.pre
+ mv @LIBPREFIX at ffi.@LIBEXT@ @LIBPREFIX at eclffi.@LIBEXT@; \
+ fi
+ @LIBPREFIX at eclatomic.@LIBEXT@:
+- if (echo $(SUBDIRS) | grep atomic); then \
+- cd atomic && $(MAKE) && $(MAKE) install && cd .. && \
+- $(RM) -rf share ecl/atomic_ops_stack.h ecl/atomic_ops_malloc.h *atomic*gpl* && \
+- mv @LIBPREFIX at atomic_ops.@LIBEXT@ @LIBPREFIX at eclatomic.@LIBEXT@; \
+- fi
++ cp -p ${libdir}/libatomic_ops.a $@
++ ln -s /usr/include/atomic_ops.h ecl/atomic_ops.h
+ @LIBPREFIX at eclgmp.@LIBEXT@:
+ if (echo $(SUBDIRS) | grep gmp); then \
+ cd gmp && $(MAKE) install && \
+--- ./src/configure.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/configure 2012-07-27 16:55:15.745769285 -0600
+@@ -14248,23 +14248,6 @@ fi
+
+ fi
+
+-
+-if test "x${enable_threads}" != "xno"; then
+- test -d atomic || mkdir atomic
+- (destdir=`${PWDCMD}`; cd atomic && CC="${CC} ${PICFLAG}" \
+- $srcdir/${ECL_GC_DIR}/libatomic*/configure --disable-shared --prefix=${destdir} \
+- --infodir=${destdir}/doc --includedir=${destdir}/ecl --with-pic \
+- --libdir=${destdir} --build=${build_alias} --host=${host_alias} \
+- CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CPPFLAGS="$CPPFLAGS" CC="${CC} \
+- ${PICFLAG}")
+- SUBDIRS="${SUBDIRS} atomic"
+- CORE_LIBS="-leclatomic ${CORE_LIBS}"
+- if test "${enable_shared}" = "no"; then
+- LIBRARIES="${LIBRARIES} ${LIBPREFIX}eclatomic.${LIBEXT}"
+- fi
+-fi
+-
+-
+ if test ${enable_shared} = "yes"; then
+
+ cat >>confdefs.h <<\_ACEOF
diff --git a/ecl-12.7.1-sighandler.patch b/ecl-12.7.1-sighandler.patch
new file mode 100644
index 0000000..a9ae373
--- /dev/null
+++ b/ecl-12.7.1-sighandler.patch
@@ -0,0 +1,63 @@
+--- ./src/c/symbols_list.h.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/symbols_list.h 2012-08-08 13:07:07.920096592 -0600
+@@ -1233,7 +1233,7 @@ cl_symbols[] = {
+ {SYS_ "REPLACE-ARRAY", SI_ORDINARY, si_replace_array, 2, OBJNULL},
+ {SYS_ "ROW-MAJOR-ASET", SI_ORDINARY, si_row_major_aset, 3, OBJNULL},
+ {EXT_ "RUN-PROGRAM", EXT_ORDINARY, si_run_program, -1, OBJNULL},
+-{SYS_ "WAIT-FOR-ALL-PROCESSES", SI_ORDINARY, si_wait_for_all_processes, 0, OBJNULL},
++{SYS_ "WAIT-FOR-ALL-PROCESSES", SI_ORDINARY, si_wait_for_all_processes, -1, OBJNULL},
+ {EXT_ "SAFE-EVAL", EXT_ORDINARY, ECL_NAME(si_safe_eval), -1, OBJNULL},
+ {SYS_ "SCH-FRS-BASE", SI_ORDINARY, si_sch_frs_base, 2, OBJNULL},
+ {SYS_ "SCHAR-SET", SI_ORDINARY, si_char_set, 3, OBJNULL},
+--- ./src/c/unixsys.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/unixsys.d 2012-08-08 13:07:07.921096588 -0600
+@@ -289,8 +289,8 @@ ecl_waitpid(cl_object pid, cl_object wai
+ @(return status code pid)
+ }
+
+-cl_object
+-si_wait_for_all_processes()
++@(defun si::wait-for-all-processes (&key (process ECL_NIL))
++@
+ {
+ const cl_env_ptr env = ecl_process_env();
+ #if defined(SIGCHLD) && !defined(ECL_WINDOWS_HOST)
+@@ -315,6 +315,7 @@ si_wait_for_all_processes()
+ #endif
+ ecl_return0(env);
+ }
++@)
+
+ #if defined(ECL_MS_WINDOWS_HOST) || defined(cygwin)
+ cl_object
+--- ./src/c/unixint.d.orig 2012-08-08 12:44:57.745877433 -0600
++++ ./src/c/unixint.d 2012-08-08 13:07:07.921096588 -0600
+@@ -563,7 +563,7 @@ asynchronous_signal_servicing_thread()
+ }
+ #ifdef SIGCHLD
+ if (signal_thread_msg.signo == SIGCHLD) {
+- si_wait_for_all_processes();
++ si_wait_for_all_processes(0);
+ continue;
+ }
+ #endif
+@@ -1187,7 +1187,7 @@ asynchronous_signal_servicing_thread()
+ #endif
+ #ifdef SIGCHLD
+ if (signo == SIGCHLD) {
+- si_wait_for_all_processes();
++ si_wait_for_all_processes(0);
+ continue;
+ }
+ #endif
+--- ./src/h/internal.h.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/h/internal.h 2012-08-08 13:07:07.922096585 -0600
+@@ -516,7 +516,7 @@ extern cl_object mp_get_rwlock_write_wai
+ extern void ecl_interrupt_process(cl_object process, cl_object function);
+
+ /* unixsys.d */
+-extern cl_object si_wait_for_all_processes();
++extern cl_object si_wait_for_all_processes _ECL_ARGS((cl_narg narg, ...));
+
+ /*
+ * Fake several ISO C99 mathematical functions
diff --git a/ecl-12.2.1-signal_handling_thread.patch b/ecl-12.7.1-signal_handling_thread.patch
similarity index 67%
rename from ecl-12.2.1-signal_handling_thread.patch
rename to ecl-12.7.1-signal_handling_thread.patch
index d9c69c6..8c51786 100644
--- a/ecl-12.2.1-signal_handling_thread.patch
+++ b/ecl-12.7.1-signal_handling_thread.patch
@@ -1,6 +1,6 @@
---- ./src/c/main.d.orig 2012-06-13 10:04:55.038269146 -0600
-+++ ./src/c/main.d 2012-06-13 10:04:59.169264290 -0600
-@@ -76,7 +76,11 @@ static cl_fixnum option_values[ECL_OPT_L
+--- ./src/c/main.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/main.d 2012-07-27 15:43:14.666816529 -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 */
@@ -9,10 +9,10 @@
+#else
1, /* ECL_OPT_SIGNAL_HANDLING_THREAD */
+#endif
- 128, /* ECL_OPT_SIGNAL_QUEUE_SIZE */
+ 16, /* ECL_OPT_SIGNAL_QUEUE_SIZE */
0, /* ECL_OPT_BOOTED */
8192, /* ECL_OPT_BIND_STACK_SIZE */
-@@ -449,11 +453,11 @@ cl_boot(int argc, char **argv)
+@@ -504,11 +508,11 @@ cl_boot(int argc, char **argv)
return 1;
}
diff --git a/ecl-12.7.1-warnings.patch b/ecl-12.7.1-warnings.patch
new file mode 100644
index 0000000..78886cd
--- /dev/null
+++ b/ecl-12.7.1-warnings.patch
@@ -0,0 +1,277 @@
+--- ./src/c/ffi.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/ffi.d 2012-08-08 13:11:51.158046473 -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);
+ #else
+- cl_object output;
++ cl_object output = ECL_NIL;
+
+ # ifdef ECL_THREADS
+ mp_get_lock(1, ecl_symbol_value(@'mp::+load-compile-lock+'));
+--- ./src/c/cinit.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/cinit.d 2012-08-08 13:09:32.569613012 -0600
+@@ -146,6 +146,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-07-24 10:51:53.000000000 -0600
++++ ./src/c/read.d 2012-08-08 13:09:32.570613009 -0600
+@@ -2261,7 +2261,7 @@ ecl_init_module(cl_object block, void (*
+ volatile cl_object x;
+ cl_index i, len, perm_len, temp_len;
+ cl_object in;
+- cl_object *VV, *VVtemp = 0;
++ cl_object *VV = 0, *VVtemp = 0;
+
+ if (block == NULL)
+ block = ecl_make_codeblock();
+--- ./src/c/compiler.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/compiler.d 2012-08-08 13:09:32.572613002 -0600
+@@ -3073,7 +3073,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 = Cnil;
+ 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-07-24 10:51:53.000000000 -0600
++++ ./src/c/unixfsys.d 2012-08-08 13:09:32.573612999 -0600
+@@ -460,7 +460,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;
+- int error;
+ @
+
+ /* 1) Get the old filename, and complain if it has wild components,
+@@ -497,6 +496,9 @@ ecl_file_len(int f)
+ 1, if_exists);
+ }
+ {
++#if defined(ECL_MS_WINDOWS_HOST)
++ int error;
++#endif
+ ecl_disable_interrupts();
+ #if defined(ECL_MS_WINDOWS_HOST)
+ error = SetErrorMode(0);
+@@ -630,7 +632,10 @@ ecl_homedir_pathname(cl_object user)
+ {
+ cl_index i;
+ cl_object namestring;
+- const char *h, *d;
++ const char *h;
++#if defined(ECL_MS_WINDOWS_HOST)
++ const char *d;
++#endif
+ if (!Null(user)) {
+ #ifdef HAVE_PWD_H
+ struct passwd *pwent = NULL;
+--- ./src/c/hash.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/hash.d 2012-08-08 13:09:32.574612996 -0600
+@@ -46,7 +46,7 @@ _hash_eql(cl_hashkey h, cl_object x)
+ h = _hash_eql(h, x->ratio.num);
+ return _hash_eql(h, x->ratio.den);
+ case t_singlefloat:
+- return hash_string(h, (unsigned char*)&ecl_single_float(x), sizeof(ecl_signle_float(x)));
++ return hash_string(h, (unsigned char*)&ecl_single_float(x), sizeof(ecl_single_float(x)));
+ case t_doublefloat:
+ return hash_string(h, (unsigned char*)&ecl_double_float(x), sizeof(ecl_double_float(x)));
+ #ifdef ECL_LONG_FLOAT
+--- ./src/c/printer/float_to_digits.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/printer/float_to_digits.d 2012-08-08 13:09:32.574612996 -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/c/num_co.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/num_co.d 2012-08-08 13:09:32.575612992 -0600
+@@ -453,7 +453,7 @@ ecl_ceiling2(cl_object x, cl_object y)
+ }
+ #endif
+ default:
+- (void)0; /*Never reached */
++ __builtin_unreachable(); /*Never reached */
+ }
+ break;
+ case t_bignum:
+@@ -499,7 +499,7 @@ ecl_ceiling2(cl_object x, cl_object y)
+ }
+ #endif
+ default:
+- (void)0; /*Never reached */
++ __builtin_unreachable(); /*Never reached */
+ }
+ break;
+ case t_ratio:
+--- ./src/c/ffi/libraries.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/ffi/libraries.d 2012-08-08 13:09:32.575612992 -0600
+@@ -299,7 +299,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/unixint.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/unixint.d 2012-08-08 13:09:32.576612988 -0600
+@@ -534,6 +534,8 @@ asynchronous_signal_servicing_thread()
+ interrupt_signal =
+ ecl_option_values[ECL_OPT_THREAD_INTERRUPT_SIGNAL];
+ sigdelset(&handled_set, interrupt_signal);
++ } else {
++ interrupt_signal = -1;
+ }
+ pthread_sigmask(SIG_BLOCK, &handled_set, NULL);
+ }
+@@ -608,7 +610,7 @@ static void
+ handler_fn_prototype(fpe_signal_handler, int sig, siginfo_t *info, void *data)
+ {
+ cl_object condition;
+- int code, old_errno = errno;
++ int code;
+ cl_env_ptr the_env;
+ reinstall_signal(sig, fpe_signal_handler);
+ /* The lisp environment might not be installed. */
+@@ -783,7 +785,6 @@ ecl_check_pending_interrupts(cl_env_ptr
+ static cl_object
+ do_catch_signal(int code, cl_object action, cl_object process)
+ {
+- cl_object code_fixnum = ecl_make_fixnum(code);
+ if (action == ECL_NIL || action == @':ignore') {
+ mysignal(code, SIG_IGN);
+ return ECL_T;
+--- ./src/c/num_log.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/num_log.d 2012-08-08 13:09:32.577612985 -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/numbers/expt.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/numbers/expt.d 2012-08-08 13:09:32.577612985 -0600
+@@ -81,7 +81,7 @@ expt_zero(cl_object x, cl_object y)
+ return ecl_make_complex(z, ecl_make_fixnum(0));
+ default:
+ /* We will never reach this */
+- (void)0;
++ __builtin_unreachable();
+ }
+ }
+
+--- ./src/c/alloc_2.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/alloc_2.d 2012-08-08 13:09:32.578612982 -0600
+@@ -33,6 +33,9 @@
+
+ static void gather_statistics();
+ static void ecl_mark_env(struct cl_env_struct *env);
++extern void GC_push_all(char *bottom, char *top);
++extern void GC_push_conditional(char *bottom, char *top, int all);
++extern void GC_set_mark_bit(const void *p);
+
+ #ifdef GBC_BOEHM_PRECISE
+ # if GBC_BOEHM
+@@ -760,8 +763,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-07-24 10:51:53.000000000 -0600
++++ ./src/c/interpreter.d 2012-08-08 13:09:32.579612979 -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 = OBJNULL, reg1 = OBJNULL, lex_env = env;
+ cl_index narg;
+ struct ecl_stack_frame frame_aux;
+ volatile struct ecl_ihs_frame ihs;
+--- ./src/c/file.d.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/c/file.d 2012-08-08 13:09:32.581612973 -0600
+@@ -1119,6 +1119,8 @@ utf_8_encoder(cl_object stream, unsigned
+ buffer[1] = (c & 0x3f) | 0x80; c >>= 6;
+ buffer[0] = c | 0xF0;
+ nbytes = 4;
++ } else {
++ nbytes = 0;
+ }
+ return nbytes;
+ }
+@@ -5110,7 +5112,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-07-24 10:51:53.000000000 -0600
++++ ./src/c/serialize.d 2012-08-08 13:09:32.581612973 -0600
+@@ -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/legacy.h.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/h/legacy.h 2012-08-08 13:13:29.205633962 -0600
+@@ -120,7 +120,7 @@
+
+ #define number_to_float(x) ((float)ecl_to_double(x))
+
+-#define ecl_make_unsigned_long_Long(o) ecl_make_ulong_long(o)
++#define ecl_make_unsigned_long_Long(o) ecl_make_ulong_Long(o)
+ #define ecl_to_unsigned_long_long(o) ecl_to_ulong_long(o)
+
+ #define ADIMLIM ECL_ARRAY_DIMENSION_LIMIT
+--- ./src/h/ecl-inl.h.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/h/ecl-inl.h 2012-08-08 13:09:32.582612969 -0600
+@@ -73,11 +73,11 @@
+ cl_fixnum padding[(sizeof(struct ecl_base_string)+3)/4*4]; \
+ } name[]
+
+-#define ecl_def_string_array_elt(chars) { \
++#define ecl_def_string_array_elt(chars) { { \
+ (int8_t)t_base_string, 0, ecl_aet_bc, 0, \
+ ECL_NIL, (cl_index)(sizeof(chars))-1, \
+ (cl_index)(sizeof(chars))-1, \
+- (ecl_base_char*)(chars) }
++ (ecl_base_char*)(chars) } }
+
+ #define ecl_def_ct_base_string(name,chars,len,static,const) \
+ static const struct ecl_base_string name ## _data = { \
+--- ./src/h/external.h.orig 2012-07-24 10:51:53.000000000 -0600
++++ ./src/h/external.h 2012-08-08 13:13:14.485702638 -0600
+@@ -1101,7 +1101,7 @@ extern ECL_API cl_object ecl_make_int64_
+ #ifdef ecl_long_long_t
+ extern ECL_API ecl_ulong_long_t ecl_to_ulong_Long(cl_object p);
+ extern ECL_API ecl_long_long_t ecl_to_long_long(cl_object p);
+-extern ECL_API cl_object ecl_make_ulong_long(ecl_ulong_long_t i);
++extern ECL_API cl_object ecl_make_ulong_Long(ecl_ulong_long_t i);
+ extern ECL_API cl_object ecl_make_long_long(ecl_long_long_t i);
+ #endif /* ecl_long_long_t */
+
diff --git a/ecl.spec b/ecl.spec
index 72c085c..7cbb50f 100644
--- a/ecl.spec
+++ b/ecl.spec
@@ -1,21 +1,20 @@
Name: ecl
-Version: 12.2.1
-Release: 5%{?dist}
+Version: 12.7.1
+Release: 1%{?dist}
Summary: Embeddable Common-Lisp
Group: Development/Languages
License: LGPLv2+ and BSD and MIT and Public Domain
URL: http://ecls.sourceforge.net/
-Source0: http://downloads.sourceforge.net/ecls/%{name}-%{version}.tgz
+Source0: http://downloads.sourceforge.net/ecls/%{name}-%{version}.tar.gz
# The manual has not yet been released. Use the following commands to generate
# the manual tarball:
# git clone git://ecls.git.sourceforge.net/gitroot/ecls/ecl-doc
# cd ecl-doc
-# git checkout 04798a28d55c5ec096af5976f0ceef663f4d717b
+# git checkout 5d2657b5b32a2b5df701ba1ffa768e3e05816b70
# rm -fr .git
# cd ..
-# tar cf ecl-doc.tar ecl-doc
-# xz ecl-doc.tar
+# tar cJf ecl-doc.tar.xz ecl-doc
Source1: %{name}-doc.tar.xz
Source2: %{name}.desktop
# A modified version of src/util/ecl.svg with extra whitespace removed. The
@@ -23,18 +22,21 @@ Source2: %{name}.desktop
Source3: %{name}.svg
# This patch is Fedora-specific; it will not be sent upstream. It avoids
# building libatomic_ops from source.
-Patch0: %{name}-12.2.1-atomic_ops.patch
+Patch0: %{name}-12.7.1-atomic_ops.patch
# 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.
-Patch1: %{name}-12.2.1-warnings.patch
+Patch1: %{name}-12.7.1-warnings.patch
# Do not use a separate thread to handle signals by default if built with
# bohem-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
-Patch2: %{name}-12.2.1-signal_handling_thread.patch
+Patch2: %{name}-12.7.1-signal_handling_thread.patch
+# Sent upstream 8 Aug 2012. Fix a signal handler interface that does not
+# conform to the required interface.
+Patch3: %{name}-12.7.1-sighandler.patch
BuildRequires: libX11-devel
BuildRequires: pkgconfig
@@ -73,6 +75,7 @@ Gray streams.
%patch0
%patch1
%patch2
+%patch3
# Remove spurious executable bits
chmod a-x src/CHANGELOG
@@ -88,7 +91,9 @@ find src/h -type f -perm /0111 | xargs chmod a-x
%endif
CPPFLAGS=`pkg-config --cflags libffi`
make
+mkdir -p ecl-doc/tmp
make -C ecl-doc
+rm ecl-doc/html/ecl2.proc
%install
@@ -146,10 +151,14 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null ||:
%{_includedir}/ecl
%{_mandir}/man1/*
%doc ANNOUNCEMENT Copyright LGPL examples src/CHANGELOG
-%doc ecl-doc/ecl.css ecl-doc/html src/doc/amop.txt src/doc/types-and-classes
+%doc ecl-doc/html src/doc/amop.txt src/doc/types-and-classes
%changelog
+* Wed Aug 8 2012 Jerry James <loganjerry at gmail.com> - 12.7.1-1
+- New upstream release
+- Add sighandler patch to fix thread-enabled build
+
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 12.2.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
diff --git a/sources b/sources
index 3c0d520..b2caef8 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-1a54b733e7cd07af2b1cb6d7f8b716d2 ecl-12.2.1.tgz
-e50473e1fa75a2475aff5f4423dbe228 ecl-doc.tar.xz
+ce8dd2136fbbc74e44a1c41b32db1f3c ecl-12.7.1.tar.gz
+1eb2e041f59852dc3adb4db457564e6c ecl-doc.tar.xz
More information about the scm-commits
mailing list