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

From: Roel Janssen <[email-masked]>
Date: Wed, 10 May 2017 12:09:04 +0200

Ricardo Wurmus writes:

> From: Hartmut Goebel <[email-masked]>
>
> * gnu/packages/java.scm (java-commons-codec): New variable.
>
> Co-authored-by: Ricardo Wurmus <[email-masked]>
> ---
>  gnu/packages/java.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
>
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index 0220435af..e4913973d 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -1821,3 +1821,49 @@ Commons CLI supports different types of options:
>  
>  This is a part of the Apache Commons Project.")
>      (license license:asl2.0)))
> +
> +(define-public java-commons-codec
> +  (package
> +    (name "java-commons-codec")
> +    (version "1.10")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "mirror://apache/commons/codec/source/"
> +                                  "commons-codec-" version "-src.tar.gz"))
> +              (sha256
> +               (base32
> +                "1w9qg30y4s0x8gnmr2fgj4lyplfn788jqxbcz27lf5kbr6n8xr65"))))
> +    (build-system ant-build-system)
> +    (outputs '("out" "doc"))
> +    (arguments
> +     `(#:test-target "test"
> +       #:make-flags
> +       (let ((hamcrest (assoc-ref %build-inputs "java-hamcrest-core"))
> +             (junit    (assoc-ref %build-inputs "java-junit")))
> +         (list (string-append "-Djunit.jar=" junit "/share/java/junit.jar")
> +               (string-append "-Dhamcrest.jar=" hamcrest
> +                              "/share/java/hamcrest-core.jar")
> +               ;; Do not append version to jar.
> +               "-Dfinal.name=commons-codec"))
> +       #:phases
> +       ;; TODO: I don't like this
> +       (modify-phases %standard-phases
> +         (add-after 'build 'build-javadoc
> +           ant-build-javadoc)
> +         (replace 'install
> +           (install-jars "dist"))
> +         ;; TODO: do this if javadoc argument is given?
> +         (add-after 'install 'install-doc
> +           (install-javadoc "dist/docs/api")))))

Is this a good moment to look into these TODOs?  I don't think they are
that bad, and the output includes the Javadoc stuff, right?

> +    (native-inputs
> +     `(("java-junit" ,java-junit)
> +       ("java-hamcrest-core" ,java-hamcrest-core)))
> +    (home-page "http://commons.apache.org/codec/")
> +    (synopsis "Common encoders and decoders such as Base64, Hex, Phonetic and URLs")
> +    (description "The codec package contains simple encoder and decoders for
> +various formats such as Base64 and Hexadecimal.  In addition to these widely
> +used encoders and decoders, the codec package also maintains a collection of
> +phonetic encoding utilities.
> +
> +This is a part of the Apache Commons Project.")
> +    (license license:asl2.0)))

LGTM.

Kind regards,
Roel Janssen