aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-08 09:28:07 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-28 22:22:18 -0400
commit00bfae29008a0deccb4f5ce8de876dda2cbc3a25 (patch)
tree70f6d2e79045358a7d73caecc6870a0267ba83bf /gnu/packages
parentdb0b6e23f2029ca36aae23e0c127d82f0abd863b (diff)
downloadguix-00bfae29008a0deccb4f5ce8de876dda2cbc3a25.tar.gz
guix-00bfae29008a0deccb4f5ce8de876dda2cbc3a25.zip
gnu: Add ruby-delayed-job.
* gnu/packages/ruby.scm (ruby-delayed-job): New variable.
Diffstat (limited to 'gnu/packages')
-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 ee3e5da702..5432cf3d87 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5022,6 +5022,53 @@ URIs using the normal URI.parse method.")
you to merge elements inside a hash together recursively.")
(license license:expat)))
+(define-public ruby-delayed-job
+ (package
+ (name "ruby-delayed-job")
+ (version "4.1.11")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "delayed_job" version))
+ (sha256
+ (base32
+ "0s2xg72ljg4cwmr05zi67vcyz8zib46gvvf7rmrdhsyq387m2qcq"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-bundler
+ (lambda _
+ (substitute* "Rakefile"
+ (("require 'bundler/setup'") "")
+ (("Bundler::GemHelper\\.install_tasks") ""))))
+ (add-after 'unpack 'disable-rubocop
+ (lambda _
+ (substitute* "Rakefile"
+ (("require 'rubocop/rake_task'") "")
+ (("RuboCop::RakeTask.new") ""))))
+ (add-after 'extract-gemspec 'remove-dependency-on-actionmailer
+ (lambda _
+ (substitute* "spec/helper.rb"
+ (("require 'action_mailer'") ""))
+ (substitute* "delayed_job.gemspec"
+ (("\"spec/performable_mailer_spec.rb\".freeze, ") ""))
+ (delete-file "spec/performable_mailer_spec.rb"))))))
+ (native-inputs
+ (list ruby-activerecord
+ ruby-rspec
+ ruby-simplecov
+ ruby-simplecov-lcov
+ ruby-zeitwerk))
+ (propagated-inputs
+ (list ruby-activesupport))
+ (synopsis "Asynchronous background tasks execution library")
+ (description "Delayed_job (or DJ) encapsulates the common pattern of
+asynchronously executing longer tasks in the background. It is a direct
+extraction from Shopify where the job table is responsible for a multitude of
+core tasks.")
+ (home-page "https://github.com/collectiveidea/delayed_job")
+ (license license:expat)))
+
(define-public ruby-git
(package
(name "ruby-git")