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)))))
