Finally add josm deps and update josm

Julien LepillerMon Aug 21 22:05:06+0200 2017

3d394bd

Finally add josm deps and update josm

more/packages/java.scm

2323
  #:use-module (guix download)
2424
  #:use-module (guix git-download)
2525
  #:use-module (guix svn-download)
26+
  #:use-module (guix cvs-download)
2627
  #:use-module (guix utils)
2728
  #:use-module (guix build-system ant)
2829
  #:use-module (guix build-system gnu)

7475
Java WebSocket specifications are developed under the Java Community Process.")
7576
    (license license:asl2.0)))
7677
78+
(define-public java-openjfx
79+
  (package
80+
    (name "java-openjfx")
81+
    (version "8u141-b14")
82+
    (source (origin
83+
              (method url-fetch)
84+
              (uri (string-append "http://hg.openjdk.java.net/openjfx/8u-dev/rt"
85+
                                  "/archive/d6db71e77bb1.tar.gz"))
86+
              (file-name (string-append name "-" version ".tar.gz"))
87+
              (sha256
88+
               (base32
89+
                "1qjmwrrkk5z3nzz08ihy0qww8y0922wiil95pz2na0d4ql3cx625"))))
90+
    (build-system ant-build-system)
91+
    (arguments
92+
     `(#:jar-name "java-openjfx.jar"
93+
       #:source-dir "buildSrc/src/main/java"
94+
       #:test-dir "buildSrc/src/test"
95+
       #:jdk ,icedtea-8
96+
       #:phases
97+
       (modify-phases %standard-phases
98+
         (add-before 'configure 'generate-jsl-parser
99+
           (lambda _
100+
             (zero? (system* "antlr3" "-o" "buildSrc/src/main/java/com/sun/scenario/effect/compiler"
101+
                             "buildSrc/src/main/antlr/JSL.g")))))))
102+
    (inputs
103+
     `(("antlr" ,antlr3)
104+
       ("ST4" ,java-stringtemplate)))
105+
    (native-inputs
106+
     `(("junit" ,java-junit)
107+
       ("hamcrest" ,java-hamcrest-core)))
108+
    (home-page "http://openjdk.java.net/projects/openjfx/")
109+
    (synopsis "")
110+
    (description "")
111+
    (license license:gpl2)));with classpath exception
112+
113+
(define-public java-openjfx-base
114+
  (package (inherit java-openjfx)
115+
    (name "java-openjfx-base")
116+
    (arguments
117+
     `(#:jar-name "java-openjfx-base.jar"
118+
       #:source-dir "modules/base/src/main/java:modules/base/src/main/java8:modules/base/src/main/version-info"
119+
       #:test-dir "modules/base/src/test"
120+
       #:jdk ,icedtea-8
121+
       #:phases
122+
       (modify-phases %standard-phases
123+
         (add-before 'check 'remove-empty-file
124+
           (lambda _
125+
             ;; This file is completely commented, but junit expects it to contain
126+
             ;; a class, so tests fail.
127+
             (delete-file "modules/base/src/test/java/com/sun/javafx/property/adapter/PropertyDescriptorTest.java")
128+
             (delete-file "modules/base/src/test/java/com/sun/javafx/property/adapter/ReadOnlyPropertyDescriptorTest.java")
129+
             (delete-file "modules/base/src/test/java/javafx/beans/property/PropertiesTest.java")
130+
             (delete-file "modules/base/src/test/java/javafx/beans/property/adapter/ReadOnlyJavaBeanPropertyBuilder_General_Test.java")
131+
             ;; This one fails
132+
             (delete-file "modules/base/src/test/java/com/sun/javafx/runtime/VersionInfoTest.java"))))))
133+
    (inputs
134+
     `(("java-openjfx" ,java-openjfx)))))
135+
136+
(define-public java-openjfx-graphics
137+
  (package (inherit java-openjfx)
138+
    (name "java-openjfx-graphics")
139+
    (arguments
140+
     `(#:jar-name "java-openjfx-graphics.jar"
141+
       #:source-dir "modules/graphics/src/main/java"
142+
       #:tests? #f; require X?
143+
       #:test-dir "modules/graphics/src/test"
144+
       #:jdk ,icedtea-8))
145+
    (inputs
146+
     `(("java-openjfx" ,java-openjfx)
147+
       ("java-openjfx-base" ,java-openjfx-base)
148+
       ("java-swt" ,java-swt)))))
149+
150+
(define-public java-openjfx-media
151+
  (package (inherit java-openjfx)
152+
    (name "java-openjfx-media")
153+
    (inputs
154+
     `(("graphics" ,java-openjfx-graphics)
155+
       ("base" ,java-openjfx-base)
156+
       ("openjfx" ,java-openjfx)))
157+
    (arguments
158+
     `(#:jar-name "java-openjfx-media.jar"
159+
       #:source-dir "modules/media/src/main/java"
160+
       #:tests? #f; no tests
161+
       #:jdk ,icedtea-8))))
162+
77163
(define-public java-brotli-dec
78164
  (package
79165
    (name "java-brotli-dec")

152238
(define-public java-josm
153239
  (package
154240
    (name "java-josm")
155-
    (version "12450")
241+
    (version "12545")
156242
    (source (origin
157243
              (method git-fetch)
158244
              (uri (git-reference
159245
                    (url "https://github.com/openstreetmap/josm.git")
160-
                    (commit "61a9c27e59976805b7cce4fae5a48c8e04b19373")))
246+
                    (commit "3534f00bd3a58fe82f6b2e2685f5b9d17cc13886")))
161247
              ;;(uri (svn-reference
162248
              ;;      (url "https://svn.openstreetmap.org/applications/editors/josm")
163249
              ;;      (revision 12039)))
164250
              (sha256
165251
               (base32
166-
                "1hab27b8s6h2b1g07pghr4nkx6rx2gx75488rwppdfc0ymzpjzrp"))
252+
                "10j1p9xsi6g11qspcfj280n8bsm77skw9v50cyhj378v6bcxjh41"))
167253
              (file-name (string-append name "-" version))))
168254
    (build-system ant-build-system)
169255
    (native-inputs

174260
       ("java-brotli-dec" ,java-brotli-dec)
175261
       ("java-xz" ,java-xz)
176262
       ("java-velocity" ,java-velocity)
263+
       ("java-openjfx" ,java-openjfx)
264+
       ("java-openjfx-base" ,java-openjfx-base)
265+
       ("java-openjfx-media" ,java-openjfx-media)
266+
       ("java-openjfx-graphics" ,java-openjfx-graphics)
177267
       ("java-commons-collections" ,java-commons-collections)
268+
       ("java-commons-jcs" ,java-commons-jcs)
178269
       ("java-commons-logging-minimal" ,java-commons-logging-minimal)
179270
       ("java-commons-compress" ,java-commons-compress-latest)))
271+
    ;(arguments
272+
    ; `(#:tests? #f
273+
    ;   #:jdk ,icedtea-8
274+
    ;   #:build-target "dist"
275+
    ;   #:phases
276+
    ;   (modify-phases %standard-phases
277+
    ;     (add-before 'build 'fix-revision
278+
    ;       (lambda* _
279+
    ;         (with-output-to-file "REVISION.XML"
280+
    ;           (lambda _
281+
    ;             (display
282+
    ;               (string-append "<info><entry><commit revision=\"" ,version "\">"
283+
    ;                              "<date>1970-01-01 00:00:00 +0000</date>"
284+
    ;                              "</commit></entry></info>"))))))
285+
    ;     (add-before 'build 'fix-build.xml
286+
    ;       (lambda _
287+
    ;         (substitute* "build.xml"
288+
    ;           ;; otherwise gives a warnig at runtime
289+
    ;           (("UNKNOWN") ,version)
290+
    ;           ;; the folder is not created
291+
    ;           (("<touch.*epsg.output.*") "<mkdir dir=\"${epsg.output}/..\" /><touch file=\"${epsg.output}\"/>\n")
292+
    ;           ;; we don't have this compiler, so we use icedtea directly
293+
    ;           ((".*com.google.errorprone.ErrorProneAntCompilerAdapter.*") "")
294+
    ;           (("compiler=\"[^\"]*\" ") "")
295+
    ;           ;; Add this to classpath to find deps
296+
    ;           (("<javac sourcepath=\"\" srcdir=\"\\$\\{src.dir\\}\"")
297+
    ;            (string-append "<path id=\"classpath\"><pathelement location=\"${env.CLASSPATH}\" /></path>\n"
298+
    ;                           "<javac sourcepath=\"\" srcdir=\"${src.dir}\" classpath=\"${classpath}\""))))))))
180299
    (arguments
181-
     `(;#:build-target "dist"
182-
       #:tests? #f
300+
     `(#:tests? #f
183301
       #:jdk ,icedtea-8
184302
       #:jar-name "josm.jar"
185303
       #:phases

206324
                               "-GRAMMAR_ENCODING=UTF-8"
207325
                               (string-append "-OUTPUT_DIRECTORY=" out)
208326
                               file)))))
209-
)))
210-
         ;(add-before 'build 'fix-compiler
211-
         ;  (lambda* _
212-
         ;    (substitute* "build.xml"
213-
         ;      (("UNKNOWN") ,version)
214-
         ;      (("<touch.*epsg.output.*") "<mkdir dir=\"${epsg.output}/..\" /><touch file=\"${epsg.output}\"/>\n")
215-
         ;      ((".*com.google.errorprone.ErrorProneAntCompilerAdapter.*") "")
216-
         ;      (("compiler=\"[^\"]*\" ") ""))))
217-
         ;(replace 'install
218-
         ;  (lambda* (#:key outputs inputs #:allow-other-keys)
219-
         ;    (let* ((out (assoc-ref outputs "out"))
220-
         ;           (bin (string-append out "/bin"))
221-
         ;           (lib (string-append out "/lib/josm")))
222-
         ;      (mkdir-p bin)
223-
         ;      (mkdir-p lib)
224-
         ;      (copy-file "dist/josm-custom.jar"
225-
         ;                 (string-append lib "/josm.jar"))
226-
         ;      (with-output-to-file (string-append bin "/josm")
227-
         ;        (lambda _
228-
         ;          (display
229-
         ;            (string-append "#!/bin/sh\n"
230-
         ;                           (assoc-ref inputs "jdk") "/bin/java"
231-
         ;                           " -jar " lib "/josm.jar"))))
232-
         ;      (chmod (string-append bin "/josm") #o755)))))))
327+
         (add-after 'build 'generate-epsg
328+
           (lambda _
329+
             (system* "javac" "scripts/BuildProjectionDefinitions.java"
330+
                      "-cp" "build/classes")
331+
             (mkdir-p "data/projection")
332+
             (with-output-to-file "data/projection/custom-epsg"
333+
               (lambda _ (display "")))
334+
             (zero? (system* "java" "-cp" "build/classes:scripts:."
335+
                             "BuildProjectionDefinitions" "."))))
336+
         (add-after 'generate-epsg 'copy-data
337+
           (lambda _
338+
             (mkdir-p "build/classes")
339+
             (rename-file "data" "build/classes/data")))
340+
         (add-before 'install 'regenerate-jar
341+
           (lambda _
342+
             ;; We need to regenerate the jar file with to add data.
343+
             (delete-file "build/jar/josm.jar")
344+
             (zero? (system* "jar" "-cf" "build/jar/josm.jar" "-C"
345+
                             "build/classes" "."))))
346+
         (add-before 'build 'copy-styles
347+
           (lambda _
348+
             (mkdir-p "build/classes")
349+
             (rename-file "styles" "build/classes/styles")))
350+
         (add-before 'build 'copy-images
351+
           (lambda _
352+
             (mkdir-p "build/classes")
353+
             (rename-file "images" "build/classes/images")))
354+
         (add-before 'build 'copy-revision
355+
           (lambda _
356+
             (mkdir-p "build/classes")
357+
             (with-output-to-file "build/classes/REVISION"
358+
               (lambda _
359+
                 (display
360+
                   (string-append "Revision: " ,version "\n"
361+
                                  "Is-Local-Build: true\n"
362+
                                  "Build-Date: 1970-01-01 00:00:00 +0000\n"))))))
363+
         (add-after 'install 'install-bin
364+
           (lambda* (#:key outputs inputs #:allow-other-keys)
365+
             (let* ((out (assoc-ref outputs "out"))
366+
                    (bin (string-append out "/bin")))
367+
               (mkdir-p bin)
368+
               (with-output-to-file (string-append bin "/josm")
369+
                 (lambda _
370+
                   (display
371+
                     (string-append "#!/bin/sh\n"
372+
                                    (assoc-ref inputs "jdk") "/bin/java"
373+
                                    " -cp " out "/share/java/josm.jar:"
374+
                                    (getenv "CLASSPATH")
375+
                                    " org.openstreetmap.josm.gui.MainApplication"))))
376+
               (chmod (string-append bin "/josm") #o755)))))))
233377
    (home-page "https://josm.openstreetmap.de")
234378
    (synopsis "OSM editor")
235379
    (description "OSM editor.")

565709
    (description "")
566710
    (license license:asl2.0)))
567711
712+
(define-public java-datanucleus-javax-persistence
713+
  (package
714+
    (name "java-datanucleus-javax-persistence")
715+
    (version "2.2.0")
716+
    (source (origin
717+
              (method url-fetch)
718+
              (uri (string-append "https://github.com/datanucleus/"
719+
                                  "javax.persistence/archive/javax.persistence-"
720+
                                  version "-release.tar.gz"))
721+
              (sha256
722+
               (base32
723+
                "11jx0fjwgc2hhbqqgdd6m1pf2fplf9vslppygax0y1z5csnqjhpx"))))
724+
    (build-system ant-build-system)
725+
    (arguments
726+
     `(#:jar-name "java-datanucleus-javax-persistence.jar"
727+
       #:jdk ,icedtea-8
728+
       #:source-dir "src/main/java"
729+
       #:tests? #f)); no tests
730+
    (home-page "https://github.com/datanucleus/javax.persistence")
731+
    (synopsis "")
732+
    (description "")
733+
    (license (list license:edl1.0 license:epl1.0))))
734+
735+
(define-public java-jboss-interceptors-api-spec
736+
  (package
737+
    (name "java-jboss-interceptors-api-spec")
738+
    (version "1.2")
739+
    (source (origin
740+
              (method url-fetch)
741+
              (uri (string-append "https://github.com/jboss/jboss-interceptors-api_spec/"
742+
                                  "archive/jboss-interceptors-api_" version
743+
                                  "_spec-1.0.0.Final.tar.gz"))
744+
              (sha256
745+
               (base32
746+
                "15h3486rcqg46sfz99kilwidhgv085gyjx6fdpxa1c5j75s8qc3k"))))
747+
    (build-system ant-build-system)
748+
    (arguments
749+
     `(#:jar-name "java-jboss-interceptors-api_spec.jar"
750+
       #:jdk ,icedtea-8
751+
       #:source-dir "."
752+
       #:tests? #f)); no tests
753+
    (home-page "https://github.com/jboss/jboss-interceptors-api_spec")
754+
    (synopsis "")
755+
    (description "")
756+
    (license (list license:gpl2 license:cddl1.0)))); either gpl2 only or cddl.
757+
758+
(define-public java-jboss-el-api-spec
759+
  (package
760+
    (name "java-jboss-el-api-spec")
761+
    (version "3.0")
762+
    (source (origin
763+
              (method url-fetch)
764+
              (uri (string-append "https://github.com/jboss/jboss-el-api_spec/"
765+
                                  "archive/jboss-el-api_" version
766+
                                  "_spec-1.0.7.Final.tar.gz"))
767+
              (sha256
768+
               (base32
769+
                "1j45ljxalwlibxl7g7iv952sjxkw275m8vyxxij8l6wdd5pf0pdh"))))
770+
    (build-system ant-build-system)
771+
    (arguments
772+
     `(#:jar-name "java-jboss-el-api_spec.jar"
773+
       #:jdk ,icedtea-8
774+
       #:source-dir "."
775+
       #:tests? #f)); no tests
776+
    (inputs
777+
     `(("junit" ,java-junit)))
778+
    (home-page "https://github.com/jboss/jboss-el-api_spec")
779+
    (synopsis "")
780+
    (description "")
781+
    (license (list license:gpl2 license:cddl1.0)))); either gpl2 only or cddl.
782+
783+
(define-public java-jboss-transaction-api-spec
784+
  (package
785+
    (name "java-jboss-transaction-api-spec")
786+
    (version "1.2")
787+
    (source (origin
788+
              (method url-fetch)
789+
              (uri (string-append "https://github.com/jboss/jboss-transaction-api_spec/"
790+
                                  "archive/jboss-transaction-api_" version
791+
                                  "_spec-1.0.1.Final.tar.gz"))
792+
              (sha256
793+
               (base32
794+
                "0crfl4f5m2sm59kdsivrw2dy63w02al1li88bhlhp7mxnicfmxv7"))))
795+
    (build-system ant-build-system)
796+
    (arguments
797+
     `(#:jar-name "java-jboss-transaction-api_spec.jar"
798+
       #:jdk ,icedtea-8
799+
       #:source-dir "."
800+
       #:tests? #f)); no tests
801+
    (inputs
802+
     `(("cdi-api" ,java-cdi-api)
803+
       ("interceptors" ,java-jboss-interceptors-api-spec)))
804+
    (home-page "https://github.com/jboss/jboss-transaction-api_spec")
805+
    (synopsis "")
806+
    (description "")
807+
    (license (list license:gpl2 license:cddl1.0)))); either gpl2 only or cddl.
808+
809+
(define-public java-jboss-jms-api-spec
810+
  (package
811+
    (name "java-jboss-jms-api-spec")
812+
    (version "2.0")
813+
    (source (origin
814+
              (method url-fetch)
815+
              (uri (string-append "https://github.com/jboss/jboss-jms-api_spec/"
816+
                                  "archive/jboss-jms-api_" version
817+
                                  "_spec-1.0.1.Final.tar.gz"))
818+
              (sha256
819+
               (base32
820+
                "07bqblw9kq2i8q92bz70fvavq5xjfkaixl8xa0m0cypjgy82rb7m"))))
821+
    (build-system ant-build-system)
822+
    (arguments
823+
     `(#:jar-name "java-jboss-jms-api_spec.jar"
824+
       #:jdk ,icedtea-8
825+
       #:source-dir "."
826+
       #:tests? #f)); no tests
827+
    (home-page "https://github.com/jboss/jboss-jms-api_spec")
828+
    (synopsis "")
829+
    (description "")
830+
    (license (list license:gpl2 license:cddl1.0)))); either gpl2 only or cddl.
831+
568832
(define-public java-mail
569833
  (package
570834
    (name "java-mail")

595859
    (license (list license:cddl1.0; actually cddl1.1
596860
                   license:gpl2)))); with classpath exception
597861
598-
(define-public java-log4j-core
862+
(define-public java-fasterxml-jackson-annotations
599863
  (package
600-
    (inherit java-log4j-api)
601-
    (name "java-log4j-core")
864+
    (name "java-fasterxml-jackson-annotations")
865+
    (version "2.9.0")
866+
    (source (origin
867+
              (method url-fetch)
868+
              (uri (string-append "https://github.com/FasterXML/"
869+
                                  "jackson-annotations/archive/"
870+
                                  "jackson-annotations-" version ".tar.gz"))
871+
              (sha256
872+
               (base32
873+
                "0lh6ngld2sgspy3zy6yk7wfd7a1lqy0a7kl90krz49l6wyx440ny"))))
874+
    (build-system ant-build-system)
875+
    (arguments
876+
     `(#:jar-name "jackson-annotations.jar"
877+
       #:source-dir "src/main/java"
878+
       #:tests? #f)); how to run them? src/test/java
879+
    (home-page "https://github.com/FasterXML/jackson-annotations")
880+
    (synopsis "")
881+
    (description "")
882+
    (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
883+
884+
(define-public java-fasterxml-jackson-core
885+
  (package
886+
    (name "java-fasterxml-jackson-core")
887+
    (version "2.9.0")
888+
    (source (origin
889+
              (method url-fetch)
890+
              (uri (string-append "https://github.com/FasterXML/"
891+
                                  "jackson-core/archive/"
892+
                                  "jackson-core-" version ".tar.gz"))
893+
              (sha256
894+
               (base32
895+
                "05r742510lwclv51lwbca3753hppzvq38pnsalp1hccn3102lhy2"))))
896+
    (build-system ant-build-system)
897+
    (arguments
898+
     `(#:jar-name "jackson-core.jar"
899+
       #:source-dir "src/main/java"
900+
       #:tests? #f; how to run them? src/test/java
901+
       #:phases
902+
       (modify-phases %standard-phases
903+
         (add-before 'configure 'generate-PackageVersion.java
904+
           (lambda _
905+
             (let* ((out "src/main/java/com/fasterxml/jackson/core/json/PackageVersion.java")
906+
                    (in (string-append out ".in")))
907+
               (copy-file in out)
908+
               (substitute* out
909+
                 (("@package@") "com.fasterxml.jackson.core.json")
910+
                 (("@projectversion@") ,version)
911+
                 (("@projectgroupid@") "com.fasterxml.jackson.core")
912+
                 (("@projectartifactid@") "jackson-core"))))))))
913+
    (home-page "https://github.com/FasterXML/jackson-core")
914+
    (synopsis "")
915+
    (description "")
916+
    (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
917+
918+
(define-public java-fasterxml-jackson-databind
919+
  (package
920+
    (name "java-fasterxml-jackson-databind")
921+
    (version "2.9.0")
922+
    (source (origin
923+
              (method url-fetch)
924+
              (uri (string-append "https://github.com/FasterXML/"
925+
                                  "jackson-databind/archive/"
926+
                                  "jackson-databind-" version ".tar.gz"))
927+
              (sha256
928+
               (base32
929+
                "01a60dwy1q11xizvimphmhjfbk41rwar3rl1q3xcwlhic2vdw147"))))
930+
    (build-system ant-build-system)
931+
    (arguments
932+
     `(#:jar-name "jackson-databind.jar"
933+
       #:source-dir "src/main/java"
934+
       #:tests? #f; how to run them? src/test/java
935+
       #:phases
936+
       (modify-phases %standard-phases
937+
         (add-before 'configure 'generate-PackageVersion.java
938+
           (lambda _
939+
             (let* ((out "src/main/java/com/fasterxml/jackson/databind/cfg/PackageVersion.java")
940+
                    (in (string-append out ".in")))
941+
               (copy-file in out)
942+
               (substitute* out
943+
                 (("@package@") "com.fasterxml.jackson.databind.cfg")
944+
                 (("@projectversion@") ,version)
945+
                 (("@projectgroupid@") "com.fasterxml.jackson.databind")
946+
                 (("@projectartifactid@") "jackson-databind"))))))))
602947
    (inputs
603-
     `(("java-osgi-core" ,java-osgi-core)
604-
       ("java-hamcrest-core" ,java-hamcrest-core)
605-
       ("java-log4j-api" ,java-log4j-api)
606-
       ("java-mail" ,java-mail)
607-
       ("java-lmax-disruptor" ,java-lmax-disruptor)
608-
       ("java-kafka" ,java-kafka-clients)
609-
       ("java-commons-compress" ,java-commons-compress)
610-
       ("java-junit" ,java-junit)))
948+
     `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations)
949+
       ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)))
950+
    (home-page "https://github.com/FasterXML/jackson-databind")
951+
    (synopsis "")
952+
    (description "")
953+
    (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
954+
955+
(define-public java-fasterxml-jackson-modules-base
956+
  (package
957+
    (name "java-fasterxml-jackson-modules-base")
958+
    (version "2.9.0")
959+
    (source (origin
960+
              (method url-fetch)
961+
              (uri (string-append "https://github.com/FasterXML/"
962+
                                  "jackson-modules-base/archive/"
963+
                                  "jackson-modules-base-" version ".tar.gz"))
964+
              (sha256
965+
               (base32
966+
                "054f1rk3k7way7d2a67q2j81yi33n1q9l4rp14jb864y46zdaayy"))))
967+
    (build-system ant-build-system)
611968
    (arguments
612-
     `(#:tests? #f ; tests require unpackaged software
613-
       #:jar-name "log4j-core.jar"
614-
       #:make-flags
615-
       (list (string-append "-Ddist.dir=" (assoc-ref %outputs "out")
616-
                            "/share/java"))
969+
     `(#:jar-name "jackson-modules-base.jar"
970+
       #:source-dir "jaxb/src/main/java"
971+
       #:tests? #f; how to run them? src/test/java
617972
       #:phases
618973
       (modify-phases %standard-phases
619-
         (add-after 'unpack 'enter-dir
620-
           (lambda _ (chdir "log4j-core") #t))
621-
         ;; FIXME: The tests require additional software that has not been
622-
         ;; packaged yet, such as
623-
         ;; * org.apache.maven
624-
         ;; * org.apache.felix
625-
         (add-after 'enter-dir 'delete-tests
626-
           (lambda _ (delete-file-recursively "src/test") #t)))))))
974+
         (add-before 'configure 'generate-PackageVersion.java
975+
           (lambda _
976+
             (let* ((out (string-append "jaxb/src/main/java/com/fasterxml/"
977+
                                        "jackson/module/jaxb/PackageVersion.java"))
978+
                    (in (string-append out ".in")))
979+
               (copy-file in out)
980+
               (substitute* out
981+
                 (("@package@") "com.fasterxml.jackson.module.jaxb")
982+
                 (("@projectversion@") ,version)
983+
                 (("@projectgroupid@") "com.fasterxml.jackson.module.jaxb")
984+
                 (("@projectartifactid@") "jackson-module-jaxb"))))))))
985+
    (inputs
986+
     `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations)
987+
       ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)
988+
       ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind)))
989+
    (home-page "https://github.com/FasterXML/jackson-dataformat-xml")
990+
    (synopsis "")
991+
    (description "")
992+
    (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
627993
628-
(define-public java-velocity
994+
(define-public java-fasterxml-jackson-dataformat-xml
629995
  (package
630-
    (name "java-velocity")
631-
    (version "1.7")
996+
    (name "java-fasterxml-jackson-dataformat-xml")
997+
    (version "2.9.0")
632998
    (source (origin
633999
              (method url-fetch)
634-
              (uri (string-append "mirror://apache/velocity/engine/"
635-
                                  version "/velocity-" version ".tar.gz"))
1000+
              (uri (string-append "https://github.com/FasterXML/"
1001+
                                  "jackson-dataformat-xml/archive/"
1002+
                                  "jackson-dataformat-xml-" version ".tar.gz"))
6361003
              (sha256
6371004
               (base32
638-
                "0rk7s04hkrr2k3glccx0yrglzqzj4qbipcrxhglk46yhx92vravc"))
639-
	      (patches
640-
		(search-patches "java-velocity-dont-use-werken-xpath.patch"))))
1005+
                "1iv8brs68szk2d4fghji1bgg5g8fcc4y1yp363phiy794f40vxfc"))))
6411006
    (build-system ant-build-system)
6421007
    (arguments
643-
     `(#:source-dir "src/java"
1008+
     `(#:jar-name "jackson-dataformat-xml.jar"
1009+
       #:source-dir "src/main/java"
1010+
       #:tests? #f; how to run them? src/test/java
6441011
       #:phases
6451012
       (modify-phases %standard-phases
646-
	     (add-before 'configure 'fix-log4j-path
647-
	       (lambda _
648-
	         (for-each (lambda (file)
649-
                         (substitute* file
650-
	                       (("org.apache.log4j") "org.apache.logging.log4j")))
651-
               '("src/java/org/apache/velocity/runtime/log/Log4JLogChute.java"
652-
                 "src/java/org/apache/velocity/runtime/log/SimpleLog4JLogSystem.java"))))
653-
         (add-before 'build 'prepare
654-
           (lambda* (#:key inputs #:allow-other-keys)
655-
             (delete-file-recursively "lib")
656-
             (mkdir-p "bin/lib")
657-
             ;; Don't download anything
658-
             (substitute* "build/build.xml"
659-
               ((".*download.xml.*") ""))
660-
             (chdir "build"))))))
661-
    (native-inputs
662-
     `(("javacc" ,java-javacc)
663-
       ("antlr" ,antlr2)))
664-
    (propagated-inputs
665-
     `(("java-commons-collections" ,java-commons-collections)
666-
       ("java-jakarta-oro" ,java-jakarta-oro)
667-
       ("java-jdom" ,java-jdom)
668-
       ("java-tomcat" ,java-tomcat)
669-
       ("java-log4j-api" ,java-log4j-api)
670-
       ("java-commons-logging-minimal" ,java-commons-logging)
671-
       ("java-commons-lang" ,java-commons-lang)))
672-
    (home-page "https://velocity.apache.org/")
1013+
         (add-before 'configure 'generate-PackageVersion.java
1014+
           (lambda _
1015+
             (let* ((out "src/main/java/com/fasterxml/jackson/dataformat/xml/PackageVersion.java")
1016+
                    (in (string-append out ".in")))
1017+
               (copy-file in out)
1018+
               (substitute* out
1019+
                 (("@package@") "com.fasterxml.jackson.dataformat.xml")
1020+
                 (("@projectversion@") ,version)
1021+
                 (("@projectgroupid@") "com.fasterxml.jackson.dataformat.xml")
1022+
                 (("@projectartifactid@") "jackson-dataformat-xml"))))))))
1023+
    (inputs
1024+
     `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations)
1025+
       ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)
1026+
       ("java-fasterxml-jackson-modules-base" ,java-fasterxml-jackson-modules-base)
1027+
       ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind)
1028+
       ("java-stax2-api" ,java-stax2-api)))
1029+
    (home-page "https://github.com/FasterXML/jackson-dataformat-xml")
6731030
    (synopsis "")
6741031
    (description "")
675-
    (license license:asl2.0)))
1032+
    (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
6761033
677-
(define-public java-commons-jcs
1034+
(define-public java-stax2-api
6781035
  (package
679-
    (name "java-commons-jcs")
680-
    (version "2.1")
1036+
    (name "java-stax2-api")
1037+
    (version "4.0.0")
6811038
    (source (origin
6821039
              (method url-fetch)
683-
              (uri (string-append "mirror://apache/commons/jcs/source/"
684-
                                  "commons-jcs-dist-" version "-src.tar.gz"))
1040+
              (uri (string-append "https://github.com/FasterXML/stax2-api/archive/"
1041+
                                  "stax2-api-" version ".tar.gz"))
6851042
              (sha256
6861043
               (base32
687-
                "17l78mpxx1qkgp213b91sl69wawv6xzgllr479mygbg76ygwpffv"))))
1044+
                "1amc1si0l0hyyw2sawmnzy4hkna3z6fp195y4nm5m9wb9ld5awkq"))))
6881045
    (build-system ant-build-system)
6891046
    (arguments
690-
     `(#:jar-name "commons-jcs.jar"
691-
       #:source-dir "commons-jcs-core/src/main/java"))
1047+
     `(#:jar-name "java-stax2-api.jar"
1048+
       #:source-dir "src/main/java"
1049+
       #:tests? #f))
1050+
    (home-page "https://github.com/FasterXML/stax2-api")
1051+
    (synopsis "")
1052+
    (description "")
1053+
    (license license:asl2.0)))
1054+
1055+
;(define-public java-woodstox
1056+
;  (package
1057+
;    (name "java-woodstox")
1058+
;    (version "5.0.3")
1059+
;    (source (origin
1060+
;              (method url-fetch)
1061+
;              (uri (string-append "https://github.com/FasterXML/woodstox/archive/"
1062+
;                                  "woodstox-core-" version ".tar.gz"))
1063+
;              (sha256
1064+
;               (base32
1065+
;                "1i7pdgb8jbw6gdy5kmm0l6rz109n2ns92pqalpyp24vb8vlvdfd4"))))
1066+
;    (build-system ant-build-system)
1067+
;    (arguments
1068+
;     `(#:jar-name "java-woodstox.jar"
1069+
;       #:source-dir "src/main/java"
1070+
;       #:tests? #f))
1071+
;    (inputs
1072+
;     `(("java-stax2-api" ,java-stax2-api)))
1073+
;    (home-page "https://github.com/FasterXML/woodstox")
1074+
;    (synopsis "")
1075+
;    (description "")
1076+
;    (license license:asl2.0)))
1077+
1078+
(define-public java-snakeyaml
1079+
  (package
1080+
    (name "java-snakeyaml")
1081+
    (version "1.18")
1082+
    (source (origin
1083+
              (method url-fetch)
1084+
              (uri (string-append "https://bitbucket.org/asomov/snakeyaml/get/v"
1085+
                                  version ".tar.gz"))
1086+
              (sha256
1087+
               (base32
1088+
                "0rf5ha6w0waz50jz2479jsrbgmd0dnx0gs337m126j5z7zlmg7mg"))))
1089+
    (build-system ant-build-system)
1090+
    (arguments
1091+
     `(#:jar-name "java-snakeyaml.jar"
1092+
       #:source-dir "src/main/java"
1093+
       #:tests? #f))
1094+
    (home-page "https://bitbucket.org/asomov/snakeyaml")
1095+
    (synopsis "")
1096+
    (description "")
1097+
    (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
1098+
    
1099+
1100+
(define-public java-fasterxml-jackson-dataformat-yaml
1101+
  (package
1102+
    (name "java-fasterxml-jackson-dataformat-yaml")
1103+
    (version "2.8.9")
1104+
    (source (origin
1105+
              (method url-fetch)
1106+
              (uri (string-append "https://github.com/FasterXML/"
1107+
                                  "jackson-dataformat-yaml/archive/"
1108+
                                  "jackson-dataformat-yaml-" version ".tar.gz"))
1109+
              (sha256
1110+
               (base32
1111+
                "1qsqkbm9myq2bgqp58b64i2791gcl9njvrgfsy0kdmfhsxy975a9"))))
1112+
    (build-system ant-build-system)
1113+
    (arguments
1114+
     `(#:jar-name "jackson-dataformat-yaml.jar"
1115+
       #:source-dir "src/main/java"
1116+
       #:tests? #f; how to run them? src/test/java
1117+
       #:phases
1118+
       (modify-phases %standard-phases
1119+
         (add-before 'configure 'generate-PackageVersion.java
1120+
           (lambda _
1121+
             (let* ((out "src/main/java/com/fasterxml/jackson/dataformat/yaml/PackageVersion.java")
1122+
                    (in (string-append out ".in")))
1123+
               (copy-file in out)
1124+
               (substitute* out
1125+
                 (("@package@") "com.fasterxml.jackson.dataformat.yaml")
1126+
                 (("@projectversion@") ,version)
1127+
                 (("@projectgroupid@") "com.fasterxml.jackson.dataformat.yaml")
1128+
                 (("@projectartifactid@") "jackson-dataformat-yaml"))))))))
1129+
    (inputs
1130+
     `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations)
1131+
       ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)
1132+
       ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind)
1133+
       ("java-snakeyaml" ,java-snakeyaml)))
1134+
    (home-page "https://github.com/FasterXML/jackson-dataformat-yaml")
1135+
    (synopsis "")
1136+
    (description "")
1137+
    (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
1138+
1139+
(define-public java-commons-csv
1140+
  (package
1141+
    (name "java-commons-csv")
1142+
    (version "1.4")
1143+
    (source (origin
1144+
              (method url-fetch)
1145+
              (uri (string-append "mirror://apache/commons/csv/source/"
1146+
                                  "commons-csv-" version "-src.tar.gz"))
1147+
              (sha256
1148+
               (base32
1149+
                "1l89m0fm2s3xx3v3iynvangymfg2vlyngaj6fgsi457nmsw7m7ij"))))
1150+
    (build-system ant-build-system)
1151+
    (arguments
1152+
     `(#:jar-name "commons-csv.jar"
1153+
       #:source-dir "src/main/java"
1154+
       #:tests? #f)); some failures, but I want to package dependents
1155+
    (inputs
1156+
     `(("java-hamcrest-core" ,java-hamcrest-core)
1157+
       ("java-commons-io" ,java-commons-io)
1158+
       ("java-commons-lang3" ,java-commons-lang3)
1159+
       ("junit" ,java-junit)))
1160+
    (home-page "https://commons.apache.org/proper/commons-csv/")
1161+
    (synopsis "")
1162+
    (description "")
1163+
    (license license:asl2.0)))
1164+
1165+
(define-public java-javax-inject
1166+
  (package
1167+
    (name "java-javax-inject")
1168+
    (version "tck-1")
1169+
    (source (origin
1170+
              (method url-fetch)
1171+
              (uri (string-append "https://github.com/javax-inject/javax-inject/"
1172+
                                  "archive/javax.inject-" version ".tar.gz"))
1173+
              (sha256
1174+
               (base32
1175+
                "1ydrlvh2r7vr1g7lhjwy3w2dggpj9h6pix1lakkkgdywb365n6g0"))))
1176+
    (build-system ant-build-system)
1177+
    (arguments
1178+
     `(#:jar-name "java-javax-inject.jar"
1179+
       #:jdk ,icedtea-8
1180+
       #:tests? #f)); no tests
1181+
    (home-page "http://github.org/javax-inject/javax-inject")
1182+
    (synopsis "JSR-330: Dependency Injection for Java")
1183+
    (description "This package specifies a means for obtaining objects in such
1184+
a way as to maximize reusability, testability and maintainability compared to
1185+
traditional approaches such as constructors, factories, and service locators
1186+
(e.g., JNDI).  This process, known as dependency injection, is beneficial to
1187+
most nontrivial applications.
1188+
1189+
Many types depend on other types.  For example, a @var{Stopwatch} might depend
1190+
on a @var{TimeSource}.  The types on which a type depends are known as its
1191+
dependencies.  The process of finding an instance of a dependency to use at run
1192+
time is known as resolving the dependency.  If no such instance can be found,
1193+
the dependency is said to be unsatisfied, and the application is broken.")
1194+
    (license license:asl2.0)))
1195+
1196+
(define-public java-aopalliance
1197+
  (package
1198+
    (name "java-aopalliance")
1199+
    (version "1.0")
1200+
    (source (origin
1201+
              (method git-fetch)
1202+
              ;; Note: this git repository is not official, but contains the
1203+
              ;; source code that is in the CVS repository.  Downloading the
1204+
              ;; tarball from sourceforge is undeterministic, and the cvs download
1205+
              ;; fails.
1206+
              (uri (git-reference
1207+
                     (url "https://github.com/hoverruan/aopalliance")
1208+
                     (commit "0d7757ae204e5876f69431421fe9bc2a4f01e8a0")))
1209+
              (file-name (string-append name "-" version))
1210+
              (sha256
1211+
               (base32
1212+
                "0rsg2b0v3hxlq2yk1i3m2gw3xwq689j3cwx9wbxvqfpdcjbca0qr"))))
1213+
    (build-system ant-build-system)
1214+
    (arguments
1215+
     `(#:jar-name "java-aopalliance.jar"
1216+
       #:jdk ,icedtea-8
1217+
       #:tests? #f; requires java-testng
1218+
       #:source-dir "aopalliance/src/main"))
1219+
    (home-page "http://aopalliance.sourceforge.net")
1220+
    (synopsis "")
1221+
    (description "")
1222+
    (license license:asl2.0)))
1223+
1224+
(define-public java-guice
1225+
  (package
1226+
    (name "java-guice")
1227+
    (version "4.1")
1228+
    (source (origin
1229+
              (method url-fetch)
1230+
              (uri (string-append "https://github.com/google/guice/archive/"
1231+
                                  version ".tar.gz"))
1232+
              (sha256
1233+
               (base32
1234+
                "0dwmqjzlavb144ywqqglj3h68hqszkff8ai0a42hyb5il0qh4rbp"))))
1235+
    (build-system ant-build-system)
1236+
    (arguments
1237+
     `(#:jar-name "java-guice.jar"
1238+
       #:jdk ,icedtea-8
1239+
       #:tests? #f
1240+
       #:source-dir "core/src"))
1241+
    (inputs
1242+
     `(("guava" ,java-guava)
1243+
       ("java-cglib" ,java-cglib)
1244+
       ("java-aopalliance" ,java-aopalliance)
1245+
       ("java-javax-inject" ,java-javax-inject)
1246+
       ("java-asm" ,java-asm)))
1247+
    (home-page "http://github.org/google/guice")
1248+
    (synopsis "")
1249+
    (description "")
1250+
    (license license:asl2.0)))
1251+
1252+
(define-public java-jcommander
1253+
  (package
1254+
    (name "java-jcommander")
1255+
    (version "1.71")
1256+
    (source (origin
1257+
              (method url-fetch)
1258+
              (uri (string-append "https://github.com/cbeust/jcommander/archive/"
1259+
                                  version ".tar.gz"))
1260+
              (sha256
1261+
               (base32
1262+
                "1f5k2ckay6qjc3d3w3d7bc0p3cx3c7n6p6zxvw1kibqdr0q98wlx"))))
1263+
    (build-system ant-build-system)
1264+
    (arguments
1265+
     `(#:jar-name "java-jcommander.jar"
1266+
       #:jdk ,icedtea-8
1267+
       #:tests? #f
1268+
       #:source-dir "src/main/java"))
1269+
    (home-page "http://jcommander.org")
1270+
    (synopsis "")
1271+
    (description "")
1272+
    (license license:asl2.0)))
1273+
1274+
(define-public java-assertj
1275+
  (package
1276+
    (name "java-assertj")
1277+
    (version "3.8.0")
1278+
    (source (origin
1279+
              (method url-fetch)
1280+
              (uri (string-append "https://github.com/joel-costigliola/assertj-core/archive/"
1281+
                                  "assertj-core-" version ".tar.gz"))
1282+
              (sha256
1283+
               (base32
1284+
                "1kf124fxskf548rklkg86294w2x6ajqrff94rrhyqns31danqkfz"))))
1285+
    (build-system ant-build-system)
1286+
    (arguments
1287+
     `(#:jar-name "java-assertj.jar"
1288+
       #:jdk ,icedtea-8
1289+
       #:tests? #f; TODO: has dependencies
1290+
       #:source-dir "src/main/java"))
1291+
    (inputs
1292+
     `(("cglib" ,java-cglib)
1293+
       ("junit" ,java-junit)
1294+
       ("hamcrest" ,java-hamcrest-core)))
1295+
    (home-page "https://joel-costigliola.github.io/assertj/index.html")
1296+
    (synopsis "")
1297+
    (description "")
1298+
    (license license:asl2.0)))
1299+
1300+
;; depends on guice: https://github.com/google/guice
1301+
(define-public java-testng
1302+
  (package
1303+
    (name "java-testng")
1304+
    (version "6.12")
1305+
    (source (origin
1306+
              (method url-fetch)
1307+
              (uri (string-append "https://github.com/cbeust/testng/archive/"
1308+
                                  version ".tar.gz"))
1309+
              (sha256
1310+
               (base32
1311+
                "01j2x47wkj7n5w6gpcjfbwgc88ai5654b23lb87w7nsrj63m3by6"))))
1312+
    (build-system ant-build-system)
1313+
    (arguments
1314+
     `(#:jdk ,icedtea-8; java.util.function
1315+
       #:jar-name "java-testng.jar"
1316+
       #:tests? #f; fails to find hamcrest
1317+
       #:source-dir "src/main/java"))
1318+
    (inputs
1319+
     `(("junit" ,java-junit)
1320+
       ("java-jsr305" ,java-jsr305)
1321+
       ("java-bsh" ,java-bsh)
1322+
       ("java-jcommander" ,java-jcommander)
1323+
       ("java-guice" ,java-guice)
1324+
       ("snakeyaml" ,java-snakeyaml)))
1325+
    (native-inputs
1326+
     `(("guava" ,java-guava)
1327+
       ("java-javax-inject" ,java-javax-inject)
1328+
       ("java-hamcrest" ,java-hamcrest-all)
1329+
       ("java-assertj" ,java-assertj)))
1330+
    (home-page "http://testng.org")
1331+
    (synopsis "")
1332+
    (description "")
1333+
    (license license:asl2.0)))
1334+
1335+
(define-public java-fest-util
1336+
  (package
1337+
    (name "java-fest-util")
1338+
    (version "1.2.5")
1339+
    (source (origin
1340+
              (method url-fetch)
1341+
              (uri (string-append "https://github.com/alexruiz/fest-util/"
1342+
                                  "archive/fest-util-" version ".tar.gz"))
1343+
              (sha256
1344+
               (base32
1345+
                "05g6hljz5mdaakk8d7g32klbhz9bdwp3qlj6rdaggdidxs3x1sb8"))))
1346+
    (build-system ant-build-system)
1347+
    (arguments
1348+
     `(#:jar-name "java-fest-util.jar"
1349+
       #:source-dir "src/main/java"))
1350+
    (native-inputs
1351+
     `(("junit" ,java-junit)
1352+
       ("hamcrest" ,java-hamcrest-core)))
1353+
    (home-page "https://github.com/alexruiz/fest-util")
1354+
    (synopsis "")
1355+
    (description "")
1356+
    (license license:asl2.0)))
1357+
1358+
;; required by java-jnacl
1359+
;(define java-fest-util-1.3
1360+
;  (package
1361+
;    (inherit java-fest-util)
1362+
;    (name "java-fest-util")
1363+
;    (version "1.3.0-SNAPSHOT")
1364+
;    (source (origin
1365+
;              (method git-fetch)
1366+
;              (uri (git-reference
1367+
;                    (url "https://github.com/alexruiz/fest-util")
1368+
;                    (commit "6bca64f2673fbc255bab6c289dc65333f28734f6")))
1369+
;              (file-name (string-append name "-" version))
1370+
;              (sha256
1371+
;               (base32
1372+
;                "1gfvy0s47xvg7rf1dx174pcq9mmsrcg172sprn7s9859hcy9r8y8"))))
1373+
;    (inputs
1374+
;     `(("java-error-prone-annotations" ,java-error-prone-annotations)))))
1375+
1376+
(define-public java-fest-test
1377+
  (package
1378+
    (name "java-fest-test")
1379+
    (version "2.1.0")
1380+
    (source (origin
1381+
              (method url-fetch)
1382+
              (uri (string-append "https://github.com/alexruiz/fest-test/"
1383+
                                  "archive/fest-test-" version ".tar.gz"))
1384+
              (sha256
1385+
               (base32
1386+
                "1rxfbw6l9vc65iy1x3fb617qc6y4w2k430pgf1mfbxfdlxbm0f7g"))))
1387+
    (build-system ant-build-system)
1388+
    (arguments
1389+
     `(#:jar-name "java-fest-test.jar"
1390+
       #:source-dir "src/main/java"
1391+
       #:tests? #f)); no tests
1392+
    (inputs
1393+
     `(("junit" ,java-junit)))
1394+
    (home-page "https://github.com/alexruiz/fest-test")
1395+
    (synopsis "")
1396+
    (description "")
1397+
    (license license:asl2.0)))
1398+
1399+
;(define-public java-fest-assert-1
1400+
;  (package
1401+
;    (name "java-fest-assert")
1402+
;    (version "1.4")
1403+
;    (source (origin
1404+
;              (method url-fetch)
1405+
;              (uri (string-append "https://github.com/alexruiz/fest-assert-1.x/"
1406+
;                                  "archive/" version ".tar.gz"))
1407+
;              (sha256
1408+
;               (base32
1409+
;                "0q4jvjydrd0pl10cp9vl18kph2wg429qallicfrqhh7mdr8dpvw5"))))
1410+
;    (inputs
1411+
;     `(("java-fest-util" ,java-fest-util-1.3)))
1412+
;    (build-system ant-build-system)
1413+
;    (arguments
1414+
;     `(#:jar-name "java-fest-assert.jar"
1415+
;       #:source-dir "src/main/java"))
1416+
;    (home-page "https://github.com/alexruiz/fest-assert-2.x")
1417+
;    (synopsis "")
1418+
;    (description "")
1419+
;    (license license:asl2.0)))
1420+
1421+
(define-public java-fest-assert
1422+
  (package
1423+
    (name "java-fest-assert")
1424+
    (version "2.0M10")
1425+
    (source (origin
1426+
              (method url-fetch)
1427+
              (uri (string-append "https://github.com/alexruiz/fest-assert-2.x/"
1428+
                                  "archive/fest-assert-core-" version ".tar.gz"))
1429+
              (sha256
1430+
               (base32
1431+
                "1bi0iqavikzww6rxvz5jyg7y6bflv95s6ibryxx0xfcxrrw6i5lw"))))
1432+
    (build-system ant-build-system)
1433+
    (arguments
1434+
     `(#:jar-name "java-fest-assert.jar"
1435+
       #:source-dir "src/main/java"
1436+
       #:tests? #f));??tests fail
1437+
    (inputs
1438+
     `(("java-fest-util" ,java-fest-util)))
1439+
    (native-inputs
1440+
     `(("java-junit" ,java-junit)
1441+
       ("java-fest-test" ,java-fest-test)
1442+
       ("java-hamcrest-core" ,java-hamcrest-core)
1443+
       ("java-mockito" ,java-mockito-1)))
1444+
    (home-page "https://github.com/alexruiz/fest-assert-2.x")
1445+
    (synopsis "")
1446+
    (description "")
1447+
    (license license:asl2.0)))
1448+
1449+
(define-public java-jnacl
1450+
  (package
1451+
    (name "java-jnacl")
1452+
    (version "0.1.0")
1453+
    (source (origin
1454+
              (method git-fetch)
1455+
              (uri (git-reference
1456+
                     (url "https://github.com/neilalexander/jnacl")
1457+
                     (commit "40c322e0a42637ab17cdf941138eeaf2494055f8")))
1458+
              (sha256
1459+
               (base32
1460+
                "1pspnmp44q61a2q4bpslpxw86rfn8s5l0xgvyrikqgdvg7ypx597"))))
1461+
    (build-system ant-build-system)
1462+
    (arguments
1463+
     `(#:jar-name "java-jnacl.jar"
1464+
       #:source-dir "src/main/java"
1465+
       #:tests? #f
1466+
       #:jdk ,icedtea-8))
1467+
    (native-inputs
1468+
     `(("java-testng" ,java-testng)))
1469+
       ;("java-fest-assert" ,java-fest-assert-1)))
1470+
    (home-page "https://github.com/neilalexander/jnacl")
1471+
    (synopsis "")
1472+
    (description "")
1473+
    (license license:mpl2.0)))
1474+
1475+
(define-public java-jeromq
1476+
  (package
1477+
    (name "java-jeromq")
1478+
    (version "0.4.2")
1479+
    (source (origin
1480+
              (method url-fetch)
1481+
              (uri (string-append "https://github.com/zeromq/jeromq/archive/v"
1482+
                                  version ".tar.gz"))
1483+
              (sha256
1484+
               (base32
1485+
                "17wx8dlyqmbw77xf6d6wxnhiyky6181zpf1a48jqzz9hidz0j841"))))
1486+
    (build-system ant-build-system)
1487+
    (arguments
1488+
     `(#:jar-name "java-jeromq.jar"
1489+
       #:source-dir "src/main/java"
1490+
       #:jdk ,icedtea-8
1491+
       #:phases
1492+
       (modify-phases %standard-phases
1493+
         (add-before 'check 'remove-failing
1494+
           (lambda _
1495+
             ;; This test requires network.
1496+
             (delete-file "src/test/java/org/zeromq/ZBeaconTest.java")
1497+
             ;; Don't know why it fails
1498+
             (delete-file "src/test/java/zmq/io/coder/AbstractDecoderTest.java")
1499+
             ;; And then we must remove its folder:
1500+
             (delete-file-recursively "src/test/java/zmq/io/coder")
1501+
             ;; This one causes: java.lang.Exception: No runnable methods
1502+
             (delete-file-recursively "src/test/java/zmq/socket"))))))
1503+
    (inputs
1504+
     `(("java-jnacl" ,java-jnacl)))
1505+
    (native-inputs
1506+
     `(("java-hamcrest-core" ,java-hamcrest-core)
1507+
       ("junit" ,java-junit)))
1508+
    (home-page "http://zeromq.org/bindings:java")
1509+
    (synopsis "")
1510+
    (description "")
1511+
    (license license:mpl2.0)))
1512+
1513+
(define-public java-log4j-core
1514+
  (package
1515+
    (inherit java-log4j-api)
1516+
    (name "java-log4j-core")
1517+
    (inputs
1518+
     `(("java-osgi-core" ,java-osgi-core)
1519+
       ("java-hamcrest-core" ,java-hamcrest-core)
1520+
       ("java-log4j-api" ,java-log4j-api)
1521+
       ("java-mail" ,java-mail)
1522+
       ("java-jboss-jms-api-spec" ,java-jboss-jms-api-spec)
1523+
       ("java-lmax-disruptor" ,java-lmax-disruptor)
1524+
       ("java-kafka" ,java-kafka-clients)
1525+
       ("java-datanucleus-javax-persistence" ,java-datanucleus-javax-persistence)
1526+
       ("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations)
1527+
       ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)
1528+
       ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind)
1529+
       ("java-fasterxml-jackson-dataformat-xml" ,java-fasterxml-jackson-dataformat-xml)
1530+
       ("java-fasterxml-jackson-dataformat-yaml" ,java-fasterxml-jackson-dataformat-yaml)
1531+
       ("java-commons-compress" ,java-commons-compress)
1532+
       ("java-commons-csv" ,java-commons-csv)
1533+
       ("java-jeromq" ,java-jeromq)
1534+
       ("java-junit" ,java-junit)))
1535+
    (native-inputs
1536+
     `(("hamcrest" ,java-hamcrest-all)
1537+
       ("java-commons-io" ,java-commons-io)
1538+
       ("java-commons-lang3" ,java-commons-lang3)
1539+
       ("slf4j" ,java-slf4j-api)))
1540+
    (arguments
1541+
     `(#:tests? #f ; tests require unpackaged software
1542+
       #:test-dir "src/test"
1543+
       #:jar-name "log4j-core.jar"
1544+
       #:jdk ,icedtea-8
1545+
       #:make-flags
1546+
       (list (string-append "-Ddist.dir=" (assoc-ref %outputs "out")
1547+
                            "/share/java"))
1548+
       #:phases
1549+
       (modify-phases %standard-phases
1550+
         (add-after 'unpack 'enter-dir
1551+
           (lambda _ (chdir "log4j-core") #t))
1552+
         ;; FIXME: The tests require additional software that has not been
1553+
         ;; packaged yet, such as
1554+
         ;; * org.apache.maven
1555+
         ;; * org.apache.felix
1556+
         (add-after 'enter-dir 'delete-tests
1557+
           (lambda _ (delete-file-recursively "src/test") #t)))))))
1558+
1559+
(define-public java-log4j-1.2-api
1560+
  (package
1561+
    (inherit java-log4j-api)
1562+
    (name "java-log4j-1.2-api")
1563+
    (arguments
1564+
     `(#:jar-name "java-log4j-1.2-api.jar"
1565+
       #:source-dir "log4j-1.2-api/src/main/java"
1566+
       #:jdk ,icedtea-8
1567+
       #:tests? #f
1568+
       #:phases
1569+
       (modify-phases %standard-phases
1570+
         (add-before 'configure 'copy-required
1571+
           (lambda _
1572+
             ;; Some files from log4j-core are required, but we cannot use
1573+
             ;; log4j-core, because it would be a cyclic dependency:
1574+
             ;; log4j-core -> avalon-logkit -> log4j-1.2-api -> log4j-core
1575+
             (let* ((api "log4j-1.2-api/src/main/java/org/apache/logging/log4j")
1576+
                    (core "log4j-core/src/main/java/org/apache/logging/log4j/core"))
1577+
             (mkdir-p (string-append api "/core/util"))
1578+
             (mkdir-p (string-append api "/core/appender"))
1579+
             (mkdir-p (string-append api "/core/net"))
1580+
             (mkdir-p (string-append api "/core/jmx"))
1581+
             (mkdir-p (string-append api "/core/impl"))
1582+
             (mkdir-p (string-append api "/core/filter"))
1583+
             (mkdir-p (string-append api "/core/layout"))
1584+
             (mkdir-p (string-append api "/core/lookup"))
1585+
             (mkdir-p (string-append api "/core/pattern"))
1586+
             (mkdir-p (string-append api "/core/async"))
1587+
             (mkdir-p (string-append api "/core/selector"))
1588+
             (mkdir-p (string-append api "/core/config/status"))
1589+
             (mkdir-p (string-append api "/core/config/plugins/convert"))
1590+
             (mkdir-p (string-append api "/core/config/plugins/processor"))
1591+
             (mkdir-p (string-append api "/core/config/plugins/visitors"))
1592+
             (mkdir-p (string-append api "/core/config/plugins/validation/constraints"))
1593+
             (mkdir-p (string-append api "/core/config/plugins/validation/validators"))
1594+
             (mkdir-p (string-append api "/core/config/plugins/util"))
1595+
             (mkdir-p (string-append api "/core/config/builder/api"))
1596+
             (mkdir-p (string-append api "/core/config/builder/impl"))
1597+
             (for-each (lambda (file) (copy-file (string-append core "/" file)
1598+
                                                 (string-append api "/core/" file)))
1599+
               '("async/AsyncLogger.java" "async/AsyncLoggerContextSelector.java"
1600+
                 "async/DaemonThreadFactory.java" "async/AsyncLoggerContext.java"
1601+
                 "async/AsyncLoggerConfig.java" "async/RingBufferLogEvent.java"
1602+
                 "async/RingBufferLogEventTranslator.java"
1603+
                 "async/RingBufferLogEventHandler.java"
1604+
                 "async/AsyncLoggerConfigHelper.java"
1605+
                 "LoggerContext.java" "AbstractLifeCycle.java"
1606+
                 "Logger.java" "LifeCycle.java" "ErrorHandler.java"
1607+
                 "Appender.java" "Filter.java" "LogEvent.java" "Layout.java"
1608+
                 "config/Configuration.java" "config/ConfigurationFactory.java"
1609+
                 "config/ConfigurationListener.java" "config/LoggerConfig.java"
1610+
                 "config/ConfigurationSource.java" "config/DefaultConfiguration.java"
1611+
                 "config/NullConfiguration.java" "config/Reconfigurable.java"
1612+
                 "config/ReliabilityStrategy.java" "config/Property.java"
1613+
                 "config/AppenderRef.java" "config/Node.java"
1614+
                 "config/AppenderControl.java" "config/ConfigurationException.java"
1615+
                 "config/AbstractConfiguration.java" "config/FileConfigurationMonitor.java"
1616+
                 "config/ConfigurationMonitor.java" "config/CustomLevelConfig.java"
1617+
                 "config/CustomLevels.java" "config/Loggers.java" "config/OrderComparator.java"
1618+
                 "config/DefaultAdvertiser.java" "config/DefaultConfigurationMonitor.java"
1619+
                 "config/DefaultReliabilityStrategy.java" "config/ReliabilityStrategyFactory.java"
1620+
                 "config/Order.java" "config/AwaitCompletionReliabilityStrategy.java"
1621+
                 "config/AwaitUnconditionallyReliabilityStrategy.java"
1622+
                 "config/LockingReliabilityStrategy.java"
1623+
                 "config/status/StatusConfiguration.java"
1624+
                 "config/plugins/Plugin.java" "config/plugins/PluginAttribute.java"
1625+
                 "config/plugins/PluginBuilderAttribute.java"
1626+
                 "config/plugins/PluginBuilderFactory.java"
1627+
                 "config/plugins/PluginConfiguration.java"
1628+
                 "config/plugins/PluginElement.java"
1629+
                 "config/plugins/PluginFactory.java"
1630+
                 "config/plugins/PluginValue.java"
1631+
                 "config/plugins/PluginAliases.java"
1632+
                 "config/plugins/PluginVisitorStrategy.java"
1633+
                 "config/plugins/util/PluginManager.java"
1634+
                 "config/plugins/util/PluginType.java"
1635+
                 "config/plugins/util/PluginBuilder.java"
1636+
                 "config/plugins/util/ResolverUtil.java"
1637+
                 "config/plugins/util/PluginRegistry.java"
1638+
                 "config/plugins/processor/PluginEntry.java"
1639+
                 "config/plugins/processor/PluginProcessor.java"
1640+
                 "config/plugins/processor/PluginCache.java"
1641+
                 "config/plugins/convert/TypeConverter.java"
1642+
                 "config/plugins/convert/TypeConverters.java"
1643+
                 "config/plugins/convert/TypeConverterRegistry.java"
1644+
                 "config/plugins/convert/EnumConverter.java"
1645+
                 "config/plugins/visitors/AbstractPluginVisitor.java"
1646+
                 "config/plugins/visitors/PluginAttributeVisitor.java"
1647+
                 "config/plugins/visitors/PluginBuilderAttributeVisitor.java"
1648+
                 "config/plugins/visitors/PluginConfigurationVisitor.java"
1649+
                 "config/plugins/visitors/PluginElementVisitor.java"
1650+
                 "config/plugins/visitors/PluginValueVisitor.java"
1651+
                 "config/plugins/visitors/PluginVisitor.java"
1652+
                 "config/plugins/visitors/PluginVisitors.java"
1653+
                 "config/plugins/validation/ConstraintValidator.java"
1654+
                 "config/plugins/validation/ConstraintValidators.java"
1655+
                 "config/plugins/validation/Constraint.java"
1656+
                 "config/plugins/validation/validators/RequiredValidator.java"
1657+
                 "config/plugins/validation/constraints/Required.java"
1658+
                 "config/builder/api/ConfigurationBuilderFactory.java"
1659+
                 "config/builder/api/Component.java"
1660+
                 "config/builder/api/AppenderComponentBuilder.java"
1661+
                 "config/builder/api/AppenderRefComponentBuilder.java"
1662+
                 "config/builder/api/ComponentBuilder.java"
1663+
                 "config/builder/api/ConfigurationBuilder.java"
1664+
                 "config/builder/api/CustomLevelComponentBuilder.java"
1665+
                 "config/builder/api/FilterComponentBuilder.java"
1666+
                 "config/builder/api/LayoutComponentBuilder.java"
1667+
                 "config/builder/api/LoggerComponentBuilder.java"
1668+
                 "config/builder/api/RootLoggerComponentBuilder.java"
1669+
                 "config/builder/impl/BuiltConfiguration.java"
1670+
                 "config/builder/impl/DefaultConfigurationBuilder.java"
1671+
                 "config/builder/impl/DefaultRootLoggerComponentBuilder.java"
1672+
                 "config/builder/impl/DefaultLayoutComponentBuilder.java"
1673+
                 "config/builder/impl/DefaultLoggerComponentBuilder.java"
1674+
                 "config/builder/impl/DefaultFilterComponentBuilder.java"
1675+
                 "config/builder/impl/DefaultCustomLevelComponentBuilder.java"
1676+
                 "config/builder/impl/DefaultComponentBuilder.java"
1677+
                 "config/builder/impl/DefaultAppenderComponentBuilder.java"
1678+
                 "config/builder/impl/DefaultAppenderRefComponentBuilder.java"
1679+
                 "config/builder/impl/DefaultComponentAndConfigurationBuilder.java"
1680+
                 "appender/ConsoleAppender.java" "appender/AsyncAppender.java"
1681+
                 "appender/AppenderLoggingException.java"
1682+
                 "appender/ManagerFactory.java" "appender/AbstractAppender.java"
1683+
                 "appender/AbstractOutputStreamAppender.java"
1684+
                 "appender/OutputStreamManager.java"
1685+
                 "appender/AbstractManager.java" "appender/DefaultErrorHandler.java"
1686+
                 "net/Advertiser.java"
1687+
                 "pattern/ThrowablePatternConverter.java"
1688+
                 "pattern/LogEventPatternConverter.java"
1689+
                 "pattern/AbstractPatternConverter.java"
1690+
                 "pattern/PatternFormatter.java" "pattern/PatternParser.java"
1691+
                 "pattern/RegexReplacement.java" "pattern/FormattingInfo.java"
1692+
                 "pattern/PatternConverter.java" "pattern/LiteralPatternConverter.java"
1693+
                 "pattern/AnsiConverter.java" "pattern/NanoTimePatternConverter.java"
1694+
                 "pattern/ConverterKeys.java" "pattern/ArrayPatternConverter.java"
1695+
                 "pattern/ExtendedThrowablePatternConverter.java"
1696+
                 "selector/ContextSelector.java" "selector/ClassLoaderContextSelector.java"
1697+
                 "layout/PatternLayout.java" "layout/PatternSelector.java"
1698+
                 "layout/AbstractStringLayout.java" "layout/AbstractLayout.java"
1699+
                 "lookup/StrSubstitutor.java" "lookup/Interpolator.java"
1700+
                 "lookup/StrLookup.java" "lookup/MapLookup.java" "lookup/StrMatcher.java"
1701+
                 "lookup/ContextMapLookup.java" "lookup/DateLookup.java"
1702+
                 "lookup/JavaLookup.java" "lookup/MarkerLookup.java"
1703+
                 "lookup/SystemPropertiesLookup.java" "lookup/EnvironmentLookup.java"
1704+
                 "lookup/SystemPropertiesLookup.java" "lookup/Log4jLookup.java"
1705+
                 "lookup/AbstractLookup.java" "lookup/MainMapLookup.java"
1706+
                 "impl/Log4jLogEvent.java" "impl/Log4jContextFactory.java"
1707+
                 "impl/ThrowableProxy.java" "impl/LogEventFactory.java"
1708+
                 "impl/DefaultLogEventFactory.java" "impl/ContextAnchor.java"
1709+
                 "impl/ExtendedStackTraceElement.java" "impl/ExtendedClassInfo.java"
1710+
                 "impl/ThrowableFormatOptions.java"
1711+
                 "jmx/Server.java" "jmx/RingBufferAdmin.java"
1712+
                 "jmx/RingBufferAdminMBean.java" "jmx/AppenderAdmin.java"
1713+
                 "jmx/AsyncAppenderAdmin.java" "jmx/LoggerConfigAdmin.java"
1714+
                 "jmx/ContextSelectorAdmin.java" "jmx/StatusLoggerAdmin.java"
1715+
                 "jmx/LoggerContextAdmin.java" "jmx/AppenderAdminMBean.java"
1716+
                 "jmx/AsyncAppenderAdminMBean.java" "jmx/ContextSelectorAdminMBean.java"
1717+
                 "jmx/LoggerConfigAdminMBean.java" "jmx/LoggerContextAdminMBean.java"
1718+
                 "jmx/StatusLoggerAdminMBean.java"
1719+
                 "filter/CompositeFilter.java" "filter/AbstractFilterable.java"
1720+
                 "filter/Filterable.java"
1721+
                 "util/NameUtil.java" "util/Constants.java" "util/Clock.java"
1722+
                 "util/ClockFactory.java" "util/DummyNanoClock.java" "util/Integers.java"
1723+
                 "util/Loader.java" "util/NanoClock.java" "util/FileUtils.java"
1724+
                 "util/NetUtils.java" "util/ReflectionUtil.java" "util/Cancellable.java"
1725+
                 "util/ShutdownCallbackRegistry.java" "util/NanoClockFactory.java"
1726+
                 "util/Booleans.java" "util/DefaultShutdownCallbackRegistry.java"
1727+
                 "util/Patterns.java" "util/Builder.java" "util/TypeUtil.java"
1728+
                 "util/SystemClock.java" "util/CoarseCachedClock.java"
1729+
                 "util/CachedClock.java" "util/SystemClock.java" "util/Closer.java"
1730+
                 "util/SystemNanoClock.java" "util/OptionConverter.java"
1731+
                 "util/Throwables.java"))))))))
1732+
    (inputs
1733+
     `(("log4j-api" ,java-log4j-api)
1734+
       ("osgi-core" ,java-osgi-core)
1735+
       ("java-lmax-disruptor" ,java-lmax-disruptor)))))
1736+
1737+
(define-public java-log4j-1.2
1738+
  (package
1739+
    (inherit java-log4j-core)
1740+
    (version "1.2.17")
1741+
    (name "java-log4j-1.2")
1742+
    (source (origin
1743+
              (method url-fetch)
1744+
              (uri (string-append "mirror://apache/logging/log4j/" version
1745+
                                  "/log4j-" version ".tar.gz"))
1746+
              (sha256
1747+
               (base32
1748+
                "0qw618mdyg8nih499piqxkgqkvps2hpa03zbnmhlc8z63rvy6a55"))))
1749+
    (arguments
1750+
     `(#:tests? #f ; tests require unpackaged software
1751+
       #:test-dir "src/test"
1752+
       #:source-dir "src/main/java"
1753+
       #:jar-name "log4j-1.2.jar"
1754+
       #:jdk ,icedtea-8))))
1755+
1756+
(define-public java-avalon-logkit
1757+
  (package
1758+
    (name "java-avalon-logkit")
1759+
    (version "2.1")
1760+
    (source (origin
1761+
              (method url-fetch)
1762+
              (uri (string-append "https://archive.apache.org/dist/excalibur/"
1763+
                                  "avalon-logkit/source/avalon-logkit-2.1-src.zip"))
1764+
              (sha256
1765+
               (base32
1766+
                "1gx5xc35w9yzc44brw73ghm17h4dnlai4kgz9sy808mhlfc6x4pz"))
1767+
              (patches
1768+
                (search-patches "java-avalon-logkit-default-datasource.patch"))))
1769+
    (build-system ant-build-system)
1770+
    (arguments
1771+
     `(#:jar-name "java-avalon-logkit.jar"
1772+
       #:source-dir "src/java"
1773+
       #:tests? #f
1774+
       #:jdk ,icedtea-8))
1775+
    (inputs
1776+
     `(("java-mail" ,java-mail)
1777+
       ("java-tomcat" ,java-tomcat)
1778+
       ("java-log4j-1.2" ,java-log4j-1.2)
1779+
       ("java-jboss-jms-api-spec" ,java-jboss-jms-api-spec)))
1780+
    (native-inputs
1781+
     `(("unzip" ,unzip)
1782+
       ("java-junit" ,java-junit)))
1783+
    (home-page "https://excalibur.apache.org/")
1784+
    (synopsis "")
1785+
    (description "")
1786+
    (license license:asl2.0)))
1787+
1788+
(define-public java-velocity
1789+
  (package
1790+
    (name "java-velocity")
1791+
    (version "1.7")
1792+
    (source (origin
1793+
              (method url-fetch)
1794+
              (uri (string-append "mirror://apache/velocity/engine/"
1795+
                                  version "/velocity-" version ".tar.gz"))
1796+
              (sha256
1797+
               (base32
1798+
                "0rk7s04hkrr2k3glccx0yrglzqzj4qbipcrxhglk46yhx92vravc"))
1799+
	      (patches
1800+
            (search-patches "java-velocity-dont-use-werken-xpath.patch"))))
1801+
    (build-system ant-build-system)
1802+
    (arguments
1803+
     `(#:jdk ,icedtea-8
1804+
       #:test-target "test-main"
1805+
       #:tests? #f
1806+
       #:phases
1807+
       (modify-phases %standard-phases
1808+
	     ;(add-before 'configure 'fix-log4j-path
1809+
	     ;  (lambda _
1810+
	     ;    (for-each (lambda (file)
1811+
         ;                (substitute* file
1812+
	     ;                  (("org.apache.log4j") "org.apache.logging.log4j")))
1813+
         ;      '("src/java/org/apache/velocity/runtime/log/Log4JLogChute.java"
1814+
         ;        "src/java/org/apache/velocity/runtime/log/SimpleLog4JLogSystem.java"))))
1815+
         (add-before 'build 'prepare
1816+
           (lambda* (#:key inputs #:allow-other-keys)
1817+
             (delete-file-recursively "lib")
1818+
             (mkdir-p "bin/lib")
1819+
             ;; Don't download anything
1820+
             (substitute* "build/build.xml"
1821+
               ((".*download.xml.*") ""))
1822+
             (chdir "build")))
1823+
         (replace 'install
1824+
           (lambda* (#:key outputs #:allow-other-keys)
1825+
             (let* ((out (assoc-ref outputs "out"))
1826+
                    (dir (string-append out "/share/java")))
1827+
               (mkdir-p dir)
1828+
               (copy-file "../bin/velocity-1.7.jar"
1829+
                          (string-append dir "/velocity-1.7.jar"))))))))
1830+
    (native-inputs
1831+
     `(("javacc" ,java-javacc)
1832+
       ("antlr" ,antlr2)))
1833+
    (propagated-inputs
1834+
     `(("java-commons-collections" ,java-commons-collections)
1835+
       ("java-jakarta-oro" ,java-jakarta-oro)
1836+
       ("java-jdom" ,java-jdom)
1837+
       ("java-tomcat" ,java-tomcat)
1838+
       ("java-avalon-logkit" ,java-avalon-logkit)
1839+
       ;("java-log4j-api" ,java-log4j-api)
1840+
       ;("java-log4j-core" ,java-log4j-core)
1841+
       ("java-log4j-1.2" ,java-log4j-1.2)
1842+
       ("java-commons-logging-minimal" ,java-commons-logging)
1843+
       ("java-commons-lang" ,java-commons-lang)))
1844+
    (home-page "https://velocity.apache.org/")
1845+
    (synopsis "")
1846+
    (description "")
1847+
    (license license:asl2.0)))
1848+
1849+
;; Older version, unmaintained, for jcs.
1850+
(define-public java-commons-httpclient
1851+
  (package
1852+
    (name "java-commons-httpclient")
1853+
    (version "3.1")
1854+
    (source (origin
1855+
              (method url-fetch)
1856+
              (uri (string-append "https://archive.apache.org/dist/httpcomponents/"
1857+
                                  "commons-httpclient/source/commons-httpclient-"
1858+
                                  version "-src.tar.gz"))
1859+
              (sha256
1860+
               (base32
1861+
                "1wlpn3cfy3d4inxy6g7wxcsa8p7sshn6aldk9y4ia3lb879rd97r"))))
1862+
    (arguments
1863+
     `(#:build-target "compile"
1864+
       #:test-target "test"
1865+
       #:tests? #f; error: unmappable character for encoding UTF8
1866+
       #:phases
1867+
       (modify-phases %standard-phases
1868+
         (add-before 'build 'fix-accent
1869+
           (lambda _
1870+
             (for-each (lambda (file)
1871+
                         (with-fluids ((%default-port-encoding "ISO-8859-1"))
1872+
                          (substitute* file
1873+
                            (("\\* @author Ortwin .*") "* @author Ortwin Gluck\n"))))
1874+
               '("src/java/org/apache/commons/httpclient/HttpContentTooLargeException.java"
1875+
                 "src/examples/TrivialApp.java" "src/examples/ClientApp.java"
1876+
                 "src/test/org/apache/commons/httpclient/TestHttps.java"
1877+
                 "src/test/org/apache/commons/httpclient/TestURIUtil2.java"))))
1878+
         (replace 'install
1879+
           (lambda* (#:key outputs #:allow-other-keys)
1880+
             (zero? (system* "ant" "dist"
1881+
                             (string-append "-Ddist.home=" (assoc-ref outputs "out")
1882+
                                            "/share/java"))))))))
1883+
    (propagated-inputs
1884+
     `(("java-commons-logging" ,java-commons-logging)
1885+
       ("java-commons-codec" ,java-commons-codec)))
1886+
    (build-system ant-build-system)
1887+
    (home-page "https://hc.apache.org")
1888+
    (synopsis "")
1889+
    (description "")
1890+
    (license license:asl2.0)))
1891+
1892+
(define-public java-commons-pool
1893+
  (package
1894+
    (name "java-commons-pool")
1895+
    (version "1.6")
1896+
    (source (origin
1897+
              (method url-fetch)
1898+
              (uri (string-append "mirror://apache/commons/pool/source/"
1899+
                                  "commons-pool-" version "-src.tar.gz"))
1900+
              (sha256
1901+
               (base32
1902+
                "0nhrv5lf4a7ixzn7s4sgbw3pkijqj59gkjj0lvdncxl5vkjq5l9i"))))
1903+
    (arguments
1904+
     `(#:build-target "build-jar"
1905+
       #:test-target "test"
1906+
       #:phases
1907+
       (modify-phases %standard-phases
1908+
         (replace 'install
1909+
           (lambda* (#:key outputs #:allow-other-keys)
1910+
             (let ((target (string-append (assoc-ref outputs "out")
1911+
                                          "/share/java")))
1912+
               (install-file (string-append "dist/commons-pool-" ,version "-SNAPSHOT.jar")
1913+
                             (string-append target "/commons-pool-" ,version ".jar"))))))))
1914+
    (build-system ant-build-system)
1915+
    (native-inputs
1916+
     `(("java-junit" ,java-junit)))
1917+
    (home-page "https://commons.apache.org/proper/commons-pool")
1918+
    (synopsis "")
1919+
    (description "")
1920+
    (license license:asl2.0)))
1921+
1922+
(define-public java-commons-pool2
1923+
  (package
1924+
    (name "java-commons-pool2")
1925+
    (version "2.4.2")
1926+
    (source (origin
1927+
              (method url-fetch)
1928+
              (uri (string-append "mirror://apache/commons/pool/source/"
1929+
                                  "commons-pool2-" version "-src.tar.gz"))
1930+
              (sha256
1931+
               (base32
1932+
                "11hbkh9djzm2v486ypykmawf92li7z20xazpk5dp9zsl937s024f"))))
1933+
    (arguments
1934+
     `(#:build-target "build-jar"
1935+
       #:test-target "test"
1936+
       #:tests? #f
1937+
       #:phases
1938+
       (modify-phases %standard-phases
1939+
         (replace 'install
1940+
           (lambda* (#:key outputs #:allow-other-keys)
1941+
             (let ((target (string-append (assoc-ref outputs "out")
1942+
                                          "/share/java")))
1943+
               (install-file (string-append "dist/commons-pool2-" ,version ".jar")
1944+
                             target)))))))
1945+
    (build-system ant-build-system)
1946+
    (inputs
1947+
     `(("cglib" ,java-cglib)))
1948+
    (native-inputs
1949+
     `(("java-junit" ,java-junit)
1950+
       ("java-hamcrest" ,java-hamcrest-core)))
1951+
    (home-page "https://commons.apache.org/proper/commons-pool")
1952+
    (synopsis "")
1953+
    (description "")
1954+
    (license license:asl2.0)))
1955+
1956+
(define-public java-cdi-api
1957+
  (package
1958+
    (name "java-cdi-api")
1959+
    (version "2.0")
1960+
    (source (origin
1961+
              (method url-fetch)
1962+
              (uri (string-append "https://github.com/cdi-spec/cdi/archive/"
1963+
                                  version ".tar.gz"))
1964+
              (sha256
1965+
               (base32
1966+
                "1iv8b8bp07c5kmqic14jsr868vycjv4qv02lf3pkgp9z21mnfg5y"))))
1967+
    (build-system ant-build-system)
1968+
    (arguments
1969+
     `(#:source-dir "api/src/main/java"
1970+
       #:jar-name "java-cdi-api.jar"
1971+
       #:test-dir "api/src/test"
1972+
       #:tests? #f
1973+
       #:jdk ,icedtea-8))
1974+
    (inputs
1975+
     `(("java-javax-inject" ,java-javax-inject)
1976+
       ("javax-el" ,java-jboss-el-api-spec)
1977+
       ("javax-interceptors" ,java-jboss-interceptors-api-spec)))
1978+
    (native-inputs
1979+
     `(("testng" ,java-testng)))
1980+
    (home-page "")
1981+
    (synopsis "")
1982+
    (description "")
1983+
    (license license:asl2.0)))
1984+
1985+
(define-public java-commons-dbcp2
1986+
  (package
1987+
    (name "java-commons-dbcp2")
1988+
    (version "2.1")
1989+
    (source (origin
1990+
              (method url-fetch)
1991+
              (uri (string-append "mirror://apache/commons/dbcp/source/"
1992+
                                  "commons-dbcp2-" version "-src.tar.gz"))
1993+
              (sha256
1994+
               (base32
1995+
                "023p6qlwyj8i75gcycxqi6i9b3rxpzq5pim0l37i8lrsvhhm19z1"))))
1996+
    (arguments
1997+
     `(#:source-dir "src/main/java"
1998+
       #:jar-name "java-commons-dbcp.jar"
1999+
       #:jdk ,icedtea-8
2000+
       #:tests? #f))
2001+
    (inputs
2002+
     `(("java-commons-pool2" ,java-commons-pool2)
2003+
       ("java-commons-logging" ,java-commons-logging)
2004+
       ("java-jboss-transaction-api-spec" ,java-jboss-transaction-api-spec)))
2005+
    (native-inputs
2006+
     `(("java-junit" ,java-junit)))
2007+
    (build-system ant-build-system)
2008+
    (home-page "https://commons.apache.org/proper/commons-dbcp")
2009+
    (synopsis "")
2010+
    (description "")
2011+
    (license license:asl2.0)))
2012+
2013+
(define-public java-commons-dbcp
2014+
  (package
2015+
    (inherit java-commons-dbcp2)
2016+
    (version "1.4")
2017+
    (name "java-commons-dbcp")
2018+
    (source (origin
2019+
              (method url-fetch)
2020+
              (uri (string-append "mirror://apache/commons/dbcp/source/"
2021+
                                  "commons-dbcp-" version "-src.tar.gz"))
2022+
              (sha256
2023+
               (base32
2024+
                "10zjdngdki7bfklikrsr3fq0cmapf4fwc0klzqhi3iwzwx30iwgm"))
2025+
              (patches
2026+
                (search-patches "java-commons-dbcp-fix-abstract.patch"))))
2027+
    (arguments
2028+
     `(#:source-dir "src/java"
2029+
       #:jar-name "java-commons-dbcp.jar"
2030+
       #:jdk ,icedtea-8
2031+
       #:tests? #f))
2032+
    (inputs
2033+
     `(("java-commons-pool" ,java-commons-pool)
2034+
       ("java-commons-logging" ,java-commons-logging)
2035+
       ("java-jboss-transaction-api-spec" ,java-jboss-transaction-api-spec)))))
2036+
    
2037+
2038+
(define-public java-commons-jcs
2039+
  (package
2040+
    (name "java-commons-jcs")
2041+
    (version "2.1")
2042+
    (source (origin
2043+
              (method url-fetch)
2044+
              (uri (string-append "mirror://apache/commons/jcs/source/"
2045+
                                  "commons-jcs-dist-" version "-src.tar.gz"))
2046+
              (sha256
2047+
               (base32
2048+
                "17l78mpxx1qkgp213b91sl69wawv6xzgllr479mygbg76ygwpffv"))))
2049+
    (build-system ant-build-system)
2050+
    (arguments
2051+
     `(#:jar-name "commons-jcs.jar"
2052+
       #:source-dir "commons-jcs-core/src/main/java"
2053+
       #:jdk ,icedtea-8
2054+
       #:tests? #f
2055+
       #:phases
2056+
       (modify-phases %standard-phases
2057+
         (add-before 'build 'prepare
2058+
           (lambda _
2059+
             (substitute* "commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/dsfactory/SharedPoolDataSourceFactory.java"
2060+
                (("commons.dbcp") "commons.dbcp2")
2061+
                ((".*\\.setMaxActive.*") ""))
2062+
             ;; Remove dependency on velocity-tools
2063+
             (delete-file "commons-jcs-core/src/main/java/org/apache/commons/jcs/admin/servlet/JCSAdminServlet.java"))))))
6922064
    (propagated-inputs
6932065
     `(("java-commons-logging-minimal" ,java-commons-logging-minimal)
2066+
       ("java-commons-httpclient" ,java-commons-httpclient)
2067+
       ("java-commons-dbcp" ,java-commons-dbcp2)
6942068
       ("java-velocity" ,java-velocity)))
6952069
    (home-page "https://commons.apache.org/proper/commons-jcs/")
6962070
    (synopsis "")