From: Ben Woodcroft <b.woodcroft@uq.edu.au>
To: "guix-devel@gnu.org" <guix-devel@gnu.org>
Subject: [PATCH] Add 17 moar rubygems.
Date: Thu, 31 Dec 2015 09:36:27 +1000 [thread overview]
Message-ID: <56846A7B.9090609@uq.edu.au> (raw)
[-- Attachment #1: Type: text/plain, Size: 287 bytes --]
See I packaged ruby-minitest-moar. Hilarious right? Maybe not.
These packages are independent of the other 12 submitted packages,
except for ruby-ansi which has already been reviewed - I've attached an
updated patch that incorporates your comments, thanks Ricardo.
Thanks again.
ben
[-- Attachment #2: 0001-gnu-Add-ruby-ansi.patch --]
[-- Type: text/x-patch, Size: 2321 bytes --]
From e26e2319ef7d9b089f177d23624913f0522e9f9d Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Tue, 29 Dec 2015 14:11:21 +1000
Subject: [PATCH 01/18] gnu: Add ruby-ansi.
* gnu/packages/ruby.scm (ruby-ansi): 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 a3eafb1..10abf09 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2884,3 +2884,40 @@ programs to concentrate on the implementation of network protocols. It can be
used to create both network servers and clients.")
(home-page "http://rubyeventmachine.com")
(license (list license:ruby license:gpl3)))) ; GPLv3 only AFAICT
+
+(define-public ruby-ansi
+ (package
+ (name "ruby-ansi")
+ (version "1.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Fetch from GitHub as the gem does not contain testing code.
+ (uri (string-append "https://github.com/rubyworks/ansi/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zdip30hivyipi8hndhb457bhiz033awd00bgrsk5axjrwp6zhly"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Disable testing to break the cycle ansi, ae, ansi, as well as the
+ ;; cycle ansi, qed, ansi. Instead simply test that the library can
+ ;; be require'd.
+ (replace 'check
+ (lambda _
+ (zero? (system* "ruby" "-Ilib" "-r" "ansi")))))))
+ (synopsis "ANSI escape code related libraries")
+ (description
+ "This package is a collection of ANSI escape code related libraries
+enabling ANSI colorization and stylization of console output. Included in the
+library are the @code{Code} module, which defines ANSI codes as constants and
+methods, a @code{Mixin} module for including color methods, a @code{Logger}, a
+@code{ProgressBar}, and a @code{String} subclass. The library also includes a
+@code{Terminal} module which provides information about the current output
+device.")
+ (home-page "http://rubyworks.github.io/ansi")
+ (license license:bsd-2)))
+
--
2.6.3
[-- Attachment #3: 0002-gnu-Add-ruby-turn.patch --]
[-- Type: text/x-patch, Size: 2000 bytes --]
From 052e3fa15dced49faebc51b74ddc2a550713b569 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Wed, 30 Dec 2015 23:19:10 +1000
Subject: [PATCH 02/18] gnu: Add ruby-turn.
* gnu/packages/ruby.scm (ruby-turn): New variable.
---
gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 10abf09..6346ca6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2885,6 +2885,39 @@ used to create both network servers and clients.")
(home-page "http://rubyeventmachine.com")
(license (list license:ruby license:gpl3)))) ; GPLv3 only AFAICT
+(define-public ruby-turn
+ (package
+ (name "ruby-turn")
+ (version "0.9.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "turn" version))
+ (sha256
+ (base32
+ "1691rc2sq04cw8mxxh340k2j04ll90kwgcy8ddrp6rligmfrf8fw"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Tests fail because turn changes its environment so can no longer
+ ;; find test/unit. Instead simply test if the executable runs
+ ;; without issue.
+ (replace 'check
+ (lambda _
+ (zero? (system* "ruby" "-Ilib" "bin/turn" "-h")))))))
+ (propagated-inputs
+ `(("ruby-ansi" ,ruby-ansi)
+ ("ruby-minitest" ,ruby-minitest-4)))
+ (synopsis "Alternate set of alternative runners for MiniTest")
+ (description
+ "TURN provides a set of alternative runners for MiniTest which are both
+colorful and informative. TURN displays each test on a separate line with
+failures being displayed immediately instead of at the end of the tests. Note
+that TURN is no longer being maintained.")
+ (home-page "http://rubygems.org/gems/turn")
+ (license license:expat)))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
--
2.6.3
[-- Attachment #4: 0003-gnu-Add-ruby-ruby-minitest-focus.patch --]
[-- Type: text/x-patch, Size: 1674 bytes --]
From 4c14a6323d29d772ab688dcd895870edec3fe5dc Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Wed, 30 Dec 2015 23:22:05 +1000
Subject: [PATCH 03/18] gnu: Add ruby-ruby-minitest-focus.
* gnu/packages/ruby.scm (ruby-ruby-minitest-focus): New variable.
---
gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6346ca6..a647985 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1521,6 +1521,31 @@ functionality, making it easier to migrate test suites from bacon to minitest.")
(home-page "https://github.com/seattlerb/minitest-bacon")
(license license:expat)))
+(define-public ruby-minitest-focus
+ (package
+ (name "ruby-minitest-focus")
+ (version "1.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "minitest-focus" version))
+ (sha256
+ (base32
+ "1zgjslp6d7dzcn8smj595idymgd5j603p9g2jqkfgi28sqbhz6m0"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-minitest" ,ruby-minitest)))
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)))
+ (synopsis "Allows a few specific tests to be focused on")
+ (description
+ "@code{minitest-focus} gives the ability focus on a few tests with ease
+without having to use command-line arguments. It introduces a @code{focus}
+class method that specifies the next test defined is to be run.")
+ (home-page
+ "https://github.com/seattlerb/minitest-focus")
+ (license license:expat)))
+
(define-public ruby-daemons
(package
(name "ruby-daemons")
--
2.6.3
[-- Attachment #5: 0004-gnu-Add-ruby-minitest-pretty-diff.patch --]
[-- Type: text/x-patch, Size: 2320 bytes --]
From a29ccdea723bfeede027faf0e85b906900e53f39 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Wed, 30 Dec 2015 23:36:03 +1000
Subject: [PATCH 04/18] gnu: Add ruby-minitest-pretty-diff.
* gnu/packages/ruby.scm (ruby-minitest-pretty-diff): 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 a647985..7b7fe1f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1546,6 +1546,43 @@ class method that specifies the next test defined is to be run.")
"https://github.com/seattlerb/minitest-focus")
(license license:expat)))
+(define-public ruby-minitest-pretty-diff
+ ;; Use git reference because gem is out of date and does not contain testing
+ ;; script. There are no releases on GitHub.
+ (let ((revision "1")
+ (commit "11f32e930f574225432f42e5e1ef6e7471efe572"))
+ (package
+ (name "ruby-minitest-pretty-diff")
+ (version (string-append "0.1." revision "." commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/adammck/minitest-pretty_diff.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "13y5dhmcckhzd83gj1nfwh41iykbjcm2w7y4pr6j6rpqa5as122r"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "script/test")))))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-turn" ,ruby-turn)))
+ (synopsis "Pretty-print hashes and arrays in MiniTest")
+ (description
+ "@code{minitest-pretty_diff} monkey-patches
+@code{MiniTest::Assertions#mu_pp} to pretty-print hashes and arrays before
+diffing them. This makes it easier to spot differences between nested
+structures when tests fail.")
+ (home-page
+ "https://github.com/adammck/minitest-pretty_diff")
+ (license license:expat))))
+
(define-public ruby-daemons
(package
(name "ruby-daemons")
--
2.6.3
[-- Attachment #6: 0005-gnu-Add-ruby-ruby-minitest-moar.patch --]
[-- Type: text/x-patch, Size: 2065 bytes --]
From 22645c2c465c4cc5554409832b16c85ee1f320aa Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 07:30:37 +1000
Subject: [PATCH 05/18] gnu: Add ruby-ruby-minitest-moar.
* gnu/packages/ruby.scm (ruby-ruby-minitest-moar): New variable.
---
gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7b7fe1f..0896b2d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1583,6 +1583,42 @@ structures when tests fail.")
"https://github.com/adammck/minitest-pretty_diff")
(license license:expat))))
+(define-public ruby-minitest-moar
+ (package
+ (name "ruby-minitest-moar")
+ (version "0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "minitest-moar" version))
+ (sha256
+ (base32
+ "0nb83blrsab92gcy6nfpw39njys7zisia8pw4igzzfzfl51cis0x"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'clean-dependencies
+ (lambda _
+ ;; Remove all gems defined in the Gemfile because these are not
+ ;; truly needed.
+ (substitute* "Gemfile"
+ (("gem .*") ""))
+ ;; Remove byebug as not needed to run tests.
+ (substitute* "test/test_helper.rb"
+ (("require 'byebug'") ""))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-minitest" ,ruby-minitest)))
+ (synopsis "Extra features and changes to MiniTest")
+ (description "@code{MiniTest Moar} add some additional features and
+changes some default behaviours in MiniTest. For instance, Moar replaces the
+MiniTest @code{Object#stub} with a global @code{stub} method.")
+ (home-page
+ "https://github.com/dockyard/minitest-moar")
+ (license license:expat)))
+
(define-public ruby-daemons
(package
(name "ruby-daemons")
--
2.6.3
[-- Attachment #7: 0006-gnu-Add-ruby-minitest-bonus-assertions.patch --]
[-- Type: text/x-patch, Size: 2159 bytes --]
From d0f43cb4b322ee73c69998c706ab2042955254cf Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 08:56:18 +1000
Subject: [PATCH 06/18] gnu: Add ruby-minitest-bonus-assertions.
* gnu/packages/ruby.scm (ruby-minitest-bonus-assertions): New variable.
---
gnu/packages/ruby.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0896b2d..a6b41ae 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1619,6 +1619,44 @@ MiniTest @code{Object#stub} with a global @code{stub} method.")
"https://github.com/dockyard/minitest-moar")
(license license:expat)))
+(define-public ruby-minitest-bonus-assertions
+ (package
+ (name "ruby-minitest-bonus-assertions")
+ (version "2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri
+ "minitest-bonus-assertions"
+ version))
+ (sha256
+ (base32
+ "11nrd32kwy61ndg9csk7l1ifya79ghrrv3vsrxj57k50m7na6jkm"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'clean-dependencies
+ (lambda _
+ ;; Remove unneeded require statement that would entail another
+ ;; dependency.
+ (substitute* "test/minitest_config.rb"
+ (("require 'minitest/bisect'") ""))
+ #t)))))
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)
+ ("ruby-minitest-pretty-diff" ,ruby-minitest-pretty-diff)
+ ("ruby-minitest-focus" ,ruby-minitest-focus)
+ ("ruby-minitest-moar" ,ruby-minitest-moar)))
+ (synopsis "Bonus assertions for @code{Minitest}")
+ (description
+ "Minitest bonus assertions provides extra MiniTest assertions. For
+instance, it provides @code{assert_true}, @code{assert_false} and
+@code{assert_set_equal}.")
+ (home-page
+ "https://github.com/halostatue/minitest-bonus-assertions")
+ (license license:expat)))
+
(define-public ruby-daemons
(package
(name "ruby-daemons")
--
2.6.3
[-- Attachment #8: 0007-gnu-Add-ruby-minitest-rg.patch --]
[-- Type: text/x-patch, Size: 1619 bytes --]
From e2108fa1ec142810c4d69e7d8aa481865c2470a9 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 08:58:44 +1000
Subject: [PATCH 07/18] gnu: Add ruby-minitest-rg.
* gnu/packages/ruby.scm (ruby-minitest-rg): New variable.
---
gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a6b41ae..c9faf4d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1657,6 +1657,31 @@ instance, it provides @code{assert_true}, @code{assert_false} and
"https://github.com/halostatue/minitest-bonus-assertions")
(license license:expat)))
+(define-public ruby-minitest-rg
+ (package
+ (name "ruby-minitest-rg")
+ (version "5.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "minitest-rg" version))
+ (sha256
+ (base32
+ "0sq509ax1x62rd0w10b0hcydcxyk5bxxr3fwrgxv02r8drq2r354"))))
+ (build-system ruby-build-system)
+ (arguments
+ ;; Some tests fail even outside Guix, so disable tests.
+ ;; https://github.com/blowmage/minitest-rg/issues/12
+ ;; https://github.com/blowmage/minitest-rg/pull/13
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ruby-minitest" ,ruby-minitest)))
+ (synopsis "Coloured output for Minitest")
+ (description
+ "@code{minitest-rg} changes the colour of the output from Minitest.")
+ (home-page "http://blowmage.com/minitest-rg")
+ (license license:expat)))
+
(define-public ruby-daemons
(package
(name "ruby-daemons")
--
2.6.3
[-- Attachment #9: 0008-gnu-Add-ruby-mime-types-data.patch --]
[-- Type: text/x-patch, Size: 1649 bytes --]
From 590600312801f0650e31c6aa65e6dadc5f067b53 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 09:01:01 +1000
Subject: [PATCH 08/18] gnu: Add ruby-mime-types-data.
* gnu/packages/ruby.scm (ruby-mime-types-data): New variable.
---
gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c9faf4d..15dfadb 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3079,6 +3079,30 @@ that TURN is no longer being maintained.")
(home-page "http://rubygems.org/gems/turn")
(license license:expat)))
+(define-public ruby-mime-types-data
+ (package
+ (name "ruby-mime-types-data")
+ (version "3.2015.1120")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "mime-types-data" version))
+ (sha256
+ (base32
+ "04fzvy02w8d0rrsg8avncn7h58pvwdxj82aps54srb3sam2dkhic"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)))
+ (synopsis "Registry for information about MIME media type definitions")
+ (description
+ "@code{mime-types-data} provides a registry for information about MIME
+media type definitions. It can be used with the Ruby mime-types library or
+other software to determine defined filename extensions for MIME types, or to
+use filename extensions to look up the likely MIME type definitions.")
+ (home-page
+ "https://github.com/mime-types/mime-types-data/")
+ (license license:expat)))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
--
2.6.3
[-- Attachment #10: 0009-gnu-Add-ruby-fivemat.patch --]
[-- Type: text/x-patch, Size: 1488 bytes --]
From 48a2844a498e0de16d5c6f54de1a932d4fb3d585 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 09:03:19 +1000
Subject: [PATCH 09/18] gnu: Add ruby-fivemat.
* gnu/packages/ruby.scm (ruby-fivemat): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 15dfadb..e65f5b2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3103,6 +3103,28 @@ use filename extensions to look up the likely MIME type definitions.")
"https://github.com/mime-types/mime-types-data/")
(license license:expat)))
+(define-public ruby-fivemat
+ (package
+ (name "ruby-fivemat")
+ (version "1.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "fivemat" version))
+ (sha256
+ (base32
+ "1gvw6g4yc96l2pcyvigahyfsjxpdjx21iiwzvf965zippchdh6gk"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; no tests
+ (synopsis "Each test file given its own line of dots")
+ (description
+ "Fivemat is a MiniTest/RSpec/Cucumber formatter that gives each test file
+its own line of dots during testing. It aims to provide test output that is
+neither too verbose nor too minimal.")
+ (home-page "https://github.com/tpope/fivemat")
+ (license license:expat)))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
--
2.6.3
[-- Attachment #11: 0010-gnu-Add-ruby-mime-types.patch --]
[-- Type: text/x-patch, Size: 1902 bytes --]
From 0b32e007b2588205f50f56f3859765836af6eae7 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 09:05:55 +1000
Subject: [PATCH 10/18] gnu: Add ruby-mime-types.
* gnu/packages/ruby.scm (ruby-mime-types): New variable.
---
gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e65f5b2..5740aab 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3103,6 +3103,34 @@ use filename extensions to look up the likely MIME type definitions.")
"https://github.com/mime-types/mime-types-data/")
(license license:expat)))
+(define-public ruby-mime-types
+ (package
+ (name "ruby-mime-types")
+ (version "3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "mime-types" version))
+ (sha256
+ (base32
+ "1snjc38a9vqvy8j41xld1i1byq9prbl955pbjw7dxqcfcirqlzra"))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ `(("ruby-mime-types-data" ,ruby-mime-types-data)))
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)
+ ("ruby-fivemat" ,ruby-fivemat)
+ ("ruby-minitest-focus" ,ruby-minitest-focus)
+ ("ruby-minitest-rg" ,ruby-minitest-rg)
+ ("ruby-minitest-bonus-assertions" ,ruby-minitest-bonus-assertions)))
+ (synopsis "Library and registry for MIME content type definitions")
+ (description "The mime-types library provides a library and registry for
+information about MIME content type definitions. It can be used to determine
+defined filename extensions for MIME types, or to use filename extensions to
+look up the likely MIME type definitions.")
+ (home-page "https://github.com/mime-types/ruby-mime-types")
+ (license license:expat)))
+
(define-public ruby-fivemat
(package
(name "ruby-fivemat")
--
2.6.3
[-- Attachment #12: 0011-gnu-Add-ruby-sqlite3.patch --]
[-- Type: text/x-patch, Size: 1786 bytes --]
From 73ee64141fc21a5bbdd34a2b23d42f8a2a200ba0 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 09:08:56 +1000
Subject: [PATCH 11/18] gnu: Add ruby-sqlite3.
* gnu/packages/ruby.scm (ruby-sqlite3): New variable.
---
gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 5740aab..d473870 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3153,6 +3153,39 @@ neither too verbose nor too minimal.")
(home-page "https://github.com/tpope/fivemat")
(license license:expat)))
+(define-public ruby-sqlite3
+ (package
+ (name "ruby-sqlite3")
+ (version "1.3.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "sqlite3" version))
+ (sha256
+ (base32
+ "19r06wglnm6479ffj9dl0fa4p5j2wi6dj7k6k3d0rbx7036cv3ny"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'add-gemtest-file
+ (lambda _
+ ;; This file exists in the repository but is not distributed.
+ (zero? (system* "touch" ".gemtest")))))))
+ (inputs
+ `(("sqlite" ,sqlite)))
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)
+ ("ruby-mini-portile" ,ruby-mini-portile)))
+ (synopsis "Interface with SQLite3 databases")
+ (description
+ "This module allows Ruby programs to interface with the SQLite3 database
+engine.")
+ (home-page
+ "https://github.com/sparklemotion/sqlite3-ruby")
+ (license license:bsd-3)))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
--
2.6.3
[-- Attachment #13: 0012-gnu-Add-ruby-shoulda-context.patch --]
[-- Type: text/x-patch, Size: 1820 bytes --]
From 268acb6e2a730be5291257084edf08f5136bd655 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 09:11:35 +1000
Subject: [PATCH 12/18] gnu: Add ruby-shoulda-context.
* gnu/packages/ruby.scm (ruby-shoulda-context): New variable.
---
gnu/packages/ruby.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d473870..ed17daa 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3186,6 +3186,35 @@ engine.")
"https://github.com/sparklemotion/sqlite3-ruby")
(license license:bsd-3)))
+(define-public ruby-shoulda-context
+ (package
+ (name "ruby-shoulda-context")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "shoulda-context" version))
+ (sha256
+ (base32
+ "06wv2ika5zrbxn0m3qxwk0zkbspxids3zmlq3xxays5qmvl1qb55"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ ;; Do not run tests to avoid circular dependence on rails. Instead
+ ;; just import the library to test.
+ (zero? (system* "ruby" "-Ilib" "-r" "shoulda-context")))))))
+ (synopsis "Test::Unit context framework extracted from Shoulda")
+ (description
+ "@code{shoulda-context} is the context framework extracted from Shoulda.
+Instead of writing Ruby methods with lots_of_underscores, shoulda-context adds
+context, setup, and should blocks combine to produce natural test method
+names.")
+ (home-page "https://github.com/thoughtbot/shoulda-context")
+ (license license:expat)))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
--
2.6.3
[-- Attachment #14: 0013-gnu-Add-ruby-shoulda-matchers.patch --]
[-- Type: text/x-patch, Size: 2325 bytes --]
From 71dd5fa43c5fe1e881cb087f21b81c0b8142dc7f Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 09:12:59 +1000
Subject: [PATCH 13/18] gnu: Add ruby-shoulda-matchers.
* gnu/packages/ruby.scm (ruby-shoulda-matchers): New variable.
---
gnu/packages/ruby.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ed17daa..943ecc5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3215,6 +3215,44 @@ names.")
(home-page "https://github.com/thoughtbot/shoulda-context")
(license license:expat)))
+(define-public ruby-shoulda-matchers
+ (package
+ (name "ruby-shoulda-matchers")
+ (version "3.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "shoulda-matchers" version))
+ (sha256
+ (base32
+ "1agabvb8i39mjrp3kb78nvhl41xk1i258hdwdlj0fm8nj9yzn1jb"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-import
+ (lambda _
+ ;; A presumed bug reported upstream at
+ ;; https://github.com/thoughtbot/shoulda-matchers/pull/871
+ (substitute* (string-append "lib/shoulda/matchers/active_model/"
+ "validate_inclusion_of_matcher.rb")
+ (("^require 'bigdecimal'")
+ "require 'bigdecimal'; require 'date'"))))
+ (replace 'check
+ (lambda _
+ ;; Do not run tests to avoid circular dependence on rails. Instead
+ ;; just import the library to test.
+ (zero? (system* "ruby" "-Ilib" "-r" "shoulda-matchers")))))))
+ (propagated-inputs
+ `(("ruby-activesupport" ,ruby-activesupport)))
+ (synopsis "Collection of testing matchers extracted from Shoulda")
+ (description
+ "Shoulda Matchers provides RSpec- and Minitest-compatible one-liners that
+test common Rails functionality. These tests would otherwise be much longer,
+more complex, and error-prone.")
+ (home-page "https://github.com/thoughtbot/shoulda-matchers")
+ (license license:expat)))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
--
2.6.3
[-- Attachment #15: 0014-gnu-Add-ruby-shoulda-matchers-2.patch --]
[-- Type: text/x-patch, Size: 1086 bytes --]
From 9329f7634a42005801e6099667b75153c1dafc08 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 09:21:51 +1000
Subject: [PATCH 14/18] gnu: Add ruby-shoulda-matchers-2.
* gnu/packages/ruby.scm (ruby-shoulda-matchers-2): New variable.
---
gnu/packages/ruby.scm | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 943ecc5..0eca054 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3253,6 +3253,17 @@ more complex, and error-prone.")
(home-page "https://github.com/thoughtbot/shoulda-matchers")
(license license:expat)))
+(define-public ruby-shoulda-matchers-2
+ (package
+ (inherit ruby-shoulda-matchers)
+ (version "2.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "shoulda-matchers" version))
+ (sha256
+ (base32
+ "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0"))))))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
--
2.6.3
[-- Attachment #16: 0015-gnu-Add-ruby-shoulda.patch --]
[-- Type: text/x-patch, Size: 1837 bytes --]
From 0d72a644e036f73a4564509c6fa31fc65c5ce9ce Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 09:22:43 +1000
Subject: [PATCH 15/18] gnu: Add ruby-shoulda.
* gnu/packages/ruby.scm (ruby-shoulda): New variable.
---
gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0eca054..2bc128a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3264,6 +3264,37 @@ more complex, and error-prone.")
(base32
"0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0"))))))
+(define-public ruby-shoulda
+ (package
+ (name "ruby-shoulda")
+ (version "3.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "shoulda" version))
+ (sha256
+ (base32
+ "0csmf15a7mcinfq54lfa4arp0f4b2jmwva55m0p94hdf3pxnjymy"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ ;; Don't run tests to avoid circular dependence on rails. Instead
+ ;; just import the library to test.
+ (zero? (system* "ruby" "-Ilib" "-r" "shoulda")))))))
+ (propagated-inputs
+ `(("ruby-shoulda-context" ,ruby-shoulda-context)
+ ("ruby-shoulda-matchers" ,ruby-shoulda-matchers-2)))
+ (synopsis "Context framework and matchers for testing")
+ (description
+ "@code{shoulda} is a meta-package combining @code{shoulda-context} and
+@code{shoulda-matchers} providing tools for writing tests.")
+ (home-page
+ "https://github.com/thoughtbot/shoulda")
+ (license license:expat)))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
--
2.6.3
[-- Attachment #17: 0016-gnu-Add-ruby-unf.patch --]
[-- Type: text/x-patch, Size: 2048 bytes --]
From f14ef425b8a554651f7530bfa32203b2014d03d7 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 09:23:55 +1000
Subject: [PATCH 16/18] gnu: Add ruby-unf.
* gnu/packages/ruby.scm (ruby-unf): 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 2bc128a..fee5e4a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3295,6 +3295,43 @@ more complex, and error-prone.")
"https://github.com/thoughtbot/shoulda")
(license license:expat)))
+(define-public ruby-unf
+ (package
+ (name "ruby-unf")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "unf" version))
+ (sha256
+ (base32
+ "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'add-dependency-to-bundler
+ (lambda _
+ ;; test-unit is required but not provided by the bundler
+ ;; environment. This is fixed in the upstream repository but fix
+ ;; has not been released.
+ (substitute* "Gemfile"
+ (("^gemspec") "gem 'test-unit'\ngemspec"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-unf-ext" ,ruby-unf-ext)))
+ (native-inputs
+ `(("ruby-shoulda" ,ruby-shoulda)
+ ("bundler" ,bundler)
+ ("ruby-test-unit" ,ruby-test-unit)))
+ (synopsis "Unicode Normalization Form support to Ruby and JRuby")
+ (description
+ "@code{ruby-unf} is a wrapper library to bring Unicode Normalization Form
+support to both Ruby and JRuby. It uses @code{unf_ext} on CRuby and
+@code{java.text.Normalizer} on JRuby.")
+ (home-page "https://github.com/knu/ruby-unf")
+ (license license:bsd-2)))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
--
2.6.3
[-- Attachment #18: 0017-gnu-Add-ruby-domain-name.patch --]
[-- Type: text/x-patch, Size: 2286 bytes --]
From 6975882822bbe736a3fb595dcd67548ab329bb83 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 09:25:45 +1000
Subject: [PATCH 17/18] gnu: Add ruby-domain-name.
* gnu/packages/ruby.scm (ruby-domain-name): New variable.
---
gnu/packages/ruby.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fee5e4a..8178693 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3332,6 +3332,47 @@ 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-domain-name
+ (package
+ (name "ruby-domain-name")
+ (version "0.5.25")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "domain_name" version))
+ (sha256
+ (base32
+ "16qvfrmcwlzz073aas55mpw2nhyhjcn96s524w0g1wlml242hjav"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-versions
+ (lambda _
+ ;; Fix NameError that appears to already be fixed upstream.
+ (substitute* "Rakefile"
+ (("DomainName::VERSION")
+ "Bundler::GemHelper.gemspec.version"))
+ ;; Loosen unnecessarily strict test-unit version specification.
+ (substitute* "domain_name.gemspec"
+ (("<test-unit>, \\[\\\"~> 2.5.5") "<test-unit>, [\">0"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-unf" ,ruby-unf)))
+ (native-inputs
+ `(("ruby-shoulda" ,ruby-shoulda)
+ ("bundler" ,bundler)
+ ("ruby-test-unit" ,ruby-test-unit)))
+ (synopsis "Domain name manipulation library")
+ (description
+ "@code{domain_name} is a Domain name manipulation library. It parses a
+domain name ready for extracting the registered domain and TLD (Top Level
+Domain). It can also be used for cookie domain validation based on the Public
+Suffix List.")
+ (home-page
+ "https://github.com/knu/ruby-domain_name")
+ (license license:bsd-2)))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
--
2.6.3
[-- Attachment #19: 0018-gnu-Add-ruby-http-cookie.patch --]
[-- Type: text/x-patch, Size: 2164 bytes --]
From df1174aac0eb2c92dd3b35a7007d14ae6f5031fa Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Thu, 31 Dec 2015 09:27:51 +1000
Subject: [PATCH 18/18] gnu: Add ruby-http-cookie.
* gnu/packages/ruby.scm (ruby-http-cookie): New variable.
---
gnu/packages/ruby.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 8178693..ea10af9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3373,6 +3373,46 @@ Suffix List.")
"https://github.com/knu/ruby-domain_name")
(license license:bsd-2)))
+(define-public ruby-http-cookie
+ (package
+ (name "ruby-http-cookie")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "http-cookie" version))
+ (sha256
+ (base32
+ "0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'add-dependency-to-bundler
+ (lambda _
+ ;; Fix NameError
+ (substitute* "Rakefile"
+ (("HTTP::Cookie::VERSION")
+ "Bundler::GemHelper.gemspec.version"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-domain-name" ,ruby-domain-name)))
+ (native-inputs
+ `(("rubysimplecov" ,ruby-simplecov)
+ ("bundler" ,bundler)
+ ("ruby-sqlite3" ,ruby-sqlite3)
+ ("ruby-test-unit" ,ruby-test-unit)))
+ (synopsis "Handle HTTP Cookies based on RFC 6265")
+ (description
+ "@code{HTTP::Cookie} is a Ruby library to handle HTTP Cookies based on
+RFC 6265. It has been designed with security, standards compliance and
+compatibility in mind, to behave just the same as today's major web browsers.
+It has built-in support for the legacy @code{cookies.txt} and
+@code{cookies.sqlite} formats of Mozilla Firefox.")
+ (home-page
+ "https://github.com/sparklemotion/http-cookie")
+ (license license:expat)))
+
(define-public ruby-ansi
(package
(name "ruby-ansi")
--
2.6.3
next reply other threads:[~2015-12-30 23:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-30 23:36 Ben Woodcroft [this message]
2016-01-07 14:53 ` [PATCH] Add 17 moar rubygems Ricardo Wurmus
2016-01-27 14:13 ` Ben Woodcroft
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56846A7B.9090609@uq.edu.au \
--to=b.woodcroft@uq.edu.au \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.