gnu: Add ruby-timers.

* gnu/packages/ruby.scm (ruby-timers): New variable.
This commit is contained in:
Maxim Cournoyer 2023-03-08 22:27:16 -05:00
parent 4a14b2504c
commit 0baa92e9e4
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -6370,6 +6370,52 @@ (define-public ruby-spinach
define executable specifications of your code.")
(license license:expat)))
(define-public ruby-timers
(package
(name "ruby-timers")
(version "4.3.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/socketry/timers")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1vvahlhk6i1xks1bsha6s64pjjxhagmzvvf1q9h6z3lpcba43rpx"))))
(build-system ruby-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-before 'build 'prune-gems.rb
(lambda _
(substitute* "gems.rb"
;; These are only required for maintenance.
((".*gem \"bake-modernize\".*") "")
((".*gem \"bake-gem\".*") "")
;; Not actually required by the tests.
((".*gem 'benchmark-ips'.*") "")
((".*gem \"ruby-prof\".*") ""))))
(add-before 'build 'remove-missing-signing-key
(lambda _
;; Otherwise, the build fails with ENOENT.
(substitute* "timers.gemspec"
((".*spec.signing_key.*") ""))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bake" "test")))))))
(native-inputs
(list ruby-covered
ruby-bake-test
ruby-bake-test-external
ruby-sus))
(synopsis "Collection of Ruby timer classes")
(description "Timers offers a collections of one-shot and periodic timers,
intended for use with event loops such as async.")
(home-page "https://github.com/socketry/timers")
(license license:expat)))
(define-public ruby-tilt
(package
(name "ruby-tilt")