[PATCH 00/34] Add more Ruby gems, some Rails related

  • Done
  • quality assurance status badge
Details
2 participants
  • Christopher Baines
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Christopher Baines
Severity
normal

Debbugs page

Christopher Baines wrote 6 years ago
(address . guix-patches@gnu.org)
87sgwm44a9.fsf@cbaines.net
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(-)
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxpsk5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XcRfQ//fI1O85GPKsbdfCG2/9ipCScbaTyN7yyvvIwPixZnv1KtsiwEqh5/j9RT
b4mvEXASomTZLZJPmO8VHB7hhM8HGUcQwYW8/iV+wVhBFiwIOWhN7RSIBMjdn2fH
uMgyiqnMpx+EG2Lk++9WAo2ICiqA+Hi2aigFThg6X5PqE4beOkX19fC+3YHg2yui
zJp3s2mA9jPDaTcYo624U5rQnAeFcz/wKCAh5sy+Ormi5NH2mw2gHddn7qCt2yoN
kH7nXqlkxmUCHWa6vkrW+f9+TmSaJbQ47anEi1ZF/ArnZfeQo8o5axqYLIypxVjL
3UxUl8cOPDU4DdjMFjIOCxjaKdwd5boiHApCPJcTh4JRRKf0KpZfzwePVpNq6Tvh
YpDPH3C9jgDPp0MBcwf7UJhGupoEkz7WQ09KTKhtiQy1cJ3tM9lMDTqaubiVSQQM
QzwoveNHylxfvKovW57kT729VbKm3kf9Tds/zznV1uDslbIotdtuBIkNgLSsFoCF
plXlpa3mj09wQRnWZofhaykepm2RQn30u79BWKEUZoieLDnrfMDAwG+/zw25evhN
mRU2TZIA0olnQkzTvKFHVuKlkXKSzKfbK293TKqEFt4qTASoC77CnO2yYhcHl9Ld
YngWTW7R3tbbuMOBV2pbT9GFA9r6/VL9DHz0Zd28KTqkw6V19Xg=
=3J1B
-----END PGP SIGNATURE-----

Christopher Baines wrote 6 years ago
[PATCH 01/34] gnu: Add ruby-hamster.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-1-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-hamster): New variable.
---
gnu/packages/ruby.scm | 46 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)

Toggle diff (59 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 02/34] gnu: Add ruby-lino.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-2-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-lino): New variable.
---
gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 05/34] gnu: Add ruby-rbnacl.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-5-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-rbnacl): New variable.
---
gnu/packages/ruby.scm | 56 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)

Toggle diff (76 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 04/34] gnu: Add ruby-que.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-4-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-que): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 06/34] gnu: Add ruby-jwt.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-6-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-jwt): New variable.
---
gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (50 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 07/34] gnu: Add ruby-multi-xml.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-7-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-multi-xml): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 03/34] gnu: Add ruby-terraform.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-3-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-terraform): New variable.
---
gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 10/34] gnu: Add ruby-warden.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-10-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-warden): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 09/34] gnu: Add ruby-omniauth.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-9-mail@cbaines.net
* gnu/packags/ruby.scm (ruby-omniauth): New variable.
---
gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 11/34] gnu: Add ruby-warden-oauth2.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-11-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-warden-oauth2): New variable.
---
gnu/packages/ruby.scm | 48 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)

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

Toggle diff (41 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 14/34] gnu: Add ruby-test-construct.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-14-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-test-construct): New variable.
---
gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 13/34] gnu: Add ruby-omniauth-oauth2.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-13-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-omniauth-oauth2): New variable.
---
gnu/packages/ruby.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)

Toggle diff (55 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 12/34] gnu: Add ruby-with-advisory-lock.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-12-mail@cbaines.net
* gnu/packages/rails.scm (ruby-with-advisory-lock): New variable.
---
gnu/packages/rails.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 15/34] gnu: Add ruby-minitest-around.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-15-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-minitest-around): New variable.
---
gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 17/34] gnu: sassc: Update and improve the package.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-17-mail@cbaines.net
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(-)

Toggle diff (109 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 19/34] gnu: Add ruby-markaby.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-19-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-markaby): New variable.
---
gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (50 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 18/34] gnu: Add ruby-sassc.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-18-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-sassc): New variable.
---
gnu/packages/ruby.scm | 74 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 74 insertions(+)

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

Toggle diff (35 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 24/34] gnu: Add ruby-dep.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-24-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-dep): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 22/34] gnu: Add ruby-tilt.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-22-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-tilt): New variable.
---
gnu/packages/ruby.scm | 46 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)

Toggle diff (59 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 21/34] gnu: Add ruby-haml.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-21-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-haml): New variable.
---
gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 30/34] gnu: Add ruby-execjs.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-30-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-execjs): New variable.
---
gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (54 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 29/34] gnu: Add ruby-web-console.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-29-mail@cbaines.net
* gnu/packages/rails.scm (ruby-web-console): New variable.
---
gnu/packages/rails.scm | 56 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)

Toggle diff (69 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 25/34] gnu: ruby-jekyll-watch: Update to 2.1.2.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-25-mail@cbaines.net
* 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(-)

Toggle diff (26 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 32/34] gnu: Add ruby-rspec-rails.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-32-mail@cbaines.net
* 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(-)

Toggle diff (56 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 34/34] gnu: Add ruby-rerun.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-34-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-rerun): New variable.
---
gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 27/34] gnu: ruby-listen: Enable running the tests.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-27-mail@cbaines.net
* 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(-)

Toggle diff (52 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 31/34] gnu: ruby: Update some RSpec packages.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-31-mail@cbaines.net
* 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(-)

Toggle diff (86 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 23/34] gnu: Add ruby-sass-rails.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-23-mail@cbaines.net
* gnu/packages/rails.scm (ruby-sass-rails): New variable.
---
gnu/packages/rails.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 28/34] gnu: Add ruby-bindex.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-28-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-bindex): New variable.
---
gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 33/34] gnu: Add ruby-autoprefixer-rails.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-33-mail@cbaines.net
* gnu/packages/rails.scm (ruby-autoprefixer-rails): New variable.
---
gnu/packages/rails.scm | 53 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)

Toggle diff (73 lines)
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
Christopher Baines wrote 6 years ago
[PATCH 16/34] gnu: Add libsass.
(address . 34514@debbugs.gnu.org)
20190217192314.5666-16-mail@cbaines.net
* gnu/packages/web.scm (libsass): New variable.
---
gnu/packages/web.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

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

Toggle diff (24 lines)
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
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
877edwwwi2.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (1 lines)
> * gnu/packages/ruby.scm (ruby-hamster): New variable.
[…]
Toggle quote (9 lines)
> + (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?

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

Okay.

--
Ricardo
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 02/34] gnu: Add ruby-lino.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
875ztgwwg1.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

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

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

Toggle quote (9 lines)
> + (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
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 03/34] gnu: Add ruby-terraform.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
874l90wwd6.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (1 lines)
> * gnu/packages/ruby.scm (ruby-terraform): New variable.
[…]
Toggle quote (12 lines)
> +(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.

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

Could you please put this all on one line?

--
Ricardo
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 04/34] gnu: Add ruby-que.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
8736okwwao.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (1 lines)
> * gnu/packages/ruby.scm (ruby-que): New variable.
[…]
Toggle quote (4 lines)
> + (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
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 05/34] gnu: Add ruby-rbnacl.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
871s44ww78.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (1 lines)
> * gnu/packages/ruby.scm (ruby-rbnacl): New variable.
[…]
Toggle quote (12 lines)
> + (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.

Toggle quote (9 lines)
> + (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
Christopher Baines wrote 6 years ago
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34514@debbugs.gnu.org)
87d0nnh13z.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

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

Ah, yes, I've tweaked the patch.

Toggle quote (13 lines)
>> + (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.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxsgSBfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XdLoQ//Vg+IlVrzPw/HCWDwIlWurOL7qkJ0ehTqmoGyYsZCFayFSBx6ce0Sltbd
MK1KIt+wLOPukLtnFkBzXbWFVVsGYWMUna3SoDiS+0uCWsKpKVN60oxRdmLBjdDF
UI/iYeiRWEu4MxPJH+eVCPlDcJD5I4nTCEcU9Ce1o6K0LaMsKsWaeg3ra7jaQhyO
h/TrvrV4sFGDwZKjFP7pqPC7ldsa4g0My9tVsEwWG9ofDCiblWuF3CC9fASjMvWs
+AT86Dik0VEOP98m55TOnN8YR05m8qK/rApyGJNsqdyz/zNbgGvDj7yeP6xLb4sn
qZQnst8Q9B8r+FAK9W456oHUNI2dqS7LeBVsqKSLHqiRBfZIF2qRg++ULPtVgvVP
HOo9Rdat6N8udaEsBe7l93EMB1COt9sXmnMG2nUTWqugccA6EdXLB2UYGIRiCzaN
0ae/NoxAkCJPrBTK3tgMQXMaI1yzn36WIzVWCMeg4KT3PMytu7x11GWMuxv1R0Sj
yHzFGpWD9i+EwXgaL2I5LKGIEAUHNc1IixvNYDqGJl26DvSaCb+mAtnPydp3gcJJ
jmUnlyl3pBaA1/I8h5T0wEk0lZ6as9eqvqh+iV95iiVVwVyhtUJU6DEjv+MI8ePW
idyDyn67y8Rtj9jW8X0TSF9QukMnV3Kc0oXfo3AuV4s9oiotjn0=
=ZkTZ
-----END PGP SIGNATURE-----

Christopher Baines wrote 6 years ago
Re: [bug#34514] [PATCH 03/34] gnu: Add ruby-terraform.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34514@debbugs.gnu.org)
87bm37h00k.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

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

Good spot, I've fixed this now.

Toggle quote (7 lines)
>> + (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.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxshqtfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XdhsA//bJEEFgKrgVvM8oY3TouU89M+d1O85DDdNWFCRuyVOyXh4um3T478BpAB
ImvB6ZS0Yevgsa7hHmaSlSUyA8CCo4J7Be2RBb1ya0lwShbuuRxhm50dAe1KRGLV
rlN3xFhol15XLpJC9GsXfZ0W9gri202YLbIDK33NEw0hPx7ep4N9JGDqPQL2G+GM
h1W0KC5HpOk0ogZ+RiEr9M1mtXkNsbykOT0JVkwjQQjllXJCbSCXz6Uxg7de5czC
6l6GKZJHxbjaK8RY+yZVabWrsHYJD8zKa2pIJWrXc4jap+yDrdatTtJ09mx0UX82
IfcZuaTpneG0/xguJcsjCcw/AkxN1IWMcmrl/AgcDYgmrufo22dim5kzez4TyZOR
W8xEb9Dp5e1IFgOjEdIx2V5IVTsSYYxecUvnlxXij2SycVVuT18IWDW/9ULQl3Qb
rTNFA4YeGvqAqpwpbDZME/DCIFT6fs3NIv3s684vCvAcV0tosrXux5qYSsiFW0tn
CvJZY0dAq1WEgfQjh4ypB3zw+wSWpx0XovGgCAAQ/LjPDsQdbJVJpm7VzO0cBXc8
y/40Oh+joZyZH6LDvVLY1Cpq/dmAyml+2WUoqw/f0d3jvP40ES3AlMxFVuFq87g1
CxT2z7UhEbnC8cSFqOsswcGlJx9IwmHoN3fY9tyvZg81xSAGuFU=
=EbrG
-----END PGP SIGNATURE-----

Christopher Baines wrote 6 years ago
Re: [bug#34514] [PATCH 01/34] gnu: Add ruby-hamster.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34514@debbugs.gnu.org)
87a7irgzh5.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

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

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

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

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

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlxsiWZfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XcH9g/9Ep7t4JPMAYu3ETozUYHF7VWU1hsXh8QqpZNZ2PbnhVHw6ZrVNGG8ch3Q
6pj3UGxSokOCGsVMvAwEEISGHWMVYpUgCHiwh8r4zU3o3Qp6T2robNhD2fr5Mlmm
akl+pDfpWILHtHQI/sVVKyw83gxv4QrXYHntrJPy/QLQ/il5yUyaZ3M+FP/3wUDA
etyQ0LCs1VmW4ZPOGsb7s7xF2Y26083HtM51BGchO6VTG9jcTWbe/7Bnrxi7H2BK
ZcxtlPoJ9H8o9pmEs0+Oye2BWHmzKWq+iF8D1fWsQaUdrTkTmFs8bSPLNhpDjijh
1wxuxQzj6hRjkviNiH0Doitiz6sQ03WZs6omXDLbcsgnqS1Lv+Plqo2ydiWkHd8u
7Xz8n3oWvumBNGj1d3/uEqPLyBOsimJ7Gjx10+SIevrlF/tGV8uaj3Rl3x3q+WdU
6NxXd6BexfTcgmCc+9dDValvdjmQqTU6DvuBX/CLzAyZfMPRXXU/BsSiU4aXrbnY
gDsbMTj+dsUOjnrWxjdE3hjnwycX3A+edg8dKyPEVanf/QARzKSJzl/qGxWQsLB1
NkHGH8lSxm5FddLLIUegVLikyPW0+zhGc5k3mCPrtrLlhIrU//KSTutpZDs/QzvB
ZpdZbMaBv6joNPGsQOy93x29r4zOXk4ofwJpC4WN7e/q7YDm7aU=
=55bZ
-----END PGP SIGNATURE-----

Ricardo Wurmus wrote 6 years ago
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
874l8yvr2c.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

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

Okay, sounds fine to me.

--
Ricardo
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 06/34] gnu: Add ruby-jwt.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
87sgwiu147.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (40 lines)
> * 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.

Toggle quote (3 lines)
> + "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
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 07/34] gnu: Add ruby-multi-xml.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
87d0nmtmr1.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

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

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

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

…and this to a complete sentence.

Thanks!

--
Ricardo
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 08/34] gnu: Add ruby-oauth2.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
87bm36tmk8.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (2 lines)
> * gnu/packages/ruby.scm (ruby-oauth2): New variable.

LGTM!

--
Ricardo
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 09/34] gnu: Add ruby-omniauth.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
87h8cy5hct.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (2 lines)
> * gnu/packags/ruby.scm (ruby-omniauth): New variable.

LGTM!

--
Ricardo
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 10/34] gnu: Add ruby-warden.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
87ftsi5hb8.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

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

Please use a full sentence here.

Otherwise LGTM!

--
Ricardo
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 11/34] gnu: Add ruby-warden-oauth2.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
87ef825ha8.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

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

LGTM!

--
Ricardo
Ricardo Wurmus wrote 6 years ago
Re: [bug#34514] [PATCH 12/34] gnu: Add ruby-with-advisory-lock.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 34514@debbugs.gnu.org)
87wolu3ybj.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (1 lines)
> * gnu/packages/rails.scm (ruby-with-advisory-lock): New variable.
[…]
Toggle quote (4 lines)
> + (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.

Toggle quote (2 lines)
You can use HTTPS here.

Otherwise LGTM, thanks!

--
Ricardo
Christopher Baines wrote 6 years ago
Re: [bug#34514] [PATCH 06/34] gnu: Add ruby-jwt.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34514@debbugs.gnu.org)
87sgw5foav.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

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

Good spot, I'll add #t.

Toggle quote (6 lines)
>> + "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 :)
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlx6eDhfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9Xegsw//V5GHcMC4QyX56MPYgV7IoeDgBmISciC7ohqmqQP/DCgZId4stgWntxqZ
sPJZd4s5z92q4NapEDE2tKHGpigd50iTxvldz+Px846fTQmlWbt1i7icdM1uguLc
2RmQQziV/3eoOB8Ao3cDw6RYTDWIB16+vBka+3oov0ifMu0odEoptAaQDfJPRyoK
f9l1z+GeasNpMHEOXh2rzTFdjRifN57h03/sMVNNV9VUa6i+8L5ZpUEwLRCw9fHv
FboYL2GzBquzJXtLnJZAn2p3BnOX8f5xR58qyggWig3UMlPa9Tjuziy5OZVDnsbu
MSiGjbGQ14EPcNz2FAmwDzjyf2SNvfYAmLbbwZ4jsCNL08S+eikmjhKk4k+W8eHW
wu9FPVxTHjaZm3w5MsxBNrXEnC3bqOlM/mlZ/SPY/z8u5yep3Duh4R7PMjj7IJKB
SBMAXTAuKmhU2Bl/A3OX1r4bwP8EsJUaPoVrhUoK3FzlNM4AOMsVrn7i5hrMVCUX
ZX5tEHDXx2BTpqQenUB86PBhpikql1Vs/uDt8EiXRu8BzNEMV1ocDC8njF+gcjhh
/J4Kc730/sgkYxLFYYzA+z5hc9DLU5UIqt1kq56BNGIGVKNR8MVHlnOJXqdqf6nv
zJ0YY3QAkyzjGbFecxZeTlUr7J611NHGxnNyVEl7F1E9kNfT7GM=
=bLxk
-----END PGP SIGNATURE-----

Christopher Baines wrote 6 years ago
Re: [bug#34514] [PATCH 07/34] gnu: Add ruby-multi-xml.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34514@debbugs.gnu.org)
87r2bpfo6q.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

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

Ok.

Toggle quote (6 lines)
>> + (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.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlx6eM1fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9Xctig//XbJCxzjjB9LRPCPBCAvKFgEx7VYiJvj68wjyPFtcsiasHy1xxPaHCqWq
85AcRyR7G8jpWkHVHhaJw/YoVyt30SZ2Jb56Tn/NW93bdcrxoZRxLsJ/zBeiPONw
hOWOxw7bMww6Om777AasUJT5Y8xNBvxFFfhpqVeAnHynZTJ/2R4d0hVolFmfb6qF
8+sT1d8e69xv0hXfiikNsWCGOuS4SuD8yh48pA43ejeKvqs26/930gJHYWt0sGyd
FsAPb8rC9rcGKz746xeWwGCWB2vf1zCRq+mE4OpdyifABb6zKL27+eoLLj+ekmeK
3TIUZS2Dsz8hPmLpEivYscmrZq7WHSi+uaFBGfzrLlXkkzKv7/KV6YVyTfJtkPnq
aMHyAVKHbwzNVvn8g18ozp29Gkz0uNCM7BvW1Ca0BmME5EQ1SWrwqC0N7uHq8ikI
51trQIgt9laU7IecYiDTVj3lME3SN5GYh3zX1CP0khmffeCgKdPDuIIXJvTKzbl5
BX829CZEOWYUO/gL/UUIICgjaQgHI9qFE9QkXAWYM8ioLcB2S5h6iFl72+HDzGOY
bR69QorHS0gaI0y6J/EzKHUV6/qBBv5ecNotwLDo4zA7o8pK6gcuGqM4QJ6xEYti
zrVBYG/4pos1rYkwA3hEbe/mp2KbpOX1oglKcEzt2CbpYlRxo54=
=DCQt
-----END PGP SIGNATURE-----

Christopher Baines wrote 6 years ago
Re: [bug#34514] [PATCH 10/34] gnu: Add ruby-warden.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34514@debbugs.gnu.org)
87pnr9fo3a.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

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

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

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlx6eUlfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XfU4g//YHqemMiQS5NLZW797eT4plVqf1181ehglG9I3U8irQTuhJFZW46T/c1M
AwcwlOcMVP4yeelBqzpYz4jMqVAmkk+U5oTgGrmJe4VdT1XDuwM5hd3C3nTJR+aL
BjroG6aBB2Zq6Wbwl03yOHhD01AXPWHpikmNT+BuUWSpbMhLqpf2M5KsxKJCouk+
fm9Rv1uQhAotw1lRo8l6bC2vYU5rhDTY6Armh1rJ0ylCjWPg68u4G4xIx2Ob9tEF
QmUjye26p735cbNIMP9BChhmE+UvmezbjIsUrg+YGI+OzEqcF3cEPeIq6W+N943P
vcPXMSWId7FH3kPYYcuPym2BWTiqoO1HIJlNnVdAaAkGl7ckU4N1jmpwuTHz+wT0
gQLK3OeEbufsLpdlrSMkZRrFEBY7EXpKp+FTIe9xDpvhexciiL+zOp1FZ8ccFcO6
U9n+8Aq3oKC3feQohIzNI5mBqQqdoW7Ne96beoCMaOnTHZcZlXg8b/WunlFORF7u
UX9Nb0Fi7EDC2i6mzC1UDM5gX1miDJdufS1IopVIB2AO+KwoXfTYbtr1EKdfo0Wi
tQ7d9CRi28ASyOFCy9qFs3ETgDi77BjAzeZWCi3KNglBXMZE7enip871libRb7H4
wHK1g1ctkYV3U71pDJjc26FEuM8M+lniubplLusPQwLGsSKj6eg=
=o3IG
-----END PGP SIGNATURE-----

Christopher Baines wrote 6 years ago
Re: [bug#34514] [PATCH 12/34] gnu: Add ruby-with-advisory-lock.
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34514@debbugs.gnu.org)
87o96tfo03.fsf@cbaines.net
Ricardo Wurmus <rekado@elephly.net> writes:

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

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

Toggle quote (4 lines)
>
> You can use HTTPS here.

Updated.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlx6ebxfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XfS5hAAjg2dzFU3iGCgtRn7INzqFCpE0SzQQQIQDhRpkWPn6ztOCd36MFgz0llI
bzLu7uxDQuvopBkEoptL9QpxqN98/kCirqL9Wff20YPPFWpxZjY27BVypnGGt6d4
lvPCQDyL18uax0tt/Tyil3bLf4YVPo7NWPgxfSDl6QWaGpSCXx1jUKuvSITry0La
KkCRAXFLFo3e5Fr2oKX8My5u1DyDRGWwP80guXh/DCzMMVzVseRw4BqsbkcjMGWm
Ap3bCS0/F7WurfZb9m0ie/QuzAg/puEp2eoXXkeXjn8AaEj9h0P3dJGy+sVYRV+f
HKLakdcLLUYENEa6TXQoy/GDraNui3Wq8a/WKGKyU3OPyrpdxDLo7NQ4uk8pdzoP
lXrCzvLkQ9YtAcf2YBfT65Vrn55BQtwRHCiSH4o53g98zlg+qaCWkyry1KR0gm0F
Wm1coYEzqLIXZgF0PY7ZZ26HyEoJ/qYz8Ej4DnA6eiBmt1xPfCMTsUQAkx5LXZDn
w1lnkz5cPc0sxmt7oiYnfL/csCm5Ncgt8XTzl3Lcl+9oU0PDNNNMn2yd2Ij+jtXG
Ca7Yp4NAHf6prNyB5q8ka4k4MRpUYPB4wab5vcKoqgeJzF9GfzxpINksbU9EHQ9S
k8wsPY/LuvwOQ/VMiTiPsWPHNSZQTkYHRKryIY9/si64ohTn87g=
=V6GO
-----END PGP SIGNATURE-----

Christopher Baines wrote 6 years ago
Re: [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related
(address . 34514@debbugs.gnu.org)
87d0n5g3o9.fsf@cbaines.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (24 lines)
> 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.


Toggle quote (13 lines)
> 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.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlx+KmZfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XfovhAAlsPHZi6+zG7aUXPy1Du5D2+W8cH2qsGhnF77qaV8mPl8tYEoCcU2ciHg
JcG0Z3x+u3hDbVrq9p1eNgo79ZaVCHcpFLCJA45csvLAgm3s/Ccz5Lr2ZUmmI7Lw
t8TwpDKcwBEzFbg0+kAnYwEczRSozOKwoUfbL1C9EESOpEQMUwUcCJ5k6ub6Za8f
JIAcNMlmkE2yvade7ar7sBeckULkXMC6372tCLIdbtA6RlE3bxUIIVWnGpefc5Sk
LYEFCP6AaBKDQKxHKLuHSx+9zwu6gtesG/tB59Ln7kSfbu4JOtj00YVhjvHS1v2k
BojEgCywU3nn6X1+w0Zgsg+1Q6YRyKBZ3DjwRVoKmHVoefCpiSNxdK3aRHo3CVB/
q77g3kEI1RibLObzEh5kdEMxp0uya50MpQBAGA1KNS2eZC6VDDsqU8AcmyImP+yM
uvZYlxeS/2yFPSRBToxruepTTbnX8sr9lh5P536b7He7cCH2XX19Jxn07E6VnJG7
NXeTgSr40m/wd7GbyLnLX8jvf+b0oubHr5eULfHU9P9VMv47PVWwFWrsJRoxLhkF
1acHxmZ7cTanbDLhn54WxpgJLKK4D4vKoP2cSgMw2vxhHt3zN4U36D2rbYY4fKvI
8gJs8eIwp7X7mJc6fT4dSOJdUyD42wkS46pmhEWAkmCl+2zTUvA=
=gaL1
-----END PGP SIGNATURE-----

Christopher Baines wrote 6 years ago
[PATCH v2 02/12] gnu: Add ruby-dep.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-2-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-dep): New variable.
---
gnu/packages/ruby.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
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
Christopher Baines wrote 6 years ago
[PATCH v2 01/12] gnu: Add ruby-sass-rails.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-1-mail@cbaines.net
* gnu/packages/rails.scm (ruby-sass-rails): New variable.
---
gnu/packages/rails.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
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
Christopher Baines wrote 6 years ago
[PATCH v2 03/12] gnu: ruby-jekyll-watch: Update to 2.1.2.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-3-mail@cbaines.net
* 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(-)

Toggle diff (26 lines)
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
Christopher Baines wrote 6 years ago
[PATCH v2 04/12] gnu: Remove ruby-listen-3.0.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-4-mail@cbaines.net
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(-)

Toggle diff (24 lines)
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
Christopher Baines wrote 6 years ago
[PATCH v2 06/12] gnu: Add ruby-bindex.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-6-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-bindex): New variable.
---
gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
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
Christopher Baines wrote 6 years ago
[PATCH v2 05/12] gnu: ruby-listen: Enable running the tests.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-5-mail@cbaines.net
* 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(-)

Toggle diff (52 lines)
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
Christopher Baines wrote 6 years ago
[PATCH v2 07/12] gnu: Add ruby-web-console.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-7-mail@cbaines.net
* gnu/packages/rails.scm (ruby-web-console): New variable.
---
gnu/packages/rails.scm | 56 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)

Toggle diff (69 lines)
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
Christopher Baines wrote 6 years ago
[PATCH v2 08/12] gnu: Add ruby-execjs.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-8-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-execjs): New variable.
---
gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (54 lines)
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
Christopher Baines wrote 6 years ago
[PATCH v2 11/12] gnu: Add ruby-autoprefixer-rails.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-11-mail@cbaines.net
* gnu/packages/rails.scm (ruby-autoprefixer-rails): New variable.
---
gnu/packages/rails.scm | 53 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)

Toggle diff (73 lines)
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
Christopher Baines wrote 6 years ago
[PATCH v2 10/12] gnu: Add ruby-rspec-rails.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-10-mail@cbaines.net
* 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(-)

Toggle diff (55 lines)
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
Christopher Baines wrote 6 years ago
[PATCH v2 09/12] gnu: ruby: Update some RSpec packages.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-9-mail@cbaines.net
* 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(-)

Toggle diff (86 lines)
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
Christopher Baines wrote 6 years ago
[PATCH v2 12/12] gnu: Add ruby-rerun.
(address . 34514@debbugs.gnu.org)
20190305075432.13449-12-mail@cbaines.net
* gnu/packages/ruby.scm (ruby-rerun): New variable.
---
gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
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
Christopher Baines wrote 6 years ago
Re: [bug#34514] [PATCH 00/34] Add more Ruby gems, some Rails related
(address . 34514-done@debbugs.gnu.org)
87h8bstxoo.fsf@cbaines.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (36 lines)
> 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!
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlyXUTdfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9Xdd2Q//emB7M7NgdATDxjN2g1kx5AN7Jb/P8moDtnEKkjLu39XV0ZTNBmJihbAy
4lJe8mq+8VJcqa44GeIXrjQx8WFJn5i7Tevc4wgkD8gWZd7w8ig5C+ZbZ0Vc2Zt0
SR92qwkE3eWGlnFubLF8vKOL4EbzyS9OA4kd+W66grlY6LFWlJ7C31D3wT9shvMP
D5J0g52VKLmJaa2dmGMiyLHpP/5ci73LF09bE7KC9zj1S8Dt/4pHZdnKSuK3mfBC
9dxOLIa3dRk4UYtyZbEF8BkrdT3cPDE7e0rpObcjSgp9HwaIHSlJEBAm3uDIBUAx
qNR49Rya+jdLja++FId4tZt1GF2AkDgFVve95tlLpQZQa9Xv81VpixII0KLVc91R
sNDgexkPl5wDFOZ577u3M07qzkg7P3gzB2zDTP/pnc8iUUDozdeWKKGXqh+y7h/A
Vlmb1ZdKqX+NSednvPWaHZydBHU1zRE9V1Z4HD4L5xszig6mWpJebVtzjX5c3GTm
LsYR4lmNnIjHyF81M+pwQQaoV7VWS5wxTuRgU0IsOadozzANrCu4y7YHwh6+KwkK
EEIdbb7NdFhr+VfQLZ0Lw779Pxo+vRt56YgPzMVCtLpRu0d469IT2MWx9Z9+NCX4
rueNGflUhtHZaHHEqG432L9UrBqzh9IIn3CP95bUe8/DKByURA0=
=oG3S
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 34514@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 34514
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help