Hello community,

here is the log from the commit of package scheme48 for openSUSE:Leap:15.2 
checked in at 2020-02-22 17:48:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/scheme48 (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.scheme48.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "scheme48"

Sat Feb 22 17:48:15 2020 rev:1 rq:770943 version:1.9.2

Changes:
--------
New Changes file:

--- /dev/null   2019-12-19 10:12:34.003146842 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.scheme48.new.26092/scheme48.changes   
2020-02-22 17:48:19.577272463 +0100
@@ -0,0 +1,67 @@
+-------------------------------------------------------------------
+Tue Sep 10 11:07:41 UTC 2019 - Christophe Giboudeaux <[email protected]>
+
+- Use -ffat-lto-objects when building static libraries.
+
+-------------------------------------------------------------------
+Tue Mar 19 08:29:14 UTC 2019 - Dr. Werner Fink <[email protected]>
+
+- OpenSUSE does not have emacs-common, but an emacs package for
+  the lisp files of GNU Emacs 
+
+-------------------------------------------------------------------
+Fri Mar 15 09:12:21 UTC 2019 - Dr. Werner Fink <[email protected]>
+
+- Redo image with existing image 
+
+-------------------------------------------------------------------
+Thu Mar 14 16:54:23 UTC 2019 - Jan Engelhardt <[email protected]>
+
+- Replace %__-type macro indirections by regular commands.
+
+-------------------------------------------------------------------
+Thu Mar 14 13:53:19 UTC 2019 - Dr. Werner Fink <[email protected]>
+
+- Add old packge to project devel:languages:misc just like clisp
+- Update to scheme48-1.9.2
+- Modernize spec file
+- Add some missed patches 
+   debian-user-name.diff
+   man-properly-escape-minuses.diff
+   no-env-trampoline.diff
+   noreturn.patch
+   security-tmpfile.patch
+- Remove some superfluous patches
+   scheme48-1.8.tar.bz2
+   scheme48-asneeded.patch
+   scheme48-destdir.patch
+   scheme48-implicit-fortify-decl.patch
+   scheme48-no-return-in-nonvoid-function.patch
+
+-------------------------------------------------------------------
+Tue Dec 29 09:23:34 UTC 2009 - [email protected]
+
+- fixed bnc#566860: correct Group of emacs-scheme48
+- converted %%changelog to changes
+
+-------------------------------------------------------------------
+Thu Mar 12 00:00:00 UTC 2009 - [email protected]
+
+- Fixed a build under gcc4.4
+  * used gcc as a default linker
+
+-------------------------------------------------------------------
+Mon Jan  5 00:00:00 UTC 2009 - [email protected]
+
+- Use RPM_OPT_FLAGS to build
+- Fixed the compiler errors and warnings (patch1 and patch2)
+
+-------------------------------------------------------------------
+Mon Dec 15 00:00:00 UTC 2008 - [email protected]
+
+- Update to 1.8
+
+-------------------------------------------------------------------
+Thu Dec 13 00:00:00 UTC 2007 - [email protected]
+
+- first release in openSUSE (thanks to ALTLinux's package)

New:
----
  debian-user-name.diff
  man-properly-escape-minuses.diff
  no-env-trampoline.diff
  noreturn.patch
  scheme48-1.9.2.tgz
  scheme48-rpmlintrc
  scheme48.changes
  scheme48.spec
  security-tmpfile.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ scheme48.spec ++++++
#
# spec file for package scheme48
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


#!BuildIgnore:  scheme48-vm
Name:           scheme48
Version:        1.9.2
Release:        0
Summary:        An implementation of Scheme written by Richard Kelsey and 
Jonathan Rees
License:        BSD-3-Clause
Group:          Development/Languages/Scheme
Url:            http://www.s48.org/
Source0:        http://www.s48.org/1.9.2/scheme48-1.9.2.tgz 
Source1:        scheme48-rpmlintrc
Patch0:         noreturn.patch
Patch1:         no-env-trampoline.diff
Patch2:         debian-user-name.diff
Patch3:         man-properly-escape-minuses.diff
Patch4:         security-tmpfile.patch
BuildRequires:  emacs-nox
Requires:       %{name}-vm = %{version}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%define 
add_optflags(a:f:t:p:w:W:d:g:O:A:C:D:E:H:i:M:n:P:U:u:l:s:X:B:I:L:b:V:m:x:c:S:E:o:v:)
 \
%global optflags %{optflags} %{**}

%description
Scheme 48 is an implementation of the Scheme programming language as described
in the Revised5 Report on the Algorithmic Language Scheme. It is based on a
compiler and interpreter for a virtual Scheme machine. Scheme 48 tries to be
faithful to the Revised5 Scheme Report, providing neither more nor less in
the initial user environment.

%package vm
Summary:        Virtual Machine for Scheme48
Group:          System/Libraries

%description vm
Core files of Scheme48 without development environment.

%package devel
Summary:        Virtual Machine for Scheme48
Group:          Development/Languages/Scheme
Requires:       %name = %version

%description devel
A devel files for %{name} and %{name}-prescheme. This includes a header files,
libprescheme.so and %{name}-config.

%package doc
Summary:        Documentation for Scheme48
Group:          Development/Languages/Scheme

%description doc
Documentation for Scheme48 VM and interpreter

%package prescheme
Summary:        PreScheme compiler
Group:          Development/Languages/Scheme
Requires:       %name = %version

%description prescheme
Pre-Scheme is a low-level dialect of Scheme, designed for systems programming
with higher-level abstractions. For example, the Scheme48 virtual machine is
written in Pre-Scheme. Pre-Scheme is a particularly interesting alternative to
C for many systems programming tasks, because not only does it operate at about
the same level as C, but it also may be run in a regular high-level Scheme
development with no changes to the source, without resorting to low-level stack
munging with tools such as gdb. Pre-Scheme also supports two extremely
important high-level abstractions of Scheme: macros and higher-order, anonymous
functions. Richard Kelsey's Pre-Scheme compiler, based on his PhD research on
transformational compilation, compiles Pre-Scheme to efficient C, applying
numerous intermediate source transformations in the process.

%package -n emacs-scheme48
Summary:        CMUScheme48 emacs mode
Group:          Productivity/Text/Editors
Requires:       %name = %version
Recommends:     emacs

%description -n emacs-scheme48
Scheme process in a buffer.  Adapted from cmuscheme.el

%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1

%build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
%add_optflags -Wall -Wno-return-type -fPIC -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=500

%configure --docdir=%{_datadir}/doc/packages/%{name}
touch c/scheme48.h
# Please to not use option -j here as this may break build
make
rm -vf c/scheme48.h
# Redo the image, also do not use -j here
make RUNNABLE=$PWD/go

pushd ps-compiler
    ../go -h 20000000 -a batch <<- 'EOF'
        ,config ,load ../scheme/prescheme/interface.scm
        ,config ,load ../scheme/prescheme/package-defs.scm
        ,exec ,load load-ps-compiler.scm
        ,in prescheme-compiler prescheme-compiler
        ,user (define prescheme-compiler ##)
        ,dump ../ps-compiler.image "(Pre-Scheme)"
        ,exit
        EOF
popd

#ld -O2 -Bsymbolic-functions -shared -as-needed 
-soname=libprescheme.so.%{version} \
#    -o libprescheme.so c/unix/misc.o c/unix/fd-io.o c/unix/io.o -lc
ar cru libprescheme.a c/unix/misc.o c/unix/fd-io.o c/unix/io.o
ranlib libprescheme.a

emacs -q -no-site-file -batch -eval "(byte-compile-file 
\"emacs/cmuscheme48.el\")"

# It's now 2019, no latin text anymore
for f in README COPYING
do
    iconv -f latin1 -t utf-8 -o $f.new $f 
    touch -r $f $f.new
    mv $f.new $f
done

%install
make install-no-doc DESTDIR=%{?buildroot} INSTALL="install -p"
rm -vf %{buildroot}%{_docdir}/COPYING
rm -vf %{buildroot}%{_datadir}/doc/COPYING
rm -vf %{buildroot}%{_datadir}/doc/%{name}/COPYING
rm -vf %{buildroot}%{_datadir}/doc/packages/%{name}/COPYING

cat > %{buildroot}%{_bindir}/prescheme <<- 'EOF'
        #!/bin/sh
        LIB=%{_libdir}/%{name}-%{version}
        exec $LIB/scheme48vm -i $LIB/ps-compiler.image -h 20000000 "$@"
        EOF
chmod a+x %{buildroot}%{_bindir}/prescheme

install -m644 ps-compiler.image     %{buildroot}%{_libdir}/%{name}-%{version}/
install -m644 c/{prescheme,io}.h    %{buildroot}/%{_includedir}/
#install -m644 libprescheme.so      
%{buildroot}/%{_libdir}/libprescheme.so.%{version}
#ln -sf libprescheme.so.%{version}   %{buildroot}/%{_libdir}/libprescheme.so
install -m644 libprescheme.a        %{buildroot}/%{_libdir}/
PATH=/sbin:/usr/sbin:$PATH ldconfig -C $PWD/mycache %{buildroot}%{_libdir}/
rm -vf mycache*
mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp
install -m644 emacs/cmuscheme48.el* %{buildroot}%{_datadir}/emacs/site-lisp/
ln -sf %{_libdir}/%{name}-%{version}/%{name}vm %{buildroot}%{_bindir}/%{name}vm

%files
%defattr(-,root,root)
%license COPYING
%doc README
%defattr(-,root,root,0755)
%{_bindir}/*
%exclude %{_bindir}/%{name}-config
%exclude %{_bindir}/prescheme
%exclude %{_bindir}/%{name}vm
%{_libdir}/%{name}-%{version}
%exclude %{_libdir}/%{name}-%{version}/ps-compiler.image
%exclude %{_libdir}/%{name}-%{version}/%{name}vm
%{_datadir}/%{name}-%{version}
%{_mandir}/man1/%{name}.1.gz

%files vm
%defattr(-,root,root,0755)
%{_bindir}/%{name}vm
%{_libdir}/%{name}-%{version}/%{name}vm

%files doc
%defattr(-,root,root,0755)
%doc doc/*.txt doc/html/ doc/*.pdf doc/*.ps

%files devel
%defattr(-,root,root,0755)
%{_includedir}/*.h
%{_includedir}/%{name}-external.exp
%{_includedir}/%{name}.def
%{_includedir}/%{name}.exp
%{_bindir}/%{name}-config
%{_libdir}/libprescheme.a

%files prescheme
%defattr(-,root,root,0755)
%{_bindir}/prescheme
%{_libdir}/%{name}-%{version}/ps-compiler.image

%files -n emacs-scheme48
%defattr(-,root,root,0755)
%dir %{_datadir}/emacs/site-lisp
%{_datadir}/emacs/site-lisp/*

%changelog
++++++ debian-user-name.diff ++++++
The scheme48.image entry point procedure prints a welcome message that
includes "built by Fred" where Fred is the username of the user that
built Scheme48.  Make this be the output of `hostname -s`
Index: scheme48/build/build-usual-image
===================================================================
--- scheme48.orig/build/build-usual-image       2013-03-14 10:12:04.000000000 
+0100
+++ scheme48/build/build-usual-image    2013-03-14 10:12:04.000000000 +0100
@@ -14,7 +14,7 @@
 image=$4
 vm=$5
 initial=$6
-USER=${USER-`logname 2>/dev/null || echo '*GOK*'`}
+USER=$(hostname -s)
 
 $vm -i $initial -a batch <<EOF
 ,load $srcdir/scheme/env/init-defpackage.scm
++++++ man-properly-escape-minuses.diff ++++++
Quiet lintian by properly escaping minus signs in upstream manpage.

Index: scheme48/doc/scheme48.man
===================================================================
--- scheme48.orig/doc/scheme48.man      2009-03-02 19:41:25.000000000 -0800
+++ scheme48/doc/scheme48.man   2009-03-02 19:42:01.000000000 -0800
@@ -6,7 +6,7 @@
 LS48 \- a Scheme interpreter
 .SH SYNOPSIS
 .B LS48
-[-i image] [-h heapsize] [-a argument]
+[\-i image] [\-h heapsize] [\-a argument]
 .SH DESCRIPTION
 .B LS48
 is an implementation of the Scheme programming language as described in
@@ -80,7 +80,7 @@
 .nf
      > ,build (lambda (a) (display a) (newline) 0) foo.image
      > ,exit
-     $ LS48 -i foo.image -a mumble
+     $ LS48 \-i foo.image \-a mumble
      mumble
      $ 
 .PP
++++++ no-env-trampoline.diff ++++++
We don't want to use env in the config because update-alternatives is handling 
the
relevant binary.

Index: scheme48/build/scheme48-config.in
===================================================================
--- scheme48.orig/build/scheme48-config.in      2013-03-13 10:14:08.000000000 
+0100
+++ scheme48/build/scheme48-config.in   2013-03-13 10:14:08.000000000 +0100
@@ -1,4 +1,4 @@
-#! /usr/bin/env scheme-srfi-7
+#! /usr/bin/scheme-srfi-7
 
 ; Part of Scheme 48 1.9.  See file COPYING for notices and license.
 
++++++ noreturn.patch ++++++
diff -Pdpru scheme48-1.9.2/c/net/address.c scheme48-1.9.2-mod/c/net/address.c
--- scheme48-1.9.2/c/net/address.c      2012-12-28 01:46:24.000000000 +0900
+++ scheme48-1.9.2-mod/c/net/address.c  2014-05-05 16:50:21.836799983 +0900
@@ -105,6 +105,7 @@ s48_extract_af(s48_call_t call, s48_ref_
     case 3 :
       return AF_UNSPEC;
     }
+    s48_assertion_violation_2(call, "s48_extract_af", "invalid af_val", 1, 
af_val);
 }
 
 s48_ref_t
@@ -448,6 +449,7 @@ s48_extract_socket_type(s48_call_t call,
       case 1:
        return SOCK_DGRAM;
       }
+  s48_assertion_violation_2(call, "s48_extract_socket_type", "invalid 
socktype_val", 1, socktype_val);
 }
 
 s48_ref_t
@@ -504,6 +506,7 @@ extract_ip_protocol(s48_call_t call, s48
       case 5:
        return IPPROTO_UDP;
     }
+  s48_assertion_violation_2(call, "extract_ip_protocol", "invalid ip", 1, ip);
 }
 
 static s48_ref_t
diff -Pdpru scheme48-1.9.2/c/net/socket.c scheme48-1.9.2-mod/c/net/socket.c
--- scheme48-1.9.2/c/net/socket.c       2012-12-28 01:46:24.000000000 +0900
+++ scheme48-1.9.2-mod/c/net/socket.c   2014-05-05 16:50:25.198799845 +0900
@@ -65,6 +65,7 @@ extract_how(s48_call_t call, s48_ref_t s
       return SHUT_RDWR;
 #endif
     }
+    s48_assertion_violation_2(call, "extract_how", "invalid how_val", 1, 
how_val);
 }
 
 int
diff -Pdpru scheme48-1.9.2/c/scheme48.h scheme48-1.9.2-mod/c/scheme48.h
--- scheme48-1.9.2/c/scheme48.h 2014-03-03 01:22:18.000000000 +0900
+++ scheme48-1.9.2-mod/c/scheme48.h     2014-05-05 17:05:30.454762787 +0900
@@ -200,12 +200,12 @@ S48_EXTERN void * s48_value_pointer_2(s4
 /* Exceptions */
 
 S48_EXTERN void s48_error_2(s48_call_t call, const char* who, const char* 
message,
-                           long irritant_count, ...);
+                           long irritant_count, ...) __attribute__((noreturn));
 S48_EXTERN void s48_assertion_violation_2(s48_call_t call, const char* who, 
const char* message,
-                                         long irritant_count, ...);
+                                         long irritant_count, ...) 
__attribute__((noreturn));
 S48_EXTERN void s48_os_error_2(s48_call_t call, const char* who, int the_errno,
-                              long irritant_count, ...);
-S48_EXTERN void s48_out_of_memory_error_2(s48_call_t call);
+                              long irritant_count, ...) 
__attribute__((noreturn));
+S48_EXTERN void s48_out_of_memory_error_2(s48_call_t call) 
__attribute__((noreturn));
 
 /* Internal use */
 
@@ -446,26 +446,26 @@ S48_EXTERN void * s48_value_pointer(s48_
 /* Exceptions */
 
 S48_EXTERN void s48_error(const char* who, const char* message,
-                         long irritant_count, ...);
+                         long irritant_count, ...) __attribute__((noreturn));
 S48_EXTERN void s48_assertion_violation(const char* who, const char* message,
-                                       long irritant_count, ...);
+                                       long irritant_count, ...) 
__attribute__((noreturn));
 S48_EXTERN void s48_os_error(const char* who, int the_errno,
-                            long irritant_count, ...);
-S48_EXTERN void s48_out_of_memory_error();
+                            long irritant_count, ...) 
__attribute__((noreturn));
+S48_EXTERN void s48_out_of_memory_error() __attribute__((noreturn));
 
 /* The following are deprecated */
 
-S48_EXTERN void s48_raise_argument_type_error(s48_value value);
+S48_EXTERN void s48_raise_argument_type_error(s48_value value) 
__attribute__((deprecated, noreturn));
 S48_EXTERN void s48_raise_argument_number_error(s48_value value,
                                                s48_value min,
-                                               s48_value max);
+                                               s48_value max) 
__attribute__((deprecated, noreturn));
 S48_EXTERN void s48_raise_range_error(s48_value value,
                                      s48_value min,
-                                     s48_value max);
-S48_EXTERN void s48_raise_closed_channel_error();
-S48_EXTERN void s48_raise_os_error(int the_errno);
-S48_EXTERN void s48_raise_string_os_error(char *reason);
-S48_EXTERN void s48_raise_out_of_memory_error();
+                                     s48_value max) __attribute__((deprecated, 
noreturn));
+S48_EXTERN void s48_raise_closed_channel_error() __attribute__((deprecated, 
noreturn));
+S48_EXTERN void s48_raise_os_error(int the_errno) __attribute__((deprecated, 
noreturn));
+S48_EXTERN void s48_raise_string_os_error(char *reason) 
__attribute__((deprecated, noreturn));
+S48_EXTERN void s48_raise_out_of_memory_error() __attribute__((deprecated, 
noreturn));
 
 /* Internal use */
 
diff -Pdpru scheme48-1.9.2/c/scheme48.h.in scheme48-1.9.2-mod/c/scheme48.h.in
--- scheme48-1.9.2/c/scheme48.h.in      2012-12-28 01:46:24.000000000 +0900
+++ scheme48-1.9.2-mod/c/scheme48.h.in  2014-05-05 16:10:07.783898808 +0900
@@ -187,12 +187,12 @@ S48_EXTERN void * s48_value_pointer_2(s4
 /* Exceptions */
 
 S48_EXTERN void s48_error_2(s48_call_t call, const char* who, const char* 
message,
-                           long irritant_count, ...);
+                           long irritant_count, ...) __attribute__((noreturn));
 S48_EXTERN void s48_assertion_violation_2(s48_call_t call, const char* who, 
const char* message,
-                                         long irritant_count, ...);
+                                         long irritant_count, ...) 
__attribute__((noreturn));
 S48_EXTERN void s48_os_error_2(s48_call_t call, const char* who, int the_errno,
-                              long irritant_count, ...);
-S48_EXTERN void s48_out_of_memory_error_2(s48_call_t call);
+                              long irritant_count, ...) 
__attribute__((noreturn));
+S48_EXTERN void s48_out_of_memory_error_2(s48_call_t call) 
__attribute__((noreturn));
 
 /* Internal use */
 
@@ -433,26 +433,26 @@ S48_EXTERN void * s48_value_pointer(s48_
 /* Exceptions */
 
 S48_EXTERN void s48_error(const char* who, const char* message,
-                         long irritant_count, ...);
+                         long irritant_count, ...) __attribute__((noreturn));
 S48_EXTERN void s48_assertion_violation(const char* who, const char* message,
-                                       long irritant_count, ...);
+                                       long irritant_count, ...) 
__attribute__((noreturn));
 S48_EXTERN void s48_os_error(const char* who, int the_errno,
-                            long irritant_count, ...);
-S48_EXTERN void s48_out_of_memory_error();
+                            long irritant_count, ...) 
__attribute__((noreturn));
+S48_EXTERN void s48_out_of_memory_error() __attribute__((noreturn));
 
 /* The following are deprecated */
 
-S48_EXTERN void s48_raise_argument_type_error(s48_value value);
+S48_EXTERN void s48_raise_argument_type_error(s48_value value) 
__attribute__((deprecated, noreturn));
 S48_EXTERN void s48_raise_argument_number_error(s48_value value,
                                                s48_value min,
-                                               s48_value max);
+                                               s48_value max) 
__attribute__((deprecated, noreturn));
 S48_EXTERN void s48_raise_range_error(s48_value value,
                                      s48_value min,
-                                     s48_value max);
-S48_EXTERN void s48_raise_closed_channel_error();
-S48_EXTERN void s48_raise_os_error(int the_errno);
-S48_EXTERN void s48_raise_string_os_error(char *reason);
-S48_EXTERN void s48_raise_out_of_memory_error();
+                                     s48_value max) __attribute__((deprecated, 
noreturn));
+S48_EXTERN void s48_raise_closed_channel_error() __attribute__((deprecated, 
noreturn));
+S48_EXTERN void s48_raise_os_error(int the_errno) __attribute__((deprecated, 
noreturn));
+S48_EXTERN void s48_raise_string_os_error(char *reason) 
__attribute__((deprecated, noreturn));
+S48_EXTERN void s48_raise_out_of_memory_error() __attribute__((deprecated, 
noreturn));
 
 /* Internal use */
 
++++++ scheme48-rpmlintrc ++++++
addFilter(".*E:.*devel-file-in-non-devel-package.*")
addFilter(".*W:.*macro-in-comment.*")
addFilter(".*W:.*position-independent-executable-suggested.*")
addFilter(".*W:.*missing-call-to-setgroups-before-setuid.*")
++++++ security-tmpfile.patch ++++++
Author:      Mike Sperber <[email protected]>
Description: In cmuscheme48.el, use `make-temp-file' instead of constant file 
name.
Index: scheme48-1.9/emacs/cmuscheme48.el
===================================================================
--- scheme48-1.9.orig/emacs/cmuscheme48.el      2012-12-27 17:43:30.000000000 
+0100
+++ scheme48-1.9/emacs/cmuscheme48.el   2014-05-27 19:48:09.000000000 +0200
@@ -58,7 +58,7 @@
    (let ((end (point)))
      (beginning-of-defun)
      (if losep
-        (let ((loser "/tmp/s48lose.tmp"))
+         (let ((loser (make-temp-file "s48lose")))
           (write-region (point) end loser)
           (scheme48-load-file loser))
         (scheme48-send-region (point) end)))))

Reply via email to