diff options
-rw-r--r-- | guix/guile-bytestructures/guile-bytestructures.spec | 21 | ||||
-rw-r--r-- | guix/guile-gcrypt/guile-gcrypt.spec | 13 | ||||
-rw-r--r-- | guix/guile-git/guile-git.spec | 22 | ||||
-rw-r--r-- | guix/guile-json/guile-json.spec | 13 | ||||
-rw-r--r-- | guix/guile-sqlite3/guile-sqlite3.spec | 16 | ||||
-rw-r--r-- | guix/guile-ssh/guile-ssh-0.11.3-fix-segfault.patch | 104 | ||||
-rw-r--r-- | guix/guile-ssh/guile-ssh-0.11.3-libssh-0.8-name.patch | 88 | ||||
-rw-r--r-- | guix/guile-ssh/guile-ssh-0.11.3-libssh-0.8-tests.patch | 26 | ||||
-rw-r--r-- | guix/guile-ssh/guile-ssh.spec | 29 |
9 files changed, 287 insertions, 45 deletions
diff --git a/guix/guile-bytestructures/guile-bytestructures.spec b/guix/guile-bytestructures/guile-bytestructures.spec index d6ca82a..6f94781 100644 --- a/guix/guile-bytestructures/guile-bytestructures.spec +++ b/guix/guile-bytestructures/guile-bytestructures.spec @@ -1,6 +1,6 @@ Name: guile-bytestructures Version: 1.0.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Structured access library to bytevector contents for Guile License: GPLv3+ @@ -8,11 +8,11 @@ URL: https://github.com/TaylanUB/scheme-bytestructures Source0: https://github.com/TaylanUB/scheme-bytestructures/releases/download/v%{version}/bytestructures-%{version}.tar.gz %global debug_package %{nil} -%global guile_source_dir %{_datadir}/guile/site/2.0 -%global guile_ccache_dir %{_libdir}/guile/2.0/site-ccache +%global guile_source_dir %{_datadir}/guile/site/2.2 +%global guile_ccache_dir %{_libdir}/guile/2.2/site-ccache -BuildRequires: autoconf, automake, pkgconfig(guile-2.0) -Requires: guile +BuildRequires: autoconf, automake, pkgconfig(guile-2.2) +Requires: guile22 %description This library offers a system imitating the type system of the C programming @@ -27,7 +27,7 @@ first-class status. %build -%configure +%configure GUILE=%{_bindir}/guile2.2 GUILD=%{_bindir}/guild2.2 %make_build @@ -40,7 +40,7 @@ first-class status. %doc README.md %dir %{guile_source_dir}/bytestructures %dir %{guile_ccache_dir}/bytestructures -%{guile_source_dir}/bytestructures/body/*.scm +%{guile_source_dir}/bytestructures/body %{guile_source_dir}/bytestructures/guile.scm %{guile_ccache_dir}/bytestructures/guile.go %dir %{guile_source_dir}/bytestructures/guile @@ -51,12 +51,13 @@ first-class status. %dir %{guile_ccache_dir}/bytestructures/r6 %{guile_source_dir}/bytestructures/r6/bytevectors.scm %{guile_ccache_dir}/bytestructures/r6/bytevectors.go -%exclude %{guile_source_dir}/bytestructures/body -%exclude %{guile_source_dir}/bytestructures/r7 -%exclude %{guile_source_dir}/run-tests.*.scm +%{guile_source_dir}/bytestructures/r7 %changelog +* Wed May 15 2019 Ting-Wei Lan <lantw44@gmail.com> - 1.0.5-2 +- Switch to Guile 2.2 + * Thu May 02 2019 Ting-Wei Lan <lantw44@gmail.com> - 1.0.5-1 - Update to 1.0.5 diff --git a/guix/guile-gcrypt/guile-gcrypt.spec b/guix/guile-gcrypt/guile-gcrypt.spec index cc7bae8..b852fc9 100644 --- a/guix/guile-gcrypt/guile-gcrypt.spec +++ b/guix/guile-gcrypt/guile-gcrypt.spec @@ -2,19 +2,19 @@ Name: guile-gcrypt Version: 0.1.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Guile bindings to Libgcrypt License: GPLv3+ URL: https://notabug.org/cwebber/guile-gcrypt Source0: https://notabug.org/cwebber/guile-gcrypt/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -%global guile_source_dir %{_datadir}/guile/site/2.0 -%global guile_ccache_dir %{_libdir}/guile/2.0/site-ccache +%global guile_source_dir %{_datadir}/guile/site/2.2 +%global guile_ccache_dir %{_libdir}/guile/2.2/site-ccache BuildRequires: autoconf, automake, texinfo -BuildRequires: pkgconfig(guile-2.0), libgcrypt-devel -Requires: guile, libgcrypt-devel +BuildRequires: pkgconfig(guile-2.2), libgcrypt-devel +Requires: guile22, libgcrypt-devel Requires(post): info Requires(preun): info @@ -67,6 +67,9 @@ fi %changelog +* Wed May 15 2019 Ting-Wei Lan <lantw44@gmail.com> - 0.1.0-3 +- Switch to Guile 2.2 + * Wed May 01 2019 Ting-Wei Lan <lantw44@gmail.com> - 0.1.0-2 - Rebuilt for Fedora 30 and 31 diff --git a/guix/guile-git/guile-git.spec b/guix/guile-git/guile-git.spec index 1ff7cf8..1136ef0 100644 --- a/guix/guile-git/guile-git.spec +++ b/guix/guile-git/guile-git.spec @@ -1,19 +1,19 @@ Name: guile-git Version: 0.2.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Guile bindings of libgit2 -License: GPLv3+ +License: GPLv3+ and LGPLv3+ URL: https://gitlab.com/guile-git/guile-git Source0: https://gitlab.com/guile-git/guile-git/uploads/160f6a36c1be8d4fc1990a193081a04d/guile-git-%{version}.tar.gz %global debug_package %{nil} -%global guile_source_dir %{_datadir}/guile/site/2.0 -%global guile_ccache_dir %{_libdir}/guile/2.0/site-ccache +%global guile_source_dir %{_datadir}/guile/site/2.2 +%global guile_ccache_dir %{_libdir}/guile/2.2/site-ccache BuildRequires: autoconf, automake, texinfo -BuildRequires: pkgconfig(guile-2.0), pkgconfig(libgit2), guile-bytestructures -Requires: guile, guile-bytestructures, libgit2-devel +BuildRequires: pkgconfig(guile-2.2), pkgconfig(libgit2), guile-bytestructures +Requires: guile22, guile-bytestructures, libgit2-devel Requires(post): info Requires(preun): info @@ -27,7 +27,7 @@ repositories of the Git version control system. %build -%configure +%configure GUILE=%{_bindir}/guile2.2 GUILD=%{_bindir}/guild2.2 %make_build @@ -50,8 +50,8 @@ fi %files -%license COPYING -%doc README.md +%license COPYING COPYING.LESSER +%doc NEWS README.md %{guile_source_dir}/git.scm %{guile_ccache_dir}/git.go %dir %{guile_source_dir}/git @@ -67,6 +67,10 @@ fi %changelog +* Wed May 15 2019 Ting-Wei Lan <lantw44@gmail.com> - 0.2.0-2 +- Switch to Guile 2.2 +- Fix license + * Thu May 02 2019 Ting-Wei Lan <lantw44@gmail.com> - 0.2.0-1 - Update to 0.2.0 diff --git a/guix/guile-json/guile-json.spec b/guix/guile-json/guile-json.spec index eeb9433..e9e955e 100644 --- a/guix/guile-json/guile-json.spec +++ b/guix/guile-json/guile-json.spec @@ -2,18 +2,18 @@ Name: guile-json Version: 1.3.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: JSON module for Guile License: GPLv3+ URL: https://savannah.nongnu.org/projects/guile-json Source0: https://download.savannah.gnu.org/releases/%{name}/%{name}-%{version}.tar.gz -%global guile_source_dir %{_datadir}/guile/site/2.0 -%global guile_ccache_dir %{_libdir}/guile/2.0/site-ccache +%global guile_source_dir %{_datadir}/guile/site/2.2 +%global guile_ccache_dir %{_libdir}/guile/2.2/site-ccache -BuildRequires: pkgconfig(guile-2.0) -Requires: guile +BuildRequires: pkgconfig(guile-2.2) +Requires: guile22 %description guile-json is a JSON module for Guile. It supports parsing and building JSON @@ -54,6 +54,9 @@ features: %changelog +* Wed May 15 2019 Ting-Wei Lan <lantw44@gmail.com> - 1.3.2-3 +- Switch to Guile 2.2 + * Wed May 01 2019 Ting-Wei Lan <lantw44@gmail.com> - 1.3.2-2 - Rebuilt for Fedora 30 and 31 diff --git a/guix/guile-sqlite3/guile-sqlite3.spec b/guix/guile-sqlite3/guile-sqlite3.spec index cc41f48..742ceac 100644 --- a/guix/guile-sqlite3/guile-sqlite3.spec +++ b/guix/guile-sqlite3/guile-sqlite3.spec @@ -2,18 +2,18 @@ Name: guile-sqlite3 Version: 0.1.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Guile bindings for the SQLite3 database engine License: LGPLv3+ URL: https://notabug.org/guile-sqlite3/guile-sqlite3 Source0: https://notabug.org/guile-sqlite3/guile-sqlite3/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -%global guile_source_dir %{_datadir}/guile/site/2.0 -%global guile_ccache_dir %{_libdir}/guile/2.0/site-ccache +%global guile_source_dir %{_datadir}/guile/site/2.2 +%global guile_ccache_dir %{_libdir}/guile/2.2/site-ccache -BuildRequires: autoconf, automake, pkgconfig(guile-2.0), pkgconfig(sqlite3) -Requires: guile, sqlite-devel +BuildRequires: autoconf, automake, pkgconfig(guile-2.2), pkgconfig(sqlite3) +Requires: guile22, sqlite-devel %description Guile-SQLite3: Guile bindings for the SQLite3 database engine. @@ -39,12 +39,16 @@ autoreconf -fiv %files %license COPYING COPYING.LESSER -%doc AUTHORS NEWS README +%doc AUTHORS ChangeLog NEWS README %{guile_source_dir}/sqlite3.scm %{guile_ccache_dir}/sqlite3.go %changelog +* Wed May 15 2019 Ting-Wei Lan <lantw44@gmail.com> - 0.1.0-5 +- Switch to Guile 2.2 +- Add ChangeLog to doc + * Wed May 01 2019 Ting-Wei Lan <lantw44@gmail.com> - 0.1.0-4 - Rebuilt for Fedora 30 and 31 diff --git a/guix/guile-ssh/guile-ssh-0.11.3-fix-segfault.patch b/guix/guile-ssh/guile-ssh-0.11.3-fix-segfault.patch new file mode 100644 index 0000000..787dc04 --- /dev/null +++ b/guix/guile-ssh/guile-ssh-0.11.3-fix-segfault.patch @@ -0,0 +1,104 @@ +From c468d9c2dc343446757360857a295736359b3024 Mon Sep 17 00:00:00 2001 +From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com> +Date: Tue, 7 Aug 2018 07:55:00 +0300 +Subject: [PATCH] libguile-ssh/channel-type.c (ptob_close): Bugfix: fix a + segfault + +'ptob_close' would always get a segfault when it tried to free a closed +channel. This patch fixes that by adding a check if a channel is already +closed. + +Reported by Michael Bowcutt <mbowcutt@case.edu> in + <https://github.com/artyom-poptsov/guile-ssh/issues/8> + and Njagi Mwaniki in a personal email. + +* libguile-ssh/channel-type.c (ptob_close): Check if a channel is already + closed before trying to close and free it. Improve logging. +* libguile-ssh/log.c (_gssh_log_debug, _gssh_log_debug1): New procedures +* libguile-ssh/log.h: Likewise. +--- + libguile-ssh/channel-type.c | 10 +++++++++- + libguile-ssh/log.c | 21 +++++++++++++++++++++ + libguile-ssh/log.h | 3 +++ + 3 files changed, 33 insertions(+), 1 deletion(-) + +diff --git a/libguile-ssh/channel-type.c b/libguile-ssh/channel-type.c +index ffcca64..4b0b9ae 100644 +--- a/libguile-ssh/channel-type.c ++++ b/libguile-ssh/channel-type.c +@@ -29,6 +29,7 @@ + #include "channel-type.h" + #include "error.h" + #include "common.h" ++#include "log.h" + + + /* The channel port type. Guile 2.2 introduced a new port API, so we have a +@@ -223,10 +224,17 @@ ptob_close (SCM channel) + ptob_flush (channel); + #endif + +- if (ch) ++ if (ch && ssh_channel_is_open (ch->ssh_channel)) + { ++ _gssh_log_debug ("ptob_close", "closing and freeing the channel...", ++ channel); + ssh_channel_close (ch->ssh_channel); + ssh_channel_free (ch->ssh_channel); ++ _gssh_log_debug1 ("ptob_close", "closing and freeing the channel... done"); ++ } ++ else ++ { ++ _gssh_log_debug1 ("ptob_close", "the channel is already freeed."); + } + + SCM_SETSTREAM (channel, NULL); +diff --git a/libguile-ssh/log.c b/libguile-ssh/log.c +index 6588749..e0e3027 100644 +--- a/libguile-ssh/log.c ++++ b/libguile-ssh/log.c +@@ -270,6 +270,27 @@ _gssh_log_warning (const char* function_name, const char* msg, SCM args) + scm_dynwind_end (); + } + ++void ++_gssh_log_debug (const char* function_name, const char* msg, SCM args) ++{ ++ char *c_str; ++ scm_dynwind_begin (0); ++ ++ c_str = scm_to_locale_string (scm_object_to_string (args, SCM_UNDEFINED)); ++ scm_dynwind_free (c_str); ++ ++ _ssh_log (SSH_LOG_FUNCTIONS, function_name, "[GSSH DEBUG] %s: %s", ++ msg, c_str); ++ ++ scm_dynwind_end (); ++} ++ ++void ++_gssh_log_debug1 (const char* function_name, const char* msg) ++{ ++ _ssh_log (SSH_LOG_FUNCTIONS, function_name, "[GSSH DEBUG] %s", msg); ++} ++ + + /* Initialization */ + +diff --git a/libguile-ssh/log.h b/libguile-ssh/log.h +index dd1424b..c3fe866 100644 +--- a/libguile-ssh/log.h ++++ b/libguile-ssh/log.h +@@ -28,6 +28,9 @@ extern void _gssh_log_error (const char* function_name, const char* msg, + + extern void _gssh_log_warning (const char* function_name, const char* msg, + SCM args); ++extern void _gssh_log_debug (const char* function_name, const char* msg, ++ SCM args); ++extern void _gssh_log_debug1 (const char* function_name, const char* msg); + + extern void init_log_func (void); + +-- +2.20.1 + diff --git a/guix/guile-ssh/guile-ssh-0.11.3-libssh-0.8-name.patch b/guix/guile-ssh/guile-ssh-0.11.3-libssh-0.8-name.patch new file mode 100644 index 0000000..0f3d58d --- /dev/null +++ b/guix/guile-ssh/guile-ssh-0.11.3-libssh-0.8-name.patch @@ -0,0 +1,88 @@ +From 01cafef0dd87b6afda41942070e73b55b45a5ed2 Mon Sep 17 00:00:00 2001 +From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com> +Date: Mon, 1 Oct 2018 05:11:27 +0300 +Subject: [PATCH] libguile-ssh: Fix building with libssh 0.8 + +The 'libguile-ssh' library would fail to build due to missing 'libssh_threads' +library that was removed libssh 0.8. This patch fixes that. + +Reported by lantw44 in +<https://github.com/artyom-poptsov/guile-ssh/issues/9> + +* configure.ac: Add check for libssh 0.8 +* libguile-ssh/Makefile.am: Don't use 'libssh_threads' library when building + with libssh 0.8+. +* NEWS: Update. +--- + NEWS | 17 +++++++++++++++++ + configure.ac | 7 +++++++ + libguile-ssh/Makefile.am | 7 ++++++- + 3 files changed, 30 insertions(+), 1 deletion(-) + +diff --git a/NEWS b/NEWS +index 84d455b..8c73d1b 100644 +--- a/NEWS ++++ b/NEWS +@@ -7,6 +7,23 @@ Copyright (C) Artyom V. Poptsov <poptsov.artyom@gmail.com> + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. + ++* Unreleased ++** Bugfixes ++*** Fix a segfault in 'libguile-ssh' ++ The library would always fail with segmentation fault error when an ++ application tried to free a closed channel. Now it should be fixed. ++ ++ Reported by Michael Bowcutt <mbowcutt@case.edu> in ++ <https://github.com/artyom-poptsov/guile-ssh/issues/8> ++ and Njagi Mwaniki in a personal email. ++*** Fix building with libssh 0.8 ++ The 'libguile-ssh' library would fail to build due to missing ++ 'libssh_threads' library that was removed libssh 0.8. Now 'libguile-ssh' ++ builds without 'libssh_threads' when using libssh 0.8+. ++ ++ Reported by lantw44 in ++ <https://github.com/artyom-poptsov/guile-ssh/issues/9> ++ + * Changes in version 0.11.3 (2018-03-27) + ** Bugfixes + *** 'node-run-server' now checks for errors +diff --git a/configure.ac b/configure.ac +index c818208..74271f7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -64,6 +64,13 @@ PKG_CHECK_MODULES([LIBSSH_0_7_3], [libssh >= 0.7.3], + Using a potentially vulnerable version of libssh + <https://www.libssh.org/2016/02/23/libssh-0-7-3-security-and-bugfix-release/>])]) + ++dnl Checking for libssh 0.8.x ++PKG_CHECK_MODULES([LIBSSH_0_8], [libssh >= 0.8.0], ++ [AC_DEFINE(HAVE_LIBSSH_0_8, 1, [Use libssh 0.8])], ++ [AC_DEFINE(HAVE_LIBSSH_0_8, 0, [Use libssh < 0.8])]) ++ ++AM_CONDITIONAL(HAVE_LIBSSH_0_8, $HAVE_LIBSSH_0_8) ++ + # ------------------------------------------------------------------------------- + + dnl These macros must be provided by guile.m4. +diff --git a/libguile-ssh/Makefile.am b/libguile-ssh/Makefile.am +index 1ffb6c0..523d77a 100644 +--- a/libguile-ssh/Makefile.am ++++ b/libguile-ssh/Makefile.am +@@ -44,7 +44,12 @@ BUILT_SOURCES = auth.x channel-func.x channel-type.x error.x \ + + libguile_ssh_la_CPPFLAGS = $(GUILE_CFLAGS) + +-libguile_ssh_la_LDFLAGS = -module -no-undefined -lssh_threads -lssh \ ++SSH_LD_FLAGS = -lssh ++if ! HAVE_LIBSSH_0_8 ++SSH_LD_FLAGS += -lssh_threads ++endif ++ ++libguile_ssh_la_LDFLAGS = -module -no-undefined $(SSH_LD_FLAGS) \ + -version-info $(LIBGUILE_SSH_INTERFACE) $(GUILE_LDFLAGS) + + AM_CFLAGS = $(WARN_CFLAGS) +-- +2.20.1 + diff --git a/guix/guile-ssh/guile-ssh-0.11.3-libssh-0.8-tests.patch b/guix/guile-ssh/guile-ssh-0.11.3-libssh-0.8-tests.patch new file mode 100644 index 0000000..8b1b652 --- /dev/null +++ b/guix/guile-ssh/guile-ssh-0.11.3-libssh-0.8-tests.patch @@ -0,0 +1,26 @@ +From dac7ae6f3347056f46d664f6104cf6425ae25394 Mon Sep 17 00:00:00 2001 +From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com> +Date: Wed, 2 Jan 2019 11:47:50 +0300 +Subject: [PATCH] tests/server.scm ("server-set!, valid values"): Add fix for + libssh 0.8 + +--- + tests/server.scm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/server.scm b/tests/server.scm +index 7a37a96..c7f8b6c 100644 +--- a/tests/server.scm ++++ b/tests/server.scm +@@ -52,7 +52,7 @@ + (topdir (getenv "abs_top_srcdir")) + (options `((bindaddr "127.0.0.1") + (bindport 22) +- ,(if (= %libssh-minor-version 7) ++ ,(if (>= %libssh-minor-version 7) + (list 'hostkey %rsakey %dsakey) + '(hostkey "ssh-rsa" "ssh-dss")) + (rsakey ,%rsakey) +-- +2.20.1 + diff --git a/guix/guile-ssh/guile-ssh.spec b/guix/guile-ssh/guile-ssh.spec index fcfc558..a848262 100644 --- a/guix/guile-ssh/guile-ssh.spec +++ b/guix/guile-ssh/guile-ssh.spec @@ -1,19 +1,23 @@ Name: guile-ssh Version: 0.11.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A library that provides access to the SSH protocol for GNU Guile License: GPLv3+ URL: https://github.com/artyom-poptsov/guile-ssh Source0: https://github.com/artyom-poptsov/guile-ssh/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -%global guile_source_dir %{_datadir}/guile/site/2.0 -%global guile_ccache_dir %{_libdir}/guile/2.0/site-ccache +Patch0: guile-ssh-0.11.3-fix-segfault.patch +Patch1: guile-ssh-0.11.3-libssh-0.8-name.patch +Patch2: guile-ssh-0.11.3-libssh-0.8-tests.patch + +%global guile_source_dir %{_datadir}/guile/site/2.2 +%global guile_ccache_dir %{_libdir}/guile/2.2/site-ccache BuildRequires: gcc BuildRequires: autoconf, automake, libtool, texinfo -BuildRequires: pkgconfig(guile-2.0), pkgconfig(libssh) -Requires: guile +BuildRequires: pkgconfig(guile-2.2), pkgconfig(libssh) +Requires: guile22 Requires(post): info Requires(preun): info @@ -24,15 +28,17 @@ written in GNU Guile interpreter. It is built upon the libssh library. %prep %autosetup -p1 -# This test doesn't pass and the author haven't fixed it. -# https://github.com/artyom-poptsov/guile-ssh/issues/10 -sed -i '/^ server\.scm \\$/d' tests/Makefile.am %build autoreconf -fi -%configure --disable-rpath --disable-static -%make_build +%configure \ + --disable-rpath \ + --disable-static \ + GUILE=%{_bindir}/guile2.2 \ + GUILD=%{_bindir}/guild2.2 +%make_build \ + GUILE_SNARF=%{_bindir}/guile-snarf2.2 %check @@ -74,6 +80,9 @@ fi %changelog +* Fri May 17 2019 Ting-Wei Lan <lantw44@gmail.com> - 0.11.3-4 +- Switch to Guile 2.2 + * Wed May 01 2019 Ting-Wei Lan <lantw44@gmail.com> - 0.11.3-3 - Rebuilt for Fedora 30 and 31 |