GNU bug report logs - #34514
[PATCH 00/34] Add more Ruby gems, some Rails related

Previous Next

Package: guix-patches;

Reported by: Christopher Baines <mail <at> cbaines.net>

Date: Sun, 17 Feb 2019 19:14:02 UTC

Severity: normal

Tags: patch

Done: Christopher Baines <mail <at> cbaines.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 34514 in the body.
You can then email your comments to 34514 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:14:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Christopher Baines <mail <at> cbaines.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 17 Feb 2019 19:14:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: guix-patches <at> gnu.org
Subject: [PATCH 00/34] Add more Ruby gems, some Rails related
Date: Sun, 17 Feb 2019 19:13:18 +0000
[Message part 1 (text/plain, inline)]
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(-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:01 GMT) Full text and rfc822 format available.

Message #8 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 01/34] gnu: Add ruby-hamster.
Date: Sun, 17 Feb 2019 19:22:41 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:02 GMT) Full text and rfc822 format available.

Message #11 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 02/34] gnu: Add ruby-lino.
Date: Sun, 17 Feb 2019 19:22:42 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:02 GMT) Full text and rfc822 format available.

Message #14 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 05/34] gnu: Add ruby-rbnacl.
Date: Sun, 17 Feb 2019 19:22:45 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:03 GMT) Full text and rfc822 format available.

Message #17 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 04/34] gnu: Add ruby-que.
Date: Sun, 17 Feb 2019 19:22:44 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:03 GMT) Full text and rfc822 format available.

Message #20 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 06/34] gnu: Add ruby-jwt.
Date: Sun, 17 Feb 2019 19:22:46 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:03 GMT) Full text and rfc822 format available.

Message #23 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 07/34] gnu: Add ruby-multi-xml.
Date: Sun, 17 Feb 2019 19:22:47 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:04 GMT) Full text and rfc822 format available.

Message #26 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 03/34] gnu: Add ruby-terraform.
Date: Sun, 17 Feb 2019 19:22:43 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:04 GMT) Full text and rfc822 format available.

Message #29 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 10/34] gnu: Add ruby-warden.
Date: Sun, 17 Feb 2019 19:22:50 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:05 GMT) Full text and rfc822 format available.

Message #32 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 09/34] gnu: Add ruby-omniauth.
Date: Sun, 17 Feb 2019 19:22:49 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:05 GMT) Full text and rfc822 format available.

Message #35 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 11/34] gnu: Add ruby-warden-oauth2.
Date: Sun, 17 Feb 2019 19:22:51 +0000
* 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 <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:06 GMT) Full text and rfc822 format available.

Message #38 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 08/34] gnu: Add ruby-oauth2.
Date: Sun, 17 Feb 2019 19:22:48 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:06 GMT) Full text and rfc822 format available.

Message #41 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 14/34] gnu: Add ruby-test-construct.
Date: Sun, 17 Feb 2019 19:22:54 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:07 GMT) Full text and rfc822 format available.

Message #44 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 13/34] gnu: Add ruby-omniauth-oauth2.
Date: Sun, 17 Feb 2019 19:22:53 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:07 GMT) Full text and rfc822 format available.

Message #47 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 12/34] gnu: Add ruby-with-advisory-lock.
Date: Sun, 17 Feb 2019 19:22:52 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:08 GMT) Full text and rfc822 format available.

Message #50 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 15/34] gnu: Add ruby-minitest-around.
Date: Sun, 17 Feb 2019 19:22:55 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:08 GMT) Full text and rfc822 format available.

Message #53 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 17/34] gnu: sassc: Update and improve the package.
Date: Sun, 17 Feb 2019 19:22:57 +0000
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)))
 
 
 (define-public perl-apache-logformat-compiler
-- 
2.20.1





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:09 GMT) Full text and rfc822 format available.

Message #56 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 19/34] gnu: Add ruby-markaby.
Date: Sun, 17 Feb 2019 19:22:59 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:09 GMT) Full text and rfc822 format available.

Message #59 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 18/34] gnu: Add ruby-sassc.
Date: Sun, 17 Feb 2019 19:22:58 +0000
* 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 <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:10 GMT) Full text and rfc822 format available.

Message #62 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 20/34] gnu: Add ruby-temple.
Date: Sun, 17 Feb 2019 19:23:00 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:10 GMT) Full text and rfc822 format available.

Message #65 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 24/34] gnu: Add ruby-dep.
Date: Sun, 17 Feb 2019 19:23:04 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:11 GMT) Full text and rfc822 format available.

Message #68 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 22/34] gnu: Add ruby-tilt.
Date: Sun, 17 Feb 2019 19:23:02 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:11 GMT) Full text and rfc822 format available.

Message #71 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 21/34] gnu: Add ruby-haml.
Date: Sun, 17 Feb 2019 19:23:01 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:12 GMT) Full text and rfc822 format available.

Message #74 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 30/34] gnu: Add ruby-execjs.
Date: Sun, 17 Feb 2019 19:23:10 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:12 GMT) Full text and rfc822 format available.

Message #77 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 29/34] gnu: Add ruby-web-console.
Date: Sun, 17 Feb 2019 19:23:09 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:13 GMT) Full text and rfc822 format available.

Message #80 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 25/34] gnu: ruby-jekyll-watch: Update to 2.1.2.
Date: Sun, 17 Feb 2019 19:23:05 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:13 GMT) Full text and rfc822 format available.

Message #83 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 32/34] gnu: Add ruby-rspec-rails.
Date: Sun, 17 Feb 2019 19:23:12 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:14 GMT) Full text and rfc822 format available.

Message #86 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 34/34] gnu: Add ruby-rerun.
Date: Sun, 17 Feb 2019 19:23:14 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:14 GMT) Full text and rfc822 format available.

Message #89 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 27/34] gnu: ruby-listen: Enable running the tests.
Date: Sun, 17 Feb 2019 19:23:07 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:15 GMT) Full text and rfc822 format available.

Message #92 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 31/34] gnu: ruby: Update some RSpec packages.
Date: Sun, 17 Feb 2019 19:23:11 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:15 GMT) Full text and rfc822 format available.

Message #95 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 23/34] gnu: Add ruby-sass-rails.
Date: Sun, 17 Feb 2019 19:23:03 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:16 GMT) Full text and rfc822 format available.

Message #98 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 28/34] gnu: Add ruby-bindex.
Date: Sun, 17 Feb 2019 19:23:08 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:16 GMT) Full text and rfc822 format available.

Message #101 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 33/34] gnu: Add ruby-autoprefixer-rails.
Date: Sun, 17 Feb 2019 19:23:13 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:17 GMT) Full text and rfc822 format available.

Message #104 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 16/34] gnu: Add libsass.
Date: Sun, 17 Feb 2019 19:22:56 +0000
* 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 <at> mykolab.ch>
 ;;; Copyright © 2017 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;; Copyright © 2017 Rutger Helling <rhelling <at> mykolab.com>
+;;; Copyright © 2017, 2019 Christopher Baines <mail <at> cbaines.net>
 ;;; Copyright © 2018 Julien Lepiller <julien <at> lepiller.eu>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby <at> inria.fr>
 ;;; Copyright © 2018 Gábor Boskovits <boskovits <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sun, 17 Feb 2019 19:24:17 GMT) Full text and rfc822 format available.

Message #107 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH 26/34] gnu: Remove ruby-listen-3.0.
Date: Sun, 17 Feb 2019 19:23:06 +0000
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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Mon, 18 Feb 2019 22:41:01 GMT) Full text and rfc822 format available.

Message #110 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster.
Date: Mon, 18 Feb 2019 23:40:53 +0100
Christopher Baines <mail <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Mon, 18 Feb 2019 22:43:01 GMT) Full text and rfc822 format available.

Message #113 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 02/34] gnu: Add ruby-lino.
Date: Mon, 18 Feb 2019 23:42:06 +0100
Christopher Baines <mail <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Mon, 18 Feb 2019 22:45:02 GMT) Full text and rfc822 format available.

Message #116 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 03/34] gnu: Add ruby-terraform.
Date: Mon, 18 Feb 2019 23:43:49 +0100
Christopher Baines <mail <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Mon, 18 Feb 2019 22:46:01 GMT) Full text and rfc822 format available.

Message #119 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 04/34] gnu: Add ruby-que.
Date: Mon, 18 Feb 2019 23:45:19 +0100
Christopher Baines <mail <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Mon, 18 Feb 2019 22:48:02 GMT) Full text and rfc822 format available.

Message #122 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 05/34] gnu: Add ruby-rbnacl.
Date: Mon, 18 Feb 2019 23:47:23 +0100
Christopher Baines <mail <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 19 Feb 2019 22:21:02 GMT) Full text and rfc822 format available.

Message #125 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 05/34] gnu: Add ruby-rbnacl.
Date: Tue, 19 Feb 2019 22:20:16 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 19 Feb 2019 22:45:01 GMT) Full text and rfc822 format available.

Message #128 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 03/34] gnu: Add ruby-terraform.
Date: Tue, 19 Feb 2019 22:43:55 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 19 Feb 2019 22:56:02 GMT) Full text and rfc822 format available.

Message #131 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster.
Date: Tue, 19 Feb 2019 22:55:34 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Wed, 20 Feb 2019 08:04:02 GMT) Full text and rfc822 format available.

Message #134 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster.
Date: Wed, 20 Feb 2019 08:48:11 +0100
Christopher Baines <mail <at> cbaines.net> writes:

> Ricardo Wurmus <rekado <at> elephly.net> writes:
>
>> Christopher Baines <mail <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Wed, 20 Feb 2019 11:55:01 GMT) Full text and rfc822 format available.

Message #137 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 06/34] gnu: Add ruby-jwt.
Date: Wed, 20 Feb 2019 12:54:00 +0100
Christopher Baines <mail <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Wed, 20 Feb 2019 17:05:01 GMT) Full text and rfc822 format available.

Message #140 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 07/34] gnu: Add ruby-multi-xml.
Date: Wed, 20 Feb 2019 18:04:18 +0100
Christopher Baines <mail <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Wed, 20 Feb 2019 17:55:01 GMT) Full text and rfc822 format available.

Message #143 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 08/34] gnu: Add ruby-oauth2.
Date: Wed, 20 Feb 2019 18:08:23 +0100
Christopher Baines <mail <at> cbaines.net> writes:

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

LGTM!

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Wed, 20 Feb 2019 20:36:02 GMT) Full text and rfc822 format available.

Message #146 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 09/34] gnu: Add ruby-omniauth.
Date: Wed, 20 Feb 2019 21:34:42 +0100
Christopher Baines <mail <at> cbaines.net> writes:

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

LGTM!

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Wed, 20 Feb 2019 20:36:02 GMT) Full text and rfc822 format available.

Message #149 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 10/34] gnu: Add ruby-warden.
Date: Wed, 20 Feb 2019 21:35:39 +0100
Christopher Baines <mail <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Wed, 20 Feb 2019 20:37:02 GMT) Full text and rfc822 format available.

Message #152 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 11/34] gnu: Add ruby-warden-oauth2.
Date: Wed, 20 Feb 2019 21:36:15 +0100
Christopher Baines <mail <at> cbaines.net> writes:

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

LGTM!

-- 
Ricardo





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Wed, 20 Feb 2019 22:12:02 GMT) Full text and rfc822 format available.

Message #155 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 12/34] gnu: Add ruby-with-advisory-lock.
Date: Wed, 20 Feb 2019 23:11:12 +0100
Christopher Baines <mail <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sat, 02 Mar 2019 12:35:02 GMT) Full text and rfc822 format available.

Message #158 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 06/34] gnu: Add ruby-jwt.
Date: Sat, 02 Mar 2019 12:34:00 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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 :)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sat, 02 Mar 2019 12:37:01 GMT) Full text and rfc822 format available.

Message #161 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 07/34] gnu: Add ruby-multi-xml.
Date: Sat, 02 Mar 2019 12:36:29 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sat, 02 Mar 2019 12:39:01 GMT) Full text and rfc822 format available.

Message #164 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 10/34] gnu: Add ruby-warden.
Date: Sat, 02 Mar 2019 12:38:33 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Sat, 02 Mar 2019 12:41:01 GMT) Full text and rfc822 format available.

Message #167 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 12/34] gnu: Add ruby-with-advisory-lock.
Date: Sat, 02 Mar 2019 12:40:28 +0000
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Christopher Baines <mail <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:52:01 GMT) Full text and rfc822 format available.

Message #170 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related
Date: Tue, 05 Mar 2019 07:51:02 +0000
[Message part 1 (text/plain, inline)]
Christopher Baines <mail <at> 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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:02 GMT) Full text and rfc822 format available.

Message #173 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 02/12] gnu: Add ruby-dep.
Date: Tue,  5 Mar 2019 07:54:22 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:02 GMT) Full text and rfc822 format available.

Message #176 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 01/12] gnu: Add ruby-sass-rails.
Date: Tue,  5 Mar 2019 07:54:21 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:03 GMT) Full text and rfc822 format available.

Message #179 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 03/12] gnu: ruby-jekyll-watch: Update to 2.1.2.
Date: Tue,  5 Mar 2019 07:54:23 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:04 GMT) Full text and rfc822 format available.

Message #182 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 04/12] gnu: Remove ruby-listen-3.0.
Date: Tue,  5 Mar 2019 07:54:24 +0000
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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:04 GMT) Full text and rfc822 format available.

Message #185 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 06/12] gnu: Add ruby-bindex.
Date: Tue,  5 Mar 2019 07:54:26 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:05 GMT) Full text and rfc822 format available.

Message #188 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 05/12] gnu: ruby-listen: Enable running the tests.
Date: Tue,  5 Mar 2019 07:54:25 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:05 GMT) Full text and rfc822 format available.

Message #191 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 07/12] gnu: Add ruby-web-console.
Date: Tue,  5 Mar 2019 07:54:27 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:06 GMT) Full text and rfc822 format available.

Message #194 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 08/12] gnu: Add ruby-execjs.
Date: Tue,  5 Mar 2019 07:54:28 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:06 GMT) Full text and rfc822 format available.

Message #197 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 11/12] gnu: Add ruby-autoprefixer-rails.
Date: Tue,  5 Mar 2019 07:54:31 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:07 GMT) Full text and rfc822 format available.

Message #200 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 10/12] gnu: Add ruby-rspec-rails.
Date: Tue,  5 Mar 2019 07:54:30 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:07 GMT) Full text and rfc822 format available.

Message #203 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 09/12] gnu: ruby: Update some RSpec packages.
Date: Tue,  5 Mar 2019 07:54:29 +0000
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#34514; Package guix-patches. (Tue, 05 Mar 2019 07:55:08 GMT) Full text and rfc822 format available.

Message #206 received at 34514 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514 <at> debbugs.gnu.org
Subject: [PATCH v2 12/12] gnu: Add ruby-rerun.
Date: Tue,  5 Mar 2019 07:54:32 +0000
* 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





Reply sent to Christopher Baines <mail <at> cbaines.net>:
You have taken responsibility. (Sun, 24 Mar 2019 09:44:02 GMT) Full text and rfc822 format available.

Notification sent to Christopher Baines <mail <at> cbaines.net>:
bug acknowledged by developer. (Sun, 24 Mar 2019 09:44:02 GMT) Full text and rfc822 format available.

Message #211 received at 34514-done <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: 34514-done <at> debbugs.gnu.org
Subject: Re: [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related
Date: Sun, 24 Mar 2019 09:43:19 +0000
[Message part 1 (text/plain, inline)]
Christopher Baines <mail <at> 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!
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 21 Apr 2019 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 5 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.