diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | disable-out-of-memory-test.patch | 13 | ||||
-rw-r--r-- | guile-2.0.14-gc_pkgconfig_private.patch | 15 | ||||
-rw-r--r-- | guile-configure.patch | 21 | ||||
-rw-r--r-- | guile-multilib.patch | 47 | ||||
-rw-r--r-- | guile-threadstest.patch | 12 | ||||
-rw-r--r-- | guile.spec | 156 | ||||
-rw-r--r-- | sources | 1 |
8 files changed, 266 insertions, 0 deletions
@@ -0,0 +1 @@ +/guile-2.2.7.tar.xz diff --git a/disable-out-of-memory-test.patch b/disable-out-of-memory-test.patch new file mode 100644 index 0000000..657aa93 --- /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-2.0.14-gc_pkgconfig_private.patch b/guile-2.0.14-gc_pkgconfig_private.patch new file mode 100644 index 0000000..d8ee031 --- /dev/null +++ b/guile-2.0.14-gc_pkgconfig_private.patch @@ -0,0 +1,15 @@ +diff -up guile-2.2.7/meta/guile-2.2.pc.in.pkgconfig_private guile-2.2.7/meta/guile-2.2.pc.in +--- guile-2.2.7/meta/guile-2.2.pc.in.pkgconfig_private 2016-12-14 18:03:33.000000000 -0600 ++++ guile-2.0.7/meta/guile-2.2.pc.in 2018-02-20 11:53:56.344379283 -0600 +@@ -21,9 +21,9 @@ guile=${bindir}/@guile@ + Name: GNU Guile + Description: GNU's Ubiquitous Intelligent Language for Extension + Version: @GUILE_VERSION@ +-Libs: -L${libdir} -lguile-@GUILE_EFFECTIVE_VERSION@ @BDW_GC_LIBS@ ++Libs: -L${libdir} -lguile-@GUILE_EFFECTIVE_VERSION@ + Libs.private: @LIB_CLOCK_GETTIME@ @LIBGMP@ @LIBLTDL@ @LIBFFI_LIBS@ \ + @LIBUNISTRING@ @GUILE_LIBS@ @LIBICONV@ @LIBINTL@ @LIBSOCKET@ \ + @SERVENT_LIB@ @HOSTENT_LIB@ @GETADDRINFO_LIB@ @INET_NTOP_LIB@ \ +- @INET_PTON_LIB@ ++ @INET_PTON_LIB@ @BDW_GC_LIBS@ + Cflags: -I${pkgincludedir}/@GUILE_EFFECTIVE_VERSION@ @GUILE_CFLAGS@ @BDW_GC_CFLAGS@ diff --git a/guile-configure.patch b/guile-configure.patch new file mode 100644 index 0000000..e5b9436 --- /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 <math.h> + $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 <math.h> + $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 0000000..4baf309 --- /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 <bits/wordsize.h> ++#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 0000000..9699601 --- /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 new file mode 100644 index 0000000..d675eb8 --- /dev/null +++ b/guile.spec @@ -0,0 +1,156 @@ +Name: guile +Version: 2.2.7 +Release: 6 +Epoch: 5 +Summary: GNU's Ubiquitous Intelligent Language for Extension +License: LGPLv3+ +URL: https://www.gnu.org/software/guile/ +Source: https://ftp.gnu.org/gnu/guile/%{name}-%{version}.tar.xz + +%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 +#https://src.fedoraproject.org/rpms/guile/blob/rawhide/f/guile-2.0.14-gc_pkgconfig_private.patch +Patch6000: guile-2.0.14-gc_pkgconfig_private.patch + +BuildRequires: gcc libtool gmp-devel readline-devel gc-devel libffi-devel +BuildRequires: gettext-devel libunistring-devel libtool-ltdl-devel +Requires: coreutils + +%description +This is Guile, a portable, embeddable Scheme implementation written in +C. Guile provides a machine independent execution platform that can be +linked in as a library when building extensible programs. + +%package devel +Summary: Development files and Header files for %{name} +Requires: guile = %{epoch}:%{version}-%{release} gmp-devel gc-devel pkgconfig + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package_help + +%prep +%autosetup -n %{name}-%{version} -p1 + +%build +autoreconf -fiv +%configure --disable-error-on-warning +sed -i 's|" $sys_lib_dlsearch_path "|" $sys_lib_dlsearch_path %{_libdir} "|' libtool +%make_build + +%install +%make_install +install -d %{buildroot}%{_datadir}/guile/site/%{g_version} +%delete_la_and_a +rm -f %{buildroot}%{_infodir}/dir +bzip2 NEWS + +for i in %{buildroot}%{_infodir}/goops.info; do + iconv -f iso8859-1 -t utf-8 < $i > $i.utf8 && mv -f ${i}{.utf8,} +done + +touch %{buildroot}%{_datadir}/guile/site/%{g_version}/slibcat + +ln -s guile %{buildroot}%{_bindir}/guile2 +ln -s guile-tools %{buildroot}%{_bindir}/guile-tools2 + +find %{buildroot}%{_datadir} -name '*.scm' -exec touch -r "%{_specdir}/guile.spec" '{}' \; +find %{buildroot}%{_libdir} -name '*.go' -exec touch -r "%{_specdir}/guile.spec" '{}' \; + +%check +make check || true + +%ldconfig_scriptlets + +%triggerin -- slib >= 3b4-1 +export SCHEME_LIBRARY_PATH=%{_datadir}/slib/ + +%{_bindir}/guile --fresh-auto-compile --no-auto-compile -c \ + "(use-modules (ice-9 slib)) (require 'new-catalog)" &> /dev/null || \ + rm -f %{_datadir}/guile/site/%{g_version}/slibcat +: +%triggerun -- slib >= 3b4-1 +if [ "$2" = 0 ]; then + rm -f %{_datadir}/guile/site/%{g_version}/slibcat +fi + +%files +%doc AUTHORS +%license COPYING COPYING.LESSER LICENSE +%{_datadir}/guile/%{g_version}/* +%dir %{_datadir}/guile/site/%{g_version} +%{_bindir}/guild +%{_bindir}/guile +%{_bindir}/guile2 +%{_bindir}/guile-tools* +%{_libdir}/guile +%{_libdir}/libguile-%{g_version}.so.* +%{_infodir}/guile.info*.gz +%{_infodir}/r5rs.info.gz +%ghost %{_datadir}/guile/site/%{g_version}/slibcat +%exclude %{_libdir}/libguile*gdb.scm + +%files devel +%{_bindir}/guile-config +%{_bindir}/guile-snarf +%{_includedir}/guile/%{g_version}/libguile/*.h +%{_includedir}/guile/%{g_version}/*.h +%{_libdir}/pkgconfig/guile-%{g_version}.pc +%{_libdir}/libguile-%{g_version}.so +%{_datadir}/aclocal/guile.m4 + +%files help +%doc HACKING NEWS.bz2 README THANKS +%{_mandir}/man1/guile.1.gz + +%changelog +* Mon Aug 19 2024 zhangpan <zhangpan103@h-partners.com> - 5:2.2.7-6 +- backport patch from upstream + +* Fri Jul 19 2024 liweigang <liweiganga@uniontech.com> - 5:2.2.7-5 +- fix build error(automake 1.17) +- regenerate configure file + +* Wed Jan 03 2024 konglidong <konglidong@uniontech.com> - 2.2.7-4 +- fix bad macro expansion in changelog + +* Sat Apr 8 2023 Z572 <873216071@qq.com> - 2.2.7-3 +- fix guile-tools alias 'guile2-tools' -> 'guile-tools2' + +* Mon Feb 20 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.2.7-2 +- delete old so files + +* Mon Feb 13 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 2.2.7-1 +- upgrade to 2.2.7 + +* Mon Apr 25 2022 yangcheng <yangcheng87@h-partners.com> - 2.0.14-18 +- Remove multithreaded builds to resolve binary bep differences + +* Fri Jul 30 2021 chenyanpanHW <chenyanpan@huawei.com> - 2.0.14-17 +- DESC: delete -S git from autosetup, and delete BuildRequires git + +* Wed Jul 21 2021 yushaogui <yushaogui@huawei.com> - 2.0.14-16 +- delete gdb in buildrequires + +* Fri Mar 20 2020 songnannan <songnannan2@huawei.com> - 2.0.14-15 +- add gdb in buildrequires + +* Sat Sep 28 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.0.14-14 +- Type:bugfix +- Id:NA +- SUG:NA +- DESC:remove the libguile-2.0.so.22.8.1-gdb.scm from package + +* Tue Sep 18 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.0.14-13 +- Package init @@ -0,0 +1 @@ +7a7e8def41678c567148c26a8a0a0873 guile-2.2.7.tar.xz |