summary refs log tree commit diff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2016-01-19 00:18:37 -0500
committerMark H Weaver <mhw@netris.org>2016-01-19 00:18:37 -0500
commitafe9f409491a055e5d058c8f747e80d1506391e5 (patch)
tree3b3747c9d2df32019a46b283b94f0a7af05ebf1d /gnu/packages/ruby.scm
parentbb8afbf5a1fbc85f700c0e07ce5581637e3674dc (diff)
parent1348185ac2bb48b373495830267cff8ddc6b1fa5 (diff)
downloadguix-afe9f409491a055e5d058c8f747e80d1506391e5.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r--gnu/packages/ruby.scm64
1 files changed, 64 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fd36f8d694..6e5553bd30 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2978,3 +2978,67 @@ methods, a @code{Mixin} module for including color methods, a @code{Logger}, a
 device.")
     (home-page "http://rubyworks.github.io/ansi")
     (license license:bsd-2)))
+
+(define-public ruby-systemu
+  (package
+    (name "ruby-systemu")
+    (version "2.6.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "systemu" version))
+       (sha256
+        (base32
+         "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'set-version
+           (lambda _
+             (setenv "VERSION" ,version)
+             #t)))))
+    (synopsis "Capture of stdout/stderr and handling of child processes")
+    (description
+     "Systemu can be used on any platform to return status, stdout, and stderr
+of any command.  Unlike other methods like @code{open3} and @code{popen4}
+there is no danger of full pipes or threading issues hanging your process or
+subprocess.")
+    (home-page "https://github.com/ahoward/systemu")
+    (license license:ruby)))
+
+(define-public ruby-bio-commandeer
+  (package
+    (name "ruby-bio-commandeer")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "bio-commandeer" version))
+       (sha256
+        (base32
+         "061jxa6km92qfwzl058r2gp8gfcsbyr7m643nw1pxvmjdswaf6ly"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           ;; Run test without calling 'rake' so that jeweler is
+           ;; not required as an input.
+           (lambda _
+             (zero? (system* "rspec" "spec/bio-commandeer_spec.rb")))))))
+    (propagated-inputs
+     `(("ruby-bio-logger" ,ruby-bio-logger)
+       ("ruby-systemu" ,ruby-systemu)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)))
+    (synopsis "Simplified running of shell commands from within Ruby")
+    (description
+     "Bio-commandeer provides an opinionated method of running shell commands
+from within Ruby.  The advantage of bio-commandeer over other methods of
+running external commands is that when something goes wrong, messages printed
+to the @code{STDOUT} and @code{STDERR} streams are reported, giving extra
+detail to ease debugging.")
+    (home-page "http://github.com/wwood/bioruby-commandeer")
+    (license license:expat)))