summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-06 04:03:05 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-06 04:03:05 +0000
commite5ca48653c51d5ccd8533f9acd5a23688056ffd7 (patch)
tree3a8c8a26f4fbd324c522d71b70723d04af05a732
parentefb3174e01a7f5da7ef5ae225721645605f34904 (diff)
automatic import of guileopeneuler24.03_LTS
-rw-r--r--.gitignore1
-rw-r--r--guile-3.0.7-chroot.patch22
-rw-r--r--guile-3.0.7-disable-oom-test.patch13
-rw-r--r--guile-3.0.7-disable-stackoverflow-test.patch19
-rw-r--r--guile-3.0.7-headers.patch30
-rw-r--r--guile.spec163
-rw-r--r--sources1
7 files changed, 249 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..b82f6de 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/guile-3.0.10.tar.xz
diff --git a/guile-3.0.7-chroot.patch b/guile-3.0.7-chroot.patch
new file mode 100644
index 0000000..110bf1e
--- /dev/null
+++ b/guile-3.0.7-chroot.patch
@@ -0,0 +1,22 @@
+commit ab9588774461715d0664b8662790b36e8389307d
+Author: Tomas Korbar <tkorbar@redhat.com>
+Date: Thu Jul 22 10:26:24 2021 +0200
+
+ Make chroot call more secure
+
+diff --git a/libguile/posix.c b/libguile/posix.c
+index 31c4ab1..1054440 100644
+--- a/libguile/posix.c
++++ b/libguile/posix.c
+@@ -2033,7 +2033,10 @@ SCM_DEFINE (scm_chroot, "chroot", 1, 0, 0,
+ #define FUNC_NAME s_scm_chroot
+ {
+ int rv;
+-
++ WITH_STRING (path, c_path,
++ rv = chdir (c_path));
++ if (rv == -1)
++ SCM_SYSERROR;
+ WITH_STRING (path, c_path,
+ rv = chroot (c_path));
+ if (rv == -1)
diff --git a/guile-3.0.7-disable-oom-test.patch b/guile-3.0.7-disable-oom-test.patch
new file mode 100644
index 0000000..657aa93
--- /dev/null
+++ b/guile-3.0.7-disable-oom-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.7-disable-stackoverflow-test.patch b/guile-3.0.7-disable-stackoverflow-test.patch
new file mode 100644
index 0000000..dc94bae
--- /dev/null
+++ b/guile-3.0.7-disable-stackoverflow-test.patch
@@ -0,0 +1,19 @@
+commit 276b240f1694f929ce4b91bcd1827ec31e5ea1fe
+Author: Tomas Korbar <tkorbar@redhat.com>
+Date: Thu Jul 22 12:02:10 2021 +0200
+
+ Disable stack overflow test
+
+diff --git a/test-suite/standalone/test-stack-overflow b/test-suite/standalone/test-stack-overflow
+index dd54249..45a96be 100755
+--- a/test-suite/standalone/test-stack-overflow
++++ b/test-suite/standalone/test-stack-overflow
+@@ -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 in stack space. That doesn't seem like
diff --git a/guile-3.0.7-headers.patch b/guile-3.0.7-headers.patch
new file mode 100644
index 0000000..7550fef
--- /dev/null
+++ b/guile-3.0.7-headers.patch
@@ -0,0 +1,30 @@
+commit 69de79cfa71749de8e0e4dcab17b4ab36208e5fc
+Author: Tomas Korbar <tkorbar@redhat.com>
+Date: Fri Jul 16 09:32:38 2021 +0200
+
+ Fix header problem
+
+diff --git a/lib/libc-config.h b/lib/libc-config.h
+index f14013f..884272b 100644
+--- a/lib/libc-config.h
++++ b/lib/libc-config.h
+@@ -71,11 +71,6 @@
+ # endif
+ #endif
+
+-#ifndef __attribute_nonnull__
+-/* <sys/cdefs.h> either does not exist, or is too old for Gnulib.
+- Prepare to include <cdefs.h>, which is Gnulib's version of a
+- more-recent glibc <sys/cdefs.h>. */
+-
+ /* Define _FEATURES_H so that <cdefs.h> does not include <features.h>. */
+ # ifndef _FEATURES_H
+ # define _FEATURES_H 1
+@@ -171,7 +166,6 @@
+ # endif
+ # endif
+
+-#endif /* defined __glibc_likely */
+
+
+ /* A substitute for glibc <libc-symbols.h>, good enough for Gnulib. */
diff --git a/guile.spec b/guile.spec
new file mode 100644
index 0000000..2a1b05c
--- /dev/null
+++ b/guile.spec
@@ -0,0 +1,163 @@
+Name: guile
+Version: 3.0.10
+%global mver 3.0
+Release: 1
+Epoch: 5
+Summary: GNU's Ubiquitous Intelligent Language for Extension
+License: LGPL-3.0-or-later and MIT and Public Domain and GPL-3.0-or-later
+URL: https://www.gnu.org/software/guile/
+Source: https://ftp.gnu.org/gnu/guile/%{name}-%{version}.tar.xz
+Patch0: guile-3.0.7-headers.patch
+Patch1: guile-3.0.7-disable-oom-test.patch
+Patch2: guile-3.0.7-chroot.patch
+Patch3: guile-3.0.7-disable-stackoverflow-test.patch
+BuildRequires: libtool libtool-ltdl-devel gmp-devel pkgconfig(readline)
+BuildRequires: gettext-devel libunistring-devel pkgconfig(libffi) pkgconfig(bdw-gc)
+BuildRequires: make gcc
+BuildRequires: autoconf
+
+%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}
+
+%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-static --disable-error-on-warning
+%make_build
+
+%install
+%make_install
+%delete_la
+rm -f %{buildroot}%{_infodir}/dir
+
+# Our gdb doesn't support guile yet
+rm -f %{buildroot}%{_libdir}/libguile*gdb.scm
+
+mkdir -p %{buildroot}%{_datadir}/guile/site/%{mver}
+touch %{buildroot}%{_datadir}/guile/site/%{mver}/slibcat
+
+# Adjust mtimes so they are all identical on all architectures.
+# When guile.x86_64 and guile.i686 are installed at the same time on an x86_64 system,
+# the *.scm files' timestamps change, as they normally reside in /usr/share/guile/.
+# Their corresponding compiled *.go file go to /usr/lib64/, or /usr/lib/, depending on the arch.
+# The mismatch in timestamps between *.scm and *.go files makes guile to compile itself
+# everytime it's run. The following code adjusts the files so that their timestamps are the same
+# for every file, but unique between builds.
+# See https://bugzilla.redhat.com/show_bug.cgi?id=1208760.
+find %{buildroot}%{_datadir} -name '*.scm' -exec touch -r "%{_specdir}/guile3.spec" '{}' \;
+find %{buildroot}%{_libdir} -name '*.go' -exec touch -r "%{_specdir}/guile3.spec" '{}' \;
+
+%check
+%make_build check
+
+%triggerin -- slib >= 3b4-1
+rm -f %{_datadir}/guile/site/%{mver}/slibcat
+export SCHEME_LIBRARY_PATH=%{_datadir}/slib/
+
+# Build SLIB catalog
+%{_bindir}/guile%{mver} --fresh-auto-compile --no-auto-compile -c \
+ "(use-modules (ice-9 slib)) (require 'new-catalog)" &> /dev/null || \
+ rm -f %{_datadir}/guile/site/%{mver}/slibcat
+:
+
+
+%triggerun -- slib >= 3b4-1
+if [ "$2" = 0 ]; then
+ rm -f %{_datadir}/guile/site/%{mver}/slibcat
+fi
+
+%files
+%doc AUTHORS
+%license COPYING COPYING.LESSER LICENSE
+%{_bindir}/guild
+%{_bindir}/guile
+%{_bindir}/guile-tools
+%{_libdir}/libguile-%{mver}.so.1*
+%{_libdir}/guile
+%dir %{_datadir}/guile
+%dir %{_datadir}/guile/site
+%dir %{_datadir}/guile/%{mver}
+%dir %{_datadir}/guile/site/%{mver}
+%{_datadir}/guile/%{mver}/ice-9
+%{_datadir}/guile/%{mver}/language
+%{_datadir}/guile/%{mver}/oop
+%{_datadir}/guile/%{mver}/rnrs
+%{_datadir}/guile/%{mver}/scripts
+%{_datadir}/guile/%{mver}/srfi
+%{_datadir}/guile/%{mver}/sxml
+%{_datadir}/guile/%{mver}/system
+%{_datadir}/guile/%{mver}/texinfo
+%{_datadir}/guile/%{mver}/web
+%{_datadir}/guile/%{mver}/guile-procedures.txt
+%{_datadir}/guile/%{mver}/*.scm
+%{_datadir}/guile/%{mver}/scheme/*.scm
+%dir %{_datadir}/guile/%{mver}/scheme
+%ghost %{_datadir}/guile/site/%{mver}/slibcat
+
+%files devel
+%{_bindir}/guile-config
+%{_bindir}/guile-snarf
+%{_datadir}/aclocal/*
+%{_libdir}/libguile-%{mver}.so
+%{_libdir}/pkgconfig/*.pc
+%{_includedir}/guile
+
+%files help
+%doc HACKING NEWS README THANKS
+%{_mandir}/man1/*
+%{_infodir}/*
+
+%changelog
+* Tue Aug 06 2024 Funda Wang <fundawang@yeah.net> - 5:3.0.10-1
+- update to 3.0.10
+
+* 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
diff --git a/sources b/sources
new file mode 100644
index 0000000..0b1aa63
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+375f8a423a23d229552512113aa4a954 guile-3.0.10.tar.xz