+dnl GUIX_CHECK_GUILE_SSH
+dnl
+dnl Check whether a recent-enough Guile-SSH is available.
+AC_DEFUN([GUIX_CHECK_GUILE_SSH], [
+ dnl Check whether '#:nodelay' paramater to 'make-session' (introduced in
+ dnl 0.13.0) is present.
+ AC_CACHE_CHECK([whether Guile-SSH is available and recent enough],
+ [guix_cv_have_recent_guile_ssh],
+ [GUILE_CHECK([retval],
+ [(and (@ (ssh channel) channel-send-eof)
+ (@ (ssh popen) open-remote-pipe)
+ (@ (ssh dist node) node-eval)
+ (@ (ssh auth) userauth-gssapi!)
+ ((@ (ssh session) make-session) #:nodelay #t))])
+ if test "$retval" = 0; then
+ guix_cv_have_recent_guile_ssh="yes"
+ else
+ guix_cv_have_recent_guile_ssh="no"
+ fi])
+])
+
+dnl GUIX_CHECK_GUILE_SQLITE3
+dnl
+dnl Check whether a recent-enough Guile-Sqlite3 is available.
+AC_DEFUN([GUIX_CHECK_GUILE_SQLITE3], [
+ dnl Check whether 'sqlite-bind-arguments' is available. It was introduced
+ dnl in February 2018:
+ dnl <https://notabug.org/guile-sqlite3/guile-sqlite3/commit/1cd1dec96a9999db48c0ff45bab907efc637247f>.
+ AC_CACHE_CHECK([whether Guile-Sqlite3 is available and recent enough],
+ [guix_cv_have_recent_guile_sqlite3],
+ [GUILE_CHECK([retval],
+ [(@ (sqlite3) sqlite-bind-arguments)])
+ if test "$retval" = 0; then
+ guix_cv_have_recent_guile_sqlite3="yes"
+ else
+ guix_cv_have_recent_guile_sqlite3="no"
+ fi])
+])
+
+dnl GUIX_CHECK_GUILE_JSON