ledger-web: regenerate lockfile, use ruby_3_4

Using ruby_3_4 because of "Source locally installed gems is ignoring... because it is missing extensions".

Fixes CVE-2025-61772, CVE-2025-61770, CVE-2025-61919, and others.
This commit is contained in:
Michael Daniels
2025-12-01 17:39:48 -05:00
parent 20e93920db
commit c6a51e36a5
3 changed files with 105 additions and 101 deletions
+36 -36
View File
@@ -1,42 +1,42 @@
GEM
remote: https://rubygems.org/
specs:
activemodel (8.0.2)
activesupport (= 8.0.2)
activerecord (8.0.2)
activemodel (= 8.0.2)
activesupport (= 8.0.2)
activemodel (8.1.1)
activesupport (= 8.1.1)
activerecord (8.1.1)
activemodel (= 8.1.1)
activesupport (= 8.1.1)
timeout (>= 0.4.0)
activesupport (8.0.2)
activesupport (8.1.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
json
logger (>= 1.4.2)
minitest (>= 5.1)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
uri (>= 0.13.1)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
base64 (0.3.0)
bigdecimal (3.3.1)
concurrent-ruby (1.3.5)
connection_pool (2.5.3)
csv (3.3.4)
connection_pool (2.5.5)
csv (3.3.5)
database_cleaner (2.1.0)
database_cleaner-active_record (>= 2, < 3)
database_cleaner-active_record (2.2.0)
database_cleaner-active_record (2.2.2)
activerecord (>= 5.a)
database_cleaner-core (~> 2.0.0)
database_cleaner-core (~> 2.0)
database_cleaner-core (2.0.1)
diff-lcs (1.6.1)
diff-lcs (1.6.2)
directory_watcher (1.5.1)
drb (2.2.1)
drb (2.2.3)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
json (2.16.0)
ledger_web (1.5.2)
database_cleaner
directory_watcher (~> 1.5.1)
@@ -48,56 +48,56 @@ GEM
sinatra-contrib
sinatra-session
logger (1.7.0)
minitest (5.25.5)
multi_json (1.15.0)
mustermann (3.0.3)
minitest (5.26.2)
multi_json (1.17.0)
mustermann (3.0.4)
ruby2_keywords (~> 0.0.1)
pg (1.5.9)
rack (3.1.14)
rack-protection (4.1.1)
pg (1.6.2)
rack (3.2.4)
rack-protection (4.2.1)
base64 (>= 0.1.0)
logger (>= 1.6.0)
rack (>= 3.0.0, < 4)
rack-session (2.1.1)
base64 (>= 0.1.0)
rack (>= 3.0.0)
rspec (3.13.0)
rspec (3.13.2)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.3)
rspec-core (3.13.6)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.4)
rspec-expectations (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.4)
rspec-mocks (3.13.7)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-support (3.13.3)
rspec-support (3.13.6)
ruby2_keywords (0.0.5)
securerandom (0.4.1)
sequel (5.92.0)
sequel (5.98.0)
bigdecimal
sinatra (4.1.1)
sinatra (4.2.1)
logger (>= 1.6.0)
mustermann (~> 3.0)
rack (>= 3.0.0, < 4)
rack-protection (= 4.1.1)
rack-protection (= 4.2.1)
rack-session (>= 2.0.0, < 3)
tilt (~> 2.0)
sinatra-contrib (4.1.1)
sinatra-contrib (4.2.1)
multi_json (>= 0.0.2)
mustermann (~> 3.0)
rack-protection (= 4.1.1)
sinatra (= 4.1.1)
rack-protection (= 4.2.1)
sinatra (= 4.2.1)
tilt (~> 2.0)
sinatra-session (1.0.0)
sinatra (>= 1.0)
tilt (2.6.0)
timeout (0.4.3)
tilt (2.6.1)
timeout (0.4.4)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uri (1.0.3)
uri (1.1.1)
PLATFORMS
ruby
+65 -65
View File
@@ -5,10 +5,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0v35y2jzqlfy1wnrzlzj2cxylhnz09vykaa1l2dnkq7sl5zzpq8a";
sha256 = "1gbg3i823vky26mf63wfr69035bv451nmha8cb8cwcz3p6b28zlb";
type = "gem";
};
version = "8.0.2";
version = "8.1.1";
};
activerecord = {
dependencies = [
@@ -20,20 +20,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "02nrya34qviawdkssyahb3mg08kqdc461b320a6ikr245jwp0d3r";
sha256 = "05rxrcfsp06ljhm149xwhfm9bjgd3g150hgbk0s81zb4wc1klb73";
type = "gem";
};
version = "8.0.2";
version = "8.1.1";
};
activesupport = {
dependencies = [
"base64"
"benchmark"
"bigdecimal"
"concurrent-ruby"
"connection_pool"
"drb"
"i18n"
"json"
"logger"
"minitest"
"securerandom"
@@ -44,40 +44,30 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0pm40y64wfc50a9sj87kxvil2102rmpdcbv82zf0r40vlgdwsrc5";
sha256 = "0rzadiafj8llldqry9jjnzbw2rgavdlrqy0nddg8p2qcim7574jy";
type = "gem";
};
version = "8.0.2";
version = "8.1.1";
};
base64 = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
sha256 = "0yx9yn47a8lkfcjmigk79fykxvr80r4m1i35q82sxzynpbm7lcr7";
type = "gem";
};
version = "0.2.0";
};
benchmark = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0jl71qcgamm96dzyqk695j24qszhcc7liw74qc83fpjljp2gh4hg";
type = "gem";
};
version = "0.4.0";
version = "0.3.0";
};
bigdecimal = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1k6qzammv9r6b2cw3siasaik18i6wjc5m0gw5nfdc6jj64h79z1g";
sha256 = "0612spks81fvpv2zrrv3371lbs6mwd7w6g5zafglyk75ici1x87a";
type = "gem";
};
version = "3.1.9";
version = "3.3.1";
};
concurrent-ruby = {
groups = [ "default" ];
@@ -94,20 +84,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0nrhsk7b3sjqbyl1cah6ibf1kvi3v93a7wf4637d355hp614mmyg";
sha256 = "1b8nlxr5z843ii7hfk6igpr5acw3k2ih9yjrgkyz2gbmallgjkz5";
type = "gem";
};
version = "2.5.3";
version = "2.5.5";
};
csv = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1kfqg0m6vqs6c67296f10cr07im5mffj90k2b5dsm51liidcsvp9";
sha256 = "0gz7r2kazwwwyrwi95hbnhy54kwkfac5swh2gy5p5vw36fn38lbf";
type = "gem";
};
version = "3.3.4";
version = "3.3.5";
};
database_cleaner = {
dependencies = [ "database_cleaner-active_record" ];
@@ -129,10 +119,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1iz1hv2b1z7509dxvxdwzay1hhs24glxls5ldbyh688zxkcdca1j";
sha256 = "1203q6zdw14vwmnr2hw0d6b1rdz4d07w3kjg1my1zhw862gnnac8";
type = "gem";
};
version = "2.2.0";
version = "2.2.2";
};
database_cleaner-core = {
groups = [ "default" ];
@@ -149,10 +139,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1m3cv0ynmxq93axp6kiby9wihpsdj42y6s3j8bsf5a1p7qzsi98j";
sha256 = "0qlrj2qyysc9avzlr4zs1py3x684hqm61n4czrsk1pyllz5x5q4s";
type = "gem";
};
version = "1.6.1";
version = "1.6.2";
};
directory_watcher = {
groups = [ "default" ];
@@ -169,10 +159,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79";
sha256 = "0wrkl7yiix268s2md1h6wh91311w95ikd8fy8m5gx589npyxc00b";
type = "gem";
};
version = "2.2.1";
version = "2.2.3";
};
i18n = {
dependencies = [ "concurrent-ruby" ];
@@ -185,6 +175,16 @@
};
version = "1.14.7";
};
json = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "098m3q2jrx4xbf0knrbmflsynmmb5x9q9b0bzpmj7jmm1cr30mna";
type = "gem";
};
version = "2.16.0";
};
ledger_web = {
dependencies = [
"database_cleaner"
@@ -221,20 +221,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0mn7q9yzrwinvfvkyjiz548a4rmcwbmz2fn9nyzh4j1snin6q6rr";
sha256 = "1qyda32pf9jivaw2m7yymxshqxxd0fhjn7zpbagvmfc5c65128gh";
type = "gem";
};
version = "5.25.5";
version = "5.26.2";
};
multi_json = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
sha256 = "06sabsvnw0x1aqdcswc6bqrqz6705548bfd8z22jxgxfjrn1yn3n";
type = "gem";
};
version = "1.15.0";
version = "1.17.0";
};
mustermann = {
dependencies = [ "ruby2_keywords" ];
@@ -242,30 +242,30 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "123ycmq6pkivv29bqbv79jv2cs04xakzd0fz1lalgvfs5nxfky6i";
sha256 = "08ma2fmxlm6i7lih4mc3har2fzsbj1pl4hhva65kljf6nfvdryl5";
type = "gem";
};
version = "3.0.3";
version = "3.0.4";
};
pg = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1p2gqqrm895fzr9vi8d118zhql67bm8ydjvgqbq1crdnfggzn7kn";
sha256 = "0xf8i58shwvwlka4ld12nxcgqv0d5r1yizsvw74w5jaw83yllqaq";
type = "gem";
};
version = "1.5.9";
version = "1.6.2";
};
rack = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0i2bjh42cmlkwxjrldqj8g5sfrasdp64xhfr25kvp4ziilm3qqc4";
sha256 = "1xmnrk076sqymilydqgyzhkma3hgqhcv8xhy7ks479l2a3vvcx2x";
type = "gem";
};
version = "3.1.14";
version = "3.2.4";
};
rack-protection = {
dependencies = [
@@ -277,10 +277,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0sniswjyi0yn949l776h7f67rvx5w9f04wh69z5g19vlsnjm98ji";
sha256 = "1b4bamcbpk29i7jvly3i7ayfj69yc1g03gm4s7jgamccvx12hvng";
type = "gem";
};
version = "4.1.1";
version = "4.2.1";
};
rack-session = {
dependencies = [
@@ -306,10 +306,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "14xrp8vq6i9zx37vh0yp4h9m0anx9paw200l1r5ad9fmq559346l";
sha256 = "11q5hagj6vr694innqj4r45jrm8qcwvkxjnphqgyd66piah88qi0";
type = "gem";
};
version = "3.13.0";
version = "3.13.2";
};
rspec-core = {
dependencies = [ "rspec-support" ];
@@ -317,10 +317,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1r6zbis0hhbik1ck8kh58qb37d1qwij1x1d2fy4jxkzryh3na4r5";
sha256 = "0bcbh9yv6cs6pv299zs4bvalr8yxa51kcdd1pjl60yv625j3r0m8";
type = "gem";
};
version = "3.13.3";
version = "3.13.6";
};
rspec-expectations = {
dependencies = [
@@ -331,10 +331,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1n7cb6szws90hxbzqrfybs4rj1xb0vhn24xa4l5r1vnzcnblahsf";
sha256 = "0dl8npj0jfpy31bxi6syc7jymyd861q277sfr6jawq2hv6hx791k";
type = "gem";
};
version = "3.13.4";
version = "3.13.5";
};
rspec-mocks = {
dependencies = [
@@ -345,20 +345,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "14xr5bq7s80hm97fcp3pvk4v515qfw3lrlsf20idalwwf6h5icbb";
sha256 = "071bqrk2rblk3zq3jk1xxx0dr92y0szi5pxdm8waimxici706y89";
type = "gem";
};
version = "3.13.4";
version = "3.13.7";
};
rspec-support = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0hrzdcklbl8pv721cq906yfl38fmqmlnh33ff8l752z1ys9y6q9a";
sha256 = "1cmgz34hwj5s3jwxhyl8mszs24nci12ffbrmr5jb1si74iqf739f";
type = "gem";
};
version = "3.13.3";
version = "3.13.6";
};
ruby2_keywords = {
groups = [ "default" ];
@@ -386,10 +386,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0ga49hliy5alb1x42mvpkmasqv71rhm4081zv5gpwr5q8lcsc1nb";
sha256 = "0irbjils48r7w14jacka3l96jzh534d98vb88yj1qc9nl43r3r2g";
type = "gem";
};
version = "5.92.0";
version = "5.98.0";
};
sinatra = {
dependencies = [
@@ -404,10 +404,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "002dkzdc1xqhvz5sdnj4vb0apczhs07mnpgq4kkd5dd1ka2pp6af";
sha256 = "103h6wjpcqp3i034hi44za2v365yz7qk9s5df8lmasq43nqvkbmp";
type = "gem";
};
version = "4.1.1";
version = "4.2.1";
};
sinatra-contrib = {
dependencies = [
@@ -421,10 +421,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1giziwf8mgki581jf40zzw3dhjkkmdg3yxbrahj9krd5h24vb90y";
sha256 = "0jkbsaika8pr9bc90ag3wqrhbgiy7h5a93k11j8sls6j8k4r3l0h";
type = "gem";
};
version = "4.1.1";
version = "4.2.1";
};
sinatra-session = {
dependencies = [ "sinatra" ];
@@ -442,20 +442,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0szpapi229v3scrvw1pgy0vpjm7z3qlf58m1198kxn70cs278g96";
sha256 = "0w27v04d7rnxjr3f65w1m7xyvr6ch6szjj2v5wv1wz6z5ax9pa9m";
type = "gem";
};
version = "2.6.0";
version = "2.6.1";
};
timeout = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "03p31w5ghqfsbz5mcjzvwgkw3h9lbvbknqvrdliy8pxmn9wz02cm";
sha256 = "1nqf9rg974k4bjji7aggalg8pfvbkd9hys4hv5y450jb21qgkxph";
type = "gem";
};
version = "0.4.3";
version = "0.4.4";
};
tzinfo = {
dependencies = [ "concurrent-ruby" ];
@@ -473,9 +473,9 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "04bhfvc25b07jaiaf62yrach7khhr5jlr5bx6nygg8pf11329wp9";
sha256 = "1ijpbj7mdrq7rhpq2kb51yykhrs2s54wfs6sm9z3icgz4y6sb7rp";
type = "gem";
};
version = "1.0.3";
version = "1.1.1";
};
}
+4
View File
@@ -2,6 +2,7 @@
lib,
bundlerApp,
bundlerUpdateScript,
ruby_3_4,
withPostgresql ? true,
libpq,
withSqlite ? false,
@@ -13,6 +14,9 @@ bundlerApp {
gemdir = ./.;
exes = [ "ledger_web" ];
# "Source locally installed gems is ignoring... because it is missing extensions"
ruby = ruby_3_4;
buildInputs = lib.optional withPostgresql libpq ++ lib.optional withSqlite sqlite;
passthru.updateScript = bundlerUpdateScript "ledger-web";