From f262f17365b15806655a7adb68e744cb9c255818 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Jan 10 2023 21:53:01 +0000 Subject: Version 4.5a-1. - Drop upstreamed patches: emacs28, bde-bmem-c99. - Minor spec file cleanups. --- diff --git a/bigloo-bde-bmem-c99.patch b/bigloo-bde-bmem-c99.patch deleted file mode 100644 index 3feec1a..0000000 --- a/bigloo-bde-bmem-c99.patch +++ /dev/null @@ -1,28 +0,0 @@ -This patch is an actual bug fix because the implicit declarations in -bde/bmem/lib/mem.c to these functions refer to functions, not function -pointers, so it's not clear how this could have ever worked. - -Upstream fixed this differently, by rewriting the code: - -commit d315487d6a97ef7b4483e919d1823a408337bd07 -Author: Manuel Serrano -Date: Sun Dec 5 10:31:57 2021 +0100 - - New bmem memory profiler - -diff -ur bde/bmem/lib/bmem.h bde/bmem/lib/bmem.h ---- bde/bmem/lib/bmem.h 2022-01-04 08:38:56.000000000 +0100 -+++ bmem/lib/bmem.h 2022-12-09 19:41:33.804588236 +0100 -@@ -123,6 +123,12 @@ - extern void *(*____string_to_llong)( char * ); - extern void *(*____string_to_elong)( char * ); - -+extern void *(*____create_vector)( int ); -+extern void *(*____create_vector_uncollectable)( int ); -+ -+extern void *(*____make_fx_procedure)( void *(*)(), int, int ); -+extern void *(*____make_va_procedure)( void *(*)(), int, int ); -+ - extern void *(*____bgl_make_output_port)( void *, bgl_stream_t, int, void *, void *, ssize_t (*)(), long (*)(), int (*)() ); - - extern void *(*____bgl_output_port_timeout_set)( void *, long ); diff --git a/bigloo-emacs28.patch b/bigloo-emacs28.patch deleted file mode 100644 index c3af03a..0000000 --- a/bigloo-emacs28.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- autoconf/emacsbrand.orig 2022-01-04 00:38:56.000000000 -0700 -+++ autoconf/emacsbrand 2022-07-18 16:27:26.957881516 -0600 -@@ -35,6 +35,7 @@ done - #* The autodetection ELisp expression */ - #*---------------------------------------------------------------------*/ - expr="(cond \ -+ ((string-match \"GNU Emacs 28\" (emacs-version)) (kill-emacs 28)) \ - ((string-match \"GNU Emacs 27\" (emacs-version)) (kill-emacs 27)) \ - ((string-match \"GNU Emacs 26\" (emacs-version)) (kill-emacs 26)) \ - ((string-match \"GNU Emacs 25\" (emacs-version)) (kill-emacs 25)) \ -@@ -74,6 +75,10 @@ else - else - if [ "$version" = "27" ]; then - echo "emacs27" -+ else -+ if [ "$version" = "28" ]; then -+ echo "emacs28" -+ fi - fi - fi - fi ---- bmacs/Makefile.orig 2022-01-04 00:38:56.000000000 -0700 -+++ bmacs/Makefile 2022-07-18 16:28:00.717964114 -0600 -@@ -116,7 +116,7 @@ POPULATION = Makefile README $(EMACS_SOU - #*---------------------------------------------------------------------*/ - all: $(EMACSBRAND) - --emacs22 emacs23 emacs24 emacs25 emacs26 emacs27: -+emacs22 emacs23 emacs24 emacs25 emacs26 emacs27 emacs28: - (expr=load-path; \ - for p in . $(LOADPATH); do \ - expr="(cons \"../$$p\" (cons \"$$p\" $$expr))"; \ -@@ -183,6 +183,7 @@ install.emacs24: doinstall - install.emacs25: doinstall - install.emacs26: doinstall - install.emacs27: doinstall -+install.emacs28: doinstall - install.xemacs: doinstall - - install.generic: diff --git a/bigloo-javac.patch b/bigloo-javac.patch index d39f6b4..6aaaba7 100644 --- a/bigloo-javac.patch +++ b/bigloo-javac.patch @@ -1,6 +1,6 @@ ---- api/ssl/src/Makefile.orig 2021-12-02 23:37:12.000000000 -0700 -+++ api/ssl/src/Makefile 2021-12-28 15:36:07.461590750 -0700 -@@ -192,19 +192,8 @@ jvm-extra: $(JAVA_CLASSES_SRC) $(BOOTLIB +--- api/ssl/src/Makefile.orig 2022-12-29 23:55:22.000000000 -0700 ++++ api/ssl/src/Makefile 2023-01-10 10:25:46.169478107 -0700 +@@ -208,19 +208,8 @@ jvm-extra: $(JAVA_CLASSES_SRC) $(BOOTLIB #*---------------------------------------------------------------------*/ #* Java auconfiguration */ #*---------------------------------------------------------------------*/ @@ -22,8 +22,8 @@ $(JAVA_SRC_DIR)/ssl_client_socket.java: \ $(JAVA_SRC_DIR)/ssl_client_socket$(JDK).java ---- bde/jas/produce.scm.orig 2021-12-02 23:38:25.000000000 -0700 -+++ bde/jas/produce.scm 2021-12-28 15:36:07.461590750 -0700 +--- bde/jas/produce.scm.orig 2022-12-29 23:56:59.000000000 -0700 ++++ bde/jas/produce.scm 2023-01-10 10:25:46.169478107 -0700 @@ -24,8 +24,8 @@ fields methods attributes ) (outshort outchan #xCAFE) @@ -35,8 +35,8 @@ (produce-pool outchan pool-size (reverse pool)) (outshort outchan flags) (outshort outchan me) ---- comptime/Jas/produce.scm.orig 2021-12-02 23:37:12.000000000 -0700 -+++ comptime/Jas/produce.scm 2021-12-28 15:36:07.461590750 -0700 +--- comptime/Jas/produce.scm.orig 2022-12-29 23:55:22.000000000 -0700 ++++ comptime/Jas/produce.scm 2023-01-10 10:25:46.170478089 -0700 @@ -24,8 +24,8 @@ fields methods attributes ) (outshort outchan #xCAFE) @@ -48,9 +48,9 @@ (produce-pool outchan pool-size (reverse pool)) (outshort outchan flags) (outshort outchan me) ---- configure.orig 2021-12-02 23:37:12.000000000 -0700 -+++ configure 2021-12-28 15:36:07.462590750 -0700 -@@ -111,7 +111,7 @@ zip=zip +--- configure.orig 2022-12-29 23:55:22.000000000 -0700 ++++ configure 2023-01-10 10:25:46.171478070 -0700 +@@ -114,7 +114,7 @@ zip=zip jar="jar cmf" zflags= javac=javac @@ -59,7 +59,7 @@ java=java jflags= jvflags=-noverify -@@ -3382,7 +3382,7 @@ if [ $action = "all" -o $action = "biglo +@@ -3517,7 +3517,7 @@ if [ $action = "all" -o $action = "biglo --jflags=$jflags \ --jvflags=$jvflags \ --javac=$javac \ @@ -68,7 +68,7 @@ --cpsep="$cpsep"` || exit 1 if [ $jtest != 0 ]; then -@@ -4792,7 +4792,7 @@ if [ $action = "all" -o $action = "Makef +@@ -5001,7 +5001,7 @@ if [ $action = "all" -o $action = "Makef if [ "$java_configured" = "no" ]; then $autoconfdir/javatest --java=$java --jflags=$jflags --jvflags=$jvflags \ @@ -77,8 +77,8 @@ if [ $? != 0 ]; then $echo "*** ERROR:configure:Can't configure JVM back-end" ---- jigloo/jigloo.java.orig 2021-12-02 23:37:12.000000000 -0700 -+++ jigloo/jigloo.java 2021-12-28 15:36:07.462590750 -0700 +--- jigloo/jigloo.java.orig 2022-12-29 23:55:22.000000000 -0700 ++++ jigloo/jigloo.java 2023-01-10 10:25:46.171478070 -0700 @@ -21,7 +21,7 @@ public abstract class jigloo { static PrintStream out = System.out; static int verbose = 0; @@ -127,16 +127,16 @@ } ---- jigloo/Makefile.orig 2021-12-02 23:37:12.000000000 -0700 -+++ jigloo/Makefile 2021-12-28 15:36:07.463590750 -0700 +--- jigloo/Makefile.orig 2022-12-29 23:55:22.000000000 -0700 ++++ jigloo/Makefile 2023-01-10 10:25:46.171478070 -0700 @@ -133,4 +133,4 @@ pop: #* .java --> .class */ #*---------------------------------------------------------------------*/ .java.class: - @ $(JAVAC) $*.java + @ $(JAVAC) $(JCFLAGS) $*.java ---- runtime/Jlib/cnst.java.orig 2021-12-02 23:37:12.000000000 -0700 -+++ runtime/Jlib/cnst.java 2021-12-28 15:36:07.463590750 -0700 +--- runtime/Jlib/cnst.java.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Jlib/cnst.java 2023-01-10 10:29:09.077675668 -0700 @@ -6,7 +6,7 @@ public class cnst extends obj { public final int value; @@ -150,7 +150,7 @@ public static cnst make_cnst( final int value ) { -- final Integer key = new Integer( value ); +- final Integer key = value; - final Object r = table.get( key ); + final Integer key = Integer.valueOf( value ); + final cnst r = table.get( key ); @@ -161,8 +161,8 @@ final cnst result = new cnst( value ); ---- runtime/Jlib/dlopen.java.orig 2021-12-02 23:37:12.000000000 -0700 -+++ runtime/Jlib/dlopen.java 2021-12-28 15:36:07.463590750 -0700 +--- runtime/Jlib/dlopen.java.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Jlib/dlopen.java 2023-01-10 10:30:06.348602910 -0700 @@ -22,7 +22,7 @@ import java.lang.reflect.*; public abstract class dlopen { private static final String NO_ERROR_YET = "No error (yet)"; @@ -176,24 +176,13 @@ synchronized( dlopen_table ) { if( !(dlopen_table.contains( filename )) ) { Object res = dload_inner( filename, init_sym, mod_sym ); -- dlopen_table.put( filename, new Boolean( true ) ); +- dlopen_table.put( filename, true ); + dlopen_table.put( filename, Boolean.valueOf( true ) ); return res; } else { return foreign.BUNSPEC; ---- runtime/Jlib/foreign.java.orig 2021-12-02 23:37:12.000000000 -0700 -+++ runtime/Jlib/foreign.java 2021-12-28 15:36:07.464590751 -0700 -@@ -5105,7 +5105,7 @@ public final class foreign - throw v; - } - -- private static Boolean err_lock = new Boolean( true ); -+ private static Boolean err_lock = Boolean.valueOf( true ); - - public static void notify_exception( Throwable e ) throws Throwable { - if( e instanceof ClassCastException ) { ---- runtime/Jlib/JDK16.java.orig 2021-12-02 23:37:12.000000000 -0700 -+++ runtime/Jlib/JDK16.java 2021-12-28 15:36:07.464590751 -0700 +--- runtime/Jlib/JDK16.java.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Jlib/JDK16.java 2023-01-10 10:25:46.173478032 -0700 @@ -19,7 +19,7 @@ import java.lang.reflect.*; public class JDK16 extends JDK { @@ -203,8 +192,8 @@ return c.getDeclaredMethod( new String( m ) ); } ---- runtime/Jlib/JDK.java.orig 2021-12-02 23:37:12.000000000 -0700 -+++ runtime/Jlib/JDK.java 2021-12-28 15:36:07.464590751 -0700 +--- runtime/Jlib/JDK.java.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Jlib/JDK.java 2023-01-10 10:25:46.173478032 -0700 @@ -49,8 +49,8 @@ public abstract class JDK { private static JDK getImpl(String classname) { @@ -234,8 +223,8 @@ throws Exception; public abstract Object invokeImpl(Method m) throws Exception; ---- runtime/Jlib/output_pipe_port.java.orig 2021-12-02 23:37:12.000000000 -0700 -+++ runtime/Jlib/output_pipe_port.java 2021-12-28 15:36:07.464590751 -0700 +--- runtime/Jlib/output_pipe_port.java.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Jlib/output_pipe_port.java 2023-01-10 10:25:46.173478032 -0700 @@ -42,7 +42,7 @@ public class output_pipe_port extends ou static String[] tokenizer( byte[] s ) { @@ -254,8 +243,8 @@ } static String[] make_cmd( byte[] s ) { ---- runtime/Jlib/process.java.orig 2021-12-02 23:37:12.000000000 -0700 -+++ runtime/Jlib/process.java 2021-12-28 15:36:07.464590751 -0700 +--- runtime/Jlib/process.java.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Jlib/process.java 2023-01-10 10:25:46.173478032 -0700 @@ -12,6 +12,7 @@ package bigloo; import java.io.IOException; @@ -311,8 +300,8 @@ } catch (InterruptedException _i) { ---- runtime/Jlib/weakptr.java.orig 2021-12-28 15:36:07.465590751 -0700 -+++ runtime/Jlib/weakptr.java 2021-12-28 15:37:33.100617825 -0700 +--- runtime/Jlib/weakptr.java.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Jlib/weakptr.java 2023-01-10 10:25:46.174478014 -0700 @@ -4,12 +4,12 @@ import java.lang.ref.WeakReference; diff --git a/bigloo-lto-type.patch b/bigloo-lto-type.patch index 7cf0eb1..1dc2711 100644 --- a/bigloo-lto-type.patch +++ b/bigloo-lto-type.patch @@ -1,16 +1,5 @@ ---- runtime/Clib/cbignum.c.orig 2021-12-02 23:37:12.000000000 -0700 -+++ runtime/Clib/cbignum.c 2021-12-28 15:55:07.070170009 -0700 -@@ -1134,7 +1134,7 @@ bgl_bignum_mask(obj_t x, long n) { - /* bgl_bignum_and ... */ - /*---------------------------------------------------------------------*/ - BGL_RUNTIME_DEF obj_t --bgl_bignum_and(obj_t x, long y) { -+bgl_bignum_and(obj_t x, obj_t y) { - obj_t obj; - mpz_t rop; - ---- runtime/Include/bigloo_pair.h.orig 2021-12-02 23:37:12.000000000 -0700 -+++ runtime/Include/bigloo_pair.h 2021-12-28 15:54:39.031147480 -0700 +--- runtime/Include/bigloo_pair.h.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Include/bigloo_pair.h 2023-01-10 10:19:59.989979958 -0700 @@ -60,7 +60,7 @@ struct bgl_epair { obj_t car; obj_t cdr; diff --git a/bigloo-noreturn.patch b/bigloo-noreturn.patch index 19d3d02..2435e7c 100644 --- a/bigloo-noreturn.patch +++ b/bigloo-noreturn.patch @@ -1,5 +1,5 @@ ---- api/alsa/src/Clib/bglalsa.h.orig 2020-11-14 10:40:25.000000000 -0700 -+++ api/alsa/src/Clib/bglalsa.h 2020-11-17 08:12:37.850529435 -0700 +--- api/alsa/src/Clib/bglalsa.h.orig 2022-12-29 23:55:22.000000000 -0700 ++++ api/alsa/src/Clib/bglalsa.h 2023-01-10 10:18:25.967752123 -0700 @@ -13,7 +13,7 @@ #include @@ -9,8 +9,8 @@ extern int bgl_snd_pcm_close( obj_t ); extern int bgl_snd_pcm_open( obj_t, char *, snd_pcm_stream_t, int ); ---- runtime/Clib/capply.c.orig 2020-11-14 10:40:25.000000000 -0700 -+++ runtime/Clib/capply.c 2020-11-17 08:12:37.851529434 -0700 +--- runtime/Clib/capply.c.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Clib/capply.c 2023-01-10 10:18:25.967752123 -0700 @@ -13,7 +13,7 @@ /*---------------------------------------------------------------------*/ /* Les recuperations externes */ @@ -20,8 +20,8 @@ extern long bgl_list_length( obj_t ); /*---------------------------------------------------------------------*/ ---- runtime/Clib/cmain.c.orig 2020-11-14 10:40:25.000000000 -0700 -+++ runtime/Clib/cmain.c 2020-11-17 08:12:37.852529432 -0700 +--- runtime/Clib/cmain.c.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Clib/cmain.c 2023-01-10 10:18:25.967752123 -0700 @@ -40,7 +40,7 @@ extern obj_t cref( obj_t ); extern void memshow( char *, char *, long ); extern void bgl_init_eval_cnst(); @@ -31,8 +31,8 @@ extern void bgl_init_objects(); extern obj_t bigloo_exit_apply( obj_t ); extern void *bgl_callcc_get_top_of_stack( void * ); ---- runtime/Clib/csocket.c.orig 2020-11-14 10:40:25.000000000 -0700 -+++ runtime/Clib/csocket.c 2020-11-17 08:12:37.852529432 -0700 +--- runtime/Clib/csocket.c.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Clib/csocket.c 2023-01-10 10:18:25.968752103 -0700 @@ -253,7 +253,7 @@ bgl_init_socket() { /* static void */ /* socket_error ... */ @@ -51,14 +51,14 @@ socket_timeout_error( obj_t hostname, int port ) { char buffer[ 512 ]; ---- runtime/Include/bigloo.h.orig 2020-11-14 10:40:26.000000000 -0700 -+++ runtime/Include/bigloo.h 2020-11-17 08:12:37.853529430 -0700 -@@ -2321,7 +2321,7 @@ BGL_RUNTIME_DECL obj_t (*bgl_multithread +--- runtime/Include/bigloo.h.orig 2023-01-10 10:18:25.968752103 -0700 ++++ runtime/Include/bigloo.h 2023-01-10 10:19:08.221955698 -0700 +@@ -2427,7 +2427,7 @@ BGL_RUNTIME_DECL obj_t (*bgl_multithread /*---------------------------------------------------------------------*/ /* The external declarations */ /*---------------------------------------------------------------------*/ --BGL_RUNTIME_DECL obj_t bigloo_exit( obj_t ); -+BGL_RUNTIME_DECL obj_t bigloo_exit( obj_t ) __attribute__((noreturn)); +-BGL_RUNTIME_DECL obj_t bigloo_exit(obj_t); ++BGL_RUNTIME_DECL obj_t bigloo_exit(obj_t) __attribute__((noreturn)); - BGL_RUNTIME_DECL obj_t va_generic_entry( obj_t, ... ); - BGL_RUNTIME_DECL obj_t bgl_va_stack_entry( obj_t, ... ); + BGL_RUNTIME_DECL obj_t va_generic_entry(obj_t, ...); + BGL_RUNTIME_DECL obj_t bgl_va_stack_entry(obj_t, ...); diff --git a/bigloo-return.patch b/bigloo-return.patch index 09670a7..ac6791c 100644 --- a/bigloo-return.patch +++ b/bigloo-return.patch @@ -1,20 +1,20 @@ ---- api/libuv/src/Clib/bgluv.c.orig 2020-10-14 14:35:37.483412294 -0600 -+++ api/libuv/src/Clib/bgluv.c 2020-10-21 13:33:35.967707218 -0600 -@@ -1062,7 +1062,7 @@ bgl_uv_fs_write( obj_t obj, obj_t buffer +--- api/libuv/src/Clib/bgluv.c.orig 2023-01-10 10:32:48.219572578 -0700 ++++ api/libuv/src/Clib/bgluv.c 2023-01-10 10:33:50.946398610 -0700 +@@ -1074,7 +1074,7 @@ bgl_uv_fs_write(obj_t obj, obj_t buffer, req->data = proc; - gc_mark( proc ); + gc_mark(proc); -- uv_fs_write( loop, req, fd, &iov, 1, position, &bgl_uv_fs_rw_cb ); -+ return uv_fs_write( loop, req, fd, &iov, 1, position, &bgl_uv_fs_rw_cb ); +- uv_fs_write(loop, req, fd, &iov, 1, position, &bgl_uv_fs_rw_cb); ++ return uv_fs_write(loop, req, fd, &iov, 1, position, &bgl_uv_fs_rw_cb); } else { uv_fs_t req; int r; -@@ -1099,7 +1099,7 @@ bgl_uv_fs_read( obj_t obj, obj_t buffer, +@@ -1111,7 +1111,7 @@ bgl_uv_fs_read(obj_t obj, obj_t buffer, req->data = proc; - gc_mark( proc ); + gc_mark(proc); -- uv_fs_read( loop, req, fd, &iov, 1, position, &bgl_uv_fs_rw_cb ); -+ return uv_fs_read( loop, req, fd, &iov, 1, position, &bgl_uv_fs_rw_cb ); +- uv_fs_read(loop, req, fd, &iov, 1, position, &bgl_uv_fs_rw_cb); ++ return uv_fs_read(loop, req, fd, &iov, 1, position, &bgl_uv_fs_rw_cb); } else { uv_fs_t req; int r; diff --git a/bigloo-stat64.patch b/bigloo-stat64.patch index 742e46b..f44b161 100644 --- a/bigloo-stat64.patch +++ b/bigloo-stat64.patch @@ -1,50 +1,51 @@ ---- runtime/Clib/cports.c.orig 2018-01-26 02:50:11.000000000 -0700 -+++ runtime/Clib/cports.c 2018-01-26 21:21:28.826703643 -0700 -@@ -158,7 +158,7 @@ static int posix_close( FILE *f ) { +--- runtime/Clib/cports.c.orig 2022-12-29 23:55:22.000000000 -0700 ++++ runtime/Clib/cports.c 2023-01-10 10:14:53.442758400 -0700 +@@ -158,7 +158,7 @@ static int posix_close(FILE *f) { } - static ssize_t posix_read( FILE *f, void *buf, size_t count ) { -- int n = fread( buf, 1, count, f ); -+ size_t n = fread( buf, 1, count, f ); + static ssize_t posix_read(FILE *f, void *buf, size_t count) { +- int n = fread(buf, 1, count, f); ++ size_t n = fread(buf, 1, count, f); - if( n != 0 ) + if (n != 0) return n; -@@ -174,9 +174,9 @@ static ssize_t posix_read( FILE *f, void +@@ -174,9 +174,9 @@ static ssize_t posix_read(FILE *f, void /* BSD compatibility kit */ /*---------------------------------------------------------------------*/ - #if( BGL_HAVE_SENDFILE && ( BGL_SENDFILE_BRAND == BGL_SENDFILE_BSD ) ) + #if (BGL_HAVE_SENDFILE && (BGL_SENDFILE_BRAND == BGL_SENDFILE_BSD)) -static int bsd_sendfile(int out_fd, int in_fd, off_t *offset, size_t count) { +- off_t sz = count; +- int n = sendfile(in_fd, out_fd, offset ? *offset : 0, &sz, 0, 0); +static ssize_t bsd_sendfile(int out_fd, int in_fd, off_t *offset, size_t count) { - off_t sz = count; -- int n = sendfile( in_fd, out_fd, offset ? *offset : 0, &sz, 0, 0 ); -+ ssize_t n = sendfile( in_fd, out_fd, offset ? *offset : 0, &sz, 0, 0 ); ++ ssize_t sz = count; ++ ssize_t n = sendfile(in_fd, out_fd, offset ? *offset : 0, &sz, 0, 0); return n ? n : sz; } -@@ -2262,7 +2262,7 @@ bgl_file_to_string( char *path ) { +@@ -2296,7 +2296,7 @@ bgl_file_to_string(char *path) { return 0L; } else { - obj_t res = make_string_sans_fill( sin.st_size ); -- int n = read( fd, BSTRING_TO_STRING( res ), sin.st_size ); -+ ssize_t n = read( fd, BSTRING_TO_STRING( res ), sin.st_size ); + obj_t res = make_string_sans_fill(sin.st_size); +- int n = read(fd, BSTRING_TO_STRING(res), sin.st_size); ++ ssize_t n = read(fd, BSTRING_TO_STRING(res), sin.st_size); - close( fd ); + close(fd); -@@ -2551,7 +2551,7 @@ bgl_sendchars( obj_t ip, obj_t op, long +@@ -2585,7 +2585,7 @@ bgl_sendchars(obj_t ip, obj_t op, long s } - #if( BGL_HAVE_SENDFILE ) + #if (BGL_HAVE_SENDFILE) } else { -- if( sz == -1 ) sz = in.st_size; -+ if( sz == -1 ) sz = (long) in.st_size; +- if (sz == -1) sz = in.st_size; ++ if (sz == -1) sz = (long) in.st_size; - if( sz != 0 ) { - #if( BGL_GC_HAVE_BLOCKING ) -@@ -2661,7 +2661,7 @@ bgl_sendfile( obj_t name, obj_t op, long + if (sz != 0) { + #if (BGL_GC_HAVE_BLOCKING) +@@ -2695,7 +2695,7 @@ bgl_sendfile(obj_t name, obj_t op, long C_SYSTEM_FAILURE( - BGL_IO_PORT_ERROR, "send-file", strerror( errno ), name ); + BGL_IO_PORT_ERROR, "send-file", strerror(errno), name); } - sz = sin.st_size; + sz = (long) sin.st_size; } - #if( !BGL_HAVE_SENDFILE ) + #if (!BGL_HAVE_SENDFILE) diff --git a/bigloo.spec b/bigloo.spec index 0566a4e..0a59f02 100644 --- a/bigloo.spec +++ b/bigloo.spec @@ -1,26 +1,12 @@ # The hardened build breaks bigloo's plugin architecture. %undefine _hardened_build -# With LTO enabled, we get errors of this form while building BDE: -# lib/alloc.c:1138:1: error: variable '____make_va_procedure' redeclared as function -# 1138 | WRAPPER( make_va_procedure, PROCEDURE_TYPE_NUM, (obj_t (*e)(), int a, int s), ((void *(*)())e, a, s) ) -# | ^ -# lib/init.c:103:9: note: previously declared here -# 103 | void *(*____make_va_procedure)( void *(*)(), int, int ); -# | ^ -# -# The WRAPPER macro uses its first argument to create the name of a function. -# Hence, in this case, the function has name "make_va_procedure" and the -# variable has name "____make_va_procedure", yet LTO thinks they are the same -# symbol. Until this can be resolved, disable LTO. -%global _lto_cflags %{nil} - # Bigloo uses the terminology "release" for what Fedora calls version, # and "version" for a sub-version revision. # patch_suffix is defined to be empty when patch_ver is not defined, # so that when updating, the Source and %%setup lines do not have to be # changed, only the Version and patch_ver -%global patch_ver 4 +%global patch_ver 1 %global patch_suffix %{?patch_ver:-%{patch_ver}} # prerelease @@ -33,17 +19,21 @@ # Bigloo has a customized copy of gc %bcond_without customgc -%global bundledgc 8.0.4 +%global bundledgc 8.2.2 + +# Bigloo bundles libbacktrace, which is intended to be a copylib +%bcond_without customlbt +%global bundlelbt 1.0.20210529 Name: bigloo -Version: 4.4c -Release: 9%{?patch_ver:.%{patch_ver}}%{?prerel:.%{prerel}}%{?dist} +Version: 4.5a +Release: 1%{?patch_ver:.%{patch_ver}}%{?prerel:.%{prerel}}%{?dist} Summary: A compiler for the Scheme programming language # The compiler and tools are GPL-2.0-or-later. # The runtime system and libraries are LGPL-2.0-or-later. # Exceptions: -# - examples/Socket/socket.scm is some unknown form of BSD (FIXME) +# - examples/Socket/socket.scm is some unknown form of BSD (not packaged) # - runtime/Unsafe/sha2.scm is BSD-3-Clause # - api/packrat/src/Llib/json.scm is MIT # - api/packrat/src/Llib/packrat.scm is MIT @@ -72,11 +62,8 @@ Patch7: %{name}-javac.patch Patch8: %{name}-return.patch # Fix signal numbers in the Java code Patch9: %{name}-java-signum.patch -# Allow building with Emacs 28 -Patch10: %{name}-emacs28.patch - -Patch11: %{name}-configure-c99.patch -Patch12: %{name}-bde-bmem-c99.patch +# Migrate K&R C in the config scripts to ANSI C +Patch10: %{name}-configure-c99.patch BuildRequires: emacs BuildRequires: gcc @@ -88,6 +75,9 @@ BuildRequires: java-devel BuildRequires: javapackages-tools %endif BuildRequires: libtool +%if %{without customlbt} +BuildRequires: libbacktrace-devel +%endif BuildRequires: libunistring-devel BuildRequires: make BuildRequires: pkgconfig @@ -103,7 +93,7 @@ BuildRequires: pkgconfig(flac) BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(gstreamer-audio-1.0) BuildRequires: pkgconfig(libmpg123) -BuildRequires: pkgconfig(libpcre) +BuildRequires: pkgconfig(libpcre2-8) #BuildRequires: pkgconfig(libphidget22) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libuv) @@ -136,6 +126,12 @@ Requires: libuv-devel%{?_isa} Provides: bundled(gc) = %{bundledgc} %endif +%if %{with customlbt} +Provides: bundled(libbacktrace) = %{bundlelbt} +%global __provides_exclude libbacktrace.* +%global __requires_exclude libbacktrace.* +%endif + %description Bigloo is a Scheme implementation devoted to one goal: enabling a Scheme based programming style where C(++) is usually required. Bigloo @@ -166,8 +162,11 @@ environment. %prep %autosetup -p0 -n %{name}-%{version}%{?patch_suffix} +# Remove an example with a dubious license +rm -fr examples/Socket + # encoding fixes -for f in README.md examples/Socket/socket.scm; do +for f in README.md; do iconv -f ISO8859-1 -t UTF8 $f | sed 's/=ISO-8859-1/=UTF-8/' > $f.utf8 touch -r $f $f.utf8 mv -f $f.utf8 $f @@ -221,6 +220,11 @@ export LDFLAGS="-Wl,-z,relro -Wl,--as-needed" %else --customgc=no \ %endif +%if %{with customlbt} + --customlibbacktrace=yes \ +%else + --customlibbacktrace=no \ +%endif --coflags="$CFLAGS" \ --cpicflags="-fPIC" \ --sharedbde=yes \ @@ -234,12 +238,17 @@ export LDFLAGS="-Wl,-z,relro -Wl,--as-needed" # Remove extraneous rpath sed -i '/^RPATH=/s,\$(DESTDIR).*:,,' Makefile.config +%if %{with customlbt} +# Fix broken link line for the bundled libbacktrace +sed -i 's/-llibbacktrace/$(LDBUILDOPTS) -lbacktrace/' Makefile.config +%endif + # _smp_mflags breaks the build -env LD_LIBRARY_PATH=$PWD/lib/bigloo/%{version} make -env LD_LIBRARY_PATH=$PWD/lib/bigloo/%{version} \ +LD_LIBRARY_PATH=$PWD/lib/bigloo/%{version} make +LD_LIBRARY_PATH=$PWD/lib/bigloo/%{version} \ BIGLOOLIB=%{inplace}%{_libdir}/bigloo/%{version} \ make DESTDIR=%{inplace} install -env LD_LIBRARY_PATH=$PWD/lib/bigloo/%{version} \ +LD_LIBRARY_PATH=$PWD/lib/bigloo/%{version} \ PATH=$PWD/bin:$PATH \ BIGLOOLIB=%{inplace}%{_libdir}/bigloo/%{version} \ make compile-bee @@ -307,12 +316,17 @@ make test %files -%{_bindir}/* +%{_bindir}/bdb +%{_bindir}/bgl* +%{_bindir}/bigloo* +%{_bindir}/cigloo %ifarch %{java_arches} %{_javadir}/jigloo.class %endif -%{_infodir}/* -%{_mandir}/man*/* +%{_infodir}/bdb.info* +%{_infodir}/bigloo.info* +%{_mandir}/man1/bgl* +%{_mandir}/man1/bigloo.1* %{_emacs_sitelispdir}/bigloo/ %{_emacs_sitestartdir}/bigloo.el %doc ChangeLog Makefile.config examples @@ -330,6 +344,11 @@ make test %changelog +* Tue Jan 10 2023 Jerry James - 4.5a-1.1 +- Version 4.5a-1 +- Drop upstreamed patches: emacs28, bde-bmem-c99 +- Minor spec file cleanups + * Fri Dec 9 2022 Florian Weimer - 4.4c-9.4 - Minor fixes for C99 compatibility diff --git a/sources b/sources index 8a8ff26..ba27ebd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (bigloo-4.4c-4.tar.gz) = b1a7f7f610303dbbd7339ac4f80679b07d1bf5304865fe61f28bd5af8205f1a5c2b5b3edb1c47a0409a6392a2242d2adde1f5129b026b6a7ee022b8f5faec157 +SHA512 (bigloo-4.5a-1.tar.gz) = 7ed17b18db9ef83492cab010e3c4b5a9cddad99892ac60e0e5dc2897e3c7d242ea65383aacc55fc58d329e3c36a2177832e1d8b76a5540dcbae4f8397676a8ae