~ruther/guix-local

9270298f7521eb5ca654186c44a8b203f4584d62 — Ben Woodcroft 9 years ago b081349
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.
3 files changed, 55 insertions(+), 0 deletions(-)

M gnu/local.mk
A gnu/packages/patches/ruby-puma-ignore-broken-test.patch
M gnu/packages/ruby.scm
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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			\

A gnu/packages/patches/ruby-puma-ignore-broken-test.patch => gnu/packages/patches/ruby-puma-ignore-broken-test.patch +13 -0
@@ 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

M gnu/packages/ruby.scm => gnu/packages/ruby.scm +41 -0
@@ 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")