aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-07-01 00:17:32 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-07-01 00:17:32 -0400
commit1b2141743550aee95acda7b270d7df3fd671350e (patch)
treea54d1d4a46ca0e436045b6f66b11bedc9514e637
parent1f014c9769f28b7f77a53ac9fdcc2a4ec6c9915e (diff)
downloadguix-1b2141743550aee95acda7b270d7df3fd671350e.tar.gz
guix-1b2141743550aee95acda7b270d7df3fd671350e.zip
gnu: Add ruby-ruby-prof.
* gnu/packages/ruby.scm (ruby-ruby-prof): New variable.
-rw-r--r--gnu/packages/ruby.scm49
1 files changed, 49 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e4cfff7cc2..08163599f9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6338,6 +6338,55 @@ variable length integers (varint) in Ruby Protocol Buffers.")
(home-page "https://github.com/liquidm/varint")
(license license:bsd-3)))
+(define-public ruby-ruby-prof
+ (package
+ (name "ruby-ruby-prof")
+ (version "1.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ruby-prof" version))
+ (sha256
+ (base32
+ "12cd91m08ih0imfpy4k87618hd4mhyz291a6bx2hcskza4nf6d27"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-rakefile
+ ;; This fixes the following error: "NameError: uninitialized
+ ;; constant Bundler::GemHelper" (see:
+ ;; https://github.com/ruby-prof/ruby-prof/issues/274).
+ (lambda _
+ (substitute* "Rakefile"
+ ((".*require \"bundler/setup\".*" all)
+ (string-append all " require 'bundler/gem_tasks'\n")))
+ #t))
+ (add-before 'check 'compile
+ (lambda _
+ (invoke "rake" "compile"))))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-minitest" ,ruby-minitest)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)
+ ("ruby-rdoc" ,ruby-rdoc)))
+ (synopsis "Fast code profiler for Ruby")
+ (description "RubyProf is a fast code profiler for Ruby. Its features
+include:
+@table @asis
+@item Speed
+Being a C extension, it is many times faster than the standard Ruby profiler.
+@item Measurement Modes
+It can measure program wall time, process time, object allocations and memory
+usage.
+@item Reports
+A variety of text and cross-referenced HTML reports can be generated.
+@item Threads
+Profiling multiple threads simultaneously is supported.
+@end table")
+ (home-page "https://github.com/ruby-prof/ruby-prof")
+ (license license:bsd-2)))
+
(define-public ruby-gherkin
(package
(name "ruby-gherkin")