diff mbox series

[bug#55979] gnu: Add java-commons-text

Message ID 871qvmvszq.fsf@gmail.com
State Accepted
Headers show
Series [bug#55979] gnu: Add java-commons-text | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Artyom V. Poptsov June 18, 2022, 4:25 p.m. UTC
Hello Julien,

I've updated the patch according to your suggestions.  Could you please
take a look?
Thanks!

- Artyom

Comments

Julien Lepiller June 18, 2022, 7:42 p.m. UTC | #1
Le Sat, 18 Jun 2022 19:25:29 +0300,
"Artyom V. Poptsov" <poptsov.artyom@gmail.com> a écrit :

> +    (build-system ant-build-system)
> +    (arguments
> +     (list #:jar-name "java-commons-text.jar"
> +           #:source-dir "src/main/java"
> +           #:test-dir "src/test"
> +           ;; XXX: Tests require JUnit5, namely
> 'org.junit.jupiter.api' module
> +           ;; from JUnit5.

I think ;; tests require junit5
is enough here :)

> +           #:tests? #f
> +           #:phases #~(modify-phases %standard-phases
> +                        (replace 'install
> +                          (install-from-pom "pom.xml")))))

great :)

> +    (inputs
> +     (list java-commons-lang3
> +           java-commons-io))
> +    (propagated-inputs
> +     (list apache-commons-parent-pom-52))

So this is an error, because apache-commons-parent-pom-52 is not the
parent of this package's pom file. Here's the content of the pom file
(btw you can view it easily with "guix build -S java-commons-text"):

  <parent>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-parent</artifactId>
    <version>51</version>
  </parent>

so the parent is apache-commons-parent-pom-51 (note the version number).

Also in the list of dependencies from that file I see
java-commons-lang3, so it needs to be propagated, otherwise maven might
not be able to find it.

> +    (home-page "https://commons.apache.org/text/")
> +    (synopsis "Library focused on algorithms working on strings")
diff mbox series

Patch

From aaafb87ce534f5ae337988f6b540704facfd11ee Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Mon, 13 Jun 2022 06:54:25 +0300
Subject: [PATCH] gnu: Add java-commons-text

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index d2fbf840a0..25d2377c0d 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7893,6 +7893,41 @@  Commons CLI supports different types of options:
 @item long options with single hyphen (ie. ant -projecthelp)
 @end itemize
 
+This is a part of the Apache Commons Project.")
+    (license license:asl2.0)))
+
+(define-public java-commons-text
+  (package
+    (name "java-commons-text")
+    (version "1.9")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://apache/commons/text/source/"
+                                  "commons-text-" version "-src.tar.gz"))
+              (sha256
+               (base32
+                "1k99ib2dxlqxb5y94kpzf4ix8xgxz1j3n9kq3ddssqqcccsp5ik2"))))
+    (build-system ant-build-system)
+    (arguments
+     (list #:jar-name "java-commons-text.jar"
+           #:source-dir "src/main/java"
+           #:test-dir "src/test"
+           ;; XXX: Tests require JUnit5, namely 'org.junit.jupiter.api' module
+           ;; from JUnit5.
+           #:tests? #f
+           #:phases #~(modify-phases %standard-phases
+                        (replace 'install
+                          (install-from-pom "pom.xml")))))
+    (inputs
+     (list java-commons-lang3
+           java-commons-io))
+    (propagated-inputs
+     (list apache-commons-parent-pom-52))
+    (home-page "https://commons.apache.org/text/")
+    (synopsis "Library focused on algorithms working on strings")
+    (description "Apache Commons Text is a library focused on algorithms
+working on strings.
+
 This is a part of the Apache Commons Project.")
     (license license:asl2.0)))
 
-- 
2.25.1