summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2021-12-11 02:46:14 +0100
committerJulien Lepiller <julien@lepiller.eu>2021-12-12 00:00:22 +0100
commit684e22dce21a7aa453a11d424957b0025763f6e6 (patch)
treeae67158ac45669ee8e7f81434c6d73a98f5c24fc /gnu
parentb049f5bbead0c47ad952203b4160cc666e08e2e3 (diff)
downloadguix-684e22dce21a7aa453a11d424957b0025763f6e6.tar.gz
gnu: Add java-conversant-disruptor.
* gnu/packages/java.scm (java-conversant-disruptor): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/java.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 1ff3a68218..e44d7ee885 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -11350,6 +11350,41 @@ for high performance inter-thread communication that avoids the need for
 message queues or resource locking.")
     (license license:asl2.0)))
 
+(define-public java-conversant-disruptor
+  (package
+    (name "java-conversant-disruptor")
+    (version "1.2.19")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/conversant/disruptor")
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0gx1dm7sfg7pa05cs4qby10gfcplai5b5lf1f7ik1a76dh3vhl0g"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-conversant-disruptor.jar"
+       #:source-dir "src/main/java"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'copy-resources
+           (lambda _
+            (copy-recursively "src/main/resources" "build/classes")))
+         (add-before 'build 'remove-module
+           (lambda _
+             (delete-file "src/main/java/module-info.java"))))))
+    (native-inputs
+     `(("java-junit" ,java-junit)))
+    (home-page "https://github.com/conversant/disruptor")
+    (synopsis "High performance intra-thread communication")
+    (description "Conversant Disruptor is the highest performing intra-thread
+transfer mechanism available in Java.  Conversant Disruptor is an implementation
+of this type of ring buffer that has almost no overhead and that exploits a
+particularly simple design.")
+    (license license:asl2.0)))
+
 (define-public java-jctools-core-1
   (package
     (name "java-jctools-core")