unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#29359] [PATCH 01/31] gnu: Add java-gson.
       [not found] <handler.29359.B.151111429223890.ack@debbugs.gnu.org>
@ 2017-11-19 17:57 ` Julien Lepiller
  2017-11-19 17:57   ` [bug#29359] [PATCH 02/31] gnu: Add java-jsoup Julien Lepiller
                     ` (30 more replies)
  0 siblings, 31 replies; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index bd6c00365..3ddfba08f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7477,3 +7477,30 @@ outputting XML data from Java code.")
     (description "Xbean-reflect provides very flexible ways to create objects
 and graphs of objects for dependency injection frameworks")
     (license license:asl2.0)))
+
+(define-public java-gson
+  (package
+    (name "java-gson")
+    (version "2.8.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/google/gson/archive/"
+                                  "gson-parent-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1j4qnp7v046q0k48c4kyf69sxaasx2h949d3cqwsm3kzxms3x0f9"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "gson.jar"
+       #:source-dir "gson/src/main/java"
+       #:test-dir "gson/src/test"))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)))
+    (home-page "https://github.com/google/gson")
+    (synopsis "Java serialization/deserialization library from/to JSON")
+    (description "Gson is a Java library that can be used to convert Java
+Objects into their JSON representation.  It can also be used to convert a JSON
+string to an equivalent Java object.  Gson can work with arbitrary Java objects
+including pre-existing objects that you do not have source-code of.")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 02/31] gnu: Add java-jsoup.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-12-17 22:42     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 03/31] gnu: Add java-geronimo-xbean-bundleutils Julien Lepiller
                     ` (29 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 3ddfba08f..d8f9a7456 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7504,3 +7504,42 @@ Objects into their JSON representation.  It can also be used to convert a JSON
 string to an equivalent Java object.  Gson can work with arbitrary Java objects
 including pre-existing objects that you do not have source-code of.")
     (license license:asl2.0)))
+
+(define-public java-jsoup
+  (package
+    (name "java-jsoup")
+    (version "1.10.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/jhy/jsoup/archive/jsoup-"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0xbzw7rjv7s4nz1xk9b2cnin6zkpaldmc3svk71waa7hhjgp0a20"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jsoup.jar"
+       #:source-dir "src/main/java"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'copy-resources
+           (lambda _
+             (let ((classes-dir (string-append (getcwd) "/build/classes")))
+               (with-directory-excursion "src/main/java"
+                 (for-each (lambda (file)
+                             (let ((dist (string-append classes-dir "/" file)))
+                               (mkdir-p (dirname dist))
+                               (copy-file file dist)))
+                   (find-files "." ".*.properties"))))
+             #t)))))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)
+       ("java-gson" ,java-gson)))
+    (home-page "https://jsoup.org")
+    (synopsis "HTML Parser")
+    (description "Jsoup is a Java library for working with real-world HTML.  It
+provides a very convenient API for extracting and manipulating data, using the
+best of DOM, CSS, and jquery-like methods.")
+    (license license:expat)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 03/31] gnu: Add java-geronimo-xbean-bundleutils.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
  2017-11-19 17:57   ` [bug#29359] [PATCH 02/31] gnu: Add java-jsoup Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-12-17 22:44     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 04/31] gnu: Add java-geronimo-xbean-asm-util Julien Lepiller
                     ` (28 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-geronimo-xbean-bundleutils): New variable.
---
 gnu/packages/java.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index d8f9a7456..06db7979e 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7478,6 +7478,45 @@ outputting XML data from Java code.")
 and graphs of objects for dependency injection frameworks")
     (license license:asl2.0)))
 
+(define-public java-geronimo-xbean-bundleutils
+  (package
+    (inherit java-geronimo-xbean-reflect)
+    (name "java-geronimo-xbean-bundleutils")
+    (arguments
+     `(#:jar-name "geronimo-xbean-bundleutils.jar"
+       #:source-dir "xbean-bundleutils/src/main/java"
+       #:test-dir "xbean-bundleutils/src/test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'fix-java
+           (lambda _
+             ;; We use a more recent version of osgi, so this file requires
+             ;; more interface method implementation.
+             (substitute* "xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/DelegatingBundleContext.java"
+               (("import org.osgi.framework.ServiceRegistration;")
+                "import org.osgi.framework.ServiceRegistration;
+import org.osgi.framework.ServiceFactory;
+import java.util.Collection;
+import org.osgi.framework.ServiceObjects;")
+               (("public Bundle getBundle\\(\\)")
+                "@Override
+public <S> ServiceObjects<S> getServiceObjects(ServiceReference<S> reference) {
+ throw new UnsupportedOperationException();
+}
+@Override
+public <S> ServiceRegistration<S> registerService(Class<S> clazz,
+        ServiceFactory<S> factory, Dictionary<String, ?> properties) {
+ throw new UnsupportedOperationException();
+}
+public Bundle getBundle()"))
+             #t)))))
+    (inputs
+     `(("java-slf4j" ,java-slf4j-api)
+       ("java-asm" ,java-asm)
+       ("java-osgi-framework" ,java-osgi-framework)
+       ("java-eclipse-osgi" ,java-eclipse-osgi)
+       ("java-osgi-service-packageadmin" ,java-osgi-service-packageadmin)))))
+
 (define-public java-gson
   (package
     (name "java-gson")
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 04/31] gnu: Add java-geronimo-xbean-asm-util.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
  2017-11-19 17:57   ` [bug#29359] [PATCH 02/31] gnu: Add java-jsoup Julien Lepiller
  2017-11-19 17:57   ` [bug#29359] [PATCH 03/31] gnu: Add java-geronimo-xbean-bundleutils Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-12-17 22:46     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 05/31] gnu: Add java-geronimo-xbean-finder Julien Lepiller
                     ` (27 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-geronimo-xbean-asm-util): New variable.
---
 gnu/packages/java.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 06db7979e..f30565517 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7517,6 +7517,17 @@ public Bundle getBundle()"))
        ("java-eclipse-osgi" ,java-eclipse-osgi)
        ("java-osgi-service-packageadmin" ,java-osgi-service-packageadmin)))))
 
+(define-public java-geronimo-xbean-asm-util
+  (package
+    (inherit java-geronimo-xbean-reflect)
+    (name "java-geronimo-xbean-asm-util")
+    (arguments
+     `(#:jar-name "geronimo-xbean-asm-util.jar"
+       #:source-dir "xbean-asm-util/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-asm" ,java-asm)))))
+
 (define-public java-gson
   (package
     (name "java-gson")
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 05/31] gnu: Add java-geronimo-xbean-finder.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (2 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 04/31] gnu: Add java-geronimo-xbean-asm-util Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-12-17 22:47     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 06/31] gnu: Add java-hawtjni Julien Lepiller
                     ` (26 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-geronimo-xbean-finder): New variable.
---
 gnu/packages/java.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index f30565517..1fcbff10a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7528,6 +7528,25 @@ public Bundle getBundle()"))
     (inputs
      `(("java-asm" ,java-asm)))))
 
+(define-public java-geronimo-xbean-finder
+  (package
+    (inherit java-geronimo-xbean-reflect)
+    (name "java-geronimo-xbean-finder")
+    (arguments
+     `(#:jar-name "geronimo-xbean-finder.jar"
+       #:source-dir "xbean-finder/src/main/java"
+       #:test-dir "xbean-finder/src/test"))
+    (inputs
+     `(("java-slf4j-api" ,java-slf4j-api)
+       ("java-asm" ,java-asm)
+       ("java-geronimo-xbean-bundleutils" ,java-geronimo-xbean-bundleutils)
+       ("java-geronimo-xbean-asm-util" ,java-geronimo-xbean-asm-util)
+       ("java-osgi-service-packageadmin" ,java-osgi-service-packageadmin)
+       ("java-osgi-framework" ,java-osgi-framework)))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)))))
+
 (define-public java-gson
   (package
     (name "java-gson")
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 06/31] gnu: Add java-hawtjni.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (3 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 05/31] gnu: Add java-geronimo-xbean-finder Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-12-17 22:51     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 07/31] gnu: Add java-jansi-native Julien Lepiller
                     ` (25 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 1fcbff10a..d517e4928 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7612,3 +7612,54 @@ including pre-existing objects that you do not have source-code of.")
 provides a very convenient API for extracting and manipulating data, using the
 best of DOM, CSS, and jquery-like methods.")
     (license license:expat)))
+
+(define-public java-hawtjni
+  (package
+    (name "java-hawtjni")
+    (version "1.15")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/fusesource/hawtjni/archive/"
+                                  "hawtjni-project-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1bqfd732rmh6svyx17fpw9175gc9gzkcbyps2yyrf50c3zzjas6g"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "hawtjni.jar"
+       #:source-dir "hawtjni-generator/src/main/java:hawtjni-runtime/src/main/java"
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'build-native
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "hawtjni-generator/src/main/resources/"
+               (system* "gcc" "-c" "hawtjni.c" "-o" "hawtjni.o"
+                        "-fPIC" "-O2"
+                        (string-append "-I" (assoc-ref inputs "jdk") "/include/linux"))
+               (system* "gcc" "-c" "hawtjni-callback.c" "-o" "hawtjni-callback.o"
+                        "-fPIC" "-O2"
+                        (string-append "-I" (assoc-ref inputs "jdk") "/include/linux"))
+               (zero? (system* "gcc" "-o" "libhawtjni.so" "-shared"
+                               "hawtjni.o" "hawtjni-callback.o")))))
+         (add-after 'install 'install-native
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lib (string-append out "/lib"))
+                    (inc (string-append out "/include")))
+               (mkdir-p lib)
+               (mkdir-p inc)
+               (with-directory-excursion "hawtjni-generator/src/main/resources/"
+                 (copy-file "libhawtjni.so" (string-append lib "/libhawtjni.so"))
+                 (copy-file "hawtjni.h" (string-append inc "/hawtjni.h"))))
+             #t)))))
+    (inputs
+     `(("java-commons-cli" ,java-commons-cli)
+       ("java-asm" ,java-asm)
+       ("java-geronimo-xbean-finder" ,java-geronimo-xbean-finder)))
+    (home-page "https://fusesource.github.io/hawtjni/")
+    (synopsis "JNI code generator")
+    (description "HawtJNI is a code generator that produces the JNI code needed
+to implement java native methods.  It is based on the jnigen code generator
+that is part of the SWT Tools project.")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 07/31] gnu: Add java-jansi-native.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (4 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 06/31] gnu: Add java-hawtjni Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-12-17 22:57     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 08/31] gnu: Add java-jansi Julien Lepiller
                     ` (24 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-jansi-native): New variable.
---
 gnu/packages/java.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index d517e4928..3811dcdc8 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7663,3 +7663,54 @@ best of DOM, CSS, and jquery-like methods.")
 to implement java native methods.  It is based on the jnigen code generator
 that is part of the SWT Tools project.")
     (license license:asl2.0)))
+
+(define-public java-jansi-native
+  (package
+    (name "java-jansi-native")
+    (version "1.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/fusesource/jansi-native/"
+                                  "archive/jansi-native-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0j2ydlgxbzbgshqkwghbxxxnbnx1mmjgd6k5fw6xfvxw1z956yqf"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jansi-native.jar"
+       #:source-dir "src/main/java"
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'build-native
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "src/main/native-package/src/jansi_ttyname.c"
+               (("#include \"jansi_.*") ""))
+             ;; there are more required files for windows in windows/
+             (with-directory-excursion "src/main/native-package/src"
+               (system* "gcc" "-c" "jansi_ttyname.c" "-o" "jansi_ttyname.o"
+                        (string-append "-I" (assoc-ref inputs "java-hawtjni")
+                                       "/include")
+                        (string-append "-I" (assoc-ref inputs "jdk")
+                                       "/include/linux")
+                        "-fPIC" "-O2")
+               (system* "gcc" "-o" "libjansi.so" "-shared" "jansi_ttyname.o"))
+             ;; FIXME: detect one of linux{32,64}, freebsd{32,64}, osx, windows{32,64}
+             ;; This package will only work on x86_64
+             (mkdir-p "build/classes/META-INF/native/linux64")
+             (copy-file "src/main/native-package/src/libjansi.so"
+                        "build/classes/META-INF/native/linux64/libjansi.so")
+             #t))
+         (add-after 'install 'install-native
+           (lambda* (#:key outputs #:allow-other-keys)
+             (mkdir-p (string-append (assoc-ref outputs "out") "/include"))
+             (copy-file "src/main/native-package/src/jansi.h"
+                        (string-append (assoc-ref outputs "out")
+                                       "/include/jansi.h"))
+             #t)))))
+    (inputs
+     `(("java-hawtjni" ,java-hawtjni)))
+    (home-page "https://fusesource.github.io/jansi/")
+    (synopsis "Native library for jansi")
+    (description "Java-jansi-native contains the native library for jansi.")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 08/31] gnu: Add java-jansi.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (5 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 07/31] gnu: Add java-jansi-native Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-11-22  9:33     ` julien lepiller
  2017-11-19 17:57   ` [bug#29359] [PATCH 09/31] gnu: Add java-jboss-el-api-spec Julien Lepiller
                     ` (23 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 3811dcdc8..5d45a9949 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7714,3 +7714,30 @@ that is part of the SWT Tools project.")
     (synopsis "Native library for jansi")
     (description "Java-jansi-native contains the native library for jansi.")
     (license license:asl2.0)))
+
+(define-public java-jansi
+  (package
+    (name "java-jansi")
+    (version "1.16")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/fusesource/jansi/archive/"
+                                  "jansi-project-" version ".tar.gz"))
+              (sha256
+               (base32
+                "11kh3144i3fzp21dpy8zg52mjmsr214k7km9p8ly0rqk2px0qq2z"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jansi.jar"
+       #:source-dir "jansi/src/main/java"
+       #:test-dir "jansi/src/test"))
+    (inputs
+     `(("java-jansi-native" ,java-jansi-native)))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)))
+    (home-page "https://fusesource.github.io/jansi/")
+    (synopsis "Portable ANSI escape sequences")
+    (description "Jansi is a Java library that allows you to use ANSI escape
+sequences to format your console output which works on every platform.")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 09/31] gnu: Add java-jboss-el-api-spec.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (6 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 08/31] gnu: Add java-jansi Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-12-17 23:00     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 10/31] gnu: Add java-jboss-interceptors-api-spec Julien Lepiller
                     ` (22 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-jboss-el-api-spec): New variable.
---
 gnu/packages/java.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 5d45a9949..e16266b3e 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7741,3 +7741,28 @@ that is part of the SWT Tools project.")
     (description "Jansi is a Java library that allows you to use ANSI escape
 sequences to format your console output which works on every platform.")
     (license license:asl2.0)))
+
+(define-public java-jboss-el-api-spec
+  (package
+    (name "java-jboss-el-api-spec")
+    (version "3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/jboss/jboss-el-api_spec/"
+                                  "archive/jboss-el-api_" version
+                                  "_spec-1.0.7.Final.tar.gz"))
+              (sha256
+               (base32
+                "1j45ljxalwlibxl7g7iv952sjxkw275m8vyxxij8l6wdd5pf0pdh"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-jboss-el-api_spec.jar"
+       #:jdk ,icedtea-8))
+    (inputs
+     `(("java-junit" ,java-junit)))
+    (home-page "https://github.com/jboss/jboss-el-api_spec")
+    (synopsis "JSR-341 Expression Language 3.0 API")
+    (description "Java-jboss-el-api-spec contains an implementation of the
+JSR-341.  It implements an expression language inspired by ECMAScript and
+XPath.  This language is used with JavaServer Pages (JSP).")
+    (license (list license:gpl2 license:cddl1.1)))); either gpl2 only or cddl.
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 10/31] gnu: Add java-jboss-interceptors-api-spec.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (7 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 09/31] gnu: Add java-jboss-el-api-spec Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2018-02-02 22:45     ` Björn Höfling
  2017-11-19 17:57   ` [bug#29359] [PATCH 11/31] gnu: Add java-cdi-api Julien Lepiller
                     ` (21 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-jboss-interceptors-api-spec): New
variable.
---
 gnu/packages/java.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e16266b3e..212813c43 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7766,3 +7766,28 @@ sequences to format your console output which works on every platform.")
 JSR-341.  It implements an expression language inspired by ECMAScript and
 XPath.  This language is used with JavaServer Pages (JSP).")
     (license (list license:gpl2 license:cddl1.1)))); either gpl2 only or cddl.
+
+(define-public java-jboss-interceptors-api-spec
+  (package
+    (name "java-jboss-interceptors-api-spec")
+    (version "1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/jboss/jboss-interceptors-api_spec/"
+                                  "archive/jboss-interceptors-api_" version
+                                  "_spec-1.0.0.Final.tar.gz"))
+              (sha256
+               (base32
+                "0wv8x0jp9a5qxlrgkhb5jdk2gr6vi87b4j4kjb8ryxiy9gn8g51z"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-jboss-interceptors-api_spec.jar"
+       #:jdk ,icedtea-8
+       #:source-dir "."
+       #:tests? #f)); no tests
+    (home-page "https://github.com/jboss/jboss-interceptors-api_spec")
+    (synopsis "Interceptors 1.2 API classes from JSR 318")
+    (description "Java-jboss-interceptors-api-spec implements the Interceptors
+API.  Interceptors are used to interpose on business method invocations and
+specific events.")
+    (license (list license:gpl2 license:cddl1.1)))); either gpl2 only or cddl.
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 11/31] gnu: Add java-cdi-api.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (8 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 10/31] gnu: Add java-jboss-interceptors-api-spec Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2018-02-03 21:33     ` Björn Höfling
  2017-11-19 17:57   ` [bug#29359] [PATCH 12/31] gnu: Add java-joda-convert Julien Lepiller
                     ` (20 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-cdi-api): New variable.
---
 gnu/packages/java.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 212813c43..3a08d367c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7791,3 +7791,46 @@ XPath.  This language is used with JavaServer Pages (JSP).")
 API.  Interceptors are used to interpose on business method invocations and
 specific events.")
     (license (list license:gpl2 license:cddl1.1)))); either gpl2 only or cddl.
+
+(define-public java-cdi-api
+  (package
+    (name "java-cdi-api")
+    (version "2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/cdi-spec/cdi/archive/"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1iv8b8bp07c5kmqic14jsr868vycjv4qv02lf3pkgp9z21mnfg5y"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:source-dir "api/src/main/java"
+       #:jar-name "java-cdi-api.jar"
+       #:test-dir "api/src/test"
+       #:jdk ,icedtea-8
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (system* "ant" "compile-tests")
+             ;; This fails though
+             (system* "java" "-cp" (string-append (getenv "CLASSPATH")
+                                                         ":build/classes"
+                                                         ":build/test-classes")
+                             "org.testng.TestNG" "-verbose" "5" "-testclass"
+                             "build/test-classes/org/jboss/cdi/api/test/CDITest.class")
+             #t)))))
+    (inputs
+     `(("java-javax-inject" ,java-javax-inject)
+       ("java-jboss-el-api-spec" ,java-jboss-el-api-spec)
+       ("java-jboss-interceptors-api-spec" ,java-jboss-interceptors-api-spec)))
+    (native-inputs
+     `(("java-testng" ,java-testng)
+       ("java-hamcrest-core" ,java-hamcrest-core)))
+    (home-page "http://cdi-spec.org/")
+    (synopsis "Contexts and Dependency Injection APIs")
+    (description "Java-cdi-api contains the required APIs for Contexts and
+Dependency Injection (CDI).")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 12/31] gnu: Add java-joda-convert.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (9 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 11/31] gnu: Add java-cdi-api Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2018-02-04  5:39     ` Björn Höfling
  2017-11-19 17:57   ` [bug#29359] [PATCH 13/31] gnu: Add java-joda-time Julien Lepiller
                     ` (19 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-joda-convert): New variable.
---
 gnu/packages/java.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 3a08d367c..d98fd6d88 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7834,3 +7834,34 @@ specific events.")
     (description "Java-cdi-api contains the required APIs for Contexts and
 Dependency Injection (CDI).")
     (license license:asl2.0)))
+
+(define-public java-joda-convert
+  (package
+    (name "java-joda-convert")
+    (version "1.9.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/JodaOrg/joda-convert/archive/v"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0vp346xz7dh9br4q7xazhc7hvzf76a6hf95fki9bg67q5jr0kjh7"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name (string-append ,name "-" ,version ".jar")
+       #:source-dir "src/main/java"
+       #:test-include (list "**/Test*.java")
+       ;; Contains only interfaces and base classes (no test)
+       #:test-exclude (list "**/test*/**.java")))
+    (inputs
+     `(("java-guava" ,java-guava)))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)))
+    (home-page "http://www.joda.org/joda-convert/")
+    (synopsis "Conversion between Objects and Strings")
+    (description "Joda-Convert provides a small set of classes to aid
+conversion between Objects and Strings.  It is not intended to tackle the
+wider problem of Object to Object transformation.")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 13/31] gnu: Add java-joda-time.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (10 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 12/31] gnu: Add java-joda-convert Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2018-02-04  6:28     ` Björn Höfling
  2017-11-19 17:57   ` [bug#29359] [PATCH 14/31] gnu: Add java-jaxp Julien Lepiller
                     ` (18 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-joda-time): New variable.
---
 gnu/packages/java.scm | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index d98fd6d88..3e8985595 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7865,3 +7865,67 @@ Dependency Injection (CDI).")
 conversion between Objects and Strings.  It is not intended to tackle the
 wider problem of Object to Object transformation.")
     (license license:asl2.0)))
+
+(define-public java-joda-time
+  (package
+    (name "java-joda-time")
+    (version "2.9.9")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/JodaOrg/joda-time/archive/v"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1i9x91mi7yg2pasl0k3912f1pg46n37sps6rdb0v1gs8hj9ppwc1"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-joda-time.jar"
+       #:source-dir "src/main/java"
+       #:test-include (list "**/Test*.java")
+       ;; There is no runnable test in these files
+       #:test-exclude (list "**/Test*Chronology.java" "**/Test*Field.java")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'build-resources
+           (lambda _
+             (mkdir-p "build/classes/org/joda/time/tz/data")
+             (mkdir-p "build/classes/org/joda/time/format")
+             ;; This will produce an exception, but it's all right.
+             (zero? (system* "java" "-cp"
+                             (string-append "build/classes:" (getenv "CLASSPATH"))
+                             "org.joda.time.tz.ZoneInfoCompiler"
+                             "-src" "src/main/java/org/joda/time/tz/src"
+                             "-dst" "build/classes/org/joda/time/tz/data"
+                             "africa" "antarctica" "asia" "australasia"
+                             "europe" "northamerica" "southamerica"
+                             "pacificnew" "etcetera" "backward" "systemv"))
+             (for-each (lambda (f)
+                         (copy-file f (string-append
+                                        "build/classes/org/joda/time/format/"
+                                        (basename f))))
+               (find-files "src/main/java/org/joda/time/format" ".*.properties"))
+             #t))
+         (add-before 'install 'regenerate-jar
+           (lambda _
+             ;; We need to regenerate the jar file to add generated data.
+             (delete-file "build/jar/java-joda-time.jar")
+             (zero? (system* "ant" "jar"))))
+         (add-before 'check 'copy-test-resources
+           (lambda _
+             (mkdir-p "build/test-classes/org/joda/time/tz/data")
+             (copy-file "src/test/resources/tzdata/ZoneInfoMap"
+                        "build/test-classes/org/joda/time/tz/data/ZoneInfoMap")
+             (copy-recursively "src/test/resources" "build/test-classes")
+             #t)))))
+    (inputs
+     `(("java-joda-convert" ,java-joda-convert)))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)
+       ("tzdata" ,tzdata)))
+    (home-page "http://www.joda.org/joda-time/")
+    (synopsis "Replacement for the Java date and time classes")
+    (description "Joda-Time is a replacement for the Java date and time
+classes prior to Java SE 8.")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 14/31] gnu: Add java-jaxp.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (11 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 13/31] gnu: Add java-joda-time Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2018-02-03 22:52     ` Björn Höfling
  2017-11-19 17:57   ` [bug#29359] [PATCH 15/31] gnu: Add java-apache-xml-commons-resolver Julien Lepiller
                     ` (17 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 3e8985595..f1a425418 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7929,3 +7929,37 @@ wider problem of Object to Object transformation.")
     (description "Joda-Time is a replacement for the Java date and time
 classes prior to Java SE 8.")
     (license license:asl2.0)))
+
+;; TODO: Debian builds several jars out of this: jaxp-1.4.jar,
+;; xml-apis.jar and xml-apis-1.4.01.jar.
+(define-public java-jaxp
+  (package
+    (name "java-jaxp")
+    (version "1.4.01")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://apache/xerces/xml-commons/source/"
+                           "xml-commons-external-" version "-src.tar.gz"))
+       (sha256
+        (base32 "0rhq32a7dl9yik7zx9h0naz2iz068qgcdiayak91wp4wr26xhjyk"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jaxp.jar"
+       #:jdk ,icedtea-8
+       #:source-dir ".."
+       #:tests? #f)); no tests
+    (home-page "http://xerces.apache.org/xml-commons/")
+    (synopsis "Java XML parser and transformer APIs (DOM, SAX, JAXP, TrAX)")
+    (description "Jaxp from the Apache XML Commons project is used by
+the Xerces-J XML parser and Xalan-J XSLT processor and specifies these APIs:
+
+@itemize
+@item Document Object Model (DOM)
+@item Simple API for XML (SAX)
+@item Java APIs for XML Processing (JAXP)
+@item Transformation API for XML (TrAX)
+@item Document Object Model (DOM) Load and Save
+@item JSR 206 Java API for XML Processing
+@end itemize")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 15/31] gnu: Add java-apache-xml-commons-resolver.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (12 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 14/31] gnu: Add java-jaxp Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2018-02-04 18:52     ` Björn Höfling
  2017-11-19 17:57   ` [bug#29359] [PATCH 16/31] gnu: Add java-xerces Julien Lepiller
                     ` (16 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-apache-xml-commons-resolver): New
variable.
---
 gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index f1a425418..886a71f23 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7963,3 +7963,32 @@ the Xerces-J XML parser and Xalan-J XSLT processor and specifies these APIs:
 @item JSR 206 Java API for XML Processing
 @end itemize")
     (license license:asl2.0)))
+
+(define-public java-apache-xml-commons-resolver
+  (package
+    (name "java-apache-xml-commons-resolver")
+    (version "1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://apache/xerces/xml-commons/"
+                           "xml-commons-resolver-" version ".tar.gz"))
+       (sha256
+        (base32 "1zhy4anc3fg9f8y348bj88vmab15aavrg6nf419ifb25asyygnsm"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (for-each delete-file (find-files "." ".*\\.(jar|zip)"))
+           #t))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name (string-append "xml-resolver.jar")
+       #:tests? #f)); no tests
+    (native-inputs
+     `(("java-junit" ,java-junit)))
+    (home-page "http://xerces.apache.org/xml-commons/")
+    (synopsis "Xml-related utilities and code")
+    (description "Xml-commons mainly focuses on providing code and services
+to other xml.apache.org projects instead of shipping it's own \"standalone\"
+project.")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 16/31] gnu: Add java-xerces.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (13 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 15/31] gnu: Add java-apache-xml-commons-resolver Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-11-19 17:57   ` [bug#29359] [PATCH 17/31] gnu: Add java-xom Julien Lepiller
                     ` (15 subsequent siblings)
  30 siblings, 0 replies; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-xerces): New variable.
* gnu/packages/patches/java-xerces-bootclasspath.patch: New file.
* gnu/packages/patches/java-xerces-build_dont_unzip.patch: New file.
* gnu/packages/patches/java-xerces-xjavac_taskdef.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add them.
---
 gnu/local.mk                                       |  3 +
 gnu/packages/java.scm                              | 74 ++++++++++++++++++++++
 .../patches/java-xerces-bootclasspath.patch        | 38 +++++++++++
 .../patches/java-xerces-build_dont_unzip.patch     | 44 +++++++++++++
 .../patches/java-xerces-xjavac_taskdef.patch       | 45 +++++++++++++
 5 files changed, 204 insertions(+)
 create mode 100644 gnu/packages/patches/java-xerces-bootclasspath.patch
 create mode 100644 gnu/packages/patches/java-xerces-build_dont_unzip.patch
 create mode 100644 gnu/packages/patches/java-xerces-xjavac_taskdef.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2fbafe118..6094ddfc4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -757,6 +757,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/isl-0.11.1-aarch64-support.patch	\
   %D%/packages/patches/jacal-fix-texinfo.patch			\
   %D%/packages/patches/java-powermock-fix-java-files.patch		\
+  %D%/packages/patches/java-xerces-bootclasspath.patch	\
+  %D%/packages/patches/java-xerces-build_dont_unzip.patch	\
+  %D%/packages/patches/java-xerces-xjavac_taskdef.patch	\
   %D%/packages/patches/jbig2dec-ignore-testtest.patch		\
   %D%/packages/patches/jbig2dec-CVE-2016-9601.patch		\
   %D%/packages/patches/jbig2dec-CVE-2017-7885.patch		\
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 886a71f23..873226aca 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7992,3 +7992,77 @@ the Xerces-J XML parser and Xalan-J XSLT processor and specifies these APIs:
 to other xml.apache.org projects instead of shipping it's own \"standalone\"
 project.")
     (license license:asl2.0)))
+
+(define-public java-xerces
+  (package
+    (name "java-xerces")
+    (version "2.11.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://apache/xerces/j/source/"
+                           "Xerces-J-src." version ".tar.gz"))
+       (sha256
+        (base32 "1006igwy2lqrmjvdk64v8dg6qbk9c29pm8xxx7r87n0vnpvmx6pm"))
+       (patches (search-patches
+                 "java-xerces-xjavac_taskdef.patch"
+                 "java-xerces-build_dont_unzip.patch"
+                 "java-xerces-bootclasspath.patch"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f;; Test files are not present
+       #:test-target "test"
+       #:jdk ,icedtea-8
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'create-build.properties
+          (lambda* (#:key inputs #:allow-other-keys)
+            (let ((jaxp (assoc-ref inputs "java-jaxp"))
+                  (resolver (assoc-ref inputs "java-apache-xml-commons-resolver")))
+              (with-output-to-file "build.properties"
+                (lambda _
+                  (format #t
+                   "jar.jaxp = ~a/share/java/jaxp.jar~@
+                   jar.apis-ext = ~a/share/java/jaxp.jar~@
+                   jar.resolver = ~a/share/java/xml-resolver.jar~%"
+                   jaxp jaxp resolver)))
+              ;; Make xerces use our version of jaxp in tests
+              (substitute* "build.xml"
+                (("xml-apis.jar")
+                 (string-append jaxp "/share/java/jaxp.jar"))
+                (("\\$\\{tools.dir\\}/\\$\\{jar.apis\\}")
+                 "${jar.apis}")))
+            #t))
+         (replace 'install (install-jars "build")))))
+    (inputs
+     `(("java-apache-xml-commons-resolver" ,java-apache-xml-commons-resolver)
+       ("java-jaxp" ,java-jaxp)))
+    (home-page "https://xerces.apache.org/xerces2-j/")
+    (synopsis "Validating XML parser for Java with DOM level 3 support")
+    (description "The Xerces2 Java parser is the reference implementation of
+XNI, the Xerces Native Interface, and also a fully conforming XML Schema
+processor.
+
+Xerces2-J supports the following standards and APIs:
+
+@itemize
+@item eXtensible Markup Language (XML) 1.0 Second Edition Recommendation
+@item Namespaces in XML Recommendation
+@item Document Object Model (DOM) Level 2 Core, Events, and Traversal and
+      Range Recommendations
+@item Simple API for XML (SAX) 2.0.1 Core and Extension
+@item Java APIs for XML Processing (JAXP) 1.2.01
+@item XML Schema 1.0 Structures and Datatypes Recommendations
+@item Experimental implementation of the Document Object Model (DOM) Level 3
+      Core and Load/Save Working Drafts
+@item Provides a partial implementation of the XML Inclusions (XInclude) W3C
+      Candidate Recommendation
+@end itemize
+
+Xerces is now able to parse documents written according to the XML 1.1
+Candidate Recommendation, except that it does not yet provide an option to
+enable normalization checking as described in section 2.13 of this
+specification.  It also handles namespaces according to the XML Namespaces 1.1
+Candidate Recommendation, and will correctly serialize XML 1.1 documents if
+the DOM level 3 load/save API's are in use.")
+    (license license:asl2.0)))
diff --git a/gnu/packages/patches/java-xerces-bootclasspath.patch b/gnu/packages/patches/java-xerces-bootclasspath.patch
new file mode 100644
index 000000000..efaa548a6
--- /dev/null
+++ b/gnu/packages/patches/java-xerces-bootclasspath.patch
@@ -0,0 +1,38 @@
+Based on https://anonscm.debian.org/viewvc/pkg-java/trunk/libxerces2-java/debian/patches/03_bootclasspath.patch?revision=14509, adopted for guix
+
+--- xerces-2_11_0/build.xml.orig	2010-11-26 21:42:11.000000000 +0100
++++ xerces-2_11_0/build.xml	2017-03-28 14:04:41.946606996 +0200
+@@ -290,13 +290,14 @@
+            destdir="${build.dest}"
+            source="${javac.source}"
+            target="${javac.target}"
+-           classpath="${build.dir}/classes:${tools.dir}/${jar.apis}:${tools.dir}/${jar.resolver}:${tools.dir}/${jar.serializer}"
++           classpath="${build.dir}/classes:${jar.jaxp}:${jar.apis-ext}:${jar.resolver}"
+            debug="${debug}" nowarn="true"
+            debuglevel="${debuglevel}"
+            deprecation="${deprecation}"
+            optimize="${optimize}"
+            includeAntRuntime="false"
+-           includeJavaRuntime="false"
++           includeJavaRuntime="true"
++           bootclasspath="${jar.jaxp}:${jar.apis-ext}:${jar.resolver}"
+            excludes="org/xml/sax/** 
+                 javax/xml/**
+                 org/w3c/dom/*
+@@ -1451,13 +1452,14 @@
+                destdir="${build.dest}"
+                source="${javac.source}"
+                target="${javac.target}"
+-               classpath="${build.dir}/classes:${tools.dir}/${jar.apis}:${tools.dir}/${jar.resolver}:${tools.dir}/${jar.serializer}"
++               classpath="${build.dir}/classes:${jar.jaxp}:${jar.apis-ext}:${jar.resolver}"
+                debug="${debug}"
+                debuglevel="${debuglevel}"
+                deprecation="${deprecation}"
+                optimize="${optimize}"
+                includeAntRuntime="false"
+-               includeJavaRuntime="false"
++               includeJavaRuntime="true"
++               bootclasspath="${jar.jaxp}:${jar.apis-ext}:${jar.resolver}"
+                excludes="org/xml/sax/** 
+                     javax/xml/**
+                     org/w3c/dom/*
diff --git a/gnu/packages/patches/java-xerces-build_dont_unzip.patch b/gnu/packages/patches/java-xerces-build_dont_unzip.patch
new file mode 100644
index 000000000..2ff562886
--- /dev/null
+++ b/gnu/packages/patches/java-xerces-build_dont_unzip.patch
@@ -0,0 +1,44 @@
+Don't unzip the sources which were bundled originally. Guix strips them from
+the source and uses pre-build packages.
+
+Taken from https://anonscm.debian.org/viewvc/pkg-java/trunk/libxerces2-java/debian/patches/02_build_dont_unzip.patch?revision=14507
+
+Index: b/build.xml
+===================================================================
+--- a/build.xml
++++ b/build.xml
+@@ -247,7 +247,7 @@
+     <copy file="${src.dir}/org/apache/xerces/impl/xpath/regex/message.properties"
+       tofile="${build.src}/org/apache/xerces/impl/xpath/regex/message_en.properties"/>
+ 
+-    <!-- now deal with API's:  -->
++    <!-- not needed for Debian
+     <unzip src="${src.apis.zip}" dest="${build.src}">
+         <patternset
+             includes="org/xml/sax/** 
+@@ -270,6 +270,7 @@
+                 org/w3c/dom/xpath/**"
+         />
+     </unzip>
++    -->
+     
+     <!-- substitute tokens as needed -->
+     <replace file="${build.dir}/src/org/apache/xerces/impl/Version.java" 
+@@ -1232,7 +1233,7 @@
+     <replace file="${build.dir}/src/org/apache/xerces/parsers/AbstractSAXParser.java"
+              token="return (fConfiguration instanceof XML11Configurable);" value="return false;"/>
+  
+-    <!-- now deal with API's:  -->
++    <!-- not needed for Debian
+     <unzip src="${src.apis.zip}" dest="${build.src}">
+         <patternset
+             includes="org/xml/sax/** 
+@@ -1255,7 +1256,7 @@
+                 org/w3c/dom/xpath/**"
+         />
+     </unzip>
+-
++    -->
+ 
+     <!-- substitute tokens as needed -->
+     <replace file="${build.dir}/src/org/apache/xerces/impl/Version.java" 
diff --git a/gnu/packages/patches/java-xerces-xjavac_taskdef.patch b/gnu/packages/patches/java-xerces-xjavac_taskdef.patch
new file mode 100644
index 000000000..4f5d008c2
--- /dev/null
+++ b/gnu/packages/patches/java-xerces-xjavac_taskdef.patch
@@ -0,0 +1,45 @@
+This patch eliminates the need for providing "xjavac", which saves building a
+package for the unmaintained "xerces-tools".
+
+Taken from https://anonscm.debian.org/viewvc/pkg-java/trunk/libxerces2-java/debian/patches/01_xjavac_taskdef.patch?revision=14507
+
+Index: b/build.xml
+===================================================================
+--- a/build.xml
++++ b/build.xml
+@@ -39,7 +39,7 @@
+   <property name="tools.dir" value="./tools"/>
+ 
+   <!-- enable compilation under JDK 1.4 and above -->
+-  <taskdef name="xjavac" classname="org.apache.xerces.util.XJavac">
++  <taskdef name="xjavac" classname="org.apache.tools.ant.taskdefs.Javac">
+     <classpath>
+       <pathelement location="${tools.dir}/bin/xjavac.jar"/>
+     </classpath>
+@@ -291,7 +291,7 @@
+            source="${javac.source}"
+            target="${javac.target}"
+            classpath="${build.dir}/classes:${tools.dir}/${jar.apis}:${tools.dir}/${jar.resolver}:${tools.dir}/${jar.serializer}"
+-           debug="${debug}"
++           debug="${debug}" nowarn="true"
+            debuglevel="${debuglevel}"
+            deprecation="${deprecation}"
+            optimize="${optimize}"
+@@ -359,7 +359,7 @@
+            source="${javac.source}"
+            target="${javac.target}"
+            classpath="${build.dir}/classes:${tools.dir}/${jar.apis}"
+-           debug="${debug}"
++           debug="${debug}" nowarn="true"
+            debuglevel="${debuglevel}"
+            includeAntRuntime="false"
+            includeJavaRuntime="true"/>
+@@ -379,7 +379,7 @@
+            source="${javac.source}"
+            target="${javac.target}"
+            classpath="${tools.dir}/${jar.apis}:${build.dir}/classes:./tools/junit.jar"
+-           debug="${debug}"
++           debug="${debug}" nowarn="true"
+            debuglevel="${debuglevel}"
+            includeAntRuntime="false"
+            includeJavaRuntime="true"/>
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 17/31] gnu: Add java-xom.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (14 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 16/31] gnu: Add java-xerces Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-11-19 17:57   ` [bug#29359] [PATCH 18/31] gnu: Fix java-eclipse-jetty-security-9.2 build failure Julien Lepiller
                     ` (14 subsequent siblings)
  30 siblings, 0 replies; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-xom): New variables.
---
 gnu/packages/java.scm | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 873226aca..e575d34fd 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8066,3 +8066,81 @@ specification.  It also handles namespaces according to the XML Namespaces 1.1
 Candidate Recommendation, and will correctly serialize XML 1.1 documents if
 the DOM level 3 load/save API's are in use.")
     (license license:asl2.0)))
+
+;; Jaxen requires java-dom4j and java-xom that in turn require jaxen :/
+(define java-jaxen-no-rec-deps
+  (package
+    (name "java-jaxen-no-rec-deps")
+    (version "1.1.6")
+    (source (origin
+              (method url-fetch)
+              ;; No release on github
+              (uri (string-append "https://repo1.maven.org/maven2/jaxen/jaxen/"
+                                  version "/jaxen-" version "-sources.jar"))
+              (sha256
+               (base32
+                "18pa8mks3gfhazmkyil8wsp6j1g1x7rggqxfv4k2mnixkrj5x1kx"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jaxen.jar"
+       #:source-dir "src"
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'remove-dom4j
+           (lambda _
+             (delete-file-recursively "src/org/jaxen/dom4j")
+             (delete-file-recursively "src/org/jaxen/xom")
+             #t)))))
+    (inputs
+     `(("java-jdom" ,java-jdom)))
+    (home-page "https://github.com/jaxen-xpath/jaxen")
+    (synopsis "XPath library")
+    (description "Jaxen is an XPath library written in Java.  It is adaptable
+to many different object models, including DOM, XOM, dom4j, and JDOM.  It is
+also possible to write adapters that treat non-XML trees such as compiled
+Java byte code or Java beans as XML, thus enabling you to query these trees
+with XPath too.")
+    (license license:bsd-3)))
+
+(define-public java-xom
+  (package
+    (name "java-xom")
+    (version "127")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/elharo/xom/archive/XOM_"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "04m69db1irqja12a9rfxrac8cbn9psqa1k136wh4ls4pxfsdr5wg"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (for-each delete-file
+                            (find-files "." "\\.jar$"))
+                  #t))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "xom.jar"
+       #:jdk ,icedtea-8
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'fix-tagsoup-dep
+           (lambda _
+             ;; FIXME: Where is tagsoup source?
+             (delete-file "src/nu/xom/tools/XHTMLJavaDoc.java")
+             #t)))))
+    (inputs
+     `(("java-jdom" ,java-jdom)
+       ("java-junit" ,java-junit)
+       ("java-classpathx-servletapi" ,java-classpathx-servletapi)
+       ("java-jaxen-no-rec-deps" ,java-jaxen-no-rec-deps)
+       ("java-xerces" ,java-xerces)))
+    (home-page "https://xom.nu/")
+    (synopsis "XML Object Model")
+    (description "XOM is a new XML Object Model for processing XML with Java 
+that strives for correctness and simplicity.")
+    ;; 2.1 only
+    (license license:lgpl2.1)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 18/31] gnu: Fix java-eclipse-jetty-security-9.2 build failure.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (15 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 17/31] gnu: Add java-xom Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-11-19 17:57   ` [bug#29359] [PATCH 19/31] gnu: Add java-xsdlib Julien Lepiller
                     ` (13 subsequent siblings)
  30 siblings, 0 replies; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

* gnu/packages/web.scm (java-eclipse-jetty-security-9.2)[arguments]:
exclude one failing test.
---
 gnu/packages/web.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 8a6cd91eb..31bbd8785 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5951,6 +5951,10 @@ infrastructure")))
     (inherit java-eclipse-jetty-security)
     (version (package-version java-eclipse-jetty-util-9.2))
     (source (package-source java-eclipse-jetty-util-9.2))
+    (arguments
+     ;; This test fails
+     `(#:test-exclude (list "**/ConstraintTest.java")
+       ,@(package-arguments java-eclipse-jetty-security)))
     (inputs
      `(("util" ,java-eclipse-jetty-util-9.2)
        ("http" ,java-eclipse-jetty-http-9.2)
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 19/31] gnu: Add java-xsdlib.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (16 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 18/31] gnu: Fix java-eclipse-jetty-security-9.2 build failure Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-11-19 17:57   ` [bug#29359] [PATCH 20/31] gnu: Add java-xpp3 Julien Lepiller
                     ` (12 subsequent siblings)
  30 siblings, 0 replies; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e575d34fd..0dd1730ab 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8144,3 +8144,28 @@ with XPath too.")
 that strives for correctness and simplicity.")
     ;; 2.1 only
     (license license:lgpl2.1)))
+
+(define-public java-xsdlib
+  (package
+    (name "java-xsdlib")
+    (version "2013.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://central.maven.org/maven2/com/sun/msv/"
+                                  "datatype/xsd/xsdlib/" version "/xsdlib-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "185i48p1xp09wbq03i9zgfl701qa262rq46yf4cajzmk3336kqim"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f; no tests
+       #:jar-name "xsdlib.jar"
+       #:jdk ,icedtea-8))
+    (inputs
+     `(("java-xerces" ,java-xerces)))
+    (home-page "http://central.maven.org/maven2/com/sun/msv/datatype/xsd/xsdlib/")
+    (synopsis "Sun Multi-Schema Validator")
+    (description "Xsdlib contains an implementation of sun.com.msv, an XML
+validator.")
+    (license license:bsd-2)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 20/31] gnu: Add java-xpp3.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (17 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 19/31] gnu: Add java-xsdlib Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-12-16 16:34     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 21/31] gnu: Add java-xmlpull2 Julien Lepiller
                     ` (11 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 0dd1730ab..71e04d47d 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8169,3 +8169,40 @@ that strives for correctness and simplicity.")
     (description "Xsdlib contains an implementation of sun.com.msv, an XML
 validator.")
     (license license:bsd-2)))
+
+(define-public java-xpp3
+  (package
+    (name "java-xpp3")
+    (version "1.1.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.extreme.indiana.edu/dist/"
+                                  "java-repository/xpp3/distributions/xpp3-"
+                                  version "_src.tgz"))
+              (sha256
+               (base32
+                "1b99zrhyij5qwyhilyjdl1ykxvhk902vsvflh6gx4fir8hfvdl5p"))
+              (modules '((guix build utils)))
+              (snippet
+                '(begin ;; Delete bundled jar archives.
+                   (for-each delete-file (find-files "." ".*\\.jar"))
+                   #t))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f; no tests
+       #:build-target "jar"
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (string-append (assoc-ref outputs "out") "/share/java")))
+               (mkdir-p out)
+               (copy-file (string-append "build/xpp3-" ,version ".jar")
+                          (string-append out "/xpp3.jar")))
+             #t)))))
+    (home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/")
+    (synopsis "Streaming pull XML parser")
+    (description "Xml Pull Parser (in short XPP) is a streaming pull XML
+parser and should be used when there is a need to process quickly and
+efficiently all input elements (for example in SOAP processors).")
+    (license license:public-domain)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 21/31] gnu: Add java-xmlpull2.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (18 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 20/31] gnu: Add java-xpp3 Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-12-16 16:30     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 22/31] gnu: Add java-dom4j Julien Lepiller
                     ` (10 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 71e04d47d..2c535ceef 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8206,3 +8206,41 @@ validator.")
 parser and should be used when there is a need to process quickly and
 efficiently all input elements (for example in SOAP processors).")
     (license license:public-domain)))
+
+(define-public java-xmlpull2
+  (package
+    (name "java-xmlpull2")
+    (version "2.1.10")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.extreme.indiana.edu/xgws/xsoap/"
+                                  "PullParser/PullParser" version ".tgz"))
+              (sha256
+               (base32
+                "1kw9nhyqb7bzhn2zjbwlpi5vp5rzj89amzi3hadw2acyh2dmd0md"))
+              (modules '((guix build utils)))
+              (snippet
+                '(begin ;; Delete bundled jar archives.
+                   (for-each delete-file (find-files "." ".*\\.jar"))
+                   #t))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f; no tests
+       #:build-target "impl"
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (string-append (assoc-ref outputs "out") "/share/java")))
+               (mkdir-p out)
+               (copy-file "build/lib/PullParser-standard-2.1.10.jar"
+                          (string-append out "/xmlpull2-standard.jar"))
+               (copy-file "build/lib/PullParser-2.1.10.jar"
+                          (string-append out "/xmlpull2.jar")))
+             #t)))))
+    (home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/")
+    (synopsis "Streaming pull XML parser")
+    (description "Xml Pull Parser (in short XPP) is a streaming pull XML
+parser and should be used when there is a need to process quickly and
+efficiently all input elements (for example in SOAP processors).")
+    (license license:public-domain)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 22/31] gnu: Add java-dom4j.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (19 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 21/31] gnu: Add java-xmlpull2 Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-11-20  8:58     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 23/31] gnu: Add java-jaxen Julien Lepiller
                     ` (9 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 2c535ceef..14a308348 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8244,3 +8244,74 @@ efficiently all input elements (for example in SOAP processors).")
 parser and should be used when there is a need to process quickly and
 efficiently all input elements (for example in SOAP processors).")
     (license license:public-domain)))
+
+(define-public java-dom4j
+  (package
+    (name "java-dom4j")
+    (version "2.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/dom4j/dom4j/archive/"
+                                  "version-" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "101drpnw6agmcvsi1jrfi0kn97r7liazrh5jbrip9vx26axn2fx9"))
+              (modules '((guix build utils)))
+              (snippet
+                '(begin ;; Delete bundled jar archives.
+                   (for-each delete-file (find-files "." ".*\\.jar"))
+                   #t))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "dom4j.jar"
+       #:jdk ,icedtea-8
+       #:source-dir "src/main/java"
+       #:tests? #f; Requires xalan, but xalan -> java-cup -> jflex -> java-cup...
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'copy-jaxen-sources
+           ;; jaxen-no-rec-deps is not enough. These files have a circular
+           ;; dependency and there is no subset of dom4j that would allow
+           ;; breaking the circle.
+           (lambda* (#:key inputs #:allow-other-keys)
+             (mkdir-p "jaxen-sources")
+             (with-directory-excursion "jaxen-sources"
+               (system* "jar" "xf" (assoc-ref inputs "java-jaxen-sources")))
+             (mkdir-p "src/main/java/org/jaxen/dom4j")
+             (copy-file "jaxen-sources/org/jaxen/dom4j/DocumentNavigator.java"
+                        "src/main/java/org/jaxen/dom4j/DocumentNavigator.java")
+             (copy-file "jaxen-sources/org/jaxen/dom4j/Dom4jXPath.java"
+                        "src/main/java/org/jaxen/dom4j/Dom4jXPath.java")
+             #t))
+         (add-before 'build 'fix-old-xpp2
+           (lambda _
+             ;; This package normally depends on xpp2 2.0, but we can only package
+             ;; version 2.1.10.
+             (substitute* "src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java"
+               (("public void resetStartTag")
+                (string-append
+                  "public boolean removeAttributeByRawName(String name) {\n"
+                  "  return false;\n"
+                  "}\n"
+                  "public boolean removeAttributeByName(String name, String name2) {\n"
+                  "  return false;\n"
+                  "}\n"
+                  "\n"
+                  "public void resetStartTag"))
+               (("Atttribute") "Attribute"))
+             #t)))))
+    (inputs
+     `(("java-jaxen-no-rec-deps" ,java-jaxen-no-rec-deps)
+       ("java-jaxen-sources" ,(package-source java-jaxen-no-rec-deps))
+       ("java-xmlpull2" ,java-xmlpull2)
+       ("java-xpp3" ,java-xpp3)
+       ("java-xsdlib" ,java-xsdlib)))
+    (native-inputs
+     `(("java-testng" ,java-testng)
+       ("java-xerces" ,java-xerces)))
+    (home-page "https://dom4j.github.io/")
+    (synopsis "Flexible XML framework for Java")
+    (description "Dom4j is a flexible XML framework for Java.")
+    ;; some BSD-like 5-clause license
+    (license (license:non-copyleft "file://LICENSE"))))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 23/31] gnu: Add java-jaxen.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (20 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 22/31] gnu: Add java-dom4j Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-11-20  8:50     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 24/31] gnu: Add java-kxml2 Julien Lepiller
                     ` (8 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 14a308348..b6c360a1c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8103,6 +8103,15 @@ Java byte code or Java beans as XML, thus enabling you to query these trees
 with XPath too.")
     (license license:bsd-3)))
 
+(define-public java-jaxen
+  (package
+    (inherit java-jaxen-no-rec-deps)
+    (name "java-jaxen")
+    (inputs
+     `(("java-jodm" ,java-jdom)
+       ("java-xom" ,java-xom)
+       ("java-dom4j" ,java-dom4j)))))
+
 (define-public java-xom
   (package
     (name "java-xom")
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 24/31] gnu: Add java-kxml2.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (21 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 23/31] gnu: Add java-jaxen Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-11-20  8:09     ` Ricardo Wurmus
  2017-11-19 17:57   ` [bug#29359] [PATCH 25/31] gnu: Add java-stax Julien Lepiller
                     ` (7 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index b6c360a1c..a736eb197 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8324,3 +8324,31 @@ efficiently all input elements (for example in SOAP processors).")
     (description "Dom4j is a flexible XML framework for Java.")
     ;; some BSD-like 5-clause license
     (license (license:non-copyleft "file://LICENSE"))))
+
+(define-public java-kxml2
+  (package
+    (name "java-kxml2")
+    (version "2.4.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/stefanhaustein/kxml2/archive/v"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "17kh04qf3vll1xx6sv06xlazw2hxa8qdmzyday9r6z2191jlj74w"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "kxml2.jar"
+       #:source-dir "src/main/java"
+       #:test-include (list "TestWb.java")
+       #:tests? #f)); Test fails
+    (inputs
+     `(("java-xpp3" ,java-xpp3)))
+    (native-inputs
+     `(("java-junit" ,java-junit)))
+    (home-page "http://kxml.org")
+    (synopsis "XML pull parser")
+    (description "kXML is a small XML pull parser, specially designed for
+constrained environments such as Applets, Personal Java or MIDP devices.")
+    (license license:expat)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 25/31] gnu: Add java-stax.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (22 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 24/31] gnu: Add java-kxml2 Julien Lepiller
@ 2017-11-19 17:57   ` Julien Lepiller
  2017-11-20  8:05     ` Ricardo Wurmus
  2017-11-19 17:58   ` [bug#29359] [PATCH 26/31] gnu: Add java-jettison Julien Lepiller
                     ` (6 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:57 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index a736eb197..73f04d807 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8352,3 +8352,34 @@ efficiently all input elements (for example in SOAP processors).")
     (description "kXML is a small XML pull parser, specially designed for
 constrained environments such as Applets, Personal Java or MIDP devices.")
     (license license:expat)))
+
+(define-public java-stax
+  (package
+    (name "java-stax")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://repo1.maven.org/maven2/stax/stax/"
+                                  version "/stax-" version "-sources.jar"))
+              (sha256
+               (base32
+                "04ba4qvbrps45j8bldbakxq31k7gjlsay9pppa9yn13fr00q586z"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "stax.jar"
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'fix-utf8
+           (lambda _
+             ;; This file is ISO-8859-1 but java expects UTF-8.
+             ;; Remove special characters in comments.
+             (with-fluids ((%default-port-encoding "ISO-8859-1"))
+               (substitute* "src/com/wutka/dtd/Scanner.java"
+                 (("//.*") "\n")))
+             #t)))))
+    (home-page "https://repo1.maven.org/maven2/stax/stax/")
+    (synopsis "Streaming API for XML")
+    (description "The StAX Java API for XML processing is designed for parsing
+XML streams, just like the SAX API's.")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 26/31] gnu: Add java-jettison.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (23 preceding siblings ...)
  2017-11-19 17:57   ` [bug#29359] [PATCH 25/31] gnu: Add java-stax Julien Lepiller
@ 2017-11-19 17:58   ` Julien Lepiller
  2017-11-20  7:53     ` Ricardo Wurmus
  2017-11-19 17:58   ` [bug#29359] [PATCH 27/31] gnu: Add java-jdom2 Julien Lepiller
                     ` (5 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:58 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 73f04d807..df6761ab3 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8383,3 +8383,30 @@ constrained environments such as Applets, Personal Java or MIDP devices.")
     (description "The StAX Java API for XML processing is designed for parsing
 XML streams, just like the SAX API's.")
     (license license:asl2.0)))
+
+(define-public java-jettison
+  (package
+    (name "java-jettison")
+    (version "1.3.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/codehaus/jettison/archive/"
+                                  "jettison-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0rdhfyxywvga5wiwasc04iqnxyixn3rd8wj01c9ymhvwc3h6dpqg"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jettison.jar"
+       #:source-dir "src/main/java"
+       #:test-exclude (list "**/Abstract*.java"
+                            ;; Abstract classes
+                            "**/DOMTest.java"
+                            "**/BadgerFishDOMTest.java"
+                            "**/MappedDOMTest.java")))
+    (native-inputs
+     `(("java-junit" ,java-junit)))
+    (home-page "https://github.com/codehaus/jettison")
+    (synopsis "StAX implementation for JSON")
+    (description "Jettison is a StAX implementation for JSON.")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 27/31] gnu: Add java-jdom2.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (24 preceding siblings ...)
  2017-11-19 17:58   ` [bug#29359] [PATCH 26/31] gnu: Add java-jettison Julien Lepiller
@ 2017-11-19 17:58   ` Julien Lepiller
  2017-11-20  7:50     ` Ricardo Wurmus
  2017-11-19 17:58   ` [bug#29359] [PATCH 28/31] gnu: Add java-xstream Julien Lepiller
                     ` (4 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:58 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index df6761ab3..6aaaf7ef3 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8410,3 +8410,28 @@ XML streams, just like the SAX API's.")
     (synopsis "StAX implementation for JSON")
     (description "Jettison is a StAX implementation for JSON.")
     (license license:asl2.0)))
+
+(define-public java-jdom2
+  (package
+    (name "java-jdom")
+    (version "2.0.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/hunterhacker/jdom/archive/JDOM-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0p8n7inqq2a25wk9ljinl3ixlx1x2la9qaman8ngd75xxjb02yc1"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:build-target "package"
+       #:tests? #f; tests are run as part of the build process
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (install-jars "build")))))
+    (home-page "http://jdom.org/")
+    (synopsis "Access, manipulate, and output XML data")
+    (description "Java-based solution for accessing, manipulating, and
+outputting XML data from Java code.")
+    (license license:bsd-4)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 28/31] gnu: Add java-xstream.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (25 preceding siblings ...)
  2017-11-19 17:58   ` [bug#29359] [PATCH 27/31] gnu: Add java-jdom2 Julien Lepiller
@ 2017-11-19 17:58   ` Julien Lepiller
  2017-11-20  7:44     ` Ricardo Wurmus
  2017-11-19 17:58   ` [bug#29359] [PATCH 29/31] gnu: Add java-jline Julien Lepiller
                     ` (3 subsequent siblings)
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:58 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 6aaaf7ef3..1f3fd71ab 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8435,3 +8435,44 @@ XML streams, just like the SAX API's.")
     (description "Java-based solution for accessing, manipulating, and
 outputting XML data from Java code.")
     (license license:bsd-4)))
+
+(define-public java-xstream
+  (package
+    (name "java-xstream")
+    (version "1.4.9")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://repo1.maven.org/maven2/com/thoughtworks"
+                                  "/xstream/xstream-distribution/" version
+                                  "/xstream-distribution-" version "-src.zip"))
+              (file-name (string-append name "-" version ".zip"))
+              (sha256
+               (base32
+                "1cq9j9h839wc6pkrgd9bd7y94a3zrj1j741i134izqs9xx2b54fi"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "xstream.jar"
+       ;; Tests are not in a java subdirectory as assumed by ant-build-system
+       #:tests? #f
+       #:jdk ,icedtea-8
+       #:source-dir "xstream/src/java"))
+    (inputs
+     `(("java-jdom" ,java-jdom)
+       ("java-jdom2" ,java-jdom2)
+       ("java-cglib" ,java-cglib)
+       ("java-joda-time" ,java-joda-time)
+       ("java-jettison" ,java-jettison)
+       ("java-xom" ,java-xom)
+       ("java-xpp3" ,java-xpp3)
+       ("java-dom4j" ,java-dom4j)
+       ("java-stax2-api" ,java-stax2-api)
+       ("java-woodstox-core" ,java-woodstox-core)
+       ("java-kxml2" ,java-kxml2)
+       ("java-stax" ,java-stax)))
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (home-page "https://x-stream.github.io")
+    (synopsis "XML serialization library")
+    (description "XStream is a simple library to serialize objects to XML and
+back again.")
+    (license license:x11)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 29/31] gnu: Add java-jline.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (26 preceding siblings ...)
  2017-11-19 17:58   ` [bug#29359] [PATCH 28/31] gnu: Add java-xstream Julien Lepiller
@ 2017-11-19 17:58   ` Julien Lepiller
  2017-11-20  7:39     ` Ricardo Wurmus
  2017-11-20  7:46     ` Ricardo Wurmus
  2017-11-19 17:58   ` [bug#29359] [PATCH 30/31] gnu: Add java-xmlunit Julien Lepiller
                     ` (2 subsequent siblings)
  30 siblings, 2 replies; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:58 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 1f3fd71ab..dc9768a02 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8476,3 +8476,34 @@ outputting XML data from Java code.")
     (description "XStream is a simple library to serialize objects to XML and
 back again.")
     (license license:x11)))
+
+(define-public java-jline
+  (package
+    (name "java-jline")
+    (version "1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/jline/jline1/archive/jline-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0bi3p6vrh7a6v0fbpb6rx9plpmx5zk3lr352xzdbz2jcxg499wir"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jline.jar"
+       #:source-dir "src/main/java"
+       #:test-dir "src/test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'copy-resources
+           (lambda _
+             (copy-recursively "src/main/resources" "build/classes")
+             #t)))))
+    (native-inputs
+     `(("java-junit" ,java-junit)))
+    (home-page "https://jline.github.io")
+    (synopsis "Console input handling library")
+    (description "JLine is a Java library for handling console input.  It is
+similar in functionality to BSD editline and GNU readline but with additional
+features that bring it in par with ZSH line editor.")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 30/31] gnu: Add java-xmlunit.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (27 preceding siblings ...)
  2017-11-19 17:58   ` [bug#29359] [PATCH 29/31] gnu: Add java-jline Julien Lepiller
@ 2017-11-19 17:58   ` Julien Lepiller
  2017-11-20  7:35     ` Ricardo Wurmus
  2017-11-19 17:58   ` [bug#29359] [PATCH 31/31] gnu: Add java-xmlunit-legacy Julien Lepiller
  2017-11-20  7:33   ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Ricardo Wurmus
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:58 UTC (permalink / raw)
  To: 29359

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

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index dc9768a02..dbf0119a5 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8507,3 +8507,53 @@ back again.")
 similar in functionality to BSD editline and GNU readline but with additional
 features that bring it in par with ZSH line editor.")
     (license license:asl2.0)))
+
+(define java-xmlunit-test-resources
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+           (url "https://github.com/xmlunit/test-resources.git")
+           (commit "a590d2ae865c3e0455691d76ba8eefccc2215aec")))
+    (file-name "java-xmlunit-test-resources")
+    (sha256
+     (base32
+      "0r0glj37pg5l868yjz78gckr91cs8fysxxbp9p328dssssi91agr"))))
+
+(define-public java-xmlunit
+  (package
+    (name "java-xmlunit")
+    (version "2.5.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/xmlunit/xmlunit/archive/v"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "035rivlnmwhfqj0fzviciv0bkh1h95ps1iwnh2kjcvdbk5nccm4z"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-xmlunit.jar"
+       #:source-dir "xmlunit-core/src/main/java"
+       #:test-dir "xmlunit-core/src/test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'copy-test-resources
+           (lambda* (#:key inputs #:allow-other-keys)
+             (copy-recursively (assoc-ref inputs "resources") "../test-resources")
+             #t)))))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-mockito-1" ,java-mockito-1)
+       ("java-hamcrest-all" ,java-hamcrest-all)
+       ("java-objenesis" ,java-objenesis)
+       ("java-asm" ,java-asm)
+       ("java-cglib" ,java-cglib)
+       ("resources" ,java-xmlunit-test-resources)))
+    (home-page "http://www.xmlunit.org/")
+    (synopsis "XML output testing")
+    (description "XMLUnit provides you with the tools to verify the XML you
+emit is the one you want to create.  It provides helpers to validate against
+an XML Schema, assert the values of XPath queries or compare XML documents
+against expected outcomes.")
+    (license license:asl2.0)))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 31/31] gnu: Add java-xmlunit-legacy.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (28 preceding siblings ...)
  2017-11-19 17:58   ` [bug#29359] [PATCH 30/31] gnu: Add java-xmlunit Julien Lepiller
@ 2017-11-19 17:58   ` Julien Lepiller
  2017-11-20  7:35     ` Ricardo Wurmus
  2017-11-20  7:33   ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Ricardo Wurmus
  30 siblings, 1 reply; 65+ messages in thread
From: Julien Lepiller @ 2017-11-19 17:58 UTC (permalink / raw)
  To: 29359

* gnu/packages/java.scm (java-xmlunit-legacy): New variable.
---
 gnu/packages/java.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index dbf0119a5..cba4bbd89 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8557,3 +8557,17 @@ emit is the one you want to create.  It provides helpers to validate against
 an XML Schema, assert the values of XPath queries or compare XML documents
 against expected outcomes.")
     (license license:asl2.0)))
+
+(define-public java-xmlunit-legacy
+  (package
+    (inherit java-xmlunit)
+    (name "java-xmlunit-legacy")
+    (arguments
+     `(#:jar-name "java-xmlunit-legacy.jar"
+       #:source-dir "xmlunit-legacy/src/main/java"
+       #:test-dir "xmlunit-legacy/src/test"))
+    (inputs
+     `(("java-xmlunit" ,java-xmlunit)
+       ("java-junit" ,java-junit)))
+    (native-inputs
+     `(("java-mockito-1" ,java-mockito-1)))))
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 01/31] gnu: Add java-gson.
  2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
                     ` (29 preceding siblings ...)
  2017-11-19 17:58   ` [bug#29359] [PATCH 31/31] gnu: Add java-xmlunit-legacy Julien Lepiller
@ 2017-11-20  7:33   ` Ricardo Wurmus
  30 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  7:33 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-gson): New variable.

LGTM!

Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 30/31] gnu: Add java-xmlunit.
  2017-11-19 17:58   ` [bug#29359] [PATCH 30/31] gnu: Add java-xmlunit Julien Lepiller
@ 2017-11-20  7:35     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  7:35 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-xmlunit): New variable.
[…]
> +
> +(define java-xmlunit-test-resources
> +  (origin
> +    (method git-fetch)
> +    (uri (git-reference
> +           (url "https://github.com/xmlunit/test-resources.git")
> +           (commit "a590d2ae865c3e0455691d76ba8eefccc2215aec")))
> +    (file-name "java-xmlunit-test-resources")
> +    (sha256
> +     (base32
> +      "0r0glj37pg5l868yjz78gckr91cs8fysxxbp9p328dssssi91agr"))))

I’d prefer if this were placed inline as part of the java-xmlunit
inputs, instead of making a top-level definition.

The rest looks good to me.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 31/31] gnu: Add java-xmlunit-legacy.
  2017-11-19 17:58   ` [bug#29359] [PATCH 31/31] gnu: Add java-xmlunit-legacy Julien Lepiller
@ 2017-11-20  7:35     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  7:35 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-xmlunit-legacy): New variable.

LGTM.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 29/31] gnu: Add java-jline.
  2017-11-19 17:58   ` [bug#29359] [PATCH 29/31] gnu: Add java-jline Julien Lepiller
@ 2017-11-20  7:39     ` Ricardo Wurmus
  2017-11-20  7:46     ` Ricardo Wurmus
  1 sibling, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  7:39 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-jline): New variable.
[…]
> +    (description "JLine is a Java library for handling console input.  It is
> +similar in functionality to BSD editline and GNU readline but with additional
> +features that bring it in par with ZSH line editor.")

I think it should be “on par with the Z shell line editor” – everything
else looks good to me.

Thanks!

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 28/31] gnu: Add java-xstream.
  2017-11-19 17:58   ` [bug#29359] [PATCH 28/31] gnu: Add java-xstream Julien Lepiller
@ 2017-11-20  7:44     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  7:44 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Hi Julien,

> * gnu/packages/java.scm (java-xstream): New variable.
[…]

> +
> +(define-public java-xstream
> +  (package
> +    (name "java-xstream")
> +    (version "1.4.9")

1.4.10 has been released on May 23, 2017.  It includes a fix for
CVE-2017-7957.  Could you please update this package definition?

> +    (arguments
> +     `(#:jar-name "xstream.jar"
> +       ;; Tests are not in a java subdirectory as assumed by ant-build-system
> +       #:tests? #f

Can’t we point it at the root directory and filter the files with test-exclude?

> +    (synopsis "XML serialization library")
> +    (description "XStream is a simple library to serialize objects to XML and
> +back again.")

Maybe replace “objects” with “Java objects”.  The description is a bit
short, but I’ll take it :)

> +    (license license:x11)))

This looks like the bsd-3 license:

    https://x-stream.github.io/license.html

Okay to push with these changes.  Thanks!

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 29/31] gnu: Add java-jline.
  2017-11-19 17:58   ` [bug#29359] [PATCH 29/31] gnu: Add java-jline Julien Lepiller
  2017-11-20  7:39     ` Ricardo Wurmus
@ 2017-11-20  7:46     ` Ricardo Wurmus
  1 sibling, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  7:46 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-jline): New variable.
[…]
> +    (license license:asl2.0)))

Actually, this doesn’t seem right:

    http://jline.sourceforge.net/license.html

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 27/31] gnu: Add java-jdom2.
  2017-11-19 17:58   ` [bug#29359] [PATCH 27/31] gnu: Add java-jdom2 Julien Lepiller
@ 2017-11-20  7:50     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  7:50 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Hi Julien,

> * gnu/packages/java.scm (java-jdom2): New variable.

How about adding this to (gnu packages xml) instead?  I’d like to
prevent java.scm from becoming the next python.scm…

> +(define-public java-jdom2

Why name it “java-jdom2”?  I’d prefer just “java-jdom”.

> +    (description "Java-based solution for accessing, manipulating, and
> +outputting XML data from Java code.")

Please use a full sentence here.

> +    (license license:bsd-4)))

This seems to be correct.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 26/31] gnu: Add java-jettison.
  2017-11-19 17:58   ` [bug#29359] [PATCH 26/31] gnu: Add java-jettison Julien Lepiller
@ 2017-11-20  7:53     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  7:53 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Hi Julien,

> * gnu/packages/java.scm (java-jettison): New variable.

Maybe add this to (gnu packages xml) instead?

> +    (description "Jettison is a StAX implementation for JSON.")

This is too short.  How about this:

    Jettison is a Java library for converting XML to JSON and vice-versa
    with the help of the @dfn{Streaming API for XML} (StAX).  It
    implements @code{XMLStreamWriter} and @code{XMLStreamReader} and
    supports @code{Mapped} and @code{BadgerFish} conventions.

> +    (license license:asl2.0)))

Looks right.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 25/31] gnu: Add java-stax.
  2017-11-19 17:57   ` [bug#29359] [PATCH 25/31] gnu: Add java-stax Julien Lepiller
@ 2017-11-20  8:05     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  8:05 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-stax): New variable.

Maybe move this package to (gnu packages xml) instead.

> +    (home-page "https://repo1.maven.org/maven2/stax/stax/")

This looks weird.  The original home page was http://stax.codehaus.org/,
but it has disappeared.  It’s fine to keep it pointing at the maven
repo, even though it’s not really a home page.

> +    (synopsis "Streaming API for XML")
> +    (description "The StAX Java API for XML processing is designed for parsing
> +XML streams, just like the SAX API's.")


This description could be improved.  How about this:

   This package provides the reference implementation of the
   @dfn{Streaming API for XML} (StAX).  It is used for streaming XML
   data to and from a Java application.  It provides a standard pull
   parser interface.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 24/31] gnu: Add java-kxml2.
  2017-11-19 17:57   ` [bug#29359] [PATCH 24/31] gnu: Add java-kxml2 Julien Lepiller
@ 2017-11-20  8:09     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  8:09 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Hi Julien,

> * gnu/packages/java.scm (java-kxml2): New variable.

Add to (gnu packages xml) instead?

> +    (arguments
> +     `(#:jar-name "kxml2.jar"
> +       #:source-dir "src/main/java"
> +       #:test-include (list "TestWb.java")
> +       #:tests? #f)); Test fails

Is this a FIXME or something that cannot be fixed?

> +    (inputs
> +     `(("java-xpp3" ,java-xpp3)))
> +    (native-inputs
> +     `(("java-junit" ,java-junit)))
> +    (home-page "http://kxml.org")
> +    (synopsis "XML pull parser")
> +    (description "kXML is a small XML pull parser, specially designed for
> +constrained environments such as Applets, Personal Java or MIDP
> devices.")

Maybe expand “MIDP” to “devices compliant with the Mobile Information
Device Profile”?

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 23/31] gnu: Add java-jaxen.
  2017-11-19 17:57   ` [bug#29359] [PATCH 23/31] gnu: Add java-jaxen Julien Lepiller
@ 2017-11-20  8:50     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  8:50 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-jaxen): New variable.

This also better goes to (gnu packages xml).

[…]

> +(define-public java-jaxen
> +  (package
> +    (inherit java-jaxen-no-rec-deps)

Where is the definition of “java-jaxen-no-rec-deps”?  BTW: I’d prefer
the name “java-jaxen-bootstrap”.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 22/31] gnu: Add java-dom4j.
  2017-11-19 17:57   ` [bug#29359] [PATCH 22/31] gnu: Add java-dom4j Julien Lepiller
@ 2017-11-20  8:58     ` Ricardo Wurmus
  2017-11-20  9:07       ` julien lepiller
  0 siblings, 1 reply; 65+ messages in thread
From: Ricardo Wurmus @ 2017-11-20  8:58 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-dom4j): New variable.

Better: (gnu packages xml).

[…]
> +    (arguments
> +     `(#:jar-name "dom4j.jar"
> +       #:jdk ,icedtea-8
> +       #:source-dir "src/main/java"
> +       #:tests? #f; Requires xalan, but xalan -> java-cup -> jflex -> java-cup...

So java-cup has a dependency on itself via jflex?
Please add FIXME here, so that we can fix this once xalan is packaged.

> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'build 'copy-jaxen-sources
> +           ;; jaxen-no-rec-deps is not enough. These files have a circular
> +           ;; dependency and there is no subset of dom4j that would allow
> +           ;; breaking the circle.

I still don’t know where “jaxen-no-rec-deps” comes from.

> +         (add-before 'build 'fix-old-xpp2
> +           (lambda _
> +             ;; This package normally depends on xpp2 2.0, but we can only package
> +             ;; version 2.1.10.

Why?

> +             (substitute* "src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java"
> +               (("public void resetStartTag")
> +                (string-append
> +                  "public boolean removeAttributeByRawName(String name) {\n"
> +                  "  return false;\n"
> +                  "}\n"
> +                  "public boolean removeAttributeByName(String name, String name2) {\n"
> +                  "  return false;\n"
> +                  "}\n"
> +                  "\n"

I prefer not to use string-append here.  You can split strings and let
them span multiple lines by escaping the line break.

> +    (inputs
> +     `(("java-jaxen-no-rec-deps" ,java-jaxen-no-rec-deps)
> +       ("java-jaxen-sources" ,(package-source
> java-jaxen-no-rec-deps))

Please remember to rename this when renaming “java-jaxen-no-rec-deps” to
“java-jaxen-bootstrap”.

> +    (home-page "https://dom4j.github.io/")
> +    (synopsis "Flexible XML framework for Java")
> +    (description "Dom4j is a flexible XML framework for Java.")

That’s a bit short.  Could you elaborate?

> +    ;; some BSD-like 5-clause license
> +    (license (license:non-copyleft "file://LICENSE"))))

Weird license :)

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 22/31] gnu: Add java-dom4j.
  2017-11-20  8:58     ` Ricardo Wurmus
@ 2017-11-20  9:07       ` julien lepiller
  0 siblings, 0 replies; 65+ messages in thread
From: julien lepiller @ 2017-11-20  9:07 UTC (permalink / raw)
  To: 29359

Le 2017-11-20 09:58, Ricardo Wurmus a écrit :
> Julien Lepiller <julien@lepiller.eu> writes:
> 
>> * gnu/packages/java.scm (java-dom4j): New variable.
> 
> Better: (gnu packages xml).
> 
> […]
>> +    (arguments
>> +     `(#:jar-name "dom4j.jar"
>> +       #:jdk ,icedtea-8
>> +       #:source-dir "src/main/java"
>> +       #:tests? #f; Requires xalan, but xalan -> java-cup -> jflex -> 
>> java-cup...
> 
> So java-cup has a dependency on itself via jflex?
> Please add FIXME here, so that we can fix this once xalan is packaged.
> 
>> +       #:phases
>> +       (modify-phases %standard-phases
>> +         (add-before 'build 'copy-jaxen-sources
>> +           ;; jaxen-no-rec-deps is not enough. These files have a 
>> circular
>> +           ;; dependency and there is no subset of dom4j that would 
>> allow
>> +           ;; breaking the circle.
> 
> I still don’t know where “jaxen-no-rec-deps” comes from.

It's part of the java-xom patch, but I will rename it and make two 
patches instead.

> 
>> +         (add-before 'build 'fix-old-xpp2
>> +           (lambda _
>> +             ;; This package normally depends on xpp2 2.0, but we can 
>> only package
>> +             ;; version 2.1.10.
> 
> Why?

It's the only version I could find the source code of. I will add a 
comment.

> 
>> +             (substitute* 
>> "src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java"
>> +               (("public void resetStartTag")
>> +                (string-append
>> +                  "public boolean removeAttributeByRawName(String 
>> name) {\n"
>> +                  "  return false;\n"
>> +                  "}\n"
>> +                  "public boolean removeAttributeByName(String name, 
>> String name2) {\n"
>> +                  "  return false;\n"
>> +                  "}\n"
>> +                  "\n"
> 
> I prefer not to use string-append here.  You can split strings and let
> them span multiple lines by escaping the line break.

Sure. I fixed some of these and forgot about this one. I'll make sure 
not to push such a thing
in other packages either. I agree that's ugly.

> 
>> +    (inputs
>> +     `(("java-jaxen-no-rec-deps" ,java-jaxen-no-rec-deps)
>> +       ("java-jaxen-sources" ,(package-source
>> java-jaxen-no-rec-deps))
> 
> Please remember to rename this when renaming “java-jaxen-no-rec-deps” 
> to
> “java-jaxen-bootstrap”.
> 
>> +    (home-page "https://dom4j.github.io/")
>> +    (synopsis "Flexible XML framework for Java")
>> +    (description "Dom4j is a flexible XML framework for Java.")
> 
> That’s a bit short.  Could you elaborate?
> 
>> +    ;; some BSD-like 5-clause license
>> +    (license (license:non-copyleft "file://LICENSE"))))
> 
> Weird license :)

Thanks for your review :)

> 
> --
> Ricardo
> 
> GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
> https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 08/31] gnu: Add java-jansi.
  2017-11-19 17:57   ` [bug#29359] [PATCH 08/31] gnu: Add java-jansi Julien Lepiller
@ 2017-11-22  9:33     ` julien lepiller
  2017-11-24 14:41       ` Leo Famulari
  0 siblings, 1 reply; 65+ messages in thread
From: julien lepiller @ 2017-11-22  9:33 UTC (permalink / raw)
  To: 29359

Le 2017-11-19 18:57, Julien Lepiller a écrit :
> * gnu/packages/java.scm (java-jansi): New variable.
> ---
>  gnu/packages/java.scm | 27 +++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
> 
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index 3811dcdc8..5d45a9949 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -7714,3 +7714,30 @@ that is part of the SWT Tools project.")
>      (synopsis "Native library for jansi")
>      (description "Java-jansi-native contains the native library for 
> jansi.")
>      (license license:asl2.0)))
> +
> +(define-public java-jansi
> +  (package
> +    (name "java-jansi")
> +    (version "1.16")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> "https://github.com/fusesource/jansi/archive/"
> +                                  "jansi-project-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                
> "11kh3144i3fzp21dpy8zg52mjmsr214k7km9p8ly0rqk2px0qq2z"))))
> +    (build-system ant-build-system)
> +    (arguments
> +     `(#:jar-name "jansi.jar"
> +       #:source-dir "jansi/src/main/java"
> +       #:test-dir "jansi/src/test"))
> +    (inputs
> +     `(("java-jansi-native" ,java-jansi-native)))
> +    (native-inputs
> +     `(("java-junit" ,java-junit)
> +       ("java-hamcrest-core" ,java-hamcrest-core)))
> +    (home-page "https://fusesource.github.io/jansi/")
> +    (synopsis "Portable ANSI escape sequences")
> +    (description "Jansi is a Java library that allows you to use ANSI 
> escape
> +sequences to format your console output which works on every 
> platform.")
> +    (license license:asl2.0)))

There's a small issue with this package: when it runs its tests, it will 
output
formatted text with colors but forgets to clean the console afterwards, 
which
leaves the console with a bold red font. Any idea on how to clean that? 
Shouldn't
the environment block this kind of thing?

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 08/31] gnu: Add java-jansi.
  2017-11-22  9:33     ` julien lepiller
@ 2017-11-24 14:41       ` Leo Famulari
  0 siblings, 0 replies; 65+ messages in thread
From: Leo Famulari @ 2017-11-24 14:41 UTC (permalink / raw)
  To: julien lepiller; +Cc: 29359

[-- Attachment #1: Type: text/plain, Size: 457 bytes --]

On Wed, Nov 22, 2017 at 10:33:56AM +0100, julien lepiller wrote:
> There's a small issue with this package: when it runs its tests, it will
> output
> formatted text with colors but forgets to clean the console afterwards,
> which
> leaves the console with a bold red font. Any idea on how to clean that?
> Shouldn't
> the environment block this kind of thing?

The Vim package's test suite does something similar, resizing the
terminal to (I think) 80x24.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 21/31] gnu: Add java-xmlpull2.
  2017-11-19 17:57   ` [bug#29359] [PATCH 21/31] gnu: Add java-xmlpull2 Julien Lepiller
@ 2017-12-16 16:30     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-12-16 16:30 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Hi Julien,

> * gnu/packages/java.scm (java-xmlpull2): New variable.

Please move this package to xml.scm.

[…]
> +       (modify-phases %standard-phases
> +         (replace 'install
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let ((out (string-append (assoc-ref outputs "out") "/share/java")))
> +               (mkdir-p out)
> +               (copy-file "build/lib/PullParser-standard-2.1.10.jar"
> +                          (string-append out "/xmlpull2-standard.jar"))
> +               (copy-file "build/lib/PullParser-2.1.10.jar"
> +                          (string-append out "/xmlpull2.jar")))
> +             #t)))))

Could you use the “install-jars” procedure instead of this custom phase?

> +    (home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/")
> +    (synopsis "Streaming pull XML parser")
> +    (description "Xml Pull Parser (in short XPP) is a streaming pull
> XML

Please capitalize the first “Xml”.

> +parser and should be used when there is a need to process quickly and
> +efficiently all input elements (for example in SOAP processors).")
> +    (license license:public-domain)))

The license does not seem to be correct.  This is the license:

  http://www.extreme.indiana.edu/xgws/xsoap/xpp/download/PullParser2/LICENSE.txt

It looks like a variant of the BSD-4 license, so non-copyleft would be
appropriate here.  See also the Debian copyright file:

  http://metadata.ftp-master.debian.org/changelogs/main/libx/libxpp2-java/libxpp2-java_2.1.10-7_copyright

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 20/31] gnu: Add java-xpp3.
  2017-11-19 17:57   ` [bug#29359] [PATCH 20/31] gnu: Add java-xpp3 Julien Lepiller
@ 2017-12-16 16:34     ` Ricardo Wurmus
  2017-12-16 20:17       ` Julien Lepiller
  0 siblings, 1 reply; 65+ messages in thread
From: Ricardo Wurmus @ 2017-12-16 16:34 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-xpp3): New variable.

Please move it to xml.scm.

[…]

> +       (modify-phases %standard-phases
> +         (replace 'install
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let ((out (string-append (assoc-ref outputs "out") "/share/java")))
> +               (mkdir-p out)
> +               (copy-file (string-append "build/xpp3-" ,version ".jar")
> +                          (string-append out "/xpp3.jar")))
> +             #t)))))

Same as for java-xmlpull2: please use “install-jars”, if possible.

> +    (home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/")
> +    (synopsis "Streaming pull XML parser")
> +    (description "Xml Pull Parser (in short XPP) is a streaming pull XML
> +parser and should be used when there is a need to process quickly and
> +efficiently all input elements (for example in SOAP processors).")

Please capitalize “Xml”.  How does this differ from java-xmlpull2?
Could you come up with a better description maybe?

(AIUI java-xmlpull2 is in maintenance mode, so it may be worth adding
that information to the package description.)

> +    (license license:public-domain)))

Where did you find the public domain declaration?  I only see this BSD-4
variant, which means this should be (license:non-copyleft
"file://LICENSE.txt").

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 20/31] gnu: Add java-xpp3.
  2017-12-16 16:34     ` Ricardo Wurmus
@ 2017-12-16 20:17       ` Julien Lepiller
  0 siblings, 0 replies; 65+ messages in thread
From: Julien Lepiller @ 2017-12-16 20:17 UTC (permalink / raw)
  To: 29359

Le Sat, 16 Dec 2017 17:34:43 +0100,
Ricardo Wurmus <rekado@elephly.net> a écrit :

> Julien Lepiller <julien@lepiller.eu> writes:
> 
> > * gnu/packages/java.scm (java-xpp3): New variable.  
> 
> Please move it to xml.scm.
> 
> […]
> 
> > +       (modify-phases %standard-phases
> > +         (replace 'install
> > +           (lambda* (#:key outputs #:allow-other-keys)
> > +             (let ((out (string-append (assoc-ref outputs "out")
> > "/share/java")))
> > +               (mkdir-p out)
> > +               (copy-file (string-append "build/xpp3-" ,version
> > ".jar")
> > +                          (string-append out "/xpp3.jar")))
> > +             #t)))))  
> 
> Same as for java-xmlpull2: please use “install-jars”, if possible.
> 
> > +    (home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/")
> > +    (synopsis "Streaming pull XML parser")
> > +    (description "Xml Pull Parser (in short XPP) is a streaming
> > pull XML +parser and should be used when there is a need to process
> > quickly and +efficiently all input elements (for example in SOAP
> > processors).")  
> 
> Please capitalize “Xml”.  How does this differ from java-xmlpull2?
> Could you come up with a better description maybe?
> 
> (AIUI java-xmlpull2 is in maintenance mode, so it may be worth adding
> that information to the package description.)
> 
> > +    (license license:public-domain)))  
> 
> Where did you find the public domain declaration?  I only see this
> BSD-4 variant, which means this should be (license:non-copyleft
> "file://LICENSE.txt").

Indeed, you're right. I can't remember where I saw this, maybe I just
forgot to check the license... Thanks for your reviews! I'll try to be
more careful about licenses in the future.

> 
> --
> Ricardo
> 
> GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
> https://elephly.net
> 
> 

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 02/31] gnu: Add java-jsoup.
  2017-11-19 17:57   ` [bug#29359] [PATCH 02/31] gnu: Add java-jsoup Julien Lepiller
@ 2017-12-17 22:42     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-12-17 22:42 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Hi Julien,

> * gnu/packages/java.scm (java-jsoup): New variable.

How about adding it to web.scm instead?

[…]

> +(define-public java-jsoup
> +  (package
> +    (name "java-jsoup")
> +    (version "1.10.3")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://github.com/jhy/jsoup/archive/jsoup-"
> +                                  version ".tar.gz"))
> +              (file-name (string-append name "-" version ".tar.gz"))

I don’t think this is necessary.

> +    (native-inputs
> +     `(("java-junit" ,java-junit)
> +       ("java-hamcrest-core" ,java-hamcrest-core)
> +       ("java-gson" ,java-gson)))

Is gson really just used at build time?

> +    (home-page "https://jsoup.org")
> +    (synopsis "HTML Parser")

s/Parser/parser/

> +    (description "Jsoup is a Java library for working with real-world HTML.  It
> +provides a very convenient API for extracting and manipulating data, using the
> +best of DOM, CSS, and jquery-like methods.")

“jQuery”.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 03/31] gnu: Add java-geronimo-xbean-bundleutils.
  2017-11-19 17:57   ` [bug#29359] [PATCH 03/31] gnu: Add java-geronimo-xbean-bundleutils Julien Lepiller
@ 2017-12-17 22:44     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-12-17 22:44 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-geronimo-xbean-bundleutils): New variable.

[…]

> +       (modify-phases %standard-phases
> +         (add-before 'build 'fix-java
> +           (lambda _
> +             ;; We use a more recent version of osgi, so this file requires
> +             ;; more interface method implementation.

“implementations”

The rest looks okay.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 04/31] gnu: Add java-geronimo-xbean-asm-util.
  2017-11-19 17:57   ` [bug#29359] [PATCH 04/31] gnu: Add java-geronimo-xbean-asm-util Julien Lepiller
@ 2017-12-17 22:46     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-12-17 22:46 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-geronimo-xbean-asm-util): New variable.
[…]
> +(define-public java-geronimo-xbean-asm-util
> +  (package
> +    (inherit java-geronimo-xbean-reflect)
> +    (name "java-geronimo-xbean-asm-util")
> +    (arguments
> +     `(#:jar-name "geronimo-xbean-asm-util.jar"
> +       #:source-dir "xbean-asm-util/src/main/java"
> +       #:tests? #f)); no tests
> +    (inputs
> +     `(("java-asm" ,java-asm)))))
> +

Since there are no tests, maybe you can add “(native-inputs '())” to get
rid of the inherited junit.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 05/31] gnu: Add java-geronimo-xbean-finder.
  2017-11-19 17:57   ` [bug#29359] [PATCH 05/31] gnu: Add java-geronimo-xbean-finder Julien Lepiller
@ 2017-12-17 22:47     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-12-17 22:47 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-geronimo-xbean-finder): New variable.

LGTM!

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 06/31] gnu: Add java-hawtjni.
  2017-11-19 17:57   ` [bug#29359] [PATCH 06/31] gnu: Add java-hawtjni Julien Lepiller
@ 2017-12-17 22:51     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-12-17 22:51 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-hawtjni): New variable.
[…]
> +    (arguments
> +     `(#:jar-name "hawtjni.jar"
> +       #:source-dir "hawtjni-generator/src/main/java:hawtjni-runtime/src/main/java"
> +       #:tests? #f; no tests
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'build 'build-native
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (with-directory-excursion "hawtjni-generator/src/main/resources/"
> +               (system* "gcc" "-c" "hawtjni.c" "-o" "hawtjni.o"
> +                        "-fPIC" "-O2"
> +                        (string-append "-I" (assoc-ref inputs "jdk") "/include/linux"))
> +               (system* "gcc" "-c" "hawtjni-callback.c" "-o" "hawtjni-callback.o"
> +                        "-fPIC" "-O2"
> +                        (string-append "-I" (assoc-ref inputs "jdk") "/include/linux"))
> +               (zero? (system* "gcc" "-o" "libhawtjni.so" "-shared"
> +                               "hawtjni.o" "hawtjni-callback.o")))))

Please do this instead:

    (let ((jdk (assoc-ref inputs "jdk")))
      (and (zero? (system* "gcc" … jdk …))
           (zero? (system* "gcc" … jdk …))
           (zero? (system* "gcc" …)))

> +    (description "HawtJNI is a code generator that produces the JNI code needed
> +to implement java native methods.  It is based on the jnigen code generator
> +that is part of the SWT Tools project.")

Please capitalize “java”.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 07/31] gnu: Add java-jansi-native.
  2017-11-19 17:57   ` [bug#29359] [PATCH 07/31] gnu: Add java-jansi-native Julien Lepiller
@ 2017-12-17 22:57     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-12-17 22:57 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-jansi-native): New variable.

[…]

> +(define-public java-jansi-native
> +  (package
> +    (name "java-jansi-native")
> +    (version "1.7")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://github.com/fusesource/jansi-native/"
> +                                  "archive/jansi-native-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0j2ydlgxbzbgshqkwghbxxxnbnx1mmjgd6k5fw6xfvxw1z956yqf"))))
> +    (build-system ant-build-system)
> +    (arguments
> +     `(#:jar-name "jansi-native.jar"
> +       #:source-dir "src/main/java"
> +       #:tests? #f; no tests
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'build 'build-native
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (substitute* "src/main/native-package/src/jansi_ttyname.c"
> +               (("#include \"jansi_.*") ""))

Move this under the “with-directory-excursion” to shorten the file name.

> +             ;; there are more required files for windows in windows/
> +             (with-directory-excursion "src/main/native-package/src"
> +               (system* "gcc" "-c" "jansi_ttyname.c" "-o" "jansi_ttyname.o"
> +                        (string-append "-I" (assoc-ref inputs "java-hawtjni")
> +                                       "/include")
> +                        (string-append "-I" (assoc-ref inputs "jdk")
> +                                       "/include/linux")
> +                        "-fPIC" "-O2")
> +               (system* "gcc" "-o" "libjansi.so" "-shared" "jansi_ttyname.o"))

We shouldn’t throw away the return value.  Maybe use (and (zero? …)  …)
here?

> +             ;; FIXME: detect one of linux{32,64}, freebsd{32,64}, osx, windows{32,64}
> +             ;; This package will only work on x86_64
> +             (mkdir-p "build/classes/META-INF/native/linux64")
> +             (copy-file "src/main/native-package/src/libjansi.so"
> +                        "build/classes/META-INF/native/linux64/libjansi.so")

Is this really necessary or can we change the code to look for
libjansi.so elsewhere?  That might be easier.  Otherwise we should just
check the value of “system” and distinguish between at least i686 and
x86_64.

> +             #t))
> +         (add-after 'install 'install-native
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (mkdir-p (string-append (assoc-ref outputs "out") "/include"))
> +             (copy-file "src/main/native-package/src/jansi.h"
> +                        (string-append (assoc-ref outputs "out")
> +                                       "/include/jansi.h"))

Better use “install-file” here (without the target file name).

> +    (description "Java-jansi-native contains the native library for
> jansi.")

Please write “…for the jansi frobnication library/framework.”

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 09/31] gnu: Add java-jboss-el-api-spec.
  2017-11-19 17:57   ` [bug#29359] [PATCH 09/31] gnu: Add java-jboss-el-api-spec Julien Lepiller
@ 2017-12-17 23:00     ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2017-12-17 23:00 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-jboss-el-api-spec): New variable.

[…]

> +    (synopsis "JSR-341 Expression Language 3.0 API")

“expression language” (lowercase).

> +    (description "Java-jboss-el-api-spec contains an implementation of the
> +JSR-341.  It implements an expression language inspired by ECMAScript and
> +XPath.  This language is used with JavaServer Pages (JSP).")

I’m not a fan of the use of “Java-jboss-el-api-spec”.  I’d prefer “This
package”.  What is “the JSR-341”?  How about “the JSR-341 specification
for onion ring manufacturing tolerances”, or whatever JSR-341 is :)

> +    (license (list license:gpl2 license:cddl1.1)))); either gpl2 only or cddl.

Please move the comment above this field and capitalize as “GPLv2” and
“CCDL”.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 10/31] gnu: Add java-jboss-interceptors-api-spec.
  2017-11-19 17:57   ` [bug#29359] [PATCH 10/31] gnu: Add java-jboss-interceptors-api-spec Julien Lepiller
@ 2018-02-02 22:45     ` Björn Höfling
  0 siblings, 0 replies; 65+ messages in thread
From: Björn Höfling @ 2018-02-02 22:45 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359

Hi Julien,

On Sun, 19 Nov 2017 18:57:44 +0100
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-jboss-interceptors-api-spec): New
> variable.
> ---
>  gnu/packages/java.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)

[..]

This looks good for me. And it builds correctly.

Björn

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 11/31] gnu: Add java-cdi-api.
  2017-11-19 17:57   ` [bug#29359] [PATCH 11/31] gnu: Add java-cdi-api Julien Lepiller
@ 2018-02-03 21:33     ` Björn Höfling
  0 siblings, 0 replies; 65+ messages in thread
From: Björn Höfling @ 2018-02-03 21:33 UTC (permalink / raw)
  To: 29359

On Sun, 19 Nov 2017 18:57:45 +0100
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-cdi-api): New variable.
> ---
[..]
> +       #:phases
> +       (modify-phases %standard-phases
> +         (replace 'check
> +           (lambda _
> +             (system* "ant" "compile-tests")
> +             ;; This fails though
> +             (system* "java" "-cp" (string-append (getenv
> "CLASSPATH")

Looks OK. 

I think tests just fail because we don't have any CDI-Provider.

Björn

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 14/31] gnu: Add java-jaxp.
  2017-11-19 17:57   ` [bug#29359] [PATCH 14/31] gnu: Add java-jaxp Julien Lepiller
@ 2018-02-03 22:52     ` Björn Höfling
  2018-02-03 23:01       ` Björn Höfling
  0 siblings, 1 reply; 65+ messages in thread
From: Björn Höfling @ 2018-02-03 22:52 UTC (permalink / raw)
  Cc: 29359

On Sun, 19 Nov 2017 18:57:48 +0100
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-jaxp): New variable.
> ---
>  gnu/packages/java.scm | 34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index 3e8985595..f1a425418 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -7929,3 +7929,37 @@ wider problem of Object to Object
> transformation.") (description "Joda-Time is a replacement for the
> Java date and time classes prior to Java SE 8.")
>      (license license:asl2.0)))
> +
> +;; TODO: Debian builds several jars out of this: jaxp-1.4.jar,
> +;; xml-apis.jar and xml-apis-1.4.01.jar.
> +(define-public java-jaxp
> +  (package
> +    (name "java-jaxp")
> +    (version "1.4.01")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append
> "mirror://apache/xerces/xml-commons/source/"
> +                           "xml-commons-external-" version
> "-src.tar.gz"))
> +       (sha256
> +        (base32
> "0rhq32a7dl9yik7zx9h0naz2iz068qgcdiayak91wp4wr26xhjyk"))))
> +    (build-system ant-build-system)
> +    (arguments
> +     `(#:jar-name "jaxp.jar"
> +       #:jdk ,icedtea-8
> +       #:source-dir ".."
> +       #:tests? #f)); no tests
> +    (home-page "http://xerces.apache.org/xml-commons/")
> +    (synopsis "Java XML parser and transformer APIs (DOM, SAX, JAXP,
> TrAX)")
> +    (description "Jaxp from the Apache XML Commons project is used by
> +the Xerces-J XML parser and Xalan-J XSLT processor and specifies
> these APIs: +
> +@itemize
> +@item Document Object Model (DOM)
> +@item Simple API for XML (SAX)
> +@item Java APIs for XML Processing (JAXP)
> +@item Transformation API for XML (TrAX)
> +@item Document Object Model (DOM) Load and Save
> +@item JSR 206 Java API for XML Processing
> +@end itemize")
> +    (license license:asl2.0)))

The license list is a bit longer. I have:

 (license (list
              license:asl2.0 
              license:w3c ;; Files under org.w3c
              license:public-domain)) ;; org.xml.sax

I will reply a patch for license:w3c.

Otherwise, it's fine.

Björn

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 14/31] gnu: Add java-jaxp.
  2018-02-03 22:52     ` Björn Höfling
@ 2018-02-03 23:01       ` Björn Höfling
  0 siblings, 0 replies; 65+ messages in thread
From: Björn Höfling @ 2018-02-03 23:01 UTC (permalink / raw)
  Cc: 29359

On Sat, 3 Feb 2018 23:52:03 +0100
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> wrote:

> The license list is a bit longer. I have:
> 
>  (license (list
>               license:asl2.0 
>               license:w3c ;; Files under org.w3c
>               license:public-domain)) ;; org.xml.sax
> 
> I will reply a patch for license:w3c.


Here is a patch to insert the W3C license into Guix:

From ae186e29f338bdf5bb1a0c440768e31d4c1bab17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20H=C3=B6fling?=
 <bjoern.hoefling@bjoernhoefling.de>
Date: Thu, 1 Feb 2018 16:09:03 +0100
Subject: [PATCH 1/3] licenses: Add W3C license.

* gnu/license.scm (w3c): New variable.
---
 guix/licenses.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/guix/licenses.scm b/guix/licenses.scm
index 269d97c..700fa7f 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -87,6 +87,7 @@
             tcl/tk
             unlicense
             vim
+            w3c
             x11 x11-style
             zpl2.1
             zlib
@@ -578,6 +579,11 @@ at URI, which may be a file:// URI pointing the
package's tree." "https://unlicense.org/"
            "https://www.gnu.org/licenses/license-list.html#Unlicense"))
 
+(define w3c
+  (license "W3C Software Notice and License"
+           "https://directory.fsf.org/wiki/License:W3C_31Dec2002"
+           "https://www.gnu.org/licenses/license-list.en.html#W3C"))
+
 (define wtfpl2
   (license "WTFPL 2"
            "http://www.wtfpl.net"
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 12/31] gnu: Add java-joda-convert.
  2017-11-19 17:57   ` [bug#29359] [PATCH 12/31] gnu: Add java-joda-convert Julien Lepiller
@ 2018-02-04  5:39     ` Björn Höfling
  0 siblings, 0 replies; 65+ messages in thread
From: Björn Höfling @ 2018-02-04  5:39 UTC (permalink / raw)
  To: 29359

On Sun, 19 Nov 2017 18:57:46 +0100
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-joda-convert): New variable.
> ---
>  gnu/packages/java.scm | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)

Looks good for me.

Björn

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 13/31] gnu: Add java-joda-time.
  2017-11-19 17:57   ` [bug#29359] [PATCH 13/31] gnu: Add java-joda-time Julien Lepiller
@ 2018-02-04  6:28     ` Björn Höfling
  2018-02-05 13:32       ` Ricardo Wurmus
  0 siblings, 1 reply; 65+ messages in thread
From: Björn Höfling @ 2018-02-04  6:28 UTC (permalink / raw)
  To: 29359

On Sun, 19 Nov 2017 18:57:47 +0100
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-joda-time): New variable.
> ---
>  gnu/packages/java.scm | 64
> +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed,
> 64 insertions(+)
> 
[..]
> +       (modify-phases %standard-phases
> +         (add-after 'build 'build-resources
> +           (lambda _
> +             (mkdir-p "build/classes/org/joda/time/tz/data")
> +             (mkdir-p "build/classes/org/joda/time/format")
> +             ;; This will produce an exception, but it's all right.
> +             (zero? (system* "java" "-cp"
> +                             (string-append "build/classes:" (getenv
> "CLASSPATH"))
> +                             "org.joda.time.tz.ZoneInfoCompiler"
> +                             "-src"
> "src/main/java/org/joda/time/tz/src"
> +                             "-dst"
> "build/classes/org/joda/time/tz/data"
> +                             "africa" "antarctica" "asia"
> "australasia"
> +                             "europe" "northamerica" "southamerica"
> +                             "pacificnew" "etcetera" "backward"
> "systemv"))
[..]

I'm not convinced about this.

* Why is the exception "all right?"
* If it is all right, mention the specific exception you think that is
  OK: "java.io.IOException: Resource not found:
  "org/joda/time/tz/data/ZoneInfoMap" "
* And if it throws an exception, does it actually do anything for us?
* Finally, remove the (zero?..), as the result ignored, the result of
the sourrunding lambda will be the final statement, the #t.

Björn

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 15/31] gnu: Add java-apache-xml-commons-resolver.
  2017-11-19 17:57   ` [bug#29359] [PATCH 15/31] gnu: Add java-apache-xml-commons-resolver Julien Lepiller
@ 2018-02-04 18:52     ` Björn Höfling
  0 siblings, 0 replies; 65+ messages in thread
From: Björn Höfling @ 2018-02-04 18:52 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29359

On Sun, 19 Nov 2017 18:57:49 +0100
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-apache-xml-commons-resolver): New
> variable.
> ---
>  gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index f1a425418..886a71f23 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -7963,3 +7963,32 @@ the Xerces-J XML parser and Xalan-J XSLT
> processor and specifies these APIs: @item JSR 206 Java API for XML
> Processing @end itemize")
>      (license license:asl2.0)))
> +
> +(define-public java-apache-xml-commons-resolver
> +  (package
> +    (name "java-apache-xml-commons-resolver")
> +    (version "1.2")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "mirror://apache/xerces/xml-commons/"
> +                           "xml-commons-resolver-" version
> ".tar.gz"))
> +       (sha256
> +        (base32
> "1zhy4anc3fg9f8y348bj88vmab15aavrg6nf419ifb25asyygnsm"))
> +       (modules '((guix build utils)))
> +       (snippet
> +        '(begin
> +           (for-each delete-file (find-files "." ".*\\.(jar|zip)"))
> +           #t))))
> +    (build-system ant-build-system)
> +    (arguments
> +     `(#:jar-name (string-append "xml-resolver.jar")
> +       #:tests? #f)); no tests
> +    (native-inputs
> +     `(("java-junit" ,java-junit)))
> +    (home-page "http://xerces.apache.org/xml-commons/")
> +    (synopsis "Xml-related utilities and code")
> +    (description "Xml-commons mainly focuses on providing code and
> services +to other xml.apache.org projects instead of shipping it's
> own \"standalone\" +project.")
> +    (license license:asl2.0)))

The package is good, except of:

The synopsis/descriptions is for the general xml-commons project. For
the specific resolver, I would suggest the text found here:

https://xerces.apache.org/xml-commons/components/apidocs/resolver/index.html

Synopsis:
The Apache XML Commons Resolver classes implement Catalog-based
entity and URI resolution. The Apache XML Commons Resolver classes
implement Catalog-based entity and URI resolution. 

Description:
The resolver class implements the full semantics of OASIS Technical
Resolution 9401:1997 (Amendment 2 to TR 9401) catalogs and the 06 Aug
2001 Committee Specification of OASIS XML Catalogs.

It also includes a framework of classes designed to read catalog files
in a number of formats:

    The plain-text flavor described by TR9401.
    The XCatalog XML format defined by John Cowan
    The XML Catalog format defined by the OASIS Entity Resolution
    Technical Committee. 

Björn

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 13/31] gnu: Add java-joda-time.
  2018-02-04  6:28     ` Björn Höfling
@ 2018-02-05 13:32       ` Ricardo Wurmus
  2018-02-05 13:34         ` Ricardo Wurmus
  0 siblings, 1 reply; 65+ messages in thread
From: Ricardo Wurmus @ 2018-02-05 13:32 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 29359


Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

> * Finally, remove the (zero?..), as the result ignored, the result of
> the sourrunding lambda will be the final statement, the #t.

I agree with your other comments, but not with this one :)

The return value of “system*” is not a boolean.  This is why we use
“zero?”.

However, we should be using “invoke” instead of “(zero? (system* …))” as
we are slowly transitioning towards throwing exceptions upon errors in
build phases.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

* [bug#29359] [PATCH 13/31] gnu: Add java-joda-time.
  2018-02-05 13:32       ` Ricardo Wurmus
@ 2018-02-05 13:34         ` Ricardo Wurmus
  0 siblings, 0 replies; 65+ messages in thread
From: Ricardo Wurmus @ 2018-02-05 13:34 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 29359


Ricardo Wurmus <rekado@elephly.net> writes:

> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:
>
>> * Finally, remove the (zero?..), as the result ignored, the result of
>> the sourrunding lambda will be the final statement, the #t.
>
> I agree with your other comments, but not with this one :)

Never mind, I just realized that the build phase you quoted was not
quoted in full.  It continued like this:

+             (for-each (lambda (f)
+                         (copy-file f (string-append
+                                        "build/classes/org/joda/time/format/"
+                                        (basename f))))
+               (find-files "src/main/java/org/joda/time/format" ".*.properties"))
+             #t))

Since “zero?” is not the last statement you are in fact right that its
return value would be ignored.

> However, we should be using “invoke” instead of “(zero? (system* …))” as
> we are slowly transitioning towards throwing exceptions upon errors in
> build phases.

This is still correct, though :)

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 65+ messages in thread

end of thread, other threads:[~2018-02-05 13:49 UTC | newest]

Thread overview: 65+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <handler.29359.B.151111429223890.ack@debbugs.gnu.org>
2017-11-19 17:57 ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Julien Lepiller
2017-11-19 17:57   ` [bug#29359] [PATCH 02/31] gnu: Add java-jsoup Julien Lepiller
2017-12-17 22:42     ` Ricardo Wurmus
2017-11-19 17:57   ` [bug#29359] [PATCH 03/31] gnu: Add java-geronimo-xbean-bundleutils Julien Lepiller
2017-12-17 22:44     ` Ricardo Wurmus
2017-11-19 17:57   ` [bug#29359] [PATCH 04/31] gnu: Add java-geronimo-xbean-asm-util Julien Lepiller
2017-12-17 22:46     ` Ricardo Wurmus
2017-11-19 17:57   ` [bug#29359] [PATCH 05/31] gnu: Add java-geronimo-xbean-finder Julien Lepiller
2017-12-17 22:47     ` Ricardo Wurmus
2017-11-19 17:57   ` [bug#29359] [PATCH 06/31] gnu: Add java-hawtjni Julien Lepiller
2017-12-17 22:51     ` Ricardo Wurmus
2017-11-19 17:57   ` [bug#29359] [PATCH 07/31] gnu: Add java-jansi-native Julien Lepiller
2017-12-17 22:57     ` Ricardo Wurmus
2017-11-19 17:57   ` [bug#29359] [PATCH 08/31] gnu: Add java-jansi Julien Lepiller
2017-11-22  9:33     ` julien lepiller
2017-11-24 14:41       ` Leo Famulari
2017-11-19 17:57   ` [bug#29359] [PATCH 09/31] gnu: Add java-jboss-el-api-spec Julien Lepiller
2017-12-17 23:00     ` Ricardo Wurmus
2017-11-19 17:57   ` [bug#29359] [PATCH 10/31] gnu: Add java-jboss-interceptors-api-spec Julien Lepiller
2018-02-02 22:45     ` Björn Höfling
2017-11-19 17:57   ` [bug#29359] [PATCH 11/31] gnu: Add java-cdi-api Julien Lepiller
2018-02-03 21:33     ` Björn Höfling
2017-11-19 17:57   ` [bug#29359] [PATCH 12/31] gnu: Add java-joda-convert Julien Lepiller
2018-02-04  5:39     ` Björn Höfling
2017-11-19 17:57   ` [bug#29359] [PATCH 13/31] gnu: Add java-joda-time Julien Lepiller
2018-02-04  6:28     ` Björn Höfling
2018-02-05 13:32       ` Ricardo Wurmus
2018-02-05 13:34         ` Ricardo Wurmus
2017-11-19 17:57   ` [bug#29359] [PATCH 14/31] gnu: Add java-jaxp Julien Lepiller
2018-02-03 22:52     ` Björn Höfling
2018-02-03 23:01       ` Björn Höfling
2017-11-19 17:57   ` [bug#29359] [PATCH 15/31] gnu: Add java-apache-xml-commons-resolver Julien Lepiller
2018-02-04 18:52     ` Björn Höfling
2017-11-19 17:57   ` [bug#29359] [PATCH 16/31] gnu: Add java-xerces Julien Lepiller
2017-11-19 17:57   ` [bug#29359] [PATCH 17/31] gnu: Add java-xom Julien Lepiller
2017-11-19 17:57   ` [bug#29359] [PATCH 18/31] gnu: Fix java-eclipse-jetty-security-9.2 build failure Julien Lepiller
2017-11-19 17:57   ` [bug#29359] [PATCH 19/31] gnu: Add java-xsdlib Julien Lepiller
2017-11-19 17:57   ` [bug#29359] [PATCH 20/31] gnu: Add java-xpp3 Julien Lepiller
2017-12-16 16:34     ` Ricardo Wurmus
2017-12-16 20:17       ` Julien Lepiller
2017-11-19 17:57   ` [bug#29359] [PATCH 21/31] gnu: Add java-xmlpull2 Julien Lepiller
2017-12-16 16:30     ` Ricardo Wurmus
2017-11-19 17:57   ` [bug#29359] [PATCH 22/31] gnu: Add java-dom4j Julien Lepiller
2017-11-20  8:58     ` Ricardo Wurmus
2017-11-20  9:07       ` julien lepiller
2017-11-19 17:57   ` [bug#29359] [PATCH 23/31] gnu: Add java-jaxen Julien Lepiller
2017-11-20  8:50     ` Ricardo Wurmus
2017-11-19 17:57   ` [bug#29359] [PATCH 24/31] gnu: Add java-kxml2 Julien Lepiller
2017-11-20  8:09     ` Ricardo Wurmus
2017-11-19 17:57   ` [bug#29359] [PATCH 25/31] gnu: Add java-stax Julien Lepiller
2017-11-20  8:05     ` Ricardo Wurmus
2017-11-19 17:58   ` [bug#29359] [PATCH 26/31] gnu: Add java-jettison Julien Lepiller
2017-11-20  7:53     ` Ricardo Wurmus
2017-11-19 17:58   ` [bug#29359] [PATCH 27/31] gnu: Add java-jdom2 Julien Lepiller
2017-11-20  7:50     ` Ricardo Wurmus
2017-11-19 17:58   ` [bug#29359] [PATCH 28/31] gnu: Add java-xstream Julien Lepiller
2017-11-20  7:44     ` Ricardo Wurmus
2017-11-19 17:58   ` [bug#29359] [PATCH 29/31] gnu: Add java-jline Julien Lepiller
2017-11-20  7:39     ` Ricardo Wurmus
2017-11-20  7:46     ` Ricardo Wurmus
2017-11-19 17:58   ` [bug#29359] [PATCH 30/31] gnu: Add java-xmlunit Julien Lepiller
2017-11-20  7:35     ` Ricardo Wurmus
2017-11-19 17:58   ` [bug#29359] [PATCH 31/31] gnu: Add java-xmlunit-legacy Julien Lepiller
2017-11-20  7:35     ` Ricardo Wurmus
2017-11-20  7:33   ` [bug#29359] [PATCH 01/31] gnu: Add java-gson Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).