From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Bavier Subject: Re: Guile-JSON now seems to be a required dependency Date: Sun, 2 Dec 2018 16:22:25 -0600 Message-ID: <20181202162225.500e1721@centurylink.net> References: <87y399am9b.fsf@ngyro.com> <20181201091658.720e1f20@centurylink.net> <87sgzh9ivq.fsf@ngyro.com> <87woorg3hk.fsf@fastmail.com> <87a7lnlhd8.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/YwBbVrV.jNWhPNhusqaVM5T"; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53346) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gTa8J-0003G0-F9 for guix-devel@gnu.org; Sun, 02 Dec 2018 17:22:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gTa8F-0002F5-VK for guix-devel@gnu.org; Sun, 02 Dec 2018 17:22:35 -0500 Received: from mail.onyx.syn-alias.com ([206.152.134.66]:36921 helo=smtp.centurylink.net) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gTa8F-0002C3-Ps for guix-devel@gnu.org; Sun, 02 Dec 2018 17:22:31 -0500 In-Reply-To: <87a7lnlhd8.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ludovic =?UTF-8?B?Q291cnTDqHM=?= Cc: guix-devel@gnu.org, Joshua Branson , 33572@debbugs.gnu.org --Sig_/YwBbVrV.jNWhPNhusqaVM5T Content-Type: multipart/mixed; boundary="MP_/TVvQ/8d9wk01=Wagiq0OqM4" --MP_/TVvQ/8d9wk01=Wagiq0OqM4 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Sun, 02 Dec 2018 22:59:47 +0100 ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > Hello, >=20 > Joshua Branson skribis: >=20 > > Timothy Sample writes: > > =20 > >> Hi Eric, > >> > >> Eric Bavier writes: =20 >=20 > [...] >=20 > >>> Yes, we decided to make it a hard requirement. I'm working on a patch > >>> to follow through. =20 > > > > I believe I created such a patch. =20 >=20 > Eric, could you consider merging your patch with Joshua=E2=80=99s? 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 --MP_/TVvQ/8d9wk01=Wagiq0OqM4 Content-Type: text/x-patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=0001-Make-Guile-JSON-a-required-dependency.patch =46rom 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]: Lea= ve 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 =3D \ 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 =3D \ 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 =3D \ 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) =20 -if HAVE_GUILE_JSON - -MODULES +=3D \ - 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 =20 MODULES +=3D \ @@ -335,7 +329,10 @@ SCM_TESTS =3D \ 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 =3D \ 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 =20 -if HAVE_GUILE_JSON - -SCM_TESTS +=3D \ - tests/pypi.scm \ - tests/opam.scm \ - tests/cpan.scm \ - tests/gem.scm \ - tests/crate.scm - -endif - SH_TESTS =3D \ 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]], ve= rsion 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-J= SON]], for the 'guix import pypi' command + - [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]] =20 Unless `--disable-daemon' was passed, the following packages are needed: =20 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" !=3D "xyes"; then AC_MSG_ERROR([Guile-Git is missing; please install it.]) fi =20 -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" =3D "xyes"]) +if test "x$have_guile_json" !=3D "xyes"; then + AC_MSG_ERROR([Guile-JSON is missing; please install it.]) +fi =20 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; +@item @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 =20 The following dependencies are optional: =20 -@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 @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-man= agement.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"))))))) =20 (define (source-file? file stat) "Return true if FILE is likely a source file, false if it is a typical --=20 2.19.1 --MP_/TVvQ/8d9wk01=Wagiq0OqM4-- --Sig_/YwBbVrV.jNWhPNhusqaVM5T Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----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----- --Sig_/YwBbVrV.jNWhPNhusqaVM5T--