[PATCH] gnu: ruby-puma: Update to 6.4.3-0.2482fac.

  • Open
  • quality assurance status badge
Details
One participant
  • gemmaro
Owner
unassigned
Submitted by
gemmaro
Severity
normal
G
G
gemmaro wrote on 26 Oct 09:05 +0200
(address . guix-patches@gnu.org)(name . gemmaro)(address . gemmaro.dev@gmail.com)
0c565a1a42d047d1a6be83e67899d1fa8df87d36.1729926340.git.gemmaro.dev@gmail.com
* 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(-)

Toggle diff (267 lines)
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
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 74025@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 74025
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch