Subject: [bug#38436] [PATCH] gnu: Add gfortran-toolchain

From: Ludovic Courtès <[email-masked]>
Date: Thu, 12 Dec 2019 14:20:54 +0100

Hi Konrad,

Konrad Hinsen <[email-masked]> skribis:

>> xgettext recognizes (synopsis "foo"), but it won’t catch the variables
>> defined above, because they’re not preceded by the ‘synopsis’ keyword or
>> anything.
>
> OK, so what's the exact rule? If the literal string has to be right
> after the symbol "synopsis", then your optional-arg approach shouldn't
> work when the argument is supplied at the call site (in
> gfortran-toolchain).

Good point!

The exact rule is given the the ‘--keyword’ options in
po/packages/Makevars.  Namely, xgettext will recognize:

  (synopsis "…")

Thus, something like:

  (define* (foo #:key (synopsis "…"))
    …)

works.

Now, for gfortran, you could resort to a not-so-fancy hack (used in
‘define-word-list-dictionary’ in (gnu packages aspell)) like this:

  (let-syntax ((synopsis (syntax-rules () ((_ str) str))))
    (make-gcc-toolchain gfortran #:synopsis (synopsis "…")))

Quite an effort for this little thing, but I couldn’t find of anything
simpler.

HTH,
Ludo’.