summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-08 22:02:47 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-28 22:22:31 -0400
commit4a14b2504ca5da1b6ff6dffbbeacaf4074550916 (patch)
tree815e006c0f944bd8bdd08e7be0dc94eccae9aa10 /gnu
parentf059d35323a176d71dfe290a67317dcbec61f19c (diff)
gnu: Add ruby-sus.
* gnu/packages/ruby.scm (ruby-sus): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/ruby.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fb44385dc3..40b82b8a43 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12858,6 +12858,57 @@ spawned processes. It is designed after Python's @code{subprocess} module.")
(home-page "https://github.com/stripe/subprocess")
(license license:expat)))
+(define-public ruby-sus
+ (package
+ (name "ruby-sus")
+ (version "0.20.3")
+ (source (origin
+ (method git-fetch) ;for gems.rb
+ (uri (git-reference
+ (url "https://github.com/ioquatix/sus")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0j4rkh9li79674h3lfkxlcdygscmb22l77i7hwhxl3gw103gkpdr"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'prune-gems.rb
+ (lambda _
+ (substitute* "gems.rb"
+ (("gem \"bake-modernize\"") "")
+ (("gem \"bake-gem\"") "")
+ (("gem \"utopia-project\"") ""))))
+ (add-before 'build 'remove-missing-signing-key
+ (lambda _
+ ;; Otherwise, the build fails with ENOENT.
+ (substitute* "sus.gemspec"
+ ((".*spec.signing_key.*") ""))))
+ (delete 'check) ;moved after install
+ (add-after 'install 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "CONSOLE_LEVEL" "debug")
+ (setenv "HOME" "/tmp")
+ ;; 'bundle exec' must be used to workaround a problem
+ ;; when using bake test and GEM_PATH (see:
+ ;; https://github.com/ioquatix/bake/issues/11).
+ (invoke "bundle" "exec" "bake" "test"))))
+ (add-before 'check 'set-paths
+ (lambda _
+ (setenv "PATH" (string-append (getenv "PATH") ":"
+ #$output "/bin"))
+ (setenv "GEM_PATH" (string-append
+ (getenv "GEM_PATH") ":"
+ #$output "/lib/ruby/vendor_ruby")))))))
+ (native-inputs (list ruby-bake-test ruby-bake-test-external ruby-covered))
+ (synopsis "Fast and scalable test runner for Ruby")
+ (description "This package provides a fast and scalable test runner for Ruby.")
+ (home-page "https://github.com/ioquatix/sus")
+ (license license:expat)))
+
(define-public ruby-syntax-tree
(package
(name "ruby-syntax-tree")