[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
10/13: build: Check for Guile-SQLite3.
From: |
Ludovic Courtès |
Subject: |
10/13: build: Check for Guile-SQLite3. |
Date: |
Fri, 1 Jun 2018 09:38:33 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit d59e75f3b5b82692bd250a1a3a9965397bb588c5
Author: Ludovic Courtès <address@hidden>
Date: Sun May 27 15:43:52 2018 +0200
build: Check for Guile-SQLite3.
* m4/guix.m4 (GUIX_CHECK_GUILE_SQLITE3): New macro.
* configure.ac: Use it and define 'HAVE_GUILE_SQLITE3'.
* guix/self.scm (specification->package): Add "guile-sqlite3".
(compiled-guix)[guile-sqlite3]: New variable.
[dependencies]: Add it.
---
configure.ac | 5 +++++
guix/self.scm | 9 ++++++++-
m4/guix.m4 | 18 ++++++++++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 557da63..d338bfd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -124,6 +124,11 @@ dnl Guile-JSON is used in various places.
GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"])
+dnl Guile-Sqlite3 is used by the (guix store ...) modules.
+GUIX_CHECK_GUILE_SQLITE3
+AM_CONDITIONAL([HAVE_GUILE_SQLITE3],
+ [test "x$guix_cv_have_recent_guile_sqlite3" = "xyes"])
+
dnl Make sure we have a full-fledged Guile.
GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads])
diff --git a/guix/self.scm b/guix/self.scm
index 9620abf..64cf303 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -82,6 +82,7 @@ GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the
packages matches."
("guile-json" (ref '(gnu packages guile) 'guile-json))
("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh))
("guile-git" (ref '(gnu packages guile) 'guile-git))
+ ("guile-sqlite3" (ref '(gnu packages guile) 'guile-sqlite3))
("libgcrypt" (ref '(gnu packages gnupg) 'libgcrypt))
("zlib" (ref '(gnu packages compression) 'zlib))
("gzip" (ref '(gnu packages compression) 'gzip))
@@ -92,6 +93,7 @@ GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the
packages matches."
("guile2.0-json" (ref '(gnu packages guile) 'guile2.0-json))
("guile2.0-ssh" (ref '(gnu packages ssh) 'guile2.0-ssh))
("guile2.0-git" (ref '(gnu packages guile) 'guile2.0-git))
+ ;; XXX: No "guile2.0-sqlite3".
(_ #f)))) ;no such package
@@ -216,11 +218,16 @@ list of file-name/file-like objects suitable as inputs to
'imported-files'."
"guile2.0-git"))
+ (define guile-sqlite3
+ (package-for-guile guile-version
+ "guile-sqlite3"
+ "guile2.0-sqlite3"))
+
(define dependencies
(match (append-map (lambda (package)
(cons (list "x" package)
(package-transitive-propagated-inputs package)))
- (list guile-git guile-json guile-ssh))
+ (list guile-git guile-json guile-ssh guile-sqlite3))
(((labels packages _ ...) ...)
packages)))
diff --git a/m4/guix.m4 b/m4/guix.m4
index 8e174e9..a6897be 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -174,6 +174,24 @@ AC_DEFUN([GUIX_CHECK_GUILE_SSH], [
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/civodul/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_TEST_ROOT_DIRECTORY
AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [
AC_CACHE_CHECK([for unit test root directory],
- branch master updated (5d66988 -> bf5bf57), Ludovic Courtès, 2018/06/01
- 02/13: pack: Adjust test to expect relative symlinks., Ludovic Courtès, 2018/06/01
- 01/13: tests: Fix arguments in pack test., Ludovic Courtès, 2018/06/01
- 06/13: bootloader: grub: Simplify 'svg->png'., Ludovic Courtès, 2018/06/01
- 12/13: database: 'register-path' resets timestamps., Ludovic Courtès, 2018/06/01
- 05/13: tests: ssh: Use 'with-extensions'., Ludovic Courtès, 2018/06/01
- 13/13: Add (guix store deduplication)., Ludovic Courtès, 2018/06/01
- 07/13: bootloader: grub: Use 'with-extensions'., Ludovic Courtès, 2018/06/01
- 10/13: build: Check for Guile-SQLite3.,
Ludovic Courtès <=
- 08/13: profiles: Use 'with-extensions'., Ludovic Courtès, 2018/06/01
- 03/13: gexp: Add 'with-extensions'., Ludovic Courtès, 2018/06/01
- 09/13: vm: Use 'with-extensions'., Ludovic Courtès, 2018/06/01
- 04/13: pack: Use 'with-extensions' when referring to (guix docker)., Ludovic Courtès, 2018/06/01
- 11/13: Add (gnu store database)., Ludovic Courtès, 2018/06/01