From ff11eaead486f949a9cfd885eaf1626ccb93198d Mon Sep 17 00:00:00 2001 From: "Agatha V. Lovelace" Date: Tue, 30 Jan 2024 23:20:45 +0100 Subject: [PATCH] Update mastodon to 4.3.0 Yarn v2 hacks mostly stolen from https://git.catgirl.cloud/999eagle/dotfiles-nix/-/commit/d7eb0c761ad7cb89bb2cfedeb6730dcb8f7710bd --- common/pkgs/mastodon/default.nix | 30 +- common/pkgs/mastodon/gemset.nix | 822 +++++++++++---------- common/pkgs/mastodon/source.nix | 27 +- common/pkgs/mastodon/yarn-typescript.patch | 15 + common/pkgs/mastodon/yarn.nix | 32 + 5 files changed, 503 insertions(+), 423 deletions(-) create mode 100644 common/pkgs/mastodon/yarn-typescript.patch create mode 100644 common/pkgs/mastodon/yarn.nix diff --git a/common/pkgs/mastodon/default.nix b/common/pkgs/mastodon/default.nix index d6ed3b9..14d2287 100644 --- a/common/pkgs/mastodon/default.nix +++ b/common/pkgs/mastodon/default.nix @@ -1,6 +1,5 @@ -{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests, yarn, callPackage -, imagemagick, ffmpeg, file, ruby, writeShellScript, fetchYarnDeps -, fixup_yarn_lock, brotli +{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests, yarn-berry, callPackage +, imagemagick, ffmpeg, file, ruby, writeShellScript, brotli # Allow building a fork or custom version of Mastodon: , pname ? "mastodon", version ? srcOverride.version, patches ? [ ] # src is a package @@ -34,19 +33,13 @@ stdenv.mkDerivation rec { pname = "${pname}-modules"; inherit src version; - yarnOfflineCache = fetchYarnDeps { - yarnLock = "${src}/yarn.lock"; + yarnOfflineCache = callPackage ./yarn.nix { + src = srcOverride; hash = yarnHash; }; - nativeBuildInputs = [ - fixup_yarn_lock - nodejs-slim - yarn - mastodonGems - mastodonGems.wrappedRuby - brotli - ]; + nativeBuildInputs = + [ nodejs-slim yarn-berry mastodonGems mastodonGems.wrappedRuby brotli ]; RAILS_ENV = "production"; NODE_ENV = "production"; @@ -58,9 +51,12 @@ stdenv.mkDerivation rec { # This option is needed for openssl-3 compatibility # Otherwise we encounter this upstream issue: https://github.com/mastodon/mastodon/issues/17924 export NODE_OPTIONS=--openssl-legacy-provider - fixup_yarn_lock ~/yarn.lock - yarn config --offline set yarn-offline-mirror $yarnOfflineCache - yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress + + export YARN_ENABLE_TELEMETRY=0 + mkdir -p ~/.yarn/berry + ln -sf $yarnOfflineCache ~/.yarn/berry/cache + + yarn install --immutable --immutable-cache patchShebangs ~/bin patchShebangs ~/node_modules @@ -70,7 +66,7 @@ stdenv.mkDerivation rec { OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder \ rails assets:precompile - yarn cache clean --offline + yarn cache clean rm -rf ~/node_modules/.cache # Create missing static gzip and brotli files diff --git a/common/pkgs/mastodon/gemset.nix b/common/pkgs/mastodon/gemset.nix index f3d0462..90f27d1 100644 --- a/common/pkgs/mastodon/gemset.nix +++ b/common/pkgs/mastodon/gemset.nix @@ -1,14 +1,14 @@ { actioncable = { - dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver"]; + dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver" "zeitwerk"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "117vxic67jnw6q637kmsb3ryj0x485295pz9a9y4z8xn9bdlsl0z"; + sha256 = "05kl5kjvd5218nq9j6yfs3mw3bm21hdjixj6x3f5nzpmbg7inz4y"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; actionmailbox = { dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"]; @@ -16,10 +16,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1r8ldj2giaz8cn49qkdqn5zc29gbsr5ky4fg6r7ali0yh1xh684l"; + sha256 = "0lbxllvna81clk9957dd3346aw53gp8kgw23qccca96szhhmcy5p"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; actionmailer = { dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"]; @@ -27,21 +27,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w6gvj7ybniq89834hqww9rj2xypz9l91f8niwaws2yq1qklymr2"; + sha256 = "07kfdadci4i9fpkvmxcpjr192ah5hi91rax47h9yabp29wpgzv73"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; actionpack = { - dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + dependencies = ["actionview" "activesupport" "nokogiri" "racc" "rack" "rack-session" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1l319p0gipfgq8bp8dvbv97qqb72rad9zcqn5snhgv20cmpqr69b"; + sha256 = "0qqs6hl42dy7c1hmnpxkzdk6qk22fgyjpr2ibi4yd9rlf58vm8pa"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; actiontext = { dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"]; @@ -49,10 +49,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0i47r3n2m8qm002gx7c0lx1pv15pr2zy57dm8j38x960rsb655pp"; + sha256 = "0d4f693b9jjwa0r39bhpci5i734cq102ibmig5pzxcsqadcl4bds"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; actionview = { dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; @@ -60,10 +60,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xnpdwj1d8m6c2d90jp9cs50ggiz0jj02ls2h9lg68k4k8mnjbd2"; + sha256 = "1jxk32mapfhla3a5wnixcfk38ndw2r4lqfsv13hmckn91wvc8h7m"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; active_model_serializers = { dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"]; @@ -71,10 +71,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xdp7cpj3yj3wl4vj0nqq44kzjavlxi1wq3cf9zp0whkir0ym0gy"; + sha256 = "13n1ipn0dg3k852xhfzdvkr1ljq76xvfnm79qzdix2ishiy1gphl"; type = "gem"; }; - version = "0.10.13"; + version = "0.10.14"; }; activejob = { dependencies = ["activesupport" "globalid"]; @@ -82,10 +82,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cn1ic7ml75jm0c10s7cm5mvcgfnafj0kjvvjavpjcxgz6lxcqyb"; + sha256 = "188kaggslza03lgrgdz9m1vvcbmrj91nrmvnl5fl7c4vz8kpp1np"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; activemodel = { dependencies = ["activesupport"]; @@ -93,43 +93,43 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "004w8zaz2g3y6lnrsvlcmljll0m3ndqpgwf0wfscgq6iysibiglm"; + sha256 = "1gvf1acnkisars8wci88cz8fns27r2ssbqk2lsp9r2a7rlhqgmrl"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; activerecord = { - dependencies = ["activemodel" "activesupport"]; + dependencies = ["activemodel" "activesupport" "timeout"]; groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04wavps80q3pvhvfbmi4gs102y1p6mxbg8xylzvib35b6m92adpj"; + sha256 = "0d1bz6qq3982dbbdid4zn37rzrszvhxvb42vh4jfkr2fnzg0awvy"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; activestorage = { - dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"]; + dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0d6vm6alsp0g6f3548b615zxbz8l2wrmaikwgsf8kv11wf6swb4c"; + sha256 = "1knrpj89n0r7jynxasqv4mi650l5710rjnh4masfv170pnlzkc22"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"]; groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "188kbwkn1lbhz40ala8ykp20jzqphgc68g3d8flin8cqa2xid0s5"; + sha256 = "1l6hmf99zgckpn812qfxfz60rbh0zixv1hxnxhjlg8942pvixn2v"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; addressable = { dependencies = ["public_suffix"]; @@ -137,10 +137,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; + sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr"; type = "gem"; }; - version = "2.8.5"; + version = "2.8.6"; }; aes_key_wrap = { groups = ["default"]; @@ -152,17 +152,6 @@ }; version = "1.1.0"; }; - airbrussh = { - dependencies = ["sshkit"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0x55y3ynkda76pwnsvrrjlvxfcc7yn1irad8radll9c9cif41jqv"; - type = "gem"; - }; - version = "1.4.1"; - }; android_key_attestation = { groups = ["default"]; platforms = []; @@ -230,20 +219,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz"; + sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; - version = "1.2.0"; + version = "1.3.0"; }; aws-partitions = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m2kha6ip4ynhvl1l8z4vg0j96ngq4f2v6jl4j2y27m2kzmgcxz5"; + sha256 = "1h91wsvwryrgrmcxwa31ywx3slxlyy2pgdwrmlplfi8cp371ha26"; type = "gem"; }; - version = "1.809.0"; + version = "1.873.0"; }; aws-sdk-core = { dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; @@ -251,10 +240,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xjw9cf6ldbw50xi5ric8d63r8kybpsvaqxh2v6n7374hfady73i"; + sha256 = "1ansagfl5irx1y6b9xf4xpi9j6q6k5pbd2aw80hn0p4m3ycafamh"; type = "gem"; }; - version = "3.181.0"; + version = "3.190.1"; }; aws-sdk-kms = { dependencies = ["aws-sdk-core" "aws-sigv4"]; @@ -262,10 +251,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zr5w2cjd895abyn7y5gifhq37bxcinssvdx2l1qmlkllbdxbwq0"; + sha256 = "1qzxqfgrhnl5rdc39a1gl2pgrdxgnsj12zycpxnsx8lg6arfmnr1"; type = "gem"; }; - version = "1.71.0"; + version = "1.75.0"; }; aws-sdk-s3 = { dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; @@ -273,10 +262,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yymj15nwnvam95lw5fxwxx7b6xm4hkj8z7byzvjmx9aji1x245m"; + sha256 = "1sfpipfdmixpc0madfx1yvpwpv52fdhxfx4bmvrjxzb6ra78ikbr"; type = "gem"; }; - version = "1.133.0"; + version = "1.142.0"; }; aws-sigv4 = { dependencies = ["aws-eventstream"]; @@ -284,10 +273,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0z889c4c1w7wsjm3szg64ay5j51kjl4pdf94nlr1yks2rlanm7na"; + sha256 = "1g3w27wzjy4si6kp49w10as6ml6g6zl3xrfqs5ikpfciidv9kpc4"; type = "gem"; }; - version = "1.6.0"; + version = "1.8.0"; }; azure-storage-blob = { dependencies = ["azure-storage-common" "nokogiri"]; @@ -312,24 +301,34 @@ version = "2.0.4"; }; base64 = { - groups = ["default" "development"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cydk9p2cv25qysm0sn2pb97fcpz1isa7n3c8xm1gd99li8x6x8c"; + sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; - version = "0.1.1"; + version = "0.2.0"; + }; + bcp47_spec = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "043qld01c163yc7fxlar3046dac2833rlcg44jbbs9n1jvgjxmiz"; + type = "gem"; + }; + version = "0.2.1"; }; bcrypt = { groups = ["default" "pam_authentication"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "048z3fvcknqx7ikkhrcrykxlqmf9bzc7l0y5h1cnvrc9n2qf0k8m"; + sha256 = "16a0g2q40biv93i1hch3gw8rbmhp77qnnifj1k0a6m7dng3zh444"; type = "gem"; }; - version = "3.1.18"; + version = "3.1.20"; }; better_errors = { dependencies = ["erubi" "rack" "rouge"]; @@ -348,10 +347,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1y090dmgjxr3yzxi3pg5jgirkmyfdrmjhabmzmhg5i8ssiqr2gdz"; + sha256 = "1sk5s5lpwbd53s4a1xzm02nys3kfqdw5mh9i2qfn04hjsk8wk3gc"; type = "gem"; }; - version = "2.0.1"; + version = "2.0.2"; + }; + bigdecimal = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b1gqa90amazwnll9590m5ighywh9sacsmpyd5ihljivmvjswksk"; + type = "gem"; + }; + version = "3.1.5"; }; bindata = { groups = ["default"]; @@ -390,20 +399,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vcg52gwl64xhhal6kwk1pc01y1klzdlnv1awyk89kb91z010x7q"; + sha256 = "0iqkzby0fdgi786m873nm0ckmc847wy9a4ydinb29m7hd3fs83kb"; type = "gem"; }; - version = "1.16.0"; + version = "1.17.0"; }; brakeman = { + dependencies = ["racc"]; groups = ["development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gliwnyma9f1mpr928c79i36q51yl68dwjd3jgwvsyr4piiiqr1r"; + sha256 = "1ahkss5xpdw7vwykyd5kba74cs4r987fcn7ad5qvzhzhqdariqvy"; type = "gem"; }; - version = "6.0.1"; + version = "6.1.1"; }; browser = { groups = ["default"]; @@ -447,61 +457,6 @@ }; version = "0.9.1"; }; - capistrano = { - dependencies = ["airbrussh" "i18n" "rake" "sshkit"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "14pflh85rrs2l8k0m286j4vaab5vad2sfqq9dncqb31z05vy29mn"; - type = "gem"; - }; - version = "3.17.3"; - }; - capistrano-bundler = { - dependencies = ["capistrano"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "09rndb1fa9r7mhb2sc6p3k0pcarhg8mv0kfmvd1zdb0ciwwp7514"; - type = "gem"; - }; - version = "2.1.0"; - }; - capistrano-rails = { - dependencies = ["capistrano" "capistrano-bundler"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "05lk7y4qyzadzzshjyhgfgx00ggqliq7n561wkx8m331wljv7kx7"; - type = "gem"; - }; - version = "1.6.3"; - }; - capistrano-rbenv = { - dependencies = ["capistrano" "sshkit"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1x9m1i5zd0wx122zw3m40zprlmxk9d47bd6w61k81wr4qsvkk3rw"; - type = "gem"; - }; - version = "2.2.0"; - }; - capistrano-yarn = { - dependencies = ["capistrano"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1zdg2s061vl5b8114n909mrjb2hc1qx0i4wqx9nacsrcjgyp07l9"; - type = "gem"; - }; - version = "2.0.2"; - }; capybara = { dependencies = ["addressable" "matrix" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; groups = ["test"]; @@ -550,10 +505,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zca6v8i66jkxfdfjnn9xwg21pk95qn4ic8vzfvrx49d6sb8319y"; + sha256 = "0ip56hy2k1g908cm1ccyrbv16n31jg2qkc5s021bqxajsscjiy75"; type = "gem"; }; - version = "7.3.4"; + version = "7.4.0"; }; chunky_png = { groups = ["default"]; @@ -606,7 +561,7 @@ version = "1.2.2"; }; connection_pool = { - groups = ["default" "test"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; @@ -658,6 +613,16 @@ }; version = "1.14.0"; }; + csv = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zmrgngggg4yvdbggdx9p3z4wcav4vxfigramxxvjh3hi7l12pig"; + type = "gem"; + }; + version = "3.2.8"; + }; database_cleaner-active_record = { dependencies = ["activerecord" "database_cleaner-core"]; groups = ["test"]; @@ -680,14 +645,25 @@ version = "2.0.1"; }; date = { - groups = ["default" "development"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1"; + sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp"; type = "gem"; }; - version = "3.3.3"; + version = "3.3.4"; + }; + debug = { + dependencies = ["irb" "reline"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1npzlgpvvms97gw0ixndapnvwy7ih3zc5r3s3wd4y64rlbaadwc6"; + type = "gem"; + }; + version = "1.9.1"; }; debug_inspector = { groups = ["default" "development"]; @@ -705,10 +681,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vpd7d61d4pfmyb2plnnv82wmczzlhw4k4gjhd2fv4r6vq8ilqqi"; + sha256 = "121ljaaapil79dcsl5mkh5k613hv58z4z3g2lrnzb5qvqpb3h1j8"; type = "gem"; }; - version = "4.9.2"; + version = "4.9.3"; }; devise-two-factor = { dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"]; @@ -716,10 +692,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nk43p339zyp4y5vab3w3s0zbjd4xfs8qn0ymxdnz6d961dbbdm8"; + sha256 = "15cbgb0hyq78myc6aaszzdrd9qll9n3qdhykmrx22qiyac3mnpy9"; type = "gem"; }; - version = "4.1.0"; + version = "4.1.1"; }; devise_pam_authenticatable2 = { dependencies = ["devise" "rpam2"]; @@ -748,10 +724,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xavjhccyyzn9z6fz3034vgvzprc983mbrq6n9sc0drfw7m3vrip"; + sha256 = "0rysimck60hkj1japwb2np75kaf4jq8jvfzijh2izhadrabqj8am"; type = "gem"; }; - version = "1.2.1"; + version = "1.3.0"; }; docile = { groups = ["default" "test"]; @@ -780,10 +756,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q2pywgyn6cbnm0fh3dln5z1qgd1g8hvb4x8rppjc1bpfxnfhi13"; + sha256 = "0hin5718av1wya646b87a9mbnyjdiyb9wx9caprmh1w80n4504xv"; type = "gem"; }; - version = "5.6.6"; + version = "5.6.8"; }; dotenv = { groups = ["default"]; @@ -806,6 +782,17 @@ }; version = "2.8.1"; }; + drb = { + dependencies = ["ruby2_keywords"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03ylflxbp9jrs1hx3d4wvx05yb9hdq4a0r706zz6qc6kvqfazr79"; + type = "gem"; + }; + version = "2.2.0"; + }; ed25519 = { groups = ["default"]; platforms = []; @@ -859,6 +846,17 @@ }; version = "7.13.3"; }; + email_spec = { + dependencies = ["htmlentities" "launchy" "mail"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yhn60bmbyv10ikypp5zqrwyg0jfswyvnfqngy18r0dj5p458g7m"; + type = "gem"; + }; + version = "2.2.2"; + }; encryptor = { groups = ["default"]; platforms = []; @@ -895,20 +893,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08r6qgbpkxxsihjmlspk3l1sr69q5hx35p1l4wp7rmkbzys89867"; + sha256 = "1kmmwgjzlrnc3nnrdnw1z67c95nbw0hv54a73yj8jw6pcvl9585x"; type = "gem"; }; - version = "0.100.0"; + version = "0.109.0"; }; fabrication = { groups = ["test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bxssmjp49whzq2zv7w751gr4nkdaiwcxd1vda0byigwyrnj6f5q"; + sha256 = "1al5iv3as21l5clci0b5cg27z136pan7gkj7plp4l0w83c6z2y9c"; type = "gem"; }; - version = "2.30.0"; + version = "2.31.0"; }; faker = { dependencies = ["i18n"]; @@ -916,10 +914,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ysiqlvyy1351bzx7h92r93a35s32l8giyf9bac6sgr142sh3cnn"; + sha256 = "1ic47k6f0q6xl9g2yxa3x60gfbwx98wnx75qnbhhgk0zc7a5ijhy"; type = "gem"; }; - version = "3.2.1"; + version = "3.2.2"; }; faraday = { dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"]; @@ -1059,10 +1057,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pd7pamzhdz2w0fbcvsfn2nyslznvphnwj16zw35g2b28zd2xyzx"; + sha256 = "104kn1lj55hifcpiw1x7x9slskvqmfanylcz3nj8acjgmri0av72"; type = "gem"; }; - version = "2.2.7"; + version = "2.3.0"; }; ffi = { groups = ["default"]; @@ -1091,10 +1089,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1agd6xgzk0rxrsjdpn94v4hy89s0nm2cs4zg2p880w2dan9xgrak"; + sha256 = "0p2xiw0n4l1k3ynma1vl0fzw5w8xhkv70x4f829nydxv7hply80y"; type = "gem"; }; - version = "2.1.0"; + version = "2.4.0"; }; fog-json = { dependencies = ["fog-core" "multi_json"]; @@ -1108,25 +1106,25 @@ version = "1.2.0"; }; fog-openstack = { - dependencies = ["fog-core" "fog-json" "ipaddress"]; + dependencies = ["fog-core" "fog-json"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11j18h61d3p0pcp9k5346lbj1lahab1dqybkrx9338932lmjn7ap"; + sha256 = "1xh9qs00l1d7rxsr9qjlba8dprh9km8ya06y59qf17vncihl1xa7"; type = "gem"; }; - version = "0.3.10"; + version = "1.1.0"; }; formatador = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mprf1dwznz5ld0q1jpbyl59fwnwk6azspnd0am7zz7kfg3pxhv5"; + sha256 = "1l06bv4avphbdmr1y4g0rqlczr38k6r65b3zghrbj2ynyhm3xqjl"; type = "gem"; }; - version = "0.3.0"; + version = "1.1.0"; }; fugit = { dependencies = ["et-orbi" "raabro"]; @@ -1156,10 +1154,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk"; + sha256 = "1sbw6b66r7cwdx3jhs46s4lr991969hvigkjpbdl7y3i31qpdgvh"; type = "gem"; }; - version = "1.1.0"; + version = "1.2.1"; }; haml = { dependencies = ["temple" "thor" "tilt"]; @@ -1167,10 +1165,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "154svzqlkdq7gslv3p8mfih28gbw4gsj4pd8wr1wpwz6nyzmhh8m"; + sha256 = "15yxph91zswbnfy7szpdcfbdfqqn595ff290hm4f6fcnhryvhvlf"; type = "gem"; }; - version = "6.1.2"; + version = "6.3.0"; }; haml-rails = { dependencies = ["actionpack" "activesupport" "haml" "railties"]; @@ -1189,10 +1187,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qics7sll6yw7fm499q4b1frfr5f3gav94ach0fwy49zprl9yk33"; + sha256 = "060vz5dx0ag3ggpwhwfcadfim0g8aabl0b1dvnzagizymfsw2g92"; type = "gem"; }; - version = "0.50.0"; + version = "0.53.0"; }; hashdiff = { groups = ["default" "test"]; @@ -1256,7 +1254,7 @@ version = "0.3.0"; }; htmlentities = { - groups = ["default"]; + groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; @@ -1345,10 +1343,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19zkcsqwzc3i6vizj26mxxww6m5grv9zmp6yxyswbqq9kyzb081z"; + sha256 = "1s4kgpv7hmlg99cnpyvajba73vib67pdp1pa3g5rwkl838xgvnji"; type = "gem"; }; - version = "1.0.12"; + version = "1.0.13"; }; idn-ruby = { groups = ["default"]; @@ -1360,15 +1358,26 @@ }; version = "0.1.5"; }; - ipaddress = { - groups = ["default"]; + io-console = { + groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45"; + sha256 = "1fmwbcapyhla84xhwj3gfws6rb4lw3928ybz6g3lr372dgxakzx5"; type = "gem"; }; - version = "0.8.3"; + version = "0.7.1"; + }; + irb = { + dependencies = ["rdoc" "reline"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hh8d5l4ki6vg2p5x3v000gkrdqi1kdjv4vk5v8lfz9gr4kdc007"; + type = "gem"; + }; + version = "1.11.1"; }; jmespath = { groups = ["default"]; @@ -1385,20 +1394,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6"; + sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq"; type = "gem"; }; - version = "2.6.3"; + version = "2.7.1"; }; json-canonicalization = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rvsalsrs8njk2gqxgq0ydg5cd02jqdawskbq2ccz663qxz8wwq5"; + sha256 = "0illsmkly0hhi24lm1l6jjjdr6jykvydkwi1cxf4ad3mra68m16l"; type = "gem"; }; - version = "0.3.2"; + version = "1.0.0"; }; json-jwt = { dependencies = ["activesupport" "aes_key_wrap" "bindata" "httpclient"]; @@ -1417,10 +1426,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1z3kqacjmqs02vwwqm9di7sw7f7nchxx99v84myrrzmh64c6zfcq"; + sha256 = "1carfj87p6cpd0xnysg5sj653rqmmwnnacsmjk42xdy40j15gp88"; type = "gem"; }; - version = "3.2.5"; + version = "3.3.1"; }; json-ld-preloaded = { dependencies = ["json-ld" "rdf"]; @@ -1428,10 +1437,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "004s52m37b2kbw8dv4rdfm2d90h1023z1mw9zfcs0x87v8aq7zyn"; + sha256 = "1f28ipp845xmqkgd0c22lw5fpv4fiama4ms3z1z5p0kbvi22f2c1"; type = "gem"; }; - version = "3.2.2"; + version = "3.3.0"; }; json-schema = { dependencies = ["addressable"]; @@ -1439,10 +1448,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "155rygs093i8i04i38a97hs5icmqk2jkkhx76w31yxyr3bxfbgx3"; + sha256 = "0j9dz9sf7swwmfahlngph8n9ibm0cx7mdy9zpv3w44578nbkka49"; type = "gem"; }; - version = "4.0.0"; + version = "4.1.1"; }; jsonapi-renderer = { groups = ["default"]; @@ -1530,7 +1539,7 @@ }; launchy = { dependencies = ["addressable"]; - groups = ["default" "development"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; @@ -1588,10 +1597,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01kdw5dbzimb89rq4zf44zf8990czb5qxvib0hzja1l4hrha8cki"; + sha256 = "1qcsvh9k4c0cp6agqm9a8m4x2gg7vifryqr7yxkg2x9ph9silds2"; type = "gem"; }; - version = "0.13.0"; + version = "0.14.0"; }; loofah = { dependencies = ["crass" "nokogiri"]; @@ -1599,14 +1608,14 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1p744kjpb5zk2ihklbykzii77alycjc04vpnm2ch2f3cp65imlj3"; + sha256 = "1zkjqf37v2d7s11176cb35cl83wls5gm3adnfkn2zcc61h3nxmqh"; type = "gem"; }; - version = "2.21.3"; + version = "2.22.0"; }; mail = { dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"]; - groups = ["default" "development"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; @@ -1667,36 +1676,26 @@ }; version = "1.0.1"; }; - method_source = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; - type = "gem"; - }; - version = "1.0.0"; - }; mime-types = { dependencies = ["mime-types-data"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5"; + sha256 = "1r64z0m5zrn4k37wabfnv43wa6yivgdfk6cf2rpmmirlz889yaf1"; type = "gem"; }; - version = "3.5.1"; + version = "3.5.2"; }; mime-types-data = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a"; + sha256 = "08ja4k3yjczzz7n6rp1f3qvz4v45bc6fy04clnvdxbq3kfr7jk4c"; type = "gem"; }; - version = "3.2023.0808"; + version = "3.2023.1205"; }; mini_mime = { groups = ["default" "development" "test"]; @@ -1713,30 +1712,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02mj8mpd6ck5gpcnsimx5brzggw5h5mmmpq2djdypfq16wcw82qq"; + sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs"; type = "gem"; }; - version = "2.8.4"; + version = "2.8.5"; }; minitest = { groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6"; + sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3"; type = "gem"; }; - version = "5.19.0"; + version = "5.20.0"; }; msgpack = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06n7556vxr3awh92xy1k5bli98bvq4pjm08mnl68ay4fzln7lcsg"; + sha256 = "1a5adcb7bwan09mqhj3wi9ib52hmdzmqg7q08pggn3adibyn5asr"; type = "gem"; }; - version = "1.7.1"; + version = "1.7.2"; }; multi_json = { groups = ["default"]; @@ -1758,16 +1757,26 @@ }; version = "2.3.0"; }; + mutex_m = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn"; + type = "gem"; + }; + version = "0.2.0"; + }; net-http = { dependencies = ["uri"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0y55ib1v2b8prqfi9ij7hca60b1j94s2bzr6vskwi3i5735472wq"; + sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9"; type = "gem"; }; - version = "0.3.2"; + version = "0.4.1"; }; net-http-persistent = { dependencies = ["connection_pool"]; @@ -1782,28 +1791,28 @@ }; net-imap = { dependencies = ["date" "net-protocol"]; - groups = ["default" "development"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3"; + sha256 = "1rxwb6dk572zh0p12f49fvmc66z8m88z8579rr4kpns30ckgcqby"; type = "gem"; }; - version = "0.3.7"; + version = "0.4.4"; }; net-ldap = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xqcffn3c1564c4fizp10dzw2v5g2pabdzrcn25hq05bqhsckbar"; + sha256 = "0g9gz39bs2iy4ky4fhjphimqd9m9wdsaz50anxgwg3yjrff3famy"; type = "gem"; }; - version = "0.18.0"; + version = "0.19.0"; }; net-pop = { dependencies = ["net-protocol"]; - groups = ["default" "development"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; @@ -1814,46 +1823,25 @@ }; net-protocol = { dependencies = ["timeout"]; - groups = ["default" "development"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91"; + sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa"; type = "gem"; }; - version = "0.2.1"; - }; - net-scp = { - dependencies = ["net-ssh"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk"; - type = "gem"; - }; - version = "4.0.0"; + version = "0.2.2"; }; net-smtp = { dependencies = ["net-protocol"]; - groups = ["default" "development"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c6md06hm5bf6rv53sk54dl2vg038pg8kglwv3rayx0vk2mdql9x"; + sha256 = "1rx3758w0bmbr21s2nsc6llflsrnp50fwdnly3ixra4v53gbhzid"; type = "gem"; }; - version = "0.3.3"; - }; - net-ssh = { - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0yx0pb5fmziz92bw8qzbh8vf20lr56nd3s6q8h0gsgr307lki687"; - type = "gem"; - }; - version = "7.1.0"; + version = "0.4.0"; }; nio4r = { groups = ["default"]; @@ -1871,10 +1859,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0k9w2z0953mnjrsji74cshqqp08q7m1r6zhadw1w0g34xzjh3a74"; + sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl"; type = "gem"; }; - version = "1.15.4"; + version = "1.16.0"; }; nsa = { dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"]; @@ -1890,14 +1878,15 @@ version = "0.2.8"; }; oj = { + dependencies = ["bigdecimal"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m4vsd6i093kmyz9gckvzpnws997laldaiaf86hg5lza1ir82x7n"; + sha256 = "0g5nx99lrwmk6ynfaacqkyijnhvi4mckm77bmvpa0jmfg068l26h"; type = "gem"; }; - version = "3.16.1"; + version = "3.16.3"; }; omniauth = { dependencies = ["hashie" "rack" "rack-protection"]; @@ -1916,12 +1905,12 @@ platforms = []; source = { fetchSubmodules = false; - rev = "4211e6d05941b4a981f9a36b49ec166cecd0e271"; - sha256 = "1zs0xp062f6wk7xxy8w81838qr855kp7idbgpbrhpl319xzc1xkc"; + rev = "9d9d3a91b316c55d49ab6e621977f2067010c5bf"; + sha256 = "1g6cxbsswb9gylrarnwy1ck3dny3gnhykvg4v0m73zxda2mj22ms"; type = "git"; - url = "https://github.com/stanhu/omniauth-cas.git"; + url = "https://github.com/dlindahl/omniauth-cas.git"; }; - version = "2.0.0"; + version = "3.0.0"; }; omniauth-rails_csrf_protection = { dependencies = ["actionpack" "omniauth"]; @@ -1972,10 +1961,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"]; @@ -2013,10 +2002,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jcc512l38c0c163ni3jgskvq1vc3mr8ly5pvjijzwvfml9lf597"; + sha256 = "15wkxrg1sj3n1h2g8jcrn7gcapwcgxr659ypjf75z1ipkgxqxwsv"; type = "gem"; }; - version = "1.23.0"; + version = "1.24.0"; }; parser = { dependencies = ["ast" "racc"]; @@ -2024,10 +2013,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1swigds85jddb5gshll1g8lkmbcgbcp9bi1d4nigwvxki8smys0h"; + sha256 = "0r69dbh6h6j4d54isany2ir4ni4gf2ysvk3k44awi6amz18nggpd"; type = "gem"; }; - version = "3.2.2.3"; + version = "3.2.2.4"; }; parslet = { groups = ["default"]; @@ -2066,10 +2055,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gzbgq392b0z7ma1jrdnzzfppdlgjdl9akc4iajq4g46raqd4899"; + sha256 = "0ja2xlicfw13flw56nxbm46mvhv93fjrd5v8g4z6z305184rk24x"; type = "gem"; }; - version = "3.3.4"; + version = "3.4.0"; }; posix-spawn = { groups = ["default"]; @@ -2113,15 +2102,37 @@ }; version = "0.5.0"; }; + propshaft = { + dependencies = ["actionpack" "activesupport" "rack" "railties"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0s1bcrdrnz2draqpa3w9rlw5h45nr7nyaqcfjfs9vxcfyx8gmlya"; + type = "gem"; + }; + version = "0.8.0"; + }; + psych = { + dependencies = ["stringio"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0s5383m6004q76xm3lb732bp4sjzb6mxb6rbgn129gy2izsj4wrk"; + type = "gem"; + }; + version = "5.1.2"; + }; public_suffix = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0n9j7mczl15r3kwqrah09cxj8hxdfawiqxa60kga2bmxl9flfz9k"; + sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m"; type = "gem"; }; - version = "5.0.3"; + version = "5.0.4"; }; puma = { dependencies = ["nio4r"]; @@ -2129,10 +2140,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x4dwx2shx0p7lsms97r85r7ji7zv57bjy3i1kmcpxc8bxvrr67c"; + sha256 = "0i2vaww6qcazj0ywva1plmjnj6rk23b01szswc5jhcq7s2cikd1y"; type = "gem"; }; - version = "6.3.1"; + version = "6.4.2"; }; pundit = { dependencies = ["activesupport"]; @@ -2140,10 +2151,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wb03yzy1j41822rbfh9nn77im3zh1f5v8di05cd8rsrdpws542b"; + sha256 = "10diasjqi1g7s19ns14sldia4wl4c0z1m4pva66q4y2jqvks4qjw"; type = "gem"; }; - version = "2.3.0"; + version = "2.3.1"; }; raabro = { groups = ["default"]; @@ -2160,10 +2171,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g"; + sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp"; type = "gem"; }; - version = "1.7.1"; + version = "1.7.3"; }; rack = { groups = ["default" "development" "pam_authentication" "production" "test"]; @@ -2230,6 +2241,17 @@ }; version = "0.7.6"; }; + rack-session = { + dependencies = ["rack"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11w6yd60n8ng1ncs1ajlv42dg08yks09drlsgriydgpcjwz21d40"; + type = "gem"; + }; + version = "1.0.1"; + }; rack-test = { dependencies = ["rack"]; groups = ["default" "development" "pam_authentication" "production" "test"]; @@ -2241,16 +2263,27 @@ }; version = "2.1.0"; }; + rackup = { + dependencies = ["rack" "webrick"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wbr03334ba9ilcq25wh9913xciwj0j117zs60vsqm0zgwdkwpp9"; + type = "gem"; + }; + version = "1.0.0"; + }; rails = { dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rsqin156dawz7gzpy1ijs02afqcr4704vqj56s6yxng3a9ayhwf"; + sha256 = "1sryvf34ggxx088djc5c358m0h95i9qjhbgwl0zysmi3y0sw79g0"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; rails-controller-testing = { dependencies = ["actionpack" "actionview" "activesupport"]; @@ -2269,10 +2302,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"]; @@ -2291,34 +2324,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1bbh5gsw46djmrgddwaq3wsjmj9rsh5dk13wkclwxf1rg9jpkn3g"; + sha256 = "1k8jvm3l4gafw7hyvpky7yzjjnkr3iy7l59lyam8ah3kqhmzk7zf"; type = "gem"; }; - version = "7.0.7"; - }; - rails-settings-cached = { - dependencies = ["rails"]; - groups = ["default"]; - platforms = []; - source = { - fetchSubmodules = false; - rev = "86328ef0bd04ce21cc0504ff5e334591e8c2ccab"; - sha256 = "06r637gimh5miq2i6ywxn9gp7nqk8n8555yw8239mykalbzda69h"; - type = "git"; - url = "https://github.com/mastodon/rails-settings-cached.git"; - }; - version = "0.6.6"; + version = "7.0.8"; }; railties = { - dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor" "zeitwerk"]; + dependencies = ["actionpack" "activesupport" "irb" "rackup" "rake" "thor" "zeitwerk"]; groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sfc16zrcn4jgf5xczb08n6prhmqqgg9f0b4mn73zlzg6cwmqchj"; + sha256 = "0n0qb1qnzicbmkj4j5fb27c6hhm5i0qss0vir3kaynh6zz24sfgh"; type = "gem"; }; - version = "7.0.8"; + version = "7.1.2"; }; rainbow = { groups = ["default" "development"]; @@ -2335,21 +2355,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; + sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy"; type = "gem"; }; - version = "13.0.6"; + version = "13.1.0"; }; rdf = { - dependencies = ["link_header"]; + dependencies = ["bcp47_spec" "link_header"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jx4xyip4inrhr099zac8ah5232g70rv39mm19p85sgpwg80a6ip"; + sha256 = "0l515w395kbyz4n7lx102x1nv9yl6l72gvk67p35z4cqa74s59nx"; type = "gem"; }; - version = "3.2.11"; + version = "3.3.1"; }; rdf-normalize = { dependencies = ["rdf"]; @@ -2362,6 +2382,17 @@ }; version = "0.6.1"; }; + rdoc = { + dependencies = ["psych"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14wnrpd1kl43ynk1wwwgv9avsw84d1lrvlfyrjy3d4h7h7ndnqzp"; + type = "gem"; + }; + version = "6.6.2"; + }; redcarpet = { groups = ["default"]; platforms = []; @@ -2409,10 +2440,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "136br91alxdwh1s85z912dwz23qlhm212vy6i3wkinz3z8mkxxl3"; + sha256 = "1xrghj2vka7girycp1m88kvl4qxkm4mj4djz4w1jzywb4v97fclm"; type = "gem"; }; - version = "2.8.1"; + version = "2.8.3"; + }; + reline = { + dependencies = ["io-console"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fhwdmw89zqb1fdxcd6lr57zabbfi08z8j6kqwngak0xnxi2j10l"; + type = "gem"; + }; + version = "0.4.2"; }; request_store = { dependencies = ["rack"]; @@ -2431,10 +2473,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m9s0mkkprrz02gxhq0ijlwjy0nx1j5yrjf8ssjnhyagnx03lyrx"; + sha256 = "06ilkbbwvc8d0vppf8ywn1f79ypyymlb9krrhqv4g0q215zaiwlj"; type = "gem"; }; - version = "3.1.0"; + version = "3.1.1"; }; rexml = { groups = ["default" "development" "test"]; @@ -2451,10 +2493,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"]; @@ -2519,16 +2561,27 @@ }; version = "3.12.3"; }; + rspec-github = { + dependencies = ["rspec-core"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kqjmd85v2fpb06d0rx43dc51f0igc1gmm8y3nz0wvmy7zg02njm"; + type = "gem"; + }; + version = "2.4.0"; + }; rspec-mocks = { dependencies = ["diff-lcs" "rspec-support"]; groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hfm17xakfvwya236graj6c2arr4sb9zasp35q5fykhyz8mhs0w2"; + sha256 = "1gq7gviwpck7fhp4y5ibljljvxgjklza18j62qf6zkm2icaa8lfy"; type = "gem"; }; - version = "3.12.5"; + version = "3.12.6"; }; rspec-rails = { dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; @@ -2536,10 +2589,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "086qdyz7c4s5dslm6j06mq7j4jmj958whc3yinhabnqqmz7i463d"; + sha256 = "1dpmbq2awsjiwn300cafp9fbvv86dl7zrb760anhmm1qw8yzg1my"; type = "gem"; }; - version = "6.0.3"; + version = "6.1.0"; }; rspec-sidekiq = { dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks" "sidekiq"]; @@ -2547,10 +2600,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0dijmcwjn8k6lrld3yqbqfrqb5g73l57yx98y5frx54p5qxjzbzy"; + sha256 = "0g7yg1fm339rlr3r7860p9wpbxwjm1n5z9hajk4yzz1l9g37xz6p"; type = "gem"; }; - version = "4.0.1"; + version = "4.1.0"; }; rspec-support = { groups = ["default" "development" "test"]; @@ -2562,26 +2615,16 @@ }; version = "3.12.1"; }; - rspec_chunked = { - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0h4bsj3m7vb47qnx5bry4v0xscrb3lhg1f1vyxl524znb3i2qqzv"; - type = "gem"; - }; - version = "0.6"; - }; rubocop = { - dependencies = ["base64" "json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; + dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; groups = ["development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1i3571gchdj3c28znr5kisj0fkppy57208g9j1kv23rhk3p5q5p2"; + sha256 = "0hzwl0ak1i455fp3hzhdn8z14jzgwbsv04f7imz7fzz89j3lpkq9"; type = "gem"; }; - version = "1.56.3"; + version = "1.59.0"; }; rubocop-ast = { dependencies = ["parser"]; @@ -2589,10 +2632,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"]; @@ -2600,10 +2643,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01fn05a87g009ch1sh00abdmgjab87i995msap26vxq1a5smdck6"; + sha256 = "0f5r9di123hc4x2h453a143986plfzz9935bwc7267wj8awl8s1a"; type = "gem"; }; - version = "2.18.0"; + version = "2.20.0"; }; rubocop-factory_bot = { dependencies = ["rubocop"]; @@ -2611,10 +2654,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kqchl8f67k2g56sq2h1sm2wb6br5gi47s877hlz94g5086f77n1"; + sha256 = "12aqsbsd8i0d6ygl7xza2plary20mbb28429jhfnnag791nr0kc0"; type = "gem"; }; - version = "2.23.1"; + version = "2.25.0"; }; rubocop-performance = { dependencies = ["rubocop" "rubocop-ast"]; @@ -2622,21 +2665,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1v3a2g3wk3aqa0k0zzla10qkxlc625zkj3yf4zcsybs86r5bm4xn"; + sha256 = "0cf7fn4dwf45r3nhnda0dhnwn8qghswyqbfxr2ippb3z8a6gmc8v"; type = "gem"; }; - version = "1.19.0"; + version = "1.20.2"; }; rubocop-rails = { - dependencies = ["activesupport" "rack" "rubocop"]; + dependencies = ["activesupport" "rack" "rubocop" "rubocop-ast"]; groups = ["development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05r46ds0dm44fb4p67hbz721zck8mdwblzssz2y25yh075hvs36j"; + sha256 = "1id396xvixh5w19bjsli477mn4dr48ff8n1243d2z0y4zr1ld52h"; type = "gem"; }; - version = "2.20.2"; + version = "2.23.1"; }; rubocop-rspec = { dependencies = ["rubocop" "rubocop-capybara" "rubocop-factory_bot"]; @@ -2644,20 +2687,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ylwy4afnxhbrvlaf8an9nrizj78axnzggiyfcp8v531cv8six5f"; + sha256 = "0n24wy34shczlr5fnim7vcbrgvs0hffzw89n06fxziim9iws406s"; type = "gem"; }; - version = "2.23.2"; + version = "2.26.1"; }; ruby-prof = { groups = ["development" "test"]; platforms = []; 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"]; @@ -2681,7 +2724,7 @@ version = "1.15.0"; }; ruby2_keywords = { - groups = ["default"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; @@ -2728,10 +2771,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kymrjdpbmn4yaml3aaqyj1dzj8gqmm9h030dc2rj5mvja7fpi28"; + sha256 = "0wsw05y0h1ln3x2kvcw26fs9ivryb4xbjrb4hsk2pishkhydkz4j"; type = "gem"; }; - version = "6.0.2"; + version = "6.1.0"; }; scenic = { dependencies = ["activerecord" "railties"]; @@ -2750,10 +2793,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ws0mh230l1pvyxcrlcr48w01alfhprjs1jbd8yrn463drsr2yac"; + sha256 = "1qy3whgdg6q5bi6mzbq5gc94rxnkasdhdx3c73z3a955krj16w13"; type = "gem"; }; - version = "4.11.0"; + version = "4.16.0"; }; semantic_range = { groups = ["default"]; @@ -2771,10 +2814,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0iv7vgqyrpymiwvc3ca24sl4lda8m627p657p0v4xzdpzincrnbr"; + sha256 = "0zqr9is8y7mg5dfs1q8w5jl9spwvqkhbi9r6np8208n40hi3pydl"; type = "gem"; }; - version = "6.5.9"; + version = "6.5.12"; }; sidekiq-bulk = { dependencies = ["sidekiq"]; @@ -2804,10 +2847,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02f91b24hrrn688wqvxb13lwvcgqb7g9k3sxylnydd6v89wr8mcg"; + sha256 = "1qkhnmvkw6782vrvd9p03ifl2j206lr3kkljpccvmf18qgkrd356"; type = "gem"; }; - version = "7.1.29"; + version = "7.1.31"; }; simple-navigation = { dependencies = ["activesupport"]; @@ -2826,10 +2869,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0z4df65w9qpri315lpvzazdxa9xb7yj0j3d77q06wf0jnpvw4mzs"; + sha256 = "0070d1dvj3m908p45macjxmi8n92cwdgkwkd1jbcml6ynlp4p2v2"; type = "gem"; }; - version = "5.2.0"; + version = "5.3.0"; }; simplecov = { dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; @@ -2852,6 +2895,16 @@ }; version = "0.12.3"; }; + simplecov-lcov = { + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1h8kswnshgb9zidvc88f4zjy4gflgz3854sx9wrw8ppgnwfg6581"; + type = "gem"; + }; + version = "0.8.0"; + }; simplecov_json_formatter = { groups = ["default" "test"]; platforms = []; @@ -2872,39 +2925,6 @@ }; version = "1.17.0"; }; - sprockets = { - dependencies = ["concurrent-ruby" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; - type = "gem"; - }; - version = "3.7.2"; - }; - sprockets-rails = { - dependencies = ["actionpack" "activesupport" "sprockets"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1b9i14qb27zs56hlcc2hf139l0ghbqnjpmfi0054dxycaxvk5min"; - type = "gem"; - }; - version = "3.4.2"; - }; - sshkit = { - dependencies = ["net-scp" "net-ssh"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "14a717mr2cmpgld5fcdd124cvlc5b634f96rhwlnmmc4m8bbkcp9"; - type = "gem"; - }; - version = "1.21.5"; - }; stackprof = { groups = ["development" "test"]; platforms = []; @@ -2936,16 +2956,26 @@ }; version = "3.0.2"; }; + stringio = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "063psvsn1aq6digpznxfranhcpmi0sdv2jhra5g0459sw0x2dxn1"; + type = "gem"; + }; + version = "3.1.0"; + }; strong_migrations = { dependencies = ["activerecord"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wz4zhsp4xia8zcpi98v4sgjlv2prd515l8jz4f7j0wk45dfkjs1"; + sha256 = "1742r643p4nigjj45gjjmgl3d9i5ja7klda0bhmxp02ay971c3n6"; type = "gem"; }; - version = "0.8.0"; + version = "1.7.0"; }; swd = { dependencies = ["activesupport" "attr_required" "httpclient"]; @@ -2973,10 +3003,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09p32vp94sa1mbr0if0adf02yzc4ns00lsmpwns2xbkncwpzrqm4"; + sha256 = "0fwia5hvc1xz9w7vprzjnsym3v9j5l9ggdvy70jixbvpcpz4acfz"; type = "gem"; }; - version = "0.10.2"; + version = "0.10.3"; }; terminal-table = { dependencies = ["unicode-display_width"]; @@ -3005,40 +3035,40 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mhzw33lv7h8d7pyh65lis5svnmm8m6fnszbsfg3j3xk9hcl0an5"; + sha256 = "08vm33d51zdan4zj4cccw3lx06p6flc1h40kgdfm9rp4x83csdda"; type = "gem"; }; - version = "1.2.3"; + version = "1.3.1"; }; thor = { groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg"; + sha256 = "1hx77jxkrwi66yvs10wfxqa8s25ds25ywgrrf66acm9nbfg7zp0s"; type = "gem"; }; - version = "1.2.2"; + version = "1.3.0"; }; tilt = { groups = ["default" "development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bmjgbv8158klwp2r3klxjwaj93nh1sbl4xvj9wsha0ic478avz7"; + sha256 = "0p3l7v619hwfi781l3r7ypyv1l8hivp09r18kmkn6g11c4yr1pc2"; type = "gem"; }; - version = "2.2.0"; + version = "2.3.0"; }; timeout = { - groups = ["default" "development"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1d9cvm0f4zdpwa795v3zv4973y5zk59j7s1x3yn90jjrhcz1yvfd"; + sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg"; type = "gem"; }; - version = "0.4.0"; + version = "0.4.1"; }; tpm-key_attestation = { dependencies = ["bindata" "openssl" "openssl-signature_algorithm"]; @@ -3131,10 +3161,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m2d0gpsgqnv29j5h2d6g57g0rayvd460b8s2vjr8sn46bqf89m5"; + sha256 = "1v3k61zcbxfmf150d4vky6cbdmyrn3yljsl9na1y3i52v7zsbdnx"; type = "gem"; }; - version = "1.2023.3"; + version = "1.2023.4"; }; unf = { dependencies = ["unf_ext"]; @@ -3162,10 +3192,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a"; + sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky"; type = "gem"; }; - version = "2.4.2"; + version = "2.5.0"; }; uri = { groups = ["default"]; @@ -3216,10 +3246,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ri09bf640kkw4v6k2g90q2nw1mx2hsghhngaqgb7958q8id8xrz"; + sha256 = "1dwh2xrpwhbzyncb1wvgzz8fmln3r15iqz53c48q4swagpqzqig5"; type = "gem"; }; - version = "3.0.0"; + version = "3.1.0"; }; webfinger = { dependencies = ["activesupport" "httpclient"]; @@ -3267,15 +3297,25 @@ }; version = "0.3.8"; }; + webrick = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13qm7s0gr2pmfcl7dxrmq38asaza4w0i2n9my4yzs499j731wh8r"; + type = "gem"; + }; + version = "1.8.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"; }; websocket-driver = { dependencies = ["websocket-extensions"]; @@ -3334,10 +3374,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mwdd445w63khz13hpv17m2br5xngyjl3jdj08xizjbm78i2zrxd"; + sha256 = "1gir0if4nryl1jhwi28669gjwhxb7gzrm1fcc8xzsch3bnbi47jn"; type = "gem"; }; - version = "2.6.11"; + version = "2.6.12"; }; } diff --git a/common/pkgs/mastodon/source.nix b/common/pkgs/mastodon/source.nix index d1ee1de..2fe7eb9 100644 --- a/common/pkgs/mastodon/source.nix +++ b/common/pkgs/mastodon/source.nix @@ -1,18 +1,15 @@ # This file was generated by pkgs.mastodon.updateScript. -{ fetchFromGitHub, applyPatches, patches ? [] }: -let - version = "8fbaf6711d6d33de2fcc62888a7109993a5c8f24"; -in -( - applyPatches { - src = fetchFromGitHub { - owner = "AgathaSorceress"; - repo = "mastodon"; - rev = "${version}"; - hash = "sha256-AVlugSNe55feq3RUiFITU0MWcIr9rNAa1iqPFV3aVPg="; - }; - patches = patches ++ []; - }) // { +{ fetchFromGitHub, applyPatches, patches ? [ ] }: +let version = "4615ff9a14d80753ebbae8eb6174d43f553241ad"; +in (applyPatches { + src = fetchFromGitHub { + owner = "AgathaSorceress"; + repo = "mastodon"; + rev = "${version}"; + sha256 = "bTjyeZbxdkAtLb63jBgNUKhlnXY0KIpGAN0YCglcT5E="; + }; + patches = patches ++ [ ./yarn-typescript.patch ]; +}) // { inherit version; - yarnHash = "sha256-WsPNqV1PC2YjL37qnWfRTj8LaIBUI7+C0cWTfFd7HGo="; + yarnHash = "sha256-qE1TBqa3BSEu1MC3Qw/k3h7QEicWd3AwJdA+U1v8924="; } diff --git a/common/pkgs/mastodon/yarn-typescript.patch b/common/pkgs/mastodon/yarn-typescript.patch new file mode 100644 index 0000000..e0f90bf --- /dev/null +++ b/common/pkgs/mastodon/yarn-typescript.patch @@ -0,0 +1,15 @@ +--- a/yarn.lock ++++ b/yarn.lock +@@ -16483,11 +16483,11 @@ + + "typescript@patch:typescript@npm%3A5#optional!builtin, typescript@patch:typescript@npm%3A^5.0.4#optional!builtin": + version: 5.3.3 +- resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" ++ resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=29ae49" + bin: + tsc: bin/tsc + tsserver: bin/tsserver +- checksum: 1d0a5f4ce496c42caa9a30e659c467c5686eae15d54b027ee7866744952547f1be1262f2d40de911618c242b510029d51d43ff605dba8fb740ec85ca2d3f9500 ++ checksum: e22df47df9b2b2f2617b8bf511a29aea3d177f9f7a0756818230a76b01cbd7da988bf55f9463aaa1a4c1ff90b80f8dc5676460d4e9dfc010572cbba59b822b0c + languageName: node + linkType: hard diff --git a/common/pkgs/mastodon/yarn.nix b/common/pkgs/mastodon/yarn.nix new file mode 100644 index 0000000..bdde07d --- /dev/null +++ b/common/pkgs/mastodon/yarn.nix @@ -0,0 +1,32 @@ +{ stdenvNoCC, yarn-berry, cacert, src, hash }: +stdenvNoCC.mkDerivation { + pname = "yarn-deps"; + version = hash; + + nativeBuildInputs = [ yarn-berry cacert ]; + inherit src; + + dontInstall = true; + + NODE_EXTRA_CA_CERTS = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + + buildPhase = '' + mkdir -p $out + + export HOME=$(mktemp -d) + echo $HOME + + export YARN_ENABLE_TELEMETRY=0 + export YARN_COMPRESSION_LEVEL=0 + + cache="$(yarn config get cacheFolder)" + yarn install --immutable --mode skip-build + + cp -r $cache/* $out/ + ''; + + outputHashAlgo = "sha256"; + outputHash = hash; + outputHashMode = "recursive"; + +}