aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
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)))