summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-01-08 01:45:41 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-28 22:22:24 -0400
commit193a459d288f4a939b4b6173c7a773bc6966cfef (patch)
tree57c1c939415f9a12890d5ab9c24c053f857095c1
parent8911d65ae7ac26ea65246aea29882cf443f71dff (diff)
downloadguix-193a459d288f4a939b4b6173c7a773bc6966cfef.tar.gz
gnu: Add ruby-concurrent-ruby-edge.
* gnu/packages/ruby.scm (ruby-concurrent-ruby-edge): New variable.
-rw-r--r--gnu/packages/ruby.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ff02238af5..c3edbfa988 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10468,6 +10468,45 @@ patterns.")
 concurrent-ruby gem when running under the Matz's Ruby Interpreter (MRI, also
 known as CRuby).")))
 
+(define-public ruby-concurrent-ruby-edge
+  (package
+    (inherit ruby-concurrent-ruby)
+    (name "ruby-concurrent-ruby-edge")
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'delete-unwanted-gemspecs
+            (lambda _
+              (for-each delete-file
+                        '("concurrent-ruby.gemspec"
+                          "concurrent-ruby-ext.gemspec"))))
+          ;; The tests rely on the Gem being installed, so move the check
+          ;; phase after the install phase.
+          (delete 'check)
+          (add-after 'install 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (setenv "GEM_PATH" (string-append
+                                  (getenv "GEM_PATH") ":"
+                                  #$output "/lib/ruby/vendor_ruby"))
+              (when tests?
+                (invoke "rake" "ci")))))))
+    (native-inputs
+     (list ruby-rake-compiler
+           ruby-rake-compiler-dock
+           ruby-rspec
+           ruby-timecop
+           ruby-yard))
+    (propagated-inputs
+     (list ruby-concurrent-ruby ruby-concurrent-ruby-ext))
+    (synopsis "Edge features and additions to the @code{concurrent-ruby} gem")
+    (description "The @code{concurrent-ruby-edge} gem includes
+@code{concurrent-ruby} features that are under active development and may
+change frequently.  They are expected not to keep backward
+compatibility (there may also lack tests and documentation), although semantic
+versions are obeyed though.  Features developed in @code{concurrent-ruby-edge}
+are expected to move to @code{concurrent-ruby} when final.")))
+
 (define-public ruby-pkg-config
   (package
     (name "ruby-pkg-config")