guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] 11 little Ruby gems.


From: Ricardo Wurmus
Subject: [PATCH] 11 little Ruby gems.
Date: Wed, 16 Sep 2015 11:12:36 +0200

Hi Guix,

attached are a couple of patches that resulted from a recent attempt to
traverse the dependency graph for a dependency of some tool I wanted to
package.

I’m not happy with ‘0007-gnu-Add-ruby-rb-fsevent.patch’ because it is to
be used on a Mac OSX, but unfortunately this is a required input for
a more general file system library that is in my pipeline.

I’m also not happy with disabling tests for ‘ruby-yard’, but I didn’t
find a way to make them pass.

~~ Ricardo


>From 9a148559d4d5475842bcee057b547adf16e55603 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 16 Sep 2015 10:58:49 +0200
Subject: [PATCH 01/11] gnu: Add ruby-lumberjack.

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7dc46b6..3f12e54 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -505,6 +505,27 @@ interfaces.")
     (home-page "http://whatisthor.com/";)
     (license license:expat)))
 
+(define-public ruby-lumberjack
+  (package
+    (name "ruby-lumberjack")
+    (version "1.0.9")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "lumberjack" version))
+              (sha256
+               (base32
+                "162frm2bwy58pj8ccsdqa4a6i0csrhb9h5l3inhkl1ivgfc8814l"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)))
+    (synopsis "Logging utility library for Ruby")
+    (description "Lumberjack is a simple logging utility that can be a drop in
+replacement for Logger or ActiveSupport::BufferedLogger.  It provides support
+for automatically rolling log files even with multiple processes writing the
+same log file.")
+    (home-page "http://github.com/bdurand/lumberjack";)
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.1.0

>From 6674440f1a05898e663816234b144bd683771ffc Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 16 Sep 2015 10:59:21 +0200
Subject: [PATCH 02/11] gnu: Add ruby-nenv.

* gnu/packages/ruby.scm (ruby-nenv): 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 3f12e54..343f597 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -526,6 +526,28 @@ same log file.")
     (home-page "http://github.com/bdurand/lumberjack";)
     (license license:expat)))
 
+(define-public ruby-nenv
+  (package
+    (name "ruby-nenv")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "nenv" version))
+              (sha256
+               (base32
+                "152wxwri0afwgnxdf93gi6wjl9rr5z7vwp8ln0gpa3rddbfc27s6"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:tests? #f)) ; no tests included
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("bundler" ,bundler)))
+    (synopsis "Ruby interface for modifying the environment")
+    (description "Nenv provides a convenient wrapper for Ruby's ENV to modify
+and inspect the environment.")
+    (home-page "https://github.com/e2/nenv";)
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.1.0

>From 7cc11acf45b10cd6139cfd0611c925ecb621ab2a Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 16 Sep 2015 11:00:45 +0200
Subject: [PATCH 03/11] gnu: Add ruby-shellany.

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 343f597..81f5dc7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -548,6 +548,36 @@ and inspect the environment.")
     (home-page "https://github.com/e2/nenv";)
     (license license:expat)))
 
+(define-public ruby-shellany
+  (package
+    (name "ruby-shellany")
+    (version "0.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "shellany" version))
+              (sha256
+               (base32
+                "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:test-target "default"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-version-test
+          (lambda _
+            (substitute* "spec/shellany_spec.rb"
+              (("^RSpec") "require \"shellany\"\nRSpec"))
+            #t)))))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-nenv" ,ruby-nenv)
+       ("bundler" ,bundler)))
+    (synopsis "Capture command output")
+    (description "Shellany is a Ruby library providing functions to capture
+the output produced by running shell commands.")
+    (home-page "https://rubygems.org/gems/shellany";)
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.1.0

>From 2de2e983b4a3cd32eeec5bad66b97f032f4a34fd Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 16 Sep 2015 11:01:34 +0200
Subject: [PATCH 04/11] gnu: Add ruby-notiffany.

* gnu/packages/ruby.scm (ruby-notiffany): 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 81f5dc7..b476f6f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -578,6 +578,30 @@ the output produced by running shell commands.")
     (home-page "https://rubygems.org/gems/shellany";)
     (license license:expat)))
 
+(define-public ruby-notiffany
+  (package
+    (name "ruby-notiffany")
+    (version "0.0.7")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "notiffany" version))
+              (sha256
+               (base32
+                "1v5x1w59qq85r6dpv3y9ga34dfd7hka1qxyiykaw7gm0i6kggbhi"))))
+    (build-system ruby-build-system)
+    ;; Tests are not included in the gem.
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     `(("ruby-shellany" ,ruby-shellany)
+       ("ruby-nenv" ,ruby-nenv)))
+    (native-inputs
+     `(("bundler" ,bundler)))
+    (synopsis "Wrapper libray for notification libraries")
+    (description "Notiffany is a Ruby wrapper libray for most popular
+notification libraries such as Growl, Libnotify, and Notifu.")
+    (home-page "https://github.com/guard/notiffany";)
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.1.0

>From b34664fe0cf6bba4f3c7229f0805c291bf51fc4e Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 16 Sep 2015 11:02:32 +0200
Subject: [PATCH 05/11] gnu: Add ruby-formatador.

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b476f6f..c6d0cf8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -602,6 +602,25 @@ notification libraries such as Growl, Libnotify, and 
Notifu.")
     (home-page "https://github.com/guard/notiffany";)
     (license license:expat)))
 
+(define-public ruby-formatador
+  (package
+    (name "ruby-formatador")
+    (version "0.2.5")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "formatador" version))
+              (sha256
+               (base32
+                "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0"))))
+    (build-system ruby-build-system)
+    ;; Tests require ruby-shindo, which requires ruby-formatador at runtime.
+    (arguments `(#:tests? #f))
+    (synopsis "Ruby library to format text on stdout")
+    (description "Formatador is a Ruby library to format text printed to the
+standard output stream.")
+    (home-page "http://github.com/geemus/formatador";)
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.1.0

>From f5f17ba6ce7c1894ef72e933e113f4260168ad7a Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 16 Sep 2015 11:03:10 +0200
Subject: [PATCH 06/11] gnu: Add ruby-shindo.

* gnu/packages/ruby.scm (ruby-shindo): 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 c6d0cf8..f2a1d65 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -621,6 +621,35 @@ standard output stream.")
     (home-page "http://github.com/geemus/formatador";)
     (license license:expat)))
 
+(define-public ruby-shindo
+  (package
+    (name "ruby-shindo")
+    (version "0.3.8")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "shindo" version))
+              (sha256
+               (base32
+                "0s8v1jbz8i0jh92f2fgxb3p51l1azrpkc8nv4mhrqy4vndpvd7wq"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:test-target "shindo_tests"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-tests
+          (lambda _
+            (substitute* "Rakefile"
+              (("system \"shindo") "system \"./bin/shindo")
+              ;; This test doesn't work, so we disable it.
+              (("fail \"The build_error test should fail") "#"))
+            #t)))))
+    (propagated-inputs
+     `(("ruby-formatador" ,ruby-formatador)))
+    (synopsis "Simple depth first Ruby testing")
+    (description "Shindo is a simple depth first testing library for Ruby.")
+    (home-page "https://github.com/geemus/shindo";)
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.1.0

>From 5d6ef488d342510b4d86300e4261b03ba9b1af04 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 16 Sep 2015 11:03:47 +0200
Subject: [PATCH 07/11] gnu: Add ruby-rb-fsevent.

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f2a1d65..9c8417a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -650,6 +650,26 @@ standard output stream.")
     (home-page "https://github.com/geemus/shindo";)
     (license license:expat)))
 
+(define-public ruby-rb-fsevent
+  (package
+    (name "ruby-rb-fsevent")
+    (version "0.9.6")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "rb-fsevent" version))
+              (sha256
+               (base32
+                "1hq57by28iv0ijz8pk9ynih0xdg7vnl1010xjcijfklrcv89a1j2"))))
+    (build-system ruby-build-system)
+    ;; Tests need "guard-rspec", which needs "guard".  However, "guard" needs
+    ;; "listen", which needs "rb-fsevent" at runtime.
+    (arguments `(#:tests? #f))
+    (synopsis "FSEvents API with signals catching")
+    (description "This library provides Ruby bindings for the Mac OSX FSEvents
+API.")
+    (home-page "https://rubygems.org/gems/rb-fsevent";)
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.1.0

>From 991724027e20dfdf34370414830995c2dddb838b Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 16 Sep 2015 11:04:40 +0200
Subject: [PATCH 08/11] gnu: Add ruby-yard.

* gnu/packages/ruby.scm (ruby-yard): 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 9c8417a..f6ab4c7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -670,6 +670,37 @@ API.")
     (home-page "https://rubygems.org/gems/rb-fsevent";)
     (license license:expat)))
 
+(define-public ruby-yard
+  (package
+    (name "ruby-yard")
+    (version "0.8.7.6")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "yard" version))
+              (sha256
+               (base32
+                "1dj6ibc0qqvmb5a5r5kk0vhr04mnrz9b26gnfrs5p8jgp620i89x"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(;; The tests are a mess.  Many fail because "mock" and "stub" are
+       ;; undefined.  This is probably because of a missing "require"
+       ;; statement.  But there are also many other tests that fail for other
+       ;; reasons.  Does YARD need to be tested with a different version of
+       ;; rspec?
+       #:tests? #f
+       #:test-target "specs"))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-rspec-mocks" ,ruby-rspec-mocks)))
+    (synopsis "Documentation generation tool for Ruby")
+    (description "YARD is a documentation generation tool for the Ruby
+programming language.  It enables the user to generate consistent, usable
+documentation that can be exported to a number of formats very easily, and
+also supports extending for custom Ruby constructs such as custom class level
+definitions.")
+    (home-page "http://yardoc.org/";)
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.1.0

>From 4eebe583bf38530f7d6d3b528896d2d22f8b83e8 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 16 Sep 2015 11:05:03 +0200
Subject: [PATCH 09/11] gnu: Add ruby-rubygems-tasks.

* gnu/packages/ruby.scm (ruby-rubygems-tasks): 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 f6ab4c7..348479c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -701,6 +701,28 @@ definitions.")
     (home-page "http://yardoc.org/";)
     (license license:expat)))
 
+(define-public ruby-rubygems-tasks
+  (package
+    (name "ruby-rubygems-tasks")
+    (version "0.2.4")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "rubygems-tasks" version))
+              (sha256
+               (base32
+                "16cp45qlbcglnqdm4f1vj3diywdz4v024saqpgrz6palf0wmgz2j"))))
+    (build-system ruby-build-system)
+    ;; Tests need Internet access.
+    (arguments `(#:tests? #f))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-yard" ,ruby-yard)))
+    (synopsis "Rake tasks for managing and releasing Ruby Gems")
+    (description "Rubygems-task provides Rake tasks for managing and releasing
+Ruby Gems.")
+    (home-page "https://github.com/postmodern/rubygems-tasks";)
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.1.0

>From a692ba88185a7ef72c5403661292244ce4a5bcbf Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 16 Sep 2015 11:05:50 +0200
Subject: [PATCH 10/11] gnu: Add ruby-ffi.

* gnu/packages/ruby.scm (ruby-ffi): 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 348479c..a5b39cd 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -723,6 +723,34 @@ Ruby Gems.")
     (home-page "https://github.com/postmodern/rubygems-tasks";)
     (license license:expat)))
 
+(define-public ruby-ffi
+  (package
+    (name "ruby-ffi")
+    (version "1.9.10")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "ffi" version))
+              (sha256
+               (base32
+                "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj"))))
+    (build-system ruby-build-system)
+    ;; FIXME: Before running tests the build system attempts to build libffi
+    ;; from sources.
+    (arguments `(#:tests? #f))
+    (native-inputs
+     `(("ruby-rake-compiler" ,ruby-rake-compiler)
+       ("ruby-rspec" ,ruby-rspec)
+       ("ruby-rubygems-tasks" ,ruby-rubygems-tasks)))
+    (inputs
+     `(("libffi" ,libffi)))
+    (synopsis "Ruby foreign function interface library")
+    (description "Ruby-FFI is a Ruby extension for programmatically loading
+dynamic libraries, binding functions within them, and calling those functions
+from Ruby code.  Moreover, a Ruby-FFI extension works without changes on Ruby
+and JRuby.")
+    (home-page "http://wiki.github.com/ffi/ffi";)
+    (license license:bsd-3)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.1.0

>From 59f184497b8d9db6e626b24333a26b2aa0507e36 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Wed, 16 Sep 2015 11:06:25 +0200
Subject: [PATCH 11/11] gnu: Add ruby-simplecov-html.

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a5b39cd..343dcb9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -751,6 +751,25 @@ and JRuby.")
     (home-page "http://wiki.github.com/ffi/ffi";)
     (license license:bsd-3)))
 
+(define-public ruby-simplecov-html
+  (package
+    (name "ruby-simplecov-html")
+    (version "0.10.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "simplecov-html" version))
+              (sha256
+               (base32
+                "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("bundler" ,bundler)))
+    (synopsis "Default HTML formatter for SimpleCov code coverage tool")
+    (description "This package provides the default HTML formatter for
+the SimpleCov code coverage tool for Ruby version 1.9 and above.")
+    (home-page "https://github.com/colszowka/simplecov-html";)
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.1.0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]