Package: guix-patches;
Reported by: gemmaro <gemmaro.dev <at> gmail.com>
Date: Sat, 26 Oct 2024 07:09:02 UTC
Severity: normal
Tags: patch
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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.