update mastodon
This commit is contained in:
parent
ca572f9fe6
commit
5ff4d9b161
6 changed files with 1483 additions and 1442 deletions
|
@ -1,39 +1,27 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, nodejs-slim
|
||||
, bundlerEnv
|
||||
, nixosTests
|
||||
, yarn
|
||||
, callPackage
|
||||
, imagemagick
|
||||
, ffmpeg
|
||||
, file
|
||||
, ruby_3_0
|
||||
, writeShellScript
|
||||
, fetchYarnDeps
|
||||
, fixup_yarn_lock
|
||||
{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests
|
||||
, yarn, callPackage, imagemagick, ffmpeg, file, ruby, writeShellScript
|
||||
, fetchYarnDeps, prefetch-yarn-deps
|
||||
, brotli
|
||||
|
||||
# Allow building a fork or custom version of Mastodon:
|
||||
, pname ? "mastodon"
|
||||
, version ? import ./version.nix
|
||||
, srcOverride ? null
|
||||
, dependenciesDir ? ./. # Should contain gemset.nix, yarn.nix and package.json.
|
||||
, version ? srcOverride.version
|
||||
, patches ? []
|
||||
# src is a package
|
||||
, srcOverride ? callPackage ./source.nix { inherit patches; }
|
||||
, gemset ? ./. + "/gemset.nix"
|
||||
, yarnHash ? srcOverride.yarnHash
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
inherit pname version;
|
||||
|
||||
# Using overrideAttrs on src does not build the gems and modules with the overridden src.
|
||||
# Putting the callPackage up in the arguments list also does not work.
|
||||
src =
|
||||
if srcOverride != null then srcOverride else callPackage ./source.nix { };
|
||||
src = srcOverride;
|
||||
|
||||
mastodon-gems = bundlerEnv {
|
||||
mastodonGems = bundlerEnv {
|
||||
name = "${pname}-gems-${version}";
|
||||
inherit version;
|
||||
ruby = ruby_3_0;
|
||||
inherit version gemset ruby;
|
||||
gemdir = src;
|
||||
gemset = dependenciesDir + "/gemset.nix";
|
||||
# This fix (copied from https://github.com/NixOS/nixpkgs/pull/76765) replaces the gem
|
||||
# symlinks with directories, resolving this error when running rake:
|
||||
# /nix/store/451rhxkggw53h7253izpbq55nrhs7iv0-mastodon-gems-3.0.1/lib/ruby/gems/2.6.0/gems/bundler-1.17.3/lib/bundler/settings.rb:6:in `<module:Bundler>': uninitialized constant Bundler::Settings (NameError)
|
||||
|
@ -48,33 +36,28 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
};
|
||||
|
||||
mastodon-modules = stdenv.mkDerivation {
|
||||
mastodonModules = stdenv.mkDerivation {
|
||||
pname = "${pname}-modules";
|
||||
inherit src version;
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/yarn.lock";
|
||||
sha256 = "sha256-iSqMe4B9ZEFPAw7uXgnbTWBnXg89WM/3gnDbQAUJv2E=";
|
||||
# sha256 = lib.fakeSha256;
|
||||
hash = yarnHash;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
fixup_yarn_lock
|
||||
nodejs-slim
|
||||
yarn
|
||||
mastodon-gems
|
||||
mastodon-gems.wrappedRuby
|
||||
];
|
||||
nativeBuildInputs = [ prefetch-yarn-deps nodejs-slim yarn 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
|
||||
fixup_yarn_lock ~/yarn.lock
|
||||
fixup-yarn-lock ~/yarn.lock
|
||||
yarn config --offline set yarn-offline-mirror $yarnOfflineCache
|
||||
yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
|
||||
|
||||
|
@ -88,61 +71,99 @@ stdenv.mkDerivation rec {
|
|||
rails assets:precompile
|
||||
yarn cache clean --offline
|
||||
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
|
||||
'';
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ imagemagick ffmpeg file mastodon-gems.wrappedRuby ];
|
||||
buildInputs = [ mastodon-gems nodejs-slim ];
|
||||
propagatedBuildInputs = [ imagemagick ffmpeg file mastodonGems.wrappedRuby ];
|
||||
buildInputs = [ mastodonGems nodejs-slim ];
|
||||
|
||||
buildPhase = ''
|
||||
ln -s ${mastodon-modules}/node_modules node_modules
|
||||
ln -s ${mastodon-modules}/public/assets public/assets
|
||||
ln -s ${mastodon-modules}/public/packs public/packs
|
||||
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 ${mastodon-gems}/bin/)
|
||||
for b in $(ls $mastodonGems/bin/)
|
||||
do
|
||||
if [ ! -f bin/$b ]; then
|
||||
ln -s ${mastodon-gems}/bin/$b bin/$b
|
||||
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
|
||||
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
|
||||
''
|
||||
in ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
cp -r * $out/
|
||||
ln -s ${run-streaming} $out/run-streaming.sh
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.mastodon = nixosTests.mastodon;
|
||||
updateScript = callPackage ./update.nix { };
|
||||
# run with: nix-shell ./maintainers/scripts/update.nix --argstr package mastodon
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
"Self-hosted, globally interconnected microblogging software based on ActivityPub";
|
||||
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 ];
|
||||
maintainers = with maintainers; [ happy-river erictapen izorkin ghuntley ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 = "1i98vjh8l1xrf0ihdpvgq7mz7cfj4aww77swjlwljcgfb45868d9";
|
||||
sha256 = "0zd3zjpmrx06jiiyrxmsj94mfcxraxr0h3qlk61860slakmn4sg9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
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 = "093snb186qdvj1isss0k74ym7kkaq7zwfa5dwmrc0xn8kwhaxbik";
|
||||
sha256 = "13n7178paqy2p2svsh21yfvzmpf4anwgmnxx6anyslr90zcyksg1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
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 = "180ik1gkwy8lqwg0427k0hlivmz206xa453p5c221hpqk8an340f";
|
||||
sha256 = "1nr7njlr6pccglqp36imc8mhff73agcdky57a9alrkyrbzdnll42";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
actionpack = {
|
||||
dependencies = [ "actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer" ];
|
||||
dependencies = ["actionview" "activesupport" "nokogiri" "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 = "0qamc5ly521wk9i1658h9jv7avmyyp92kffa1da2fn5zk0wgyhf4";
|
||||
sha256 = "0b2r4h30fybd064xicfjr38j3hpyqx622fb4fjl3rk5ya36b9r1d";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
actiontext = {
|
||||
dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"];
|
||||
|
@ -49,10 +49,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0cx0zg6y0w5njl721vqx7bn0kqj5c9zbvingvl5ll20gpyzsp7nj";
|
||||
sha256 = "04wjw7iy43vh8dsavi2mka11nkv85nxs7bx8aw85w2mrc3y69jfz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
actionview = {
|
||||
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
|
||||
|
@ -60,10 +60,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "151zxb61bb6q7g0sn34qz79k8bg02vmb8mmnsn0fr15lxw92dfhm";
|
||||
sha256 = "02c51f3a2kan3s45m21sx08jjz9xm4l2kvk475ir06vgmgr3girn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
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 = "191320166dxiq9a4lwbi1nmlq7phsfi0yr1hg2smprlwsa0vv3kd";
|
||||
sha256 = "1qhpzjlh8sm8gqi11yng1sxayfn13pw9j2pgjw57bcmifpav6rd5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
activemodel = {
|
||||
dependencies = ["activesupport"];
|
||||
|
@ -93,43 +93,43 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1crjq1dznlbsrwd5yijxraz1591xmg4vdcwwnmrw4nh6hrwq5fj5";
|
||||
sha256 = "16m6szgwhs7xnrkbib7di872k40r2iffx06g4gjiy4bb2g1d6bqz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
activerecord = {
|
||||
dependencies = [ "activemodel" "activesupport" ];
|
||||
dependencies = ["activemodel" "activesupport" "timeout"];
|
||||
groups = ["default" "development" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "03vrssdqaqm41w27s21r37skdfxa41midvjy37i2zh3rnbnq8ps2";
|
||||
sha256 = "09b3x4g4b3ihx9mvahz6ysm8dv41l8vkdfhxg0bdcqm4yg007pgq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
activestorage = {
|
||||
dependencies = [ "actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime" ];
|
||||
dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1w7l2i0n84axr4da7y381k8y0wa1y3rr3k3zrkhp938ldwk7j7cg";
|
||||
sha256 = "1400b9fa4zv39qs6ma0lirf840zdn7qp3v86l9vhgwjzzvhmkhhc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
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 = "1vlzcnyqlbchaq85phmdv73ydlc18xpvxy1cbsk191cwd29i7q32";
|
||||
sha256 = "18jqxsjz9vs89v9jwz4f5vw9yj91cc2l2jwlzfgnxg8wmyjbqw47";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
addressable = {
|
||||
dependencies = ["public_suffix"];
|
||||
|
@ -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 = [];
|
||||
|
@ -312,7 +301,7 @@
|
|||
version = "2.0.4";
|
||||
};
|
||||
base64 = {
|
||||
groups = [ "default" "development" ];
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
|
@ -321,15 +310,25 @@
|
|||
};
|
||||
version = "0.1.1";
|
||||
};
|
||||
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 = "14crcsmcsyiskr9xzgzcfz2dr74zg1jvavrrxpf5vnn9q75fakz9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.18";
|
||||
version = "3.1.19";
|
||||
};
|
||||
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 = "07y615s8yldk3k13lmkhpk1k190lcqvmxmnjwgh4bzjan9xrc36y";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.4";
|
||||
};
|
||||
bindata = {
|
||||
groups = ["default"];
|
||||
|
@ -447,61 +456,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"];
|
||||
|
@ -606,7 +560,7 @@
|
|||
version = "1.2.2";
|
||||
};
|
||||
connection_pool = {
|
||||
groups = [ "default" "test" ];
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
|
@ -705,10 +659,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 +670,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"];
|
||||
|
@ -806,6 +760,17 @@
|
|||
};
|
||||
version = "2.8.1";
|
||||
};
|
||||
drb = {
|
||||
dependencies = ["ruby2_keywords"];
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0h9c2qiam82y3caapa2x157j1lkk9954hrjg3p22hxcsk8fli3vb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.1.1";
|
||||
};
|
||||
ed25519 = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -1156,10 +1121,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 +1132,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "154svzqlkdq7gslv3p8mfih28gbw4gsj4pd8wr1wpwz6nyzmhh8m";
|
||||
sha256 = "096yaxlbh89fzdhndrvqg6j3l9gsvys2sp0qvjxqikk7715fbxvi";
|
||||
type = "gem";
|
||||
};
|
||||
version = "6.1.2";
|
||||
version = "6.2.0";
|
||||
};
|
||||
haml-rails = {
|
||||
dependencies = ["actionpack" "activesupport" "haml" "railties"];
|
||||
|
@ -1189,10 +1154,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1qics7sll6yw7fm499q4b1frfr5f3gav94ach0fwy49zprl9yk33";
|
||||
sha256 = "1rx8c71qf45v7r8188vj4hn86vq7qazp2f84y3fhdn6wg6wp6pkc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.50.0";
|
||||
version = "0.51.0";
|
||||
};
|
||||
hashdiff = {
|
||||
groups = ["default" "test"];
|
||||
|
@ -1345,10 +1310,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,6 +1325,16 @@
|
|||
};
|
||||
version = "0.1.5";
|
||||
};
|
||||
io-console = {
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0dikardh14c72gd9ypwh8dim41wvqmzfzf35mincaj5yals9m7ff";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.6.0";
|
||||
};
|
||||
ipaddress = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -1370,6 +1345,17 @@
|
|||
};
|
||||
version = "0.8.3";
|
||||
};
|
||||
irb = {
|
||||
dependencies = ["rdoc" "reline"];
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "17p6arsklbzh2hvwwr8i4cfrpa7vhk8q88fhickhwmn7m80lxdw7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.1";
|
||||
};
|
||||
jmespath = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -1395,10 +1381,10 @@
|
|||
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 +1403,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"];
|
||||
|
@ -1513,10 +1499,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0qrv9xyxxhxr482p25f3m7nfghw66i8jl02hy9b6pwam8m1knngp";
|
||||
sha256 = "14gnkcp924v8sbay7q6vz4kn37jylbnvrhi4y5c5jcffd51fbwid";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.2.0";
|
||||
version = "7.2.1";
|
||||
};
|
||||
language_server-protocol = {
|
||||
groups = ["default" "development"];
|
||||
|
@ -1588,10 +1574,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,10 +1585,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1p744kjpb5zk2ihklbykzii77alycjc04vpnm2ch2f3cp65imlj3";
|
||||
sha256 = "0d5p9vg2qkqfy60i93mpd3b25kw4bdxfai034y5a94pxp5fws61c";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.21.3";
|
||||
version = "2.21.4";
|
||||
};
|
||||
mail = {
|
||||
dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"];
|
||||
|
@ -1667,16 +1653,6 @@
|
|||
};
|
||||
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"];
|
||||
|
@ -1723,10 +1699,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6";
|
||||
sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.19.0";
|
||||
version = "5.20.0";
|
||||
};
|
||||
msgpack = {
|
||||
groups = ["default"];
|
||||
|
@ -1758,6 +1734,16 @@
|
|||
};
|
||||
version = "2.3.0";
|
||||
};
|
||||
mutex_m = {
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1pkxnp7p44kvs460bbbgjarr7xy1j8kjjmhwkg1kypj9wgmwb6qa";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.2";
|
||||
};
|
||||
net-http = {
|
||||
dependencies = ["uri"];
|
||||
groups = ["default"];
|
||||
|
@ -1786,10 +1772,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3";
|
||||
sha256 = "0d0r31b79appz95dd63wmasly1qjz3hn58ffxw6ix4mqk49jcbq2";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.7";
|
||||
version = "0.4.1";
|
||||
};
|
||||
net-ldap = {
|
||||
groups = ["default"];
|
||||
|
@ -1823,37 +1809,16 @@
|
|||
};
|
||||
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";
|
||||
};
|
||||
net-smtp = {
|
||||
dependencies = ["net-protocol"];
|
||||
groups = ["default" "development"];
|
||||
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"];
|
||||
|
@ -2024,10 +1989,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 +2031,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "002v32dzyyr29xd9cdsqp55g5gx19skvq9b4a4hr9lrs4i1xsavm";
|
||||
sha256 = "0gzbgq392b0z7ma1jrdnzzfppdlgjdl9akc4iajq4g46raqd4899";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.3.3";
|
||||
version = "3.3.4";
|
||||
};
|
||||
posix-spawn = {
|
||||
groups = ["default"];
|
||||
|
@ -2113,6 +2078,17 @@
|
|||
};
|
||||
version = "0.5.0";
|
||||
};
|
||||
psych = {
|
||||
dependencies = ["stringio"];
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0qvzx3ddswgdx3ck48ak1wa18jai4s6ddv1a0cl59hm0dqrb737i";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.1.1";
|
||||
};
|
||||
public_suffix = {
|
||||
groups = ["default" "development" "test"];
|
||||
platforms = [];
|
||||
|
@ -2129,10 +2105,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1x4dwx2shx0p7lsms97r85r7ji7zv57bjy3i1kmcpxc8bxvrr67c";
|
||||
sha256 = "1y8jcw80zcxvdq0id329lzmp5pzx7hpac227d7sgjkblc89s3pfm";
|
||||
type = "gem";
|
||||
};
|
||||
version = "6.3.1";
|
||||
version = "6.4.0";
|
||||
};
|
||||
pundit = {
|
||||
dependencies = ["activesupport"];
|
||||
|
@ -2230,6 +2206,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 +2228,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 = "0pxi3psfl4kpgjf6bhch1albjy9knn9c2s6sammy9lyckhh7akhq";
|
||||
sha256 = "05yw7n1fpnw2fslbyrsl081fwnki4ih8pz4qnnhmrfniq6n3drv6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
rails-controller-testing = {
|
||||
dependencies = ["actionpack" "actionview" "activesupport"];
|
||||
|
@ -2269,10 +2267,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,10 +2289,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1bbh5gsw46djmrgddwaq3wsjmj9rsh5dk13wkclwxf1rg9jpkn3g";
|
||||
sha256 = "1k8jvm3l4gafw7hyvpky7yzjjnkr3iy7l59lyam8ah3kqhmzk7zf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7";
|
||||
version = "7.0.8";
|
||||
};
|
||||
rails-settings-cached = {
|
||||
dependencies = ["rails"];
|
||||
|
@ -2310,15 +2308,15 @@
|
|||
version = "0.6.6";
|
||||
};
|
||||
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 = "01pdn9sn7kawwrvrbr3vz44j287xbka8mm7nrv9cl510y8gzxi2x";
|
||||
sha256 = "19zsl9svr67126r1lm35y7y40i16gpnz1ppapj2h5879cnrliwrw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.0.7.2";
|
||||
version = "7.1.1";
|
||||
};
|
||||
rainbow = {
|
||||
groups = ["default" "development"];
|
||||
|
@ -2341,15 +2339,15 @@
|
|||
version = "13.0.6";
|
||||
};
|
||||
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 +2360,17 @@
|
|||
};
|
||||
version = "0.6.1";
|
||||
};
|
||||
rdoc = {
|
||||
dependencies = ["psych"];
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "05r2cxscapr9saqjw8dlp89as7jvc2mlz1h5kssrmkbz105qmfcm";
|
||||
type = "gem";
|
||||
};
|
||||
version = "6.5.0";
|
||||
};
|
||||
redcarpet = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -2409,10 +2418,21 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "136br91alxdwh1s85z912dwz23qlhm212vy6i3wkinz3z8mkxxl3";
|
||||
sha256 = "1d9a5s3qrjdy50ll2s32gg3qmf10ryp3v2nr5k718kvfadp50ray";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.1";
|
||||
version = "2.8.2";
|
||||
};
|
||||
reline = {
|
||||
dependencies = ["io-console"];
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0187pj9k7d8kdvzjk6r6mf7z7wy18saxxhn7x7pqc840w6h4s0ja";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.9";
|
||||
};
|
||||
request_store = {
|
||||
dependencies = ["rack"];
|
||||
|
@ -2431,10 +2451,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 +2471,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,6 +2539,17 @@
|
|||
};
|
||||
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"];
|
||||
|
@ -2578,10 +2609,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1hr8g9pqw3w87a83kqcxpayrx4jmsziharrg4vqw0gr9kksx2dfv";
|
||||
sha256 = "1izxvc9g6vfpx081rn68z900bql30bif4lnd038cz2lgj70ljm41";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.56.2";
|
||||
version = "1.57.1";
|
||||
};
|
||||
rubocop-ast = {
|
||||
dependencies = ["parser"];
|
||||
|
@ -2600,10 +2631,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "01fn05a87g009ch1sh00abdmgjab87i995msap26vxq1a5smdck6";
|
||||
sha256 = "1jwwi5a05947q9zsk6i599zxn657hdphbmmbbpx17qsv307rwcps";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.18.0";
|
||||
version = "2.19.0";
|
||||
};
|
||||
rubocop-factory_bot = {
|
||||
dependencies = ["rubocop"];
|
||||
|
@ -2622,10 +2653,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1v3a2g3wk3aqa0k0zzla10qkxlc625zkj3yf4zcsybs86r5bm4xn";
|
||||
sha256 = "1pzsrnjmrachdjxzl9jpw47cydicn3408vgdg3a4bss4v5r42rjj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.19.0";
|
||||
version = "1.19.1";
|
||||
};
|
||||
rubocop-rails = {
|
||||
dependencies = ["activesupport" "rack" "rubocop"];
|
||||
|
@ -2681,7 +2712,7 @@
|
|||
version = "1.15.0";
|
||||
};
|
||||
ruby2_keywords = {
|
||||
groups = [ "default" ];
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
|
@ -2750,10 +2781,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ws0mh230l1pvyxcrlcr48w01alfhprjs1jbd8yrn463drsr2yac";
|
||||
sha256 = "037v9w6rwkdi9msydiyj31pxdlh4vcr8h8w3g1mzanbsas2m1b1a";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.11.0";
|
||||
version = "4.13.1";
|
||||
};
|
||||
semantic_range = {
|
||||
groups = ["default"];
|
||||
|
@ -2771,10 +2802,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"];
|
||||
|
@ -2894,17 +2925,6 @@
|
|||
};
|
||||
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,6 +2956,16 @@
|
|||
};
|
||||
version = "3.0.2";
|
||||
};
|
||||
stringio = {
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ix96dxbjqlpymdigb4diwrifr0bq7qhsrng95fkkp18av326nqk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.8";
|
||||
};
|
||||
strong_migrations = {
|
||||
dependencies = ["activerecord"];
|
||||
groups = ["default"];
|
||||
|
@ -3005,10 +3035,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "08j5456rdpgxvv8bs44x81jrxzpxb79wxfxdq4fqwxyircxzi2jj";
|
||||
sha256 = "1mhzw33lv7h8d7pyh65lis5svnmm8m6fnszbsfg3j3xk9hcl0an5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.2";
|
||||
version = "1.2.3";
|
||||
};
|
||||
thor = {
|
||||
groups = ["default" "development" "pam_authentication" "production" "test"];
|
||||
|
@ -3025,13 +3055,13 @@
|
|||
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"];
|
||||
|
@ -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"];
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +1,18 @@
|
|||
# This file was generated by pkgs.mastodon.updateScript.
|
||||
{ fetchgit, applyPatches }:
|
||||
{ fetchFromGitHub, applyPatches, patches ? [] }:
|
||||
let
|
||||
src = fetchgit {
|
||||
url = "https://github.com/glitch-soc/mastodon.git";
|
||||
rev = "a1df9fdb06854bd55f018918236132ccfa7d9d84";
|
||||
sha256 = "0amqiigq3qgag6qm119aaysmd2k93vwgr1aynxjxmbpn35ykcay3";
|
||||
};
|
||||
version = "0e562916cce3241d98bd10f04a6aa7419700605";
|
||||
in
|
||||
(
|
||||
applyPatches {
|
||||
inherit src;
|
||||
patches = [ ];
|
||||
src = fetchFromGitHub {
|
||||
owner = "glitch-soc";
|
||||
repo = "mastodon";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-fZH3zPEU5jnYFhLx8OKDNrvsSVT46Peu92L84Fg5YpQ=";
|
||||
};
|
||||
patches = patches ++ [];
|
||||
}) // {
|
||||
inherit version;
|
||||
yarnHash = "sha256-P7KswzsCusyiS4MxUFnC1HYMTQ6fLpIwd97AglCukIk=";
|
||||
}
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
{ runCommand
|
||||
, lib
|
||||
, makeWrapper
|
||||
, yarn2nix
|
||||
, bundix
|
||||
, coreutils
|
||||
, diffutils
|
||||
, nix-prefetch-git
|
||||
, gnused
|
||||
, jq
|
||||
}:
|
||||
let
|
||||
binPath = lib.makeBinPath [
|
||||
yarn2nix
|
||||
bundix
|
||||
coreutils
|
||||
diffutils
|
||||
nix-prefetch-git
|
||||
gnused
|
||||
jq
|
||||
];
|
||||
in
|
||||
runCommand "mastodon-update-script"
|
||||
{
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ happy-river ];
|
||||
description =
|
||||
"Utility to generate Nix expressions for Mastodon's dependencies";
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
cp ${./update.sh} $out/bin/update.sh
|
||||
patchShebangs $out/bin/update.sh
|
||||
wrapProgram $out/bin/update.sh --prefix PATH : ${binPath}
|
||||
''
|
|
@ -1,15 +1,22 @@
|
|||
#!/usr/bin/env bash
|
||||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p bundix coreutils diffutils nix-prefetch-github gnused jq prefetch-yarn-deps
|
||||
set -e
|
||||
|
||||
URL=https://github.com/mastodon/mastodon.git
|
||||
OWNER=mastodon
|
||||
REPO=mastodon
|
||||
|
||||
POSITIONAL=()
|
||||
while [[ $# -gt 0 ]]; do
|
||||
key="$1"
|
||||
|
||||
case $key in
|
||||
--url)
|
||||
URL="$2"
|
||||
--owner)
|
||||
OWNER="$2"
|
||||
shift # past argument
|
||||
shift # past value
|
||||
;;
|
||||
--repo)
|
||||
REPO="$2"
|
||||
shift # past argument
|
||||
shift # past value
|
||||
;;
|
||||
|
@ -35,29 +42,28 @@ while [[ $# -gt 0 ]]; do
|
|||
esac
|
||||
done
|
||||
|
||||
if [[ -z "$VERSION" || -n "$POSITIONAL" ]]; then
|
||||
echo "Usage: update.sh [--url URL] --ver VERSION [--rev REVISION] [--patches PATCHES]"
|
||||
echo "URL may be any path acceptable to 'git clone' and VERSION the"
|
||||
echo "semantic version number. If VERSION is not a revision acceptable to"
|
||||
echo "'git checkout', you must provide one in REVISION. If URL is not"
|
||||
echo "provided, it defaults to https://github.com/mastodon/mastodon.git."
|
||||
echo "PATCHES, if provided, should be one or more Nix expressions"
|
||||
echo "separated by spaces."
|
||||
if [[ -n "$POSITIONAL" ]]; then
|
||||
echo "Usage: update.sh [--owner OWNER] [--repo REPO] [--ver VERSION] [--rev REVISION] [--patches PATCHES]"
|
||||
echo "OWNER and REPO must be paths on github."
|
||||
echo "If REVISION is not provided, the latest tag from github.com/mastodon/mastodon is fetched and VERSION is calculated from it."
|
||||
echo "If OWNER and REPO are not provided, it defaults they default to mastodon and mastodon."
|
||||
echo "PATCHES, if provided, should be one or more Nix expressions separated by spaces."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$REVISION" ]]; then
|
||||
REVISION="$VERSION"
|
||||
REVISION="$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s "https://api.github.com/repos/$OWNER/$REPO/releases" | jq -r 'map(select(.prerelease == false)) | .[0].tag_name')"
|
||||
fi
|
||||
|
||||
rm -f gemset.nix version.nix source.nix
|
||||
TARGET_DIR="$PWD"
|
||||
VERSION="$(echo "$REVISION" | cut -c2-)"
|
||||
|
||||
rm -f gemset.nix source.nix
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1
|
||||
|
||||
WORK_DIR=$(mktemp -d)
|
||||
|
||||
# Check that working directory was created.
|
||||
if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
|
||||
if [[ -z "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
|
||||
echo "Could not create temporary directory"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -70,29 +76,37 @@ function cleanup {
|
|||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
echo "Fetching source code $REVISION from $URL"
|
||||
JSON=$(nix-prefetch-git --url "$URL" --rev "$REVISION" 2> $WORK_DIR/nix-prefetch-git.out)
|
||||
SHA=$(echo $JSON | jq -r .sha256)
|
||||
FETCHED_SOURCE_DIR=$(grep '^path is' $WORK_DIR/nix-prefetch-git.out | sed 's/^path is //')
|
||||
|
||||
echo "Creating version.nix"
|
||||
echo \"$VERSION\" | sed 's/^"v/"/' > version.nix
|
||||
echo "Fetching source code $REVISION"
|
||||
JSON=$(nix-prefetch-github "$OWNER" "$REPO" --rev "$REVISION" 2> $WORK_DIR/nix-prefetch-git.out)
|
||||
HASH=$(echo "$JSON" | jq -r .hash)
|
||||
|
||||
cat > source.nix << EOF
|
||||
# This file was generated by pkgs.mastodon.updateScript.
|
||||
{ fetchgit, applyPatches }: let
|
||||
src = fetchgit {
|
||||
url = "$URL";
|
||||
rev = "$REVISION";
|
||||
sha256 = "$SHA";
|
||||
{ fetchFromGitHub, applyPatches, patches ? [] }:
|
||||
let
|
||||
version = "$VERSION";
|
||||
in
|
||||
(
|
||||
applyPatches {
|
||||
src = fetchFromGitHub {
|
||||
owner = "$OWNER";
|
||||
repo = "$REPO";
|
||||
rev = "v\${version}";
|
||||
hash = "$HASH";
|
||||
};
|
||||
in applyPatches {
|
||||
inherit src;
|
||||
patches = [$PATCHES];
|
||||
patches = patches ++ [$PATCHES];
|
||||
}) // {
|
||||
inherit version;
|
||||
yarnHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
|
||||
}
|
||||
EOF
|
||||
SOURCE_DIR="$(nix-build --no-out-link -E '(import <nixpkgs> {}).callPackage ./source.nix {}')"
|
||||
|
||||
echo "Creating gemset.nix"
|
||||
bundix --lockfile="$SOURCE_DIR/Gemfile.lock" --gemfile="$SOURCE_DIR/Gemfile"
|
||||
echo "" >> $TARGET_DIR/gemset.nix # Create trailing newline to please EditorConfig checks
|
||||
echo "" >> gemset.nix # Create trailing newline to please EditorConfig checks
|
||||
|
||||
echo "Creating yarn-hash.nix"
|
||||
YARN_HASH="$(prefetch-yarn-deps "$SOURCE_DIR/yarn.lock")"
|
||||
YARN_HASH="$(nix hash to-sri --type sha256 "$YARN_HASH")"
|
||||
sed -i "s/sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=/$YARN_HASH/g" source.nix
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
"4.1.7"
|
Loading…
Add table
Reference in a new issue