summaryrefslogtreecommitdiff
path: root/gnu/packages/rails.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-10 12:44:16 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-28 22:22:37 -0400
commit52c1d3f9ce664ea4907cfd39ff4773124dc14976 (patch)
tree7e57d37b5d8ae02a8fe65a7baada65308f882667 /gnu/packages/rails.scm
parent1e36d75d5ad80efd6a9374e8b098bfc895344ea2 (diff)
downloadguix-patches-52c1d3f9ce664ea4907cfd39ff4773124dc14976.tar
guix-patches-52c1d3f9ce664ea4907cfd39ff4773124dc14976.tar.gz
gnu: Add ruby-bootsnap.
* gnu/packages/rails.scm (ruby-bootsnap): New variable.
Diffstat (limited to 'gnu/packages/rails.scm')
-rw-r--r--gnu/packages/rails.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 9b789e13bd..33c0af70b2 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -733,6 +733,45 @@ pattern. Including support for multipart email and attachments.")
(home-page "https://rubyonrails.org/")
(license license:expat)))
+(define-public ruby-bootsnap
+ (package
+ (name "ruby-bootsnap")
+ (version "1.16.0")
+ (source (origin
+ (method git-fetch) ;for tests
+ (uri (git-reference
+ (url "https://github.com/Shopify/bootsnap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1gaih5v4jjndrkn0crrr5mxnwc3cd0f3i955n62ghk29zabvd7wf"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list
+ #:test-target "default"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'extract-gemspec 'relax-requirements
+ (lambda _
+ (substitute* "Gemfile"
+ ;; Rubocop and byebug are not actually needed to run the
+ ;; tests.
+ ((".*rubocop.*") "")
+ ((".*byebug.*") ""))))
+ (replace 'replace-git-ls-files
+ (lambda _
+ (substitute* "bootsnap.gemspec"
+ (("`git ls-files -z ext lib`")
+ "`find ext lib -type f -print0 | sort -z`")))))))
+ (native-inputs (list ruby-mocha ruby-rake-compiler))
+ (propagated-inputs (list ruby-msgpack))
+ (synopsis "Accelerator for large Ruby/Rails application")
+ (description "Bootsnap is a library that plugs into Ruby, with optional
+support for YAML, to optimize and cache expensive computations.")
+ (home-page "https://github.com/Shopify/bootsnap")
+ (license license:expat)))
+
(define-public ruby-marcel
(package
(name "ruby-marcel")