Archived
1
0
Fork 0

gnu: ruby-rails: Update to 7.0.4.3.

* gnu/packages/rails.scm (ruby-rails): Update to 7.0.4.3.
[source]: use ruby-rails-monorepo.
[arguments]: Add delete-extraneous-gemspec-files phase.  Delete trailing #t.
This commit is contained in:
Maxim Cournoyer 2023-03-13 12:31:06 -04:00
parent 7e1e75055b
commit bb44a9f6cc
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -1342,57 +1342,59 @@ for locks.")
(home-page "https://closuretree.github.io/with_advisory_lock/") (home-page "https://closuretree.github.io/with_advisory_lock/")
(license license:expat))) (license license:expat)))
;;; This is a meta-package which propagates all the individual Rails
;;; components.
(define-public ruby-rails (define-public ruby-rails
(package (package
(name "ruby-rails") (name "ruby-rails")
(version "6.1.3") (version %ruby-rails-version)
(source (source ruby-rails-monorepo)
(origin (build-system ruby-build-system)
(method url-fetch) (arguments
(uri (rubygems-uri "rails" version)) (list
(sha256 #:phases
(base32 #~(modify-phases %standard-phases
"0hdancysa617lzyy5gmrcmnpgyb1mz1lawy0l34ycz2wary7y2bz")))) (add-after 'unpack 'delete-extraneous-gemspec-files
(build-system ruby-build-system) (lambda _
(arguments ;; They would otherwise be picked up instead of rails.gemspec at
'(#:phases ;; the root of the repository.
(modify-phases %standard-phases (for-each (lambda (f)
;; This gem acts as glue between the gems that actually make up (unless (string-suffix? "rails.gemspec" f)
;; Rails. The important thing to check is that the gemspec matches up (delete-file f)))
;; with the Guix packages and Rubygems can successfully activate the (find-files "." "\\.gemspec"))))
;; Rails gem. ;; This gem acts as glue between the gems that actually make up
;; ;; Rails. The important thing to check is that the gemspec matches
;; The following check phase tests this. ;; up with the Guix packages and Rubygems can successfully activate
(delete 'check) ;; the Rails gem.
(add-after 'install 'check ;;
(lambda* (#:key tests? outputs #:allow-other-keys) ;; The following check phase tests this.
(setenv "GEM_PATH" (delete 'check)
(string-append (add-after 'install 'check
(getenv "GEM_PATH") (lambda* (#:key tests? outputs #:allow-other-keys)
":" (when tests?
(assoc-ref outputs "out") "/lib/ruby/vendor_ruby")) (setenv "GEM_PATH"
(when tests? (string-append (getenv "GEM_PATH") ":" #$output
(invoke "ruby" "-e" "gem 'rails'")) "/lib/ruby/vendor_ruby"))
#t))))) (invoke "ruby" "-e" "gem 'rails'")))))))
(propagated-inputs (propagated-inputs
(list ruby-actioncable (list bundler
ruby-actionmailbox ruby-actioncable
ruby-actionmailer ruby-actionmailbox
ruby-actionpack ruby-actionmailer
ruby-actiontext ruby-actionpack
ruby-actionview ruby-actiontext
ruby-activejob ruby-actionview
ruby-activemodel ruby-activejob
ruby-activerecord ruby-activemodel
ruby-activestorage ruby-activerecord
ruby-activesupport ruby-activestorage
bundler ruby-activesupport
ruby-railties ruby-railties
ruby-sprockets-rails)) ruby-sprockets-rails))
(synopsis "Full-stack web framework optimized for programmer happiness") (synopsis "Full-stack web framework optimized for programmer happiness")
(description (description
"Ruby on Rails is a full-stack web framework optimized for programmer "Ruby on Rails is a full-stack web framework optimized for programmer
happiness and sustainable productivity. It encourages beautiful code by happiness and sustainable productivity. It encourages beautiful code by
favoring convention over configuration.") favoring convention over configuration.")
(home-page "https://rubyonrails.org/") (home-page "https://rubyonrails.org/")
(license license:expat))) (license license:expat)))