import compat-guile18-1.8.8-22.el8

This commit is contained in:
CentOS Sources 2021-01-03 00:08:30 +00:00 committed by Andrew Lukoshko
commit 5839c789f7
7 changed files with 443 additions and 0 deletions

1
.compat-guile18.metadata Normal file
View File

@ -0,0 +1 @@
548d6927aeda332b117f8fc5e4e82c39a05704f9 SOURCES/guile-1.8.8.tar.gz

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/guile-1.8.8.tar.gz

View File

@ -0,0 +1,45 @@
diff -up guile-1.8.7/libguile/Makefile.in.multilib guile-1.8.7/libguile/Makefile.in
--- guile-1.8.7/libguile/Makefile.in.multilib 2009-07-05 22:25:09.000000000 +0200
+++ guile-1.8.7/libguile/Makefile.in 2009-07-16 18:07:44.000000000 +0200
@@ -1717,6 +1717,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.h.mlib" "$(DESTDIR)$(modincludedir)/$$f"; \
+ fi; done \
done
uninstall-nodist_modincludeHEADERS:
diff -up guile-1.8.7/libguile/guile-snarf.in.multilib guile-1.8.7/libguile/guile-snarf.in
--- guile-1.8.7/libguile/guile-snarf.in.multilib 2009-07-04 00:19:00.000000000 +0200
+++ guile-1.8.7/libguile/guile-snarf.in 2009-07-16 18:06:48.000000000 +0200
@@ -39,7 +39,6 @@
# #endif
#
# If the environment variable CPP is set, use its value instead of the
-# C pre-processor determined at Guile configure-time: "@CPP@".
# Code:
@@ -75,7 +74,7 @@ tempdir="$TMPDIR/guile-snarf.$$"
(umask 077 && mkdir $tempdir) || exit 1
temp="$tempdir/tmp"
-if [ x"$CPP" = x ] ; then cpp="@CPP@" ; else cpp="$CPP" ; fi
+if [ x"$CPP" = x ] ; then cpp="gcc -E" ; else cpp="$CPP" ; fi
trap "rm -rf $tempdir" 0 1 2 15
diff -up /dev/null guile-1.8.7/libguile/scmconfig.h.mlib
--- /dev/null 2009-06-24 16:43:53.264001725 +0200
+++ guile-1.8.7/libguile/scmconfig.h.mlib 2009-07-16 18:06:48.000000000 +0200
@@ -0,0 +1,6 @@
+#include <bits/wordsize.h>
+#if __WORDSIZE == 32
+#include "libguile/scmconfig-32.h"
+#else
+#include "libguile/scmconfig-64.h"
+#endif

View File

@ -0,0 +1,26 @@
diff -up guile-1.8.7/test-suite/tests/popen.test.testsuite guile-1.8.7/test-suite/tests/popen.test
--- guile-1.8.7/test-suite/tests/popen.test.testsuite 2009-07-04 00:19:00.000000000 +0200
+++ guile-1.8.7/test-suite/tests/popen.test 2009-07-16 17:09:57.000000000 +0200
@@ -168,7 +168,7 @@
(port (with-error-to-port (cdr c2p)
(lambda ()
(open-output-pipe
- "exec 0</dev/null; while true; do echo closed 1>&2; done")))))
+ "exec 0</dev/null; echo closed 1>&2; sleep 3")))))
(close-port (cdr c2p)) ;; write side
(with-epipe
(lambda ()
diff -up guile-1.8.8/test-suite/tests/srfi-14.test.srfi14test guile-1.8.8/test-suite/tests/srfi-14.test
--- guile-1.8.8/test-suite/tests/srfi-14.test.srfi14test 2010-12-13 18:24:40.000000000 +0100
+++ guile-1.8.8/test-suite/tests/srfi-14.test 2015-07-15 17:30:44.975307452 +0200
@@ -281,7 +281,9 @@
(pass-if "char-set:lower-case (size)"
(if (not %latin1)
(throw 'unresolved)
- (= (char-set-size char-set:lower-case) (+ 26 33))))
+ (let ((size (char-set-size char-set:lower-case)))
+ (or (= size (+ 26 33))
+ (= size (+ 26 35))))))
(pass-if "char-set:upper-case (size)"
(if (not %latin1)

View File

@ -0,0 +1,54 @@
commit 245608911698adb3472803856019bdd5670b6614
Author: Ludovic Courtès <ludo@gnu.org>
Date: Tue Oct 11 10:14:26 2016 +0200
Remove 'umask' calls from 'mkdir'.
Fixes <http://bugs.gnu.org/24659>.
* libguile/filesys.c (SCM_DEFINE): Remove calls to 'umask' when MODE is
unbound; instead, use 0777 as the mode. Update docstring to clarify
this.
* doc/ref/posix.texi (File System): Adjust accordingly.
* NEWS: Mention it.
diff --git a/libguile/filesys.c b/libguile/filesys.c
index e6e1db5..e6e37b0 100644
--- a/libguile/filesys.c
+++ b/libguile/filesys.c
@@ -1255,26 +1255,21 @@ SCM_DEFINE (scm_getcwd, "getcwd", 0, 0, 0,
SCM_DEFINE (scm_mkdir, "mkdir", 1, 1, 0,
(SCM path, SCM mode),
"Create a new directory named by @var{path}. If @var{mode} is omitted\n"
- "then the permissions of the directory file are set using the current\n"
- "umask. Otherwise they are set to the decimal value specified with\n"
- "@var{mode}. The return value is unspecified.")
+ "then the permissions of the directory are set to @code{#o777}\n"
+ "masked with the current umask (@pxref{Processes, @code{umask}}).\n"
+ "Otherwise they are set to the value specified with @var{mode}.\n"
+ "The return value is unspecified.")
#define FUNC_NAME s_scm_mkdir
{
int rv;
- mode_t mask;
+ mode_t c_mode;
- if (SCM_UNBNDP (mode))
- {
- mask = umask (0);
- umask (mask);
- STRING_SYSCALL (path, c_path, rv = mkdir (c_path, 0777 ^ mask));
- }
- else
- {
- STRING_SYSCALL (path, c_path, rv = mkdir (c_path, scm_to_uint (mode)));
- }
+ c_mode = SCM_UNBNDP (mode) ? 0777 : scm_to_uint (mode);
+
+ STRING_SYSCALL (path, c_path, rv = mkdir (c_path, c_mode));
if (rv != 0)
SCM_SYSERROR;
+
return SCM_UNSPECIFIED;
}
#undef FUNC_NAME

View File

@ -0,0 +1,59 @@
diff -up guile-1.8.8/guile-1.8.pc.in.deplibs guile-1.8.8/guile-1.8.pc.in
--- guile-1.8.8/guile-1.8.pc.in.deplibs 2010-12-13 18:24:39.000000000 +0100
+++ guile-1.8.8/guile-1.8.pc.in 2011-06-16 15:37:57.614346208 +0200
@@ -11,5 +11,6 @@ libguileinterface=@LIBGUILE_INTERFACE@
Name: GNU Guile
Description: GNU's Ubiquitous Intelligent Language for Extension
Version: @GUILE_VERSION@
-Libs: -L${libdir} -lguile @GUILE_LIBS@
+Libs: -L${libdir} -lguile
+Libs.private: @GUILE_LIBS@
Cflags: -I${includedir} @GUILE_CFLAGS@
diff -up guile-1.8.8/guile-config/guile-config.in.deplibs guile-1.8.8/guile-config/guile-config.in
--- guile-1.8.8/guile-config/guile-config.in.deplibs 2010-12-13 18:24:39.000000000 +0100
+++ guile-1.8.8/guile-config/guile-config.in 2010-12-14 13:49:50.703230447 +0100
@@ -152,10 +152,10 @@
(list
(get-build-info 'CFLAGS)
(if (or (string=? libdir "/usr/lib")
- (string=? libdir "/usr/lib/"))
+ (string=? libdir "/usr/lib64"))
""
(string-append "-L" (get-build-info 'libdir)))
- "-lguile -lltdl"
+ "-lguile"
(string-join other-flags)
)))
diff -up guile-1.8.8/libguile/Makefile.in.deplibs guile-1.8.8/libguile/Makefile.in
--- guile-1.8.8/libguile/Makefile.in.deplibs 2010-12-14 13:49:50.698230252 +0100
+++ guile-1.8.8/libguile/Makefile.in 2010-12-14 13:49:50.705230526 +0100
@@ -471,7 +471,7 @@ noinst_HEADERS = convert.i.c \
libguile_la_DEPENDENCIES = @LIBLOBJS@
libguile_la_LIBADD = @LIBLOBJS@
-libguile_la_LDFLAGS = @LTLIBINTL@ -version-info @LIBGUILE_INTERFACE_CURRENT@:@LIBGUILE_INTERFACE_REVISION@:@LIBGUILE_INTERFACE_AGE@ -export-dynamic -no-undefined
+libguile_la_LDFLAGS = @LTLIBINTL@ -version-info @LIBGUILE_INTERFACE_CURRENT@:@LIBGUILE_INTERFACE_REVISION@:@LIBGUILE_INTERFACE_AGE@ -export-dynamic -no-undefined -pthread
# These are headers visible as <guile/mumble.h>
pkginclude_HEADERS = gh.h
@@ -2131,8 +2131,8 @@ libpath.h: $(srcdir)/Makefile.in $(top_
@echo '#define SCM_LIBRARY_DIR "$(pkgdatadir)/$(GUILE_EFFECTIVE_VERSION)"'>>libpath.tmp
@echo '#define SCM_SITE_DIR "$(pkgdatadir)/site"' >> libpath.tmp
@echo '#define SCM_BUILD_INFO { \' >> libpath.tmp
- @echo ' { "srcdir", "'"`cd @srcdir@; pwd`"'" }, \' >> libpath.tmp
- @echo ' { "top_srcdir", "@top_srcdir_absolute@" }, \' >> libpath.tmp
+ @echo ' { "srcdir", "" }, \' >> libpath.tmp
+ @echo ' { "top_srcdir", "" }, \' >> libpath.tmp
@echo ' { "prefix", "@prefix@" }, \' >> libpath.tmp
@echo ' { "exec_prefix", "@exec_prefix@" }, \' >> libpath.tmp
@echo ' { "bindir", "@bindir@" }, \' >> libpath.tmp
@@ -2153,7 +2153,7 @@ libpath.h: $(srcdir)/Makefile.in $(top_
@echo ' { "guileversion", "@GUILE_VERSION@" }, \' >> libpath.tmp
@echo ' { "libguileinterface", "@LIBGUILE_INTERFACE@" }, \' \
>> libpath.tmp
- @echo ' { "LIBS", "@GUILE_LIBS@" }, \' >> libpath.tmp
+ @echo ' { "LIBS", "" }, \' >> libpath.tmp
@echo ' { "CFLAGS", "@GUILE_CFLAGS@" }, \' >> libpath.tmp
@echo ' { "buildstamp", "'"`date`"'" }, \' >> libpath.tmp
@echo '}' >> libpath.tmp

257
SPECS/compat-guile18.spec Normal file
View File

@ -0,0 +1,257 @@
%bcond_without emacs
%global mver 1.8
Summary: A GNU implementation of Scheme for application extensibility
Name: compat-guile18
Version: %{mver}.8
Release: 22%{?dist}
Source: ftp://ftp.gnu.org/pub/gnu/guile/guile-%{version}.tar.gz
URL: http://www.gnu.org/software/guile/
Patch1: guile-1.8.7-multilib.patch
Patch2: guile-1.8.7-testsuite.patch
Patch3: guile-1.8.8-deplibs.patch
Patch4: guile-1.8.8-cve-2016-8605.patch
License: LGPLv2+
Group: Development/Languages
BuildRequires: libtool libtool-ltdl-devel gmp-devel readline-devel
BuildRequires: gettext-devel
%{?with_emacs:BuildRequires: emacs}
Provides: guile = 5:%{version}-7
Provides: guile%{?_isa} = 5:%{version}-7
Obsoletes: guile < 5:%{version}-7
%description
GUILE (GNU's Ubiquitous Intelligent Language for Extension) is a library
implementation of the Scheme programming language, written in C. GUILE
provides a machine-independent execution platform that can be linked in
as a library during the building of extensible programs.
Install the compat-guile18 package if you'd like to add extensibility to
programs that you are developing.
%package devel
Summary: Libraries and header files for the GUILE extensibility library
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release} gmp-devel
Requires: pkgconfig
Provides: guile-devel = 5:%{version}-7
Provides: guile-devel%{?_isa} = 5:%{version}-7
Obsoletes: guile-devel < 5:%{version}-7
Obsoletes: guile-devel%{?_isa} < 5:%{version}-7
%description devel
The compat-guile18-devel package includes the libraries, header files, etc.,
that you'll need to develop applications that are linked with the
GUILE extensibility library.
You need to install the compat-guile18-devel package if you want to develop
applications that will be linked to GUILE. You'll also need to install the
compat-guile18 package.
%prep
%setup -q -n guile-%{version}
%patch1 -p1 -b .multilib
%patch2 -p1 -b .testsuite
%patch3 -p1 -b .deplibs
%patch4 -p1 -b .cve-2016-8605
%build
export CFLAGS="$RPM_OPT_FLAGS -fwrapv"
export LDFLAGS="$RPM_LD_FLAGS -Wl,--as-needed"
%configure --disable-static --disable-error-on-warning
# Remove RPATH
sed -i 's|" $sys_lib_dlsearch_path "|" $sys_lib_dlsearch_path %{_libdir} "|' \
{,guile-readline/}libtool
make %{?_smp_mflags}
%install
make DESTDIR=$RPM_BUILD_ROOT install
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/guile/site
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libguile*.la
# Necessary renaming and removing
rm -rf ${RPM_BUILD_ROOT}%{_infodir}
mv ${RPM_BUILD_ROOT}%{_bindir}/guile{,%{mver}}
mv ${RPM_BUILD_ROOT}%{_bindir}/guile{,%{mver}}-tools
mv ${RPM_BUILD_ROOT}%{_mandir}/man1/guile{,%{mver}}.1
mv ${RPM_BUILD_ROOT}%{_bindir}/guile{,%{mver}}-config
mv ${RPM_BUILD_ROOT}%{_bindir}/guile{,%{mver}}-snarf
mv ${RPM_BUILD_ROOT}%{_datadir}/aclocal/guile{,%{mver}}.m4
sed -i -e 's|/usr/bin/guile|/usr/bin/guile%{mver}|' \
${RPM_BUILD_ROOT}%{_bindir}/guile%{mver}-config
sed -i -e 's|guile-tools|guile%{mver}-tools|g' \
${RPM_BUILD_ROOT}%{_bindir}/guile%{mver}-tools
sed -i -e 's|guile-snarf|guile%{mver}-snarf|g' \
${RPM_BUILD_ROOT}%{_bindir}/guile%{mver}-snarf
ac=${RPM_BUILD_ROOT}%{_datadir}/aclocal/guile%{mver}.m4
sed -i -e 's|,guile|,guile%{mver}|g' $ac
sed -i -e 's|guile-tools|guile%{mver}-tools|g' $ac
sed -i -e 's|guile-config|guile%{mver}-config|g' $ac
sed -i -e 's|GUILE_PROGS|GUILE1_8_PROGS|g' $ac
sed -i -e 's|GUILE_FLAGS|GUILE1_8_FLAGS|g' $ac
sed -i -e 's|GUILE_SITE_DIR|GUILE1_8_SITE_DIR|g' $ac
sed -i -e 's|GUILE_CHECK|GUILE1_8_CHECK|g' $ac
sed -i -e 's|GUILE_MODULE_CHECK|GUILE1_8_MODULE_CHECK|g' $ac
sed -i -e 's|GUILE_MODULE_AVAILABLE|GUILE1_8_MODULE_AVAILABLE|g' $ac
sed -i -e 's|GUILE_MODULE_REQUIRED|GUILE1_8_MODULE_REQUIRED|g' $ac
sed -i -e 's|GUILE_MODULE_EXPORTS|GUILE1_8_MODULE_EXPORTS|g' $ac
sed -i -e 's|GUILE_MODULE_REQUIRED_EXPORT|GUILE1_8_MODULE_REQUIRED_EXPORT|g' $ac
# Compress large documentation
bzip2 NEWS
touch $RPM_BUILD_ROOT%{_datadir}/guile/%{mver}/slibcat
ln -s ../../slib $RPM_BUILD_ROOT%{_datadir}/guile/%{mver}/slib
%check
make %{?_smp_mflags} check
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%triggerin -- slib
# Remove files created in guile < 1.8.3-2
rm -f %{_datadir}/guile/site/slib{,cat}
ln -sfT ../../slib %{_datadir}/guile/%{mver}/slib
rm -f %{_datadir}/guile/%{mver}/slibcat
export SCHEME_LIBRARY_PATH=%{_datadir}/slib/
# Build SLIB catalog
for pre in \
"(use-modules (ice-9 slib))" \
"(load \"%{_datadir}/slib/guile.init\")"
do
%{_bindir}/guile%{mver} -c "$pre
(set! implementation-vicinity (lambda ()
\"%{_datadir}/guile/%{mver}/\"))
(require 'new-catalog)" &> /dev/null && break
rm -f %{_datadir}/guile/%{mver}/slibcat
done
:
%triggerun -- slib
if [ "$2" = 0 ]; then
rm -f %{_datadir}/guile/%{mver}/slib{,cat}
fi
%files
%doc AUTHORS COPYING* ChangeLog HACKING NEWS.bz2 README THANKS
%{_bindir}/guile%{mver}
%{_bindir}/guile%{mver}-tools
%{_libdir}/libguile*.so.*
# The following unversioned libraries are needed in runtime
%{_libdir}/libguilereadline-*.so
%{_libdir}/libguile-srfi-srfi-*.so
%dir %{_datadir}/guile
%dir %{_datadir}/guile/%{mver}
%{_datadir}/guile/%{mver}/ice-9
%{_datadir}/guile/%{mver}/lang
%{_datadir}/guile/%{mver}/oop
%{_datadir}/guile/%{mver}/scripts
%{_datadir}/guile/%{mver}/srfi
%{_datadir}/guile/%{mver}/guile-procedures.txt
%ghost %{_datadir}/guile/%{mver}/slibcat
%ghost %{_datadir}/guile/%{mver}/slib
%dir %{_datadir}/guile/site
%if %{with emacs}
%dir %{_datadir}/emacs/site-lisp
%{_datadir}/emacs/site-lisp/*.el
%endif
%{_mandir}/man1/guile%{mver}.1*
%files devel
%{_bindir}/guile%{mver}-config
%{_bindir}/guile%{mver}-snarf
%{_datadir}/aclocal/*
%{_libdir}/libguile.so
%{_libdir}/pkgconfig/*.pc
%{_includedir}/guile
%{_includedir}/libguile
%{_includedir}/libguile.h
%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.8-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Feb 1 2018 Florian Weimer <fweimer@redhat.com> - 1.8.8-21
- Use LDFLAGS from redhat-rpm-config
* Mon Jan 29 2018 Miroslav Lichvar <mlichvar@redhat.com> - 1.8.8-20
- Remove incorrect arch-specific Obsoletes (#1537209)
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 1.8.8-19
- Rebuilt for switch to libxcrypt
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.8-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.8-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.8-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.8.8-15
- Rebuild for readline 7.x
* Wed Oct 12 2016 Miroslav Lichvar <mlichvar@redhat.com> - 1.8.8-14
- Remove thread-unsafe umask modification in mkdir (CVE-2016-8605)
* Wed Feb 17 2016 Miroslav Lichvar <mlichvar@redhat.com> - 1.8.8-13
- Add -fwrapv to CFLAGS (#1307394)
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.8-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jul 15 2015 Miroslav Lichvar <mlichvar@redhat.com> - 1.8.8-11
- Fix building with new glibc (#1239406)
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.8-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.8-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.8-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.8-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.8-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Mon Jan 21 2013 Jan Synáček <jsynacek@redhat.com> - 1.8.8-5
- Add additional Provides and Obsoletes with %%{?_isa} to fix upgrade path
* Fri Jan 18 2013 Jan Synáček <jsynacek@redhat.com> - 1.8.8-4
- Bump Provides/Obsoletes by a release
- Add Provides/Obsoletes to -devel package as well
- Add a comment about unversion libraries
- Fix mixed tabs/spaces (remove tabs)
* Thu Jan 17 2013 Jan Synáček <jsynacek@redhat.com> - 5:1.8.8-3
- Move .so files back to the main package (needed in runtime)
* Thu Jan 17 2013 Jan Synáček <jsynacek@redhat.com> - 5:1.8.8-2
- Move unversioned .so files to -devel package
- Remove unnecessary %%clear
- Use %%global instead of %%define
- Remove unnecessary (compatible) licenses
- Fix %%post onliner
- Compile with --as-needed
- Add _isa flag where appropriate
- Correctly specify Provides and Obsoletes
- Rename to guile-compat18
* Fri Oct 19 2012 Jan Synáček <jsynacek@redhat.com> - 5:1.8.8-1
- Make compat-package