Subject: Re: [bug#30845] [PATCH 06/82] gnu: Add java-commons-httpclient.

From: Björn Höfling <[email-masked]>
Date: Tue, 20 Mar 2018 19:12:17 +0100

On Sun, 18 Mar 2018 14:05:26 +0100
Julien Lepiller <[email-masked]> wrote:

> * gnu/packages/java.scm (java-commons-httpclient): New variable.
> ---
>  gnu/packages/java.scm | 44
> ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44
> insertions(+)
> 

[..]

> +       (modify-phases %standard-phases
> +         (add-before 'build 'fix-accent
> +           (lambda _
> +             (for-each (lambda (file)
> +                         (with-fluids ((%default-port-encoding
> "ISO-8859-1"))
> +                          (substitute* file
> +                            (("\\* @author Ortwin .*") "* @author
> Ortwin Gluck\n"))))

To be picky: The ASCII-transcription of German character &uuml; is
"ue", not just "u" :-)

> +
> '("src/java/org/apache/commons/httpclient/HttpContentTooLargeException.java"
> +                 "src/examples/TrivialApp.java"
> "src/examples/ClientApp.java"
> +
> "src/test/org/apache/commons/httpclient/TestHttps.java"
> +
> "src/test/org/apache/commons/httpclient/TestURIUtil2.java"))))

This works and is OK.

I wonder how this works in general for Guix: Usually, Java uses the
system character encoding. Do we explicitly set one, or is this a
possible case of non-reproducibility? I know for Maven you can
explicitly set the character encoding, I have no idea for Ant.

> +         (replace 'install
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (zero? (system* "ant" "dist"
> +                             (string-append
> "-Ddist.home=" (assoc-ref outputs "out")
> +                                            "/share/java"))))))))

Use invoke:

             (invoke "ant" "dist"
                             (string-append "-Ddist.home=" (assoc-ref
outputs "out") "/share/java")))))))

Otherwise, LGTM

Björn