* [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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
* [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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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: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