From a740a5ca98c02bd0e9c792677dfc8ff8464c8365 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Fri, 4 Sep 2015 16:47:52 -0400 Subject: [PATCH] gnu: Add ruby-rack. * gnu/packages/ruby.scm (ruby-rack): 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 9bfa14c..906b6eb 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1072,3 +1072,40 @@ build on. It provides breakpoint handling and bindings for stack frames among other things and it comes with a command line interface.") (home-page "http://github.com/deivid-rodriguez/byebug") (license license:bsd-3))) + +(define-public ruby-rack + (package + (name "ruby-rack") + (version "1.6.4") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rack" version)) + (sha256 + (base32 + "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5")))) + (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'fix-tests + (lambda _ + ;; A few of the tests use the length of a file on disk for + ;; Content-Length and Content-Range headers. However, this file + ;; has a shebang in it which an earlier phase patches, growing + ;; the file size from 193 to 239 bytes. + (substitute* '("test/spec_file.rb") + (("193") "239") + ;; Adjust by 46 bytes to accomodate patched shebang. + (("bytes(.)22-33" all delimiter) + (string-append "bytes" delimiter "68-79"))) + #t))))) + (native-inputs + `(("ruby-bacon" ,ruby-bacon))) + (synopsis "Unified web application interface for Ruby") + (description "Rack provides a minimal, modular and adaptable interface for +developing web applications in Ruby. By wrapping HTTP requests and responses, +it unifies the API for web servers, web frameworks, and software in between +into a single method call.") + (home-page "http://rack.github.io/") + (license license:expat))) -- 2.5.0