GNU bug report logs - #74025
[PATCH] gnu: ruby-puma: Update to 6.4.3-0.2482fac.

Previous Next

Package: guix-patches;

Reported by: gemmaro <gemmaro.dev <at> gmail.com>

Date: Sat, 26 Oct 2024 07:09:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 74025 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix <at> cbaines.net, guix-patches <at> gnu.org:
bug#74025; Package guix-patches. (Sat, 26 Oct 2024 07:09:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to gemmaro <gemmaro.dev <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix <at> cbaines.net, guix-patches <at> gnu.org. (Sat, 26 Oct 2024 07:09:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: gemmaro <gemmaro.dev <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: gemmaro <gemmaro.dev <at> gmail.com>
Subject: [PATCH] gnu: ruby-puma: Update to 6.4.3-0.2482fac.
Date: Sat, 26 Oct 2024 16:05:40 +0900
* gnu/packages/ruby.scm (ruby-puma): Update to 6.4.3-0.2482fac.  The build for
the previous version was failling due to the certification expiration.
[arguments]<#:phases>: Removed the use-rack-2 phase.  Now uses Rack 3 instead.
Added new skip tests to the disable-problematic-tests phase.
[native-inputs]: Use ruby-rack-next (version 3) instead of ruby-rack.
Add ruby-rackup for testing.

Change-Id: I71a9ce0315c7d77aa30baf6a32867382afd85f67
---
 gnu/packages/ruby.scm | 248 +++++++++++++++++++++---------------------
 1 file changed, 125 insertions(+), 123 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 5af1bb1cef..8f3991a738 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12635,133 +12635,135 @@ (define-public ruby-ttfunk
     (license %prawn-project-licenses)))
 
 (define-public ruby-puma
-  (package
-    (name "ruby-puma")
-    (version "6.3.0")
-    (source
-     (origin
-       (method git-fetch)               ;for tests
-       (uri (git-reference
-             (url "https://github.com/puma/puma")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "0qnayzgyr23w87jc849r00394hv1gw2rk9080nws43ilnycagzxq"))))
-    (build-system ruby-build-system)
-    (arguments
-     (list
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'patch-Gemfile
-            (lambda _
-              (substitute* "Gemfile"
-                (("gem \"rake-compiler\".*")
-                 "gem 'rake-compiler'\n"))))
-          (add-after 'unpack 'disable-rubocop
-            (lambda _
-              (setenv "PUMA_NO_RUBOCOP" "1")))
-          (add-after 'unpack 'use-rack-2
-            (lambda _
-              (setenv "PUMA_CI_RACK" "rack2")
-              (setenv "PUMA_CI_RACK_2" "1")))
-          (add-before 'build 'increase-resource-limits
-            (lambda _
-              ;; The test suite requires a higher number of open files.  Try
-              ;; increasing the soft resource limit of max open files to 2048,
-              ;; or equal to the hard limit, whichever is lower.
-              (call-with-values (lambda () (getrlimit 'nofile))
-                (lambda (soft hard)
-                  (when (and soft (< soft 2048))
-                    (if hard
-                        (setrlimit 'nofile (min hard 2048) hard)
-                        (setrlimit 'nofile 2048 #f))
-                    (format
-                     #t "increased maximum number of open files from ~d to ~d~%"
-                     soft (if hard (min hard 2048) 2048)))))))
-          (add-before 'build 'fix-gemspec
-            (lambda _
-              (substitute* "puma.gemspec"
-                (("`git ls-files -- bin docs ext lib tools`")
-                 "`find bin docs ext lib tools -type f |sort`"))))
-          (delete 'check)               ;moved after install
-          (add-after 'install 'check
-            (lambda* (#:key tests? #:allow-other-keys)
-              (when tests?
-                (invoke "bundle" "exec" "rake" "test"))))
-          (add-after 'install 'delete-mkmf.log
-            (lambda _
-              ;; Rubygems installs build log files that embed volatile file
-              ;; names (see:
-              ;; https://github.com/rubygems/rubygems/issues/6259).
-              (for-each delete-file (find-files #$output "^mkmf\\.log$"))))
-          (add-before 'check 'disable-problematic-tests
-            (lambda _
-              (let-syntax ((skip-tests
-                            (syntax-rules ()
-                              ((_ file test ...)
-                               (substitute* file
-                                 (((string-append "def " test ".*") all)
-                                  (string-append
-                                   all "    skip('fails on guix')\n")) ...)))))
-                ;; The test failures were reported at:
-                ;; https://github.com/puma/puma/issues/3093, but appear to be
-                ;; caused by the Guix build container, perhaps the lack of
-                ;; zombie process reaping (see:
-                ;; https://issues.guix.gnu.org/30948).
-                ;;  All the tests in the 'test_worker_gem_independence.rb'
-                ;;  module fail with "Expected false to be truthy.".
-                (delete-file "test/test_worker_gem_independence.rb")
-                (skip-tests "test/test_integration_ssl_session.rb"
-                            ;; The TLS 1.2 test fails for unknown reasons.
-                            "test_off_tls1_2")
-                (skip-tests "test/test_integration_cluster.rb"
-                            "test_fork_worker_on_refork"
-                            "test_hot_restart_does_not_drop_connections"
-                            "test_culling_strategy_oldest_fork_worker"
-                            "test_usr1_fork_worker")
-                (skip-tests "test/test_integration_pumactl.rb"
-                            "test_refork_cluster"))))
-          (add-before 'check 'relax-test-case-timeout
-            (lambda _
-              ;; The default value is 45 s and easily causes timeouts.
-              (setenv "TEST_CASE_TIMEOUT" "600")))
-          (add-before 'check 'set-home
-            (lambda _
-              ;; Some tests fail if the cannot write to HOME.
-              (setenv "HOME" "/tmp")))
-          (add-before 'check 'set-paths
-            (lambda _
-              ;; The test suite requires the 'puma' command to be on PATH.
-              (setenv "PATH" (string-append (getenv "PATH") ":"
-                                            #$output "/bin"))
-              (setenv "GEM_PATH" (string-append
-                                  (getenv "GEM_PATH") ":"
-                                  #$output "/lib/ruby/vendor_ruby")))))))
-    (native-inputs
-     (list bundler
-           curl
-           ruby-json
-           ruby-localhost
-           ruby-m
-           ruby-minitest-proveit
-           ruby-minitest-retry
-           ruby-minitest-stub-const
-           ruby-rack
-           ruby-rake-compiler
-           ruby-webrick))
-    (inputs
-     (list openssl
-           ruby-nio4r))
-    (synopsis "Simple, concurrent HTTP server for Ruby/Rack")
-    (description
-     "Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server
+  (let ((revision "0")
+        (commit "2482fac8cbb556cef4adda00399d1da40c7a4ccc"))
+    (package
+      (name "ruby-puma")
+      (version (git-version "6.4.3" revision commit))
+      (source
+       (origin
+         (method git-fetch)               ;for tests
+         (uri (git-reference
+               (url "https://github.com/puma/puma")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1f7skvdniqcv7mdqpmdxnwzn8ky2q6j92d3c6929fv4c1qfz6r41"))))
+      (build-system ruby-build-system)
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'patch-Gemfile
+              (lambda _
+                (substitute* "Gemfile"
+                  (("gem \"rake-compiler\".*")
+                   "gem 'rake-compiler'\n"))))
+            (add-after 'unpack 'disable-rubocop
+              (lambda _
+                (setenv "PUMA_NO_RUBOCOP" "1")))
+            (add-before 'build 'increase-resource-limits
+              (lambda _
+                ;; The test suite requires a higher number of open files.  Try
+                ;; increasing the soft resource limit of max open files to 2048,
+                ;; or equal to the hard limit, whichever is lower.
+                (call-with-values (lambda () (getrlimit 'nofile))
+                  (lambda (soft hard)
+                    (when (and soft (< soft 2048))
+                      (if hard
+                          (setrlimit 'nofile (min hard 2048) hard)
+                          (setrlimit 'nofile 2048 #f))
+                      (format
+                       #t "increased maximum number of open files from ~d to ~d~%"
+                       soft (if hard (min hard 2048) 2048)))))))
+            (add-before 'build 'fix-gemspec
+              (lambda _
+                (substitute* "puma.gemspec"
+                  (("`git ls-files -- bin docs ext lib tools`")
+                   "`find bin docs ext lib tools -type f |sort`"))))
+            (delete 'check)               ;moved after install
+            (add-after 'install 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  (invoke "bundle" "exec" "rake" "test"))))
+            (add-after 'install 'delete-mkmf.log
+              (lambda _
+                ;; Rubygems installs build log files that embed volatile file
+                ;; names (see:
+                ;; https://github.com/rubygems/rubygems/issues/6259).
+                (for-each delete-file (find-files #$output "^mkmf\\.log$"))))
+            (add-before 'check 'disable-problematic-tests
+              (lambda _
+                (let-syntax ((skip-tests
+                              (syntax-rules ()
+                                ((_ file test ...)
+                                 (substitute* file
+                                   (((string-append "def " test ".*") all)
+                                    (string-append
+                                     all "    skip('fails on guix')\n")) ...)))))
+                  ;; The test failures were reported at:
+                  ;; https://github.com/puma/puma/issues/3093, but appear to be
+                  ;; caused by the Guix build container, perhaps the lack of
+                  ;; zombie process reaping (see:
+                  ;; https://issues.guix.gnu.org/30948).
+                  ;;  All the tests in the 'test_worker_gem_independence.rb'
+                  ;;  module fail with "Expected false to be truthy.".
+                  (delete-file "test/test_worker_gem_independence.rb")
+                  (skip-tests "test/test_integration_ssl_session.rb"
+                              ;; The TLS 1.2 test fails for unknown reasons.
+                              "test_off_tls1_2")
+                  (skip-tests "test/test_integration_cluster.rb"
+                              "test_fork_worker_on_refork"
+                              "test_hot_restart_does_not_drop_connections"
+                              "test_culling_strategy_oldest_fork_worker"
+                              "test_usr1_fork_worker")
+                  (skip-tests "test/test_integration_pumactl.rb"
+                              "test_refork_cluster")
+                  (skip-tests "test/test_puma_server_ssl.rb"
+                              "test_tls_v1_rejection"
+                              "test_tls_v1_1_rejection"))))
+            (add-before 'check 'relax-test-case-timeout
+              (lambda _
+                ;; The default value is 45 s and easily causes timeouts.
+                (setenv "TEST_CASE_TIMEOUT" "600")))
+            (add-before 'check 'set-home
+              (lambda _
+                ;; Some tests fail if the cannot write to HOME.
+                (setenv "HOME" "/tmp")))
+            (add-before 'check 'set-paths
+              (lambda _
+                ;; The test suite requires the 'puma' command to be on PATH.
+                (setenv "PATH" (string-append (getenv "PATH") ":"
+                                              #$output "/bin"))
+                (setenv "GEM_PATH" (string-append
+                                    (getenv "GEM_PATH") ":"
+                                    #$output "/lib/ruby/vendor_ruby")))))))
+      (native-inputs
+       (list bundler
+             curl
+             ruby-json
+             ruby-localhost
+             ruby-m
+             ruby-minitest-proveit
+             ruby-minitest-retry
+             ruby-minitest-stub-const
+             ruby-rack-next
+             ruby-rackup
+             ruby-rake-compiler
+             ruby-webrick))
+      (inputs
+       (list openssl
+             ruby-nio4r))
+      (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 "https://puma.io/")
-    (license license:expat)))
+      (home-page "https://puma.io/")
+      (license license:expat))))
 
 (define-public ruby-hoe-git
   (package

base-commit: 808c02c01e87d6ded18492372543108e1f9154a9
-- 
2.46.0





This bug report was last modified 232 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.