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.
This commit is contained in:
Eric Bavier 2018-12-01 20:46:22 -06:00
parent a7bed894d2
commit 6776af04d4
No known key found for this signature in database
GPG key ID: FD73CAC719D32566
5 changed files with 38 additions and 54 deletions

View file

@ -62,7 +62,9 @@ MODULES = \
guix/base16.scm \ guix/base16.scm \
guix/base32.scm \ guix/base32.scm \
guix/base64.scm \ guix/base64.scm \
guix/ci.scm \
guix/cpio.scm \ guix/cpio.scm \
guix/docker.scm \
guix/records.scm \ guix/records.scm \
guix/pki.scm \ guix/pki.scm \
guix/progress.scm \ guix/progress.scm \
@ -186,15 +188,24 @@ MODULES = \
guix/build/make-bootstrap.scm \ guix/build/make-bootstrap.scm \
guix/search-paths.scm \ guix/search-paths.scm \
guix/packages.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/cabal.scm \
guix/import/cpan.scm \
guix/import/cran.scm \ guix/import/cran.scm \
guix/import/hackage.scm \ guix/import/crate.scm \
guix/import/elpa.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/texlive.scm \
guix/import/utils.scm \
guix/scripts.scm \ guix/scripts.scm \
guix/scripts/download.scm \ guix/scripts/download.scm \
guix/scripts/perform-download.scm \ guix/scripts/perform-download.scm \
@ -216,46 +227,29 @@ MODULES = \
guix/scripts/system/search.scm \ guix/scripts/system/search.scm \
guix/scripts/lint.scm \ guix/scripts/lint.scm \
guix/scripts/challenge.scm \ guix/scripts/challenge.scm \
guix/scripts/import/crate.scm \
guix/scripts/import/cran.scm \ guix/scripts/import/cran.scm \
guix/scripts/import/gnu.scm \
guix/scripts/import/nix.scm \
guix/scripts/import/hackage.scm \
guix/scripts/import/elpa.scm \ guix/scripts/import/elpa.scm \
guix/scripts/import/gem.scm \
guix/scripts/import/gnu.scm \
guix/scripts/import/hackage.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/import/texlive.scm \
guix/scripts/environment.scm \ guix/scripts/environment.scm \
guix/scripts/publish.scm \ guix/scripts/publish.scm \
guix/scripts/edit.scm \ guix/scripts/edit.scm \
guix/scripts/size.scm \ guix/scripts/size.scm \
guix/scripts/graph.scm \ guix/scripts/graph.scm \
guix/scripts/weather.scm \
guix/scripts/container.scm \ guix/scripts/container.scm \
guix/scripts/container/exec.scm \ guix/scripts/container/exec.scm \
guix.scm \ guix.scm \
$(GNU_SYSTEM_MODULES) $(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 if HAVE_GUILE_SSH
MODULES += \ MODULES += \
@ -335,7 +329,10 @@ SCM_TESTS = \
tests/base16.scm \ tests/base16.scm \
tests/base32.scm \ tests/base32.scm \
tests/base64.scm \ tests/base64.scm \
tests/cpan.scm \
tests/cpio.scm \ tests/cpio.scm \
tests/crate.scm \
tests/gem.scm \
tests/pki.scm \ tests/pki.scm \
tests/print.scm \ tests/print.scm \
tests/sets.scm \ tests/sets.scm \
@ -389,22 +386,13 @@ SCM_TESTS = \
tests/services.scm \ tests/services.scm \
tests/scripts-build.scm \ tests/scripts-build.scm \
tests/containers.scm \ tests/containers.scm \
tests/opam.scm \
tests/pack.scm \ tests/pack.scm \
tests/pypi.scm \
tests/import-utils.scm \ tests/import-utils.scm \
tests/store-database.scm \ tests/store-database.scm \
tests/store-deduplication.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 = \ SH_TESTS = \
tests/guix-build.sh \ tests/guix-build.sh \
tests/guix-build-branch.sh \ tests/guix-build-branch.sh \

2
README
View file

@ -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://notabug.org/guile-sqlite3/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later
- [[https://gitlab.com/guile-git/guile-git][Guile-Git]] - [[https://gitlab.com/guile-git/guile-git][Guile-Git]]
- [[http://www.zlib.net/][zlib]] - [[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: Unless `--disable-daemon' was passed, the following packages are needed:

View file

@ -122,9 +122,11 @@ if test "x$have_guile_git" != "xyes"; then
AC_MSG_ERROR([Guile-Git is missing; please install it.]) AC_MSG_ERROR([Guile-Git is missing; please install it.])
fi fi
dnl Guile-JSON is used in various places. dnl Check for Guile-JSON.
GUILE_MODULE_AVAILABLE([have_guile_json], [(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. dnl Guile-Sqlite3 is used by the (guix store ...) modules.
GUIX_CHECK_GUILE_SQLITE3 GUIX_CHECK_GUILE_SQLITE3

View file

@ -653,6 +653,7 @@ or later;
@c FIXME: Specify a version number once a release has been made. @c FIXME: Specify a version number once a release has been made.
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August @uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August
2017 or later; 2017 or later;
@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON};
@item @url{http://zlib.net, zlib}; @item @url{http://zlib.net, zlib};
@item @url{http://www.gnu.org/software/make/, GNU Make}. @item @url{http://www.gnu.org/software/make/, GNU Make}.
@end itemize @end itemize
@ -660,13 +661,6 @@ or later;
The following dependencies are optional: The following dependencies are optional:
@itemize @itemize
@item
Installing
@url{http://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 @item
@c Note: We need at least 0.10.2 for 'channel-send-eof'. @c Note: We need at least 0.10.2 for 'channel-send-eof'.
Support for build offloading (@pxref{Daemon Offload Setup}) and Support for build offloading (@pxref{Daemon Offload Setup}) and

View file

@ -389,7 +389,7 @@ (define-public guix-minimal
(propagated-inputs (propagated-inputs
(fold alist-delete (fold alist-delete
(package-propagated-inputs guix) (package-propagated-inputs guix)
'("guile-json" "guile-ssh"))))))) '("guile-ssh")))))))
(define (source-file? file stat) (define (source-file? file stat)
"Return true if FILE is likely a source file, false if it is a typical "Return true if FILE is likely a source file, false if it is a typical