diff --git a/disable-out-of-memory-test.patch b/disable-out-of-memory-test.patch new file mode 100644 index 0000000000000000000000000000000000000000..657aa930e6cd441bf5f21eb7017380ff0452733a --- /dev/null +++ b/disable-out-of-memory-test.patch @@ -0,0 +1,13 @@ +diff --git a/test-suite/standalone/test-out-of-memory b/test-suite/standalone/test-out-of-memory +index 95692d6..49988ce 100755 +--- a/test-suite/standalone/test-out-of-memory ++++ b/test-suite/standalone/test-out-of-memory +@@ -3,6 +3,8 @@ guild compile "$0" + exec guile -q -s "$0" "$@" + !# + ++(exit 77) ++ + (unless (defined? 'setrlimit) + ;; Without an rlimit, this test can take down your system, as it + ;; consumes all of your memory. That doesn't seem like something we diff --git a/guile-3.0.9.tar.xz b/guile-2.2.7.tar.xz similarity index 35% rename from guile-3.0.9.tar.xz rename to guile-2.2.7.tar.xz index 49c3bfe77f004b9b7c1a812af20e40947e5d371e..49552e7624abe980cd89eb4d8bc7c6259b8f9cd3 100644 Binary files a/guile-3.0.9.tar.xz and b/guile-2.2.7.tar.xz differ diff --git a/guile-configure.patch b/guile-configure.patch new file mode 100644 index 0000000000000000000000000000000000000000..e5b94368fcad419c9ea7e919b546e95e59acfe8f --- /dev/null +++ b/guile-configure.patch @@ -0,0 +1,21 @@ +diff -Nrup a/m4/mathfunc.m4 b/m4/mathfunc.m4 +--- a/m4/mathfunc.m4 2016-12-14 17:03:33.000000000 -0700 ++++ b/m4/mathfunc.m4 2020-01-06 19:48:46.684158282 -0700 +@@ -60,7 +60,7 @@ AC_DEFUN([gl_MATHFUNC], + #endif + #include + $4 +- $2 (*funcptr) $3 = ]func[; ++ __attribute__ ((used)) $2 (*funcptr) $3 = ]func[; + int i_ret; + float f_ret; + double d_ret; +@@ -85,7 +85,7 @@ AC_DEFUN([gl_MATHFUNC], + #endif + #include + $4 +- $2 (*funcptr) $3 = ]func[; ++ __attribute__ ((used)) $2 (*funcptr) $3 = ]func[; + int i_ret; + float f_ret; + double d_ret; diff --git a/guile-multilib.patch b/guile-multilib.patch new file mode 100644 index 0000000000000000000000000000000000000000..4baf3098b5cf3ec38924e2da09de15e5bfddf4c4 --- /dev/null +++ b/guile-multilib.patch @@ -0,0 +1,47 @@ +diff -up guile-2.0.9/libguile/Makefile.in.multilib guile-2.0.9/libguile/Makefile.in +--- guile-2.0.9/libguile/Makefile.in.multilib 2013-04-10 01:31:59.000000000 +0200 ++++ guile-2.0.9/libguile/Makefile.in 2013-07-16 16:59:59.490527131 +0200 +@@ -3283,6 +3283,11 @@ install-nodist_modincludeHEADERS: $(nodi + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(modincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(modincludedir)" || exit $$?; \ ++ for f in $$files; do if [ "$$f" = "scmconfig.h" ]; then \ ++ grep -q "SCM_SIZEOF_LONG 4" "$(DESTDIR)$(modincludedir)/$$f" && g=32 || g=64; \ ++ mv "$(DESTDIR)$(modincludedir)/$$f" "$(DESTDIR)$(modincludedir)/scmconfig-$$g.h"; \ ++ $(INSTALL_HEADER) "$${d}scmconfig-multilib.h" "$(DESTDIR)$(modincludedir)/$$f"; \ ++ fi; done \ + done + + uninstall-nodist_modincludeHEADERS: +diff -up guile-2.0.9/libguile/scmconfig-multilib.h.multilib guile-2.0.9/libguile/scmconfig-multilib.h +--- guile-2.0.9/libguile/scmconfig-multilib.h.multilib 2013-07-16 17:02:26.045733704 +0200 ++++ guile-2.0.9/libguile/scmconfig-multilib.h 2013-07-16 17:01:51.623685971 +0200 +@@ -0,0 +1,7 @@ ++/* multilib clean wrapper */ ++#include ++#if __WORDSIZE == 32 ++#include "libguile/scmconfig-32.h" ++#else ++#include "libguile/scmconfig-64.h" ++#endif +diff -up guile-2.0.9/meta/guile-config.in.multilib guile-2.0.9/meta/guile-config.in +--- guile-2.0.9/meta/guile-config.in.multilib 2012-07-02 11:28:14.000000000 +0200 ++++ guile-2.0.9/meta/guile-config.in 2013-07-16 17:09:25.650324597 +0200 +@@ -1,7 +1,6 @@ + #!/bin/sh +-PKG_CONFIG_PATH="@pkgconfigdir@:$PKG_CONFIG_PATH" + GUILE_AUTO_COMPILE=0 +-export PKG_CONFIG_PATH GUILE_AUTO_COMPILE ++export GUILE_AUTO_COMPILE + + exec "@installed_guile@" -e main -s $0 "$@" + !# +@@ -31,7 +30,7 @@ exec "@installed_guile@" -e main -s $0 " + (ice-9 rdelim)) + + +-(define %pkg-config-program "@PKG_CONFIG@") ++(define %pkg-config-program "pkg-config") + + ;;;; main function, command-line processing + diff --git a/guile-threadstest.patch b/guile-threadstest.patch new file mode 100644 index 0000000000000000000000000000000000000000..969960157bde29b2e95c1a3165a4a66ef52e8436 --- /dev/null +++ b/guile-threadstest.patch @@ -0,0 +1,12 @@ +diff --git a/test-suite/tests/threads.test b/test-suite/tests/threads.test +index efdf36d..ff5ba2d 100644 +--- a/test-suite/tests/threads.test ++++ b/test-suite/tests/threads.test +@@ -382,6 +382,7 @@ + + (pass-if "mutex with owner not retained (bug #27450)" + (let ((g (make-guardian))) ++ (throw 'unresolved) + (g (let ((m (make-mutex))) (lock-mutex m) m)) + + ;; Avoid false references to M on the stack. diff --git a/guile.spec b/guile.spec index 1b14d8bf65b3b4cf4dc9095e32da1899cb71fba4..f630374bfe09884f9a20807fb53eba7b84cc14df 100644 --- a/guile.spec +++ b/guile.spec @@ -1,5 +1,5 @@ Name: guile -Version: 3.0.9 +Version: 2.2.7 Release: 1 Epoch: 5 Summary: GNU's Ubiquitous Intelligent Language for Extension @@ -7,7 +7,17 @@ License: LGPLv3+ URL: https://www.gnu.org/software/guile/ Source: https://ftp.gnu.org/gnu/guile/%{name}-%{version}.tar.xz -%global g_version 3.0 +%global g_version 2.2 + +#Patch from fedora +#https://src.fedoraproject.org/rpms/guile22/blob/f38/f/guile-multilb.patch +Patch1: guile-multilib.patch +#https://src.fedoraproject.org/rpms/guile22/blob/f38/f/guile-threadstest.patch +Patch3: guile-threadstest.patch +#https://src.fedoraproject.org/rpms/guile22/blob/f38/f/disable-out-of-memory-test.patch +Patch4: disable-out-of-memory-test.patch +#https://src.fedoraproject.org/rpms/guile22/blob/f38/f/guile-configure.patch +Patch5: guile-configure.patch BuildRequires: gcc libtool gmp-devel readline-devel gc-devel libffi-devel BuildRequires: gettext-devel libunistring-devel libtool-ltdl-devel guile @@ -83,10 +93,9 @@ fi %{_bindir}/guile %{_bindir}/guile2* %{_bindir}/guile-tools -%{_libdir}/guile/%{g_version}/ccache/* +%{_libdir}/guile %{_libdir}/libguile-%{g_version}.so.* %{_libdir}/libguile-2.0.so.* -%{_libdir}/guile %{_infodir}/guile.info*.gz %{_infodir}/r5rs.info.gz %ghost %{_datadir}/guile/site/%{g_version}/slibcat @@ -106,8 +115,8 @@ fi %{_mandir}/man1/guile.1.gz %changelog -* Wed Feb 08 2023 zhouwenpei - 3.0.9-1 -- update to 3.0.9 +* Mon Feb 13 2023 zhouwenpei - 2.2.7-1 +- upgrade to 2.2.7 * Mon Apr 25 2022 yangcheng - 2.0.14-18 - Remove multithreaded builds to resolve binary bep differences