From fcf0e28b1da0a0351c5b3ec87afb01021b631c1c Mon Sep 17 00:00:00 2001 From: emily Date: Wed, 14 Aug 2024 17:43:16 +0200 Subject: [PATCH] =?UTF-8?q?nyastodon:=20v4.3.0-alpha.3+glitch+cat+1.0.0+ny?= =?UTF-8?q?a-1.2.2=20=E2=86=92=204.3.0-alpha.5+glitch+cat+1.0.8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/nyastodon/default.nix | 173 +------ pkgs/nyastodon/gemset.nix | 969 ++++++++++++++++++++++++------------- pkgs/nyastodon/modules.nix | 75 +++ pkgs/nyastodon/source.nix | 12 +- pkgs/nyastodon/update.sh | 6 +- 5 files changed, 737 insertions(+), 498 deletions(-) create mode 100644 pkgs/nyastodon/modules.nix diff --git a/pkgs/nyastodon/default.nix b/pkgs/nyastodon/default.nix index 8381064..acc0103 100644 --- a/pkgs/nyastodon/default.nix +++ b/pkgs/nyastodon/default.nix @@ -1,161 +1,28 @@ -{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests -, yarn-berry, callPackage, ruby, writeShellScript -, brotli - - # Allow building a fork or custom version of Mastodon: -, pname ? "nyastodon" -, version ? srcOverride.version -, patches ? [] - # src is a package -, srcOverride ? callPackage ./source.nix { inherit patches; } -, gemset ? ./. + "/gemset.nix" -, yarnHash ? srcOverride.yarnHash +{ + callPackage, + mastodon, + patches ? [], }: - -stdenv.mkDerivation rec { - inherit pname version; - - src = srcOverride; - - mastodonGems = bundlerEnv { - name = "${pname}-gems-${version}"; - inherit version gemset ruby; - gemdir = src; +let + src = callPackage ./source.nix { + inherit patches; }; - mastodonModules = stdenv.mkDerivation { - pname = "${pname}-modules"; - inherit src version; - - yarnOfflineCache = callPackage ./yarn.nix { - src = srcOverride; - hash = yarnHash; - }; - - nativeBuildInputs = [ nodejs-slim yarn-berry mastodonGems mastodonGems.wrappedRuby brotli ]; - - RAILS_ENV = "production"; - NODE_ENV = "production"; - - buildPhase = '' - runHook preBuild - - export HOME=$PWD - # 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 - - 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 - - # skip running yarn install - rm -rf ~/bin/yarn - - OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder \ - rails assets:precompile - yarn cache clean - rm -rf ~/node_modules/.cache - - # Create missing static gzip and brotli files - gzip --best --keep ~/public/assets/500.html - gzip --best --keep ~/public/packs/report.html - find ~/public/assets -maxdepth 1 -type f -name '.*.json' \ - -exec gzip --best --keep --force {} ';' - brotli --best --keep ~/public/packs/report.html - find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|js|json|html)' \ - -exec brotli --best --keep {} ';' - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/public - cp -r node_modules $out/node_modules - cp -r public/assets $out/public - cp -r public/packs $out/public - - runHook postInstall - ''; + yarn-deps = callPackage ./yarn.nix { + inherit src; + hash = src.yarnHash; }; - propagatedBuildInputs = [ mastodonGems.wrappedRuby ]; - nativeBuildInputs = [ brotli ]; - buildInputs = [ mastodonGems nodejs-slim ]; - - buildPhase = '' - runHook preBuild - - ln -s $mastodonModules/node_modules node_modules - ln -s $mastodonModules/public/assets public/assets - ln -s $mastodonModules/public/packs public/packs - - patchShebangs bin/ - for b in $(ls $mastodonGems/bin/) - do - if [ ! -f bin/$b ]; then - ln -s $mastodonGems/bin/$b bin/$b - fi - done - - # Remove execute permissions - chmod 0444 public/emoji/*.svg - - # Create missing static gzip and brotli files - find public -maxdepth 1 -type f -regextype posix-extended -iregex '.*\.(css|js|svg|txt|xml)' \ - -exec gzip --best --keep --force {} ';' \ - -exec brotli --best --keep {} ';' - find public/emoji -type f -name '.*.svg' \ - -exec gzip --best --keep --force {} ';' \ - -exec brotli --best --keep {} ';' - ln -s assets/500.html.gz public/500.html.gz - ln -s assets/500.html.br public/500.html.br - ln -s packs/sw.js.gz public/sw.js.gz - ln -s packs/sw.js.br public/sw.js.br - ln -s packs/sw.js.map.gz public/sw.js.map.gz - ln -s packs/sw.js.map.br public/sw.js.map.br - - rm -rf log - ln -s /var/log/mastodon log - ln -s /tmp tmp - - runHook postBuild - ''; - - installPhase = let - run-streaming = writeShellScript "run-streaming.sh" '' - # NixOS helper script to consistently use the same NodeJS version the package was built with. - ${nodejs-slim}/bin/node ./streaming - ''; - in '' - runHook preInstall - - mkdir -p $out - cp -r * $out/ - ln -s ${run-streaming} $out/run-streaming.sh - - runHook postInstall - ''; - - passthru = { - tests.mastodon = nixosTests.mastodon; - # run with: nix-shell ./maintainers/scripts/update.nix --argstr package mastodon - updateScript = ./update.sh; + nyastodon = mastodon.override { + pname = "nyastodon"; + srcOverride = src; + gemset = ./gemset.nix; }; - meta = with lib; { - description = "Self-hosted, globally interconnected microblogging software based on ActivityPub"; - homepage = "https://joinmastodon.org"; - license = licenses.agpl3Plus; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ happy-river erictapen izorkin ghuntley ]; + modules = callPackage ./modules.nix { + inherit nyastodon yarn-deps; }; -} - +in + nyastodon.overrideAttrs (_: { + mastodonModules = modules; + }) diff --git a/pkgs/nyastodon/gemset.nix b/pkgs/nyastodon/gemset.nix index e4bd70d..56e71f4 100644 --- a/pkgs/nyastodon/gemset.nix +++ b/pkgs/nyastodon/gemset.nix @@ -5,10 +5,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ifiz4nd6a34z2n8lpdgvlgwziy2g364b0xzghiqd3inji0cwqp1"; + sha256 = "046k9cnw8vqlf4q4i2aywr5rf02k2081238z2rf3vada3ijshyvq"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; 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 = "1adqnf5zc4fdr71ykxdv5b50h7n4xfvrc0qcgwmgidi0cxkzx4r4"; + sha256 = "1l6ahdd20zimpq8crfw9ng8w288giv3daklbw6df95s5lhck1zd3"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; actionmailer = { dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"]; @@ -27,10 +27,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "012mxn5dfhwbssrckw6kvf851m6rlfa87n4nikk28g05ydfsvcys"; + sha256 = "0l835a50h95wlzcy76c2vg54ix3i55kqmnrmz67b11q5fjb6068z"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; actionpack = { dependencies = ["actionview" "activesupport" "nokogiri" "racc" "rack" "rack-session" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; @@ -38,10 +38,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0n1v4r5cyac5wfdlf8bly45mnh60vbp067yjpkyb05vyszamiydq"; + sha256 = "1lpd0lvn6abcq5k8g0qw8kmzx6igirlqxvd1hhwmr5vaxhdwgbyw"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; actiontext = { dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"]; @@ -49,10 +49,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0an5sfy96cbd7f43igq47h3m228ivngqjj40gj6iqllhjhchgs7c"; + sha256 = "115p772dc19qvywyz9pgzh1fb3g2457hhh96shcrijd3jnp4v5l4"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; actionview = { dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; @@ -60,10 +60,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kq9b4xnwiknjqg4y6ixvv0cf1z0dcxs68inc8bx05s0fqrim6rn"; + sha256 = "0nv1ifjhm59abc52k2hwazl38r9cc4bkfgdsl00f24gc5ljgbz21"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; active_model_serializers = { dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"]; @@ -82,10 +82,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08gjywvd65yzgjw7ynsgvi00scxc4fmgj70wajn7wsdqx00hbafj"; + sha256 = "0qhg0izdckgyqmrsgigh1vkqg8ccrkdjhf36k9gxcbgvzpqfx2iz"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; activemodel = { dependencies = ["activesupport"]; @@ -93,10 +93,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0p3ibps515151ja4gadrhh8frvjvvq4h5fpxw2acccv3z5i553hh"; + sha256 = "0wmdw440l4h75zk6c4ynbnv21bj26dh8kb1kwikqkjnzfvm3ij7l"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; activerecord = { dependencies = ["activemodel" "activesupport" "timeout"]; @@ -104,10 +104,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ww1qxn12nlp0ivysq0pxj6cvajf0fbq781fr4pqx5206c690wj8"; + sha256 = "1wihj9xhr7yj10hh8fqw6ralanbwlisncbam8pa92czjssjfqkkq"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; activestorage = { dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel"]; @@ -115,10 +115,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09wp0qqp7xr31ipcv42bs81fmyksz9l3jmraryf53qjsbbqpfdr8"; + sha256 = "0bhardfnmyynd04si8989g5yw5fnj4f2a5cs1945w43ylyh0w0pj"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; activesupport = { dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"]; @@ -126,10 +126,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0blbbf2x7dn7ar4g9aij403582zb6zscbj48bz63lvaamsvlb15d"; + sha256 = "0283wk1zxb76lg79dk501kcf5xy9h25qiw15m86s4nrfv11vqns5"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; addressable = { dependencies = ["public_suffix"]; @@ -137,10 +137,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr"; + sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; - version = "2.8.6"; + version = "2.8.7"; }; aes_key_wrap = { groups = ["default"]; @@ -183,26 +183,15 @@ }; version = "2.4.2"; }; - attr_encrypted = { - dependencies = ["encryptor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "034x6mbrv9apd83v99v9pm8vl3d17w5bbwws26gr4wv95fylmgnc"; - type = "gem"; - }; - version = "4.0.0"; - }; attr_required = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1g22axmi2rhhy7w8c3x6gppsawxqavbrnxpnmphh22fk7cwi0kh2"; + sha256 = "16fbwr6nmsn97n0a6k1nwbpyz08zpinhd6g7196lz1syndbgrszh"; type = "gem"; }; - version = "1.0.1"; + version = "1.0.2"; }; awrence = { groups = ["default"]; @@ -229,10 +218,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1h91wsvwryrgrmcxwa31ywx3slxlyy2pgdwrmlplfi8cp371ha26"; + sha256 = "00b02bbj5xny229zrq8cqbdiijcwda0cpw5qxagx7zffq4mqw7pv"; type = "gem"; }; - version = "1.873.0"; + version = "1.961.0"; }; aws-sdk-core = { dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; @@ -240,10 +229,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ansagfl5irx1y6b9xf4xpi9j6q6k5pbd2aw80hn0p4m3ycafamh"; + sha256 = "0llxx7cvvidjflw7vcaw446zgga113plvrj2azgg39ml6zzsfif0"; type = "gem"; }; - version = "3.190.1"; + version = "3.201.3"; }; aws-sdk-kms = { dependencies = ["aws-sdk-core" "aws-sigv4"]; @@ -251,10 +240,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qzxqfgrhnl5rdc39a1gl2pgrdxgnsj12zycpxnsx8lg6arfmnr1"; + sha256 = "02g3l3lcyddqncrwjxgawxl33p2p715k1gbrdlgyiv0yvy88sn0k"; type = "gem"; }; - version = "1.75.0"; + version = "1.88.0"; }; aws-sdk-s3 = { dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; @@ -262,10 +251,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sfpipfdmixpc0madfx1yvpwpv52fdhxfx4bmvrjxzb6ra78ikbr"; + sha256 = "1479h0jpjfkyj26h9hv8d6q8b9iw7v1x5yd0yk6af477d2icgq71"; type = "gem"; }; - version = "1.142.0"; + version = "1.157.0"; }; aws-sigv4 = { dependencies = ["aws-eventstream"]; @@ -273,10 +262,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1g3w27wzjy4si6kp49w10as6ml6g6zl3xrfqs5ikpfciidv9kpc4"; + sha256 = "0yf396fxashbqn0drbnvd9srxfg7w06v70q8kqpzi04zqchf6lvp"; type = "gem"; }; - version = "1.8.0"; + version = "1.9.1"; }; azure-storage-blob = { dependencies = ["azure-storage-common" "nokogiri"]; @@ -341,36 +330,25 @@ }; version = "2.10.1"; }; - better_html = { - dependencies = ["actionview" "activesupport" "ast" "erubi" "parser" "smart_properties"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1sk5s5lpwbd53s4a1xzm02nys3kfqdw5mh9i2qfn04hjsk8wk3gc"; - type = "gem"; - }; - version = "2.0.2"; - }; bigdecimal = { groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cq1c29zbkcxgdihqisirhcw76xc768z2zpd5vbccpq0l1lv76g7"; + sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; - version = "3.1.7"; + version = "3.1.8"; }; bindata = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04y4zgh4bbcb8wmkxwfqg4saky1d1f3xw8z6yk543q13h8ky8rz5"; + sha256 = "08r67nglsqnxrbn803szf5bdnqhchhq8kf2by94f37fcl65wpp19"; type = "gem"; }; - version = "2.4.15"; + version = "2.5.0"; }; binding_of_caller = { dependencies = ["debug_inspector"]; @@ -378,10 +356,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "078n2dkpgsivcf0pr50981w95nfc2bsrp3wpf9wnxz1qsp8jbb9s"; + sha256 = "16mjj15ks5ws53v2y31hxcmf46d0qjdvdaadpk7xsij2zymh4a9b"; type = "gem"; }; - version = "1.0.0"; + version = "1.0.1"; }; blurhash = { groups = ["default"]; @@ -399,10 +377,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1srlq3gqirzdkhv12ljpnp5cb0f8jfrl3n8xs9iivyz2c7khvdyp"; + sha256 = "0mdgj9yw1hmx3xh2qxyjc31y8igmxzd9h0c245ay2zkz76pl4k5c"; type = "gem"; }; - version = "1.18.3"; + version = "1.18.4"; }; brakeman = { dependencies = ["racc"]; @@ -441,10 +419,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"; + sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; - version = "3.2.4"; + version = "3.3.0"; }; bundler-audit = { dependencies = ["thor"]; @@ -484,20 +462,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0511idr8xps9625nh3kxr68sdy6l3xy2kcz7r57g47fxb1v18jj3"; + sha256 = "1dsf9gjc2cj79vrnz2vgq573biqjw7ad4b0idm05xg6rb3y9gq4y"; type = "gem"; }; - version = "0.5.9.6"; + version = "0.5.9.8"; }; charlock_holmes = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p"; + sha256 = "1c1dws56r7p8y363dhyikg7205z59a3bn4amnv2y488rrq8qm7ml"; type = "gem"; }; - version = "0.7.7"; + version = "0.7.9"; }; chewy = { dependencies = ["activesupport" "elasticsearch" "elasticsearch-dsl"]; @@ -505,10 +483,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1spadkppcgq4gj03sjdywqws1j0pb6whj6d4kyj608jz7lc9vmwc"; + sha256 = "0kgqj7hcs09ln7i1rds1xify08rzjk02ryzvjdvnllg1fkh3vm2b"; type = "gem"; }; - version = "7.5.1"; + version = "7.6.0"; }; chunky_png = { groups = ["default"]; @@ -555,10 +533,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2"; + sha256 = "0skwdasxq7mnlcccn6aqabl7n9r3jd7k19ryzlzzip64cn4x572g"; type = "gem"; }; - version = "1.2.3"; + version = "1.3.3"; }; connection_pool = { groups = ["default" "development" "pam_authentication" "production" "test"]; @@ -587,10 +565,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r48q8csd1ld0yrzsp45wkfnpmkhk09gsldq8rlikarnmc51s9gf"; + sha256 = "0jaa7is4fw1cxigm8vlyhg05bw4nqy4f91zjqxk7pp4c8bdyyfn8"; type = "gem"; }; - version = "0.4.6"; + version = "1.0.0"; }; crass = { groups = ["default" "development" "pam_authentication" "production" "test"]; @@ -608,20 +586,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04q1vin8slr3k8mp76qz0wqgap6f9kdsbryvgfq9fljhrm463kpj"; + sha256 = "1rhqn05w27w2mjrf0a6ppb4fxpxbfvyhwgdxa8z886jr4qnhywzb"; type = "gem"; }; - version = "1.14.0"; + version = "1.17.1"; }; csv = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zmrgngggg4yvdbggdx9p3z4wcav4vxfigramxxvjh3hi7l12pig"; + sha256 = "0zfn40dvgjk1xv1z8l11hr9jfg3jncwsc9yhzsz4l4rivkpivg8b"; type = "gem"; }; - version = "3.2.8"; + version = "3.3.0"; }; database_cleaner-active_record = { dependencies = ["activerecord" "database_cleaner-core"]; @@ -629,10 +607,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12hdsqnws9gyc9sxiyc8pjiwr0xa7136m1qbhmd1pk3vsrrvk13k"; + sha256 = "1iz1hv2b1z7509dxvxdwzay1hhs24glxls5ldbyh688zxkcdca1j"; type = "gem"; }; - version = "2.1.0"; + version = "2.2.0"; }; database_cleaner-core = { groups = ["default" "test"]; @@ -660,20 +638,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1npzlgpvvms97gw0ixndapnvwy7ih3zc5r3s3wd4y64rlbaadwc6"; + sha256 = "1z77qyzcmvz3ciny6cb24s79a243jqkybqk30b310yichp02dq28"; type = "gem"; }; - version = "1.9.1"; + version = "1.9.2"; }; debug_inspector = { groups = ["default" "development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01l678ng12rby6660pmwagmyg8nccvjfgs3487xna7ay378a59ga"; + sha256 = "18k8x9viqlkh7dbmjzh8crbjy8w480arpa766cw1dnn3xcpa1pwv"; type = "gem"; }; - version = "1.1.0"; + version = "1.2.0"; }; devise = { dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; @@ -681,21 +659,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "121ljaaapil79dcsl5mkh5k613hv58z4z3g2lrnzb5qvqpb3h1j8"; + sha256 = "1y57fpcvy1kjd4nb7zk7mvzq62wqcpfynrgblj558k3hbvz4404j"; type = "gem"; }; - version = "4.9.3"; + version = "4.9.4"; }; devise-two-factor = { - dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"]; + dependencies = ["activesupport" "devise" "railties" "rotp"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15cbgb0hyq78myc6aaszzdrd9qll9n3qdhykmrx22qiyac3mnpy9"; + sha256 = "1q8syjnvlynvldfqf5p9cff81m6v3dzhnv1djcizczrfas6sgrza"; type = "gem"; }; - version = "4.1.1"; + version = "5.1.0"; }; devise_pam_authenticatable2 = { dependencies = ["devise" "rpam2"]; @@ -740,15 +718,14 @@ version = "1.4.0"; }; domain_name = { - dependencies = ["unf"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lcqjsmixjp52bnlgzh4lg9ppsk52x9hpwdjd53k8jnbah2602h0"; + sha256 = "0cyr2xm576gqhqicsyqnhanni47408w2pgvrfi8pd13h2li3nsaz"; type = "gem"; }; - version = "0.5.20190701"; + version = "0.6.20240107"; }; doorkeeper = { dependencies = ["railties"]; @@ -756,31 +733,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w02d1124mrzbagh2xplbzkpy0ykfs52f3rpyaa3zg6div0zvs13"; + sha256 = "0a6nbc12nfz355am2vwm1ql2p8zck7mr941glghmnl32djaga24b"; type = "gem"; }; - version = "5.6.9"; + version = "5.7.1"; }; dotenv = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1n0pi8x8ql5h1mijvm8lgn6bhq4xjb5a500p5r1krq4s6j9lg565"; + sha256 = "0y24jabiz4cf9ni9vi4j8sab8b5phpf2mpw3981r0r94l4m6q0q8"; type = "gem"; }; - version = "2.8.1"; - }; - dotenv-rails = { - dependencies = ["dotenv" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0v0gcbxzypcvy6fqq4gp80jb310xvdwj5n8qw9ci67g5yjvq2nxh"; - type = "gem"; - }; - version = "2.8.1"; + version = "3.1.2"; }; drb = { groups = ["default" "development" "pam_authentication" "production" "test"]; @@ -808,10 +774,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0havyxmvl157a653prspnbhgdchlx44xqxl170v1im5ggxwavcaq"; + sha256 = "1g3y2h1fi8bx2ad3n7y6hfwq22691xnbp1h3af440qs8dgripwp3"; type = "gem"; }; - version = "7.13.3"; + version = "7.17.10"; }; elasticsearch-api = { dependencies = ["multi_json"]; @@ -819,10 +785,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bmssarkk7lqkjdn8c9j7jvxcnn4hg1zcmhsky8bfvc99k33b3w8"; + sha256 = "1k1qnf3y1rc0i2cj182j2qn6bj63z3lw0rw2hbbksbvgv0pmlc1a"; type = "gem"; }; - version = "7.13.3"; + version = "7.17.10"; }; elasticsearch-dsl = { groups = ["default"]; @@ -840,10 +806,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0blfii8qvj0m6bg9sbfynxc40in7zfmw2wpi4clv7d9gclk053db"; + sha256 = "0prvwp083mayfggifcjnwjpnw5arw8v6qw9w8fb56lagsrpwgfhj"; type = "gem"; }; - version = "7.13.3"; + version = "7.17.10"; }; email_spec = { dependencies = ["htmlentities" "launchy" "mail"]; @@ -851,30 +817,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yhn60bmbyv10ikypp5zqrwyg0jfswyvnfqngy18r0dj5p458g7m"; + sha256 = "049dhlyy2hcksp1wj9mx2fngk5limkm3afxysnizg1hi2dxbw8yz"; type = "gem"; }; - version = "2.2.2"; - }; - encryptor = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0s8rvfl0vn8w7k1sgkc234060jh468s3zd45xa64p1jdmfa3zwmb"; - type = "gem"; - }; - version = "3.0.0"; + version = "2.3.0"; }; erubi = { groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7"; + sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw"; type = "gem"; }; - version = "1.12.0"; + version = "1.13.0"; }; et-orbi = { dependencies = ["tzinfo"]; @@ -882,20 +838,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1d2z4ky2v15dpcz672i2p7lb2nc793dasq3yq3660h2az53kss9v"; + sha256 = "0r6zylqjfv0xhdxvldr0kgmnglm57nm506pcm6085f0xqa68cvnj"; type = "gem"; }; - version = "1.2.7"; + version = "1.2.11"; }; excon = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kmmwgjzlrnc3nnrdnw1z67c95nbw0hv54a73yj8jw6pcvl9585x"; + sha256 = "0ala6123d3cv965ss48iyi0q4hcbzrznfwv2f1mr91sy98cigq4h"; type = "gem"; }; - version = "0.109.0"; + version = "0.111.0"; }; fabrication = { groups = ["development" "test"]; @@ -913,10 +869,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rrwh78515yqljh09wjxfsb64siqd8qgp4hv57syajhza5x8vbzz"; + sha256 = "1xj0xx2snnxzjipxpxwiki7053441jkdg10h0rmjiri040s5lssi"; type = "gem"; }; - version = "3.2.3"; + version = "3.4.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"]; @@ -1056,20 +1012,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "104kn1lj55hifcpiw1x7x9slskvqmfanylcz3nj8acjgmri0av72"; + sha256 = "1sfc7svf7h1ja6zmsq9f3ps6pg0q4hymphh6rk7ipmp7ygqjkii3"; type = "gem"; }; - version = "2.3.0"; + version = "2.3.1"; }; ffi = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg"; + sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; type = "gem"; }; - version = "1.15.5"; + version = "1.16.3"; }; ffi-compiler = { dependencies = ["ffi" "rake"]; @@ -1077,10 +1033,32 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0c2caqm9wqnbidcb8dj4wd3s902z15qmgxplwyfyqbwa0ydki7q1"; + sha256 = "1844j58cdg2q6g0rqfwg4rrambnhf059h4yg9rfmrbrcs60kskx9"; type = "gem"; }; - version = "1.0.1"; + version = "1.3.2"; + }; + flatware = { + dependencies = ["thor"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wh1difcakz9n7kb8mpd66ljf1yaxla48d6rgvb90haq7c0rd16h"; + type = "gem"; + }; + version = "2.3.2"; + }; + flatware-rspec = { + dependencies = ["flatware" "rspec"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jgzr4n6cpfng21m3ixlgj3v48xmprs9cphs5dpds7issrsakw0a"; + type = "gem"; + }; + version = "2.3.2"; }; fog-core = { dependencies = ["builder" "excon" "formatador" "mime-types"]; @@ -1088,10 +1066,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0p2xiw0n4l1k3ynma1vl0fzw5w8xhkv70x4f829nydxv7hply80y"; + sha256 = "1vf21i2qpl1hagapds0qjlfl6gsyrbssifn2br2ifn3fg9j80yxl"; type = "gem"; }; - version = "2.4.0"; + version = "2.5.0"; }; fog-json = { dependencies = ["fog-core" "multi_json"]; @@ -1110,10 +1088,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xh9qs00l1d7rxsr9qjlba8dprh9km8ya06y59qf17vncihl1xa7"; + sha256 = "1z7k3al9bb5ypzkrvi5szpfyi8sksggq68fwxrxywq6rky5lvhdq"; type = "gem"; }; - version = "1.1.0"; + version = "1.1.3"; }; formatador = { groups = ["default"]; @@ -1131,10 +1109,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cm2lrvhrpqq19hbdsxf4lq2nkb2qdldbdxh3gvi15l62dlb5zqq"; + sha256 = "10m9b2gvwfvmm61000mq7n8q7pk2xkxmizgfydpis66n2ybrhwh5"; type = "gem"; }; - version = "1.8.1"; + version = "1.10.1"; }; fuubar = { dependencies = ["rspec-core" "ruby-progressbar"]; @@ -1158,6 +1136,27 @@ }; version = "1.2.1"; }; + google-protobuf = { + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03pg19m15aqw33q6an777735x4x8643xg17rb3jr9j4rkp599id1"; + type = "gem"; + }; + version = "3.25.4"; + }; + googleapis-common-protos-types = { + dependencies = ["google-protobuf"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lg51gh8n6c0a38vin94zf0k9qz32hd9y8wqjpqljnkhjfzgpkix"; + type = "gem"; + }; + version = "1.14.0"; + }; haml = { dependencies = ["temple" "thor" "tilt"]; groups = ["default" "development"]; @@ -1186,10 +1185,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0znk0c63pmcknyfn5y2dlbw7kkqpbnx98994hwj5ghr191ghnqhp"; + sha256 = "1mf24djxk6968n0ypwbib790nzijcf03m4kw0dnks8csfxj6hy9g"; type = "gem"; }; - version = "0.57.0"; + version = "0.58.0"; }; hashdiff = { groups = ["default" "test"]; @@ -1227,10 +1226,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f8cr014j7mdqpdb9q17fp5vb5b8n1pswqaif91s3ylg5x3pygfn"; + sha256 = "02ghhvigqbq4252gsi4w8a9klkdkybmbz29ghfp1y6sqzlcb466a"; type = "gem"; }; - version = "2.1.0"; + version = "3.0.1"; }; hiredis = { groups = ["default"]; @@ -1263,15 +1262,15 @@ version = "4.3.4"; }; http = { - dependencies = ["addressable" "http-cookie" "http-form_data" "llhttp-ffi"]; + dependencies = ["addressable" "base64" "http-cookie" "http-form_data" "llhttp-ffi"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1bzb8p31kzv6q5p4z5xq88mnqk414rrw0y5rkhpnvpl29x5c3bpw"; + sha256 = "05b1khh7wxga9jviy9yi8z1nckxbm3svlzv40y0zvq3nag3d77mr"; type = "gem"; }; - version = "5.1.1"; + version = "5.2.0"; }; http-cookie = { dependencies = ["domain_name"]; @@ -1320,10 +1319,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vmcrsvi1x9ppxsp8pg4nwcxmqcqw9gyasx4sbcz3brqr39mr3zs"; + sha256 = "098n4dfmiydbm9if52h17kxglbli9gihjgzhcghv274ni2c9ab49"; type = "gem"; }; - version = "1.6.3"; + version = "1.7.0"; }; i18n = { dependencies = ["concurrent-ruby"]; @@ -1331,21 +1330,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; + sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16"; type = "gem"; }; - version = "1.14.1"; + version = "1.14.5"; }; i18n-tasks = { - dependencies = ["activesupport" "ast" "better_html" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"]; + dependencies = ["activesupport" "ast" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"]; groups = ["development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1s4kgpv7hmlg99cnpyvajba73vib67pdp1pa3g5rwkl838xgvnji"; + sha256 = "1v03380ffwwa84xzsc6dhkc57cs156qx5aij4bfdcs1j5bpxmn1s"; type = "gem"; }; - version = "1.0.13"; + version = "1.0.14"; }; idn-ruby = { groups = ["default"]; @@ -1384,10 +1383,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17ak21ybbprj9vg0hk8pb1r2yk9vlh50v9bdwh3qvlmpzcvljqq7"; + sha256 = "05g6vpz3997q4j3xhrliswfx3g5flsn5cfn1p1s4h6dx7c0hbn2k"; type = "gem"; }; - version = "1.12.0"; + version = "1.14.0"; }; jmespath = { groups = ["default"]; @@ -1404,10 +1403,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq"; + sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q"; type = "gem"; }; - version = "2.7.1"; + version = "2.7.2"; }; json-canonicalization = { groups = ["default"]; @@ -1431,15 +1430,15 @@ version = "1.15.3.1"; }; json-ld = { - dependencies = ["htmlentities" "json-canonicalization" "link_header" "multi_json" "rack" "rdf"]; + dependencies = ["htmlentities" "json-canonicalization" "link_header" "multi_json" "rack" "rdf" "rexml"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1carfj87p6cpd0xnysg5sj653rqmmwnnacsmjk42xdy40j15gp88"; + sha256 = "09xbw6kc95qgmqcfjp0jjw8dnfm28lw9b5lf8bdh3p2vpy9ihlxr"; type = "gem"; }; - version = "3.3.1"; + version = "3.3.2"; }; json-ld-preloaded = { dependencies = ["json-ld" "rdf"]; @@ -1458,10 +1457,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1h23nlk1a5xg7ayayzkanrgy3s5sk57vmc3awqbplqwzf8827rdd"; + sha256 = "09bq393nrxa7hmphc3li8idgxdnb5hwgj15d0q5qsh4l5g1qvrnm"; type = "gem"; }; - version = "4.2.0"; + version = "4.3.1"; }; jsonapi-renderer = { groups = ["default"]; @@ -1564,10 +1563,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1y5d4ip4l12v58bgazadl45iv3a5j7jp2gwg96b6jy378zn42a1d"; + sha256 = "1cnv3ggnzyagl50vzs1693aacv08bhwlprcvjp8jcg2w7cp3zwrg"; type = "gem"; }; - version = "1.8.1"; + version = "1.10.0"; }; letter_opener_web = { dependencies = ["actionmailer" "letter_opener" "railties" "rexml"]; @@ -1575,10 +1574,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vvvaz2ngaxv0s6sj25gdvp73vd8pfl8q3jharadg18p3va0m1ik"; + sha256 = "0q4qfi5wnn5bv93zjf10agmzap3sn7gkfmdbryz296wb1vz1wf9z"; type = "gem"; }; - version = "2.0.0"; + version = "3.0.0"; }; link_header = { groups = ["default"]; @@ -1596,10 +1595,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00dh6zmqdj59rhcya0l4b9aaxq6n8xizfbil93k0g06gndyk5xz5"; + sha256 = "1yph78m8w8l6i9833fc7shy5krk4mnqjc7ys0bg9kgxw8jnl0vs9"; type = "gem"; }; - version = "0.4.0"; + version = "0.5.0"; + }; + logger = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gpg8gzi0xwymw4aaq2iafcbx31i3xzkg3fb30mdxn1d4qhc3dqa"; + type = "gem"; + }; + version = "1.6.0"; }; lograge = { dependencies = ["actionpack" "activesupport" "railties" "request_store"]; @@ -1639,10 +1648,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0"; + sha256 = "190n2mk8m1l708kr88fh6mip9sdsh339d2s6sgrik3sbnvz4jmhd"; type = "gem"; }; - version = "1.0.2"; + version = "1.0.4"; }; mario-redis-lock = { dependencies = ["redis"]; @@ -1681,10 +1690,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c81d68r4wx0ckbmqxlfqc2qpd94jwcmqdm0xgr0s46r48pv9k9q"; + sha256 = "1pv28xh8mss25fj4nd5r6zds1br8ssr2bpxr0md5pskv38m5qz0f"; type = "gem"; }; - version = "1.0.1"; + version = "1.0.2"; }; mime-types = { dependencies = ["mime-types-data"]; @@ -1702,10 +1711,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08ja4k3yjczzz7n6rp1f3qvz4v45bc6fy04clnvdxbq3kfr7jk4c"; + sha256 = "104r7glqjal9fgvnv49wjzp4ssai9hmyn3npkari51s2ska3jnr0"; type = "gem"; }; - version = "3.2023.1205"; + version = "3.2024.0702"; }; mini_mime = { groups = ["default" "development" "test"]; @@ -1722,20 +1731,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs"; + sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk"; type = "gem"; }; - version = "2.8.5"; + version = "2.8.7"; }; minitest = { groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a"; + sha256 = "0jj629q3vw5yn90q4di4dyb87pil4a8qfm2srhgy5nc8j2n33v1i"; type = "gem"; }; - version = "5.22.3"; + version = "5.24.1"; }; msgpack = { groups = ["default"]; @@ -1762,10 +1771,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lgyysrpl50wgcb9ahg29i4p01z0irb3p9lirygma0kkfr5dgk9x"; + sha256 = "1033p35166d9p97y4vajbbvr13pmkk9zwn7sylxpmk9jrpk8ri67"; type = "gem"; }; - version = "2.3.0"; + version = "2.4.0"; }; mutex_m = { groups = ["default" "development" "pam_authentication" "production" "test"]; @@ -1805,10 +1814,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zn7j2w0hc622ig0rslk4iy6yp3937dy9ibhyr1mwwx39n7paxaj"; + sha256 = "0rc08fxm10vv73bg0nqyp5bdvl4cvzb3y4cdk4kwmxx414zln652"; type = "gem"; }; - version = "0.4.10"; + version = "0.4.14"; }; net-ldap = { groups = ["default"]; @@ -1848,20 +1857,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0csspzqrg7s2v2wdp6vqqs1rra6w5ilpgnps5h52ig6rp7x2i389"; + sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z"; type = "gem"; }; - version = "0.4.0.1"; + version = "0.5.0"; }; nio4r = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w9978zwjf1qhy3amkivab0f9syz6a7k0xgydjidaf7xc831d78f"; + sha256 = "017nbw87dpr4wyk81cgj8kxkxqgsgblrkxnmmadc77cg9gflrfal"; type = "gem"; }; - version = "2.5.9"; + version = "2.7.3"; }; nokogiri = { dependencies = ["mini_portile2" "racc"]; @@ -1869,10 +1878,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j72sg8n8834vbw2x8glcp46y5r2dls2pj64ll7rmf6mri9s52j9"; + sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq"; type = "gem"; }; - version = "1.16.3"; + version = "1.16.7"; }; nsa = { dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"]; @@ -1891,10 +1900,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g5nx99lrwmk6ynfaacqkyijnhvi4mckm77bmvpa0jmfg068l26h"; + sha256 = "0b2narmcw4723lfyy7j0l4pfyv5n0qnmkm4mqgi832p5cg31k090"; type = "gem"; }; - version = "3.16.3"; + version = "3.16.4"; }; omniauth = { dependencies = ["hashie" "rack" "rack-protection"]; @@ -1983,6 +1992,291 @@ }; version = "1.3.0"; }; + opentelemetry-api = { + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08smcww0ayv3xh5bpnx2ih2cw4r48kbb44ww2p3kbfgl0ifpghz1"; + type = "gem"; + }; + version = "1.3.0"; + }; + opentelemetry-common = { + dependencies = ["opentelemetry-api"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pp7i09wp5kp1npp3l8my06p7g06cglb1bi61nw8k3x5sj275kgq"; + type = "gem"; + }; + version = "0.20.1"; + }; + opentelemetry-exporter-otlp = { + dependencies = ["google-protobuf" "googleapis-common-protos-types" "opentelemetry-api" "opentelemetry-common" "opentelemetry-sdk" "opentelemetry-semantic_conventions"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0saiiaf5bkg95fjcq6asz5w86s6zg76xb0r93dcffhvnz36z0r2v"; + type = "gem"; + }; + version = "0.28.1"; + }; + opentelemetry-helpers-sql-obfuscation = { + dependencies = ["opentelemetry-common"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cnlr3gqmd2q9wcaxhvlkxkbjvvvkp4vzcwif1j7kydw7lvz2vmw"; + type = "gem"; + }; + version = "0.1.0"; + }; + opentelemetry-instrumentation-action_mailer = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-active_support" "opentelemetry-instrumentation-base"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1afibmwprdiqnkin7lb6zdxng36rqa7qbl5fl9wx0lchpc039zjj"; + type = "gem"; + }; + version = "0.1.0"; + }; + opentelemetry-instrumentation-action_pack = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base" "opentelemetry-instrumentation-rack"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16nbkayp8jb2zkqj2rmqd4d1mz4wdf0zg6jx8b0vzkf9mxr89py5"; + type = "gem"; + }; + version = "0.9.0"; + }; + opentelemetry-instrumentation-action_view = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-active_support" "opentelemetry-instrumentation-base"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01ylac7wjnmzb3zz3ss9rrsp74ah741mkvxs9i5w6cx20s0pmay0"; + type = "gem"; + }; + version = "0.7.1"; + }; + opentelemetry-instrumentation-active_job = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qn7szahrb1iwcskq2c5hc7ypazy2l0yjv6r4rv8rn0dqnhmfqs2"; + type = "gem"; + }; + version = "0.7.4"; + }; + opentelemetry-instrumentation-active_model_serializers = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yw98f8z6k4c8ns7p8ik2dc68p4vbi12xnavzw0vqhlnny4nx0n7"; + type = "gem"; + }; + version = "0.20.2"; + }; + opentelemetry-instrumentation-active_record = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wjfd1dmfzcnvss2jsnc2s3g6p0wfq5ay3vfnidkmisgyw7fphfk"; + type = "gem"; + }; + version = "0.7.2"; + }; + opentelemetry-instrumentation-active_support = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q07nn9ipq2yd7xjj24hh00cbvlda269k1l0xfkc8d8iw8mixrsg"; + type = "gem"; + }; + version = "0.6.0"; + }; + opentelemetry-instrumentation-base = { + dependencies = ["opentelemetry-api" "opentelemetry-registry"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pv064ksiynin8hzvljkwm5vlkgr8kk6g3qqpiwcik860i7l677n"; + type = "gem"; + }; + version = "0.22.3"; + }; + opentelemetry-instrumentation-concurrent_ruby = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1khlhzwb37mqnzr1vr49ljhi4bplmq9w8ndm0k8xbfsr8h8wivq4"; + type = "gem"; + }; + version = "0.21.4"; + }; + opentelemetry-instrumentation-excon = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14g6dvk31kz9v9qbr2w6ggxk96v3kaadm8wvnw3qsrsc4pd9ycns"; + type = "gem"; + }; + version = "0.22.4"; + }; + opentelemetry-instrumentation-faraday = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0np6wnckn12df6mwcr695fvjy3x2s6541ywr7ahw8a8dszs0qjsh"; + type = "gem"; + }; + version = "0.24.6"; + }; + opentelemetry-instrumentation-http = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05mrlg8msp59bagpc18ycr9333760kqp780gw8fgqn1798dl02qr"; + type = "gem"; + }; + version = "0.23.4"; + }; + opentelemetry-instrumentation-http_client = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0g6f5zv0bq585ppgzhm6acrpkz32j1h7zyrcy1r8n3ha41daip1z"; + type = "gem"; + }; + version = "0.22.7"; + }; + opentelemetry-instrumentation-net_http = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1l26f8sqsjjcc72a5xr9as3gibm4sgj8n004y15i5vbvdgzjfx60"; + type = "gem"; + }; + version = "0.22.7"; + }; + opentelemetry-instrumentation-pg = { + dependencies = ["opentelemetry-api" "opentelemetry-helpers-sql-obfuscation" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zxx75rd2fv82rzc7nw03x5ba7pmbnw32jns566n6wqvzsn3x2cr"; + type = "gem"; + }; + version = "0.27.4"; + }; + opentelemetry-instrumentation-rack = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1dmfxcc2xz2qa4zp0sks5zrqcfr4fbpbc9xdgvcv8ys0ipf7pwn0"; + type = "gem"; + }; + version = "0.24.6"; + }; + opentelemetry-instrumentation-rails = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-action_mailer" "opentelemetry-instrumentation-action_pack" "opentelemetry-instrumentation-action_view" "opentelemetry-instrumentation-active_job" "opentelemetry-instrumentation-active_record" "opentelemetry-instrumentation-active_support" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0k1wapaddc7kyzcjdzgw5wrh6m6ijw8ywq8kwxxi9ajybnyzdb05"; + type = "gem"; + }; + version = "0.31.1"; + }; + opentelemetry-instrumentation-redis = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qrgnk2x64sks9gqb7fycfa6sass6ddqzh5dms4hdbz1bzag581f"; + type = "gem"; + }; + version = "0.25.7"; + }; + opentelemetry-instrumentation-sidekiq = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cfzw1avv52idxvq02y95g3byxsswccck78zch5hmnnzvp5f59nn"; + type = "gem"; + }; + version = "0.25.7"; + }; + opentelemetry-registry = { + dependencies = ["opentelemetry-api"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pw87n9vpv40hf7f6gyl2vvbl11hzdkv4psbbv3x23jvccs8593k"; + type = "gem"; + }; + version = "0.3.1"; + }; + opentelemetry-sdk = { + dependencies = ["opentelemetry-api" "opentelemetry-common" "opentelemetry-registry" "opentelemetry-semantic_conventions"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0div7n5wac7x1l9fwdpb3bllw18cns93c7xccy27r4gmvv02f46s"; + type = "gem"; + }; + version = "1.5.0"; + }; + opentelemetry-semantic_conventions = { + dependencies = ["opentelemetry-api"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10anxw736pg85nw8vb11xnr5faq7qj8a1d8c62qbpjs6m0izi77y"; + type = "gem"; + }; + version = "1.10.1"; + }; orm_adapter = { groups = ["default" "pam_authentication"]; platforms = []; @@ -2008,10 +2302,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15wkxrg1sj3n1h2g8jcrn7gcapwcgxr659ypjf75z1ipkgxqxwsv"; + sha256 = "145bn5q7ysnjj02jdf1x4nc1f0xxrv7ihgz9yr1j7sinmawqkq0j"; type = "gem"; }; - version = "1.24.0"; + version = "1.25.1"; }; parser = { dependencies = ["ast" "racc"]; @@ -2019,10 +2313,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11r6kp8wam0nkfvnwyc1fmvky102r1vcfr84vi2p1a2wa0z32j3p"; + sha256 = "10ly2wind06nylyqa5724ld2l0l46d3ag4fm04ifjgw7qdlpf94d"; type = "gem"; }; - version = "3.3.0.5"; + version = "3.3.4.0"; }; parslet = { groups = ["default"]; @@ -2050,10 +2344,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "071b55bhsz7mivlnp2kv0a11msnl7xg5awvk8mlflpl270javhsb"; + sha256 = "09rls4zb0vkgf80v0h4vbjr2g739gix6l1w80959d2xcb9pdi9q7"; type = "gem"; }; - version = "1.5.6"; + version = "1.5.7"; }; pghero = { dependencies = ["activerecord"]; @@ -2061,20 +2355,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "127s1qn4dl5cq0xfw6y3pl382wwcmda1ivxs5vi7vccs24l9i53z"; + sha256 = "028icy2wr33a5wbh2szar1mf0syh42p3szd4bfxl1zwrby3cpnfa"; type = "gem"; }; - version = "3.4.1"; - }; - posix-spawn = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0cmb0svalqcxfzlzc5fvrci12b79x7bakasr8gkl3q5rz6di1q52"; - type = "gem"; - }; - version = "0.3.15"; + version = "3.6.0"; }; premailer = { dependencies = ["addressable" "css_parser" "htmlentities"]; @@ -2082,10 +2366,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10rzwdz43yy20lwzsr2as6aivhvwjvqh4nd48sa0ga57sizf1fb4"; + sha256 = "1yvy5lxq287izy7qsz23hry63rc57wkaaalqvxnwjncm56xgdmzh"; type = "gem"; }; - version = "1.21.0"; + version = "1.23.0"; }; premailer-rails = { dependencies = ["actionmailer" "net-smtp" "premailer"]; @@ -2098,26 +2382,16 @@ }; version = "1.12.0"; }; - private_address_check = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "05phz0vscfh9chv90yc9091pifw3cpwkh76flnhrmvja1q3na4cy"; - type = "gem"; - }; - version = "0.5.0"; - }; propshaft = { dependencies = ["actionpack" "activesupport" "rack" "railties"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s1bcrdrnz2draqpa3w9rlw5h45nr7nyaqcfjfs9vxcfyx8gmlya"; + sha256 = "14b06ilc0cadr0jz5aih56yxgnd0j36qp9a4x16py55id1ijw7gy"; type = "gem"; }; - version = "0.8.0"; + version = "0.9.0"; }; psych = { dependencies = ["stringio"]; @@ -2135,10 +2409,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m"; + sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; - version = "5.0.4"; + version = "6.0.1"; }; puma = { dependencies = ["nio4r"]; @@ -2157,10 +2431,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10diasjqi1g7s19ns14sldia4wl4c0z1m4pva66q4y2jqvks4qjw"; + sha256 = "18vz32n5ca5j5h971axnnfa8rjrfqnqv0zkgjv8xmbpb05c9m83w"; type = "gem"; }; - version = "2.3.1"; + version = "2.3.2"; }; raabro = { groups = ["default"]; @@ -2177,10 +2451,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp"; + sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; type = "gem"; }; - version = "1.7.3"; + version = "1.8.1"; }; rack = { groups = ["default" "development" "pam_authentication" "production" "test"]; @@ -2242,10 +2516,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1a62439xwn5v6hsl9s11hdk4wj58czhcbg7lminv23mnkc0ca147"; + sha256 = "12jw7401j543fj8cc83lmw72d8k6bxvkp9rvbifi88hh01blnsj4"; type = "gem"; }; - version = "0.7.6"; + version = "0.7.7"; }; rack-session = { dependencies = ["rack"]; @@ -2286,10 +2560,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "185zq5r9g56sfks852992bm0xf2vm9569jyiz5jyww3vx1jply1d"; + sha256 = "1bd6b970kwz9l23ffwg77n424gyhqqm31f493vf43rjfyyfwlzrs"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; rails-controller-testing = { dependencies = ["actionpack" "actionview" "activesupport"]; @@ -2341,10 +2615,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0435sfvhhrd4b2ic9b4c2df3i1snryidx7ry9km4805rpxfdbz2r"; + sha256 = "1z0slb2dlwrwgqijbk37hl4r9bh4h8vzcyswz6a9srl8lzrljq3c"; type = "gem"; }; - version = "7.1.3.2"; + version = "7.1.3.4"; }; rainbow = { groups = ["default" "development"]; @@ -2361,21 +2635,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy"; + sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; - version = "13.1.0"; + version = "13.2.1"; }; rdf = { - dependencies = ["bcp47_spec" "link_header"]; + dependencies = ["bcp47_spec" "bigdecimal" "link_header"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l515w395kbyz4n7lx102x1nv9yl6l72gvk67p35z4cqa74s59nx"; + sha256 = "1mlalmbj1wkwvjha92f7v91v0pbjar9gdb2ddxdyqd24zcifn3ln"; type = "gem"; }; - version = "3.3.1"; + version = "3.3.2"; }; rdf-normalize = { dependencies = ["rdf"]; @@ -2394,10 +2668,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ib3cnf4yllvw070gr4bz94sbmqx3haqc5f846fsvdcs494vgxrr"; + sha256 = "0ygk2zk0ky3d88v3ll7qh6xqvbvw5jin0hqdi1xkv1dhaw7myzdi"; type = "gem"; }; - version = "6.6.3.1"; + version = "6.7.0"; }; redcarpet = { groups = ["default"]; @@ -2446,10 +2720,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ndxm0xnv27p4gv6xynk6q41irckj76q1jsqpysd9h6f86hhp841"; + sha256 = "0ik40vcv7mqigsfpqpca36hpmnx0536xa825ai5qlkv3mmkyf9ss"; type = "gem"; }; - version = "2.9.0"; + version = "2.9.2"; }; reline = { dependencies = ["io-console"]; @@ -2457,10 +2731,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zx7sdh11p4z77c3f9ka6f065mgl6xwbamnsq4rrgwk310qhn41n"; + sha256 = "0y6kyz7kcilwdpfy3saqfgnar38vr5ys9sp40ndffy6h1znxfbax"; type = "gem"; }; - version = "0.4.3"; + version = "0.5.9"; }; request_store = { dependencies = ["rack"]; @@ -2468,10 +2742,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13ppgmsbrqah08j06bybd3cddv6dml79yzyjn7r8j1src78h98h7"; + sha256 = "0kd4w7aa0sbk59b19s39pwhd636r7fjamrqalixsw5d53hs4sb1d"; type = "gem"; }; - version = "1.5.1"; + version = "1.6.0"; }; responders = { dependencies = ["actionpack" "railties"]; @@ -2485,14 +2759,15 @@ version = "3.1.1"; }; rexml = { + dependencies = ["strscan"]; groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; + sha256 = "0lavf9ki8ji8q3gd79b1slbxvbky4pvwb7i9g19lgy3id8kpd4ga"; type = "gem"; }; - version = "3.2.6"; + version = "3.3.4"; }; rotp = { groups = ["default"]; @@ -2509,10 +2784,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pym2zjwl6dwdfvbn7rbvmds32r70jx9qddhvvi6pqy6987ack1v"; + sha256 = "1zd1pdldi6h8x27dqim7cy8m69xr01aw5c8k1zhkz497n4np6wgk"; type = "gem"; }; - version = "4.1.2"; + version = "4.2.1"; }; rpam2 = { groups = ["default" "pam_authentication"]; @@ -2545,6 +2820,17 @@ }; version = "1.2.0"; }; + rspec = { + dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14xrp8vq6i9zx37vh0yp4h9m0anx9paw200l1r5ad9fmq559346l"; + type = "gem"; + }; + version = "3.13.0"; + }; rspec-core = { dependencies = ["rspec-support"]; groups = ["default" "development" "test"]; @@ -2562,10 +2848,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bhhjzwdk96vf3gq3rs7mln80q27fhq82hda3r15byb24b34h7b2"; + sha256 = "0022nxs9gqfhx35n4klibig770n0j31pnkd8anz00yvrvkdghk41"; type = "gem"; }; - version = "3.13.0"; + version = "3.13.1"; }; rspec-github = { dependencies = ["rspec-core"]; @@ -2584,10 +2870,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rkzkcfk2x0qjr5fxw6ib4wpjy0hqbziywplnp6pg3bm2l98jnkk"; + sha256 = "0f3vgp43hajw716vmgjv6f4ar6f97zf50snny6y3fy9kkj4qjw88"; type = "gem"; }; - version = "3.13.0"; + version = "3.13.1"; }; rspec-rails = { dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; @@ -2595,10 +2881,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02wr7fl189p1lnpaylz48dlp1n5y763w92gk59s0345hwfr4m1q2"; + sha256 = "0nqwvyma86zchh4ki416h7cms38h521ghyypaq27b6yvkmp3h8yw"; type = "gem"; }; - version = "6.1.2"; + version = "6.1.3"; }; rspec-sidekiq = { dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks" "sidekiq"]; @@ -2606,10 +2892,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g7yg1fm339rlr3r7860p9wpbxwjm1n5z9hajk4yzz1l9g37xz6p"; + sha256 = "08sbi3cdh6pxj0mj34vzr7675rb4n2r2q5yxlgs0w9xnm5c0jpdx"; type = "gem"; }; - version = "4.1.0"; + version = "5.0.0"; }; rspec-support = { groups = ["default" "development" "test"]; @@ -2627,10 +2913,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0daamn13fbm77rdwwa4w6j6221iq6091asivgdhk6n7g398frcdf"; + sha256 = "13bif1z20kqq8aaglj7352qpfkzbd8p8rd7lak335szxziqrn8rs"; type = "gem"; }; - version = "1.62.1"; + version = "1.65.1"; }; rubocop-ast = { dependencies = ["parser"]; @@ -2638,10 +2924,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1v3q8n48w8h809rqbgzihkikr4g3xk72m1na7s97jdsmjjq6y83w"; + sha256 = "063qgvqbyv354icl2sgx758z22wzq38hd9skc3n96sbpv0cdc1qv"; type = "gem"; }; - version = "1.31.2"; + version = "1.31.3"; }; rubocop-capybara = { dependencies = ["rubocop"]; @@ -2649,21 +2935,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0f5r9di123hc4x2h453a143986plfzz9935bwc7267wj8awl8s1a"; + sha256 = "1aw0n8jwhsr39r9q2k90xjmcz8ai2k7xx2a87ld0iixnv3ylw9jx"; type = "gem"; }; - version = "2.20.0"; - }; - rubocop-factory_bot = { - dependencies = ["rubocop"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0d012phc7z5h1j1d2aisnbkmqlb95sld5jriia5qg2gpgbg1nxb2"; - type = "gem"; - }; - version = "2.25.1"; + version = "2.21.0"; }; rubocop-performance = { dependencies = ["rubocop" "rubocop-ast"]; @@ -2671,10 +2946,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cf7fn4dwf45r3nhnda0dhnwn8qghswyqbfxr2ippb3z8a6gmc8v"; + sha256 = "0kkkv073c01px27w69g93gbjwajxji5wmawrmbb5l9s4ll101wjw"; type = "gem"; }; - version = "1.20.2"; + version = "1.21.1"; }; rubocop-rails = { dependencies = ["activesupport" "rack" "rubocop" "rubocop-ast"]; @@ -2682,21 +2957,32 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1k3p37apkx2asmayvki5mizscic5qlz5pl165ki06r9gxxkq45qj"; + sha256 = "19g6m8ladix1dq8darrqnhbj6n3cgp2ivxnh48yj3nrgw0z97229"; type = "gem"; }; - version = "2.24.0"; + version = "2.25.1"; }; rubocop-rspec = { - dependencies = ["rubocop" "rubocop-capybara" "rubocop-factory_bot"]; + dependencies = ["rubocop"]; groups = ["development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17ksg89i1k5kyhi241pc0zyzmq1n7acxg0zybav5vrqbf02cw9rg"; + sha256 = "07f19rlmfh7ivnzavm1fycafflv76mcqgi2xdhpp4zmylqaglkzb"; type = "gem"; }; - version = "2.27.1"; + version = "3.0.4"; + }; + rubocop-rspec_rails = { + dependencies = ["rubocop" "rubocop-rspec"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ijc1kw81884k0wjq1sgwaxa854n1fdddscp4fnzfzlx7zl150c8"; + type = "gem"; + }; + version = "2.30.0"; }; ruby-prof = { groups = ["development" "test"]; @@ -2724,10 +3010,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18vnbzin5ypxrgcs9lllg7x311b69dyrdw2w1pwz84438hmxm79s"; + sha256 = "0qbhnmz1xn1ylvpywb8fyh00y6d73vjn97cs6a1ivriqpizkmkwx"; type = "gem"; }; - version = "1.15.0"; + version = "1.16.0"; + }; + ruby-vips = { + dependencies = ["ffi" "logger"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nyxwib3y2fc1lciaac0s03y3i915kyfq1kn9m19hyl5yblyhnxg"; + type = "gem"; + }; + version = "2.2.2"; }; ruby2_keywords = { groups = ["default"]; @@ -2777,10 +3074,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wsw05y0h1ln3x2kvcw26fs9ivryb4xbjrb4hsk2pishkhydkz4j"; + sha256 = "1c9j1rwdp87k7b7mawf8agpdycdr2dsl2wvjipmcy1c55kllp2qp"; type = "gem"; }; - version = "6.1.0"; + version = "6.1.2"; }; scenic = { dependencies = ["activerecord" "railties"]; @@ -2788,21 +3085,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04sd4jmgnwpilr3k061x87yyryya2mj15a8602fip49lfxza5548"; + sha256 = "0w0dafg0gz3snm30247wwai0cy3j235ynwx2karyh05ayfqhm4ii"; type = "gem"; }; - version = "1.7.0"; + version = "1.8.0"; }; selenium-webdriver = { - dependencies = ["base64" "rexml" "rubyzip" "websocket"]; + dependencies = ["base64" "logger" "rexml" "rubyzip" "websocket"]; groups = ["test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1asysih4l1mv24wqxrbnz0c0454kw3dhqaj6nsa8pyn9fjjdms5b"; + sha256 = "00dq3450kadsvxh1lpndasy0bab0ilrjhrnvlicfmkvrx3gfs2j9"; type = "gem"; }; - version = "4.18.1"; + version = "4.23.0"; }; semantic_range = { groups = ["default"]; @@ -2842,10 +3139,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0p5jjs3x2pa2fy494xs39xbq642pri13809dcr1l3hjsm56qvp1h"; + sha256 = "1gnm98hdw1ndw0sryjimp4a0805yhwhjxg6njhz8xmdh5ycgljda"; type = "gem"; }; - version = "5.0.3"; + version = "5.0.6"; }; sidekiq-unique-jobs = { dependencies = ["brpoplpush-redis_script" "concurrent-ruby" "redis" "sidekiq" "thor"]; @@ -2875,10 +3172,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0070d1dvj3m908p45macjxmi8n92cwdgkwkd1jbcml6ynlp4p2v2"; + sha256 = "0q3lwin7pk5rsxy2a663x6lph5arax9lqqk12fgwdy57i5ma749q"; type = "gem"; }; - version = "5.3.0"; + version = "5.3.1"; }; simplecov = { dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; @@ -2921,16 +3218,6 @@ }; version = "0.1.4"; }; - smart_properties = { - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0jrqssk9qhwrpq41arm712226vpcr458xv6xaqbk8cp94a0kycpr"; - type = "gem"; - }; - version = "1.17.0"; - }; stackprof = { groups = ["development" "test"]; platforms = []; @@ -2957,20 +3244,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vhqx7q8qpq3x9ba504n7bp0r9dxcck0r0hd73cac2iqkix6khlv"; + sha256 = "0qq3z6mwbgj1q3b9hpxxi98i63jpqycbv13fqb8362ngk7cv06x8"; type = "gem"; }; - version = "3.0.2"; + version = "4.1.0"; }; stringio = { groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "063psvsn1aq6digpznxfranhcpmi0sdv2jhra5g0459sw0x2dxn1"; + sha256 = "07mfqb40b2wh53k33h91zva78f9zwcdnl85jiq74wnaw2wa6wiak"; type = "gem"; }; - version = "3.1.0"; + version = "3.1.1"; }; strong_migrations = { dependencies = ["activerecord"]; @@ -2978,10 +3265,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0p9g8jqcakpwmbs6f77ydmbiwbgx9c5nr6jgwxh4xx6xpig1bphq"; + sha256 = "07ahzxbmngwa5v2jhybaxm9zb5f15wgr19pdfk38xq838hlhyxc8"; type = "gem"; }; - version = "1.8.0"; + version = "2.0.0"; + }; + strscan = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01"; + type = "gem"; + }; + version = "3.1.0"; }; swd = { dependencies = ["activesupport" "attr_required" "httpclient"]; @@ -3041,10 +3338,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09zw1y52yhzw2z01za87dglpfpdrm1dma00629wpq6462nxq9574"; + sha256 = "0lxik4ngvbphivyhss9i59c67zxkc0z7k0r683qshw1gdkfxzd8f"; type = "gem"; }; - version = "1.3.2"; + version = "1.3.3.1"; }; thor = { groups = ["default" "development" "pam_authentication" "production" "test"]; @@ -3134,10 +3431,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235"; + sha256 = "0l4vh6g333jxm9lakilkva2gn17j6gb052626r1pdbmy2lhnb460"; type = "gem"; }; - version = "0.8.1"; + version = "0.8.2"; }; twitter-text = { dependencies = ["idn-ruby" "unf"]; @@ -3188,10 +3485,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch"; + sha256 = "1sf6bxvf6x8gihv6j63iakixmdddgls58cpxpg32chckb2l18qcj"; type = "gem"; }; - version = "0.0.8.2"; + version = "0.0.9.1"; }; unicode-display_width = { groups = ["default" "development"]; @@ -3208,10 +3505,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fa49cdssxllj1j37a56kq27wsibx5lmqxkqdk1rz3452y0bsydy"; + sha256 = "094gk72ckazf495qc76gk09b5i318d5l9m7bicg2wxlrjcm3qm96"; type = "gem"; }; - version = "0.12.2"; + version = "0.13.0"; }; validate_email = { dependencies = ["activemodel" "mail"]; @@ -3274,10 +3571,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13jb9q0qv9ajw1ajr4cawnqj4h0dws3w5j4v5n6v3xk7a8rnjzr7"; + sha256 = "158d2ikjfzw43kgm095klp43ihphk0cv5xjprk44w73xfv03i9qg"; type = "gem"; }; - version = "3.22.0"; + version = "3.23.1"; }; webpacker = { dependencies = ["activesupport" "rack-proxy" "railties" "semantic_range"]; @@ -3318,10 +3615,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1a4zc8d0d91c3xqwapda3j3zgpfwdbj76hkb69xn6qvfkfks9h9c"; + sha256 = "0dr78vh3ag0d1q5gfd8960g1ca9g6arjd2w54mffid8h4i7agrxp"; type = "gem"; }; - version = "1.2.10"; + version = "1.2.11"; }; websocket-driver = { dependencies = ["websocket-extensions"]; @@ -3380,10 +3677,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1m67qmsak3x8ixs8rb971azl3l7wapri65pmbf5z886h46q63f1d"; + sha256 = "08cfb35232p9s1r4jqv8wacv38vxh699mgbr9y03ga89gx9lipqp"; type = "gem"; }; - version = "2.6.13"; + version = "2.6.16"; }; } diff --git a/pkgs/nyastodon/modules.nix b/pkgs/nyastodon/modules.nix new file mode 100644 index 0000000..b8f42c4 --- /dev/null +++ b/pkgs/nyastodon/modules.nix @@ -0,0 +1,75 @@ +# copied from https://git.catgirl.cloud/999eagle/dotfiles-nix/-/blob/main/overlay/mastodon/glitch/modules.nix +{ + stdenv, + nodejs-slim, + yarn-berry, + brotli, + # previous inputs + nyastodon, + yarn-deps, +}: +stdenv.mkDerivation { + pname = "glitch-modules"; + inherit (nyastodon) src version; + + yarnOfflineCache = yarn-deps; + + nativeBuildInputs = [nyastodon.mastodonGems nyastodon.mastodonGems.wrappedRuby] ++ [nodejs-slim yarn-berry brotli]; + + RAILS_ENV = "production"; + NODE_ENV = "production"; + + buildPhase = '' + runHook preBuild + + export HOME=$PWD + # 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 + + export YARN_ENABLE_TELEMETRY=0 + # what the actual *fuck* https://github.com/yarnpkg/berry/issues/6309 + export UV_USE_IO_URING=0 + mkdir -p ~/.yarn/berry + ln -sf $yarnOfflineCache ~/.yarn/berry/cache + + yarn install --immutable --immutable-cache + + patchShebangs ~/bin + patchShebangs ~/node_modules + + # skip running yarn install + rm -rf ~/bin/yarn + + OTP_SECRET=precompile_placeholder \ + SECRET_KEY_BASE=precompile_placeholder \ + ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=precompile_placeholder \ + ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=precompile_placeholder \ + ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=precompile_placeholder \ + rails assets:precompile + yarn cache clean + rm -rf ~/node_modules/.cache + + # Create missing static gzip and brotli files + gzip --best --keep ~/public/assets/500.html + gzip --best --keep ~/public/packs/report.html + find ~/public/assets -maxdepth 1 -type f -name '.*.json' \ + -exec gzip --best --keep --force {} ';' + brotli --best --keep ~/public/packs/report.html + find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|js|json|html)' \ + -exec brotli --best --keep {} ';' + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/public + cp -r node_modules $out/node_modules + cp -r public/assets $out/public + cp -r public/packs $out/public + + runHook postInstall + ''; +} diff --git a/pkgs/nyastodon/source.nix b/pkgs/nyastodon/source.nix index 954a967..46de8d2 100644 --- a/pkgs/nyastodon/source.nix +++ b/pkgs/nyastodon/source.nix @@ -1,17 +1,17 @@ # This file was generated by pkgs.mastodon.updateScript. -{ fetchgit, applyPatches, patches ? [] }: +{ lib, fetchgit, applyPatches, patches ? [] }: let - version = "v4.3.0-alpha.3+glitch+cat+1.0.0+nya-1.2.2"; + version = "4.3.0-alpha.5+glitch+cat+1.0.8"; in ( applyPatches { src = fetchgit { - url = "https://woof.rip/mirrors/nyastodon.git"; - rev = "refs/heads/develop"; - hash = "sha256-YFQPzsqJxGOS4E/1+chB+C7vD+NlgFiRekDsGZdcL9c="; + url = "https://woof.rip/mirrors/catstodon.git"; + rev = "7d8714db8135f5c3dfc81964887248d76a797788"; + hash = "sha256-VPXsIRAZxNOaLRI+g2gDy582BYx5t/SHv4xIrGAFTz0="; }; patches = patches ++ []; }) // { inherit version; - yarnHash = "sha256-XYTQaeSCaws9pR2QAYX2Y4F4BXLdQdBwYV9rCE3tYRA="; + yarnHash = "sha256-kkjRYQPjWB1udlpIH2Q+a+bbiqXw1T/dgv3KmQk/YBY="; } diff --git a/pkgs/nyastodon/update.sh b/pkgs/nyastodon/update.sh index 0406da4..735304c 100755 --- a/pkgs/nyastodon/update.sh +++ b/pkgs/nyastodon/update.sh @@ -2,7 +2,7 @@ #! nix-shell -i bash -p bundix coreutils diffutils nix-prefetch-git gnused jq prefetch-yarn-deps yarn-lock-converter set -e -URL=https://woof.rip/mirrors/nyastodon.git +URL=https://woof.rip/mirrors/catstodon.git POSITIONAL=() while [[ $# -gt 0 ]]; do @@ -79,7 +79,7 @@ HASH=$(echo "$JSON" | jq -r .hash) cat > source.nix << EOF # This file was generated by pkgs.mastodon.updateScript. -{ fetchgit, applyPatches, patches ? [] }: +{ lib, fetchgit, applyPatches, patches ? [] }: let version = "$VERSION"; in @@ -93,7 +93,7 @@ in patches = patches ++ [$PATCHES]; }) // { inherit version; - yarnHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; + yarnHash = lib.fakeHash; } EOF SOURCE_DIR="$(nix-build --no-out-link -E '(import {}).callPackage ./source.nix {}')"