From 29fa6d8411d87fcde8b55cc13fbd545f1d3e6cd3 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 15:19:10 +0000 Subject: gnu: Add ruby-activemodel. Required for ruby-activerecord. * gnu/packages/rails.scm (ruby-activemodel): New variable. --- gnu/packages/rails.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 5348d914cf..80329a3c5b 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -93,3 +93,28 @@ API.") (home-page "https://github.com/banister/debug_inspector") (license license:expat))) + +(define-public ruby-activemodel + (package + (name "ruby-activemodel") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "activemodel" version)) + (sha256 + (base32 + "1xmwi3mw8g4shbjvkhk72ra3r5jccbdsd4piphqka2y1h8s7sxvi")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("ruby-activesupport" ,ruby-activesupport))) + (synopsis "Toolkit for building modeling frameworks like Active Record") + (description + "This package provides a toolkit for building modeling frameworks like +Active Record. ActiveSupport handles attributes, callbacks, validations, +serialization, internationalization, and testing.") + (home-page "https://rubyonrails.org/") + (license license:expat))) -- cgit v1.2.3 From 13cf6aee1bfbb7541a57536205432462dcd21978 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 15:22:52 +0000 Subject: gnu: Add ruby-activerecord. * gnu/packages/rails.scm (ruby-activerecord): New variable. --- gnu/packages/rails.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 80329a3c5b..a9dae594a5 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -118,3 +118,29 @@ Active Record. ActiveSupport handles attributes, callbacks, validations, serialization, internationalization, and testing.") (home-page "https://rubyonrails.org/") (license license:expat))) + +(define-public ruby-activerecord + (package + (name "ruby-activerecord") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "activerecord" version)) + (sha256 + (base32 + "19a0sns6a5wz2wym25lb1dv4lbrrl5sd1n15s5ky2636znmhz30y")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("ruby-activemodel" ,ruby-activemodel) + ("ruby-activesupport" ,ruby-activesupport) + ("ruby-arel" ,ruby-arel))) + (synopsis "Ruby library to connect to relational databases") + (description + "Active Record connects classes to relational database table to establish +an almost zero-configuration persistence layer for applications.") + (home-page "https://rubyonrails.org") + (license license:expat))) -- cgit v1.2.3 From ab654da5438dea1252b0bdf0cdff36d8d695f978 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 15:57:33 +0000 Subject: gnu: Add ruby-rails-html-sanitizer. * gnu/packages/rails.scm (ruby-rails-html-sanitizer): New variable. --- gnu/packages/rails.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index a9dae594a5..c0c6e5ae2f 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -144,3 +144,28 @@ serialization, internationalization, and testing.") an almost zero-configuration persistence layer for applications.") (home-page "https://rubyonrails.org") (license license:expat))) + +(define-public ruby-rails-html-sanitizer + (package + (name "ruby-rails-html-sanitizer") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rails-html-sanitizer" version)) + (sha256 + (base32 + "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("ruby-loofah" ,ruby-loofah))) + (synopsis "HTML sanitization for Rails applications") + (description + "This gem is used to handle HTML sanitization in Rails applications. If +you need similar functionality in non Rails apps consider using Loofah +directly.") + (home-page "https://github.com/rails/rails-html-sanitizer") + (license license:expat))) -- cgit v1.2.3 From 24412de48d06ab6ae6122082601e95d9f8bd9f5e Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 16:00:13 +0000 Subject: gnu: Add ruby-rails-dom-testing. * gnu/packages/rails.scm (ruby-rails-dom-testing): New variable. --- gnu/packages/rails.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index c0c6e5ae2f..7e0e3ddf73 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -20,6 +20,7 @@ (define-module (gnu packages rails) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix packages) #:use-module (gnu packages ruby) #:use-module (guix build-system ruby)) @@ -169,3 +170,30 @@ you need similar functionality in non Rails apps consider using Loofah directly.") (home-page "https://github.com/rails/rails-html-sanitizer") (license license:expat))) + +(define-public ruby-rails-dom-testing + (package + (name "ruby-rails-dom-testing") + (version "2.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rails/rails-dom-testing.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zrg6x1w3wjgklbhcphjmggl11jx5s8cl21qjqij7wknm412i5wl")))) + (build-system ruby-build-system) + (native-inputs + `(("bundler" ,bundler))) + (propagated-inputs + `(("ruby-activesupport" ,ruby-activesupport) + ("ruby-nokogiri" ,ruby-nokogiri))) + (synopsis "Compare HTML DOMs and assert certain elements exists") + (description + "This gem can compare HTML and assert certain elements exists. This is +useful when writing tests.") + (home-page "https://github.com/rails/rails-dom-testing") + (license license:expat))) -- cgit v1.2.3 From 1c48c539ee56ed98722e5c5e62a3738db554dfcc Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 16:02:31 +0000 Subject: gnu: Add ruby-actionview. * gnu/packages/rails.scm (ruby-actionview): New variable. --- gnu/packages/rails.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 7e0e3ddf73..bb89a8ddec 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -197,3 +197,31 @@ directly.") useful when writing tests.") (home-page "https://github.com/rails/rails-dom-testing") (license license:expat))) + +(define-public ruby-actionview + (package + (name "ruby-actionview") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "actionview" version)) + (sha256 + (base32 + "1lz04drbi1z0xhvb8jnr14pbf505lilr02arahxq7y3mxiz0rs8z")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("ruby-activesupport" ,ruby-activesupport) + ("ruby-builder" ,ruby-builder) + ("ruby-erubi" ,ruby-erubi) + ("ruby-rails-dom-testing" ,ruby-rails-dom-testing) + ("ruby-rails-html-sanitizer" ,ruby-rails-html-sanitizer))) + (synopsis "Conventions and helpers for building web pages") + (description + "ActionView provides conventions and helpers for building web pages in +Ruby.") + (home-page "https://rubyonrails.org/") + (license license:expat))) -- cgit v1.2.3 From 7b062e98b855f2cc0e5c06eedbb080f06ccceb50 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 16:04:16 +0000 Subject: gnu: Add ruby-actionpack. * gnu/packages/rails.scm (ruby-actionpack): New variable. --- gnu/packages/rails.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index bb89a8ddec..ac36cda8bb 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -225,3 +225,32 @@ useful when writing tests.") Ruby.") (home-page "https://rubyonrails.org/") (license license:expat))) + +(define-public ruby-actionpack + (package + (name "ruby-actionpack") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "actionpack" version)) + (sha256 + (base32 + "0iwhbqqn0cm39dq040iwq8cfyclqk3kyzwlp5k3j5cz8k2668wws")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("ruby-actionview" ,ruby-actionview) + ("ruby-activesupport" ,ruby-activesupport) + ("ruby-rack" ,ruby-rack) + ("ruby-rack-test" ,ruby-rack-test) + ("ruby-rails-dom-testing" ,ruby-rails-dom-testing) + ("ruby-rails-html-sanitizer" ,ruby-rails-html-sanitizer))) + (synopsis "Conventions for building and testing MVC web applications") + (description + "ActionPack provides conventions for building and testing MVC web +applications. These work with any Rack-compatible server.") + (home-page "https://rubyonrails.org/") + (license license:expat))) -- cgit v1.2.3 From 937c8862f493aea2ae167851ecc22b03fd0d1d04 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 16:16:27 +0000 Subject: gnu: Add ruby-actioncable. * gnu/packages/rails.scm (ruby-actioncable): New variable. --- gnu/packages/rails.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index ac36cda8bb..e793a2e8e2 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -254,3 +254,29 @@ Ruby.") applications. These work with any Rack-compatible server.") (home-page "https://rubyonrails.org/") (license license:expat))) + +(define-public ruby-actioncable + (package + (name "ruby-actioncable") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "actioncable" version)) + (sha256 + (base32 + "0826k5ch0l03f9yrkxy69aiv039z4qi00lnahw2rzywd2iz6r68x")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("ruby-actionpack" ,ruby-actionpack) + ("ruby-nio4r" ,ruby-nio4r) + ("ruby-websocket-driver" ,ruby-websocket-driver))) + (synopsis "Integrate integrates WebSockets with Rails applications") + (description + "Action Cable integrates WebSockets with Rails applications. Through +WebSockets it allows for real-time features in web applications.") + (home-page "https://rubyonrails.org/") + (license license:expat))) -- cgit v1.2.3 From ca09c4b5f25b47cc9aa9159e83dd37b75a2f7cff Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 16:25:11 +0000 Subject: gnu: Add ruby-activejob. * gnu/packages/rails.scm (ruby-activejob): New variable. --- gnu/packages/rails.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index e793a2e8e2..625d19a570 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -280,3 +280,28 @@ applications. These work with any Rack-compatible server.") WebSockets it allows for real-time features in web applications.") (home-page "https://rubyonrails.org/") (license license:expat))) + +(define-public ruby-activejob + (package + (name "ruby-activejob") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "activejob" version)) + (sha256 + (base32 + "1jjkl62x2aprg55x9rpm0h2c82vr2qr989hg3l9r21l01q4822ir")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("ruby-activesupport" ,ruby-activesupport) + ("ruby-globalid" ,ruby-globalid))) + (synopsis "Declare job classes for multiple backends") + (description + "ActiveJob allows declaring job classes in a common way across Rails +applications.") + (home-page "https://rubyonrails.org/") + (license license:expat))) -- cgit v1.2.3 From 0fc308997f24c65a64b0fb84b034a067ef752f17 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 16:28:02 +0000 Subject: gnu: Add ruby-actionmailer. * gnu/packages/rails.scm (ruby-actionmailer): New variable. --- gnu/packages/rails.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 625d19a570..bf972512f4 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -305,3 +305,31 @@ WebSockets it allows for real-time features in web applications.") applications.") (home-page "https://rubyonrails.org/") (license license:expat))) + +(define-public ruby-actionmailer + (package + (name "ruby-actionmailer") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "actionmailer" version)) + (sha256 + (base32 + "0sfpb8s95cmkpp9ybyp2c88r55r5llscmmnkfwcwgasz9ncjiq5n")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("ruby-actionpack" ,ruby-actionpack) + ("ruby-actionview" ,ruby-actionview) + ("ruby-activejob" ,ruby-activejob) + ("ruby-mail" ,ruby-mail) + ("ruby-rails-dom-testing" ,ruby-rails-dom-testing))) + (synopsis "Work with emails using the controller/view pattern") + (description + "Compose, deliver, receive, and test emails using the controller/view +pattern. Including support for multipart email and attachments.") + (home-page "https://rubyonrails.org/") + (license license:expat))) -- cgit v1.2.3 From c8f079ca16f2c632d1e35a260957b50c9242dfd3 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 16:33:40 +0000 Subject: gnu: Add ruby-railties. * gnu/packages/rails.scm (ruby-railties): New variable. --- gnu/packages/rails.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index bf972512f4..e5f19a4742 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -333,3 +333,30 @@ applications.") pattern. Including support for multipart email and attachments.") (home-page "https://rubyonrails.org/") (license license:expat))) + +(define-public ruby-railties + (package + (name "ruby-railties") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "railties" version)) + (sha256 + (base32 + "00pnylmbz4c46mxw5lhxi8h39lndfg6fs1hpd0qd6swnjhkqsr1l")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("ruby-actionpack" ,ruby-actionpack) + ("ruby-activesupport" ,ruby-activesupport) + ("ruby-method-source" ,ruby-method-source) + ("ruby-thor" ,ruby-thor))) + (synopsis "Rails internals, including application bootup and generators") + (description + "@code{railties} provides the core Rails internals including handling +application bootup, plugins, generators, and Rake tasks.") + (home-page "https://rubyonrails.org/") + (license license:expat))) -- cgit v1.2.3 From 80c4bfa6402a1d1a080167701df4189266fb857a Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 16:36:46 +0000 Subject: gnu: Add ruby-sprockets-rails. * gnu/packages/rails.scm (ruby-sprockets-rails): New variable. --- gnu/packages/rails.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index e5f19a4742..6bcfe2667d 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -360,3 +360,29 @@ pattern. Including support for multipart email and attachments.") application bootup, plugins, generators, and Rake tasks.") (home-page "https://rubyonrails.org/") (license license:expat))) + +(define-public ruby-sprockets-rails + (package + (name "ruby-sprockets-rails") + (version "3.2.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "sprockets-rails" version)) + (sha256 + (base32 + "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("ruby-actionpack" ,ruby-actionpack) + ("ruby-activesupport" ,ruby-activesupport) + ("ruby-sprockets" ,ruby-sprockets))) + (synopsis "Sprockets Rails integration") + (description + "Provides Sprockets implementation for the Rails Asset Pipeline.") + (home-page + "https://github.com/rails/sprockets-rails") + (license license:expat))) -- cgit v1.2.3 From 078849455edf086cc5f17aca1d5fc9a5aeb5dce5 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 16:40:46 +0000 Subject: gnu: Add ruby-activestorage. * gnu/packages/rails.scm (ruby-activestorage): New variable. --- gnu/packages/rails.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 6bcfe2667d..a45dca65d1 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -306,6 +306,32 @@ applications.") (home-page "https://rubyonrails.org/") (license license:expat))) +(define-public ruby-activestorage + (package + (name "ruby-activestorage") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "activestorage" version)) + (sha256 + (base32 + "0c72837098sw384vk6dmrb2p7q3wx4swnibk6sw9dp4hn1vc4p31")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + `(("ruby-actionpack" ,ruby-actionpack) + ("ruby-activerecord" ,ruby-activerecord) + ("ruby-marcel" ,ruby-marcel))) + (synopsis "Integrate file storage services in to Rails applications") + (description + "ActiveStorage integrates file storage services with Rails applications, +allowing files to be attached to ActiveRecord models..") + (home-page "https://rubyonrails.org/") + (license license:expat))) + (define-public ruby-actionmailer (package (name "ruby-actionmailer") -- cgit v1.2.3 From a3dbfbbd0444f7eef23494c1110eecb5784a53b4 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Jan 2019 16:41:37 +0000 Subject: gnu: Add ruby-rails. * gnu/packages/rails.scm (ruby-rails): New variable. --- gnu/packages/rails.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'gnu/packages/rails.scm') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index a45dca65d1..2d7ccceff7 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -412,3 +412,56 @@ application bootup, plugins, generators, and Rake tasks.") (home-page "https://github.com/rails/sprockets-rails") (license license:expat))) + +(define-public ruby-rails + (package + (name "ruby-rails") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rails" version)) + (sha256 + (base32 + "1m9cszds68dsiycciiayd3c9g90s2yzn1izkr3gpgqkfw6dmvzyr")))) + (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; This gem acts as glue between the gems that actually make up + ;; Rails. The important thing to check is that the gemspec matches up + ;; with the Guix packages and Rubygems can successfully activate the + ;; Rails gem. + ;; + ;; The following check phase tests this. + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? outputs #:allow-other-keys) + (setenv "GEM_PATH" + (string-append + (getenv "GEM_PATH") + ":" + (assoc-ref outputs "out") "/lib/ruby/vendor_ruby")) + (when tests? + (invoke "ruby" "-e" "gem 'rails'")) + #t))))) + (propagated-inputs + `(("ruby-activesupport" ,ruby-activesupport) + ("ruby-actionpack" ,ruby-actionpack) + ("ruby-actionview" ,ruby-actionview) + ("ruby-activemodel" ,ruby-activemodel) + ("ruby-activerecord" ,ruby-activerecord) + ("ruby-actionmailer" ,ruby-actionmailer) + ("ruby-activejob" ,ruby-activejob) + ("ruby-actioncable" ,ruby-actioncable) + ("ruby-activestorage" ,ruby-activestorage) + ("ruby-railties" ,ruby-railties) + ("bundler" ,bundler) + ("ruby-sprockets-rails" ,ruby-sprockets-rails))) + (synopsis "Full-stack web framework optimized for programmer happiness") + (description + "Ruby on Rails is a full-stack web framework optimized for programmer +happiness and sustainable productivity. It encourages beautiful code by +favoring convention over configuration.") + (home-page "https://rubyonrails.org/") + (license license:expat))) -- cgit v1.2.3