summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-06-22 10:38:17 +0100
committerChristopher Baines <mail@cbaines.net>2023-07-10 08:25:56 +0100
commit6ee5f968bc1dce680636ccaa5554baca4d9a4ce7 (patch)
tree8e287ed25e6875de483e66f39594881d22d78089 /gnu
parent75f0e51a8c62c6aecfb630d4f00e9ff8b55830f4 (diff)
downloadguix-6ee5f968bc1dce680636ccaa5554baca4d9a4ce7.tar.gz
gnu: Add ruby-rbtree.
* gnu/packages/ruby.scm (ruby-rbtree): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/ruby.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7beadb2eaf..b4b31d52f7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3237,6 +3237,38 @@ high-level toolkit for building cryptographic systems and protocols.")
     (home-page "https://github.com/crypto-rb/rbnacl")
     (license license:expat)))
 
+(define-public ruby-rbtree
+  (package
+    (name "ruby-rbtree")
+    (version "0.4.6")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "rbtree" version))
+              (sha256
+               (base32
+                "1z0h1x7fpkzxamnvbw1nry64qd6n0nqkwprfair29z94kd3a9vhl"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'extconf
+            (lambda _
+              (invoke "ruby" "extconf.rb")
+              (invoke "make" "install" (string-append "prefix=" #$output))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "ruby" "-I." "test.rb")))))))
+    (synopsis "Ruby implementation of a sorted associative collection")
+    (description
+     "This package provides a RBTree is a sorted associative collection that
+is implemented with a Red-Black Tree.  It maps keys to values like a Hash, but
+maintains its elements in ascending key order.  The interface is the almost
+identical to that of Hash.")
+    (home-page "http://rbtree.rubyforge.org/")
+    (license license:expat)))
+
 (define-public ruby-hkdf
   (package
     (name "ruby-hkdf")