Subject: bug#26860: [PATCH] Remove hard dependency on guile-json

From: Alex Kost <[email-masked]>
Date: Wed, 10 May 2017 22:18:07 +0300

Ricardo Wurmus (2017-05-10 08:38 +0200) wrote:

> Alex Kost <[email-masked]> writes:
>
>> Hello.  Currently, Guix cannot be built without guile-json.  The
>> attached patch fixes it.
>>
>>>>From 3a65a2f35b54604327ba69a55381fee0faac18e7 Mon Sep 17 00:00:00 2001
>> From: Alex Kost <[email-masked]>
>> Date: Tue, 9 May 2017 22:44:19 +0300
>> Subject: [PATCH] build: Compile stackage only if 'guile-json' is available.
>>
>> This is a followup to commit 3089b5d3f5a31b191b68ce3aa9255b646940b642.
>>
>> * Makefile.am (MODULES): Move "guix/scripts/import/stackage.scm" within
>> 'if HAVE_GUILE_JSON'.
>
> Would it not work to autoload the module?

Sorry, I have no idea, I didn't test :-)

I can only say that currently the build fails if guile-json is not
available, so I came up with a simple fix.

> “guix/scripts/import/stackage.scm” itself does not require guile json.

Right, it requires (guix import stackage) which requires (guix import
json) which requires (json), but not directly.

> Something like that is done in commit
> fad5f5fb8dffb4a1cbe40ee9d31a346b901305d1 (in the unmerged wip-installer
> branch).

I don't know, this seems over-complicated to me.  Does it really make
sense to leave "guix/import/stackage.scm" inside "if HAVE_GUILE_JSON"
and "guix/scripts/import/stackage.scm" outside?

I would rather keep these stackage import modules in one place and avoid
the autoload hack you mentioned.

P.S.  Sorry if this message is not very constructive, I am not
concentrated now as I'm watching "Atlético – Real" semi-final.

-- 
Alex