summary refs log tree commit diff
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2019-05-03 14:42:34 +0200
committerJulien Lepiller <julien@lepiller.eu>2019-11-13 22:49:39 +0100
commit934b83e45a0bb715eee44067b7b778e381f86248 (patch)
tree28098db1872aa10da6216cf6b45804eaa5d32b32
parentf31ea164bedb29067350cc01f18e0f96b9b732a8 (diff)
downloadguix-934b83e45a0bb715eee44067b7b778e381f86248.tar.gz
gnu: Add java-commons-jcs.
* gnu/packages/java.scm (java-commons-jcs): New variable.
-rw-r--r--gnu/packages/java.scm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index ffe4edd1ce..65f8d6aa77 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -5172,6 +5172,52 @@ very large.  This package provides a way to share a poole of connections to
 reduce that load.")
     (license license:asl2.0)))
 
+(define-public java-commons-jcs
+  (package
+    (name "java-commons-jcs")
+    (version "2.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://apache/commons/jcs/source/"
+                                  "commons-jcs-dist-" version "-src.tar.gz"))
+              (sha256
+               (base32
+                "0syhq2npjbrl0azqfjm0gvash1qd5qjy4qmysxcrqjsk0nf9fa1q"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "commons-jcs.jar"
+       #:source-dir "commons-jcs-core/src/main/java"
+       #:test-dir "commons-jcs-core/src/test"
+       #:tests? #f; requires hsqldb
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'prepare
+           (lambda _
+             (with-directory-excursion
+               "commons-jcs-core/src/main/java/org/apache/commons/jcs"
+               (substitute*
+                 "auxiliary/disk/jdbc/dsfactory/SharedPoolDataSourceFactory.java"
+                 (("commons.dbcp") "commons.dbcp2")
+                 ((".*\\.setMaxActive.*") ""))
+               ;;; Remove dependency on velocity-tools
+               (delete-file "admin/servlet/JCSAdminServlet.java"))
+             #t)))))
+    (propagated-inputs
+     `(("java-classpathx-servletapi" ,java-classpathx-servletapi)
+       ("java-commons-logging-minimal" ,java-commons-logging-minimal)
+       ("java-commons-httpclient" ,java-commons-httpclient)
+       ("java-commons-dbcp" ,java-commons-dbcp)))
+    (native-inputs
+     `(("java-junit" ,java-junit)))
+    (home-page "https://commons.apache.org/proper/commons-jcs/")
+    (synopsis "Distributed caching system in Java")
+    (description "JCS is a distributed caching system written in Java.  It
+is intended to speed up applications by providing a means to manage cached
+data of various dynamic natures.  Like any caching system, JCS is most useful
+for high read, low put applications.  Latency times drop sharply and
+bottlenecks move away from the database in an effectively cached system.")
+    (license license:asl2.0)))
+
 (define-public java-jsr250
   (package
     (name "java-jsr250")