Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2023-02-20 18:02:05 +00:00 committed by GitHub
commit e579b2b641
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
64 changed files with 831 additions and 595 deletions

View File

@ -95,3 +95,9 @@ trim_trailing_whitespace = unset
[pkgs/tools/misc/timidity/timidity.cfg]
trim_trailing_whitespace = unset
[pkgs/tools/virtualization/ovftool/*.ova]
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
charset = unset

View File

@ -128,7 +128,7 @@ To backup your home directory to borgbase you have to:
- Initialize the repository on the server. Eg.
sudo borg init --encryption=repokey-blake2 \
-rsh "ssh -i /run/keys/id_ed25519_borgbase" \
--rsh "ssh -i /run/keys/id_ed25519_borgbase" \
zzz2aaaaa@zzz2aaaaa.repo.borgbase.com:repo
- Add it to your NixOS configuration, e.g.

View File

@ -615,6 +615,7 @@ in
s3_endpoint = null;
s3_http_continue_timeout = null;
s3_install_cors_rule = null;
s3_asset_cdn_url = null;
max_user_api_reqs_per_minute = 20;
max_user_api_reqs_per_day = 2880;
@ -647,6 +648,9 @@ in
multisite_config_path = "config/multisite.yml";
enable_long_polling = null;
long_polling_interval = null;
preload_link_header = false;
redirect_avatar_requests = false;
pg_force_readonly_mode = false;
};
services.redis.servers.discourse =
@ -1011,6 +1015,7 @@ in
notification_email = cfg.mail.notificationEmailAddress;
contact_email = cfg.mail.contactEmailAddress;
};
security.force_https = tlsEnabled;
email = {
manual_polling_enabled = cfg.mail.incoming.enable;
reply_by_email_enabled = cfg.mail.incoming.enable;

View File

@ -40,7 +40,7 @@ import ./make-test-python.nix (
networking.extraHosts = ''
127.0.0.1 ${discourseDomain}
${nodes.client.config.networking.primaryIPAddress} ${clientDomain}
${nodes.client.networking.primaryIPAddress} ${clientDomain}
'';
services.postfix = {
@ -90,7 +90,7 @@ import ./make-test-python.nix (
networking.extraHosts = ''
127.0.0.1 ${clientDomain}
${nodes.discourse.config.networking.primaryIPAddress} ${discourseDomain}
${nodes.discourse.networking.primaryIPAddress} ${discourseDomain}
'';
services.dovecot2 = {
@ -178,8 +178,8 @@ import ./make-test-python.nix (
discourse.wait_until_succeeds("curl -sS -f https://${discourseDomain}")
discourse.succeed(
"curl -sS -f https://${discourseDomain}/session/csrf -c cookie -b cookie -H 'Accept: application/json' | jq -r '\"X-CSRF-Token: \" + .csrf' > csrf_token",
"curl -sS -f https://${discourseDomain}/session -c cookie -b cookie -H @csrf_token -H 'Accept: application/json' -d 'login=${nodes.discourse.config.services.discourse.admin.username}' -d \"password=${adminPassword}\" | jq -e '.user.username == \"${nodes.discourse.config.services.discourse.admin.username}\"'",
"curl -sS -f https://${discourseDomain}/login -v -H 'Accept: application/json' -c cookie -b cookie 2>&1 | grep ${nodes.discourse.config.services.discourse.admin.username}",
"curl -sS -f https://${discourseDomain}/session -c cookie -b cookie -H @csrf_token -H 'Accept: application/json' -d 'login=${nodes.discourse.services.discourse.admin.username}' -d \"password=${adminPassword}\" | jq -e '.user.username == \"${nodes.discourse.services.discourse.admin.username}\"'",
"curl -sS -f https://${discourseDomain}/login -v -H 'Accept: application/json' -c cookie -b cookie 2>&1 | grep ${nodes.discourse.services.discourse.admin.username}",
)
client.wait_for_unit("postfix.service")

View File

@ -0,0 +1,45 @@
{ stdenv
, lib
, fetchFromGitHub
, dde-api
}:
stdenv.mkDerivation rec {
pname = "deepin-wallpapers";
version = "1.7.10";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "sha256-D7DXyPh74VlYn5vKUzDh/P/xoskxs8N/BEg5ZemXRwk=";
};
nativeBuildInputs = [ dde-api ];
postPatch = ''
patchShebangs blur_image.sh
substituteInPlace blur_image.sh \
--replace /usr/lib/deepin-api/image-blur ${dde-api}/lib/deepin-api/image-blur
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/wallpapers/deepin
cp deepin/* $out/share/wallpapers/deepin
mkdir -p $out/share/wallpapers/image-blur
cp image-blur/* $out/share/wallpapers/image-blur
mkdir -p $out/share/backgrounds
ln -s $out/share/wallpapers/deepin/desktop.jpg $out/share/backgrounds/default_background.jpg
runHook postInstall
'';
meta = with lib; {
description = "deepin-wallpapers provides wallpapers of dde";
homepage = "https://github.com/linuxdeepin/deepin-wallpapers";
license = with licenses; [ gpl3Plus cc-by-sa-30 ];
platforms = platforms.linux;
maintainers = teams.deepin.members;
};
}

View File

@ -58,6 +58,7 @@ let
#### ARTWORK
dde-account-faces = callPackage ./artwork/dde-account-faces { };
deepin-icon-theme = callPackage ./artwork/deepin-icon-theme { };
deepin-wallpapers = callPackage ./artwork/deepin-wallpapers { };
deepin-gtk-theme = callPackage ./artwork/deepin-gtk-theme { };
deepin-sound-theme = callPackage ./artwork/deepin-sound-theme { };

View File

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "aiohomekit";
version = "2.5.0";
version = "2.6.1";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "Jc2k";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-uFmQLeGPnFDABA4Uu1sL/2uUJnL+feclpGyJyISJx2E=";
hash = "sha256-g/8vzd7ehPNVNzvymXU/i8NiYv7UR9uWfUPnVDQsFg0=";
};
nativeBuildInputs = [

View File

@ -18,11 +18,11 @@ in
buildPythonPackage rec {
pname = "entrance";
version = "1.1.17";
version = "1.1.20";
src = fetchPypi {
inherit pname version;
sha256 = "dee5b4f3330f633fcd4e665f1781bf6e53b375ffdc7a24434257dfba6b1c2d7f";
sha256 = "sha256-PvsP6HXCllW102h3o7abz9uC2AZTwvg5qIqP+rdkk6Y=";
};
# The versions of `sanic` and `websockets` in nixpkgs only support 3.6 or later

View File

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "flake8-bugbear";
version = "23.1.20";
version = "23.2.13";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "PyCQA";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-JO6S9LjCEZKeUKxUpkqEw+RJ47HLbwQOOOKhHwnmWVI=";
hash = "sha256-4iOt6KQU8QkNdmGBIyevfwqvbKpylV+BN49GjeX68xE=";
};
propagatedBuildInputs = [

View File

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "lupupy";
version = "0.2.8";
version = "0.3.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
hash = "sha256-UIfv5lt9Vcyes9VYXkaQyBzfkcRiIE4It7q/CMJc7go=";
hash = "sha256-g2EEyPhsQZ+VKP/kSjZdQ9ns0NlptH8l2h0vTTLpF54=";
};
propagatedBuildInputs = [

View File

@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "neo";
version = "0.11.1";
version = "0.12.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-9KIGBEszKtALEAcrDcenCzWfo2XseG+Sq3V+9K5YhHQ=";
hash = "sha256-O2yk/AXf206VPiU+cJlL+7yP4ukJWPvaf6WGDK8/pjo=";
};
propagatedBuildInputs = [
@ -41,6 +41,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Package for representing electrophysiology data";
homepage = "https://neuralensemble.org/neo/";
changelog = "https://neo.readthedocs.io/en/${version}/releases/${version}.html";
license = licenses.bsd3;
maintainers = with maintainers; [ bcdarwin ];
};

View File

@ -17,11 +17,11 @@
buildPythonPackage rec {
pname = "python-cinderclient";
version = "9.2.0";
version = "9.3.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-qnYodaJwr0kFfKyofVsDTmMLMYDexqGTz8uSefPWPfQ=";
sha256 = "sha256-mmqjD+/0jAwP0Yjm1RUNvdkeP9WxDS2514uYEqsUr4g=";
};
propagatedBuildInputs = [

View File

@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "python-novaclient";
version = "18.2.0";
version = "18.3.0";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-GFu/LK+189dh8nLj4YSnAMx7pc99UWGQZb5/XEtbfPQ=";
hash = "sha256-UPdYfHorJSj3NQWBf5Q3rFwdBNV26b4mTS3u/9t0WnY=";
};
propagatedBuildInputs = [

View File

@ -31,7 +31,7 @@
buildPythonPackage rec {
pname = "pyunifiprotect";
version = "4.6.2";
version = "4.7.0";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -40,7 +40,7 @@ buildPythonPackage rec {
owner = "briis";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-sEIjR6ScJNliJJJET06e22x5GMDrmB6fZAzyHr847sk=";
hash = "sha256-VvziL9IfPP19whwaLpNp42mZEduGqnPjPJtlSjTNmMo=";
};
postPatch = ''

View File

@ -3,17 +3,28 @@
, fetchPypi
, numpy
, pytestCheckHook
, pythonOlder
, setuptools
, setuptools-scm
}:
buildPythonPackage rec {
pname = "quantities";
version = "0.13.0";
version = "0.14.1";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
sha256 = "0fde20115410de21cefa786f3aeae69c1b51bb19ee492190324c1da705e61a81";
hash = "sha256-7+r//AwDZPiRqTJyOc0SSWvMtVzQN6bRv0TecG9yKHc=";
};
nativeBuildInputs = [
setuptools
setuptools-scm
];
propagatedBuildInputs = [
numpy
];
@ -27,11 +38,14 @@ buildPythonPackage rec {
"test_mul"
];
pythonImportsCheck = [ "quantities" ];
pythonImportsCheck = [
"quantities"
];
meta = with lib; {
description = "Quantities is designed to handle arithmetic and conversions of physical quantities";
homepage = "https://python-quantities.readthedocs.io/";
changelog = "https://github.com/python-quantities/python-quantities/blob/v${version}/CHANGES.txt";
license = licenses.bsd2;
maintainers = with maintainers; [ ];
};

View File

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "yfinance";
version = "0.2.11";
version = "0.2.12";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "ranaroussi";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-Lp8HqXq4PhvpTzFbldk70pU03+qsHzGeHIkaPdedvRo=";
hash = "sha256-k0al/N9xWen/IlE8JfFV98DSRnelQk+MURXz3IjGgNI=";
};
propagatedBuildInputs = [

View File

@ -1,25 +1,59 @@
{ stdenv, pkgs, makeWrapper, runCommand, lib, writeShellScript
, fetchFromGitHub, bundlerEnv, callPackage
{ stdenv
, pkgs
, makeWrapper
, runCommand
, lib
, writeShellScript
, fetchFromGitHub
, bundlerEnv
, callPackage
, ruby, replace, gzip, gnutar, git, cacert, util-linux, gawk, nettools
, imagemagick, optipng, pngquant, libjpeg, jpegoptim, gifsicle, jhead
, oxipng, libpsl, redis, postgresql, which, brotli, procps, rsync, icu
, fetchYarnDeps, yarn, fixup_yarn_lock, nodePackages, nodejs-14_x
, ruby_3_1
, replace
, gzip
, gnutar
, git
, cacert
, util-linux
, gawk
, nettools
, imagemagick
, optipng
, pngquant
, libjpeg
, jpegoptim
, gifsicle
, jhead
, oxipng
, libpsl
, redis
, postgresql
, which
, brotli
, procps
, rsync
, icu
, fetchYarnDeps
, yarn
, fixup_yarn_lock
, nodePackages
, nodejs-16_x
, plugins ? []
}@args:
let
version = "2.9.0.beta14";
version = "3.1.0.beta2";
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse";
rev = "v${version}";
sha256 = "sha256-rdH6tALfhZyCGq1dtOQyuRlEYHSmWgvSz2qG6jrwPu0=";
sha256 = "sha256-wkNTm5/QyujPcMUrnc6eWmjhrRQAthhmejmjpy6zmbE=";
};
ruby = ruby_3_1;
runtimeDeps = [
# For backups, themes and assets
rubyEnv.wrappedRuby
@ -165,7 +199,7 @@ let
yarnOfflineCache = fetchYarnDeps {
yarnLock = src + "/app/assets/javascripts/yarn.lock";
sha256 = "1rj8bbhmrnnhaiqw2bik8dilk7g35yhis5p7yww57zy4k5ghjvlw";
sha256 = "0ryc4p5s35mzg1p71z98x5fvr5fpldmgghdi1viha4ckbpv153lw";
};
nativeBuildInputs = runtimeDeps ++ [
@ -174,7 +208,7 @@ let
nodePackages.uglify-js
nodePackages.terser
yarn
nodejs-14_x
nodejs-16_x
];
outputs = [ "out" "javascripts" ];

View File

@ -0,0 +1,24 @@
To update discourse, do the following:
1. Switch to and work from the `master` branch and the directory this
file is in.
2. Run `./update.py print-diffs` and update the nginx settings and
backend settings accordingly. If you don't know how to, ask for
help - do not skip this step!
3. Run `./update.py update`.
4. Run `nix build -L -f ../../../../ discourse.tests` to make sure the
update works. Also test manually, if possible.
5. If the update works, commit it. If not, apply necessary fixes and
commit. No manual fixes that would be overwritten by the
`./update.py` script should be committed - the script should be
fixed instead.
6. Run `./update.py update-mail-receiver`. If there's an update, do
step 4 and 5 again.
7. Run `./update.py update-plugins`.
8. Run `nix build -L -f ../../../../ discourseAllPlugins.tests` to
make sure the plugins build and discourse starts with them. Also
test manually, if possible.
9. If the update works, commit it. If not, apply necessary fixes and
commit. No manual fixes that would be overwritten by the
`./update.py` script should be committed - the script should be
fixed instead.

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-assign";
rev = "889df32cc61792ed7b1981a08f0b0e9c46da2a56";
sha256 = "sha256-ggMmIzjb4CBNAJTf8E09iaN5AGPj+BDzRf2y3h4DCMc=";
rev = "c6e6a883f66670e5cfc1eb973af8ac5b7c20f815";
sha256 = "sha256-OwNV+ZNogUgd6ZKdXwUqoMqcZKc4jbf276rHIYQzjYc=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-docs";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-bbcode-color";
rev = "88ff27dc22198075f1ee8aba3f2b032187b73b9c";
sha256 = "sha256-MSwX4qEgrWMTNhF1UE6/GMvo/ZPvg8KZF3DvQutRBVY=";
rev = "f9ebbf016c8c5c763473ff36cc30fdcdf8fcf480";
sha256 = "sha256-7iCKhMdVlFdHMXxU8mQMU1vFiAbr1qKvG29VdAki+14=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-bbcode-color";

View File

@ -3,4 +3,4 @@
source "https://rubygems.org"
# gem "rails"
gem 'rrule', '0.4.4', require: false
gem "rrule", "0.4.4", require: false

View File

@ -1,18 +1,18 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.0.4)
activesupport (7.0.4.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
concurrent-ruby (1.1.10)
concurrent-ruby (1.2.0)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
minitest (5.16.3)
minitest (5.17.0)
rrule (0.4.4)
activesupport (>= 2.3)
tzinfo (2.0.5)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
PLATFORMS
@ -22,4 +22,4 @@ DEPENDENCIES
rrule (= 0.4.4)
BUNDLED WITH
2.3.25
2.4.6

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-calendar";
rev = "f4f16d958e5cec5fab109d09a7bfb50fc2b8da12";
sha256 = "sha256-TWIWHOVeq3IKjinycaoiVccFKaP4UbNUpZ5n/SQ6afA=";
rev = "b71d4979370dcbd6f193b2ac5cfa0267f8a19fed";
sha256 = "sha256-XGybZqoM0nX8acLo3iwo+zD+zA4pz/ekLOnmDRNIVSo=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-calendar";

View File

@ -5,20 +5,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "183az13i4fsm28d0l5xhbjpmcj3l1lxzcxlx8pi8zrbd933jwqd0";
sha256 = "0dmywys50074vj5rivpx188b00qimlc4jn84xzqlialrgp3ckq5f";
type = "gem";
};
version = "7.0.4";
version = "7.0.4.2";
};
concurrent-ruby = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
sha256 = "1qnsflsbjj38im8xq35g0vihlz96h09wjn2dad5g543l3vvrkrx5";
type = "gem";
};
version = "1.1.10";
version = "1.2.0";
};
i18n = {
dependencies = ["concurrent-ruby"];
@ -36,10 +36,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0516ypqlx0mlcfn5xh7qppxqc3xndn1fnadxawa8wld5dkcimy30";
sha256 = "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0";
type = "gem";
};
version = "5.16.3";
version = "5.17.0";
};
rrule = {
dependencies = ["activesupport"];
@ -58,9 +58,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rx114mpqnw2k4h98vc0rs0x0bmf0img84yh8mkkjkal07cjydf5";
sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
type = "gem";
};
version = "2.0.5";
version = "2.0.6";
};
}

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-canned-replies";
rev = "fe92bc1324fe0d2519f0e33b3fd89a4bed21b2e9";
sha256 = "sha256-m+DDS93XJAN9RqX8pXeA78gY+p+7A2ey1oblGpcB4L0=";
rev = "b30b20d43ba5cbbb1ff1476bb43e97d5b8a807e8";
sha256 = "sha256-XROYSqGy4Z39VAlMXCbx9d+kivpknN98Kn/HhoC4ndQ=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-canned-replies";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-chat-integration";
rev = "f6dde41cba2722970cc1a49f47636174a6ec7797";
sha256 = "sha256-Cn+Ti1DYcFRqunEEFjGJuhnICO+53IX7tF7U8MkzJX0=";
rev = "0522ad64143c9aedb27e00b642e82cad1273c83b";
sha256 = "sha256-GsoDVZkmKEX8+HwwQXptmmRuykTDqkbsL4WbFsL/PSo=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-chat-integration";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-checklist";
rev = "c97060bd9dc1287d258cac6b7222a9a61d4f97c7";
sha256 = "sha256-fVGTYz/2PK5rq/7SE/hkQoWYiIzOcmZ9AHNe5f+osxY=";
rev = "4a7f3df360a8e4ff3bbebfed33ea545b1c72506e";
sha256 = "sha256-lu8Ry3sUsKnr1nMfR29hbhsfJXLaN5NPuz8iGfsfHTc=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-checklist";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-data-explorer";
rev = "467b6c8a91a08ca71080b9bbff2e0cd45dc4efe5";
sha256 = "sha256-65Osh9oud/Gfy6dVJ4QXqT+A0wdIN33BeaCUIfyWEGA=";
rev = "556d12ac507b140d1ed9d307cad58fa8e1d8cfdd";
sha256 = "sha256-fcO/j506kIydnipx6VsuMkj4Wb2MmPCo3LSrj9Fnczc=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-data-explorer";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-docs";
rev = "908d9096a81e1d706da231558f9a0547357fe73a";
sha256 = "sha256-77MTXMTjuwG1qIhYwUlNBNA39p/eyPF2+IHFpUiG8uo=";
rev = "bf1c4574a61b053c136e2b181ba2fedb6c16f838";
sha256 = "sha256-voo3Q+e/Ud1Hg+SdHlvRsxoacFnPOQXwWu/g6n5cR3Y=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-docs";

View File

@ -3,5 +3,5 @@
source "https://rubygems.org"
# gem "rails"
gem 'sawyer', '0.9.2'
gem 'octokit', '5.6.1'
gem "sawyer", "0.9.2"
gem "octokit", "5.6.1"

View File

@ -3,14 +3,14 @@ GEM
specs:
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
faraday (2.7.1)
faraday (2.7.4)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
octokit (5.6.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
public_suffix (5.0.0)
public_suffix (5.0.1)
ruby2_keywords (0.0.5)
sawyer (0.9.2)
addressable (>= 2.3.5)
@ -24,4 +24,4 @@ DEPENDENCIES
sawyer (= 0.9.2)
BUNDLED WITH
2.3.25
2.4.6

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-github";
rev = "873cb13a0dcb3e70360adb86a2e293f377536626";
sha256 = "sha256-r3+RXVb0k2UFiMeBQ998Obw7GQg1/uyUzpxFP9g5yXs=";
rev = "148f28c1089288c9527fab1dcb88f13a5a5b0d10";
sha256 = "sha256-u91X+YFoKE0lP4RnNWX2XzNrJvlOQPbuZzFqBEVf84w=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-github";

View File

@ -16,10 +16,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590";
sha256 = "1f20vjx0ywx0zdb4dfx4cpa7kd51z6vg7dw5hs35laa45dy9g9pj";
type = "gem";
};
version = "2.7.1";
version = "2.7.4";
};
faraday-net_http = {
groups = ["default"];
@ -47,10 +47,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0sqw1zls6227bgq38sxb2hs8nkdz4hn1zivs27mjbniswfy4zvi6";
sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35";
type = "gem";
};
version = "5.0.0";
version = "5.0.1";
};
ruby2_keywords = {
groups = ["default"];

View File

@ -5,5 +5,5 @@ source "https://rubygems.org"
# gem "rails"
gem 'pyu-ruby-sasl', '0.0.3.3', require: false
gem 'rubyntlm', '0.3.4', require: false
gem 'net-ldap', '0.14.0'
gem 'net-ldap', '0.17.1'
gem 'omniauth-ldap', '1.0.5'

View File

@ -2,7 +2,7 @@ GEM
remote: https://rubygems.org/
specs:
hashie (5.0.0)
net-ldap (0.14.0)
net-ldap (0.17.1)
omniauth (1.9.2)
hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
@ -12,17 +12,17 @@ GEM
pyu-ruby-sasl (~> 0.0.3.2)
rubyntlm (~> 0.3.4)
pyu-ruby-sasl (0.0.3.3)
rack (2.2.4)
rack (2.2.6.2)
rubyntlm (0.3.4)
PLATFORMS
ruby
DEPENDENCIES
net-ldap (= 0.14.0)
net-ldap (= 0.17.1)
omniauth-ldap (= 1.0.5)
pyu-ruby-sasl (= 0.0.3.3)
rubyntlm (= 0.3.4)
BUNDLED WITH
2.3.22
2.4.6

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "jonmbake";
repo = "discourse-ldap-auth";
rev = "84635b1c352b2145b8e6074d94047f1e2020dcbc";
sha256 = "sha256-yCCSger7qa9R/BMaQdcFtLXqLPj3i3y4tTanz+ufZTw=";
rev = "2f7a04b9fbeda0c8ab5c70e9012e4914ede9a707";
sha256 = "sha256-zBug9PHgvRsdQjvfWE5Bylm+0Ot+jBHFrbux7+Kn72c=";
};
meta = with lib; {
homepage = "https://github.com/jonmbake/discourse-ldap-auth";

View File

@ -14,10 +14,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18fyxfbh32ai72cwgz8s9w0fg0xq7j534y217flw54mmzsj8i6qp";
sha256 = "1ycw0qsw3hap8svakl0i30jkj0ffd4lpyrn17a1j0w8mz5ainmsj";
type = "gem";
};
version = "0.14.0";
version = "0.17.1";
};
omniauth = {
dependencies = ["hashie" "rack"];
@ -56,10 +56,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0axc6w0rs4yj0pksfll1hjgw1k6a5q0xi2lckh91knfb72v348pa";
sha256 = "0qvp6h2abmlsl4sqjsvac03cr2mxq6143gbx4kq52rpazp021qsb";
type = "gem";
};
version = "2.2.4";
version = "2.2.6.2";
};
rubyntlm = {
groups = ["default"];

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-math";
rev = "45563f691aafcd0d76f07db9c105d42f3e3d5ba0";
sha256 = "sha256-s2mzV1YdUG9vjw1LKm+jZriQfWYN5Jn232z3Cc7NFeg=";
rev = "69494ca5a4d708e16e35f1daebeaa53e3edbca2c";
sha256 = "sha256-C0iVUwj+Lbe6TGfkbu6WxdCeMWVjBaejUh6fXVTqq08=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-math";

View File

@ -7,4 +7,4 @@ gem 'bcrypt', '3.1.13'
gem 'unix-crypt', '1.3.0'
gem 'ffi', '1.15.5', require: false
gem 'ffi-compiler', '1.0.1', require: false
gem 'argon2', '2.1.1'
gem 'argon2', '2.2.0'

View File

@ -1,8 +1,8 @@
GEM
remote: https://rubygems.org/
specs:
argon2 (2.1.1)
ffi (~> 1.14)
argon2 (2.2.0)
ffi (~> 1.15)
ffi-compiler (~> 1.0)
bcrypt (3.1.13)
ffi (1.15.5)
@ -16,11 +16,11 @@ PLATFORMS
ruby
DEPENDENCIES
argon2 (= 2.1.1)
argon2 (= 2.2.0)
bcrypt (= 3.1.13)
ffi (= 1.15.5)
ffi-compiler (= 1.0.1)
unix-crypt (= 1.3.0)
BUNDLED WITH
2.3.23
2.4.6

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "communiteq";
repo = "discourse-migratepassword";
rev = "54a451e3dea4416c763c9afacfb6e9fcc05f135a";
sha256 = "sha256-14gxO4hYEOSz2Fenl4tO8xeM1AkPaCilV4cnoJQNHGY=";
rev = "f78774242eb9bf49a72d2800a39a24eeaa3b401a";
sha256 = "sha256-QJO+ei9/l7ye+kWE9VmiIuNCiOH66kd3vds49qlIztY=";
};
meta = with lib; {
homepage = "https://github.com/communiteq/discourse-migratepassword";

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0g4qsdq072fyrsa7r0sg456dhrb017jmzdbnnzl2c80ha40bbmhg";
sha256 = "1wdllcqlr81nzyf485ldv1p660xsi476p79ghbj7zsf3n9n86gwd";
type = "gem";
};
version = "2.1.1";
version = "2.2.0";
};
bcrypt = {
groups = ["default"];

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-openid-connect";
rev = "43a30dde4a64a01250f4447e74806db65ee7ae1a";
sha256 = "sha256-/3AE5cDELKfKwEY+XqaZ6SzJp6XAnW83r67kzLGaV2M=";
rev = "fd552d5eee75ba5710ce92bcd2fa7457ec98bcab";
sha256 = "sha256-+58QfVvA6BqI/5AfdI4RiSSMzWHvAJMxPvDS2r5FieU=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-openid-connect";

View File

@ -3,4 +3,5 @@
source "https://rubygems.org"
# gem "rails"
gem 'prometheus_exporter', File.read(File.expand_path("../prometheus_exporter_version", __FILE__)).strip
gem "webrick", "1.7.0"
gem "prometheus_exporter", File.read(File.expand_path("../prometheus_exporter_version", __FILE__)).strip

View File

@ -1,13 +1,16 @@
GEM
remote: https://rubygems.org/
specs:
prometheus_exporter (0.5.0)
prometheus_exporter (2.0.6)
webrick
webrick (1.7.0)
PLATFORMS
ruby
DEPENDENCIES
prometheus_exporter (= 0.5.0)
prometheus_exporter (= 2.0.6)
webrick (= 1.7.0)
BUNDLED WITH
2.3.25
2.4.6

View File

@ -6,8 +6,8 @@
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-prometheus";
rev = "72fff206ba18ad5ca3112fed2f5f0ce6a17ca6f8";
sha256 = "sha256-lSZZTcoWeFJTXnHLgry5ezYGmCBuMFJ96dtkOQKKRJc=";
rev = "78324fbaa8cfa3040ee7e01ac793ad2515b6c004";
sha256 = "sha256-xzI6gzRztLuEzFHlMi3iXZP9bRRMsRHRQEBrwqyzpdk=";
};
patches = [

View File

@ -1,12 +1,23 @@
{
prometheus_exporter = {
dependencies = ["webrick"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kmabnxz466zqnyqlzc693ny4l7i0rxvmc0znswvizc0zg4pri80";
sha256 = "0pb4k6px8b36bvnw3d14j31s33ns60dcwxixbcgvhpzavd7fparb";
type = "gem";
};
version = "0.5.0";
version = "2.0.6";
};
webrick = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7";
type = "gem";
};
version = "1.7.0";
};
}

View File

@ -2,7 +2,7 @@ diff --git a/lib/internal_metric/global.rb b/lib/internal_metric/global.rb
index 682571b..7bdd431 100644
--- a/lib/internal_metric/global.rb
+++ b/lib/internal_metric/global.rb
@@ -30,30 +30,7 @@ module DiscoursePrometheus::InternalMetric
@@ -30,28 +30,7 @@ module DiscoursePrometheus::InternalMetric
@active_app_reqs = 0
@queued_app_reqs = 0
@fault_logged = {}
@ -10,7 +10,7 @@ index 682571b..7bdd431 100644
- begin
- @@version = nil
-
- out, error, status = Open3.capture3('git rev-parse HEAD')
- out, error, status = Open3.capture3("git rev-parse HEAD")
-
- if status.success?
- @@version ||= out.chomp
@ -26,9 +26,7 @@ index 682571b..7bdd431 100644
-
- @@retries ||= 10
- @@retries -= 1
- if @@retries < 0
- @@version = -1
- end
- @@version = -1 if @@retries < 0
- end
+ @@version = -1
end

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-reactions";
rev = "3afaabc8e430dfe655be4efbbcb20ab7f0c7c8d3";
sha256 = "sha256-CdrInrPFDpvYW7j0epIeAFUoPGTbmMOGdm2DpkIQBbs=";
rev = "aba16d53d15ceca9ae18595ae85defbd10fe0256";
sha256 = "sha256-mGyMQGNa5Q2hMQkdIsa1JArA6cqSK+FmGSDJFZxS/go=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-reactions";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-saved-searches";
rev = "be97918d0bbac81b98ab96773d5c8c01313ac0c2";
sha256 = "sha256-2HTFfaJkLXuuMDa3m7Ppkh9v4BnLfKXyWiRN4c+xaNI=";
rev = "d0b568efe6f829617a5bb85793f0ec1d697f2a96";
sha256 = "sha256-455ovBExE2+vuZOc0bESAbhtTOXqkMrQ//mVSIitLig=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-saved-searches";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-solved";
rev = "a078219a9785f995a0a41c64b97bb0f2930a3ba1";
sha256 = "sha256-P3rWEgPoMtzapSqARMFe5/IGT/QtTUFx8LB1kf6vBiU=";
rev = "8580f96fdf64abf8b22fa4b28d67a4cb0d72fc42";
sha256 = "sha256-YpUybEXQuPeDxxdX9dMNw4h6Mh/zNUaiR3bwzck5Urg=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-solved";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-spoiler-alert";
rev = "a7727a1c6b6f921365e1cee802e0c16512bbf8ee";
sha256 = "sha256-60Sg8C7a4vXq/IApcskL0hgceoIHhWqACphcgfrbNig=";
rev = "a5fdb9096d638ac4a2a3f8ea6b02b6cb04c667d8";
sha256 = "sha256-S2Xtd/csB1YI85OA+2UO+OgF5u75Oi2YgIukQNOTQjk=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-spoiler-alert";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-voting";
rev = "1ecf494a789235d7ceaf2c8f6cad49176347e6b6";
sha256 = "sha256-6UX7VGuZ+AT44ExfZNFWxFwgEx9zBJ3fQbO1vgCa5bE=";
rev = "54e134c9b4dfeeb7585ff2c2a782990308733d8b";
sha256 = "sha256-0V+4G2XxUjL424DChFIFjCKm2zWaTAXOSiB9Ic8/lF0=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-voting";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-yearly-review";
rev = "0f24d14d2dc861e404cb28f63832b93ed41b44eb";
sha256 = "sha256-7cstjcuZ6OUn7u85UEp/B4pycepEK8CHg4W/O4ePoQg=";
rev = "cb9a2df92788b0a285a595d4acf1749620f62974";
sha256 = "sha256-Hu61ULEXUxb/cjH7Z47hpBchyUTkz0QqunWoW8mSVQg=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-yearly-review";

View File

@ -1,51 +1,51 @@
# frozen_string_literal: true
source 'https://rubygems.org'
source "https://rubygems.org"
# if there is a super emergency and rubygems is playing up, try
#source 'http://production.cf.rubygems.org'
gem 'bootsnap', require: false, platform: :mri
gem "bootsnap", require: false, platform: :mri
def rails_master?
ENV["RAILS_MASTER"] == '1'
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'
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.3.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'
rails_version = "7.0.4.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 'json'
gem "json"
# TODO: At the moment Discourse does not work with Sprockets 4, we would need to correct internals
# This is a desired upgrade we should get to.
gem 'sprockets', '3.7.2'
# We intend to drop sprockets rather than upgrade to 4.x
gem "sprockets", git: "https://github.com/rails/sprockets", branch: "3.x"
# this will eventually be added to rails,
# allows us to precompile all our templates in the unicorn master
gem 'actionview_precompiler', require: false
gem "actionview_precompiler", require: false
gem 'discourse-seed-fu'
gem "discourse-seed-fu"
gem 'mail', git: 'https://github.com/discourse/mail.git'
gem 'mini_mime'
gem 'mini_suffix'
gem "mail", git: "https://github.com/discourse/mail.git"
gem "mini_mime"
gem "mini_suffix"
gem 'redis'
gem "redis"
# This is explicitly used by Sidekiq and is an optional dependency.
# We tell Sidekiq to use the namespace "sidekiq" which triggers this
@ -53,79 +53,79 @@ gem 'redis'
# redis namespace support is optional
# We already namespace stuff in DiscourseRedis, so we should consider
# just using a single implementation in core vs having 2 namespace implementations
gem 'redis-namespace'
gem "redis-namespace"
# NOTE: AM serializer gets a lot slower with recent updates
# we used an old branch which is the fastest one out there
# are long term goal here is to fork this gem so we have a
# better maintained living fork
gem 'active_model_serializers', '~> 0.8.3'
gem "active_model_serializers", "~> 0.8.3"
gem 'http_accept_language', require: false
gem "http_accept_language", require: false
gem 'discourse-fonts', require: 'discourse_fonts'
gem "discourse-fonts", require: "discourse_fonts"
gem 'message_bus'
gem "message_bus"
gem 'rails_multisite'
gem "rails_multisite"
gem 'fast_xs', platform: :ruby
gem "fast_xs", platform: :ruby
gem 'xorcist'
gem "xorcist"
gem 'fastimage'
gem "fastimage"
gem 'aws-sdk-s3', require: false
gem 'aws-sdk-sns', require: false
gem 'excon', require: false
gem 'unf', require: false
gem "aws-sdk-s3", require: false
gem "aws-sdk-sns", require: false
gem "excon", require: false
gem "unf", require: false
gem 'email_reply_trimmer'
gem "email_reply_trimmer"
gem 'image_optim'
gem 'multi_json'
gem 'mustache'
gem 'nokogiri'
gem 'loofah'
gem 'css_parser', require: false
gem "image_optim"
gem "multi_json"
gem "mustache"
gem "nokogiri"
gem "loofah"
gem "css_parser", require: false
gem 'omniauth'
gem 'omniauth-facebook'
gem 'omniauth-twitter'
gem 'omniauth-github'
gem "omniauth"
gem "omniauth-facebook"
gem "omniauth-twitter"
gem "omniauth-github"
gem 'omniauth-oauth2', require: false
gem "omniauth-oauth2", require: false
gem 'omniauth-google-oauth2'
gem "omniauth-google-oauth2"
# pending: https://github.com/ohler55/oj/issues/789
gem 'oj', '3.13.14'
gem "oj", "3.13.14"
gem 'pg'
gem 'mini_sql'
gem 'pry-rails', require: false
gem 'pry-byebug', require: false
gem 'r2', require: false
gem 'rake'
gem "pg"
gem "mini_sql"
gem "pry-rails", require: false
gem "pry-byebug", require: false
gem "r2", require: false
gem "rake"
gem 'thor', require: false
gem 'diffy', require: false
gem 'rinku'
gem 'sidekiq'
gem 'mini_scheduler'
gem "thor", require: false
gem "diffy", require: false
gem "rinku"
gem "sidekiq"
gem "mini_scheduler"
gem 'execjs', require: false
gem 'mini_racer'
gem "execjs", require: false
gem "mini_racer"
gem 'highline', require: false
gem "highline", require: false
gem 'rack'
gem "rack"
gem 'rack-protection' # security
gem 'cbor', require: false
gem 'cose', require: false
gem 'addressable'
gem 'json_schemer'
gem "rack-protection" # security
gem "cbor", require: false
gem "cose", require: false
gem "addressable"
gem "json_schemer"
gem "net-smtp", require: false
gem "net-imap", require: false
@ -135,138 +135,147 @@ gem "digest", require: false
# Gems used only for assets and not required in production environments by default.
# Allow everywhere for now cause we are allowing asset debugging in production
group :assets do
gem 'uglifier'
gem "uglifier"
end
group :test do
gem 'capybara', require: false
gem 'webmock', require: false
gem 'fakeweb', require: false
gem 'minitest', require: false
gem 'simplecov', require: false
gem 'selenium-webdriver', require: false
gem "capybara", require: false
gem "webmock", require: false
gem "fakeweb", require: false
gem "minitest", require: false
gem "simplecov", require: false
gem "selenium-webdriver", require: false
gem "test-prof"
gem 'webdrivers', require: false
gem "webdrivers", require: false
end
group :test, :development do
gem 'rspec'
gem 'listen', require: false
gem 'certified', require: false
gem 'fabrication', require: false
gem 'mocha', require: false
gem "rspec"
gem "listen", require: false
gem "certified", require: false
gem "fabrication", require: false
gem "mocha", require: false
gem 'rb-fsevent', require: RUBY_PLATFORM =~ /darwin/i ? 'rb-fsevent' : false
gem "rb-fsevent", require: RUBY_PLATFORM =~ /darwin/i ? "rb-fsevent" : false
gem 'rspec-rails'
gem "rspec-rails"
gem 'shoulda-matchers', require: false
gem 'rspec-html-matchers'
gem 'byebug', require: ENV['RM_INFO'].nil?, platform: :mri
gem 'rubocop-discourse', require: false
gem 'parallel_tests'
gem "shoulda-matchers", require: false
gem "rspec-html-matchers"
gem "byebug", require: ENV["RM_INFO"].nil?, platform: :mri
gem "rubocop-discourse", require: false
gem "parallel_tests"
gem 'rswag-specs'
gem "rswag-specs"
gem 'annotate'
gem "annotate"
gem "syntax_tree"
gem "syntax_tree-disable_ternary"
end
group :development do
gem 'ruby-prof', require: false, platform: :mri
gem 'bullet', require: !!ENV['BULLET']
gem 'better_errors', platform: :mri, require: !!ENV['BETTER_ERRORS']
gem 'binding_of_caller'
gem 'yaml-lint'
gem "ruby-prof", require: false, platform: :mri
gem "bullet", require: !!ENV["BULLET"]
gem "better_errors", platform: :mri, require: !!ENV["BETTER_ERRORS"]
gem "binding_of_caller"
gem "yaml-lint"
end
if ENV["ALLOW_DEV_POPULATE"] == "1"
gem 'discourse_dev_assets'
gem 'faker', "~> 2.16"
gem "discourse_dev_assets"
gem "faker", "~> 2.16"
else
group :development, :test do
gem 'discourse_dev_assets'
gem 'faker', "~> 2.16"
gem "discourse_dev_assets"
gem "faker", "~> 2.16"
end
end
# this is an optional gem, it provides a high performance replacement
# to String#blank? a method that is called quite frequently in current
# ActiveRecord, this may change in the future
gem 'fast_blank', platform: :ruby
gem "fast_blank", platform: :ruby
# this provides a very efficient lru cache
gem 'lru_redux'
gem "lru_redux"
gem 'htmlentities', require: false
gem "htmlentities", require: false
# IMPORTANT: mini profiler monkey patches, so it better be required last
# If you want to amend mini profiler to do the monkey patches in the railties
# we are open to it. by deferring require to the initializer we can configure discourse installs without it
gem 'rack-mini-profiler', require: ['enable_rails_patches']
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
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
gem 'ruby-readability', require: false
gem "ruby-readability", require: false
# rss gem is a bundled gem from Ruby 3 onwards
gem 'rss', require: false
gem "rss", require: false
gem 'stackprof', require: false, platform: :mri
gem 'memory_profiler', require: false, platform: :mri
gem "stackprof", require: false, platform: :mri
gem "memory_profiler", require: false, platform: :mri
gem 'cppjieba_rb', require: false
gem "cppjieba_rb", require: false
gem 'lograge', require: false
gem 'logstash-event', require: false
gem 'logstash-logger', require: false
gem 'logster'
gem "lograge", require: false
gem "logstash-event", require: false
gem "logstash-logger", require: false
gem "logster"
# NOTE: later versions of sassc are causing a segfault, possibly dependent on processer architecture
# and until resolved should be locked at 2.0.1
gem 'sassc', '2.0.1', require: false
gem "sassc", "2.0.1", require: false
gem "sassc-rails"
gem 'rotp', require: false
gem "rotp", require: false
gem 'rqrcode'
gem "rqrcode"
gem 'rubyzip', require: false
gem "rubyzip", require: false
gem 'sshkey', require: false
gem "sshkey", require: false
gem 'rchardet', require: false
gem 'lz4-ruby', require: false, platform: :ruby
gem "rchardet", require: false
gem "lz4-ruby", require: false, platform: :ruby
gem 'sanitize'
gem "sanitize"
if ENV["IMPORT"] == "1"
gem 'mysql2'
gem 'redcarpet'
gem "mysql2"
gem "redcarpet"
# NOTE: in import mode the version of sqlite can matter a lot, so we stick it to a specific one
gem 'sqlite3', '~> 1.3', '>= 1.3.13'
gem 'ruby-bbcode-to-md', git: 'https://github.com/nlalonde/ruby-bbcode-to-md'
gem 'reverse_markdown'
gem 'tiny_tds'
gem 'csv'
gem "sqlite3", "~> 1.3", ">= 1.3.13"
gem "ruby-bbcode-to-md", git: "https://github.com/nlalonde/ruby-bbcode-to-md"
gem "reverse_markdown"
gem "tiny_tds"
gem "csv"
gem 'parallel', require: false
gem "parallel", require: false
end
gem 'webpush', require: false
gem 'colored2', require: false
gem 'maxminddb'
gem "web-push"
gem "colored2", require: false
gem "maxminddb"
gem 'rails_failover', require: false
gem "rails_failover", require: false
gem 'faraday'
gem 'faraday-retry'
gem "faraday"
gem "faraday-retry"
# workaround for faraday-net_http, see
# https://github.com/ruby/net-imap/issues/16#issuecomment-803086765
gem 'net-http'
gem "net-http"
# workaround for prometheus-client
gem "webrick", require: false
# Workaround until Ruby ships with cgi version 0.3.6 or higher.
gem "cgi", ">= 0.3.6", require: false

View File

@ -5,28 +5,37 @@ GIT
mail (2.8.0.edge)
mini_mime (>= 0.1.1)
GIT
remote: https://github.com/rails/sprockets
revision: f4d3dae71ef29c44b75a49cfbf8032cce07b423a
branch: 3.x
specs:
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
GEM
remote: https://rubygems.org/
specs:
actionmailer (7.0.3.1)
actionpack (= 7.0.3.1)
actionview (= 7.0.3.1)
activejob (= 7.0.3.1)
activesupport (= 7.0.3.1)
actionmailer (7.0.4.1)
actionpack (= 7.0.4.1)
actionview (= 7.0.4.1)
activejob (= 7.0.4.1)
activesupport (= 7.0.4.1)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.0)
actionpack (7.0.3.1)
actionview (= 7.0.3.1)
activesupport (= 7.0.3.1)
actionpack (7.0.4.1)
actionview (= 7.0.4.1)
activesupport (= 7.0.4.1)
rack (~> 2.0, >= 2.2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (7.0.3.1)
activesupport (= 7.0.3.1)
actionview (7.0.4.1)
activesupport (= 7.0.4.1)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
@ -35,15 +44,15 @@ GEM
actionview (>= 6.0.a)
active_model_serializers (0.8.4)
activemodel (>= 3.0)
activejob (7.0.3.1)
activesupport (= 7.0.3.1)
activejob (7.0.4.1)
activesupport (= 7.0.4.1)
globalid (>= 0.3.6)
activemodel (7.0.3.1)
activesupport (= 7.0.3.1)
activerecord (7.0.3.1)
activemodel (= 7.0.3.1)
activesupport (= 7.0.3.1)
activesupport (7.0.3.1)
activemodel (7.0.4.1)
activesupport (= 7.0.4.1)
activerecord (7.0.4.1)
activemodel (= 7.0.4.1)
activesupport (= 7.0.4.1)
activesupport (7.0.4.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
@ -82,7 +91,7 @@ GEM
bootsnap (1.15.0)
msgpack (~> 1.2)
builder (3.2.4)
bullet (7.0.4)
bullet (7.0.7)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
byebug (11.1.3)
@ -97,11 +106,11 @@ GEM
xpath (~> 3.2)
cbor (0.5.9.6)
certified (1.0.0)
childprocess (4.1.0)
cgi (0.3.6)
chunky_png (1.4.0)
coderay (1.1.3)
colored2 (3.1.2)
concurrent-ruby (1.1.10)
concurrent-ruby (1.2.0)
connection_pool (2.3.0)
cose (1.3.0)
cbor (~> 0.5.9)
@ -110,12 +119,13 @@ GEM
crack (0.4.5)
rexml
crass (1.0.6)
css_parser (1.12.0)
css_parser (1.14.0)
addressable
date (3.3.3)
debug_inspector (1.1.0)
diff-lcs (1.5.0)
diffy (3.4.2)
digest (3.1.0)
digest (3.1.1)
discourse-fonts (0.0.9)
discourse-seed-fu (2.3.12)
activerecord (>= 3.1)
@ -127,15 +137,15 @@ GEM
ecma-re-validator (0.4.0)
regexp_parser (~> 2.2)
email_reply_trimmer (0.1.13)
erubi (1.11.0)
excon (0.94.0)
erubi (1.12.0)
excon (0.97.2)
execjs (2.8.1)
exifr (1.3.10)
fabrication (2.30.0)
faker (2.23.0)
i18n (>= 1.8.11, < 2)
fakeweb (1.3.0)
faraday (2.7.1)
faraday (2.7.4)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
@ -147,14 +157,14 @@ GEM
ffi (1.15.5)
fspath (3.1.2)
gc_tracer (1.5.1)
globalid (1.0.0)
globalid (1.0.1)
activesupport (>= 5.0)
guess_html_encoding (0.0.11)
hana (1.3.7)
hashdiff (1.0.1)
hashie (5.0.0)
highline (2.0.3)
hkdf (0.3.0)
highline (2.1.0)
hkdf (1.0.0)
htmlentities (4.3.4)
http_accept_language (2.1.1)
i18n (1.12.0)
@ -168,7 +178,7 @@ GEM
image_size (3.2.0)
in_threads (1.6.0)
jmespath (1.6.2)
json (2.6.2)
json (2.6.3)
json-schema (3.0.0)
addressable (>= 2.8)
json_schemer (0.2.23)
@ -176,15 +186,10 @@ GEM
hana (~> 1.3)
regexp_parser (~> 2.0)
uri_template (~> 0.7)
jwt (2.5.0)
jwt (2.6.0)
kgio (2.11.4)
libv8-node (16.10.0.0)
libv8-node (16.10.0.0-aarch64-linux)
libv8-node (16.10.0.0-arm64-darwin)
libv8-node (16.10.0.0-x86_64-darwin)
libv8-node (16.10.0.0-x86_64-darwin-19)
libv8-node (16.10.0.0-x86_64-linux)
listen (3.7.1)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
literate_randomizer (0.4.0)
@ -197,7 +202,7 @@ GEM
logstash-logger (0.26.1)
logstash-event (~> 1.2)
logster (2.11.3)
loofah (2.19.0)
loofah (2.19.1)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
lru_redux (1.1.0)
@ -205,11 +210,11 @@ GEM
matrix (0.4.2)
maxminddb (0.1.22)
memory_profiler (1.0.1)
message_bus (4.3.0)
message_bus (4.3.2)
rack (>= 1.1.3)
method_source (1.0.0)
mini_mime (1.1.2)
mini_portile2 (2.8.0)
mini_portile2 (2.8.1)
mini_racer (0.6.3)
libv8-node (~> 16.10.0.0)
mini_scheduler (0.15.0)
@ -217,35 +222,28 @@ GEM
mini_sql (1.4.0)
mini_suffix (0.3.3)
ffi (~> 1.9)
minitest (5.16.3)
minitest (5.17.0)
mocha (2.0.2)
ruby2_keywords (>= 0.0.5)
msgpack (1.6.0)
multi_json (1.15.0)
multi_xml (0.6.0)
mustache (1.1.1)
net-http (0.2.2)
net-http (0.3.2)
uri
net-imap (0.3.1)
net-imap (0.3.4)
date
net-protocol
net-pop (0.1.2)
net-protocol
net-protocol (0.1.3)
net-protocol (0.2.1)
timeout
net-smtp (0.3.3)
net-protocol
nio4r (2.5.8)
nokogiri (1.13.9)
nokogiri (1.14.0)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
nokogiri (1.13.9-aarch64-linux)
racc (~> 1.4)
nokogiri (1.13.9-arm64-darwin)
racc (~> 1.4)
nokogiri (1.13.9-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.13.9-x86_64-linux)
racc (~> 1.4)
oauth (1.1.0)
oauth-tty (~> 1.0, >= 1.0.1)
snaky_hash (~> 2.0)
@ -281,18 +279,19 @@ GEM
omniauth-twitter (1.4.0)
omniauth-oauth (~> 1.1)
rack
openssl (3.0.1)
openssl (3.0.2)
openssl-signature_algorithm (1.2.1)
openssl (> 2.0, < 3.1)
optimist (3.0.1)
parallel (1.22.1)
parallel_tests (4.0.0)
parallel_tests (4.1.0)
parallel
parser (3.1.3.0)
parser (3.2.0.0)
ast (~> 2.4.1)
pg (1.4.5)
prettier_print (1.2.0)
progress (3.6.0)
pry (0.14.1)
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.10.1)
@ -300,23 +299,23 @@ GEM
pry (>= 0.13, < 0.15)
pry-rails (0.3.9)
pry (>= 0.10.4)
public_suffix (5.0.0)
puma (6.0.0)
public_suffix (5.0.1)
puma (6.0.2)
nio4r (~> 2.0)
r2 (0.2.7)
racc (1.6.0)
rack (2.2.4)
racc (1.6.2)
rack (2.2.6.2)
rack-mini-profiler (3.0.0)
rack (>= 1.2.0)
rack-protection (3.0.4)
rack-protection (3.0.5)
rack
rack-test (2.0.2)
rack (>= 1.3)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.4.3)
loofah (~> 2.3)
rails-html-sanitizer (1.5.0)
loofah (~> 2.19, >= 2.19.1)
rails_failover (0.8.1)
activerecord (> 6.0, < 7.1)
concurrent-ruby
@ -324,9 +323,9 @@ GEM
rails_multisite (4.0.1)
activerecord (> 5.0, < 7.1)
railties (> 5.0, < 7.1)
railties (7.0.3.1)
actionpack (= 7.0.3.1)
activesupport (= 7.0.3.1)
railties (7.0.4.1)
actionpack (= 7.0.4.1)
activesupport (= 7.0.4.1)
method_source
rake (>= 12.2)
thor (~> 1.0)
@ -342,15 +341,15 @@ GEM
msgpack (>= 0.4.3)
optimist (>= 3.0.0)
rchardet (1.8.0)
redis (4.7.1)
redis-namespace (1.9.0)
redis (4.8.0)
redis-namespace (1.10.0)
redis (>= 4)
regexp_parser (2.6.1)
regexp_parser (2.6.2)
request_store (1.5.1)
rack (>= 1.4)
rexml (3.2.5)
rinku (2.0.6)
rotp (6.2.1)
rotp (6.2.2)
rqrcode (2.1.2)
chunky_png (~> 1.0)
rqrcode_core (~> 1.0)
@ -361,13 +360,13 @@ GEM
rspec-mocks (~> 3.12.0)
rspec-core (3.12.0)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.0)
rspec-expectations (3.12.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-html-matchers (0.10.0)
nokogiri (~> 1)
rspec (>= 3.0.0.a)
rspec-mocks (3.12.0)
rspec-mocks (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-rails (6.0.1)
@ -386,24 +385,27 @@ GEM
json-schema (>= 2.2, < 4.0)
railties (>= 3.1, < 7.1)
rspec-core (>= 2.14)
rubocop (1.39.0)
rubocop (1.44.0)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 3.1.2.1)
parser (>= 3.2.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.23.0, < 2.0)
rubocop-ast (>= 1.24.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.23.0)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.24.1)
parser (>= 3.1.1.0)
rubocop-discourse (3.0)
rubocop-capybara (2.17.0)
rubocop (~> 1.41)
rubocop-discourse (3.0.3)
rubocop (>= 1.1.0)
rubocop-rspec (>= 2.0.0)
rubocop-rspec (2.15.0)
rubocop-rspec (2.18.1)
rubocop (~> 1.33)
ruby-prof (1.4.3)
rubocop-capybara (~> 2.17)
ruby-prof (1.4.5)
ruby-progressbar (1.11.0)
ruby-readability (0.7.0)
guess_html_encoding (>= 0.0.4)
@ -422,18 +424,17 @@ GEM
sprockets (> 3.0)
sprockets-rails
tilt
selenium-webdriver (4.6.1)
childprocess (>= 0.5, < 5.0)
selenium-webdriver (4.8.0)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
shoulda-matchers (5.2.0)
shoulda-matchers (5.3.0)
activesupport (>= 5.2.0)
sidekiq (6.5.8)
connection_pool (>= 2.2.5, < 3)
rack (~> 2.0)
redis (>= 4.5.0, < 5)
simplecov (0.21.2)
simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
@ -442,19 +443,19 @@ GEM
snaky_hash (2.0.1)
hashie
version_gem (~> 1.1, >= 1.1.1)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.4.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
sshkey (2.0.0)
stackprof (0.2.22)
test-prof (1.0.11)
stackprof (0.2.23)
syntax_tree (5.2.0)
prettier_print (>= 1.2.0)
syntax_tree-disable_ternary (1.0.0)
test-prof (1.1.0)
thor (1.2.1)
tilt (2.0.11)
timeout (0.3.0)
timeout (0.3.1)
tzinfo (2.0.5)
concurrent-ruby (~> 1.0)
uglifier (4.2.0)
@ -462,14 +463,18 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.3.0)
unicode-display_width (2.4.2)
unicorn (6.1.0)
kgio (~> 2.6)
raindrops (~> 0.7)
uniform_notifier (1.16.0)
uri (0.11.0)
uri (0.12.0)
uri_template (0.7.0)
version_gem (1.1.1)
web-push (3.0.0)
hkdf (~> 1.0)
jwt (~> 2.0)
openssl (~> 3.0)
webdrivers (5.2.0)
nokogiri (~> 1.6)
rubyzip (>= 1.3.0)
@ -478,28 +483,26 @@ GEM
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
webpush (1.1.0)
hkdf (~> 0.2)
jwt (~> 2.0)
webrick (1.7.0)
websocket (1.2.9)
xorcist (1.1.3)
xpath (3.2.0)
nokogiri (~> 1.8)
yaml-lint (0.0.10)
yaml-lint (0.1.2)
zeitwerk (2.6.6)
PLATFORMS
ruby
DEPENDENCIES
actionmailer (= 7.0.3.1)
actionpack (= 7.0.3.1)
actionview (= 7.0.3.1)
actionmailer (= 7.0.4.1)
actionpack (= 7.0.4.1)
actionview (= 7.0.4.1)
actionview_precompiler
active_model_serializers (~> 0.8.3)
activemodel (= 7.0.3.1)
activerecord (= 7.0.3.1)
activesupport (= 7.0.3.1)
activemodel (= 7.0.4.1)
activerecord (= 7.0.4.1)
activesupport (= 7.0.4.1)
addressable
annotate
aws-sdk-s3
@ -512,6 +515,7 @@ DEPENDENCIES
capybara
cbor
certified
cgi (>= 0.3.6)
colored2
cose
cppjieba_rb
@ -583,7 +587,7 @@ DEPENDENCIES
rack-protection
rails_failover
rails_multisite
railties (= 7.0.3.1)
railties (= 7.0.4.1)
rake
rb-fsevent
rbtrace
@ -609,20 +613,23 @@ DEPENDENCIES
shoulda-matchers
sidekiq
simplecov
sprockets (= 3.7.2)
sprockets!
sprockets-rails
sshkey
stackprof
syntax_tree
syntax_tree-disable_ternary
test-prof
thor
uglifier
unf
unicorn
web-push
webdrivers
webmock
webpush
webrick
xorcist
yaml-lint
BUNDLED WITH
2.3.25
2.4.6

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1wdh4av6w6calnvvms6r8w3k3gaw0xy1lgsrjjf5d5gxq09nk7y7";
sha256 = "1v4ra6jx4bynzj3im6fjbyyy1h6582qg72r6i42myls84z75qsxk";
type = "gem";
};
version = "7.0.3.1";
version = "7.0.4.1";
};
actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@ -16,10 +16,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1f9y1qjnrwbwab3hf6nzlpr4v1fr1wq39l6dw3i1y3i6n8w04sb5";
sha256 = "1g823r92w9c1si2mxd82mibdva1fyw0ccin0dc2bpbszk6zfyxrh";
type = "gem";
};
version = "7.0.3.1";
version = "7.0.4.1";
};
actionview = {
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@ -27,10 +27,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1csycx6zlzrp6pw58s4nkm2qaz720cdhgxjkwjsd0qla75kvsyln";
sha256 = "1pfnbkq1hzzxzrnc0m1dd0l2cad6x041dfv3ndrkk5llcjarphx2";
type = "gem";
};
version = "7.0.3.1";
version = "7.0.4.1";
};
actionview_precompiler = {
dependencies = ["actionview"];
@ -60,10 +60,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03hn978lx6lasac267mincy6wwcir5gyix7gwrbvvk7rg7bsbmbk";
sha256 = "0yrjvd2w3l6fd5s984hn885dwcxj078ggfbbr1cpynjnqxrvvm6f";
type = "gem";
};
version = "7.0.3.1";
version = "7.0.4.1";
};
activemodel = {
dependencies = ["activesupport"];
@ -71,10 +71,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0s9gjs1a49n7rfhz84glw6w62swlrqdqjhs8421kaa72iwxavq16";
sha256 = "0y1v2jy4cwi6dkd9yr399kw53smaiyiqx7bsnljwmsz98g125sdw";
type = "gem";
};
version = "7.0.3.1";
version = "7.0.4.1";
};
activerecord = {
dependencies = ["activemodel" "activesupport"];
@ -82,10 +82,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lb838wvarms8bs8hvfkccdsp4cjc0y9wjsxvw71h4ir3mys4jqg";
sha256 = "1c3wvrym6ib2a6ljc4n572gsrr46hazp7f0zijm8jdc8zp3yx5vi";
type = "gem";
};
version = "7.0.3.1";
version = "7.0.4.1";
};
activesupport = {
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
@ -93,10 +93,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15lbq28v48i6q118p02m5zs9c63y1kv2h5krb3ss6q2vyaxhnfz7";
sha256 = "1j0ms94ng1hsxb37aar5j3n4mabjqvjkcl70adjrqib7grriyq7b";
type = "gem";
};
version = "7.0.3.1";
version = "7.0.4.1";
};
addressable = {
dependencies = ["public_suffix"];
@ -262,10 +262,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1f2phbpsiw8zwmmb1h6s82c4s2banzd04ch7vn6pdz91map233l1";
sha256 = "0hyz68j0z0j24vcrs43swmlykhzypayv34kzrsbxda5lbi83gynm";
type = "gem";
};
version = "7.0.4";
version = "7.0.7";
};
byebug = {
groups = ["development" "test"];
@ -312,15 +312,15 @@
};
version = "1.0.0";
};
childprocess = {
groups = ["default" "test"];
cgi = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lvcp8bsd35g57f7wz4jigcw2sryzzwrpcgjwwf3chmjrjcww5in";
sha256 = "18zc1z8va9j1gcv131p605wmkvn1p5958mmvvy7v45ki8c0w7qn5";
type = "gem";
};
version = "4.1.0";
version = "0.3.6";
};
chunky_png = {
groups = ["default"];
@ -361,10 +361,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
sha256 = "1qnsflsbjj38im8xq35g0vihlz96h09wjn2dad5g543l3vvrkrx5";
type = "gem";
};
version = "1.1.10";
version = "1.2.0";
};
connection_pool = {
groups = ["default"];
@ -424,10 +424,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1107j3frhmcd95wcsz0rypchynnzhnjiyyxxcl6dlmr2lfy08z4b";
sha256 = "04q1vin8slr3k8mp76qz0wqgap6f9kdsbryvgfq9fljhrm463kpj";
type = "gem";
};
version = "1.12.0";
version = "1.14.0";
};
date = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1";
type = "gem";
};
version = "3.3.3";
};
debug_inspector = {
groups = ["default" "development"];
@ -464,10 +474,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00vwzvxgby22h7jhwadqqf9ssbkp3ag2pl4g7q3zf1y8mlk7rk39";
sha256 = "01qkpbkxq83ip3iysfh2kjrg9sh2n2q91prhyxh3vq10lcfzv9l1";
type = "gem";
};
version = "3.1.0";
version = "3.1.1";
};
discourse-fonts = {
groups = ["default"];
@ -541,20 +551,20 @@
}];
source = {
remotes = ["https://rubygems.org"];
sha256 = "11bz1v1cxabm8672gabrw542zyg51dizlcvdck6vvwzagxbjv9zx";
sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7";
type = "gem";
};
version = "1.11.0";
version = "1.12.0";
};
excon = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "094kbi32i56p08348b95amg9dz5c9prn5jywhkcghsd3d6kll981";
sha256 = "17prxavwwskpv7dfl3npl0pgqiqg99rrmakqj1n4m5hl69jqz8y4";
type = "gem";
};
version = "0.94.0";
version = "0.97.2";
};
execjs = {
groups = ["assets" "default"];
@ -613,10 +623,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590";
sha256 = "1f20vjx0ywx0zdb4dfx4cpa7kd51z6vg7dw5hs35laa45dy9g9pj";
type = "gem";
};
version = "2.7.1";
version = "2.7.4";
};
faraday-net_http = {
groups = ["default"];
@ -725,10 +735,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1n5yc058i8xhi1fwcp1w7mfi6xaxfmrifdb4r4hjfff33ldn8lqj";
sha256 = "040bxzfd7mz1p6z4bc9vk5yrf762hdllvf98hmk848fq28xc5dsk";
type = "gem";
};
version = "1.0.0";
version = "1.0.1";
};
guess_html_encoding = {
groups = ["default"];
@ -775,20 +785,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d";
sha256 = "1f8cr014j7mdqpdb9q17fp5vb5b8n1pswqaif91s3ylg5x3pygfn";
type = "gem";
};
version = "2.0.3";
version = "2.1.0";
};
hkdf = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04fixg0a51n4vy0j6c1hvisa2yl33m3jrrpxpb5sq6j511vjriil";
sha256 = "03g3yvfnlcjv2qw3b3yahg0x7zhwcd1bwxyj6gbn5jrc7k4kfrqg";
type = "gem";
};
version = "0.3.0";
version = "1.0.0";
};
htmlentities = {
groups = ["default"];
@ -867,10 +877,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yk5d10yvspkc5jyvx9gc1a9pn1z8v4k2hvjk1l88zixwf3wf3cl";
sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6";
type = "gem";
};
version = "2.6.2";
version = "2.6.3";
};
json-schema = {
dependencies = ["addressable"];
@ -899,10 +909,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kcmnx6rgjyd7sznai9ccns2nh7p7wnw3mi8a7vf2wkm51azwddq";
sha256 = "1x8zp1a2pnngxh7631s0kn0r665qkwzfp16kifmp93r4zj6ci8v8";
type = "gem";
};
version = "2.5.0";
version = "2.6.0";
};
kgio = {
groups = ["default"];
@ -936,10 +946,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0agybr37wpjv3xy4ipcmsvsibgdgphzrwbvcj4vfiykpmakwm01v";
sha256 = "13rgkfar8pp31z1aamxf5y7cfq88wv6rxxcwy7cmm177qq508ycn";
type = "gem";
};
version = "3.7.1";
version = "3.8.0";
};
literate_randomizer = {
groups = ["default" "development"];
@ -999,10 +1009,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fpyk1965py77al7iadkn5dibwgvybknkr7r8bii2dj73wvr29rh";
sha256 = "08qhzck271anrx9y6qa6mh8hwwdzsgwld8q0000rcd7yvvpnjr3c";
type = "gem";
};
version = "2.19.0";
version = "2.19.1";
};
lru_redux = {
groups = ["default"];
@ -1083,10 +1093,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "039ab2bbzxhfgy3w7wrxznqzjyikiqm6dnl36pk7cmkb1d30fxdk";
sha256 = "07acv6l89b1c0d3dfq84jb0vzbv489agcw60n7rnvk10y4x58bn5";
type = "gem";
};
version = "4.3.0";
version = "4.3.2";
};
method_source = {
groups = ["default" "development" "test"];
@ -1113,10 +1123,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
sha256 = "1af4yarhbbx62f7qsmgg5fynrik0s36wjy3difkawy536xg343mp";
type = "gem";
};
version = "2.8.0";
version = "2.8.1";
};
mini_racer = {
dependencies = ["libv8-node"];
@ -1166,10 +1176,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0516ypqlx0mlcfn5xh7qppxqc3xndn1fnadxawa8wld5dkcimy30";
sha256 = "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0";
type = "gem";
};
version = "5.16.3";
version = "5.17.0";
};
mocha = {
dependencies = ["ruby2_keywords"];
@ -1232,21 +1242,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1j4f0wgyps0qyms4p6fjqva63xy13wvy7bx5qg5gmzzwm3kqs1fr";
sha256 = "0y55ib1v2b8prqfi9ij7hca60b1j94s2bzr6vskwi3i5735472wq";
type = "gem";
};
version = "0.2.2";
version = "0.3.2";
};
net-imap = {
dependencies = ["net-protocol"];
dependencies = ["date" "net-protocol"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1s1d01q6mljiiv6y2w6znmhmnm2b5lkw8d13wip9x23a820z8cjw";
sha256 = "1d996zf3g8xz244791b0qsl9vr7zg4lqnnmf9k2kshr9lki5jam8";
type = "gem";
};
version = "0.3.1";
version = "0.3.4";
};
net-pop = {
dependencies = ["net-protocol"];
@ -1265,10 +1275,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "051cc82dl41a66c9sxv4lx4slqk7sz1v4iy0hdk6gpjyjszf4hxd";
sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91";
type = "gem";
};
version = "0.1.3";
version = "0.2.1";
};
net-smtp = {
dependencies = ["net-protocol"];
@ -1297,10 +1307,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0cam1455nmi3fzzpa9ixn2hsim10fbprmj62ajpd6d02mwdprwwn";
sha256 = "1fqld4wnamj7awdr1lwdifpylqdrrg5adm8xj2jl9sc5ms3nxjjm";
type = "gem";
};
version = "1.13.9";
version = "1.14.0";
};
oauth = {
dependencies = ["oauth-tty" "snaky_hash" "version_gem"];
@ -1427,10 +1437,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0n2fhxa2alw3qxhg6qlxs0v6f8rsadhp6r6sv33i9fh793k2zpr3";
sha256 = "0mcg47zz4w902cq6c8cdj62npawgwq68sfh7n7aqy7vm3pgvls9h";
type = "gem";
};
version = "3.0.1";
version = "3.0.2";
};
openssl-signature_algorithm = {
dependencies = ["openssl"];
@ -1473,10 +1483,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xr8406nknbg2z561m3nkny51zkhpd02ng0fbjc9jaachp7ksz1y";
sha256 = "1p0y8cgdmfwyg7plwlsjf9afshm81wj9ah8nprmpfrv28adg3vn6";
type = "gem";
};
version = "4.0.0";
version = "4.1.0";
};
parser = {
dependencies = ["ast"];
@ -1484,10 +1494,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17qfhjvnr9q2gp1gfdl6kndy2mb6qdwsls3vnjhb1h8ddimdm4s5";
sha256 = "0zk8mdyr0322r11d63rcp5jhz4lakxilhvyvdv0ql5dw4lb83623";
type = "gem";
};
version = "3.1.3.0";
version = "3.2.0.0";
};
pg = {
groups = ["default"];
@ -1499,6 +1509,16 @@
};
version = "1.4.5";
};
prettier_print = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bbw4czjr2ch6m57rgjib5a35hx3g18975vwzm2iwq13pvdj9hzk";
type = "gem";
};
version = "1.2.0";
};
progress = {
groups = ["default"];
platforms = [];
@ -1515,10 +1535,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0m445x8fwcjdyv2bc0glzss2nbm1ll51bq45knixapc7cl3dzdlr";
sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4";
type = "gem";
};
version = "0.14.1";
version = "0.14.2";
};
pry-byebug = {
dependencies = ["byebug" "pry"];
@ -1547,10 +1567,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0sqw1zls6227bgq38sxb2hs8nkdz4hn1zivs27mjbniswfy4zvi6";
sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35";
type = "gem";
};
version = "5.0.0";
version = "5.0.1";
};
puma = {
dependencies = ["nio4r"];
@ -1558,10 +1578,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yabmxmqprb2x58awiasidsiwpplscmyar9dzwh5l8jgaw4i3wra";
sha256 = "15hj8r6wp23k187ajmp13kldk53ygm84q4caq7nlndrn8jlcsps0";
type = "gem";
};
version = "6.0.0";
version = "6.0.2";
};
r2 = {
groups = ["default"];
@ -1578,10 +1598,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
sha256 = "09jgz6r0f7v84a7jz9an85q8vvmp743dqcsdm3z9c8rqcqv6pljq";
type = "gem";
};
version = "1.6.0";
version = "1.6.2";
};
rack = {
groups = ["default" "development" "test"];
@ -1592,10 +1612,10 @@
}];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0axc6w0rs4yj0pksfll1hjgw1k6a5q0xi2lckh91knfb72v348pa";
sha256 = "0qvp6h2abmlsl4sqjsvac03cr2mxq6143gbx4kq52rpazp021qsb";
type = "gem";
};
version = "2.2.4";
version = "2.2.6.2";
};
rack-mini-profiler = {
dependencies = ["rack"];
@ -1614,10 +1634,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kljmw1lhzqjcwnwadr5m2khii0h2lsah447zb9vgirrv5jszg9h";
sha256 = "1a12m1mv8dc0g90fs1myvis8vsgr427k1arg1q4a9qlfw6fqyhis";
type = "gem";
};
version = "3.0.4";
version = "3.0.5";
};
rack-test = {
dependencies = ["rack"];
@ -1647,10 +1667,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mj0b7ay10a2fgwj70kjw7mlyrp7a5la8lx8zmwhy40bkansdfrf";
sha256 = "0ygav4xyq943qqyhjmi3mzirn180j565mc9h5j4css59x1sn0cmz";
type = "gem";
};
version = "1.4.3";
version = "1.5.0";
};
rails_failover = {
dependencies = ["activerecord" "concurrent-ruby" "railties"];
@ -1680,10 +1700,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lnrhx0sdixz5xm2vi482ngs4alh8l725kh96v6mfk0x0qlbdsaw";
sha256 = "0q8as8yq6ni256fc6bmcqmdch1bksbhsg5lmaqmi4bpi33f06g01";
type = "gem";
};
version = "7.0.3.1";
version = "7.0.4.1";
};
rainbow = {
groups = ["default" "development" "test"];
@ -1772,10 +1792,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xid9av3apfz5mszwqgl6v0n58g6038lsfdz0p53xb9ywpa5dcpc";
sha256 = "0i4a8hxxcxci3n8hhlm9a8wa7a9m58r6sjvh4749v7362i8cy010";
type = "gem";
};
version = "4.7.1";
version = "4.8.0";
};
redis-namespace = {
dependencies = ["redis"];
@ -1783,20 +1803,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04l61lpb3s2xkwj36l7b543lhciv19z514kxnmnbh5fg70grc8q9";
sha256 = "154dfnrjpbv7fhwhfrcnp6jn9qv5qaj3mvlvbgkl7qy5qsknw71c";
type = "gem";
};
version = "1.9.0";
version = "1.10.0";
};
regexp_parser = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rj7xcg7bkfw6y0h4wg8y3s4nmks9qrzdxag4zaw41xjqfanlysf";
sha256 = "0zjg29w5zvar7by1kqck3zilbdzm5iz3jp5d1zn3970krskfazh2";
type = "gem";
};
version = "2.6.1";
version = "2.6.2";
};
request_store = {
dependencies = ["rack"];
@ -1834,10 +1854,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10fi6g1nn97cg2m2jmh9cwxcd90gd4hn7b71hdr3kh76c0rmpqp7";
sha256 = "10mmzc85y7andsich586ndykw678qn1ns2wpjxrg0sc0gr4w3pig";
type = "gem";
};
version = "6.2.1";
version = "6.2.2";
};
rqrcode = {
dependencies = ["chunky_png" "rqrcode_core"];
@ -1888,10 +1908,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0qldsmjhqr4344zdlamzggr3y98wdk2c4hihkhwx8imk800gkl8v";
sha256 = "03ba3lfdsj9zl00v1yvwgcx87lbadf87livlfa5kgqssn9qdnll6";
type = "gem";
};
version = "3.12.0";
version = "3.12.2";
};
rspec-html-matchers = {
dependencies = ["nokogiri" "rspec"];
@ -1910,10 +1930,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yvwnb0x5d6d4ff3wlgahk0wcw72ic51gd2snr1xxc5ify41kabv";
sha256 = "0sq2cc9pm5gq411y7iwfvzbmgv3g91lyf7y7cqn1lr3yf1v122nc";
type = "gem";
};
version = "3.12.0";
version = "3.12.3";
};
rspec-rails = {
dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
@ -1964,10 +1984,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ggxkq68ddxmynr2lyrvzr8qbrdvc2irxlx9ihxmvdpkg1vimr3w";
sha256 = "0a2j57r6pvngqlzkmww031gs5isax3nsr9n7cbfpqnh34ljh2lk1";
type = "gem";
};
version = "1.39.0";
version = "1.44.0";
};
rubocop-ast = {
dependencies = ["parser"];
@ -1975,10 +1995,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qiq3q66w57im0ryrvnd1yq0g2s2safhywpv94441kvc1amayjzy";
sha256 = "1pdzabz95hv3z5sfbkfqa8bdybsfl13gv7rjb32v3ss8klq99lbd";
type = "gem";
};
version = "1.23.0";
version = "1.24.1";
};
rubocop-capybara = {
dependencies = ["rubocop"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1h4qcjkz0365qlhi7y1ni94qj14k397cad566zygm20p15ypbp5v";
type = "gem";
};
version = "2.17.0";
};
rubocop-discourse = {
dependencies = ["rubocop" "rubocop-rspec"];
@ -1986,21 +2017,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1afsyw78pkv1ry5x5ww0krv75lg2lnv7b72sy9bbk6ni87fzsk1q";
sha256 = "0m6jqyh44vfibqcnxi0xz69xgrbf8vpps90h6al5qdbibm9dmajd";
type = "gem";
};
version = "3.0";
version = "3.0.3";
};
rubocop-rspec = {
dependencies = ["rubocop"];
dependencies = ["rubocop" "rubocop-capybara"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0pj53m5zcrgyhb2zsjxqsav9sm9s8jh0mgk8c1qckaxy3dkwfxm4";
sha256 = "1vmmin3ymgq7bhv2hl4pd0zpwawy709p816axc4vi67w61b4bij1";
type = "gem";
};
version = "2.15.0";
version = "2.18.1";
};
ruby-prof = {
groups = ["development"];
@ -2011,10 +2042,10 @@
}];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1r3xalp91l07m0cwllcxjzg6nkviiqnxkcbgg5qnzsdji6rgy65m";
sha256 = "09n13bzm1p956z318xx1v7ikqdp2i971v7p3kwf3170axz368ccy";
type = "gem";
};
version = "1.4.3";
version = "1.4.5";
};
ruby-progressbar = {
groups = ["default" "development" "test"];
@ -2091,15 +2122,15 @@
version = "2.1.2";
};
selenium-webdriver = {
dependencies = ["childprocess" "rexml" "rubyzip" "websocket"];
dependencies = ["rexml" "rubyzip" "websocket"];
groups = ["test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1wj32kci0v4r7a5rdiq7yrf1763k2ap01dp09flr56hgnb75asx8";
sha256 = "1dkcyq2hfvf4wdj7q5cqqlka1dw6gz28dckxf4r17jmd53ymwg28";
type = "gem";
};
version = "4.6.1";
version = "4.8.0";
};
shoulda-matchers = {
dependencies = ["activesupport"];
@ -2107,10 +2138,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "11hv1xk153sspi6iif7a2m64shshpjr37l44c8qnqlfpzv0dxlm2";
sha256 = "11igjgh16dl5pwqizdmclzlzpv7mbmnh8fx7m9b5kfsjhwxqdfpn";
type = "gem";
};
version = "5.2.0";
version = "5.3.0";
};
sidekiq = {
dependencies = ["connection_pool" "rack" "redis"];
@ -2129,10 +2160,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr";
sha256 = "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py";
type = "gem";
};
version = "0.21.2";
version = "0.22.0";
};
simplecov-html = {
groups = ["default" "test"];
@ -2170,9 +2201,11 @@
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
type = "gem";
fetchSubmodules = false;
rev = "f4d3dae71ef29c44b75a49cfbf8032cce07b423a";
sha256 = "0ps1zb411nrwih0rdp6vrnx0n4n18jcwks2x06iw52gvswlv49ry";
type = "git";
url = "https://github.com/rails/sprockets";
};
version = "3.7.2";
};
@ -2206,20 +2239,41 @@
}];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0v7nk5i3fa63h6clfr5vbr0y91v3kxkaxh6gbdx583pn982avdlc";
sha256 = "02r3a3ny27ljj19bzmxscw2vlmk7sw1p4ppbl2i69g17khi0p4sw";
type = "gem";
};
version = "0.2.22";
version = "0.2.23";
};
syntax_tree = {
dependencies = ["prettier_print"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1sqjjz3ja2563p4dgw46wfx0knpcp176gfvx8gfmkv8h166qnkqg";
type = "gem";
};
version = "5.2.0";
};
syntax_tree-disable_ternary = {
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gdi6zx4hqpxd81zas3dlw1jrdp98fvsqj4p7f42x5lhpfzz04zc";
type = "gem";
};
version = "1.0.0";
};
test-prof = {
groups = ["test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08f6lj1yh1ykwdaz5zkqpj5hn4vl4vid2x74k135cbggw3j9grdq";
sha256 = "15fcfjplc1zqahrha6rxgwnmjlyp41qkj4369fbxdfp0iaxb15pg";
type = "gem";
};
version = "1.0.11";
version = "1.1.0";
};
thor = {
groups = ["default" "development" "test"];
@ -2246,10 +2300,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00cy93b6803j3aw5nail4l0zdrj54i5n2dlk6j9z998swcjbv3b2";
sha256 = "0lnh0kr7f43m1cjzc2jvggfsl1rzsaj2rd3pn6vp7mcqliymzaza";
type = "gem";
};
version = "0.3.0";
version = "0.3.1";
};
tzinfo = {
dependencies = ["concurrent-ruby"];
@ -2299,10 +2353,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ra70s8prfacpqwj5v2mqn1rbfz6xds3n9nsr9cwzs3z2c0wm5j7";
sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a";
type = "gem";
};
version = "2.3.0";
version = "2.4.2";
};
unicorn = {
dependencies = ["kgio" "raindrops"];
@ -2336,10 +2390,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1w00162maixmqp7nwm8mmbvwnnpmjilwbim8yk2ypxy3x3ih6l69";
sha256 = "11c4n5rri8d45c47krpg76n98mqh36l0kp2qrkb4dxnkp4flay6y";
type = "gem";
};
version = "0.11.0";
version = "0.12.0";
};
uri_template = {
groups = ["default"];
@ -2361,6 +2415,17 @@
};
version = "1.1.1";
};
web-push = {
dependencies = ["hkdf" "jwt" "openssl"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jsximg9v44rpclhjxp03fxk68jx675pghwxc66wj7rn9h9fc54i";
type = "gem";
};
version = "3.0.0";
};
webdrivers = {
dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"];
groups = ["test"];
@ -2383,16 +2448,15 @@
};
version = "3.18.1";
};
webpush = {
dependencies = ["hkdf" "jwt"];
webrick = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1z9ma580q80czw46gi1bvsr2iwxr63aiyr7i9gilav6hbhg3sxv3";
sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7";
type = "gem";
};
version = "1.1.0";
version = "1.7.0";
};
websocket = {
groups = ["default" "test"];
@ -2430,10 +2494,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1m9n4sg7i0334yac7dcrhnhv5rzvrccgnh687n9x77ba3awk4yx1";
sha256 = "12jc68af2mwdkr9iqay2v6qgq47yk5g82sd171riibk62wbhp5p3";
type = "gem";
};
version = "0.0.10";
version = "0.1.2";
};
zeitwerk = {
groups = ["default" "development" "test"];

View File

@ -407,7 +407,9 @@ def update_plugins():
gemfile = rubyenv_dir / "Gemfile"
version_file_regex = re.compile(r'.*File\.expand_path\("\.\./(.*)", __FILE__\)')
gemfile_text = ''
for line in repo.get_file('plugin.rb', rev).splitlines():
plugin_file = repo.get_file('plugin.rb', rev)
plugin_file = plugin_file.replace(",\n", ", ") # fix split lines
for line in plugin_file.splitlines():
if 'gem ' in line:
line = ','.join(filter(lambda x: ":require_name" not in x, line.split(',')))
gemfile_text = gemfile_text + line + os.linesep

View File

@ -17,16 +17,16 @@
rustPlatform.buildRustPackage rec {
pname = "czkawka";
version = "5.0.2";
version = "5.1.0";
src = fetchFromGitHub {
owner = "qarmin";
repo = "czkawka";
rev = version;
sha256 = "sha256-+Z4R6eRYNU0/wmrrTCLabY1zgxGbdSkgrfJd8rI5fZo=";
hash = "sha256-3nHsdCndZx7TIbRXhuGdQx8fh8Ff7gYBQyNXIkJ2zPc=";
};
cargoSha256 = "sha256-hkqGOl6ew3GBMPem8bPRy0PYphHhXJVv6iQiH6lK0kE=";
cargoHash = "sha256-jBl7+ElK+SEe92qygTocd6R1sgdHf+RpTVJZymhf3mQ=";
nativeBuildInputs = [
pkg-config
@ -59,6 +59,7 @@ rustPlatform.buildRustPackage rec {
};
meta = with lib; {
changelog = "https://github.com/qarmin/czkawka/raw/${version}/Changelog.md";
description = "A simple, fast and easy to use app to remove unnecessary files from your computer";
homepage = "https://github.com/qarmin/czkawka";
license = with licenses; [ mit ];

View File

@ -0,0 +1,44 @@
{ lib
, fetchFromGitHub
, buildGoModule
}:
buildGoModule rec {
pname = "clash-meta";
version = "1.14.2";
src = fetchFromGitHub {
owner = "MetaCubeX";
repo = "Clash.Meta";
rev = "v${version}";
sha256 = "sha256-sn+0TNXCK4af4zfkf09hLsFkuvkcyjhwh35kKo993FQ=";
};
vendorHash = "sha256-3j+5fF57eu7JJd3rnrWYwuWDivycUkUTTzptYaK3G/Q=";
# Do not build testing suit
excludedPackages = [ "./test" ];
ldflags = [
"-s"
"-w"
"-X github.com/Dreamacro/clash/constant.Version=${version}"
];
tags = [
"with_gvisor"
];
# network required
doCheck = false;
postInstall = ''
mv $out/bin/clash $out/bin/clash-meta
'';
meta = with lib; {
description = "Another Clash Kernel";
homepage = "https://github.com/MetaCubeX/Clash.Meta";
license = licenses.gpl3Only;
maintainers = with maintainers; [ oluceps ];
};
}

View File

@ -1,51 +1,12 @@
{ lib, stdenv, system ? builtins.currentSystem, ovftoolBundles ? {}
, requireFile, buildFHSUserEnv, autoPatchelfHook, makeWrapper, unzip
, glibc, c-ares, libressl, curl, expat, icu60, xercesc, zlib
{ lib, stdenv, fetchurl, system ? builtins.currentSystem, ovftoolBundles ? {}
, requireFile, autoPatchelfHook, makeWrapper, unzip
, glibc, c-ares, libxcrypt, expat, icu60, xercesc, zlib
}:
let
version = "4.4.1-16812187";
version = "4.5.0-20459872";
# FHS environment required to unpack ovftool on x86.
ovftoolX86Unpacker = buildFHSUserEnv rec {
name = "ovftool-unpacker";
targetPkgs = pkgs: [ pkgs.bash ];
multiPkgs = targetPkgs;
runScript = "bash";
};
# unpackPhase for i686 and x86_64 ovftool self-extracting bundles.
ovftoolX86UnpackPhase = ''
runHook preUnpack
# This is a self-extracting shell script and needs a FHS environment to run.
# In reality, it could be doing anything, which is bad for reproducibility.
# Our postUnpack uses nix-hash to verify the hash to prevent problems.
#
# Note that the Arch PKGBUILD at
# https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=vmware-ovftool
# appears to use xvfb-run - this hasn't been proven necessary so far.
#
cp ${ovftoolSource} ./ovftool.bundle
chmod +x ./ovftool.bundle
${ovftoolX86Unpacker}/bin/ovftool-unpacker ./ovftool.bundle -x ovftool
rm ovftool.bundle
extracted=ovftool/vmware-ovftool/
if [ -d "$extracted" ]; then
# Move the directory we care about to ovftool/
mv "$extracted" .
rm -r ovftool
mv "$(basename -- "$extracted")" ovftool
echo "ovftool extracted successfully" >&2
else
echo "Could not find $extracted - are you sure this is ovftool?" >&2
rm -r ovftool
exit 1
fi
runHook postUnpack
'';
# unpackPhase for aarch64 .zip.
ovftoolAarch64UnpackPhase = ''
ovftoolZipUnpackPhase = ''
runHook preUnpack
unzip ${ovftoolSource}
extracted=ovftool/
@ -58,29 +19,20 @@ let
runHook postUnpack
'';
# When the version is bumped, postUnpackHash will change
# for all these supported systems. Update it from the printed error on build.
#
# This is just a sanity check, since ovftool is a self-extracting bundle
# that could be doing absolutely anything on 2/3 of the supported platforms.
ovftoolSystems = {
"i686-linux" = {
filename = "VMware-ovftool-${version}-lin.i386.bundle";
sha256 = "0gx78g3s77mmpir7jbiskna10i6262ihal1ywivlb6xxxxbhqzwj";
unpackPhase = ovftoolX86UnpackPhase;
postUnpackHash = "1k8rp8ywhs0cl9aad37v1p0493bdvkxrsvwg5pgv2bhvjs4hqk7n";
ovftoolSystems = let
baseUrl = "https://vdc-download.vmware.com/vmwb-repository/dcr-public";
in {
"i686-linux" = rec {
filename = "VMware-ovftool-${version}-lin.i386.zip";
url = "${baseUrl}/b70b2ad5-861a-4c11-b081-e541586bf934/57109c63-6b80-4ced-95f2-1b7255200a36/${filename}";
sha256 = "11zs5dm4gmssm94s501p66l4s8v9p7prrd87cfa903mwmyp0ihnx";
unpackPhase = ovftoolZipUnpackPhase;
};
"x86_64-linux" = {
filename = "VMware-ovftool-${version}-lin.x86_64.bundle";
sha256 = "1kp2bp4d9i8y7q25yqff2bn62mh292lws7b66lyn8ka9b35kvnzc";
unpackPhase = ovftoolX86UnpackPhase;
postUnpackHash = "0zvyakwi4iishqxxisihgh91bmdsfvj5vchm2c192hia03a143py";
};
"aarch64-linux" = {
filename = "VMware-ovftool-${version}-lin.aarch64.zip";
sha256 = "0all8bwv5p5adnzqvrly6nzmxmfpywvlbfr0finr4n100yv0v1xy";
unpackPhase = ovftoolAarch64UnpackPhase;
postUnpackHash = "16vyyzrmryi8b7mrd6nxnhywvvj2pw0ban4qfiqfahw763fn6971";
"x86_64-linux" = rec {
filename = "VMware-ovftool-${version}-lin.x86_64.zip";
url = "${baseUrl}/f87355ff-f7a9-4532-b312-0be218a92eac/b2916af6-9f4f-4112-adac-49d1d6c81f63/${filename}";
sha256 = "1fkm18yfkkm92m7ccl6b4nxy5lagwwldq56b567091a5sgad38zw";
unpackPhase = ovftoolZipUnpackPhase;
};
};
@ -91,9 +43,9 @@ let
ovftoolSource = if builtins.hasAttr system ovftoolBundles then
ovftoolBundles.${system}
else
requireFile {
fetchurl {
name = ovftoolSystem.filename;
url = "https://my.vmware.com/group/vmware/downloads/get-download?downloadGroup=OVFTOOL441";
url = ovftoolSystem.url;
sha256 = ovftoolSystem.sha256;
};
in
@ -103,11 +55,13 @@ stdenv.mkDerivation rec {
src = ovftoolSource;
# Maintainers: try downloading a NixOS OVA and run the following to test:
# `./result/bin/ovftool https://channels.nixos.org/nixos-unstable/latest-nixos-x86_64-linux.ova nixos.ovf`
# Some dependencies are not loaded until operations actually occur!
buildInputs = [
glibc
libressl
libxcrypt
c-ares
(curl.override { openssl = libressl; })
expat
icu60
xercesc
@ -116,12 +70,12 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoPatchelfHook makeWrapper unzip ];
preferLocalBuild = true;
sourceRoot = ".";
unpackPhase = ovftoolSystem.unpackPhase;
postUnpackHash = ovftoolSystem.postUnpackHash;
# Expects a directory named 'ovftool' containing the ovftool install.
# Based on https://aur.archlinux.org/packages/vmware-ovftool/
# with the addition of a libexec directory and a Nix-style binary wrapper.
@ -133,22 +87,20 @@ stdenv.mkDerivation rec {
fi
# libraries
install -m 755 -d "$out/lib/${pname}"
# These all appear to be VMWare proprietary except for libgoogleurl.
# These all appear to be VMWare proprietary except for libgoogleurl and libcurl.
# The rest of the libraries that the installer extracts are omitted here,
# and provided in buildInputs.
# and provided in buildInputs. Since libcurl depends on VMWare's OpenSSL,
# we have to use both here too.
#
# FIXME: can we replace libgoogleurl? Possibly from Chromium?
# FIXME: tell VMware to use a modern version of OpenSSL.
#
install -m 644 -t "$out/lib/${pname}" \
libgoogleurl.so.59 \
libssoclient.so \
libvim-types.so libvmacore.so libvmomi.so
# ovftool specifically wants 1.0.2 but our libcrypto is named 1.0.0
ln -s "${lib.getLib libressl}/lib/libcrypto.so" \
"$out/lib/${pname}/libcrypto.so.1.0.2"
ln -s "${lib.getLib libressl}/lib/libssl.so" \
"$out/lib/${pname}/libssl.so.1.0.2"
# libexec
libvim-types.so libvmacore.so libvmomi.so \
libcurl.so.4 libcrypto.so.1.0.2 libssl.so.1.0.2
# libexec binaries
install -m 755 -d "$out/libexec/${pname}"
install -m 755 -t "$out/libexec/${pname}" ovftool.bin
install -m 644 -t "$out/libexec/${pname}" icudt44l.dat
@ -177,6 +129,20 @@ stdenv.mkDerivation rec {
addAutoPatchelfSearchPath "$out/lib"
'';
doInstallCheck = true;
installCheckPhase = ''
# This is a NixOS 22.11 image (doesn't actually matter) with a 1 MiB root disk that's all zero.
# Make sure that it converts properly.
mkdir -p ovftool-check
cd ovftool-check
$out/bin/ovftool ${./installCheckPhase.ova} nixos.ovf
if [ ! -f nixos.ovf ] || [ ! -f nixos.mf ] || [ ! -f nixos-disk1.vmdk ]; then
exit 1
fi
'';
meta = with lib; {
description = "VMWare tools for working with OVF, OVA, and VMX images";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];

View File

@ -4020,6 +4020,8 @@ with pkgs;
clash-geoip = callPackage ../data/misc/clash-geoip { };
clash-meta = callPackage ../tools/networking/clash-meta { };
clevercsv = with python3Packages; toPythonApplication clevercsv;
clevis = callPackage ../tools/security/clevis {
@ -10640,9 +10642,7 @@ with pkgs;
otpw = callPackage ../os-specific/linux/otpw { };
ovftool = callPackage ../tools/virtualization/ovftool {
libressl = libressl_3_4;
};
ovftool = callPackage ../tools/virtualization/ovftool { };
overcommit = callPackage ../development/tools/overcommit { };