From 752233eb668876870537721b4f8e2722e0ad91a9 Mon Sep 17 00:00:00 2001 From: h0nIg Date: Mon, 7 Jul 2025 18:46:51 +0200 Subject: [PATCH 01/16] bats: fix build with procps without systemd --- pkgs/by-name/ba/bats/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/ba/bats/package.nix b/pkgs/by-name/ba/bats/package.nix index 120e957c5f18..cbc059cb8654 100644 --- a/pkgs/by-name/ba/bats/package.nix +++ b/pkgs/by-name/ba/bats/package.nix @@ -123,6 +123,8 @@ resholve.mkDerivation rec { "cannot:libexec/bats-core/bats-exec-file" "cannot:libexec/bats-core/bats-exec-suite" "cannot:libexec/bats-core/bats-gather-tests" + + "cannot:${procps}/bin/ps" ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ # checked invocations for exec From a615c81e27ad8a6a0bb374ed267607c2db8fd5e0 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Wed, 9 Jul 2025 13:28:51 -0400 Subject: [PATCH 02/16] crabfit-api: regenerate lockfile Fixes some vulnerable dependencies. --- pkgs/by-name/cr/crabfit-api/Cargo.lock | 2035 ++++++++++++++---------- 1 file changed, 1234 insertions(+), 801 deletions(-) diff --git a/pkgs/by-name/cr/crabfit-api/Cargo.lock b/pkgs/by-name/cr/crabfit-api/Cargo.lock index b964b614ccca..bffd6d71e543 100644 --- a/pkgs/by-name/cr/crabfit-api/Cargo.lock +++ b/pkgs/by-name/cr/crabfit-api/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -9,38 +9,48 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" [[package]] -name = "adler" -version = "1.0.2" +name = "addr2line" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" -version = "0.7.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom", + "getrandom 0.2.16", "once_cell", "version_check", ] [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", "once_cell", "version_check", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.0.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -51,6 +61,18 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -62,15 +84,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "async-attributes" @@ -84,36 +106,48 @@ dependencies = [ [[package]] name = "async-channel" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ "concurrent-queue", - "event-listener", + "event-listener 2.5.3", "futures-core", ] [[package]] -name = "async-executor" -version = "1.5.1" +name = "async-channel" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" dependencies = [ - "async-lock", "async-task", "concurrent-queue", "fastrand", "futures-lite", + "pin-project-lite", "slab", ] [[package]] name = "async-global-executor" -version = "2.3.1" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" +checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" dependencies = [ - "async-channel", + "async-channel 2.5.0", "async-executor", "async-io", "async-lock", @@ -125,41 +159,42 @@ dependencies = [ [[package]] name = "async-io" -version = "1.13.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3" dependencies = [ "async-lock", - "autocfg", "cfg-if", "concurrent-queue", + "futures-io", "futures-lite", - "log", "parking", "polling", - "rustix", + "rustix 1.0.7", "slab", - "socket2", - "waker-fn", + "tracing", + "windows-sys 0.59.0", ] [[package]] name = "async-lock" -version = "2.7.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener", + "event-listener 5.4.0", + "event-listener-strategy", + "pin-project-lite", ] [[package]] name = "async-std" -version = "1.12.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +checksum = "730294c1c08c2e0f85759590518f6333f0d5a0a766a27d519c1b244c3dfd8a24" dependencies = [ "async-attributes", - "async-channel", + "async-channel 1.9.0", "async-global-executor", "async-io", "async-lock", @@ -181,9 +216,9 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", @@ -192,30 +227,30 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.104", ] [[package]] name = "async-task" -version = "4.4.0" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.68" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.104", ] [[package]] @@ -229,25 +264,25 @@ dependencies = [ [[package]] name = "atomic-waker" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" -version = "1.1.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "axum" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" dependencies = [ "async-trait", "axum-core", - "bitflags", + "bitflags 1.3.2", "bytes", "futures-util", "headers", @@ -289,6 +324,21 @@ dependencies = [ "tower-service", ] +[[package]] +name = "backtrace" +version = "0.3.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + [[package]] name = "bae" version = "0.1.7" @@ -316,15 +366,15 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.0" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bcrypt" @@ -332,9 +382,9 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9df288bec72232f78c1ec5fe4e8f1d108aa0265476e93097593c803c8c02062a" dependencies = [ - "base64 0.21.0", + "base64 0.21.7", "blowfish", - "getrandom", + "getrandom 0.2.16", "subtle", "zeroize", ] @@ -345,7 +395,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6773ddc0eafc0e509fb60e48dff7f450f8e674a0686ae8605e8d9901bd5eefa" dependencies = [ - "num-bigint 0.4.3", + "num-bigint 0.4.6", "num-integer", "num-traits", ] @@ -356,6 +406,24 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -367,17 +435,15 @@ dependencies = [ [[package]] name = "blocking" -version = "1.3.1" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" dependencies = [ - "async-channel", - "async-lock", + "async-channel 2.5.0", "async-task", - "atomic-waker", - "fastrand", + "futures-io", "futures-lite", - "log", + "piper", ] [[package]] @@ -392,60 +458,38 @@ dependencies = [ [[package]] name = "borsh" -version = "0.10.3" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" dependencies = [ "borsh-derive", - "hashbrown 0.13.2", + "cfg_aliases", ] [[package]] name = "borsh-derive" -version = "0.10.3" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", + "once_cell", "proc-macro-crate", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" -dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "syn 2.0.104", ] [[package]] name = "bumpalo" -version = "3.12.1" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "bytecheck" -version = "0.6.10" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13fe11640a23eb24562225322cd3e452b93a3d4091d62fab69c70542fcd17d1f" +checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" dependencies = [ "bytecheck_derive", "ptr_meta", @@ -454,9 +498,9 @@ dependencies = [ [[package]] name = "bytecheck_derive" -version = "0.6.10" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31225543cb46f81a7e224762764f4a6a0f097b1db0b175f69e8065efaa42de5" +checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" dependencies = [ "proc-macro2", "quote", @@ -465,42 +509,50 @@ dependencies = [ [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.4.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "cc" -version = "1.0.79" +version = "1.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362" +dependencies = [ + "shlex", +] [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.24" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", "serde", - "time 0.1.45", "wasm-bindgen", - "winapi", + "windows-link", ] [[package]] @@ -519,10 +571,10 @@ version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ - "bitflags", + "bitflags 1.3.2", "clap_derive", "clap_lex", - "indexmap", + "indexmap 1.9.3", "once_cell", "textwrap", ] @@ -549,16 +601,6 @@ dependencies = [ "os_str_bytes", ] -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - [[package]] name = "common" version = "0.1.0" @@ -569,9 +611,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.2.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -584,9 +626,9 @@ checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -594,15 +636,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.7" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -612,7 +654,7 @@ name = "crabfit-api" version = "3.0.0" dependencies = [ "axum", - "base64 0.21.0", + "base64 0.21.7", "bcrypt", "chrono", "common", @@ -637,31 +679,27 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-queue" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.15" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" -dependencies = [ - "cfg-if", -] +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crypto-bigint" @@ -692,60 +730,6 @@ dependencies = [ "sct", ] -[[package]] -name = "ctor" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "cxx" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn 2.0.75", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - [[package]] name = "darling" version = "0.10.2" @@ -783,15 +767,15 @@ dependencies = [ [[package]] name = "dashmap" -version = "5.4.0" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.12.3", + "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.7", + "parking_lot_core 0.9.11", ] [[package]] @@ -820,9 +804,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", "serde", @@ -830,9 +814,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", "crypto-common", @@ -859,6 +843,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "dotenvy" version = "0.15.7" @@ -867,29 +862,24 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "either" -version = "1.8.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", "libc", + "windows-sys 0.60.2", ] [[package]] @@ -899,14 +889,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] -name = "fastrand" -version = "1.9.0" +name = "event-listener" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" dependencies = [ - "instant", + "concurrent-queue", + "parking", + "pin-project-lite", ] +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener 5.4.0", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + [[package]] name = "fixedbitset" version = "0.2.0" @@ -915,9 +923,9 @@ checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" [[package]] name = "flate2" -version = "1.0.26" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "miniz_oxide", @@ -958,9 +966,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -976,10 +984,16 @@ dependencies = [ ] [[package]] -name = "futures" -version = "0.3.28" +name = "funty" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -992,9 +1006,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -1002,15 +1016,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -1030,59 +1044,57 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "1.13.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand", "futures-core", "futures-io", - "memchr", "parking", "pin-project-lite", - "waker-fn", ] [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.104", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -1108,20 +1120,38 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.9" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", ] [[package]] -name = "gloo-timers" -version = "0.2.6" +name = "getrandom" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + +[[package]] +name = "gloo-timers" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" dependencies = [ "futures-channel", "futures-core", @@ -1173,7 +1203,7 @@ dependencies = [ "futures-timer", "no-std-compat", "nonzero_ext", - "parking_lot 0.12.1", + "parking_lot 0.12.4", "quanta", "rand", "smallvec", @@ -1181,9 +1211,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.19" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", @@ -1191,10 +1221,10 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap", + "indexmap 2.10.0", "slab", "tokio", - "tokio-util 0.7.8", + "tokio-util 0.7.15", "tracing", ] @@ -1204,35 +1234,41 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash 0.7.6", + "ahash 0.7.8", ] [[package]] name = "hashbrown" -version = "0.13.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.12", + "allocator-api2", ] [[package]] -name = "hashlink" -version = "0.8.1" +name = "hashbrown" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" + +[[package]] +name = "hashlink" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.12.3", + "hashbrown 0.14.5", ] [[package]] name = "headers" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" +checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ - "base64 0.13.1", - "bitflags", + "base64 0.21.7", "bytes", "headers-core", "http", @@ -1270,18 +1306,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.2.6" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -1291,9 +1318,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hkdf" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ "hmac", ] @@ -1308,10 +1335,19 @@ dependencies = [ ] [[package]] -name = "http" -version = "0.2.9" +name = "home" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -1320,9 +1356,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", "http", @@ -1331,27 +1367,27 @@ dependencies = [ [[package]] name = "http-range-header" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" +checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" -version = "1.8.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.26" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ "bytes", "futures-channel", @@ -1390,26 +1426,112 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.56" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", - "windows", + "windows-core", ] [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", +] + +[[package]] +name = "icu_collections" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" + +[[package]] +name = "icu_properties" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "potential_utf", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" + +[[package]] +name = "icu_provider" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +dependencies = [ + "displaydoc", + "icu_locale_core", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", ] [[package]] @@ -1420,12 +1542,23 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.3.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -1436,36 +1569,46 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +dependencies = [ + "equivalent", + "hashbrown 0.15.4", "serde", ] [[package]] name = "inout" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ "generic-array", ] [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] [[package]] -name = "io-lifetimes" -version = "1.0.10" +name = "io-uring" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" +checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" dependencies = [ - "hermit-abi 0.3.1", + "bitflags 2.9.1", + "cfg-if", "libc", - "windows-sys 0.48.0", ] [[package]] @@ -1477,27 +1620,19 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - [[package]] name = "itoa" -version = "1.0.6" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -1526,24 +1661,34 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.5.2", + "spin 0.9.8", ] [[package]] name = "libc" -version = "0.2.144" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "libm" -version = "0.2.6" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + +[[package]] +name = "libredox" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638" +dependencies = [ + "bitflags 2.9.1", + "libc", +] [[package]] name = "libsqlite3-sys" @@ -1557,25 +1702,28 @@ dependencies = [ ] [[package]] -name = "link-cplusplus" -version = "1.0.8" +name = "linux-raw-sys" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.3.7" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" + +[[package]] +name = "litemap" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -1583,11 +1731,10 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" dependencies = [ - "cfg-if", "value-bag", ] @@ -1606,29 +1753,30 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "regex-automata", + "regex-automata 0.1.10", ] [[package]] name = "matchit" -version = "0.7.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "md-5" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ + "cfg-if", "digest", ] [[package]] name = "memchr" -version = "2.5.0" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memory-adaptor" @@ -1648,9 +1796,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "mime_guess" -version = "2.0.4" +version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" dependencies = [ "mime", "unicase", @@ -1664,23 +1812,22 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ - "adler", + "adler2", ] [[package]] name = "mio" -version = "0.8.6" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] @@ -1691,11 +1838,10 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" dependencies = [ - "lazy_static", "libc", "log", "openssl", @@ -1758,20 +1904,19 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-bigint-dig" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2399c9463abc5f909349d8aa9ba080e0b88b3ce2885389b60b993f39b1a56905" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" dependencies = [ "byteorder", "lazy_static", @@ -1792,19 +1937,18 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-iter" -version = "0.1.43" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -1813,37 +1957,36 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", ] [[package]] -name = "num_cpus" -version = "1.15.0" +name = "object" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ - "hermit-abi 0.2.6", - "libc", + "memchr", ] [[package]] name = "once_cell" -version = "1.17.1" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "openssl" -version = "0.10.52" +version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" +checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ - "bitflags", + "bitflags 2.9.1", "cfg-if", "foreign-types", "libc", @@ -1860,20 +2003,20 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.104", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.87" +version = "0.9.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" +checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" dependencies = [ "cc", "libc", @@ -1883,9 +2026,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.5.0" +version = "6.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" [[package]] name = "ouroboros" @@ -1918,9 +2061,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "parking" -version = "2.1.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -1935,12 +2078,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", - "parking_lot_core 0.9.7", + "parking_lot_core 0.9.11", ] [[package]] @@ -1959,22 +2102,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", + "redox_syscall 0.5.13", "smallvec", - "windows-sys 0.45.0", + "windows-targets 0.52.6", ] [[package]] name = "paste" -version = "1.0.12" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pem" @@ -1998,9 +2141,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "petgraph" @@ -2009,34 +2152,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" dependencies = [ "fixedbitset", - "indexmap", + "indexmap 1.9.3", ] [[package]] name = "pin-project" -version = "1.0.12" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.12" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.104", ] [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -2044,6 +2187,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "piper" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + [[package]] name = "pkcs1" version = "0.3.3" @@ -2068,24 +2222,32 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polling" -version = "2.8.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50" dependencies = [ - "autocfg", - "bitflags", "cfg-if", "concurrent-queue", - "libc", - "log", + "hermit-abi", "pin-project-lite", - "windows-sys 0.48.0", + "rustix 1.0.7", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", ] [[package]] @@ -2096,17 +2258,20 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] [[package]] name = "proc-macro-crate" -version = "0.1.5" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml", + "toml_edit", ] [[package]] @@ -2135,9 +2300,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -2160,7 +2325,7 @@ checksum = "32d3ebd75ac2679c2af3a92246639f9fcc8a442ee420719cc4fe195b98dd5fa3" dependencies = [ "bytes", "heck 0.3.3", - "itertools 0.9.0", + "itertools", "log", "multimap", "petgraph", @@ -2177,7 +2342,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4" dependencies = [ "anyhow", - "itertools 0.9.0", + "itertools", "proc-macro2", "quote", "syn 1.0.109", @@ -2230,20 +2395,32 @@ dependencies = [ "mach", "once_cell", "raw-cpuid", - "wasi 0.10.0+wasi-snapshot-preview1", + "wasi 0.10.2+wasi-snapshot-preview1", "web-sys", "winapi", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "rand" version = "0.8.5" @@ -2271,7 +2448,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.16", ] [[package]] @@ -2280,7 +2457,7 @@ version = "10.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -2289,38 +2466,39 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.3.5" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ - "bitflags", + "bitflags 2.9.1", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom", - "redox_syscall 0.2.16", + "getrandom 0.2.16", + "libredox", "thiserror", ] [[package]] name = "regex" -version = "1.8.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.1", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", ] [[package]] @@ -2332,6 +2510,17 @@ dependencies = [ "regex-syntax 0.6.29", ] +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.5", +] + [[package]] name = "regex-syntax" version = "0.6.29" @@ -2340,15 +2529,15 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.1" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rend" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581008d2099240d37fb08d77ad713bcaec2c4d89d50b5b21a8bb1996bbab68ab" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" dependencies = [ "bytecheck", ] @@ -2370,23 +2559,27 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.7.41" +version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21499ed91807f07ae081880aabb2ccc0235e9d88011867d984525e9a4c3cfa3e" +checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" dependencies = [ + "bitvec", "bytecheck", + "bytes", "hashbrown 0.12.3", "ptr_meta", "rend", "rkyv_derive", "seahash", + "tinyvec", + "uuid", ] [[package]] name = "rkyv_derive" -version = "0.7.41" +version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1c672430eb41556291981f45ca900a0239ad007242d1cb4b4167af842db666" +checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" dependencies = [ "proc-macro2", "quote", @@ -2415,9 +2608,9 @@ dependencies = [ [[package]] name = "rust-embed" -version = "6.6.1" +version = "6.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b68543d5527e158213414a92832d2aab11a84d2571a5eb021ebe22c43aab066" +checksum = "a36224c3276f8c4ebc8c20f158eca7ca4359c8db89991c4925132aaaf6702661" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -2426,23 +2619,23 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "6.5.0" +version = "6.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4e0f0ced47ded9a68374ac145edd65a6c1fa13a96447b873660b2a568a0fd7" +checksum = "49b94b81e5b2c284684141a2fb9e2a31be90638caf040bf9afbc5a0416afe1ac" dependencies = [ "proc-macro2", "quote", "rust-embed-utils", "shellexpand", - "syn 1.0.109", + "syn 2.0.104", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "7.5.0" +version = "7.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512b0ab6853f7e14e3c8754acb43d6f748bb9ced66aa5915a6553ac8213f7731" +checksum = "9d38ff6bf570dc3bb7100fce9f7b60c33fa71d80e88da3f2580df4ff2bdded74" dependencies = [ "sha2", "walkdir", @@ -2450,14 +2643,12 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.29.1" +version = "1.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26bd36b60561ee1fb5ec2817f198b6fd09fa571c897a5e86d1487cfc2b096dfc" +checksum = "b203a6425500a03e0919c42d3c47caca51e79f1132046626d2c8871c5092035d" dependencies = [ "arrayvec", "borsh", - "bytecheck", - "byteorder", "bytes", "num-traits", "rand", @@ -2467,17 +2658,35 @@ dependencies = [ ] [[package]] -name = "rustix" -version = "0.37.19" +name = "rustc-demangle" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" + +[[package]] +name = "rustix" +version = "0.38.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags", + "bitflags 2.9.1", "errno", - "io-lifetimes", "libc", - "linux-raw-sys", - "windows-sys 0.48.0", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustix" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +dependencies = [ + "bitflags 2.9.1", + "errno", + "libc", + "linux-raw-sys 0.9.4", + "windows-sys 0.59.0", ] [[package]] @@ -2507,15 +2716,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.12" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -2528,24 +2737,18 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.42.0", + "windows-sys 0.59.0", ] [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "scratch" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" @@ -2579,7 +2782,7 @@ dependencies = [ "serde_json", "sqlx", "thiserror", - "time 0.3.36", + "time", "tracing", "url", "uuid", @@ -2633,24 +2836,24 @@ dependencies = [ [[package]] name = "sea-query" -version = "0.28.4" +version = "0.28.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd34be05fdde9ec79231414bdd44ba1aa9c57349190076699e90721cb5eb59b" +checksum = "bbab99b8cd878ab7786157b7eb8df96333a6807cc6e45e8888c85b51534b401a" dependencies = [ "bigdecimal", "chrono", "rust_decimal", "sea-query-derive", "serde_json", - "time 0.3.36", + "time", "uuid", ] [[package]] name = "sea-query-binder" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03548c63aec07afd4fd190923e0160d2f2fc92def27470b54154cf232da6203b" +checksum = "4cea85029985b40dfbf18318d85fe985c04db7c1b4e5e8e0a0a0cdff5f1e30f9" dependencies = [ "bigdecimal", "chrono", @@ -2658,7 +2861,7 @@ dependencies = [ "sea-query", "serde_json", "sqlx", - "time 0.3.36", + "time", "uuid", ] @@ -2728,11 +2931,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "security-framework" -version = "2.8.2" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags", + "bitflags 2.9.1", "core-foundation", "core-foundation-sys", "libc", @@ -2741,9 +2944,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.8.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -2751,41 +2954,43 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.208" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.208" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.104", ] [[package]] name = "serde_json" -version = "1.0.96" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] [[package]] name = "serde_path_to_error" -version = "0.1.11" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7f05c1d5476066defcdfacce1f52fc3cae3af1d3089727100c02ae92e5abbe0" +checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" dependencies = [ + "itoa", "serde", ] @@ -2803,9 +3008,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", @@ -2814,9 +3019,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -2825,9 +3030,9 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] @@ -2842,19 +3047,25 @@ dependencies = [ ] [[package]] -name = "signal-hook-registry" -version = "1.4.1" +name = "shlex" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ "libc", ] [[package]] name = "simdutf8" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "simple_asn1" @@ -2869,27 +3080,24 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" -dependencies = [ - "autocfg", -] +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "smallvec" -version = "1.10.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "socket2" -version = "0.4.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -2933,11 +3141,10 @@ dependencies = [ [[package]] name = "sqlformat" -version = "0.2.1" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e" +checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" dependencies = [ - "itertools 0.10.5", "nom", "unicode_categories", ] @@ -2958,11 +3165,11 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029" dependencies = [ - "ahash 0.7.6", + "ahash 0.7.8", "atoi", "base64 0.13.1", "bigdecimal", - "bitflags", + "bitflags 1.3.2", "byteorder", "bytes", "chrono", @@ -2971,7 +3178,7 @@ dependencies = [ "dirs", "dotenvy", "either", - "event-listener", + "event-listener 2.5.3", "flume", "futures-channel", "futures-core", @@ -2983,14 +3190,14 @@ dependencies = [ "hex", "hkdf", "hmac", - "indexmap", + "indexmap 1.9.3", "itoa", "libc", "libsqlite3-sys", "log", "md-5", "memchr", - "num-bigint 0.4.3", + "num-bigint 0.4.6", "once_cell", "paste", "percent-encoding", @@ -3006,7 +3213,7 @@ dependencies = [ "sqlx-rt", "stringprep", "thiserror", - "time 0.3.36", + "time", "tokio-stream", "url", "uuid", @@ -3045,13 +3252,20 @@ dependencies = [ ] [[package]] -name = "stringprep" -version = "0.1.2" +name = "stable_deref_trait" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" dependencies = [ "unicode-bidi", "unicode-normalization", + "unicode-properties", ] [[package]] @@ -3062,9 +3276,9 @@ checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" [[package]] name = "subtle" -version = "2.4.1" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" @@ -3079,9 +3293,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.75" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -3095,79 +3309,75 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] -name = "tempfile" -version = "3.5.0" +name = "synstructure" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ - "cfg-if", - "fastrand", - "redox_syscall 0.3.5", - "rustix", - "windows-sys 0.45.0", + "proc-macro2", + "quote", + "syn 2.0.104", ] [[package]] -name = "termcolor" -version = "1.2.0" +name = "tap" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ - "winapi-util", + "fastrand", + "getrandom 0.3.3", + "once_cell", + "rustix 1.0.7", + "windows-sys 0.59.0", ] [[package]] name = "textwrap" -version = "0.16.0" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" +checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.104", ] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] name = "time" -version = "0.1.45" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", "itoa", @@ -3180,25 +3390,35 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", ] [[package]] -name = "tinyvec" -version = "1.6.0" +name = "tinystr" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -3211,32 +3431,33 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.28.1" +version = "1.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aa32867d44e6f2ce3385e89dceb990188b8bb0fb25b0cf576647a6f98ac5105" +checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17" dependencies = [ - "autocfg", + "backtrace", "bytes", + "io-uring", "libc", "mio", - "num_cpus", - "parking_lot 0.12.1", + "parking_lot 0.12.4", "pin-project-lite", "signal-hook-registry", + "slab", "socket2", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.104", ] [[package]] @@ -3262,9 +3483,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.14" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -3287,25 +3508,32 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.8" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] -name = "toml" -version = "0.5.11" +name = "toml_datetime" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" + +[[package]] +name = "toml_edit" +version = "0.22.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "serde", + "indexmap 2.10.0", + "toml_datetime", + "winnow", ] [[package]] @@ -3358,13 +3586,13 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", - "indexmap", + "indexmap 1.9.3", "pin-project", "pin-project-lite", "rand", "slab", "tokio", - "tokio-util 0.7.8", + "tokio-util 0.7.15", "tower-layer", "tower-service", "tracing", @@ -3372,11 +3600,11 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.0" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1d42a9b3f3ec46ba828e8d376aec14592ea199f70a06a548587ecd1c4ab658" +checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags", + "bitflags 2.9.1", "bytes", "futures-core", "futures-util", @@ -3391,15 +3619,15 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tower_governor" @@ -3423,11 +3651,10 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ - "cfg-if", "log", "pin-project-lite", "tracing-attributes", @@ -3436,20 +3663,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.24" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.104", ] [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", "valuable", @@ -3467,20 +3694,20 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", "nu-ansi-term", @@ -3496,57 +3723,54 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typenum" -version = "1.16.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "unicase" -version = "2.6.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" -version = "1.0.8" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" dependencies = [ "tinyvec", ] [[package]] -name = "unicode-segmentation" -version = "1.10.1" +name = "unicode-properties" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" [[package]] -name = "unicode-width" -version = "0.1.10" +name = "unicode-segmentation" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode_categories" @@ -3562,9 +3786,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.3.1" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", @@ -3572,12 +3796,18 @@ dependencies = [ ] [[package]] -name = "utoipa" -version = "3.3.0" +name = "utf8_iter" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ae74ef183fae36d650f063ae7bde1cacbe1cd7e72b617cbe1e985551878b98" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "utoipa" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d82b1bc5417102a73e8464c686eef947bdfb99fcdfc0a4f228e81afa9526470a" dependencies = [ - "indexmap", + "indexmap 2.10.0", "serde", "serde_json", "utoipa-gen", @@ -3585,21 +3815,22 @@ dependencies = [ [[package]] name = "utoipa-gen" -version = "3.3.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ea8ac818da7e746a63285594cce8a96f5e00ee31994e655bd827569cb8b137b" +checksum = "05d96dcd6fc96f3df9b3280ef480770af1b7c5d14bc55192baa9b067976d920c" dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.75", + "regex", + "syn 2.0.104", ] [[package]] name = "utoipa-swagger-ui" -version = "3.1.3" +version = "3.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "062bba5a3568e126ac72049a63254f4cb1da2eb713db0c1ab2a4c76be191db8c" +checksum = "84614caa239fb25b2bb373a52859ffd94605ceb256eeb1d63436325cf81e3653" dependencies = [ "axum", "mime_guess", @@ -3613,28 +3844,26 @@ dependencies = [ [[package]] name = "uuid" -version = "1.3.2" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dad5567ad0cf5b760e5665964bec1b47dfd077ba8a2544b513f3556d3d239a2" +checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" dependencies = [ + "js-sys", "serde", + "wasm-bindgen", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "value-bag" -version = "1.0.0-alpha.9" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55" -dependencies = [ - "ctor", - "version_check", -] +checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5" [[package]] name = "vcpkg" @@ -3644,21 +3873,15 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "waker-fn" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "walkdir" -version = "2.3.3" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -3666,68 +3889,84 @@ dependencies = [ [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] [[package]] name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" +version = "0.10.2+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", + "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.104", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.34" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3735,28 +3974,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.104", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -3774,22 +4016,24 @@ dependencies = [ [[package]] name = "which" -version = "4.4.0" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" dependencies = [ "either", - "libc", + "home", "once_cell", + "rustix 0.38.44", ] [[package]] name = "whoami" -version = "1.4.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c70234412ca409cc04e864e89523cb0fc37f5e1344ebed5a3ebf4192b6b9f68" +checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" dependencies = [ - "wasm-bindgen", + "redox_syscall 0.5.13", + "wasite", "web-sys", ] @@ -3811,11 +4055,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -3825,172 +4069,361 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.48.0" +name = "windows-core" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-targets 0.48.0", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link", ] [[package]] name = "windows-sys" -version = "0.42.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows-targets 0.52.6", ] [[package]] name = "windows-sys" -version = "0.45.0" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets 0.42.2", + "windows-targets 0.52.6", ] [[package]] name = "windows-sys" -version = "0.48.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.48.0", + "windows-targets 0.53.2", ] [[package]] name = "windows-targets" -version = "0.42.2" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] name = "windows-targets" -version = "0.48.0" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.2" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" [[package]] name = "windows_aarch64_msvc" -version = "0.42.2" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" [[package]] name = "windows_i686_gnu" -version = "0.42.2" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" [[package]] name = "windows_i686_msvc" -version = "0.42.2" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" [[package]] name = "windows_x86_64_gnu" -version = "0.42.2" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.2" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" [[package]] name = "windows_x86_64_msvc" -version = "0.42.2" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + +[[package]] +name = "winnow" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" +dependencies = [ + "memchr", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "writeable" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "yoke" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", + "synstructure", +] [[package]] name = "zeroize" -version = "1.6.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] [[package]] name = "zip" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e92305c174683d78035cbf1b70e18db6329cc0f1b9cae0a52ca90bf5bfe7125" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" dependencies = [ "byteorder", "crc32fast", From d130d6d69f1b80b68434d72bcf461b8ea4209bdc Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Thu, 10 Jul 2025 11:40:26 +0800 Subject: [PATCH 03/16] yq-go: add updateScript --- pkgs/by-name/yq/yq-go/package.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/yq/yq-go/package.nix b/pkgs/by-name/yq/yq-go/package.nix index 8f17ea5b3977..2f0cd1f882d1 100644 --- a/pkgs/by-name/yq/yq-go/package.nix +++ b/pkgs/by-name/yq/yq-go/package.nix @@ -6,6 +6,7 @@ installShellFiles, runCommand, yq-go, + nix-update-script, }: buildGoModule (finalAttrs: { @@ -30,11 +31,14 @@ buildGoModule (finalAttrs: { --zsh <($out/bin/yq shell-completion zsh) ''; - passthru.tests = { - simple = runCommand "${finalAttrs.pname}-test" { } '' - echo "test: 1" | ${yq-go}/bin/yq eval -j > $out - [ "$(cat $out | tr -d $'\n ')" = '{"test":1}' ] - ''; + passthru = { + tests = { + simple = runCommand "${finalAttrs.pname}-test" { } '' + echo "test: 1" | ${yq-go}/bin/yq eval -j > $out + [ "$(cat $out | tr -d $'\n ')" = '{"test":1}' ] + ''; + }; + updateScript = nix-update-script { }; }; meta = { From 82fca8f3361328463d3c29d445c503b184f1f95b Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Thu, 10 Jul 2025 11:41:51 +0800 Subject: [PATCH 04/16] yq-go: 4.45.4 -> 4.46.1 --- pkgs/by-name/yq/yq-go/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/yq/yq-go/package.nix b/pkgs/by-name/yq/yq-go/package.nix index 2f0cd1f882d1..eea67ec76472 100644 --- a/pkgs/by-name/yq/yq-go/package.nix +++ b/pkgs/by-name/yq/yq-go/package.nix @@ -11,16 +11,16 @@ buildGoModule (finalAttrs: { pname = "yq-go"; - version = "4.45.4"; + version = "4.46.1"; src = fetchFromGitHub { owner = "mikefarah"; repo = "yq"; - rev = "v${finalAttrs.version}"; - hash = "sha256-qcsm7dB7F7Snul2PbH/7RdK17c5qT+mk+FvfqnFfuak="; + tag = "v${finalAttrs.version}"; + hash = "sha256-lMmcqAe1A/ET/2Dju6Gj0+I/g4z23EmtuRio0NYTHws="; }; - vendorHash = "sha256-cA5Y0/2lvYfVXr4zgtp/U8aBUkHnh9xb9jDHVk/2OME="; + vendorHash = "sha256-wfn8u8I4dyAD4PbeiQGSai1gQ2ZDFBi2mysZVKa0mkA="; nativeBuildInputs = [ installShellFiles ]; @@ -44,7 +44,7 @@ buildGoModule (finalAttrs: { meta = { description = "Portable command-line YAML processor"; homepage = "https://mikefarah.gitbook.io/yq/"; - changelog = "https://github.com/mikefarah/yq/raw/v${finalAttrs.version}/release_notes.txt"; + changelog = "https://github.com/mikefarah/yq/raw/${finalAttrs.src.tag}/release_notes.txt"; mainProgram = "yq"; license = [ lib.licenses.mit ]; maintainers = with lib.maintainers; [ From a3932b626d4c852643f9933487deb47dd099cbee Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Thu, 10 Jul 2025 11:42:32 +0800 Subject: [PATCH 05/16] yq-go: use finalAttrs.finalPackage --- pkgs/by-name/yq/yq-go/package.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/yq/yq-go/package.nix b/pkgs/by-name/yq/yq-go/package.nix index eea67ec76472..2703d396ba0e 100644 --- a/pkgs/by-name/yq/yq-go/package.nix +++ b/pkgs/by-name/yq/yq-go/package.nix @@ -5,7 +5,6 @@ fetchFromGitHub, installShellFiles, runCommand, - yq-go, nix-update-script, }: @@ -33,8 +32,8 @@ buildGoModule (finalAttrs: { passthru = { tests = { - simple = runCommand "${finalAttrs.pname}-test" { } '' - echo "test: 1" | ${yq-go}/bin/yq eval -j > $out + simple = runCommand "yq-go-test" { } '' + echo "test: 1" | ${finalAttrs.finalPackage}/bin/yq eval -j > $out [ "$(cat $out | tr -d $'\n ')" = '{"test":1}' ] ''; }; From b8e282093d2fd1c336661d6704eae08c85a1362e Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Thu, 10 Jul 2025 18:08:10 +0200 Subject: [PATCH 06/16] python3Packages.pgpy: Fix build again --- ...Fix-compat-with-current-cryptography.patch | 49 +++++++++++++++++++ .../python-modules/pgpy/default.nix | 3 ++ 2 files changed, 52 insertions(+) create mode 100644 pkgs/development/python-modules/pgpy/Fix-compat-with-current-cryptography.patch diff --git a/pkgs/development/python-modules/pgpy/Fix-compat-with-current-cryptography.patch b/pkgs/development/python-modules/pgpy/Fix-compat-with-current-cryptography.patch new file mode 100644 index 000000000000..cda2810fef54 --- /dev/null +++ b/pkgs/development/python-modules/pgpy/Fix-compat-with-current-cryptography.patch @@ -0,0 +1,49 @@ +From 5cdda87f74bcbb1dd7d29bb49b6a0ee67e41a7ce Mon Sep 17 00:00:00 2001 +From: OPNA2608 +Date: Thu, 10 Jul 2025 17:51:02 +0200 +Subject: [PATCH] pgpy/_curves.py: Fix compat with current cryptography + +Curves must now specify their group_order. +--- + pgpy/_curves.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/pgpy/_curves.py b/pgpy/_curves.py +index 14f2528..91e7dbb 100644 +--- a/pgpy/_curves.py ++++ b/pgpy/_curves.py +@@ -75,26 +75,31 @@ else: + class BrainpoolP256R1(ec.EllipticCurve): + name = 'brainpoolP256r1' + key_size = 256 ++ group_order = 0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7 + + + class BrainpoolP384R1(ec.EllipticCurve): # noqa: E303 + name = 'brainpoolP384r1' + key_size = 384 ++ group_order = 0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565 + + + class BrainpoolP512R1(ec.EllipticCurve): # noqa: E303 + name = 'brainpoolP512r1' + key_size = 512 ++ group_order = 0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069 + + + class X25519(ec.EllipticCurve): # noqa: E303 + name = 'X25519' + key_size = 256 ++ group_order = 0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed + + + class Ed25519(ec.EllipticCurve): # noqa: E303 + name = 'ed25519' + key_size = 256 ++ group_order = 0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed + + + # add these curves to the _CURVE_TYPES list +-- +2.49.0 + diff --git a/pkgs/development/python-modules/pgpy/default.nix b/pkgs/development/python-modules/pgpy/default.nix index 585c9ed93419..3e724d6a8c4c 100644 --- a/pkgs/development/python-modules/pgpy/default.nix +++ b/pkgs/development/python-modules/pgpy/default.nix @@ -34,6 +34,9 @@ buildPythonPackage rec { patches = [ # https://github.com/SecurityInnovation/PGPy/issues/462 ./pr-443.patch + + # https://github.com/SecurityInnovation/PGPy/pull/474 + ./Fix-compat-with-current-cryptography.patch ]; postPatch = '' From 9663fab15464d58155d29ca70752131f84cdb086 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 11 Jul 2025 00:33:11 +0000 Subject: [PATCH 07/16] bitwarden-directory-connector: 2025.6.0 -> 2025.6.1 --- .../security/bitwarden-directory-connector/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/bitwarden-directory-connector/default.nix b/pkgs/tools/security/bitwarden-directory-connector/default.nix index d1407bc94940..92ac6ce2e7f4 100644 --- a/pkgs/tools/security/bitwarden-directory-connector/default.nix +++ b/pkgs/tools/security/bitwarden-directory-connector/default.nix @@ -19,14 +19,14 @@ let }: buildNpmPackage rec { pname = name; - version = "2025.6.0"; + version = "2025.6.1"; nodejs = nodejs_22; src = fetchFromGitHub { owner = "bitwarden"; repo = "directory-connector"; rev = "v${version}"; - hash = "sha256-qlD16U/S3SzaA7sMR+JZSYHy9g7c5cjedAmkFWRoxN0="; + hash = "sha256-VRM1kAWP0oNSLwIflTu6s7XjhSfy8z8G+5PUhQCc/tY="; }; postPatch = '' @@ -38,7 +38,7 @@ let --replace-fail "AppImage" "dir" ''; - npmDepsHash = "sha256-EIF7I4stB6+h3l2hLJqLHR8qzmRP20v161YwXVMJh44="; + npmDepsHash = "sha256-bUCnUnBaA+PwRyxDieqPWzCh87KPQUiuF3uW9fDHtQE="; env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; From c39606c426d0cb6440b8ef411d048ea8d3743f4f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 11 Jul 2025 05:00:35 +0000 Subject: [PATCH 08/16] lsh: 1.3.3 -> 1.4.0 --- pkgs/by-name/ls/lsh/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ls/lsh/package.nix b/pkgs/by-name/ls/lsh/package.nix index 7e53904476f1..f0e0b37075bd 100644 --- a/pkgs/by-name/ls/lsh/package.nix +++ b/pkgs/by-name/ls/lsh/package.nix @@ -5,12 +5,12 @@ }: buildGoModule rec { pname = "lsh"; - version = "1.3.3"; + version = "1.4.0"; src = fetchFromGitHub { owner = "latitudesh"; repo = "lsh"; rev = "v${version}"; - sha256 = "0YpjG4u+wb4LRWzfTddKFwut0MBzEch+HZijmZiVXpE="; + sha256 = "sha256-yYjCxH92GyFl4Gf4hH97E3EiMQ6WvWIItVI4U54JdaM="; }; vendorHash = "sha256-ogdyzfayleka4Y8x74ZtttD7MaeCl1qP/rQi9x0tMto="; subPackages = [ "." ]; From 7237a7608aba8e0e871405b82a0e24c06bb47d5a Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Fri, 11 Jul 2025 10:46:28 +0200 Subject: [PATCH 09/16] raspberrypiWirelessFirmware: unstable-2024-02-26 -> 0-unstable-2025-04-08 https://github.com/RPi-Distro/bluez-firmware/compare/78d6a07730e2d20c035899521ab67726dc028e1c...2bbfb8438e824f5f61dae3f6ebb367a6129a4d63 https://github.com/RPi-Distro/firmware-nonfree/compare/223ccf3a3ddb11b3ea829749fbbba4d65b380897...c9d3ae6584ab79d19a4f94ccf701e888f9f87a53 Signed-off-by: Sefa Eyeoglu --- .../by-name/ra/raspberrypiWirelessFirmware/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ra/raspberrypiWirelessFirmware/package.nix b/pkgs/by-name/ra/raspberrypiWirelessFirmware/package.nix index a8d4dc74c601..bfc806b782ed 100644 --- a/pkgs/by-name/ra/raspberrypiWirelessFirmware/package.nix +++ b/pkgs/by-name/ra/raspberrypiWirelessFirmware/package.nix @@ -6,22 +6,22 @@ stdenvNoCC.mkDerivation { pname = "raspberrypi-wireless-firmware"; - version = "unstable-2024-02-26"; + version = "0-unstable-2025-04-08"; srcs = [ (fetchFromGitHub { name = "bluez-firmware"; owner = "RPi-Distro"; repo = "bluez-firmware"; - rev = "78d6a07730e2d20c035899521ab67726dc028e1c"; - hash = "sha256-KakKnOBeWxh0exu44beZ7cbr5ni4RA9vkWYb9sGMb8Q="; + rev = "2bbfb8438e824f5f61dae3f6ebb367a6129a4d63"; + hash = "sha256-t+D4VUfEIov83KV4wiKp6TqXTHXGkxg/mANi4GW7QHs="; }) (fetchFromGitHub { name = "firmware-nonfree"; owner = "RPi-Distro"; repo = "firmware-nonfree"; - rev = "223ccf3a3ddb11b3ea829749fbbba4d65b380897"; - hash = "sha256-BGq0+cr+xBRwQM/LqiQuRWuZpQsKM5jfcrNCqWMuVzM="; + rev = "c9d3ae6584ab79d19a4f94ccf701e888f9f87a53"; + hash = "sha256-5ywIPs3lpmqVOVP3B75H577fYkkucDqB7htY2U1DW8U="; }) ]; From 3203e3f826406da0ee5130da96e0493876d492c7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 11 Jul 2025 10:02:13 +0000 Subject: [PATCH 10/16] lux-cli: 0.7.4 -> 0.8.2 --- pkgs/by-name/lu/lux-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/lu/lux-cli/package.nix b/pkgs/by-name/lu/lux-cli/package.nix index cdfdd3caee6f..bfe0f48f0b27 100644 --- a/pkgs/by-name/lu/lux-cli/package.nix +++ b/pkgs/by-name/lu/lux-cli/package.nix @@ -17,18 +17,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "lux-cli"; - version = "0.7.4"; + version = "0.8.2"; src = fetchFromGitHub { owner = "nvim-neorocks"; repo = "lux"; tag = "v${finalAttrs.version}"; - hash = "sha256-m8GSs2gBw+WzDOBciOQHi7n4923XCd7z1TbfTnfJzUA="; + hash = "sha256-O4n/xTGd1WDiZ/LhBBifsUq7dTvBD4uLoOxX1ByJ82s="; }; buildAndTestSubdir = "lux-cli"; useFetchCargoVendor = true; - cargoHash = "sha256-7q5NqAmsHcZEwDAeNRZLiQIKzFsx6BsWAgsv2s2dmRI="; + cargoHash = "sha256-I8dAcPWug/7l3gAyAlHjwqNVzZVEfcvWWBnXuqOEbd4="; nativeInstallCheckInputs = [ versionCheckHook From 26b511effdfb22ce1429ede9bade21325119e342 Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 11 Jul 2025 13:59:20 +0300 Subject: [PATCH 11/16] comma: 1.9.0 -> 2.0.0 Diff: https://www.github.com/nix-community/comma/compare/v1.9.0...v2.0.0 --- pkgs/by-name/co/comma/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/comma/package.nix b/pkgs/by-name/co/comma/package.nix index 572d67065d2c..7e79b6eb89be 100644 --- a/pkgs/by-name/co/comma/package.nix +++ b/pkgs/by-name/co/comma/package.nix @@ -11,17 +11,17 @@ rustPlatform.buildRustPackage rec { pname = "comma"; - version = "1.9.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "nix-community"; repo = "comma"; rev = "v${version}"; - hash = "sha256-XXe0SSdH2JZLx0o+vHDtdlDRtVn7nouIngipbXhmhiQ="; + hash = "sha256-EP1UGmoPXeyJY1mk3c4DNF6/HkjqlwKf5ZLhjNa1WMo="; }; useFetchCargoVendor = true; - cargoHash = "sha256-vNXczPhCfoXHy5IT/ybuKEQ7I08eJJdP+6+iXfwWjdU="; + cargoHash = "sha256-GEHvS4hDBKqSquRmGZ9LMIFsX8MGqOqPZVf0aAzMmmI="; nativeBuildInputs = [ makeBinaryWrapper ]; From fbb5fddbec4f5972c5268d28626e5ff846e59a81 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 11 Jul 2025 12:22:37 +0000 Subject: [PATCH 12/16] python3Packages.pysmlight: 0.2.6 -> 0.2.7 --- pkgs/development/python-modules/pysmlight/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pysmlight/default.nix b/pkgs/development/python-modules/pysmlight/default.nix index e2c7c3126fd6..b0215e0dfe00 100644 --- a/pkgs/development/python-modules/pysmlight/default.nix +++ b/pkgs/development/python-modules/pysmlight/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "pysmlight"; - version = "0.2.6"; + version = "0.2.7"; pyproject = true; src = fetchFromGitHub { owner = "smlight-tech"; repo = "pysmlight"; tag = "v${version}"; - hash = "sha256-mK9bWRo5l2t2E/TP7POj04z45zD/XZbNOkFXGvD23k8="; + hash = "sha256-w5t8ApshET7DkxxDsEpRBdo3+sg05ch9ec85TI4dAms="; }; build-system = [ poetry-core ]; From 986d13561f914feb8ae1e4018c8581da26a53d03 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 24 May 2025 02:42:34 +0000 Subject: [PATCH 13/16] raspberrypifw: 1.20241008 -> 1.20250430 --- pkgs/os-specific/linux/firmware/raspberrypi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix index 8f8210c65466..3844d9ca1716 100644 --- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix +++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation rec { # NOTE: this should be updated with linux_rpi pname = "raspberrypi-firmware"; - version = "1.20241008"; + version = "1.20250430"; src = fetchFromGitHub { owner = "raspberrypi"; repo = "firmware"; rev = version; - hash = "sha256-4gnK0KbqFnjBmWia9Jt2gveVWftmHrprpwBqYVqE/k0="; + hash = "sha256-U41EgEDny1R+JFktSC/3CE+2Qi7GJludj929ft49Nm0="; }; installPhase = '' From c3a41f85e4373895b979d5620d92f0925e65adc8 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Fri, 11 Jul 2025 15:49:14 +0200 Subject: [PATCH 14/16] postgresqlPackages.postgis: 3.5.2 -> 3.5.3 Release notes: https://git.osgeo.org/gitea/postgis/postgis/raw/tag/3.5.3/NEWS --- pkgs/servers/sql/postgresql/ext/postgis.nix | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/postgis.nix b/pkgs/servers/sql/postgresql/ext/postgis.nix index 2e9a76c43c7b..09c547075135 100644 --- a/pkgs/servers/sql/postgresql/ext/postgis.nix +++ b/pkgs/servers/sql/postgresql/ext/postgis.nix @@ -4,7 +4,6 @@ cunit, docbook5, fetchFromGitHub, - fetchpatch, gdalMinimal, geos, jitSupport, @@ -36,7 +35,7 @@ let in postgresqlBuildExtension (finalAttrs: { pname = "postgis"; - version = "3.5.2"; + version = "3.5.3"; outputs = [ "out" @@ -47,18 +46,9 @@ postgresqlBuildExtension (finalAttrs: { owner = "postgis"; repo = "postgis"; tag = finalAttrs.version; - hash = "sha256-1kOLtG6AMavbWQ1lHG2ABuvIcyTYhgcbjuVmqMR4X+g="; + hash = "sha256-rJxIZGsQhh8QAacgkepBzzC79McVhY9wFphQIVRQHA8="; }; - patches = [ - # Backport patch for compatibility with GDAL 3.11 - # FIXME: remove in next update - (fetchpatch { - url = "https://git.osgeo.org/gitea/postgis/postgis/commit/614eca7c169cd6e9819801d3ea99d5258262c58b.patch"; - hash = "sha256-VkNZFANAt8Jv+ExCusGvi+ZWB7XLcAheefSx7akA7Go="; - }) - ]; - buildInputs = [ geos From e51bc1ab23bb2551370f16f6806989b1ecae8e2f Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Thu, 29 May 2025 19:58:36 -0700 Subject: [PATCH 15/16] gccNGPackages: init --- ...ram-First-search-with-machine-prefix.patch | 137 ++++++++ ...pass-Pass-to-callback-whether-dir-is.patch | 103 ++++++ ...nly-search-for-prefixed-paths-in-und.patch | 75 +++++ .../ng/15/gcc/custom-threading-model.patch | 180 ++++++++++ .../gcc/ng/15/gcc/fix-collect2-paths.diff | 315 ++++++++++++++++++ pkgs/development/compilers/gcc/ng/README.md | 3 + .../compilers/gcc/ng/common/common-let.nix | 47 +++ .../compilers/gcc/ng/common/default.nix | 221 ++++++++++++ .../compilers/gcc/ng/common/gcc/default.nix | 249 ++++++++++++++ .../gcc/ng/common/libatomic/default.nix | 48 +++ .../gcc/ng/common/libbacktrace/default.nix | 74 ++++ .../gcc/ng/common/libgcc/default.nix | 205 ++++++++++++ .../gcc/ng/common/libgfortran/default.nix | 190 +++++++++++ .../gcc/ng/common/libiberty/default.nix | 67 ++++ .../gcc/ng/common/libquadmath/default.nix | 51 +++ .../gcc/ng/common/libsanitizer/default.nix | 57 ++++ .../gcc/ng/common/libssp/default.nix | 68 ++++ .../gcc/ng/common/libstdcxx/default.nix | 87 +++++ .../compilers/gcc/ng/common/patches.nix | 32 ++ pkgs/development/compilers/gcc/ng/default.nix | 69 ++++ pkgs/top-level/all-packages.nix | 11 + 21 files changed, 2289 insertions(+) create mode 100644 pkgs/development/compilers/gcc/ng/15/gcc/0001-find_a_program-First-search-with-machine-prefix.patch create mode 100644 pkgs/development/compilers/gcc/ng/15/gcc/0002-driver-for_each_pass-Pass-to-callback-whether-dir-is.patch create mode 100644 pkgs/development/compilers/gcc/ng/15/gcc/0003-find_a_program-Only-search-for-prefixed-paths-in-und.patch create mode 100644 pkgs/development/compilers/gcc/ng/15/gcc/custom-threading-model.patch create mode 100644 pkgs/development/compilers/gcc/ng/15/gcc/fix-collect2-paths.diff create mode 100644 pkgs/development/compilers/gcc/ng/README.md create mode 100644 pkgs/development/compilers/gcc/ng/common/common-let.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/default.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/gcc/default.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/libatomic/default.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/libbacktrace/default.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/libgcc/default.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/libgfortran/default.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/libiberty/default.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/libquadmath/default.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/libsanitizer/default.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/libssp/default.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/libstdcxx/default.nix create mode 100644 pkgs/development/compilers/gcc/ng/common/patches.nix create mode 100644 pkgs/development/compilers/gcc/ng/default.nix diff --git a/pkgs/development/compilers/gcc/ng/15/gcc/0001-find_a_program-First-search-with-machine-prefix.patch b/pkgs/development/compilers/gcc/ng/15/gcc/0001-find_a_program-First-search-with-machine-prefix.patch new file mode 100644 index 000000000000..46eb8d03b89a --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/15/gcc/0001-find_a_program-First-search-with-machine-prefix.patch @@ -0,0 +1,137 @@ +From 3af17de3a5f6acd5a2f9340d84b8667459f43eea Mon Sep 17 00:00:00 2001 +From: John Ericson +Date: Wed, 18 Aug 2021 01:55:31 -0400 +Subject: [PATCH 1/3] find_a_program: First search with machine prefix + +This matches the behavior of Clang, and makes it easier to work with +cross compilers without heeding to hard-code paths at build time. +--- + gcc/gcc.cc | 78 +++++++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 68 insertions(+), 10 deletions(-) + +diff --git a/gcc/gcc.cc b/gcc/gcc.cc +index 4fd87f2c4a1..55738d258b3 100644 +--- a/gcc/gcc.cc ++++ b/gcc/gcc.cc +@@ -1600,6 +1600,11 @@ static const char *machine_suffix = 0; + + static const char *just_machine_suffix = 0; + ++/* Prefix to attach to *basename* of commands being searched. ++ This is just `MACHINE-'. */ ++ ++static const char *just_machine_prefix = 0; ++ + /* Adjusted value of GCC_EXEC_PREFIX envvar. */ + + static const char *gcc_exec_prefix; +@@ -3043,15 +3048,6 @@ file_at_path (char *path, void *data) + memcpy (path + len, info->name, info->name_len); + len += info->name_len; + +- /* Some systems have a suffix for executable files. +- So try appending that first. */ +- if (info->suffix_len) +- { +- memcpy (path + len, info->suffix, info->suffix_len + 1); +- if (access_check (path, info->mode) == 0) +- return path; +- } +- + path[len] = '\0'; + if (access_check (path, info->mode) == 0) + return path; +@@ -3091,12 +3087,52 @@ find_a_file (const struct path_prefix *pprefix, const char *name, int mode, + file_at_path, &info); + } + ++/* Callback for find_a_program. Appends the file name to the directory ++ path. Like file_at_path but tries machine prefix and exe suffix too. */ ++ ++static void * ++program_at_path (char *path, void *data) ++{ ++ /* try first with machine-prefixed name */ ++ struct file_at_path_info *info = (struct file_at_path_info *) data; ++ size_t path_len = strlen (path); ++ ++ for (auto prefix : { just_machine_prefix, "" }) ++ { ++ auto len = path_len; ++ ++ auto prefix_len = strlen(prefix); ++ memcpy (path + len, prefix, prefix_len); ++ len += prefix_len; ++ ++ memcpy (path + len, info->name, info->name_len); ++ len += info->name_len; ++ ++ /* Some systems have a suffix for executable files. ++ So try appending that first. */ ++ if (info->suffix_len) ++ { ++ memcpy (path + len, info->suffix, info->suffix_len + 1); ++ if (access_check (path, info->mode) == 0) ++ return path; ++ } ++ ++ path[len] = '\0'; ++ if (access_check (path, info->mode) == 0) ++ return path; ++ } ++ ++ return NULL; ++} ++ + /* Specialization of find_a_file for programs that also takes into account + configure-specified default programs. */ + + static char* + find_a_program (const char *name) + { ++ const int mode = X_OK; ++ + /* Do not search if default matches query. */ + + #ifdef DEFAULT_ASSEMBLER +@@ -3114,7 +3150,28 @@ find_a_program (const char *name) + return xstrdup (DEFAULT_DSYMUTIL); + #endif + +- return find_a_file (&exec_prefixes, name, X_OK, false); ++ /* Find the filename in question (special case for absolute paths). */ ++ ++ if (IS_ABSOLUTE_PATH (name)) ++ { ++ if (access (name, mode) == 0) ++ return xstrdup (name); ++ ++ return NULL; ++ } ++ ++ struct file_at_path_info info; ++ ++ info.name = name; ++ info.suffix = HOST_EXECUTABLE_SUFFIX; ++ info.name_len = strlen (info.name); ++ info.suffix_len = strlen (info.suffix); ++ info.mode = mode; ++ ++ return (char*) for_each_path ( ++ &exec_prefixes, false, ++ info.name_len + info.suffix_len + strlen(just_machine_prefix), ++ program_at_path, &info); + } + + /* Ranking of prefixes in the sort list. -B prefixes are put before +@@ -8492,6 +8549,7 @@ driver::set_up_specs () const + machine_suffix = concat (spec_host_machine, dir_separator_str, spec_version, + accel_dir_suffix, dir_separator_str, NULL); + just_machine_suffix = concat (spec_machine, dir_separator_str, NULL); ++ just_machine_prefix = concat (spec_machine, "-", NULL); + + specs_file = find_a_file (&startfile_prefixes, "specs", R_OK, true); + /* Read the specs file unless it is a default one. */ +-- +2.47.2 + diff --git a/pkgs/development/compilers/gcc/ng/15/gcc/0002-driver-for_each_pass-Pass-to-callback-whether-dir-is.patch b/pkgs/development/compilers/gcc/ng/15/gcc/0002-driver-for_each_pass-Pass-to-callback-whether-dir-is.patch new file mode 100644 index 000000000000..e0f295f8b88c --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/15/gcc/0002-driver-for_each_pass-Pass-to-callback-whether-dir-is.patch @@ -0,0 +1,103 @@ +From 8e1b7a128a69393c6d3f53b8f66bd52c6bbce908 Mon Sep 17 00:00:00 2001 +From: John Ericson +Date: Wed, 18 Aug 2021 01:55:45 -0400 +Subject: [PATCH 2/3] driver: for_each_pass: Pass to callback whether dir is + machine-disambiguated + +We will use this in the subsequent diff to control what basenames we +search for. In machine-specific subdirectories, we should just look for +the original basename, but in machine-agnostic subdirectories, we might +additionally look for prefixed disambiguated names, as an alternate +method of keeping targets apart. +--- + gcc/gcc.cc | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/gcc/gcc.cc b/gcc/gcc.cc +index 55738d258b3..f9f83d1a804 100644 +--- a/gcc/gcc.cc ++++ b/gcc/gcc.cc +@@ -2783,7 +2783,7 @@ static void * + for_each_path (const struct path_prefix *paths, + bool do_multi, + size_t extra_space, +- void *(*callback) (char *, void *), ++ void *(*callback) (char *, bool, void *), + void *callback_info) + { + struct prefix_list *pl; +@@ -2844,7 +2844,7 @@ for_each_path (const struct path_prefix *paths, + if (!skip_multi_dir) + { + memcpy (path + len, multi_suffix, suffix_len + 1); +- ret = callback (path, callback_info); ++ ret = callback (path, true, callback_info); + if (ret) + break; + } +@@ -2855,7 +2855,7 @@ for_each_path (const struct path_prefix *paths, + && pl->require_machine_suffix == 2) + { + memcpy (path + len, just_multi_suffix, just_suffix_len + 1); +- ret = callback (path, callback_info); ++ ret = callback (path, true, callback_info); + if (ret) + break; + } +@@ -2865,7 +2865,7 @@ for_each_path (const struct path_prefix *paths, + && !pl->require_machine_suffix && multiarch_dir) + { + memcpy (path + len, multiarch_suffix, multiarch_len + 1); +- ret = callback (path, callback_info); ++ ret = callback (path, true, callback_info); + if (ret) + break; + } +@@ -2893,7 +2893,7 @@ for_each_path (const struct path_prefix *paths, + else + path[len] = '\0'; + +- ret = callback (path, callback_info); ++ ret = callback (path, false, callback_info); + if (ret) + break; + } +@@ -2948,7 +2948,7 @@ struct add_to_obstack_info { + }; + + static void * +-add_to_obstack (char *path, void *data) ++add_to_obstack (char *path, bool, void *data) + { + struct add_to_obstack_info *info = (struct add_to_obstack_info *) data; + +@@ -3040,7 +3040,7 @@ struct file_at_path_info { + }; + + static void * +-file_at_path (char *path, void *data) ++file_at_path (char *path, bool, void *data) + { + struct file_at_path_info *info = (struct file_at_path_info *) data; + size_t len = strlen (path); +@@ -3091,7 +3091,7 @@ find_a_file (const struct path_prefix *pprefix, const char *name, int mode, + path. Like file_at_path but tries machine prefix and exe suffix too. */ + + static void * +-program_at_path (char *path, void *data) ++program_at_path (char *path, bool machine_specific, void *data) + { + /* try first with machine-prefixed name */ + struct file_at_path_info *info = (struct file_at_path_info *) data; +@@ -6074,7 +6074,7 @@ struct spec_path_info { + }; + + static void * +-spec_path (char *path, void *data) ++spec_path (char *path, bool, void *data) + { + struct spec_path_info *info = (struct spec_path_info *) data; + size_t len = 0; +-- +2.47.2 + diff --git a/pkgs/development/compilers/gcc/ng/15/gcc/0003-find_a_program-Only-search-for-prefixed-paths-in-und.patch b/pkgs/development/compilers/gcc/ng/15/gcc/0003-find_a_program-Only-search-for-prefixed-paths-in-und.patch new file mode 100644 index 000000000000..8fd83506b4d4 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/15/gcc/0003-find_a_program-Only-search-for-prefixed-paths-in-und.patch @@ -0,0 +1,75 @@ +From e1ee1a2df1ad32de24e8fdaeac0a533681710578 Mon Sep 17 00:00:00 2001 +From: John Ericson +Date: Wed, 18 Aug 2021 01:55:52 -0400 +Subject: [PATCH 3/3] find_a_program: Only search for prefixed paths in + undisambiguated dirs + +This means, we might search for: + +- path/$machine/$version/prog +- path/$machine/prog +- path/$machine-prog + +But not + +- path/$machine/$version/$machine-prog + +because disambiguating $machine twice is unnecessary. + +This does mean we less liberal in what we accept than LLVM, but that's +OK. The down side of always Postel's law is everyone converges on +accepting all sorts of garbage, which makes debugging end-to-end hard +when mistakes are not caught early. +--- + gcc/gcc.cc | 25 ++++++++++++++++--------- + 1 file changed, 16 insertions(+), 9 deletions(-) + +diff --git a/gcc/gcc.cc b/gcc/gcc.cc +index f9f83d1a804..d837b6ea779 100644 +--- a/gcc/gcc.cc ++++ b/gcc/gcc.cc +@@ -3097,15 +3097,9 @@ program_at_path (char *path, bool machine_specific, void *data) + struct file_at_path_info *info = (struct file_at_path_info *) data; + size_t path_len = strlen (path); + +- for (auto prefix : { just_machine_prefix, "" }) ++ auto search = [=](size_t len) -> void * + { +- auto len = path_len; +- +- auto prefix_len = strlen(prefix); +- memcpy (path + len, prefix, prefix_len); +- len += prefix_len; +- +- memcpy (path + len, info->name, info->name_len); ++ memcpy (path + len, info->name, info->name_len + 1); + len += info->name_len; + + /* Some systems have a suffix for executable files. +@@ -3120,9 +3114,22 @@ program_at_path (char *path, bool machine_specific, void *data) + path[len] = '\0'; + if (access_check (path, info->mode) == 0) + return path; ++ ++ return NULL; ++ }; ++ ++ /* Additionally search for $target-prog in machine-agnostic dirs, as an ++ additional way to disambiguate targets. Do not do this in machine-specific ++ dirs because so further disambiguation is needed. */ ++ if (!machine_specific) ++ { ++ auto prefix_len = strlen(just_machine_prefix); ++ memcpy (path + path_len, just_machine_prefix, prefix_len); ++ auto res = search(path_len + prefix_len); ++ if (res) return res; + } + +- return NULL; ++ return search(path_len); + } + + /* Specialization of find_a_file for programs that also takes into account +-- +2.47.2 + diff --git a/pkgs/development/compilers/gcc/ng/15/gcc/custom-threading-model.patch b/pkgs/development/compilers/gcc/ng/15/gcc/custom-threading-model.patch new file mode 100644 index 000000000000..1a61dbbd7446 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/15/gcc/custom-threading-model.patch @@ -0,0 +1,180 @@ +From 1eaf7ce77bb4eb73e5565ede220557c2ef0290b0 Mon Sep 17 00:00:00 2001 +From: John Ericson +Date: Sun, 22 Aug 2021 01:14:22 -0400 +Subject: [PATCH] Allow explicitly specifying the thread model for runtime libs + +Previously, they always scraped the thread mode from `$CC -v', now, that +is the default but one may pass `--with-threads=MODEL` to be explicit +instead. + +One use-case is bootstraping with a shorter critical path. The +traditionally route was to build an entire "static stage" GCC, build +libc, and then build GCC again supporting dynamic linking, +multithreading, etc. But this is wasteful in that GCC itself is built +twice. + +With this change, rather than having to mess with spec files we can just +configure the runtime libraries the way we want directly. In turn, that +opens to just building libgcc twice rather than all of GCC. + +Frankly, specs were always a rather indirect approach to coordinate this +during GCC's bootstrap, since GCC itself really doesn't care what the +threading model is, just that the runtime libraries agree among +themselves. Relying on a hard-coded spec for this also keeps us one step +further from the long-term goal of multi-target GCC, for what it's +worth. + +For the record, "single stage" builds of GCC have some precedent in +downstream packaging, for example with [1]. That one, as far as I can +tell, builds libgcc once, but with the headers of the libc +implementation provided and then cyclic linking down later. They are +both fine approaches, but I don't think one should have to be forced +into cyclic dependencies if they don't want to. That opens the door to +non-terminating programs due to, e.g., atomics used in a threads +implementation being lowered to threads absent hardware support. + +Finally, I understand that such custom bootstrapping is not officially +supported. I don't mean to imply it should be --- a lot more cleanup +work to the build system would be necessary before supporting it +wouldn't be a huge additional maintainer burden --- I just hope to add a +reasonable knob for those comfortable with doing unsupported things +already. + +[1]: https://github.com/richfelker/musl-cross-make +--- + config/gthr.m4 | 32 ++++++++++++++++++++++++++++++++ + libatomic/configure.ac | 4 +--- + libgcc/configure.ac | 4 +--- + libphobos/m4/druntime/os.m4 | 2 +- + libstdc++-v3/acinclude.m4 | 8 +++----- + 5 files changed, 38 insertions(+), 12 deletions(-) + +diff --git a/config/gthr.m4 b/config/gthr.m4 +index 11996247f15..7aed5d3df0d 100644 +--- a/config/gthr.m4 ++++ b/config/gthr.m4 +@@ -5,6 +5,35 @@ dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + ++dnl Define thread model ++ ++dnl usage: GCC_AC_THREAD_MODEL ++AC_DEFUN([GCC_AC_THREAD_MODEL], ++[ ++# With threads ++# Pass with no value to take from compiler's metadata ++# Pass with a value to specify a thread package ++# 'single' means single threaded -- without threads. ++AC_ARG_WITH(threads, ++[AS_HELP_STRING([[--with-threads=MODEL]], ++ [specify thread model for this GCC ++ runtime library])],, ++[with_threads='']) ++ ++if test x"$with_threads" = x'yes'; then ++ AC_MSG_ERROR([Cannot pass bare --with-threads, must pass explicit --with-threads=MODEL]) ++elif test x"$with_threads" = x'no'; then ++ target_thread_file=single ++elif test x"$with_threads" = x''; then ++ AC_MSG_CHECKING([for thread model used by GCC]) ++ target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` ++ AC_MSG_RESULT([$target_thread_file]) ++else ++ target_thread_file=$with_threads ++fi ++]) ++ ++ + dnl Define header location by thread model + + dnl usage: GCC_AC_THREAD_HEADER([thread_model]) +@@ -23,6 +52,9 @@ case $1 in + vxworks) thread_header=config/gthr-vxworks.h ;; + win32) thread_header=config/i386/gthr-win32.h ;; + mcf) thread_header=config/i386/gthr-mcf.h ;; ++ *) ++ AC_MSG_ERROR([No known header for threading model '$1'.]) ++ ;; + esac + AC_SUBST(thread_header) + ]) +diff --git a/libatomic/configure.ac b/libatomic/configure.ac +index 85824fa7614..691f4948f6c 100644 +--- a/libatomic/configure.ac ++++ b/libatomic/configure.ac +@@ -162,9 +162,7 @@ libtool_VERSION=3:0:2 + AC_SUBST(libtool_VERSION) + + # Check for used threading-model +-AC_MSG_CHECKING([for thread model used by GCC]) +-target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` +-AC_MSG_RESULT([$target_thread_file]) ++GCC_AC_THREAD_MODEL + + case "$target" in + *aarch64*) +diff --git a/libgcc/configure.ac b/libgcc/configure.ac +index 4e8c036990f..acf54e24c79 100644 +--- a/libgcc/configure.ac ++++ b/libgcc/configure.ac +@@ -305,9 +305,7 @@ AC_SUBST([use_tm_clone_registry]) + + AC_LIB_PROG_LD_GNU + +-AC_MSG_CHECKING([for thread model used by GCC]) +-target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` +-AC_MSG_RESULT([$target_thread_file]) ++GCC_AC_THREAD_MODEL + + # Check for assembler CFI support. + AC_CACHE_CHECK([whether assembler supports CFI directives], [libgcc_cv_cfi], +diff --git a/libphobos/m4/druntime/os.m4 b/libphobos/m4/druntime/os.m4 +index 15cde3b04b8..28bd4d3d2bd 100644 +--- a/libphobos/m4/druntime/os.m4 ++++ b/libphobos/m4/druntime/os.m4 +@@ -32,7 +32,7 @@ case $1 in + # TODO: These targets need porting. + dce|mipssde|rtems|tpf|vxworks) + DCFG_THREAD_MODEL="Single" ;; +- *) as_fn_error "Thread implementation '$1' not recognised" "$LINENO" 5 ;; ++ *) AC_MSG_ERROR([Thread implementation '$1' not recognised]) ;; + esac + AC_SUBST(DCFG_THREAD_MODEL) + ]) +diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 +index 51a08bcc8b1..71697f59d6d 100644 +--- a/libstdc++-v3/acinclude.m4 ++++ b/libstdc++-v3/acinclude.m4 +@@ -4342,9 +4342,7 @@ dnl Substs: + dnl thread_header + dnl + AC_DEFUN([GLIBCXX_ENABLE_THREADS], [ +- AC_MSG_CHECKING([for thread model used by GCC]) +- target_thread_file=`$CXX -v 2>&1 | sed -n 's/^Thread model: //p'` +- AC_MSG_RESULT([$target_thread_file]) ++ GCC_AC_THREAD_MODEL + GCC_AC_THREAD_HEADER([$target_thread_file]) + ]) + +@@ -4354,7 +4352,8 @@ dnl Check if gthread implementation defines the types and functions + dnl required by the c++0x thread library. Conforming gthread + dnl implementations can define __GTHREADS_CXX0X to enable use with c++0x. + dnl +-dnl GLIBCXX_ENABLE_SYMVERS must be done before this. ++dnl GLIBCXX_ENABLE_SYMVERS and GLIBCXX_ENABLE_THREADS must be done ++dnl before this. + dnl + AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [ + GLIBCXX_ENABLE(libstdcxx-threads,auto,,[enable C++11 threads support]) +@@ -4369,7 +4368,6 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [ + CXXFLAGS="$CXXFLAGS -fno-exceptions \ + -I${toplevel_srcdir}/libgcc -I${toplevel_builddir}/libgcc" + +- target_thread_file=`$CXX -v 2>&1 | sed -n 's/^Thread model: //p'` + case $target_thread_file in + posix) + CXXFLAGS="$CXXFLAGS -DSUPPORTS_WEAK -DGTHREAD_USE_WEAK -D_PTHREADS" +-- +2.44.1 + diff --git a/pkgs/development/compilers/gcc/ng/15/gcc/fix-collect2-paths.diff b/pkgs/development/compilers/gcc/ng/15/gcc/fix-collect2-paths.diff new file mode 100644 index 000000000000..1fac49766044 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/15/gcc/fix-collect2-paths.diff @@ -0,0 +1,315 @@ +diff --git a/gcc/collect2.cc b/gcc/collect2.cc +index 268ac378b9c..8a5c606075a 100644 +--- a/gcc/collect2.cc ++++ b/gcc/collect2.cc +@@ -327,7 +327,7 @@ static void write_aix_file (FILE *, struct id *); + static char *resolve_lib_name (const char *); + #endif + static char *extract_string (const char **); +-static void post_ld_pass (bool); ++static void post_ld_pass (bool, bool); + static void process_args (int *argcp, char **argv); + + /* Enumerations describing which pass this is for scanning the +@@ -513,12 +513,10 @@ is_ctor_dtor (const char *s) + + static struct path_prefix cpath, path; + +-#ifdef CROSS_DIRECTORY_STRUCTURE + /* This is the name of the target machine. We use it to form the name + of the files to execute. */ + + static const char *const target_machine = TARGET_MACHINE; +-#endif + + /* Search for NAME using prefix list PPREFIX. We only look for executable + files. +@@ -577,7 +575,7 @@ add_lto_object (struct lto_object_list *list, const char *name) + + static void + maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst, +- const char **object, bool force) ++ const char **object, bool force, bool is_cross_compiler) + { + const char **object_file = CONST_CAST2 (const char **, char **, object_lst); + +@@ -722,7 +720,7 @@ maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst, + "ld_args"); + /* We assume that temp files were created, and therefore we need to take + that into account (maybe run dsymutil). */ +- post_ld_pass (/*temp_file*/true); ++ post_ld_pass (/*temp_file*/true, is_cross_compiler); + free (lto_ld_argv); + + maybe_unlink_list (lto_o_files); +@@ -734,10 +732,10 @@ maybe_run_lto_and_relink (char **lto_ld_argv, char **object_lst, + fork_execute ("ld", lto_ld_argv, HAVE_GNU_LD && at_file_supplied, + "ld_args"); + /* No LTO objects were found, so no new temp file. */ +- post_ld_pass (/*temp_file*/false); ++ post_ld_pass (/*temp_file*/false, is_cross_compiler); + } + else +- post_ld_pass (false); /* No LTO objects were found, no temp file. */ ++ post_ld_pass (false, is_cross_compiler); /* No LTO objects were found, no temp file. */ + } + /* Entry point for linker invoation. Called from main in collect2.cc. + LD_ARGV is an array of arguments for the linker. */ +@@ -799,33 +797,14 @@ main (int argc, char **argv) + static const char *const gstrip_suffix = "gstrip"; + + const char *full_ld_suffixes[USE_LD_MAX]; +-#ifdef CROSS_DIRECTORY_STRUCTURE +- /* If we look for a program in the compiler directories, we just use +- the short name, since these directories are already system-specific. +- But it we look for a program in the system directories, we need to +- qualify the program name with the target machine. */ +- +- const char *const full_nm_suffix = +- concat (target_machine, "-", nm_suffix, NULL); +- const char *const full_gnm_suffix = +- concat (target_machine, "-", gnm_suffix, NULL); +-#ifdef LDD_SUFFIX +- const char *const full_ldd_suffix = +- concat (target_machine, "-", ldd_suffix, NULL); +-#endif +- const char *const full_strip_suffix = +- concat (target_machine, "-", strip_suffix, NULL); +- const char *const full_gstrip_suffix = +- concat (target_machine, "-", gstrip_suffix, NULL); +-#else ++ const char *full_nm_suffix; ++ const char *full_gnm_suffix; ++ const char *full_strip_suffix; ++ const char *full_gstrip_suffix; ++ + #ifdef LDD_SUFFIX +- const char *const full_ldd_suffix = ldd_suffix; ++ const char *full_ldd_suffix; + #endif +- const char *const full_nm_suffix = nm_suffix; +- const char *const full_gnm_suffix = gnm_suffix; +- const char *const full_strip_suffix = strip_suffix; +- const char *const full_gstrip_suffix = gstrip_suffix; +-#endif /* CROSS_DIRECTORY_STRUCTURE */ + + const char *arg; + FILE *outf; +@@ -840,6 +819,7 @@ main (int argc, char **argv) + const char **ld1; + bool use_plugin = false; + bool use_collect_ld = false; ++ bool is_cross_compiler = false; + + /* The kinds of symbols we will have to consider when scanning the + outcome of a first pass link. This is ALL to start with, then might +@@ -864,17 +844,6 @@ main (int argc, char **argv) + #endif + int i; + +- for (i = 0; i < USE_LD_MAX; i++) +-#ifdef CROSS_DIRECTORY_STRUCTURE +- /* lld and mold are platform-agnostic and not prefixed with target +- triple. */ +- if (!(i == USE_LLD_LD || i == USE_MOLD_LD)) +- full_ld_suffixes[i] = concat (target_machine, "-", ld_suffixes[i], +- NULL); +- else +-#endif +- full_ld_suffixes[i] = ld_suffixes[i]; +- + p = argv[0] + strlen (argv[0]); + while (p != argv[0] && !IS_DIR_SEPARATOR (p[-1])) + --p; +@@ -1050,6 +1019,65 @@ main (int argc, char **argv) + prefix_from_env ("COMPILER_PATH", &cpath); + prefix_from_env ("PATH", &path); + ++ /* Determine the full path name of the C compiler to use. */ ++ c_file_name = getenv ("COLLECT_GCC"); ++ if (c_file_name == 0) ++ { ++ c_file_name = concat (target_machine, "-gcc", NULL); ++ p = find_a_file (&cpath, c_file_name, X_OK); ++ if (p == 0) ++ p = find_a_file (&path, c_file_name, X_OK); ++ ++ if (p == 0) { ++ c_file_name = "gcc"; ++ p = find_a_file (&cpath, c_file_name, X_OK); ++ if (p == 0) ++ p = find_a_file (&path, c_file_name, X_OK); ++ } ++ } ++ else ++ { ++ p = find_a_file (&cpath, c_file_name, X_OK); ++ ++ /* Here it should be safe to use the system search path since we should have ++ already qualified the name of the compiler when it is needed. */ ++ if (p == 0) ++ p = find_a_file (&path, c_file_name, X_OK); ++ } ++ ++ if (p) ++ c_file_name = p; ++ ++ if (c_file_name) { ++ is_cross_compiler = strncmp(basename(c_file_name), target_machine, strlen(target_machine)) == 0; ++ } ++ ++ for (i = 0; i < USE_LD_MAX; i++) ++ /* lld and mold are platform-agnostic and not prefixed with target ++ triple. */ ++ if (!(i == USE_LLD_LD || i == USE_MOLD_LD) && is_cross_compiler) ++ full_ld_suffixes[i] = concat (target_machine, "-", ld_suffixes[i], ++ NULL); ++ else ++ full_ld_suffixes[i] = ld_suffixes[i]; ++ ++ full_nm_suffix = ++ is_cross_compiler ? concat (target_machine, "-", nm_suffix, NULL) : nm_suffix; ++ ++ full_gnm_suffix = ++ is_cross_compiler ? concat (target_machine, "-", gnm_suffix, NULL) : gnm_suffix; ++ ++ full_strip_suffix = ++ is_cross_compiler ? concat (target_machine, "-", strip_suffix, NULL) : strip_suffix; ++ ++ full_gstrip_suffix = ++ is_cross_compiler ? concat (target_machine, "-", gstrip_suffix, NULL) : gstrip_suffix; ++ ++#ifdef LDD_SUFFIX ++ full_ldd_suffix = ++ is_cross_compiler ? concat (target_machine, "-", ldd_suffix, NULL) : ldd_suffix; ++#endif ++ + /* Try to discover a valid linker/nm/strip to use. */ + + /* Maybe we know the right file to use (if not cross). */ +@@ -1139,27 +1167,6 @@ main (int argc, char **argv) + if (strip_file_name == 0) + strip_file_name = find_a_file (&path, full_strip_suffix, X_OK); + +- /* Determine the full path name of the C compiler to use. */ +- c_file_name = getenv ("COLLECT_GCC"); +- if (c_file_name == 0) +- { +-#ifdef CROSS_DIRECTORY_STRUCTURE +- c_file_name = concat (target_machine, "-gcc", NULL); +-#else +- c_file_name = "gcc"; +-#endif +- } +- +- p = find_a_file (&cpath, c_file_name, X_OK); +- +- /* Here it should be safe to use the system search path since we should have +- already qualified the name of the compiler when it is needed. */ +- if (p == 0) +- p = find_a_file (&path, c_file_name, X_OK); +- +- if (p) +- c_file_name = p; +- + *ld1++ = *ld2++ = ld_file_name; + + /* Make temp file names. */ +@@ -1595,6 +1602,8 @@ main (int argc, char **argv) + (c_file ? c_file : "not found")); + fprintf (stderr, "o_file = %s\n", + (o_file ? o_file : "not found")); ++ fprintf (stderr, "is_cross_compiler = %s\n", ++ (is_cross_compiler ? "yes" : "no")); + + ptr = getenv ("COLLECT_GCC_OPTIONS"); + if (ptr) +@@ -1644,9 +1653,9 @@ main (int argc, char **argv) + maybe_unlink (export_file); + #endif + if (lto_mode != LTO_MODE_NONE) +- maybe_run_lto_and_relink (ld1_argv, object_lst, object, false); ++ maybe_run_lto_and_relink (ld1_argv, object_lst, object, false, is_cross_compiler); + else +- post_ld_pass (/*temp_file*/false); ++ post_ld_pass (/*temp_file*/false, is_cross_compiler); + + return 0; + } +@@ -1698,7 +1707,7 @@ main (int argc, char **argv) + do_link (ld1_argv, "ld1_args"); + + if (lto_mode) +- maybe_run_lto_and_relink (ld1_argv, object_lst, object, false); ++ maybe_run_lto_and_relink (ld1_argv, object_lst, object, false, is_cross_compiler); + + /* Strip now if it was requested on the command line. */ + if (strip_flag) +@@ -1716,7 +1725,7 @@ main (int argc, char **argv) + #ifdef COLLECT_EXPORT_LIST + maybe_unlink (export_file); + #endif +- post_ld_pass (/*temp_file*/false); ++ post_ld_pass (/*temp_file*/false, is_cross_compiler); + return 0; + } + +@@ -1799,15 +1808,15 @@ main (int argc, char **argv) + do_link (ld2_argv, "ld2_args"); + + if (lto_mode) +- maybe_run_lto_and_relink (ld2_argv, object_lst, object, false); ++ maybe_run_lto_and_relink (ld2_argv, object_lst, object, false, is_cross_compiler); + #else + /* Otherwise, simply call ld because link is already done. */ + if (lto_mode) +- maybe_run_lto_and_relink (ld2_argv, object_lst, object, true); ++ maybe_run_lto_and_relink (ld2_argv, object_lst, object, true, is_cross_compiler); + else + { + fork_execute ("ld", ld2_argv, HAVE_GNU_LD && at_file_supplied, "ld_args"); +- post_ld_pass (/*temp_file*/false); ++ post_ld_pass (/*temp_file*/false, is_cross_compiler); + } + + /* Let scan_prog_file do any final mods (OSF/rose needs this for +@@ -3020,7 +3029,7 @@ process_args (int *argcp, char **argv) { + } + + static void +-do_dsymutil (const char *output_file) { ++do_dsymutil (const char *output_file, bool is_cross_compiler) { + const char *dsymutil = 0; + struct pex_obj *pex; + char **real_argv = XCNEWVEC (char *, verbose ? 4 : 3); +@@ -3032,11 +3041,7 @@ do_dsymutil (const char *output_file) { + here is consistent with the way other installations work (and one can + always symlink a multitarget dsymutil with a target-specific name). */ + const char *dsname = "dsymutil"; +-#ifdef CROSS_DIRECTORY_STRUCTURE +- const char *qname = concat (target_machine, "-", dsname, NULL); +-#else +- const char *qname = dsname; +-#endif ++ const char *qname = is_cross_compiler ? concat (target_machine, "-", dsname, NULL) : dsname; + #ifdef DEFAULT_DSYMUTIL + /* Configured default takes priority. */ + if (dsymutil == 0 && access (DEFAULT_DSYMUTIL, X_OK) == 0) +@@ -3071,14 +3076,14 @@ do_dsymutil (const char *output_file) { + } + + static void +-post_ld_pass (bool temp_file) { ++post_ld_pass (bool temp_file, bool is_cross_compiler) { + if (!(temp_file && flag_idsym) && !flag_dsym) + return; + +- do_dsymutil (output_file); ++ do_dsymutil (output_file, is_cross_compiler); + } + #else + static void + process_args (int *argcp ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { } +-static void post_ld_pass (bool temp_file ATTRIBUTE_UNUSED) { } ++static void post_ld_pass (bool temp_file ATTRIBUTE_UNUSED, bool is_cross_compiler ATTRIBUTE_UNUSED) { } + #endif diff --git a/pkgs/development/compilers/gcc/ng/README.md b/pkgs/development/compilers/gcc/ng/README.md new file mode 100644 index 000000000000..b40070caebc6 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/README.md @@ -0,0 +1,3 @@ +# GCC Next-Generation + +Experimental split GCC package set based on the LLVM package set design. diff --git a/pkgs/development/compilers/gcc/ng/common/common-let.nix b/pkgs/development/compilers/gcc/ng/common/common-let.nix new file mode 100644 index 000000000000..95f14abd7679 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/common-let.nix @@ -0,0 +1,47 @@ +{ + lib, + fetchurl ? null, + fetchgit ? null, + release_version ? null, + gitRelease ? null, + officialRelease ? null, + monorepoSrc' ? null, + version ? null, +}@args: + +rec { + gcc_meta = { + license = with lib.licenses; [ gpl3Plus ]; + teams = [ lib.teams.gcc ]; + }; + + releaseInfo = + if gitRelease != null then + rec { + original = gitRelease; + release_version = args.version or original.version; + version = gitRelease.rev-version; + } + else + rec { + original = officialRelease; + release_version = args.version or original.version; + version = + if original ? candidate then "${release_version}-${original.candidate}" else release_version; + }; + + monorepoSrc = + if monorepoSrc' != null then + monorepoSrc' + else if gitRelease != null then + fetchgit { + url = "https://gcc.gnu.org/git/gcc.git"; + inherit (gitRelease) rev; + hash = releaseInfo.original.sha256; + } + else + fetchurl { + url = "mirror://gcc/releases/gcc-${releaseInfo.version}/gcc-${releaseInfo.version}.tar.xz"; + hash = releaseInfo.original.sha256; + }; +} diff --git a/pkgs/development/compilers/gcc/ng/common/default.nix b/pkgs/development/compilers/gcc/ng/common/default.nix new file mode 100644 index 000000000000..1b83e75015f9 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/default.nix @@ -0,0 +1,221 @@ +{ + lib, + newScope, + stdenv, + overrideCC, + fetchgit, + fetchurl, + gitRelease ? null, + officialRelease ? null, + monorepoSrc ? null, + version ? null, + patchesFn ? lib.id, + wrapCCWith, + binutilsNoLibc, + binutils, + buildGccPackages, + targetGccPackages, + makeScopeWithSplicing', + otherSplices, + ... +}@args: + +assert lib.assertMsg (lib.xor (gitRelease != null) (officialRelease != null)) ( + "must specify `gitRelease` or `officialRelease`" + + (lib.optionalString (gitRelease != null) " — not both") +); + +let + monorepoSrc' = monorepoSrc; + + metadata = rec { + inherit + (import ./common-let.nix { + inherit (args) + lib + gitRelease + officialRelease + version + ; + }) + releaseInfo + ; + inherit (releaseInfo) release_version version; + inherit + (import ./common-let.nix { + inherit + lib + fetchgit + fetchurl + release_version + gitRelease + officialRelease + monorepoSrc' + version + ; + }) + gcc_meta + monorepoSrc + ; + src = monorepoSrc; + versionDir = + (builtins.toString ../.) + + "/${if (gitRelease != null) then "git" else lib.versions.major release_version}"; + getVersionFile = + p: + builtins.path { + name = builtins.baseNameOf p; + path = + let + patches = args.patchesFn (import ./patches.nix); + + constraints = patches."${p}" or null; + matchConstraint = + { + before ? null, + after ? null, + path, + }: + let + check = fn: value: if value == null then true else fn release_version value; + matchBefore = check lib.versionOlder before; + matchAfter = check lib.versionAtLeast after; + in + matchBefore && matchAfter; + + patchDir = + toString + ( + if constraints == null then + { path = metadata.versionDir; } + else + (lib.findFirst matchConstraint { path = metadata.versionDir; } constraints) + ).path; + in + "${patchDir}/${p}"; + }; + }; +in +makeScopeWithSplicing' { + inherit otherSplices; + f = + gccPackages: + let + callPackage = gccPackages.newScope (args // metadata); + in + { + stdenv = overrideCC stdenv gccPackages.gcc; + + gcc-unwrapped = callPackage ./gcc { + bintools = binutils; + }; + + libbacktrace = callPackage ./libbacktrace { }; + libiberty = callPackage ./libiberty { }; + libsanitizer = callPackage ./libsanitizer { }; + libquadmath = callPackage ./libquadmath { }; + + gfortran-unwrapped = gccPackages.gcc-unwrapped.override { + stdenv = overrideCC stdenv buildGccPackages.gcc; + langFortran = true; + }; + + gfortran = wrapCCWith rec { + cc = gccPackages.gfortran-unwrapped; + libcxx = targetGccPackages.libstdcxx; + bintools = binutils; + extraPackages = [ + targetGccPackages.libgcc + ]; + nixSupport.cc-cflags = [ + "-B${targetGccPackages.libgcc}/lib" + "-B${targetGccPackages.libssp}/lib" + "-B${targetGccPackages.libatomic}/lib" + ]; + }; + + gcc = wrapCCWith rec { + cc = gccPackages.gcc-unwrapped; + libcxx = targetGccPackages.libstdcxx; + bintools = binutils; + extraPackages = [ + targetGccPackages.libgcc + ]; + nixSupport.cc-cflags = [ + "-B${targetGccPackages.libgcc}/lib" + "-B${targetGccPackages.libssp}/lib" + "-B${targetGccPackages.libatomic}/lib" + ]; + }; + + gccNoLibgcc = wrapCCWith rec { + cc = gccPackages.gcc-unwrapped; + libcxx = null; + bintools = binutilsNoLibc; + extraPackages = [ ]; + nixSupport.cc-cflags = [ + "-nostartfiles" + ]; + }; + + libgcc = callPackage ./libgcc { + stdenv = overrideCC stdenv buildGccPackages.gccNoLibgcc; + }; + + gccWithLibc = wrapCCWith rec { + cc = gccPackages.gcc-unwrapped; + libcxx = null; + bintools = binutils; + extraPackages = [ + targetGccPackages.libgcc + ]; + nixSupport.cc-cflags = [ + "-B${targetGccPackages.libgcc}/lib" + ]; + }; + + libssp = callPackage ./libssp { + stdenv = overrideCC stdenv buildGccPackages.gccWithLibc; + }; + + gccWithLibssp = wrapCCWith rec { + cc = gccPackages.gcc-unwrapped; + libcxx = null; + bintools = binutils; + extraPackages = [ + targetGccPackages.libgcc + ]; + nixSupport.cc-cflags = [ + "-B${targetGccPackages.libgcc}/lib" + "-B${targetGccPackages.libssp}/lib" + ]; + }; + + libatomic = callPackage ./libatomic { + stdenv = overrideCC stdenv buildGccPackages.gccWithLibssp; + }; + + gccWithLibatomic = wrapCCWith rec { + cc = gccPackages.gcc-unwrapped; + libcxx = null; + bintools = binutils; + extraPackages = [ + targetGccPackages.libgcc + ]; + nixSupport.cc-cflags = [ + "-B${targetGccPackages.libgcc}/lib" + "-B${targetGccPackages.libssp}/lib" + "-B${targetGccPackages.libatomic}/lib" + ]; + }; + + libgfortran = callPackage ./libgfortran { + stdenv = overrideCC stdenv buildGccPackages.gcc; + inherit (buildGccPackages) gfortran; + }; + + libstdcxx = callPackage ./libstdcxx { + stdenv = overrideCC stdenv buildGccPackages.gccWithLibatomic; + }; + }; +} diff --git a/pkgs/development/compilers/gcc/ng/common/gcc/default.nix b/pkgs/development/compilers/gcc/ng/common/gcc/default.nix new file mode 100644 index 000000000000..1be2f007df5d --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/gcc/default.nix @@ -0,0 +1,249 @@ +{ + lib, + stdenv, + gcc_meta, + release_version, + version, + monorepoSrc ? null, + langAda ? false, + langC ? true, + langCC ? true, + langD ? false, + langFortran ? false, + langGo ? false, + langJava ? false, + langObjC ? stdenv.targetPlatform.isDarwin, + langObjCpp ? stdenv.targetPlatform.isDarwin, + langJit ? false, + enablePlugin ? lib.systems.equals stdenv.hostPlatform stdenv.buildPlatform, + runCommand, + buildPackages, + isl, + zlib, + gmp, + libmpc, + mpfr, + libelf, + perl, + texinfo, + which, + gettext, + getVersionFile, + buildGccPackages, + targetPackages, + libc, + bintools, +}: +let + inherit (stdenv) targetPlatform hostPlatform; + targetPrefix = lib.optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-"; +in +stdenv.mkDerivation (finalAttrs: { + pname = "${targetPrefix}${if langFortran then "gfortran" else "gcc"}"; + inherit version; + + src = monorepoSrc; + + outputs = [ + "out" + "man" + "info" + ]; + + patches = [ + # Submitted: + # - https://gcc.gnu.org/pipermail/gcc-patches/2021-August/577639.html + # - https://gcc.gnu.org/pipermail/gcc-patches/2021-August/577640.html + # - https://gcc.gnu.org/pipermail/gcc-patches/2021-August/577638.html + # + # In Git: https://github.com/Ericson2314/gcc/tree/prog-target-15 + (getVersionFile "gcc/0001-find_a_program-First-search-with-machine-prefix.patch") + (getVersionFile "gcc/0002-driver-for_each_pass-Pass-to-callback-whether-dir-is.patch") + (getVersionFile "gcc/0003-find_a_program-Only-search-for-prefixed-paths-in-und.patch") + + # Submitted: https://inbox.sourceware.org/gcc-patches/20210818203840.1550133-1-John.Ericson@Obsidian.Systems/T/#t + # In Git: https://github.com/Ericson2314/gcc/tree/libgcc-custom-threading-model-15 + (getVersionFile "gcc/custom-threading-model.patch") + + # TODO: fix up and send to upstream + (getVersionFile "gcc/fix-collect2-paths.diff") + ]; + + enableParallelBuilding = true; + + hardeningDisable = [ + "format" # Some macro-indirect formatting in e.g. libcpp + ]; + + strictDeps = true; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ + texinfo + which + gettext + ] ++ lib.optional (perl != null) perl; + + buildInputs = + [ + gmp + libmpc + mpfr + libelf + ] + ++ lib.optional (isl != null) isl + ++ lib.optional (zlib != null) zlib; + + postUnpack = '' + mkdir -p ./build + buildRoot=$(readlink -e "./build") + ''; + + postPatch = + '' + configureScripts=$(find . -name configure) + for configureScript in $configureScripts; do + patchShebangs $configureScript + done + + patchShebangs libbacktrace/install-debuginfo-for-buildid.sh + patchShebangs runtest + '' + # This should kill all the stdinc frameworks that gcc and friends like to + # insert into default search paths. + + lib.optionalString hostPlatform.isDarwin '' + substituteInPlace gcc/config/darwin-c.c \ + --replace 'if (stdinc)' 'if (0)' + ''; + + preConfigure = + # Don't built target libraries, because we want to build separately + '' + substituteInPlace configure \ + --replace 'noconfigdirs=""' 'noconfigdirs="$noconfigdirs $target_libraries"' + '' + # HACK: if host and target config are the same, but the platforms are + # actually different we need to convince the configure script that it + # is in fact building a cross compiler although it doesn't believe it. + + + lib.optionalString (targetPlatform.config == hostPlatform.config && targetPlatform != hostPlatform) + '' + substituteInPlace configure --replace is_cross_compiler=no is_cross_compiler=yes + '' + # Cannot configure from src dir + + '' + cd "$buildRoot" + + mkdir -p "$buildRoot/libbacktrace/.libs" + cp ${buildGccPackages.libbacktrace}/lib/libbacktrace.a "$buildRoot/libbacktrace/.libs/libbacktrace.a" + cp -r ${buildGccPackages.libbacktrace}/lib/*.la "$buildRoot/libbacktrace" + cp -r ${buildGccPackages.libbacktrace.dev}/include/*.h "$buildRoot/libbacktrace" + + mkdir -p "$buildRoot/libiberty/pic" + cp ${buildGccPackages.libiberty}/lib/libiberty.a "$buildRoot/libiberty" + cp ${buildGccPackages.libiberty}/lib/libiberty_pic.a "$buildRoot/libiberty/pic/libiberty.a" + touch "$buildRoot/libiberty/stamp-noasandir" + touch "$buildRoot/libiberty/stamp-h" + touch "$buildRoot/libiberty/stamp-picdir" + + mkdir -p "$buildRoot/build-${stdenv.hostPlatform.config}" + cp -r "$buildRoot/libiberty" "$buildRoot/build-${stdenv.hostPlatform.config}/libiberty" + + configureScript=../$sourceRoot/configure + ''; + + # Don't store the configure flags in the resulting executables. + postConfigure = '' + sed -e '/TOPLEVEL_CONFIGURE_ARGUMENTS=/d' -i Makefile + ''; + + dontDisableStatic = true; + + configurePlatforms = [ + "build" + "host" + "target" + ]; + + configureFlags = + [ + # Force target prefix. The behavior if `--target` and `--host` are + # specified is inconsistent: Sometimes specifying `--target` always causes + # a prefix to be generated, sometimes it's only added if the `--host` and + # `--target` differ. This means that sometimes there may be a prefix even + # though nixpkgs doesn't expect one and sometimes there may be none even + # though nixpkgs expects one (since not all information is serialized into + # the config attribute). The easiest way out of these problems is to always + # set the program prefix, so gcc will conform to our expectations. + "--program-prefix=${targetPrefix}" + + "--disable-dependency-tracking" + "--enable-fast-install" + "--disable-serial-configure" + "--disable-bootstrap" + "--disable-decimal-float" + "--disable-install-libiberty" + "--disable-multilib" + "--disable-nls" + "--disable-shared" + "--enable-languages=${ + lib.concatStrings ( + lib.intersperse "," ( + lib.optional langC "c" + ++ lib.optional langCC "c++" + ++ lib.optional langD "d" + ++ lib.optional langFortran "fortran" + ++ lib.optional langJava "java" + ++ lib.optional langAda "ada" + ++ lib.optional langGo "go" + ++ lib.optional langObjC "objc" + ++ lib.optional langObjCpp "obj-c++" + ++ lib.optional langJit "jit" + ) + ) + }" + (lib.withFeature (isl != null) "isl") + "--without-headers" + "--with-gnu-as" + "--with-gnu-ld" + "--with-as=${lib.getExe' bintools "${bintools.targetPrefix}as"}" + "--with-system-zlib" + "--without-included-gettext" + "--enable-linker-build-id" + "--with-sysroot=${lib.getDev (targetPackages.libc or libc)}" + "--with-native-system-header-dir=/include" + ] + ++ lib.optionals enablePlugin [ + "--enable-plugin" + "--enable-plugins" + ] + ++ + # Only pass when the arch supports it. + # Exclude RISC-V because GCC likes to fail when the string is empty on RISC-V. + lib.optionals (targetPlatform.isAarch || targetPlatform.isAvr || targetPlatform.isx86_64) [ + "--with-multilib-list=" + ]; + + doCheck = false; + + postInstall = '' + moveToOutput "lib/gcc/${targetPlatform.config}/${version}/plugin/include" "''${!outputDev}" + ''; + + passthru = { + inherit + langC + langCC + langObjC + langObjCpp + langAda + langFortran + langGo + ; + isGNU = true; + }; + + meta = gcc_meta // { + homepage = "https://gcc.gnu.org/"; + }; +}) diff --git a/pkgs/development/compilers/gcc/ng/common/libatomic/default.nix b/pkgs/development/compilers/gcc/ng/common/libatomic/default.nix new file mode 100644 index 000000000000..ab5632313b76 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/libatomic/default.nix @@ -0,0 +1,48 @@ +{ + lib, + stdenv, + gcc_meta, + release_version, + version, + getVersionFile, + autoreconfHook269, + monorepoSrc ? null, + runCommand, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libatomic"; + inherit version; + + src = monorepoSrc; + + patches = [ + (getVersionFile "gcc/custom-threading-model.patch") + ]; + + enableParallelBuilding = true; + + nativeBuildInputs = [ + autoreconfHook269 + ]; + + postPatch = '' + sourceRoot=$(readlink -e "./libatomic") + ''; + + preConfigure = '' + mkdir ../build + cd ../build + configureScript=$sourceRoot/configure + chmod +x "$configureScript" + ''; + + doCheck = true; + + passthru = { + isGNU = true; + }; + + meta = gcc_meta // { + homepage = "https://gcc.gnu.org/"; + }; +}) diff --git a/pkgs/development/compilers/gcc/ng/common/libbacktrace/default.nix b/pkgs/development/compilers/gcc/ng/common/libbacktrace/default.nix new file mode 100644 index 000000000000..33b817420035 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/libbacktrace/default.nix @@ -0,0 +1,74 @@ +{ + lib, + stdenv, + gcc_meta, + release_version, + version, + monorepoSrc ? null, + runCommand, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libbacktrace"; + inherit version; + + src = runCommand "libbacktrace-src-${version}" { src = monorepoSrc; } '' + runPhase unpackPhase + + mkdir -p "$out/gcc" + cp gcc/BASE-VER "$out/gcc" + cp gcc/DATESTAMP "$out/gcc" + + cp -r include "$out" + cp -r libbacktrace "$out" + + cp config.guess "$out" + cp config.rpath "$out" + cp config.sub "$out" + cp config-ml.in "$out" + cp ltmain.sh "$out" + cp install-sh "$out" + cp move-if-change "$out" + cp mkinstalldirs "$out" + cp test-driver "$out" + + [[ -f MD5SUMS ]]; cp MD5SUMS "$out" + ''; + + outputs = [ + "out" + "dev" + ]; + + enableParallelBuilding = true; + + sourceRoot = "${finalAttrs.src.name}/libbacktrace"; + + preConfigure = '' + mkdir ../../build + cd ../../build + configureScript=../$sourceRoot/configure + ''; + + installPhase = '' + runHook preInstall + + mkdir -p "$out/lib" + cp .libs/*.a "$out/lib" + cp libbacktrace*.la "$out/lib" + + mkdir -p "$dev/include" + cp backtrace-supported.h "$dev/include" + + runHook postInstall + ''; + + doCheck = true; + + passthru = { + isGNU = true; + }; + + meta = gcc_meta // { + homepage = "https://gcc.gnu.org/"; + }; +}) diff --git a/pkgs/development/compilers/gcc/ng/common/libgcc/default.nix b/pkgs/development/compilers/gcc/ng/common/libgcc/default.nix new file mode 100644 index 000000000000..375ebc747a2f --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/libgcc/default.nix @@ -0,0 +1,205 @@ +{ + lib, + stdenv, + gcc_meta, + release_version, + version, + getVersionFile, + monorepoSrc ? null, + autoreconfHook269, + buildGccPackages, + buildPackages, + which, + python3, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libgcc"; + inherit version; + + src = monorepoSrc; + + outputs = [ + "out" + "dev" + ]; + + strictDeps = true; + + depsBuildBuild = [ + buildPackages.stdenv.cc + buildGccPackages.libiberty + ]; + + nativeBuildInputs = [ + autoreconfHook269 + which + python3 + ]; + + patches = [ + (getVersionFile "gcc/custom-threading-model.patch") + ]; + + autoreconfFlags = "--install --force --verbose . libgcc"; + + postUnpack = '' + mkdir -p ./build + buildRoot=$(readlink -e "./build") + ''; + + postPatch = '' + sourceRoot=$(readlink -e "./libgcc") + ''; + + enableParallelBuilding = true; + + preConfigure = + '' + cd "$buildRoot" + + mkdir -p build-${stdenv.buildPlatform.config}/libiberty/ + cd build-${stdenv.buildPlatform.config}/libiberty/ + ln -s ${buildGccPackages.libiberty}/lib/libiberty.a ./ + + mkdir -p "$buildRoot/gcc" + cd "$buildRoot/gcc" + + ( + export AS_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$(basename $AS_FOR_BUILD)"} + export CC_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$(basename $CC_FOR_BUILD)"} + export CPP_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$(basename $CPP_FOR_BUILD)"} + export CXX_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$(basename $CXX_FOR_BUILD)"} + export LD_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc.bintools "$(basename $LD_FOR_BUILD)"} + + export AS=$AS_FOR_BUILD + export CC=$CC_FOR_BUILD + export CPP=$CPP_FOR_BUILD + export CXX=$CXX_FOR_BUILD + export LD=$LD_FOR_BUILD + + export AS_FOR_TARGET=${lib.getExe' stdenv.cc "$(basename $AS)"} + export CC_FOR_TARGET=${lib.getExe' stdenv.cc "$(basename $CC)"} + export CPP_FOR_TARGET=${lib.getExe' stdenv.cc "$(basename $CPP)"} + export LD_FOR_TARGET=${lib.getExe' stdenv.cc.bintools "$(basename $LD)"} + + export NIX_CFLAGS_COMPILE_FOR_BUILD+=' -DGENERATOR_FILE=1' + + "$sourceRoot/../gcc/configure" $topLevelConfigureFlags + + sed -e 's,libgcc.mvars:.*$,libgcc.mvars:,' -i Makefile + + make \ + config.h \ + libgcc.mvars \ + tconfig.h \ + tm.h \ + options.h \ + insn-constants.h \ + insn-modes.h \ + version.h + ) + mkdir -p "$buildRoot/gcc/include" + + mkdir -p "$buildRoot/gcc/${stdenv.hostPlatform.config}/libgcc" + cd "$buildRoot/gcc/${stdenv.hostPlatform.config}/libgcc" + configureScript=$sourceRoot/configure + chmod +x "$configureScript" + + export AS_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$(basename $AS_FOR_BUILD)"} + export CC_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$(basename $CC_FOR_BUILD)"} + export CPP_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$(basename $CPP_FOR_BUILD)"} + export CXX_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$(basename $CXX_FOR_BUILD)"} + export LD_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc.bintools "$(basename $LD_FOR_BUILD)"} + + export AS=${lib.getExe' stdenv.cc "$(basename $AS)"} + export CC=${lib.getExe' stdenv.cc "$(basename $CC)"} + export CPP=${lib.getExe' stdenv.cc "$(basename $CPP)"} + export CXX=${lib.getExe' stdenv.cc "$(basename $CXX)"} + export LD=${lib.getExe' stdenv.cc.bintools "$(basename $LD)"} + + export AS_FOR_TARGET=${lib.getExe' stdenv.cc "$(basename $AS_FOR_TARGET)"} + export CC_FOR_TARGET=${lib.getExe' stdenv.cc "$(basename $CC_FOR_TARGET)"} + export CPP_FOR_TARGET=${lib.getExe' stdenv.cc "$(basename $CPP_FOR_TARGET)"} + export LD_FOR_TARGET=${lib.getExe' stdenv.cc.bintools "$(basename $LD_FOR_TARGET)"} + '' + + lib.optionalString stdenv.hostPlatform.isMusl '' + NIX_CFLAGS_COMPILE_OLD=$NIX_CFLAGS_COMPILE + NIX_CFLAGS_COMPILE+=' -isystem ${stdenv.cc.cc}/lib/gcc/${stdenv.hostPlatform.config}/${version}/include-fixed' + ''; + + topLevelConfigureFlags = + [ + "--build=${stdenv.buildPlatform.config}" + "--host=${stdenv.buildPlatform.config}" + "--target=${stdenv.hostPlatform.config}" + + "--disable-bootstrap" + "--disable-multilib" + "--enable-languages=c" + + "--disable-fixincludes" + "--disable-intl" + "--disable-lto" + "--disable-libatomic" + "--disable-libbacktrace" + "--disable-libcpp" + "--disable-libssp" + "--disable-libquadmath" + "--disable-libgomp" + "--disable-libvtv" + "--disable-vtable-verify" + + "--with-system-zlib" + ] + ++ + lib.optional (!stdenv.hostPlatform.isRiscV) + # RISC-V does not like it being empty + "--with-multilib-list=" + ++ + lib.optional (stdenv.hostPlatform.libc == "glibc") + # Cheat and use previous stage's glibc to avoid infinite recursion. As + # of GCC 11, libgcc only cares if the version is greater than 2.19, + # which is quite ancient, so this little lie should be fine. + "--with-glibc-version=${buildPackages.glibc.version}"; + + configurePlatforms = [ + "build" + "host" + ]; + + configureFlags = [ + "--disable-dependency-tracking" + "--with-threads=single" + # $CC cannot link binaries, let alone run then + "cross_compiling=true" + # Do not have dynamic linker without libc + "--enable-static" + "--disable-shared" + ]; + + # Set the variable back the way it was, see corresponding code in + # `preConfigure`. + postConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' + NIX_CFLAGS_COMPILE=$NIX_CFLAGS_COMPILE_OLD + ''; + + makeFlags = [ "MULTIBUILDTOP:=../" ]; + + postInstall = '' + cp gthr-default.h "$out/lib/gcc/${stdenv.hostPlatform.config}/${version}/include" + moveToOutput "lib/gcc/${stdenv.hostPlatform.config}/${version}/include" "$dev" + mkdir -p "$out/lib" "$dev/include" + ln -s "$out/lib/gcc/${stdenv.hostPlatform.config}/${version}"/* "$out/lib" + ln -s "$dev/lib/gcc/${stdenv.hostPlatform.config}/${version}/include"/* "$dev/include/" + ''; + + doCheck = true; + + passthru = { + isGNU = true; + }; + + meta = gcc_meta // { + homepage = "https://gcc.gnu.org/"; + }; +}) diff --git a/pkgs/development/compilers/gcc/ng/common/libgfortran/default.nix b/pkgs/development/compilers/gcc/ng/common/libgfortran/default.nix new file mode 100644 index 000000000000..4c328fe11632 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/libgfortran/default.nix @@ -0,0 +1,190 @@ +{ + lib, + stdenv, + gfortran, + gcc_meta, + release_version, + version, + monorepoSrc ? null, + buildPackages, + autoreconfHook269, + libiberty, + libgcc, + libbacktrace, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libgfortran"; + inherit version; + + src = monorepoSrc; + + outputs = [ + "out" + "dev" + ]; + + strictDeps = true; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ + autoreconfHook269 + libiberty + gfortran + ]; + + autoreconfFlags = "--install --force --verbose . libgfortran"; + + postUnpack = '' + mkdir -p ./build + buildRoot=$(readlink -e "./build") + ''; + + postPatch = '' + sourceRoot=$(readlink -e "./libgfortran") + ''; + + enableParallelBuilding = true; + + preConfigure = + '' + cd "$buildRoot" + + mkdir -p build-${stdenv.buildPlatform.config}/libiberty/ + cd build-${stdenv.buildPlatform.config}/libiberty/ + ln -s ${libiberty}/lib/libiberty.a ./ + + mkdir -p "$buildRoot/gcc" + cd "$buildRoot/gcc" + + ( + export AS_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$AS_FOR_BUILD"} + export CC_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$CC_FOR_BUILD"} + export CPP_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$CPP_FOR_BUILD"} + export CXX_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$CXX_FOR_BUILD"} + export LD_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc.bintools "$LD_FOR_BUILD"} + + export AS=$AS_FOR_BUILD + export CC=$CC_FOR_BUILD + export CPP=$CPP_FOR_BUILD + export CXX=$CXX_FOR_BUILD + export LD=$LD_FOR_BUILD + + export AS_FOR_TARGET=${lib.getExe' stdenv.cc "$AS"} + export CC_FOR_TARGET=${lib.getExe' stdenv.cc "$CC"} + export CPP_FOR_TARGET=${lib.getExe' stdenv.cc "$CPP"} + export LD_FOR_TARGET=${lib.getExe' stdenv.cc.bintools "$LD"} + + export NIX_CFLAGS_COMPILE_FOR_BUILD+=' -DGENERATOR_FILE=1' + + "$sourceRoot/../gcc/configure" $topLevelConfigureFlags + + make \ + config.h + ) + mkdir -p "$buildRoot/gcc/include" + + mkdir -p "$buildRoot/gcc/libbacktrace/.libs" + cp ${libbacktrace}/lib/libbacktrace.a "$buildRoot/gcc/libbacktrace/.libs/libbacktrace.a" + cp -r ${libbacktrace}/lib/*.la "$buildRoot/gcc/libbacktrace" + cp -r ${libbacktrace.dev}/include/*.h "$buildRoot/gcc/libbacktrace" + + mkdir -p "$buildRoot/gcc/libgcc" + ln -s "${libgcc.dev}/include/gthr-default.h" "$buildRoot/gcc/libgcc" + + mkdir -p "$buildRoot/gcc/${stdenv.hostPlatform.config}/libgfortran" + ln -s "$buildRoot/gcc/libbacktrace" "$buildRoot/gcc/${stdenv.buildPlatform.config}/libbacktrace" + ln -s "$buildRoot/gcc/libgcc" "$buildRoot/gcc/${stdenv.buildPlatform.config}/libgcc" + cd "$buildRoot/gcc/${stdenv.hostPlatform.config}/libgfortran" + configureScript=$sourceRoot/configure + chmod +x "$configureScript" + + export AS_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$AS_FOR_BUILD"} + export CC_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$CC_FOR_BUILD"} + export CPP_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$CPP_FOR_BUILD"} + export CXX_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc "$CXX_FOR_BUILD"} + export LD_FOR_BUILD=${lib.getExe' buildPackages.stdenv.cc.bintools "$LD_FOR_BUILD"} + + export AS=${lib.getExe' stdenv.cc "$AS"} + export CC=${lib.getExe' stdenv.cc "$CC"} + export CPP=${lib.getExe' stdenv.cc "$CPP"} + export CXX=${lib.getExe' stdenv.cc "$CXX"} + export LD=${lib.getExe' stdenv.cc.bintools "$LD"} + + export AS_FOR_TARGET=${lib.getExe' stdenv.cc "$AS_FOR_TARGET"} + export CC_FOR_TARGET=${lib.getExe' stdenv.cc "$CC_FOR_TARGET"} + export CPP_FOR_TARGET=${lib.getExe' stdenv.cc "$CPP_FOR_TARGET"} + export LD_FOR_TARGET=${lib.getExe' stdenv.cc.bintools "$LD_FOR_TARGET"} + '' + + lib.optionalString stdenv.hostPlatform.isMusl '' + NIX_CFLAGS_COMPILE_OLD=$NIX_CFLAGS_COMPILE + NIX_CFLAGS_COMPILE+=' -isystem ${stdenv.cc.cc}/lib/gcc/${stdenv.hostPlatform.config}/${version}/include-fixed' + ''; + + topLevelConfigureFlags = + [ + "--build=${stdenv.buildPlatform.config}" + "--host=${stdenv.buildPlatform.config}" + "--target=${stdenv.hostPlatform.config}" + + "--disable-bootstrap" + "--disable-multilib" + "--with-multilib-list=" + "--enable-languages=fortran" + + "--disable-fixincludes" + "--disable-intl" + "--disable-lto" + "--disable-libatomic" + "--disable-libbacktrace" + "--disable-libcpp" + "--disable-libssp" + "--disable-libquadmath" + "--disable-libgomp" + "--disable-libvtv" + "--disable-vtable-verify" + + "--with-system-zlib" + ] + ++ lib.optional (stdenv.hostPlatform.libc == "glibc") + # Cheat and use previous stage's glibc to avoid infinite recursion. As + # of GCC 11, libgcc only cares if the version is greater than 2.19, + # which is quite ancient, so this little lie should be fine. + "--with-glibc-version=${buildPackages.glibc.version}"; + + configurePlatforms = [ + "build" + "host" + ]; + + configureFlags = [ + "--disable-dependency-tracking" + "--with-threads=single" + # $CC cannot link binaries, let alone run then + "cross_compiling=true" + ]; + + # Set the variable back the way it was, see corresponding code in + # `preConfigure`. + postConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' + NIX_CFLAGS_COMPILE=$NIX_CFLAGS_COMPILE_OLD + ''; + + makeFlags = [ "MULTIBUILDTOP:=../" ]; + + postInstall = '' + moveToOutput "lib/gcc/${stdenv.hostPlatform.config}/${version}/include" "$dev" + mkdir -p "$out/lib" "$dev/include" + ln -s "$out/lib/gcc/${stdenv.hostPlatform.config}/${version}"/* "$out/lib" + ln -s "$dev/lib/gcc/${stdenv.hostPlatform.config}/${version}/include"/* "$dev/include/" + ''; + + doCheck = true; + + passthru = { + isGNU = true; + }; + + meta = gcc_meta // { + homepage = "https://gcc.gnu.org/"; + }; +}) diff --git a/pkgs/development/compilers/gcc/ng/common/libiberty/default.nix b/pkgs/development/compilers/gcc/ng/common/libiberty/default.nix new file mode 100644 index 000000000000..9ffad2a69ea8 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/libiberty/default.nix @@ -0,0 +1,67 @@ +{ + lib, + stdenv, + gcc_meta, + release_version, + version, + monorepoSrc ? null, + runCommand, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libiberty"; + inherit version; + + src = runCommand "libiberty-src-${version}" { src = monorepoSrc; } '' + runPhase unpackPhase + + mkdir -p "$out/gcc" + cp gcc/BASE-VER "$out/gcc" + cp gcc/DATESTAMP "$out/gcc" + + cp -r include "$out" + cp -r libiberty "$out" + + cp config.guess "$out" + cp config.rpath "$out" + cp config.sub "$out" + cp config-ml.in "$out" + cp ltmain.sh "$out" + cp install-sh "$out" + cp mkinstalldirs "$out" + + [[ -f MD5SUMS ]]; cp MD5SUMS "$out" + ''; + + outputs = [ + "out" + "dev" + ]; + + enableParallelBuilding = true; + + sourceRoot = "${finalAttrs.src.name}/libiberty"; + + preConfigure = '' + mkdir ../../build + cd ../../build + configureScript=../$sourceRoot/configure + ''; + + configureFlags = [ + "--enable-install-libiberty" + ] ++ lib.optional (!stdenv.hostPlatform.isStatic) "--enable-shared"; + + postInstall = '' + cp pic/libiberty.a $out/lib/libiberty_pic.a + ''; + + doCheck = true; + + passthru = { + isGNU = true; + }; + + meta = gcc_meta // { + homepage = "https://gcc.gnu.org/"; + }; +}) diff --git a/pkgs/development/compilers/gcc/ng/common/libquadmath/default.nix b/pkgs/development/compilers/gcc/ng/common/libquadmath/default.nix new file mode 100644 index 000000000000..982b4177b749 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/libquadmath/default.nix @@ -0,0 +1,51 @@ +{ + lib, + stdenv, + gcc_meta, + release_version, + version, + monorepoSrc ? null, + runCommand, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libquadmath"; + inherit version; + + src = runCommand "libquadmath-src-${version}" { src = monorepoSrc; } '' + runPhase unpackPhase + + mkdir -p "$out/gcc" + cp gcc/BASE-VER "$out/gcc" + cp gcc/DATESTAMP "$out/gcc" + + cp -r libquadmath "$out" + + cp config.guess "$out" + cp config.rpath "$out" + cp config.sub "$out" + cp config-ml.in "$out" + cp ltmain.sh "$out" + cp install-sh "$out" + cp mkinstalldirs "$out" + + [[ -f MD5SUMS ]]; cp MD5SUMS "$out" + ''; + + sourceRoot = "${finalAttrs.src.name}/libquadmath"; + + preConfigure = '' + mkdir ../../build + cd ../../build + configureScript=../$sourceRoot/configure + ''; + + doCheck = true; + + passthru = { + isGNU = true; + }; + + meta = gcc_meta // { + homepage = "https://gcc.gnu.org/"; + }; +}) diff --git a/pkgs/development/compilers/gcc/ng/common/libsanitizer/default.nix b/pkgs/development/compilers/gcc/ng/common/libsanitizer/default.nix new file mode 100644 index 000000000000..b42736d122bd --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/libsanitizer/default.nix @@ -0,0 +1,57 @@ +{ + lib, + stdenv, + libstdcxx, + gcc_meta, + release_version, + version, + monorepoSrc ? null, + runCommand, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libsanitizer"; + inherit version; + + src = runCommand "libsanitizer-src-${version}" { src = monorepoSrc; } '' + runPhase unpackPhase + + mkdir -p "$out/gcc" + cp gcc/BASE-VER "$out/gcc" + cp gcc/DATESTAMP "$out/gcc" + + cp -r libsanitizer "$out" + + cp config.guess "$out" + cp config.rpath "$out" + cp config.sub "$out" + cp config-ml.in "$out" + cp ltmain.sh "$out" + cp install-sh "$out" + cp mkinstalldirs "$out" + + [[ -f MD5SUMS ]]; cp MD5SUMS "$out" + ''; + + sourceRoot = "${finalAttrs.src.name}/libsanitizer"; + + postUnpack = '' + mkdir -p libstdc++-v3/src/ + ln -s ${libstdcxx}/lib/libstdc++.la libstdc++-v3/src/libstdc++.la + ''; + + preConfigure = '' + mkdir ../../build + cd ../../build + configureScript=../$sourceRoot/configure + ''; + + doCheck = true; + + passthru = { + isGNU = true; + }; + + meta = gcc_meta // { + homepage = "https://gcc.gnu.org/"; + }; +}) diff --git a/pkgs/development/compilers/gcc/ng/common/libssp/default.nix b/pkgs/development/compilers/gcc/ng/common/libssp/default.nix new file mode 100644 index 000000000000..3c4cc19582c5 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/libssp/default.nix @@ -0,0 +1,68 @@ +{ + lib, + stdenv, + gcc_meta, + release_version, + version, + monorepoSrc ? null, + runCommand, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libssp"; + inherit version; + + src = runCommand "libssp-src-${version}" { src = monorepoSrc; } '' + runPhase unpackPhase + + mkdir -p "$out/gcc" + cp gcc/BASE-VER "$out/gcc" + cp gcc/DATESTAMP "$out/gcc" + + cp -r libssp "$out" + + cp config.guess "$out" + cp config.rpath "$out" + cp config.sub "$out" + cp config-ml.in "$out" + cp ltmain.sh "$out" + cp install-sh "$out" + cp mkinstalldirs "$out" + + [[ -f MD5SUMS ]]; cp MD5SUMS "$out" + ''; + + sourceRoot = "${finalAttrs.src.name}/libssp"; + + configurePlatforms = [ + "build" + "host" + ]; + configureFlags = [ + "--disable-dependency-tracking" + "--with-toolexeclibdir=${builtins.placeholder "out" + "/lib"}" + "cross_compiling=true" + "--disable-multilib" + ]; + + preConfigure = '' + mkdir ../../build + cd ../../build + configureScript=../$sourceRoot/configure + ''; + + hardeningDisable = [ + "fortify" + # Because we are building it! + "stackprotector" + ]; + + doCheck = true; + + passthru = { + isGNU = true; + }; + + meta = gcc_meta // { + homepage = "https://gcc.gnu.org/"; + }; +}) diff --git a/pkgs/development/compilers/gcc/ng/common/libstdcxx/default.nix b/pkgs/development/compilers/gcc/ng/common/libstdcxx/default.nix new file mode 100644 index 000000000000..3fed3ada0492 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/libstdcxx/default.nix @@ -0,0 +1,87 @@ +{ + lib, + stdenv, + gcc_meta, + release_version, + version, + getVersionFile, + monorepoSrc ? null, + runCommand, + autoreconfHook269, + gettext, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libstdcxx"; + inherit version; + + src = monorepoSrc; + + enableParallelBuilding = true; + + nativeBuildInputs = [ + autoreconfHook269 + gettext + ]; + + patches = [ + (getVersionFile "gcc/custom-threading-model.patch") + ]; + + postUnpack = '' + mkdir -p ./build + buildRoot=$(readlink -e "./build") + ''; + + preAutoreconf = '' + sourceRoot=$(readlink -e "./libstdc++-v3") + cd $sourceRoot + ''; + + postPatch = '' + sed -i \ + -e 's/AM_ENABLE_MULTILIB(/AM_ENABLE_MULTILIB(NOPE/' \ + -e 's#glibcxx_toolexeclibdir=no#glibcxx_toolexeclibdir=${builtins.placeholder "out"}/libexec#' \ + configure.ac + ''; + + preConfigure = '' + cd "$buildRoot" + configureScript=$sourceRoot/configure + chmod +x "$configureScript" + ''; + + configureFlags = [ + "--disable-dependency-tracking" + "--with-toolexeclibdir=${builtins.placeholder "out"}/lib" + "--with-threads=posix" + "cross_compiling=true" + "--disable-multilib" + + "--enable-clocale=gnu" + "--disable-libstdcxx-pch" + "--disable-vtable-verify" + "--enable-libstdcxx-visibility" + "--with-default-libstdcxx-abi=new" + ]; + + outputs = [ + "out" + "dev" + ]; + + hardeningDisable = [ + # PATH_MAX + "fortify" + ]; + + doCheck = true; + + passthru = { + isGNU = true; + }; + + meta = gcc_meta // { + homepage = "https://gcc.gnu.org/onlinedocs/libstdc++"; + description = "GNU C++ Library"; + }; +}) diff --git a/pkgs/development/compilers/gcc/ng/common/patches.nix b/pkgs/development/compilers/gcc/ng/common/patches.nix new file mode 100644 index 000000000000..0db7ec10262b --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/patches.nix @@ -0,0 +1,32 @@ +{ + "gcc/fix-collect2-paths.diff" = [ + { + after = "15"; + path = ../15; + } + ]; + "gcc/0001-find_a_program-First-search-with-machine-prefix.patch" = [ + { + after = "15"; + path = ../15; + } + ]; + "gcc/0002-driver-for_each_pass-Pass-to-callback-whether-dir-is.patch" = [ + { + after = "15"; + path = ../15; + } + ]; + "gcc/0003-find_a_program-Only-search-for-prefixed-paths-in-und.patch" = [ + { + after = "15"; + path = ../15; + } + ]; + "gcc/custom-threading-model.patch" = [ + { + after = "15"; + path = ../15; + } + ]; +} diff --git a/pkgs/development/compilers/gcc/ng/default.nix b/pkgs/development/compilers/gcc/ng/default.nix new file mode 100644 index 000000000000..3fb74d722d06 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/default.nix @@ -0,0 +1,69 @@ +{ + lib, + callPackage, + stdenv, + stdenvAdapters, + recurseIntoAttrs, + gccVersions ? { }, + patchesFn ? lib.id, + buildPackages, + targetPackages, + binutilsNoLibc, + binutils, + generateSplicesForMkScope, + ... +}@packageSetArgs: +let + versions = { + "15.1.0".officialRelease.sha256 = "sha256-4rCewhZg8B/s/7cV4BICZSFpQ/A40OSKmGhxPlTwbOo="; + } // gccVersions; + + mkPackage = + { + name ? null, + officialRelease ? null, + gitRelease ? null, + monorepoSrc ? null, + version ? null, + }@args: + let + inherit + (import ./common/common-let.nix { + inherit + lib + gitRelease + officialRelease + version + ; + }) + releaseInfo + ; + inherit (releaseInfo) release_version; + attrName = + args.name or (if (gitRelease != null) then "git" else lib.versions.major release_version); + in + lib.nameValuePair attrName ( + recurseIntoAttrs ( + callPackage ./common ( + { + inherit (stdenvAdapters) overrideCC; + inherit + officialRelease + gitRelease + monorepoSrc + version + patchesFn + ; + + buildGccPackages = buildPackages."gccNGPackages_${attrName}"; + targetGccPackages = targetPackages."gccNGPackages_${attrName}" or gccPackages."${attrName}"; + otherSplices = generateSplicesForMkScope "gccNGPackages_${attrName}"; + } + // packageSetArgs # Allow overrides. + ) + ) + ); + + gccPackages = lib.mapAttrs' (version: args: mkPackage (args // { inherit version; })) versions; +in +gccPackages // { inherit mkPackage; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 09a5540fec3f..f324b91b7ffa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5042,6 +5042,17 @@ with pkgs; gccFun = callPackage ../development/compilers/gcc; gcc-unwrapped = gcc.cc; + inherit + (rec { + # NOTE: keep this with the "NG" label until we're ready to drop the monolithic GCC + gccNGPackagesSet = recurseIntoAttrs (callPackages ../development/compilers/gcc/ng { }); + gccNGPackages_15 = gccNGPackagesSet."15"; + mkGCCNGPackages = gccNGPackagesSet.mkPackage; + }) + gccNGPackages_15 + mkGCCNGPackages + ; + wrapNonDeterministicGcc = stdenv: ccWrapper: if ccWrapper.isGNU then From 101bb13d4804c81b1ec56ada646c437ecff16ff8 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Thu, 26 Jun 2025 20:27:25 -0700 Subject: [PATCH 16/16] binutilsNoLibc: fix cross --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f324b91b7ffa..b19d15bfca4a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6981,7 +6981,7 @@ with pkgs; }); binutilsNoLibc = wrapBintoolsWith { bintools = binutils-unwrapped; - libc = targetPackages.preLibcHeaders; + libc = targetPackages.preLibcHeaders or preLibcHeaders; }; libbfd = callPackage ../development/tools/misc/binutils/libbfd.nix { };