unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Add 17 moar rubygems.
@ 2015-12-30 23:36 Ben Woodcroft
  2016-01-07 14:53 ` Ricardo Wurmus
  0 siblings, 1 reply; 3+ messages in thread
From: Ben Woodcroft @ 2015-12-30 23:36 UTC (permalink / raw)
  To: guix-devel@gnu.org

[-- 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


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

* Re: [PATCH] Add 17 moar rubygems.
  2015-12-30 23:36 [PATCH] Add 17 moar rubygems Ben Woodcroft
@ 2016-01-07 14:53 ` Ricardo Wurmus
  2016-01-27 14:13   ` Ben Woodcroft
  0 siblings, 1 reply; 3+ messages in thread
From: Ricardo Wurmus @ 2016-01-07 14:53 UTC (permalink / raw)
  To: Ben Woodcroft; +Cc: guix-devel@gnu.org


Ben Woodcroft <b.woodcroft@uq.edu.au> writes:

> 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.

Thank you.  I’ve just pushed this version of ruby-ansi.

> 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.

Okay!

> 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.

There’s one “ruby-” too much here and in the summary.

> +    (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.")

“the ability [to] focus on”.  The second sentence doesn’t make sense to
me; something’s wrong about it.  In general I find this description to
be rather unclear.

> +    (home-page
> +     "https://github.com/seattlerb/minitest-focus")

Please put this on one line.

> 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.

[...]

> +(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.
               ^  Please add one more space here.

> +  (let ((revision "1")
> +        (commit "11f32e930f574225432f42e5e1ef6e7471efe572"))
> +    (package
> +      (name "ruby-minitest-pretty-diff")
> +      (version (string-append "0.1." revision "." commit))

I think when the full commit is used it should be truncated to <10
characters with

    (string-take commit 9)

I’m a little uncomfortable about the “revision” part (even though I’ve
been using it as well); I would like to have a better way to separate
the actual version from our custom version strings.  What do we do when
upstream decides to use three digit version numbers like “0.1.1”?  Will
this correctly be considered an update over “0.1.2.cafebabe” with a
revision of 2?

We can leave this for now, but I’d like to find a better solution in
general.

> +      (home-page
> +       "https://github.com/adammck/minitest-pretty_diff")

On one line please.

> 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.

Again one “ruby-” too much here.  (Or maybe it’s appropriate considering
the gem name contains “moar”...)

> +    (home-page
> +     "https://github.com/dockyard/minitest-moar")

Same as above.

I think I need a break.  Any takers for the remaining patches? :)

~~ Ricardo

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

* Re: [PATCH] Add 17 moar rubygems.
  2016-01-07 14:53 ` Ricardo Wurmus
@ 2016-01-27 14:13   ` Ben Woodcroft
  0 siblings, 0 replies; 3+ messages in thread
From: Ben Woodcroft @ 2016-01-27 14:13 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel@gnu.org



On 08/01/16 00:53, Ricardo Wurmus wrote:

[..]
>
> I think I need a break.
You deserve one. Thanks. I just pushed all 17 with minor changes.

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

end of thread, other threads:[~2016-01-27 14:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-30 23:36 [PATCH] Add 17 moar rubygems Ben Woodcroft
2016-01-07 14:53 ` Ricardo Wurmus
2016-01-27 14:13   ` Ben Woodcroft

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

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

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