aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--guix/guile-bytestructures/guile-bytestructures.spec21
-rw-r--r--guix/guile-gcrypt/guile-gcrypt.spec13
-rw-r--r--guix/guile-git/guile-git.spec22
-rw-r--r--guix/guile-json/guile-json.spec13
-rw-r--r--guix/guile-sqlite3/guile-sqlite3.spec16
-rw-r--r--guix/guile-ssh/guile-ssh-0.11.3-fix-segfault.patch104
-rw-r--r--guix/guile-ssh/guile-ssh-0.11.3-libssh-0.8-name.patch88
-rw-r--r--guix/guile-ssh/guile-ssh-0.11.3-libssh-0.8-tests.patch26
-rw-r--r--guix/guile-ssh/guile-ssh.spec29
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