[PATCH] Make Guile-JSON a required dependency.

  • Done
  • quality assurance status badge
Details
2 participants
  • ericbavier
  • Ludovic Courtès
Owner
unassigned
Submitted by
ericbavier
Severity
normal

Debbugs page

ericbavier wrote 6 years ago
(address . guix-patches@gnu.org)(name . Eric Bavier)(address . bavier@member.fsf.org)
20181202051822.8344-1-ericbavier@centurylink.net
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(-)

Toggle diff (182 lines)
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
Eric Bavier wrote 6 years ago
Re: Guile-JSON now seems to be a required dependency
(name . Ludovic Courtès)(address . ludo@gnu.org)
20181202162225.500e1721@centurylink.net
On Sun, 02 Dec 2018 22:59:47 +0100
ludo@gnu.org (Ludovic Courtès) wrote:

Toggle quote (20 lines)
> Hello,
>
> Joshua Branson <jbranso@fastmail.com> skribis:
>
> > Timothy Sample <samplet@ngyro.com> writes:
> >
> >> Hi Eric,
> >>
> >> Eric Bavier <ericbavier@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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEoMXjUi7471xkzbfw/XPKxxnTJWYFAlwEWyEACgkQ/XPKxxnT
JWbq/g/9G6/PDkrd0aStcLBkpJQaKmqMSxaJ+6sbEVFoCx0HiGL+0L/UnzIBMa3n
Ni2J8L1NTi1ZoEVk4hOYhP77oOj8JVte0RI3a+KFPfWQOp52ZYCoF76wVHevcIQt
YJQK5N37dbCHjQDQyAu4nLR1MK2QEI0oDwFPBT+eB4h8UdzHGqnPxfEuUcQ9cQFF
GvjDJs6yK+O8SkQSgcS/AK5L7Dhq+Rvj7HDTXqgwzHPSNvHYa2DUiewFPxU/HY71
uCJwJ6kpzwB78nPLksTCsghMYYTpPnPiIH/sDL4wzzuy6CpY2ZnZMt7BtWqzGjf5
2u3/vqiU85qNqg6HtPsiIjg+JLzy7CdExQY4ZDKBQ9xsJzCA6nf0sTBfpgV00wsO
C50cfJA3LJwcNFt0hV35zF7RpIe8CABUUYEPGovlbKGmEk50WkzbB4tPGM+vFApQ
pmRfySCPW4wlZzOUJ4Lrq68tgO7lRgKdd17Rc2um7y7unAMRov5x2qoGs48C5wXi
03/wSg/VVrpZJQyctXKOFNV6w3DqLywyyme70Lg4SKP2Dqfu1EjI1kXCkVZ6NC4g
UsczYe3sLsL/K7eUPBgYBUomDQvhTMzMGJX8X+daZtauZDvf9IXUhhBNPT8gXtTB
B6mmvus3AzEl+CJIGevQm+yYgb4XKJ4IBIhlKfjZzYoywCKD6qs=
=WVw0
-----END PGP SIGNATURE-----


Eric Bavier wrote 6 years ago
Re: [bug#33572] Guile-JSON now seems to be a required dependency
20181202163850.63cb6d9e@centurylink.net
On Sun, 2 Dec 2018 16:22:25 -0600
Eric Bavier <ericbavier@centurylink.net> wrote:

Toggle quote (25 lines)
> On Sun, 02 Dec 2018 22:59:47 +0100
> ludo@gnu.org (Ludovic Courtès) wrote:
>
> > Hello,
> >
> > Joshua Branson <jbranso@fastmail.com> skribis:
> >
> > > Timothy Sample <samplet@ngyro.com> writes:
> > >
> > >> Hi Eric,
> > >>
> > >> Eric Bavier <ericbavier@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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEoMXjUi7471xkzbfw/XPKxxnTJWYFAlwEXvoACgkQ/XPKxxnT
JWYwSA/9GtZfVXt2YjMxrwQRy60zVOPE7fu9IEAS2jQVSloznqxPyA4pjGQNcDj1
ZEZlfX0t+qXUAqzCWN2tqc4siWQwjJFeHYRZEfrPmi42vaWALlnzHr297rDOWx9X
dZCffL0iYOUCCk+5m+isdTAXxD2HpA0m/wYCVGOuJrLqnswpp77QrSH7eFuAFlwh
wRuV6sJVk0zo67NK75Hsef/vQxBq6YWSqGW1ir1q9tjECkHkSkmFsJTzAleZClXy
xMA+SAOfWntZsf8sJrP0H+HsrOe0w/JeI1vZvP1+bM23ViJqJKGD49bRh/Kotqgx
lpw/8105wOe1pRgZtOYESMSyEwtP9bPt94ElKE/QWuCTikMFH8CH1FWXtVSCw3q5
Ji/cwIn/nBzU1J4/CrgD7ZpWH1kuUkUoFzdRo8rRbCT1R6LghgdaOjMkkAJf16UA
oPeFqHOSi2thE2XrBnlJWXgdazYRpPmAPjtrW/3Ey4DmgI3zZZF4BS1zCoWr6vIT
rxM6bOCtf957yJ6WwMDUU/rxQ309AV0dzuS9AUmixHGrnYIx9HieJEzsge0ziYXE
SvF4h0247EXKory9iLIRkfva3G84eRWx+Nx6wJMfRwdJItIvC/fcTQi3tGA76gsE
BO8OXb1063mst6hhO4RfJBvTExygtyJXX2/DMkWLo2u6fMuQgeE=
=pWSX
-----END PGP SIGNATURE-----


Ludovic Courtès wrote 6 years ago
Re: [bug#33572] [PATCH] Make Guile-JSON a required dependency.
(address . ericbavier@centurylink.net)
875zwbk0zb.fsf@gnu.org
Hello Eric,

ericbavier@centurylink.net skribis:

Toggle quote (10 lines)
> 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 wrote 6 years ago
20181202182218.40049d39@centurylink.net
On Sun, 02 Dec 2018 23:39:04 +0100
ludo@gnu.org (Ludovic Courtès) wrote:

Toggle quote (17 lines)
> 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.

Toggle quote (4 lines)
> Otherwise LGTM, thanks!
>
> Ludo’.

Thanks for the review. Pushed
in 6776af04d4b65c5a9a07784307a6abe395b6f480

`~Eric
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEoMXjUi7471xkzbfw/XPKxxnTJWYFAlwEdzoACgkQ/XPKxxnT
JWZf5Q//V4jxUudyZ6gDvkDYcAnzRbUQRWM305N4TEjt+dH1B6iG5NbaB0izJRSU
LDFyLRN/Pj5RXv6dSNBfccm0rBmC0KyJaabDhwhk2qZ2xsCM2GLVTISQ1FJSVRLM
Ol9PcRgfHab6yPpGhtkdWfmehw9LWkFQ6i66J0x7LBLfx0UPb4nskhyuqyOeGtyU
a9l1upH1sWBwdx/x/7lFUlhqCAiAa7hnrK5m02z0iv/PhivRMGRjWWMcfOx5usku
BAKVesnNcSkGAX96Ey1JV3RC9Zyz/ukU54FvvowJq7Km6NXYeXyDexG9fEv9Uc7g
UodYQUUfUGvBoK3QGq2D+fX4poiWugKG1C+GFtsyAA6sSisUB+MDPs2z4c1GjcQl
1ad1oXKNOgv29UUjHf4BET+kmdCsL/goZdI9QNZ2LvKq+lPT2vd5gWK4pbQ5LDQR
JzwFct646yC63sGuQM4E2/GckOIrMfdvrMWz3xiKSqpEK5uyg9NYCpsRHwWnKJX7
Rr1MpPyOXHlCsjBsTRItrAdqCXprXoEipL2YXIl+7E4x7uzifLFIU7wqcYxMX7+8
Lf1tyR/QRpSb+zZRld3hHkXhTp/G7/JPIodE7dihsb9prnh0B1wmTA9eieGq4S5U
er9jhdcN8ufnXE+8br7/DaF+uxURV03KKLRDzMc1Rqb/IznuNbM=
=QGQq
-----END PGP SIGNATURE-----


Closed
Ludovic Courtès wrote 6 years ago
Re: [bug#33572] Guile-JSON now seems to be a required dependency
(name . Eric Bavier)(address . ericbavier@centurylink.net)
87ftvfatfz.fsf@gnu.org
Hi,

Eric Bavier <ericbavier@centurylink.net> skribis:

Toggle quote (14 lines)
> From 5f04eb187de528f5879bd84901f71dba13c68f43 Mon Sep 17 00:00:00 2001
> From: Eric Bavier <bavier@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’.
Eric Bavier wrote 6 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)
20181203085847.5a35f271@centurylink.net
On Mon, 03 Dec 2018 09:46:40 +0100
ludo@gnu.org (Ludovic Courtès) wrote:

Toggle quote (24 lines)
> Hi,
>
> Eric Bavier <ericbavier@centurylink.net> skribis:
>
> > From 5f04eb187de528f5879bd84901f71dba13c68f43 Mon Sep 17 00:00:00 2001
> > From: Eric Bavier <bavier@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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEoMXjUi7471xkzbfw/XPKxxnTJWYFAlwFRKcACgkQ/XPKxxnT
JWZFjg//Z+6y1tMzxKo0g+HqwjsCd7p1ztIu+8SqKy3IB8COWIoGwtWl151jlX6o
5iNQxAAS1i358r+A6u2Ho9cyBHniKYYruq8Uy0JlmH1D++Nxa9IdmqR/f+mxCwgP
RaFrmei+1h7zgPwz6WDt8gUpJ6bDWMhhivBZA4jdic8FMx+efIqI7mpJENo/mORe
qmZK0eSxCuEeyNJMPY2Qsy8TsqJXEIU59cMUEff9FLu+fjKY20rIuKM4ZJhTwdDR
dXlk9vMFw7vy/e3/t12WU1pmff9eqSehJuojXdxvJG0e55f+MFZ/opIVCata8qjM
rS6PTEejuOGyYkmwQju69/55Mr75YsqMBbMj4XwoEsmji2A8nVTh8DsD72HjLtm1
9XG6mxFt54UZxYR4f5BMm7NGKmk0NgMEDmxjLJWgEgXas1s2SXGBbO01C3+s0c4w
4jwpd+FlzFR5eOeyHEBNjAj+2grklcwlxkif8Jm4b/7yPUEFCn5/gaaCc1hwExro
tVJejPK13g2iwGNpBi2S0ukBjcEN4RHCc1pRqTgwZIvhT2bLbaLydASIwZrSpktX
7wS9oqbN2JOgZMXd42cghgaAa1s53bnlgm6IKrQjVhI6cQtjX2XgGnvUgL77wP7x
M/yMpchlIDOFl2ZIMhEkirB/GyP8ZXEw49V0z/JWqNdQum4B+g8=
=GzT0
-----END PGP SIGNATURE-----


?
Your comment

This issue is archived.

To comment on this conversation send an email to 33572@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 33572
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help