summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Woodcroft <donttrustben@gmail.com>2016-07-20 20:31:40 +1000
committerBen Woodcroft <donttrustben@gmail.com>2016-08-10 15:36:33 +1000
commit1db791d5f4d0730cc7acf30d79ccaba36b29c8bf (patch)
tree892915dbf3c0be5c040948b277f03838c6289c55
parent9019b37fb77ba215504f03aca4497ec148e928e6 (diff)
downloadpatches-1db791d5f4d0730cc7acf30d79ccaba36b29c8bf.tar
patches-1db791d5f4d0730cc7acf30d79ccaba36b29c8bf.tar.gz
gnu: ruby-rack: Update to 2.0.1.
* gnu/packages/ruby.scm (ruby-rack): Update to 2.0.1. [source]: Use GitHub and patch. [native-inputs]: Add ruby-concurrent, ruby-minitest, ruby-minitest-sprint, which. Remove ruby-bacon. [propagated-inputs]: Add ruby-concurrent. * gnu/packages/patches/ruby-rack-ignore-failing-test.patch: New file. * gnu/local.mk: Add it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/ruby-rack-ignore-failing-test.patch13
-rw-r--r--gnu/packages/ruby.scm21
3 files changed, 31 insertions, 4 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 8eb29719c5..d4a09ef1a6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -757,6 +757,7 @@ dist_patch_DATA = \
%D%/packages/patches/rsem-makefile.patch \
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
%D%/packages/patches/ruby-puma-ignore-broken-test.patch \
+ %D%/packages/patches/ruby-rack-ignore-failing-test.patch \
%D%/packages/patches/ruby-symlinkfix.patch \
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
%D%/packages/patches/rush-CVE-2013-6889.patch \
diff --git a/gnu/packages/patches/ruby-rack-ignore-failing-test.patch b/gnu/packages/patches/ruby-rack-ignore-failing-test.patch
new file mode 100644
index 0000000000..f50d68c9c4
--- /dev/null
+++ b/gnu/packages/patches/ruby-rack-ignore-failing-test.patch
@@ -0,0 +1,13 @@
+diff --git a/test/spec_server.rb b/test/spec_server.rb
+index a3690bc..16c9536 100644
+--- a/test/spec_server.rb
++++ b/test/spec_server.rb
+@@ -161,7 +161,7 @@ describe Rack::Server do
+ it "check pid file presence and not owned process" do
+ pidfile = Tempfile.open('pidfile') { |f| f.write(1); break f }.path
+ server = Rack::Server.new(:pid => pidfile)
+- server.send(:pidfile_process_status).must_equal :not_owned
++ #server.send(:pidfile_process_status).must_equal :not_owned
+ end
+
+ it "not write pid file when it is created after check" do
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fbf8d982ca..36a7154d45 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -24,6 +24,7 @@
(define-module (gnu packages ruby)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
+ #:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages readline)
@@ -2898,14 +2899,22 @@ differences (added or removed nodes) between two XML/HTML documents.")
(define-public ruby-rack
(package
(name "ruby-rack")
- (version "1.6.4")
+ (version "2.0.1")
(source
(origin
(method url-fetch)
- (uri (rubygems-uri "rack" version))
+ ;; Download from GitHub so that the patch can be applied.
+ (uri (string-append
+ "https://github.com/rack/rack/archive/"
+ version
+ ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5"))))
+ "00k62v8lpyjzghkn0h0awrnqj1jmlcs2wp57py27m43y65v89cp3"))
+ ;; Ignore test which fails inside the build environment but works
+ ;; outside.
+ (patches (search-patches "ruby-rack-ignore-failing-test.patch"))))
(build-system ruby-build-system)
(arguments
'(#:phases
@@ -2930,7 +2939,11 @@ differences (added or removed nodes) between two XML/HTML documents.")
(number->string (+ 33 size-diff))))))
#t)))))
(native-inputs
- `(("ruby-bacon" ,ruby-bacon)))
+ `(("ruby-minitest" ,ruby-minitest)
+ ("ruby-minitest-sprint" ,ruby-minitest-sprint)
+ ("which" ,which)))
+ (propagated-inputs
+ `(("ruby-concurrent" ,ruby-concurrent)))
(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,