gnu: Add java-joda-time.

* gnu/packages/java.scm (java-joda-time): New variable.
This commit is contained in:
Julien Lepiller 2017-11-18 21:48:44 +01:00
parent d57fd728d7
commit 0158ea8a82
No known key found for this signature in database
GPG key ID: 43111F4520086A0C

View file

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