diff mbox series

[bug#35545,16/17] gnu: Add java-commons-jcs.

Message ID 20190503130134.24788-16-julien@lepiller.eu
State Accepted
Headers show
Series [bug#35545,01/17] gnu: Add java-signpost-core. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Julien Lepiller May 3, 2019, 1:01 p.m. UTC
* gnu/packages/java.scm (java-commons-jcs): New variable.
---
 gnu/packages/java.scm | 46 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 8f8809c467..1ddcd4a814 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -5062,6 +5062,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-dbcp2)))
+    (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")