unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Ruby on Rails (web-application framework)
       [not found] <87shan9lcy.fsf@cbaines.net>
@ 2018-03-03 20:55 ` Christopher Baines
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
                     ` (5 more replies)
  0 siblings, 6 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-03 20:55 UTC (permalink / raw)
  To: guix-patches; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 4956 bytes --]

Tags: moreinfo

Let's use this bug to track the process of packaging Ruby on Rails.

My current plan is to take chunks of the packages from the wip-rails-2
[1] branch here, check them over, and then send them up for review.

If anyone else wants to join in, that would be great.

1: http://git.cbaines.net/guix/log/?h=wip-rails-2


Ben Woodcroft (115):
  gnu: Add ruby-asciimath.
  gnu: Add ruby-asciidoctor.
  gnu: Add ruby-rack-test.
  gnu: Add ruby-rack-protection.
  gnu: Add ruby-contest.
  gnu: Add ruby-creole.
  gnu: Add ruby-sporkmonger-rack-mount.
  gnu: Add ruby-erubis.
  gnu: Add ruby-rake.
  gnu: Add ruby-ruby-engine.
  gnu: Add ruby-sass-spec.
  gnu: Add ruby-multi-test.
  gnu: Add ruby-yajl-ruby.
  gnu: Add ruby-oj.
  gnu: Add ruby-multi-json.
  gnu: Add ruby-cucumber-wire.
  gnu: Add ruby-cucumber.
  gnu: Add ruby-cucumber*.
  gnu: Add ruby-rspec-its.
  gnu: Add ruby-addressable.
  gnu: Add ruby-bzip2-ruby.
  gnu: Add ruby-aruba.
  gnu: Add ruby-aruba*.
  gnu: Add ruby-fuubar.
  gnu: Add ruby-contracts.
  gnu: Add ruby-event-bus.
  gnu: Add ruby-childprocess.
  gnu: Add ruby-sinatra.
  gnu: Add ruby-tilt.
  gnu: Add ruby-radius.
  gnu: Add ruby-coveralls.
  gnu: Add ruby-truthy.
  gnu: Add ruby-rest-client.
  gnu: Add ruby-webmock.
  gnu: Add ruby-crack.
  gnu: Add ruby-safe-yaml
  gnu: Add ruby-hashie.
  gnu: Add ruby-rspec-pending-for.
  gnu: Add ruby_version.
  gnu: Add ruby-appraisal.
  gnu: Add ruby-kramdown..
  gnu: Add ruby-prawn.
  gnu: Add ruby-pdf-core.
  gnu: Add ruby-pdf-reader.
  gnu: Add ruby-cane.
  gnu: Add ruby-parallel.
  gnu: Add ruby-coffee-script.
  gnu: Add ruby-coffee-script-source.
  gnu: Add ruby-execjs.
  gnu: Add duktape.
  gnu: Add ruby-duktape.
  gnu: Add ruby-therubyracer.
  gnu: Add ruby-libv8-3.16.14.
  gnu: Add ruby-haml.
  gnu: Add ruby-haml-3.
  gnu: Add ruby-backports.
  gnu: Add ruby-faraday.
  gnu: Add ruby-faraday-middleware.
  gnu: Add ruby-gh.
  gnu: Add ruby-highline.
  gnu: Add ruby-launchy.
  gnu: Add ruby-travis.
  gnu: Add ruby-actioncable.
  gnu: Add ruby-actionmailer.
  gnu: Add ruby-actionpack.
  gnu: Add ruby-actionview.
  gnu: Add ruby-activejob.
  gnu: Add ruby-activemodel.
  gnu: Add ruby-activerecord.
  gnu: Add ruby-railties.
  gnu: Add ruby-sprockets-rails.
  gnu: Add ruby-nio4r.
  gnu: Add ruby-websocket-driver.
  gnu: Add ruby-mail.
  gnu: Add ruby-rails-dom-testing.
  gnu: Add ruby-rails-html-sanitizer.
  gnu: Add ruby-globalid.
  gnu: Add ruby-sprockets.
  gnu: Add ruby-websocket-extensions.
  gnu: Add ruby-loofah.
  gnu: Add ruby-rr.
  gnu: Add ruby-rubocop.
  gnu: Add ruby-parser.
  gnu: Add ruby-powerpack.
  gnu: Add ruby-rainbow.
  gnu: Add ruby-thread-order.
  gnu: Add ruby-ruby-progressbar.
  gnu: Add ruby-unicode-display-width.
  gnu: Add ruby-ast.
  gnu: Add ruby-racc.
  gnu: Add ruby-sass-rails.
  gnu: Add ruby-uglifier.
  gnu: Add ruby-sourcemap.
  gnu: Add ruby-coffee-rails.
  gnu: Add ruby-jquery-rails.
  gnu: Add ruby-turbolinks.
  gnu: Add ruby-jbuilder.
  gnu: Add ruby-web-console.
  gnu: Add ruby-rails.
  gnu: Add ruby-sass.
  gnu: Add ruby-turbolinks-source.
  gnu: Add ruby-ref.
  gnu: Add ruby-redjs.
  gnu: Add ruby-rubygems.
  gnu: Add ruby-heredoc-unindent.
  gnu: Add ruby-hashdiff.
  gnu: Add ruby-vcr.
  gnu: Add ruby-listen.
  gnu: Add ruby-listen-3.0.
  gnu: Add ruby-ruby-dep.
  gnu: Add ruby-rb-inotify.
  gnu: Add ruby-guard-rspec.
  gnu: Add ruby-guard-compat.
  gnu: Add ruby-spring-watcher-listen.
  gnu: Add ruby-rspec-spies.

Christopher Baines (17):
  gnu: Add ruby-erubi.
  gnu: Add ruby-open4.
  gnu: Add ruby-hamster.
  gnu: Add ruby-lino.
  gnu: Add ruby-terraform.
  gnu: Add ruby-sucker-punch.
  gnu: Add ruby-que.
  gnu: Add ruby-autoprefixer-rails.
  gnu: Add ruby-bootstrap-sass.
  gnu: Add ruby-multi-xml.
  gnu: Add ruby-omniauth-oauth2.
  gnu: Add ruby-jwt.
  gnu: Add ruby-oauth2.
  gnu: Add ruby-omniauth.
  gnu: Add ruby-warden.
  gnu: Add ruby-warden-oauth2.
  gnu: Add ruby-rerun.

 gnu/packages/javascript.scm                        |   37 +
 gnu/packages/maths.scm                             |   34 +
 .../patches/ruby-coffee-rails-fix-rakefile.patch   |   20 +
 .../patches/ruby-listen-3.0.8-patch-gemspec.patch  |   16 +
 .../patches/ruby-listen-patch-gemspec.patch        |   16 +
 .../ruby-rspec-its-remove-rspec-gemspec.patch      |   22 +
 .../patches/ruby-therubyracer-fix-gemspec.patch    |   16 +
 gnu/packages/rails.scm                             |  500 +++
 gnu/packages/ruby.scm                              | 3331 ++++++++++++++++++++
 9 files changed, 3992 insertions(+)
 create mode 100644 gnu/packages/patches/ruby-coffee-rails-fix-rakefile.patch
 create mode 100644 gnu/packages/patches/ruby-listen-3.0.8-patch-gemspec.patch
 create mode 100644 gnu/packages/patches/ruby-listen-patch-gemspec.patch
 create mode 100644 gnu/packages/patches/ruby-rspec-its-remove-rspec-gemspec.patch
 create mode 100644 gnu/packages/patches/ruby-therubyracer-fix-gemspec.patch

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath.
  2018-03-03 20:55 ` [PATCH] Ruby on Rails (web-application framework) Christopher Baines
@ 2018-03-03 21:02   ` Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 02/10] gnu: Add ruby-asciidoctor Christopher Baines
                       ` (8 more replies)
  2018-03-03 21:13   ` [bug#30689] [PATCH] Ruby on Rails (web-application framework) Gábor Boskovits
                     ` (4 subsequent siblings)
  5 siblings, 9 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-03 21:02 UTC (permalink / raw)
  To: 30689

From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/maths.scm (ruby-asciimath): New variable.
---
 gnu/packages/maths.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 8d0c10697..6cd41278d 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -52,6 +52,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system ocaml)
   #:use-module (guix build-system r)
+  #:use-module (guix build-system ruby)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages bison)
@@ -1912,6 +1913,34 @@ special functions.  It uses Matlab function names where appropriate to simplify
 porting.")
     (license license:gpl3+)))
 
+(define-public ruby-asciimath
+  (package
+    (name "ruby-asciimath")
+    (version "1.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "asciimath" version))
+       (sha256
+        (base32
+         "1d80kiph5mc78zps7si1hv48kv4k12mzaq8jk5kb3pqpjdr72qmc"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* _
+             (invoke "rspec" "test/parser_spec.rb"))))))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)))
+    (synopsis "AsciiMath parsing and conversion library")
+    (description
+     "A pure Ruby AsciiMath parsing and conversion library.  AsciiMath is an
+easy-to-write markup language for mathematics.")
+    (home-page "https://github.com/pepijnve/asciimath")
+    (license license:expat)))
+
 (define-public superlu
   (package
     (name "superlu")
-- 
2.16.0

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 02/10] gnu: Add ruby-asciidoctor.
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
@ 2018-03-03 21:03     ` Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 03/10] gnu: Add ruby-rack-test Christopher Baines
                       ` (7 subsequent siblings)
  8 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-03 21:03 UTC (permalink / raw)
  To: 30689

From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-asciidoctor): New variable.
---
 gnu/packages/maths.scm | 13 +++++++++----
 gnu/packages/ruby.scm  | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 6cd41278d..5771d128f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -97,6 +97,7 @@
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages scheme)
   #:use-module (gnu packages shells)
@@ -1926,11 +1927,15 @@ porting.")
          "1d80kiph5mc78zps7si1hv48kv4k12mzaq8jk5kb3pqpjdr72qmc"))))
     (build-system ruby-build-system)
     (arguments
-     `(#:phases
+     '(#:phases
        (modify-phases %standard-phases
-         (replace 'check
-           (lambda* _
-             (invoke "rspec" "test/parser_spec.rb"))))))
+         ;; Apply this patch
+         ;; https://github.com/asciidoctor/asciimath/commit/1c06fdc8086077f4785479f78b0823a4a72d7948
+         (add-after 'unpack 'patch-remove-spurious-backslashes
+           (lambda _
+             (substitute* "spec/parser_spec.rb"
+               (("\\\\\"")
+                "\"")))))))
     (native-inputs
      `(("bundler" ,bundler)
        ("ruby-rspec" ,ruby-rspec)))
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ee5d20955..fbb387e71 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -665,6 +665,41 @@ line of code.")
     ;; of the Expat license.
     (license license:bsd-3)))
 
+(define-public ruby-asciidoctor
+  (package
+  (name "ruby-asciidoctor")
+  (version "1.5.6.1")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (rubygems-uri "asciidoctor" version))
+      (sha256
+        (base32
+          "1jnf9y8q5asfdzilp8vcqafrc2faj719df4yh1993mh6jd0iqdy4"))))
+  (build-system ruby-build-system)
+  (arguments
+   `(#:test-target "test:all"
+     #:phases
+     (modify-phases %standard-phases
+       (add-before 'check 'remove-circular-tests
+         (lambda _
+           ;; Remove tests that require circular dependencies to load or pass.
+           (delete-file "test/invoker_test.rb")
+           (delete-file "test/converter_test.rb")
+           (delete-file "test/options_test.rb")
+           #t)))))
+  (native-inputs
+   `(("ruby-minitest" ,ruby-minitest)
+     ("ruby-nokogiri" ,ruby-nokogiri)
+     ("ruby-asciimath" ,ruby-asciimath)
+     ("ruby-coderay" ,ruby-coderay)))
+  (synopsis "Converter from AsciiDoc content to other formats")
+  (description
+    "Asciidoctor is a text processor and publishing toolchain for converting
+AsciiDoc content to HTML5, DocBook 5 (or 4.5) and other formats.")
+  (home-page "http://asciidoctor.org")
+  (license license:expat)))
+
 (define-public ruby-ci-reporter
   (package
     (name "ruby-ci-reporter")
-- 
2.16.0

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 03/10] gnu: Add ruby-rack-test.
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 02/10] gnu: Add ruby-asciidoctor Christopher Baines
@ 2018-03-03 21:03     ` Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 04/10] gnu: Add ruby-rack-protection Christopher Baines
                       ` (6 subsequent siblings)
  8 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-03 21:03 UTC (permalink / raw)
  To: 30689

From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-rack-test): New variable.
---
 gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fbb387e71..3f80f636f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3328,6 +3328,37 @@ into a single method call.")
     (home-page "https://rack.github.io/")
     (license license:expat)))
 
+(define-public ruby-rack-test
+  (package
+    (name "ruby-rack-test")
+    (version "0.8.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "rack-test" version))
+       (sha256
+        (base32
+         "14ij39zywvr1i9f6jsixfg4zxi2q1m1n1nydvf47f0b6sfc9mv1g"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; Disable tests because of circular dependencies: requires sinatra,
+     ;; which requires rack-protection, which requires rack-test.  Instead
+     ;; simply require the library.
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (invoke "ruby" "-Ilib" "-r" "rack/test"))))))
+    (propagated-inputs
+     `(("ruby-rack" ,ruby-rack)))
+    (synopsis "Testing API for Rack applications")
+    (description
+     "Rack::Test is a small, simple testing API for Rack applications.  It can
+be used on its own or as a reusable starting point for Web frameworks and
+testing libraries to build on.")
+    (home-page "https://github.com/rack-test/rack-test")
+    (license license:expat)))
+
 (define-public ruby-docile
   (package
     (name "ruby-docile")
-- 
2.16.0

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 04/10] gnu: Add ruby-rack-protection.
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 02/10] gnu: Add ruby-asciidoctor Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 03/10] gnu: Add ruby-rack-test Christopher Baines
@ 2018-03-03 21:03     ` Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 05/10] gnu: Add ruby-contest Christopher Baines
                       ` (5 subsequent siblings)
  8 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-03 21:03 UTC (permalink / raw)
  To: 30689

From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-rack-protection): New variable.
---
 gnu/packages/ruby.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3f80f636f..57c4e67e2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3359,6 +3359,35 @@ testing libraries to build on.")
     (home-page "https://github.com/rack-test/rack-test")
     (license license:expat)))
 
+(define-public ruby-rack-protection
+  (package
+    (name "ruby-rack-protection")
+    (version "2.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "rack-protection" version))
+       (sha256
+        (base32
+         "0ywmgh7x8ljf7jfnq5hmfzki3f803waji3fcvi107w7mlyflbng7"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; Tests missing from the gem
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-rack" ,ruby-rack)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec-2)
+       ("ruby-rack-test" ,ruby-rack-test)))
+    (synopsis "Rack middleware that protects against typical web attacks")
+    (description "Rack middleware that can be used to protect against typical
+web attacks.  It can protect all Rack apps, including Rails.  For instance, it
+protects against cross site request forgery, cross site scripting,
+clickjacking, directory traversal, session hijacking and IP spoofing.")
+    (home-page "https://github.com/sinatra/sinatra/tree/master/rack-protection")
+    (license license:expat)))
+
 (define-public ruby-docile
   (package
     (name "ruby-docile")
-- 
2.16.0

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 05/10] gnu: Add ruby-contest.
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
                       ` (2 preceding siblings ...)
  2018-03-03 21:03     ` [bug#30689] [PATCH 04/10] gnu: Add ruby-rack-protection Christopher Baines
@ 2018-03-03 21:03     ` Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 06/10] gnu: Add ruby-creole Christopher Baines
                       ` (4 subsequent siblings)
  8 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-03 21:03 UTC (permalink / raw)
  To: 30689

From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-contest): New variable.
---
 gnu/packages/ruby.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 57c4e67e2..c39dc033b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3388,6 +3388,25 @@ clickjacking, directory traversal, session hijacking and IP spoofing.")
     (home-page "https://github.com/sinatra/sinatra/tree/master/rack-protection")
     (license license:expat)))
 
+(define-public ruby-contest
+  (package
+    (name "ruby-contest")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "contest" version))
+       (sha256
+        (base32
+         "1p9f2292b7b0fbrcjswvj9v01z7ig5ig52328wyqcabgb553qsdf"))))
+    (build-system ruby-build-system)
+    (synopsis "Write declarative tests using nested contexts")
+    (description
+     "Contest allows writing declarative @code{Test::Unit} tests using nested
+contexts without performance penalties.")
+    (home-page "https://github.com/citrusbyte/contest")
+    (license license:expat)))
+
 (define-public ruby-docile
   (package
     (name "ruby-docile")
-- 
2.16.0

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 06/10] gnu: Add ruby-creole.
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
                       ` (3 preceding siblings ...)
  2018-03-03 21:03     ` [bug#30689] [PATCH 05/10] gnu: Add ruby-contest Christopher Baines
@ 2018-03-03 21:03     ` Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 07/10] gnu: Add ruby-sporkmonger-rack-mount Christopher Baines
                       ` (3 subsequent siblings)
  8 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-03 21:03 UTC (permalink / raw)
  To: 30689

From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-creole): New variable.
---
 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c39dc033b..46676ff23 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3407,6 +3407,27 @@ contexts without performance penalties.")
     (home-page "https://github.com/citrusbyte/contest")
     (license license:expat)))
 
+(define-public ruby-creole
+  (package
+    (name "ruby-creole")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "creole" version))
+       (sha256
+        (base32
+         "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("ruby-bacon" ,ruby-bacon)))
+    (synopsis "Creole markup language converter")
+    (description
+     "Creole is a lightweight markup language and this library for converting
+creole to @code{HTML}.")
+    (home-page "https://github.com/minad/creole")
+    (license license:ruby)))
+
 (define-public ruby-docile
   (package
     (name "ruby-docile")
-- 
2.16.0

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 07/10] gnu: Add ruby-sporkmonger-rack-mount.
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
                       ` (4 preceding siblings ...)
  2018-03-03 21:03     ` [bug#30689] [PATCH 06/10] gnu: Add ruby-creole Christopher Baines
@ 2018-03-03 21:03     ` Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 08/10] gnu: Add ruby-erubis Christopher Baines
                       ` (2 subsequent siblings)
  8 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-03 21:03 UTC (permalink / raw)
  To: 30689

From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-sporkmonger-rack-mount): New variable.
---
 gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 46676ff23..688cef710 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -700,6 +700,37 @@ AsciiDoc content to HTML5, DocBook 5 (or 4.5) and other formats.")
   (home-page "http://asciidoctor.org")
   (license license:expat)))
 
+(define-public ruby-sporkmonger-rack-mount
+  ;; Testing the addressable gem requires a newer commit than that released, so
+  ;; use an up to date version.
+  (let ((revision "1")
+        (commit "076aa2c47d9a4c081f1e9bcb56a826a9e72bd5c3"))
+    (package
+      (name "ruby-sporkmonger-rack-mount")
+      (version (string-append "0.8.3." revision "." commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/sporkmonger/rack-mount.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "1scx273g3xd93424x9lxc4zyvcp2niknbw5mkz6wkivpf7xsyxdq"))))
+      (build-system ruby-build-system)
+      (arguments
+       ;; Tests currently fail so disable them.
+       ;; https://github.com/sporkmonger/rack-mount/pull/1
+       `(#:tests? #f))
+      (propagated-inputs `(("ruby-rack" ,ruby-rack)))
+      (synopsis "Stackable dynamic tree based Rack router")
+      (description
+       "@code{Rack::Mount} supports Rack's @code{X-Cascade} convention to
+continue trying routes if the response returns pass.  This allows multiple
+routes to be nested or stacked on top of each other.")
+      (home-page "https://github.com/sporkmonger/rack-mount")
+      (license license:expat))))
+
 (define-public ruby-ci-reporter
   (package
     (name "ruby-ci-reporter")
-- 
2.16.0

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 08/10] gnu: Add ruby-erubis.
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
                       ` (5 preceding siblings ...)
  2018-03-03 21:03     ` [bug#30689] [PATCH 07/10] gnu: Add ruby-sporkmonger-rack-mount Christopher Baines
@ 2018-03-03 21:03     ` Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 09/10] gnu: Add ruby-rake Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 10/10] gnu: Add ruby-ruby-engine Christopher Baines
  8 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-03 21:03 UTC (permalink / raw)
  To: 30689

From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-erubis): New variable.
---
 gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 688cef710..5f540250b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -890,6 +890,29 @@ functions.")
     (home-page "https://github.com/ahoward/options")
     (license license:ruby)))
 
+(define-public ruby-erubis
+  (package
+    (name "ruby-erubis")
+    (version "2.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "erubis" version))
+       (sha256
+        (base32
+         "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f)) ; tests do not run properly with Ruby 2.0
+    (synopsis "Implementation of embedded Ruby (eRuby)")
+    (description
+     "Erubis is a fast implementation of embedded Ruby (eRuby) with several
+features such as multi-language support, auto escaping, auto trimming spaces
+around @code{<% %>}, a changeable embedded pattern, and Ruby on Rails
+support.")
+    (home-page "http://www.kuwata-lab.com/erubis/")
+    (license license:expat)))
+
 (define-public ruby-orderedhash
   (package
     (name "ruby-orderedhash")
-- 
2.16.0

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 09/10] gnu: Add ruby-rake.
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
                       ` (6 preceding siblings ...)
  2018-03-03 21:03     ` [bug#30689] [PATCH 08/10] gnu: Add ruby-erubis Christopher Baines
@ 2018-03-03 21:03     ` Christopher Baines
  2018-03-03 21:03     ` [bug#30689] [PATCH 10/10] gnu: Add ruby-ruby-engine Christopher Baines
  8 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-03 21:03 UTC (permalink / raw)
  To: 30689

From: Ben Woodcroft <donttrustben@gmail.com>

---
 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 5f540250b..c377d2595 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4910,3 +4910,24 @@ thing this library does today is convert org-mode files to HTML or Textile or
 Markdown.")
     (home-page "https://github.com/wallyqs/org-ruby")
     (license license:expat)))
+
+(define-public ruby-rake
+  (package
+    (name "ruby-rake")
+    (version "12.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "rake" version))
+       (sha256
+        (base32
+         "190p7cs8zdn07mjj6xwwsdna3g0r98zs4crz7jh2j2q5b0nbxgjf"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("bundler" ,bundler)))
+    (synopsis "Rake is a Make-like program implemented in Ruby.")
+    (description
+     "Rake is a Make-like program where tasks and dependencies are specified
+in standard Ruby syntax.")
+    (home-page "https://github.com/ruby/rake")
+    (license license:expat)))
-- 
2.16.0

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 10/10] gnu: Add ruby-ruby-engine.
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
                       ` (7 preceding siblings ...)
  2018-03-03 21:03     ` [bug#30689] [PATCH 09/10] gnu: Add ruby-rake Christopher Baines
@ 2018-03-03 21:03     ` Christopher Baines
  8 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-03 21:03 UTC (permalink / raw)
  To: 30689

From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-ruby-engine): New variable.
---
 gnu/packages/ruby.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c377d2595..05a78843d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3715,6 +3715,51 @@ used to create both network servers and clients.")
     (home-page "http://rubyeventmachine.com")
     (license (list license:ruby license:gpl3)))) ; GPLv3 only AFAICT
 
+(define-public ruby-ruby-engine
+  (package
+    (name "ruby-ruby-engine")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "ruby_engine" version))
+       (sha256
+        (base32
+         "1d0sd4q50zkcqhr395wj1wpn2ql52r0fpwhzjfvi1bljml7k546v"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'clean-up
+           (lambda _
+             (delete-file "Gemfile.lock")
+             (substitute* "ruby_engine.gemspec"
+               ;; Remove unnecessary imports that would entail further
+               ;; dependencies.
+               ((".*<rdoc.*") "")
+               ((".*<rubygems-tasks.*") "")
+               ;; Remove extraneous .gem file
+               (("\\\"pkg/ruby_engine-1.0.0.gem\\\",") ""))
+             (substitute* "Rakefile"
+               (("require 'rubygems/tasks'") "")
+               (("Gem::Tasks.new") ""))
+             ;; Remove extraneous .gem file that otherwise gets installed.
+             (delete-file "pkg/ruby_engine-1.0.0.gem")
+             #t)))))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rake" ,ruby-rake)
+       ("ruby-rspec" ,ruby-rspec-2)))
+    (synopsis "Simplifies checking for Ruby implementation")
+    (description
+     "@code{ruby_engine} provides an RubyEngine class that can be used to check
+which implementation of Ruby is in use.  It can provide the interpreter name and
+provides query methods such as @{RubyEngine.mri?}.")
+    (home-page
+     "https://github.com/janlelis/ruby_engine")
+    (license license:expat)))
+
 (define-public ruby-turn
   (package
     (name "ruby-turn")
-- 
2.16.0

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH] Ruby on Rails (web-application framework)
  2018-03-03 20:55 ` [PATCH] Ruby on Rails (web-application framework) Christopher Baines
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
@ 2018-03-03 21:13   ` Gábor Boskovits
  2018-03-05  9:22   ` Ludovic Courtès
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 59+ messages in thread
From: Gábor Boskovits @ 2018-03-03 21:13 UTC (permalink / raw)
  To: Christopher Baines; +Cc: guix-devel, 30689

[-- Attachment #1: Type: text/plain, Size: 5541 bytes --]

2018-03-03 21:55 GMT+01:00 Christopher Baines <mail@cbaines.net>:

> Tags: moreinfo
>
> Let's use this bug to track the process of packaging Ruby on Rails.
>
> My current plan is to take chunks of the packages from the wip-rails-2
> [1] branch here, check them over, and then send them up for review.
>
> If anyone else wants to join in, that would be great.
>
>
This would be great! Actually I would really like to see redmine on GuixSD
:)
Please keep me in line. I'm willing to help. Should I join in taking the
packages
or just the review?


> 1: http://git.cbaines.net/guix/log/?h=wip-rails-2
>
>
> Ben Woodcroft (115):
>   gnu: Add ruby-asciimath.
>   gnu: Add ruby-asciidoctor.
>   gnu: Add ruby-rack-test.
>   gnu: Add ruby-rack-protection.
>   gnu: Add ruby-contest.
>   gnu: Add ruby-creole.
>   gnu: Add ruby-sporkmonger-rack-mount.
>   gnu: Add ruby-erubis.
>   gnu: Add ruby-rake.
>   gnu: Add ruby-ruby-engine.
>   gnu: Add ruby-sass-spec.
>   gnu: Add ruby-multi-test.
>   gnu: Add ruby-yajl-ruby.
>   gnu: Add ruby-oj.
>   gnu: Add ruby-multi-json.
>   gnu: Add ruby-cucumber-wire.
>   gnu: Add ruby-cucumber.
>   gnu: Add ruby-cucumber*.
>   gnu: Add ruby-rspec-its.
>   gnu: Add ruby-addressable.
>   gnu: Add ruby-bzip2-ruby.
>   gnu: Add ruby-aruba.
>   gnu: Add ruby-aruba*.
>   gnu: Add ruby-fuubar.
>   gnu: Add ruby-contracts.
>   gnu: Add ruby-event-bus.
>   gnu: Add ruby-childprocess.
>   gnu: Add ruby-sinatra.
>   gnu: Add ruby-tilt.
>   gnu: Add ruby-radius.
>   gnu: Add ruby-coveralls.
>   gnu: Add ruby-truthy.
>   gnu: Add ruby-rest-client.
>   gnu: Add ruby-webmock.
>   gnu: Add ruby-crack.
>   gnu: Add ruby-safe-yaml
>   gnu: Add ruby-hashie.
>   gnu: Add ruby-rspec-pending-for.
>   gnu: Add ruby_version.
>   gnu: Add ruby-appraisal.
>   gnu: Add ruby-kramdown..
>   gnu: Add ruby-prawn.
>   gnu: Add ruby-pdf-core.
>   gnu: Add ruby-pdf-reader.
>   gnu: Add ruby-cane.
>   gnu: Add ruby-parallel.
>   gnu: Add ruby-coffee-script.
>   gnu: Add ruby-coffee-script-source.
>   gnu: Add ruby-execjs.
>   gnu: Add duktape.
>   gnu: Add ruby-duktape.
>   gnu: Add ruby-therubyracer.
>   gnu: Add ruby-libv8-3.16.14.
>   gnu: Add ruby-haml.
>   gnu: Add ruby-haml-3.
>   gnu: Add ruby-backports.
>   gnu: Add ruby-faraday.
>   gnu: Add ruby-faraday-middleware.
>   gnu: Add ruby-gh.
>   gnu: Add ruby-highline.
>   gnu: Add ruby-launchy.
>   gnu: Add ruby-travis.
>   gnu: Add ruby-actioncable.
>   gnu: Add ruby-actionmailer.
>   gnu: Add ruby-actionpack.
>   gnu: Add ruby-actionview.
>   gnu: Add ruby-activejob.
>   gnu: Add ruby-activemodel.
>   gnu: Add ruby-activerecord.
>   gnu: Add ruby-railties.
>   gnu: Add ruby-sprockets-rails.
>   gnu: Add ruby-nio4r.
>   gnu: Add ruby-websocket-driver.
>   gnu: Add ruby-mail.
>   gnu: Add ruby-rails-dom-testing.
>   gnu: Add ruby-rails-html-sanitizer.
>   gnu: Add ruby-globalid.
>   gnu: Add ruby-sprockets.
>   gnu: Add ruby-websocket-extensions.
>   gnu: Add ruby-loofah.
>   gnu: Add ruby-rr.
>   gnu: Add ruby-rubocop.
>   gnu: Add ruby-parser.
>   gnu: Add ruby-powerpack.
>   gnu: Add ruby-rainbow.
>   gnu: Add ruby-thread-order.
>   gnu: Add ruby-ruby-progressbar.
>   gnu: Add ruby-unicode-display-width.
>   gnu: Add ruby-ast.
>   gnu: Add ruby-racc.
>   gnu: Add ruby-sass-rails.
>   gnu: Add ruby-uglifier.
>   gnu: Add ruby-sourcemap.
>   gnu: Add ruby-coffee-rails.
>   gnu: Add ruby-jquery-rails.
>   gnu: Add ruby-turbolinks.
>   gnu: Add ruby-jbuilder.
>   gnu: Add ruby-web-console.
>   gnu: Add ruby-rails.
>   gnu: Add ruby-sass.
>   gnu: Add ruby-turbolinks-source.
>   gnu: Add ruby-ref.
>   gnu: Add ruby-redjs.
>   gnu: Add ruby-rubygems.
>   gnu: Add ruby-heredoc-unindent.
>   gnu: Add ruby-hashdiff.
>   gnu: Add ruby-vcr.
>   gnu: Add ruby-listen.
>   gnu: Add ruby-listen-3.0.
>   gnu: Add ruby-ruby-dep.
>   gnu: Add ruby-rb-inotify.
>   gnu: Add ruby-guard-rspec.
>   gnu: Add ruby-guard-compat.
>   gnu: Add ruby-spring-watcher-listen.
>   gnu: Add ruby-rspec-spies.
>
> Christopher Baines (17):
>   gnu: Add ruby-erubi.
>   gnu: Add ruby-open4.
>   gnu: Add ruby-hamster.
>   gnu: Add ruby-lino.
>   gnu: Add ruby-terraform.
>   gnu: Add ruby-sucker-punch.
>   gnu: Add ruby-que.
>   gnu: Add ruby-autoprefixer-rails.
>   gnu: Add ruby-bootstrap-sass.
>   gnu: Add ruby-multi-xml.
>   gnu: Add ruby-omniauth-oauth2.
>   gnu: Add ruby-jwt.
>   gnu: Add ruby-oauth2.
>   gnu: Add ruby-omniauth.
>   gnu: Add ruby-warden.
>   gnu: Add ruby-warden-oauth2.
>   gnu: Add ruby-rerun.
>
>  gnu/packages/javascript.scm                        |   37 +
>  gnu/packages/maths.scm                             |   34 +
>  .../patches/ruby-coffee-rails-fix-rakefile.patch   |   20 +
>  .../patches/ruby-listen-3.0.8-patch-gemspec.patch  |   16 +
>  .../patches/ruby-listen-patch-gemspec.patch        |   16 +
>  .../ruby-rspec-its-remove-rspec-gemspec.patch      |   22 +
>  .../patches/ruby-therubyracer-fix-gemspec.patch    |   16 +
>  gnu/packages/rails.scm                             |  500 +++
>  gnu/packages/ruby.scm                              | 3331
> ++++++++++++++++++++
>  9 files changed, 3992 insertions(+)
>  create mode 100644 gnu/packages/patches/ruby-coffee-rails-fix-rakefile.
> patch
>  create mode 100644 gnu/packages/patches/ruby-listen-3.0.8-patch-gemspec.
> patch
>  create mode 100644 gnu/packages/patches/ruby-listen-patch-gemspec.patch
>  create mode 100644 gnu/packages/patches/ruby-rspec-its-remove-rspec-
> gemspec.patch
>  create mode 100644 gnu/packages/patches/ruby-
> therubyracer-fix-gemspec.patch
>

[-- Attachment #2: Type: text/html, Size: 6883 bytes --]

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH] Ruby on Rails (web-application framework)
  2018-03-03 20:55 ` [PATCH] Ruby on Rails (web-application framework) Christopher Baines
  2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
  2018-03-03 21:13   ` [bug#30689] [PATCH] Ruby on Rails (web-application framework) Gábor Boskovits
@ 2018-03-05  9:22   ` Ludovic Courtès
  2018-03-05 19:20     ` Christopher Baines
  2018-03-18 18:53   ` [bug#30689] Ruby on Rails Christopher Baines
                     ` (2 subsequent siblings)
  5 siblings, 1 reply; 59+ messages in thread
From: Ludovic Courtès @ 2018-03-05  9:22 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 30689

Hi Chris,

Christopher Baines <mail@cbaines.net> skribis:

> Let's use this bug to track the process of packaging Ruby on Rails.
>
> My current plan is to take chunks of the packages from the wip-rails-2
> [1] branch here, check them over, and then send them up for review.
>
> If anyone else wants to join in, that would be great.

Since probably few people will feel like reviewing each individual
package, I suppose you can push them once they’re ready, pass ‘guix
lint’, and generally work.

What will matter most I suppose is testing complete RoR setups.  Maybe
that’s where others can help more easily?

Thanks to you and to Ben for all of this!

Ludo’.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH] Ruby on Rails (web-application framework)
  2018-03-05  9:22   ` Ludovic Courtès
@ 2018-03-05 19:20     ` Christopher Baines
  2018-03-06 10:26       ` Ludovic Courtès
  0 siblings, 1 reply; 59+ messages in thread
From: Christopher Baines @ 2018-03-05 19:20 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30689

[-- Attachment #1: Type: text/plain, Size: 1567 bytes --]


Ludovic Courtès <ludo@gnu.org> writes:

> Hi Chris,
>
> Christopher Baines <mail@cbaines.net> skribis:
>
>> Let's use this bug to track the process of packaging Ruby on Rails.
>>
>> My current plan is to take chunks of the packages from the wip-rails-2
>> [1] branch here, check them over, and then send them up for review.
>>
>> If anyone else wants to join in, that would be great.
>
> Since probably few people will feel like reviewing each individual
> package, I suppose you can push them once they’re ready, pass ‘guix
> lint’, and generally work.
>
> What will matter most I suppose is testing complete RoR setups.  Maybe
> that’s where others can help more easily?
>
> Thanks to you and to Ben for all of this!

So I've successfully managed to get a Rails app up and running just
using Guix packages, without Bundler, and I think without Rubygems. It
wasn't too difficult, although I still don't fully understand the
relationship between Bundler and Rails.

Once everything is in Guix, I might write a blog post or put up an
example of the "Getting Started with Rails" guide, but using Guix where
appropriate. I'm not sure if this would be appropriate to have on the
Guix blog?

Also, as a more general point, I feel that it would be useful having
some documentation on the packages in Guix, especially for documenting
the individual expected differences when using a package from Guix over
other approaches. I don't know if this is something that would be
appropriate to put in the manual?

Thanks,

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH] Ruby on Rails (web-application framework)
  2018-03-05 19:20     ` Christopher Baines
@ 2018-03-06 10:26       ` Ludovic Courtès
  0 siblings, 0 replies; 59+ messages in thread
From: Ludovic Courtès @ 2018-03-06 10:26 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 30689

Hello Chris,

Christopher Baines <mail@cbaines.net> skribis:

> So I've successfully managed to get a Rails app up and running just
> using Guix packages, without Bundler, and I think without Rubygems. It
> wasn't too difficult, although I still don't fully understand the
> relationship between Bundler and Rails.

Awesome!

> Once everything is in Guix, I might write a blog post or put up an
> example of the "Getting Started with Rails" guide, but using Guix where
> appropriate. I'm not sure if this would be appropriate to have on the
> Guix blog?

I guess you could focus on using Guix to develop Rails applications, and
it would make a lot of sense as a blog post!

> Also, as a more general point, I feel that it would be useful having
> some documentation on the packages in Guix, especially for documenting
> the individual expected differences when using a package from Guix over
> other approaches. I don't know if this is something that would be
> appropriate to put in the manual?

I think it would make sense to have sections like “Developing in
language X or framework Y with Guix”.  It would be useful because it
would answer probably some of the main questions for newcomers (“how do
I need to adjust my workflow when I switch to Guix?”).

Cheers,
Ludo’.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [bug#30689] Ruby on Rails
  2018-03-03 20:55 ` [PATCH] Ruby on Rails (web-application framework) Christopher Baines
                     ` (2 preceding siblings ...)
  2018-03-05  9:22   ` Ludovic Courtès
@ 2018-03-18 18:53   ` Christopher Baines
  2018-12-21 20:46   ` swedebugia
  2019-01-28 17:28   ` [bug#30689] [PATCH 00/39] Add ruby-rails and depedencies Christopher Baines
  5 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2018-03-18 18:53 UTC (permalink / raw)
  To: 30689

[-- Attachment #1: Type: text/plain, Size: 605 bytes --]

I've pushed a few patches now. I've kept the committer as Ben, which I
hope is ok with him. I forgot to add a Signed off by line, but I'll try
to remember to do so in the future.

For some gems that are not necessary for rails, I've moved them in to
another branch (wip-rails-extra-packages) [2]. I'm hoping to send the
packages in the (wip-rails-gemset2) branch up for review next, as soon
as I've got around to working through them.

1: http://git.cbaines.net/guix/log/?h=wip-rails-2
2: http://git.cbaines.net/guix/log/?h=wip-rails-extra-packages
3: http://git.cbaines.net/guix/log/?h=wip-rails-gemset2

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [bug#30689] Ruby on Rails
  2018-03-03 20:55 ` [PATCH] Ruby on Rails (web-application framework) Christopher Baines
                     ` (3 preceding siblings ...)
  2018-03-18 18:53   ` [bug#30689] Ruby on Rails Christopher Baines
@ 2018-12-21 20:46   ` swedebugia
  2019-01-28 17:28   ` [bug#30689] [PATCH 00/39] Add ruby-rails and depedencies Christopher Baines
  5 siblings, 0 replies; 59+ messages in thread
From: swedebugia @ 2018-12-21 20:46 UTC (permalink / raw)
  To: mail, 30689

Hi.

What is the status on getting RoR into guix?
-- 
Cheers
Swedebugia

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 00/39] Add ruby-rails and depedencies.
  2018-03-03 20:55 ` [PATCH] Ruby on Rails (web-application framework) Christopher Baines
                     ` (4 preceding siblings ...)
  2018-12-21 20:46   ` swedebugia
@ 2019-01-28 17:28   ` Christopher Baines
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
  5 siblings, 1 reply; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:28 UTC (permalink / raw)
  To: 30689

[-- Attachment #1: Type: text/plain, Size: 1720 bytes --]

These patches add the ruby-rails gem and it's dependencies. Along with
updating and improving some related packages along the way.

These patches probably depend on both [1] and [2].

1: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34217
2: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34222


Christopher Baines (39):
  gnu: Add ruby-maruku.
  gnu: ruby-minitest: Update to 5.11.3.
  gnu: Add ruby-minitest-reporters.
  gnu: ruby-public-suffix: Enable tests.
  gnu: Add ruby-idn-ruby.
  gnu: ruby-addressable: Enable tests and update.
  gnu: Add ruby_version.
  gnu: Add ruby-mysql2.
  gnu: Add ruby-bump.
  gnu: ruby-activesupport: Update to 5.2.2.
  gnu: Add ruby-activemodel.
  gnu: ruby-arel: Update to 9.0.0.
  gnu: Add ruby-activerecord.
  gnu: Add ruby-rspec-rerun.
  gnu: ruby-parallel: Begin to enable tests and update version.
  gnu: Add ruby-prawn-manual-builder.
  gnu: ruby-prawn-table: Begin to enable tests.
  gnu: Add ruby-faraday.
  gnu: Add ruby-rr.
  gnu: Add ruby-crass.
  gnu: Add ruby-loofah.
  gnu: Add ruby-rails-html-sanitizer.
  gnu: Add ruby-rails-dom-testing.
  gnu: Add ruby-erubi.
  gnu: Add ruby-actionview.
  gnu: Add ruby-actionpack.
  gnu: Add ruby-websocket-extensions.
  gnu: Add ruby-websocket-driver.
  gnu: Add ruby-nio4r.
  gnu: Add ruby-actioncable.
  gnu: Add ruby-globalid.
  gnu: Add ruby-activejob.
  gnu: Add ruby-actionmailer.
  gnu: Add ruby-railties.
  gnu: Add ruby-sprockets.
  gnu: Add ruby-sprockets-rails.
  gnu: Add ruby-marcel.
  gnu: Add ruby-activestorage.
  gnu: Add ruby-rails.

 gnu/packages/rails.scm | 372 +++++++++++++++++++++
 gnu/packages/ruby.scm  | 740 +++++++++++++++++++++++++++++++++++++++--
 2 files changed, 1089 insertions(+), 23 deletions(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku.
  2019-01-28 17:28   ` [bug#30689] [PATCH 00/39] Add ruby-rails and depedencies Christopher Baines
@ 2019-01-28 17:35     ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 02/39] gnu: ruby-minitest: Update to 5.11.3 Christopher Baines
                         ` (37 more replies)
  0 siblings, 38 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

Required for ruby-minitest-reporters.

* gnu/packages/ruby.scm (ruby-maruku): New variable.
---
 gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 019b04ae22..cf94de1611 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1826,6 +1826,39 @@ It allows writing tests, checking results and automated testing in Ruby.")
     (home-page "https://test-unit.github.io/")
     (license (list license:psfl license:ruby))))
 
+(define-public ruby-maruku
+  (package
+    (name "ruby-maruku")
+    (version "0.7.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "maruku" version))
+       (sha256
+        (base32
+         "1r7bxpgnx2hp3g12bjrmdrpv663dfqxsdp0af69kjhxmaxpia56x"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; TODO: 3 tests seem to fail due to HTML encoding issues
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "rspec"))
+             #t)))))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-simplecov" ,ruby-simplecov)
+       ("ruby-nokogiri-diff" ,ruby-nokogiri-diff)))
+    (synopsis "Markdown interpreter in Ruby")
+    (description
+     "Maruku is a Markdown interpreter in Ruby.  It can export Markdown to
+HTML, and PDF through LaTeX.")
+    (home-page "https://github.com/bhollis/maruku")
+    (license license:expat)))
+
 (define-public ruby-metaclass
   (package
     (name "ruby-metaclass")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 02/39] gnu: ruby-minitest: Update to 5.11.3.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 03/39] gnu: Add ruby-minitest-reporters Christopher Baines
                         ` (36 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

As the previous version breaks the tests for the ruby-minitest-reporters
package I'd like to add.

* gnu/packages/ruby.scm (ruby-minitest): Update to 5.11.3.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index cf94de1611..877cd6f373 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2233,13 +2233,13 @@ client protocol.")
 (define-public ruby-minitest
   (package
     (name "ruby-minitest")
-    (version "5.10.3")
+    (version "5.11.3")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "minitest" version))
               (sha256
                (base32
-                "05521clw19lrksqgvg2kmm025pvdhdaniix52vmbychrn2jm7kz2"))))
+                "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"))))
     (build-system ruby-build-system)
     (native-inputs
      `(("ruby-hoe" ,ruby-hoe)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 03/39] gnu: Add ruby-minitest-reporters.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 02/39] gnu: ruby-minitest: Update to 5.11.3 Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 04/39] gnu: ruby-public-suffix: Enable tests Christopher Baines
                         ` (35 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

Required for ruby-public-suffix tests.

* gnu/packages/ruby.scm (ruby-minitest-reporters): New variable.
---
 gnu/packages/ruby.scm | 45 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 877cd6f373..ebd36df9b3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2445,6 +2445,51 @@ instance, it provides @code{assert_true}, @code{assert_false} and
     (home-page "https://github.com/halostatue/minitest-bonus-assertions")
     (license license:expat)))
 
+(define-public ruby-minitest-reporters
+  (package
+    (name "ruby-minitest-reporters")
+    (version "1.3.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "minitest-reporters" version))
+       (sha256
+        (base32
+         "1a3das80rwgys5rj48i5ly144nvszyqyi748bk9bss74jblcf5ay"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         ;; Remove the requirement on Rubocop, as it isn't useful to run, and
+         ;; including it as an input can lead to circular dependencies.
+         (add-after 'unpack 'remove-rubocop-from-Rakefile
+           (lambda _
+             (substitute* "Rakefile"
+               (("require 'rubocop/rake\\_task'") "")
+               (("RuboCop::RakeTask\\.new\\(:rubocop\\)") "[].each"))
+             #t))
+         (add-after 'extract-gemspec 'remove-rubocop-from-gemspec
+           (lambda _
+             (substitute* "minitest-reporters.gemspec"
+               ((".*%q<rubocop>.*") "\n"))
+             #t)))))
+    (propagated-inputs
+     `(("ruby-ansi" ,ruby-ansi)
+       ("ruby-builder" ,ruby-builder)
+       ("ruby-minitest" ,ruby-minitest)
+       ("ruby-ruby-progressbar" ,ruby-ruby-progressbar)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-maruku" ,ruby-maruku)))
+    (synopsis "Enhanced reporting for Minitest tests")
+    (description
+     "@code{minitest/reporters} provides a custom Minitest runner to improve
+how the test state is reported.  A number of different reporters are
+available, including a spec reporter, progress bar reporter, a HTML
+reporter.")
+    (home-page "https://github.com/kern/minitest-reporters")
+    (license license:expat)))
+
 (define-public ruby-minitest-rg
   (package
     (name "ruby-minitest-rg")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 04/39] gnu: ruby-public-suffix: Enable tests.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 02/39] gnu: ruby-minitest: Update to 5.11.3 Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 03/39] gnu: Add ruby-minitest-reporters Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 05/39] gnu: Add ruby-idn-ruby Christopher Baines
                         ` (34 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-public-suffix)[arguments]: Enable the tests, add
a phase to remove the Rubocop dependency.
[native-inputs]: Add bundler, ruby-yard, ruby-mocha and ruby-minitest-reporters.
---
 gnu/packages/ruby.scm | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ebd36df9b3..57f7108b66 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6126,8 +6126,21 @@ programs running in the background, in Ruby.")
                 "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"))))
     (build-system ruby-build-system)
     (arguments
-     ;; Tests require network
-     `(#:tests? #f))
+     '(#:phases
+       (modify-phases %standard-phases
+         ;; Remove the requirement on Rubocop, as it isn't useful to run, and
+         ;; including it as an input can lead to circular dependencies.
+         (add-after 'unpack 'remove-rubocop-from-Rakefile
+           (lambda _
+             (substitute* "Rakefile"
+               (("require \"rubocop/rake\\_task\"") "")
+               (("RuboCop::RakeTask\\.new") ""))
+             #t)))))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-yard" ,ruby-yard)
+       ("ruby-mocha" ,ruby-mocha)
+       ("ruby-minitest-reporters" ,ruby-minitest-reporters)))
     (home-page "https://simonecarletti.com/code/publicsuffix-ruby/")
     (synopsis "Domain name parser")
     (description "The gem @code{public_suffix} is a domain name parser,
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 05/39] gnu: Add ruby-idn-ruby.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (2 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 04/39] gnu: ruby-public-suffix: Enable tests Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-02-03 23:07         ` Björn Höfling
  2019-01-28 17:35       ` [bug#30689] [PATCH 06/39] gnu: ruby-addressable: Enable tests and update Christopher Baines
                         ` (33 subsequent siblings)
  37 siblings, 1 reply; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

Required for the ruby-addressable tests.

* gnu/packages/ruby.scm (ruby-idn-ruby): New variable.
---
 gnu/packages/ruby.scm | 45 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 57f7108b66..ed31ef1bdc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages java)
   #:use-module (gnu packages libffi)
+  #:use-module (gnu packages libidn)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
@@ -1993,6 +1994,50 @@ irb's last-word approach.")
     (home-page "http://tagaholic.me/bond/")
     (license license:expat)))
 
+(define-public ruby-idn-ruby
+  (package
+    (name "ruby-idn-ruby")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "idn-ruby" version))
+       (sha256
+        (base32
+         "07vblcyk3g72sbq12xz7xj28snpxnh3sbcnxy8bglqbfqqhvmawr"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'run-extconf.rb
+           (lambda _
+             (with-directory-excursion "ext"
+               (invoke "ruby" "extconf.rb")
+               (invoke "make"))
+             #t))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (apply invoke
+                      "ruby" "--verbose" "-Iext"
+                      (find-files "./test" ".*\\.rb")))
+             #t)))))
+    (inputs
+     `(("libidn" ,libidn)))
+    (synopsis "Ruby Bindings for the GNU LibIDN library")
+    (description
+     "Ruby Bindings for the GNU LibIDN library, an implementation of the
+Stringprep, Punycode and IDNA specifications.  These are used to encode and
+decode internationalized domain + names according to the IDNA2003
+specifications.
+
+Included are the most important parts of the Stringprep, Punycode and IDNA
+APIs like performing Stringprep processings, encoding to and decoding from
+Punycode strings and converting entire domain names to and from the ACE
+encoded form.")
+    (home-page "https://github.com/deepfryed/idn-ruby")
+    (license license:asl2.0)))
+
 (define-public ruby-instantiator
   (package
     (name "ruby-instantiator")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 06/39] gnu: ruby-addressable: Enable tests and update.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (3 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 05/39] gnu: Add ruby-idn-ruby Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 07/39] gnu: Add ruby_version Christopher Baines
                         ` (32 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-addressable): Update to 2.6.0.
[arguments]: Enable running the tests.
[native-inputs]: Add inputs required for running the tests.
---
 gnu/packages/ruby.scm | 31 ++++++++++++++++++++++++++-----
 1 file changed, 26 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ed31ef1bdc..7b6c56b4ef 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6199,19 +6199,40 @@ all known public suffixes.")
 (define-public ruby-addressable
   (package
     (name "ruby-addressable")
-    (version "2.5.2")
+    (version "2.6.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "addressable" version))
               (sha256
                (base32
-                "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"))))
+                "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l"))))
     (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "spec"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-unnecessary-dependencies-from-Gemfile
+          (lambda _
+            (substitute* "Gemfile"
+              (("git: 'https://github.com/sporkmonger/rack-mount.git',") "")
+              ((".*launchy.*") "")
+              ((".*rake.*") "gem 'rake'\n")
+              ((".*redcarpet.*") ""))
+            #t))
+         (add-before 'check 'delete-network-dependent-test
+           (lambda _
+             (delete-file "spec/addressable/net_http_compat_spec.rb")
+             #t)))))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("bundler" ,bundler)
+       ("ruby-idn-ruby" ,ruby-idn-ruby)
+       ("ruby-sporkmonger-rack-mount" ,ruby-sporkmonger-rack-mount)
+       ("ruby-rspec-its", ruby-rspec-its)
+       ("ruby-yard" ,ruby-yard)
+       ("ruby-simplecov" ,ruby-simplecov)))
     (propagated-inputs
      `(("ruby-public-suffix" ,ruby-public-suffix)))
-    (arguments
-     ;; No test target
-     `(#:tests? #f))
     (home-page "https://github.com/sporkmonger/addressable")
     (synopsis "Alternative URI implementation")
     (description "Addressable is a replacement for the URI implementation that
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 07/39] gnu: Add ruby_version.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (4 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 06/39] gnu: ruby-addressable: Enable tests and update Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 08/39] gnu: Add ruby-mysql2 Christopher Baines
                         ` (31 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

Required for ruby-rspec-pending-for.

* gnu/packages/ruby.scm (ruby_version): New variable.
---
 gnu/packages/ruby.scm | 47 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7b6c56b4ef..19c0734fc9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5186,6 +5186,53 @@ display width of strings in Ruby.")
     (home-page "https://github.com/janlelis/unicode-display_width")
     (license license:expat)))
 
+;; There is another gem called 'ruby-version' so we use an underscore in this
+;; name
+(define-public ruby_version
+  (package
+    (name "ruby_version")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "ruby_version" version))
+       (sha256
+        (base32
+         "0854i1bjy56176anr05l5m0vc81nl53c7fyfg7sljj62m1d64dgj"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'fix-dependencies
+           (lambda _
+             ;; Remove the Gemfile.lock, as we want to use Guix packages at
+             ;; whatever versions.
+             (delete-file "Gemfile.lock")
+             ;; Remove the incldued gem file as it's unnecessary.
+             (delete-file "pkg/ruby_version-1.0.0.gem")
+             (substitute* "ruby_version.gemspec"
+               ;; Don't require rdoc and rubygems-tasks as they're unnecessary
+               ((".*rdoc.*") "\n")
+               ((".*rubygems-tasks.*") "\n")
+               ;; Accept any version of rake and rspec
+               (("%q<rake.*") "%q<rake>)\n")
+               (("%q<rspec.*") "%q<rspec>)\n"))
+             ;; Remove the use of rubygems-tasks from the Rakefile, as it's
+             ;; unnecessary.
+             (substitute* "Rakefile"
+               (("^require 'rubygems/tasks'") "")
+               (("Gem::Tasks.new") ""))
+             #t)))))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)))
+    (synopsis "Ruby library to help check the Ruby version")
+    (description
+     "@code{ruby_version} provides a @code{RubyVersion} module to simplify
+checking for the right Ruby version in software.")
+    (home-page "https://github.com/janlelis/ruby_version")
+    (license license:expat)))
+
 (define-public ruby-domain-name
   (package
     (name "ruby-domain-name")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 08/39] gnu: Add ruby-mysql2.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (5 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 07/39] gnu: Add ruby_version Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 09/39] gnu: Add ruby-bump Christopher Baines
                         ` (30 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

Required for ruby-parallel.

* gnu/packages/ruby.scm (ruby-mysql2): New variable.
---
 gnu/packages/ruby.scm | 45 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 19c0734fc9..c202b5770d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1938,6 +1938,51 @@ specs for Ruby implementations in ruby/spec.")
     (home-page "http://rubyspec.org")
     (license license:expat)))
 
+(define-public ruby-mysql2
+  (package
+    (name "ruby-mysql2")
+    (version "0.5.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/brianmario/mysql2.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "11lvfgc2rmvkm52jp0nbi6pvhk06klznghr7llldfw8basl9n5wv"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; TODO: Tests require a running MySQL/MariaDB service
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'replace-git-ls-files
+           (lambda _
+             (substitute* "mysql2.gemspec"
+               (("git ls-files") "echo"))))
+         (add-before 'build 'compile
+           (lambda _
+             (invoke "rake" "compile")))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "rspec" "-Ilib" "-Iext"))
+             #t)))))
+    (inputs
+     `(("mariadb" ,mariadb)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-rake-compiler" ,ruby-rake-compiler)))
+    (synopsis "MySQL library for Ruby, binding to libmysql")
+    (description
+     "This package provides a simple, fast MySQL library for Ruby, binding to
+libmysql.")
+    (home-page "https://github.com/brianmario/mysql2")
+    (license license:expat)))
+
 (define-public ruby-blankslate
   (package
     (name "ruby-blankslate")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 09/39] gnu: Add ruby-bump.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (6 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 08/39] gnu: Add ruby-mysql2 Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 10/39] gnu: ruby-activesupport: Update to 5.2.2 Christopher Baines
                         ` (29 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

Required for ruby-parallel.

* gnu/packages/ruby.scm (ruby-bump): New variable.
---
 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c202b5770d..ac16b7231c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -564,6 +564,28 @@ supported: XML Markup and XML Events.")
     (home-page "https://github.com/jimweirich/builder")
     (license license:expat)))
 
+(define-public ruby-bump
+  (package
+    (name "ruby-bump")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "bump" version))
+       (sha256
+        (base32
+         "1xinbr9rzh6cj75x24niwgqcnbhdxc68a8bc41lk8xv6fd906fym"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (synopsis "Tool for working with Rubygems")
+    (description
+     "Bump provides commands to manage Rubygem versioning, updating to the
+next patch version for example.")
+    (home-page "https://github.com/gregorym/bump")
+    (license license:expat)))
+
 (define-public ruby-rjb
   (package
     (name "ruby-rjb")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 10/39] gnu: ruby-activesupport: Update to 5.2.2.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (7 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 09/39] gnu: Add ruby-bump Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 11/39] gnu: Add ruby-activemodel Christopher Baines
                         ` (28 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-activesupport): Update to 5.2.2.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ac16b7231c..004fddbc7a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3667,14 +3667,14 @@ you about the changes.")
 (define-public ruby-activesupport
   (package
     (name "ruby-activesupport")
-    (version "5.2.1")
+    (version "5.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "activesupport" version))
        (sha256
         (base32
-         "0ziy6xk31k4fs115cdkba1ys4i8nzcyri7a2jig7nx7k5h7li6l2"))))
+         "1iya7vxqwxysr74s7b4z1x19gmnx5advimzip3cbmsd5bd43wfgz"))))
     (build-system ruby-build-system)
     (arguments
      `(#:phases
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 11/39] gnu: Add ruby-activemodel.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (8 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 10/39] gnu: ruby-activesupport: Update to 5.2.2 Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 12/39] gnu: ruby-arel: Update to 9.0.0 Christopher Baines
                         ` (27 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

Required for ruby-activerecord.

* gnu/packages/rails.scm (ruby-activemodel): New variable.
---
 gnu/packages/rails.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 12/39] gnu: ruby-arel: Update to 9.0.0.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (9 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 11/39] gnu: Add ruby-activemodel Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 13/39] gnu: Add ruby-activerecord Christopher Baines
                         ` (26 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-arel): Update to 9.0.0.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 004fddbc7a..85d2cd8570 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2845,13 +2845,13 @@ rogue test/unit/autorun requires.")
 (define-public ruby-arel
   (package
     (name "ruby-arel")
-    (version "8.0.0")
+    (version "9.0.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "arel" version))
               (sha256
                (base32
-                "0nw0qbc6ph625p6n3maqq9f527vz3nbl0hk72fbyka8jzsmplxzl"))))
+                "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0"))))
     (build-system ruby-build-system)
     (arguments '(#:tests? #f)) ; no tests
     (home-page "https://github.com/rails/arel")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 13/39] gnu: Add ruby-activerecord.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (10 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 12/39] gnu: ruby-arel: Update to 9.0.0 Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 14/39] gnu: Add ruby-rspec-rerun Christopher Baines
                         ` (25 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-activerecord): New variable.
---
 gnu/packages/rails.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 14/39] gnu: Add ruby-rspec-rerun.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (11 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 13/39] gnu: Add ruby-activerecord Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 15/39] gnu: ruby-parallel: Begin to enable tests and update version Christopher Baines
                         ` (24 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

Required for ruby-parallel tests.

* gnu/packages/ruby.scm (ruby-rspec-rerun): New variable.
---
 gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 85d2cd8570..4c21c8c04a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -479,6 +479,29 @@ support for stubbing and mocking.")
     (propagated-inputs
      `(("ruby-diff-lcs" ,ruby-diff-lcs)))))
 
+(define-public ruby-rspec-rerun
+  (package
+    (name "ruby-rspec-rerun")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "rspec-rerun" version))
+       (sha256
+        (base32
+         "1gy7znkcaqhpccfnk2nvaqbsvgxy3q57cmjwkl9fi1zabaq5lbkj"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (propagated-inputs `(("ruby-rspec" ,ruby-rspec)))
+    (synopsis "Track failed RSpec tests to re-run them")
+    (description
+     "This package provides an automated way to track, and then re-run failed
+RSpec tests.")
+    (home-page "https://github.com/dblock/rspec-rerun")
+    (license license:expat)))
+
 (define-public ruby-rspec
   (package
     (name "ruby-rspec")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 15/39] gnu: ruby-parallel: Begin to enable tests and update version.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (12 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 14/39] gnu: Add ruby-rspec-rerun Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 16/39] gnu: Add ruby-prawn-manual-builder Christopher Baines
                         ` (23 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-parallel): Update to 1.13.0.
[source]: Switch to the Git repository.
[arguments]: Change the #:test-target, and modify some phases.
[native-inputs]: Add packages required for running the tests.
---
 gnu/packages/ruby.scm | 62 +++++++++++++++++++++++++++++++++++++------
 1 file changed, 54 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4c21c8c04a..8e2c18933e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -36,11 +36,14 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages dbm)
+  #:use-module (gnu packages rails)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages java)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages libidn)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lsof)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
@@ -6638,15 +6641,58 @@ interface.  It allows Jekyll to rebuild your site when a file changes.")
 (define-public ruby-parallel
   (package
     (name "ruby-parallel")
-    (version "1.12.1")
-    (source (origin
-              (method url-fetch)
-              (uri (rubygems-uri "parallel" version))
-              (sha256
-               (base32
-                "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"))))
+    (version "1.13.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/grosser/parallel.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1isqzbqxz2ndad4i5z3lb9ldrhaijfncj8bmffv04sq44sv87ikv"))))
     (build-system ruby-build-system)
-    (arguments `(#:tests? #f)); No rakefile
+    (arguments
+     `(;; TODO 3 test failures
+       ;; rspec ./spec/parallel_spec.rb:190 # Parallel.in_processes does not
+       ;; open unnecessary pipes
+       ;; rspec './spec/parallel_spec.rb[1:9:7]' # Parallel.each works with
+       ;; SQLite in processes
+       ;; rspec './spec/parallel_spec.rb[1:9:16]' # Parallel.each works with
+       ;; SQLite in threads
+       #:tests? #f
+       #:test-target "rspec-rerun:spec"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-Gemfile
+           (lambda _
+             (substitute* "Gemfile"
+               (("gem 'rspec-legacy_formatters'") "")
+               (("gem 'activerecord.*$") "gem 'activerecord'\n"))))
+         (add-before 'check 'delete-Gemfile.lock
+           (lambda _
+             ;; Bundler isn't being used for fetching dependendencies, so
+             ;; delete the Gemfile.lock
+             (delete-file "Gemfile.lock")
+             #t))
+         (add-before 'build 'patch-gemspec
+           (lambda _
+             (substitute* "parallel.gemspec"
+               (("git ls-files") "find"))
+             #t)))))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-rspec-rerun" ,ruby-rspec-rerun)
+       ("bundler" ,bundler)
+       ("ruby-activerecord" ,ruby-activerecord)
+       ("ruby-ruby-progressbar" ,ruby-ruby-progressbar)
+       ("ruby-bump" ,ruby-bump)
+       ("procps" ,procps)
+       ("lsof" ,lsof)
+       ("ruby-mysql2" ,ruby-mysql2)
+       ("ruby-sqlite3" ,ruby-sqlite3)
+       ("ruby-i18n" ,ruby-i18n)))
     (home-page "https://github.com/grosser/parallel")
     (synopsis "Parallel processing in Ruby")
     (description "Parallel allows you to run any code in parallel Processes
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 16/39] gnu: Add ruby-prawn-manual-builder.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (13 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 15/39] gnu: ruby-parallel: Begin to enable tests and update version Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 17/39] gnu: ruby-prawn-table: Begin to enable tests Christopher Baines
                         ` (22 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

Required for the ruby-prawn-table tests.

* gnu/packages/ruby.scm (ruby-prawn-manual-builder): New variable.
---
 gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 8e2c18933e..b9ddaa6eb3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3065,6 +3065,40 @@ for select languages.")
     (home-page "https://github.com/whitequark/parser")
     (license license:expat)))
 
+(define-public ruby-prawn-manual-builder
+  (package
+    (name "ruby-prawn-manual-builder")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "prawn-manual_builder" version))
+       (sha256
+        (base32
+         "0wbjnkqp55p5wmz85ldypcray223glckd209hmdxhnzk8s5pb3za"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'patch-gemspec
+           (lambda _
+             (substitute* ".gemspec"
+               ;; Loosen the requirement for pdf-inspector
+               (("~> 1\\.0\\.7") ">= 0")))))))
+    (propagated-inputs
+     `(("ruby-coderay" ,ruby-coderay)))
+    (synopsis "Tool for writing manuals for Prawn and Prawn accessories")
+    (description
+     "This package provides a tool for writing manuals for Prawn and Prawn
+accessories")
+    (home-page "https://github.com/prawnpdf/prawn-manual_builder")
+    (license (list
+              ;; GPLv2 or GPLv3 or custom license described in LICENSE file
+              license:gpl2
+              license:gpl3))))
+
 (define-public ruby-progress_bar
   (package
     (name "ruby-progress_bar")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 17/39] gnu: ruby-prawn-table: Begin to enable tests.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (14 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 16/39] gnu: Add ruby-prawn-manual-builder Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:35       ` [bug#30689] [PATCH 18/39] gnu: Add ruby-faraday Christopher Baines
                         ` (21 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-prawn-table)[propagated-inputs]: Add
ruby-pdf-inspector.
[native-inputs]: Add packages for tests.
[arguments]: Modify the build phases to get closer to enabling the tests.
---
 gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++--
 1 file changed, 33 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b9ddaa6eb3..12d83a678a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6892,9 +6892,40 @@ functionality from Prawn.")
                (base32
                 "1nxd6qmxqwl850icp18wjh5k0s3amxcajdrkjyzpfgq0kvilcv9k"))))
     (build-system ruby-build-system)
-    (arguments `(#:tests? #f)); No rakefile
     (propagated-inputs
-     `(("ruby-prawn" ,ruby-prawn)))
+     `(("ruby-prawn" ,ruby-prawn)
+       ("ruby-pdf-inspector" ,ruby-pdf-inspector)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-yard" ,ruby-yard)
+       ("ruby-mocha" ,ruby-mocha)
+       ("ruby-coderay" ,ruby-coderay)
+       ("ruby-prawn-manual-builder" ,ruby-prawn-manual-builder)
+       ("ruby-simplecov" ,ruby-simplecov)
+       ("ruby-rspec-2" ,ruby-rspec-2)))
+    (arguments
+     '(;; TODO: 1 test fails
+       ;; Failure/Error: pdf.page_count.should == 1
+       ;;   expected: 1
+       ;;        got: 2 (using ==)
+       ;; # ./spec/table_spec.rb:1308
+       ;;
+       ;; 225 examples, 1 failure
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'patch-gemspec
+           (lambda _
+             (substitute* "prawn-table.gemspec"
+               ;; Loosen the requirement for pdf-inspector
+               (("~> 1\\.1\\.0") ">= 0")
+               ;; Loosen the requirement for pdf-reader
+               (("~> 1\\.2") ">= 0"))))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "rspec"))
+             #t)))))
     (home-page "https://github.com/prawnpdf/prawn-table")
     (synopsis "Tables support for Prawn")
     (description "This gem provides tables support for Prawn.")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 18/39] gnu: Add ruby-faraday.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (15 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 17/39] gnu: ruby-prawn-table: Begin to enable tests Christopher Baines
@ 2019-01-28 17:35       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 19/39] gnu: Add ruby-rr Christopher Baines
                         ` (20 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:35 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-faraday): New variable.
---
 gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 12d83a678a..0046447748 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7246,3 +7246,26 @@ Pathname.")
     (description "The Pagination Generator forms the core of the pagination
 logic in Jekyll.  It calculates and generates the pagination pages.")
     (license license:expat)))
+
+(define-public ruby-faraday
+  (package
+    (name "ruby-faraday")
+    (version "0.15.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "faraday" version))
+       (sha256
+        (base32
+         "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))
+    (propagated-inputs
+     `(("ruby-multipart-post" ,ruby-multipart-post)))
+    (synopsis "Ruby HTTP/REST API client library")
+    (description
+     "Faraday is a HTTP/REST API client library which provides a common
+interface over different adapters.")
+    (home-page "https://github.com/lostisland/faraday")
+    (license license:expat)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 19/39] gnu: Add ruby-rr.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (16 preceding siblings ...)
  2019-01-28 17:35       ` [bug#30689] [PATCH 18/39] gnu: Add ruby-faraday Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 20/39] gnu: Add ruby-crass Christopher Baines
                         ` (19 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-rr): New variable.
---
 gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0046447748..b760cc0fc1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4296,6 +4296,30 @@ wrapping them in ANSI escape codes.")
     (home-page "https://github.com/sickill/rainbow")
     (license license:expat)))
 
+(define-public ruby-rr
+  (package
+    (name "ruby-rr")
+    (version "1.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "rr" version))
+       (sha256
+        (base32
+         "1n9g78ba4c2zzmz8cdb97c38h1xm0clircag00vbcxwqs4dq0ymp"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f)) ; test files not included
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)))
+    (synopsis "Ruby test double framework")
+    (description
+     "RR is a test double framework that features a rich selection of double
+techniques and a terse syntax.")
+    (home-page "https://rr.github.io/rr/")
+    (license license:expat)))
+
 (define-public ruby-rest-client
   (package
     (name "ruby-rest-client")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 20/39] gnu: Add ruby-crass.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (17 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 19/39] gnu: Add ruby-rr Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 21/39] gnu: Add ruby-loofah Christopher Baines
                         ` (18 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

Required for upgrading ruby-loofah.

* gnu/packages/ruby.scm (ruby-crass): New variable.
---
 gnu/packages/ruby.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b760cc0fc1..a2ec683ce9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -918,6 +918,24 @@ code in Merb and Rails.")
     (home-page "https://github.com/jnunemaker/crack")
     (license license:expat)))
 
+(define-public ruby-crass
+  (package
+    (name "ruby-crass")
+    (version "1.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "crass" version))
+       (sha256
+        (base32
+         "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi"))))
+    (build-system ruby-build-system)
+    (synopsis "Pure Ruby CSS parser based on CSS Syntax Level 3")
+    (description
+     "Crass is a pure Ruby CSS parser based on the CSS Syntax Level 3 spec.")
+    (home-page "https://github.com/rgrove/crass/")
+    (license license:expat)))
+
 (define-public ruby-cliver
   (package
     (name "ruby-cliver")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 21/39] gnu: Add ruby-loofah.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (18 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 20/39] gnu: Add ruby-crass Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 22/39] gnu: Add ruby-rails-html-sanitizer Christopher Baines
                         ` (17 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-loofah): New variable.
---
 gnu/packages/ruby.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a2ec683ce9..4d93fef024 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3742,6 +3742,44 @@ you about the changes.")
                (base32
                 "1l0y7hbyfiwpvk172r28hsdqsifq1ls39hsfmzi1vy4ll0smd14i"))))))
 
+(define-public ruby-loofah
+  (package
+    (name "ruby-loofah")
+    (version "2.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "loofah" version))
+       (sha256
+        (base32
+         "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-unnecessary-dependencies
+           (lambda _
+             ;; concourse is a development tool which is unused, so remove it
+             ;; so it's not required.
+             (substitute* "Gemfile"
+               ((".*\"concourse\".*") "\n"))
+             (substitute* "Rakefile"
+               (("require 'concourse'") "")
+               (("Concourse\\.new.*") "\n"))
+             #t)))))
+    (native-inputs
+     `(("ruby-hoe" ,ruby-hoe)
+       ("ruby-rr" ,ruby-rr)))
+    (propagated-inputs
+     `(("ruby-nokogiri" ,ruby-nokogiri)
+       ("ruby-crass" ,ruby-crass)))
+    (synopsis "Ruby library for manipulating and transforming HTML/XML")
+    (description
+     "Loofah is a general library for manipulating and transforming HTML/XML
+documents and fragments.  It's built on top of Nokogiri and libxml2.")
+    (home-page "https://github.com/flavorjones/loofah")
+    (license license:expat)))
+
 (define-public ruby-activesupport
   (package
     (name "ruby-activesupport")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 22/39] gnu: Add ruby-rails-html-sanitizer.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (19 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 21/39] gnu: Add ruby-loofah Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 23/39] gnu: Add ruby-rails-dom-testing Christopher Baines
                         ` (16 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-rails-html-sanitizer): New variable.
---
 gnu/packages/rails.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 23/39] gnu: Add ruby-rails-dom-testing.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (20 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 22/39] gnu: Add ruby-rails-html-sanitizer Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 24/39] gnu: Add ruby-erubi Christopher Baines
                         ` (15 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-rails-dom-testing): New variable.
---
 gnu/packages/rails.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 24/39] gnu: Add ruby-erubi.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (21 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 23/39] gnu: Add ruby-rails-dom-testing Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 25/39] gnu: Add ruby-actionview Christopher Baines
                         ` (14 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

Required for ruby-actionview.

* gnu/packages/ruby.scm (ruby-erubi): New variable.
---
 gnu/packages/ruby.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4d93fef024..023b07149a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1103,6 +1103,25 @@ functions.")
     (home-page "https://github.com/ahoward/options")
     (license license:ruby)))
 
+(define-public ruby-erubi
+  (package
+    (name "ruby-erubi")
+    (version "1.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "erubi" version))
+       (sha256
+        (base32
+         "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1"))))
+    (build-system ruby-build-system)
+    (synopsis "ERB template engine for Ruby")
+    (description
+     "Erubi is a ERB template engine for Ruby.  It is a simplified fork of
+Erubis")
+    (home-page "https://github.com/jeremyevans/erubi")
+    (license license:expat)))
+
 (define-public ruby-erubis
   (package
     (name "ruby-erubis")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 25/39] gnu: Add ruby-actionview.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (22 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 24/39] gnu: Add ruby-erubi Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 26/39] gnu: Add ruby-actionpack Christopher Baines
                         ` (13 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-actionview): New variable.
---
 gnu/packages/rails.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 26/39] gnu: Add ruby-actionpack.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (23 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 25/39] gnu: Add ruby-actionview Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 27/39] gnu: Add ruby-websocket-extensions Christopher Baines
                         ` (12 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-actionpack): New variable.
---
 gnu/packages/rails.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 27/39] gnu: Add ruby-websocket-extensions.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (24 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 26/39] gnu: Add ruby-actionpack Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 28/39] gnu: Add ruby-websocket-driver Christopher Baines
                         ` (11 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-websocket-extensions): New variable.
---
 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 023b07149a..e74cef3676 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5459,6 +5459,28 @@ checking for the right Ruby version in software.")
     (home-page "https://github.com/janlelis/ruby_version")
     (license license:expat)))
 
+(define-public ruby-websocket-extensions
+  (package
+    (name "ruby-websocket-extensions")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "websocket-extensions" version))
+       (sha256
+        (base32
+         "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (synopsis "Generic extension manager for WebSocket connections")
+    (description
+     "@code{websocket-extensions} provides a container for registering
+extension plugins.")
+    (home-page "https://github.com/faye/websocket-extensions-ruby")
+    (license license:expat)))
+
 (define-public ruby-domain-name
   (package
     (name "ruby-domain-name")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 28/39] gnu: Add ruby-websocket-driver.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (25 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 27/39] gnu: Add ruby-websocket-extensions Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 29/39] gnu: Add ruby-nio4r Christopher Baines
                         ` (10 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-websocket-driver): New variable.
---
 gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e74cef3676..e7ee0d8bf1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5459,6 +5459,29 @@ checking for the right Ruby version in software.")
     (home-page "https://github.com/janlelis/ruby_version")
     (license license:expat)))
 
+(define-public ruby-websocket-driver
+  (package
+   (name "ruby-websocket-driver")
+   (version "0.7.0")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (rubygems-uri "websocket-driver" version))
+     (sha256
+      (base32
+       "1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn"))))
+   (build-system ruby-build-system)
+   (arguments
+     `(#:tests? #f)) ; tests not included
+   (propagated-inputs
+    `(("ruby-websocket-extensions" ,ruby-websocket-extensions)))
+   (synopsis "WebSocket protocol handler with pluggable I/O")
+   (description
+    "@code{websocket-driver} provides a complete implementation of the
+WebSocket protocols that can be hooked up to any TCP library")
+   (home-page "https://github.com/faye/websocket-driver-ruby")
+   (license license:expat)))
+
 (define-public ruby-websocket-extensions
   (package
     (name "ruby-websocket-extensions")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 29/39] gnu: Add ruby-nio4r.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (26 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 28/39] gnu: Add ruby-websocket-driver Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 30/39] gnu: Add ruby-actioncable Christopher Baines
                         ` (9 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

Required for ruby-actioncable.

* gnu/packages/ruby.scm (ruby-nio4r): New variable.
---
 gnu/packages/ruby.scm | 49 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e7ee0d8bf1..4acdc31473 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7413,3 +7413,52 @@ logic in Jekyll.  It calculates and generates the pagination pages.")
 interface over different adapters.")
     (home-page "https://github.com/lostisland/faraday")
     (license license:expat)))
+
+(define-public ruby-nio4r
+  (package
+   (name "ruby-nio4r")
+   (version "2.3.1")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (rubygems-uri "nio4r" version))
+     (sha256
+      (base32
+       "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr"))))
+   (build-system ruby-build-system)
+   (arguments
+    '(#:phases
+      (modify-phases %standard-phases
+        (add-after 'unpack 'remove-unnecessary-dependencies
+          (lambda _
+            (substitute* "spec/spec_helper.rb"
+              ;; Coveralls is for uploading test coverage information to an
+              ;; online service, and thus unnecessary for building the Guix
+              ;; package
+              (("require \"coveralls\"") "")
+              (("Coveralls\\.wear!") "")
+              ;; Remove rspec/retry as we are not retrying the tests
+              (("require \"rspec/retry\"") "")
+              (("config\\.display_try_failure_messages = true") "")
+              (("config\\.verbose_retry = true") ""))
+            #t))
+        (add-before 'check 'compile
+          (lambda _
+            (invoke "rake" "compile")
+            #t))
+        (replace 'check
+          (lambda* (#:key tests? #:allow-other-keys)
+            (when tests?
+              (invoke "rspec"))
+            #t)))))
+   (native-inputs
+    `(("bundler" ,bundler)
+      ("ruby-rake-compiler" ,ruby-rake-compiler)
+      ("ruby-rspec" ,ruby-rspec)
+      ("ruby-rubocop" ,ruby-rubocop)))
+   (synopsis "New I/O for Ruby")
+   (description
+    "@code{nio} provides cross-platform asynchronous I/O primitives in Ruby
+for scalable network clients and servers.")
+   (home-page "https://github.com/socketry/nio4r")
+   (license license:expat)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 30/39] gnu: Add ruby-actioncable.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (27 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 29/39] gnu: Add ruby-nio4r Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 31/39] gnu: Add ruby-globalid Christopher Baines
                         ` (8 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-actioncable): New variable.
---
 gnu/packages/rails.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 31/39] gnu: Add ruby-globalid.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (28 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 30/39] gnu: Add ruby-actioncable Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 32/39] gnu: Add ruby-activejob Christopher Baines
                         ` (7 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

Required for ruby-activejob.

* gnu/packages/ruby.scm (ruby-globalid): New variable.
---
 gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4acdc31473..cda51166da 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7462,3 +7462,27 @@ interface over different adapters.")
 for scalable network clients and servers.")
    (home-page "https://github.com/socketry/nio4r")
    (license license:expat)))
+
+(define-public ruby-globalid
+  (package
+   (name "ruby-globalid")
+   (version "0.4.2")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (rubygems-uri "globalid" version))
+     (sha256
+      (base32
+       "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1"))))
+   (build-system ruby-build-system)
+   (arguments
+    '(;; No included tests
+      #:tests? #f))
+   (propagated-inputs
+    `(("ruby-activesupport" ,ruby-activesupport)))
+   (synopsis "Generate URIs idenfitying model instances in Ruby")
+   (description
+    "@code{GlobalID} provides a way to generate URIs from a model in Ruby that
+uniquely identify it.")
+   (home-page "https://rubyonrails.org/")
+   (license license:expat)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 32/39] gnu: Add ruby-activejob.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (29 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 31/39] gnu: Add ruby-globalid Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 33/39] gnu: Add ruby-actionmailer Christopher Baines
                         ` (6 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-activejob): New variable.
---
 gnu/packages/rails.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 33/39] gnu: Add ruby-actionmailer.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (30 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 32/39] gnu: Add ruby-activejob Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 34/39] gnu: Add ruby-railties Christopher Baines
                         ` (5 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-actionmailer): New variable.
---
 gnu/packages/rails.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 34/39] gnu: Add ruby-railties.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (31 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 33/39] gnu: Add ruby-actionmailer Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 35/39] gnu: Add ruby-sprockets Christopher Baines
                         ` (4 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-railties): New variable.
---
 gnu/packages/rails.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 35/39] gnu: Add ruby-sprockets.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (32 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 34/39] gnu: Add ruby-railties Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 36/39] gnu: Add ruby-sprockets-rails Christopher Baines
                         ` (3 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/ruby.scm (ruby-sprockets): New variable.
---
 gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index cda51166da..a05d0f63e4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7486,3 +7486,28 @@ for scalable network clients and servers.")
 uniquely identify it.")
    (home-page "https://rubyonrails.org/")
    (license license:expat)))
+
+(define-public ruby-sprockets
+  (package
+    (name "ruby-sprockets")
+    (version "3.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "sprockets" version))
+       (sha256
+        (base32
+         "0sv3zk5hwxyjvg7iy9sggjc7k3mfxxif7w8p260rharfyib939ar"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-concurrent" ,ruby-concurrent)
+       ("ruby-rack" ,ruby-rack)))
+    (synopsis "Sprockets is a Rack-based asset packaging system")
+    (description
+     "Sprockets is a Rack-based asset packaging system that concatenates and
+serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.")
+    (home-page "https://github.com/rails/sprockets")
+    (license license:expat)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 36/39] gnu: Add ruby-sprockets-rails.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (33 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 35/39] gnu: Add ruby-sprockets Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 37/39] gnu: Add ruby-marcel Christopher Baines
                         ` (2 subsequent siblings)
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-sprockets-rails): New variable.
---
 gnu/packages/rails.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 37/39] gnu: Add ruby-marcel.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (34 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 36/39] gnu: Add ruby-sprockets-rails Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 38/39] gnu: Add ruby-activestorage Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 39/39] gnu: Add ruby-rails Christopher Baines
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

Required for ruby-activestorage.

* gnu/packages/ruby.scm (ruby-marcel): New variable.
---
 gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a05d0f63e4..5302c87ae0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2924,6 +2924,30 @@ Ruby.  It simplifies the generation of complex SQL queries and adapts to
 various relational database implementations.")
     (license license:expat)))
 
+(define-public ruby-marcel
+  (package
+    (name "ruby-marcel")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "marcel" version))
+       (sha256
+        (base32
+         "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-mimemagic" ,ruby-mimemagic)))
+    (synopsis "MIME type detection using magic numbers, filenames and extensions")
+    (description
+     "@code{marcel} provides @acronym{MIME, Multipurpose Internet Mail
+Extensions} type detection using magic numbers, filenames, and extensions")
+    (home-page "https://github.com/basecamp/marcel")
+    (license license:expat)))
+
 (define-public ruby-minitar
   ;; We package from the GitHub source to fix the security issue reported at
   ;; https://github.com/halostatue/minitar/issues/16.
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 38/39] gnu: Add ruby-activestorage.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (35 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 37/39] gnu: Add ruby-marcel Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  2019-01-28 17:36       ` [bug#30689] [PATCH 39/39] gnu: Add ruby-rails Christopher Baines
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-activestorage): New variable.
---
 gnu/packages/rails.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

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")
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 39/39] gnu: Add ruby-rails.
  2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
                         ` (36 preceding siblings ...)
  2019-01-28 17:36       ` [bug#30689] [PATCH 38/39] gnu: Add ruby-activestorage Christopher Baines
@ 2019-01-28 17:36       ` Christopher Baines
  37 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-01-28 17:36 UTC (permalink / raw)
  To: 30689

* gnu/packages/rails.scm (ruby-rails): New variable.
---
 gnu/packages/rails.scm | 53 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

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)))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 05/39] gnu: Add ruby-idn-ruby.
  2019-01-28 17:35       ` [bug#30689] [PATCH 05/39] gnu: Add ruby-idn-ruby Christopher Baines
@ 2019-02-03 23:07         ` Björn Höfling
  2019-02-08 20:01           ` Christopher Baines
  0 siblings, 1 reply; 59+ messages in thread
From: Björn Höfling @ 2019-02-03 23:07 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 30689

On Mon, 28 Jan 2019 17:35:46 +0000
Christopher Baines <mail@cbaines.net> wrote:

> Required for the ruby-addressable tests.
> 
> * gnu/packages/ruby.scm (ruby-idn-ruby): New variable.

This package is NOT reproducible:

│ │ │ │ │ │ ├── Makefile
│ │ │ │ │ │ │ @@ -27,16 +27,16 @@
│ │ │ │ │ │ │  rubyarchhdrdir = $(rubyhdrdir)/$(arch)
│ │ │ │ │ │ │  vendorhdrdir = $(rubyhdrdir)/vendor_ruby
│ │ │ │ │ │ │  sitehdrdir = $(rubyhdrdir)/site_ruby
│ │ │ │ │ │ │  rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
│ │ │ │ │ │ │  vendorarchdir = $(vendorlibdir)/$(sitearch)
│ │ │ │ │ │ │  vendorlibdir = $(vendordir)/$(ruby_version)
│ │ │ │ │ │ │  vendordir = $(rubylibprefix)/vendor_ruby
│ │ │ │ │ │ │ -sitearchdir = $(DESTDIR)./.gem.20190203-76-1x18rur
│ │ │ │ │ │ │ -sitelibdir = $(DESTDIR)./.gem.20190203-76-1x18rur
│ │ │ │ │ │ │ +sitearchdir = $(DESTDIR)./.gem.20190203-76-3av0wa
│ │ │ │ │ │ │ +sitelibdir = $(DESTDIR)./.gem.20190203-76-3av0wa

Can you have a look into it?

I have NOT reviewed anything else of that package.

Thank you,

Björn

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [bug#30689] [PATCH 05/39] gnu: Add ruby-idn-ruby.
  2019-02-03 23:07         ` Björn Höfling
@ 2019-02-08 20:01           ` Christopher Baines
  0 siblings, 0 replies; 59+ messages in thread
From: Christopher Baines @ 2019-02-08 20:01 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 30689

[-- Attachment #1: Type: text/plain, Size: 1777 bytes --]


Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

> On Mon, 28 Jan 2019 17:35:46 +0000
> Christopher Baines <mail@cbaines.net> wrote:
>
>> Required for the ruby-addressable tests.
>>
>> * gnu/packages/ruby.scm (ruby-idn-ruby): New variable.
>
> This package is NOT reproducible:
>
> │ │ │ │ │ │ ├── Makefile
> │ │ │ │ │ │ │ @@ -27,16 +27,16 @@
> │ │ │ │ │ │ │  rubyarchhdrdir = $(rubyhdrdir)/$(arch)
> │ │ │ │ │ │ │  vendorhdrdir = $(rubyhdrdir)/vendor_ruby
> │ │ │ │ │ │ │  sitehdrdir = $(rubyhdrdir)/site_ruby
> │ │ │ │ │ │ │  rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
> │ │ │ │ │ │ │  vendorarchdir = $(vendorlibdir)/$(sitearch)
> │ │ │ │ │ │ │  vendorlibdir = $(vendordir)/$(ruby_version)
> │ │ │ │ │ │ │  vendordir = $(rubylibprefix)/vendor_ruby
> │ │ │ │ │ │ │ -sitearchdir = $(DESTDIR)./.gem.20190203-76-1x18rur
> │ │ │ │ │ │ │ -sitelibdir = $(DESTDIR)./.gem.20190203-76-1x18rur
> │ │ │ │ │ │ │ +sitearchdir = $(DESTDIR)./.gem.20190203-76-3av0wa
> │ │ │ │ │ │ │ +sitelibdir = $(DESTDIR)./.gem.20190203-76-3av0wa
>
> Can you have a look into it?
>
> I have NOT reviewed anything else of that package.

Interesting, it seems that the ruby-build-system should remove some
unnecessary files, like this Makefile you mention, but the functionality
is not working.

I've pushed a patch [1] that fixes this to the bug I already have open
regarding the ruby-build-system [2].

1: [PATCH v2 3/3] guix: ruby-build-system: Fix removal of extension
related files.
2: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34385

Thanks,

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 59+ messages in thread

end of thread, other threads:[~2019-02-08 20:18 UTC | newest]

Thread overview: 59+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <87shan9lcy.fsf@cbaines.net>
2018-03-03 20:55 ` [PATCH] Ruby on Rails (web-application framework) Christopher Baines
2018-03-03 21:02   ` [bug#30689] [PATCH 01/10] gnu: Add ruby-asciimath Christopher Baines
2018-03-03 21:03     ` [bug#30689] [PATCH 02/10] gnu: Add ruby-asciidoctor Christopher Baines
2018-03-03 21:03     ` [bug#30689] [PATCH 03/10] gnu: Add ruby-rack-test Christopher Baines
2018-03-03 21:03     ` [bug#30689] [PATCH 04/10] gnu: Add ruby-rack-protection Christopher Baines
2018-03-03 21:03     ` [bug#30689] [PATCH 05/10] gnu: Add ruby-contest Christopher Baines
2018-03-03 21:03     ` [bug#30689] [PATCH 06/10] gnu: Add ruby-creole Christopher Baines
2018-03-03 21:03     ` [bug#30689] [PATCH 07/10] gnu: Add ruby-sporkmonger-rack-mount Christopher Baines
2018-03-03 21:03     ` [bug#30689] [PATCH 08/10] gnu: Add ruby-erubis Christopher Baines
2018-03-03 21:03     ` [bug#30689] [PATCH 09/10] gnu: Add ruby-rake Christopher Baines
2018-03-03 21:03     ` [bug#30689] [PATCH 10/10] gnu: Add ruby-ruby-engine Christopher Baines
2018-03-03 21:13   ` [bug#30689] [PATCH] Ruby on Rails (web-application framework) Gábor Boskovits
2018-03-05  9:22   ` Ludovic Courtès
2018-03-05 19:20     ` Christopher Baines
2018-03-06 10:26       ` Ludovic Courtès
2018-03-18 18:53   ` [bug#30689] Ruby on Rails Christopher Baines
2018-12-21 20:46   ` swedebugia
2019-01-28 17:28   ` [bug#30689] [PATCH 00/39] Add ruby-rails and depedencies Christopher Baines
2019-01-28 17:35     ` [bug#30689] [PATCH 01/39] gnu: Add ruby-maruku Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 02/39] gnu: ruby-minitest: Update to 5.11.3 Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 03/39] gnu: Add ruby-minitest-reporters Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 04/39] gnu: ruby-public-suffix: Enable tests Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 05/39] gnu: Add ruby-idn-ruby Christopher Baines
2019-02-03 23:07         ` Björn Höfling
2019-02-08 20:01           ` Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 06/39] gnu: ruby-addressable: Enable tests and update Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 07/39] gnu: Add ruby_version Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 08/39] gnu: Add ruby-mysql2 Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 09/39] gnu: Add ruby-bump Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 10/39] gnu: ruby-activesupport: Update to 5.2.2 Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 11/39] gnu: Add ruby-activemodel Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 12/39] gnu: ruby-arel: Update to 9.0.0 Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 13/39] gnu: Add ruby-activerecord Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 14/39] gnu: Add ruby-rspec-rerun Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 15/39] gnu: ruby-parallel: Begin to enable tests and update version Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 16/39] gnu: Add ruby-prawn-manual-builder Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 17/39] gnu: ruby-prawn-table: Begin to enable tests Christopher Baines
2019-01-28 17:35       ` [bug#30689] [PATCH 18/39] gnu: Add ruby-faraday Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 19/39] gnu: Add ruby-rr Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 20/39] gnu: Add ruby-crass Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 21/39] gnu: Add ruby-loofah Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 22/39] gnu: Add ruby-rails-html-sanitizer Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 23/39] gnu: Add ruby-rails-dom-testing Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 24/39] gnu: Add ruby-erubi Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 25/39] gnu: Add ruby-actionview Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 26/39] gnu: Add ruby-actionpack Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 27/39] gnu: Add ruby-websocket-extensions Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 28/39] gnu: Add ruby-websocket-driver Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 29/39] gnu: Add ruby-nio4r Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 30/39] gnu: Add ruby-actioncable Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 31/39] gnu: Add ruby-globalid Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 32/39] gnu: Add ruby-activejob Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 33/39] gnu: Add ruby-actionmailer Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 34/39] gnu: Add ruby-railties Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 35/39] gnu: Add ruby-sprockets Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 36/39] gnu: Add ruby-sprockets-rails Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 37/39] gnu: Add ruby-marcel Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 38/39] gnu: Add ruby-activestorage Christopher Baines
2019-01-28 17:36       ` [bug#30689] [PATCH 39/39] gnu: Add ruby-rails Christopher Baines

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).