summaryrefslogtreecommitdiff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm1304
1 files changed, 1304 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 806f13ab89..95fba20e88 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4207,6 +4208,40 @@ allowing the end user to plug in the desired logging framework at deployment
time.")
(license license:expat)))
+(define-public java-slf4j-simple
+ (package
+ (name "java-slf4j-simple")
+ (version "1.7.25")
+ (source (package-source java-slf4j-api))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "slf4j-simple.jar"
+ #:source-dir "slf4j-simple/src/main"
+ #:test-dir "slf4j-simple/src/test"
+ #:phases
+ (modify-phases %standard-phases
+ ;; The tests need some test classes from slf4j-api
+ (add-before 'check 'build-slf4j-api-test-helpers
+ (lambda _
+ ;; Add current dir to CLASSPATH ...
+ (setenv "CLASSPATH"
+ (string-append (getcwd) ":" (getenv "CLASSPATH")))
+ ;; ... and build test helper classes here:
+ (zero?
+ (apply system*
+ `("javac" "-d" "."
+ ,@(find-files "slf4j-api/src/test" ".*\\.java")))))))))
+ (inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)
+ ("java-slf4j-api" ,java-slf4j-api)))
+ (home-page "https://www.slf4j.org/")
+ (synopsis "Simple implementation of simple logging facade for Java")
+ (description "SLF4J binding for the Simple implementation, which outputs
+all events to System.err. Only messages of level INFO and higher are
+printed.")
+ (license license:expat)))
+
(define-public antlr2
(package
(name "antlr2")
@@ -4716,3 +4751,1272 @@ complex transformations and code analysis tools.")
#t)))))
(native-inputs
`(("java-junit" ,java-junit)))))
+
+(define-public java-microemulator-cldc
+ (package
+ (name "java-microemulator-cldc")
+ (version "2.0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/barteo/microemu/archive/"
+ "microemulator_"
+ (string-map (lambda (c) (if (char=? c #\.) #\_ c))
+ version)
+ ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1x1apmz38gkppxnwnygwmi12j54v4p258v8ddzn6dldkk7vak1ll"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "microemulator-cldc.jar"
+ #:source-dir "microemu-cldc/src/main/java"
+ #:tests? #f)); Requires even older software
+ (home-page "https://github.com/barteo/microemu")
+ (synopsis "J2ME CLDC emulator")
+ (description "Microemulator is a Java 2 Micro Edition (J2ME) CLDC/MIDP
+Emulator. It allows to demonstrate MIDlet based applications in web browser
+applet and can be run as a standalone java application.")
+ (license (list license:asl2.0
+ ;; or altenatively:
+ license:lgpl2.1+))))
+
+(define-public java-datanucleus-javax-persistence
+ (package
+ (name "java-datanucleus-javax-persistence")
+ (version "2.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/datanucleus/"
+ "javax.persistence/archive/javax.persistence-"
+ version "-release.tar.gz"))
+ (sha256
+ (base32
+ "11jx0fjwgc2hhbqqgdd6m1pf2fplf9vslppygax0y1z5csnqjhpx"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "java-datanucleus-javax-persistence.jar"
+ #:jdk ,icedtea-8
+ #:source-dir "src/main/java"
+ #:tests? #f)); no tests
+ (home-page "https://github.com/datanucleus/javax.persistence")
+ (synopsis "JPA API")
+ (description "This package contains a clean definition of JPA API intended
+for use with DataNucleus JPA since the JCP haven't provided an official JPA API
+jar. See @url{http://java.net/projects/jpa-spec/downloads} for the specification
+used to generate this API.")
+ (license (list license:edl1.0 license:epl1.0))))
+
+(define-public java-osgi-cmpn
+ (package
+ (name "java-osgi-cmpn")
+ (version "6.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/"
+ "org/osgi/osgi.cmpn/" version "/osgi.cmpn-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "1lmb6xyrmkqdhv1kayf0514rlwq6ypvs4m44ibrck3snp8241wys"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-cmpn.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("annotation" ,java-osgi-annotation)
+ ("core" ,java-osgi-core)
+ ("java-datanucleus-javax-persistence" ,java-datanucleus-javax-persistence)
+ ("microemulator" ,java-microemulator-cldc)
+ ("servlet" ,java-classpathx-servletapi)))
+ (home-page "http://www.osgi.org")
+ (synopsis "Compendium specification module of OSGi framework")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+the compendium specification module, providing interfaces and classes for use
+in compiling bundles.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-service-component-annotations
+ (package
+ (name "java-osgi-service-component-annotations")
+ (version "1.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.service.component.annotations/"
+ version "/org.osgi.service.component.annotations-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "15rq9cmp4fpn74q44m4j35qsqmjf5lx3hcrk6pzvbhc08igic2f0"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-service-component-annotations.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("annotation" ,java-osgi-annotation)))
+ (home-page "http://www.osgi.org")
+ (synopsis "Support annotations for osgi-service-component")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+the support annotations for osgi-service-component.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-dto
+ (package
+ (name "java-osgi-dto")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.dto/" version "/org.osgi.dto-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "0f4bqjzadn0hwk6sd3h5gvbyfp3yci1s6r0v770cc15p0pg627yr"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-dto.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("annotation" ,java-osgi-annotation)))
+ (home-page "http://www.osgi.org")
+ (synopsis "Data Transfer Objects")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+the Data Transfer Objects. It is easily serializable having only public fields
+of primitive types and their wrapper classes, Strings, and DTOs. List, Set,
+Map and array aggregates may also be used. The aggregates must only hold
+objects of the listed types or aggregates.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-resource
+ (package
+ (name "java-osgi-resource")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.resource/"
+ version "/org.osgi.resource-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "0hi0fsc5v99q22bd7lrkvpz1y0ds4w9arjldpwsrcpqvz2js7q2d"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-resource.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("annotation" ,java-osgi-annotation)
+ ("dto" ,java-osgi-dto)))
+ (home-page "http://www.osgi.org")
+ (synopsis "OSGI Resource")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+the definition of common types in osgi packages.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-namespace-contract
+ (package
+ (name "java-osgi-namespace-contract")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.namespace.contract/"
+ version "/org.osgi.namespace.contract-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "1iz4f2i0fvqrlq90ki9nfzcfpvy2av434ri25bglywqssx8mmp36"))))
+ (build-system ant-build-system)
+ (inputs
+ `(("resource" ,java-osgi-resource)
+ ("annotation" ,java-osgi-annotation)))
+ (arguments
+ `(#:jar-name "osgi-namespace-contract.jar"
+ #:tests? #f)); no tests
+ (home-page "http://www.osgi.org")
+ (synopsis "Contract Capability and Requirement Namespace")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+the names for the attributes and directives for a namespace with contracts.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-namespace-extender
+ (package
+ (name "java-osgi-namespace-extender")
+ (version "1.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.namespace.extender/"
+ version "/org.osgi.namespace.extender-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "0jgqiak2i05qv6j3gd33xlaifzzc0ylxxk376v2x0apfg3vvixmz"))))
+ (build-system ant-build-system)
+ (inputs
+ `(("resource" ,java-osgi-resource)
+ ("annotation" ,java-osgi-annotation)))
+ (arguments
+ `(#:jar-name "osgi-namespace-extendent.jar"
+ #:tests? #f)); no tests
+ (home-page "http://www.osgi.org")
+ (synopsis "Extender Capability and Requirement Namespace")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+the names for the attributes and directives for an extender namespace.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-namespace-service
+ (package
+ (name "java-osgi-namespace-service")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.namespace.service/"
+ version "/org.osgi.namespace.service-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "0qmw8n2449nkmm56d1znz9zhazb6ya3vsimd5bf5jg23zzhgl8c8"))))
+ (build-system ant-build-system)
+ (inputs
+ `(("resource" ,java-osgi-resource)
+ ("annotation" ,java-osgi-annotation)))
+ (arguments
+ `(#:jar-name "osgi-namespace-service.jar"
+ #:tests? #f)); no tests
+ (home-page "http://www.osgi.org")
+ (synopsis "Service Capability and Requirement Namespace")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+the names for the attributes and directives for a service namespace.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-util-function
+ (package
+ (name "java-osgi-util-function")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.util.function/"
+ version "/org.osgi.util.function-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "04l7j3hwmmj28w23m7paca0afzncs42j2mdr3liqq8kvp548sc6x"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-util-function.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("annotation" ,java-osgi-annotation)))
+ (home-page "http://www.osgi.org")
+ (synopsis "OSGI Util Function")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+an interface for a function that accepts a single argument and produces a result.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-util-promise
+ (package
+ (name "java-osgi-util-promise")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.util.promise/"
+ version "/org.osgi.util.promise-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "0y34dwiflg1c4ahvkswpf9z02xph2sr9fm04ia5493x3lshpw22c"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-util-promise.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("annotation" ,java-osgi-annotation)
+ ("function" ,java-osgi-util-function)))
+ (home-page "http://www.osgi.org")
+ (synopsis "Promise of a value")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+an interface and utilitary classes for promises. A Promise represents a future
+value. It handles the interactions for asynchronous processing.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-service-metatype-annotations
+ (package
+ (name "java-osgi-service-metatype-annotations")
+ (version "1.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.service.metatype.annotations/"
+ version "/org.osgi.service.metatype.annotations-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "12rwm3349wk80vm88rcdgs4435m4jxkpkj5mrx326skkz2c6hyw6"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-service-metatype-annotations.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("annotation" ,java-osgi-annotation)))
+ (home-page "http://www.osgi.org")
+ (synopsis "Support annotations for metatype")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+the support annotations for metatype.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-service-repository
+ (package
+ (name "java-osgi-service-repository")
+ (version "1.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.service.repository/"
+ version "/org.osgi.service.repository-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "1k41mhg7b58pd8nsghr2qwcjrxdnf1p9spsw9v11k4257g6rl06n"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-service-repository.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("annotation" ,java-osgi-annotation)
+ ("promise" ,java-osgi-util-promise)
+ ("resource" ,java-osgi-resource)))
+ (home-page "http://www.osgi.org")
+ (synopsis "OSGI service repository")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+a repository service that contains resources.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-framework
+ (package
+ (name "java-osgi-framework")
+ (version "1.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.framework/" version "/org.osgi.framework-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "1lwp2zfad3rybcc6q9bwz8xsgkc92ypzy5p6x54387f1qj65m73s"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-framework.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("annotation" ,java-osgi-annotation)
+ ("resource" ,java-osgi-resource)
+ ("dto" ,java-osgi-dto)))
+ (home-page "http://www.osgi.org")
+ (synopsis "OSGi framework")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-service-log
+ (package
+ (name "java-osgi-service-log")
+ (version "1.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.service.log/"
+ version "/org.osgi.service.log-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "1029j30dzcwializzca0j3fkhwwz08kmmsha5agw1iccscimj6r0"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-service-log.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("java-osgi-framework" ,java-osgi-framework)))
+ (home-page "http://www.osgi.org")
+ (synopsis "Provides methods for bundles to write messages to the log")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+the log service.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-service-jdbc
+ (package
+ (name "java-osgi-service-jdbc")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.service.jdbc/"
+ version "/org.osgi.service.jdbc-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "11iln5v7bk469cgb9ddkrz9sa95b3733gqgaqw9xf5g6wq652yjz"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-service-jdbc.jar"
+ #:tests? #f)); no tests
+ (home-page "http://www.osgi.org")
+ (synopsis "Factory for JDBC connection factories")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+a factory for JDBC connection factories. There are 3 preferred connection
+factories for getting JDBC connections:
+
+@itemize
+@item @code{javax.sql.DataSource};
+@item @code{javax.sql.ConnectionPoolDataSource};
+@item @code{javax.sql.XADataSource}.
+@end itemize")
+ (license license:asl2.0)))
+
+(define-public java-osgi-service-resolver
+ (package
+ (name "java-osgi-service-resolver")
+ (version "1.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.service.resolver/"
+ version "/org.osgi.service.resolver-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "1dzqn1ryfi2rq4zwsgp44bmj2wlfydjg1qbxw2b0z4xdjjy55vxd"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-service-resolver.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("annotation" ,java-osgi-annotation)
+ ("resource" ,java-osgi-resource)))
+ (home-page "http://www.osgi.org")
+ (synopsis "OSGI Resolver service")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+a resolver service that resolves the specified resources in the context supplied
+by the caller.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-util-tracker
+ (package
+ (name "java-osgi-util-tracker")
+ (version "1.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.util.tracker/"
+ version "/org.osgi.util.tracker-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "0c4fh9vxwzsx59r8dygda0gq2gx3z5vfhc3jsphlqwf5w0h403lz"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-util-tracker.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("framework" ,java-osgi-framework)
+ ("annotation" ,java-osgi-annotation)))
+ (home-page "http://www.osgi.org")
+ (synopsis "Bundle tracking")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+bundle tracking utility classes.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-service-cm
+ (package
+ (name "java-osgi-service-cm")
+ (version "1.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.service.cm/"
+ version "/org.osgi.service.cm-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "1z8kap48y3xi0ggj8v6czglfnpnd94mmismgi2wbqhj1nl5fzbp6"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-service-cm.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("framework" ,java-osgi-framework)
+ ("annotation" ,java-osgi-annotation)))
+ (home-page "http://www.osgi.org")
+ (synopsis "OSGI Configuration Management")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+utility classes for the configuration of services.")
+ (license license:asl2.0)))
+
+(define-public java-osgi-service-packageadmin
+ (package
+ (name "java-osgi-service-packageadmin")
+ (version "1.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://central.maven.org/maven2/org/osgi/"
+ "org.osgi.service.packageadmin/"
+ version "/org.osgi.service.packageadmin-"
+ version "-sources.jar"))
+ (sha256
+ (base32
+ "041mpxzi7g36wmcily6y4ccn3jx15akpdy8gmhyb7m98x7qfvn52"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "osgi-service-packageadmin.jar"
+ #:tests? #f)); no tests
+ (inputs
+ `(("framework" ,java-osgi-framework)))
+ (home-page "http://www.osgi.org")
+ (synopsis "OSGI Package Administration")
+ (description
+ "OSGi, for Open Services Gateway initiative framework, is a module system
+and service platform for the Java programming language. This package contains
+the packageadmin service.")
+ (license license:asl2.0)))
+
+(define-public java-ops4j-base-lang
+ (package
+ (name "java-ops4j-base-lang")
+ (version "1.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ops4j/org.ops4j.base/"
+ "archive/base-" version ".tar.gz"))
+ (sha256
+ (base32
+ "18hl3lpchgpv8yh5rlk39l2gif5dlfgb8gxjmncf39pr2dprkniw"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "java-ops4j-base-lang.jar"
+ #:source-dir "ops4j-base-lang/src/main/java"
+ #:tests? #f; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'add-test-file
+ (lambda _
+ ;; That file is required by a test in ops4j-pax-exam-core-spi
+ (mkdir-p "build/classes/META-INF/maven/org.ops4j.base/ops4j-base-lang")
+ (with-output-to-file "build/classes/META-INF/maven/org.ops4j.base/ops4j-base-lang/pom.properties"
+ (lambda _
+ (display
+ (string-append
+ "version=" ,version "\n"
+ "groupId=org.ops4j.base"
+ "artifactId=ops4j-base-lang\n")))))))))
+ (home-page "https://ops4j1.jira.com/wiki/spaces/base/overview")
+ (synopsis "Utility classes and extensions to be used in OPS4J projects")
+ (description "OPS4J stands for Open Participation Software for Java. This
+package contains utilities and extensions related to @code{java.lang}.")
+ (license license:asl2.0)))
+
+(define-public java-ops4j-base-monitors
+ (package
+ (inherit java-ops4j-base-lang)
+ (name "java-ops4j-base-monitors")
+ (arguments
+ `(#:jar-name "java-ops4j-base-monitors.jar"
+ #:source-dir "ops4j-base-monitors/src/main/java"
+ #:tests? #f)); no tests
+ (inputs
+ `(("lang" ,java-ops4j-base-lang)))
+ (description "OPS4J stands for Open Participation Software for Java. This
+package contains utilities and extensions related to monitoring.")))
+
+(define-public java-ops4j-base-io
+ (package
+ (inherit java-ops4j-base-lang)
+ (name "java-ops4j-base-io")
+ (arguments
+ `(#:jar-name "java-ops4j-base-io.jar"
+ #:source-dir "ops4j-base-io/src/main/java"
+ #:test-dir "ops4j-base-io/src/test"
+ #:test-exclude
+ (list "**/ListerTest.java")))
+ (inputs
+ `(("lang" ,java-ops4j-base-monitors)
+ ("lang" ,java-ops4j-base-lang)))
+ (native-inputs
+ `(("junit" ,java-junit)
+ ("hamcrest" ,java-hamcrest-core)))
+ (description "OPS4J stands for Open Participation Software for Java. This
+package contains utilities and extensions related to handling streams and files.")))
+
+(define-public java-ops4j-base-util
+ (package
+ (inherit java-ops4j-base-lang)
+ (name "java-ops4j-base-util")
+ (arguments
+ `(#:jar-name "java-ops4j-base-util.jar"
+ #:source-dir "ops4j-base-util/src/main/java"
+ #:test-dir "ops4j-base-util/src/test"))
+ (inputs
+ `(("lang" ,java-ops4j-base-lang)))
+ (native-inputs
+ `(("junit" ,java-junit)))
+ (description "OPS4J stands for Open Participation Software for Java. This
+package contains utilities and extensions related to environment, i18n and
+mime types.")))
+
+(define-public java-ops4j-base-util-property
+ (package
+ (inherit java-ops4j-base-lang)
+ (name "java-ops4j-base-util-property")
+ (arguments
+ `(#:jar-name "java-ops4j-base-util-property.jar"
+ #:source-dir "ops4j-base-util-property/src/main/java"
+ #:tests? #f)); no tests
+ (inputs
+ `(("lang" ,java-ops4j-base-lang)
+ ("util" ,java-ops4j-base-util)))
+ (description "OPS4J stands for Open Participation Software for Java. This
+package contains utilities and extensions related to resolving properties from
+different sources.")))
+
+(define-public java-ops4j-base-store
+ (package
+ (inherit java-ops4j-base-lang)
+ (name "java-ops4j-base-store")
+ (arguments
+ `(#:jar-name "java-ops4j-base-store.jar"
+ #:source-dir "ops4j-base-store/src/main/java"
+ #:tests? #f)); no tests
+ (inputs
+ `(("lang" ,java-ops4j-base-lang)
+ ("slf4j" ,java-slf4j-api)
+ ("io" ,java-ops4j-base-io)))
+ (description "OPS4J stands for Open Participation Software for Java. This
+package contains utilities for storing and retrieving data from an
+@code{InputStream}.")))
+
+(define-public java-ops4j-base-spi
+ (package
+ (inherit java-ops4j-base-lang)
+ (name "java-ops4j-base-spi")
+ (arguments
+ `(#:jar-name "java-ops4j-base-spi.jar"
+ #:source-dir "ops4j-base-spi/src/main/java"
+ #:test-dir "ops4j-base-spi/src/test"))
+ (native-inputs
+ `(("junit" ,java-junit)
+ ("hamcrest" ,java-hamcrest-core)))
+ (description "OPS4J stands for Open Participation Software for Java. This
+package contains utilities for obtaining services via the Java SE 6
+@code{ServiceLoader}.")))
+
+(define-public java-aqute-bnd-annotation
+ (package
+ (name "java-aqute-bnd-annotation")
+ (version "3.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/bndtools/bnd/archive/"
+ version ".REL.tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "09vgb6axikbz66zi9falijbnzh1qnp9ysfns123dmzdb01cbza9q"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "java-aqute-bnd-annotation.jar"
+ #:source-dir "biz.aQute.bnd.annotation/src"
+ #:tests? #f)); empty test dir
+ (home-page "http://bnd.bndtools.org/")
+ (synopsis "Tools for OSGi")
+ (description "Bnd is a swiss army knife for OSGi, it creates manifest
+headers based on analyzing the class code, it verifies the project settings,
+it manages project dependencies, gives diffs jars, and much more.")
+ (license license:asl2.0)))
+
+(define-public java-aqute-libg
+ (package
+ (inherit java-aqute-bnd-annotation)
+ (name "java-aqute-libg")
+ (arguments
+ `(#:jar-name "java-aqute-libg.jar"
+ #:source-dir "aQute.libg/src"
+ #:tests? #f)); FIXME: tests are in "aQute.libg/test", not in a java directory
+ (inputs
+ `(("slf4j" ,java-slf4j-api)
+ ("osgi-annot" ,java-osgi-annotation)
+ ("java-osgi-cmpn" ,java-osgi-cmpn)
+ ("osgi" ,java-osgi-core)))))
+
+(define-public java-aqute-bndlib
+ (package
+ (inherit java-aqute-bnd-annotation)
+ (name "java-aqute-bndlib")
+ (arguments
+ `(#:jar-name "java-bndlib.jar"
+ #:source-dir "biz.aQute.bndlib/src"
+ #:tests? #f)); no tests
+ (inputs
+ `(("slf4j" ,java-slf4j-api)
+ ("osgi-annot" ,java-osgi-annotation)
+ ("java-aqute-libg" ,java-aqute-libg)
+ ("java-aqute-bnd-annotation" ,java-aqute-bnd-annotation)
+ ("java-osgi-service-component-annotations" ,java-osgi-service-component-annotations)
+ ("java-osgi-service-repository" ,java-osgi-service-repository)
+ ("java-osgi-service-log" ,java-osgi-service-log)
+ ("java-osgi-service-metatype-annotations" ,java-osgi-service-metatype-annotations)
+ ("java-osgi-namespace-contract" ,java-osgi-namespace-contract)
+ ("java-osgi-namespace-extender" ,java-osgi-namespace-extender)
+ ("java-osgi-namespace-service" ,java-osgi-namespace-service)
+ ("promise" ,java-osgi-util-promise)
+ ("osgi" ,java-osgi-core)))))
+
+(define-public java-ops4j-pax-tinybundles
+ (package
+ (name "java-ops4j-pax-tinybundles")
+ (version "2.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ops4j/org.ops4j.pax.tinybundles/"
+ "archive/tinybundles-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0y0gq3pvv0iir2b885lmlwnvr724vv7vklzhhr4fs27d7mdkj871"))))
+ (arguments
+ `(#:jar-name "java-ops4j-pax-tinybundles.jar"
+ #:source-dir "src/main/java"
+ #:test-exclude
+ ;; Abstract base classes for other tests
+ (list "**/BndTest.java" "**/CoreTest.java")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-version
+ (lambda _
+ ;; This test has a reference to an old version of bndlib we are not
+ ;; packaging. It uses the version referenced in pom.xml. We replace
+ ;; it with our own version.
+ (substitute* "src/test/java/org/ops4j/pax/tinybundles/bnd/BndTest.java"
+ (("2.4.0.201411031534") "3.4.0")))))))
+ (inputs
+ `(("lang" ,java-ops4j-base-lang)
+ ("io" ,java-ops4j-base-io)
+ ("store" ,java-ops4j-base-store)
+ ("slf4j" ,java-slf4j-api)
+ ("libg" ,java-aqute-libg)
+ ("bndlib" ,java-aqute-bndlib)))
+ (native-inputs
+ `(("junit" ,java-junit)
+ ("hamcrest" ,java-hamcrest-core)
+ ("log4j" ,java-log4j-api)
+ ("bndannotation" ,java-aqute-bnd-annotation)
+ ("framework" ,java-osgi-framework)))
+ (build-system ant-build-system)
+ (home-page "https://ops4j1.jira.com/wiki/spaces/ops4j/pages/12060312/Tinybundles")
+ (synopsis "Java APIs to create OSGi related artifacts")
+ (description "Tinybundles is all about creating OSGi related artifacts like
+Bundles, Fragments and Deployment Packages with Java Api. It is very convinient
+to create such artifacts on-the-fly inside Tests (like in Pax Exam). On the
+other hand, this library can be a foundation of real end user tools that need
+to create those artifacts.")
+ (license license:asl2.0)))
+
+(define-public java-ops4j-pax-exam-core
+ (package
+ (name "java-ops4j-pax-exam-core")
+ (version "4.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ops4j/org.ops4j.pax.exam2/"
+ "archive/exam-reactor-" version ".tar.gz"))
+ (sha256
+ (base32
+ "08mzw8nkah3rj3vznlplnawspxhp61zgvb44ifqa1rni1cvbms2g"))))
+ (arguments
+ `(#:jar-name "java-ops4j-pax-exam-core.jar"
+ #:source-dir "core/pax-exam/src/main/java"
+ #:test-dir "core/pax-exam/src/test"))
+ (inputs
+ `(("slf4j" ,java-slf4j-api)
+ ("lang" ,java-ops4j-base-lang)
+ ("io" ,java-ops4j-base-io)
+ ("util-property" ,java-ops4j-base-util-property)
+ ("util-store" ,java-ops4j-base-store)
+ ("java-osgi-core" ,java-osgi-core)))
+ (native-inputs
+ `(("junit" ,java-junit)
+ ("hamcrest" ,java-hamcrest-core)))
+ (build-system ant-build-system)
+ (home-page "https://ops4j1.jira.com/wiki/spaces/PAXEXAM4/overview")
+ (synopsis "In-Container Testing for OSGi, Java EE and CDI")
+ (description "Pax Exam creates OSGi bundles for testing purposes. It lets
+the user take control of the OSGi framework, the test framework (e.g. JUnit) and
+the system under test at the same time.")
+ (license license:asl2.0)))
+
+(define-public java-ops4j-pax-exam-core-spi
+ (package
+ (inherit java-ops4j-pax-exam-core)
+ (name "java-ops4j-pax-exam-core-spi")
+ (arguments
+ `(#:jar-name "java-ops4j-pax-exam-spi.jar"
+ #:source-dir "src/main/java"
+ #:test-exclude
+ (list
+ ;; Abstract base class, not a test
+ "**/BaseStagedReactorTest.java"
+ ;; Depends on org.mortbay.jetty.testwars:test-war-dump
+ "**/WarBuilderTest.java")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'chdir
+ (lambda _
+ ;; Tests assume we are in this directory
+ (chdir "core/pax-exam-spi")))
+ (add-before 'check 'fix-tests
+ (lambda _
+ ;; One test checks that this file is present.
+ (mkdir-p "build/classes/META-INF/maven/org.ops4j.pax.exam/pax-exam-spi")
+ (with-output-to-file
+ "build/classes/META-INF/maven/org.ops4j.pax.exam/pax-exam-spi/pom.properties"
+ (lambda _
+ (display
+ (string-append "artifactId = pax-exam-spi\n"
+ "version = " ,(package-version java-ops4j-pax-exam-core-spi)))))
+ ;; Maven puts compilation results in the target directory, while we
+ ;; put them in the build directory.
+ (substitute* '("src/test/java/org/ops4j/pax/exam/spi/war/WarBuilderTest.java"
+ "src/test/java/org/ops4j/pax/exam/spi/war/WarTestProbeBuilderTest.java"
+ "src/test/java/org/ops4j/pax/exam/spi/war/ZipBuilderTest.java")
+ (("target") "build"))
+ ;; One test is expected to fail, but it doesn't throw the expected exception
+ (substitute* "src/test/java/org/ops4j/pax/exam/spi/reactors/BaseStagedReactorTest.java"
+ (("AssertionError") "IllegalArgumentException")))))))
+ (inputs
+ `(("java-ops4j-pax-exam-core" ,java-ops4j-pax-exam-core)
+ ("lang" ,java-ops4j-base-lang)
+ ("monitors" ,java-ops4j-base-monitors)
+ ("store" ,java-ops4j-base-store)
+ ("io" ,java-ops4j-base-io)
+ ("spi" ,java-ops4j-base-spi)
+ ("osgi" ,java-osgi-core)
+ ("slf4j" ,java-slf4j-api)
+ ("tinybundles" ,java-ops4j-pax-tinybundles)))
+ (native-inputs
+ `(("mockito" ,java-mockito-1)
+ ("junit" ,java-junit)
+ ("hamcrest" ,java-hamcrest-core)
+ ("cglib" ,java-cglib)
+ ("objenesis" ,java-objenesis)
+ ("asm" ,java-asm)))))
+
+(define-public java-ops4j-pax-exam-core-junit
+ (package
+ (inherit java-ops4j-pax-exam-core)
+ (name "java-ops4j-pax-exam-core-junit")
+ (arguments
+ `(#:jar-name "ops4j-pax-exam-core-junit.jar"
+ #:source-dir "drivers/pax-exam-junit4/src/main/java"
+ #:tests? #f)); no tests
+ (inputs
+ `(("junit" ,java-junit)
+ ("slf4j" ,java-slf4j-api)
+ ("core" ,java-ops4j-pax-exam-core)
+ ("spi" ,java-ops4j-pax-exam-core-spi)))
+ (native-inputs '())))
+
+(define-public java-fasterxml-jackson-annotations
+ (package
+ (name "java-fasterxml-jackson-annotations")
+ (version "2.9.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/FasterXML/"
+ "jackson-annotations/archive/"
+ "jackson-annotations-" version ".tar.gz"))
+ (sha256
+ (base32
+ "005ksgqx2ds3zdmlvbcmmz82y28b1mx0i9bpvprim1jaddbba0bd"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jackson-annotations.jar"
+ #:source-dir "src/main/java"
+ #:test-dir "src/test"))
+ (native-inputs
+ `(("junit" ,java-junit)))
+ (home-page "https://github.com/FasterXML/jackson-annotations")
+ (synopsis "General purpose annotations for the Jackson Data Processor")
+ (description "This package contains general purpose annotations for the
+Jackson Data Processor, used on value and handler types. The only annotations
+not included are ones that require dependency to the Databind package.")
+ (license license:asl2.0)))
+
+(define-public java-fasterxml-jackson-core
+ (package
+ (name "java-fasterxml-jackson-core")
+ (version "2.9.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/FasterXML/"
+ "jackson-core/archive/"
+ "jackson-core-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1sdfp74zvlh4xr5h5bj87yjlp6kny3i8ai9m0q3xs7f8hvmxpx09"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jackson-core.jar"
+ #:source-dir "src/main/java"
+ #:test-dir "src/test"
+ #:test-exclude
+ (list
+ ;; Expected failure. pom.xml excludes these
+ "**/failing/**"
+ ;; Base classes that have no constructor for junit
+ "**/BaseTest.java"
+ "**/ConcurrencyReadTest.java"
+ "**/ManualCharAccessTest.java"
+ "**/ManualCharAccessTest.java"
+ "**/TrailingCommasTest.java"
+ "**/AsyncMissingValuesInObjectTest.java"
+ "**/AsyncMissingValuesInArrayTest.java")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'generate-PackageVersion.java
+ (lambda _
+ (let* ((out "src/main/java/com/fasterxml/jackson/core/json/PackageVersion.java")
+ (in (string-append out ".in")))
+ (copy-file in out)
+ (substitute* out
+ (("@package@") "com.fasterxml.jackson.core.json")
+ (("@projectversion@") ,version)
+ (("@projectgroupid@") "com.fasterxml.jackson.core")
+ (("@projectartifactid@") "jackson-core")))))
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "src/main/resources"
+ "build/classes")))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (copy-recursively "src/test/resources"
+ "build/test-classes"))))))
+ (native-inputs
+ `(("junit" ,java-junit)
+ ("hamcrest" ,java-hamcrest-core)))
+ (home-page "https://github.com/FasterXML/jackson-core")
+ (synopsis "")
+ (description "")
+ (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
+
+(define-public java-fasterxml-jackson-databind
+ (package
+ (name "java-fasterxml-jackson-databind")
+ (version "2.9.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/FasterXML/"
+ "jackson-databind/archive/"
+ "jackson-databind-" version ".tar.gz"))
+ (sha256
+ (base32
+ "02xrbj6g7pzybq8q33xmpf7cxfapk6z6lgxvig7d38fijz400lji"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jackson-databind.jar"
+ #:source-dir "src/main/java"
+ #:tests? #f; requires javax.measures for which I can't find a free implementation
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'generate-PackageVersion.java
+ (lambda _
+ (let* ((out "src/main/java/com/fasterxml/jackson/databind/cfg/PackageVersion.java")
+ (in (string-append out ".in")))
+ (copy-file in out)
+ (substitute* out
+ (("@package@") "com.fasterxml.jackson.databind.cfg")
+ (("@projectversion@") ,version)
+ (("@projectgroupid@") "com.fasterxml.jackson.databind")
+ (("@projectartifactid@") "jackson-databind")))))
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "src/main/resources" "build/classes"))))))
+ (inputs
+ `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations)
+ ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)))
+ (home-page "https://github.com/FasterXML/jackson-databind")
+ (synopsis "Data-binding functionality and tree-model for the Jackson Data Processor")
+ (description "This package contains the general-purpose data-binding
+functionality and tree-model for Jackson Data Processor. It builds on core
+streaming parser/generator package, and uses Jackson Annotations for
+configuration.")
+ (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
+
+(define-public java-fasterxml-jackson-modules-base-jaxb
+ (package
+ (name "java-fasterxml-jackson-modules-base-jaxb")
+ (version "2.9.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/FasterXML/"
+ "jackson-modules-base/archive/"
+ "jackson-modules-base-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0bj2pzvycnj3ysbcfa6xl38dmvnp01mnjfcb9jyhv503fch2iv44"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jackson-modules-base-jaxb.jar"
+ #:source-dir "jaxb/src/main/java"
+ #:test-dir "jaxb/src/test"
+ #:test-exclude
+ ;; Base class for tests
+ (list "**/BaseJaxbTest.java")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'generate-PackageVersion.java
+ (lambda _
+ (let* ((out (string-append "jaxb/src/main/java/com/fasterxml/"
+ "jackson/module/jaxb/PackageVersion.java"))
+ (in (string-append out ".in")))
+ (copy-file in out)
+ (substitute* out
+ (("@package@") "com.fasterxml.jackson.module.jaxb")
+ (("@projectversion@") ,version)
+ (("@projectgroupid@") "com.fasterxml.jackson.module.jaxb")
+ (("@projectartifactid@") "jackson-module-jaxb")))))
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "jaxb/src/main/resources" "build/classes"))))))
+ (inputs
+ `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations)
+ ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)
+ ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind)))
+ (native-inputs
+ `(("java-junit" ,java-junit)))
+ (home-page "https://github.com/FasterXML/jackson-modules-base")
+ (synopsis "Jaxb annotations jackson module")
+ (description "This package is the jaxb annotations module for jackson.")
+ (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
+
+(define-public java-snakeyaml
+ (package
+ (name "java-snakeyaml")
+ (version "1.18")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://bitbucket.org/asomov/snakeyaml/get/v"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0rf5ha6w0waz50jz2479jsrbgmd0dnx0gs337m126j5z7zlmg7mg"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "java-snakeyaml.jar"
+ #:source-dir "src/main/java"
+ ;; Tests require velocity, a cyclic dependency, and
+ ;; java-spring-framework-context which is not packaged.
+ #:tests? #f))
+ (home-page "https://bitbucket.org/asomov/snakeyaml")
+ (synopsis "YAML processor")
+ (description "SnakeYAML is a YAML processor for the Java Virtual Machine.")
+ (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
+
+(define-public java-fasterxml-jackson-dataformat-yaml
+ (package
+ (name "java-fasterxml-jackson-dataformat-yaml")
+ (version "2.9.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/FasterXML/"
+ "jackson-dataformats-text/archive/"
+ "jackson-dataformats-text-" version ".tar.gz"))
+ (sha256
+ (base32
+ "140fwcafv05zbh2ppa6z533dzmfcvzbdxf0dbpbyzqvd84v2vhl2"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jackson-dataformat-yaml.jar"
+ #:source-dir "yaml/src/main/java"
+ #:test-dir "yaml/src/test"
+ #:test-exclude (list "**/failing/**.java")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'generate-PackageVersion.java
+ (lambda _
+ (let* ((out "yaml/src/main/java/com/fasterxml/jackson/dataformat/yaml/PackageVersion.java")
+ (in (string-append out ".in")))
+ (copy-file in out)
+ (substitute* out
+ (("@package@") "com.fasterxml.jackson.dataformat.yaml")
+ (("@projectversion@") ,version)
+ (("@projectgroupid@") "com.fasterxml.jackson.dataformat.yaml")
+ (("@projectartifactid@") "jackson-dataformat-yaml"))))))))
+ (inputs
+ `(("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations)
+ ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)
+ ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind)
+ ("java-snakeyaml" ,java-snakeyaml)))
+ (native-inputs
+ `(("junit" ,java-junit)
+ ("hamcrest" ,java-hamcrest-core)
+ ("java-ops4j-pax-exam-core-spi" ,java-ops4j-pax-exam-core-spi)
+ ("java-ops4j-pax-exam-core-junit" ,java-ops4j-pax-exam-core-junit)
+ ("java-ops4j-pax-exam" ,java-ops4j-pax-exam-core)))
+ (home-page "https://github.com/FasterXML/jackson-dataformats-text")
+ (synopsis "Yaml backend for Jackson")
+ (description "Dataformat backends are used to support format alternatives
+to JSON, supported by default. This is done by sub-classing Jackson core
+abstractions.")
+ (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
+
+(define-public java-stax2-api
+ (package
+ (name "java-stax2-api")
+ (version "4.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/FasterXML/stax2-api/archive/"
+ "stax2-api-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1amc1si0l0hyyw2sawmnzy4hkna3z6fp195y4nm5m9wb9ld5awkq"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "java-stax2-api.jar"
+ #:source-dir "src/main/java"
+ #:tests? #f)); no tests
+ (home-page "https://github.com/FasterXML/stax2-api")
+ (synopsis "Stax2 API")
+ (description "Stax2 API is an extension to basic Stax 1.0 API that adds
+significant new functionalities, such as full-featured bi-direction validation
+interface and high-performance Typed Access API.")
+ (license license:bsd-2)))
+
+(define-public java-woodstox-core
+ (package
+ (name "java-woodstox-core")
+ (version "5.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/FasterXML/woodstox/archive/"
+ "woodstox-core-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1i7pdgb8jbw6gdy5kmm0l6rz109n2ns92pqalpyp24vb8vlvdfd4"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "woodstox.jar"
+ #:test-exclude
+ (list "**/Base*.java" "failing/**")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'remove-msv-dep
+ (lambda _
+ ;; we don't need osgi, and it depends on msv
+ (delete-file-recursively "src/main/java/com/ctc/wstx/osgi")
+ ;; msv's latest release is from 2011 and we don't need it
+ (delete-file-recursively "src/main/java/com/ctc/wstx/msv")
+ (delete-file-recursively "src/test/java/wstxtest/osgi")
+ (delete-file-recursively "src/test/java/wstxtest/msv")))
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "src/main/resources" "build/classes"))))))
+ (inputs
+ `(("stax2" ,java-stax2-api)))
+ (native-inputs
+ `(("junit" ,java-junit)))
+ (home-page "https://github.com/FasterXML/woodstox")
+ (synopsis "Stax XML API implementation")
+ (description "Woodstox is a stax XML API implementation.")
+ (license license:asl2.0)))
+
+(define-public java-fasterxml-jackson-dataformat-xml
+ (package
+ (name "java-fasterxml-jackson-dataformat-xml")
+ (version "2.9.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/FasterXML/"
+ "jackson-dataformat-xml/archive/"
+ "jackson-dataformat-xml-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0x3m9n4kwclcyvxhxjx654qpjza4crphml1q2392qpnbfydx6lnh"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jackson-dataformat-xml.jar"
+ #:source-dir "src/main/java"
+ #:test-exclude
+ (list "**/failing/**")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'generate-PackageVersion.java
+ (lambda _
+ (let* ((out "src/main/java/com/fasterxml/jackson/dataformat/xml/PackageVersion.java")
+ (in (string-append out ".in")))
+ (copy-file in out)
+ (newline)
+ (substitute* out
+ (("@package@") "com.fasterxml.jackson.dataformat.xml")
+ (("@projectversion@") ,version)
+ (("@projectgroupid@") "com.fasterxml.jackson.dataformat.xml")
+ (("@projectartifactid@") "jackson-dataformat-xml")))))
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "src/main/resources" "build/classes"))))))
+ (inputs
+ `(("jackson-annotations" ,java-fasterxml-jackson-annotations)
+ ("jackson-core" ,java-fasterxml-jackson-core)
+ ("jackson-modules-base-jaxb" ,java-fasterxml-jackson-modules-base-jaxb)
+ ("jackson-databind" ,java-fasterxml-jackson-databind)
+ ("stax2-api" ,java-stax2-api)
+ ("woodstox" ,java-woodstox-core)))
+ (native-inputs
+ `(("junit" ,java-junit)
+ ("hamcrest" ,java-hamcrest-core)))
+ (home-page "https://github.com/FasterXML/jackson-dataformat-xml")
+ (synopsis "Read and write XML")
+ (description "This package contains Jackson extension component for reading
+and writing XML encoded data.
+
+Further, the goal is to emulate how JAXB data-binding works with \"Code-first\"
+approach (that is, no support is added for \"Schema-first\" approach). Support
+for JAXB annotations is provided by JAXB annotation module; this module
+provides low-level abstractions (@code{JsonParser}, @code{JsonGenerator},
+@code{JsonFactory}) as well as small number of higher level overrides needed to
+make data-binding work.")
+ (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing