summaryrefslogtreecommitdiff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2017-11-18 21:48:44 +0100
committerJulien Lepiller <julien@lepiller.eu>2018-02-10 19:03:54 +0100
commit0158ea8a82bf60555665addc17dc8895bf4efe36 (patch)
tree79fcc25c1505f13bd7a2d22dfcb2b9a005d2b7b0 /gnu/packages/java.scm
parentd57fd728d7df0c992d5f0420fbd61eea9150d705 (diff)
gnu: Add java-joda-time.
* gnu/packages/java.scm (java-joda-time): New variable.
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm64
1 files changed, 64 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e73cd3de52..0c8c2abdd9 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8114,3 +8114,67 @@ Dependency Injection (CDI).")
conversion between Objects and Strings. It is not intended to tackle the
wider problem of Object to Object transformation.")
(license license:asl2.0)))
+
+(define-public java-joda-time
+ (package
+ (name "java-joda-time")
+ (version "2.9.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/JodaOrg/joda-time/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1i9x91mi7yg2pasl0k3912f1pg46n37sps6rdb0v1gs8hj9ppwc1"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "java-joda-time.jar"
+ #:source-dir "src/main/java"
+ #:test-include (list "**/Test*.java")
+ ;; There is no runnable test in these files
+ #:test-exclude (list "**/Test*Chronology.java" "**/Test*Field.java")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-resources
+ (lambda _
+ (mkdir-p "build/classes/org/joda/time/tz/data")
+ (mkdir-p "build/classes/org/joda/time/format")
+ ;; This will produce an exception, but it's all right.
+ (zero? (system* "java" "-cp"
+ (string-append "build/classes:" (getenv "CLASSPATH"))
+ "org.joda.time.tz.ZoneInfoCompiler"
+ "-src" "src/main/java/org/joda/time/tz/src"
+ "-dst" "build/classes/org/joda/time/tz/data"
+ "africa" "antarctica" "asia" "australasia"
+ "europe" "northamerica" "southamerica"
+ "pacificnew" "etcetera" "backward" "systemv"))
+ (for-each (lambda (f)
+ (copy-file f (string-append
+ "build/classes/org/joda/time/format/"
+ (basename f))))
+ (find-files "src/main/java/org/joda/time/format" ".*.properties"))
+ #t))
+ (add-before 'install 'regenerate-jar
+ (lambda _
+ ;; We need to regenerate the jar file to add generated data.
+ (delete-file "build/jar/java-joda-time.jar")
+ (zero? (system* "ant" "jar"))))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (mkdir-p "build/test-classes/org/joda/time/tz/data")
+ (copy-file "src/test/resources/tzdata/ZoneInfoMap"
+ "build/test-classes/org/joda/time/tz/data/ZoneInfoMap")
+ (copy-recursively "src/test/resources" "build/test-classes")
+ #t)))))
+ (inputs
+ `(("java-joda-convert" ,java-joda-convert)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)
+ ("tzdata" ,tzdata)))
+ (home-page "http://www.joda.org/joda-time/")
+ (synopsis "Replacement for the Java date and time classes")
+ (description "Joda-Time is a replacement for the Java date and time
+classes prior to Java SE 8.")
+ (license license:asl2.0)))