diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-01-08 12:55:30 -0500 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-03-28 22:22:11 -0400 |
commit | 99edfc3995e570977c71826effc047b7ca7bfa36 (patch) | |
tree | 70fa4438d045853e045db0c02c24bf838beb2d85 | |
parent | ddbf1c90a818673f60c0cd20656287e11f8e9461 (diff) | |
download | guix-99edfc3995e570977c71826effc047b7ca7bfa36.tar.gz guix-99edfc3995e570977c71826effc047b7ca7bfa36.zip |
gnu: Add ruby-m.
* gnu/packages/ruby.scm (ruby-m): New variable.
-rw-r--r-- | gnu/packages/ruby.scm | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7f72946695..c7c8c5733f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -11397,6 +11397,68 @@ own right, and also constitutes a row or column of a @code{Matrix}.") (home-page "https://github.com/ruby/matrix") (license license:bsd-2))) +(define-public ruby-m + (package + (name "ruby-m") + (version "1.6.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/qrush/m") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1aycfc8l1bsln1y300fv75fknn4amjcvc4rm2kd8hb6cqivjq5rg")))) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'sanitize-dependencies + (lambda _ + (delete-file "Gemfile") + (delete-file "Gemfile.lock") + ;; Rocco is unmaintained as of 2023/01/08; avoid depending on + ;; it. + (substitute* "m.gemspec" + ;; The rdiscount and rocco dependencies are used for + ;; generating the documentation. + ((".*rdiscount.*") "") + ((".*rocco.*") "") + ((".*appraisal.*") "") + ((".*coveralls.*") "")) + (substitute* "Rakefile" + ;; ruby-appraisal is not packaged, and is used to test against + ;; various dependencies; circumvent its use. + ((".*require 'appraisal'.*") "") + ((".*require 'coveralls'.*") "") + (("appraisal [:graphic:]+ rake") + "rake") + (("Coveralls.push!") "")))) + (add-before 'replace-git-ls-files 'pre-replace-git-ls-files + (lambda _ + (substitute* "m.gemspec" + (("git ls-files -- bin/\\*") + "find bin -type f -not -regex '.*\\.gem$' | sort") + (("git ls-files -- \\{test,spec,features}/\\*") + "find test -type f -not -regex '.*\\.gem$' | sort")))) + (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" "test"))))))) + (native-inputs (list ruby-activesupport)) + (propagated-inputs (list ruby-method-source ruby-rake)) + (synopsis "Ruby test runner that can run tests by line number") + (description "@code{m} stands for metal, a better test/unit and +@code{minitest} test runner that can run tests by line number.") + (home-page "https://github.com/qrush/m") + (license license:expat))) + (define-public ruby-mercenary (package (name "ruby-mercenary") |