diff options
Diffstat (limited to 'pkgs/servers/web-apps')
35 files changed, 729 insertions, 621 deletions
diff --git a/pkgs/servers/web-apps/discourse/asserts_patch-package_from_path.patch b/pkgs/servers/web-apps/discourse/asserts_patch-package_from_path.patch deleted file mode 100644 index 9f7d98b069f44..0000000000000 --- a/pkgs/servers/web-apps/discourse/asserts_patch-package_from_path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/app/assets/javascripts/discourse/package.json b/app/assets/javascripts/discourse/package.json -index 9e4533d2..e57f8a5f 100644 ---- a/app/assets/javascripts/discourse/package.json -+++ b/app/assets/javascripts/discourse/package.json -@@ -14,7 +14,7 @@ - "build": "ember build", - "start": "ember serve", - "test": "ember test", -- "postinstall": "yarn --silent --cwd .. patch-package" -+ "postinstall": "patch-package" - }, - "dependencies": { - "@babel/core": "^7.21.4", diff --git a/pkgs/servers/web-apps/discourse/assets_rake_command.patch b/pkgs/servers/web-apps/discourse/assets_rake_command.patch index b37b6d1d79944..b3e2e97ff8545 100644 --- a/pkgs/servers/web-apps/discourse/assets_rake_command.patch +++ b/pkgs/servers/web-apps/discourse/assets_rake_command.patch @@ -1,13 +1,13 @@ diff --git a/lib/tasks/assets.rake b/lib/tasks/assets.rake -index 68b5db61ac..d460b5753e 100644 +index 9608297789..5487490915 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" +@@ -36,7 +36,7 @@ task "assets:precompile:build" do + if only_ember_precompile_build_remaining + exec "#{compile_command}" + elsif only_assets_precompile_remaining +- exec "#{compile_command} && SKIP_EMBER_CLI_COMPILE=1 bin/rake assets:precompile" ++ exec "#{compile_command} && SKIP_EMBER_CLI_COMPILE=1 bundle exec rake assets:precompile" else - system compile_command - end + system compile_command, exception: true + EmberCli.clear_cache! diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index 57c252054eb94..79d7d096f6688 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -46,13 +46,13 @@ }@args: let - version = "3.1.0"; + version = "3.2.2"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse"; rev = "v${version}"; - sha256 = "sha256-Iv7VSnK8nZDpmIwIRPedSWlftABKuMOQ4MXDGpjuWrY="; + sha256 = "sha256-JUCFtB5BvBytO3flq9o6iI3HPmvLU358HEmE6wbBsSk="; }; ruby = ruby_3_2; @@ -65,6 +65,7 @@ let gnutar git brotli + nodejs_18 # Misc required system utils which @@ -200,9 +201,14 @@ let pname = "discourse-assets"; inherit version src; + yarnDevOfflineCache = fetchYarnDeps { + yarnLock = src + "/yarn.lock"; + hash = "sha256-0s8c2V8Wl3f5kL1OIn2ps6hL7CUQD5+LJm+9LYHc+W0="; + }; + yarnOfflineCache = fetchYarnDeps { - yarnLock = src + "/app/assets/javascripts/yarn.lock"; - sha256 = "0sclrv3303dgg3r08dwhd1yvi3pvlnvnikn300vjsh6c71fnzhnj"; + yarnLock = src + "/app/assets/javascripts/yarn-ember5.lock"; + hash = "sha256-ZBXvNdHHV92kSAswe6KA+OqaY5smf7ZKTTOiY8g78D0="; }; nativeBuildInputs = runtimeDeps ++ [ @@ -210,9 +216,7 @@ let redis nodePackages.uglify-js terser - nodePackages.patch-package yarn - nodejs_18 jq moreutils fixup-yarn-lock @@ -234,13 +238,14 @@ let # assets precompilation task. ./assets_rake_command.patch - # `app/assets/javascripts/discourse/package.json`'s postinstall - # hook tries to call `../node_modules/.bin/patch-package`, which - # hasn't been `patchShebangs`-ed yet. So instead we just use - # `patch-package` from `nativeBuildInputs`. - ./asserts_patch-package_from_path.patch + # Little does he know, so he decided there is no need to generate the + # theme-transpiler over and over again. Which at the same time allows the removal + # of javascript devDependencies from the runtime environment. + ./prebuild-theme-transpiler.patch ]; + env.RAILS_ENV = "production"; + # We have to set up an environment that is close enough to # production ready or the assets:precompile task refuses to # run. This means that Redis and PostgreSQL has to be running and @@ -249,26 +254,29 @@ let # 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 + yarn_install() { + local offlineCache=$1 yarnLock=$2 - # Fixup "resolved"-entries in yarn.lock to match our offline cache - fixup-yarn-lock app/assets/javascripts/yarn.lock + # Make yarn install packages from our offline cache, not the registry + yarn config --offline set yarn-offline-mirror $offlineCache - export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt + # Fixup "resolved"-entries in yarn.lock to match our offline cache + fixup-yarn-lock $yarnLock - find app/assets/javascripts -name package.json -print0 \ - | xargs -0 -I {} bash -c "jq 'del(.scripts.postinstall)' -r <{} | sponge {}" - yarn install --offline --cwd app/assets/javascripts/discourse + # Install while ignoring hook scripts + yarn --offline --ignore-scripts --cwd $(dirname $yarnLock) install + } - patchShebangs app/assets/javascripts/node_modules/ + # Install devDependencies for generating the theme-transpiler executed as + # dependent task assets:precompile:theme_transpiler before db:migrate + yarn_install $yarnDevOfflineCache yarn.lock - # Run `patch-package` AFTER the corresponding shebang inside `.bin/patch-package` - # got patched. Otherwise this will fail with - # /bin/sh: line 1: /build/source/app/assets/javascripts/node_modules/.bin/patch-package: cannot execute: required file not found - pushd app/assets/javascripts &>/dev/null - yarn run patch-package - popd &>/dev/null + # Install the runtime dependencies + yarn_install $yarnOfflineCache app/assets/javascripts/yarn-ember5.lock + # Patch before running postinstall hook script + patchShebangs --build app/assets/javascripts + yarn --offline --cwd app/assets/javascripts run postinstall + export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt redis-server >/dev/null & @@ -286,14 +294,8 @@ let psql 'discourse' -tAc "CREATE EXTENSION IF NOT EXISTS pg_trgm" psql 'discourse' -tAc "CREATE EXTENSION IF NOT EXISTS hstore" - # Create a temporary home dir to stop bundler from complaining - mkdir $NIX_BUILD_TOP/tmp_home - export HOME=$NIX_BUILD_TOP/tmp_home - ${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} plugins/${p.pluginName or ""}") plugins} - export RAILS_ENV=production - bundle exec rake db:migrate >/dev/null chmod -R +w tmp ''; @@ -352,6 +354,11 @@ let # Make sure the notification email setting applies ./notification_email.patch + + # Little does he know, so he decided there is no need to generate the + # theme-transpiler over and over again. Which at the same time allows the removal + # of javascript devDependencies from the runtime environment. + ./prebuild-theme-transpiler.patch ]; postPatch = '' @@ -402,6 +409,9 @@ let passthru = { inherit rubyEnv runtimeEnv runtimeDeps rake mkDiscoursePlugin assets; + inherit (pkgs) + discourseAllPlugins + ; enabledPlugins = plugins; plugins = callPackage ./plugins/all-plugins.nix { inherit mkDiscoursePlugin; }; ruby = rubyEnv.wrappedRuby; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix index 68cd69dcc3a6e..ff7df0dfc70ea 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-assign"; - rev = "0cbf10b8055370445bd36536e51986bf48bdc57e"; - sha256 = "sha256-7rJ2zQo1nCHwtVuLJUmdj66Ky2bi4Cpo+22H3DbO1uo="; + rev = "b796ae3fcc89b48cf777de5ee3a4c21aada9271e"; + sha256 = "sha256-PnSD2ZuUVjH8TifHuzbkpmpfGSN/q4VWyJtkOPND44o="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-docs"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix index 266c43e4f8e28..06bb5b659d7e5 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-bbcode-color"; - rev = "35aab2e9b92f8b01633d374ea999e7fd59d020d7"; - sha256 = "sha256-DHckx921EeQysm1UPloCrt43BJetTnZKnTbJGk15NMs="; + rev = "3336efe231e6c02e1dbe11ada71296af258cff58"; + sha256 = "sha256-C2PPF8kJm0agcYcRSUUBmmxZJliPatPM1vRtjufEd4M="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-bbcode-color"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock index 183ead8d51d44..15aafaf94c9c8 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock @@ -1,15 +1,25 @@ GEM remote: https://rubygems.org/ specs: - activesupport (7.0.8) + activesupport (7.1.3.3) + base64 + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) minitest (>= 5.1) + mutex_m tzinfo (~> 2.0) - concurrent-ruby (1.2.2) - i18n (1.14.1) + base64 (0.2.0) + bigdecimal (3.1.8) + concurrent-ruby (1.2.3) + connection_pool (2.4.1) + drb (2.2.1) + i18n (1.14.5) concurrent-ruby (~> 1.0) - minitest (5.20.0) + minitest (5.23.1) + mutex_m (0.2.0) rrule (0.4.4) activesupport (>= 2.3) tzinfo (2.0.6) @@ -22,4 +32,4 @@ DEPENDENCIES rrule (= 0.4.4) BUNDLED WITH - 2.4.13 + 2.5.9 diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix index 7a6bd7f692707..235f5f717755f 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix @@ -6,8 +6,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-calendar"; - rev = "afc2ee684de41601d6cecc46713d139760f176a6"; - sha256 = "sha256-rTQWO+E/Jg4zjZDYDvBrDQsox5q4dHkdQjwnJxgv3dI="; + rev = "455eeed541a9b5cacf627349e543028427178a44"; + sha256 = "sha256-RXjMpeqCvAvwNsHpc3Fyms4pRXXqvarU8hWo3o1VgXY="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-calendar"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix index 2e9b15ee5b9ee..51922b163d4b5 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix @@ -1,24 +1,64 @@ { activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "188kbwkn1lbhz40ala8ykp20jzqphgc68g3d8flin8cqa2xid0s5"; + sha256 = "0z8kygxmz99krz9pwp947znkzf0jr64sml28df0vf1gzxlg7y57i"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.3.3"; + }; + base64 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; + type = "gem"; + }; + version = "0.2.0"; + }; + bigdecimal = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; + type = "gem"; + }; + version = "3.1.8"; }; concurrent-ruby = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; + sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2"; type = "gem"; }; - version = "1.2.2"; + version = "1.2.3"; + }; + connection_pool = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g"; + type = "gem"; + }; + version = "2.4.1"; + }; + drb = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; + type = "gem"; + }; + version = "2.2.1"; }; i18n = { dependencies = ["concurrent-ruby"]; @@ -26,20 +66,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; + sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16"; type = "gem"; }; - version = "1.14.1"; + version = "1.14.5"; }; minitest = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3"; + sha256 = "1gkslxvkhh44s21rbjvka3zsvfxxrf5pcl6f75rv2vyrzzbgis7i"; + type = "gem"; + }; + version = "5.23.1"; + }; + mutex_m = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn"; type = "gem"; }; - version = "5.20.0"; + version = "0.2.0"; }; rrule = { dependencies = ["activesupport"]; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix index 499d2e6447bd1..701b5479ce1d7 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-chat-integration"; - rev = "70fea6b66b68868aa4c00b45a169436deaa142a8"; - sha256 = "sha256-K9MmP1F0B6Na2dTqgnsjMbTQFkF+nNKkI8aF3zPAodc="; + rev = "2e17b03e9a435de0079ae1c2eed1b48a11ad16a9"; + sha256 = "sha256-FOIQrpVFHak2PB8eNFv/oJwYiESJcHBqeC+MZMXnexo="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-chat-integration"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix index f3fdd5459432e..ab7ee28a7f643 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-checklist"; - rev = "d94e58c3060ee7ca0fe76339215ed9456d5f4ea4"; - sha256 = "sha256-zTMkU8NRqxLQ3/ghYTmEhRqbCgdYsYaImHdGu7WwuFk="; + rev = "6fcf9fed5c3ae3baf9ddd1cca9cef4dc089996c1"; + sha256 = "sha256-RIuoqZo7dW1DXbfbWhyyhCOGe4R5sLerzFW2TT0zO6U="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-checklist"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix index 39320637ddcdc..bb21a6bdb4f63 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-data-explorer"; - rev = "e4f8d3924a18b303c2bb7da9472cf0c060060e4e"; - sha256 = "sha256-K+GPszO3je6NmnhIRSqSEhylUK5oEByaS0bLfAGjvB4="; + rev = "ebe71a7a138c856d88737eb11b5096a42d4fbaf3"; + sha256 = "sha256-3CdA4liSrPhucOGevEbKuIYETlXpAn9qtsG0+Tr67EQ="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-data-explorer"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix index 3dcd2b86a9692..ee3910b8e0ab0 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-docs"; - rev = "a4b203274b88c5277d0b5b936de0bc0e0016726c"; - sha256 = "sha256-R+VP/gsb2Oa6lPVMhRoGZzOBx5C7kRSxqwYpWE10GHw="; + rev = "94c7b7da216c66d773f800a714493f087affaac9"; + sha256 = "sha256-4ZPv42fw5YdJ3+QUGOh5CJMWkXoUVs4bTVd9zuFekQM="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-docs"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock index 3640cbc601dad..87fbcc8f726bf 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock @@ -1,20 +1,22 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) - faraday (2.7.10) - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.2) + faraday (2.9.0) + faraday-net_http (>= 2.0, < 3.2) + faraday-net_http (3.1.0) + net-http + net-http (0.4.1) + uri octokit (5.6.1) faraday (>= 1, < 3) sawyer (~> 0.9) - public_suffix (5.0.3) - ruby2_keywords (0.0.5) + public_suffix (5.0.5) sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) + uri (0.13.0) PLATFORMS ruby @@ -24,4 +26,4 @@ DEPENDENCIES sawyer (= 0.9.2) BUNDLED WITH - 2.4.13 + 2.5.9 diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix index 50a59136ecf50..c47454aad43c5 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix @@ -6,8 +6,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-github"; - rev = "8aa068d56ef010cecaabd50657e7753f4bbecc1f"; - sha256 = "sha256-WzljuGvv6pki3ROkvhXZWQaq5D9JkCbWjdlkdRI8lHE="; + rev = "53e22ccbd32dd868435f66efa2d48e0389673dea"; + sha256 = "sha256-QaKmnftCxkgGUP5U9wNYm483D+GdpcU8F96CLl8woo8="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-github"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix index 87599999d894f..73552eb610eef 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix @@ -5,31 +5,43 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; + sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr"; type = "gem"; }; - version = "2.8.5"; + version = "2.8.6"; }; faraday = { - dependencies = ["faraday-net_http" "ruby2_keywords"]; + dependencies = ["faraday-net_http"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "187clqhp9mv5mnqmjlfdp57svhsg1bggz84ak8v333j9skrnrgh9"; + sha256 = "1qqb1rmk0f9m82iijjlqadh5yby1bhnr6svjk9vxdvh6f181988s"; type = "gem"; }; - version = "2.7.10"; + version = "2.9.0"; }; faraday-net_http = { + dependencies = ["net-http"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8"; + sha256 = "17w51yk4rrm9rpnbc3x509s619kba0jga3qrj4b17l30950vw9qn"; type = "gem"; }; - version = "3.0.2"; + version = "3.1.0"; + }; + net-http = { + dependencies = ["uri"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9"; + type = "gem"; + }; + version = "0.4.1"; }; octokit = { dependencies = ["faraday" "sawyer"]; @@ -47,30 +59,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0n9j7mczl15r3kwqrah09cxj8hxdfawiqxa60kga2bmxl9flfz9k"; + sha256 = "14y4vzjwf5gp0mqgs880kis0k7n2biq8i6ci6q2n315kichl1hvj"; type = "gem"; }; - version = "5.0.3"; + version = "5.0.5"; }; - ruby2_keywords = { + sawyer = { + dependencies = ["addressable" "faraday"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; + sha256 = "1jks1qjbmqm8f9kvwa81vqj39avaj9wdnzc531xm29a55bb74fps"; type = "gem"; }; - version = "0.0.5"; + version = "0.9.2"; }; - sawyer = { - dependencies = ["addressable" "faraday"]; + uri = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jks1qjbmqm8f9kvwa81vqj39avaj9wdnzc531xm29a55bb74fps"; + sha256 = "094gk72ckazf495qc76gk09b5i318d5l9m7bicg2wxlrjcm3qm96"; type = "gem"; }; - version = "0.9.2"; + version = "0.13.0"; }; } diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix index 3a07b4bfd3424..90fd6927ac946 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-math"; - rev = "529ad1fe6da924da378a60bec48c35657bb01a68"; - sha256 = "sha256-zhtAy0tTVMzQfPilTwfyyzxgCJD4xazOITBuliFR5Gg="; + rev = "2984713f68044544129b3575b9e2f9be31105293"; + sha256 = "sha256-3jxSwjKGyKQy+ed6S2tQ27jseB9NygeiYvaldgV1XW4="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-math"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile index 59c64586dc17b..d2a2d943c408e 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile @@ -5,6 +5,6 @@ source "https://rubygems.org" # gem "rails" gem 'bcrypt', '3.1.13' gem 'unix-crypt', '1.3.0' -gem 'ffi', '1.15.5', require: false +gem 'ffi', '1.16.3', require: false gem 'ffi-compiler', '1.0.1', require: false gem 'argon2', '2.2.0' diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock index 75a9a363b6cce..a7bfa717ed9db 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock @@ -5,11 +5,11 @@ GEM ffi (~> 1.15) ffi-compiler (~> 1.0) bcrypt (3.1.13) - ffi (1.15.5) + ffi (1.16.3) ffi-compiler (1.0.1) ffi (>= 1.0.0) rake - rake (13.0.6) + rake (13.2.1) unix-crypt (1.3.0) PLATFORMS @@ -18,9 +18,9 @@ PLATFORMS DEPENDENCIES argon2 (= 2.2.0) bcrypt (= 3.1.13) - ffi (= 1.15.5) + ffi (= 1.16.3) ffi-compiler (= 1.0.1) unix-crypt (= 1.3.0) BUNDLED WITH - 2.4.13 + 2.5.9 diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix index ee8d03e66ca81..2189ba854eb7a 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix @@ -6,8 +6,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "communiteq"; repo = "discourse-migratepassword"; - rev = "a95ae6bca4126172186fafcd2315f51a4504c23b"; - sha256 = "sha256-lr2xHz+8q4XnHc/7KLX0Z2m0KMffLgGYk36zxGG9X5o="; + rev = "32d5fca6de3e8daf3869696ce835fefca1f00bfa"; + sha256 = "sha256-kNYkA6zuiuUZlPgvIvaO49P8bD+nNysEsow33xG1PnI="; }; meta = with lib; { homepage = "https://github.com/communiteq/discourse-migratepassword"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix index 97aa9bfc70485..49174f05d0e91 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix @@ -25,10 +25,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg"; + sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; type = "gem"; }; - version = "1.15.5"; + version = "1.16.3"; }; ffi-compiler = { dependencies = ["ffi" "rake"]; @@ -46,10 +46,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; + sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; - version = "13.0.6"; + version = "13.2.1"; }; unix-crypt = { groups = ["default"]; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix index a467f4d17b399..aab60ca9bc9fa 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix @@ -6,8 +6,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-openid-connect"; - rev = "b1df541ad29f6f6098a1008b83393b2d400986ed"; - sha256 = "sha256-afRd/9M0nQGkS14Q8BJhcJwMCkOku3Fr0uHxcRl44vQ="; + rev = "f31a869611a2fad8efadd9b2504440215169a391"; + sha256 = "sha256-cEgAjf7EPAVKsJOmm9lj9Jm0YNFjRswOJFFHU12Q5/Y="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-openid-connect"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock index 88a3a3c8d6548..e7939eadbb0e7 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock @@ -13,4 +13,4 @@ DEPENDENCIES webrick (= 1.7.0) BUNDLED WITH - 2.4.13 + 2.5.9 diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix index 95bf4c5a679a3..d0fa5b690bb6e 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix @@ -6,8 +6,8 @@ src = fetchFromGitHub { owner = "discourse"; repo = "discourse-prometheus"; - rev = "8a7a46a80cc65aa0839bc5e3c3b6f8ef6544089f"; - sha256 = "sha256-TL+pbP26LvRMKdy8CAuBEK+LZfAs8HfggMeUDaBu9hc="; + rev = "831dba15659055361966e0c42e6b517b3d7b133b"; + sha256 = "sha256-b7Du8rENY/gBbkqZSu6b9KHbvklYMkIRl8IGd1W4dHk="; }; patches = [ diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix index 36e4ac19c4bd6..656acb2a9b1ea 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-reactions"; - rev = "643f807a3a2195f08211064301f0350d9f51604f"; - sha256 = "sha256-4FdiYUNysSuOJ664G3YvlUHx/J7MLUS3kVBdXT47oEw="; + rev = "354695cf5fce2bf516c9be451fe4bb56e487b95a"; + sha256 = "sha256-pTK7gcDgWAlRPrUnJikMOEd0N/DBrHE0hOP23t//MiE="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-reactions"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix index 32709666189e3..150cf2216c20a 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-saved-searches"; - rev = "7c9bdcd68951e7cef16cafe3c4bfb583bb994d2a"; - sha256 = "sha256-6RIN12ACDCeRcxmsC3FgeIPdvovI4arn7w/Dqil1yCI="; + rev = "063e35ec5a905aac3332be6821b15eec6909f022"; + sha256 = "sha256-33aBhw00/tIF0Y0isYISctn3Bd+KntrRngj6sxW30EY="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-saved-searches"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix index ed47f9e15e924..c44d5420941f5 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-solved"; - rev = "b5d487d6a5bfe2571d936eec5911d02a5f3fcc32"; - sha256 = "sha256-Tt7B9PcsV8E7B+m8GnJw+MBz9rGYtojKt6NjBFMQvOM="; + rev = "a18ce6d712fafed286bcc99543dd173110c6dfb8"; + sha256 = "sha256-MUkQ/6ChMGqSNFZO2t8amecrYZbK1OyVq5lhPeB99ow="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-solved"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix index 23ce34dcd694e..56240177a73e5 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-spoiler-alert"; - rev = "65989714af08eda44196cca3a0afe85c9e9443f9"; - sha256 = "sha256-R/vqNEDst50+Y7anckIvhy4viBOqBemIZMh4sPt7kRM="; + rev = "42b77ec048b9b386a8b25a22bfec6472817da465"; + sha256 = "sha256-BQeID+y9RvmcnuNsodOMXseVvre5QYxv+E/ul8bucUI="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-spoiler-alert"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix index a311dbcfbfcf9..3ddbc37cf7e9d 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-voting"; - rev = "6449fc15658d972e20086a3f1fae3dbac9cd9eeb"; - sha256 = "sha256-f04LpVeodCVEB/t5Ic2dketp542Nrc0rZWbQ6hrC22g="; + rev = "ba41633e0abe0535fd358a0809e0b4e0c79be128"; + sha256 = "sha256-Ni+g9mWftvYsknIoSFBRoq7IMIWPbj4mgGM+k8fjOuI="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-voting"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix index 979398f7394b7..2a5b3ff7f5ec8 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-yearly-review"; - rev = "3246c6b378f9e69e664c575efc63c2ad83bcac2f"; - sha256 = "sha256-usHHyfYP4YAQ94f7gvNSH7VBRRkdZMmsSi9QQM8tPfY="; + rev = "59b98bab5ee370da4774f60ea7b5122dddcbd83a"; + sha256 = "sha256-OIptI6T5n021AsWO/eYK3ntL0JJG7+f4OmZwdxGcfFg="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-yearly-review"; diff --git a/pkgs/servers/web-apps/discourse/prebuild-theme-transpiler.patch b/pkgs/servers/web-apps/discourse/prebuild-theme-transpiler.patch new file mode 100644 index 0000000000000..bed44baee5709 --- /dev/null +++ b/pkgs/servers/web-apps/discourse/prebuild-theme-transpiler.patch @@ -0,0 +1,21 @@ +diff --git a/lib/discourse_js_processor.rb b/lib/discourse_js_processor.rb +index 26d142fa4d..6040aba6f4 100644 +--- a/lib/discourse_js_processor.rb ++++ b/lib/discourse_js_processor.rb +@@ -68,7 +68,7 @@ class DiscourseJsProcessor + TRANSPILER_PATH = + ( + if Rails.env.production? +- "tmp/theme-transpiler.js" ++ "app/assets/javascripts/theme-transpiler.js" + else + "tmp/theme-transpiler/#{Process.pid}.js" + end +@@ -87,6 +87,6 @@ class DiscourseJsProcessor + "node", + "app/assets/javascripts/theme-transpiler/build.js", + TRANSPILER_PATH, +- ) ++ ) if !Rails.env.production? or !File.file?(TRANSPILER_PATH) + TRANSPILER_PATH + end diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile index 647aefea8adac..f73aeecb6baab 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile @@ -6,28 +6,14 @@ source "https://rubygems.org" gem "bootsnap", require: false, platform: :mri -def rails_master? - ENV["RAILS_MASTER"] == "1" -end - -if rails_master? - gem "arel", git: "https://github.com/rails/arel.git" - gem "rails", git: "https://github.com/rails/rails.git" -else - # NOTE: Until rubygems gives us optional dependencies we are stuck with this needing to be explicit - # 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 = "7.0.5.1" - gem "actionmailer", rails_version - gem "actionpack", rails_version - gem "actionview", rails_version - gem "activemodel", rails_version - gem "activerecord", rails_version - gem "activesupport", rails_version - gem "railties", rails_version - gem "sprockets-rails" -end +gem "actionmailer", "< 7.1" +gem "actionpack", "< 7.1" +gem "actionview", "< 7.1" +gem "activemodel", "< 7.1" +gem "activerecord", "< 7.1" +gem "activesupport", "< 7.1" +gem "railties", "< 7.1" +gem "sprockets-rails" gem "json" @@ -141,10 +127,11 @@ group :test do gem "fakeweb", require: false gem "minitest", require: false gem "simplecov", require: false - gem "selenium-webdriver", require: false + gem "selenium-webdriver", "~> 4.14", require: false + gem "selenium-devtools", require: false gem "test-prof" - gem "webdrivers", require: false gem "rails-dom-testing", require: false + gem "minio_runner", require: false end group :test, :development do @@ -158,7 +145,7 @@ group :test, :development do gem "rspec-rails" - gem "shoulda-matchers", require: false, github: "thoughtbot/shoulda-matchers" + gem "shoulda-matchers", require: false gem "rspec-html-matchers" gem "byebug", require: ENV["RM_INFO"].nil?, platform: :mri gem "rubocop-discourse", require: false @@ -209,7 +196,9 @@ gem "rack-mini-profiler", require: ["enable_rails_patches"] gem "unicorn", require: false, platform: :ruby gem "puma", require: false + gem "rbtrace", require: false, platform: :mri + gem "gc_tracer", require: false, platform: :mri # required for feed importing and embedding @@ -228,9 +217,8 @@ gem "logstash-event", require: false gem "logstash-logger", require: false gem "logster" -# These are forks of sassc and sassc-rails with dart-sass support -gem "dartsass-ruby" -gem "dartsass-sprockets" +# A fork of sassc with dart-sass support +gem "sassc-embedded" gem "rotp", require: false @@ -259,6 +247,11 @@ if ENV["IMPORT"] == "1" gem "parallel", require: false end +group :generic_import, optional: true do + gem "sqlite3" + gem "redcarpet" +end + gem "web-push" gem "colored2", require: false gem "maxminddb" diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock index 0b93bf23d097b..31af98840b1ca 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock @@ -7,63 +7,56 @@ GIT concurrent-ruby (~> 1.0) rack (> 1, < 3) -GIT - remote: https://github.com/thoughtbot/shoulda-matchers.git - revision: 783a90554053002017510285bc736099b2749c22 - specs: - shoulda-matchers (5.3.0) - activesupport (>= 5.2.0) - GEM remote: https://rubygems.org/ specs: - actionmailer (7.0.5.1) - actionpack (= 7.0.5.1) - actionview (= 7.0.5.1) - activejob (= 7.0.5.1) - activesupport (= 7.0.5.1) + actionmailer (7.0.8) + actionpack (= 7.0.8) + actionview (= 7.0.8) + activejob (= 7.0.8) + activesupport (= 7.0.8) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.5.1) - actionview (= 7.0.5.1) - activesupport (= 7.0.5.1) + actionpack (7.0.8) + actionview (= 7.0.8) + activesupport (= 7.0.8) rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actionview (7.0.5.1) - activesupport (= 7.0.5.1) + actionview (7.0.8) + activesupport (= 7.0.8) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - actionview_precompiler (0.2.3) + actionview_precompiler (0.3.0) actionview (>= 6.0.a) active_model_serializers (0.8.4) activemodel (>= 3.0) - activejob (7.0.5.1) - activesupport (= 7.0.5.1) + activejob (7.0.8) + activesupport (= 7.0.8) globalid (>= 0.3.6) - activemodel (7.0.5.1) - activesupport (= 7.0.5.1) - activerecord (7.0.5.1) - activemodel (= 7.0.5.1) - activesupport (= 7.0.5.1) - activesupport (7.0.5.1) + activemodel (7.0.8) + activesupport (= 7.0.8) + activerecord (7.0.8) + activemodel (= 7.0.8) + activesupport (= 7.0.8) + activesupport (7.0.8) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - addressable (2.8.4) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) annotate (3.2.0) activerecord (>= 3.2, < 8.0) rake (>= 10.4, < 14.0) ast (2.4.2) - aws-eventstream (1.2.0) + aws-eventstream (1.3.0) aws-partitions (1.583.0) aws-sdk-core (3.130.2) aws-eventstream (~> 1, >= 1.0.2) @@ -82,55 +75,50 @@ GEM aws-sigv4 (~> 1.1) aws-sigv4 (1.5.0) aws-eventstream (~> 1, >= 1.0.2) + base64 (0.2.0) better_errors (2.10.1) erubi (>= 1.0.0) rack (>= 0.9.0) rouge (>= 1.0.0) + bigdecimal (3.1.6) binding_of_caller (1.0.0) debug_inspector (>= 0.0.1) - bootsnap (1.16.0) + bootsnap (1.17.1) msgpack (~> 1.2) builder (3.2.4) - bullet (7.0.7) + bullet (7.1.6) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) byebug (11.1.3) - capybara (3.39.2) + capybara (3.40.0) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - cbor (0.5.9.6) + cbor (0.5.9.8) certified (1.0.0) - cgi (0.3.6) + cgi (0.4.1) chunky_png (1.4.0) coderay (1.1.3) - colored2 (3.1.2) - concurrent-ruby (1.2.2) + colored2 (4.0.0) + concurrent-ruby (1.2.3) connection_pool (2.4.1) cose (1.3.0) cbor (~> 0.5.9) openssl-signature_algorithm (~> 1.0) cppjieba_rb (0.4.2) - crack (0.4.5) + crack (0.4.6) + bigdecimal rexml crass (1.0.6) - css_parser (1.14.0) + css_parser (1.16.0) addressable - dartsass-ruby (3.0.1) - sass-embedded (~> 1.54) - dartsass-sprockets (3.0.0) - dartsass-ruby (~> 3.0) - railties (>= 4.0.0) - sprockets (> 3.0) - sprockets-rails - tilt - date (3.3.3) - debug_inspector (1.1.0) + date (3.3.4) + debug_inspector (1.2.0) diff-lcs (1.5.0) diffy (3.4.2) digest (3.1.1) @@ -144,34 +132,35 @@ GEM docile (1.4.0) email_reply_trimmer (0.1.13) erubi (1.12.0) - excon (0.100.0) - execjs (2.8.1) + excon (0.109.0) + execjs (2.9.1) exifr (1.4.0) - fabrication (2.30.0) + fabrication (2.31.0) faker (2.23.0) i18n (>= 1.8.11, < 2) fakeweb (1.3.0) - faraday (2.7.10) - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.2) + faraday (2.9.0) + faraday-net_http (>= 2.0, < 3.2) + faraday-net_http (3.1.0) + net-http faraday-retry (2.2.0) faraday (~> 2.0) fast_blank (1.0.1) fast_xs (0.8.0) - fastimage (2.2.7) - ffi (1.15.5) + fastimage (2.3.0) + ffi (1.16.3) fspath (3.1.2) gc_tracer (1.5.1) - globalid (1.1.0) - activesupport (>= 5.0) - google-protobuf (3.23.4) + globalid (1.2.1) + activesupport (>= 6.1) + google-protobuf (3.25.2) + google-protobuf (3.25.2-arm64-darwin) + google-protobuf (3.25.2-x86_64-darwin) guess_html_encoding (0.0.11) hana (1.3.7) - hashdiff (1.0.1) + hashdiff (1.1.0) hashie (5.0.0) - highline (2.1.0) - hkdf (1.0.0) + highline (3.0.1) htmlentities (4.3.4) http_accept_language (2.1.1) i18n (1.14.1) @@ -182,13 +171,13 @@ GEM image_size (>= 1.5, < 4) in_threads (~> 1.3) progress (~> 3.0, >= 3.0.1) - image_size (3.3.0) + image_size (3.4.0) in_threads (1.6.0) jmespath (1.6.2) - json (2.6.3) - json-schema (3.0.0) + json (2.7.1) + json-schema (4.1.1) addressable (>= 2.8) - json_schemer (1.0.3) + json_schemer (2.1.1) hana (~> 1.3) regexp_parser (~> 2.0) simpleidn (~> 0.2) @@ -196,11 +185,13 @@ GEM kgio (2.11.4) language_server-protocol (3.17.0.3) libv8-node (18.16.0.0) + libv8-node (18.16.0.0-arm64-darwin) + libv8-node (18.16.0.0-x86_64-darwin) listen (3.8.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) literate_randomizer (0.4.0) - lograge (0.13.0) + lograge (0.14.0) actionpack (>= 4) activesupport (>= 4) railties (>= 4) @@ -208,8 +199,8 @@ GEM logstash-event (1.2.02) logstash-logger (0.26.1) logstash-event (~> 1.2) - logster (2.12.2) - loofah (2.21.3) + logster (2.16.0) + loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) lru_redux (1.1.0) @@ -222,40 +213,45 @@ GEM matrix (0.4.2) maxminddb (0.1.22) memory_profiler (1.0.1) - message_bus (4.3.7) + message_bus (4.3.8) rack (>= 1.1.3) method_source (1.0.0) - mini_mime (1.1.2) - mini_portile2 (2.8.4) + mini_mime (1.1.5) + mini_portile2 (2.8.6) mini_racer (0.8.0) libv8-node (~> 18.16.0.0) mini_scheduler (0.16.0) sidekiq (>= 4.2.3, < 7.0) - mini_sql (1.4.0) + mini_sql (1.5.0) mini_suffix (0.3.3) ffi (~> 1.9) - minitest (5.19.0) + minio_runner (0.1.2) + minitest (5.21.2) mocha (2.1.0) ruby2_keywords (>= 0.0.5) msgpack (1.7.2) multi_json (1.15.0) multi_xml (0.6.0) mustache (1.1.1) - net-http (0.3.2) + net-http (0.4.1) uri - net-imap (0.3.7) + net-imap (0.4.9.1) date net-protocol net-pop (0.1.2) net-protocol - net-protocol (0.2.1) + net-protocol (0.2.2) timeout - net-smtp (0.3.3) + net-smtp (0.4.0.1) net-protocol - nio4r (2.5.9) - nokogiri (1.15.3) + nio4r (2.7.0) + nokogiri (1.16.0) mini_portile2 (~> 2.8.2) racc (~> 1.4) + nokogiri (1.16.0-arm64-darwin) + racc (~> 1.4) + nokogiri (1.16.0-x86_64-darwin) + racc (~> 1.4) oauth (1.1.0) oauth-tty (~> 1.0, >= 1.0.1) snaky_hash (~> 2.0) @@ -268,7 +264,8 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 4) - oj (3.15.1) + oj (3.16.3) + bigdecimal (>= 3.0) omniauth (1.9.2) hashie (>= 3.4.6) rack (>= 1.6.2, < 3) @@ -291,17 +288,17 @@ GEM omniauth-twitter (1.4.0) omniauth-oauth (~> 1.1) rack - openssl (3.1.0) + openssl (3.2.0) openssl-signature_algorithm (1.3.0) openssl (> 2.0) optimist (3.1.0) - parallel (1.23.0) - parallel_tests (4.2.1) + parallel (1.24.0) + parallel_tests (4.4.0) parallel - parser (3.2.2.3) + parser (3.3.0.5) ast (~> 2.4.1) racc - pg (1.4.6) + pg (1.5.4) prettier_print (1.2.1) progress (3.6.0) pry (0.14.2) @@ -312,18 +309,19 @@ GEM pry (>= 0.13, < 0.15) pry-rails (0.3.9) pry (>= 0.10.4) - public_suffix (5.0.3) - puma (6.3.0) + public_suffix (5.0.4) + puma (6.4.2) nio4r (~> 2.0) - racc (1.7.1) + racc (1.7.3) rack (2.2.8) - rack-mini-profiler (3.1.0) + rack-mini-profiler (3.3.0) rack (>= 1.2.0) - rack-protection (3.0.6) - rack + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) rack-test (2.1.0) rack (>= 1.3) - rails-dom-testing (2.1.1) + rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) @@ -337,34 +335,35 @@ GEM rails_multisite (5.0.0) activerecord (>= 6.0) railties (>= 6.0) - railties (7.0.5.1) - actionpack (= 7.0.5.1) - activesupport (= 7.0.5.1) + railties (7.0.8) + actionpack (= 7.0.8) + activesupport (= 7.0.8) method_source rake (>= 12.2) thor (~> 1.0) zeitwerk (~> 2.5) rainbow (3.1.1) raindrops (0.20.1) - rake (13.0.6) + rake (13.1.0) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - rbtrace (0.4.14) + rbtrace (0.5.1) ffi (>= 1.0.6) msgpack (>= 0.4.3) optimist (>= 3.0.0) rchardet (1.8.0) + redcarpet (3.6.0) redis (4.8.1) redis-namespace (1.11.0) redis (>= 4) - regexp_parser (2.8.1) + regexp_parser (2.9.0) request_store (1.5.1) rack (>= 1.4) rexml (3.2.6) rinku (2.0.6) - rotp (6.2.2) - rouge (4.1.3) + rotp (6.3.0) + rouge (4.2.0) rqrcode (2.2.0) chunky_png (~> 1.0) rqrcode_core (~> 1.0) @@ -384,7 +383,7 @@ GEM rspec-mocks (3.12.6) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) - rspec-rails (6.0.3) + rspec-rails (6.1.1) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) @@ -393,57 +392,68 @@ GEM rspec-mocks (~> 3.12) rspec-support (~> 3.12) rspec-support (3.12.1) - rss (0.2.9) + rss (0.3.0) rexml - rswag-specs (2.10.1) - activesupport (>= 3.1, < 7.1) - json-schema (>= 2.2, < 4.0) - railties (>= 3.1, < 7.1) + rswag-specs (2.13.0) + activesupport (>= 3.1, < 7.2) + json-schema (>= 2.2, < 5.0) + railties (>= 3.1, < 7.2) rspec-core (>= 2.14) rtlcss (0.2.1) mini_racer (>= 0.6.3) - rubocop (1.55.1) + rubocop (1.60.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.2.2.3) + parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.28.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.29.0) + rubocop-ast (1.30.0) parser (>= 3.2.1.0) - rubocop-capybara (2.18.0) + rubocop-capybara (2.20.0) rubocop (~> 1.41) - rubocop-discourse (3.3.0) - rubocop (>= 1.1.0) - rubocop-rspec (>= 2.0.0) - rubocop-factory_bot (2.23.1) - rubocop (~> 1.33) - rubocop-rspec (2.23.0) - rubocop (~> 1.33) + rubocop-discourse (3.6.0) + rubocop (>= 1.59.0) + rubocop-rspec (>= 2.25.0) + rubocop-factory_bot (2.25.1) + rubocop (~> 1.41) + rubocop-rspec (2.26.1) + rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) - ruby-prof (1.6.3) + ruby-prof (1.7.0) ruby-progressbar (1.13.0) ruby-readability (0.7.0) guess_html_encoding (>= 0.0.4) nokogiri (>= 1.6.0) ruby2_keywords (0.0.5) rubyzip (2.3.2) - sanitize (6.0.2) + sanitize (6.1.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) - sass-embedded (1.64.1) - google-protobuf (~> 3.23) + sass-embedded (1.70.0) + google-protobuf (~> 3.25) rake (>= 13.0.0) - selenium-webdriver (4.10.0) + sass-embedded (1.70.0-arm64-darwin) + google-protobuf (~> 3.25) + sass-embedded (1.70.0-x86_64-darwin) + google-protobuf (~> 3.25) + sassc-embedded (1.70.0) + sass-embedded (~> 1.70) + selenium-devtools (0.121.0) + selenium-webdriver (~> 4.2) + selenium-webdriver (4.17.0) + base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sidekiq (6.5.9) + shoulda-matchers (6.1.0) + activesupport (>= 5.2.0) + sidekiq (6.5.12) connection_pool (>= 2.2.5, < 3) rack (~> 2.0) redis (>= 4.5.0, < 5) @@ -462,62 +472,63 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - sshkey (2.0.0) - stackprof (0.2.25) - syntax_tree (6.1.1) + sqlite3 (1.7.1) + mini_portile2 (~> 2.8.0) + sqlite3 (1.7.1-arm64-darwin) + sqlite3 (1.7.1-x86_64-darwin) + sshkey (3.0.0) + stackprof (0.2.26) + syntax_tree (6.2.0) prettier_print (>= 1.2.0) syntax_tree-disable_ternary (1.0.0) - test-prof (1.2.2) - thor (1.2.2) - tilt (2.2.0) - timeout (0.4.0) + test-prof (1.3.1) + thor (1.3.0) + timeout (0.4.1) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - tzinfo-data (1.2023.3) + tzinfo-data (1.2023.4) tzinfo (>= 1.0.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext - unf_ext (0.0.8.2) - unicode-display_width (2.4.2) + unf_ext (0.0.9.1) + unicode-display_width (2.5.0) unicorn (6.1.0) kgio (~> 2.6) raindrops (~> 0.7) uniform_notifier (1.16.0) - uri (0.12.2) + uri (0.13.0) version_gem (1.1.3) - web-push (3.0.0) - hkdf (~> 1.0) + web-push (3.0.1) jwt (~> 2.0) openssl (~> 3.0) - webdrivers (5.3.1) - nokogiri (~> 1.6) - rubyzip (>= 1.3.0) - selenium-webdriver (~> 4.0, < 4.11) - webmock (3.18.1) + webmock (3.19.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket (1.2.9) + websocket (1.2.10) xpath (3.2.0) nokogiri (~> 1.8) yaml-lint (0.1.2) yard (0.9.34) - zeitwerk (2.6.10) + zeitwerk (2.6.12) PLATFORMS + arm64-darwin-21 + arm64-darwin-22 ruby + x86_64-darwin-22 DEPENDENCIES - actionmailer (= 7.0.5.1) - actionpack (= 7.0.5.1) - actionview (= 7.0.5.1) + actionmailer (< 7.1) + actionpack (< 7.1) + actionview (< 7.1) actionview_precompiler active_model_serializers (~> 0.8.3) - activemodel (= 7.0.5.1) - activerecord (= 7.0.5.1) - activesupport (= 7.0.5.1) + activemodel (< 7.1) + activerecord (< 7.1) + activesupport (< 7.1) addressable annotate aws-sdk-s3 @@ -535,8 +546,6 @@ DEPENDENCIES cose cppjieba_rb css_parser - dartsass-ruby - dartsass-sprockets diffy digest discourse-fonts @@ -577,6 +586,7 @@ DEPENDENCIES mini_scheduler mini_sql mini_suffix + minio_runner minitest mocha multi_json @@ -604,11 +614,12 @@ DEPENDENCIES rails-dom-testing rails_failover rails_multisite - railties (= 7.0.5.1) + railties (< 7.1) rake rb-fsevent rbtrace rchardet + redcarpet redis redis-namespace rinku @@ -625,12 +636,15 @@ DEPENDENCIES ruby-readability rubyzip sanitize - selenium-webdriver - shoulda-matchers! + sassc-embedded + selenium-devtools + selenium-webdriver (~> 4.14) + shoulda-matchers sidekiq simplecov sprockets! sprockets-rails + sqlite3 sshkey stackprof syntax_tree @@ -642,10 +656,9 @@ DEPENDENCIES unf unicorn web-push - webdrivers webmock yaml-lint yard BUNDLED WITH - 2.4.13 + 2.5.9 diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix index fc7b71f0c0306..79cba6f33bee3 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 = "1pz26qpdx1xncpy5h8k4afw0npnh6wn580yvwv2cf857zrzvr1pm"; + sha256 = "0w6gvj7ybniq89834hqww9rj2xypz9l91f8niwaws2yq1qklymr2"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.8"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; @@ -16,10 +16,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "003y7cdxwzdqx8hgw02kf1b5mp8qr8syx07f35sk3ghhqxp39ksy"; + sha256 = "1l319p0gipfgq8bp8dvbv97qqb72rad9zcqn5snhgv20cmpqr69b"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.8"; }; actionview = { dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; @@ -27,10 +27,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11ihpqcvz3f38ka85zdjkdcvgdbcan81dbr0y9bi784jn1v5ggwa"; + sha256 = "0xnpdwj1d8m6c2d90jp9cs50ggiz0jj02ls2h9lg68k4k8mnjbd2"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.8"; }; actionview_precompiler = { dependencies = ["actionview"]; @@ -38,10 +38,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07dx8vkwig8han4zccs0chahcf9ibd4abzx9n56qah8zak5cyrhd"; + sha256 = "07jyr2h87ha6k2y965rs4ywq142ddkfkhbmp0r44xg4wnffr8jbl"; type = "gem"; }; - version = "0.2.3"; + version = "0.3.0"; }; active_model_serializers = { dependencies = ["activemodel"]; @@ -60,10 +60,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11wkxf16zdb9gsnc94x4hyj89wjks06gnk4fbl7gp5vkbl744n83"; + sha256 = "1cn1ic7ml75jm0c10s7cm5mvcgfnafj0kjvvjavpjcxgz6lxcqyb"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.8"; }; activemodel = { dependencies = ["activesupport"]; @@ -71,10 +71,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12f89hxs4s26ggsg4bnz9qxlcsclcgx9gdsl8dni5jc0gk47h14y"; + sha256 = "004w8zaz2g3y6lnrsvlcmljll0m3ndqpgwf0wfscgq6iysibiglm"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.8"; }; activerecord = { dependencies = ["activemodel" "activesupport"]; @@ -82,10 +82,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sfdq2slmsc0ygncl36dq1lmjww1y3b42izrnn62cyisiag28796"; + sha256 = "04wavps80q3pvhvfbmi4gs102y1p6mxbg8xylzvib35b6m92adpj"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.8"; }; activesupport = { dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; @@ -93,10 +93,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m1sa6djlm9cz6mz3lcbqqahvm6qj75dmq3phpn2ysyxnlz2hr0c"; + sha256 = "188kbwkn1lbhz40ala8ykp20jzqphgc68g3d8flin8cqa2xid0s5"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.8"; }; addressable = { dependencies = ["public_suffix"]; @@ -104,10 +104,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20"; + sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr"; type = "gem"; }; - version = "2.8.4"; + version = "2.8.6"; }; annotate = { dependencies = ["activerecord" "rake"]; @@ -135,10 +135,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz"; + sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; - version = "1.2.0"; + version = "1.3.0"; }; aws-partitions = { groups = ["default"]; @@ -205,6 +205,16 @@ }; version = "1.5.0"; }; + base64 = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; + type = "gem"; + }; + version = "0.2.0"; + }; better_errors = { dependencies = ["erubi" "rack" "rouge"]; groups = ["development"]; @@ -220,6 +230,16 @@ }; version = "2.10.1"; }; + bigdecimal = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00db5v09k1z3539g1zrk7vkjrln9967k08adh6qx33ng97a2gg5w"; + type = "gem"; + }; + version = "3.1.6"; + }; binding_of_caller = { dependencies = ["debug_inspector"]; groups = ["development"]; @@ -241,10 +261,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vcg52gwl64xhhal6kwk1pc01y1klzdlnv1awyk89kb91z010x7q"; + sha256 = "028qif22isxa5sg5gf1322d0qjhir5rr0jpkaiwcic4lspacdcnv"; type = "gem"; }; - version = "1.16.0"; + version = "1.17.1"; }; builder = { groups = ["default" "development" "test"]; @@ -262,10 +282,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hyz68j0z0j24vcrs43swmlykhzypayv34kzrsbxda5lbi83gynm"; + sha256 = "1zs6dwspb0m9ygl7lwdmilhdn9ka85a0qfiip49m9rfpfj46lps0"; type = "gem"; }; - version = "7.0.7"; + version = "7.1.6"; }; byebug = { groups = ["development" "test"]; @@ -287,20 +307,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "114qm5f5vhwaaw9rj1h2lcamh46zl13v1m18jiw68zl961gwmw6n"; + sha256 = "1vxfah83j6zpw3v5hic0j70h519nvmix2hbszmjwm8cfawhagns2"; type = "gem"; }; - version = "3.39.2"; + version = "3.40.0"; }; cbor = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0511idr8xps9625nh3kxr68sdy6l3xy2kcz7r57g47fxb1v18jj3"; + sha256 = "1dsf9gjc2cj79vrnz2vgq573biqjw7ad4b0idm05xg6rb3y9gq4y"; type = "gem"; }; - version = "0.5.9.6"; + version = "0.5.9.8"; }; certified = { groups = ["development" "test"]; @@ -317,10 +337,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18zc1z8va9j1gcv131p605wmkvn1p5958mmvvy7v45ki8c0w7qn5"; + sha256 = "0c5494n3n6l51n1w1vc118zckbqdzk7r6b656hswg72w0bif2ja3"; type = "gem"; }; - version = "0.3.6"; + version = "0.4.1"; }; chunky_png = { groups = ["default"]; @@ -351,20 +371,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; + sha256 = "1zj06gjqwykgzxmbkp2hmg3wv5kv8zz5d77acxipzcgicdjgvfan"; type = "gem"; }; - version = "3.1.2"; + version = "4.0.0"; }; concurrent-ruby = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; + sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2"; type = "gem"; }; - version = "1.2.2"; + version = "1.2.3"; }; connection_pool = { groups = ["default"]; @@ -398,15 +418,15 @@ version = "0.4.2"; }; crack = { - dependencies = ["rexml"]; + dependencies = ["bigdecimal" "rexml"]; groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cr1kfpw3vkhysvkk3wg7c54m75kd68mbm9rs5azdjdq57xid13r"; + sha256 = "0r48q8csd1ld0yrzsp45wkfnpmkhk09gsldq8rlikarnmc51s9gf"; type = "gem"; }; - version = "0.4.5"; + version = "0.4.6"; }; crass = { groups = ["default" "development" "test"]; @@ -424,52 +444,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04q1vin8slr3k8mp76qz0wqgap6f9kdsbryvgfq9fljhrm463kpj"; + sha256 = "18mii41bbl106rn940ah8v3xclj4yrxxa0bwlwp546244n9b83zp"; type = "gem"; }; - version = "1.14.0"; - }; - dartsass-ruby = { - dependencies = ["sass-embedded"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0z3gdsnyvdjgn9gwia72irqgxq04i8hv9pv60yqkd4h5nk9rx4p6"; - type = "gem"; - }; - version = "3.0.1"; - }; - dartsass-sprockets = { - dependencies = ["dartsass-ruby" "railties" "sprockets" "sprockets-rails" "tilt"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1842k5i96iiz264wzzqar2m3whs2caf0d8yhbsr6qdbi4j5pzmcx"; - type = "gem"; - }; - version = "3.0.0"; + version = "1.16.0"; }; date = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1"; + sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp"; type = "gem"; }; - version = "3.3.3"; + version = "3.3.4"; }; debug_inspector = { groups = ["default" "development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01l678ng12rby6660pmwagmyg8nccvjfgs3487xna7ay378a59ga"; + sha256 = "18k8x9viqlkh7dbmjzh8crbjy8w480arpa766cw1dnn3xcpa1pwv"; type = "gem"; }; - version = "1.1.0"; + version = "1.2.0"; }; diff-lcs = { groups = ["default" "development" "test"]; @@ -572,20 +570,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08r6qgbpkxxsihjmlspk3l1sr69q5hx35p1l4wp7rmkbzys89867"; + sha256 = "1kmmwgjzlrnc3nnrdnw1z67c95nbw0hv54a73yj8jw6pcvl9585x"; type = "gem"; }; - version = "0.100.0"; + version = "0.109.0"; }; execjs = { groups = ["assets" "default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd"; + sha256 = "1yywajqlpjhrj1m43s3lfg3i4lkb6pxwccmwps7qw37ndmphdzg8"; type = "gem"; }; - version = "2.8.1"; + version = "2.9.1"; }; exifr = { groups = ["default"]; @@ -602,10 +600,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bxssmjp49whzq2zv7w751gr4nkdaiwcxd1vda0byigwyrnj6f5q"; + sha256 = "1al5iv3as21l5clci0b5cg27z136pan7gkj7plp4l0w83c6z2y9c"; type = "gem"; }; - version = "2.30.0"; + version = "2.31.0"; }; faker = { dependencies = ["i18n"]; @@ -629,25 +627,26 @@ version = "1.3.0"; }; faraday = { - dependencies = ["faraday-net_http" "ruby2_keywords"]; + dependencies = ["faraday-net_http"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "187clqhp9mv5mnqmjlfdp57svhsg1bggz84ak8v333j9skrnrgh9"; + sha256 = "1qqb1rmk0f9m82iijjlqadh5yby1bhnr6svjk9vxdvh6f181988s"; type = "gem"; }; - version = "2.7.10"; + version = "2.9.0"; }; faraday-net_http = { + dependencies = ["net-http"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8"; + sha256 = "17w51yk4rrm9rpnbc3x509s619kba0jga3qrj4b17l30950vw9qn"; type = "gem"; }; - version = "3.0.2"; + version = "3.1.0"; }; faraday-retry = { dependencies = ["faraday"]; @@ -697,10 +696,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pd7pamzhdz2w0fbcvsfn2nyslznvphnwj16zw35g2b28zd2xyzx"; + sha256 = "104kn1lj55hifcpiw1x7x9slskvqmfanylcz3nj8acjgmri0av72"; type = "gem"; }; - version = "2.2.7"; + version = "2.3.0"; }; ffi = { groups = ["default" "development" "test"]; @@ -711,10 +710,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg"; + sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; type = "gem"; }; - version = "1.15.5"; + version = "1.16.3"; }; fspath = { groups = ["default"]; @@ -746,20 +745,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk"; + sha256 = "1sbw6b66r7cwdx3jhs46s4lr991969hvigkjpbdl7y3i31qpdgvh"; type = "gem"; }; - version = "1.1.0"; + version = "1.2.1"; }; google-protobuf = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dq5lgkxhagqr8zjrwr10zi8rldbg2vhis2m5q86v5q9415ylfgj"; + sha256 = "02sh4rp14wmpfv9r7xrap6xgcakg0lk6zjvq1gsi5y38swhn2blw"; type = "gem"; }; - version = "3.23.4"; + version = "3.25.2"; }; guess_html_encoding = { groups = ["default"]; @@ -786,10 +785,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nynpl0xbj0nphqx1qlmyggq58ms1phf5i03hk64wcc0a17x1m1c"; + sha256 = "1jf9dxgjz6z7fvymyz2acyvn9iyvwkn6d9sk7y4fxwbmfc75yimm"; type = "gem"; }; - version = "1.0.1"; + version = "1.1.0"; }; hashie = { groups = ["default"]; @@ -806,20 +805,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f8cr014j7mdqpdb9q17fp5vb5b8n1pswqaif91s3ylg5x3pygfn"; + sha256 = "02ghhvigqbq4252gsi4w8a9klkdkybmbz29ghfp1y6sqzlcb466a"; type = "gem"; }; - version = "2.1.0"; - }; - hkdf = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "03g3yvfnlcjv2qw3b3yahg0x7zhwcd1bwxyj6gbn5jrc7k4kfrqg"; - type = "gem"; - }; - version = "1.0.0"; + version = "3.0.1"; }; htmlentities = { groups = ["default"]; @@ -868,10 +857,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19fspid6610sm4x0mql7iny7k0d7f21xgxqmsca0irvlvazwm4vn"; + sha256 = "16h2gxxk212mlvphf03x1z1ddb9k3vm0lgsxbvi4fjg77x8q19f6"; type = "gem"; }; - version = "3.3.0"; + version = "3.4.0"; }; in_threads = { groups = ["default"]; @@ -898,10 +887,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6"; + sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq"; type = "gem"; }; - version = "2.6.3"; + version = "2.7.1"; }; json-schema = { dependencies = ["addressable"]; @@ -909,10 +898,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gdvm83yaa5n8hwapwzxwfcmbypiq2i0zfx4mzz67wg55p2cnli4"; + sha256 = "0j9dz9sf7swwmfahlngph8n9ibm0cx7mdy9zpv3w44578nbkka49"; type = "gem"; }; - version = "3.0.0"; + version = "4.1.1"; }; json_schemer = { dependencies = ["hana" "regexp_parser" "simpleidn"]; @@ -920,10 +909,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mbf7v8bzmxyk413y16drnww68bgyzknlqmaqvj785iakja7in7x"; + sha256 = "02gnz7wajg7f5n67vlswfi8yjvwahypy36z6hrg0qfx3cc3589qg"; type = "gem"; }; - version = "1.0.3"; + version = "2.1.1"; }; jwt = { groups = ["default"]; @@ -998,10 +987,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01kdw5dbzimb89rq4zf44zf8990czb5qxvib0hzja1l4hrha8cki"; + sha256 = "1qcsvh9k4c0cp6agqm9a8m4x2gg7vifryqr7yxkg2x9ph9silds2"; type = "gem"; }; - version = "0.13.0"; + version = "0.14.0"; }; logstash-event = { groups = ["default"]; @@ -1029,10 +1018,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18yqcf756rzxdq5pw2qrximfryv15ib7rv2g622wjig7zhvk8wx4"; + sha256 = "036hw6iiy64d1q3cmqi026zspr8lyzh1qw00ds6l8l2jgg8m6fsc"; type = "gem"; }; - version = "2.12.2"; + version = "2.16.0"; }; loofah = { dependencies = ["crass" "nokogiri"]; @@ -1040,10 +1029,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1p744kjpb5zk2ihklbykzii77alycjc04vpnm2ch2f3cp65imlj3"; + sha256 = "1zkjqf37v2d7s11176cb35cl83wls5gm3adnfkn2zcc61h3nxmqh"; type = "gem"; }; - version = "2.21.3"; + version = "2.22.0"; }; lru_redux = { groups = ["default"]; @@ -1122,10 +1111,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ppqgch8xxccpmccdx37lb00112ayqjb80zz5m3w3298vdzb1kn4"; + sha256 = "15xqp7pnicjh2868fsc6fmxw8cw32bpiaqpc5bz8cwdib09ns3qk"; type = "gem"; }; - version = "4.3.7"; + version = "4.3.8"; }; method_source = { groups = ["default" "development" "test"]; @@ -1138,24 +1127,24 @@ version = "1.0.0"; }; mini_mime = { - groups = ["default"]; + groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5"; + sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6"; type = "gem"; }; - version = "1.1.2"; + version = "1.1.5"; }; mini_portile2 = { - groups = ["default" "development" "test"]; + groups = ["default" "development" "generic_import" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02mj8mpd6ck5gpcnsimx5brzggw5h5mmmpq2djdypfq16wcw82qq"; + sha256 = "149r94xi6b3jbp6bv72f8383b95ndn0p5sxnq11gs1j9jadv0ajf"; type = "gem"; }; - version = "2.8.4"; + version = "2.8.6"; }; mini_racer = { dependencies = ["libv8-node"]; @@ -1184,10 +1173,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dgwyyya821sfj4f92sljsxmmnak2yrzsbckvy82001zgq1n3b41"; + sha256 = "0yrxjmwhfnvcwbj9vscyq0z67sq09zl8qhmzgakq2ywy4yvcpwgg"; type = "gem"; }; - version = "1.4.0"; + version = "1.5.0"; }; mini_suffix = { dependencies = ["ffi"]; @@ -1200,15 +1189,25 @@ }; version = "0.3.3"; }; + minio_runner = { + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c0bld2bpnfrld7g0pli3pp3b1z3a21cgahhw70i5cjr33sx88pi"; + type = "gem"; + }; + version = "0.1.2"; + }; minitest = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6"; + sha256 = "1hmszq7p4zp2ha3qjv1axam602rgnqhlz5zfzil7yk4nvfwcv1bn"; type = "gem"; }; - version = "5.19.0"; + version = "5.21.2"; }; mocha = { dependencies = ["ruby2_keywords"]; @@ -1271,10 +1270,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0y55ib1v2b8prqfi9ij7hca60b1j94s2bzr6vskwi3i5735472wq"; + sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9"; type = "gem"; }; - version = "0.3.2"; + version = "0.4.1"; }; net-imap = { dependencies = ["date" "net-protocol"]; @@ -1282,10 +1281,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3"; + sha256 = "0z9f6kfxz9qanar534gs3mk6snyvw8rnx3f6ykjn2jiziv0rv1ig"; type = "gem"; }; - version = "0.3.7"; + version = "0.4.9.1"; }; net-pop = { dependencies = ["net-protocol"]; @@ -1304,10 +1303,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91"; + sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa"; type = "gem"; }; - version = "0.2.1"; + version = "0.2.2"; }; net-smtp = { dependencies = ["net-protocol"]; @@ -1315,20 +1314,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c6md06hm5bf6rv53sk54dl2vg038pg8kglwv3rayx0vk2mdql9x"; + sha256 = "0csspzqrg7s2v2wdp6vqqs1rra6w5ilpgnps5h52ig6rp7x2i389"; type = "gem"; }; - version = "0.3.3"; + version = "0.4.0.1"; }; nio4r = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w9978zwjf1qhy3amkivab0f9syz6a7k0xgydjidaf7xc831d78f"; + sha256 = "0xkjz56qc7hl7zy7i7bhiyw5pl85wwjsa4p70rj6s958xj2sd1lm"; type = "gem"; }; - version = "2.5.9"; + version = "2.7.0"; }; nokogiri = { dependencies = ["mini_portile2" "racc"]; @@ -1336,10 +1335,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jw8a20a9k05fpz3q24im19b97idss3179z76yn5scc5b8lk2rl7"; + sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl"; type = "gem"; }; - version = "1.15.3"; + version = "1.16.0"; }; oauth = { dependencies = ["oauth-tty" "snaky_hash" "version_gem"]; @@ -1375,14 +1374,15 @@ version = "1.4.11"; }; oj = { + dependencies = ["bigdecimal"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vzcrsv6w5k90l75gy83dlfkv2z9pvnr82mz1nhnijmcg3rgqaz8"; + sha256 = "0g5nx99lrwmk6ynfaacqkyijnhvi4mckm77bmvpa0jmfg068l26h"; type = "gem"; }; - version = "3.15.1"; + version = "3.16.3"; }; omniauth = { dependencies = ["hashie" "rack"]; @@ -1466,10 +1466,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0c649921vg2l939z5cc3jwd8p1v49099pdhxfk7sb9qqx5wi5873"; + sha256 = "054d6ybgjdzxw567m7rbnd46yp6gkdbc5ihr536vxd3p15vbhjrw"; type = "gem"; }; - version = "3.1.0"; + version = "3.2.0"; }; openssl-signature_algorithm = { dependencies = ["openssl"]; @@ -1501,10 +1501,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jcc512l38c0c163ni3jgskvq1vc3mr8ly5pvjijzwvfml9lf597"; + sha256 = "15wkxrg1sj3n1h2g8jcrn7gcapwcgxr659ypjf75z1ipkgxqxwsv"; type = "gem"; }; - version = "1.23.0"; + version = "1.24.0"; }; parallel_tests = { dependencies = ["parallel"]; @@ -1512,10 +1512,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04y02j0kyhfww41dnnjawn2gpp24smq0x21dvaa5z6pnq0fvmahv"; + sha256 = "0mahfvfq56d476wb6p1zg3f2gph4zggb4dcly0h5rbvvkaysfvfw"; type = "gem"; }; - version = "4.2.1"; + version = "4.4.0"; }; parser = { dependencies = ["ast" "racc"]; @@ -1523,20 +1523,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1swigds85jddb5gshll1g8lkmbcgbcp9bi1d4nigwvxki8smys0h"; + sha256 = "11r6kp8wam0nkfvnwyc1fmvky102r1vcfr84vi2p1a2wa0z32j3p"; type = "gem"; }; - version = "3.2.2.3"; + version = "3.3.0.5"; }; pg = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07m6lxljabw9kyww5k5lgsxsznsm1v5l14r1la09gqka9b5kv3yr"; + sha256 = "0pfj771p5a29yyyw58qacks464sl86d5m3jxjl5rlqqw2m3v5xq4"; type = "gem"; }; - version = "1.4.6"; + version = "1.5.4"; }; prettier_print = { groups = ["default" "development" "test"]; @@ -1596,10 +1596,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0n9j7mczl15r3kwqrah09cxj8hxdfawiqxa60kga2bmxl9flfz9k"; + sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m"; type = "gem"; }; - version = "5.0.3"; + version = "5.0.4"; }; puma = { dependencies = ["nio4r"]; @@ -1607,20 +1607,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1v7fmv0n4bhdcwh60dgza44iqai5pg34f5pzm4vh4i5fwx7mpqxh"; + sha256 = "0i2vaww6qcazj0ywva1plmjnj6rk23b01szswc5jhcq7s2cikd1y"; type = "gem"; }; - version = "6.3.0"; + version = "6.4.2"; }; racc = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g"; + sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp"; type = "gem"; }; - version = "1.7.1"; + version = "1.7.3"; }; rack = { groups = ["default" "development" "test"]; @@ -1642,21 +1642,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13dhpp1iljhqp9c8akmp6gjhx47qf83w12ns4bif26ldkignpam1"; + sha256 = "1cbz4ih4ji2ika935x03in060kh236lyxfwk0c09p2l1wim59xcv"; type = "gem"; }; - version = "3.1.0"; + version = "3.3.0"; }; rack-protection = { - dependencies = ["rack"]; + dependencies = ["base64" "rack"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kpm67az1wxlg76h620in2r7agfyhv177ps268j5ggsanzddzih8"; + sha256 = "1zzvivmdb4dkscc58i3gmcyrnypynsjwp6xgc4ylarlhqmzvlx1w"; type = "gem"; }; - version = "3.0.6"; + version = "3.2.0"; }; rack-test = { dependencies = ["rack"]; @@ -1675,10 +1675,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17g05y7q7934z0ib4aph8h71c2qwjmlakkm7nb2ab45q0aqkfgjd"; + sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5"; type = "gem"; }; - version = "2.1.1"; + version = "2.2.0"; }; rails-html-sanitizer = { dependencies = ["loofah" "nokogiri"]; @@ -1719,10 +1719,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1z4lqqbd4i5izsg97mx5yf3gj7y5d07wgvad0jzjghjg12pf142i"; + sha256 = "0sfc16zrcn4jgf5xczb08n6prhmqqgg9f0b4mn73zlzg6cwmqchj"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.8"; }; rainbow = { groups = ["default" "development" "test"]; @@ -1755,10 +1755,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; + sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy"; type = "gem"; }; - version = "13.0.6"; + version = "13.1.0"; }; rb-fsevent = { groups = ["development" "test"]; @@ -1791,10 +1791,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s8prj0klfgpmpfcpdzbf149qrrsdxgnb6w6kkqc9gyars4vyaqn"; + sha256 = "1p65p6f917al0f07sn5ca9yj92f7mk52xgnp0ahqpyrb8r6sdjz8"; type = "gem"; }; - version = "0.4.14"; + version = "0.5.1"; }; rchardet = { groups = ["default"]; @@ -1806,6 +1806,16 @@ }; version = "1.8.0"; }; + redcarpet = { + groups = ["generic_import"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sg9sbf9pm91l7lac7fs4silabyn0vflxwaa2x3lrzsm0ff8ilca"; + type = "gem"; + }; + version = "3.6.0"; + }; redis = { groups = ["default"]; platforms = []; @@ -1832,10 +1842,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "136br91alxdwh1s85z912dwz23qlhm212vy6i3wkinz3z8mkxxl3"; + sha256 = "1ndxm0xnv27p4gv6xynk6q41irckj76q1jsqpysd9h6f86hhp841"; type = "gem"; }; - version = "2.8.1"; + version = "2.9.0"; }; request_store = { dependencies = ["rack"]; @@ -1873,10 +1883,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10mmzc85y7andsich586ndykw678qn1ns2wpjxrg0sc0gr4w3pig"; + sha256 = "0m48hv6wpmmm6cjr6q92q78h1i610riml19k5h1dil2yws3h1m3m"; type = "gem"; }; - version = "6.2.2"; + version = "6.3.0"; }; rouge = { groups = ["default" "development"]; @@ -1887,10 +1897,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "19drl3x8fw65v3mpy7fk3cf3dfrywz5alv98n2rm4pp04vdn71lw"; + sha256 = "1fkfa0iq3r9b0zzrxpxha17avmyzci3kidzmfbf6fd1279mndpb0"; type = "gem"; }; - version = "4.1.3"; + version = "4.2.0"; }; rqrcode = { dependencies = ["chunky_png" "rqrcode_core"]; @@ -1974,10 +1984,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "086qdyz7c4s5dslm6j06mq7j4jmj958whc3yinhabnqqmz7i463d"; + sha256 = "1clmx6qzdbpm1g8ycg38gjbqsbr8ccqi6hqyx88g8yckz1hrx55x"; type = "gem"; }; - version = "6.0.3"; + version = "6.1.1"; }; rspec-support = { groups = ["default" "development" "test"]; @@ -1995,10 +2005,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1b1zx07kr64kkpm4lssd4r1a1qyr829ppmfl85i4adcvx9mqfid0"; + sha256 = "1wv27axi39hhr0nmaffdl5bdjqiafcvp9xhfgnsgfczsblja50sn"; type = "gem"; }; - version = "0.2.9"; + version = "0.3.0"; }; rswag-specs = { dependencies = ["activesupport" "json-schema" "railties" "rspec-core"]; @@ -2006,10 +2016,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0p0blh8p6zj8vsiw585wiy6zpyn8p3ksn0z92ijfzaw7afvcvl8j"; + sha256 = "1iyqd95l8r8m6jna451xb20lsp0jiajk1gbw845qlyqf6d69xyx2"; type = "gem"; }; - version = "2.10.1"; + version = "2.13.0"; }; rtlcss = { dependencies = ["mini_racer"]; @@ -2028,10 +2038,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s9p5qaqq68h5s3ys8xlk9swccma7arjif1w58987n6gicrsprrm"; + sha256 = "0v67rgbhzanbf02fy5xasaxgmhxghlqb2cxjvbplinm2zfzs0380"; type = "gem"; }; - version = "1.55.1"; + version = "1.60.2"; }; rubocop-ast = { dependencies = ["parser"]; @@ -2039,10 +2049,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "188bs225kkhrb17dsf3likdahs2p1i1sqn0pr3pvlx50g6r2mnni"; + sha256 = "1cs9cc5p9q70valk4na3lki4xs88b52486p2v46yx3q1n5969bgs"; type = "gem"; }; - version = "1.29.0"; + version = "1.30.0"; }; rubocop-capybara = { dependencies = ["rubocop"]; @@ -2050,10 +2060,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01fn05a87g009ch1sh00abdmgjab87i995msap26vxq1a5smdck6"; + sha256 = "0f5r9di123hc4x2h453a143986plfzz9935bwc7267wj8awl8s1a"; type = "gem"; }; - version = "2.18.0"; + version = "2.20.0"; }; rubocop-discourse = { dependencies = ["rubocop" "rubocop-rspec"]; @@ -2061,10 +2071,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sycsgagz7iq4j4aflzkzjlclvsck9yacjlj1pzzmfpjbbka34x8"; + sha256 = "0f133ky0rl3zn2kb0dnzb4fvnx3w731a47f0sb91n5pisdz3ncyq"; type = "gem"; }; - version = "3.3.0"; + version = "3.6.0"; }; rubocop-factory_bot = { dependencies = ["rubocop"]; @@ -2072,10 +2082,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kqchl8f67k2g56sq2h1sm2wb6br5gi47s877hlz94g5086f77n1"; + sha256 = "0d012phc7z5h1j1d2aisnbkmqlb95sld5jriia5qg2gpgbg1nxb2"; type = "gem"; }; - version = "2.23.1"; + version = "2.25.1"; }; rubocop-rspec = { dependencies = ["rubocop" "rubocop-capybara" "rubocop-factory_bot"]; @@ -2083,10 +2093,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l364y00bw1zcs3grdxcxpn48vfrjds2khsiaxjqq3r9grvbprfy"; + sha256 = "0n24wy34shczlr5fnim7vcbrgvs0hffzw89n06fxziim9iws406s"; type = "gem"; }; - version = "2.23.0"; + version = "2.26.1"; }; ruby-prof = { groups = ["development"]; @@ -2097,10 +2107,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "13fsfw43zx9pcix1fzxb95g09yadqjvc8971k74krrjz81vbyh51"; + sha256 = "0hnalxnvli6248g34n0bj8p3v35vpabak34qjg778bbaavbqg5h5"; type = "gem"; }; - version = "1.6.3"; + version = "1.7.0"; }; ruby-progressbar = { groups = ["default" "development" "test"]; @@ -2149,10 +2159,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kymrjdpbmn4yaml3aaqyj1dzj8gqmm9h030dc2rj5mvja7fpi28"; + sha256 = "0wsw05y0h1ln3x2kvcw26fs9ivryb4xbjrb4hsk2pishkhydkz4j"; type = "gem"; }; - version = "6.0.2"; + version = "6.1.0"; }; sass-embedded = { dependencies = ["google-protobuf" "rake"]; @@ -2160,34 +2170,54 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15k44qn8vk8ap8khkmpsiw40pywm9pkx4a5yhm8vfi2rgqci9k90"; + sha256 = "1pmsiivj7azcmbxadkkvnmkhj1w6r1knbg0gwcg1g1pafpnpf7p7"; + type = "gem"; + }; + version = "1.70.0"; + }; + sassc-embedded = { + dependencies = ["sass-embedded"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ym7kh6zyygnxpjdsqbflwl0gjnyr25qn1dxygajaj4ww464ibya"; + type = "gem"; + }; + version = "1.70.0"; + }; + selenium-devtools = { + dependencies = ["selenium-webdriver"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1l2qf5w0bk01s50gzx8clzw4zchff9a01kk2s8fnpz65g7rgh4g9"; type = "gem"; }; - version = "1.64.1"; + version = "0.121.0"; }; selenium-webdriver = { - dependencies = ["rexml" "rubyzip" "websocket"]; + dependencies = ["base64" "rexml" "rubyzip" "websocket"]; groups = ["test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hwxxvx6j95ln82pjmrgyzg6qmf511dkcp5q79n6m5m8z4way8m3"; + sha256 = "0g3l3invk95w1f72mpp0r4hc3vsc3070c1xd1wg76kfg2r182xnq"; type = "gem"; }; - version = "4.10.0"; + version = "4.17.0"; }; shoulda-matchers = { dependencies = ["activesupport"]; groups = ["development" "test"]; platforms = []; source = { - fetchSubmodules = false; - rev = "783a90554053002017510285bc736099b2749c22"; - sha256 = "10rw7ksi462fxamap6kimdy7hpdgx8477r6zs1kgrbakx24dm3wx"; - type = "git"; - url = "https://github.com/thoughtbot/shoulda-matchers.git"; + remotes = ["https://rubygems.org"]; + sha256 = "1p83ca48h812h5gksw2q0x5289jsc4c417f8s6w9d4a12jzw86zi"; + type = "gem"; }; - version = "5.3.0"; + version = "6.1.0"; }; sidekiq = { dependencies = ["connection_pool" "rack" "redis"]; @@ -2195,10 +2225,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0iv7vgqyrpymiwvc3ca24sl4lda8m627p657p0v4xzdpzincrnbr"; + sha256 = "0zqr9is8y7mg5dfs1q8w5jl9spwvqkhbi9r6np8208n40hi3pydl"; type = "gem"; }; - version = "6.5.9"; + version = "6.5.12"; }; simplecov = { dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; @@ -2277,15 +2307,26 @@ }; version = "3.4.2"; }; + sqlite3 = { + dependencies = ["mini_portile2"]; + groups = ["generic_import"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vkgmg63fa0m0fbyxdv7sn5mq3jpiz6r88yix2g3vdc6w0h94gcr"; + type = "gem"; + }; + version = "1.7.1"; + }; sshkey = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03bkn55qsng484iqwz2lmm6rkimj01vsvhwk661s3lnmpkl65lbp"; + sha256 = "1k8i5pzjhcnyf0bhcyn5iixpfp4pz0556rcxwpglh6p0sr8s6nv5"; type = "gem"; }; - version = "2.0.0"; + version = "3.0.0"; }; stackprof = { groups = ["default"]; @@ -2296,10 +2337,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bhdgfb0pmw9mav1kw9fn0ka012sa0i3h5ppvqssw5xq48nhxnr8"; + sha256 = "1gdqqwnampxmc54nf6zfy9apkmkpdavzipvfssmjlhnrrjy8qh7f"; type = "gem"; }; - version = "0.2.25"; + version = "0.2.26"; }; syntax_tree = { dependencies = ["prettier_print"]; @@ -2307,10 +2348,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "162m5xhbiq315bncp49ziddws537dv09pqsgrzsrmhhsymhgy0zb"; + sha256 = "0g9l9acknjr2yz8ynfxbcrwx2ws3wh96pfzdb31g66k08v1022m5"; type = "gem"; }; - version = "6.1.1"; + version = "6.2.0"; }; syntax_tree-disable_ternary = { groups = ["development" "test"]; @@ -2327,40 +2368,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08j5456rdpgxvv8bs44x81jrxzpxb79wxfxdq4fqwxyircxzi2jj"; + sha256 = "08vm33d51zdan4zj4cccw3lx06p6flc1h40kgdfm9rp4x83csdda"; type = "gem"; }; - version = "1.2.2"; + version = "1.3.1"; }; thor = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg"; - type = "gem"; - }; - version = "1.2.2"; - }; - tilt = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0bmjgbv8158klwp2r3klxjwaj93nh1sbl4xvj9wsha0ic478avz7"; + sha256 = "1hx77jxkrwi66yvs10wfxqa8s25ds25ywgrrf66acm9nbfg7zp0s"; type = "gem"; }; - version = "2.2.0"; + version = "1.3.0"; }; timeout = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1d9cvm0f4zdpwa795v3zv4973y5zk59j7s1x3yn90jjrhcz1yvfd"; + sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg"; type = "gem"; }; - version = "0.4.0"; + version = "0.4.1"; }; tzinfo = { dependencies = ["concurrent-ruby"]; @@ -2379,10 +2410,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m2d0gpsgqnv29j5h2d6g57g0rayvd460b8s2vjr8sn46bqf89m5"; + sha256 = "1v3k61zcbxfmf150d4vky6cbdmyrn3yljsl9na1y3i52v7zsbdnx"; type = "gem"; }; - version = "1.2023.3"; + version = "1.2023.4"; }; uglifier = { dependencies = ["execjs"]; @@ -2411,20 +2442,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch"; + sha256 = "1sf6bxvf6x8gihv6j63iakixmdddgls58cpxpg32chckb2l18qcj"; type = "gem"; }; - version = "0.0.8.2"; + version = "0.0.9.1"; }; unicode-display_width = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a"; + sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky"; type = "gem"; }; - version = "2.4.2"; + version = "2.5.0"; }; unicorn = { dependencies = ["kgio" "raindrops"]; @@ -2458,10 +2489,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fa49cdssxllj1j37a56kq27wsibx5lmqxkqdk1rz3452y0bsydy"; + sha256 = "094gk72ckazf495qc76gk09b5i318d5l9m7bicg2wxlrjcm3qm96"; type = "gem"; }; - version = "0.12.2"; + version = "0.13.0"; }; version_gem = { groups = ["default"]; @@ -2474,26 +2505,15 @@ version = "1.1.3"; }; web-push = { - dependencies = ["hkdf" "jwt" "openssl"]; + dependencies = ["jwt" "openssl"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jsximg9v44rpclhjxp03fxk68jx675pghwxc66wj7rn9h9fc54i"; + sha256 = "13diqh61rl658gwq0c2ds41z59i0x4plj5k4v98qkgd3pgrd4kav"; type = "gem"; }; - version = "3.0.0"; - }; - webdrivers = { - dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "19aaxhawzv7315rh285gd1fg6m6wbrn3w3kilyibci1wphgm7mfp"; - type = "gem"; - }; - version = "5.3.1"; + version = "3.0.1"; }; webmock = { dependencies = ["addressable" "crack" "hashdiff"]; @@ -2501,20 +2521,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1myj44wvbbqvv18ragv3ihl0h61acgnfwrnj3lccdgp49bgmbjal"; + sha256 = "0vfispr7wd2p1fs9ckn1qnby1yyp4i1dl7qz8n482iw977iyxrza"; type = "gem"; }; - version = "3.18.1"; + version = "3.19.1"; }; websocket = { groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0dib6p55sl606qb4vpwrvj5wh881kk4aqn2zpfapf8ckx7g14jw8"; + sha256 = "1a4zc8d0d91c3xqwapda3j3zgpfwdbj76hkb69xn6qvfkfks9h9c"; type = "gem"; }; - version = "1.2.9"; + version = "1.2.10"; }; xpath = { dependencies = ["nokogiri"]; @@ -2552,9 +2572,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06vf6y5ai20ry3b1h9cl7vsdj6i5valq172zdxpnfhj5zvlp104j"; + sha256 = "1gir0if4nryl1jhwi28669gjwhxb7gzrm1fcc8xzsch3bnbi47jn"; type = "gem"; }; - version = "2.6.10"; + version = "2.6.12"; }; } 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 88ebc1337487b..d85e4bf98676c 100644 --- a/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch +++ b/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch @@ -1,13 +1,13 @@ diff --git a/config/unicorn.conf.rb b/config/unicorn.conf.rb -index e69979adfe..68cb04a036 100644 +index 9fd348b074..40eb73b96e 100644 --- a/config/unicorn.conf.rb +++ b/config/unicorn.conf.rb -@@ -27,18 +27,10 @@ pid (ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid") - +@@ -27,17 +27,9 @@ pid(ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid") + if ENV["RAILS_ENV"] != "production" logger Logger.new(STDOUT) - # we want a longer timeout in dev cause first request can be really slow -- timeout (ENV["UNICORN_TIMEOUT"] && ENV["UNICORN_TIMEOUT"].to_i || 60) +- timeout(ENV["UNICORN_TIMEOUT"] && ENV["UNICORN_TIMEOUT"].to_i || 60) -else - # By default, the Unicorn logger will write to stderr. - # Additionally, some applications/frameworks log to stderr or stdout, @@ -17,9 +17,8 @@ index e69979adfe..68cb04a036 100644 - # nuke workers after 30 seconds instead of 60 seconds (the default) - timeout 30 end - -+timeout (ENV["UNICORN_TIMEOUT"] && ENV["UNICORN_TIMEOUT"].to_i || 60) + ++timeout(ENV["UNICORN_TIMEOUT"] && ENV["UNICORN_TIMEOUT"].to_i || 60) + # important for Ruby 2.0 preload_app true - diff --git a/pkgs/servers/web-apps/discourse/update.py b/pkgs/servers/web-apps/discourse/update.py index 9b300d1d4959f..5d17b9798b600 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 prefetch-yarn-deps +#! nix-shell -i python3 -p bundix bundler nix-update nix-universal-prefetch "python3.withPackages (ps: with ps; [ requests click click-log packaging ])" prefetch-yarn-deps from __future__ import annotations import click @@ -15,8 +15,7 @@ import json import requests import textwrap from functools import total_ordering -from distutils.version import LooseVersion -from itertools import zip_longest +from packaging.version import Version from pathlib import Path from typing import Union, Iterable @@ -47,33 +46,16 @@ class DiscourseVersion: else: self.tag = 'v' + version self.version = version - self.split_version = LooseVersion(self.version).version + + self._version = Version(self.version) def __eq__(self, other: DiscourseVersion): """Versions are equal when their individual parts are.""" - return self.split_version == other.split_version + return self._version == other._version def __gt__(self, other: DiscourseVersion): - """Check if this version is greater than the other. - - Goes through the parts of the version numbers from most to - least significant, only continuing on to the next if the - numbers are equal and no decision can be made. If one version - ends in 'betaX' and the other doesn't, all else being equal, - the one without 'betaX' is considered greater, since it's the - release version. - - """ - for (this_ver, other_ver) in zip_longest(self.split_version, other.split_version): - if this_ver == other_ver: - continue - if type(this_ver) is int and type(other_ver) is int: - return this_ver > other_ver - elif 'beta' in [this_ver, other_ver]: - # release version (None) is greater than beta - return this_ver is None - else: - return False + """Check if this version is greater than the other.""" + return self._version > other._version class DiscourseRepo: @@ -104,11 +86,12 @@ 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) + def get_yarn_lock_hash(self, rev: str, path: str): + yarnLockText = self.get_file(path, rev) with tempfile.NamedTemporaryFile(mode='w') as lockFile: lockFile.write(yarnLockText) - return subprocess.check_output(['prefetch-yarn-deps', lockFile.name]).decode('utf-8').strip() + hash = subprocess.check_output(['prefetch-yarn-deps', lockFile.name]).decode().strip() + return subprocess.check_output(["nix", "hash", "to-sri", "--type", "sha256", hash]).decode().strip() def get_file(self, filepath, rev): """Return file contents at a given rev. @@ -242,6 +225,8 @@ def update(rev): with open(rubyenv_dir / fn, 'w') as f: f.write(repo.get_file(fn, version.tag)) + # work around https://github.com/nix-community/bundix/issues/8 + os.environ["BUNDLE_FORCE_RUBY_PLATFORM"] = "true" subprocess.check_output(['bundle', 'lock'], cwd=rubyenv_dir) _remove_platforms(rubyenv_dir) subprocess.check_output(['bundix'], cwd=rubyenv_dir) @@ -249,11 +234,17 @@ 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}") + new_yarn_hash = repo.get_yarn_lock_hash(version.tag, "app/assets/javascripts/yarn-ember5.lock") + click.echo(f"Updating yarn lock hash: {old_yarn_hash} -> {new_yarn_hash}") + + old_yarn_dev_hash = _nix_eval('discourse.assets.yarnDevOfflineCache.outputHash') + new_yarn_dev_hash = repo.get_yarn_lock_hash(version.tag, "yarn.lock") + click.echo(f"Updating yarn dev lock hash: {old_yarn_dev_hash} -> {new_yarn_dev_hash}") + with open(Path(__file__).parent / "default.nix", 'r+') as f: content = f.read() content = content.replace(old_yarn_hash, new_yarn_hash) + content = content.replace(old_yarn_dev_hash, new_yarn_dev_hash) f.seek(0) f.write(content) f.truncate() @@ -320,7 +311,7 @@ def update_plugins(): compatibility_spec = repo.get_file('.discourse-compatibility', repo.latest_commit_sha) versions = [(DiscourseVersion(discourse_version), plugin_rev.strip(' ')) for [discourse_version, plugin_rev] - in [line.split(':') + in [line.lstrip("< ").split(':') for line in compatibility_spec.splitlines() if line != '']] discourse_version = DiscourseVersion(_get_current_package_version('discourse')) |