Subject: Re: bug#24442: gettext: No PO mode for Emacs (or wrong description)

From: Alex Kost <[email-masked]>
Date: Sun, 25 Sep 2016 11:09:44 +0300

Ludovic Courtès (2016-09-24 10:55 +0900) wrote:

> Hi!
>
> Alex Kost <[email-masked]> skribis:
>
>> Ivan Vilata i Balaguer (2016-09-15 09:04 +0200) wrote:
>>
>>> The description for [email-masked]`` (current) includes this sentence:
>>>
>>>     It provides translators with the means to create message catalogs,
>>>     as well as an Emacs mode to work with them, and a runtime library to
>>>     load translated messages from the catalogs.
>>>
>>> However, no output of the package includes the files for Emacs.
>>
>> Thanks for the report!  This happens because there is no emacs
>> dependency (input) in 'gettext' package definition, so Emacs is not
>> found during 'configure' phase (as can be seen in the log¹: «checking
>> for emacs... no»), so elisp files are not compiled and installed.
>>
>> I would say this can simply be fixed by adding:
>>
>>   (native-inputs `(("emacs" ,emacs-minimal)))
>>
>> to the gettext package definition (also (gnu packages emacs) module
>> should be used), and I checked it by making a variant of the gettext
>> package with this line; however when I tried it on a real gettext
>> package, I saw that a whole world will be rebuilt (apparently it is a
>> 'core-updates' thing).  And I realized that emacs (even its minimal
>> variant) will probably be a too heavy dependency for such a core thing.
>>
>> So perhaps it is time to make 'gettext-minimal' and to use it as the
>> dependency for other packages and 'gettext' (with Emacs tools) intended
>> to be installed by users (as it is done for bash/bash-minimal).  WDYT?
>> (this is a question for Guix developers)
>
> I think it’s a good idea; in commencement.scm, we’ll need to inherit
> from gettext-minimal to avoid the Emacs dependency.
>
> Most of the packages that currently depend on gettext will have to be
> changed to gettext-minimal, as you wrote.
>
> When that it’s done, we can happily add all sorts of dependencies to
> gettext, including additional languages for which it provides bindings.
>
> Sounds like a plan no?

Yes, I'm sending 2 patches to guix-devel for adding 'gettext-minimal'
and for adding missing *.el files to 'gettext'.

> Another option would be to hack a phase that copies the .el files to the
> output, without compiling them, but I don’t think it’s as nice as the
> above plan.

I agree, it doesn't look so nice.

-- 
Alex