unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related
@ 2019-02-17 19:13 Christopher Baines
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                   ` (3 more replies)
  0 siblings, 4 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:13 UTC (permalink / raw)
  To: 34514

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

These patches add a number of useful Ruby libraries, and involve some
more general improvements and updates along the way.

In summary of the changes to existing packages, libsass is added and the
sassc package is improved to make use of this new
package. ruby-jekyll-watch is updated, allowing the removal of
ruby-listen-3.0. ruby-listen itself is also improved a bit, and now the
test suite is run. Finally, the core RSpec packages are all updated.

These are the packages I believe that have been changed: ruby-open4
ruby-hamster ruby-lino ruby-terraform ruby-que ruby-rbnacl ruby-jwt
ruby-multi-xml ruby-oauth2 ruby-omniauth ruby-warden ruby-warden-oauth2
ruby-with-advisory-lock ruby-omniauth-oauth2 ruby-test-construct libsass
sassc ruby-sassc ruby-markaby ruby-temple ruby-haml ruby-tilt
ruby-sass-rails ruby-dep ruby-jekyll-watch ruby-listen ruby-bindex
ruby-web-console ruby-execjs ruby-rspec ruby-rspec-support
ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks
ruby-rspec-rails ruby-autoprefixer-rails ruby-rerun

Overall this results in 202 builds according to guix refresh.


Christopher Baines (34):
  gnu: Add ruby-hamster.
  gnu: Add ruby-lino.
  gnu: Add ruby-terraform.
  gnu: Add ruby-que.
  gnu: Add ruby-rbnacl.
  gnu: Add ruby-jwt.
  gnu: Add ruby-multi-xml.
  gnu: Add ruby-oauth2.
  gnu: Add ruby-omniauth.
  gnu: Add ruby-warden.
  gnu: Add ruby-warden-oauth2.
  gnu: Add ruby-with-advisory-lock.
  gnu: Add ruby-omniauth-oauth2.
  gnu: Add ruby-test-construct.
  gnu: Add ruby-minitest-around.
  gnu: Add libsass.
  gnu: sassc: Update and improve the package.
  gnu: Add ruby-sassc.
  gnu: Add ruby-markaby.
  gnu: Add ruby-temple.
  gnu: Add ruby-haml.
  gnu: Add ruby-tilt.
  gnu: Add ruby-sass-rails.
  gnu: Add ruby-dep.
  gnu: ruby-jekyll-watch: Update to 2.1.2.
  gnu: Remove ruby-listen-3.0.
  gnu: ruby-listen: Enable running the tests.
  gnu: Add ruby-bindex.
  gnu: Add ruby-web-console.
  gnu: Add ruby-execjs.
  gnu: ruby: Update some RSpec packages.
  gnu: Add ruby-rspec-rails.
  gnu: Add ruby-autoprefixer-rails.
  gnu: Add ruby-rerun.

 gnu/packages/rails.scm | 195 ++++++++++
 gnu/packages/ruby.scm  | 841 +++++++++++++++++++++++++++++++++++++++--
 gnu/packages/web.scm   | 130 ++++---
 3 files changed, 1087 insertions(+), 79 deletions(-)

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

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

* [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster.
  2019-02-17 19:13 [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related Christopher Baines
@ 2019-02-17 19:22 ` Christopher Baines
  2019-02-17 19:22   ` [bug#34514] [PATCH 02/34] gnu: Add ruby-lino Christopher Baines
                     ` (33 more replies)
  2019-03-05  7:51 ` [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related Christopher Baines
                   ` (2 subsequent siblings)
  3 siblings, 34 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a34fb84ae7..a0b7ea86ad 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1484,6 +1484,52 @@ failure.")
     (home-page "https://github.com/thekompanee/fuubar")
     (license license:expat)))
 
+(define-public ruby-hamster
+  (package
+  (name "ruby-hamster")
+  (version "3.0.0")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (rubygems-uri "hamster" version))
+      (sha256
+        (base32
+          "1n1lsh96vnyc1pnzyd30f9prcsclmvmkdb3nm5aahnyizyiy6lar"))))
+  (build-system ruby-build-system)
+  (arguments
+   '(#:phases
+     (modify-phases %standard-phases
+       (add-after 'unpack 'remove-unnecessary-dependencies
+         (lambda _
+           ;; pry is a debugging tool, and is unnecessary when running the
+           ;; tests
+           (substitute* "spec/lib/hamster/vector/insert_spec.rb"
+             (("require 'pry'") ""))
+           (substitute* "spec/spec_helper.rb"
+             (("require \"pry\"") "")
+             ;; CodeClimate is an online service, and is unnecessary for
+             ;; running the tests
+             (("require \"codeclimate-test-reporter\"") "")
+             (("CodeClimate.*\n") ""))
+           #t))
+       ;; No Rakefile is included, so run rspec directly.
+       (replace 'check
+         (lambda* (#:key tests? #:allow-other-keys)
+           (when tests?
+             (invoke "rspec"))
+           #t)))))
+  (propagated-inputs
+   `(("ruby-concurrent" ,ruby-concurrent)))
+  (native-inputs
+   `(("ruby-rspec" ,ruby-rspec)))
+  (synopsis "Efficient, immutable, thread-safe collection classes for Ruby")
+  (description
+    "Hamster provides 6 persistent data structures: @code{Hash}, @code{Vector},
+@code{Set}, @code{SortedSet}, @code{List}, and @code{Deque} (which works as an
+immutable queue or stack).")
+  (home-page "https://github.com/hamstergem/hamster")
+  (license license:expat)))
+
 (define-public ruby-hashdiff
   (package
     (name "ruby-hashdiff")
-- 
2.20.1

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

* [bug#34514] [PATCH 02/34] gnu: Add ruby-lino.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-18 22:42     ` Ricardo Wurmus
  2019-02-17 19:22   ` [bug#34514] [PATCH 03/34] gnu: Add ruby-terraform Christopher Baines
                     ` (32 subsequent siblings)
  33 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a0b7ea86ad..e554808318 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1248,6 +1248,32 @@ the GNOME Libxml2 XML toolkit.")
     (home-page "https://xml4r.github.com/libxml-ruby")
     (license license:expat)))
 
+(define-public ruby-lino
+  (package
+    (name "ruby-lino")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "lino" version))
+       (sha256
+        (base32
+         "11d29g0fk372b9fcpyr0k6hxm2b4j4igpysmi542hgbbgqgp9cd3"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-hamster" ,ruby-hamster)
+       ("ruby-open4" ,ruby-open4)))
+    (synopsis "Build and execute commands in Ruby")
+    (description
+     "@code{Lino} provides an interface to run external commands.  It provides
+a interface to add options as well as managing the standard input, output and
+error streams.")
+    (home-page "https://github.com/tobyclemson/lino")
+    (license license:expat)))
+
 (define-public ruby-xml-simple
   (package
     (name "ruby-xml-simple")
-- 
2.20.1

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

* [bug#34514] [PATCH 03/34] gnu: Add ruby-terraform.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
  2019-02-17 19:22   ` [bug#34514] [PATCH 02/34] gnu: Add ruby-lino Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-18 22:43     ` Ricardo Wurmus
  2019-02-17 19:22   ` [bug#34514] [PATCH 04/34] gnu: Add ruby-que Christopher Baines
                     ` (31 subsequent siblings)
  33 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-terraform): 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 e554808318..b307bc2257 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3735,6 +3735,30 @@ of terminal output.")
     ;; There is no mention of the "or later" clause.
     (license license:gpl2)))
 
+(define-public ruby-terraform
+  (package
+  (name "ruby-terraform")
+  (version "0.20.0")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (rubygems-uri "ruby-terraform" version))
+      (sha256
+        (base32
+          "1czpak24v570ysnk8waj1sblfm1vqh1sdwh934x4ai90ribhlbzf"))))
+  (build-system ruby-build-system)
+  (arguments
+   '(;; No included tests
+     #:tests? #f))
+  (propagated-inputs
+   `(("ruby-lino" ,ruby-lino)))
+  (synopsis "Ruby wrapper around the Terraform command line interface")
+  (description
+   "This package provides a Ruby wrapper around the the Terraform command line
+interface so that Terraform can be more easily invoked from Ruby code.")
+  (home-page "https://github.com/infrablocks/ruby_terraform")
+  (license license:expat)))
+
 (define-public ruby-pstree
   (package
     (name "ruby-pstree")
-- 
2.20.1

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

* [bug#34514] [PATCH 04/34] gnu: Add ruby-que.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
  2019-02-17 19:22   ` [bug#34514] [PATCH 02/34] gnu: Add ruby-lino Christopher Baines
  2019-02-17 19:22   ` [bug#34514] [PATCH 03/34] gnu: Add ruby-terraform Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-18 22:45     ` Ricardo Wurmus
  2019-02-17 19:22   ` [bug#34514] [PATCH 05/34] gnu: Add ruby-rbnacl Christopher Baines
                     ` (30 subsequent siblings)
  33 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-que): 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 b307bc2257..9bcdbec4fd 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6038,6 +6038,28 @@ requirement specifications systems like Cucumber.")
     (home-page "https://rubyworks.github.io/qed")
     (license license:bsd-2)))
 
+(define-public ruby-que
+  (package
+    (name "ruby-que")
+    (version "1.0.0.beta3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "que" version))
+       (sha256
+        (base32
+         "0gr9pb814d4qj3ds98g6cjrdk7wv0yg8aqbm7c1lmgl87jkg8q04"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (synopsis "Job queue using PostgreSQL written in Ruby")
+    (description
+     "This package provides a job queue that uses PostgreSQL for storing jobs
+and locking between worker processes.")
+    (home-page "https://github.com/chanks/que")
+    (license license:expat)))
+
 (define-public ruby-ae
   (package
     (name "ruby-ae")
-- 
2.20.1

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

* [bug#34514] [PATCH 05/34] gnu: Add ruby-rbnacl.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (2 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 04/34] gnu: Add ruby-que Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-18 22:47     ` Ricardo Wurmus
  2019-02-17 19:22   ` [bug#34514] [PATCH 06/34] gnu: Add ruby-jwt Christopher Baines
                     ` (29 subsequent siblings)
  33 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9bcdbec4fd..b17a03e7cc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages rails)
@@ -1336,6 +1337,61 @@ same log file.")
     (home-page "https://github.com/bdurand/lumberjack")
     (license license:expat)))
 
+(define-public ruby-rbnacl
+  (package
+    (name "ruby-rbnacl")
+    (version "6.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "rbnacl" version))
+       (sha256
+        (base32
+         "0ajxy5kj2jw09wdsla3jmha8w07vj5l14288xr9djpl327g3lzhn"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-unnecessary-dependencies
+           (lambda _
+             ;; Coveralls relates to a network service, and Rubocop to code
+             ;; linting and both are unnecessary to run the tests
+             (substitute* "Gemfile"
+               ((".*rubocop.*") "\n")
+               ((".*guard-rspec.*") "\n")
+               ((".*coveralls.*") "\n"))
+             (substitute* "spec/spec_helper.rb"
+               (("require \"coveralls\"") "")
+               (("Coveralls.wear!") ""))))
+         (add-after 'unpack 'use-libsodium-from-store
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* '("lib/rbnacl/init.rb"
+                            "lib/rbnacl/sodium.rb")
+               (("\"sodium\", \"libsodium\\.so\\.18\", \"libsodium\\.so\\.23\"")
+                (string-append "\""
+                               (assoc-ref inputs "libsodium") "/lib/libsodium.so"
+                               "\"")))))
+         ;; Run Rspec directly to avoid the Rubocop dependency in the Rakefile
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "rspec"))
+             #t)))))
+    (propagated-inputs
+     `(("ruby-ffi" ,ruby-ffi)))
+    (inputs
+     `(("libsodium" ,libsodium)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)))
+    (synopsis "Ruby FFI binding to libsodium")
+    (description
+     "This package provides Ruby FFI bindings to the Networking and
+Cryptography (NaCl) library, also known as libsodium.  This provides a
+high-level toolkit for building cryptographic systems and protocols.")
+    (home-page "https://github.com/crypto-rb/rbnacl")
+    (license license:expat)))
+
 (define-public ruby-nenv
   (package
     (name "ruby-nenv")
-- 
2.20.1

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

* [bug#34514] [PATCH 06/34] gnu: Add ruby-jwt.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (3 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 05/34] gnu: Add ruby-rbnacl Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-20 11:54     ` Ricardo Wurmus
  2019-02-17 19:22   ` [bug#34514] [PATCH 07/34] gnu: Add ruby-multi-xml Christopher Baines
                     ` (28 subsequent siblings)
  33 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b17a03e7cc..5b4d52ac4a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3952,6 +3952,43 @@ a native C extension.")
     (home-page "https://flori.github.com/json")
     (license license:ruby)))
 
+(define-public ruby-jwt
+  (package
+    (name "ruby-jwt")
+    (version "2.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "jwt" version))
+       (sha256
+        (base32
+         "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-unnecessary-dependencies
+           (lambda _
+             (substitute* "spec/spec_helper.rb"
+               (("require 'simplecov.*") "\n")
+               ;; Use [].each to disable running the SimpleCov configuration
+               ;; block
+               (("SimpleCov\\.configure") "[].each")
+               (("require 'codeclimate-test-reporter'") "")
+               (("require 'codacy-coverage'") "")
+               (("Codacy::Reporter\\.start") "")))))))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)
+       ("ruby-rbnacl" ,ruby-rbnacl)))
+    (synopsis "Ruby implementation of the JSON Web Token standard")
+    (description
+     "This package provides a pure Ruby implementation of the RFC 7519 OAuth
+@acronym{JWT, JSON Web Token} standard.")
+    (home-page "https://github.com/jwt/ruby-jwt")
+    (license license:expat)))
+
 ;; Even though this package only provides bindings for a Mac OSX API it is
 ;; required by "ruby-listen" at runtime.
 (define-public ruby-rb-fsevent
-- 
2.20.1

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

* [bug#34514] [PATCH 07/34] gnu: Add ruby-multi-xml.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (4 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 06/34] gnu: Add ruby-jwt Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-20 17:04     ` Ricardo Wurmus
  2019-02-17 19:22   ` [bug#34514] [PATCH 08/34] gnu: Add ruby-oauth2 Christopher Baines
                     ` (27 subsequent siblings)
  33 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-multi-xml): 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 5b4d52ac4a..1a981a5bb3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3019,6 +3019,28 @@ options and parsing command line flags.")
                (base32
                 "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n"))))))
 
+(define-public ruby-multi-xml
+  (package
+    (name "ruby-multi-xml")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "multi_xml" version))
+       (sha256
+        (base32
+         "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (synopsis "Provides swappable XML backends for Ruby")
+    (description
+     "Provides swappable XML backends utilizing LibXML, Nokogiri, Ox, or
+REXML.")
+    (home-page "https://github.com/sferik/multi_xml")
+    (license license:expat)))
+
 (define-public ruby-multipart-post
   (package
     (name "ruby-multipart-post")
-- 
2.20.1

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

* [bug#34514] [PATCH 08/34] gnu: Add ruby-oauth2.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (5 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 07/34] gnu: Add ruby-multi-xml Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-20 17:08     ` Ricardo Wurmus
  2019-02-17 19:22   ` [bug#34514] [PATCH 09/34] gnu: Add ruby-omniauth Christopher Baines
                     ` (26 subsequent siblings)
  33 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1a981a5bb3..0063a1f7c5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1097,6 +1097,34 @@ complexity.")
     (home-page "https://github.com/ThoughtWorksStudios/saikuro_treemap")
     (license license:expat)))
 
+(define-public ruby-oauth2
+  (package
+    (name "ruby-oauth2")
+    (version "1.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "oauth2" version))
+       (sha256
+        (base32
+         "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-faraday" ,ruby-faraday)
+       ("ruby-jwt" ,ruby-jwt)
+       ("ruby-multi-json" ,ruby-multi-json)
+       ("ruby-multi-xml" ,ruby-multi-xml)
+       ("ruby-rack" ,ruby-rack)))
+    (synopsis "Ruby wrapper for the OAuth 2.0")
+    (description
+     "This package provides a Ruby wrapper for the OAuth 2.0 protocol built
+with a similar style to the original OAuth spec.")
+    (home-page "https://github.com/oauth-xx/oauth2")
+    (license license:expat)))
+
 (define-public ruby-open4
   (package
   (name "ruby-open4")
-- 
2.20.1

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

* [bug#34514] [PATCH 09/34] gnu: Add ruby-omniauth.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (6 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 08/34] gnu: Add ruby-oauth2 Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-20 20:34     ` Ricardo Wurmus
  2019-02-17 19:22   ` [bug#34514] [PATCH 10/34] gnu: Add ruby-warden Christopher Baines
                     ` (25 subsequent siblings)
  33 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

* gnu/packags/ruby.scm (ruby-omniauth): 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 0063a1f7c5..78415ecc9e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1125,6 +1125,31 @@ with a similar style to the original OAuth spec.")
     (home-page "https://github.com/oauth-xx/oauth2")
     (license license:expat)))
 
+(define-public ruby-omniauth
+  (package
+    (name "ruby-omniauth")
+    (version "1.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "omniauth" version))
+       (sha256
+        (base32
+         "1p16h1rp8by05k8gfw17xjhgwp60dk8qmj1xalv1n23kmxfsxb1x"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No incldued tests
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-hashie" ,ruby-hashie)
+       ("ruby-rack" ,ruby-rack)))
+    (synopsis "Generalized Rack framework for multiple-provider authentication")
+    (description
+     "This package provides a generalized Rack framework for multiple-provider
+authentication.")
+    (home-page "https://github.com/omniauth/omniauth")
+    (license license:expat)))
+
 (define-public ruby-open4
   (package
   (name "ruby-open4")
-- 
2.20.1

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

* [bug#34514] [PATCH 10/34] gnu: Add ruby-warden.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (7 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 09/34] gnu: Add ruby-omniauth Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-20 20:35     ` Ricardo Wurmus
  2019-02-17 19:22   ` [bug#34514] [PATCH 11/34] gnu: Add ruby-warden-oauth2 Christopher Baines
                     ` (24 subsequent siblings)
  33 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-warden): 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 78415ecc9e..a67da64ce5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5739,6 +5739,29 @@ support to both Ruby and JRuby.  It uses @code{unf_ext} on CRuby and
     (home-page "https://github.com/knu/ruby-unf")
     (license license:bsd-2)))
 
+(define-public ruby-warden
+  (package
+    (name "ruby-warden")
+    (version "1.2.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "warden" version))
+       (sha256
+        (base32
+         "1fr9n9i9r82xb6i61fdw4xgc7zjv7fsdrr4k0njchy87iw9fl454"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-rack" ,ruby-rack)))
+    (synopsis "Rack middleware providing authentication")
+    (description
+     "Rack middleware that provides authentication for rack applications.")
+    (home-page "https://github.com/wardencommunity/warden")
+    (license license:expat)))
+
 (define-public ruby-webmock-2
   (package
     (name "ruby-webmock")
-- 
2.20.1

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

* [bug#34514] [PATCH 11/34] gnu: Add ruby-warden-oauth2.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (8 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 10/34] gnu: Add ruby-warden Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-20 20:36     ` Ricardo Wurmus
  2019-02-17 19:22   ` [bug#34514] [PATCH 12/34] gnu: Add ruby-with-advisory-lock Christopher Baines
                     ` (23 subsequent siblings)
  33 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a67da64ce5..7a883c2366 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5762,6 +5762,54 @@ support to both Ruby and JRuby.  It uses @code{unf_ext} on CRuby and
     (home-page "https://github.com/wardencommunity/warden")
     (license license:expat)))
 
+(define-public ruby-warden-oauth2
+  (package
+    (name "ruby-warden-oauth2")
+    (version "0.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "warden-oauth2" version))
+       (sha256
+        (base32
+         "1z9154lvzrnnfjbjkmirh4n811nygp6pm2fa6ikr7y1ysa4zv3cz"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "spec"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-unnecessary-dependencies
+           (lambda _
+             (substitute* "Gemfile"
+               ;; All of these gems relate to development, and are unnecessary
+               ;; when running the tests
+               (("gem 'guard-bundler'") "")
+               (("gem 'guard'") "")
+               (("gem 'guard-rspec'") "")
+               (("gem 'rb-fsevent'") "")
+               (("gem 'pry'") "")
+               (("gem 'growl'") ""))
+             #t))
+         ;; The test suite doesn't work with rspec@2, and this is incompatible
+         ;; with the current version of Rake, so invoke Rspec directly
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "bundle" "exec" "rspec"))
+             #t)))))
+    (propagated-inputs
+     `(("ruby-warden" ,ruby-warden)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec-2)
+       ("ruby-rack-test" ,ruby-rack-test)))
+    (synopsis "OAuth 2.0 strategies for Warden")
+    (description
+     "This library extends Warden to support OAuth 2.0 authorized API
+requests.")
+    (home-page "https://github.com/opperator/warden-oauth2")
+    (license license:expat)))
+
 (define-public ruby-webmock-2
   (package
     (name "ruby-webmock")
-- 
2.20.1

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

* [bug#34514] [PATCH 12/34] gnu: Add ruby-with-advisory-lock.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (9 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 11/34] gnu: Add ruby-warden-oauth2 Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-20 22:11     ` Ricardo Wurmus
  2019-02-17 19:22   ` [bug#34514] [PATCH 13/34] gnu: Add ruby-omniauth-oauth2 Christopher Baines
                     ` (22 subsequent siblings)
  33 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

* gnu/packages/rails.scm (ruby-with-advisory-lock): 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 2d7ccceff7..739f97090d 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -413,6 +413,34 @@ application bootup, plugins, generators, and Rake tasks.")
     "https://github.com/rails/sprockets-rails")
    (license license:expat)))
 
+(define-public ruby-with-advisory-lock
+  (package
+    (name "ruby-with-advisory-lock")
+    (version "4.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "with_advisory_lock" version))
+       (sha256
+        (base32
+         "1k37hxgmaqgsd54gplm5xim9nw3ghvqsbzaw7q4q64ha1nbd9a41"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; TODO Tests require a running MySQL service
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-activerecord" ,ruby-activerecord)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-yard" ,ruby-yard)
+       ("ruby-mysql2" ,ruby-mysql2)))
+    (synopsis "Advisory locking for ActiveRecord")
+    (description
+     "Adds advisory locking to ActiveRecord for PostgreSQL and MySQL.  SQLite
+is also supported, but this uses the filesystem for locks.")
+    (home-page "http://closuretree.github.io/with_advisory_lock/")
+    (license license:expat)))
+
 (define-public ruby-rails
   (package
    (name "ruby-rails")
-- 
2.20.1

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

* [bug#34514] [PATCH 13/34] gnu: Add ruby-omniauth-oauth2.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (10 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 12/34] gnu: Add ruby-with-advisory-lock Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-17 19:22   ` [bug#34514] [PATCH 14/34] gnu: Add ruby-test-construct Christopher Baines
                     ` (21 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7a883c2366..f203b1f4f2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1150,6 +1150,48 @@ authentication.")
     (home-page "https://github.com/omniauth/omniauth")
     (license license:expat)))
 
+(define-public ruby-omniauth-oauth2
+  (package
+    (name "ruby-omniauth-oauth2")
+    (version "1.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "omniauth-oauth2" version))
+       (sha256
+        (base32
+         "11mi36l9d97r77q99jnafdc1yaa0a9wahhpp7dj7ank8q52g7g79"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-unnecessary-dependencies
+           (lambda _
+             ;; The coveralls gem submits coverage information to an online
+             ;; service, and is unnecessary when running the tests
+             (substitute* "Gemfile"
+               ((".*coveralls\"") ""))
+             (substitute* "spec/helper.rb"
+               (("require \"coveralls\"") "")
+               (("Coveralls::SimpleCov::Formatter") ""))
+             #t)))))
+    (propagated-inputs
+     `(("ruby-oauth2" ,ruby-oauth2)
+       ("ruby-omniauth" ,ruby-omniauth)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)
+       ("ruby-simplecov" ,ruby-simplecov)
+       ("ruby-rack-test" ,ruby-rack-test)
+       ("ruby-webmock" ,ruby-webmock-2)))
+    (synopsis "Abstract OAuth2 strategy for OmniAuth")
+    (description
+     "This library provides a generic OAuth2 strategy for OmniAuth.  It
+doesn't provide a way to gather user information, so should be used as a
+building block for authentication strategies.")
+    (home-page "https://github.com/omniauth/omniauth-oauth2")
+    (license license:expat)))
+
 (define-public ruby-open4
   (package
   (name "ruby-open4")
-- 
2.20.1

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

* [bug#34514] [PATCH 14/34] gnu: Add ruby-test-construct.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (11 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 13/34] gnu: Add ruby-omniauth-oauth2 Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-17 19:22   ` [bug#34514] [PATCH 15/34] gnu: Add ruby-minitest-around Christopher Baines
                     ` (20 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-test-construct): 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 f203b1f4f2..31a3e9a4a6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2165,6 +2165,29 @@ use GNU gettext tools for maintenance.")
     (home-page "http://ranguba.org/packnga/")
     (license license:lgpl2.0+)))
 
+(define-public ruby-test-construct
+  (package
+    (name "ruby-test-construct")
+    (version "2.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "test_construct" version))
+       (sha256
+        (base32
+         "1a2ym3l068d0pxzzr95kvqx87zpdsarxslz9ygd4qfm9frrz0kgj"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-mocha" ,ruby-mocha)
+       ("ruby-rspec" ,ruby-rspec)))
+    (synopsis "Creates temporary files and directories for testing")
+    (description
+     "TestConstruct is a @acronym{DSL, Domain Specific Language} for creating
+temporary files and directories during tests.")
+    (home-page "https://github.com/bhb/test_construct")
+    (license license:expat)))
+
 (define-public ruby-test-unit
   (package
     (name "ruby-test-unit")
-- 
2.20.1

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

* [bug#34514] [PATCH 15/34] gnu: Add ruby-minitest-around.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (12 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 14/34] gnu: Add ruby-test-construct Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-17 19:22   ` [bug#34514] [PATCH 16/34] gnu: Add libsass Christopher Baines
                     ` (19 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-minitest-around): 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 31a3e9a4a6..dbfd601d31 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2765,6 +2765,40 @@ facilities supporting TDD, BDD, mocking, and benchmarking.")
              (delete-file "test/minitest/test_minitest_spec.rb")
              #t)))))))
 
+(define-public ruby-minitest-around
+  (package
+    (name "ruby-minitest-around")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "minitest-around" version))
+       (sha256
+        (base32
+         "15ywnqx0719jl9c25yqfshmwcir57i5f4hr1ra9v9vay9ylcwndr"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'remove-unnecessary-dependency-versions
+           (lambda _
+             (substitute* "minitest-around.gemspec"
+               (("%q<cucumber>.*") "%q<cucumber>, [\">= 0\"])\n"))
+             #t)))))
+    (propagated-inputs
+     `(("ruby-minitest" ,ruby-minitest)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-cucumber" ,ruby-cucumber)
+       ("ruby-bump" ,ruby-bump)
+       ("ruby-test-construct" ,ruby-test-construct)))
+    (synopsis "Run code around tests in Minitest")
+    (description
+     "This library provides a way to run code around tests in Minitest,
+written using either the unit test or spec style.")
+    (home-page "https://github.com/splattael/minitest-around")
+    (license license:expat)))
+
 (define-public ruby-minitest-sprint
   (package
     (name "ruby-minitest-sprint")
-- 
2.20.1

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

* [bug#34514] [PATCH 16/34] gnu: Add libsass.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (13 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 15/34] gnu: Add ruby-minitest-around Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-17 19:22   ` [bug#34514] [PATCH 17/34] gnu: sassc: Update and improve the package Christopher Baines
                     ` (18 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

* gnu/packages/web.scm (libsass): New variable.
---
 gnu/packages/web.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index d8bab34e51..ed2a7df2e1 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2017 Petter <petter@mykolab.ch>
 ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2019 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
@@ -1248,6 +1249,40 @@ minimum to provide high performance operation.")
     ;; bundled CuTest framework uses a different non-copyleft license.
     (license (list l:asl2.0 (l:non-copyleft "file://test/CuTest-README.txt")))))
 
+(define-public libsass
+  (package
+    (name "libsass")
+    (version "3.5.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/sass/libsass.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0830pjcvhzxh6yixj82x5k5r1xnadjqzi16kp53213icbly0r9ma"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'bootstrap 'set-LIBSASS_VERSION
+           (lambda _
+             (setenv "LIBSASS_VERSION" ,version)
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
+    (home-page "https://sass-lang.com/libsass")
+    (synopsis "SASS Compiler, implemented as a C/C++ library")
+    (description
+     "LibSass is a @acronym{SASS,Syntactically awesome style sheets} compiler
+library designed for portability and efficiency.  To actually compile SASS
+stylesheets, you'll need to use another program that uses this library,
+@var{sassc} for example.")
+    (license l:expat)))
+
 (define-public sassc
   ;; libsass must be statically linked and it isn't included in the sassc
   ;; release tarballs, hence this odd package recipe.
-- 
2.20.1

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

* [bug#34514] [PATCH 17/34] gnu: sassc: Update and improve the package.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (14 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 16/34] gnu: Add libsass Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-17 19:22   ` [bug#34514] [PATCH 18/34] gnu: Add ruby-sassc Christopher Baines
                     ` (17 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

Now that libsass is packaged, change the sassc package to build a dynamically
linked binary. Also update the version, and change the source to the Git
repository, rather than the archives from GitHub.

* gnu/packages/web.scm (sassc): Update to 3.5.0.
[source]: Change to the Git repository.
[arguments]: Tweak to link against libsass.
---
 gnu/packages/web.scm | 95 +++++++++++++++++++++-----------------------
 1 file changed, 46 insertions(+), 49 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index ed2a7df2e1..49fbfd1f8d 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1284,56 +1284,53 @@ stylesheets, you'll need to use another program that uses this library,
     (license l:expat)))
 
 (define-public sassc
-  ;; libsass must be statically linked and it isn't included in the sassc
-  ;; release tarballs, hence this odd package recipe.
-  (let* ((version "3.4.5")
-         (libsass
-          (origin
-            (method url-fetch)
-            (uri (string-append
-                  "https://github.com/sass/libsass/archive/"
-                  version ".tar.gz"))
-            (file-name (string-append "libsass-" version ".tar.gz"))
-            (sha256
-             (base32
-              "1j22138l5ymqjfj5zan9d2hipa3ahjmifgpjahqy1smlg5sb837x")))))
-    (package
-      (name "sassc")
-      (version version)
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://github.com/sass/sassc/archive/"
-                                    version ".tar.gz"))
-                (file-name (string-append "sassc-" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "1xk4kmmvziz9sal3swpqa10q0s289xjpcz8aggmly8mvxvmngsi9"))))
-      (build-system gnu-build-system)
-      (arguments
-       `(#:make-flags
-         (list "CC=gcc"
-               (string-append "PREFIX=" (assoc-ref %outputs "out")))
-         #:test-target "test"
-         ;; FIXME: "make test" rebuilds the application and gets lost in a
-         ;; non-existing directory.
-         #:tests? #f
-         #:phases
-         (modify-phases %standard-phases
-           (delete 'bootstrap)
-           (delete 'configure)
-           (add-after 'unpack 'unpack-libsass-and-set-path
-             (lambda* (#:key inputs #:allow-other-keys)
-               (invoke "tar" "xvf" (assoc-ref inputs "libsass"))
-               (setenv "SASS_LIBSASS_PATH"
-                       (string-append (getcwd) "/libsass-" ,version))
-               #t)))))
-      (inputs
-       `(("libsass" ,libsass)))
-      (synopsis "CSS pre-processor")
-      (description "SassC is a compiler written in C for the CSS pre-processor
+  (package
+    (name "sassc")
+    (version "3.5.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/sass/sassc.git")
+                    (commit  version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0jsfz1zg4gwk0dq8i92ll12axs3s70wsdsmdyi71zx8zmvib5nl6"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (list "CC=gcc"
+             (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       ;; I don't believe sassc contains any tests
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-Makefile
+           (lambda _
+             (substitute* "Makefile"
+               (("build-shared: \\$\\(RESOURCES\\) \\$\\(OBJECTS\\) \\$\\(LIB_SHARED\\)")
+                "build-shared: $(RESOURCES) $(OBJECTS)")
+               (("\\$\\(SASSC_EXE\\): libsass build")
+                "$(SASSC_EXE): build")
+               (("install: libsass-install-\\$\\(BUILD\\) \\\\")
+                "install: \\"))
+             #t))
+         ;; This phase fails for some reason
+         (delete 'bootstrap)
+         ;; There is no configure script
+         (delete 'configure)
+         (add-before 'build 'setup-environment
+           (lambda _
+             (setenv "BUILD" "shared")
+             (setenv "SASSC_VERSION" ,version)
+             #t)))))
+    (inputs
+     `(("libsass" ,libsass)))
+    (synopsis "CSS pre-processor")
+    (description "SassC is a compiler written in C for the CSS pre-processor
 language known as SASS.")
-      (home-page "http://sass-lang.com/libsass")
-      (license l:expat))))
+    (home-page "http://sass-lang.com/libsass")
+    (license l:expat)))
 
 \f
 (define-public perl-apache-logformat-compiler
-- 
2.20.1

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

* [bug#34514] [PATCH 18/34] gnu: Add ruby-sassc.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (15 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 17/34] gnu: sassc: Update and improve the package Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-17 19:22   ` [bug#34514] [PATCH 19/34] gnu: Add ruby-markaby Christopher Baines
                     ` (16 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index dbfd601d31..ab17c20d62 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7340,6 +7340,80 @@ the @file{spec} directory.")
 features that don't exist yet like variables, nesting, mixins and inheritance.")
     (license license:expat)))
 
+(define-public ruby-sassc
+  (package
+    (name "ruby-sassc")
+    (version "2.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "sassc" version))
+       (sha256
+        (base32
+         "0xw8wyr27108x4gbidvb71ngxvn00h6c11xsrxby4c6h92zs06dn"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         ;; TODO: This would be better as a snippet, but the ruby-build-system
+         ;; doesn't seem to support that
+         (add-after 'unpack 'remove-libsass
+           (lambda _
+             (delete-file-recursively "ext")
+             #t))
+         (add-after 'unpack 'dont-check-the-libsass-version
+           (lambda _
+             (substitute* "test/native_test.rb"
+               (("assert_equal.*Native\\.version") ""))
+             #t))
+         (add-after 'unpack 'remove-git-from-gemspec
+           (lambda _
+             (substitute* "sassc.gemspec"
+               (("`git ls-files -z`") "`find . -type f -print0 |sort -z`")
+               (("`git submodule --quiet foreach pwd`") "''"))
+             #t))
+         (add-after 'unpack 'remove-extensions-from-gemspec
+           (lambda _
+             (substitute* "sassc.gemspec"
+               (("\\[\"ext/Rakefile\"\\]") "[]"))
+             #t))
+         (add-after 'unpack 'fix-Rakefile
+           (lambda _
+             (substitute* "Rakefile"
+               (("test: 'libsass:compile'") ":test"))
+             #t))
+         (add-after 'unpack 'remove-unnecessary-dependencies
+           (lambda _
+             (substitute* "test/test_helper.rb"
+               (("require \"pry\"") ""))
+             #t))
+         (add-before 'build 'patch-native.rb
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "lib/sassc/native.rb"
+               ((".*gem_root = spec.gem_dir") "")
+               (("ffi_lib .*\n")
+                (string-append
+                 "ffi_lib '" (assoc-ref inputs "libsass") "/lib/libsass.so'")))))
+         ;; The gemspec still references the libsass files, so just keep the
+         ;; one in the gem.
+         (delete 'extract-gemspec))))
+    (propagated-inputs
+     `(("ruby-ffi" ,ruby-ffi)
+       ("ruby-rake" ,ruby-rake)))
+    (inputs
+     `(("libsass" ,libsass)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-minitest-around" ,ruby-minitest-around)
+       ("ruby-test-construct" ,ruby-test-construct)))
+    (synopsis "Use libsss from Ruby")
+    (description
+     "This library provides Ruby q@acronym{FFI, Foreign Function Interface}
+bindings to the libsass library.  This enables rendering
+@acronym{SASS,Syntactically awesome style sheets} from Ruby code.")
+    (home-page "https://github.com/sass/sassc-ruby")
+    (license license:expat)))
+
 (define-public ruby-jekyll-sass-converter
   (package
     (name "ruby-jekyll-sass-converter")
-- 
2.20.1

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

* [bug#34514] [PATCH 19/34] gnu: Add ruby-markaby.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (16 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 18/34] gnu: Add ruby-sassc Christopher Baines
@ 2019-02-17 19:22   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 20/34] gnu: Add ruby-temple Christopher Baines
                     ` (15 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:22 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ab17c20d62..8fe0e9b60f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2213,6 +2213,43 @@ 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-markaby
+  (package
+    (name "ruby-markaby")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "markaby" version))
+       (sha256
+        (base32
+         "1j4jc31ycydbkh5h3q6zwidzpavg3g5mbb5lqyaczd3jrq78rd7i"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         ;; Run rspec manually without using the Rakefile, as the versions of
+         ;; Rake and RSpec 2 are incompatible:
+         ;;
+         ;; NoMethodError: undefined method `last_comment'
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "rspec"))
+             #t)))))
+    (propagated-inputs
+     `(("ruby-builder" ,ruby-builder)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec-2)))
+    (synopsis "Write HTML pages in pure Ruby")
+    (description
+     "Markaby allows writing HTML packages in pure Ruby.  This is similar to
+the functionality provided by @acronym{ERB, Embeded Ruby}, but without the
+mixture of HTML and additional ERB syntax.")
+    (home-page "http://markaby.github.io/")
+    (license license:expat)))
+
 (define-public ruby-maruku
   (package
     (name "ruby-maruku")
-- 
2.20.1

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

* [bug#34514] [PATCH 20/34] gnu: Add ruby-temple.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (17 preceding siblings ...)
  2019-02-17 19:22   ` [bug#34514] [PATCH 19/34] gnu: Add ruby-markaby Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 21/34] gnu: Add ruby-haml Christopher Baines
                     ` (14 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-temple): 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 8fe0e9b60f..f47802a389 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2093,6 +2093,28 @@ localization.")
     (home-page "https://github.com/ruby-gettext/locale")
     (license (list license:lgpl3+ license:ruby))))
 
+(define-public ruby-temple
+  (package
+    (name "ruby-temple")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "temple" version))
+       (sha256
+        (base32
+         "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("ruby-tilt" ,ruby-tilt)
+       ("ruby-bacon" ,ruby-bacon)
+       ("ruby-erubis" ,ruby-erubis)))
+    (synopsis "Template compilation framework in Ruby")
+    (description
+     "Abstraction and a framework for compiling templates to pure Ruby.")
+    (home-page "https://github.com/judofyr/temple")
+    (license license:expat)))
+
 (define-public ruby-text
   (package
     (name "ruby-text")
-- 
2.20.1

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

* [bug#34514] [PATCH 21/34] gnu: Add ruby-haml.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (18 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 20/34] gnu: Add ruby-temple Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 22/34] gnu: Add ruby-tilt Christopher Baines
                     ` (13 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f47802a389..6548ef095e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1661,6 +1661,34 @@ failure.")
     (home-page "https://github.com/thekompanee/fuubar")
     (license license:expat)))
 
+(define-public ruby-haml
+  (package
+    (name "ruby-haml")
+    (version "5.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "haml" version))
+       (sha256
+        (base32
+         "1q0a9fvqh8kn6wm97fcks6qzbjd400bv8bx748w8v87m7p4klhac"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-tilt" ,ruby-tilt)
+       ("ruby-temple" ,ruby-temple)))
+    (synopsis "Haml is a Ruby library to generate HTML documents")
+    (description
+     "@acronym{Haml, HTML Abstraction Markup Language} is a layer on top of
+HTML or XML that is designed to express the structure of documents using
+indentation rather than closing tags.  It was originally envisioned as a
+plugin for Ruby on Rails, but it can function as a stand-alone templating
+engine.")
+    (home-page "http://haml.info/")
+    (license license:expat)))
+
 (define-public ruby-hamster
   (package
   (name "ruby-hamster")
-- 
2.20.1

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

* [bug#34514] [PATCH 22/34] gnu: Add ruby-tilt.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (19 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 21/34] gnu: Add ruby-haml Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 23/34] gnu: Add ruby-sass-rails Christopher Baines
                     ` (12 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6548ef095e..1fed53f392 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3744,6 +3744,52 @@ file or directories are modified.")
     (home-page "http://guardgem.org/")
     (license license:expat)))
 
+(define-public ruby-tilt
+  (package
+    (name "ruby-tilt")
+    (version "2.0.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "tilt" version))
+       (sha256
+        (base32
+         "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-some-dependencies
+           (lambda _
+             (substitute* "Gemfile"
+               ;; TODO ronn is used for generating the manual
+               (("gem 'ronn'.*") "\n")
+               ;; ruby-haml has a runtime dependency on ruby-tilt, so don't
+               ;; pass it in as a native-input
+               (("gem 'haml'.*") "\n")
+               ;; TODO Not all of these gems are packaged for Guix yet:
+               ;; less, coffee-script, livescript, babel-transpiler,
+               ;; typescript-node
+               (("if can_execjs") "if false")
+               ;; Disable the secondary group to reduce the number of
+               ;; dependencies. None of the normal approaches work, so patch
+               ;; the Gemfile instead.
+               (("group :secondary") "[].each"))
+             #t)))))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-yard" ,ruby-yard)
+       ("ruby-builder" ,ruby-builder)
+       ("ruby-erubis" ,ruby-erubis)
+       ("ruby-markaby" ,ruby-markaby)
+       ("ruby-sassc" ,ruby-sassc)))
+    (synopsis "Generic interface to multiple Ruby template engines")
+    (description
+     "Tilt is a thin interface over a number of different Ruby template
+engines in an attempt to make their usage as generic as possible.")
+    (home-page "https://github.com/rtomayko/tilt/")
+    (license license:expat)))
+
 (define-public ruby-thread-safe
   (package
     (name "ruby-thread-safe")
-- 
2.20.1

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

* [bug#34514] [PATCH 23/34] gnu: Add ruby-sass-rails.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (20 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 22/34] gnu: Add ruby-tilt Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 24/34] gnu: Add ruby-dep Christopher Baines
                     ` (11 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

* gnu/packages/rails.scm (ruby-sass-rails): 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 739f97090d..cdce500e2b 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -65,6 +65,34 @@ migration.")
     (home-page "https://github.com/rails/spring")
     (license license:expat)))
 
+(define-public ruby-sass-rails
+  (package
+    (name "ruby-sass-rails")
+    (version "5.0.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "sass-rails" version))
+       (sha256
+        (base32
+         "1wa63sbsimrsf7nfm8h0m1wbsllkfxvd7naph5d1j6pbc555ma7s"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-railties" ,ruby-railties)
+       ("ruby-sass" ,ruby-sass)
+       ("ruby-sprockets" ,ruby-sprockets)
+       ("ruby-sprockets-rails" ,ruby-sprockets-rails)
+       ("ruby-tilt" ,ruby-tilt)))
+    (synopsis "Sass adapter for the Rails asset pipeline")
+    (description
+     "This library integrates the SASS stylesheet language in to Ruby on
+Rails.")
+    (home-page "https://github.com/rails/sass-rails")
+    (license license:expat)))
+
 (define-public ruby-debug-inspector
   (package
     (name "ruby-debug-inspector")
-- 
2.20.1

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

* [bug#34514] [PATCH 24/34] gnu: Add ruby-dep.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (21 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 23/34] gnu: Add ruby-sass-rails Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 25/34] gnu: ruby-jekyll-watch: Update to 2.1.2 Christopher Baines
                     ` (10 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-dep): 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 1fed53f392..e4d75e4a76 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3650,6 +3650,28 @@ rate.")
     (home-page "https://github.com/paul/progress_bar")
     (license license:wtfpl2)))
 
+(define-public ruby-dep
+  (package
+    (name "ruby-dep")
+    (version "1.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "ruby_dep" version))
+       (sha256
+        (base32
+         "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (synopsis "Creates a version constraint of supported Rubies")
+    (description
+     "Creates a version constraint of supported Rubies, suitable for a gemspec
+file.")
+    (home-page "https://github.com/e2/ruby_dep")
+    (license license:expat)))
+
 (define-public ruby-progressbar
   (package
     (name "ruby-progressbar")
-- 
2.20.1

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

* [bug#34514] [PATCH 25/34] gnu: ruby-jekyll-watch: Update to 2.1.2.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (22 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 24/34] gnu: Add ruby-dep Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 26/34] gnu: Remove ruby-listen-3.0 Christopher Baines
                     ` (9 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-jekyll-watch): Update to 2.1.2.
[propagated-inputs]: Change to use ruby-listen, rather than ruby-listen-3.0.
---
 gnu/packages/ruby.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e4d75e4a76..69f3933f31 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7594,16 +7594,16 @@ in Jekyll.")
 (define-public ruby-jekyll-watch
   (package
     (name "ruby-jekyll-watch")
-    (version "2.0.0")
+    (version "2.1.2")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "jekyll-watch" version))
               (sha256
                (base32
-                "0m7scvj3ki8bmyx5v8pzibpg6my10nycnc28lip98dskf8iakprp"))))
+                "1s9ly83sp8albvgdff12xy2h4xd8lm6z2fah4lzmk2yvp85jzdzv"))))
     (build-system ruby-build-system)
     (propagated-inputs
-     `(("ruby-listen-3.0" ,ruby-listen-3.0)))
+     `(("ruby-listen" ,ruby-listen)))
     (arguments
      ;; No rakefile
      `(#:tests? #f))
-- 
2.20.1

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

* [bug#34514] [PATCH 26/34] gnu: Remove ruby-listen-3.0.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (23 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 25/34] gnu: ruby-jekyll-watch: Update to 2.1.2 Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 27/34] gnu: ruby-listen: Enable running the tests Christopher Baines
                     ` (8 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

This was used by ruby-jekyll-watch, but that's now been upgraded and now uses
the ruby-listen package.

* gnu/packages/ruby.scm (ruby-listen-3.0): Remove this variable.
---
 gnu/packages/ruby.scm | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 69f3933f31..0323f89a1c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4362,17 +4362,6 @@ you about the changes.")
     (home-page "https://github.com/guard/listen")
     (license license:expat)))
 
-(define-public ruby-listen-3.0
-  (package
-    (inherit ruby-listen)
-    (version "3.0.8")
-    (source (origin
-              (method url-fetch)
-              (uri (rubygems-uri "listen" version))
-              (sha256
-               (base32
-                "1l0y7hbyfiwpvk172r28hsdqsifq1ls39hsfmzi1vy4ll0smd14i"))))))
-
 (define-public ruby-loofah
   (package
     (name "ruby-loofah")
-- 
2.20.1

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

* [bug#34514] [PATCH 27/34] gnu: ruby-listen: Enable running the tests.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (24 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 26/34] gnu: Remove ruby-listen-3.0 Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 28/34] gnu: Add ruby-bindex Christopher Baines
                     ` (7 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-listen)[source]: Switch to the Git repository,
as this includes the tests.
[arguments]: Set #:test-target and tweak the Rakefile to avoid requiring
Rubocop unnecessarily.
[native-inputs]: Add bundler and ruby-rspec for running the test suite.
[inputs]: Add ruby-thor, as this is used for bin/listen.
[propagated-inputs]: Add ruby-dep, as this is listed as a runtime dependency
in the gemspec.
---
 gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++------
 1 file changed, 29 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0323f89a1c..0c5fe2896b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4346,16 +4346,39 @@ a native C extension.")
     (version "3.1.5")
     (source
      (origin
-       (method url-fetch)
-       (uri (rubygems-uri "listen" version))
+       ;; The gem does not include a Rakefile, so fetch from the Git
+       ;; repository.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/guard/listen.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"))))
+         "1hqmkfa9f2xb5jlvqbafdxjd5ax75jm8gqj5nh3k22xq0kacsvgg"))))
     (build-system ruby-build-system)
-    (arguments '(#:tests? #f)) ; no tests
+    (arguments
+     `(#:test-target "spec"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'remove-unnecessary-dependencies'
+           (lambda _
+             (substitute* "Rakefile"
+               ;; Rubocop is for code linting, and is unnecessary for running
+               ;; the tests.
+               ((".*rubocop.*") ""))
+             #t)))))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)))
+    (inputs
+     `(;; ruby-thor is used for the command line interface, and is referenced
+       ;; in the wrapper, and therefore just needs to be an input.
+       ("ruby-thor" ,ruby-thor)))
     (propagated-inputs
-     `(("ruby-rb-inotify" ,ruby-rb-inotify)
-       ("ruby-rb-fsevent" ,ruby-rb-fsevent)))
+     `(("ruby-rb-fsevent" ,ruby-rb-fsevent)
+       ("ruby-rb-inotify" ,ruby-rb-inotify)
+       ("ruby-dep" ,ruby-dep)))
     (synopsis "Listen to file modifications")
     (description "The Listen gem listens to file modifications and notifies
 you about the changes.")
-- 
2.20.1

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

* [bug#34514] [PATCH 28/34] gnu: Add ruby-bindex.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (25 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 27/34] gnu: ruby-listen: Enable running the tests Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 29/34] gnu: Add ruby-web-console Christopher Baines
                     ` (6 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-bindex): 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 0c5fe2896b..60b5e4b0e7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5446,6 +5446,31 @@ boolean expression used by Cucumber.")
     (home-page "https://github.com/cucumber/tag-expressions-ruby")
     (license license:expat)))
 
+(define-public ruby-bindex
+  (package
+    (name "ruby-bindex")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "bindex" version))
+       (sha256
+        (base32
+         "1wvhf4v8sk5x8li03pcc0v0wglmyv7ikvvg05bnms83dfy7s4k8i"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "default"))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rake-compiler" ,ruby-rake-compiler)))
+    (synopsis "Provides access for bindings relating to Ruby exceptions")
+    (description
+     "@code{bindex} provides a way to access the bindings that relate to
+exceptions in Ruby, providing more information about the context in which the
+exception occurred.")
+    (home-page "https://github.com/gsamokovarov/bindex")
+    (license license:expat)))
+
 (define-public ruby-bio-logger
   (package
     (name "ruby-bio-logger")
-- 
2.20.1

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

* [bug#34514] [PATCH 29/34] gnu: Add ruby-web-console.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (26 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 28/34] gnu: Add ruby-bindex Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 30/34] gnu: Add ruby-execjs Christopher Baines
                     ` (5 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index cdce500e2b..8823791405 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -441,6 +441,62 @@ application bootup, plugins, generators, and Rake tasks.")
     "https://github.com/rails/sprockets-rails")
    (license license:expat)))
 
+(define-public ruby-web-console
+  (package
+    (name "ruby-web-console")
+    (version "3.7.0")
+    (source
+     (origin
+       ;; Download from GitHub as test files are not provided in the gem.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/rails/web-console.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0ir999p8cnm3l3zwbgpwxxcq1vwkj8d0d3r24362cyaf4v1rglq2"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-Gemfile
+           (lambda _
+             (substitute* "Gemfile"
+               ;; Remove the github bit from the Gemfile, so that the Guix
+               ;; packages are used.
+               ((", github: .*") "\n")
+               ;; The usual methods of not loading this group don't work, so
+               ;; patch the Gemfile.
+               (("group :development") "[].each")
+               ;; tzinfo-data is propagated by ruby-activesupport, but it
+               ;; needs to be in the Gemfile to become available.
+               (("group :test do") "group :test do\n  gem 'tzinfo-data'"))
+             #t))
+         (add-after 'unpack 'fix-mocha-minitest-require
+           (lambda _
+             (substitute* "test/test_helper.rb"
+               ;; This chanegd in recent versions of Mocha
+               (("mocha/minitest") "mocha/mini_test"))
+             #t)))))
+    (propagated-inputs
+     `(("ruby-actionview" ,ruby-actionview)
+       ("ruby-activemodel" ,ruby-activemodel)
+       ("ruby-bindex" ,ruby-bindex)
+       ("ruby-railties" ,ruby-railties)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rails" ,ruby-rails)
+       ("ruby-mocha" ,ruby-mocha)
+       ("ruby-simplecov" ,ruby-simplecov)))
+    (synopsis "Debugging tool for your Ruby on Rails applications")
+    (description
+     "This package allows you to create an interactive Ruby session in your
+browser.  Those sessions are launched automatically in case of an error and
+can also be launched manually in any page.")
+    (home-page "https://github.com/rails/web-console")
+    (license license:expat)))
+
 (define-public ruby-with-advisory-lock
   (package
     (name "ruby-with-advisory-lock")
-- 
2.20.1

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

* [bug#34514] [PATCH 30/34] gnu: Add ruby-execjs.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (27 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 29/34] gnu: Add ruby-web-console Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 31/34] gnu: ruby: Update some RSpec packages Christopher Baines
                     ` (4 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-execjs): 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 60b5e4b0e7..2c49b1587c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages maths)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages node)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages ragel)
@@ -1296,6 +1297,39 @@ support.")
     (home-page "http://www.kuwata-lab.com/erubis/")
     (license license:expat)))
 
+(define-public ruby-execjs
+  (package
+    (name "ruby-execjs")
+    (version "2.7.0")
+    (source
+     (origin
+       ;; fetch from github as the gem does not contain testing code
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/rails/execjs.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0c0vd2mmqq3ar4plbwi2wsbr31vn4h45i19r5km66skydnnbp1y6"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("bundler" ,bundler)
+       ;; The test suite tests all the available backends. Currenly, this just
+       ;; means the node backend.
+       ;;
+       ;; PASSED: test:node
+       ;; SKIPPED: test:duktape, ;; test:javascriptcore, test:jscript,
+       ;; test:miniracer, test:rubyracer, ;; test:rubyrhino, test:v8
+       ("node" ,node)))
+    (synopsis "ExecJS lets you run JavaScript code from Ruby")
+    (description
+     "ExecJS lets you run JavaScript code from Ruby.  It automatically picks a
+runtime to evaluate your JavaScript program, then returns the result to you as
+a Ruby object.")
+    (home-page "https://github.com/rails/execjs")
+    (license license:expat)))
+
 (define-public ruby-orderedhash
   (package
     (name "ruby-orderedhash")
-- 
2.20.1

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

* [bug#34514] [PATCH 31/34] gnu: ruby: Update some RSpec packages.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (28 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 30/34] gnu: Add ruby-execjs Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 32/34] gnu: Add ruby-rspec-rails Christopher Baines
                     ` (3 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-rspec-support): Update to 3.8.0.
(ruby-rspec-core): Update to 3.8.0.
(ruby-rspec-expectations): Update to 3.8.2.
(ruby-rspec-mocks): Update to 3.8.0.
(ruby-rspec): Update to 3.8.0.
---
 gnu/packages/ruby.scm | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2c49b1587c..385a1338e9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -311,13 +311,13 @@ notebook).")
 (define ruby-rspec-support
   (package
     (name "ruby-rspec-support")
-    (version "3.5.0")
+    (version "3.8.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-support" version))
               (sha256
                (base32
-                "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0"))))
+                "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
@@ -329,13 +329,13 @@ notebook).")
 (define-public ruby-rspec-core
   (package
     (name "ruby-rspec-core")
-    (version "3.5.4")
+    (version "3.8.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-core" version))
               (sha256
                (base32
-                "1nacs062qbr98fx6czf1vwppn1js956nv2c8vfwj6i65axdfs46i"))))
+                "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
@@ -382,13 +382,13 @@ standard diff-like tool.")
 (define-public ruby-rspec-expectations
   (package
     (name "ruby-rspec-expectations")
-    (version "3.5.0")
+    (version "3.8.2")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-expectations" version))
               (sha256
                (base32
-                "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs"))))
+                "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
@@ -474,13 +474,13 @@ eq(1)\\}}.")
 (define-public ruby-rspec-mocks
   (package
     (name "ruby-rspec-mocks")
-    (version "3.5.0")
+    (version "3.8.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-mocks" version))
               (sha256
                (base32
-                "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24"))))
+                "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
@@ -531,13 +531,13 @@ RSpec tests.")
 (define-public ruby-rspec
   (package
     (name "ruby-rspec")
-    (version "3.5.0")
+    (version "3.8.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec" version))
               (sha256
                (base32
-                "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s"))))
+                "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
-- 
2.20.1

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

* [bug#34514] [PATCH 32/34] gnu: Add ruby-rspec-rails.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (29 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 31/34] gnu: ruby: Update some RSpec packages Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 33/34] gnu: Add ruby-autoprefixer-rails Christopher Baines
                     ` (2 subsequent siblings)
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-rspec-support): Export this variable, so that
it's accessible from the (gnu packages rails) module.
* gnu/packages/rails.scm (ruby-rspec-rails): New variable.
---
 gnu/packages/rails.scm | 30 ++++++++++++++++++++++++++++++
 gnu/packages/ruby.scm  |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 8823791405..339b68d580 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -174,6 +174,36 @@ an almost zero-configuration persistence layer for applications.")
    (home-page "https://rubyonrails.org")
    (license license:expat)))
 
+(define-public ruby-rspec-rails
+  (package
+    (name "ruby-rspec-rails")
+    (version "3.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "rspec-rails" version))
+       (sha256
+        (base32
+         "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-actionpack" ,ruby-actionpack)
+       ("ruby-activesupport" ,ruby-activesupport)
+       ("ruby-railties" ,ruby-railties)
+       ("ruby-rspec-core" ,ruby-rspec-core)
+       ("ruby-rspec-expectations" ,ruby-rspec-expectations)
+       ("ruby-rspec-mocks" ,ruby-rspec-mocks)
+       ("ruby-rspec-support" ,ruby-rspec-support)))
+    (synopsis "Use RSpec to test Ruby on Rails applications")
+    (description
+     "This package provides support for using RSpec to test Ruby on Rails
+applications, in pace of the default Minitest testing library.")
+    (home-page "https://github.com/rspec/rspec-rails")
+    (license license:expat)))
+
 (define-public ruby-rails-html-sanitizer
   (package
     (name "ruby-rails-html-sanitizer")
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 385a1338e9..921c5dc8d4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -308,7 +308,7 @@ notebook).")
 ;; RSpec is the dominant testing library for Ruby projects.  Even RSpec's
 ;; dependencies use RSpec for their test suites!  To avoid these circular
 ;; dependencies, we disable tests for all of the RSpec-related packages.
-(define ruby-rspec-support
+(define-public ruby-rspec-support
   (package
     (name "ruby-rspec-support")
     (version "3.8.0")
-- 
2.20.1

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

* [bug#34514] [PATCH 33/34] gnu: Add ruby-autoprefixer-rails.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (30 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 32/34] gnu: Add ruby-rspec-rails Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-17 19:23   ` [bug#34514] [PATCH 34/34] gnu: Add ruby-rerun Christopher Baines
  2019-02-18 22:40   ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Ricardo Wurmus
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

* gnu/packages/rails.scm (ruby-autoprefixer-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 339b68d580..2c2954e9cb 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -22,6 +22,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
+  #:use-module (gnu packages node)
   #:use-module (gnu packages ruby)
   #:use-module (guix build-system ruby))
 
@@ -123,6 +124,58 @@ API.")
      "https://github.com/banister/debug_inspector")
     (license license:expat)))
 
+(define-public ruby-autoprefixer-rails
+  (package
+    (name "ruby-autoprefixer-rails")
+    (version "9.4.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "autoprefixer-rails" version))
+       (sha256
+        (base32
+         "0fxbfl3xrrjj84n98x24yzxbz4nvm6c492dxj41kkrl9z97ga13i"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "spec"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'remove-unnecessary-dependencies
+           (lambda _
+             ;; Remove the testing of compass, as it's use is deprecated, and
+             ;; it's unpackaged for Guix
+             (substitute* "autoprefixer-rails.gemspec"
+               ((".*%q<compass>.*") "\n")
+               (("\"spec/compass_spec\\.rb\"\\.freeze, ") ""))
+             (delete-file "spec/compass_spec.rb")
+
+             (substitute* "Gemfile"
+               ;; Remove overly strict requirement on sprockets
+               ((", '>= 4\\.0\\.0\\.beta1'") "")
+               ;; The mini_racer gem isn't packaged yet, and it's not directly
+               ;; required, as other backends for ruby-execjs can be used.
+               (("gem 'mini_racer'") "")
+               ;; For some reason, this is required for the gems to be picked
+               ;; up
+               (("gemspec") "gemspec\ngem 'tzinfo-data'\ngem 'sass'"))
+             #t)))))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rails" ,ruby-rails)
+       ("ruby-rspec-rails" ,ruby-rspec-rails)
+       ;; This is needed for a test, but I'm unsure why
+       ("ruby-sass" ,ruby-sass)
+       ;; This is used as the ruby-execjs runtime
+       ("node" ,node)))
+    (propagated-inputs
+     `(("ruby-execjs" ,ruby-execjs)))
+    (synopsis "Parse CSS and add vendor prefixes to CSS rules")
+    (description
+     "Parse CSS and add vendor prefixes to CSS rules using values from the Can
+I Use website.")
+    (home-page "https://github.com/ai/autoprefixer-rails")
+    (license license:expat)))
+
 (define-public ruby-activemodel
   (package
    (name "ruby-activemodel")
-- 
2.20.1

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

* [bug#34514] [PATCH 34/34] gnu: Add ruby-rerun.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (31 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 33/34] gnu: Add ruby-autoprefixer-rails Christopher Baines
@ 2019-02-17 19:23   ` Christopher Baines
  2019-02-18 22:40   ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Ricardo Wurmus
  33 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-17 19:23 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-rerun): 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 921c5dc8d4..d045e412b0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2713,6 +2713,31 @@ conversion to (X)HTML.")
     (home-page "https://github.com/vmg/redcarpet")
     (license license:expat)))
 
+(define-public ruby-rerun
+  (package
+  (name "ruby-rerun")
+  (version "0.13.0")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (rubygems-uri "rerun" version))
+      (sha256
+        (base32
+          "1cskvxk8z8vmfail8na7hj91hs0qnvds9nydj04zi3dbddgnbmvz"))))
+  (build-system ruby-build-system)
+  (arguments
+   '(;; No included tests
+     #:tests? #f))
+  (propagated-inputs
+    `(("ruby-listen" ,ruby-listen)))
+  (synopsis "Run a process, and restart when some monitored files change")
+  (description
+    "Rerun is a tool to launch programs, then monitor the filesystem, and
+restart the program when any of the monitored files change.  It's written in
+Ruby, but can be used for all programs.")
+  (home-page "https://github.com/alexch/rerun/")
+  (license license:expat)))
+
 (define-public ruby-mocha
   (package
     (name "ruby-mocha")
-- 
2.20.1

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

* [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster.
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
                     ` (32 preceding siblings ...)
  2019-02-17 19:23   ` [bug#34514] [PATCH 34/34] gnu: Add ruby-rerun Christopher Baines
@ 2019-02-18 22:40   ` Ricardo Wurmus
  2019-02-19 22:55     ` Christopher Baines
  33 siblings, 1 reply; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-18 22:40 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/ruby.scm (ruby-hamster): New variable.
[…]
> +       (add-after 'unpack 'remove-unnecessary-dependencies
> +         (lambda _
> +           ;; pry is a debugging tool, and is unnecessary when running the
> +           ;; tests
> +           (substitute* "spec/lib/hamster/vector/insert_spec.rb"
> +             (("require 'pry'") ""))
> +           (substitute* "spec/spec_helper.rb"
> +             (("require \"pry\"") "")

We have a ruby-pry package.  Wouldn’t it be nicer to add it instead of
patching the sources?

> +             ;; CodeClimate is an online service, and is unnecessary for
> +             ;; running the tests
> +             (("require \"codeclimate-test-reporter\"") "")
> +             (("CodeClimate.*\n") ""))

Okay.

-- 
Ricardo

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

* [bug#34514] [PATCH 02/34] gnu: Add ruby-lino.
  2019-02-17 19:22   ` [bug#34514] [PATCH 02/34] gnu: Add ruby-lino Christopher Baines
@ 2019-02-18 22:42     ` Ricardo Wurmus
  0 siblings, 0 replies; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-18 22:42 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/ruby.scm (ruby-lino): New variable.
[…]
> +    (arguments
> +     '(;; No included tests
> +       #:tests? #f))

This is nitpicking, but I’d prefer to have this all on one line
(including the comment).

> +    (propagated-inputs
> +     `(("ruby-hamster" ,ruby-hamster)
> +       ("ruby-open4" ,ruby-open4)))
> +    (synopsis "Build and execute commands in Ruby")
> +    (description
> +     "@code{Lino} provides an interface to run external commands.  It provides
> +a interface to add options as well as managing the standard input,
> output and

“an interface”.

-- 
Ricardo

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

* [bug#34514] [PATCH 03/34] gnu: Add ruby-terraform.
  2019-02-17 19:22   ` [bug#34514] [PATCH 03/34] gnu: Add ruby-terraform Christopher Baines
@ 2019-02-18 22:43     ` Ricardo Wurmus
  2019-02-19 22:43       ` Christopher Baines
  0 siblings, 1 reply; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-18 22:43 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/ruby.scm (ruby-terraform): New variable.
[…]
> +(define-public ruby-terraform
> +  (package
> +  (name "ruby-terraform")
> +  (version "0.20.0")
> +  (source
> +    (origin
> +      (method url-fetch)
> +      (uri (rubygems-uri "ruby-terraform" version))
> +      (sha256
> +        (base32
> +          "1czpak24v570ysnk8waj1sblfm1vqh1sdwh934x4ai90ribhlbzf"))))

The indentation isn’t right here.

> +  (build-system ruby-build-system)
> +  (arguments
> +   '(;; No included tests
> +     #:tests? #f))

Could you please put this all on one line?

-- 
Ricardo

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

* [bug#34514] [PATCH 04/34] gnu: Add ruby-que.
  2019-02-17 19:22   ` [bug#34514] [PATCH 04/34] gnu: Add ruby-que Christopher Baines
@ 2019-02-18 22:45     ` Ricardo Wurmus
  0 siblings, 0 replies; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-18 22:45 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/ruby.scm (ruby-que): New variable.
[…]
> +    (arguments
> +     '(;; No included tests
> +       #:tests? #f))

Same as before.  It just looks better with a margin comment instead of a
line comment after an opened paren.

Otherwise LGTM!

--
Ricardo

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

* [bug#34514] [PATCH 05/34] gnu: Add ruby-rbnacl.
  2019-02-17 19:22   ` [bug#34514] [PATCH 05/34] gnu: Add ruby-rbnacl Christopher Baines
@ 2019-02-18 22:47     ` Ricardo Wurmus
  2019-02-19 22:20       ` Christopher Baines
  0 siblings, 1 reply; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-18 22:47 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/ruby.scm (ruby-rbnacl): New variable.
[…]
> +         (add-after 'unpack 'remove-unnecessary-dependencies
> +           (lambda _
> +             ;; Coveralls relates to a network service, and Rubocop to code
> +             ;; linting and both are unnecessary to run the tests
> +             (substitute* "Gemfile"
> +               ((".*rubocop.*") "\n")
> +               ((".*guard-rspec.*") "\n")
> +               ((".*coveralls.*") "\n"))
> +             (substitute* "spec/spec_helper.rb"
> +               (("require \"coveralls\"") "")
> +               (("Coveralls.wear!") ""))))

Please end this phase with #T as substitute* has no defined return value.

> +         (add-after 'unpack 'use-libsodium-from-store
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (substitute* '("lib/rbnacl/init.rb"
> +                            "lib/rbnacl/sodium.rb")
> +               (("\"sodium\", \"libsodium\\.so\\.18\", \"libsodium\\.so\\.23\"")
> +                (string-append "\""
> +                               (assoc-ref inputs "libsodium") "/lib/libsodium.so"
> +                               "\"")))))

Same here.

This regexp looks brittle.  Can we do without the “18” and “23”?

-- 
Ricardo

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

* [bug#34514] [PATCH 05/34] gnu: Add ruby-rbnacl.
  2019-02-18 22:47     ` Ricardo Wurmus
@ 2019-02-19 22:20       ` Christopher Baines
  0 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-19 22:20 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 34514

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


Ricardo Wurmus <rekado@elephly.net> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> * gnu/packages/ruby.scm (ruby-rbnacl): New variable.
> […]
>> +         (add-after 'unpack 'remove-unnecessary-dependencies
>> +           (lambda _
>> +             ;; Coveralls relates to a network service, and Rubocop to code
>> +             ;; linting and both are unnecessary to run the tests
>> +             (substitute* "Gemfile"
>> +               ((".*rubocop.*") "\n")
>> +               ((".*guard-rspec.*") "\n")
>> +               ((".*coveralls.*") "\n"))
>> +             (substitute* "spec/spec_helper.rb"
>> +               (("require \"coveralls\"") "")
>> +               (("Coveralls.wear!") ""))))
>
> Please end this phase with #T as substitute* has no defined return value.

Ah, yes, I've tweaked the patch.

>> +         (add-after 'unpack 'use-libsodium-from-store
>> +           (lambda* (#:key inputs #:allow-other-keys)
>> +             (substitute* '("lib/rbnacl/init.rb"
>> +                            "lib/rbnacl/sodium.rb")
>> +               (("\"sodium\", \"libsodium\\.so\\.18\", \"libsodium\\.so\\.23\"")
>> +                (string-append "\""
>> +                               (assoc-ref inputs "libsodium") "/lib/libsodium.so"
>> +                               "\"")))))
>
> Same here.
>
> This regexp looks brittle.  Can we do without the “18” and “23”?

Sure, I've replaced it by "ffi_lib \\[.+\\]". That should do the trick
without being specific about the filenames.

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

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

* [bug#34514] [PATCH 03/34] gnu: Add ruby-terraform.
  2019-02-18 22:43     ` Ricardo Wurmus
@ 2019-02-19 22:43       ` Christopher Baines
  0 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-02-19 22:43 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 34514

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


Ricardo Wurmus <rekado@elephly.net> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> * gnu/packages/ruby.scm (ruby-terraform): New variable.
> […]
>> +(define-public ruby-terraform
>> +  (package
>> +  (name "ruby-terraform")
>> +  (version "0.20.0")
>> +  (source
>> +    (origin
>> +      (method url-fetch)
>> +      (uri (rubygems-uri "ruby-terraform" version))
>> +      (sha256
>> +        (base32
>> +          "1czpak24v570ysnk8waj1sblfm1vqh1sdwh934x4ai90ribhlbzf"))))
>
> The indentation isn’t right here.

Good spot, I've fixed this now.

>> +  (build-system ruby-build-system)
>> +  (arguments
>> +   '(;; No included tests
>> +     #:tests? #f))
>
> Could you please put this all on one line?

Ok. I've taken to putting the comment inline, as this is syntactically
next to the #:tests? argument and this makes it easier to add additional
arguments, as you don't have to shuffle the comment around. I'm happy to
just put it inline though.

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

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

* [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster.
  2019-02-18 22:40   ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Ricardo Wurmus
@ 2019-02-19 22:55     ` Christopher Baines
  2019-02-20  7:48       ` Ricardo Wurmus
  0 siblings, 1 reply; 69+ messages in thread
From: Christopher Baines @ 2019-02-19 22:55 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 34514

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


Ricardo Wurmus <rekado@elephly.net> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> * gnu/packages/ruby.scm (ruby-hamster): New variable.
> […]
>> +       (add-after 'unpack 'remove-unnecessary-dependencies
>> +         (lambda _
>> +           ;; pry is a debugging tool, and is unnecessary when running the
>> +           ;; tests
>> +           (substitute* "spec/lib/hamster/vector/insert_spec.rb"
>> +             (("require 'pry'") ""))
>> +           (substitute* "spec/spec_helper.rb"
>> +             (("require \"pry\"") "")
>
> We have a ruby-pry package.  Wouldn’t it be nicer to add it instead of
> patching the sources?

It would make the package definition simpler, but it would lead to
redundant rebuilds of this package, and all of it's dependants if the
ruby-pry package changed.

The ideal situation would be for things like this to be optional, but I
think where this isn't the case, it's worth putting some effort in to
the package definition to avoid unnecessary dependencies.

>> +             ;; CodeClimate is an online service, and is unnecessary for
>> +             ;; running the tests
>> +             (("require \"codeclimate-test-reporter\"") "")
>> +             (("CodeClimate.*\n") ""))
>
> Okay.

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

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

* [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster.
  2019-02-19 22:55     ` Christopher Baines
@ 2019-02-20  7:48       ` Ricardo Wurmus
  0 siblings, 0 replies; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-20  7:48 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> Christopher Baines <mail@cbaines.net> writes:
>>
>>> * gnu/packages/ruby.scm (ruby-hamster): New variable.
>> […]
>>> +       (add-after 'unpack 'remove-unnecessary-dependencies
>>> +         (lambda _
>>> +           ;; pry is a debugging tool, and is unnecessary when running the
>>> +           ;; tests
>>> +           (substitute* "spec/lib/hamster/vector/insert_spec.rb"
>>> +             (("require 'pry'") ""))
>>> +           (substitute* "spec/spec_helper.rb"
>>> +             (("require \"pry\"") "")
>>
>> We have a ruby-pry package.  Wouldn’t it be nicer to add it instead of
>> patching the sources?
>
> It would make the package definition simpler, but it would lead to
> redundant rebuilds of this package, and all of it's dependants if the
> ruby-pry package changed.
>
> The ideal situation would be for things like this to be optional, but I
> think where this isn't the case, it's worth putting some effort in to
> the package definition to avoid unnecessary dependencies.

Okay, sounds fine to me.

-- 
Ricardo

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

* [bug#34514] [PATCH 06/34] gnu: Add ruby-jwt.
  2019-02-17 19:22   ` [bug#34514] [PATCH 06/34] gnu: Add ruby-jwt Christopher Baines
@ 2019-02-20 11:54     ` Ricardo Wurmus
  2019-03-02 12:34       ` Christopher Baines
  0 siblings, 1 reply; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-20 11:54 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/ruby.scm (ruby-jwt): New variable.
> ---
>  gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index b17a03e7cc..5b4d52ac4a 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -3952,6 +3952,43 @@ a native C extension.")
>      (home-page "https://flori.github.com/json")
>      (license license:ruby)))
>
> +(define-public ruby-jwt
> +  (package
> +    (name "ruby-jwt")
> +    (version "2.1.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (rubygems-uri "jwt" version))
> +       (sha256
> +        (base32
> +         "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky"))))
> +    (build-system ruby-build-system)
> +    (arguments
> +     '(#:test-target "test"
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'remove-unnecessary-dependencies
> +           (lambda _
> +             (substitute* "spec/spec_helper.rb"
> +               (("require 'simplecov.*") "\n")
> +               ;; Use [].each to disable running the SimpleCov configuration
> +               ;; block
> +               (("SimpleCov\\.configure") "[].each")
> +               (("require 'codeclimate-test-reporter'") "")
> +               (("require 'codacy-coverage'") "")
> +               (("Codacy::Reporter\\.start") "")))))))

Please end this lambda with #T.

> +     "This package provides a pure Ruby implementation of the RFC 7519 OAuth
> +@acronym{JWT, JSON Web Token} standard.")

If ’guix lint’ doesn’t complain about the use of @acronym (I’ve never
used it in a description) it’s all good.


--
Ricardo

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

* [bug#34514] [PATCH 07/34] gnu: Add ruby-multi-xml.
  2019-02-17 19:22   ` [bug#34514] [PATCH 07/34] gnu: Add ruby-multi-xml Christopher Baines
@ 2019-02-20 17:04     ` Ricardo Wurmus
  2019-03-02 12:36       ` Christopher Baines
  0 siblings, 1 reply; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-20 17:04 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/ruby.scm (ruby-multi-xml): New variable.
[…]
> +    (synopsis "Provides swappable XML backends for Ruby")

Please change this to “Swappable XML backends for Ruby”.

> +    (description
> +     "Provides swappable XML backends utilizing LibXML, Nokogiri, Ox, or
> +REXML.")

…and this to a complete sentence.

Thanks!

-- 
Ricardo

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

* [bug#34514] [PATCH 08/34] gnu: Add ruby-oauth2.
  2019-02-17 19:22   ` [bug#34514] [PATCH 08/34] gnu: Add ruby-oauth2 Christopher Baines
@ 2019-02-20 17:08     ` Ricardo Wurmus
  0 siblings, 0 replies; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-20 17:08 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/ruby.scm (ruby-oauth2): New variable.

LGTM!

-- 
Ricardo

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

* [bug#34514] [PATCH 09/34] gnu: Add ruby-omniauth.
  2019-02-17 19:22   ` [bug#34514] [PATCH 09/34] gnu: Add ruby-omniauth Christopher Baines
@ 2019-02-20 20:34     ` Ricardo Wurmus
  0 siblings, 0 replies; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-20 20:34 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packags/ruby.scm (ruby-omniauth): New variable.

LGTM!

-- 
Ricardo

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

* [bug#34514] [PATCH 10/34] gnu: Add ruby-warden.
  2019-02-17 19:22   ` [bug#34514] [PATCH 10/34] gnu: Add ruby-warden Christopher Baines
@ 2019-02-20 20:35     ` Ricardo Wurmus
  2019-03-02 12:38       ` Christopher Baines
  0 siblings, 1 reply; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-20 20:35 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/ruby.scm (ruby-warden): New variable.
[…]
> +    (synopsis "Rack middleware providing authentication")
> +    (description
> +     "Rack middleware that provides authentication for rack applications.")

Please use a full sentence here.

Otherwise LGTM!

-- 
Ricardo

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

* [bug#34514] [PATCH 11/34] gnu: Add ruby-warden-oauth2.
  2019-02-17 19:22   ` [bug#34514] [PATCH 11/34] gnu: Add ruby-warden-oauth2 Christopher Baines
@ 2019-02-20 20:36     ` Ricardo Wurmus
  0 siblings, 0 replies; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-20 20:36 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/ruby.scm (ruby-warden-oauth2): New variable.

LGTM!

-- 
Ricardo

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

* [bug#34514] [PATCH 12/34] gnu: Add ruby-with-advisory-lock.
  2019-02-17 19:22   ` [bug#34514] [PATCH 12/34] gnu: Add ruby-with-advisory-lock Christopher Baines
@ 2019-02-20 22:11     ` Ricardo Wurmus
  2019-03-02 12:40       ` Christopher Baines
  0 siblings, 1 reply; 69+ messages in thread
From: Ricardo Wurmus @ 2019-02-20 22:11 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 34514


Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/rails.scm (ruby-with-advisory-lock): New variable.
[…]
> +    (description
> +     "Adds advisory locking to ActiveRecord for PostgreSQL and MySQL.  SQLite
> +is also supported, but this uses the filesystem for locks.")

Please use full sentences here.

> +    (home-page "http://closuretree.github.io/with_advisory_lock/")

You can use HTTPS here.

Otherwise LGTM, thanks!

-- 
Ricardo

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

* [bug#34514] [PATCH 06/34] gnu: Add ruby-jwt.
  2019-02-20 11:54     ` Ricardo Wurmus
@ 2019-03-02 12:34       ` Christopher Baines
  0 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-02 12:34 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 34514

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


Ricardo Wurmus <rekado@elephly.net> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> * gnu/packages/ruby.scm (ruby-jwt): New variable.
>> ---
>>  gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++
>>  1 file changed, 37 insertions(+)
>>
>> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
>> index b17a03e7cc..5b4d52ac4a 100644
>> --- a/gnu/packages/ruby.scm
>> +++ b/gnu/packages/ruby.scm
>> @@ -3952,6 +3952,43 @@ a native C extension.")
>>      (home-page "https://flori.github.com/json")
>>      (license license:ruby)))
>>
>> +(define-public ruby-jwt
>> +  (package
>> +    (name "ruby-jwt")
>> +    (version "2.1.0")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (rubygems-uri "jwt" version))
>> +       (sha256
>> +        (base32
>> +         "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky"))))
>> +    (build-system ruby-build-system)
>> +    (arguments
>> +     '(#:test-target "test"
>> +       #:phases
>> +       (modify-phases %standard-phases
>> +         (add-after 'unpack 'remove-unnecessary-dependencies
>> +           (lambda _
>> +             (substitute* "spec/spec_helper.rb"
>> +               (("require 'simplecov.*") "\n")
>> +               ;; Use [].each to disable running the SimpleCov configuration
>> +               ;; block
>> +               (("SimpleCov\\.configure") "[].each")
>> +               (("require 'codeclimate-test-reporter'") "")
>> +               (("require 'codacy-coverage'") "")
>> +               (("Codacy::Reporter\\.start") "")))))))
>
> Please end this lambda with #T.

Good spot, I'll add #t.

>> +     "This package provides a pure Ruby implementation of the RFC 7519 OAuth
>> +@acronym{JWT, JSON Web Token} standard.")
>
> If ’guix lint’ doesn’t complain about the use of @acronym (I’ve never
> used it in a description) it’s all good.

Yep, it seems to be fine with it :)

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

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

* [bug#34514] [PATCH 07/34] gnu: Add ruby-multi-xml.
  2019-02-20 17:04     ` Ricardo Wurmus
@ 2019-03-02 12:36       ` Christopher Baines
  0 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-02 12:36 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 34514

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


Ricardo Wurmus <rekado@elephly.net> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> * gnu/packages/ruby.scm (ruby-multi-xml): New variable.
> […]
>> +    (synopsis "Provides swappable XML backends for Ruby")
>
> Please change this to “Swappable XML backends for Ruby”.

Ok.

>> +    (description
>> +     "Provides swappable XML backends utilizing LibXML, Nokogiri, Ox, or
>> +REXML.")
>
> …and this to a complete sentence.

I've changed this to "@code{MultiXml} provides swappable XML backends
utilizing either LibXML, Nokogiri, Ox, or REXML.". Hopefully that's ok.

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

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

* [bug#34514] [PATCH 10/34] gnu: Add ruby-warden.
  2019-02-20 20:35     ` Ricardo Wurmus
@ 2019-03-02 12:38       ` Christopher Baines
  0 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-02 12:38 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 34514

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


Ricardo Wurmus <rekado@elephly.net> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> * gnu/packages/ruby.scm (ruby-warden): New variable.
> […]
>> +    (synopsis "Rack middleware providing authentication")
>> +    (description
>> +     "Rack middleware that provides authentication for rack applications.")
>
> Please use a full sentence here.

I've changed this to "Warden is a Rack-based middleware that provides a
mechanism for authentication in Ruby web applications." now.

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

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

* [bug#34514] [PATCH 12/34] gnu: Add ruby-with-advisory-lock.
  2019-02-20 22:11     ` Ricardo Wurmus
@ 2019-03-02 12:40       ` Christopher Baines
  0 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-02 12:40 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 34514

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


Ricardo Wurmus <rekado@elephly.net> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> * gnu/packages/rails.scm (ruby-with-advisory-lock): New variable.
> […]
>> +    (description
>> +     "Adds advisory locking to ActiveRecord for PostgreSQL and MySQL.  SQLite
>> +is also supported, but this uses the filesystem for locks.")
>
> Please use full sentences here.

I've changed this to "The With advisory lock gem adds advisory locking
to ActiveRecord for PostgreSQL and MySQL.  SQLite is also supported, but
this uses the filesystem for locks." now.

>> +    (home-page "http://closuretree.github.io/with_advisory_lock/")
>
> You can use HTTPS here.

Updated.

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

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

* [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related
  2019-02-17 19:13 [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related Christopher Baines
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
@ 2019-03-05  7:51 ` Christopher Baines
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
  2019-03-24  9:43 ` bug#34514: [PATCH 00/34] Add more Ruby gems, some Rails related Christopher Baines
  3 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:51 UTC (permalink / raw)
  To: 34514

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


Christopher Baines <mail@cbaines.net> writes:

> Christopher Baines (34):
>   gnu: Add ruby-hamster.
>   gnu: Add ruby-lino.
>   gnu: Add ruby-terraform.
>   gnu: Add ruby-que.
>   gnu: Add ruby-rbnacl.
>   gnu: Add ruby-jwt.
>   gnu: Add ruby-multi-xml.
>   gnu: Add ruby-oauth2.
>   gnu: Add ruby-omniauth.
>   gnu: Add ruby-warden.
>   gnu: Add ruby-warden-oauth2.
>   gnu: Add ruby-with-advisory-lock.
>   gnu: Add ruby-omniauth-oauth2.
>   gnu: Add ruby-test-construct.
>   gnu: Add ruby-minitest-around.
>   gnu: Add libsass.
>   gnu: sassc: Update and improve the package.
>   gnu: Add ruby-sassc.
>   gnu: Add ruby-markaby.
>   gnu: Add ruby-temple.
>   gnu: Add ruby-haml.
>   gnu: Add ruby-tilt.

I've now gone ahead and pushed the above patches, mostly to avoid
blocking [1] which also required ruby-tilt. If anyone has any comments
still, I'm happy to hear them.

1: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34650

>   gnu: Add ruby-sass-rails.
>   gnu: Add ruby-dep.
>   gnu: ruby-jekyll-watch: Update to 2.1.2.
>   gnu: Remove ruby-listen-3.0.
>   gnu: ruby-listen: Enable running the tests.
>   gnu: Add ruby-bindex.
>   gnu: Add ruby-web-console.
>   gnu: Add ruby-execjs.
>   gnu: ruby: Update some RSpec packages.
>   gnu: Add ruby-rspec-rails.
>   gnu: Add ruby-autoprefixer-rails.
>   gnu: Add ruby-rerun.

As for these remaining patches, I've now reviewed them once more, and
I'll send some updated patches shortly.

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

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

* [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails.
  2019-02-17 19:13 [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related Christopher Baines
  2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
  2019-03-05  7:51 ` [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related Christopher Baines
@ 2019-03-05  7:54 ` Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 02/12] gnu: Add ruby-dep Christopher Baines
                     ` (10 more replies)
  2019-03-24  9:43 ` bug#34514: [PATCH 00/34] Add more Ruby gems, some Rails related Christopher Baines
  3 siblings, 11 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

* gnu/packages/rails.scm (ruby-sass-rails): 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 754539f546..8da441682e 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -65,6 +65,33 @@ migration.")
     (home-page "https://github.com/rails/spring")
     (license license:expat)))
 
+(define-public ruby-sass-rails
+  (package
+    (name "ruby-sass-rails")
+    (version "5.0.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "sass-rails" version))
+       (sha256
+        (base32
+         "1wa63sbsimrsf7nfm8h0m1wbsllkfxvd7naph5d1j6pbc555ma7s"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f)) ; No included tests
+    (propagated-inputs
+     `(("ruby-railties" ,ruby-railties)
+       ("ruby-sass" ,ruby-sass)
+       ("ruby-sprockets" ,ruby-sprockets)
+       ("ruby-sprockets-rails" ,ruby-sprockets-rails)
+       ("ruby-tilt" ,ruby-tilt)))
+    (synopsis "Sass adapter for the Rails asset pipeline")
+    (description
+     "This library integrates the SASS stylesheet language into Ruby on
+Rails.")
+    (home-page "https://github.com/rails/sass-rails")
+    (license license:expat)))
+
 (define-public ruby-debug-inspector
   (package
     (name "ruby-debug-inspector")
-- 
2.20.1

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

* [bug#34514] [PATCH v2 02/12] gnu: Add ruby-dep.
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
@ 2019-03-05  7:54   ` Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 03/12] gnu: ruby-jekyll-watch: Update to 2.1.2 Christopher Baines
                     ` (9 subsequent siblings)
  10 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-dep): 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 53df4cf9fc..a5782bae93 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3726,6 +3726,27 @@ rate.")
     (home-page "https://github.com/paul/progress_bar")
     (license license:wtfpl2)))
 
+(define-public ruby-dep
+  (package
+    (name "ruby-dep")
+    (version "1.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "ruby_dep" version))
+       (sha256
+        (base32
+         "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f)) ; No included tests
+    (synopsis "Creates a version constraint of supported Rubies")
+    (description
+     "This package helps create a version constraint of supported Rubies,
+suitable for a gemspec file.")
+    (home-page "https://github.com/e2/ruby_dep")
+    (license license:expat)))
+
 (define-public ruby-progressbar
   (package
     (name "ruby-progressbar")
-- 
2.20.1

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

* [bug#34514] [PATCH v2 03/12] gnu: ruby-jekyll-watch: Update to 2.1.2.
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 02/12] gnu: Add ruby-dep Christopher Baines
@ 2019-03-05  7:54   ` Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 04/12] gnu: Remove ruby-listen-3.0 Christopher Baines
                     ` (8 subsequent siblings)
  10 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-jekyll-watch): Update to 2.1.2.
[propagated-inputs]: Change to use ruby-listen, rather than ruby-listen-3.0.
---
 gnu/packages/ruby.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a5782bae93..2da8dcda55 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7669,16 +7669,16 @@ in Jekyll.")
 (define-public ruby-jekyll-watch
   (package
     (name "ruby-jekyll-watch")
-    (version "2.0.0")
+    (version "2.1.2")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "jekyll-watch" version))
               (sha256
                (base32
-                "0m7scvj3ki8bmyx5v8pzibpg6my10nycnc28lip98dskf8iakprp"))))
+                "1s9ly83sp8albvgdff12xy2h4xd8lm6z2fah4lzmk2yvp85jzdzv"))))
     (build-system ruby-build-system)
     (propagated-inputs
-     `(("ruby-listen-3.0" ,ruby-listen-3.0)))
+     `(("ruby-listen" ,ruby-listen)))
     (arguments
      ;; No rakefile
      `(#:tests? #f))
-- 
2.20.1

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

* [bug#34514] [PATCH v2 04/12] gnu: Remove ruby-listen-3.0.
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 02/12] gnu: Add ruby-dep Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 03/12] gnu: ruby-jekyll-watch: Update to 2.1.2 Christopher Baines
@ 2019-03-05  7:54   ` Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 05/12] gnu: ruby-listen: Enable running the tests Christopher Baines
                     ` (7 subsequent siblings)
  10 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

This was used by ruby-jekyll-watch, but that's now been upgraded and now uses
the ruby-listen package.

* gnu/packages/ruby.scm (ruby-listen-3.0): Remove this variable.
---
 gnu/packages/ruby.scm | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2da8dcda55..13629597ad 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4437,17 +4437,6 @@ you about the changes.")
     (home-page "https://github.com/guard/listen")
     (license license:expat)))
 
-(define-public ruby-listen-3.0
-  (package
-    (inherit ruby-listen)
-    (version "3.0.8")
-    (source (origin
-              (method url-fetch)
-              (uri (rubygems-uri "listen" version))
-              (sha256
-               (base32
-                "1l0y7hbyfiwpvk172r28hsdqsifq1ls39hsfmzi1vy4ll0smd14i"))))))
-
 (define-public ruby-loofah
   (package
     (name "ruby-loofah")
-- 
2.20.1

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

* [bug#34514] [PATCH v2 05/12] gnu: ruby-listen: Enable running the tests.
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
                     ` (2 preceding siblings ...)
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 04/12] gnu: Remove ruby-listen-3.0 Christopher Baines
@ 2019-03-05  7:54   ` Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 06/12] gnu: Add ruby-bindex Christopher Baines
                     ` (6 subsequent siblings)
  10 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-listen)[source]: Switch to the Git repository,
as this includes the tests.
[arguments]: Set #:test-target and tweak the Rakefile to avoid requiring
Rubocop unnecessarily.
[native-inputs]: Add bundler and ruby-rspec for running the test suite.
[inputs]: Add ruby-thor, as this is used for bin/listen.
[propagated-inputs]: Add ruby-dep, as this is listed as a runtime dependency
in the gemspec.
---
 gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++------
 1 file changed, 29 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 13629597ad..4efad7cd0e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4421,16 +4421,39 @@ a native C extension.")
     (version "3.1.5")
     (source
      (origin
-       (method url-fetch)
-       (uri (rubygems-uri "listen" version))
+       ;; The gem does not include a Rakefile, so fetch from the Git
+       ;; repository.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/guard/listen.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"))))
+         "1hqmkfa9f2xb5jlvqbafdxjd5ax75jm8gqj5nh3k22xq0kacsvgg"))))
     (build-system ruby-build-system)
-    (arguments '(#:tests? #f)) ; no tests
+    (arguments
+     `(#:test-target "spec"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'remove-unnecessary-dependencies'
+           (lambda _
+             (substitute* "Rakefile"
+               ;; Rubocop is for code linting, and is unnecessary for running
+               ;; the tests.
+               ((".*rubocop.*") ""))
+             #t)))))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)))
+    (inputs
+     `(;; ruby-thor is used for the command line interface, and is referenced
+       ;; in the wrapper, and therefore just needs to be an input.
+       ("ruby-thor" ,ruby-thor)))
     (propagated-inputs
-     `(("ruby-rb-inotify" ,ruby-rb-inotify)
-       ("ruby-rb-fsevent" ,ruby-rb-fsevent)))
+     `(("ruby-rb-fsevent" ,ruby-rb-fsevent)
+       ("ruby-rb-inotify" ,ruby-rb-inotify)
+       ("ruby-dep" ,ruby-dep)))
     (synopsis "Listen to file modifications")
     (description "The Listen gem listens to file modifications and notifies
 you about the changes.")
-- 
2.20.1

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

* [bug#34514] [PATCH v2 06/12] gnu: Add ruby-bindex.
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
                     ` (3 preceding siblings ...)
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 05/12] gnu: ruby-listen: Enable running the tests Christopher Baines
@ 2019-03-05  7:54   ` Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 07/12] gnu: Add ruby-web-console Christopher Baines
                     ` (5 subsequent siblings)
  10 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-bindex): 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 4efad7cd0e..789c9881c8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5521,6 +5521,31 @@ boolean expression used by Cucumber.")
     (home-page "https://github.com/cucumber/tag-expressions-ruby")
     (license license:expat)))
 
+(define-public ruby-bindex
+  (package
+    (name "ruby-bindex")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "bindex" version))
+       (sha256
+        (base32
+         "1wvhf4v8sk5x8li03pcc0v0wglmyv7ikvvg05bnms83dfy7s4k8i"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "default"))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rake-compiler" ,ruby-rake-compiler)))
+    (synopsis "Provides access for bindings relating to Ruby exceptions")
+    (description
+     "@code{bindex} provides a way to access the bindings that relate to
+exceptions in Ruby, providing more information about the context in which the
+exception occurred.")
+    (home-page "https://github.com/gsamokovarov/bindex")
+    (license license:expat)))
+
 (define-public ruby-bio-logger
   (package
     (name "ruby-bio-logger")
-- 
2.20.1

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

* [bug#34514] [PATCH v2 07/12] gnu: Add ruby-web-console.
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
                     ` (4 preceding siblings ...)
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 06/12] gnu: Add ruby-bindex Christopher Baines
@ 2019-03-05  7:54   ` Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 08/12] gnu: Add ruby-execjs Christopher Baines
                     ` (4 subsequent siblings)
  10 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

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

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 8da441682e..ae681baa60 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -440,6 +440,62 @@ application bootup, plugins, generators, and Rake tasks.")
     "https://github.com/rails/sprockets-rails")
    (license license:expat)))
 
+(define-public ruby-web-console
+  (package
+    (name "ruby-web-console")
+    (version "3.7.0")
+    (source
+     (origin
+       ;; Download from GitHub as test files are not provided in the gem.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/rails/web-console.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0ir999p8cnm3l3zwbgpwxxcq1vwkj8d0d3r24362cyaf4v1rglq2"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-Gemfile
+           (lambda _
+             (substitute* "Gemfile"
+               ;; Remove the github bit from the Gemfile, so that the Guix
+               ;; packages are used.
+               ((", github: .*") "\n")
+               ;; The usual methods of not loading this group don't work, so
+               ;; patch the Gemfile.
+               (("group :development") "[].each")
+               ;; tzinfo-data is propagated by ruby-activesupport, but it
+               ;; needs to be in the Gemfile to become available.
+               (("group :test do") "group :test do\n  gem 'tzinfo-data'"))
+             #t))
+         (add-after 'unpack 'fix-mocha-minitest-require
+           (lambda _
+             (substitute* "test/test_helper.rb"
+               ;; This chanegd in recent versions of Mocha
+               (("mocha/minitest") "mocha/mini_test"))
+             #t)))))
+    (propagated-inputs
+     `(("ruby-actionview" ,ruby-actionview)
+       ("ruby-activemodel" ,ruby-activemodel)
+       ("ruby-bindex" ,ruby-bindex)
+       ("ruby-railties" ,ruby-railties)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rails" ,ruby-rails)
+       ("ruby-mocha" ,ruby-mocha)
+       ("ruby-simplecov" ,ruby-simplecov)))
+    (synopsis "Debugging tool for your Ruby on Rails applications")
+    (description
+     "This package allows you to create an interactive Ruby session in your
+browser.  Those sessions are launched automatically in case of an error and
+can also be launched manually in any page.")
+    (home-page "https://github.com/rails/web-console")
+    (license license:expat)))
+
 (define-public ruby-with-advisory-lock
   (package
     (name "ruby-with-advisory-lock")
-- 
2.20.1

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

* [bug#34514] [PATCH v2 08/12] gnu: Add ruby-execjs.
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
                     ` (5 preceding siblings ...)
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 07/12] gnu: Add ruby-web-console Christopher Baines
@ 2019-03-05  7:54   ` Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 09/12] gnu: ruby: Update some RSpec packages Christopher Baines
                     ` (3 subsequent siblings)
  10 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-execjs): 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 789c9881c8..c192914ea0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages maths)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages node)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages ragel)
@@ -1372,6 +1373,39 @@ support.")
     (home-page "http://www.kuwata-lab.com/erubis/")
     (license license:expat)))
 
+(define-public ruby-execjs
+  (package
+    (name "ruby-execjs")
+    (version "2.7.0")
+    (source
+     (origin
+       ;; fetch from github as the gem does not contain testing code
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/rails/execjs.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0c0vd2mmqq3ar4plbwi2wsbr31vn4h45i19r5km66skydnnbp1y6"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("bundler" ,bundler)
+       ;; The test suite tests all the available backends. Currenly, this just
+       ;; means the node backend.
+       ;;
+       ;; PASSED: test:node
+       ;; SKIPPED: test:duktape, ;; test:javascriptcore, test:jscript,
+       ;; test:miniracer, test:rubyracer, ;; test:rubyrhino, test:v8
+       ("node" ,node)))
+    (synopsis "ExecJS lets you run JavaScript code from Ruby")
+    (description
+     "ExecJS lets you run JavaScript code from Ruby.  It automatically picks a
+runtime to evaluate your JavaScript program, then returns the result to you as
+a Ruby object.")
+    (home-page "https://github.com/rails/execjs")
+    (license license:expat)))
+
 (define-public ruby-orderedhash
   (package
     (name "ruby-orderedhash")
-- 
2.20.1

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

* [bug#34514] [PATCH v2 09/12] gnu: ruby: Update some RSpec packages.
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
                     ` (6 preceding siblings ...)
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 08/12] gnu: Add ruby-execjs Christopher Baines
@ 2019-03-05  7:54   ` Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 10/12] gnu: Add ruby-rspec-rails Christopher Baines
                     ` (2 subsequent siblings)
  10 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-rspec-support): Update to 3.8.0.
(ruby-rspec-core): Update to 3.8.0.
(ruby-rspec-expectations): Update to 3.8.2.
(ruby-rspec-mocks): Update to 3.8.0.
(ruby-rspec): Update to 3.8.0.
---
 gnu/packages/ruby.scm | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c192914ea0..246f7facf1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -388,13 +388,13 @@ notebook).")
 (define ruby-rspec-support
   (package
     (name "ruby-rspec-support")
-    (version "3.5.0")
+    (version "3.8.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-support" version))
               (sha256
                (base32
-                "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0"))))
+                "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
@@ -406,13 +406,13 @@ notebook).")
 (define-public ruby-rspec-core
   (package
     (name "ruby-rspec-core")
-    (version "3.5.4")
+    (version "3.8.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-core" version))
               (sha256
                (base32
-                "1nacs062qbr98fx6czf1vwppn1js956nv2c8vfwj6i65axdfs46i"))))
+                "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
@@ -459,13 +459,13 @@ standard diff-like tool.")
 (define-public ruby-rspec-expectations
   (package
     (name "ruby-rspec-expectations")
-    (version "3.5.0")
+    (version "3.8.2")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-expectations" version))
               (sha256
                (base32
-                "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs"))))
+                "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
@@ -551,13 +551,13 @@ eq(1)\\}}.")
 (define-public ruby-rspec-mocks
   (package
     (name "ruby-rspec-mocks")
-    (version "3.5.0")
+    (version "3.8.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-mocks" version))
               (sha256
                (base32
-                "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24"))))
+                "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
@@ -608,13 +608,13 @@ RSpec tests.")
 (define-public ruby-rspec
   (package
     (name "ruby-rspec")
-    (version "3.5.0")
+    (version "3.8.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec" version))
               (sha256
                (base32
-                "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s"))))
+                "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
-- 
2.20.1

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

* [bug#34514] [PATCH v2 10/12] gnu: Add ruby-rspec-rails.
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
                     ` (7 preceding siblings ...)
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 09/12] gnu: ruby: Update some RSpec packages Christopher Baines
@ 2019-03-05  7:54   ` Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 11/12] gnu: Add ruby-autoprefixer-rails Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 12/12] gnu: Add ruby-rerun Christopher Baines
  10 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-rspec-support): Export this variable, so that
it's accessible from the (gnu packages rails) module.
* gnu/packages/rails.scm (ruby-rspec-rails): New variable.
---
 gnu/packages/rails.scm | 29 +++++++++++++++++++++++++++++
 gnu/packages/ruby.scm  |  2 +-
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index ae681baa60..373584d3ca 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -173,6 +173,35 @@ an almost zero-configuration persistence layer for applications.")
    (home-page "https://rubyonrails.org")
    (license license:expat)))
 
+(define-public ruby-rspec-rails
+  (package
+    (name "ruby-rspec-rails")
+    (version "3.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "rspec-rails" version))
+       (sha256
+        (base32
+         "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f)) ; No included tests
+    (propagated-inputs
+     `(("ruby-actionpack" ,ruby-actionpack)
+       ("ruby-activesupport" ,ruby-activesupport)
+       ("ruby-railties" ,ruby-railties)
+       ("ruby-rspec-core" ,ruby-rspec-core)
+       ("ruby-rspec-expectations" ,ruby-rspec-expectations)
+       ("ruby-rspec-mocks" ,ruby-rspec-mocks)
+       ("ruby-rspec-support" ,ruby-rspec-support)))
+    (synopsis "Use RSpec to test Ruby on Rails applications")
+    (description
+     "This package provides support for using RSpec to test Ruby on Rails
+applications, in pace of the default Minitest testing library.")
+    (home-page "https://github.com/rspec/rspec-rails")
+    (license license:expat)))
+
 (define-public ruby-rails-html-sanitizer
   (package
     (name "ruby-rails-html-sanitizer")
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 246f7facf1..8c65f19361 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -385,7 +385,7 @@ notebook).")
 ;; RSpec is the dominant testing library for Ruby projects.  Even RSpec's
 ;; dependencies use RSpec for their test suites!  To avoid these circular
 ;; dependencies, we disable tests for all of the RSpec-related packages.
-(define ruby-rspec-support
+(define-public ruby-rspec-support
   (package
     (name "ruby-rspec-support")
     (version "3.8.0")
-- 
2.20.1

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

* [bug#34514] [PATCH v2 11/12] gnu: Add ruby-autoprefixer-rails.
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
                     ` (8 preceding siblings ...)
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 10/12] gnu: Add ruby-rspec-rails Christopher Baines
@ 2019-03-05  7:54   ` Christopher Baines
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 12/12] gnu: Add ruby-rerun Christopher Baines
  10 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

* gnu/packages/rails.scm (ruby-autoprefixer-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 373584d3ca..927af86324 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -22,6 +22,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
+  #:use-module (gnu packages node)
   #:use-module (gnu packages ruby)
   #:use-module (guix build-system ruby))
 
@@ -122,6 +123,58 @@ API.")
      "https://github.com/banister/debug_inspector")
     (license license:expat)))
 
+(define-public ruby-autoprefixer-rails
+  (package
+    (name "ruby-autoprefixer-rails")
+    (version "9.4.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "autoprefixer-rails" version))
+       (sha256
+        (base32
+         "0fxbfl3xrrjj84n98x24yzxbz4nvm6c492dxj41kkrl9z97ga13i"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:test-target "spec"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'extract-gemspec 'remove-unnecessary-dependencies
+           (lambda _
+             ;; Remove the testing of compass, as it's use is deprecated, and
+             ;; it's unpackaged for Guix
+             (substitute* "autoprefixer-rails.gemspec"
+               ((".*%q<compass>.*") "\n")
+               (("\"spec/compass_spec\\.rb\"\\.freeze, ") ""))
+             (delete-file "spec/compass_spec.rb")
+
+             (substitute* "Gemfile"
+               ;; Remove overly strict requirement on sprockets
+               ((", '>= 4\\.0\\.0\\.beta1'") "")
+               ;; The mini_racer gem isn't packaged yet, and it's not directly
+               ;; required, as other backends for ruby-execjs can be used.
+               (("gem 'mini_racer'") "")
+               ;; For some reason, this is required for the gems to be picked
+               ;; up
+               (("gemspec") "gemspec\ngem 'tzinfo-data'\ngem 'sass'"))
+             #t)))))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rails" ,ruby-rails)
+       ("ruby-rspec-rails" ,ruby-rspec-rails)
+       ;; This is needed for a test, but I'm unsure why
+       ("ruby-sass" ,ruby-sass)
+       ;; This is used as the ruby-execjs runtime
+       ("node" ,node)))
+    (propagated-inputs
+     `(("ruby-execjs" ,ruby-execjs)))
+    (synopsis "Parse CSS and add vendor prefixes to CSS rules")
+    (description
+     "Parse CSS and add vendor prefixes to CSS rules using values from the Can
+I Use website.")
+    (home-page "https://github.com/ai/autoprefixer-rails")
+    (license license:expat)))
+
 (define-public ruby-activemodel
   (package
    (name "ruby-activemodel")
-- 
2.20.1

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

* [bug#34514] [PATCH v2 12/12] gnu: Add ruby-rerun.
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
                     ` (9 preceding siblings ...)
  2019-03-05  7:54   ` [bug#34514] [PATCH v2 11/12] gnu: Add ruby-autoprefixer-rails Christopher Baines
@ 2019-03-05  7:54   ` Christopher Baines
  10 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-05  7:54 UTC (permalink / raw)
  To: 34514

* gnu/packages/ruby.scm (ruby-rerun): 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 8c65f19361..1aeec0d737 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2790,6 +2790,30 @@ conversion to (X)HTML.")
     (home-page "https://github.com/vmg/redcarpet")
     (license license:expat)))
 
+(define-public ruby-rerun
+  (package
+  (name "ruby-rerun")
+  (version "0.13.0")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (rubygems-uri "rerun" version))
+      (sha256
+        (base32
+          "1cskvxk8z8vmfail8na7hj91hs0qnvds9nydj04zi3dbddgnbmvz"))))
+  (build-system ruby-build-system)
+  (arguments
+   '(#:tests? #f)) ; No included tests
+  (propagated-inputs
+    `(("ruby-listen" ,ruby-listen)))
+  (synopsis "Run a process, and restart when some monitored files change")
+  (description
+    "Rerun is a tool to launch programs, then monitor the filesystem, and
+restart the program when any of the monitored files change.  It's written in
+Ruby, but can be used for all programs.")
+  (home-page "https://github.com/alexch/rerun/")
+  (license license:expat)))
+
 (define-public ruby-mocha
   (package
     (name "ruby-mocha")
-- 
2.20.1

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

* bug#34514: [PATCH 00/34] Add more Ruby gems, some Rails related
  2019-02-17 19:13 [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related Christopher Baines
                   ` (2 preceding siblings ...)
  2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
@ 2019-03-24  9:43 ` Christopher Baines
  3 siblings, 0 replies; 69+ messages in thread
From: Christopher Baines @ 2019-03-24  9:43 UTC (permalink / raw)
  To: 34514-done

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


Christopher Baines <mail@cbaines.net> writes:

> Christopher Baines (34):
>   gnu: Add ruby-hamster.
>   gnu: Add ruby-lino.
>   gnu: Add ruby-terraform.
>   gnu: Add ruby-que.
>   gnu: Add ruby-rbnacl.
>   gnu: Add ruby-jwt.
>   gnu: Add ruby-multi-xml.
>   gnu: Add ruby-oauth2.
>   gnu: Add ruby-omniauth.
>   gnu: Add ruby-warden.
>   gnu: Add ruby-warden-oauth2.
>   gnu: Add ruby-with-advisory-lock.
>   gnu: Add ruby-omniauth-oauth2.
>   gnu: Add ruby-test-construct.
>   gnu: Add ruby-minitest-around.
>   gnu: Add libsass.
>   gnu: sassc: Update and improve the package.
>   gnu: Add ruby-sassc.
>   gnu: Add ruby-markaby.
>   gnu: Add ruby-temple.
>   gnu: Add ruby-haml.
>   gnu: Add ruby-tilt.
>   gnu: Add ruby-sass-rails.
>   gnu: Add ruby-dep.
>   gnu: ruby-jekyll-watch: Update to 2.1.2.
>   gnu: Remove ruby-listen-3.0.
>   gnu: ruby-listen: Enable running the tests.
>   gnu: Add ruby-bindex.
>   gnu: Add ruby-web-console.
>   gnu: Add ruby-execjs.
>   gnu: ruby: Update some RSpec packages.
>   gnu: Add ruby-rspec-rails.
>   gnu: Add ruby-autoprefixer-rails.
>   gnu: Add ruby-rerun.

I pushed the rest of these patches yesterday, so I think all of this is
merged now!

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

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

end of thread, other threads:[~2019-03-24  9:49 UTC | newest]

Thread overview: 69+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-17 19:13 [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related Christopher Baines
2019-02-17 19:22 ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 02/34] gnu: Add ruby-lino Christopher Baines
2019-02-18 22:42     ` Ricardo Wurmus
2019-02-17 19:22   ` [bug#34514] [PATCH 03/34] gnu: Add ruby-terraform Christopher Baines
2019-02-18 22:43     ` Ricardo Wurmus
2019-02-19 22:43       ` Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 04/34] gnu: Add ruby-que Christopher Baines
2019-02-18 22:45     ` Ricardo Wurmus
2019-02-17 19:22   ` [bug#34514] [PATCH 05/34] gnu: Add ruby-rbnacl Christopher Baines
2019-02-18 22:47     ` Ricardo Wurmus
2019-02-19 22:20       ` Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 06/34] gnu: Add ruby-jwt Christopher Baines
2019-02-20 11:54     ` Ricardo Wurmus
2019-03-02 12:34       ` Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 07/34] gnu: Add ruby-multi-xml Christopher Baines
2019-02-20 17:04     ` Ricardo Wurmus
2019-03-02 12:36       ` Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 08/34] gnu: Add ruby-oauth2 Christopher Baines
2019-02-20 17:08     ` Ricardo Wurmus
2019-02-17 19:22   ` [bug#34514] [PATCH 09/34] gnu: Add ruby-omniauth Christopher Baines
2019-02-20 20:34     ` Ricardo Wurmus
2019-02-17 19:22   ` [bug#34514] [PATCH 10/34] gnu: Add ruby-warden Christopher Baines
2019-02-20 20:35     ` Ricardo Wurmus
2019-03-02 12:38       ` Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 11/34] gnu: Add ruby-warden-oauth2 Christopher Baines
2019-02-20 20:36     ` Ricardo Wurmus
2019-02-17 19:22   ` [bug#34514] [PATCH 12/34] gnu: Add ruby-with-advisory-lock Christopher Baines
2019-02-20 22:11     ` Ricardo Wurmus
2019-03-02 12:40       ` Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 13/34] gnu: Add ruby-omniauth-oauth2 Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 14/34] gnu: Add ruby-test-construct Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 15/34] gnu: Add ruby-minitest-around Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 16/34] gnu: Add libsass Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 17/34] gnu: sassc: Update and improve the package Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 18/34] gnu: Add ruby-sassc Christopher Baines
2019-02-17 19:22   ` [bug#34514] [PATCH 19/34] gnu: Add ruby-markaby Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 20/34] gnu: Add ruby-temple Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 21/34] gnu: Add ruby-haml Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 22/34] gnu: Add ruby-tilt Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 23/34] gnu: Add ruby-sass-rails Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 24/34] gnu: Add ruby-dep Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 25/34] gnu: ruby-jekyll-watch: Update to 2.1.2 Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 26/34] gnu: Remove ruby-listen-3.0 Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 27/34] gnu: ruby-listen: Enable running the tests Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 28/34] gnu: Add ruby-bindex Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 29/34] gnu: Add ruby-web-console Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 30/34] gnu: Add ruby-execjs Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 31/34] gnu: ruby: Update some RSpec packages Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 32/34] gnu: Add ruby-rspec-rails Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 33/34] gnu: Add ruby-autoprefixer-rails Christopher Baines
2019-02-17 19:23   ` [bug#34514] [PATCH 34/34] gnu: Add ruby-rerun Christopher Baines
2019-02-18 22:40   ` [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster Ricardo Wurmus
2019-02-19 22:55     ` Christopher Baines
2019-02-20  7:48       ` Ricardo Wurmus
2019-03-05  7:51 ` [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related Christopher Baines
2019-03-05  7:54 ` [bug#34514] [PATCH v2 01/12] gnu: Add ruby-sass-rails Christopher Baines
2019-03-05  7:54   ` [bug#34514] [PATCH v2 02/12] gnu: Add ruby-dep Christopher Baines
2019-03-05  7:54   ` [bug#34514] [PATCH v2 03/12] gnu: ruby-jekyll-watch: Update to 2.1.2 Christopher Baines
2019-03-05  7:54   ` [bug#34514] [PATCH v2 04/12] gnu: Remove ruby-listen-3.0 Christopher Baines
2019-03-05  7:54   ` [bug#34514] [PATCH v2 05/12] gnu: ruby-listen: Enable running the tests Christopher Baines
2019-03-05  7:54   ` [bug#34514] [PATCH v2 06/12] gnu: Add ruby-bindex Christopher Baines
2019-03-05  7:54   ` [bug#34514] [PATCH v2 07/12] gnu: Add ruby-web-console Christopher Baines
2019-03-05  7:54   ` [bug#34514] [PATCH v2 08/12] gnu: Add ruby-execjs Christopher Baines
2019-03-05  7:54   ` [bug#34514] [PATCH v2 09/12] gnu: ruby: Update some RSpec packages Christopher Baines
2019-03-05  7:54   ` [bug#34514] [PATCH v2 10/12] gnu: Add ruby-rspec-rails Christopher Baines
2019-03-05  7:54   ` [bug#34514] [PATCH v2 11/12] gnu: Add ruby-autoprefixer-rails Christopher Baines
2019-03-05  7:54   ` [bug#34514] [PATCH v2 12/12] gnu: Add ruby-rerun Christopher Baines
2019-03-24  9:43 ` bug#34514: [PATCH 00/34] Add more Ruby gems, some Rails related 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).