GNU bug report logs - #33572
[PATCH] Make Guile-JSON a required dependency.

Previous Next

Package: guix-patches;

Reported by: ericbavier <at> centurylink.net

Date: Sun, 2 Dec 2018 05:20:01 UTC

Severity: normal

Tags: patch

Done: Eric Bavier <ericbavier <at> centurylink.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 33572 in the body.
You can then email your comments to 33572 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#33572; Package guix-patches. (Sun, 02 Dec 2018 05:20:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to ericbavier <at> centurylink.net:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 02 Dec 2018 05:20:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: ericbavier <at> centurylink.net
To: guix-patches <at> gnu.org
Cc: Eric Bavier <bavier <at> member.fsf.org>
Subject: [PATCH] Make Guile-JSON a required dependency.
Date: Sat,  1 Dec 2018 23:18:22 -0600
From: Eric Bavier <bavier <at> 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(-)

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
-- 
2.19.2





Information forwarded to guix-patches <at> gnu.org:
bug#33572; Package guix-patches. (Sun, 02 Dec 2018 22:23:02 GMT) Full text and rfc822 format available.

Message #8 received at 33572 <at> debbugs.gnu.org (full text, mbox):

From: Eric Bavier <ericbavier <at> centurylink.net>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: guix-devel <at> gnu.org, Joshua Branson <jbranso <at> fastmail.com>,
 33572 <at> debbugs.gnu.org
Subject: Re: Guile-JSON now seems to be a required dependency
Date: Sun, 2 Dec 2018 16:22:25 -0600
[Message part 1 (text/plain, inline)]
On Sun, 02 Dec 2018 22:59:47 +0100
ludo <at> gnu.org (Ludovic Courtès) wrote:

> Hello,
> 
> Joshua Branson <jbranso <at> fastmail.com> skribis:
> 
> > Timothy Sample <samplet <at> ngyro.com> writes:
> >  
> >> Hi Eric,
> >>
> >> Eric Bavier <ericbavier <at> centurylink.net> writes:  
> 
> [...]
> 
> >>> Yes, we decided to make it a hard requirement.  I'm working on a patch
> >>> to follow through.  
> >
> > I believe I created such a patch.  
> 
> Eric, could you consider merging your patch with Joshua’s?  Making
> Guile-JSON a hard dependency takes more than updating guix.texi, though.

Here's an updated patch.

I think this takes care of everything.  Most of the conditional-loading
logic in modules has been removed/factored/superseded already.

`~Eric
[0001-Make-Guile-JSON-a-required-dependency.patch (text/x-patch, attachment)]
[Message part 3 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#33572; Package guix-patches. (Sun, 02 Dec 2018 22:40:03 GMT) Full text and rfc822 format available.

Message #11 received at 33572 <at> debbugs.gnu.org (full text, mbox):

From: Eric Bavier <ericbavier <at> centurylink.net>
Cc: guix-devel <at> gnu.org, Joshua Branson <jbranso <at> fastmail.com>,
 33572 <at> debbugs.gnu.org
Subject: Re: [bug#33572] Guile-JSON now seems to be a required dependency
Date: Sun, 2 Dec 2018 16:38:50 -0600
[Message part 1 (text/plain, inline)]
On Sun, 2 Dec 2018 16:22:25 -0600
Eric Bavier <ericbavier <at> centurylink.net> wrote:

> On Sun, 02 Dec 2018 22:59:47 +0100
> ludo <at> gnu.org (Ludovic Courtès) wrote:
> 
> > Hello,
> > 
> > Joshua Branson <jbranso <at> fastmail.com> skribis:
> > 
> > > Timothy Sample <samplet <at> ngyro.com> writes:
> > >  
> > >> Hi Eric,
> > >>
> > >> Eric Bavier <ericbavier <at> centurylink.net> writes:  
> > 
> > [...]
> > 
> > >>> Yes, we decided to make it a hard requirement.  I'm working on a patch
> > >>> to follow through.  
> > >
> > > I believe I created such a patch.  
> > 
> > Eric, could you consider merging your patch with Joshua’s?  Making
> > Guile-JSON a hard dependency takes more than updating guix.texi, though.
> 
> Here's an updated patch.

Oops, messed up the texinfo formatting; this patch is better.

`~Eric
[0001-Make-Guile-JSON-a-required-dependency.patch (text/x-patch, attachment)]
[Message part 3 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#33572; Package guix-patches. (Sun, 02 Dec 2018 22:40:04 GMT) Full text and rfc822 format available.

Message #14 received at 33572 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: ericbavier <at> centurylink.net
Cc: Eric Bavier <bavier <at> member.fsf.org>, 33572 <at> debbugs.gnu.org
Subject: Re: [bug#33572] [PATCH] Make Guile-JSON a required dependency.
Date: Sun, 02 Dec 2018 23:39:04 +0100
Hello Eric,

ericbavier <at> centurylink.net skribis:

> From: Eric Bavier <bavier <at> 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’.




Reply sent to Eric Bavier <ericbavier <at> centurylink.net>:
You have taken responsibility. (Mon, 03 Dec 2018 00:23:02 GMT) Full text and rfc822 format available.

Notification sent to ericbavier <at> centurylink.net:
bug acknowledged by developer. (Mon, 03 Dec 2018 00:23:02 GMT) Full text and rfc822 format available.

Message #19 received at 33572-done <at> debbugs.gnu.org (full text, mbox):

From: Eric Bavier <ericbavier <at> centurylink.net>
Cc: 33572-done <at> debbugs.gnu.org, Eric Bavier <bavier <at> member.fsf.org>
Subject: Re: [bug#33572] [PATCH] Make Guile-JSON a required dependency.
Date: Sun, 2 Dec 2018 18:22:18 -0600
[Message part 1 (text/plain, inline)]
On Sun, 02 Dec 2018 23:39:04 +0100
ludo <at> gnu.org (Ludovic Courtès) wrote:

> Hello Eric,
> 
> ericbavier <at> centurylink.net skribis:
> 
> > From: Eric Bavier <bavier <at> 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
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#33572; Package guix-patches. (Mon, 03 Dec 2018 08:47:02 GMT) Full text and rfc822 format available.

Message #22 received at 33572 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Eric Bavier <ericbavier <at> centurylink.net>
Cc: guix-devel <at> gnu.org, Joshua Branson <jbranso <at> fastmail.com>,
 33572 <at> debbugs.gnu.org
Subject: Re: [bug#33572] Guile-JSON now seems to be a required dependency
Date: Mon, 03 Dec 2018 09:46:40 +0100
Hi,

Eric Bavier <ericbavier <at> centurylink.net> skribis:

> From 5f04eb187de528f5879bd84901f71dba13c68f43 Mon Sep 17 00:00:00 2001
> From: Eric Bavier <bavier <at> member.fsf.org>
> 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.

One last thing: guix.texi contains a few footnotes like:

  This functionality requires Guile-JSON to be installed.

Could you remove them as well?

Otherwise LGTM, thank you!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#33572; Package guix-patches. (Mon, 03 Dec 2018 14:59:01 GMT) Full text and rfc822 format available.

Message #25 received at 33572 <at> debbugs.gnu.org (full text, mbox):

From: Eric Bavier <ericbavier <at> centurylink.net>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: guix-devel <at> gnu.org, Joshua Branson <jbranso <at> fastmail.com>,
 33572 <at> debbugs.gnu.org
Subject: Re: [bug#33572] Guile-JSON now seems to be a required dependency
Date: Mon, 3 Dec 2018 08:58:47 -0600
[Message part 1 (text/plain, inline)]
On Mon, 03 Dec 2018 09:46:40 +0100
ludo <at> gnu.org (Ludovic Courtès) wrote:

> Hi,
> 
> Eric Bavier <ericbavier <at> centurylink.net> skribis:
> 
> > From 5f04eb187de528f5879bd84901f71dba13c68f43 Mon Sep 17 00:00:00 2001
> > From: Eric Bavier <bavier <at> member.fsf.org>
> > 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.  
> 
> One last thing: guix.texi contains a few footnotes like:
> 
>   This functionality requires Guile-JSON to be installed.
> 
> Could you remove them as well?

Good catch.  Thanks.  Fixed in a8fdca11d85296b4df1b60a0c8ce4e33c92759af

`~Eric
[Message part 2 (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 01 Jan 2019 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 88 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.