From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: [PATCH] 11 little Ruby gems. Date: Wed, 16 Sep 2015 11:12:36 +0200 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40938) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zc8lo-000236-0Q for guix-devel@gnu.org; Wed, 16 Sep 2015 05:12:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zc8lj-0004eH-5e for guix-devel@gnu.org; Wed, 16 Sep 2015 05:12:51 -0400 Received: from sinope.bbbm.mdc-berlin.de ([141.80.25.23]:52783) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zc8li-0004dv-JO for guix-devel@gnu.org; Wed, 16 Sep 2015 05:12:47 -0400 Received: from localhost (localhost [127.0.0.1]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP id 577B3280522 for ; Wed, 16 Sep 2015 11:12:45 +0200 (CEST) Received: from sinope.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (sinope.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2E5D9JDiGOWJ for ; Wed, 16 Sep 2015 11:12:37 +0200 (CEST) Received: from HTCAONE.mdc-berlin.net (mab.citx.mdc-berlin.de [141.80.36.102]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP for ; Wed, 16 Sep 2015 11:12:37 +0200 (CEST) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel --=-=-= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=E2=80=99m not happy with =E2=80=980007-gnu-Add-ruby-rb-fsevent.patch=E2= =80=99 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=E2=80=99m also not happy with disabling tests for =E2=80=98ruby-yard=E2= =80=99, but I didn=E2=80=99t find a way to make them pass. ~~ Ricardo --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0001-gnu-Add-ruby-lumberjack.patch" >From 9a148559d4d5475842bcee057b547adf16e55603 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0002-gnu-Add-ruby-nenv.patch" >From 6674440f1a05898e663816234b144bd683771ffc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0003-gnu-Add-ruby-shellany.patch" >From 7cc11acf45b10cd6139cfd0611c925ecb621ab2a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0004-gnu-Add-ruby-notiffany.patch" >From 2de2e983b4a3cd32eeec5bad66b97f032f4a34fd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0005-gnu-Add-ruby-formatador.patch" >From b34664fe0cf6bba4f3c7229f0805c291bf51fc4e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0006-gnu-Add-ruby-shindo.patch" >From f5f17ba6ce7c1894ef72e933e113f4260168ad7a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0007-gnu-Add-ruby-rb-fsevent.patch" >From 5d6ef488d342510b4d86300e4261b03ba9b1af04 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0008-gnu-Add-ruby-yard.patch" >From 991724027e20dfdf34370414830995c2dddb838b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0009-gnu-Add-ruby-rubygems-tasks.patch" >From 4eebe583bf38530f7d6d3b528896d2d22f8b83e8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0010-gnu-Add-ruby-ffi.patch" >From a692ba88185a7ef72c5403661292244ce4a5bcbf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename="0011-gnu-Add-ruby-simplecov-html.patch" >From 59f184497b8d9db6e626b24333a26b2aa0507e36 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-=--