[bug#33572] Make Guile-JSON a required dependency.

Message ID 20181202051822.8344-1-ericbavier@centurylink.net
State Accepted
Headers show
Series [bug#33572] Make Guile-JSON a required dependency. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Eric Bavier Dec. 2, 2018, 5:18 a.m. UTC
From: Eric Bavier <bavier@member.fsf.org>

* README (Requirements): Remove "optional" verbiage.
* 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.
---
 Makefile.am                         | 72 ++++++++++++-----------------
 README                              |  2 +-
 configure.ac                        |  6 ++-
 gnu/packages/package-management.scm |  2 +-
 4 files changed, 36 insertions(+), 46 deletions(-)

Comments

Ludovic Courtès Dec. 2, 2018, 10:39 p.m. UTC | #1
Hello Eric,

ericbavier@centurylink.net skribis:

> From: Eric Bavier <bavier@member.fsf.org>
>
> * README (Requirements): Remove "optional" verbiage.
> * 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.

Could you include guix.texi changes along the lines of what Joshua
proposed on guix-devel?

Otherwise LGTM, thanks!

Ludo’.
Eric Bavier Dec. 3, 2018, 12:22 a.m. UTC | #2
On Sun, 02 Dec 2018 23:39:04 +0100
ludo@gnu.org (Ludovic Courtès) wrote:

> Hello Eric,
> 
> ericbavier@centurylink.net skribis:
> 
> > From: Eric Bavier <bavier@member.fsf.org>
> >
> > * README (Requirements): Remove "optional" verbiage.
> > * 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.  
> 
> Could you include guix.texi changes along the lines of what Joshua
> proposed on guix-devel?

Done.

> Otherwise LGTM, thanks!
> 
> Ludo’.

Thanks for the review.  Pushed
in 6776af04d4b65c5a9a07784307a6abe395b6f480

`~Eric

Patch

diff --git a/Makefile.am b/Makefile.am
index e14ac57f2..32cebd591 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -62,7 +62,9 @@  MODULES =					\
   guix/base16.scm				\
   guix/base32.scm				\
   guix/base64.scm				\
+  guix/ci.scm					\
   guix/cpio.scm					\
+  guix/docker.scm	   			\
   guix/records.scm				\
   guix/pki.scm					\
   guix/progress.scm				\
@@ -186,15 +188,24 @@  MODULES =					\
   guix/build/make-bootstrap.scm			\
   guix/search-paths.scm				\
   guix/packages.scm				\
-  guix/import/print.scm				\
-  guix/import/utils.scm				\
-  guix/import/gnu.scm				\
-  guix/import/snix.scm				\
   guix/import/cabal.scm				\
+  guix/import/cpan.scm				\
   guix/import/cran.scm				\
-  guix/import/hackage.scm			\
+  guix/import/crate.scm				\
   guix/import/elpa.scm   			\
+  guix/import/gem.scm				\
+  guix/import/github.scm   			\
+  guix/import/gnome.scm				\
+  guix/import/gnu.scm				\
+  guix/import/hackage.scm			\
+  guix/import/json.scm				\
+  guix/import/opam.scm				\
+  guix/import/print.scm				\
+  guix/import/pypi.scm				\
+  guix/import/snix.scm				\
+  guix/import/stackage.scm			\
   guix/import/texlive.scm   			\
+  guix/import/utils.scm				\
   guix/scripts.scm				\
   guix/scripts/download.scm			\
   guix/scripts/perform-download.scm		\
@@ -216,46 +227,29 @@  MODULES =					\
   guix/scripts/system/search.scm		\
   guix/scripts/lint.scm				\
   guix/scripts/challenge.scm			\
+  guix/scripts/import/crate.scm			\
   guix/scripts/import/cran.scm			\
+  guix/scripts/import/elpa.scm  		\
+  guix/scripts/import/gem.scm			\
   guix/scripts/import/gnu.scm			\
-  guix/scripts/import/nix.scm			\
   guix/scripts/import/hackage.scm		\
-  guix/scripts/import/elpa.scm  		\
+  guix/scripts/import/json.scm  		\
+  guix/scripts/import/nix.scm			\
+  guix/scripts/import/opam.scm			\
+  guix/scripts/import/pypi.scm			\
+  guix/scripts/import/stackage.scm		\
   guix/scripts/import/texlive.scm  		\
   guix/scripts/environment.scm			\
   guix/scripts/publish.scm			\
   guix/scripts/edit.scm				\
   guix/scripts/size.scm				\
   guix/scripts/graph.scm			\
+  guix/scripts/weather.scm			\
   guix/scripts/container.scm			\
   guix/scripts/container/exec.scm		\
   guix.scm					\
   $(GNU_SYSTEM_MODULES)
 
-if HAVE_GUILE_JSON
-
-MODULES +=					\
-  guix/ci.scm					\
-  guix/docker.scm	   			\
-  guix/import/cpan.scm				\
-  guix/import/crate.scm				\
-  guix/import/gem.scm				\
-  guix/import/github.scm   			\
-  guix/import/gnome.scm				\
-  guix/import/json.scm				\
-  guix/import/opam.scm				\
-  guix/import/pypi.scm				\
-  guix/import/stackage.scm			\
-  guix/scripts/import/crate.scm			\
-  guix/scripts/import/gem.scm			\
-  guix/scripts/import/json.scm  		\
-  guix/scripts/import/opam.scm			\
-  guix/scripts/import/pypi.scm			\
-  guix/scripts/import/stackage.scm		\
-  guix/scripts/weather.scm
-
-endif
-
 if HAVE_GUILE_SSH
 
 MODULES +=					\
@@ -335,7 +329,10 @@  SCM_TESTS =					\
   tests/base16.scm				\
   tests/base32.scm				\
   tests/base64.scm				\
+  tests/cpan.scm				\
   tests/cpio.scm				\
+  tests/crate.scm				\
+  tests/gem.scm					\
   tests/pki.scm					\
   tests/print.scm				\
   tests/sets.scm				\
@@ -389,22 +386,13 @@  SCM_TESTS =					\
   tests/services.scm				\
   tests/scripts-build.scm			\
   tests/containers.scm				\
+  tests/opam.scm				\
   tests/pack.scm				\
+  tests/pypi.scm				\
   tests/import-utils.scm			\
   tests/store-database.scm			\
   tests/store-deduplication.scm
 
-if HAVE_GUILE_JSON
-
-SCM_TESTS += 					\
-  tests/pypi.scm				\
-  tests/opam.scm				\
-  tests/cpan.scm				\
-  tests/gem.scm					\
-  tests/crate.scm
-
-endif
-
 SH_TESTS =					\
   tests/guix-build.sh				\
   tests/guix-build-branch.sh			\
diff --git a/README b/README
index a7a818c5c..e7871917f 100644
--- a/README
+++ b/README
@@ -27,7 +27,7 @@  GNU Guix currently depends on the following packages:
   - [[https://notabug.org/guile-sqlite3/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later
   - [[https://gitlab.com/guile-git/guile-git][Guile-Git]]
   - [[http://www.zlib.net/][zlib]]
-  - optionally [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
+  - [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]]
 
 Unless `--disable-daemon' was passed, the following packages are needed:
 
diff --git a/configure.ac b/configure.ac
index 2a1edbc32..2817e6e24 100644
--- a/configure.ac
+++ b/configure.ac
@@ -122,9 +122,11 @@  if test "x$have_guile_git" != "xyes"; then
   AC_MSG_ERROR([Guile-Git is missing; please install it.])
 fi
 
-dnl Guile-JSON is used in various places.
+dnl Check for Guile-JSON.
 GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
-AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"])
+if test "x$have_guile_json" != "xyes"; then
+  AC_MSG_ERROR([Guile-JSON is missing; please install it.])
+fi
 
 dnl Guile-Sqlite3 is used by the (guix store ...) modules.
 GUIX_CHECK_GUILE_SQLITE3
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 141d0e52f..c4e917102 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -389,7 +389,7 @@  the Nix package manager.")
        (propagated-inputs
         (fold alist-delete
               (package-propagated-inputs guix)
-              '("guile-json" "guile-ssh")))))))
+              '("guile-ssh")))))))
 
 (define (source-file? file stat)
   "Return true if FILE is likely a source file, false if it is a typical