summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/ruby.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ab384a6a72..6093273bc8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10460,6 +10460,42 @@ defined in a @file{.env} file.")
(home-page "https://github.com/bkeepers/dotenv")
(license license:expat)))
+(define-public ruby-dotenv-rails
+ (package
+ (inherit ruby-dotenv)
+ (name "ruby-dotenv-rails")
+ (arguments
+ (substitute-keyword-arguments (package-arguments ruby-dotenv)
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (delete 'do-not-build-dotenv-rails)
+ (add-after 'unpack 'delete-Gemfile
+ (lambda _
+ ;; It defines extraneous dependencies; remove it.
+ (delete-file "Gemfile")))
+ (add-after 'unpack 'remove-extraneous-gemspec
+ (lambda _
+ (delete-file "dotenv.gemspec")
+ (substitute* "Gemfile"
+ ((".*\"dotenv\".*") ""))
+ (substitute* "Rakefile"
+ ;; Remove the dotenv-related Rake tasks.
+ (("Bundler::GemHelper.install_tasks name: \"dotenv\"")
+ "")
+ (("\"dotenv:[^\"]*\", ")
+ ""))))
+ (replace 'replace-git-ls-files
+ (lambda _
+ (substitute* "dotenv-rails.gemspec"
+ (("`git ls-files lib \\| grep rails`")
+ "`find lib -type f | sort | grep rails`"))))))))
+ (native-inputs (list ruby-rspec ruby-spring ruby-standard))
+ (propagated-inputs (list ruby-dotenv ruby-railties))
+ (synopsis "Ruby library for setting environment variables in Rails project")
+ (description "Dotenv is a Ruby library for setting environment variables
+defined in a @file{.env} file. This is the Rails variant, adapted for use
+with Ruby on Rails projects.")))
+
(define-public ruby-http-cookie
(package
(name "ruby-http-cookie")