From 48c22f503493a4406758e91844d3708fe5f88864 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sat, 1 Dec 2018 20:46:22 -0600 Subject: [PATCH] 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. --- Makefile.am | 72 ++++++++++++----------------- README | 2 +- configure.ac | 6 ++- doc/guix.texi | 9 +--- gnu/packages/package-management.scm | 2 +- 5 files changed, 37 insertions(+), 54 deletions(-) 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/doc/guix.texi b/doc/guix.texi index fff5dfe0b..907735285 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -653,20 +653,13 @@ or later; @c FIXME: Specify a version number once a release has been made. @uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August 2017 or later; address@hidden @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}; @item @url{http://zlib.net, zlib}; @item @url{http://www.gnu.org/software/make/, GNU Make}. @end itemize The following dependencies are optional: address@hidden address@hidden -Installing address@hidden://savannah.nongnu.org/projects/guile-json/, Guile-JSON} will -allow you to use the @command{guix import pypi} command (@pxref{Invoking -guix import}). It is of -interest primarily for developers and not for casual users. - @item @c Note: We need at least 0.10.2 for 'channel-send-eof'. Support for build offloading (@pxref{Daemon Offload Setup}) and 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 -- 2.19.1