Subject: bug#26803: [PATCH 15/36] gnu: Add java-commons-io.

From: Roel Janssen <[email-masked]>
Date: Mon, 08 May 2017 12:41:26 +0200

Ricardo Wurmus writes:

> From: Hartmut Goebel <[email-masked]>
>
> * gnu/packages/java.scm (java-commons-io): New variable.
>
> Co-authored-by: Ricardo Wurmus <[email-masked]>
> ---
>  gnu/packages/java.scm | 41 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
>
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index f595af58c..c9707d0d2 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -1624,3 +1624,44 @@ are many features, including:
>    such as union, intersection, and closure.
>  @end itemize\n")
>      (license license:asl2.0)))
> +
> +(define-public java-commons-io
> +  (package
> +    (name "java-commons-io")
> +    (version "2.5")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "mirror://apache/commons/io/source/"
> +                           "commons-io-" version "-src.tar.gz"))
> +       (sha256
> +        (base32
> +         "0q5y41jrcjvx9hzs47x5kdhnasdy6rm4bzqd2jxl02w717m7a7v3"))))
> +    (build-system ant-build-system)
> +    (outputs '("out" "doc"))
> +    (arguments
> +     `(#:test-target "test"
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'symlink-junit.jar
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             ;; TODO: don't do this; use make-flags
> +             ;; The existence of this file is taken as indicator whether test
> +             ;; dependencies will to be downloaded.
> +             (let ((junit (assoc-ref inputs "java-junit"))
> +                   (junit-version "4.12")) ; from build.xml
> +               (mkdir-p "lib")
> +               (symlink (string-append junit "/share/java/junit.jar")
> +                        (string-append "lib/junit-" junit-version ".jar"))
> +               #t)))

I'm not sure how the result of the code here could be achieved
using 'make-flags', so is the TODO item referring to an already-removed
piece of code?

> +         (add-after 'build 'build-javadoc ant-build-javadoc)
> +         (replace 'install (install-jars "target"))
> +         (add-after 'install 'install-doc (install-javadoc "target/apidocs")))))
> +    (native-inputs
> +     `(("java-junit" ,java-junit)
> +       ("java-hamcrest-core" ,java-hamcrest-core)))
> +    (home-page "http://commons.apache.org/io/")
> +    (synopsis "Common useful IO related classes")
> +    (description "Commons-IO contains utility classes, stream implementations,
> +file filters and endian classes.")
> +    (license license:asl2.0)))

Otherwise, LGTM!

Kind regards,
Roel Janssen