From 04afc69a29c3de7fee5ea4e1a34b2064f758a539 Mon Sep 17 00:00:00 2001 From: talyz Date: Wed, 23 Mar 2022 18:58:32 +0100 Subject: [PATCH] discourse: 2.9.0.beta1 -> 2.9.0.beta3 --- nixos/modules/services/web-apps/discourse.nix | 1 + .../web-apps/discourse/admin_create.patch | 2 +- .../discourse/assets_rake_command.patch | 13 + .../discourse/auto_generated_path.patch | 4 +- pkgs/servers/web-apps/discourse/default.nix | 42 ++- .../web-apps/discourse/nixos_defaults.patch | 4 +- .../discourse/plugin_gem_api_version.patch | 2 +- .../web-apps/discourse/rubyEnv/Gemfile | 15 +- .../web-apps/discourse/rubyEnv/Gemfile.lock | 199 +++++++------- .../web-apps/discourse/rubyEnv/gemset.nix | 245 +++++++++--------- .../unicorn_logging_and_timeout.patch | 2 +- pkgs/servers/web-apps/discourse/update.py | 33 ++- 12 files changed, 306 insertions(+), 256 deletions(-) create mode 100644 pkgs/servers/web-apps/discourse/assets_rake_command.patch diff --git a/nixos/modules/services/web-apps/discourse.nix b/nixos/modules/services/web-apps/discourse.nix index 2c2911aada3f..fa2bb06f7f48 100644 --- a/nixos/modules/services/web-apps/discourse.nix +++ b/nixos/modules/services/web-apps/discourse.nix @@ -609,6 +609,7 @@ in connection_reaper_interval = 30; relative_url_root = null; message_bus_max_backlog_size = 100; + message_bus_clear_every = 50; secret_key_base = cfg.secretKeyBaseFile; fallback_assets_path = null; diff --git a/pkgs/servers/web-apps/discourse/admin_create.patch b/pkgs/servers/web-apps/discourse/admin_create.patch index 651e8ce81dc9..691b806dfd65 100644 --- a/pkgs/servers/web-apps/discourse/admin_create.patch +++ b/pkgs/servers/web-apps/discourse/admin_create.patch @@ -1,5 +1,5 @@ diff --git a/lib/tasks/admin.rake b/lib/tasks/admin.rake -index 80c403616d..cba01202ac 100644 +index 37ef651f2b..b775129498 100644 --- a/lib/tasks/admin.rake +++ b/lib/tasks/admin.rake @@ -107,3 +107,43 @@ task "admin:create" => :environment do diff --git a/pkgs/servers/web-apps/discourse/assets_rake_command.patch b/pkgs/servers/web-apps/discourse/assets_rake_command.patch new file mode 100644 index 000000000000..b37b6d1d7994 --- /dev/null +++ b/pkgs/servers/web-apps/discourse/assets_rake_command.patch @@ -0,0 +1,13 @@ +diff --git a/lib/tasks/assets.rake b/lib/tasks/assets.rake +index 68b5db61ac..d460b5753e 100644 +--- a/lib/tasks/assets.rake ++++ b/lib/tasks/assets.rake +@@ -19,7 +19,7 @@ task 'assets:precompile:before' do + + if only_assets_precompile_remaining + # Using exec to free up Rails app memory during ember build +- exec "#{compile_command} && EMBER_CLI_COMPILE_DONE=1 bin/rake assets:precompile" ++ exec "#{compile_command} && EMBER_CLI_COMPILE_DONE=1 bundle exec rake assets:precompile" + else + system compile_command + end diff --git a/pkgs/servers/web-apps/discourse/auto_generated_path.patch b/pkgs/servers/web-apps/discourse/auto_generated_path.patch index e63d4a283a74..c80e4a48ecd9 100644 --- a/pkgs/servers/web-apps/discourse/auto_generated_path.patch +++ b/pkgs/servers/web-apps/discourse/auto_generated_path.patch @@ -1,8 +1,8 @@ diff --git a/lib/plugin/instance.rb b/lib/plugin/instance.rb -index e59a6fbc05..c773a1356e 100644 +index 8482ff0210..826d111d65 100644 --- a/lib/plugin/instance.rb +++ b/lib/plugin/instance.rb -@@ -447,7 +447,7 @@ class Plugin::Instance +@@ -455,7 +455,7 @@ class Plugin::Instance end def auto_generated_path diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index 693e638dec6e..b863a40dfc58 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -3,20 +3,21 @@ , ruby, replace, gzip, gnutar, git, cacert, util-linux, gawk, nettools , imagemagick, optipng, pngquant, libjpeg, jpegoptim, gifsicle, jhead -, libpsl, redis, postgresql, which, brotli, procps, rsync, icu -, nodePackages, nodejs-16_x +, oxipng, libpsl, redis, postgresql, which, brotli, procps, rsync, icu +, fetchYarnDeps, yarn, fixup_yarn_lock, nodePackages, nodejs-14_x +, nodejs-16_x , plugins ? [] }@args: let - version = "2.9.0.beta1"; + version = "2.9.0.beta3"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse"; rev = "v${version}"; - sha256 = "sha256-mf2Niyv1H+Zq7RfnV93O1Ul9RdRrtmtAJMBJrb8hp3U="; + sha256 = "sha256-+VYHGkISY4PFScUzk6eJ7eN9cPTjNEww/kusKcufMI0="; }; runtimeDeps = [ @@ -38,6 +39,7 @@ let # Image optimization imagemagick optipng + oxipng pngquant libjpeg jpegoptim @@ -157,6 +159,11 @@ let ]; }; + yarnOfflineCache = fetchYarnDeps { + yarnLock = src + "/app/assets/javascripts/yarn.lock"; + sha256 = "0xx5gncvb2mwpwwbgi4y320ji143i38vmz946xjcx5z3jxxjkymz"; + }; + assets = stdenv.mkDerivation { pname = "discourse-assets"; inherit version src; @@ -166,6 +173,8 @@ let redis nodePackages.uglify-js nodePackages.terser + yarn + nodejs-14_x ]; patches = [ @@ -177,6 +186,10 @@ let # defaults to the plugin's directory and isn't writable at the # time of asset generation ./auto_generated_path.patch + + # Fix the rake command used to recursively execute itself in the + # assets precompilation task. + ./assets_rake_command.patch ]; # We have to set up an environment that is close enough to @@ -184,8 +197,21 @@ let # run. This means that Redis and PostgreSQL has to be running and # database migrations performed. preBuild = '' + # Yarn wants a real home directory to write cache, config, etc to + export HOME=$NIX_BUILD_TOP/fake_home + + # Make yarn install packages from our offline cache, not the registry + yarn config --offline set yarn-offline-mirror ${yarnOfflineCache} + + # Fixup "resolved"-entries in yarn.lock to match our offline cache + ${fixup_yarn_lock}/bin/fixup_yarn_lock app/assets/javascripts/yarn.lock + export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt + yarn install --offline --cwd app/assets/javascripts/discourse + + patchShebangs app/assets/javascripts/node_modules/ + redis-server >/dev/null & initdb -A trust $NIX_BUILD_TOP/postgres >/dev/null @@ -211,7 +237,7 @@ let export RAILS_ENV=production bundle exec rake db:migrate >/dev/null - rm -r tmp/* + chmod -R +w tmp ''; buildPhase = '' @@ -229,6 +255,10 @@ let runHook postInstall ''; + + passthru = { + inherit yarnOfflineCache; + }; }; discourse = stdenv.mkDerivation { @@ -309,7 +339,7 @@ let }; passthru = { - inherit rubyEnv runtimeEnv runtimeDeps rake mkDiscoursePlugin; + inherit rubyEnv runtimeEnv runtimeDeps rake mkDiscoursePlugin assets; enabledPlugins = plugins; plugins = callPackage ./plugins/all-plugins.nix { inherit mkDiscoursePlugin; }; ruby = rubyEnv.wrappedRuby; diff --git a/pkgs/servers/web-apps/discourse/nixos_defaults.patch b/pkgs/servers/web-apps/discourse/nixos_defaults.patch index 3efca97e62c0..98dba9b54b90 100644 --- a/pkgs/servers/web-apps/discourse/nixos_defaults.patch +++ b/pkgs/servers/web-apps/discourse/nixos_defaults.patch @@ -1,8 +1,8 @@ diff --git a/app/models/site_setting.rb b/app/models/site_setting.rb -index 89a5e923fc..b60754f50a 100644 +index a6641f967a..a45353504a 100644 --- a/app/models/site_setting.rb +++ b/app/models/site_setting.rb -@@ -26,6 +26,8 @@ class SiteSetting < ActiveRecord::Base +@@ -21,6 +21,8 @@ class SiteSetting < ActiveRecord::Base end end diff --git a/pkgs/servers/web-apps/discourse/plugin_gem_api_version.patch b/pkgs/servers/web-apps/discourse/plugin_gem_api_version.patch index ca7aa850ec51..84fb1d4dad4a 100644 --- a/pkgs/servers/web-apps/discourse/plugin_gem_api_version.patch +++ b/pkgs/servers/web-apps/discourse/plugin_gem_api_version.patch @@ -1,5 +1,5 @@ diff --git a/lib/plugin_gem.rb b/lib/plugin_gem.rb -index 855d1aca2c..8115623547 100644 +index 49882b2cd9..96672df2ea 100644 --- a/lib/plugin_gem.rb +++ b/lib/plugin_gem.rb @@ -4,7 +4,7 @@ module PluginGem diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile index 9cdfbf21a9d8..c66a3f25542c 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile @@ -18,7 +18,7 @@ else # this allows us to include the bits of rails we use without pieces we do not. # # To issue a rails update bump the version number here - rails_version = '6.1.4.1' + rails_version = '6.1.4.7' gem 'actionmailer', rails_version gem 'actionpack', rails_version gem 'actionview', rails_version @@ -105,9 +105,7 @@ gem 'omniauth-oauth2', require: false gem 'omniauth-google-oauth2' -# Pinning oj until https://github.com/ohler55/oj/issues/699 is resolved. -# Segfaults and stuck processes after upgrading. -gem 'oj', '3.13.2' +gem 'oj' gem 'pg' gem 'mini_sql' @@ -135,6 +133,14 @@ gem 'cose', require: false gem 'addressable' gem 'json_schemer' +if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.1") + # net-smtp, net-imap and net-pop were removed from default gems in Ruby 3.1 + gem "net-smtp", "~> 0.2.1", require: false + gem "net-imap", "~> 0.2.1", require: false + gem "net-pop", "~> 0.1.1", require: false + gem "digest", "3.0.0", require: false +end + # Gems used only for assets and not required in production environments by default. # Allow everywhere for now cause we are allowing asset debugging in production group :assets do @@ -152,7 +158,6 @@ end group :test, :development do gem 'rspec' - gem 'mock_redis' gem 'listen', require: false gem 'certified', require: false gem 'fabrication', require: false diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock index e9964e0340c4..7ae505b5c194 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock @@ -8,22 +8,22 @@ GIT GEM remote: https://rubygems.org/ specs: - actionmailer (6.1.4.1) - actionpack (= 6.1.4.1) - actionview (= 6.1.4.1) - activejob (= 6.1.4.1) - activesupport (= 6.1.4.1) + actionmailer (6.1.4.7) + actionpack (= 6.1.4.7) + actionview (= 6.1.4.7) + activejob (= 6.1.4.7) + activesupport (= 6.1.4.7) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.4.1) - actionview (= 6.1.4.1) - activesupport (= 6.1.4.1) + actionpack (6.1.4.7) + actionview (= 6.1.4.7) + activesupport (= 6.1.4.7) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actionview (6.1.4.1) - activesupport (= 6.1.4.1) + actionview (6.1.4.7) + activesupport (= 6.1.4.7) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -32,15 +32,15 @@ GEM actionview (>= 6.0.a) active_model_serializers (0.8.4) activemodel (>= 3.0) - activejob (6.1.4.1) - activesupport (= 6.1.4.1) + activejob (6.1.4.7) + activesupport (= 6.1.4.7) globalid (>= 0.3.6) - activemodel (6.1.4.1) - activesupport (= 6.1.4.1) - activerecord (6.1.4.1) - activemodel (= 6.1.4.1) - activesupport (= 6.1.4.1) - activesupport (6.1.4.1) + activemodel (6.1.4.7) + activesupport (= 6.1.4.7) + activerecord (6.1.4.7) + activemodel (= 6.1.4.7) + activesupport (= 6.1.4.7) + activesupport (6.1.4.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -48,8 +48,8 @@ GEM zeitwerk (~> 2.3) addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) - annotate (3.1.1) - activerecord (>= 3.2, < 7.0) + annotate (3.2.0) + activerecord (>= 3.2, < 8.0) rake (>= 10.4, < 14.0) ast (2.4.2) aws-eventstream (1.2.0) @@ -80,8 +80,8 @@ GEM rack (>= 0.9.0) binding_of_caller (1.0.0) debug_inspector (>= 0.0.1) - bootsnap (1.9.4) - msgpack (~> 1.0) + bootsnap (1.11.1) + msgpack (~> 1.2) builder (3.2.4) bullet (7.0.1) activesupport (>= 3.0.0) @@ -97,7 +97,7 @@ GEM cose (1.2.0) cbor (~> 0.5.9) openssl-signature_algorithm (~> 1.0) - cppjieba_rb (0.3.3) + cppjieba_rb (0.4.2) crack (0.4.5) rexml crass (1.0.6) @@ -129,14 +129,14 @@ GEM sprockets (>= 3.3, < 4.1) ember-source (2.18.2) erubi (1.10.0) - excon (0.89.0) + excon (0.92.1) execjs (2.8.1) exifr (1.3.9) - fabrication (2.24.0) - faker (2.19.0) - i18n (>= 1.6, < 2) + fabrication (2.27.0) + faker (2.20.0) + i18n (>= 1.8.11, < 2) fakeweb (1.3.0) - faraday (1.9.3) + faraday (1.10.0) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -175,7 +175,7 @@ GEM hkdf (0.3.0) htmlentities (4.3.4) http_accept_language (2.1.1) - i18n (1.8.11) + i18n (1.10.0) concurrent-ruby (~> 1.0) image_optim (0.31.1) exifr (~> 1.2, >= 1.2.2) @@ -184,9 +184,9 @@ GEM in_threads (~> 1.3) progress (~> 3.0, >= 3.0.1) image_size (3.0.1) - in_threads (1.5.4) - ipaddr (1.2.3) - jmespath (1.5.0) + in_threads (1.6.0) + ipaddr (1.2.4) + jmespath (1.6.1) jquery-rails (4.4.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) @@ -194,7 +194,7 @@ GEM json (2.6.1) json-schema (2.8.1) addressable (>= 2.4) - json_schemer (0.2.18) + json_schemer (0.2.19) ecma-re-validator (~> 0.3) hana (~> 1.3) regexp_parser (~> 2.0) @@ -214,38 +214,36 @@ GEM logstash-event (1.2.02) logstash-logger (0.26.1) logstash-event (~> 1.2) - logster (2.10.1) - loofah (2.13.0) + logster (2.11.0) + loofah (2.15.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) lru_redux (1.1.0) lz4-ruby (0.3.3) maxminddb (0.1.22) memory_profiler (1.0.0) - message_bus (4.0.0) + message_bus (4.2.0) rack (>= 1.1.3) method_source (1.0.0) mini_mime (1.1.2) - mini_portile2 (2.6.1) - mini_racer (0.6.1) + mini_portile2 (2.8.0) + mini_racer (0.6.2) libv8-node (~> 16.10.0.0) mini_scheduler (0.13.0) sidekiq (>= 4.2.3) - mini_sql (1.1.3) + mini_sql (1.4.0) mini_suffix (0.3.3) ffi (~> 1.9) minitest (5.15.0) mocha (1.13.0) - mock_redis (0.29.0) - ruby2_keywords - msgpack (1.4.2) + msgpack (1.4.5) multi_json (1.15.0) multi_xml (0.6.0) multipart-post (2.1.1) mustache (1.1.1) nio4r (2.5.8) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) + nokogiri (1.13.3) + mini_portile2 (~> 2.8.0) racc (~> 1.4) oauth (0.5.8) oauth2 (1.4.7) @@ -254,7 +252,7 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) - oj (3.13.2) + oj (3.13.11) omniauth (1.9.1) hashie (>= 3.4.6) rack (>= 1.6.2, < 3) @@ -282,12 +280,12 @@ GEM openssl-signature_algorithm (1.1.1) openssl (~> 2.0) optimist (3.0.1) - parallel (1.21.0) + parallel (1.22.0) parallel_tests (3.7.3) parallel - parser (3.1.0.0) + parser (3.1.1.0) ast (~> 2.4.1) - pg (1.2.3) + pg (1.3.4) progress (3.6.0) pry (0.13.1) coderay (~> 1.1) @@ -298,14 +296,14 @@ GEM pry-rails (0.3.9) pry (>= 0.10.4) public_suffix (4.0.6) - puma (5.5.2) + puma (5.6.2) nio4r (~> 2.0) r2 (0.2.7) racc (1.6.0) rack (2.2.3) - rack-mini-profiler (2.3.3) + rack-mini-profiler (3.0.0) rack (>= 1.2.0) - rack-protection (2.1.0) + rack-protection (2.2.0) rack rack-test (1.1.0) rack (>= 1.0, < 3) @@ -314,23 +312,23 @@ GEM nokogiri (>= 1.6) rails-html-sanitizer (1.4.2) loofah (~> 2.3) - rails_failover (0.7.3) - activerecord (~> 6.0) + rails_failover (0.8.1) + activerecord (> 6.0, < 7.1) concurrent-ruby - railties (~> 6.0) - rails_multisite (4.0.0) - activerecord (> 5.0, < 7) - railties (> 5.0, < 7) - railties (6.1.4.1) - actionpack (= 6.1.4.1) - activesupport (= 6.1.4.1) + railties (> 6.0, < 7.1) + rails_multisite (4.0.1) + activerecord (> 5.0, < 7.1) + railties (> 5.0, < 7.1) + railties (6.1.4.7) + actionpack (= 6.1.4.7) + activesupport (= 6.1.4.7) method_source rake (>= 0.13) thor (~> 1.0) rainbow (3.1.1) raindrops (0.20.0) rake (13.0.6) - rb-fsevent (0.11.0) + rb-fsevent (0.11.1) rb-inotify (0.10.1) ffi (~> 1.0) rbtrace (0.4.14) @@ -339,34 +337,34 @@ GEM optimist (>= 3.0.0) rchardet (1.8.0) redis (4.5.1) - redis-namespace (1.8.1) + redis-namespace (1.8.2) redis (>= 3.0.4) - regexp_parser (2.2.0) - request_store (1.5.0) + regexp_parser (2.2.1) + request_store (1.5.1) rack (>= 1.4) rexml (3.2.5) rinku (2.0.6) rotp (6.2.0) - rqrcode (2.1.0) + rqrcode (2.1.1) chunky_png (~> 1.0) rqrcode_core (~> 1.0) rqrcode_core (1.2.0) - rspec (3.10.0) - rspec-core (~> 3.10.0) - rspec-expectations (~> 3.10.0) - rspec-mocks (~> 3.10.0) - rspec-core (3.10.1) - rspec-support (~> 3.10.0) - rspec-expectations (3.10.2) + rspec (3.11.0) + rspec-core (~> 3.11.0) + rspec-expectations (~> 3.11.0) + rspec-mocks (~> 3.11.0) + rspec-core (3.11.0) + rspec-support (~> 3.11.0) + rspec-expectations (3.11.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.10.0) + rspec-support (~> 3.11.0) rspec-html-matchers (0.9.4) nokogiri (~> 1) rspec (>= 3.0.0.a, < 4) - rspec-mocks (3.10.2) + rspec-mocks (3.11.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.10.0) - rspec-rails (5.0.2) + rspec-support (~> 3.11.0) + rspec-rails (5.1.1) actionpack (>= 5.2) activesupport (>= 5.2) railties (>= 5.2) @@ -374,29 +372,29 @@ GEM rspec-expectations (~> 3.10) rspec-mocks (~> 3.10) rspec-support (~> 3.10) - rspec-support (3.10.3) + rspec-support (3.11.0) rss (0.2.9) rexml - rswag-specs (2.4.0) - activesupport (>= 3.1, < 7.0) + rswag-specs (2.5.1) + activesupport (>= 3.1, < 7.1) json-schema (~> 2.2) - railties (>= 3.1, < 7.0) + railties (>= 3.1, < 7.1) rtlit (0.0.5) - rubocop (1.25.0) + rubocop (1.26.0) parallel (~> 1.10) parser (>= 3.1.0.0) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml - rubocop-ast (>= 1.15.1, < 2.0) + rubocop-ast (>= 1.16.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.15.1) - parser (>= 3.0.1.1) + rubocop-ast (1.16.0) + parser (>= 3.1.1.0) rubocop-discourse (2.5.0) rubocop (>= 1.1.0) rubocop-rspec (>= 2.0.0) - rubocop-rspec (2.7.0) + rubocop-rspec (2.9.0) rubocop (~> 1.19) ruby-prof (1.4.3) ruby-progressbar (1.11.0) @@ -422,7 +420,7 @@ GEM activesupport (>= 3.1) shoulda-matchers (5.1.0) activesupport (>= 5.2.0) - sidekiq (6.3.1) + sidekiq (6.4.1) connection_pool (>= 2.2.2) rack (~> 2.0) redis (>= 4.2.0) @@ -431,7 +429,7 @@ GEM simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) - simplecov_json_formatter (0.1.3) + simplecov_json_formatter (0.1.4) sprockets (3.7.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) @@ -440,7 +438,7 @@ GEM activesupport (>= 5.2) sprockets (>= 3.0.0) sshkey (2.0.0) - stackprof (0.2.17) + stackprof (0.2.19) test-prof (1.0.7) thor (1.2.1) tilt (2.0.10) @@ -450,12 +448,12 @@ GEM execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext - unf_ext (0.0.8) + unf_ext (0.0.8.1) unicode-display_width (2.1.0) unicorn (6.1.0) kgio (~> 2.6) raindrops (~> 0.7) - uniform_notifier (1.14.2) + uniform_notifier (1.15.0) uri_template (0.7.0) webmock (3.14.0) addressable (>= 2.8.0) @@ -466,20 +464,20 @@ GEM jwt (~> 2.0) xorcist (1.1.2) yaml-lint (0.0.10) - zeitwerk (2.5.3) + zeitwerk (2.5.4) PLATFORMS ruby DEPENDENCIES - actionmailer (= 6.1.4.1) - actionpack (= 6.1.4.1) - actionview (= 6.1.4.1) + actionmailer (= 6.1.4.7) + actionpack (= 6.1.4.7) + actionview (= 6.1.4.7) actionview_precompiler active_model_serializers (~> 0.8.3) - activemodel (= 6.1.4.1) - activerecord (= 6.1.4.1) - activesupport (= 6.1.4.1) + activemodel (= 6.1.4.7) + activerecord (= 6.1.4.7) + activesupport (= 6.1.4.7) addressable annotate aws-sdk-s3 @@ -537,11 +535,10 @@ DEPENDENCIES mini_suffix minitest mocha - mock_redis multi_json mustache nokogiri - oj (= 3.13.2) + oj omniauth omniauth-facebook omniauth-github @@ -559,7 +556,7 @@ DEPENDENCIES rack-protection rails_failover rails_multisite - railties (= 6.1.4.1) + railties (= 6.1.4.7) rake rb-fsevent rbtrace @@ -601,4 +598,4 @@ DEPENDENCIES yaml-lint BUNDLED WITH - 2.3.4 + 2.3.5 diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix index 9b5fbfca4a85..72748dad501b 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix +++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix @@ -5,10 +5,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00s07l2ac5igch1g2rpa0linmiq7mhgk6v6wxkckg8gbiqijb592"; + sha256 = "0rjm6rx3qbqgxczy2a8l6hff72166hsf878fy2v1ik4pp8rh9cxa"; type = "gem"; }; - version = "6.1.4.1"; + version = "6.1.4.7"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; @@ -16,10 +16,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia"; + sha256 = "0cr02mj9wic0xbdrhjipk58cdljsfl4mplhqr9whn3l5qg8x5814"; type = "gem"; }; - version = "6.1.4.1"; + version = "6.1.4.7"; }; actionview = { dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; @@ -27,10 +27,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z"; + sha256 = "02x8cxq2bhgj5r9vpdjz8a56awg22gqvnqn01dqwyx8ny6sirzac"; type = "gem"; }; - version = "6.1.4.1"; + version = "6.1.4.7"; }; actionview_precompiler = { dependencies = ["actionview"]; @@ -60,10 +60,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q7c0i0kwarxgcbxk71wa9jnlg45grbxmhlrh7dk9bgcv7r7r7hn"; + sha256 = "1g8dpxjzj7k3sjfjhfia21bwzmgc721lafpk2napravmq1qi0rkj"; type = "gem"; }; - version = "6.1.4.1"; + version = "6.1.4.7"; }; activemodel = { dependencies = ["activesupport"]; @@ -71,10 +71,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16ixam4lni8b5lgx0whnax0imzh1dh10fy5r9pxs52n83yz5nbq3"; + sha256 = "01mzgr5pdxcki023p96bj77by1iblv9bq6pwmbly931bjwhr5irv"; type = "gem"; }; - version = "6.1.4.1"; + version = "6.1.4.7"; }; activerecord = { dependencies = ["activemodel" "activesupport"]; @@ -82,10 +82,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ccgvlj767ybps3pxlaa4iw77n7wbriw2sr8754id3ngjfap08ja"; + sha256 = "1idirwh7dzhzcjsssnghqyjl87inh84za0cmrf8g323p9qsx879l"; type = "gem"; }; - version = "6.1.4.1"; + version = "6.1.4.7"; }; activesupport = { dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; @@ -93,10 +93,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4"; + sha256 = "04j9cgv729mcz2jwr312nr5aswv07s6kjynmf59w61j395dfcvw9"; type = "gem"; }; - version = "6.1.4.1"; + version = "6.1.4.7"; }; addressable = { dependencies = ["public_suffix"]; @@ -111,14 +111,14 @@ }; annotate = { dependencies = ["activerecord" "rake"]; - groups = ["development"]; + groups = ["development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dxrfppwfg13vqmambbs56xjj8qsdgcy58r2yc44vvy3z1g5yflw"; + sha256 = "1lw0fxb5mirsdp3bp20gjyvs7clvi19jbxnrm2ihm20kzfhvlqcs"; type = "gem"; }; - version = "3.1.1"; + version = "3.2.0"; }; ast = { groups = ["default" "development" "test"]; @@ -252,10 +252,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "19i4x2nascd74ahcvmrsnf03cygh1y4c9yf8rcv91fv0mcxpvb9n"; + sha256 = "0bjhh8pngmvnrsri2h6a753pgv0xdkbbgi1bmv6c7q137sp37jbg"; type = "gem"; }; - version = "1.9.4"; + version = "1.11.1"; }; builder = { groups = ["default" "development" "test"]; @@ -382,10 +382,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sslff7yy8jvp4rcn1b6jn9v0d3iibb68i79shgd94rs2yq8k117"; + sha256 = "0ijzvnm5jclyhf6ls30kv7dqy05f3hbha69f59jwbzdid7dndla5"; type = "gem"; }; - version = "0.3.3"; + version = "0.4.2"; }; crack = { dependencies = ["rexml"]; @@ -573,10 +573,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0153rr745g48h48vaplgmx7xkfjbc79acpq5jsl7agdrk4yf75ih"; + sha256 = "12d0xkb2qkydygs4py2z2m7vzx0hygx2dnyk98ja8lkj2k348925"; type = "gem"; }; - version = "0.89.0"; + version = "0.92.1"; }; execjs = { groups = ["assets" "default"]; @@ -603,10 +603,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09b6gyqf76iflxh9v69k59xhxmrx1akdp2mbg8k8nb5rxy0sz0v6"; + sha256 = "1zmak7fgis1nk9j157g2rjzxrw9prr3jzlxap9vix3xm0gkihr53"; type = "gem"; }; - version = "2.24.0"; + version = "2.27.0"; }; faker = { dependencies = ["i18n"]; @@ -614,10 +614,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hb9wfxyb4ss2vl2mrj1zgdk7dh4yaxghq22gbx62yxj5yb9w4zw"; + sha256 = "1694ndj701a8q4c4bwxz53kx94ih1rr4pgr4gk7a6c8k4jsbjgwi"; type = "gem"; }; - version = "2.19.0"; + version = "2.20.0"; }; fakeweb = { groups = ["test"]; @@ -635,10 +635,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6"; + sha256 = "00palwawk897p5gypw5wjrh93d4p0xz2yl9w93yicb4kq7amh8d4"; type = "gem"; }; - version = "1.9.3"; + version = "1.10.0"; }; faraday-em_http = { groups = ["default"]; @@ -918,10 +918,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf"; + sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg"; type = "gem"; }; - version = "1.8.11"; + version = "1.10.0"; }; image_optim = { dependencies = ["exifr" "fspath" "image_size" "in_threads" "progress"]; @@ -949,30 +949,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m71806p1gm4kxiz4gvkyr8qip16hifn2kdf926jz44jj6kc6bbs"; + sha256 = "0j9132d4g8prjafgdh4pw948j527kr09m2lvylrcd797il9yd9wi"; type = "gem"; }; - version = "1.5.4"; + version = "1.6.0"; }; ipaddr = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s2cipiyhm1r8igc1n43py5p5r3rdz8lvagaa61jrm62prn7v5b2"; + sha256 = "13qd34nzpgp3fxfjbvaqg3dcnfr0cgl5vjvcqy0hfllbvfcklnbq"; type = "gem"; }; - version = "1.2.3"; + version = "1.2.4"; }; jmespath = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ylph158dc3ql6cvkik00ab6gf2k1rv2dii63m196xclhkzwfyan"; + sha256 = "1mnvb80cdg7fzdcs3xscv21p28w4igk5sj5m7m81xp8v2ks87jj0"; type = "gem"; }; - version = "1.5.0"; + version = "1.6.1"; }; jquery-rails = { dependencies = ["rails-dom-testing" "railties" "thor"]; @@ -1012,10 +1012,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rkb7gz819g82n3xshb5g8kgv1nvgwg1lm2fk7715pggzcgc4qik"; + sha256 = "03lzdfwpmywxc6l5apnhfjwl8swf9jz2ajwjgq38am0q60ggjrcf"; type = "gem"; }; - version = "0.2.18"; + version = "0.2.19"; }; jwt = { groups = ["default"]; @@ -1111,10 +1111,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09l4rdq5gsnhr7ma7i5ddg8sagkqn122kz8cb244q4hyk9rwmd2w"; + sha256 = "0mamk8hgdhjcd33jf1w3j2kayvpyyscysvnmbhq3mw5kjji89cam"; type = "gem"; }; - version = "2.10.1"; + version = "2.11.0"; }; loofah = { dependencies = ["crass" "nokogiri"]; @@ -1122,10 +1122,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17rvbrqcci1579d7dpbsfmz1f9g7msk82lyh9ip5h29dkrnixcgg"; + sha256 = "1yp1h1j7pdkqvnx8jl6bkzlajav3h5mhqzihgs9p6y3c8927mw23"; type = "gem"; }; - version = "2.13.0"; + version = "2.15.0"; }; lru_redux = { groups = ["default"]; @@ -1196,10 +1196,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0589k3ggj6s970mr2jaz8zfcnl5b926birwi6s3b6j3ijf2nh3s3"; + sha256 = "15gazkvbqffh57if68j2p81pm52ww7j9wibbqpq8xp7c3gxqahgq"; type = "gem"; }; - version = "4.0.0"; + version = "4.2.0"; }; method_source = { groups = ["default" "development" "test"]; @@ -1226,10 +1226,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq"; + sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy"; type = "gem"; }; - version = "2.6.1"; + version = "2.8.0"; }; mini_racer = { dependencies = ["libv8-node"]; @@ -1237,10 +1237,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1j45mg8fs7i0g6ndbzd9qqs3fhq6wpvlp5s95k6mjn1as71l5l55"; + sha256 = "0jf9qjz3r06asz14b6f3z7f2y437a1viqfp52sdi71ipj7dk70bs"; type = "gem"; }; - version = "0.6.1"; + version = "0.6.2"; }; mini_scheduler = { dependencies = ["sidekiq"]; @@ -1258,10 +1258,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yvln5wx2jfpd9q2pvjdid96vdz1ynnfk8ip913wpx28wp8ww7jn"; + sha256 = "1dgwyyya821sfj4f92sljsxmmnak2yrzsbckvy82001zgq1n3b41"; type = "gem"; }; - version = "1.1.3"; + version = "1.4.0"; }; mini_suffix = { dependencies = ["ffi"]; @@ -1294,17 +1294,6 @@ }; version = "1.13.0"; }; - mock_redis = { - dependencies = ["ruby2_keywords"]; - groups = ["development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "10jj7hralc2hmvvm77w71d4dwq9ij5a1lkqyfw6z32saybzmcs99"; - type = "gem"; - }; - version = "0.29.0"; - }; msgpack = { groups = ["default"]; platforms = [{ @@ -1314,10 +1303,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6"; + sha256 = "1cshgsx3hmpgx639xyqjqa2q3hgrhlyr9rpwhsglsx529alqq125"; type = "gem"; }; - version = "1.4.2"; + version = "1.4.5"; }; multi_json = { groups = ["default"]; @@ -1375,10 +1364,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b"; + sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz"; type = "gem"; }; - version = "1.12.5"; + version = "1.13.3"; }; oauth = { groups = ["default"]; @@ -1406,10 +1395,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fh73xl58n696akgarylfdfmv6l93rfwh3csjjbljr6gvhg4qrz9"; + sha256 = "0bm8sdh7vz7ss3y21v961rd8nww23w5g4yhgvnd7jk331kdjyyzl"; type = "gem"; }; - version = "3.13.2"; + version = "3.13.11"; }; omniauth = { dependencies = ["hashie" "rack"]; @@ -1529,10 +1518,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hkfpm78c2vs1qblnva3k1grijvxh87iixcnyd83s3lxrxsjvag4"; + sha256 = "1bncdqm62l1q8flw10gl86gcc74zm89s5vrjww73i3094jg64pam"; type = "gem"; }; - version = "1.21.0"; + version = "1.22.0"; }; parallel_tests = { dependencies = ["parallel"]; @@ -1551,20 +1540,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08q20ckhn58m49lccf93p0yv7pkc7hymmcz3di762kb658d5fd38"; + sha256 = "0zaghgvva2q4jqbachg8jvpwgbg3w1jqr0d00m8rqciqznjgsw3c"; type = "gem"; }; - version = "3.1.0.0"; + version = "3.1.1.0"; }; pg = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj"; + sha256 = "090c3kazlmiizp25las7dgi8wlc11s29nrs2gy3qrp1z8qikgcmb"; type = "gem"; }; - version = "1.2.3"; + version = "1.3.4"; }; progress = { groups = ["default"]; @@ -1625,10 +1614,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xblxnrs0c5m326v7kgr32k4m00cl2ipcf5m0qvyisrw62vd5dbn"; + sha256 = "1np2myaxlk5iab1zarwgmp7zsjvm5j8ssg35ijv8b6dpvc3cjd56"; type = "gem"; }; - version = "5.5.2"; + version = "5.6.2"; }; r2 = { groups = ["default"]; @@ -1670,10 +1659,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03hcvjw9nrv0w6yjy2zkv4ivin9xg2wr7xfcvx7rc2msv1gmjb6z"; + sha256 = "121fqk18x1bd52c2bkz8wkvv9nkgpqphj5aycnb7lkf67jkwic0h"; type = "gem"; }; - version = "2.3.3"; + version = "3.0.0"; }; rack-protection = { dependencies = ["rack"]; @@ -1681,10 +1670,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "159a4j4kragqh0z0z8vrpilpmaisnlz3n7kgiyf16bxkwlb3qlhz"; + sha256 = "1hz6h6d67r217qi202qmxq2xkn3643ay3iybhl3dq3qd6j8nm3b2"; type = "gem"; }; - version = "2.1.0"; + version = "2.2.0"; }; rack-test = { dependencies = ["rack"]; @@ -1725,10 +1714,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g3snqmsbdl2jyf2h7q4ds333hizp0j89chca75xv10gv2lq6sa8"; + sha256 = "145m778yylgrjl2q7zfkq35l5sibyynlx6pyp176ifm146gbf9wf"; type = "gem"; }; - version = "0.7.3"; + version = "0.8.1"; }; rails_multisite = { dependencies = ["activerecord" "railties"]; @@ -1736,10 +1725,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1j44n1c19gbskzxskdipr5f6lgglpn398x9kcbpw452wwwav8rmf"; + sha256 = "08fa5yq73ws536nhzd55bjx4gfvh6986zvw33rkg6ql6i8rga68y"; type = "gem"; }; - version = "4.0.0"; + version = "4.0.1"; }; railties = { dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; @@ -1747,10 +1736,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kwpm068cqys34p2g0j3l1g0cd5f3kxnsay5v7lmbd0sgarac0vy"; + sha256 = "0g6hvhvqdmgabcpmdiby4b77ni3rsgd5p7sd1qkqj34r4an0ldyd"; type = "gem"; }; - version = "6.1.4.1"; + version = "6.1.4.7"; }; rainbow = { groups = ["default" "development" "test"]; @@ -1793,10 +1782,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qsx9c4jr11vr3a9s5j83avczx9qn9rjaf32gxpc2v451hvbc0is"; + sha256 = "06c50pvxib7wqnv6q0f3n7gzfcrp5chi3sa48hxpkfxc3hhy11fm"; type = "gem"; }; - version = "0.11.0"; + version = "0.11.1"; }; rb-inotify = { dependencies = ["ffi"]; @@ -1850,20 +1839,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0k65fr7f8ciq7d9nwc5ziw1d32zsxilgmqdlj3359rz5jgb0f5y8"; + sha256 = "0ndj4lcm8rw01078zr0249grsk93zbda8qsibdvlx69b5ijg1rzf"; type = "gem"; }; - version = "1.8.1"; + version = "1.8.2"; }; regexp_parser = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "008yn8j44414qxhn1c0nxp4a70rq0bqhz70hnjpgx8cjh2g0makp"; + sha256 = "155f6cr4rrfw5bs5xd3m5kfw32qhc5fsi4nk82rhif56rc6cs0wm"; type = "gem"; }; - version = "2.2.0"; + version = "2.2.1"; }; request_store = { dependencies = ["rack"]; @@ -1871,10 +1860,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cx74kispmnw3ljwb239j65a2j14n8jlsygy372hrsa8mxc71hxi"; + sha256 = "13ppgmsbrqah08j06bybd3cddv6dml79yzyjn7r8j1src78h98h7"; type = "gem"; }; - version = "1.5.0"; + version = "1.5.1"; }; rexml = { groups = ["default" "development" "test"]; @@ -1912,10 +1901,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0444sgvx3ahvgr3c9swpy32kcdpciwgcqahp3pb4m7d23xp1qjdc"; + sha256 = "10sq4aknch9rzpy8af77rqxk8rr59d33slg1kwg9h7fw9f1spmjn"; type = "gem"; }; - version = "2.1.0"; + version = "2.1.1"; }; rqrcode_core = { groups = ["default"]; @@ -1933,10 +1922,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dwai7jnwmdmd7ajbi2q0k0lx1dh88knv5wl7c34wjmf94yv8w5q"; + sha256 = "19dyb6rcvgi9j2mksd29wfdhfdyzqk7yjhy1ai77559hbhpg61w9"; type = "gem"; }; - version = "3.10.0"; + version = "3.11.0"; }; rspec-core = { dependencies = ["rspec-support"]; @@ -1944,10 +1933,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wwnfhxxvrlxlk1a3yxlb82k2f9lm0yn0598x7lk8fksaz4vv6mc"; + sha256 = "118hkfw9b11hvvalr7qlylwal5h8dihagm9xg7k4gskg7587hca6"; type = "gem"; }; - version = "3.10.1"; + version = "3.11.0"; }; rspec-expectations = { dependencies = ["diff-lcs" "rspec-support"]; @@ -1955,10 +1944,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qrj2j9jcd3m4aksk4kbv439882yl3z1harv2jrybrgjgdzdz7zs"; + sha256 = "001ihayil7jpfxdlxlhakvz02kx0nk5m1w0bz6z8izdx0nc8bh53"; type = "gem"; }; - version = "3.10.2"; + version = "3.11.0"; }; rspec-html-matchers = { dependencies = ["nokogiri" "rspec"]; @@ -1977,10 +1966,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1d13g6kipqqc9lmwz5b244pdwc97z15vcbnbq6n9rlf32bipdz4k"; + sha256 = "0y38dc66yhnfcf4ky3k47c20xak1rax940s4a96qkjxqrniy5ys3"; type = "gem"; }; - version = "3.10.2"; + version = "3.11.0"; }; rspec-rails = { dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; @@ -1988,20 +1977,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "152yz205p8zi5nxxhs8z581rjdvvqsfjndklkvn11f2vi50nv7n9"; + sha256 = "0jj5zs9h2ll8iz699ac4bysih7y4csnf8h5h80bm6ppbf02ly8fa"; type = "gem"; }; - version = "5.0.2"; + version = "5.1.1"; }; rspec-support = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pjckrh8q6sqxy38xw7f4ziylq1983k84xh927s6352pps68zj35"; + sha256 = "0xfk4pla77251n39zf4n792m1rhg5sn1kp63yvpvvysany34la03"; type = "gem"; }; - version = "3.10.3"; + version = "3.11.0"; }; rss = { dependencies = ["rexml"]; @@ -2020,10 +2009,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dma3j5vfjhyclg8y0gsp44vs4wn9chf4jgfhc9r6ws018xrbxzd"; + sha256 = "00gm5qbf56shi655hwxzas74avsfv8b91v6i8v06i4jdw8y4qky2"; type = "gem"; }; - version = "2.4.0"; + version = "2.5.1"; }; rtlit = { groups = ["assets"]; @@ -2041,10 +2030,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "141ff5mdqi8an8q00qw8kchzil7ck2dzalkk3vk176l0s6hljcbj"; + sha256 = "03c6v6bfqdw8vnda0if0sx7aff0iq6xnv1adyfs0bi9msgggafcr"; type = "gem"; }; - version = "1.25.0"; + version = "1.26.0"; }; rubocop-ast = { dependencies = ["parser"]; @@ -2052,10 +2041,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xrij42166a71ixfpfr1pildqdrcmc0cb4906h2s8sk4kqdyngih"; + sha256 = "1bd2z82ly7fix8415gvfiwzb6bjialz5rs3sr72kv1lk68rd23wv"; type = "gem"; }; - version = "1.15.1"; + version = "1.16.0"; }; rubocop-discourse = { dependencies = ["rubocop" "rubocop-rspec"]; @@ -2074,10 +2063,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1d76haw5gjpxlfanfzicn7sb5gziyizaksm7i999p7p5dmy5vf9q"; + sha256 = "051gq9pz49iv4gq34d3n089iaa6cb418n2fhin6gd6fpysbi3nf6"; type = "gem"; }; - version = "2.7.0"; + version = "2.9.0"; }; ruby-prof = { groups = ["development"]; @@ -2195,10 +2184,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0k38cbwhcj9ncfzlgfmvq2zqfdvldln58w8s8v89m0jqlhnhsqhj"; + sha256 = "0fq3nxpj1c9s2bi056p9cldb7zy45bgdkjq8721zypw1pkvllb7f"; type = "gem"; }; - version = "6.3.1"; + version = "6.4.1"; }; simplecov = { dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; @@ -2226,10 +2215,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19r15hyvh52jx7fmsrcflb58xh8l7l0zx4sxkh3hqzhq68y81pjl"; + sha256 = "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j"; type = "gem"; }; - version = "0.1.3"; + version = "0.1.4"; }; sprockets = { dependencies = ["concurrent-ruby" "rack"]; @@ -2272,10 +2261,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "06lz70k8c0r7fyxk1nc3idh14x7nvsr21ydm1bsmbj00jyhmfzsn"; + sha256 = "19rnk17rz0lhf7l9awy0s7xxyw91ydcqxlx0576xvwyi79jh6a2m"; type = "gem"; }; - version = "0.2.17"; + version = "0.2.19"; }; test-prof = { groups = ["test"]; @@ -2345,10 +2334,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jmbimpnpjdzz8hlrppgl9spm99qh3qzbx0b81k3gkgwba8nk3yd"; + sha256 = "0bf120xbq23zjyf8zi8h1576d71g58srr8rndig0whn10w72vrxz"; type = "gem"; }; - version = "0.0.8"; + version = "0.0.8.1"; }; unicode-display_width = { groups = ["default" "development" "test"]; @@ -2382,10 +2371,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1614dqnky0f9f1znj0lih8i184vfps86md93dw0kxrg3af9gnqb4"; + sha256 = "00dj2vsz9sq5i9wnncbiy4v5vayqbssppazzigd1ibpl60pzfxkq"; type = "gem"; }; - version = "1.14.2"; + version = "1.15.0"; }; uri_template = { groups = ["default"]; @@ -2444,9 +2433,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lmg9x683gr9mkrbq9df2m0zb0650mdfxqna0bs10js44inv7znx"; + sha256 = "09bq7j2p6mkbxnsg71s253dm2463kg51xc7bmjcxgyblqbh4ln7m"; type = "gem"; }; - version = "2.5.3"; + version = "2.5.4"; }; } diff --git a/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch b/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch index 2541e7311b0b..88ebc1337487 100644 --- a/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch +++ b/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch @@ -2,7 +2,7 @@ diff --git a/config/unicorn.conf.rb b/config/unicorn.conf.rb index e69979adfe..68cb04a036 100644 --- a/config/unicorn.conf.rb +++ b/config/unicorn.conf.rb -@@ -27,17 +27,9 @@ pid (ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid") +@@ -27,18 +27,10 @@ pid (ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid") if ENV["RAILS_ENV"] != "production" logger Logger.new(STDOUT) diff --git a/pkgs/servers/web-apps/discourse/update.py b/pkgs/servers/web-apps/discourse/update.py index ebc85c02087a..74b32fc04198 100755 --- a/pkgs/servers/web-apps/discourse/update.py +++ b/pkgs/servers/web-apps/discourse/update.py @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#! nix-shell -i python3 -p bundix bundler nix-update nix-universal-prefetch python3 python3Packages.requests python3Packages.click python3Packages.click-log +#! nix-shell -i python3 -p bundix bundler nix-update nix-universal-prefetch python3 python3Packages.requests python3Packages.click python3Packages.click-log prefetch-yarn-deps from __future__ import annotations import click @@ -104,10 +104,17 @@ class DiscourseRepo: return self._latest_commit_sha + def get_yarn_lock_hash(self, rev: str): + yarnLockText = self.get_file('app/assets/javascripts/yarn.lock', rev) + with tempfile.NamedTemporaryFile(mode='w') as lockFile: + lockFile.write(yarnLockText) + return subprocess.check_output(['prefetch-yarn-deps', lockFile.name]).decode('utf-8').strip() + def get_file(self, filepath, rev): - """returns file contents at a given rev :param filepath: the path to - the file, relative to the repo root :param rev: the rev to - fetch at :return: + """Return file contents at a given rev. + + :param str filepath: the path to the file, relative to the repo root + :param str rev: the rev to fetch at :return: """ r = requests.get(f'https://raw.githubusercontent.com/{self.owner}/{self.repo}/{rev}/{filepath}') @@ -116,7 +123,7 @@ class DiscourseRepo: def _call_nix_update(pkg, version): - """calls nix-update from nixpkgs root dir""" + """Call nix-update from nixpkgs root dir.""" nixpkgs_path = Path(__file__).parent / '../../../../' return subprocess.check_output(['nix-update', pkg, '--version', version], cwd=nixpkgs_path) @@ -215,7 +222,7 @@ def print_diffs(rev, reverse): def update(rev): """Update gem files and version. - REV should be the git rev to update to ('vX.Y.Z[.betaA]') or + REV: the git rev to update to ('vX.Y.Z[.betaA]') or 'latest'; defaults to 'latest'. """ @@ -241,12 +248,20 @@ def update(rev): _call_nix_update('discourse', version.version) + old_yarn_hash = _nix_eval('discourse.assets.yarnOfflineCache.outputHash') + new_yarn_hash = repo.get_yarn_lock_hash(version.tag) + click.echo(f"Updating yarn lock hash, {old_yarn_hash} -> {new_yarn_hash}") + with open(Path(__file__).parent / "default.nix", 'r+') as f: + content = f.read() + content = content.replace(old_yarn_hash, new_yarn_hash) + f.seek(0) + f.write(content) + f.truncate() + @cli.command() def update_plugins(): - """Update plugins to their latest revision. - - """ + """Update plugins to their latest revision.""" plugins = [ {'name': 'discourse-assign'}, {'name': 'discourse-calendar'},