gnu: Add ruby-puma.

gnu/packages/ruby.scm (ruby-puma): New variable.
gnu/packages/patches/ruby-puma-ignore-broken-test.patch: New file.
gnu/local.mk (dist_patch_DATA): Add it.
master
Ben Woodcroft 2016-06-07 22:03:26 +10:00
parent b08134907d
commit 9270298f75
No known key found for this signature in database
GPG Key ID: E44DCCD146E0CCF4
3 changed files with 55 additions and 0 deletions

View File

@ -755,6 +755,7 @@ dist_patch_DATA = \
%D%/packages/patches/rpm-CVE-2014-8118.patch \
%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-symlinkfix.patch \
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
%D%/packages/patches/rush-CVE-2013-6889.patch \

View File

@ -0,0 +1,13 @@
diff --git a/test/test_integration.rb b/test/test_integration.rb
index d9b189c..6e21180 100644
--- a/test/test_integration.rb
+++ b/test/test_integration.rb
@@ -115,7 +115,7 @@ class TestIntegration < Test::Unit::TestCase
assert_kind_of Thread, t.join(1), "server didn't stop"
end
- def test_phased_restart_via_pumactl
+ def no_test_phased_restart_via_pumactl
if Puma.jruby? || Puma.windows?
assert true
return

View File

@ -3939,6 +3939,47 @@ part of the Prawn PDF generator.")
;; for details."
(license (list license:gpl2 license:gpl3 license:ruby))))
(define-public ruby-puma
(package
(name "ruby-puma")
(version "3.4.0")
(source
(origin
(method url-fetch)
;; Fetch from GitHub because distributed gem does not contain tests.
(uri (string-append "https://github.com/puma/puma/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"10svyj2jk949y1dmkxyzipk1ddzl4iz9limrcws1zhpganpvq3j8"))
;; Ignore broken test reported upstream.
;; https://github.com/puma/puma/issues/995
(patches (search-patches "ruby-puma-ignore-broken-test.patch"))))
(build-system ruby-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-gemspec
(lambda _
(substitute* "puma.gemspec"
(("git ls-files") "find * |sort"))
#t)))))
(native-inputs
`(("ruby-hoe" ,ruby-hoe)
("ruby-rake-compiler" ,ruby-rake-compiler)
("ruby-hoe-git" ,ruby-hoe-git)
("ruby-rack" ,ruby-rack)))
(synopsis "Simple, concurrent HTTP server for Ruby/Rack")
(description
"Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server
for Ruby/Rack applications. Puma is intended for use in both development and
production environments. In order to get the best throughput, it is highly
recommended that you use a Ruby implementation with real threads like Rubinius
or JRuby.")
(home-page "http://puma.io")
(license license:expat)))
(define-public ruby-hoe-git
(package
(name "ruby-hoe-git")