diff options
author | Ben Woodcroft <donttrustben@gmail.com> | 2016-06-07 22:03:26 +1000 |
---|---|---|
committer | Ben Woodcroft <donttrustben@gmail.com> | 2016-06-21 21:46:45 +1000 |
commit | 9270298f7521eb5ca654186c44a8b203f4584d62 (patch) | |
tree | c01389ae39704188a8bd982aa920b631621d2153 /gnu/packages | |
parent | b08134907d98057d9cf2e1bfbd6afb067af15045 (diff) | |
download | guix-9270298f7521eb5ca654186c44a8b203f4584d62.tar.gz |
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.
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/patches/ruby-puma-ignore-broken-test.patch | 13 | ||||
-rw-r--r-- | gnu/packages/ruby.scm | 41 |
2 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/patches/ruby-puma-ignore-broken-test.patch b/gnu/packages/patches/ruby-puma-ignore-broken-test.patch new file mode 100644 index 0000000000..fb653dc0ee --- /dev/null +++ b/gnu/packages/patches/ruby-puma-ignore-broken-test.patch @@ -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 diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2f4348a8bc..877f229fe1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -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") |