aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-01-27 20:15:27 +0000
committerChristopher Baines <mail@cbaines.net>2019-02-14 21:37:59 +0000
commit6120589f55cb79a2c880fd5b2e5798c97bf3e9cc (patch)
treeb7f44e0d0923195be1fc51f5fb637be2f39574f0
parent0a794b3075490dd61e34027af4d8d78b3db13b1f (diff)
downloadguix-6120589f55cb79a2c880fd5b2e5798c97bf3e9cc.tar
guix-6120589f55cb79a2c880fd5b2e5798c97bf3e9cc.tar.gz
gnu: Add ruby_version.
Required for ruby-rspec-pending-for. * gnu/packages/ruby.scm (ruby_version): New variable.
-rw-r--r--gnu/packages/ruby.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 030e720ce5..d8aa27daec 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5226,6 +5226,53 @@ display width of strings in Ruby.")
(home-page "https://github.com/janlelis/unicode-display_width")
(license license:expat)))
+;; There is another gem called 'ruby-version' so we use an underscore in this
+;; name
+(define-public ruby_version
+ (package
+ (name "ruby_version")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ruby_version" version))
+ (sha256
+ (base32
+ "0854i1bjy56176anr05l5m0vc81nl53c7fyfg7sljj62m1d64dgj"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-dependencies
+ (lambda _
+ ;; Remove the Gemfile.lock, as we want to use Guix packages at
+ ;; whatever versions.
+ (delete-file "Gemfile.lock")
+ ;; Remove the incldued gem file as it's unnecessary.
+ (delete-file "pkg/ruby_version-1.0.0.gem")
+ (substitute* "ruby_version.gemspec"
+ ;; Don't require rdoc and rubygems-tasks as they're unnecessary
+ ((".*rdoc.*") "\n")
+ ((".*rubygems-tasks.*") "\n")
+ ;; Accept any version of rake and rspec
+ (("%q<rake.*") "%q<rake>)\n")
+ (("%q<rspec.*") "%q<rspec>)\n"))
+ ;; Remove the use of rubygems-tasks from the Rakefile, as it's
+ ;; unnecessary.
+ (substitute* "Rakefile"
+ (("^require 'rubygems/tasks'") "")
+ (("Gem::Tasks.new") ""))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Ruby library to help check the Ruby version")
+ (description
+ "@code{ruby_version} provides a @code{RubyVersion} module to simplify
+checking for the right Ruby version in software.")
+ (home-page "https://github.com/janlelis/ruby_version")
+ (license license:expat)))
+
(define-public ruby-domain-name
(package
(name "ruby-domain-name")