summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2018-12-01 20:46:22 -0600
committerEric Bavier <bavier@member.fsf.org>2018-12-02 17:56:05 -0600
commit6776af04d4b65c5a9a07784307a6abe395b6f480 (patch)
tree24bc82ab725e14ce7f39d6fef7c36601ce55ae8e
parenta7bed894d2dca20071a4738e4fd604bd8b7cf1a3 (diff)
Make Guile-JSON a required dependency.
* README (Requirements): Remove "optional" verbiage. * doc/guix.texi (Requirements): Move Guile-JSON from optional to required. * configure.ac (HAVE_GUILE_JSON): Remove Automake conditional. (have_guile_json): Error if not "yes". * Makefile.am (MODULE, SCM_TESTS)[HAVE_GUILE_JSON]: Add modules and tests unconditionally. * gnu/packages/package-mangement.scm (guix-minimal)[propagated-inputs]: Leave guile-json input.
-rw-r--r--Makefile.am72
-rw-r--r--README2
-rw-r--r--configure.ac6
-rw-r--r--doc/guix.texi8
-rw-r--r--gnu/packages/package-management.scm2
5 files changed, 37 insertions, 53 deletions
diff --git a/Makefile.am b/Makefile.am
index e14ac57f2fb..32cebd5917f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -62,7 +62,9 @@ MODULES = \
62 guix/base16.scm \ 62 guix/base16.scm \
63 guix/base32.scm \ 63 guix/base32.scm \
64 guix/base64.scm \ 64 guix/base64.scm \
65 guix/ci.scm \
65 guix/cpio.scm \ 66 guix/cpio.scm \
67 guix/docker.scm \
66 guix/records.scm \ 68 guix/records.scm \
67 guix/pki.scm \ 69 guix/pki.scm \
68 guix/progress.scm \ 70 guix/progress.scm \
@@ -186,15 +188,24 @@ MODULES = \
186 guix/build/make-bootstrap.scm \ 188 guix/build/make-bootstrap.scm \
187 guix/search-paths.scm \ 189 guix/search-paths.scm \
188 guix/packages.scm \ 190 guix/packages.scm \
189 guix/import/print.scm \
190 guix/import/utils.scm \
191 guix/import/gnu.scm \
192 guix/import/snix.scm \
193 guix/import/cabal.scm \ 191 guix/import/cabal.scm \
192 guix/import/cpan.scm \
194 guix/import/cran.scm \ 193 guix/import/cran.scm \
195 guix/import/hackage.scm \ 194 guix/import/crate.scm \
196 guix/import/elpa.scm \ 195 guix/import/elpa.scm \
196 guix/import/gem.scm \
197 guix/import/github.scm \
198 guix/import/gnome.scm \
199 guix/import/gnu.scm \
200 guix/import/hackage.scm \
201 guix/import/json.scm \
202 guix/import/opam.scm \
203 guix/import/print.scm \
204 guix/import/pypi.scm \
205 guix/import/snix.scm \
206 guix/import/stackage.scm \
197 guix/import/texlive.scm \ 207 guix/import/texlive.scm \
208 guix/import/utils.scm \
198 guix/scripts.scm \ 209 guix/scripts.scm \
199 guix/scripts/download.scm \ 210 guix/scripts/download.scm \
200 guix/scripts/perform-download.scm \ 211 guix/scripts/perform-download.scm \
@@ -216,46 +227,29 @@ MODULES = \
216 guix/scripts/system/search.scm \ 227 guix/scripts/system/search.scm \
217 guix/scripts/lint.scm \ 228 guix/scripts/lint.scm \
218 guix/scripts/challenge.scm \ 229 guix/scripts/challenge.scm \
230 guix/scripts/import/crate.scm \
219 guix/scripts/import/cran.scm \ 231 guix/scripts/import/cran.scm \
232 guix/scripts/import/elpa.scm \
233 guix/scripts/import/gem.scm \
220 guix/scripts/import/gnu.scm \ 234 guix/scripts/import/gnu.scm \
221 guix/scripts/import/nix.scm \
222 guix/scripts/import/hackage.scm \ 235 guix/scripts/import/hackage.scm \
223 guix/scripts/import/elpa.scm \ 236 guix/scripts/import/json.scm \
237 guix/scripts/import/nix.scm \
238 guix/scripts/import/opam.scm \
239 guix/scripts/import/pypi.scm \
240 guix/scripts/import/stackage.scm \
224 guix/scripts/import/texlive.scm \ 241 guix/scripts/import/texlive.scm \
225 guix/scripts/environment.scm \ 242 guix/scripts/environment.scm \
226 guix/scripts/publish.scm \ 243 guix/scripts/publish.scm \
227 guix/scripts/edit.scm \ 244 guix/scripts/edit.scm \
228 guix/scripts/size.scm \ 245 guix/scripts/size.scm \
229 guix/scripts/graph.scm \ 246 guix/scripts/graph.scm \
247 guix/scripts/weather.scm \
230 guix/scripts/container.scm \ 248 guix/scripts/container.scm \
231 guix/scripts/container/exec.scm \ 249 guix/scripts/container/exec.scm \
232 guix.scm \ 250 guix.scm \
233 $(GNU_SYSTEM_MODULES) 251 $(GNU_SYSTEM_MODULES)
234 252
235if HAVE_GUILE_JSON
236
237MODULES += \
238 guix/ci.scm \
239 guix/docker.scm \
240 guix/import/cpan.scm \
241 guix/import/crate.scm \
242 guix/import/gem.scm \
243 guix/import/github.scm \
244 guix/import/gnome.scm \
245 guix/import/json.scm \
246 guix/import/opam.scm \
247 guix/import/pypi.scm \
248 guix/import/stackage.scm \
249 guix/scripts/import/crate.scm \
250 guix/scripts/import/gem.scm \
251 guix/scripts/import/json.scm \
252 guix/scripts/import/opam.scm \
253 guix/scripts/import/pypi.scm \
254 guix/scripts/import/stackage.scm \
255 guix/scripts/weather.scm
256
257endif
258
259if HAVE_GUILE_SSH 253if HAVE_GUILE_SSH
260 254
261MODULES += \ 255MODULES += \
@@ -335,7 +329,10 @@ SCM_TESTS = \
335 tests/base16.scm \ 329 tests/base16.scm \
336 tests/base32.scm \ 330 tests/base32.scm \
337 tests/base64.scm \ 331 tests/base64.scm \
332 tests/cpan.scm \
338 tests/cpio.scm \ 333 tests/cpio.scm \
334 tests/crate.scm \
335 tests/gem.scm \
339 tests/pki.scm \ 336 tests/pki.scm \
340 tests/print.scm \ 337 tests/print.scm \
341 tests/sets.scm \ 338 tests/sets.scm \
@@ -389,22 +386,13 @@ SCM_TESTS = \
389 tests/services.scm \ 386 tests/services.scm \
390 tests/scripts-build.scm \ 387 tests/scripts-build.scm \
391 tests/containers.scm \ 388 tests/containers.scm \
389 tests/opam.scm \
392 tests/pack.scm \ 390 tests/pack.scm \
391 tests/pypi.scm \
393 tests/import-utils.scm \ 392 tests/import-utils.scm \
394 tests/store-database.scm \ 393 tests/store-database.scm \
395 tests/store-deduplication.scm 394 tests/store-deduplication.scm
396 395
397if HAVE_GUILE_JSON
398
399SCM_TESTS += \
400 tests/pypi.scm \
401 tests/opam.scm \
402 tests/cpan.scm \
403 tests/gem.scm \
404 tests/crate.scm
405
406endif
407
408SH_TESTS = \ 396SH_TESTS = \
409 tests/guix-build.sh \ 397 tests/guix-build.sh \
410 tests/guix-build-branch.sh \ 398 tests/guix-build-branch.sh \
diff --git a/README b/README
index a7a818c5c82..e7871917f2e 100644
--- a/README
+++ b/README
@@ -27,7 +27,7 @@ GNU Guix currently depends on the following packages:
27 - [[https://notabug.org/guile-sqlite3/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later 27 - [[https://notabug.org/guile-sqlite3/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later
28 - [[https://gitlab.com/guile-git/guile-git][Guile-Git]] 28 - [[https://gitlab.com/guile-git/guile-git][Guile-Git]]
29 - [[http://www.zlib.net/][zlib]] 29 - [[http://www.zlib.net/][zlib]]
30 - optionally [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command 30 - [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]]
31 31
32Unless `--disable-daemon' was passed, the following packages are needed: 32Unless `--disable-daemon' was passed, the following packages are needed:
33 33
diff --git a/configure.ac b/configure.ac
index 2a1edbc321e..2817e6e24d4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -122,9 +122,11 @@ if test "x$have_guile_git" != "xyes"; then
122 AC_MSG_ERROR([Guile-Git is missing; please install it.]) 122 AC_MSG_ERROR([Guile-Git is missing; please install it.])
123fi 123fi
124 124
125dnl Guile-JSON is used in various places. 125dnl Check for Guile-JSON.
126GUILE_MODULE_AVAILABLE([have_guile_json], [(json)]) 126GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
127AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"]) 127if test "x$have_guile_json" != "xyes"; then
128 AC_MSG_ERROR([Guile-JSON is missing; please install it.])
129fi
128 130
129dnl Guile-Sqlite3 is used by the (guix store ...) modules. 131dnl Guile-Sqlite3 is used by the (guix store ...) modules.
130GUIX_CHECK_GUILE_SQLITE3 132GUIX_CHECK_GUILE_SQLITE3
diff --git a/doc/guix.texi b/doc/guix.texi
index 870c710ea7d..b0aa5aa8721 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -653,6 +653,7 @@ or later;
653@c FIXME: Specify a version number once a release has been made. 653@c FIXME: Specify a version number once a release has been made.
654@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August 654@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August
6552017 or later; 6552017 or later;
656@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON};
656@item @url{http://zlib.net, zlib}; 657@item @url{http://zlib.net, zlib};
657@item @url{http://www.gnu.org/software/make/, GNU Make}. 658@item @url{http://www.gnu.org/software/make/, GNU Make}.
658@end itemize 659@end itemize
@@ -661,13 +662,6 @@ The following dependencies are optional:
661 662
662@itemize 663@itemize
663@item 664@item
664Installing
665@url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} will
666allow you to use the @command{guix import pypi} command (@pxref{Invoking
667guix import}). It is of
668interest primarily for developers and not for casual users.
669
670@item
671@c Note: We need at least 0.10.2 for 'channel-send-eof'. 665@c Note: We need at least 0.10.2 for 'channel-send-eof'.
672Support for build offloading (@pxref{Daemon Offload Setup}) and 666Support for build offloading (@pxref{Daemon Offload Setup}) and
673@command{guix copy} (@pxref{Invoking guix copy}) depends on 667@command{guix copy} (@pxref{Invoking guix copy}) depends on
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 141d0e52f77..c4e91710221 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -389,7 +389,7 @@ the Nix package manager.")
389 (propagated-inputs 389 (propagated-inputs
390 (fold alist-delete 390 (fold alist-delete
391 (package-propagated-inputs guix) 391 (package-propagated-inputs guix)
392 '("guile-json" "guile-ssh"))))))) 392 '("guile-ssh")))))))
393 393
394(define (source-file? file stat) 394(define (source-file? file stat)
395 "Return true if FILE is likely a source file, false if it is a typical 395 "Return true if FILE is likely a source file, false if it is a typical