The package rpms/clisp.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/clisp.git/commit/?id=6043f8d9a2276e2....
Change: +ExcludeArch: s390x
Thanks.
Full change: ============
commit 6043f8d9a2276e24767cef7f49a9aeea553ca0b3 Author: Tom Callaway spot@fedoraproject.org Date: Mon Feb 26 12:32:08 2018 -0500
update to latest in mercurial (lots of fixes), re-enable ppc64, aarch64, disable s390x
diff --git a/.gitignore b/.gitignore index 0e4ff61..9d565cf 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /clisp-2.49-20161111hg.tar.xz /clisp-2.49-20161113hg.tar.xz /clisp-2.49-20170224hg.tar.xz +/clisp-2.49.93-20180224hg.tar.xz diff --git a/clisp-alias.patch b/clisp-alias.patch index ed7913c..9619989 100644 --- a/clisp-alias.patch +++ b/clisp-alias.patch @@ -1,11 +1,12 @@ ---- src/record.d.orig 2017-02-24 10:42:57.482011489 -0700 -+++ src/record.d 2017-02-24 10:52:21.862184109 -0700 -@@ -1540,7 +1540,7 @@ global maygc object update_instance (obj - ptr->inst_class_version = obj; - clr_break_sem_1(); /* permit interrupts again */ - } -- ASSERT(Record_flags(STACK_(2+4+2*kept_slots)) & instflags_forwarded_B); -+ ASSERT(record_flags(TheInstance(STACK_(2+4+2*kept_slots))) & instflags_forwarded_B); - dotimesL(kept_slots,kept_slots, { - var object new_slotinfo = popSTACK(); - ASSERT(atomp(new_slotinfo)); +diff -up clisp-2.49.93/src/record.d.alias clisp-2.49.93/src/record.d +--- clisp-2.49.93/src/record.d.alias 2018-02-26 11:40:53.668845947 -0500 ++++ clisp-2.49.93/src/record.d 2018-02-26 11:41:22.225164509 -0500 +@@ -1539,7 +1539,7 @@ global maygc object update_instance (obj + ptr->inst_class_version = obj; + clr_break_sem_1(); /* permit interrupts again */ + } +- ASSERT(Record_flags(STACK_(2+4+2*kept_slots)) & instflags_forwarded_B); ++ ASSERT(record_flags(TheInstance(STACK_(2+4+2*kept_slots))) & instflags_forwarded_B); + dotimesL(kept_slots,kept_slots, { + var object new_slotinfo = popSTACK(); + ASSERT(atomp(new_slotinfo)); diff --git a/clisp-negshift.patch b/clisp-negshift.patch index 65f8576..8a1123f 100644 --- a/clisp-negshift.patch +++ b/clisp-negshift.patch @@ -1,5 +1,6 @@ ---- src/aridecl.d.orig 2017-02-24 10:37:24.000000000 -0700 -+++ src/aridecl.d 2017-02-24 10:43:07.072929454 -0700 +diff -up clisp-2.49.93/src/aridecl.d.negshift clisp-2.49.93/src/aridecl.d +--- clisp-2.49.93/src/aridecl.d.negshift 2018-02-26 11:22:55.000000000 -0500 ++++ clisp-2.49.93/src/aridecl.d 2018-02-26 11:37:34.006610477 -0500 @@ -163,9 +163,9 @@ /* Creates a single float from sign (0 or -1), exponent and mantissa: */ #define make_FF(sign,exp,mant) \ @@ -13,9 +14,10 @@ /* Single Float 0.0 : */ #define FF_0 make_FF(0,0,0) /* Single Float 1.0 : */ ---- src/lispbibl.d.orig 2017-02-24 10:42:57.481011497 -0700 -+++ src/lispbibl.d 2017-02-24 10:43:07.078929402 -0700 -@@ -1203,9 +1203,9 @@ typedef signed int signean; +diff -up clisp-2.49.93/src/lispbibl.d.negshift clisp-2.49.93/src/lispbibl.d +--- clisp-2.49.93/src/lispbibl.d.negshift 2018-02-26 11:37:33.998610668 -0500 ++++ clisp-2.49.93/src/lispbibl.d 2018-02-26 11:37:34.008610429 -0500 +@@ -1360,9 +1360,9 @@ typedef signed int signean; #endif #endif /* Minus bit number n (0<=n<32) */ @@ -27,7 +29,7 @@ %% export_def(bit(n)); %% #if notused %% export_def(bitm(n)); -@@ -3029,7 +3029,7 @@ typedef signed_int_with_n_bits(intVsize) +@@ -5488,7 +5488,7 @@ typedef signed_int_with_n_bits(intVsize) #define vbit(n) (LL(1)<<(n)) #define vbitm(n) (LL(2)<<((n)-1)) #define vbit_test(x,n) ((x) & vbit(n)) @@ -36,7 +38,7 @@ #else #define vbit bit #define vbitm bitm -@@ -5363,7 +5363,7 @@ typedef unsigned_int_with_n_bits(char_in +@@ -8060,7 +8060,7 @@ typedef unsigned_int_with_n_bits(char_in
delta: a constant
< result: incremented fixnum */ #define fixnum_inc(obj,delta) \ @@ -45,8 +47,9 @@ %% export_def(fixnum_inc(obj,delta));
/* posfixnum(x) is a fixnum with value x>=0. */ ---- src/spvw_gcmark.d.orig 2017-02-24 10:37:24.000000000 -0700 -+++ src/spvw_gcmark.d 2017-02-24 10:43:07.078929402 -0700 +diff -up clisp-2.49.93/src/spvw_gcmark.d.negshift clisp-2.49.93/src/spvw_gcmark.d +--- clisp-2.49.93/src/spvw_gcmark.d.negshift 2018-02-26 11:22:55.000000000 -0500 ++++ clisp-2.49.93/src/spvw_gcmark.d 2018-02-26 11:38:05.018870433 -0500 @@ -43,7 +43,7 @@ local void gc_mark (object obj) goto down; /* and descent */ \ } @@ -100,7 +103,7 @@ + { curr = objectplus(pred,((oint)-(soint)offsetofa(record_,recdata))<<(oint_addr_shift-addr_shift)); /* record becomes current object */ \ pred = prepred; goto up; /* go further up */ \ } - #ifdef STANDARD_HEAPCODES + #ifdef ONE_FREE_BIT_HEAPCODES @@ -348,7 +348,7 @@ local void gc_mark (object obj) curr = currently marked object, store in *pred */ var object prepred = *(gcv_object_t*)ThePointer(pred); /* old predecessor */ diff --git a/clisp-volatile.patch b/clisp-volatile.patch index 79a857e..dc9f005 100644 --- a/clisp-volatile.patch +++ b/clisp-volatile.patch @@ -1,6 +1,7 @@ ---- src/control.d.orig 2017-02-24 10:37:24.000000000 -0700 -+++ src/control.d 2017-02-24 10:42:57.475011548 -0700 -@@ -1591,7 +1591,7 @@ LISPFUN(maplap,seclass_default,2,0,rest, +diff -up clisp-2.49.93/src/control.d.volatile clisp-2.49.93/src/control.d +--- clisp-2.49.93/src/control.d.volatile 2018-02-26 11:22:55.000000000 -0500 ++++ clisp-2.49.93/src/control.d 2018-02-26 11:31:38.737088256 -0500 +@@ -1602,7 +1602,7 @@ LISPFUN(maplap,seclass_default,2,0,rest,
LISPSPECFORM(tagbody, 0,0,body) { /* (TAGBODY {tag | statement}), CLTL p. 130 */ @@ -9,9 +10,10 @@ { /* build GENV-frame: */ var gcv_object_t* top_of_frame = STACK; /* pointer to frame */ pushSTACK(aktenv.go_env); ---- src/eval.d.orig 2017-02-24 10:37:24.000000000 -0700 -+++ src/eval.d 2017-02-24 10:42:57.479011514 -0700 -@@ -710,10 +710,10 @@ global void throw_to (object tag) { +diff -up clisp-2.49.93/src/eval.d.volatile clisp-2.49.93/src/eval.d +--- clisp-2.49.93/src/eval.d.volatile 2018-02-26 11:22:55.000000000 -0500 ++++ clisp-2.49.93/src/eval.d 2018-02-26 11:32:25.995960520 -0500 +@@ -708,10 +708,10 @@ global void throw_to (object tag) { global maygc void invoke_handlers (object cond) { /* Also deactivates the handler being called, and all newer handlers. the handler-ranges, which are screened off: */ @@ -24,8 +26,8 @@ while (1) { /* search in Stack starting at FRAME for a suitable HANDLER-Frame: */ if (!(other_ranges == NULL) && (FRAME == other_ranges->low_limit)) { -@@ -726,7 +726,7 @@ global maygc void invoke_handlers (objec - if (framecode(FRAME_(0)) == HANDLER_frame_info) { /* Handler-Frame? */ +@@ -725,7 +725,7 @@ global maygc void invoke_handlers (objec + if (frame_info == HANDLER_frame_info || frame_info == C_HANDLER_frame_info) { /* Handler-Frame? */ /* loop over types of the vectors #(type1 label1 ... typem labelm): */ var uintL m2 = Svector_length(Car(FRAME_(frame_handlers))); /* 2*m */ - var uintL i = 0; @@ -33,7 +35,7 @@ do { pushSTACK(cond); /* save cond */ pushSTACK(cond); -@@ -2398,7 +2398,7 @@ local maygc void trace_call (object fun, +@@ -2432,7 +2432,7 @@ local maygc void trace_call (object fun, /* But ':ALLOW-OTHER-KEYS NIL' hides a subsequent ':ALLOW-OTHER-KEYS T' \ (see CLHS 3.4.1.4.1.1). */ \ var bool allow_hidden = false; /* true if seen ':ALLOW-OTHER-KEYS NIL' */ \ @@ -42,7 +44,7 @@ while (check_count--) { \ var object kw = NEXT(argptr); /* next Argument */ \ var object val = NEXT(argptr); /* and value for it */ \ -@@ -2441,7 +2441,7 @@ local maygc void trace_call (object fun, +@@ -2475,7 +2475,7 @@ local maygc void trace_call (object fun,
found_statement: what is to be done, if value found */
#define find_keyword_value(notfound_statement,found_statement) \ { var gcv_object_t* argptr = rest_args_pointer; \ @@ -51,7 +53,7 @@ dotimesC(find_count,argcount, { \ if (eq(NEXT(argptr),keyword)) goto kw_found; /* right keyword? */ \ argptr skipSTACKop -1; /* NEXT */ \ -@@ -2460,8 +2460,9 @@ local maygc void trace_call (object fun, +@@ -2494,8 +2494,9 @@ local maygc void trace_call (object fun, < mv_count/mv_space: values < STACK: cleaned up, = args_pointer can trigger GC */ @@ -63,7 +65,7 @@ { /* 1st step: finish building of APPLY-frame: */ var sp_jmp_buf my_jmp_buf; -@@ -2649,7 +2650,7 @@ local maygc Values funcall_iclosure (obj +@@ -2683,7 +2684,7 @@ local maygc Values funcall_iclosure (obj pushSTACK(NIL); /* start of list */ if (argcount>0) { var gcv_object_t* ptr = args_pointer STACKop -(uintP)argcount; @@ -72,7 +74,7 @@ dotimespC(count,argcount, { var object new_cons = allocate_cons(); Car(new_cons) = BEFORE(ptr); -@@ -2664,7 +2665,7 @@ local maygc Values funcall_iclosure (obj +@@ -2698,7 +2699,7 @@ local maygc Values funcall_iclosure (obj /* process &KEY-parameters: */ if (!numberp(TheIclosure(closure)->clos_keywords)) { /* Keyword-parameters present */ @@ -81,7 +83,7 @@ /* argcount = number of remaining arguments */ /* halve argcount --> number of pairs Key.Value: */ if (argcount%2) { /* number was odd -> not paired: */ -@@ -2936,7 +2937,7 @@ local Values eval_ffunction (object fun) +@@ -2970,7 +2971,7 @@ local Values eval_ffunction (object fun)
form: form
< mv_count/mv_space: values can trigger GC */ @@ -90,7 +92,7 @@ { start: /* Test for Keyboard-Interrupt: */ -@@ -2991,7 +2992,7 @@ modexp maygc Values eval (object form) +@@ -3025,7 +3026,7 @@ modexp maygc Values eval (object form)
form: Form
< mv_count/mv_space: values can trigger GC */ @@ -99,7 +101,7 @@ var sp_jmp_buf my_jmp_buf; /* build EVAL-Frame: */ { -@@ -5734,7 +5735,8 @@ local maygc Values funcall_closure (obje +@@ -5769,7 +5770,8 @@ local maygc Values funcall_closure (obje #define GOTO_ERROR(label) goto label #define DEBUG_CHECK_BYTEPTR(b) do{}while(0) #endif @@ -109,7 +111,7 @@ const uintB* byteptr_in) { GCTRIGGER_IF(true, { -@@ -5763,7 +5765,7 @@ local /*maygc*/ Values interpret_bytecod +@@ -5798,7 +5800,7 @@ local /*maygc*/ Values interpret_bytecod #endif TRACE_CALL(closure,'B','C'); /* situate closure in STACK, below the arguments: */ @@ -118,9 +120,10 @@ #ifndef FAST_SP /* If there is no fast SP-Access, one has to introduce an extra pointer: */ ---- src/lispbibl.d.orig 2017-02-24 10:41:33.223732185 -0700 -+++ src/lispbibl.d 2017-02-24 10:42:57.481011497 -0700 -@@ -9103,7 +9103,7 @@ All other long words on the LISP-Stack a +diff -up clisp-2.49.93/src/lispbibl.d.volatile clisp-2.49.93/src/lispbibl.d +--- clisp-2.49.93/src/lispbibl.d.volatile 2018-02-26 11:22:55.000000000 -0500 ++++ clisp-2.49.93/src/lispbibl.d 2018-02-26 11:31:38.742088137 -0500 +@@ -11836,7 +11836,7 @@ All other long words on the LISP-Stack a #define FAST_SP #endif #elif defined(GNU) && defined(SP_register) @@ -129,8 +132,9 @@ #ifdef SPARC64 #define SP() (__SP+2048) #else ---- src/record.d.orig 2017-02-24 10:37:24.000000000 -0700 -+++ src/record.d 2017-02-24 10:42:57.482011489 -0700 +diff -up clisp-2.49.93/src/record.d.volatile clisp-2.49.93/src/record.d +--- clisp-2.49.93/src/record.d.volatile 2018-02-26 11:22:56.000000000 -0500 ++++ clisp-2.49.93/src/record.d 2018-02-26 11:31:38.743088113 -0500 @@ -1406,7 +1406,7 @@ LISPFUNNR(punbound,0) { /* not Foldable
obj: the same CLOS instance, not a forward pointer
< result: the same CLOS instance, not a forward pointer @@ -140,9 +144,10 @@ /* Note about the handling of multiple consecutive class redefinitions: When there are multiple class redefinitions before an instance gets to be updated, we call UPDATE-INSTANCE-FOR-REDEFINED-CLASS once for each ---- src/spvw.d.orig 2017-02-24 10:37:24.000000000 -0700 -+++ src/spvw.d 2017-02-24 10:42:57.482011489 -0700 -@@ -3466,7 +3466,7 @@ local inline void main_actions (struct a +diff -up clisp-2.49.93/src/spvw.d.volatile clisp-2.49.93/src/spvw.d +--- clisp-2.49.93/src/spvw.d.volatile 2018-02-26 11:22:55.000000000 -0500 ++++ clisp-2.49.93/src/spvw.d 2018-02-26 11:31:38.743088113 -0500 +@@ -3888,7 +3888,7 @@ local inline void main_actions (struct a var gcv_object_t* top_of_frame = STACK; /* pointer over frame */ var sp_jmp_buf returner; /* return point */ var const char* const* fileptr = &p->argv_init_files[0]; @@ -151,7 +156,7 @@ finish_entry_frame(DRIVER,returner,,goto done_driver_init_files;); do { pushSTACK(asciz_to_string(*fileptr++,O(misc_encoding))); -@@ -3484,8 +3484,8 @@ local inline void main_actions (struct a +@@ -3906,8 +3906,8 @@ local inline void main_actions (struct a if (p->argv_compile_filecount > 0) { var gcv_object_t* top_of_frame = STACK; /* pointer over frame */ var sp_jmp_buf returner; /* return point */ @@ -162,9 +167,10 @@ finish_entry_frame(DRIVER,returner,,goto done_driver_compile_files;); do { var uintC argcount = 1; ---- src/stream.d.orig 2017-02-24 10:37:24.000000000 -0700 -+++ src/stream.d 2017-02-24 10:42:57.484011471 -0700 -@@ -5839,7 +5839,7 @@ local maygc void clear_output_unbuffered +diff -up clisp-2.49.93/src/stream.d.volatile clisp-2.49.93/src/stream.d +--- clisp-2.49.93/src/stream.d.volatile 2018-02-26 11:22:56.000000000 -0500 ++++ clisp-2.49.93/src/stream.d 2018-02-26 11:31:38.746088041 -0500 +@@ -5875,7 +5875,7 @@ local maygc void clear_output_unbuffered close_ochannel(stream, abort);
stream : Channel-Stream abort: flag: non-0 => ignore errors */
@@ -173,7 +179,7 @@ pushSTACK(stream); MAYBE_IGNORE_ERRORS(abort,oconv_unshift_output_unbuffered(stream)); stream = STACK_0; -@@ -8325,7 +8325,7 @@ local void closed_buffered (object strea +@@ -8358,7 +8358,7 @@ local void closed_buffered (object strea
stream : File-Stream. abort: flag: non-0 => ignore errors
changed in stream: all Components except name and truename */ @@ -182,7 +188,7 @@ /* Handle=NIL (Stream already closed) -> finished: */ if (nullp(BufferedStream_channel(stream))) return; -@@ -9310,7 +9310,7 @@ local maygc char** lisp_completion (char +@@ -9326,7 +9326,7 @@ local maygc char** lisp_completion (char } sstring_un_realloc(m); var uintL charcount = Sstring_length(m); diff --git a/clisp.spec b/clisp.spec index 11aab3a..24be39d 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,26 +1,25 @@ # Mercurial snapshot -%global hgver 20170224hg +%global hgver 20180224hg
Name: clisp Summary: ANSI Common Lisp implementation -Version: 2.49 -Release: 27.%{hgver}%{?dist} - +Version: 2.49.93 +Release: 0.1.%{hgver}%{?dist} License: GPLv2 URL: http://www.clisp.org/ # The source for this package was pulled from upstream's mercurial repository. # Use the following commands to generate the tarball: -# hg clone -u cf1453aed337 http://hg.code.sf.net/p/clisp/clisp clisp-2.49 -# rm -fr clisp-2.49/.hg* -# tar cvJf clisp-2.49-20170224hg.tar.xz clisp-2.49 +# hg clone -u b55b8196c9f2 http://hg.code.sf.net/p/clisp/clisp clisp-2.49.93 +# rm -fr clisp-2.49.93/.hg* +# tar cvJf clisp-2.49.93-20180224hg.tar.xz clisp-2.49.93 Source0: %{name}-%{version}-%{hgver}.tar.xz #Source0: http://downloads.sourceforge.net/clisp/%%%7Bname%7D-%%%7Bversion%7D.tar.bz2 # http://sourceforge.net/tracker/?func=detail&aid=3529607&group_id=135... -Patch0: %{name}-format.patch +# Patch0: %%{name}-format.patch # http://sourceforge.net/tracker/?func=detail&aid=3529615&group_id=135... -Patch1: %{name}-arm.patch +# Patch1: %%{name}-arm.patch # http://sourceforge.net/tracker/?func=detail&aid=3572511&group_id=135... -Patch2: %{name}-libsvm.patch +# Patch2: %%{name}-libsvm.patch # http://sourceforge.net/tracker/?func=detail&aid=3572516&group_id=135... Patch3: %{name}-db.patch # Linux-specific fixes. Sent upstream 25 Jul 2012. @@ -54,8 +53,11 @@ BuildRequires: pcre-devel BuildRequires: postgresql-devel BuildRequires: zlib-devel
-# See Red Hat bugs 238954 (ppc64) and 925155 (aarch64) -ExcludeArch: %{power64} aarch64 +# 2018-02-26 +# On s390x, it builds, but does not run properly: +# ./lisp.run -B . -N locale -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -m 2MW -lp ../src/ -x '(and (load "../src/init.lisp") (sys::%saveinitmem) (ext::exit)) (ext::exit t)' +# *** stack smashing detected ***: <unknown> terminated +ExcludeArch: s390x
Requires: emacs-filesystem Requires: vim-filesystem @@ -98,14 +100,14 @@ Files necessary for linking CLISP programs.
%prep %setup -q -%patch0 -%patch1 -%patch2 +# %%patch0 +# %%patch1 +# %%patch2 %patch3 %patch4 -%patch5 -%patch6 -%patch7 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1
# Convince CLisp to build against compat-readline5 instead of readline. # This is to avoid pulling the GPLv3 readline 6 into a GPLv2 CLisp binary. @@ -175,7 +177,7 @@ ulimit -s unlimited --with-module=zlib \ --with-libreadline-prefix=$PWD/readline \ --with-ffcall \ - --cbc \ + --cbcx \ build \ %ifarch ppc %{power64} CPPFLAGS="-DNO_GENERATIONAL_GC -DNO_MULTIMAP_FILE -DNO_SINGLEMAP -I/usr/include/readline5 -I/usr/include/libsvm" \ @@ -423,6 +425,11 @@ ln -s ../../src/modules.c build/full/modules.c
%changelog +* Mon Feb 26 2018 Tom Callaway spot@fedoraproject.org - 2.49.93-0.1.20180224hg +- update to latest in mercurial (lots of fixes) +- re-enable ppc64, aarch64 +- disable s390x (builds, but does not run properly) + * Wed Feb 07 2018 Fedora Release Engineering releng@fedoraproject.org - 2.49-27.20170224hg - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
diff --git a/sources b/sources index 5166d1a..6363fb5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-2.49-20170224hg.tar.xz) = e5ebccc48254ce82e707d9bf1e4f8f6711502bb541aa9958e25e1ced5a2aae286071adefbe2969018402e29056d49887a3dc36df7542cffffa05f1bc84b59d07 +SHA512 (clisp-2.49.93-20180224hg.tar.xz) = 61465a5b148b2bbea431407d41c00bbaaa473e01e5d29e2218421222b829ee8f1d9b91b3609af1d4a8b90f953dee5891379072a677251dc1fbead87065a02770
arch-excludes@lists.fedoraproject.org