From 4f24561b0692e0df41c9367a4a5b22aa5daf7c0f Mon Sep 17 00:00:00 2001 From: a-kenji Date: Sat, 17 Aug 2024 16:27:38 +0200 Subject: [PATCH 01/59] cosmic-screenshot: unstable-2023-11-08 -> 1.0.0-alpha.1 --- pkgs/by-name/co/cosmic-screenshot/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/co/cosmic-screenshot/package.nix b/pkgs/by-name/co/cosmic-screenshot/package.nix index 2703698042ad..1881ef8fb9db 100644 --- a/pkgs/by-name/co/cosmic-screenshot/package.nix +++ b/pkgs/by-name/co/cosmic-screenshot/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "cosmic-screenshot"; - version = "unstable-2023-11-08"; + version = "1.0.0-alpha.1"; src = fetchFromGitHub { owner = "pop-os"; repo = pname; - rev = "b413a7128ddcdfb3c63e84bdade5c5b90b163a9a"; - hash = "sha256-SDxBBhmnqNDX95Rb7QiI46sAxrfodB5tSq8AbXAU480="; + rev = "epoch-${version}"; + hash = "sha256-+yHpRbK+AWnpcGrC5U0wKbt0u8tm3CFGjKTCDQpb3G0="; }; - cargoHash = "sha256-ZRsAhIWPm38Ys9jM/3yVJLW818lUGLCcSfFZb+UTbnU="; + cargoHash = "sha256-d56y35npMPrQM0yF0ytNcOdMKBz9IQvEz37DNvKBBSk="; nativeBuildInputs = [ just pkg-config ]; From ebb172b7319bd1983a9033f70883dfd1f4989d91 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Sat, 17 Aug 2024 17:01:57 +0200 Subject: [PATCH 02/59] cosmic-protocols: 0-unstable-2024-01-11 -> 0-unstable-2024-07-31 --- pkgs/by-name/co/cosmic-protocols/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/cosmic-protocols/package.nix b/pkgs/by-name/co/cosmic-protocols/package.nix index 81c517b36998..d6dfefc4127f 100644 --- a/pkgs/by-name/co/cosmic-protocols/package.nix +++ b/pkgs/by-name/co/cosmic-protocols/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "cosmic-protocols"; - version = "0-unstable-2024-01-11"; + version = "0-unstable-2024-07-31"; src = fetchFromGitHub { owner = "pop-os"; repo = pname; - rev = "e65fa5e2bb47e51656221657049bd3f88ae9dae5"; - hash = "sha256-vj7Wm1uJ5ULvGNEwKznNhujCZQiuntsWMyKQbIVaO/Q="; + rev = "de2fead49d6af3a221db153642e4d7c2235aafc4"; + hash = "sha256-qgo8FMKo/uCbhUjfykRRN8KSavbyhZpu82M8npLcIPI="; }; makeFlags = [ "PREFIX=${placeholder "out"}" ]; From 40e3a2d6d4039cbb438b3f7e9418f3e47a30905f Mon Sep 17 00:00:00 2001 From: a-kenji Date: Sat, 17 Aug 2024 17:03:16 +0200 Subject: [PATCH 03/59] cosmic-protocols: fix typo in description --- pkgs/by-name/co/cosmic-protocols/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-protocols/package.nix b/pkgs/by-name/co/cosmic-protocols/package.nix index d6dfefc4127f..1805d4b48fed 100644 --- a/pkgs/by-name/co/cosmic-protocols/package.nix +++ b/pkgs/by-name/co/cosmic-protocols/package.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/pop-os/cosmic-protocols"; - description = "Addtional wayland-protocols used by the COSMIC desktop environment"; + description = "Additional wayland-protocols used by the COSMIC desktop environment"; license = [ licenses.mit licenses.gpl3Only ]; maintainers = with maintainers; [ nyanbinary ]; platforms = platforms.linux; From 9c0d5a279f3cceaa69be0125dca85025930fb033 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Sat, 17 Aug 2024 17:16:42 +0200 Subject: [PATCH 04/59] cosmic-notifications: unstable-2024-01-05 -> 1.0.0-alpha.1 --- .../co/cosmic-notifications/Cargo.lock | 2749 ++++++++++------- .../co/cosmic-notifications/package.nix | 26 +- 2 files changed, 1584 insertions(+), 1191 deletions(-) diff --git a/pkgs/by-name/co/cosmic-notifications/Cargo.lock b/pkgs/by-name/co/cosmic-notifications/Cargo.lock index 37cf6954f5cf..dc0829c9365f 100644 --- a/pkgs/by-name/co/cosmic-notifications/Cargo.lock +++ b/pkgs/by-name/co/cosmic-notifications/Cargo.lock @@ -4,37 +4,38 @@ version = 3 [[package]] name = "accesskit" -version = "0.11.0" -source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0" +version = "0.12.2" +source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" [[package]] name = "accesskit_consumer" -version = "0.15.0" -source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0" +version = "0.17.0" +source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" dependencies = [ "accesskit", ] [[package]] name = "accesskit_unix" -version = "0.4.0" -source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0" +version = "0.7.1" +source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" dependencies = [ "accesskit", "accesskit_consumer", - "async-channel 1.9.0", "atspi", "futures-lite 1.13.0", - "log", + "once_cell", "serde", - "zbus", + "tokio", + "tokio-stream", + "zbus 3.15.2", ] [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] @@ -47,32 +48,21 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.7.7" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -85,9 +75,9 @@ checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "almost" @@ -95,6 +85,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3aa2999eb46af81abb65c2d30d446778d7e613b60bbf4e174a027e80f90a3c14" +[[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" @@ -106,9 +102,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "apply" @@ -127,15 +123,15 @@ dependencies = [ [[package]] name = "arc-swap" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" @@ -145,9 +141,9 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "as-raw-xcb-connection" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d5f312b0a56c5cdf967c0aeb67f6289603354951683bc97ddc595ab974ba9aa" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" [[package]] name = "ash" @@ -160,23 +156,41 @@ dependencies = [ [[package]] name = "ashpd" -version = "0.6.7" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c018490e423efb6f032ef575f873ea57b61d44bec763cfe027b8e8852a027cf" +checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093" dependencies = [ + "async-fs", + "async-net", "enumflags2", "futures-channel", "futures-util", - "once_cell", "rand", "serde", "serde_repr", "tokio", "url", - "wayland-backend 0.1.2", - "wayland-client 0.30.2", - "wayland-protocols 0.30.1", - "zbus", + "zbus 4.4.0", +] + +[[package]] +name = "ashpd" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfe7e0dd0ac5a401dc116ed9f9119cf9decc625600474cb41f0fc0a0050abc9a" +dependencies = [ + "enumflags2", + "futures-channel", + "futures-util", + "rand", + "serde", + "serde_repr", + "tokio", + "url", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "zbus 4.4.0", ] [[package]] @@ -190,24 +204,24 @@ dependencies = [ ] [[package]] -name = "async-channel" -version = "1.9.0" +name = "async-broadcast" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e" dependencies = [ - "concurrent-queue", - "event-listener 2.5.3", + "event-listener 5.3.1", + "event-listener-strategy", "futures-core", + "pin-project-lite", ] [[package]] name = "async-channel" -version = "2.1.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener 4.0.0", "event-listener-strategy", "futures-core", "pin-project-lite", @@ -215,28 +229,26 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.8.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" +checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" dependencies = [ - "async-lock 3.2.0", "async-task", "concurrent-queue", - "fastrand 2.0.1", - "futures-lite 2.1.0", + "fastrand 2.1.0", + "futures-lite 2.3.0", "slab", ] [[package]] name = "async-fs" -version = "1.6.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ - "async-lock 2.8.0", - "autocfg", + "async-lock 3.4.0", "blocking", - "futures-lite 1.13.0", + "futures-lite 2.3.0", ] [[package]] @@ -261,18 +273,18 @@ dependencies = [ [[package]] name = "async-io" -version = "2.2.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6afaa937395a620e33dc6a742c593c01aced20aa376ffb0f628121198578ccc7" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ - "async-lock 3.2.0", + "async-lock 3.4.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.1.0", + "futures-lite 2.3.0", "parking", - "polling 3.3.1", - "rustix 0.38.28", + "polling 3.7.2", + "rustix 0.38.34", "slab", "tracing", "windows-sys 0.52.0", @@ -289,15 +301,26 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.2.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.0", + "event-listener 5.3.1", "event-listener-strategy", "pin-project-lite", ] +[[package]] +name = "async-net" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" +dependencies = [ + "async-io 2.3.3", + "blocking", + "futures-lite 2.3.0", +] + [[package]] name = "async-process" version = "1.8.1" @@ -311,37 +334,57 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.28", + "rustix 0.38.34", "windows-sys 0.48.0", ] +[[package]] +name = "async-process" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7eda79bbd84e29c2b308d1dc099d7de8dcc7035e48f4bf5dc4a531a44ff5e2a" +dependencies = [ + "async-channel", + "async-io 2.3.3", + "async-lock 3.4.0", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener 5.3.1", + "futures-lite 2.3.0", + "rustix 0.38.34", + "tracing", + "windows-sys 0.52.0", +] + [[package]] name = "async-recursion" -version = "1.0.5" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "async-signal" -version = "0.2.5" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32" dependencies = [ - "async-io 2.2.2", - "async-lock 2.8.0", + "async-io 2.3.3", + "async-lock 3.4.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.28", + "rustix 0.38.34", "signal-hook-registry", "slab", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -363,24 +406,24 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "async-task" -version = "4.5.0" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -394,43 +437,64 @@ name = "atomicwrites" version = "0.4.2" source = "git+https://github.com/jackpot51/rust-atomicwrites#043ab4859d53ffd3d55334685303d8df39c9f768" dependencies = [ - "rustix 0.38.28", + "rustix 0.38.34", "tempfile", "windows-sys 0.48.0", ] [[package]] name = "atspi" -version = "0.10.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "674e7a3376837b2e7d12d34d58ac47073c491dc3bf6f71a7adaf687d4d817faa" +checksum = "6059f350ab6f593ea00727b334265c4dfc7fd442ee32d264794bd9bdc68e87ca" dependencies = [ - "async-recursion", - "async-trait", - "atspi-macros", - "enumflags2", - "futures-lite 1.13.0", - "serde", - "tracing", - "zbus", - "zbus_names", + "atspi-common", + "atspi-connection", + "atspi-proxies", ] [[package]] -name = "atspi-macros" -version = "0.2.0" +name = "atspi-common" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb4870a32c0eaa17e35bca0e6b16020635157121fb7d45593d242c295bc768" +checksum = "92af95f966d2431f962bc632c2e68eda7777330158bf640c4af4249349b2cdf5" dependencies = [ - "quote", - "syn 1.0.109", + "enumflags2", + "serde", + "static_assertions", + "zbus 3.15.2", + "zbus_names 2.6.1", + "zvariant 3.15.2", +] + +[[package]] +name = "atspi-connection" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c65e7d70f86d4c0e3b2d585d9bf3f979f0b19d635a336725a88d279f76b939" +dependencies = [ + "atspi-common", + "atspi-proxies", + "futures-lite 1.13.0", + "zbus 3.15.2", +] + +[[package]] +name = "atspi-proxies" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6495661273703e7a229356dcbe8c8f38223d697aacfaf0e13590a9ac9977bb52" +dependencies = [ + "atspi-common", + "serde", + "zbus 3.15.2", ] [[package]] name = "autocfg" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" @@ -449,7 +513,7 @@ dependencies = [ "itoa", "matchit", "memchr", - "mime", + "mime 0.3.17", "percent-encoding", "pin-project-lite", "rustversion", @@ -471,7 +535,7 @@ dependencies = [ "futures-util", "http", "http-body", - "mime", + "mime 0.3.17", "rustversion", "tower-layer", "tower-service", @@ -479,9 +543,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", "cc", @@ -494,9 +558,9 @@ dependencies = [ [[package]] name = "base64" -version = "0.21.5" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "bit-set" @@ -527,9 +591,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ "serde", ] @@ -551,44 +615,47 @@ dependencies = [ [[package]] name = "blocking" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" dependencies = [ - "async-channel 2.1.1", - "async-lock 3.2.0", + "async-channel", "async-task", - "fastrand 2.0.1", "futures-io", - "futures-lite 2.1.0", + "futures-lite 2.3.0", "piper", - "tracing", ] [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "by_address" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" [[package]] name = "bytemuck" -version = "1.14.0" +version = "1.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.5.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" +checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -599,44 +666,41 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "fca2be1d5c43812bae364ee3f30b3afcb7877cf59f4aeb94c66f313a41d2fac9" [[package]] name = "calloop" -version = "0.12.3" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b50b5a44d59a98c55a9eeb518f39bf7499ba19fd98ee7d22618687f3f10adbf" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "log", - "polling 3.3.1", - "rustix 0.38.28", + "polling 3.7.2", + "rustix 0.38.34", "slab", "thiserror", ] [[package]] name = "calloop-wayland-source" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" dependencies = [ "calloop", - "rustix 0.38.28", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", + "rustix 0.38.34", + "wayland-backend", + "wayland-client", ] [[package]] name = "cc" -version = "1.0.83" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] +checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" [[package]] name = "cfg-if" @@ -650,6 +714,64 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[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.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-targets 0.52.6", +] + +[[package]] +name = "clipboard-win" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" +dependencies = [ + "error-code", +] + +[[package]] +name = "clipboard_macos" +version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "objc", + "objc-foundation", + "objc_id", +] + +[[package]] +name = "clipboard_wayland" +version = "0.2.2" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "dnd", + "mime 0.1.0", + "smithay-clipboard", +] + +[[package]] +name = "clipboard_x11" +version = "0.4.2" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "thiserror", + "x11rb", +] + [[package]] name = "cocoa" version = "0.25.0" @@ -697,26 +819,52 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] -name = "com-rs" -version = "0.2.1" +name = "com" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642" +checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" +dependencies = [ + "com_macros", +] + +[[package]] +name = "com_macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" +dependencies = [ + "com_macros_support", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "com_macros_support" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] [[package]] name = "console-api" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2895653b4d9f1538a83970077cb01dfc77a4810524e51a110944688e916b18e" +checksum = "fd326812b3fd01da5bb1af7d340d0d555fd3d4b641e7f1dfcf5962a902952787" dependencies = [ + "futures-core", "prost", "prost-types", "tonic", @@ -725,14 +873,14 @@ dependencies = [ [[package]] name = "console-subscriber" -version = "0.1.10" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4cf42660ac07fcebed809cfe561dd8730bcd35b075215e6479c516bcd0d11cb" +checksum = "7481d4c57092cd1c19dd541b92bdce883de840df30aa5d03fd48a3935c01842e" dependencies = [ "console-api", "crossbeam-channel", "crossbeam-utils", - "futures", + "futures-task", "hdrhistogram", "humantime", "prost-types", @@ -747,6 +895,26 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom", + "once_cell", + "tiny-keccak", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -765,9 +933,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core-graphics" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -790,35 +958,40 @@ dependencies = [ [[package]] name = "cosmic-client-toolkit" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-protocols?rev=c1b6516#c1b651630c2b71cd8dfd2eb4ab47ede9dbd63840" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=c8d3a1c#c8d3a1c3d40d16235f4720969a54ed570ec7a976" dependencies = [ "cosmic-protocols", - "smithay-client-toolkit 0.18.0", - "wayland-client 0.31.1", + "libc", + "smithay-client-toolkit", + "wayland-client", ] [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "atomicwrites", "cosmic-config-derive", "cosmic-settings-daemon", - "dirs 5.0.1", + "dirs", "futures-util", "iced_futures", + "known-folders", "notify", "once_cell", "ron", "serde", - "zbus", + "tokio", + "tracing", + "xdg", + "zbus 4.4.0", ] [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "quote", "syn 1.0.109", @@ -834,6 +1007,8 @@ dependencies = [ "console-subscriber", "cosmic-notifications-config", "cosmic-notifications-util", + "cosmic-panel-config", + "cosmic-time", "i18n-embed", "i18n-embed-fl", "libcosmic", @@ -844,13 +1019,12 @@ dependencies = [ "rust-embed", "sendfd", "serde", - "shlex", "tokio", "tracing", "tracing-journald", "tracing-subscriber", "xdg", - "zbus", + "zbus 4.4.0", ] [[package]] @@ -870,45 +1044,62 @@ dependencies = [ "serde", "tracing", "url", - "zbus", + "zbus 4.4.0", +] + +[[package]] +name = "cosmic-panel-config" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-panel#cfee4b5545379bddf34c01a9d5ff4c82b5609e8e" +dependencies = [ + "anyhow", + "cosmic-config", + "ron", + "serde", + "smithay-client-toolkit", + "tracing", + "wayland-protocols-wlr", + "xdg-shell-wrapper-config", ] [[package]] name = "cosmic-protocols" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-protocols?rev=c1b6516#c1b651630c2b71cd8dfd2eb4ab47ede9dbd63840" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=c8d3a1c#c8d3a1c3d40d16235f4720969a54ed570ec7a976" dependencies = [ - "bitflags 2.4.1", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", - "wayland-protocols 0.31.0", - "wayland-scanner 0.31.0", + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", "wayland-server", ] [[package]] name = "cosmic-settings-daemon" version = "0.1.0" -source = "git+https://github.com/pop-os/dbus-settings-bindings?branch=cosmic-settings-daemon#a3c3bc278cee08632d41fbc321b9feeddae197a2" +source = "git+https://github.com/pop-os/dbus-settings-bindings#cd21ddcb1b5cbfc80ab84b34d3c8b1ff3d81179a" dependencies = [ - "zbus", + "zbus 4.4.0", ] [[package]] name = "cosmic-text" -version = "0.10.0" -source = "git+https://github.com/pop-os/cosmic-text.git?branch=refactor#8fc93d90933ded737ea4f7ca63ab064a5331710d" +version = "0.12.1" +source = "git+https://github.com/pop-os/cosmic-text.git#58c2ccd1fb3daf0abc792f9dd52b5766b7125ccd" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "fontdb", - "libm", "log", "rangemap", + "rayon", "rustc-hash", - "rustybuzz", - "self_cell 1.0.2", + "rustybuzz 0.14.1", + "self_cell 1.0.4", "swash", "sys-locale", + "ttf-parser 0.21.1", "unicode-bidi", "unicode-linebreak", "unicode-script", @@ -918,76 +1109,81 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "almost", "cosmic-config", "csscolorparser", + "dirs", "lazy_static", "palette", "ron", "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "cosmic-time" +version = "0.4.0" +source = "git+https://github.com/pop-os/cosmic-time#dd973b3ced4b6cf784c78a1c36f1526dfbfbfa19" +dependencies = [ + "float-cmp", + "libcosmic", + "once_cell", ] [[package]] name = "cpufeatures" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] [[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-channel" -version = "0.5.9" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c3242926edf34aec4ac3a77108ad4854bffaa2e4ddc1824124ce59231302d5" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.16" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset 0.9.0", ] [[package]] name = "crossbeam-utils" -version = "0.8.17" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f" -dependencies = [ - "cfg-if", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1007,9 +1203,9 @@ dependencies = [ [[package]] name = "css-color" -version = "0.2.5" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d101c65424c856131a3cb818da2ddde03500dc3656972269cdf79f018ef77eb4" +checksum = "42aaeae719fd78ce501d77c6cdf01f7e96f26bcd5617a4903a1c2b97e388543a" [[package]] name = "csscolorparser" @@ -1022,14 +1218,10 @@ dependencies = [ ] [[package]] -name = "ctor" -version = "0.2.6" +name = "ctor-lite" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e" -dependencies = [ - "quote", - "syn 2.0.41", -] +checksum = "1f791803201ab277ace03903de1594460708d2d54df6053f2d9e82f592b19e3b" [[package]] name = "cursor-icon" @@ -1039,20 +1231,19 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "d3d12" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ - "bitflags 2.4.1", - "libloading 0.8.1", + "bitflags 2.6.0", + "libloading 0.8.5", "winapi", ] [[package]] name = "darling" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ "darling_core", "darling_macro", @@ -1060,27 +1251,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim", - "syn 2.0.41", + "strsim 0.11.1", + "syn 2.0.72", ] [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -1090,10 +1281,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] @@ -1122,7 +1313,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -1135,33 +1326,13 @@ dependencies = [ "crypto-common", ] -[[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -dependencies = [ - "dirs-sys 0.3.7", -] - [[package]] name = "dirs" version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys 0.4.1", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", + "dirs-sys", ] [[package]] @@ -1177,14 +1348,20 @@ dependencies = [ ] [[package]] -name = "displaydoc" -version = "0.2.4" +name = "dispatch" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[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.41", + "syn 2.0.72", ] [[package]] @@ -1193,42 +1370,57 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.1", + "libloading 0.8.5", ] [[package]] name = "dlv-list" -version = "0.3.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" +checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" +dependencies = [ + "const-random", +] + +[[package]] +name = "dnd" +version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "bitflags 2.6.0", + "mime 0.1.0", + "raw-window-handle", + "smithay-client-toolkit", + "smithay-clipboard", +] [[package]] name = "downcast-rs" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "drm" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb1b703ffbc7ebd216eba7900008049a56ace55580ecb2ee7fa801e8d8be87" +checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "bytemuck", "drm-ffi", "drm-fourcc", - "nix 0.27.1", + "rustix 0.38.34", ] [[package]] name = "drm-ffi" -version = "0.6.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba7d1c19c4b6270e89d59fb27dc6d02a317c658a8a54e54781e1db9b5947595d" +checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6" dependencies = [ "drm-sys", - "nix 0.27.1", + "rustix 0.38.34", ] [[package]] @@ -1239,15 +1431,25 @@ checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4" [[package]] name = "drm-sys" -version = "0.5.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a4f1c0468062a56cd5705f1e3b5409eb286d5596a2028ec8e947595d7e715ae" +checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176" +dependencies = [ + "libc", + "linux-raw-sys 0.6.4", +] [[package]] name = "either" -version = "1.9.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "endi" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" [[package]] name = "enum-repr" @@ -1262,9 +1464,9 @@ dependencies = [ [[package]] name = "enumflags2" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" dependencies = [ "enumflags2_derive", "serde", @@ -1272,13 +1474,13 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -1289,19 +1491,25 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", ] [[package]] -name = "etagere" -version = "0.2.10" +name = "error-code" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306960881d6c46bd0dd6b7f07442a441418c08d0d3e63d8d080b0f64c6343e4e" +checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b" + +[[package]] +name = "etagere" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e2f1e3be19fb10f549be8c1bf013e8675b4066c445e36eb76d2ebb2f54ee495" dependencies = [ "euclid", "svg_fmt", @@ -1309,9 +1517,9 @@ dependencies = [ [[package]] name = "euclid" -version = "0.22.9" +version = "0.22.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787" +checksum = "e0f0eb73b934648cd7a4a61f1b15391cd95dab0b4da6e2e66c2a072c144b4a20" dependencies = [ "num-traits", ] @@ -1335,9 +1543,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "4.0.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", @@ -1346,22 +1554,22 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 4.0.0", + "event-listener 5.3.1", "pin-project-lite", ] [[package]] name = "exr" -version = "1.6.4" +version = "1.72.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279d3efcc55e19917fff7ab3ddd6c14afb6a90881a0078465196fe2f99d08c56" +checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4" dependencies = [ "bit_field", - "flume 0.10.14", + "flume", "half", "lebe", "miniz_oxide", @@ -1397,15 +1605,15 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fdeflate" -version = "0.3.1" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868" +checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" dependencies = [ "simd-adler32", ] @@ -1433,9 +1641,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", "miniz_oxide", @@ -1458,9 +1666,9 @@ checksum = "8bf7cc16383c4b8d58b9905a8509f02926ce3058053c056376248d958c9df1e8" [[package]] name = "fluent" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7" +checksum = "bb74634707bebd0ce645a981148e8fb8c7bccd4c33c652aeffd28bf2f96d555a" dependencies = [ "fluent-bundle", "unic-langid", @@ -1468,9 +1676,9 @@ dependencies = [ [[package]] name = "fluent-bundle" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffd" +checksum = "7fe0a21ee80050c678013f82edf4b705fe2f26f1f9877593d13198612503f493" dependencies = [ "fluent-langneg", "fluent-syntax", @@ -1493,35 +1701,19 @@ dependencies = [ [[package]] name = "fluent-syntax" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78" +checksum = "2a530c4694a6a8d528794ee9bbd8ba0122e779629ac908d15ad5a7ae7763a33d" dependencies = [ "thiserror", ] -[[package]] -name = "flume" -version = "0.10.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" -dependencies = [ - "futures-core", - "futures-sink", - "nanorand", - "pin-project", - "spin", -] - [[package]] name = "flume" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" dependencies = [ - "futures-core", - "futures-sink", - "nanorand", "spin", ] @@ -1532,26 +1724,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] -name = "fontconfig-parser" -version = "0.5.3" +name = "font-types" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "674e258f4b5d2dcd63888c01c68413c51f565e8af99d2f7701c7b81d79ef41c4" +checksum = "8f0189ccb084f77c5523e08288d418cbaa09c451a08515678a0aa265df9a8b60" dependencies = [ - "roxmltree 0.18.1", + "bytemuck", +] + +[[package]] +name = "fontconfig-parser" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1fcfcd44ca6e90c921fee9fa665d530b21ef1327a4c1a6c5250ea44b776ada7" +dependencies = [ + "roxmltree 0.20.0", ] [[package]] name = "fontdb" -version = "0.16.0" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98b88c54a38407f7352dd2c4238830115a6377741098ffd1f997c813d0e088a6" +checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3" dependencies = [ "fontconfig-parser", "log", - "memmap2 0.9.0", + "memmap2 0.9.4", "slotmap", "tinyvec", - "ttf-parser", + "ttf-parser 0.20.0", ] [[package]] @@ -1572,7 +1773,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -1592,9 +1793,9 @@ dependencies = [ [[package]] name = "fraction" -version = "0.14.0" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a78dd758a47a7305478e0e054f9fde4e983b9f9eccda162bf7ca03b79e9d40" +checksum = "0f158e3ff0a1b334408dc9fb811cd99b446986f4d8b741bb08f9df1604085ae7" dependencies = [ "lazy_static", "num", @@ -1602,11 +1803,11 @@ dependencies = [ [[package]] name = "freedesktop-icons" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9d46a9ae065c46efb83854bb10315de6d333bb6f4526ebe320c004dab7857e" +checksum = "a8ef34245e0540c9a3ce7a28340b98d2c12b75da0d446da4e8224923fcaa0c16" dependencies = [ - "dirs 4.0.0", + "dirs", "once_cell", "rust-ini", "thiserror", @@ -1624,9 +1825,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -1639,9 +1840,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -1649,15 +1850,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -1667,9 +1868,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-lite" @@ -1688,11 +1889,11 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand 2.0.1", + "fastrand 2.1.0", "futures-core", "futures-io", "parking", @@ -1701,32 +1902,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -1752,25 +1953,23 @@ dependencies = [ [[package]] name = "gethostname" -version = "0.3.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" dependencies = [ "libc", - "winapi", + "windows-targets 0.48.5", ] [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", - "js-sys", "libc", "wasi", - "wasm-bindgen", ] [[package]] @@ -1784,10 +1983,20 @@ dependencies = [ ] [[package]] -name = "gimli" -version = "0.28.1" +name = "gif" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "gimli" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "gl_generator" @@ -1808,9 +2017,9 @@ checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945" [[package]] name = "glow" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "886c2a30b160c4c6fec8f987430c26b526b7988ca71f664e6a699ddf6f9601e4" +checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" dependencies = [ "js-sys", "slotmap", @@ -1829,8 +2038,8 @@ dependencies = [ [[package]] name = "glyphon" -version = "0.3.0" -source = "git+https://github.com/jackpot51/glyphon.git?branch=refactor#c28dc99c86b6b598633e6623096b21632f266976" +version = "0.5.0" +source = "git+https://github.com/pop-os/glyphon.git?tag=v0.5.0#1b0646ff8f74da92d3be704dfc2257d7f4d7eed8" dependencies = [ "cosmic-text", "etagere", @@ -1844,7 +2053,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "gpu-alloc-types", ] @@ -1854,16 +2063,15 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", ] [[package]] name = "gpu-allocator" -version = "0.23.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40fe17c8a05d60c38c0a4e5a3c802f2f1ceb66b76c67d96ffb34bef0475a7fad" +checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" dependencies = [ - "backtrace", "log", "presser", "thiserror", @@ -1877,9 +2085,9 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "gpu-descriptor-types", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -1888,7 +2096,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", ] [[package]] @@ -1909,9 +2117,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.22" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", @@ -1919,7 +2127,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.1.0", + "indexmap 2.3.0", "slab", "tokio", "tokio-util", @@ -1928,9 +2136,9 @@ dependencies = [ [[package]] name = "half" -version = "2.3.1" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" dependencies = [ "cfg-if", "crunchy", @@ -1941,30 +2149,27 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.7", -] [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.6", + "ahash", "allocator-api2", ] [[package]] name = "hassle-rs" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0" +checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" dependencies = [ - "bitflags 1.3.2", - "com-rs", + "bitflags 2.6.0", + "com", "libc", - "libloading 0.7.4", + "libloading 0.8.5", "thiserror", "widestring", "winapi", @@ -1991,9 +2196,15 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" [[package]] name = "hex" @@ -2009,9 +2220,9 @@ checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" [[package]] name = "http" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -2031,9 +2242,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "httpdate" @@ -2049,9 +2260,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", @@ -2064,7 +2275,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.10", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -2093,15 +2304,15 @@ dependencies = [ "serde", "serde_derive", "thiserror", - "toml 0.8.8", + "toml 0.8.19", "unic-langid", ] [[package]] name = "i18n-embed" -version = "0.13.9" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92a86226a7a16632de6723449ee5fe70bac5af718bc642ee9ca2f0f6e14fa1fa" +checksum = "94205d95764f5bb9db9ea98fa77f89653365ca748e27161f5bbea2ffd50e459c" dependencies = [ "arc-swap", "fluent", @@ -2112,7 +2323,7 @@ dependencies = [ "lazy_static", "locale_config", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "rust-embed", "thiserror", "unic-langid", @@ -2121,9 +2332,9 @@ dependencies = [ [[package]] name = "i18n-embed-fl" -version = "0.6.7" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26a3d3569737dfaac7fc1c4078e6af07471c3060b8e570bcd83cdd5f4685395" +checksum = "8241a781f49e923415e106fcd1f89c3fab92cc9f699a521c56e95dee273903d3" dependencies = [ "dashmap", "find-crate", @@ -2135,8 +2346,8 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "strsim", - "syn 2.0.41", + "strsim 0.10.0", + "syn 2.0.72", "unic-langid", ] @@ -2150,14 +2361,38 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", ] [[package]] name = "iced" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ + "dnd", "iced_accessibility", "iced_core", "iced_futures", @@ -2165,13 +2400,15 @@ dependencies = [ "iced_sctk", "iced_widget", "image", + "mime 0.1.0", "thiserror", + "window_clipboard", ] [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "accesskit", "accesskit_unix", @@ -2180,25 +2417,29 @@ dependencies = [ [[package]] name = "iced_core" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", + "dnd", "iced_accessibility", - "instant", "log", + "mime 0.1.0", "num-traits", "palette", "raw-window-handle", "serde", - "smithay-client-toolkit 0.18.0", + "smithay-client-toolkit", + "smol_str", "thiserror", + "web-time", + "window_clipboard", "xxhash-rust", ] [[package]] name = "iced_futures" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "futures", "iced_core", @@ -2211,14 +2452,15 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "bytemuck", "cosmic-text", "glam", "half", "iced_core", + "iced_futures", "image", "kamadak-exif", "log", @@ -2234,32 +2476,33 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "iced_graphics", "iced_tiny_skia", "iced_wgpu", "log", - "raw-window-handle", "thiserror", ] [[package]] name = "iced_runtime" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ + "dnd", "iced_accessibility", "iced_core", "iced_futures", - "smithay-client-toolkit 0.18.0", + "smithay-client-toolkit", "thiserror", + "window_clipboard", ] [[package]] name = "iced_sctk" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "enum-repr", "float-cmp", @@ -2271,19 +2514,21 @@ dependencies = [ "itertools", "lazy_static", "raw-window-handle", - "smithay-client-toolkit 0.18.0", - "smithay-clipboard", + "smithay-client-toolkit", "thiserror", "tracing", - "wayland-backend 0.3.2", - "wayland-protocols 0.31.0", + "wayland-backend", + "wayland-protocols", + "window_clipboard", + "xkbcommon", + "xkbcommon-dl", "xkeysym", ] [[package]] name = "iced_style" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "iced_core", "once_cell", @@ -2293,14 +2538,13 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "bytemuck", "cosmic-text", "iced_graphics", "kurbo", "log", - "raw-window-handle", "resvg", "rustc-hash", "softbuffer", @@ -2311,9 +2555,10 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ - "bitflags 1.3.2", + "as-raw-xcb-connection", + "bitflags 2.6.0", "bytemuck", "futures", "glam", @@ -2325,22 +2570,32 @@ dependencies = [ "once_cell", "raw-window-handle", "resvg", + "rustix 0.38.34", + "smithay-client-toolkit", + "tiny-xlib", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-sys", "wgpu", + "x11rb", ] [[package]] name = "iced_widget" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ + "dnd", "iced_renderer", "iced_runtime", "iced_style", "num-traits", "ouroboros", - "smithay-client-toolkit 0.18.0", + "smithay-client-toolkit", "thiserror", "unicode-segmentation", + "window_clipboard", ] [[package]] @@ -2361,17 +2616,16 @@ dependencies = [ [[package]] name = "image" -version = "0.24.7" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" dependencies = [ "bytemuck", "byteorder", "color_quant", "exr", - "gif", + "gif 0.13.1", "jpeg-decoder", - "num-rational", "num-traits", "png", "qoi", @@ -2396,12 +2650,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -2426,18 +2680,18 @@ dependencies = [ [[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 = "intl-memoizer" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f" +checksum = "fe22e020fce238ae18a6d5d8c502ee76a52a6e880d99477657e6acc30ec57bda" dependencies = [ "type-map", "unic-langid", @@ -2458,7 +2712,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -2471,33 +2725,33 @@ checksum = "5a611371471e98973dbcab4e0ec66c31a10bc356eeb4d54a0e05eac8158fe38c" [[package]] name = "itertools" -version = "0.10.5" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jpeg-decoder" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" +checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" dependencies = [ "rayon", ] [[package]] name = "js-sys" -version = "0.3.66" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -2518,7 +2772,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" dependencies = [ "libc", - "libloading 0.8.1", + "libloading 0.8.5", "pkg-config", ] @@ -2528,6 +2782,15 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" +[[package]] +name = "known-folders" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4397c789f2709d23cfcb703b316e0766a8d4b17db2d47b0ab096ef6047cae1d8" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "kqueue" version = "1.0.8" @@ -2559,9 +2822,9 @@ 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" [[package]] name = "lebe" @@ -2571,17 +2834,18 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libc" -version = "0.2.151" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic/#6d8bb88087b9011b089888ff62f4868808719064" +source = "git+https://github.com/pop-os/libcosmic/#9e344b15c31ede67e0f79508108aa117d366eefa" dependencies = [ "apply", - "ashpd", + "ashpd 0.9.1", + "chrono", "cosmic-client-toolkit", "cosmic-config", "cosmic-settings-daemon", @@ -2601,6 +2865,8 @@ dependencies = [ "iced_widget", "lazy_static", "palette", + "rfd", + "serde", "slotmap", "taffy", "thiserror", @@ -2608,7 +2874,7 @@ dependencies = [ "tracing", "unicode-segmentation", "url", - "zbus", + "zbus 4.4.0", ] [[package]] @@ -2623,12 +2889,12 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.1" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-sys 0.48.0", + "windows-targets 0.52.6", ] [[package]] @@ -2639,13 +2905,12 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libredox" -version = "0.0.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "libc", - "redox_syscall 0.4.1", ] [[package]] @@ -2656,9 +2921,15 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "linux-raw-sys" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4" [[package]] name = "locale_config" @@ -2675,9 +2946,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -2685,9 +2956,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "log-panics" @@ -2701,11 +2972,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.11.1" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" +checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -2730,9 +3001,9 @@ dependencies = [ [[package]] name = "lyon_geom" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74df1ff0a0147282eb10699537a03baa7d31972b58984a1d44ce0624043fe8ad" +checksum = "edecfb8d234a2b0be031ab02ebcdd9f3b9ee418fb35e265f7a540a48d197bff9" dependencies = [ "arrayvec", "euclid", @@ -2741,9 +3012,9 @@ dependencies = [ [[package]] name = "lyon_path" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca507745ba7ccbc76e5c44e7b63b1a29d2b0d6126f375806a5bbaf657c7d6c45" +checksum = "9c08a606c7a59638d6c6aa18ac91a06aa9fb5f765a7efb27e6a4da58700740d7" dependencies = [ "lyon_geom", "num-traits", @@ -2751,13 +3022,13 @@ dependencies = [ [[package]] name = "lyon_tessellation" -version = "1.0.12" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f5bcf02928361d18e6edb8ad3bc5b93cba8aa57e2508deb072c2d2ade8bbd0d" +checksum = "579d42360a4b09846eff2feef28f538696c7d6c7439bfa65874ff3cbe0951b2c" dependencies = [ "float_next_after", "lyon_path", - "thiserror", + "num-traits", ] [[package]] @@ -2786,18 +3057,9 @@ checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" - -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" @@ -2810,22 +3072,13 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.9.0" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.7.1" @@ -2837,9 +3090,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] @@ -2850,7 +3103,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "block", "core-graphics-types", "foreign-types", @@ -2859,6 +3112,14 @@ dependencies = [ "paste", ] +[[package]] +name = "mime" +version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "smithay-clipboard", +] + [[package]] name = "mime" version = "0.3.17" @@ -2873,9 +3134,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", "simd-adler32", @@ -2883,9 +3144,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "log", @@ -2893,6 +3154,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "mio" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "wasi", + "windows-sys 0.52.0", +] + [[package]] name = "mutate_once" version = "0.1.1" @@ -2901,15 +3174,15 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b" [[package]] name = "naga" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae585df4b6514cf8842ac0f1ab4992edc975892704835b549cf818dc0191249e" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ + "arrayvec", "bit-set", - "bitflags 2.4.1", + "bitflags 2.6.0", "codespan-reporting", "hexf-parse", - "indexmap 2.1.0", + "indexmap 2.3.0", "log", "num-traits", "rustc-hash", @@ -2919,27 +3192,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" -dependencies = [ - "getrandom", -] - -[[package]] -name = "nix" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - [[package]] name = "nix" version = "0.26.4" @@ -2955,13 +3207,15 @@ dependencies = [ [[package]] name = "nix" -version = "0.27.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "cfg-if", + "cfg_aliases 0.2.1", "libc", + "memoffset 0.9.1", ] [[package]] @@ -2980,7 +3234,7 @@ version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "crossbeam-channel", "filetime", "fsevent-sys", @@ -2988,7 +3242,7 @@ dependencies = [ "kqueue", "libc", "log", - "mio", + "mio 0.8.11", "walkdir", "windows-sys 0.48.0", ] @@ -3005,9 +3259,9 @@ dependencies = [ [[package]] name = "num" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ "num-bigint", "num-complex", @@ -3019,39 +3273,37 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-complex" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] [[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", @@ -3060,11 +3312,10 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", "num-traits", @@ -3072,9 +3323,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -3086,7 +3337,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] @@ -3131,9 +3382,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.1" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" dependencies = [ "memchr", ] @@ -3152,12 +3403,12 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "ordered-multimap" -version = "0.4.3" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a" +checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" dependencies = [ "dlv-list", - "hashbrown 0.12.3", + "hashbrown 0.14.5", ] [[package]] @@ -3191,7 +3442,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -3202,9 +3453,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "palette" -version = "0.7.3" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e2f34147767aa758aa649415b50a69eeb46a67f9dc7db8011eeb3d84b351dc" +checksum = "4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6" dependencies = [ "approx", "fast-srgb8", @@ -3215,13 +3466,14 @@ dependencies = [ [[package]] name = "palette_derive" -version = "0.7.3" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7db010ec5ff3d4385e4f133916faacd9dad0f6a09394c92d825b3aed310fa0a" +checksum = "f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30" dependencies = [ + "by_address", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -3243,12 +3495,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] @@ -3267,22 +3519,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall 0.5.3", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "percent-encoding" @@ -3320,7 +3572,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -3340,29 +3592,29 @@ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -3372,26 +3624,26 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" dependencies = [ "atomic-waker", - "fastrand 2.0.1", + "fastrand 2.1.0", "futures-io", ] [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "png" -version = "0.17.10" +version = "0.17.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" dependencies = [ "bitflags 1.3.2", "crc32fast", @@ -3418,23 +3670,33 @@ dependencies = [ [[package]] name = "polling" -version = "3.3.1" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", + "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.28", + "rustix 0.38.34", "tracing", "windows-sys 0.52.0", ] [[package]] -name = "ppv-lite86" -version = "0.2.17" +name = "pollster" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" + +[[package]] +name = "ppv-lite86" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee4364d9f3b902ef14fab8a1ddffb783a1cb6b4bba3bfc1fa3922732c7de97f" +dependencies = [ + "zerocopy 0.6.6", +] [[package]] name = "presser" @@ -3452,6 +3714,15 @@ dependencies = [ "toml_edit 0.19.15", ] +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -3478,24 +3749,24 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.70" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] [[package]] name = "profiling" -version = "1.0.12" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de09527cd2ea2c2d59fb6c2f8c1ab8c71709ed9d1b6d60b0e1c9fbb6fdcb33c" +checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" [[package]] name = "prost" -version = "0.11.9" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", "prost-derive", @@ -3503,22 +3774,22 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.9" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.72", ] [[package]] name = "prost-types" -version = "0.11.9" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ "prost", ] @@ -3534,27 +3805,18 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.28.2" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1" -dependencies = [ - "memchr", -] - -[[package]] -name = "quick-xml" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" +checksum = "6f24d770aeca0eacb81ac29dfbc55ebcc09312fdd1f8bbecdc7e4a84e000e3b4" dependencies = [ "memchr", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -3597,21 +3859,21 @@ checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" [[package]] name = "rangemap" -version = "1.4.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977b1e897f9d764566891689e642653e5ed90c6895106acd005eb4c1d0203991" +checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" [[package]] name = "raw-window-handle" -version = "0.5.2" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "rayon" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -3619,9 +3881,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -3633,6 +3895,16 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" +[[package]] +name = "read-fonts" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c141b9980e1150201b2a3a32879001c8f975fe313ec3df5471a9b5c79a880cd" +dependencies = [ + "bytemuck", + "font-types", +] + [[package]] name = "redox_syscall" version = "0.2.16" @@ -3652,10 +3924,19 @@ dependencies = [ ] [[package]] -name = "redox_users" -version = "0.4.4" +name = "redox_syscall" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "redox_users" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom", "libredox", @@ -3664,14 +3945,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", - "regex-syntax 0.8.2", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -3685,13 +3966,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.4", ] [[package]] @@ -3702,15 +3983,15 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "renderdoc-sys" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "resvg" @@ -3718,7 +3999,7 @@ version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cadccb3d99a9efb8e5e00c16fbb732cbe400db2ec7fc004697ee7d97d86cf1f4" dependencies = [ - "gif", + "gif 0.12.0", "jpeg-decoder", "log", "pico-args", @@ -3730,10 +4011,33 @@ dependencies = [ ] [[package]] -name = "rgb" -version = "0.8.37" +name = "rfd" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8" +checksum = "25a73a7337fc24366edfca76ec521f51877b114e42dab584008209cca6719251" +dependencies = [ + "ashpd 0.8.1", + "block", + "dispatch", + "js-sys", + "log", + "objc", + "objc-foundation", + "objc_id", + "pollster", + "raw-window-handle", + "urlencoding", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-sys 0.48.0", +] + +[[package]] +name = "rgb" +version = "0.8.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade4539f42266ded9e755c605bdddf546242b2c961b03b06a7375260788a0523" dependencies = [ "bytemuck", ] @@ -3745,20 +4049,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64", - "bitflags 2.4.1", + "bitflags 2.6.0", "serde", "serde_derive", ] -[[package]] -name = "roxmltree" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "862340e351ce1b271a378ec53f304a5558f7db87f3769dc655a8f6ecbb68b302" -dependencies = [ - "xmlparser", -] - [[package]] name = "roxmltree" version = "0.19.0" @@ -3766,10 +4061,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f" [[package]] -name = "rust-embed" -version = "6.8.1" +name = "roxmltree" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a36224c3276f8c4ebc8c20f158eca7ca4359c8db89991c4925132aaaf6702661" +checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" + +[[package]] +name = "rust-embed" +version = "8.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa66af4a4fdd5e7ebc276f115e895611a34739a9c1c01028383d612d550953c0" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -3778,22 +4079,22 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "6.8.1" +version = "8.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b94b81e5b2c284684141a2fb9e2a31be90638caf040bf9afbc5a0416afe1ac" +checksum = "6125dbc8867951125eec87294137f4e9c2c96566e61bf72c45095a7c77761478" dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.41", + "syn 2.0.72", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "7.8.1" +version = "8.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d38ff6bf570dc3bb7100fce9f7b60c33fa71d80e88da3f2580df4ff2bdded74" +checksum = "2e5347777e9aacb56039b0e1f28785929a8a3b709e87482e7442c72e7c12529d" dependencies = [ "sha2", "walkdir", @@ -3801,9 +4102,9 @@ dependencies = [ [[package]] name = "rust-ini" -version = "0.18.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" +checksum = "3e0698206bcb8882bf2a9ecb4c1e7785db57ff052297085a6efd4fe42302068a" dependencies = [ "cfg-if", "ordered-multimap", @@ -3811,9 +4112,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -3837,22 +4138,22 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.28" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys 0.4.12", + "linux-raw-sys 0.4.14", "windows-sys 0.52.0", ] [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "rustybuzz" @@ -3860,22 +4161,38 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", + "bytemuck", + "smallvec", + "ttf-parser 0.20.0", + "unicode-bidi-mirroring 0.1.0", + "unicode-ccc 0.1.2", + "unicode-properties", + "unicode-script", +] + +[[package]] +name = "rustybuzz" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" +dependencies = [ + "bitflags 2.6.0", "bytemuck", "libm", "smallvec", - "ttf-parser", - "unicode-bidi-mirroring", - "unicode-ccc", + "ttf-parser 0.21.1", + "unicode-bidi-mirroring 0.2.0", + "unicode-ccc 0.2.0", "unicode-properties", "unicode-script", ] [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "same-file" @@ -3904,14 +4221,14 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e14e4d63b804dc0c7ec4a1e52bcb63f02c7ac94476755aa579edac21e01f915d" dependencies = [ - "self_cell 1.0.2", + "self_cell 1.0.4", ] [[package]] name = "self_cell" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e388332cd64eb80cd595a00941baf513caffae8dce9cfd0467fc9c66397dade6" +checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" [[package]] name = "sendfd" @@ -3925,51 +4242,53 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.193" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609" dependencies = [ + "indexmap 2.3.0", "itoa", + "memchr", "ryu", "serde", ] [[package]] name = "serde_repr" -version = "0.1.17" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "serde_spanned" -version = "0.6.4" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -4005,17 +4324,11 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shlex" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" - [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -4041,6 +4354,16 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +[[package]] +name = "skrifa" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abea4738067b1e628c6ce28b2c216c19e9ea95715cdb332680e821c3bec2ef23" +dependencies = [ + "bytemuck", + "read-fonts", +] + [[package]] name = "slab" version = "0.4.9" @@ -4061,63 +4384,56 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.2" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smithay-client-toolkit" -version = "0.16.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 1.3.2", - "dlib", - "lazy_static", - "log", - "memmap2 0.5.10", - "nix 0.24.3", - "pkg-config", - "wayland-client 0.29.5", - "wayland-cursor 0.29.5", - "wayland-protocols 0.29.5", -] - -[[package]] -name = "smithay-client-toolkit" -version = "0.18.0" -source = "git+https://github.com/smithay/client-toolkit?rev=2e9bf9f#2e9bf9f31698851ca373e5f1e7ba3e6e804e4db1" -dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "bytemuck", "calloop", "calloop-wayland-source", "cursor-icon", "libc", "log", - "memmap2 0.9.0", + "memmap2 0.9.4", "pkg-config", - "rustix 0.38.28", + "rustix 0.38.34", "thiserror", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", + "wayland-backend", + "wayland-client", "wayland-csd-frame", - "wayland-cursor 0.31.0", - "wayland-protocols 0.31.0", + "wayland-cursor", + "wayland-protocols", "wayland-protocols-wlr", - "wayland-scanner 0.31.0", + "wayland-scanner", "xkbcommon", "xkeysym", ] [[package]] name = "smithay-clipboard" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8" +version = "0.8.0" +source = "git+https://github.com/pop-os/smithay-clipboard?tag=pop-dnd-5#5a3007def49eb678d1144850c9ee04b80707c56a" dependencies = [ - "smithay-client-toolkit 0.16.1", - "wayland-client 0.29.5", + "libc", + "raw-window-handle", + "smithay-client-toolkit", + "wayland-backend", +] + +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" +dependencies = [ + "serde", ] [[package]] @@ -4132,41 +4448,41 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "softbuffer" -version = "0.3.3" -source = "git+https://github.com/pop-os/softbuffer?tag=v0.3-cosmic#6f0371ccece51d124c6c5d37082189df0dc5f9ba" +version = "0.4.1" +source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#6e75b1ad7e98397d37cb187886d05969bc480995" dependencies = [ "as-raw-xcb-connection", "bytemuck", - "cfg_aliases", + "cfg_aliases 0.2.1", "cocoa", "core-graphics", "drm", - "fastrand 2.0.1", + "fastrand 2.1.0", "foreign-types", "js-sys", "log", - "memmap2 0.9.0", + "memmap2 0.9.4", "objc", "raw-window-handle", "redox_syscall 0.4.1", - "rustix 0.38.28", + "rustix 0.38.34", "tiny-xlib", "wasm-bindgen", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", - "wayland-sys 0.31.1", + "wayland-backend", + "wayland-client", + "wayland-sys", "web-sys", - "windows-sys 0.48.0", + "windows-sys 0.52.0", "x11rb", ] @@ -4181,12 +4497,11 @@ dependencies = [ [[package]] name = "spirv" -version = "0.2.0+1.5.4" +version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830" +checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 1.3.2", - "num-traits", + "bitflags 2.6.0", ] [[package]] @@ -4211,10 +4526,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] -name = "svg_fmt" -version = "0.4.1" +name = "strsim" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "svg_fmt" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20e16a0f46cf5fd675563ef54f26e83e20f2366bcf027bcb3cc3ed2b98aaf2ca" [[package]] name = "svgtypes" @@ -4228,10 +4549,11 @@ dependencies = [ [[package]] name = "swash" -version = "0.1.8" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7c73c813353c347272919aa1af2885068b05e625e5532b43049e4f641ae77f" +checksum = "93cdc334a50fcc2aa3f04761af3b28196280a6aaadb1ef11215c478ae32615ac" dependencies = [ + "skrifa", "yazi", "zeno", ] @@ -4249,9 +4571,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.41" +version = "2.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269" +checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" dependencies = [ "proc-macro2", "quote", @@ -4286,51 +4608,50 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.8.1" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", - "fastrand 2.0.1", - "redox_syscall 0.4.1", - "rustix 0.38.28", - "windows-sys 0.48.0", + "fastrand 2.1.0", + "rustix 0.38.34", + "windows-sys 0.52.0", ] [[package]] name = "termcolor" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -4338,9 +4659,9 @@ dependencies = [ [[package]] name = "tiff" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211" +checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" dependencies = [ "flate2", "jpeg-decoder", @@ -4348,10 +4669,19 @@ dependencies = [ ] [[package]] -name = "tiny-skia" -version = "0.11.3" +name = "tiny-keccak" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a067b809476893fce6a254cf285850ff69c847e6cfbade6a20b655b6c7e80d" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tiny-skia" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" dependencies = [ "arrayref", "arrayvec", @@ -4364,9 +4694,9 @@ dependencies = [ [[package]] name = "tiny-skia-path" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de35e8a90052baaaf61f171680ac2f8e925a1e43ea9d2e3a00514772250e541" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" dependencies = [ "arrayref", "bytemuck", @@ -4375,30 +4705,31 @@ dependencies = [ [[package]] name = "tiny-xlib" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d" +checksum = "1d52f22673960ad13af14ff4025997312def1223bfa7c8e4949d099e6b3d5d1c" dependencies = [ "as-raw-xcb-connection", - "ctor", - "libloading 0.8.1", + "ctor-lite", + "libloading 0.8.5", + "pkg-config", "tracing", ] [[package]] name = "tinystr" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ "displaydoc", ] [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -4411,21 +4742,20 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.0" +version = "1.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" +checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" dependencies = [ "backtrace", "bytes", "libc", - "mio", - "num_cpus", + "mio 1.0.1", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2 0.5.7", "tokio-macros", "tracing", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -4440,20 +4770,20 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] name = "tokio-stream" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", "pin-project-lite", @@ -4462,16 +4792,15 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] @@ -4485,21 +4814,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.8" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.21.0", + "toml_edit 0.22.20", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] @@ -4510,36 +4839,46 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.3.0", "toml_datetime", - "winnow", + "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.21.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.3.0", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +dependencies = [ + "indexmap 2.3.0", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.18", ] [[package]] name = "tonic" -version = "0.9.2" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" dependencies = [ + "async-stream", "async-trait", "axum", "base64", "bytes", - "futures-core", - "futures-util", "h2", "http", "http-body", @@ -4607,7 +4946,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", ] [[package]] @@ -4673,10 +5012,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" [[package]] -name = "type-map" -version = "0.4.0" +name = "ttf-parser" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46" +checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" + +[[package]] +name = "type-map" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f" dependencies = [ "rustc-hash", ] @@ -4689,28 +5034,29 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "uds_windows" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" dependencies = [ + "memoffset 0.9.1", "tempfile", "winapi", ] [[package]] name = "unic-langid" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "238722e6d794ed130f91f4ea33e01fcff4f188d92337a21297892521c72df516" +checksum = "23dd9d1e72a73b25e07123a80776aae3e7b0ec461ef94f9151eed6ec88005a44" dependencies = [ "unic-langid-impl", ] [[package]] name = "unic-langid-impl" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd55a2063fdea4ef1f8633243a7b0524cbeef1905ae04c31a1c9b9775c55bc6" +checksum = "0a5422c1f65949306c99240b81de9f3f15929f5a8bfe05bb44b034cc8bf593e5" dependencies = [ "serde", "tinystr", @@ -4718,9 +5064,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-bidi-mirroring" @@ -4728,12 +5074,24 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694" +[[package]] +name = "unicode-bidi-mirroring" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" + [[package]] name = "unicode-ccc" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1" +[[package]] +name = "unicode-ccc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" + [[package]] name = "unicode-ident" version = "1.0.12" @@ -4748,30 +5106,30 @@ checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] name = "unicode-properties" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7f91c8b21fbbaa18853c3d0801c78f4fc94cdb976699bb03e832e75f7fd22f0" +checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" [[package]] name = "unicode-script" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc" +checksum = "ad8d71f5726e5f285a935e9fe8edfd53f0491eb6e9a5774097fdabee7cd8c9cd" [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-vo" @@ -4781,9 +5139,9 @@ checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" @@ -4793,9 +5151,9 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", @@ -4803,6 +5161,12 @@ dependencies = [ "serde", ] +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + [[package]] name = "usvg" version = "0.37.0" @@ -4845,7 +5209,7 @@ dependencies = [ "fontdb", "kurbo", "log", - "rustybuzz", + "rustybuzz 0.12.1", "unicode-bidi", "unicode-script", "unicode-vo", @@ -4872,21 +5236,21 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "waker-fn" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" [[package]] name = "walkdir" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -4909,9 +5273,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -4919,24 +5283,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.39" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -4946,9 +5310,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4956,22 +5320,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-timer" @@ -4990,83 +5354,28 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.1.2" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b48e27457e8da3b2260ac60d0a94512f5cba36448679f3747c0865b7893ed8" +checksum = "f90e11ce2ca99c97b940ee83edbae9da2d56a08f9ea8158550fd77fa31722993" dependencies = [ "cc", "downcast-rs", - "io-lifetimes 1.0.11", - "nix 0.26.4", + "rustix 0.38.34", "scoped-tls", "smallvec", - "wayland-sys 0.30.1", -] - -[[package]] -name = "wayland-backend" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4" -dependencies = [ - "cc", - "downcast-rs", - "nix 0.26.4", - "scoped-tls", - "smallvec", - "wayland-sys 0.31.1", + "wayland-sys", ] [[package]] name = "wayland-client" -version = "0.29.5" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" +checksum = "7e321577a0a165911bdcfb39cf029302479d7527b517ee58ab0f6ad09edf0943" dependencies = [ - "bitflags 1.3.2", - "downcast-rs", - "libc", - "nix 0.24.3", - "scoped-tls", - "wayland-commons", - "wayland-scanner 0.29.5", - "wayland-sys 0.29.5", -] - -[[package]] -name = "wayland-client" -version = "0.30.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "489c9654770f674fc7e266b3c579f4053d7551df0ceb392f153adb1f9ed06ac8" -dependencies = [ - "bitflags 1.3.2", - "nix 0.26.4", - "wayland-backend 0.1.2", - "wayland-scanner 0.30.1", -] - -[[package]] -name = "wayland-client" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3" -dependencies = [ - "bitflags 2.4.1", - "nix 0.26.4", - "wayland-backend 0.3.2", - "wayland-scanner 0.31.0", -] - -[[package]] -name = "wayland-commons" -version = "0.29.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" -dependencies = [ - "nix 0.24.3", - "once_cell", - "smallvec", - "wayland-sys 0.29.5", + "bitflags 2.6.0", + "rustix 0.38.34", + "wayland-backend", + "wayland-scanner", ] [[package]] @@ -5075,157 +5384,79 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "cursor-icon", - "wayland-backend 0.3.2", + "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.29.5" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661" +checksum = "6ef9489a8df197ebf3a8ce8a7a7f0a2320035c3743f3c1bd0bdbccf07ce64f95" dependencies = [ - "nix 0.24.3", - "wayland-client 0.29.5", - "xcursor", -] - -[[package]] -name = "wayland-cursor" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44aa20ae986659d6c77d64d808a046996a932aa763913864dc40c359ef7ad5b" -dependencies = [ - "nix 0.26.4", - "wayland-client 0.31.1", + "rustix 0.38.34", + "wayland-client", "xcursor", ] [[package]] name = "wayland-protocols" -version = "0.29.5" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" +checksum = "62989625a776e827cc0f15d41444a3cea5205b963c3a25be48ae1b52d6b4daaa" dependencies = [ - "bitflags 1.3.2", - "wayland-client 0.29.5", - "wayland-commons", - "wayland-scanner 0.29.5", -] - -[[package]] -name = "wayland-protocols" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b28101e5ca94f70461a6c2d610f76d85ad223d042dd76585ab23d3422dd9b4d" -dependencies = [ - "bitflags 1.3.2", - "wayland-backend 0.1.2", - "wayland-client 0.30.2", - "wayland-scanner 0.30.1", -] - -[[package]] -name = "wayland-protocols" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c" -dependencies = [ - "bitflags 2.4.1", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", - "wayland-scanner 0.31.0", + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-scanner", "wayland-server", ] [[package]] name = "wayland-protocols-wlr" -version = "0.2.0" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +checksum = "fd993de54a40a40fbe5601d9f1fbcaef0aebcc5fda447d7dc8f6dcbaae4f8953" dependencies = [ - "bitflags 2.4.1", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", - "wayland-protocols 0.31.0", - "wayland-scanner 0.31.0", + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", + "wayland-server", ] [[package]] name = "wayland-scanner" -version = "0.29.5" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" +checksum = "d7b56f89937f1cf2ee1f1259cf2936a17a1f45d8f0aa1019fae6d470d304cfa6" dependencies = [ "proc-macro2", - "quote", - "xml-rs", -] - -[[package]] -name = "wayland-scanner" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b873b257fbc32ec909c0eb80dea312076a67014e65e245f5eb69a6b8ab330e" -dependencies = [ - "proc-macro2", - "quick-xml 0.28.2", - "quote", -] - -[[package]] -name = "wayland-scanner" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c" -dependencies = [ - "proc-macro2", - "quick-xml 0.30.0", + "quick-xml", "quote", ] [[package]] name = "wayland-server" -version = "0.31.0" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3f0c52a445936ca1184c98f1a69cf4ad9c9130788884531ef04428468cb1ce" +checksum = "2f0a4bab6d420ee4a609b63ef4d5f9b5d309c6b93a029fccab70f2594c0cb3ae" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "downcast-rs", "io-lifetimes 2.0.3", - "nix 0.26.4", - "wayland-backend 0.3.2", - "wayland-scanner 0.31.0", + "rustix 0.38.34", + "wayland-backend", + "wayland-scanner", ] [[package]] name = "wayland-sys" -version = "0.29.5" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" -dependencies = [ - "dlib", - "lazy_static", - "pkg-config", -] - -[[package]] -name = "wayland-sys" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" -dependencies = [ - "dlib", - "log", - "pkg-config", -] - -[[package]] -name = "wayland-sys" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" +checksum = "43676fe2daf68754ecf1d72026e4e6c15483198b5d24e888b74d3f22f887a148" dependencies = [ "dlib", "log", @@ -5235,9 +5466,19 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" dependencies = [ "js-sys", "wasm-bindgen", @@ -5245,23 +5486,22 @@ dependencies = [ [[package]] name = "weezl" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" +checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e7d227c9f961f2061c26f4cb0fbd4df0ef37e056edd0931783599d6c94ef24" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ "arrayvec", "cfg-if", - "flume 0.11.0", + "cfg_aliases 0.1.1", "js-sys", "log", "naga", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "profiling", "raw-window-handle", "smallvec", @@ -5276,17 +5516,19 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef91c1d62d1e9e81c79e600131a258edf75c9531cbdbde09c44a011a47312726" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.4.1", + "bitflags 2.6.0", + "cfg_aliases 0.1.1", "codespan-reporting", + "indexmap 2.3.0", "log", "naga", - "parking_lot 0.12.1", + "once_cell", + "parking_lot 0.12.3", "profiling", "raw-window-handle", "rustc-hash", @@ -5299,16 +5541,16 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84ecc802da3eb67b4cf3dd9ea6fe45bbb47ef13e6c49c5c3240868a9cc6cdd9" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ "android_system_properties", "arrayvec", "ash", "bit-set", - "bitflags 2.4.1", + "bitflags 2.6.0", "block", + "cfg_aliases 0.1.1", "core-graphics-types", "d3d12", "glow", @@ -5320,13 +5562,13 @@ dependencies = [ "js-sys", "khronos-egl", "libc", - "libloading 0.8.1", + "libloading 0.8.5", "log", "metal", "naga", "objc", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "profiling", "range-alloc", "raw-window-handle", @@ -5342,20 +5584,19 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d5ed5f0edf0de351fe311c53304986315ce866f394a2e6df0c4b3c70774bcdd" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.6.0", "js-sys", "web-sys", ] [[package]] name = "widestring" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" [[package]] name = "winapi" @@ -5375,20 +5616,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-wsapoll" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" -dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -5397,23 +5629,38 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "window_clipboard" +version = "0.4.1" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +dependencies = [ + "clipboard-win", + "clipboard_macos", + "clipboard_wayland", + "clipboard_x11", + "dnd", + "mime 0.1.0", + "raw-window-handle", + "thiserror", +] + [[package]] name = "windows" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ "windows-core", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -5431,7 +5678,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.6", ] [[package]] @@ -5451,17 +5698,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "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]] @@ -5472,9 +5720,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -5484,9 +5732,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -5496,9 +5744,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[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_msvc" @@ -5508,9 +5762,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -5520,9 +5774,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -5532,9 +5786,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -5544,50 +5798,54 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.5.28" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c830786f7720c2fd27a1a0e27a709dbd3c4d009b56d098fc742d4f4eab91fe2" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] [[package]] name = "x11rb" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" +checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" dependencies = [ "as-raw-xcb-connection", "gethostname", "libc", - "libloading 0.7.4", - "nix 0.26.4", + "libloading 0.8.5", "once_cell", - "winapi", - "winapi-wsapoll", + "rustix 0.38.34", "x11rb-protocol", ] [[package]] name = "x11rb-protocol" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc" -dependencies = [ - "nix 0.26.4", -] +checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" [[package]] name = "xcursor" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" +checksum = "d491ee231a51ae64a5b762114c3ac2104b967aadba1de45c86ca42cf051513b7" [[package]] name = "xdg" @@ -5597,12 +5855,21 @@ checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546" [[package]] name = "xdg-home" -version = "1.0.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" +checksum = "ca91dcf8f93db085f3a0a29358cd0b9d670915468f4290e8b85d118a34211ab8" dependencies = [ - "nix 0.26.4", - "winapi", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "xdg-shell-wrapper-config" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-panel#cfee4b5545379bddf34c01a9d5ff4c82b5609e8e" +dependencies = [ + "serde", + "wayland-protocols-wlr", ] [[package]] @@ -5617,25 +5884,32 @@ dependencies = [ ] [[package]] -name = "xkeysym" -version = "0.2.0" +name = "xkbcommon-dl" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.6.0", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" dependencies = [ "bytemuck", ] [[package]] name = "xml-rs" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" - -[[package]] -name = "xmlparser" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" [[package]] name = "xmlwriter" @@ -5645,9 +5919,9 @@ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" [[package]] name = "xxhash-rust" -version = "0.8.7" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b" +checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" [[package]] name = "yazi" @@ -5657,20 +5931,14 @@ checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" [[package]] name = "zbus" -version = "3.14.1" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948" +checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" dependencies = [ - "async-broadcast", - "async-executor", - "async-fs", - "async-io 1.13.0", - "async-lock 2.8.0", - "async-process", + "async-broadcast 0.5.1", + "async-process 1.8.1", "async-recursion", - "async-task", "async-trait", - "blocking", "byteorder", "derivative", "enumflags2", @@ -5692,34 +5960,97 @@ dependencies = [ "uds_windows", "winapi", "xdg-home", - "zbus_macros", - "zbus_names", - "zvariant", + "zbus_macros 3.15.2", + "zbus_names 2.6.1", + "zvariant 3.15.2", +] + +[[package]] +name = "zbus" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" +dependencies = [ + "async-broadcast 0.7.1", + "async-executor", + "async-fs", + "async-io 2.3.3", + "async-lock 3.4.0", + "async-process 2.2.3", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "enumflags2", + "event-listener 5.3.1", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix 0.29.0", + "ordered-stream", + "rand", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tokio", + "tracing", + "uds_windows", + "windows-sys 0.52.0", + "xdg-home", + "zbus_macros 4.4.0", + "zbus_names 3.0.0", + "zvariant 4.2.0", ] [[package]] name = "zbus_macros" -version = "3.14.1" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" +checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "regex", "syn 1.0.109", - "zvariant_utils", + "zvariant_utils 1.0.1", +] + +[[package]] +name = "zbus_macros" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.72", + "zvariant_utils 2.1.0", ] [[package]] name = "zbus_names" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9" +checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" dependencies = [ "serde", "static_assertions", - "zvariant", + "zvariant 3.15.2", +] + +[[package]] +name = "zbus_names" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" +dependencies = [ + "serde", + "static_assertions", + "zvariant 4.2.0", ] [[package]] @@ -5730,22 +6061,43 @@ checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" [[package]] name = "zerocopy" -version = "0.7.30" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7" +checksum = "854e949ac82d619ee9a14c66a1b674ac730422372ccb759ce0c39cabcf2bf8e6" dependencies = [ - "zerocopy-derive", + "byteorder", + "zerocopy-derive 0.6.6", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "zerocopy-derive 0.7.35", ] [[package]] name = "zerocopy-derive" -version = "0.7.30" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba" +checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.72", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", ] [[package]] @@ -5759,30 +6111,56 @@ dependencies = [ [[package]] name = "zvariant" -version = "3.15.0" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c" +checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" dependencies = [ "byteorder", "enumflags2", "libc", "serde", "static_assertions", + "zvariant_derive 3.15.2", +] + +[[package]] +name = "zvariant" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" +dependencies = [ + "endi", + "enumflags2", + "serde", + "static_assertions", "url", - "zvariant_derive", + "zvariant_derive 4.2.0", ] [[package]] name = "zvariant_derive" -version = "3.15.0" +version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd" +checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", - "zvariant_utils", + "zvariant_utils 1.0.1", +] + +[[package]] +name = "zvariant_derive" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.72", + "zvariant_utils 2.1.0", ] [[package]] @@ -5795,3 +6173,14 @@ dependencies = [ "quote", "syn 1.0.109", ] + +[[package]] +name = "zvariant_utils" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] diff --git a/pkgs/by-name/co/cosmic-notifications/package.nix b/pkgs/by-name/co/cosmic-notifications/package.nix index 2bf02f2245d3..36a9f93ae0da 100644 --- a/pkgs/by-name/co/cosmic-notifications/package.nix +++ b/pkgs/by-name/co/cosmic-notifications/package.nix @@ -15,27 +15,31 @@ rustPlatform.buildRustPackage rec { pname = "cosmic-notifications"; - version = "unstable-2024-01-05"; + version = "1.0.0-alpha.1"; src = fetchFromGitHub { owner = "pop-os"; repo = pname; - rev = "3b07cf550a54b757a5f136e4d8fde74d09afe3fd"; - hash = "sha256-+S8bPorarSJQwIQfTmo4qK+B1kKAlQvllUuZ2UBL0eY="; + rev = "epoch-${version}"; + hash = "sha256-tCizZePze94tbJbR91N9rfUhrLFTAMW2oL9ByKOeDAU="; }; cargoLock = { lockFile = ./Cargo.lock; outputHashes = { - "accesskit-0.11.0" = "sha256-xVhe6adUb8VmwIKKjHxwCwOo5Y1p3Or3ylcJJdLDrrE="; + "accesskit-0.12.2" = "sha256-1UwgRyUe0PQrZrpS7574oNLi13fg5HpgILtZGW6JNtQ="; "atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA="; - "cosmic-client-toolkit-0.1.0" = "sha256-AEgvF7i/OWPdEMi8WUaAg99igBwE/AexhAXHxyeJMdc="; - "cosmic-config-0.1.0" = "sha256-DmuUvFjhoqI5lneiWFFYF3WM3mACx5ZfZqeKpsyL7Ss="; - "cosmic-text-0.10.0" = "sha256-kIBhh6CakQaWGfBWu5qaV8LAbJENX7GW+BStJK/P4iA="; - "cosmic-settings-daemon-0.1.0" = "sha256-z/dvRyc3Zc1fAQh2HKk6NI6QSDpNqarqslwszjU+0nc="; - "glyphon-0.3.0" = "sha256-JGkNIfj1HjOF8kGxqJPNq/JO+NhZD6XrZ4KmkXEP6Xc="; - "smithay-client-toolkit-0.18.0" = "sha256-2WbDKlSGiyVmi7blNBr2Aih9FfF2dq/bny57hoA4BrE="; - "softbuffer-0.3.3" = "sha256-eKYFVr6C1+X6ulidHIu9SP591rJxStxwL9uMiqnXx4k="; + "clipboard_macos-0.1.0" = "sha256-cG5vnkiyDlQnbEfV2sPbmBYKv1hd3pjJrymfZb8ziKk="; + "cosmic-client-toolkit-0.1.0" = "sha256-1XtyEvednEMN4MApxTQid4eed19dEN5ZBDt/XRjuda0="; + "cosmic-config-0.1.0" = "sha256-DgMh0gqWUmXjBhBySR0CMnv/8O3XbS2BwomU9eNt+4o="; + "cosmic-panel-config-0.1.0" = "sha256-bBUSZ3CTLq/DCQ2dMvaIcGcIcjqM/5vny5kTE3Jclj8="; + "cosmic-settings-daemon-0.1.0" = "sha256-+1XB7r45Uc71fLnNR4U0DUF2EB8uzKeE4HIrdvKhFXo="; + "cosmic-text-0.12.1" = "sha256-x0XTxzbmtE2d4XCG/Nuq3DzBpz15BbnjRRlirfNJEiU="; + "cosmic-time-0.4.0" = "sha256-w4yY1fc4r1+pSv93dy/Hu3AD+I1+sozIPbbCoaVQj7w="; + "d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4="; + "glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg="; + "smithay-clipboard-0.8.0" = "sha256-4InFXm0ahrqFrtNLeqIuE3yeOpxKZJZx+Bc0yQDtv34="; + "softbuffer-0.4.1" = "sha256-a0bUFz6O8CWRweNt/OxTvflnPYwO5nm6vsyc/WcXyNg="; "taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI="; }; }; From 653035c6503aa2e7d5e45a8d3acb397bf199ae23 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Sat, 17 Aug 2024 17:17:07 +0200 Subject: [PATCH 05/59] cosmic-notifications: inline pname --- pkgs/by-name/co/cosmic-notifications/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-notifications/package.nix b/pkgs/by-name/co/cosmic-notifications/package.nix index 36a9f93ae0da..bae1f66e20ac 100644 --- a/pkgs/by-name/co/cosmic-notifications/package.nix +++ b/pkgs/by-name/co/cosmic-notifications/package.nix @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "pop-os"; - repo = pname; + repo = "cosmic-notifications"; rev = "epoch-${version}"; hash = "sha256-tCizZePze94tbJbR91N9rfUhrLFTAMW2oL9ByKOeDAU="; }; From 3f2b634b998a3eb2e27aaf9d0f2d60215bd319b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Sat, 17 Aug 2024 16:42:23 +0000 Subject: [PATCH 06/59] cudaPackages_12_4: init at 12.4.0 --- .../cuda-modules/cuda/extension.nix | 1 + .../cuda/manifests/feature_12.4.0.json | 1674 +++++++++++++++++ .../cuda/manifests/redistrib_12.4.0.json | 1205 ++++++++++++ .../cuda-modules/cudatoolkit/releases.nix | 6 + .../cuda-modules/nvcc-compatibilities.nix | 6 + pkgs/top-level/all-packages.nix | 3 +- 6 files changed, 2894 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/cuda-modules/cuda/manifests/feature_12.4.0.json create mode 100644 pkgs/development/cuda-modules/cuda/manifests/redistrib_12.4.0.json diff --git a/pkgs/development/cuda-modules/cuda/extension.nix b/pkgs/development/cuda-modules/cuda/extension.nix index f39171e88874..f2892779da8a 100644 --- a/pkgs/development/cuda-modules/cuda/extension.nix +++ b/pkgs/development/cuda-modules/cuda/extension.nix @@ -16,6 +16,7 @@ let "12.1" = "12.1.1"; "12.2" = "12.2.2"; "12.3" = "12.3.0"; + "12.4" = "12.4.0"; }; # Check if the current CUDA version is supported. diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_12.4.0.json b/pkgs/development/cuda-modules/cuda/manifests/feature_12.4.0.json new file mode 100644 index 000000000000..7756c13c4b55 --- /dev/null +++ b/pkgs/development/cuda-modules/cuda/manifests/feature_12.4.0.json @@ -0,0 +1,1674 @@ +{ + "cuda_cccl": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_compat": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_cudart": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_cuobjdump": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_cupti": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": true, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": true, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": true, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": true, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": true, + "static": false + } + } + }, + "cuda_cuxxfilt": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_demo_suite": { + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_documentation": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_gdb": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nsight": { + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvcc": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvdisasm": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvml_dev": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvprof": { + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvprune": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvrtc": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvtx": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_nvvp": { + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_opencl": { + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_profiler_api": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "cuda_sanitizer_api": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "fabricmanager": { + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + } + }, + "imex": { + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libcublas": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libcudla": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + } + }, + "libcufft": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libcufile": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + } + }, + "libcurand": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libcusolver": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libcusparse": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libnpp": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libnvfatbin": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libnvidia_nscq": { + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + } + }, + "libnvjitlink": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "libnvjpeg": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-ppc64le": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": true, + "doc": false, + "lib": true, + "sample": false, + "static": true + } + }, + "windows-x86_64": { + "outputs": { + "bin": true, + "dev": true, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "nsight_compute": { + "linux-aarch64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "nsight_systems": { + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "nsight_vse": { + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "nvidia_driver": { + "linux-ppc64le": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": true, + "dev": false, + "doc": false, + "lib": true, + "sample": false, + "static": false + } + } + }, + "nvidia_fs": { + "linux-aarch64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-sbsa": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + }, + "linux-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + }, + "visual_studio_integration": { + "windows-x86_64": { + "outputs": { + "bin": false, + "dev": false, + "doc": false, + "lib": false, + "sample": false, + "static": false + } + } + } +} diff --git a/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.4.0.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.4.0.json new file mode 100644 index 000000000000..6eca2bee6106 --- /dev/null +++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.4.0.json @@ -0,0 +1,1205 @@ +{ + "release_date": "2024-03-05", + "release_label": "12.4.0", + "release_product": "cuda", + "cuda_cccl": { + "name": "CXX Core Compute Libraries", + "license": "CUDA Toolkit", + "license_path": "cuda_cccl/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "d264448e35b319d56442dc2d10300bc4e3e57eae261f41d56787649f40800ede", + "md5": "fa15cfe529efe10e72c8f4948ff2a524", + "size": "1158600" + }, + "linux-ppc64le": { + "relative_path": "cuda_cccl/linux-ppc64le/cuda_cccl-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "5fc8967116f474889e475925d85ac498698f51dcf627abd91ae395282daf0b97", + "md5": "7cc6185fa26de620e20c5ff2a01324bc", + "size": "1158888" + }, + "linux-sbsa": { + "relative_path": "cuda_cccl/linux-sbsa/cuda_cccl-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "768604a77ea563a2aad0c4986b907a58711baa094fd29d1c9d106df67afd0a30", + "md5": "90eed77ee97ad5f4454a0563e317842c", + "size": "1157980" + }, + "windows-x86_64": { + "relative_path": "cuda_cccl/windows-x86_64/cuda_cccl-windows-x86_64-12.4.99-archive.zip", + "sha256": "6c08a5fb2bace6bc0db853dd3ea59d040cc2498b47ed98e63e0ffffa4da00caa", + "md5": "6a5656ccb83b151266909a104d2d864a", + "size": "3167046" + }, + "linux-aarch64": { + "relative_path": "cuda_cccl/linux-aarch64/cuda_cccl-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "4bdd3dcb1ec37cebc4c075be8797b1fce9aca09196330065826e23188f7eaa84", + "md5": "42924698fd8e9c4160fc34c82d30a0eb", + "size": "1158824" + } + }, + "cuda_compat": { + "name": "CUDA compat L4T", + "license": "CUDA Toolkit", + "license_path": "cuda_compat/LICENSE.txt", + "version": "12.4.35475792", + "linux-aarch64": { + "relative_path": "cuda_compat/linux-aarch64/cuda_compat-linux-aarch64-12.4.35475792-archive.tar.xz", + "sha256": "be036fd6b3d99c850f56fa5c6d555eba578b6a0cd15d4e218f6510d023ff53e2", + "md5": "5fb31613f76c0f19ff961e6653bb6b78", + "size": "19184668" + } + }, + "cuda_cudart": { + "name": "CUDA Runtime (cudart)", + "license": "CUDA Toolkit", + "license_path": "cuda_cudart/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_cudart/linux-x86_64/cuda_cudart-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "dc126fb171d996c495756d44d565f7dd927245cbdc7191b9f8d5075d09ada699", + "md5": "e7e92cb8df507755853c9caffcaebdc6", + "size": "1100116" + }, + "linux-ppc64le": { + "relative_path": "cuda_cudart/linux-ppc64le/cuda_cudart-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "129451060d510965a382707447cb93c9cb6d886a36c5e3b55a824711e9166b2c", + "md5": "401757c41d595b1d26d40f11dc25e59d", + "size": "1077252" + }, + "linux-sbsa": { + "relative_path": "cuda_cudart/linux-sbsa/cuda_cudart-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "5bb3b037be5c175679f9de8469f8701ccff48014c9fb3d7310d6cc5fbc57cc0b", + "md5": "a3f402e8214aa86e51c3c0c2aff776a0", + "size": "1088524" + }, + "windows-x86_64": { + "relative_path": "cuda_cudart/windows-x86_64/cuda_cudart-windows-x86_64-12.4.99-archive.zip", + "sha256": "1034ca43da4afbc79f69269cc60dc081de631e1c0d229d60f045d9516409317a", + "md5": "8822bb0dc8066daa9a88c4a3a934f804", + "size": "2474121" + }, + "linux-aarch64": { + "relative_path": "cuda_cudart/linux-aarch64/cuda_cudart-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "d10cbf2a7b545867eaeca0e04b2f124ff8f5a45c6689d75c8d86971b7813f941", + "md5": "6d1f8f3b02a910ac19cddb1bb5654c3e", + "size": "1149764" + } + }, + "cuda_cuobjdump": { + "name": "cuobjdump", + "license": "CUDA Toolkit", + "license_path": "cuda_cuobjdump/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_cuobjdump/linux-x86_64/cuda_cuobjdump-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "2f0ece49051460b493384f80239ab1345b0dc4bce169a3261fd070d1465a7089", + "md5": "65c6a7392f308b70d1b936d370e36f8a", + "size": "221768" + }, + "linux-ppc64le": { + "relative_path": "cuda_cuobjdump/linux-ppc64le/cuda_cuobjdump-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "eda005b8d78e4e260ee5fb03c1776b9c7c1c6736b28de6553897a501d14715b7", + "md5": "4fddebfaf99364440bf4286e78130703", + "size": "262848" + }, + "linux-sbsa": { + "relative_path": "cuda_cuobjdump/linux-sbsa/cuda_cuobjdump-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "52a344b372598a305199047f280e360fc45f95192b6d544340587c05acaa74a5", + "md5": "88f325ca2bbf6e86d0aeb6d4dae60d93", + "size": "214060" + }, + "windows-x86_64": { + "relative_path": "cuda_cuobjdump/windows-x86_64/cuda_cuobjdump-windows-x86_64-12.4.99-archive.zip", + "sha256": "4280af9aca3351b4b3ce8962c76bd446b9aff1617698c0cf178e13df78bda8ab", + "md5": "589216d97f1a4b1d1ceed86bec2c9092", + "size": "4172193" + }, + "linux-aarch64": { + "relative_path": "cuda_cuobjdump/linux-aarch64/cuda_cuobjdump-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "3d93a21f927c54ba1a710aab43e9d1979dcc39a42bdf0dbf80c8256d8073bc6f", + "md5": "810011595133fd97735b377637b2056d", + "size": "197312" + } + }, + "cuda_cupti": { + "name": "CUPTI", + "license": "CUDA Toolkit", + "license_path": "cuda_cupti/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_cupti/linux-x86_64/cuda_cupti-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "71c8ff1deb26970bcb0256e32a1ff86fd8d4b2687ff0f8db377cb431d6f3efd8", + "md5": "81621314ef10370979a5fb85000ad69d", + "size": "20669764" + }, + "linux-ppc64le": { + "relative_path": "cuda_cupti/linux-ppc64le/cuda_cupti-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "6180125bef2b6274126bddc4d9f6448397112a37152b7a352ff8e3dda35bb435", + "md5": "233b447ec5e9c6e6d725e4a70c499bef", + "size": "12096876" + }, + "linux-sbsa": { + "relative_path": "cuda_cupti/linux-sbsa/cuda_cupti-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "3e705b3df0c8dbe697955a85557fa921de5ab49db6e0f72d1ff54629d306d566", + "md5": "74953f9ab176527728e442a240ab53f2", + "size": "11191580" + }, + "windows-x86_64": { + "relative_path": "cuda_cupti/windows-x86_64/cuda_cupti-windows-x86_64-12.4.99-archive.zip", + "sha256": "532118bdcf168d80e634daf1407a9819a46e9d6ded180eaae02758565d1a429a", + "md5": "3d9fc07bc998b8699e0917a2bd20f57e", + "size": "14918285" + }, + "linux-aarch64": { + "relative_path": "cuda_cupti/linux-aarch64/cuda_cupti-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "cbd1611b73d2b033b7175135395a78de2a1299724a13b4cae7d6df97d304aadc", + "md5": "a87a352349d2e50e465c7fae0ed32292", + "size": "7940736" + } + }, + "cuda_cuxxfilt": { + "name": "CUDA cuxxfilt (demangler)", + "license": "CUDA Toolkit", + "license_path": "cuda_cuxxfilt/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_cuxxfilt/linux-x86_64/cuda_cuxxfilt-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "d3f48edada5b42d100c899e034c524ffb2d2399b9cf97ea2b17b574e30dfc5ed", + "md5": "65fa11aa34008b888a929066f1d7982b", + "size": "187648" + }, + "linux-ppc64le": { + "relative_path": "cuda_cuxxfilt/linux-ppc64le/cuda_cuxxfilt-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "8b88a7183c4d72d77dea9bacb75867a0f553bbe491ea874cf9aee0e0cc45203f", + "md5": "be345279946d3372af723f73059b4fca", + "size": "182924" + }, + "linux-sbsa": { + "relative_path": "cuda_cuxxfilt/linux-sbsa/cuda_cuxxfilt-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "e6bea033cbd6e184e5c43f63d4d574e858e637fabc38e2aeb0a715ff2e6b56c1", + "md5": "f9a34de4718b40ff5d51562d5d790123", + "size": "175968" + }, + "windows-x86_64": { + "relative_path": "cuda_cuxxfilt/windows-x86_64/cuda_cuxxfilt-windows-x86_64-12.4.99-archive.zip", + "sha256": "2b4cab8280935784222d67015bac5227e23e85cdad59a7cd1f3bd2eb93dc9951", + "md5": "2177e030aed160fb3ebc5815f76e99a7", + "size": "170575" + }, + "linux-aarch64": { + "relative_path": "cuda_cuxxfilt/linux-aarch64/cuda_cuxxfilt-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "9620d325c39bcd2d9682aa2309a770510cec193d2ab4fe6941f9ef62eb46d851", + "md5": "774c15c82b12421a6c6b8dd7aa744a7c", + "size": "170336" + } + }, + "cuda_demo_suite": { + "name": "CUDA Demo Suite", + "license": "CUDA Toolkit", + "license_path": "cuda_demo_suite/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_demo_suite/linux-x86_64/cuda_demo_suite-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "3f0403d68fba3d3c4a351628b8fb1224d8ff9e639db11c7cc8f857e358164125", + "md5": "aae29a2d3f2cea2cbdf66eab17abb24c", + "size": "4006740" + }, + "windows-x86_64": { + "relative_path": "cuda_demo_suite/windows-x86_64/cuda_demo_suite-windows-x86_64-12.4.99-archive.zip", + "sha256": "a52219a626c2de19ebe64481e54c2cef25b368ea0e1acb28f6e27c40b3c48269", + "md5": "1c154090dfc3f0574b5494f014ca6ef2", + "size": "5063868" + } + }, + "cuda_documentation": { + "name": "CUDA Documentation", + "license": "CUDA Toolkit", + "license_path": "cuda_documentation/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_documentation/linux-x86_64/cuda_documentation-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "a0aef754ea9c33e68358fec97837576692f3902f0278a2460e0c192279b5d1ed", + "md5": "b807d4f8728511cf31140f6bfd77af39", + "size": "67120" + }, + "linux-ppc64le": { + "relative_path": "cuda_documentation/linux-ppc64le/cuda_documentation-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "21b75b76f8201f76d5dcda7c56eb4a636a359b7544119ddfab26a36d48838ead", + "md5": "e3a398ca7539b05ef0a96ff991246596", + "size": "67212" + }, + "linux-sbsa": { + "relative_path": "cuda_documentation/linux-sbsa/cuda_documentation-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "03c66c3905c5cbdb5ae86666ab2a5e1f971f5e199514a53e81662752a4b0c880", + "md5": "8506975f62b544631e824d3b9cd7e5d9", + "size": "67344" + }, + "windows-x86_64": { + "relative_path": "cuda_documentation/windows-x86_64/cuda_documentation-windows-x86_64-12.4.99-archive.zip", + "sha256": "64642451a35e00997b817bc5e83b2dee42d07afe3e778a5dd9d3747ec0cbba76", + "md5": "457506380c256ef935497135253d8779", + "size": "105658" + }, + "linux-aarch64": { + "relative_path": "cuda_documentation/linux-aarch64/cuda_documentation-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "5fd182c8a45e9e8592def056809680c377f4941a484e5b55db831f45630f502b", + "md5": "21c04c1d16d842c629d0dfbedeb73475", + "size": "67068" + } + }, + "cuda_gdb": { + "name": "CUDA GDB", + "license": "CUDA Toolkit", + "license_path": "cuda_gdb/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_gdb/linux-x86_64/cuda_gdb-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "998b02f7d8b887036f6e5a25fe0a13e274bed882bcb716692f52650a17b31bf5", + "md5": "b45b0b34fef5bef63ea125c08aa5fb9c", + "size": "44060004" + }, + "linux-ppc64le": { + "relative_path": "cuda_gdb/linux-ppc64le/cuda_gdb-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "d132904eba595916a347cbb6d7c61ec11c3003a4e5d795aaf8f04731432a3472", + "md5": "8261a5e017e039b025aacd9dc5140e14", + "size": "43766332" + }, + "linux-sbsa": { + "relative_path": "cuda_gdb/linux-sbsa/cuda_gdb-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "4f3f12892acdc8b9d80cb48b538012ea92a247921b38492964219ad4e5332457", + "md5": "8468767b6317780970ef10cd43bd473e", + "size": "43745620" + }, + "linux-aarch64": { + "relative_path": "cuda_gdb/linux-aarch64/cuda_gdb-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "8d8443114e9c92d636a4204b9d2cd575a7c7dd9c2f48d08d8ffdd1341a9e891c", + "md5": "077817ae85d70f8926f62e972f8b5d71", + "size": "43677832" + } + }, + "cuda_nsight": { + "name": "Nsight Eclipse Edition Plugin", + "license": "CUDA Toolkit", + "license_path": "cuda_nsight/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nsight/linux-x86_64/cuda_nsight-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "4139a121e4f37e1415dfbc15686753089be29ffcb58c0bc8ab73d73baed7c838", + "md5": "36643078c6d36440a960a38be97c2357", + "size": "118685676" + }, + "linux-ppc64le": { + "relative_path": "cuda_nsight/linux-ppc64le/cuda_nsight-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "10801eea3c3c9e7d908d0c5c8a69df72b6d40a350d0df7501832dbe20673bdef", + "md5": "338ff305a3b6cc3f48e356fdbb565e0d", + "size": "118685704" + } + }, + "cuda_nvcc": { + "name": "CUDA NVCC", + "license": "CUDA Toolkit", + "license_path": "cuda_nvcc/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "9ec3199cb6e8ec2a3b3336bf120690e534aee8ab5ddc3ca51e0a01aad9494f48", + "md5": "b3cc5fabe05528c75109b05ce4190ee1", + "size": "51151468" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvcc/linux-ppc64le/cuda_nvcc-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "3da7995480715fc30a3dd7bab698cd24e9a91418d9b9c1d4f2051f4302be0e46", + "md5": "42e658fe190d3947d7cdf7681224481b", + "size": "45857516" + }, + "linux-sbsa": { + "relative_path": "cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "cc31691a8af2a5ae27576a4f20366f38f388c6182389fa162c8bc91a7d47aa0d", + "md5": "eef2e59cb98ae514329faceba89c40bd", + "size": "44904576" + }, + "windows-x86_64": { + "relative_path": "cuda_nvcc/windows-x86_64/cuda_nvcc-windows-x86_64-12.4.99-archive.zip", + "sha256": "34f7d7e7843e3a95b35b1d697ea054765edccc73c6b31787a5b68d2261154d2c", + "md5": "49e5e0dddea537e7474c3e6836fe00d3", + "size": "63639152" + }, + "linux-aarch64": { + "relative_path": "cuda_nvcc/linux-aarch64/cuda_nvcc-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "1c1bf21d8f63651a115619617d9a27e4331f19abac763e3076f062dc52810816", + "md5": "107daf4cc60b9de97ab1665e4d36e978", + "size": "46389888" + } + }, + "cuda_nvdisasm": { + "name": "CUDA nvdisasm", + "license": "CUDA Toolkit", + "license_path": "cuda_nvdisasm/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvdisasm/linux-x86_64/cuda_nvdisasm-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "059d82e2e804269b5f0161c91f6d875262f728c2b3a29c2600eee97a8d85aa13", + "md5": "180d2f92db6d53d823d2654fa2333415", + "size": "49893884" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvdisasm/linux-ppc64le/cuda_nvdisasm-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "b2498702b99ed3ec31e65cf5df2a837a88de43a44d39f51091b409aeb76a9b38", + "md5": "c09e80a99cb07067965d11287e4feb55", + "size": "49880828" + }, + "linux-sbsa": { + "relative_path": "cuda_nvdisasm/linux-sbsa/cuda_nvdisasm-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "83c1ff0fa2c861778ff799726da403d4c65a9c490b5c3761aaf6d47ececa9618", + "md5": "090fc5302e69cbba7d0e9b95be6bd55f", + "size": "49808172" + }, + "windows-x86_64": { + "relative_path": "cuda_nvdisasm/windows-x86_64/cuda_nvdisasm-windows-x86_64-12.4.99-archive.zip", + "sha256": "6c25db1da8b807f105bde8fe83702370a9141ba3c030ed6e20c25564cad8725c", + "md5": "1587dc97548c06c0e69dd407b7666363", + "size": "50146538" + }, + "linux-aarch64": { + "relative_path": "cuda_nvdisasm/linux-aarch64/cuda_nvdisasm-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "5bcb9081b414d7ea0a5e0d539a6550a5af7e76d366da363a5953f039db63078f", + "md5": "5c1c4eec1e613147dcdbe1c8b33b4e96", + "size": "49819116" + } + }, + "cuda_nvml_dev": { + "name": "CUDA NVML Headers", + "license": "CUDA Toolkit", + "license_path": "cuda_nvml_dev/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvml_dev/linux-x86_64/cuda_nvml_dev-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "fe4b7ffe5660dacca6d1d84cfa3200c0546df307450225c6bc3cd64d1b67402a", + "md5": "70b84c24fdb9a632f27652157342f057", + "size": "142712" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvml_dev/linux-ppc64le/cuda_nvml_dev-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "95ff7fe43fe1c9d1951e005555c65a693ba729ec5e9f677f6110eb14b72df72c", + "md5": "c957e28a428742a8f87a695c49f5da9f", + "size": "139160" + }, + "linux-sbsa": { + "relative_path": "cuda_nvml_dev/linux-sbsa/cuda_nvml_dev-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "167bad08c50312900c099168764b3cf582018eed7db7b180dca85e1b240053d3", + "md5": "a0aed7b8a1469f52d050178e72e72e4e", + "size": "144080" + }, + "windows-x86_64": { + "relative_path": "cuda_nvml_dev/windows-x86_64/cuda_nvml_dev-windows-x86_64-12.4.99-archive.zip", + "sha256": "37aa58532924573e5d9227be92fead96db73cd470af6ce809e3a2b6cd3ee7a82", + "md5": "f1b8621e50378e391c0ca19896eb752e", + "size": "127237" + }, + "linux-aarch64": { + "relative_path": "cuda_nvml_dev/linux-aarch64/cuda_nvml_dev-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "c0a819e0cb5fb6a12aea1409a0fd9bca9fbc3d14d035091fd0bb9fb0a6a144b7", + "md5": "32a58420fe3df6ce4544c1456c731995", + "size": "142788" + } + }, + "cuda_nvprof": { + "name": "CUDA nvprof", + "license": "CUDA Toolkit", + "license_path": "cuda_nvprof/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvprof/linux-x86_64/cuda_nvprof-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "04ec32d23c66921672abe142b3f9c2af9be946e9f35cd31eee65e6bd3a5497bc", + "md5": "aa9eab3caef091cfaff8f0ecf9378b51", + "size": "2434912" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvprof/linux-ppc64le/cuda_nvprof-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "fe61f1e417fe1cb9a1ac6401928b80ee172950f8a67029420209c47a04647f2b", + "md5": "f669f919341a00a32ea77a58a7ee1946", + "size": "2116024" + }, + "windows-x86_64": { + "relative_path": "cuda_nvprof/windows-x86_64/cuda_nvprof-windows-x86_64-12.4.99-archive.zip", + "sha256": "8f5b6d53ba0dc397f1beedf35801d31b23d054ad42e7891cec47066dd1c542c9", + "md5": "ba5857ac6185d98a5b3d42c5b0a324a5", + "size": "1701797" + } + }, + "cuda_nvprune": { + "name": "CUDA nvprune", + "license": "CUDA Toolkit", + "license_path": "cuda_nvprune/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvprune/linux-x86_64/cuda_nvprune-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "0ac97fb4acfb957d41199ee1f9e4d1dd07a1af253d2d76b63c83665d6dcf3d7d", + "md5": "bbb3b59b89626e25a0ceb29c0592d8c6", + "size": "56448" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvprune/linux-ppc64le/cuda_nvprune-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "e262654aa69668fb86cae73936ea269efc2a360bf2cfab86d57e5e13f61e985b", + "md5": "d177dc1b03beb77a0066492791f6509d", + "size": "57076" + }, + "linux-sbsa": { + "relative_path": "cuda_nvprune/linux-sbsa/cuda_nvprune-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "008932c8ba93ced7bde5f76581ada8c76a90229fbe6f53a738f4c49ff104954b", + "md5": "1b02efffff781dd786a4a13f7044092e", + "size": "48408" + }, + "windows-x86_64": { + "relative_path": "cuda_nvprune/windows-x86_64/cuda_nvprune-windows-x86_64-12.4.99-archive.zip", + "sha256": "f0bf168e1f52ca727330d60c32828f2cc134d46e44334942f614d34157cf21c7", + "md5": "0d32d4b039e377b80704caeb0283da21", + "size": "146229" + }, + "linux-aarch64": { + "relative_path": "cuda_nvprune/linux-aarch64/cuda_nvprune-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "145f54928bddaf4cbf9bf3032d914e22f436d1a97f03eb1add61393c5bd14079", + "md5": "35a1161a88d224b2f4a8f3af55f79875", + "size": "50176" + } + }, + "cuda_nvrtc": { + "name": "CUDA NVRTC", + "license": "CUDA Toolkit", + "license_path": "cuda_nvrtc/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "19746bd29e151e1e6d1ce7371a30b5218fe150d2a911466c9ae0c382b37886ea", + "md5": "5d7e774a1693e83d87ab01eb651601ad", + "size": "33886512" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvrtc/linux-ppc64le/cuda_nvrtc-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "906f245862d977c16698c9e29ced152d997626b2c437fac3017b5e7f54af1347", + "md5": "76436c8c192d8c06c2f9866f6e8b6d0f", + "size": "31418692" + }, + "linux-sbsa": { + "relative_path": "cuda_nvrtc/linux-sbsa/cuda_nvrtc-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "996355a7d575de0665cdf4d0800c21b61d864f9e030fb75bc6390d450631d904", + "md5": "c2f83d7ab6d02fc72942db9a4d335e72", + "size": "31405040" + }, + "windows-x86_64": { + "relative_path": "cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-12.4.99-archive.zip", + "sha256": "807c060bbe5175d325d3334fd64fd73d01741a99c65a7460dda74588defdde2a", + "md5": "8c6362dd4211a63d79f43f6d51e9c329", + "size": "101920164" + }, + "linux-aarch64": { + "relative_path": "cuda_nvrtc/linux-aarch64/cuda_nvrtc-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "98efc14854a9a4febb15ce8f49cce8fca31b4d1ba0ff88b9e0fac93bbdd351b4", + "md5": "13144b1cece0ae38c063b492df6e2f48", + "size": "32682952" + } + }, + "cuda_nvtx": { + "name": "CUDA NVTX", + "license": "CUDA Toolkit", + "license_path": "cuda_nvtx/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvtx/linux-x86_64/cuda_nvtx-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "2467aef6a8694b863bce8a34534048139e97501a572266f9e146aef92252fc84", + "md5": "176f6c101cd3d09c5957fd3dd1b0c5bb", + "size": "48480" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvtx/linux-ppc64le/cuda_nvtx-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "55b4b4bae82745274267614fa6369c417c3d1f6e6b0ec4c93e382172eeed617c", + "md5": "93adfac756537f4921d7df5b27338d5e", + "size": "48544" + }, + "linux-sbsa": { + "relative_path": "cuda_nvtx/linux-sbsa/cuda_nvtx-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "b3d218f48a1dd1a9ea5d6bb689455f796a3a5b0157d82fbec140540ceaf51bfc", + "md5": "a0ea11a872cb3cf1a41cba3573dd81e6", + "size": "49076" + }, + "windows-x86_64": { + "relative_path": "cuda_nvtx/windows-x86_64/cuda_nvtx-windows-x86_64-12.4.99-archive.zip", + "sha256": "3c594eabcfe76082f8b315c33e4af9e175af3cd4306a130f71bba5eac576eab2", + "md5": "95fda438f79060101674694983879cdb", + "size": "65854" + }, + "linux-aarch64": { + "relative_path": "cuda_nvtx/linux-aarch64/cuda_nvtx-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "b260a1f0b5a76dbfc1220569ecad09476d13b77607bdbbdac0ae93efd6393f98", + "md5": "adcca1df9e83ec7493fb37c32cc04ea0", + "size": "51704" + } + }, + "cuda_nvvp": { + "name": "CUDA NVVP", + "license": "CUDA Toolkit", + "license_path": "cuda_nvvp/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_nvvp/linux-x86_64/cuda_nvvp-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "607ab00d63d8b431fa5a916b64330bb5a37f211c5f950a5ff00dce17cffea403", + "md5": "9957be40ff7ea125f81a2a3974386b14", + "size": "117721740" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvvp/linux-ppc64le/cuda_nvvp-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "0561527b9a4a62078d4a0c8ee5f114d401ef6d37d72705ed248248a2c3eb48b0", + "md5": "2f2446f1b88d1c5e9d186d3407d87742", + "size": "117132020" + }, + "windows-x86_64": { + "relative_path": "cuda_nvvp/windows-x86_64/cuda_nvvp-windows-x86_64-12.4.99-archive.zip", + "sha256": "85850af1bbc558ea58d79a34fca982c30e7c57bed07e4a2b9323e1e9c02539d3", + "md5": "326903fb2144c396a81643cd4901d710", + "size": "120341847" + } + }, + "cuda_opencl": { + "name": "CUDA OpenCL", + "license": "CUDA Toolkit", + "license_path": "cuda_opencl/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_opencl/linux-x86_64/cuda_opencl-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "18162e65bee18072c3f561a8a00396b5d621ca7b88baa528237e3ab3607c577b", + "md5": "01e207250ac0a5e2f19f3b86bb8d15ca", + "size": "91580" + }, + "windows-x86_64": { + "relative_path": "cuda_opencl/windows-x86_64/cuda_opencl-windows-x86_64-12.4.99-archive.zip", + "sha256": "4fe3c68b83a2e8667e48557c5e74c54ea87cd309484c0a0e39513abe02255edd", + "md5": "223143285232be077c87ab7e6493bcbe", + "size": "137003" + } + }, + "cuda_profiler_api": { + "name": "CUDA Profiler API", + "license": "CUDA Toolkit", + "license_path": "cuda_profiler_api/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_profiler_api/linux-x86_64/cuda_profiler_api-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "62e2d50c2a688779e01be1743754b65fefee1197b07a21798ec3e936af971d91", + "md5": "8eb41befb1caf5c130064a00b19d296f", + "size": "16176" + }, + "linux-ppc64le": { + "relative_path": "cuda_profiler_api/linux-ppc64le/cuda_profiler_api-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "544acb804b1191efaeb821be649390e33c55ac8639639ecbea4483e75ddfbcfd", + "md5": "73e01bf592ac8bc71fa8bfb7e85276f2", + "size": "16180" + }, + "linux-sbsa": { + "relative_path": "cuda_profiler_api/linux-sbsa/cuda_profiler_api-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "733544bc46044825073db3eb84e204aa538503d13b6783218735b9e059447dc6", + "md5": "01adf13cf177a6f31933c9ccbe0968a5", + "size": "16188" + }, + "windows-x86_64": { + "relative_path": "cuda_profiler_api/windows-x86_64/cuda_profiler_api-windows-x86_64-12.4.99-archive.zip", + "sha256": "9039b3113ff79589e9c9e8ee0dfd7069aec1965b426e2c5f77f1f78d7b6c5358", + "md5": "e50385286f5f97fb6c1f0813c123d483", + "size": "20222" + }, + "linux-aarch64": { + "relative_path": "cuda_profiler_api/linux-aarch64/cuda_profiler_api-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "1adec6ed4d3fe00b05cd38816aa1732e1ea2fc649b0481f5f1b66bbda620be98", + "md5": "5f55946141f026980e34fee1aa064cf9", + "size": "16176" + } + }, + "cuda_sanitizer_api": { + "name": "CUDA Compute Sanitizer API", + "license": "CUDA Toolkit", + "license_path": "cuda_sanitizer_api/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "cuda_sanitizer_api/linux-x86_64/cuda_sanitizer_api-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "ef718e22a97ba76e58d02e7330b3a3437025b8a135eda57de942038c5148dee8", + "md5": "80d0ca0aa267fd2e2b89f84c862b3654", + "size": "8234544" + }, + "linux-ppc64le": { + "relative_path": "cuda_sanitizer_api/linux-ppc64le/cuda_sanitizer_api-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "5606844e8ce731dbd00d86a8923c4ea5840133a2e17cd32a2ea1387cbe614cf7", + "md5": "9fc898605a7191600f88d35d5b199616", + "size": "7741460" + }, + "linux-sbsa": { + "relative_path": "cuda_sanitizer_api/linux-sbsa/cuda_sanitizer_api-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "b2883c50cf59367639ec032622ca02c6f0dc69a0003fcb2535c59b4a501ad732", + "md5": "8c40a592e32a1af1e71a18c201823e08", + "size": "6368004" + }, + "windows-x86_64": { + "relative_path": "cuda_sanitizer_api/windows-x86_64/cuda_sanitizer_api-windows-x86_64-12.4.99-archive.zip", + "sha256": "2a1d9543fd95e5a7d4b3cd11e56c2d02705e0bab22acfdad72696803580e74b1", + "md5": "db698242bf3844af224403cb63d69f0f", + "size": "14136237" + }, + "linux-aarch64": { + "relative_path": "cuda_sanitizer_api/linux-aarch64/cuda_sanitizer_api-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "b48f6579cead06b147c28db0a9448a85c679188b339efe431e5cc2c673d66e26", + "md5": "99b447f1ca4fe11e6ef3913215d3a914", + "size": "3729852" + } + }, + "fabricmanager": { + "name": "NVIDIA Fabric Manager", + "license": "NVIDIA Driver", + "license_path": "fabricmanager/LICENSE.txt", + "version": "550.54.14", + "linux-x86_64": { + "relative_path": "fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-550.54.14-archive.tar.xz", + "sha256": "e8637797d0aabf705583c8156131030b37d814eacf0a525d0bc8fdac4ae9db5d", + "md5": "f0c2c0091d494c39472279473dafae4c", + "size": "5785548" + }, + "linux-sbsa": { + "relative_path": "fabricmanager/linux-sbsa/fabricmanager-linux-sbsa-550.54.14-archive.tar.xz", + "sha256": "0014ae3ea1d8ba4d8a0feb60b53099dce68d12acdaba5e595fce48a689ac581f", + "md5": "1f8c99c257eecd3311794251db24bef0", + "size": "5216692" + } + }, + "imex": { + "name": "Imex", + "license": "NVIDIA Proprietary", + "license_path": "imex/LICENSE.txt", + "version": "550.54.14", + "linux-x86_64": { + "relative_path": "imex/linux-x86_64/imex-linux-x86_64-550.54.14-archive.tar.xz", + "sha256": "145239d60893b94ba88a20aa7e52bcff6d76ac8702addbe66e63d30dcfec5a87", + "md5": "fc6843c64cd5e74b745eb1a3d25876fd", + "size": "7299392" + }, + "linux-sbsa": { + "relative_path": "imex/linux-sbsa/imex-linux-sbsa-550.54.14-archive.tar.xz", + "sha256": "c237e1e8deecc5e797bcdd9f7d3eb3cba4894161ebe1e3b9330eaef013721def", + "md5": "3ffffe89d46171a5fc02a8321402deb0", + "size": "6502300" + } + }, + "libcublas": { + "name": "CUDA cuBLAS", + "license": "CUDA Toolkit", + "license_path": "libcublas/LICENSE.txt", + "version": "12.4.2.65", + "linux-x86_64": { + "relative_path": "libcublas/linux-x86_64/libcublas-linux-x86_64-12.4.2.65-archive.tar.xz", + "sha256": "8f9ccae530410fe6d17eab5f5b594cfbef42c9781bf715520cc8221942fefe35", + "md5": "774a32472fd1280303fe3aae80841d73", + "size": "466144480" + }, + "linux-ppc64le": { + "relative_path": "libcublas/linux-ppc64le/libcublas-linux-ppc64le-12.4.2.65-archive.tar.xz", + "sha256": "7300ad784024f358138900e298c209c3da45cd0c365a58ec646aec91713d3e92", + "md5": "9ae6339414d31fe4e7322c3a690a5ecc", + "size": "357930096" + }, + "linux-sbsa": { + "relative_path": "libcublas/linux-sbsa/libcublas-linux-sbsa-12.4.2.65-archive.tar.xz", + "sha256": "189921983a0d994604bc15b23feadbec04afe0b07ddaba13917f22b4e5611f43", + "md5": "190edb27c6cf16edf49d3a89d719e5f0", + "size": "464682488" + }, + "windows-x86_64": { + "relative_path": "libcublas/windows-x86_64/libcublas-windows-x86_64-12.4.2.65-archive.zip", + "sha256": "4229d2b590e4382e1b36651dde644e04c5a8664f99f53bb43dca967982a84f58", + "md5": "776a960a11d212d4241bcc140127c4df", + "size": "391101865" + }, + "linux-aarch64": { + "relative_path": "libcublas/linux-aarch64/libcublas-linux-aarch64-12.4.2.65-archive.tar.xz", + "sha256": "855f8473b35be5817815dbd63e569c596733aac276f496a471000a4f2664612c", + "md5": "25e89e146cf3da92238fa4c247945285", + "size": "430119620" + } + }, + "libcudla": { + "name": "cuDLA", + "license": "CUDA Toolkit", + "license_path": "libcudla/LICENSE.txt", + "version": "12.4.99", + "linux-aarch64": { + "relative_path": "libcudla/linux-aarch64/libcudla-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "072d55e9b91d2b6c22af539a78af3107a8b0cd0b1280f83782e89be26af9887a", + "md5": "8e051a1eab2821ba95c98ad2650ca21c", + "size": "38552" + } + }, + "libcufft": { + "name": "CUDA cuFFT", + "license": "CUDA Toolkit", + "license_path": "libcufft/LICENSE.txt", + "version": "11.2.0.44", + "linux-x86_64": { + "relative_path": "libcufft/linux-x86_64/libcufft-linux-x86_64-11.2.0.44-archive.tar.xz", + "sha256": "092c1829bc5ca22762a0303f420c2632e52c1bf64dd119e94dac316b9cc9a9fe", + "md5": "78cd8f28a2d1c78ee0ba9444214a0f65", + "size": "509571100" + }, + "linux-ppc64le": { + "relative_path": "libcufft/linux-ppc64le/libcufft-linux-ppc64le-11.2.0.44-archive.tar.xz", + "sha256": "2b68795ce9027c56a63a02c5fc577d883af7f836edfb16bcd7095719b79ef3b8", + "md5": "734cd2241e0f3bc0c6ccdb31ac561790", + "size": "511058968" + }, + "linux-sbsa": { + "relative_path": "libcufft/linux-sbsa/libcufft-linux-sbsa-11.2.0.44-archive.tar.xz", + "sha256": "1669a510dcf342b3f8388f1ce8847fd56c781bc779d68cbce62368f31b412b74", + "md5": "7219515b024346ce635c7d58695da4d3", + "size": "509854528" + }, + "windows-x86_64": { + "relative_path": "libcufft/windows-x86_64/libcufft-windows-x86_64-11.2.0.44-archive.zip", + "sha256": "265761bc01bd1453a0c4f7427dbc301ee1a68cde57fd8b48ee1fc238ebe827d8", + "md5": "cb6824a34b693db704a86391131b031a", + "size": "209047123" + }, + "linux-aarch64": { + "relative_path": "libcufft/linux-aarch64/libcufft-linux-aarch64-11.2.0.44-archive.tar.xz", + "sha256": "14a22b65c67195161597757fff41f666fce76dd96868211d72330a087580f64e", + "md5": "eb090bd7c94be0b7ed2441149b2b04f2", + "size": "509586044" + } + }, + "libcufile": { + "name": "CUDA cuFile", + "license": "CUDA Toolkit", + "license_path": "libcufile/LICENSE.txt", + "version": "1.9.0.20", + "linux-x86_64": { + "relative_path": "libcufile/linux-x86_64/libcufile-linux-x86_64-1.9.0.20-archive.tar.xz", + "sha256": "6d087a5670d3a6e54429d670482db711824cffbd4b472ddea02fe19742d194ce", + "md5": "4ed19a8939d4f7089b9f0e988390b5c1", + "size": "41837504" + }, + "linux-sbsa": { + "relative_path": "libcufile/linux-sbsa/libcufile-linux-sbsa-1.9.0.20-archive.tar.xz", + "sha256": "3bdfcfff9c8190e0a7e7f399f17b0b291d5cc3755117e8e53671fedd7dd25de0", + "md5": "852dfa437ea6b9353b3ae8ab674e019f", + "size": "41286420" + }, + "linux-aarch64": { + "relative_path": "libcufile/linux-aarch64/libcufile-linux-aarch64-1.9.0.20-archive.tar.xz", + "sha256": "58712947fc5b068658842f0f2e1aba52700af7b30b27aaf97adbbc75909ecd33", + "md5": "d32415563155799a5f9ae38976a416e7", + "size": "41258792" + } + }, + "libcurand": { + "name": "CUDA cuRAND", + "license": "CUDA Toolkit", + "license_path": "libcurand/LICENSE.txt", + "version": "10.3.5.119", + "linux-x86_64": { + "relative_path": "libcurand/linux-x86_64/libcurand-linux-x86_64-10.3.5.119-archive.tar.xz", + "sha256": "371d1c4b648ee5a255872a974f50d98041b1eda135e2e629121b6b334e77b8b7", + "md5": "c6080dd06cf9a42e3b6be6eedca7c209", + "size": "81722636" + }, + "linux-ppc64le": { + "relative_path": "libcurand/linux-ppc64le/libcurand-linux-ppc64le-10.3.5.119-archive.tar.xz", + "sha256": "f912635b13f43c07976701220fc74af35f71b27e69071f0dae9a626fbba6eade", + "md5": "40587e25cfb6e7ac6740d3c47e0d6118", + "size": "81768728" + }, + "linux-sbsa": { + "relative_path": "libcurand/linux-sbsa/libcurand-linux-sbsa-10.3.5.119-archive.tar.xz", + "sha256": "18ffdc9e55b6cf58ab371b7847f0113a7bdf2673765f600cc957104c903f6897", + "md5": "ccd8a8628fe6cf4363bb884ec1dd89fa", + "size": "81711064" + }, + "windows-x86_64": { + "relative_path": "libcurand/windows-x86_64/libcurand-windows-x86_64-10.3.5.119-archive.zip", + "sha256": "f7c76fcc64112309a26d7725d3357e89be2cf2ac69ed90e5653f290ed8e39078", + "md5": "f8c97e5f197f538808d81957f97e8fcc", + "size": "55087995" + }, + "linux-aarch64": { + "relative_path": "libcurand/linux-aarch64/libcurand-linux-aarch64-10.3.5.119-archive.tar.xz", + "sha256": "6971636f49a4c0ea938492de76d12fd5c4691da20678943de834e6a6ca08c5a8", + "md5": "4cfdbb6bbf20fa2c5ab39ce0fd53c63f", + "size": "83933144" + } + }, + "libcusolver": { + "name": "CUDA cuSOLVER", + "license": "CUDA Toolkit", + "license_path": "libcusolver/LICENSE.txt", + "version": "11.6.0.99", + "linux-x86_64": { + "relative_path": "libcusolver/linux-x86_64/libcusolver-linux-x86_64-11.6.0.99-archive.tar.xz", + "sha256": "4331b4581cbe9e0bbb30e244337a410673f1d2f1284210868372968cdf183ff4", + "md5": "b10332d94b26faca3ca6677e30679df7", + "size": "127266044" + }, + "linux-ppc64le": { + "relative_path": "libcusolver/linux-ppc64le/libcusolver-linux-ppc64le-11.6.0.99-archive.tar.xz", + "sha256": "f55a832585e654f785484ce50b5860858dec804c874bea52856aac8e6aeaa186", + "md5": "a6861887ebc11bd8a125ae99e2fca402", + "size": "127712420" + }, + "linux-sbsa": { + "relative_path": "libcusolver/linux-sbsa/libcusolver-linux-sbsa-11.6.0.99-archive.tar.xz", + "sha256": "7fe5656d60997f6d090f8b54af72050dbece98cac88c541ae211b157aedc7502", + "md5": "23f1453e9619c4aa74b97298ee902a6d", + "size": "126508780" + }, + "windows-x86_64": { + "relative_path": "libcusolver/windows-x86_64/libcusolver-windows-x86_64-11.6.0.99-archive.zip", + "sha256": "bc800184054b7efecf8dd3c508f5333bdac7c39f271eaf3eaf3be0127fddad51", + "md5": "d0136a35b246abaee6a2224430691660", + "size": "124064129" + }, + "linux-aarch64": { + "relative_path": "libcusolver/linux-aarch64/libcusolver-linux-aarch64-11.6.0.99-archive.tar.xz", + "sha256": "294aa5f94bc64c908f13729b1983580da41233adbe1f4dd824aa1d027465c3cb", + "md5": "75a0b90538fdf2ef5ab9394429a98317", + "size": "138684288" + } + }, + "libcusparse": { + "name": "CUDA cuSPARSE", + "license": "CUDA Toolkit", + "license_path": "libcusparse/LICENSE.txt", + "version": "12.3.0.142", + "linux-x86_64": { + "relative_path": "libcusparse/linux-x86_64/libcusparse-linux-x86_64-12.3.0.142-archive.tar.xz", + "sha256": "9e9fe9d72522cf3de1e9b0b77dbeba0b8920d721b8c85dba6b18e7ddb77f0476", + "md5": "2095680930f034f027eaa9f5d5029c43", + "size": "223382560" + }, + "linux-ppc64le": { + "relative_path": "libcusparse/linux-ppc64le/libcusparse-linux-ppc64le-12.3.0.142-archive.tar.xz", + "sha256": "70c29322a46365359af876afb28510780c8d91a417c978d44d17a3c9777b73a9", + "md5": "12e8f03d4b51bdcb36a946c5aed2a675", + "size": "223486944" + }, + "linux-sbsa": { + "relative_path": "libcusparse/linux-sbsa/libcusparse-linux-sbsa-12.3.0.142-archive.tar.xz", + "sha256": "191e13f5e53cf29034add21a86e45be6f847101b5f6d34206de3367f56136a47", + "md5": "7e7e169f5b8009e88ac9ccd8e7e68468", + "size": "222979064" + }, + "windows-x86_64": { + "relative_path": "libcusparse/windows-x86_64/libcusparse-windows-x86_64-12.3.0.142-archive.zip", + "sha256": "66c7f041f8f59162cb70da1ef3e469b33ed9fbeed18e26a7325887c32039e694", + "md5": "060b4c2bd77751fab160dd8c699f48a5", + "size": "202433994" + }, + "linux-aarch64": { + "relative_path": "libcusparse/linux-aarch64/libcusparse-linux-aarch64-12.3.0.142-archive.tar.xz", + "sha256": "77df4a1f2b4cf3b3e10222ccc4d6ada89f47fd92549a79d3615cf34ad5102907", + "md5": "9b2eef78bfa5fe208704a0e0228b64ae", + "size": "238282452" + } + }, + "libnpp": { + "name": "CUDA NPP", + "license": "CUDA Toolkit", + "license_path": "libnpp/LICENSE.txt", + "version": "12.2.5.2", + "linux-x86_64": { + "relative_path": "libnpp/linux-x86_64/libnpp-linux-x86_64-12.2.5.2-archive.tar.xz", + "sha256": "42adaf1fec38090cfa42c14c75b16f4c0c3388d529e25ca2f1c81929578049cd", + "md5": "58004dd4ace1b23f165b0e5e22d74a46", + "size": "185068344" + }, + "linux-ppc64le": { + "relative_path": "libnpp/linux-ppc64le/libnpp-linux-ppc64le-12.2.5.2-archive.tar.xz", + "sha256": "8ee966c56a4f3694b0929366e12bf1e80b2affbf525f134bc6892ad78d67f85f", + "md5": "749b9971491c85deca4f81780c5a0e0a", + "size": "185432964" + }, + "linux-sbsa": { + "relative_path": "libnpp/linux-sbsa/libnpp-linux-sbsa-12.2.5.2-archive.tar.xz", + "sha256": "92b02b0a50e595f2224d4a71ad3502ccfb8908e7b76c23c3a3a72adf8624da39", + "md5": "fbbbb22b7f4e7d564d4c2a143efd8509", + "size": "184420448" + }, + "windows-x86_64": { + "relative_path": "libnpp/windows-x86_64/libnpp-windows-x86_64-12.2.5.2-archive.zip", + "sha256": "a9f1bd4d4a57a3120fd4630c7ba0fe35d5f737471ed42bc6fe20c42cb2ac46e2", + "md5": "82eec8e18ed00a7597ec193522bcf7e4", + "size": "156824522" + }, + "linux-aarch64": { + "relative_path": "libnpp/linux-aarch64/libnpp-linux-aarch64-12.2.5.2-archive.tar.xz", + "sha256": "35d15b7a295da0759c6d19fac42c214304fd05650f19482ed3e2a2595c6b6492", + "md5": "f6c31f9c2fc6f3fa14d845b84c496f6c", + "size": "202141296" + } + }, + "libnvfatbin": { + "name": "NVIDIA compiler library for fatbin interaction", + "license": "CUDA Toolkit", + "license_path": "libnvfatbin/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "libnvfatbin/linux-x86_64/libnvfatbin-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "8e47ec31312dd08c139468040ff136832bc1d3206364dc68b3df0989c403d2ec", + "md5": "6b98927fb0e7951f4fd24b2124d4f780", + "size": "888052" + }, + "linux-ppc64le": { + "relative_path": "libnvfatbin/linux-ppc64le/libnvfatbin-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "b18404c664412eae2ff95fd40deea890078e33495ecbf95c1fbc6d1c7a7b1c76", + "md5": "169165eb13348f67af7087f9f17c144d", + "size": "856840" + }, + "linux-sbsa": { + "relative_path": "libnvfatbin/linux-sbsa/libnvfatbin-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "f1285a717183635da1d9ce140b96080b7feb13a1a9b0c6e1d05a7bd8c7260ed1", + "md5": "8449392d981ca87e6572acdc09b61d74", + "size": "788444" + }, + "windows-x86_64": { + "relative_path": "libnvfatbin/windows-x86_64/libnvfatbin-windows-x86_64-12.4.99-archive.zip", + "sha256": "6460741837aec3ff1a10597475fe0420e80cf6c0f1b041686acc94ec84d723d4", + "md5": "7c99dffeb1f1ff2ffbae337090e9092b", + "size": "1500921" + }, + "linux-aarch64": { + "relative_path": "libnvfatbin/linux-aarch64/libnvfatbin-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "113568e442c3d20fd090439064a8854200002f4a1d8ae323621b9967d4008e54", + "md5": "fcd0032fc2248c09690e962057aacda9", + "size": "762720" + } + }, + "libnvidia_nscq": { + "name": "NVIDIA NSCQ API", + "license": "NVIDIA Driver", + "license_path": "libnvidia_nscq/LICENSE.txt", + "version": "550.54.14", + "linux-x86_64": { + "relative_path": "libnvidia_nscq/linux-x86_64/libnvidia_nscq-linux-x86_64-550.54.14-archive.tar.xz", + "sha256": "e91f006079ea8a0432ff48c7456b0996bc214adb9f95f2eea237cb0bde94acd2", + "md5": "dee23a7b6b91849548573a9208d761c0", + "size": "352868" + }, + "linux-sbsa": { + "relative_path": "libnvidia_nscq/linux-sbsa/libnvidia_nscq-linux-sbsa-550.54.14-archive.tar.xz", + "sha256": "acc7b2d66725a89d659ac620e5003da8e4fa068c81f4392e2bc085aa96af5186", + "md5": "ca3fa878d20407162821eec6210dab8d", + "size": "319104" + } + }, + "libnvjitlink": { + "name": "NVIDIA compiler library for JIT LTO functionality", + "license": "CUDA Toolkit", + "license_path": "libnvjitlink/LICENSE.txt", + "version": "12.4.99", + "linux-x86_64": { + "relative_path": "libnvjitlink/linux-x86_64/libnvjitlink-linux-x86_64-12.4.99-archive.tar.xz", + "sha256": "064777547cee873d0cee38ba918c66d8ee397e313fc832ae4745e37061cd37f9", + "md5": "9abe0dc324b61a13e3864bb7efcf82d4", + "size": "29152700" + }, + "linux-ppc64le": { + "relative_path": "libnvjitlink/linux-ppc64le/libnvjitlink-linux-ppc64le-12.4.99-archive.tar.xz", + "sha256": "1c4af32a0d90e19424411be89b6a1e2380714a727b9d5c6a42528f31567da05e", + "md5": "03f883245712497b8aa10a68c1a9da9e", + "size": "26723488" + }, + "linux-sbsa": { + "relative_path": "libnvjitlink/linux-sbsa/libnvjitlink-linux-sbsa-12.4.99-archive.tar.xz", + "sha256": "2d03f30c04f55a0d1814e00355f4279607d9bf77db613f7b7ee0f3e303902206", + "md5": "3b91ef5939460d0b2e0b0c6f162451b1", + "size": "26677288" + }, + "windows-x86_64": { + "relative_path": "libnvjitlink/windows-x86_64/libnvjitlink-windows-x86_64-12.4.99-archive.zip", + "sha256": "f558101a44a35311ddc7bf0cddff601b341bb70278d443148599a5742ffe5623", + "md5": "d838fe2fcbe28c5db7e17faecf1b6f16", + "size": "91520359" + }, + "linux-aarch64": { + "relative_path": "libnvjitlink/linux-aarch64/libnvjitlink-linux-aarch64-12.4.99-archive.tar.xz", + "sha256": "c12ec55b7bc351348aec80338d1e96b68f921d8b0e4902d583b62f5a05bb85af", + "md5": "2e4d84551a0a3495d3bcf18534f3958f", + "size": "27921008" + } + }, + "libnvjpeg": { + "name": "CUDA nvJPEG", + "license": "CUDA Toolkit", + "license_path": "libnvjpeg/LICENSE.txt", + "version": "12.3.1.89", + "linux-x86_64": { + "relative_path": "libnvjpeg/linux-x86_64/libnvjpeg-linux-x86_64-12.3.1.89-archive.tar.xz", + "sha256": "e00e09de998d84d77c5c5273621b0ff92da8fa4634a81062148238619277c157", + "md5": "f76e06188e74eb8700847f9f809414e2", + "size": "2580936" + }, + "linux-ppc64le": { + "relative_path": "libnvjpeg/linux-ppc64le/libnvjpeg-linux-ppc64le-12.3.1.89-archive.tar.xz", + "sha256": "8a61cc43907aa663d1f81736453afdb693d3c422df5e16db64617efe060a2b27", + "md5": "c41f118fd8af095a6c4cced36c66ccd4", + "size": "2624692" + }, + "linux-sbsa": { + "relative_path": "libnvjpeg/linux-sbsa/libnvjpeg-linux-sbsa-12.3.1.89-archive.tar.xz", + "sha256": "f0675ec004373d55b014d72aec35dcc7ce738f9b65c154da5fafa981b1a760b1", + "md5": "ecf63f6be6f174b39df058b9e3133b3a", + "size": "2416168" + }, + "windows-x86_64": { + "relative_path": "libnvjpeg/windows-x86_64/libnvjpeg-windows-x86_64-12.3.1.89-archive.zip", + "sha256": "da2c9538aad6a881dfc07255382122e8be31a62e51c0a99c7943918721253f7c", + "md5": "34fde0665826e9d8a49df3c0a7b60d78", + "size": "2833448" + }, + "linux-aarch64": { + "relative_path": "libnvjpeg/linux-aarch64/libnvjpeg-linux-aarch64-12.3.1.89-archive.tar.xz", + "sha256": "cc78676e6b71678b2fa820dd4a93912a1e7eccb024bd60bd4228a4eba95a7f1f", + "md5": "e4452df9668fc337d66d0fe1994ad2fc", + "size": "2561680" + } + }, + "nsight_compute": { + "name": "Nsight Compute", + "license": "NVIDIA SLA", + "license_path": "nsight_compute/LICENSE.txt", + "version": "2024.1.0.13", + "linux-x86_64": { + "relative_path": "nsight_compute/linux-x86_64/nsight_compute-linux-x86_64-2024.1.0.13-archive.tar.xz", + "sha256": "0e45fb375c03639abb31330c2b91910eb1dbb77dfe2720382675adea0660cad0", + "md5": "c556ca3826f994673edc91ee34ee45ef", + "size": "599148708" + }, + "linux-ppc64le": { + "relative_path": "nsight_compute/linux-ppc64le/nsight_compute-linux-ppc64le-2024.1.0.13-archive.tar.xz", + "sha256": "bee2f9e954a7028846ac7e3d940b86d135c362ce03522536523d29576e939feb", + "md5": "931156a21d78ff918165c72c993bce61", + "size": "114727856" + }, + "linux-sbsa": { + "relative_path": "nsight_compute/linux-sbsa/nsight_compute-linux-sbsa-2024.1.0.13-archive.tar.xz", + "sha256": "a3b07a59ac9bf1a17990cbfc3a7ab690be19d17be649fa7f07d80ce37b47969c", + "md5": "8a22f34e75dac3605e488bc6a25e7ba5", + "size": "260219328" + }, + "windows-x86_64": { + "relative_path": "nsight_compute/windows-x86_64/nsight_compute-windows-x86_64-2024.1.0.13-archive.zip", + "sha256": "3e9688f35c9d7c77a3e075a045c31109a81d64fb91b819e9cb7e91e77491c210", + "md5": "69fcd357340c15341f794bae3c45f7e9", + "size": "545116245" + }, + "linux-aarch64": { + "relative_path": "nsight_compute/linux-aarch64/nsight_compute-linux-aarch64-2024.1.0.13-archive.tar.xz", + "sha256": "57965374567373ef7f03c60ea99ce04153328111314b94153f66a86e72859ae4", + "md5": "2c9847dde68b738cef353c1ef2ff8b1a", + "size": "550858544" + } + }, + "nsight_systems": { + "name": "Nsight Systems", + "license": "NVIDIA SLA", + "license_path": "nsight_systems/LICENSE.txt", + "version": "2023.4.4.54", + "linux-x86_64": { + "relative_path": "nsight_systems/linux-x86_64/nsight_systems-linux-x86_64-2023.4.4.54-archive.tar.xz", + "sha256": "25ecbd3e670eb976abafdbdec688008b7eec90ddc230b74d7c276d9f8fdcf076", + "md5": "397a7063c1a06aa49265bb4838af9076", + "size": "220434032" + }, + "linux-ppc64le": { + "relative_path": "nsight_systems/linux-ppc64le/nsight_systems-linux-ppc64le-2023.4.4.54-archive.tar.xz", + "sha256": "d59ade067dcd4747faf9499f4399749d67ca570b03ecc50b22a8fc97d621b756", + "md5": "2ebe95985f4b57380e34e8c7ca733355", + "size": "58502288" + }, + "linux-sbsa": { + "relative_path": "nsight_systems/linux-sbsa/nsight_systems-linux-sbsa-2023.4.4.54-archive.tar.xz", + "sha256": "d681d18a5bde7815f7bf0cd28581905b156aac52413fc8caaef472af63e80096", + "md5": "45c98835ee2edf014795e8e54fa56989", + "size": "189600532" + }, + "windows-x86_64": { + "relative_path": "nsight_systems/windows-x86_64/nsight_systems-windows-x86_64-2023.4.4.54-archive.zip", + "sha256": "319ac041502f4f62e3c55ad01146f2b8f51e96811bb944fcf3549b8649b67baf", + "md5": "81278ddcc510f2e133c2854d617c818f", + "size": "336162677" + } + }, + "nsight_vse": { + "name": "Nsight Visual Studio Edition (VSE)", + "license": "NVIDIA SLA", + "license_path": "nsight_vse/LICENSE.txt", + "version": "2024.1.0.23349", + "windows-x86_64": { + "relative_path": "nsight_vse/windows-x86_64/nsight_vse-windows-x86_64-2024.1.0.23349-archive.zip", + "sha256": "e445d2576e16d93003fabf1036c2e847d2f95fb1043b247fa1abffb55c8173f9", + "md5": "ace74e54a6212e49774c3b6b226fa0dc", + "size": "507636389" + } + }, + "nvidia_driver": { + "name": "NVIDIA Linux Driver", + "license": "NVIDIA Driver", + "license_path": "nvidia_driver/LICENSE.txt", + "version": "550.54.14", + "linux-x86_64": { + "relative_path": "nvidia_driver/linux-x86_64/nvidia_driver-linux-x86_64-550.54.14-archive.tar.xz", + "sha256": "de89627ec616b58623be16448142a2d5fe771ee32536cd19be8ea97d7609b49a", + "md5": "9831808d805b45d0fcda3368f6017100", + "size": "352641256" + }, + "linux-ppc64le": { + "relative_path": "nvidia_driver/linux-ppc64le/nvidia_driver-linux-ppc64le-550.54.14-archive.tar.xz", + "sha256": "65ccbb95d21a14197b4a97cda79ab059499edd1e69900af1db1d0e796f22d0f5", + "md5": "f9873b7c0f78f3740d65e12059520c31", + "size": "99100348" + }, + "linux-sbsa": { + "relative_path": "nvidia_driver/linux-sbsa/nvidia_driver-linux-sbsa-550.54.14-archive.tar.xz", + "sha256": "d74189ff668b279a1e02b7a9a5389cfa7ae3b080f78d4b2f33e106e99f2fc1e3", + "md5": "ff5b6a8adb585d5f43393c4a05044829", + "size": "268554696" + } + }, + "nvidia_fs": { + "name": "NVIDIA filesystem", + "license": "CUDA Toolkit", + "license_path": "nvidia_fs/LICENSE.txt", + "version": "2.19.6", + "linux-x86_64": { + "relative_path": "nvidia_fs/linux-x86_64/nvidia_fs-linux-x86_64-2.19.6-archive.tar.xz", + "sha256": "d62c9fd07f928b0a3e5b82cf1ba7fd8c646e4e53e56eab4f080a81ff44b949c1", + "md5": "377fe17b3b3f8d289871190045da5ffa", + "size": "58868" + }, + "linux-sbsa": { + "relative_path": "nvidia_fs/linux-sbsa/nvidia_fs-linux-sbsa-2.19.6-archive.tar.xz", + "sha256": "aaa7b25d1e04e46de2c844628bb41b56d36880ce97952f89c005b01d8cc0c5b4", + "md5": "b6afee8a3b2db7f2892ef5ea6a854671", + "size": "58868" + }, + "linux-aarch64": { + "relative_path": "nvidia_fs/linux-aarch64/nvidia_fs-linux-aarch64-2.19.6-archive.tar.xz", + "sha256": "f9ff892c7ce5d809eadbfa5dd344e5fe136540553a4bc50e2a02287c92a6df81", + "md5": "bd8c4598e0652144e5dfb9bafdcb0731", + "size": "58864" + } + }, + "visual_studio_integration": { + "name": "CUDA Visual Studio Integration", + "license": "CUDA Toolkit", + "license_path": "visual_studio_integration/LICENSE.txt", + "version": "12.4.99", + "windows-x86_64": { + "relative_path": "visual_studio_integration/windows-x86_64/visual_studio_integration-windows-x86_64-12.4.99-archive.zip", + "sha256": "1a8742b19e6a63a79b3eacb38a1353502d73e788b7f70e3daad8eaf4ebe111ef", + "md5": "359db0f296ca15085bba74868f3a2d37", + "size": "518841" + } + } +} \ No newline at end of file diff --git a/pkgs/development/cuda-modules/cudatoolkit/releases.nix b/pkgs/development/cuda-modules/cudatoolkit/releases.nix index b6828cc1f68c..05f7b144ec4b 100644 --- a/pkgs/development/cuda-modules/cudatoolkit/releases.nix +++ b/pkgs/development/cuda-modules/cudatoolkit/releases.nix @@ -105,4 +105,10 @@ url = "https://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda_12.3.0_545.23.06_linux.run"; sha256 = "sha256-fBP6zjr2TW4WSNbjEB0xyBEedHFDrLAHfZc8FpCCBCI="; }; + + "12.4" = { + version = "12.4.0"; + url = "https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run"; + sha256 = "sha256-5qhC9OypSQV1zbaLaxu3jUe5Wol95I3uKSxDGJLlfRc="; + }; } diff --git a/pkgs/development/cuda-modules/nvcc-compatibilities.nix b/pkgs/development/cuda-modules/nvcc-compatibilities.nix index 4af1b511a1d9..d4189400e2fc 100644 --- a/pkgs/development/cuda-modules/nvcc-compatibilities.nix +++ b/pkgs/development/cuda-modules/nvcc-compatibilities.nix @@ -119,6 +119,12 @@ let # No changes from 12.2 to 12.3 "12.3" = attrs."12.2"; + + # No changes from 12.2 to 12.3 + "12.4" = attrs."12.3" // { + clangMaxMajorVersion = "17"; + gccMaxMajorVersion = "13"; + }; }; in attrs diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 49921563785e..f1c1a85f72d9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6945,7 +6945,8 @@ with pkgs; cudaPackages_12_1 = callPackage ./cuda-packages.nix { cudaVersion = "12.1"; }; cudaPackages_12_2 = callPackage ./cuda-packages.nix { cudaVersion = "12.2"; }; cudaPackages_12_3 = callPackage ./cuda-packages.nix { cudaVersion = "12.3"; }; - cudaPackages_12 = cudaPackages_12_2; # Latest supported by cudnn + cudaPackages_12_4 = callPackage ./cuda-packages.nix { cudaVersion = "12.4"; }; + cudaPackages_12 = cudaPackages_12_4; # Latest supported by cudnn cudaPackages = recurseIntoAttrs cudaPackages_12; From e0ffe42febb6bde8d3e551d938c8f1b73c8a566f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Thu, 22 Aug 2024 15:58:58 +0000 Subject: [PATCH 07/59] cudaPackages.cudnn_9_3: add sbsa and jetson --- .../cuda-modules/cudnn/releases.nix | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/development/cuda-modules/cudnn/releases.nix b/pkgs/development/cuda-modules/cudnn/releases.nix index 26acaf4a3640..2b4afc160abe 100644 --- a/pkgs/development/cuda-modules/cudnn/releases.nix +++ b/pkgs/development/cuda-modules/cudnn/releases.nix @@ -11,6 +11,13 @@ url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-aarch64/cudnn-linux-aarch64-8.9.5.30_cuda12-archive.tar.xz"; hash = "sha256-BJH3sC9VwiB362eL8xTB+RdSS9UHz1tlgjm/mKRyM6E="; } + { + version = "9.3.0.75"; + minCudaVersion = "12.0"; + maxCudaVersion = "12.6"; + url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-aarch64/cudnn-linux-aarch64-9.3.0.75_cuda12-archive.tar.xz"; + hash = "sha256-Gq5L/O1j+TC0Z3+eko4ZeHjezi7dUcqPp6uDY9Dm7WA="; + } ]; # powerpc linux-ppc64le = [ ]; @@ -72,6 +79,20 @@ url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.9.7.29_cuda12-archive.tar.xz"; hash = "sha256-6Yt8gAEHheXVygHuTOm1sMjHNYfqb4ZIvjTT+NHUe9E="; } + { + version = "9.3.0.75"; + minCudaVersion = "12.0"; + maxCudaVersion = "12.6"; + url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-9.3.0.75_cuda12-archive.tar.xz"; + hash = "sha256-Eibdm5iciYY4VSlj0ACjz7uKCgy5uvjLCear137X1jk="; + } + { + version = "9.3.0.75"; + minCudaVersion = "11.8"; + maxCudaVersion = "11.8"; + url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-9.3.0.75_cuda11-archive.tar.xz"; + hash = "sha256-BLVvv3vuFcJOM5wrqU0Xqoi54zTQzRnnWFPcVFJ5S/c="; + } ]; # x86_64 linux-x86_64 = [ From f990b5a9c13485feb2eb2163246694eea1495fce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Fri, 23 Aug 2024 15:37:46 -0700 Subject: [PATCH 08/59] python311Packages.pyopencl: 2024.2.6 -> 2024.2.7 Diff: https://github.com/inducer/pyopencl/compare/refs/tags/v2024.2.6...v2024.2.7 Changelog: https://github.com/inducer/pyopencl/releases/tag/v2024.2.7 --- .../python-modules/pyopencl/default.nix | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix index 0f9e4808cb97..ab6440d0252f 100644 --- a/pkgs/development/python-modules/pyopencl/default.nix +++ b/pkgs/development/python-modules/pyopencl/default.nix @@ -12,20 +12,16 @@ nanobind, # dependencies - appdirs, - cffi, darwin, - decorator, - mako, numpy, ocl-icd, - oldest-supported-numpy, opencl-headers, platformdirs, pybind11, - pytestCheckHook, pytools, - six, + + # tests + pytestCheckHook, }: let @@ -33,22 +29,22 @@ let in buildPythonPackage rec { pname = "pyopencl"; - version = "2024.2.6"; - format = "pyproject"; + version = "2024.2.7"; + pyproject = true; src = fetchFromGitHub { owner = "inducer"; repo = "pyopencl"; rev = "refs/tags/v${version}"; - hash = "sha256-nP7ZAGeRXrjqDRWlc2SDP1hk1fseGeu9Zx0lOp9Pchs="; + fetchSubmodules = true; + hash = "sha256-VeaEDYnGfMYf9/WqMIZ9g4KounD48eWF3Romt79RMEQ="; }; - nativeBuildInputs = [ + build-system = [ cmake nanobind ninja numpy - oldest-supported-numpy pathspec scikit-build-core ]; @@ -60,32 +56,36 @@ buildPythonPackage rec { pybind11 ] ++ os-specific-buildInputs; - propagatedBuildInputs = [ - appdirs - cffi - decorator - mako + dependencies = [ numpy platformdirs pytools - six ]; nativeCheckInputs = [ pytestCheckHook ]; - preBuild = '' + preCheck = '' export HOME=$(mktemp -d) - rm -rf pyopencl + + # import from $out + rm -r pyopencl ''; - # gcc: error: pygpu_language_opencl.cpp: No such file or directory + # pyopencl._cl.LogicError: clGetPlatformIDs failed: PLATFORM_NOT_FOUND_KHR doCheck = false; - pythonImportsCheck = [ "pyopencl" ]; + pythonImportsCheck = [ + "pyopencl" + "pyopencl.array" + "pyopencl.cltypes" + "pyopencl.elementwise" + "pyopencl.tools" + ]; meta = with lib; { + changelog = "https://github.com/inducer/pyopencl/releases/tag/v${version}"; description = "Python wrapper for OpenCL"; - homepage = "https://github.com/pyopencl/pyopencl"; + homepage = "https://github.com/inducer/pyopencl"; license = licenses.mit; }; } From cb504bdf7e4c23bfcda2021c3c6873596d160426 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Mon, 26 Aug 2024 13:54:30 +0200 Subject: [PATCH 09/59] pop-launcher: prefer --replace-fail for substituteInPlace --- pkgs/applications/misc/pop-launcher/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/misc/pop-launcher/default.nix b/pkgs/applications/misc/pop-launcher/default.nix index b8e614485a29..4f2a6e382fd3 100644 --- a/pkgs/applications/misc/pop-launcher/default.nix +++ b/pkgs/applications/misc/pop-launcher/default.nix @@ -18,15 +18,15 @@ rustPlatform.buildRustPackage rec { postPatch = '' substituteInPlace src/lib.rs \ - --replace '/usr/lib/pop-launcher' "$out/share/pop-launcher" + --replace-fail '/usr/lib/pop-launcher' "$out/share/pop-launcher" substituteInPlace plugins/src/scripts/mod.rs \ - --replace '/usr/lib/pop-launcher' "$out/share/pop-launcher" + --replace-fail '/usr/lib/pop-launcher' "$out/share/pop-launcher" substituteInPlace plugins/src/calc/mod.rs \ - --replace 'Command::new("qalc")' 'Command::new("${libqalculate}/bin/qalc")' + --replace-fail 'Command::new("qalc")' 'Command::new("${libqalculate}/bin/qalc")' substituteInPlace plugins/src/find/mod.rs \ - --replace 'spawn("fd")' 'spawn("${fd}/bin/fd")' + --replace-fail 'spawn("fd")' 'spawn("${fd}/bin/fd")' substituteInPlace plugins/src/terminal/mod.rs \ - --replace '/usr/bin/gnome-terminal' 'gnome-terminal' + --replace-fail '/usr/bin/gnome-terminal' 'gnome-terminal' ''; cargoHash = "sha256-cTvrq0fH057UIx/O9u8zHMsg+psMGg1q9klV5OMxtok="; From 91122d6d31f8a61b02e3a68e0ea38887ee8fc61a Mon Sep 17 00:00:00 2001 From: a-kenji Date: Mon, 26 Aug 2024 13:57:09 +0200 Subject: [PATCH 10/59] pop-launcher: migrate to by-name --- .../default.nix => by-name/po/pop-launcher/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{applications/misc/pop-launcher/default.nix => by-name/po/pop-launcher/package.nix} (100%) diff --git a/pkgs/applications/misc/pop-launcher/default.nix b/pkgs/by-name/po/pop-launcher/package.nix similarity index 100% rename from pkgs/applications/misc/pop-launcher/default.nix rename to pkgs/by-name/po/pop-launcher/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 48668cc069c9..0a755054032a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32809,8 +32809,6 @@ with pkgs; ponymix = callPackage ../applications/audio/ponymix { }; - pop-launcher = callPackage ../applications/misc/pop-launcher { }; - pothos = libsForQt5.callPackage ../applications/radio/pothos { }; potrace = callPackage ../applications/graphics/potrace { }; From 382e49fddf5666886a49141f65dd18ae4f6657a2 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Mon, 26 Aug 2024 13:10:51 +0100 Subject: [PATCH 11/59] openresty: 1.25.3.1 -> 1.25.3.2 addressing CVE-2024-39702 --- pkgs/servers/http/openresty/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix index 53c774264279..c684b83633ab 100644 --- a/pkgs/servers/http/openresty/default.nix +++ b/pkgs/servers/http/openresty/default.nix @@ -11,11 +11,11 @@ callPackage ../nginx/generic.nix args rec { pname = "openresty"; nginxVersion = "1.25.3"; - version = "${nginxVersion}.1"; + version = "${nginxVersion}.2"; src = fetchurl { url = "https://openresty.org/download/openresty-${version}.tar.gz"; - sha256 = "sha256-MuwaJTpaEyUDVaB1/mW31j7EXFYLviEzUPCZKlfNed8="; + sha256 = "sha256-LVZAIrBuM7Rfflz68eXcVx041hgDr5+idU3/81PCjZw="; }; # generic.nix applies fixPatch on top of every patch defined there. From 6ba48af816c4ce69ad52e2b8688760443bf4ca47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 26 Aug 2024 20:52:28 -0700 Subject: [PATCH 12/59] setzer: 65 -> 66 Diff: https://github.com/cvfosammmm/Setzer/compare/v65...v66 --- pkgs/applications/editors/setzer/default.nix | 27 +++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/editors/setzer/default.nix b/pkgs/applications/editors/setzer/default.nix index e331619d6266..11e44e4e0001 100644 --- a/pkgs/applications/editors/setzer/default.nix +++ b/pkgs/applications/editors/setzer/default.nix @@ -1,5 +1,5 @@ { lib -, python3 +, python3Packages , fetchFromGitHub , meson , ninja @@ -18,19 +18,18 @@ , webkitgtk_6_0 }: -python3.pkgs.buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "setzer"; - version = "65"; + version = "66"; + pyproject = false; src = fetchFromGitHub { owner = "cvfosammmm"; repo = "Setzer"; - rev = "v${version}"; - hash = "sha256-5Hpj/RkD11bNcr9/gQG0Y7BNMsh1BGZQiN4IMbI4osc="; + rev = "refs/tags/v${version}"; + hash = "sha256-hqwwDR9jCk2XptcqpaReZ73jqpq4JpYD3Rc2OmrEPxg="; }; - format = "other"; - nativeBuildInputs = [ meson ninja @@ -52,7 +51,7 @@ python3.pkgs.buildPythonApplication rec { webkitgtk_6_0 ]; - propagatedBuildInputs = with python3.pkgs; [ + dependencies = with python3Packages; [ bibtexparser numpy pdfminer-six @@ -64,14 +63,18 @@ python3.pkgs.buildPythonApplication rec { ]; checkPhase = '' + runHook preCheck + meson test --print-errorlogs + + runHook postCheck ''; - meta = with lib; { + meta = { description = "LaTeX editor written in Python with Gtk"; mainProgram = "setzer"; - homepage = src.meta.homepage; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ dotlambda ]; + homepage = "https://www.cvfosammmm.org/setzer/"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ dotlambda ]; }; } From a828ae56c7e854421ca601504e0b0e98eaaa37fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 26 Aug 2024 21:03:39 -0700 Subject: [PATCH 13/59] setzer: format with nixfmt-rfc-style --- pkgs/applications/editors/setzer/default.nix | 37 ++++++++++---------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/pkgs/applications/editors/setzer/default.nix b/pkgs/applications/editors/setzer/default.nix index 11e44e4e0001..ee05b4cd00d1 100644 --- a/pkgs/applications/editors/setzer/default.nix +++ b/pkgs/applications/editors/setzer/default.nix @@ -1,21 +1,22 @@ -{ lib -, python3Packages -, fetchFromGitHub -, meson -, ninja -, gettext -, appstream -, appstream-glib -, wrapGAppsHook4 -, desktop-file-utils -, gobject-introspection -, gtk4 -, gtksourceview5 -, libadwaita -, libportal -, librsvg -, poppler_gi -, webkitgtk_6_0 +{ + appstream, + appstream-glib, + desktop-file-utils, + fetchFromGitHub, + gettext, + gobject-introspection, + gtk4, + gtksourceview5, + lib, + libadwaita, + libportal, + librsvg, + meson, + ninja, + poppler_gi, + python3Packages, + webkitgtk_6_0, + wrapGAppsHook4, }: python3Packages.buildPythonApplication rec { From 6c4cdee251da5cb0dc0d9681ec0528e8ea6075ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 26 Aug 2024 21:05:29 -0700 Subject: [PATCH 14/59] setzer: move to pkgs/by-name --- .../setzer/default.nix => by-name/se/setzer/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{applications/editors/setzer/default.nix => by-name/se/setzer/package.nix} (100%) diff --git a/pkgs/applications/editors/setzer/default.nix b/pkgs/by-name/se/setzer/package.nix similarity index 100% rename from pkgs/applications/editors/setzer/default.nix rename to pkgs/by-name/se/setzer/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fa33de7ebdff..38fad63adff5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12435,8 +12435,6 @@ with pkgs; setserial = callPackage ../tools/system/setserial { }; - setzer = callPackage ../applications/editors/setzer { }; - seqdiag = with python3Packages; toPythonApplication seqdiag; sequoia-sqv = callPackage ../tools/security/sequoia-sqv { }; From 98b81b6895fd9b68778b6739484bec0623947882 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 27 Aug 2024 06:14:21 +0000 Subject: [PATCH 15/59] python312Packages.marimo: 0.7.20 -> 0.8.3 --- pkgs/development/python-modules/marimo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/marimo/default.nix b/pkgs/development/python-modules/marimo/default.nix index bee84a2b7ea3..c5adc0e91f3c 100644 --- a/pkgs/development/python-modules/marimo/default.nix +++ b/pkgs/development/python-modules/marimo/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "marimo"; - version = "0.7.20"; + version = "0.8.3"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-vkEBHJN7VqJU+diijiTV7JABT5g/5NY2XEXM0turDWU="; + hash = "sha256-t7VYKInsZ0hYW+svD0vnsMyGcMtIeuWaor8nijyDhn8="; }; build-system = [ setuptools ]; From 762f7bd38f6a46afb58364549c10aa98e583fe91 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 27 Aug 2024 07:32:48 -0400 Subject: [PATCH 16/59] bpf-linker: 0.9.12-unstable-2024-07-31 -> 0.9.13 Diff: https://github.com/aya-rs/bpf-linker/compare/7585ff7c0709bae13f2ad25f421450d493b02c1a...v0.9.13 --- pkgs/development/tools/bpf-linker/Cargo.lock | 38 +++++++++---------- pkgs/development/tools/bpf-linker/default.nix | 10 ++--- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/pkgs/development/tools/bpf-linker/Cargo.lock b/pkgs/development/tools/bpf-linker/Cargo.lock index be62337108ba..d1edbeb55dcb 100644 --- a/pkgs/development/tools/bpf-linker/Cargo.lock +++ b/pkgs/development/tools/bpf-linker/Cargo.lock @@ -27,9 +27,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" @@ -73,9 +73,9 @@ checksum = "d67af77d68a931ecd5cbd8a3b5987d63a1d1d1278f7f6a60ae33db485cdebb69" [[package]] name = "aya-rustc-llvm-proxy" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09de71afbd6668d1e10f1895f967d5a2c02b2e6db01ea4ac9677c29e22dac548" +checksum = "3c81d599ae18f5a5fdf5e3e13e376c142a6e2c3d4d5ee960e50e61b034ada46b" dependencies = [ "anyhow", "cargo_metadata", @@ -103,7 +103,7 @@ checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "bpf-linker" -version = "0.9.12" +version = "0.9.13" dependencies = [ "anyhow", "ar", @@ -170,9 +170,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.5.11" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3" +checksum = "11d8838454fda655dafd3accb2b6e2bea645b9e4078abe84a22ceb947235c5cc" dependencies = [ "clap_builder", "clap_derive", @@ -180,9 +180,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.11" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", @@ -192,9 +192,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.11" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ "heck", "proc-macro2", @@ -447,9 +447,9 @@ checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "llvm-sys" -version = "180.0.0" +version = "191.0.0-rc1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778fa5fa02e32728e718f11eec147e6f134137399ab02fd2c13d32476337affa" +checksum = "fc981f56df5430a462d0f7676913fe9e8e4c8cc4df02e3157a6e3d808f7ae443" dependencies = [ "anyhow", "cc", @@ -598,9 +598,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -648,9 +648,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "rustc-build-sysroot" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa3ca63cc537c1cb69e4c2c0afc5fda2ccd36ac84c97d5a4ae05e69b1c834afb" +checksum = "2471f8f296262437d7e848e527b4210b44a96e53a3b4435b890227ce3e6da106" dependencies = [ "anyhow", "rustc_version", @@ -1015,9 +1015,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "which" -version = "6.0.1" +version = "6.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7" +checksum = "3d9c5ed668ee1f17edb3b627225343d210006a90bb1e3745ce1f30b1fb115075" dependencies = [ "either", "home", diff --git a/pkgs/development/tools/bpf-linker/default.nix b/pkgs/development/tools/bpf-linker/default.nix index 1212c5a13908..8c044c58622c 100644 --- a/pkgs/development/tools/bpf-linker/default.nix +++ b/pkgs/development/tools/bpf-linker/default.nix @@ -2,7 +2,7 @@ , stdenv , rustPlatform , fetchFromGitHub -, llvmPackages_18 +, llvmPackages_19 , zlib , ncurses , libxml2 @@ -10,13 +10,13 @@ rustPlatform.buildRustPackage rec { pname = "bpf-linker"; - version = "0.9.12-unstable-2024-07-31"; + version = "0.9.13"; src = fetchFromGitHub { owner = "aya-rs"; repo = pname; - rev = "7585ff7c0709bae13f2ad25f421450d493b02c1a"; - hash = "sha256-HvjS+74ZjyhF3h2IaKq4T+aGB5/XJRR3TxLSxp0rEYk="; + rev = "refs/tags/v${version}"; + hash = "sha256-CRYp1ktmmY4OS23+LNKOBQJUMkd+GXptBp5LPfbyZAc="; }; cargoLock = { @@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec { buildNoDefaultFeatures = true; - nativeBuildInputs = [ llvmPackages_18.llvm ]; + nativeBuildInputs = [ llvmPackages_19.llvm ]; buildInputs = [ zlib ncurses libxml2 ]; # fails with: couldn't find crate `core` with expected target triple bpfel-unknown-none From 23e40d8782072db57ddf6dc37de0c4ca415d383b Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 27 Aug 2024 15:50:33 +0100 Subject: [PATCH 17/59] tectonic.tests: fix the eval MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without the change the eval fails as: $ nix build --no-link -f. tectonic.tests error: … while evaluating the attribute 'biber-compatibility' … in the condition of the assert statement at pkgs/stdenv/generic/make-derivation.nix:540:1: 539| # Policy on acceptable hash types in nixpkgs 540| assert attrs ? outputHash -> ( | ^ 541| let algo = … in the right operand of the IMPL (->) operator at /home/slyfox/dev/git/nixpkgs-master/pkgs/stdenv/generic/make-derivation.nix:540:27: 539| # Policy on acceptable hash types in nixpkgs 540| assert attrs ? outputHash -> ( | ^ 541| let algo = (stack trace truncated; use '--show-trace' to show the full, detailed trace) error: attribute 'outputHashAlgo' missing at pkgs/tools/typesetting/tectonic/tests.nix:65:9: 64| inherit (emptyFile) 65| outputHashAlgo | ^ 66| outputHashMode --- pkgs/tools/typesetting/tectonic/tests.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/tools/typesetting/tectonic/tests.nix b/pkgs/tools/typesetting/tectonic/tests.nix index eac66f19599e..802e0812e8c8 100644 --- a/pkgs/tools/typesetting/tectonic/tests.nix +++ b/pkgs/tools/typesetting/tectonic/tests.nix @@ -62,7 +62,6 @@ let the `tectonic` derivation is updated. */ inherit (emptyFile) - outputHashAlgo outputHashMode outputHash ; From 960e0694d984f0a9da6c8bd1515a1cb13c74518a Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Tue, 27 Aug 2024 15:14:51 +0000 Subject: [PATCH 18/59] edk2, edk2-uefi-shell, OVMF: add mjoerg as maintainer --- pkgs/applications/virtualization/OVMF/default.nix | 2 +- pkgs/by-name/ed/edk2/package.nix | 7 ++++--- pkgs/tools/misc/edk2-uefi-shell/default.nix | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index 60eaa6428d62..949d6e240f7d 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -190,7 +190,7 @@ edk2.mkDerivation projectDscPath (finalAttrs: { homepage = "https://github.com/tianocore/tianocore.github.io/wiki/OVMF"; license = lib.licenses.bsd2; platforms = metaPlatforms; - maintainers = with lib.maintainers; [ adamcstephens raitobezarius ]; + maintainers = with lib.maintainers; [ adamcstephens raitobezarius mjoerg ]; broken = stdenv.isDarwin; }; }) diff --git a/pkgs/by-name/ed/edk2/package.nix b/pkgs/by-name/ed/edk2/package.nix index 56b6aac253f5..54d34596c806 100644 --- a/pkgs/by-name/ed/edk2/package.nix +++ b/pkgs/by-name/ed/edk2/package.nix @@ -100,12 +100,13 @@ edk2 = stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = with lib; { + meta = { description = "Intel EFI development kit"; homepage = "https://github.com/tianocore/tianocore.github.io/wiki/EDK-II/"; changelog = "https://github.com/tianocore/edk2/releases/tag/edk2-stable${edk2.version}"; - license = licenses.bsd2; - platforms = with platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ riscv64; + license = lib.licenses.bsd2; + platforms = with lib.platforms; aarch64 ++ arm ++ i686 ++ x86_64 ++ riscv64; + maintainers = [ lib.maintainers.mjoerg ]; }; passthru = { diff --git a/pkgs/tools/misc/edk2-uefi-shell/default.nix b/pkgs/tools/misc/edk2-uefi-shell/default.nix index 7547f9b3e476..0e870a98d495 100644 --- a/pkgs/tools/misc/edk2-uefi-shell/default.nix +++ b/pkgs/tools/misc/edk2-uefi-shell/default.nix @@ -37,6 +37,6 @@ edk2.mkDerivation "ShellPkg/ShellPkg.dsc" (finalAttrs: { inherit (edk2.meta) license platforms; description = "UEFI Shell from Tianocore EFI development kit"; homepage = "https://github.com/tianocore/tianocore.github.io/wiki/ShellPkg"; - maintainers = with lib.maintainers; [ LunNova ]; + maintainers = with lib.maintainers; [ LunNova mjoerg ]; }; }) From b7a9ac40c8bfe3cb065de0ec0a6fdbf31bd81844 Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Tue, 27 Aug 2024 15:14:51 +0000 Subject: [PATCH 19/59] edk2: propagate patches Ensure patches to EDK II and OpenSSL are propagated to edk2.mkDerivation. --- pkgs/by-name/ed/edk2/package.nix | 78 ++++++++++++++++++++------------ 1 file changed, 50 insertions(+), 28 deletions(-) diff --git a/pkgs/by-name/ed/edk2/package.nix b/pkgs/by-name/ed/edk2/package.nix index 54d34596c806..5510f24445e1 100644 --- a/pkgs/by-name/ed/edk2/package.nix +++ b/pkgs/by-name/ed/edk2/package.nix @@ -1,12 +1,12 @@ { stdenv , fetchFromGitHub , fetchpatch +, applyPatches , libuuid , bc , lib , buildPackages , nixosTests -, runCommand , writeScript }: @@ -31,23 +31,10 @@ buildType = if stdenv.isDarwin then else "GCC5"; -edk2 = stdenv.mkDerivation rec { +edk2 = stdenv.mkDerivation { pname = "edk2"; version = "202402"; - patches = [ - # pass targetPrefix as an env var - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/edk2/raw/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/0021-Tweak-the-tools_def-to-support-cross-compiling.patch"; - hash = "sha256-E1/fiFNVx0aB1kOej2DJ2DlBIs9tAAcxoedym2Zhjxw="; - }) - # https://github.com/tianocore/edk2/pull/5658 - (fetchpatch { - url = "https://github.com/tianocore/edk2/commit/a34ff4a8f69a7b8a52b9b299153a8fac702c7df1.patch"; - hash = "sha256-u+niqwjuLV5tNPykW4xhb7PW2XvUmXhx5uvftG1UIbU="; - }) - ]; - srcWithVendoring = fetchFromGitHub { owner = "tianocore"; repo = "edk2"; @@ -56,20 +43,55 @@ edk2 = stdenv.mkDerivation rec { hash = "sha256-Nurm6QNKCyV6wvbj0ELdYAL7mbZ0yg/tTwnEJ+N18ng="; }; - # We don't want EDK2 to keep track of OpenSSL, - # they're frankly bad at it. - src = runCommand "edk2-unvendored-src" { } '' - cp --no-preserve=mode -r ${srcWithVendoring} $out - rm -rf $out/CryptoPkg/Library/OpensslLib/openssl - mkdir -p $out/CryptoPkg/Library/OpensslLib/openssl - tar --strip-components=1 -xf ${buildPackages.openssl.src} -C $out/CryptoPkg/Library/OpensslLib/openssl - chmod -R +w $out/ + src = applyPatches { + name = "edk2-${edk2.version}-unvendored-src"; + src = edk2.srcWithVendoring; - # Fix missing INT64_MAX include that edk2 explicitly does not provide - # via it's own . Let's pull in openssl's definition instead: - sed -i $out/CryptoPkg/Library/OpensslLib/openssl/crypto/property/property_parse.c \ - -e '1i #include "internal/numbers.h"' - ''; + patches = [ + # pass targetPrefix as an env var + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/edk2/raw/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/0021-Tweak-the-tools_def-to-support-cross-compiling.patch"; + hash = "sha256-E1/fiFNVx0aB1kOej2DJ2DlBIs9tAAcxoedym2Zhjxw="; + }) + # https://github.com/tianocore/edk2/pull/5658 + (fetchpatch { + name = "fix-cross-compilation-antlr-dlg.patch"; + url = "https://github.com/tianocore/edk2/commit/a34ff4a8f69a7b8a52b9b299153a8fac702c7df1.patch"; + hash = "sha256-u+niqwjuLV5tNPykW4xhb7PW2XvUmXhx5uvftG1UIbU="; + }) + ]; + + postPatch = '' + # We don't want EDK2 to keep track of OpenSSL, they're frankly bad at it. + rm -r CryptoPkg/Library/OpensslLib/openssl + mkdir -p CryptoPkg/Library/OpensslLib/openssl + ( + cd CryptoPkg/Library/OpensslLib/openssl + tar --strip-components=1 -xf ${buildPackages.openssl.src} + + # Fix missing INT64_MAX include that edk2 explicitly does not provide + # via it's own . Let's pull in openssl's definition instead: + sed -i crypto/property/property_parse.c \ + -e '1i #include "internal/numbers.h"' + + # Apply OpenSSL patches. + ${lib.pipe buildPackages.openssl.patches [ + (builtins.filter ( + patch: + !builtins.elem (baseNameOf patch) [ + # Exclude patches not required in this context. + "nix-ssl-cert-file.patch" + "openssl-disable-kernel-detection.patch" + "use-etc-ssl-certs-darwin.patch" + "use-etc-ssl-certs.patch" + ] + )) + (map (patch: "patch -p1 < ${patch}\n")) + lib.concatStrings + ]} + ) + ''; + }; nativeBuildInputs = [ pythonEnv ]; depsBuildBuild = [ buildPackages.stdenv.cc buildPackages.bash ]; From ad318f1ff4d7f004a66d2c4e835c913e2d45a36c Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Tue, 27 Aug 2024 15:14:51 +0000 Subject: [PATCH 20/59] edk2: remove patch obsoleted by OpenSSL 3.0.14 --- pkgs/by-name/ed/edk2/package.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/by-name/ed/edk2/package.nix b/pkgs/by-name/ed/edk2/package.nix index 5510f24445e1..a22b018ec0f3 100644 --- a/pkgs/by-name/ed/edk2/package.nix +++ b/pkgs/by-name/ed/edk2/package.nix @@ -69,11 +69,6 @@ edk2 = stdenv.mkDerivation { cd CryptoPkg/Library/OpensslLib/openssl tar --strip-components=1 -xf ${buildPackages.openssl.src} - # Fix missing INT64_MAX include that edk2 explicitly does not provide - # via it's own . Let's pull in openssl's definition instead: - sed -i crypto/property/property_parse.c \ - -e '1i #include "internal/numbers.h"' - # Apply OpenSSL patches. ${lib.pipe buildPackages.openssl.patches [ (builtins.filter ( From 0bb9616782ce9d2203d5123f0c7b574c58b8bac3 Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Tue, 27 Aug 2024 15:14:51 +0000 Subject: [PATCH 21/59] edk2: 202402 -> 202405 https://github.com/tianocore/edk2/releases/tag/edk2-stable202405 https://github.com/tianocore/edk2/compare/edk2-stable202402...edk2-stable202405 Add patch to avoid stuck system (#325403). --- pkgs/by-name/ed/edk2/package.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ed/edk2/package.nix b/pkgs/by-name/ed/edk2/package.nix index a22b018ec0f3..64fecdb2fb40 100644 --- a/pkgs/by-name/ed/edk2/package.nix +++ b/pkgs/by-name/ed/edk2/package.nix @@ -33,14 +33,14 @@ buildType = if stdenv.isDarwin then edk2 = stdenv.mkDerivation { pname = "edk2"; - version = "202402"; + version = "202405"; srcWithVendoring = fetchFromGitHub { owner = "tianocore"; repo = "edk2"; rev = "edk2-stable${edk2.version}"; fetchSubmodules = true; - hash = "sha256-Nurm6QNKCyV6wvbj0ELdYAL7mbZ0yg/tTwnEJ+N18ng="; + hash = "sha256-+phKAr3xc4T8tg6YAoGgRWCmxZiFzhazEAai48ICnKM="; }; src = applyPatches { @@ -59,6 +59,13 @@ edk2 = stdenv.mkDerivation { url = "https://github.com/tianocore/edk2/commit/a34ff4a8f69a7b8a52b9b299153a8fac702c7df1.patch"; hash = "sha256-u+niqwjuLV5tNPykW4xhb7PW2XvUmXhx5uvftG1UIbU="; }) + # TODO: remove on next version of edk2 + # https://github.com/tianocore/edk2/pull/5690 + (fetchpatch { + name = "fix-stuck-system.patch"; + url = "https://github.com/tianocore/edk2/commit/ced13b93afea87a8a1fe6ddbb67240a84cb2e3d3.patch"; + hash = "sha256-RHfJ9OcMGs3jDg2jQyzcjbYkJcmc/SZyrdXBsUw9vDA="; + }) ]; postPatch = '' From aea24a383931ccd2c0be206b8436c01704f262b8 Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Tue, 27 Aug 2024 15:14:51 +0000 Subject: [PATCH 22/59] OVMF: enable compilation using Clang Disable -Wno-unneeded-internal-declaration causing the build to fail due to -Wall with Clang. --- pkgs/applications/virtualization/OVMF/default.nix | 2 +- pkgs/by-name/ed/edk2/package.nix | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index 949d6e240f7d..bc65379155ef 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -191,6 +191,6 @@ edk2.mkDerivation projectDscPath (finalAttrs: { license = lib.licenses.bsd2; platforms = metaPlatforms; maintainers = with lib.maintainers; [ adamcstephens raitobezarius mjoerg ]; - broken = stdenv.isDarwin; + broken = stdenv.isDarwin && stdenv.isAarch64; }; }) diff --git a/pkgs/by-name/ed/edk2/package.nix b/pkgs/by-name/ed/edk2/package.nix index 64fecdb2fb40..4cc1a2160f7c 100644 --- a/pkgs/by-name/ed/edk2/package.nix +++ b/pkgs/by-name/ed/edk2/package.nix @@ -92,6 +92,12 @@ edk2 = stdenv.mkDerivation { lib.concatStrings ]} ) + + # enable compilation using Clang + # https://bugzilla.tianocore.org/show_bug.cgi?id=4620 + substituteInPlace BaseTools/Conf/tools_def.template --replace-fail \ + 'DEFINE CLANGPDB_WARNING_OVERRIDES = ' \ + 'DEFINE CLANGPDB_WARNING_OVERRIDES = -Wno-unneeded-internal-declaration ' ''; }; From 27627a34cc6a429876103661ba9d0b1494494eda Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Tue, 27 Aug 2024 15:14:51 +0000 Subject: [PATCH 23/59] OVMFFull: fix build on Darwin edk2-vars-generator might fail on Darwin due to passing an incompatible locale to mtools. LC_ALL=C attempts to bypass this issue. --- pkgs/applications/virtualization/OVMF/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index bc65379155ef..1a17540e4084 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -138,7 +138,8 @@ edk2.mkDerivation projectDscPath (finalAttrs: { '' + lib.optionalString msVarsTemplate '' ( cd ${buildPrefix} - python3 $NIX_BUILD_TOP/debian/edk2-vars-generator.py \ + # locale must be set on Darwin for invocations of mtools to work correctly + LC_ALL=C python3 $NIX_BUILD_TOP/debian/edk2-vars-generator.py \ --flavor ${msVarsArgs.flavor} \ --enrolldefaultkeys ${msVarsArgs.archDir}/EnrollDefaultKeys.efi \ --shell ${msVarsArgs.archDir}/Shell.efi \ From 2dc6d27d8a265f29f4df7af3fdd3c8255174fc77 Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Tue, 27 Aug 2024 15:14:51 +0000 Subject: [PATCH 24/59] OVMFFull: switch debian source to GitLab The referenced archive is no longer available. --- .../virtualization/OVMF/default.nix | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index 1a17540e4084..a309d007e190 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -1,5 +1,5 @@ { stdenv, nixosTests, lib, edk2, util-linux, nasm, acpica-tools, llvmPackages -, fetchurl, python3, pexpect, xorriso, qemu, dosfstools, mtools +, fetchFromGitLab, python3, pexpect, xorriso, qemu, dosfstools, mtools , fdSize2MB ? false , fdSize4MB ? secureBoot , secureBoot ? false @@ -12,7 +12,7 @@ # to use as the PK and first KEK for the keystore. # # By default, we use Debian's cert. This default -# should chnage to a NixOS cert once we have our +# should change to a NixOS cert once we have our # own secure boot signing infrastructure. # # Ignored if msVarsTemplate is false. @@ -66,9 +66,18 @@ let OvmfPkKek1AppPrefix = "4e32566d-8e9e-4f52-81d3-5bb9715f9727"; - debian-edk-src = fetchurl { - url = "http://deb.debian.org/debian/pool/main/e/edk2/edk2_2023.11-5.debian.tar.xz"; - sha256 = "1yxlab4md30pxvjadr6b4xn6cyfw0c292q63pyfv4vylvhsb24g4"; + debian-edk-src = fetchFromGitLab { + domain = "salsa.debian.org"; + owner = "qemu-team"; + repo = "edk2"; + nonConeMode = true; + sparseCheckout = [ + "debian/edk2-vars-generator.py" + "debian/python" + "debian/PkKek-1-*.pem" + ]; + rev = "refs/tags/debian/2023.11-5"; + hash = "sha256-4vDOoZbWQg7yKXiQprK8CRzKGkbKQYlAgQzTqmNxxjU="; }; buildPrefix = "Build/*/*"; @@ -111,7 +120,7 @@ edk2.mkDerivation projectDscPath (finalAttrs: { env.PYTHON_COMMAND = "python3"; postUnpack = lib.optionalDrvAttr msVarsTemplate '' - unpackFile ${debian-edk-src} + ln -s ${debian-edk-src}/debian ''; postConfigure = lib.optionalDrvAttr msVarsTemplate '' @@ -166,7 +175,7 @@ edk2.mkDerivation projectDscPath (finalAttrs: { ln -sv $fd/FV/${fwPrefix}_CODE{,.ms}.fd '' + lib.optionalString stdenv.hostPlatform.isAarch '' mv -v $out/FV/QEMU_{EFI,VARS}.fd $fd/FV - # Add symlinks for Fedora dir layout: https://src.fedoraproject.org/cgit/rpms/edk2.git/tree/edk2.spec + # Add symlinks for Fedora dir layout: https://src.fedoraproject.org/rpms/edk2/blob/main/f/edk2.spec mkdir -vp $fd/AAVMF ln -s $fd/FV/AAVMF_CODE.fd $fd/AAVMF/QEMU_EFI-pflash.raw ln -s $fd/FV/AAVMF_VARS.fd $fd/AAVMF/vars-template-pflash.raw From ab9a643c0db2fb62b1bbb10b66d59e654364cf7f Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Tue, 27 Aug 2024 15:14:51 +0000 Subject: [PATCH 25/59] OVMFFull: update debian source to 2024.05-1 --- pkgs/applications/virtualization/OVMF/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index a309d007e190..e5e737b85daf 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -76,8 +76,8 @@ let "debian/python" "debian/PkKek-1-*.pem" ]; - rev = "refs/tags/debian/2023.11-5"; - hash = "sha256-4vDOoZbWQg7yKXiQprK8CRzKGkbKQYlAgQzTqmNxxjU="; + rev = "refs/tags/debian/2024.05-1"; + hash = "sha256-uAjXJaHOVh944ZxcA2IgCsrsncxuhc0JKlsXs0E03s0="; }; buildPrefix = "Build/*/*"; From d8c8c8f52742a175e3a44c9db4aef19da72451a7 Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Tue, 27 Aug 2024 15:14:52 +0000 Subject: [PATCH 26/59] OVMFFull: expose variablesMs similar to firmware and variables --- pkgs/applications/virtualization/OVMF/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index e5e737b85daf..76d4db7d807c 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -189,6 +189,9 @@ edk2.mkDerivation projectDscPath (finalAttrs: { in { firmware = "${prefix}_CODE.fd"; variables = "${prefix}_VARS.fd"; + variablesMs = + assert msVarsTemplate; + "${prefix}_VARS.ms.fd"; # This will test the EFI firmware for the host platform as part of the NixOS Tests setup. tests.basic-systemd-boot = nixosTests.systemd-boot.basic; tests.secureBoot-systemd-boot = nixosTests.systemd-boot.secureBoot; From 48f6248d8a4c236876a2ce2404852823ca1cf156 Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Tue, 27 Aug 2024 15:14:52 +0000 Subject: [PATCH 27/59] edk2-uefi-shell: mark as broken on Darwin aarch64 --- pkgs/tools/misc/edk2-uefi-shell/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/misc/edk2-uefi-shell/default.nix b/pkgs/tools/misc/edk2-uefi-shell/default.nix index 0e870a98d495..0ec010472645 100644 --- a/pkgs/tools/misc/edk2-uefi-shell/default.nix +++ b/pkgs/tools/misc/edk2-uefi-shell/default.nix @@ -38,5 +38,6 @@ edk2.mkDerivation "ShellPkg/ShellPkg.dsc" (finalAttrs: { description = "UEFI Shell from Tianocore EFI development kit"; homepage = "https://github.com/tianocore/tianocore.github.io/wiki/ShellPkg"; maintainers = with lib.maintainers; [ LunNova mjoerg ]; + broken = stdenv.isDarwin && stdenv.isAarch64; }; }) From 8b47539e653603bfa76ea8b608ab3a519f2218e5 Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Tue, 27 Aug 2024 15:14:52 +0000 Subject: [PATCH 28/59] edk2: 202405 -> 202408 https://github.com/tianocore/edk2/releases/tag/edk2-stable202408 https://github.com/tianocore/edk2/compare/edk2-stable202408..edk2-stable202405 --- pkgs/by-name/ed/edk2/package.nix | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/ed/edk2/package.nix b/pkgs/by-name/ed/edk2/package.nix index 4cc1a2160f7c..b6946ea11949 100644 --- a/pkgs/by-name/ed/edk2/package.nix +++ b/pkgs/by-name/ed/edk2/package.nix @@ -33,14 +33,14 @@ buildType = if stdenv.isDarwin then edk2 = stdenv.mkDerivation { pname = "edk2"; - version = "202405"; + version = "202408"; srcWithVendoring = fetchFromGitHub { owner = "tianocore"; repo = "edk2"; rev = "edk2-stable${edk2.version}"; fetchSubmodules = true; - hash = "sha256-+phKAr3xc4T8tg6YAoGgRWCmxZiFzhazEAai48ICnKM="; + hash = "sha256-2odaTqiAZD5xduT0dwIYWj3gY/aFPVsTFbblIsEhBiA="; }; src = applyPatches { @@ -59,13 +59,6 @@ edk2 = stdenv.mkDerivation { url = "https://github.com/tianocore/edk2/commit/a34ff4a8f69a7b8a52b9b299153a8fac702c7df1.patch"; hash = "sha256-u+niqwjuLV5tNPykW4xhb7PW2XvUmXhx5uvftG1UIbU="; }) - # TODO: remove on next version of edk2 - # https://github.com/tianocore/edk2/pull/5690 - (fetchpatch { - name = "fix-stuck-system.patch"; - url = "https://github.com/tianocore/edk2/commit/ced13b93afea87a8a1fe6ddbb67240a84cb2e3d3.patch"; - hash = "sha256-RHfJ9OcMGs3jDg2jQyzcjbYkJcmc/SZyrdXBsUw9vDA="; - }) ]; postPatch = '' From 6b2ff057662e4e91f4fb63945153e408b6bea895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 26 Aug 2024 14:03:51 -0700 Subject: [PATCH 29/59] bitwarden-cli: 2024.8.0 -> 2024.8.1 Diff: https://github.com/bitwarden/clients/compare/cli-v2024.8.0...cli-v2024.8.1 Changelog: https://github.com/bitwarden/clients/releases/tag/cli-v2024.8.1 --- pkgs/by-name/bi/bitwarden-cli/package.nix | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/bi/bitwarden-cli/package.nix b/pkgs/by-name/bi/bitwarden-cli/package.nix index 7ec901fbc648..6f3187cddb27 100644 --- a/pkgs/by-name/bi/bitwarden-cli/package.nix +++ b/pkgs/by-name/bi/bitwarden-cli/package.nix @@ -11,13 +11,13 @@ buildNpmPackage rec { pname = "bitwarden-cli"; - version = "2024.8.0"; + version = "2024.8.1"; src = fetchFromGitHub { owner = "bitwarden"; repo = "clients"; rev = "cli-v${version}"; - hash = "sha256-vosEc8HCMHEaaQadzA+jDjQA1liEtD8sS1Zndz/Iv00="; + hash = "sha256-l9fLh1YFivVcMs688vM0pHoN0Um2r/EDpo7dvwvZFwY="; }; postPatch = '' @@ -27,10 +27,10 @@ buildNpmPackage rec { nodejs = nodejs_20; - npmDepsHash = "sha256-5neEpU7ZhVO5OR181owsvAnFfl7lr0MymvqbRFCPs3M="; + npmDepsHash = "sha256-/6yWdTy6/GvYy8u5eZB+x5KRG6vhPVE0DIn+RUAO5MI="; nativeBuildInputs = [ - python3 + (python3.withPackages (ps: with ps; [ setuptools ])) ] ++ lib.optionals stdenv.isDarwin [ cctools xcbuild.xcrun @@ -38,7 +38,19 @@ buildNpmPackage rec { makeCacheWritable = true; - env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + env = { + ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + npm_config_build_from_source = "true"; + }; + + # node-argon2 builds with LTO, but that causes missing symbols. So disable it + # and rebuild. See https://github.com/ranisalt/node-argon2/pull/415 + preConfigure = '' + pushd node_modules/argon2 + substituteInPlace binding.gyp --replace-fail '"-flto", ' "" + "$npm_config_node_gyp" rebuild + popd + ''; npmBuildScript = "build:oss:prod"; From fa20162c7990287a61d2a7e7f826b251084b0ded Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Tue, 27 Aug 2024 19:59:19 +0200 Subject: [PATCH 30/59] nixos/services.sympa: remove `with lib;` --- nixos/modules/services/mail/sympa.nix | 147 +++++++++++++------------- 1 file changed, 72 insertions(+), 75 deletions(-) diff --git a/nixos/modules/services/mail/sympa.nix b/nixos/modules/services/mail/sympa.nix index fa8d3b82aaa0..c83844516557 100644 --- a/nixos/modules/services/mail/sympa.nix +++ b/nixos/modules/services/mail/sympa.nix @@ -1,14 +1,11 @@ { config, lib, pkgs, ... }: - -with lib; - let cfg = config.services.sympa; dataDir = "/var/lib/sympa"; user = "sympa"; group = "sympa"; pkg = pkgs.sympa; - fqdns = attrNames cfg.domains; + fqdns = lib.attrNames cfg.domains; usingNginx = cfg.web.enable && cfg.web.server == "nginx"; mysqlLocal = cfg.database.createLocally && cfg.database.type == "MySQL"; pgsqlLocal = cfg.database.createLocally && cfg.database.type == "PostgreSQL"; @@ -42,15 +39,15 @@ let } // commonServiceConfig; configVal = value: - if isBool value then + if lib.isBool value then if value then "on" else "off" else toString value; - configGenerator = c: concatStrings (flip mapAttrsToList c (key: val: "${key}\t${configVal val}\n")); + configGenerator = c: lib.concatStrings (lib.flip lib.mapAttrsToList c (key: val: "${key}\t${configVal val}\n")); mainConfig = pkgs.writeText "sympa.conf" (configGenerator cfg.settings); robotConfig = fqdn: domain: pkgs.writeText "${fqdn}-robot.conf" (configGenerator domain.settings); - transport = pkgs.writeText "transport.sympa" (concatStringsSep "\n" (flip map fqdns (domain: '' + transport = pkgs.writeText "transport.sympa" (lib.concatStringsSep "\n" (lib.flip map fqdns (domain: '' ${domain} error:User unknown in recipient table sympa@${domain} sympa:sympa@${domain} listmaster@${domain} sympa:listmaster@${domain} @@ -58,7 +55,7 @@ let abuse-feedback-report@${domain} sympabounce:sympa@${domain} ''))); - virtual = pkgs.writeText "virtual.sympa" (concatStringsSep "\n" (flip map fqdns (domain: '' + virtual = pkgs.writeText "virtual.sympa" (lib.concatStringsSep "\n" (lib.flip map fqdns (domain: '' sympa-request@${domain} postmaster@localhost sympa-owner@${domain} postmaster@localhost ''))); @@ -73,16 +70,16 @@ let [% list.name %][% return_path_suffix %]@[% list.domain %] sympabounce:[% list.name %]@[% list.domain %] ''; - enabledFiles = filterAttrs (n: v: v.enable) cfg.settingsFile; + enabledFiles = lib.filterAttrs (n: v: v.enable) cfg.settingsFile; in { ###### interface - options.services.sympa = with types; { + options.services.sympa = with lib.types; { - enable = mkEnableOption "Sympa mailing list manager"; + enable = lib.mkEnableOption "Sympa mailing list manager"; - lang = mkOption { + lang = lib.mkOption { type = str; default = "en_US"; example = "cs"; @@ -93,7 +90,7 @@ in ''; }; - listMasters = mkOption { + listMasters = lib.mkOption { type = listOf str; example = [ "postmaster@sympa.example.org" ]; description = '' @@ -102,7 +99,7 @@ in ''; }; - mainDomain = mkOption { + mainDomain = lib.mkOption { type = nullOr str; default = null; example = "lists.example.org"; @@ -112,10 +109,10 @@ in ''; }; - domains = mkOption { + domains = lib.mkOption { type = attrsOf (submodule ({ name, config, ... }: { options = { - webHost = mkOption { + webHost = lib.mkOption { type = nullOr str; default = null; example = "archive.example.org"; @@ -124,13 +121,13 @@ in DNS record of type A (or AAAA or CNAME) has to exist with this value. ''; }; - webLocation = mkOption { + webLocation = lib.mkOption { type = str; default = "/"; example = "/sympa"; description = "URL path part of the web interface."; }; - settings = mkOption { + settings = lib.mkOption { type = attrsOf (oneOf [ str int bool ]); default = {}; example = { @@ -144,8 +141,8 @@ in }; }; - config.settings = mkIf (cfg.web.enable && config.webHost != null) { - wwsympa_url = mkDefault "https://${config.webHost}${strings.removeSuffix "/" config.webLocation}"; + config.settings = lib.mkIf (cfg.web.enable && config.webHost != null) { + wwsympa_url = lib.mkDefault "https://${config.webHost}${lib.removeSuffix "/" config.webLocation}"; }; })); @@ -153,7 +150,7 @@ in Email domains handled by this instance. There have to be MX records for keys of this attribute set. ''; - example = literalExpression '' + example = lib.literalExpression '' { "lists.example.org" = { webHost = "lists.example.org"; @@ -168,14 +165,14 @@ in }; database = { - type = mkOption { + type = lib.mkOption { type = enum [ "SQLite" "PostgreSQL" "MySQL" ]; default = "SQLite"; example = "MySQL"; description = "Database engine to use."; }; - host = mkOption { + host = lib.mkOption { type = nullOr str; default = null; description = '' @@ -191,29 +188,29 @@ in ''; }; - port = mkOption { + port = lib.mkOption { type = nullOr port; default = null; description = "Database port. Use `null` for default port."; }; - name = mkOption { + name = lib.mkOption { type = str; default = if cfg.database.type == "SQLite" then "${dataDir}/sympa.sqlite" else "sympa"; - defaultText = literalExpression ''if database.type == "SQLite" then "${dataDir}/sympa.sqlite" else "sympa"''; + defaultText = lib.literalExpression ''if database.type == "SQLite" then "${dataDir}/sympa.sqlite" else "sympa"''; description = '' Database name. When using SQLite this must be an absolute path to the database file. ''; }; - user = mkOption { + user = lib.mkOption { type = nullOr str; default = user; description = "Database user. The system user name is used as a default."; }; - passwordFile = mkOption { + passwordFile = lib.mkOption { type = nullOr path; default = null; example = "/run/keys/sympa-dbpassword"; @@ -222,7 +219,7 @@ in ''; }; - createLocally = mkOption { + createLocally = lib.mkOption { type = bool; default = true; description = "Whether to create a local database automatically."; @@ -230,13 +227,13 @@ in }; web = { - enable = mkOption { + enable = lib.mkOption { type = bool; default = true; description = "Whether to enable Sympa web interface."; }; - server = mkOption { + server = lib.mkOption { type = enum [ "nginx" "none" ]; default = "nginx"; description = '' @@ -246,7 +243,7 @@ in ''; }; - https = mkOption { + https = lib.mkOption { type = bool; default = true; description = '' @@ -255,7 +252,7 @@ in ''; }; - fcgiProcs = mkOption { + fcgiProcs = lib.mkOption { type = ints.positive; default = 2; description = "Number of FastCGI processes to fork."; @@ -263,7 +260,7 @@ in }; mta = { - type = mkOption { + type = lib.mkOption { type = enum [ "postfix" "none" ]; default = "postfix"; description = '' @@ -276,10 +273,10 @@ in }; }; - settings = mkOption { + settings = lib.mkOption { type = attrsOf (oneOf [ str int bool ]); default = {}; - example = literalExpression '' + example = lib.literalExpression '' { default_home = "lists"; viewlogs_page_size = 50; @@ -292,29 +289,29 @@ in ''; }; - settingsFile = mkOption { + settingsFile = lib.mkOption { type = attrsOf (submodule ({ name, config, ... }: { options = { - enable = mkOption { + enable = lib.mkOption { type = bool; default = true; description = "Whether this file should be generated. This option allows specific files to be disabled."; }; - text = mkOption { + text = lib.mkOption { default = null; type = nullOr lines; description = "Text of the file."; }; - source = mkOption { + source = lib.mkOption { type = path; description = "Path of the source file."; }; }; - config.source = mkIf (config.text != null) (mkDefault (pkgs.writeText "sympa-${baseNameOf name}" config.text)); + config.source = lib.mkIf (config.text != null) (lib.mkDefault (pkgs.writeText "sympa-${baseNameOf name}" config.text)); })); default = {}; - example = literalExpression '' + example = lib.literalExpression '' { "list_data/lists.example.org/help" = { text = "subject This list provides help to users"; @@ -327,11 +324,11 @@ in ###### implementation - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { - services.sympa.settings = (mapAttrs (_: v: mkDefault v) { - domain = if cfg.mainDomain != null then cfg.mainDomain else head fqdns; - listmaster = concatStringsSep "," cfg.listMasters; + services.sympa.settings = (lib.mapAttrs (_: v: lib.mkDefault v) { + domain = if cfg.mainDomain != null then cfg.mainDomain else lib.head fqdns; + listmaster = lib.concatStringsSep "," cfg.listMasters; lang = cfg.lang; home = "${dataDir}/list_data"; @@ -344,24 +341,24 @@ in db_name = cfg.database.name; db_user = cfg.database.name; } - // (optionalAttrs (cfg.database.host != null) { + // (lib.optionalAttrs (cfg.database.host != null) { db_host = cfg.database.host; }) - // (optionalAttrs mysqlLocal { + // (lib.optionalAttrs mysqlLocal { db_host = "localhost"; # use unix domain socket }) - // (optionalAttrs pgsqlLocal { + // (lib.optionalAttrs pgsqlLocal { db_host = "/run/postgresql"; # use unix domain socket }) - // (optionalAttrs (cfg.database.port != null) { + // (lib.optionalAttrs (cfg.database.port != null) { db_port = cfg.database.port; }) - // (optionalAttrs (cfg.mta.type == "postfix") { + // (lib.optionalAttrs (cfg.mta.type == "postfix") { sendmail_aliases = "${dataDir}/sympa_transport"; aliases_program = "${pkgs.postfix}/bin/postmap"; aliases_db_type = "hash"; }) - // (optionalAttrs cfg.web.enable { + // (lib.optionalAttrs cfg.web.enable { static_content_path = "${dataDir}/static_content"; css_path = "${dataDir}/static_content/css"; pictures_path = "${dataDir}/static_content/pictures"; @@ -369,12 +366,12 @@ in })); services.sympa.settingsFile = { - "virtual.sympa" = mkDefault { source = virtual; }; - "transport.sympa" = mkDefault { source = transport; }; - "etc/list_aliases.tt2" = mkDefault { source = listAliases; }; + "virtual.sympa" = lib.mkDefault { source = virtual; }; + "transport.sympa" = lib.mkDefault { source = transport; }; + "etc/list_aliases.tt2" = lib.mkDefault { source = listAliases; }; } - // (flip mapAttrs' cfg.domains (fqdn: domain: - nameValuePair "etc/${fqdn}/robot.conf" (mkDefault { source = robotConfig fqdn domain; }))); + // (lib.flip lib.mapAttrs' cfg.domains (fqdn: domain: + lib.nameValuePair "etc/${fqdn}/robot.conf" (lib.mkDefault { source = robotConfig fqdn domain; }))); environment = { systemPackages = [ pkg ]; @@ -416,14 +413,14 @@ in "d /run/sympa 0755 ${user} ${group} - -" ] - ++ (flip concatMap fqdns (fqdn: [ + ++ (lib.flip lib.concatMap fqdns (fqdn: [ "d ${dataDir}/etc/${fqdn} 0700 ${user} ${group} - -" "d ${dataDir}/list_data/${fqdn} 0700 ${user} ${group} - -" ])) - #++ (flip mapAttrsToList enabledFiles (k: v: + #++ (lib.flip lib.mapAttrsToList enabledFiles (k: v: # "L+ ${dataDir}/${k} - - - - ${v.source}" #)) - ++ (concatLists (flip mapAttrsToList enabledFiles (k: v: [ + ++ (lib.concatLists (lib.flip lib.mapAttrsToList enabledFiles (k: v: [ # sympa doesn't handle symlinks well (e.g. fails to create locks) # force-copy instead "R ${dataDir}/${k} - - - - -" @@ -443,13 +440,13 @@ in umask 0077 cp -f ${mainConfig} ${dataDir}/etc/sympa.conf - ${optionalString (cfg.database.passwordFile != null) '' + ${lib.optionalString (cfg.database.passwordFile != null) '' chmod u+w ${dataDir}/etc/sympa.conf echo -n "db_passwd " >> ${dataDir}/etc/sympa.conf cat ${cfg.database.passwordFile} >> ${dataDir}/etc/sympa.conf ''} - ${optionalString (cfg.mta.type == "postfix") '' + ${lib.optionalString (cfg.mta.type == "postfix") '' ${pkgs.postfix}/bin/postmap hash:${dataDir}/virtual.sympa ${pkgs.postfix}/bin/postmap hash:${dataDir}/transport.sympa ''} @@ -478,7 +475,7 @@ in serviceConfig = sympaServiceConfig "task_manager"; }; - systemd.services.wwsympa = mkIf usingNginx { + systemd.services.wwsympa = lib.mkIf usingNginx { wantedBy = [ "multi-user.target" ]; after = [ "sympa.service" ]; serviceConfig = { @@ -499,14 +496,14 @@ in } // commonServiceConfig; }; - services.nginx.enable = mkIf usingNginx true; - services.nginx.virtualHosts = mkIf usingNginx (let - vHosts = unique (remove null (mapAttrsToList (_k: v: v.webHost) cfg.domains)); - hostLocations = host: map (v: v.webLocation) (filter (v: v.webHost == host) (attrValues cfg.domains)); - httpsOpts = optionalAttrs cfg.web.https { forceSSL = mkDefault true; enableACME = mkDefault true; }; + services.nginx.enable = lib.mkIf usingNginx true; + services.nginx.virtualHosts = lib.mkIf usingNginx (let + vHosts = lib.unique (lib.remove null (lib.mapAttrsToList (_k: v: v.webHost) cfg.domains)); + hostLocations = host: map (v: v.webLocation) (lib.filter (v: v.webHost == host) (lib.attrValues cfg.domains)); + httpsOpts = lib.optionalAttrs cfg.web.https { forceSSL = lib.mkDefault true; enableACME = lib.mkDefault true; }; in - genAttrs vHosts (host: { - locations = genAttrs (hostLocations host) (loc: { + lib.genAttrs vHosts (host: { + locations = lib.genAttrs (hostLocations host) (loc: { extraConfig = '' include ${config.services.nginx.package}/conf/fastcgi_params; @@ -517,7 +514,7 @@ in }; } // httpsOpts)); - services.postfix = mkIf (cfg.mta.type == "postfix") { + services.postfix = lib.mkIf (cfg.mta.type == "postfix") { enable = true; recipientDelimiter = "+"; config = { @@ -561,9 +558,9 @@ in }; }; - services.mysql = optionalAttrs mysqlLocal { + services.mysql = lib.optionalAttrs mysqlLocal { enable = true; - package = mkDefault pkgs.mariadb; + package = lib.mkDefault pkgs.mariadb; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ { name = cfg.database.user; @@ -572,7 +569,7 @@ in ]; }; - services.postgresql = optionalAttrs pgsqlLocal { + services.postgresql = lib.optionalAttrs pgsqlLocal { enable = true; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ @@ -584,5 +581,5 @@ in }; - meta.maintainers = with maintainers; [ mmilata sorki ]; + meta.maintainers = with lib.maintainers; [ mmilata sorki ]; } From e2ff604f85a6642d087581032afeba16e2cf745a Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Tue, 27 Aug 2024 20:57:37 +0200 Subject: [PATCH 31/59] nixos/services.postfix: remove `with lib;` --- nixos/modules/services/mail/postfix.nix | 383 ++++++++++++------------ 1 file changed, 190 insertions(+), 193 deletions(-) diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix index 6bb501959f95..244ce49ee63b 100644 --- a/nixos/modules/services/mail/postfix.nix +++ b/nixos/modules/services/mail/postfix.nix @@ -1,7 +1,4 @@ { config, lib, pkgs, ... }: - -with lib; - let cfg = config.services.postfix; @@ -17,32 +14,32 @@ let haveLocalRecipients = cfg.localRecipients != null; clientAccess = - optional (cfg.dnsBlacklistOverrides != "") + lib.optional (cfg.dnsBlacklistOverrides != "") "check_client_access hash:/etc/postfix/client_access"; dnsBl = - optionals (cfg.dnsBlacklists != []) + lib.optionals (cfg.dnsBlacklists != []) (map (s: "reject_rbl_client " + s) cfg.dnsBlacklists); - clientRestrictions = concatStringsSep ", " (clientAccess ++ dnsBl); + clientRestrictions = lib.concatStringsSep ", " (clientAccess ++ dnsBl); mainCf = let - escape = replaceStrings ["$"] ["$$"]; - mkList = items: "\n " + concatStringsSep ",\n " items; + escape = lib.replaceStrings ["$"] ["$$"]; + mkList = items: "\n " + lib.concatStringsSep ",\n " items; mkVal = value: - if isList value then mkList value + if lib.isList value then mkList value else " " + (if value == true then "yes" else if value == false then "no" else toString value); mkEntry = name: value: "${escape name} =${mkVal value}"; in - concatStringsSep "\n" (mapAttrsToList mkEntry cfg.config) + lib.concatStringsSep "\n" (lib.mapAttrsToList mkEntry cfg.config) + "\n" + cfg.extraConfig; masterCfOptions = { options, config, name, ... }: { options = { - name = mkOption { - type = types.str; + name = lib.mkOption { + type = lib.types.str; default = name; example = "smtp"; description = '' @@ -50,15 +47,15 @@ let ''; }; - type = mkOption { - type = types.enum [ "inet" "unix" "unix-dgram" "fifo" "pass" ]; + type = lib.mkOption { + type = lib.types.enum [ "inet" "unix" "unix-dgram" "fifo" "pass" ]; default = "unix"; example = "inet"; description = "The type of the service"; }; - private = mkOption { - type = types.bool; + private = lib.mkOption { + type = lib.types.bool; example = false; description = '' Whether the service's sockets and storage directory is restricted to @@ -67,14 +64,14 @@ let ''; }; - privileged = mkOption { - type = types.bool; + privileged = lib.mkOption { + type = lib.types.bool; example = true; description = ""; }; - chroot = mkOption { - type = types.bool; + chroot = lib.mkOption { + type = lib.types.bool; example = true; description = '' Whether the service is chrooted to have only access to the @@ -83,8 +80,8 @@ let ''; }; - wakeup = mkOption { - type = types.int; + wakeup = lib.mkOption { + type = lib.types.int; example = 60; description = '' Automatically wake up the service after the specified number of @@ -93,8 +90,8 @@ let ''; }; - wakeupUnusedComponent = mkOption { - type = types.bool; + wakeupUnusedComponent = lib.mkOption { + type = lib.types.bool; example = false; description = '' If set to `false` the component will only be woken @@ -104,8 +101,8 @@ let ''; }; - maxproc = mkOption { - type = types.int; + maxproc = lib.mkOption { + type = lib.types.int; example = 1; description = '' The maximum number of processes to spawn for this service. If the @@ -115,8 +112,8 @@ let ''; }; - command = mkOption { - type = types.str; + command = lib.mkOption { + type = lib.types.str; default = name; example = "smtpd"; description = '' @@ -125,8 +122,8 @@ let ''; }; - args = mkOption { - type = types.listOf types.str; + args = lib.mkOption { + type = lib.types.listOf lib.types.str; default = []; example = [ "-o" "smtp_helo_timeout=5" ]; description = '' @@ -136,8 +133,8 @@ let ''; }; - rawEntry = mkOption { - type = types.listOf types.str; + rawEntry = lib.mkOption { + type = lib.types.listOf lib.types.str; default = []; internal = true; description = '' @@ -148,7 +145,7 @@ let config.rawEntry = let mkBool = bool: if bool then "y" else "n"; - mkArg = arg: "${optionalString (hasPrefix "-" arg) "\n "}${arg}"; + mkArg = arg: "${lib.optionalString (lib.hasPrefix "-" arg) "\n "}${arg}"; maybeOption = fun: option: if options.${option}.isDefined then fun config.${option} else "-"; @@ -158,7 +155,7 @@ let wakeupDefined = options.wakeup.isDefined; wakeupUCDefined = options.wakeupUnusedComponent.isDefined; finalValue = toString config.wakeup - + optionalString (wakeupUCDefined && !config.wakeupUnusedComponent) "?"; + + lib.optionalString (wakeupUCDefined && !config.wakeupUnusedComponent) "?"; in if wakeupDefined then finalValue else "-"; in [ @@ -169,7 +166,7 @@ let (maybeOption mkBool "chroot") wakeup (maybeOption toString "maxproc") - (config.command + " " + concatMapStringsSep " " mkArg config.args) + (config.command + " " + lib.concatMapStringsSep " " mkArg config.args) ]; }; @@ -184,47 +181,47 @@ let "# " "" "(yes)" "(yes)" "(no)" "(never)" "(100)" "" "" ]; - masterCf = mapAttrsToList (const (getAttr "rawEntry")) cfg.masterConfig; + masterCf = lib.mapAttrsToList (lib.const (lib.getAttr "rawEntry")) cfg.masterConfig; # A list of the maximum width of the columns across all lines and labels maxWidths = let foldLine = line: acc: let - columnLengths = map stringLength line; - in zipListsWith max acc columnLengths; + columnLengths = map lib.stringLength line; + in lib.zipListsWith lib.max acc columnLengths; # We need to handle the last column specially here, because it's # open-ended (command + args). - lines = [ labels labelDefaults ] ++ (map (l: init l ++ [""]) masterCf); - in foldr foldLine (genList (const 0) (length labels)) lines; + lines = [ labels labelDefaults ] ++ (map (l: lib.init l ++ [""]) masterCf); + in lib.foldr foldLine (lib.genList (lib.const 0) (lib.length labels)) lines; # Pad a string with spaces from the right (opposite of fixedWidthString). pad = width: str: let - padWidth = width - stringLength str; - padding = concatStrings (genList (const " ") padWidth); - in str + optionalString (padWidth > 0) padding; + padWidth = width - lib.stringLength str; + padding = lib.concatStrings (lib.genList (lib.const " ") padWidth); + in str + lib.optionalString (padWidth > 0) padding; # It's + 2 here, because that's the amount of spacing between columns. - fullWidth = foldr (width: acc: acc + width + 2) 0 maxWidths; + fullWidth = lib.foldr (width: acc: acc + width + 2) 0 maxWidths; - formatLine = line: concatStringsSep " " (zipListsWith pad maxWidths line); + formatLine = line: lib.concatStringsSep " " (lib.zipListsWith pad maxWidths line); formattedLabels = let - sep = "# " + concatStrings (genList (const "=") (fullWidth + 5)); + sep = "# " + lib.concatStrings (lib.genList (lib.const "=") (fullWidth + 5)); lines = [ sep (formatLine labels) (formatLine labelDefaults) sep ]; - in concatStringsSep "\n" lines; + in lib.concatStringsSep "\n" lines; - in formattedLabels + "\n" + concatMapStringsSep "\n" formatLine masterCf + "\n" + cfg.extraMasterConf; + in formattedLabels + "\n" + lib.concatMapStringsSep "\n" formatLine masterCf + "\n" + cfg.extraMasterConf; headerCheckOptions = { ... }: { options = { - pattern = mkOption { - type = types.str; + pattern = lib.mkOption { + type = lib.types.str; default = "/^.*/"; example = "/^X-Mailer:/"; description = "A regexp pattern matching the header"; }; - action = mkOption { - type = types.str; + action = lib.mkOption { + type = lib.types.str; default = "DUNNO"; example = "BCC mail@example.com"; description = "The action to be executed when the pattern is matched"; @@ -232,13 +229,13 @@ let }; }; - headerChecks = concatStringsSep "\n" (map (x: "${x.pattern} ${x.action}") cfg.headerChecks) + cfg.extraHeaderChecks; + headerChecks = lib.concatStringsSep "\n" (map (x: "${x.pattern} ${x.action}") cfg.headerChecks) + cfg.extraHeaderChecks; - aliases = let separator = optionalString (cfg.aliasMapType == "hash") ":"; in - optionalString (cfg.postmasterAlias != "") '' + aliases = let separator = lib.optionalString (cfg.aliasMapType == "hash") ":"; in + lib.optionalString (cfg.postmasterAlias != "") '' postmaster${separator} ${cfg.postmasterAlias} '' - + optionalString (cfg.rootAlias != "") '' + + lib.optionalString (cfg.rootAlias != "") '' root${separator} ${cfg.rootAlias} '' + cfg.extraAliases @@ -247,7 +244,7 @@ let aliasesFile = pkgs.writeText "postfix-aliases" aliases; canonicalFile = pkgs.writeText "postfix-canonical" cfg.canonical; virtualFile = pkgs.writeText "postfix-virtual" cfg.virtual; - localRecipientMapFile = pkgs.writeText "postfix-local-recipient-map" (concatMapStrings (x: x + " ACCEPT\n") cfg.localRecipients); + localRecipientMapFile = pkgs.writeText "postfix-local-recipient-map" (lib.concatMapStrings (x: x + " ACCEPT\n") cfg.localRecipients); checkClientAccessFile = pkgs.writeText "postfix-check-client-access" cfg.dnsBlacklistOverrides; mainCfFile = pkgs.writeText "postfix-main.cf" mainCf; masterCfFile = pkgs.writeText "postfix-master.cf" masterCfContent; @@ -264,26 +261,26 @@ in services.postfix = { - enable = mkOption { - type = types.bool; + enable = lib.mkOption { + type = lib.types.bool; default = false; description = "Whether to run the Postfix mail server."; }; - enableSmtp = mkOption { - type = types.bool; + enableSmtp = lib.mkOption { + type = lib.types.bool; default = true; description = "Whether to enable smtp in master.cf."; }; - enableSubmission = mkOption { - type = types.bool; + enableSubmission = lib.mkOption { + type = lib.types.bool; default = false; description = "Whether to enable smtp submission."; }; - enableSubmissions = mkOption { - type = types.bool; + enableSubmissions = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable smtp submission via smtps. @@ -293,8 +290,8 @@ in ''; }; - submissionOptions = mkOption { - type = with types; attrsOf str; + submissionOptions = lib.mkOption { + type = with lib.types; attrsOf str; default = { smtpd_tls_security_level = "encrypt"; smtpd_sasl_auth_enable = "yes"; @@ -311,8 +308,8 @@ in description = "Options for the submission config in master.cf"; }; - submissionsOptions = mkOption { - type = with types; attrsOf str; + submissionsOptions = lib.mkOption { + type = with lib.types; attrsOf str; default = { smtpd_sasl_auth_enable = "yes"; smtpd_client_restrictions = "permit_sasl_authenticated,reject"; @@ -334,26 +331,26 @@ in ''; }; - setSendmail = mkOption { - type = types.bool; + setSendmail = lib.mkOption { + type = lib.types.bool; default = true; description = "Whether to set the system sendmail to postfix's."; }; - user = mkOption { - type = types.str; + user = lib.mkOption { + type = lib.types.str; default = "postfix"; description = "What to call the Postfix user (must be used only for postfix)."; }; - group = mkOption { - type = types.str; + group = lib.mkOption { + type = lib.types.str; default = "postfix"; description = "What to call the Postfix group (must be used only for postfix)."; }; - setgidGroup = mkOption { - type = types.str; + setgidGroup = lib.mkOption { + type = lib.types.str; default = "postdrop"; description = '' How to call postfix setgid group (for postdrop). Should @@ -361,8 +358,8 @@ in ''; }; - networks = mkOption { - type = types.nullOr (types.listOf types.str); + networks = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; example = ["192.168.0.1/24"]; description = '' @@ -372,8 +369,8 @@ in ''; }; - networksStyle = mkOption { - type = types.str; + networksStyle = lib.mkOption { + type = lib.types.str; default = ""; description = '' Name of standard way of trusted network specification to use, @@ -382,8 +379,8 @@ in ''; }; - hostname = mkOption { - type = types.str; + hostname = lib.mkOption { + type = lib.types.str; default = ""; description = '' Hostname to use. Leave blank to use just the hostname of machine. @@ -391,24 +388,24 @@ in ''; }; - domain = mkOption { - type = types.str; + domain = lib.mkOption { + type = lib.types.str; default = ""; description = '' Domain to use. Leave blank to use hostname minus first component. ''; }; - origin = mkOption { - type = types.str; + origin = lib.mkOption { + type = lib.types.str; default = ""; description = '' Origin to use in outgoing e-mail. Leave blank to use hostname. ''; }; - destination = mkOption { - type = types.nullOr (types.listOf types.str); + destination = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; example = ["localhost"]; description = '' @@ -417,8 +414,8 @@ in ''; }; - relayDomains = mkOption { - type = types.nullOr (types.listOf types.str); + relayDomains = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; example = ["localdomain"]; description = '' @@ -426,32 +423,32 @@ in ''; }; - relayHost = mkOption { - type = types.str; + relayHost = lib.mkOption { + type = lib.types.str; default = ""; description = '' Mail relay for outbound mail. ''; }; - relayPort = mkOption { - type = types.int; + relayPort = lib.mkOption { + type = lib.types.int; default = 25; description = '' SMTP port for relay mail relay. ''; }; - lookupMX = mkOption { - type = types.bool; + lookupMX = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether relay specified is just domain whose MX must be used. ''; }; - postmasterAlias = mkOption { - type = types.str; + postmasterAlias = lib.mkOption { + type = lib.types.str; default = "root"; description = '' Who should receive postmaster e-mail. Multiple values can be added by @@ -459,8 +456,8 @@ in ''; }; - rootAlias = mkOption { - type = types.str; + rootAlias = lib.mkOption { + type = lib.types.str; default = ""; description = '' Who should receive root e-mail. Blank for no redirection. @@ -468,23 +465,23 @@ in ''; }; - extraAliases = mkOption { - type = types.lines; + extraAliases = lib.mkOption { + type = lib.types.lines; default = ""; description = '' Additional entries to put verbatim into aliases file, cf. man-page aliases(8). ''; }; - aliasMapType = mkOption { - type = with types; enum [ "hash" "regexp" "pcre" ]; + aliasMapType = lib.mkOption { + type = with lib.types; enum [ "hash" "regexp" "pcre" ]; default = "hash"; example = "regexp"; description = "The format the alias map should have. Use regexp if you want to use regular expressions."; }; - config = mkOption { - type = with types; attrsOf (oneOf [ bool int str (listOf str) ]); + config = lib.mkOption { + type = with lib.types; attrsOf (oneOf [ bool int str (listOf str) ]); description = '' The main.cf configuration file as key value set. ''; @@ -494,37 +491,37 @@ in }; }; - extraConfig = mkOption { - type = types.lines; + extraConfig = lib.mkOption { + type = lib.types.lines; default = ""; description = '' Extra lines to be added verbatim to the main.cf configuration file. ''; }; - tlsTrustedAuthorities = mkOption { - type = types.str; + tlsTrustedAuthorities = lib.mkOption { + type = lib.types.str; default = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; - defaultText = literalExpression ''"''${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"''; + defaultText = lib.literalExpression ''"''${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"''; description = '' File containing trusted certification authorities (CA) to verify certificates of mailservers contacted for mail delivery. This basically sets smtp_tls_CAfile and enables opportunistic tls. Defaults to NixOS trusted certification authorities. ''; }; - sslCert = mkOption { - type = types.str; + sslCert = lib.mkOption { + type = lib.types.str; default = ""; description = "SSL certificate to use."; }; - sslKey = mkOption { - type = types.str; + sslKey = lib.mkOption { + type = lib.types.str; default = ""; description = "SSL key to use."; }; - recipientDelimiter = mkOption { - type = types.str; + recipientDelimiter = lib.mkOption { + type = lib.types.str; default = ""; example = "+"; description = '' @@ -532,32 +529,32 @@ in ''; }; - canonical = mkOption { - type = types.lines; + canonical = lib.mkOption { + type = lib.types.lines; default = ""; description = '' Entries for the {manpage}`canonical(5)` table. ''; }; - virtual = mkOption { - type = types.lines; + virtual = lib.mkOption { + type = lib.types.lines; default = ""; description = '' Entries for the virtual alias map, cf. man-page virtual(5). ''; }; - virtualMapType = mkOption { - type = types.enum ["hash" "regexp" "pcre"]; + virtualMapType = lib.mkOption { + type = lib.types.enum ["hash" "regexp" "pcre"]; default = "hash"; description = '' What type of virtual alias map file to use. Use `"regexp"` for regular expressions. ''; }; - localRecipients = mkOption { - type = with types; nullOr (listOf str); + localRecipients = lib.mkOption { + type = with lib.types; nullOr (listOf str); default = null; description = '' List of accepted local users. Specify a bare username, an @@ -569,28 +566,28 @@ in ''; }; - transport = mkOption { + transport = lib.mkOption { default = ""; - type = types.lines; + type = lib.types.lines; description = '' Entries for the transport map, cf. man-page transport(8). ''; }; - dnsBlacklists = mkOption { + dnsBlacklists = lib.mkOption { default = []; - type = with types; listOf str; + type = with lib.types; listOf str; description = "dns blacklist servers to use with smtpd_client_restrictions"; }; - dnsBlacklistOverrides = mkOption { + dnsBlacklistOverrides = lib.mkOption { default = ""; - type = types.lines; + type = lib.types.lines; description = "contents of check_client_access for overriding dnsBlacklists"; }; - masterConfig = mkOption { - type = types.attrsOf (types.submodule masterCfOptions); + masterConfig = lib.mkOption { + type = lib.types.attrsOf (lib.types.submodule masterCfOptions); default = {}; example = { submission = { @@ -605,48 +602,48 @@ in ''; }; - extraMasterConf = mkOption { - type = types.lines; + extraMasterConf = lib.mkOption { + type = lib.types.lines; default = ""; example = "submission inet n - n - - smtpd"; description = "Extra lines to append to the generated master.cf file."; }; - enableHeaderChecks = mkOption { - type = types.bool; + enableHeaderChecks = lib.mkOption { + type = lib.types.bool; default = false; example = true; description = "Whether to enable postfix header checks"; }; - headerChecks = mkOption { - type = types.listOf (types.submodule headerCheckOptions); + headerChecks = lib.mkOption { + type = lib.types.listOf (lib.types.submodule headerCheckOptions); default = []; example = [ { pattern = "/^X-Spam-Flag:/"; action = "REDIRECT spam@example.com"; } ]; description = "Postfix header checks."; }; - extraHeaderChecks = mkOption { - type = types.lines; + extraHeaderChecks = lib.mkOption { + type = lib.types.lines; default = ""; example = "/^X-Spam-Flag:/ REDIRECT spam@example.com"; description = "Extra lines to /etc/postfix/header_checks file."; }; - aliasFiles = mkOption { - type = types.attrsOf types.path; + aliasFiles = lib.mkOption { + type = lib.types.attrsOf lib.types.path; default = {}; description = "Aliases' tables to be compiled and placed into /var/lib/postfix/conf."; }; - mapFiles = mkOption { - type = types.attrsOf types.path; + mapFiles = lib.mkOption { + type = lib.types.attrsOf lib.types.path; default = {}; description = "Maps to be compiled and placed into /var/lib/postfix/conf."; }; - useSrs = mkOption { - type = types.bool; + useSrs = lib.mkOption { + type = lib.types.bool; default = false; description = "Whether to enable sender rewriting scheme"; }; @@ -658,7 +655,7 @@ in ###### implementation - config = mkIf config.services.postfix.enable (mkMerge [ + config = lib.mkIf config.services.postfix.enable (lib.mkMerge [ { environment = { @@ -670,7 +667,7 @@ in services.pfix-srsd.enable = config.services.postfix.useSrs; - services.mail.sendmailSetuidWrapper = mkIf config.services.postfix.setSendmail { + services.mail.sendmailSetuidWrapper = lib.mkIf config.services.postfix.setSendmail { program = "sendmail"; source = "${pkgs.postfix}/bin/sendmail"; owner = "root"; @@ -706,7 +703,7 @@ in setgid = true; }; - users.users = optionalAttrs (user == "postfix") + users.users = lib.optionalAttrs (user == "postfix") { postfix = { description = "Postfix mail server user"; uid = config.ids.uids.postfix; @@ -715,10 +712,10 @@ in }; users.groups = - optionalAttrs (group == "postfix") + lib.optionalAttrs (group == "postfix") { ${group}.gid = config.ids.gids.postfix; } - // optionalAttrs (setgidGroup == "postdrop") + // lib.optionalAttrs (setgidGroup == "postdrop") { ${setgidGroup}.gid = config.ids.gids.postdrop; }; @@ -745,11 +742,11 @@ in ln -sf ${mainCfFile} /var/lib/postfix/conf/main.cf ln -sf ${masterCfFile} /var/lib/postfix/conf/master.cf - ${concatStringsSep "\n" (mapAttrsToList (to: from: '' + ${lib.concatStringsSep "\n" (lib.mapAttrsToList (to: from: '' ln -sf ${from} /var/lib/postfix/conf/${to} ${pkgs.postfix}/bin/postalias -o -p /var/lib/postfix/conf/${to} '') cfg.aliasFiles)} - ${concatStringsSep "\n" (mapAttrsToList (to: from: '' + ${lib.concatStringsSep "\n" (lib.mapAttrsToList (to: from: '' ln -sf ${from} /var/lib/postfix/conf/${to} ${pkgs.postfix}/bin/postmap /var/lib/postfix/conf/${to} '') cfg.mapFiles)} @@ -795,7 +792,7 @@ in }; }; - services.postfix.config = (mapAttrs (_: v: mkDefault v) { + services.postfix.config = (lib.mapAttrs (_: v: lib.mkDefault v) { compatibility_level = pkgs.postfix.version; mail_owner = cfg.user; default_privs = "nobody"; @@ -819,39 +816,39 @@ in mail_spool_directory = "/var/spool/mail/"; setgid_group = cfg.setgidGroup; }) - // optionalAttrs (cfg.relayHost != "") { relayhost = if cfg.lookupMX + // lib.optionalAttrs (cfg.relayHost != "") { relayhost = if cfg.lookupMX then "${cfg.relayHost}:${toString cfg.relayPort}" else "[${cfg.relayHost}]:${toString cfg.relayPort}"; } - // optionalAttrs (!config.networking.enableIPv6) { inet_protocols = mkDefault "ipv4"; } - // optionalAttrs (cfg.networks != null) { mynetworks = cfg.networks; } - // optionalAttrs (cfg.networksStyle != "") { mynetworks_style = cfg.networksStyle; } - // optionalAttrs (cfg.hostname != "") { myhostname = cfg.hostname; } - // optionalAttrs (cfg.domain != "") { mydomain = cfg.domain; } - // optionalAttrs (cfg.origin != "") { myorigin = cfg.origin; } - // optionalAttrs (cfg.destination != null) { mydestination = cfg.destination; } - // optionalAttrs (cfg.relayDomains != null) { relay_domains = cfg.relayDomains; } - // optionalAttrs (cfg.recipientDelimiter != "") { recipient_delimiter = cfg.recipientDelimiter; } - // optionalAttrs haveAliases { alias_maps = [ "${cfg.aliasMapType}:/etc/postfix/aliases" ]; } - // optionalAttrs haveTransport { transport_maps = [ "hash:/etc/postfix/transport" ]; } - // optionalAttrs haveVirtual { virtual_alias_maps = [ "${cfg.virtualMapType}:/etc/postfix/virtual" ]; } - // optionalAttrs haveLocalRecipients { local_recipient_maps = [ "hash:/etc/postfix/local_recipients" ] ++ optional haveAliases "$alias_maps"; } - // optionalAttrs (cfg.dnsBlacklists != []) { smtpd_client_restrictions = clientRestrictions; } - // optionalAttrs cfg.useSrs { + // lib.optionalAttrs (!config.networking.enableIPv6) { inet_protocols = lib.mkDefault "ipv4"; } + // lib.optionalAttrs (cfg.networks != null) { mynetworks = cfg.networks; } + // lib.optionalAttrs (cfg.networksStyle != "") { mynetworks_style = cfg.networksStyle; } + // lib.optionalAttrs (cfg.hostname != "") { myhostname = cfg.hostname; } + // lib.optionalAttrs (cfg.domain != "") { mydomain = cfg.domain; } + // lib.optionalAttrs (cfg.origin != "") { myorigin = cfg.origin; } + // lib.optionalAttrs (cfg.destination != null) { mydestination = cfg.destination; } + // lib.optionalAttrs (cfg.relayDomains != null) { relay_domains = cfg.relayDomains; } + // lib.optionalAttrs (cfg.recipientDelimiter != "") { recipient_delimiter = cfg.recipientDelimiter; } + // lib.optionalAttrs haveAliases { alias_maps = [ "${cfg.aliasMapType}:/etc/postfix/aliases" ]; } + // lib.optionalAttrs haveTransport { transport_maps = [ "hash:/etc/postfix/transport" ]; } + // lib.optionalAttrs haveVirtual { virtual_alias_maps = [ "${cfg.virtualMapType}:/etc/postfix/virtual" ]; } + // lib.optionalAttrs haveLocalRecipients { local_recipient_maps = [ "hash:/etc/postfix/local_recipients" ] ++ lib.optional haveAliases "$alias_maps"; } + // lib.optionalAttrs (cfg.dnsBlacklists != []) { smtpd_client_restrictions = clientRestrictions; } + // lib.optionalAttrs cfg.useSrs { sender_canonical_maps = [ "tcp:127.0.0.1:10001" ]; sender_canonical_classes = [ "envelope_sender" ]; recipient_canonical_maps = [ "tcp:127.0.0.1:10002" ]; recipient_canonical_classes = [ "envelope_recipient" ]; } - // optionalAttrs cfg.enableHeaderChecks { header_checks = [ "regexp:/etc/postfix/header_checks" ]; } - // optionalAttrs (cfg.tlsTrustedAuthorities != "") { + // lib.optionalAttrs cfg.enableHeaderChecks { header_checks = [ "regexp:/etc/postfix/header_checks" ]; } + // lib.optionalAttrs (cfg.tlsTrustedAuthorities != "") { smtp_tls_CAfile = cfg.tlsTrustedAuthorities; - smtp_tls_security_level = mkDefault "may"; + smtp_tls_security_level = lib.mkDefault "may"; } - // optionalAttrs (cfg.sslCert != "") { + // lib.optionalAttrs (cfg.sslCert != "") { smtp_tls_cert_file = cfg.sslCert; smtp_tls_key_file = cfg.sslKey; - smtp_tls_security_level = mkDefault "may"; + smtp_tls_security_level = lib.mkDefault "may"; smtpd_tls_cert_file = cfg.sslCert; smtpd_tls_key_file = cfg.sslKey; @@ -931,16 +928,16 @@ in scache = { maxproc = 1; }; - } // optionalAttrs cfg.enableSubmission { + } // lib.optionalAttrs cfg.enableSubmission { submission = { type = "inet"; private = false; command = "smtpd"; args = let mkKeyVal = opt: val: [ "-o" (opt + "=" + val) ]; - in concatLists (mapAttrsToList mkKeyVal cfg.submissionOptions); + in lib.concatLists (lib.mapAttrsToList mkKeyVal cfg.submissionOptions); }; - } // optionalAttrs cfg.enableSmtp { + } // lib.optionalAttrs cfg.enableSmtp { smtp_inet = { name = "smtp"; type = "inet"; @@ -952,7 +949,7 @@ in command = "smtp"; args = [ "-o" "smtp_fallback_relay=" ]; }; - } // optionalAttrs cfg.enableSubmissions { + } // lib.optionalAttrs cfg.enableSubmissions { submissions = { type = "inet"; private = false; @@ -964,43 +961,43 @@ in cfg.submissionsOptions.smtpd_tls_security_level == "may"; submissionsOptions = cfg.submissionsOptions // { smtpd_tls_wrappermode = "yes"; - } // optionalAttrs adjustSmtpTlsSecurityLevel { + } // lib.optionalAttrs adjustSmtpTlsSecurityLevel { smtpd_tls_security_level = "encrypt"; }; - in concatLists (mapAttrsToList mkKeyVal submissionsOptions); + in lib.concatLists (lib.mapAttrsToList mkKeyVal submissionsOptions); }; }; } - (mkIf haveAliases { + (lib.mkIf haveAliases { services.postfix.aliasFiles.aliases = aliasesFile; }) - (mkIf haveCanonical { + (lib.mkIf haveCanonical { services.postfix.mapFiles.canonical = canonicalFile; }) - (mkIf haveTransport { + (lib.mkIf haveTransport { services.postfix.mapFiles.transport = transportFile; }) - (mkIf haveVirtual { + (lib.mkIf haveVirtual { services.postfix.mapFiles.virtual = virtualFile; }) - (mkIf haveLocalRecipients { + (lib.mkIf haveLocalRecipients { services.postfix.mapFiles.local_recipients = localRecipientMapFile; }) - (mkIf cfg.enableHeaderChecks { + (lib.mkIf cfg.enableHeaderChecks { services.postfix.mapFiles.header_checks = headerChecksFile; }) - (mkIf (cfg.dnsBlacklists != []) { + (lib.mkIf (cfg.dnsBlacklists != []) { services.postfix.mapFiles.client_access = checkClientAccessFile; }) ]); imports = [ - (mkRemovedOptionModule [ "services" "postfix" "sslCACert" ] + (lib.mkRemovedOptionModule [ "services" "postfix" "sslCACert" ] "services.postfix.sslCACert was replaced by services.postfix.tlsTrustedAuthorities. In case you intend that your server should validate requested client certificates use services.postfix.extraConfig.") - (mkChangedOptionModule [ "services" "postfix" "useDane" ] + (lib.mkChangedOptionModule [ "services" "postfix" "useDane" ] [ "services" "postfix" "config" "smtp_tls_security_level" ] - (config: mkIf config.services.postfix.useDane "dane")) + (config: lib.mkIf config.services.postfix.useDane "dane")) ]; } From 1f8b8f4707cef19ea4f356651652b8dbe47b02d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 27 Aug 2024 13:33:47 -0700 Subject: [PATCH 32/59] python312Packages.idasen: modernize --- pkgs/development/python-modules/idasen/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/idasen/default.nix b/pkgs/development/python-modules/idasen/default.nix index 61bbdefce2f5..8f1c36006f93 100644 --- a/pkgs/development/python-modules/idasen/default.nix +++ b/pkgs/development/python-modules/idasen/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "idasen"; version = "0.12.0"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.8"; @@ -25,9 +25,9 @@ buildPythonPackage rec { hash = "sha256-TQ+DBFpG+IeZ4/dN+YKMw3AM4Dl1rpqA1kRcb3Tb3jA="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ bleak pyyaml voluptuous From 5c82f4d9355d4e900595aded155bd404b1f8d27e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 27 Aug 2024 13:29:49 -0700 Subject: [PATCH 33/59] python312Packages.idasen-ha: init at 2.6.2 --- .../python-modules/idasen-ha/default.nix | 41 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/python-modules/idasen-ha/default.nix diff --git a/pkgs/development/python-modules/idasen-ha/default.nix b/pkgs/development/python-modules/idasen-ha/default.nix new file mode 100644 index 000000000000..2c93133cf6ad --- /dev/null +++ b/pkgs/development/python-modules/idasen-ha/default.nix @@ -0,0 +1,41 @@ +{ + buildPythonPackage, + fetchFromGitHub, + idasen, + lib, + pytest-asyncio, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage rec { + pname = "idasen-ha"; + version = "2.6.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "abmantis"; + repo = "idasen-ha"; + rev = "refs/tags/${version}"; + hash = "sha256-lqqSx4jxQVq2pjVv9lvaX6nNK6OqtMjPqOtLMLpVMUU="; + }; + + build-system = [ setuptools ]; + + dependencies = [ idasen ]; + + pythonImportsCheck = [ "idasen_ha" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/abmantis/idasen-ha/releases/tag/${version}"; + description = "Home Assistant helper lib for the IKEA Idasen Desk integration"; + homepage = "https://github.com/abmantis/idasen-ha"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index adf16544281c..dc8e53b991b7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5884,6 +5884,8 @@ self: super: with self; { idasen = callPackage ../development/python-modules/idasen { }; + idasen-ha = callPackage ../development/python-modules/idasen-ha { }; + icoextract = toPythonModule (pkgs.icoextract.override { python3Packages = self; }); From 8402c31159e9fb8d3862f7efc32799fc33d48482 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 27 Aug 2024 13:31:49 -0700 Subject: [PATCH 34/59] home-assistant: support idasen_desk component --- pkgs/servers/home-assistant/component-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index e1a845ce6a1f..47719ef1fc40 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -1821,13 +1821,14 @@ habluetooth hassil home-assistant-intents + idasen-ha ifaddr mutagen pymicro-vad pyserial pyudev zeroconf - ]; # missing inputs: idasen-ha + ]; "idteck_prox" = ps: with ps; [ ]; # missing inputs: rfk101py "ifttt" = ps: with ps; [ @@ -5164,6 +5165,7 @@ "iaqualink" "ibeacon" "icloud" + "idasen_desk" "ifttt" "ign_sismologia" "image" From c7dce86691fde42ca74c996805f2ab74f77b2741 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 28 Aug 2024 03:46:07 +0000 Subject: [PATCH 35/59] snappymail: 2.37.2 -> 2.37.3 --- pkgs/servers/snappymail/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/snappymail/default.nix b/pkgs/servers/snappymail/default.nix index a0da2ecea6db..a6af3d77fbe2 100644 --- a/pkgs/servers/snappymail/default.nix +++ b/pkgs/servers/snappymail/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "snappymail"; - version = "2.37.2"; + version = "2.37.3"; src = fetchurl { url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz"; - sha256 = "sha256-kKL3+T4VXhHDYdKfiGVB8cx9/OJajqjvlcImCIrp9yw="; + sha256 = "sha256-Fa6VbWPROkdVS8wHkXYCNR+DiBR6SqvfmrjGVlhhkwU="; }; sourceRoot = "snappymail"; From b73ec32d49abc5d14a14112ecb4bfcaf51ae9c0b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 28 Aug 2024 04:06:33 +0000 Subject: [PATCH 36/59] xarcan: 0-unstable-2024-08-04 -> 0-unstable-2024-08-26 --- pkgs/by-name/xa/xarcan/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/xa/xarcan/package.nix b/pkgs/by-name/xa/xarcan/package.nix index bcb42f0414fa..325d05327367 100644 --- a/pkgs/by-name/xa/xarcan/package.nix +++ b/pkgs/by-name/xa/xarcan/package.nix @@ -39,13 +39,13 @@ stdenv.mkDerivation (finalPackages: { pname = "xarcan"; - version = "0-unstable-2024-08-04"; + version = "0-unstable-2024-08-26"; src = fetchFromGitHub { owner = "letoram"; repo = "xarcan"; - rev = "7644616b3bd0ff2b5708e93acc990cd757b20ae9"; - hash = "sha256-iKYTuJ/1iwm449ZOBOzi+LkrTTio7aaIHUn+M+Sbzc8="; + rev = "5672116f627de492fb4df0b33d36b78041cd3931"; + hash = "sha256-xZX6uLs/H/wONKrUnYxSynHK7CL7FDfzWvSjtXxT8es="; }; nativeBuildInputs = [ From 4b8fe91f688af649d4f5c2cfd0b217bb40efa630 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 28 Aug 2024 07:59:36 +0000 Subject: [PATCH 37/59] uxn: 1.0-unstable-2024-08-12 -> 1.0-unstable-2024-08-25 --- pkgs/by-name/ux/uxn/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ux/uxn/package.nix b/pkgs/by-name/ux/uxn/package.nix index 12d0ce05bca7..a8fa5eb51aed 100644 --- a/pkgs/by-name/ux/uxn/package.nix +++ b/pkgs/by-name/ux/uxn/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "uxn"; - version = "1.0-unstable-2024-08-12"; + version = "1.0-unstable-2024-08-25"; src = fetchFromSourcehut { owner = "~rabbits"; repo = "uxn"; - rev = "3a901ed0beeaf5e3268a40779f2944ef99f93774"; - hash = "sha256-JlDNiKcaZG2OYeiVlIovEIDN/h7ET5d0M83vlHMQQK4="; + rev = "6d5e3848bdbd76420b93ca47de148cbf46baf9f6"; + hash = "sha256-YTDL3NZSjbVqu6aPJBmUmsT3bDX2VUeufXq/Q+jn4Og="; }; outputs = [ "out" "projects" ]; From 7683ce4d9bbfe810406a339073945a25f069de3d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 28 Aug 2024 10:26:29 +0000 Subject: [PATCH 38/59] aider-chat: 0.51.0 -> 0.53.0 --- pkgs/by-name/ai/aider-chat/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ai/aider-chat/package.nix b/pkgs/by-name/ai/aider-chat/package.nix index c36578975241..4cf03feea296 100644 --- a/pkgs/by-name/ai/aider-chat/package.nix +++ b/pkgs/by-name/ai/aider-chat/package.nix @@ -12,7 +12,7 @@ let self = python3; packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; }; }; - version = "0.51.0"; + version = "0.53.0"; in python3.pkgs.buildPythonApplication { pname = "aider-chat"; @@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication { owner = "paul-gauthier"; repo = "aider"; rev = "refs/tags/v${version}"; - hash = "sha256-vomRXWL3++1R8jpjMKbsGrB+B1FWQxVbLKxuPttnspw="; + hash = "sha256-KQp4qqQKm++oB9RVQZhAWQJs7Nbyssc9eKKRH1VZbRU="; }; build-system = with python3.pkgs; [ setuptools ]; From 6597101ced580d85ad824e7f80a1169268f60b2b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 28 Aug 2024 12:37:48 +0000 Subject: [PATCH 39/59] nwg-panel: 0.9.37 -> 0.9.38 --- pkgs/by-name/nw/nwg-panel/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nw/nwg-panel/package.nix b/pkgs/by-name/nw/nwg-panel/package.nix index 288440445786..359d57cda5b0 100644 --- a/pkgs/by-name/nw/nwg-panel/package.nix +++ b/pkgs/by-name/nw/nwg-panel/package.nix @@ -16,13 +16,13 @@ python3Packages.buildPythonApplication rec { pname = "nwg-panel"; - version = "0.9.37"; + version = "0.9.38"; src = fetchFromGitHub { owner = "nwg-piotr"; repo = "nwg-panel"; rev = "refs/tags/v${version}"; - hash = "sha256-CKufaOAh7wH2ECN+zsPk4PQNYuewT2BzTci8nt8EhlU="; + hash = "sha256-5vq/5QovvoDUDu9IiAeI9c06g0iy9YLi7CdpEhXbLqI="; }; # No tests From 4d2a0cfb34c245e8674a819f3bbc61c024456a37 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Wed, 28 Aug 2024 08:50:36 -0400 Subject: [PATCH 40/59] nixos/tests/incus: fix container importing --- nixos/tests/incus/container.nix | 6 +++--- nixos/tests/incus/incusd-options.nix | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/tests/incus/container.nix b/nixos/tests/incus/container.nix index d2b8037cae70..2329721d9504 100644 --- a/nixos/tests/incus/container.nix +++ b/nixos/tests/incus/container.nix @@ -11,8 +11,8 @@ let extra; }; - container-image-metadata = releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system}; - container-image-rootfs = releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system}; + container-image-metadata = "${releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system}}/tarball/nixos-system-${pkgs.stdenv.hostPlatform.system}.tar.xz"; + container-image-rootfs = "${releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system}}/nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}.squashfs"; in { inherit name; @@ -61,7 +61,7 @@ in machine.succeed("incus admin init --minimal") with subtest("Container image can be imported"): - machine.succeed("incus image import ${container-image-metadata}/*/*.tar.xz ${container-image-rootfs} --alias nixos") + machine.succeed("incus image import ${container-image-metadata} ${container-image-rootfs} --alias nixos") with subtest("Container can be launched and managed"): machine.succeed("incus launch nixos container") diff --git a/nixos/tests/incus/incusd-options.nix b/nixos/tests/incus/incusd-options.nix index afa1805b9d19..3a355ca7c888 100644 --- a/nixos/tests/incus/incusd-options.nix +++ b/nixos/tests/incus/incusd-options.nix @@ -16,8 +16,8 @@ import ../make-test-python.nix ( }; }; - container-image-metadata = releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system}; - container-image-rootfs = releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system}; + container-image-metadata = "${releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system}}/tarball/nixos-system-${pkgs.stdenv.hostPlatform.system}.tar.xz"; + container-image-rootfs = "${releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system}}/nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}.squashfs"; in { name = "incusd-options"; @@ -87,7 +87,7 @@ import ../make-test-python.nix ( machine.wait_for_unit("incus-preseed.service") with subtest("Container image can be imported"): - machine.succeed("incus image import ${container-image-metadata}/*/*.tar.xz ${container-image-rootfs} --alias nixos") + machine.succeed("incus image import ${container-image-metadata} ${container-image-rootfs} --alias nixos") with subtest("Container can be launched and managed"): machine.succeed("incus launch nixos container") From 056b6a1f408bdcd697ae4a8653eee31220f9f15f Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Wed, 28 Aug 2024 08:56:00 -0400 Subject: [PATCH 41/59] nixos/tests/lxd: fix squashfs container import --- nixos/tests/lxd/container.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/lxd/container.nix b/nixos/tests/lxd/container.nix index 26dcad2f97a7..c04ae42afb8c 100644 --- a/nixos/tests/lxd/container.nix +++ b/nixos/tests/lxd/container.nix @@ -64,7 +64,7 @@ in { with subtest("Squashfs image is functional"): machine.succeed( - "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs-squashfs} --alias nixos-squashfs" + "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs-squashfs}/nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}.squashfs --alias nixos-squashfs" ) machine.succeed("lxc launch nixos-squashfs container") with machine.nested("Waiting for instance to start and be usable"): From 389de87aed7fa3836d4ed22efc875d8417a161a8 Mon Sep 17 00:00:00 2001 From: Matteo Sozzi Date: Wed, 8 May 2024 13:52:25 +0200 Subject: [PATCH 42/59] lxc: added option for unprivileged containers. Added extra option to enable unprivileged containers. This includes a patch to remove the hard-coded path to `lxc-user-nic` and a new security wrapper to set SUID to `lxc-user-nic`. --- nixos/modules/virtualisation/lxc.nix | 38 ++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/incus/incusd-options.nix | 8 +- nixos/tests/lxc/default.nix | 124 +++++++++++++++++++++++++++ pkgs/by-name/lx/lxc/package.nix | 24 +++++- pkgs/by-name/lx/lxc/user-nic.diff | 13 +++ 6 files changed, 205 insertions(+), 3 deletions(-) create mode 100644 nixos/tests/lxc/default.nix create mode 100644 pkgs/by-name/lx/lxc/user-nic.diff diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix index 1ef322588a68..d1f4852cec64 100644 --- a/nixos/modules/virtualisation/lxc.nix +++ b/nixos/modules/virtualisation/lxc.nix @@ -23,6 +23,8 @@ in ''; }; + unprivilegedContainers = lib.mkEnableOption "support for unprivileged users to launch containers"; + systemConfig = lib.mkOption { type = lib.types.lines; @@ -53,6 +55,15 @@ in administration access in LXC. See {manpage}`lxc-usernet(5)`. ''; }; + + bridgeConfig = + lib.mkOption { + type = lib.types.lines; + default = ""; + description = '' + This is the config file for override lxc-net bridge default settings. + ''; + }; }; ###### implementation @@ -62,6 +73,8 @@ in environment.etc."lxc/lxc.conf".text = cfg.systemConfig; environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig; environment.etc."lxc/default.conf".text = cfg.defaultConfig; + environment.etc."lxc/lxc-net".text = cfg.bridgeConfig; + environment.pathsToLink = [ "/share/lxc" ]; systemd.tmpfiles.rules = [ "d /var/lib/lxc/rootfs 0755 root root -" ]; security.apparmor.packages = [ cfg.package ]; @@ -73,5 +86,30 @@ in include ${cfg.package}/etc/apparmor.d/lxc-containers ''; }; + + # We don't need the `lxc-user` group, unless the unprivileged containers are enabled. + users.groups = lib.mkIf cfg.unprivilegedContainers { lxc-user = {}; }; + + # `lxc-user-nic` needs suid to attach to bridge for unpriv containers. + security.wrappers = lib.mkIf cfg.unprivilegedContainers { + lxcUserNet = { + source = "${pkgs.lxc}/libexec/lxc/lxc-user-nic"; + setuid = true; + owner = "root"; + group = "lxc-user"; + program = "lxc-user-nic"; + permissions = "u+rx,g+x,o-rx"; + }; + }; + + # Add lxc-net service if unpriv mode is enabled. + systemd.packages = lib.mkIf cfg.unprivilegedContainers [ pkgs.lxc ]; + systemd.services = lib.mkIf cfg.unprivilegedContainers { + lxc-net = { + enable = true; + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.iproute2 pkgs.iptables pkgs.getent pkgs.dnsmasq ]; + }; + }; }; } diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 0cd52cbec9a3..0fd7b9eb3b0c 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -538,6 +538,7 @@ in { loki = handleTest ./loki.nix {}; luks = handleTest ./luks.nix {}; lvm2 = handleTest ./lvm2 {}; + lxc = handleTest ./lxc {}; lxd = pkgs.recurseIntoAttrs (handleTest ./lxd { inherit handleTestOn; }); lxd-image-server = handleTest ./lxd-image-server.nix {}; #logstash = handleTest ./logstash.nix {}; diff --git a/nixos/tests/incus/incusd-options.nix b/nixos/tests/incus/incusd-options.nix index 3a355ca7c888..a223f1c8cb55 100644 --- a/nixos/tests/incus/incusd-options.nix +++ b/nixos/tests/incus/incusd-options.nix @@ -16,8 +16,12 @@ import ../make-test-python.nix ( }; }; - container-image-metadata = "${releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system}}/tarball/nixos-system-${pkgs.stdenv.hostPlatform.system}.tar.xz"; - container-image-rootfs = "${releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system}}/nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}.squashfs"; + container-image-metadata = "${ + releases.incusContainerMeta.${pkgs.stdenv.hostPlatform.system} + }/tarball/nixos-system-${pkgs.stdenv.hostPlatform.system}.tar.xz"; + container-image-rootfs = "${ + releases.incusContainerImage.${pkgs.stdenv.hostPlatform.system} + }/nixos-lxc-image-${pkgs.stdenv.hostPlatform.system}.squashfs"; in { name = "incusd-options"; diff --git a/nixos/tests/lxc/default.nix b/nixos/tests/lxc/default.nix new file mode 100644 index 000000000000..0f67010863ef --- /dev/null +++ b/nixos/tests/lxc/default.nix @@ -0,0 +1,124 @@ +import ../make-test-python.nix ( + { pkgs, lib, ... }: + + let + releases = import ../../release.nix { + configuration = { + # Building documentation makes the test unnecessarily take a longer time: + documentation.enable = lib.mkForce false; + }; + }; + + lxc-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system}; + lxc-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system}; + + in + { + name = "lxc-container-unprivileged"; + + meta = { + maintainers = lib.teams.lxc.members; + }; + + nodes.machine = + { lib, pkgs, ... }: + { + virtualisation = { + diskSize = 6144; + cores = 2; + memorySize = 512; + writableStore = true; + + lxc = { + enable = true; + unprivilegedContainers = true; + systemConfig = '' + lxc.lxcpath = /tmp/lxc + ''; + defaultConfig = '' + lxc.net.0.type = veth + lxc.net.0.link = lxcbr0 + lxc.net.0.flags = up + lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx + lxc.idmap = u 0 100000 65536 + lxc.idmap = g 0 100000 65536 + ''; + # Permit user alice to connect to bridge + usernetConfig = '' + @lxc-user veth lxcbr0 10 + ''; + bridgeConfig = '' + LXC_IPV6_ADDR="" + LXC_IPV6_MASK="" + LXC_IPV6_NETWORK="" + LXC_IPV6_NAT="false" + ''; + }; + }; + + # Needed for lxc + environment.systemPackages = with pkgs; [ + pkgs.wget + pkgs.dnsmasq + ]; + + # Create user for test + users.users.alice = { + isNormalUser = true; + password = "test"; + description = "Lxc unprivileged user with access to lxcbr0"; + extraGroups = [ "lxc-user" ]; + subGidRanges = [ + { + startGid = 100000; + count = 65536; + } + ]; + subUidRanges = [ + { + startUid = 100000; + count = 65536; + } + ]; + }; + + users.users.bob = { + isNormalUser = true; + password = "test"; + description = "Lxc unprivileged user without access to lxcbr0"; + subGidRanges = [ + { + startGid = 100000; + count = 65536; + } + ]; + subUidRanges = [ + { + startUid = 100000; + count = 65536; + } + ]; + }; + }; + + testScript = '' + machine.wait_for_unit("lxc-net.service") + + # Copy config files for alice + machine.execute("su -- alice -c 'mkdir -p ~/.config/lxc'") + machine.execute("su -- alice -c 'cp /etc/lxc/default.conf ~/.config/lxc/'") + machine.execute("su -- alice -c 'cp /etc/lxc/lxc.conf ~/.config/lxc/'") + + machine.succeed("su -- alice -c 'lxc-create -t local -n test -- --metadata ${lxc-image-metadata}/*/*.tar.xz --fstree ${lxc-image-rootfs}/*/*.tar.xz'") + machine.succeed("su -- alice -c 'lxc-start test'") + machine.succeed("su -- alice -c 'lxc-stop test'") + + # Copy config files for bob + machine.execute("su -- bob -c 'mkdir -p ~/.config/lxc'") + machine.execute("su -- bob -c 'cp /etc/lxc/default.conf ~/.config/lxc/'") + machine.execute("su -- bob -c 'cp /etc/lxc/lxc.conf ~/.config/lxc/'") + + machine.fail("su -- bob -c 'lxc-start test'") + ''; + } +) diff --git a/pkgs/by-name/lx/lxc/package.nix b/pkgs/by-name/lx/lxc/package.nix index 7b24d70b5d0a..409e550109f2 100644 --- a/pkgs/by-name/lx/lxc/package.nix +++ b/pkgs/by-name/lx/lxc/package.nix @@ -48,16 +48,37 @@ stdenv.mkDerivation (finalAttrs: { patches = [ # fix docbook2man version detection ./docbook-hack.patch + + # Fix hardcoded path of lxc-user-nic + # This is needed to use unprivileged containers + ./user-nic.diff ]; mesonFlags = [ - "-Dinstall-init-files=false" + "-Dinstall-init-files=true" "-Dinstall-state-dirs=false" "-Dspecfile=false" "-Dtools-multicall=true" "-Dtools=false" + "-Dusernet-config-path=/etc/lxc/lxc-usernet" + "-Ddistrosysconfdir=${placeholder "out"}/etc/lxc" + "-Dsystemd-unitdir=${placeholder "out"}/lib/systemd/system" ]; + # /run/current-system/sw/share + postInstall = '' + substituteInPlace $out/etc/lxc/lxc --replace-fail "$out/etc/lxc" "/etc/lxc" + substituteInPlace $out/libexec/lxc/lxc-net --replace-fail "$out/etc/lxc" "/etc/lxc" + + substituteInPlace $out/share/lxc/templates/lxc-download --replace-fail "$out/share" "/run/current-system/sw/share" + substituteInPlace $out/share/lxc/templates/lxc-local --replace-fail "$out/share" "/run/current-system/sw/share" + substituteInPlace $out/share/lxc/templates/lxc-oci --replace-fail "$out/share" "/run/current-system/sw/share" + + substituteInPlace $out/share/lxc/config/common.conf --replace-fail "$out/share" "/run/current-system/sw/share" + substituteInPlace $out/share/lxc/config/userns.conf --replace-fail "$out/share" "/run/current-system/sw/share" + substituteInPlace $out/share/lxc/config/oci.common.conf --replace-fail "$out/share" "/run/current-system/sw/share" + ''; + enableParallelBuilding = true; doCheck = true; @@ -66,6 +87,7 @@ stdenv.mkDerivation (finalAttrs: { tests = { incus-legacy-init = nixosTests.incus.container-legacy-init; incus-systemd-init = nixosTests.incus.container-systemd-init; + lxc = nixosTests.lxc; lxd = nixosTests.lxd.container; }; diff --git a/pkgs/by-name/lx/lxc/user-nic.diff b/pkgs/by-name/lx/lxc/user-nic.diff new file mode 100644 index 000000000000..8edcb5d9b46d --- /dev/null +++ b/pkgs/by-name/lx/lxc/user-nic.diff @@ -0,0 +1,13 @@ +diff --git a/src/lxc/network.c b/src/lxc/network.c +index 0a99d32..850e975 100644 +--- a/src/lxc/network.c ++++ b/src/lxc/network.c +@@ -2940,7 +2940,7 @@ int lxc_find_gateway_addresses(struct lxc_handler *handler) + + #ifdef IN_LIBLXC + +-#define LXC_USERNIC_PATH LIBEXECDIR "/lxc/lxc-user-nic" ++#define LXC_USERNIC_PATH "/run/wrappers/bin/lxc-user-nic" + static int lxc_create_network_unpriv_exec(const char *lxcpath, + const char *lxcname, + struct lxc_netdev *netdev, pid_t pid, From b9817f06fb8ae0ecfa7f18082dc742c0c750492b Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Wed, 28 Aug 2024 16:26:12 +0200 Subject: [PATCH 43/59] linuxPackages_latest.broadcom_sta: use `hash` instead of `sha256` --- pkgs/os-specific/linux/broadcom-sta/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix index e4bff6169834..7f7bd58a01b9 100644 --- a/pkgs/os-specific/linux/broadcom-sta/default.nix +++ b/pkgs/os-specific/linux/broadcom-sta/default.nix @@ -3,8 +3,8 @@ let version = "6.30.223.271"; hashes = { - i686-linux = "1kaqa2dw3nb8k23ffvx46g8jj3wdhz8xa6jp1v3wb35cjfr712sg"; - x86_64-linux = "1gj485qqr190idilacpxwgqyw21il03zph2rddizgj7fbd6pfyaz"; + i686-linux = "sha256-T4twspOsjMXHDlca1dGHjQ8p0TOkb+eGmGjZwZtQWM0="; + x86_64-linux = "sha256-X3l3TVvuyPdja1nA+wegMQju8eP9MkVjiyCFjHFBRL4="; }; arch = lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") "_64"; @@ -16,7 +16,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/${tarball}"; - sha256 = hashes.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + hash = hashes.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; hardeningDisable = [ "pic" ]; From c385d2acf6c6c6acc2407f6883505202eaa90829 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Wed, 28 Aug 2024 16:26:55 +0200 Subject: [PATCH 44/59] linuxPackages_latest.broadcom_sta: add missing phase hooks --- pkgs/os-specific/linux/broadcom-sta/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix index 7f7bd58a01b9..e7911bd99b09 100644 --- a/pkgs/os-specific/linux/broadcom-sta/default.nix +++ b/pkgs/os-specific/linux/broadcom-sta/default.nix @@ -54,17 +54,21 @@ stdenv.mkDerivation { makeFlags = [ "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}" ]; unpackPhase = '' + runHook preUnpack sourceRoot=broadcom-sta mkdir "$sourceRoot" tar xvf "$src" -C "$sourceRoot" + runHook postUnpack ''; installPhase = '' + runHook preInstall binDir="$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" docDir="$out/share/doc/broadcom-sta/" mkdir -p "$binDir" "$docDir" cp wl.ko "$binDir" cp lib/LICENSE.txt "$docDir" + runHook postInstall ''; meta = { From cbe502d86a623a4633bed0f052fc8086fba90bd9 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Wed, 28 Aug 2024 16:28:25 +0200 Subject: [PATCH 45/59] linuxPackages_latest.broadcom_sta: reformat --- pkgs/os-specific/linux/broadcom-sta/default.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix index e7911bd99b09..ef525a520ad8 100644 --- a/pkgs/os-specific/linux/broadcom-sta/default.nix +++ b/pkgs/os-specific/linux/broadcom-sta/default.nix @@ -1,14 +1,19 @@ -{ lib, stdenv, fetchurl, kernel }: +{ + lib, + stdenv, + fetchurl, + kernel, +}: let version = "6.30.223.271"; hashes = { - i686-linux = "sha256-T4twspOsjMXHDlca1dGHjQ8p0TOkb+eGmGjZwZtQWM0="; + i686-linux = "sha256-T4twspOsjMXHDlca1dGHjQ8p0TOkb+eGmGjZwZtQWM0="; x86_64-linux = "sha256-X3l3TVvuyPdja1nA+wegMQju8eP9MkVjiyCFjHFBRL4="; }; arch = lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") "_64"; - tarballVersion = lib.replaceStrings ["."] ["_"] version; + tarballVersion = lib.replaceStrings [ "." ] [ "_" ] version; tarball = "hybrid-v35${arch}-nodebug-pcoem-${tarballVersion}.tar.gz"; in stdenv.mkDerivation { @@ -16,7 +21,8 @@ stdenv.mkDerivation { src = fetchurl { url = "https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/${tarball}"; - hash = hashes.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + hash = + hashes.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; hardeningDisable = [ "pic" ]; From 2cae96e4cea6ac8bb594db3e8348bf05d4a7cc14 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Wed, 28 Aug 2024 16:40:22 +0200 Subject: [PATCH 46/59] linuxPackages_latest.broadcom_sta: use entire patchset from remote GitHub repository --- .../linux/broadcom-sta/default.nix | 65 +++--- pkgs/os-specific/linux/broadcom-sta/gcc.patch | 28 --- .../linux/broadcom-sta/license.patch | 26 --- .../linux/broadcom-sta/linux-4.11.patch | 65 ------ .../linux/broadcom-sta/linux-4.12.patch | 92 -------- .../linux/broadcom-sta/linux-4.15.patch | 59 ----- .../linux/broadcom-sta/linux-4.7.patch | 131 ----------- .../linux/broadcom-sta/linux-4.8.patch | 66 ------ .../linux/broadcom-sta/linux-5.1.patch | 39 ---- .../linux/broadcom-sta/linux-5.17.patch | 69 ------ .../linux/broadcom-sta/linux-5.18.patch | 84 ------- .../linux/broadcom-sta/linux-5.6.patch | 92 -------- .../linux/broadcom-sta/linux-5.9.patch | 214 ------------------ .../linux/broadcom-sta/linux-6.0.patch | 34 --- .../linux/broadcom-sta/linux-6.1.patch | 87 ------- .../linux/broadcom-sta/null-pointer-fix.patch | 34 --- .../linux/broadcom-sta/pedantic-fix.patch | 115 ---------- 17 files changed, 38 insertions(+), 1262 deletions(-) delete mode 100644 pkgs/os-specific/linux/broadcom-sta/gcc.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/license.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-4.12.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-4.15.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-4.7.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-4.8.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-5.1.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-5.17.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-5.18.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-5.6.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-5.9.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-6.0.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/linux-6.1.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/null-pointer-fix.patch delete mode 100644 pkgs/os-specific/linux/broadcom-sta/pedantic-fix.patch diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix index ef525a520ad8..7bf505f7fa94 100644 --- a/pkgs/os-specific/linux/broadcom-sta/default.nix +++ b/pkgs/os-specific/linux/broadcom-sta/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchFromGitHub, kernel, }: @@ -15,6 +16,42 @@ let arch = lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") "_64"; tarballVersion = lib.replaceStrings [ "." ] [ "_" ] version; tarball = "hybrid-v35${arch}-nodebug-pcoem-${tarballVersion}.tar.gz"; + + rpmFusionPatches = fetchFromGitHub { + owner = "rpmfusion"; + repo = "wl-kmod"; + rev = "a04330284bfc38fd91eade6f8b28fa63cfcdc95e"; + hash = "sha256-c72Pr/v+nxZPLEeNKbWnSpbH3gqYZaTgzMO9PlYQkf0="; + }; + patchset = [ + "wl-kmod-001_wext_workaround.patch" + "wl-kmod-002_kernel_3.18_null_pointer.patch" + "wl-kmod-003_gcc_4.9_remove_TIME_DATE_macros.patch" + "wl-kmod-004_kernel_4.3_rdtscl_to_rdtsc.patch" + "wl-kmod-005_kernel_4.7_IEEE80211_BAND_to_NL80211_BAND.patch" + "wl-kmod-006_gcc_6_fix_indentation_warnings.patch" + "wl-kmod-007_kernel_4.8_add_cfg80211_scan_info_struct.patch" + "wl-kmod-008_fix_kernel_warnings.patch" + "wl-kmod-009_kernel_4.11_remove_last_rx_in_net_device_struct.patch" + "wl-kmod-010_kernel_4.12_add_cfg80211_roam_info_struct.patch" + "wl-kmod-011_kernel_4.14_new_kernel_read_function_prototype.patch" + "wl-kmod-012_kernel_4.15_new_timer.patch" + "wl-kmod-013_gcc8_fix_bounds_check_warnings.patch" + "wl-kmod-014_kernel_read_pos_increment_fix.patch" + "wl-kmod-015_kernel_5.1_get_ds_removed.patch" + "wl-kmod-016_fix_unsupported_mesh_point.patch" + "wl-kmod-017_fix_gcc_fallthrough_warning.patch" + "wl-kmod-018_kernel_5.6_adaptations.patch" + "wl-kmod-019_kernel_5.9_segment_eq_removed.patch" + "wl-kmod-020_kernel_5.10_get_set_fs_removed.patch" + "wl-kmod-021_kernel_5.17_adaptation.patch" + "wl-kmod-022_kernel_5.18_adaptation.patch" + "wl-kmod-023_kernel_6.0_adaptation.patch" + "wl-kmod-024_kernel_6.1_adaptation.patch" + "wl-kmod-025_kernel_6.5_adaptation.patch" + "wl-kmod-026_kernel_6.10_fix_empty_body_in_if_warning.patch" + "wl-kmod-027_wpa_supplicant-2.11_add_max_scan_ie_len.patch" + ]; in stdenv.mkDerivation { name = "broadcom-sta-${version}-${kernel.version}"; @@ -29,33 +66,7 @@ stdenv.mkDerivation { nativeBuildInputs = kernel.moduleBuildDependencies; - patches = [ - ./license.patch - ./linux-4.7.patch - # source: https://git.archlinux.org/svntogit/community.git/tree/trunk/004-linux48.patch?h=packages/broadcom-wl-dkms - ./linux-4.8.patch - # source: https://aur.archlinux.org/cgit/aur.git/tree/linux411.patch?h=broadcom-wl - ./linux-4.11.patch - # source: https://aur.archlinux.org/cgit/aur.git/tree/linux412.patch?h=broadcom-wl - ./linux-4.12.patch - ./linux-4.15.patch - ./linux-5.1.patch - # source: https://salsa.debian.org/Herrie82-guest/broadcom-sta/-/commit/247307926e5540ad574a17c062c8da76990d056f - ./linux-5.6.patch - # source: https://gist.github.com/joanbm/5c640ac074d27fd1d82c74a5b67a1290 - ./linux-5.9.patch - # source: https://github.com/archlinux/svntogit-community/blob/33b4bd2b9e30679b03f5d7aa2741911d914dcf94/trunk/012-linux517.patch - ./linux-5.17.patch - # source: https://github.com/archlinux/svntogit-community/blob/2e1fd240f9ce06f500feeaa3e4a9675e65e6b967/trunk/013-linux518.patch - ./linux-5.18.patch - # source: https://gist.github.com/joanbm/207210d74637870c01ef5a3c262a597d - ./linux-6.0.patch - # source: https://gist.github.com/joanbm/94323ea99eff1e1d1c51241b5b651549 - ./linux-6.1.patch - ./pedantic-fix.patch - ./null-pointer-fix.patch - ./gcc.patch - ]; + patches = map (patch: "${rpmFusionPatches}/${patch}") patchset; makeFlags = [ "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}" ]; diff --git a/pkgs/os-specific/linux/broadcom-sta/gcc.patch b/pkgs/os-specific/linux/broadcom-sta/gcc.patch deleted file mode 100644 index ec8a2fa3a09c..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/gcc.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 3e28c2a24c3b3b011506bcaa4fee7e8da347c5ff Mon Sep 17 00:00:00 2001 -From: Charles Strahan -Date: Tue, 5 May 2015 15:09:51 -0400 -Subject: [PATCH 01/16] linuxPackages.broadcom_sta: since GCC respects - SOURCE_DATE_EPOCH, set in the stdenv, set -Wno-date-time - ---- - Makefile | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/Makefile b/Makefile -index a323a0d..15e85c8 100644 ---- a/Makefile -+++ b/Makefile -@@ -140,10 +140,7 @@ wl-objs += src/wl/sys/wl_cfg80211_hybrid.o - EXTRA_CFLAGS += -I$(src)/src/include -I$(src)/src/common/include - EXTRA_CFLAGS += -I$(src)/src/wl/sys -I$(src)/src/wl/phy -I$(src)/src/wl/ppr/include - EXTRA_CFLAGS += -I$(src)/src/shared/bcmwifi/include --#EXTRA_CFLAGS += -DBCMDBG_ASSERT -DBCMDBG_ERR --ifeq "$(GE_49)" "1" - EXTRA_CFLAGS += -Wno-date-time --endif - - EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped - --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/license.patch b/pkgs/os-specific/linux/broadcom-sta/license.patch deleted file mode 100644 index 58ff5dba644b..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/license.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 5a964e14474e4482a4d24c015371856560dacabc Mon Sep 17 00:00:00 2001 -From: Shea Levy -Date: Sat, 4 Jan 2014 20:57:21 -0500 -Subject: [PATCH 02/16] linuxPackages.broadcom_sta: apply MIXED/Proprietary - license - ---- - src/wl/sys/wl_linux.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 0d05100..14922c0 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -148,6 +148,8 @@ static struct wl_if *wl_alloc_if(wl_info_t *wl, int iftype, uint unit, struct wl - static void wl_free_if(wl_info_t *wl, wl_if_t *wlif); - static void wl_get_driver_info(struct net_device *dev, struct ethtool_drvinfo *info); - -+MODULE_LICENSE("MIXED/Proprietary"); -+ - #if defined(WL_CONFIG_RFKILL) - #include - static int wl_init_rfkill(wl_info_t *wl); --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch deleted file mode 100644 index 5e95edecf1ea..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 5a0301c2d9c65dbb3c5b8990e635d37f071d26c4 Mon Sep 17 00:00:00 2001 -From: georgewhewell -Date: Fri, 2 Jun 2017 14:19:04 +0100 -Subject: [PATCH 06/16] linuxPackages.broadcom_sta: fix build for kernel 4.11+ - ---- - src/wl/sys/wl_cfg80211_hybrid.c | 3 +++ - src/wl/sys/wl_linux.c | 12 ++++++++++++ - 2 files changed, 15 insertions(+) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 84f0068..9fd8ed1 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -30,6 +30,9 @@ - #include - #include - #include -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+#include -+#endif - #include - #include - #include -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 65d7a22..18841d9 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -117,6 +117,9 @@ int wl_found = 0; - - typedef struct priv_link { - wl_if_t *wlif; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+ unsigned long last_rx; -+#endif - } priv_link_t; - - #define WL_DEV_IF(dev) ((wl_if_t*)((priv_link_t*)DEV_PRIV(dev))->wlif) -@@ -2451,6 +2454,9 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p) - { - struct sk_buff *oskb = (struct sk_buff *)p; - struct sk_buff *skb; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+ priv_link_t *priv_link; -+#endif - uchar *pdata; - uint len; - -@@ -2917,7 +2923,13 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p) - if (skb == NULL) return; - - skb->dev = wl->monitor_dev; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+ priv_link = MALLOC(wl->osh, sizeof(priv_link_t)); -+ priv_link = netdev_priv(skb->dev); -+ priv_link->last_rx = jiffies; -+#else - skb->dev->last_rx = jiffies; -+#endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22) - skb_reset_mac_header(skb); - #else --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.12.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.12.patch deleted file mode 100644 index aa67a281f45e..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-4.12.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 2e9c7bd146fbc3b4a62940140eafb47df16b6cb4 Mon Sep 17 00:00:00 2001 -From: aszlig -Date: Tue, 18 Jul 2017 21:32:13 +0200 -Subject: [PATCH 07/16] linuxPackages.broadcom_sta: fix build for kernel 4.12+ - -The patch is from Arch Linux at: - -https://aur.archlinux.org/cgit/aur.git/tree/linux412.patch?h=broadcom-wl - -Tested this by building against the following attributes: - - * linuxPackages.broadcom_sta - * linuxPackages_latest.broadcom_sta - * pkgsI686Linux.linuxPackages.broadcom_sta - * pkgsI686Linux.linuxPackages_latest.broadcom_sta - -I have not tested whether this works at runtime, because I do not possess the hardware. ---- - src/wl/sys/wl_cfg80211_hybrid.c | 29 ++++++++++++++++++++++++++++- - 1 file changed, 28 insertions(+), 1 deletion(-) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 9fd8ed1..1893a53 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -53,7 +53,11 @@ u32 wl_dbg_level = WL_DBG_ERR; - #endif - - static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev, -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ enum nl80211_iftype type, struct vif_params *params); -+#else - enum nl80211_iftype type, u32 *flags, struct vif_params *params); -+#endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0) - static s32 - wl_cfg80211_scan(struct wiphy *wiphy, -@@ -466,7 +470,11 @@ wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len) - - static s32 - wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev, -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ enum nl80211_iftype type, -+#else - enum nl80211_iftype type, u32 *flags, -+#endif - struct vif_params *params) - { - struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy); -@@ -2361,6 +2369,20 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, - const wl_event_msg_t *e, void *data) - { - struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl); -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ struct cfg80211_bss *bss; -+ struct wlc_ssid *ssid; -+ ssid = &wl->profile->ssid; -+ bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid, -+ ssid->SSID, ssid->SSID_len, WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS); -+ struct cfg80211_roam_info roam_info = { -+ .bss = bss, -+ .req_ie = conn_info->req_ie, -+ .req_ie_len = conn_info->req_ie_len, -+ .resp_ie = conn_info->resp_ie, -+ .resp_ie_len = conn_info->resp_ie_len, -+ }; -+#endif - s32 err = 0; - - wl_get_assoc_ies(wl); -@@ -2368,12 +2390,17 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, - memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN); - wl_update_bss_info(wl); - cfg80211_roamed(ndev, -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ &roam_info, -+#else - #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39) - &wl->conf->channel, - #endif - (u8 *)&wl->bssid, - conn_info->req_ie, conn_info->req_ie_len, -- conn_info->resp_ie, conn_info->resp_ie_len, GFP_KERNEL); -+ conn_info->resp_ie, conn_info->resp_ie_len, -+#endif -+ GFP_KERNEL); - WL_DBG(("Report roaming result\n")); - - set_bit(WL_STATUS_CONNECTED, &wl->status); --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.15.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.15.patch deleted file mode 100644 index 24de530cec5e..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-4.15.patch +++ /dev/null @@ -1,59 +0,0 @@ -From ae88c3c0c91d26ca5e4dc1e498a370747d2c3b03 Mon Sep 17 00:00:00 2001 -From: Yegor Timoshenko -Date: Wed, 31 Jan 2018 22:59:09 +0000 -Subject: [PATCH 08/16] linuxPackages.broadcom_sta: fix build for kernel 4.15+ - -See: https://lkml.org/lkml/2017/11/25/90 ---- - src/wl/sys/wl_linux.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 18841d9..83b8859 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -93,7 +93,11 @@ struct iw_statistics *wl_get_wireless_stats(struct net_device *dev); - - #include - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) -+static void wl_timer(struct timer_list *tl); -+#else - static void wl_timer(ulong data); -+#endif - static void _wl_timer(wl_timer_t *t); - static struct net_device *wl_alloc_linux_if(wl_if_t *wlif); - -@@ -2303,9 +2307,15 @@ wl_timer_task(wl_task_t *task) - } - - static void -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) -+wl_timer(struct timer_list *tl) -+{ -+ wl_timer_t *t = from_timer(t, tl, timer); -+#else - wl_timer(ulong data) - { - wl_timer_t *t = (wl_timer_t *)data; -+#endif - - if (!WL_ALL_PASSIVE_ENAB(t->wl)) - _wl_timer(t); -@@ -2357,9 +2367,13 @@ wl_init_timer(wl_info_t *wl, void (*fn)(void *arg), void *arg, const char *tname - - bzero(t, sizeof(wl_timer_t)); - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) -+ timer_setup(&t->timer, wl_timer, 0); -+#else - init_timer(&t->timer); - t->timer.data = (ulong) t; - t->timer.function = wl_timer; -+#endif - t->wl = wl; - t->fn = fn; - t->arg = arg; --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.7.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.7.patch deleted file mode 100644 index 77e8ad1f024f..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-4.7.patch +++ /dev/null @@ -1,131 +0,0 @@ -From bc408ef546b08443dabbe8fcdfec5e1e48494ed8 Mon Sep 17 00:00:00 2001 -From: aszlig -Date: Mon, 1 Aug 2016 20:45:47 +0200 -Subject: [PATCH 04/16] linuxPackages.broadcom_sta: fix build for kernel 4.7+ - -Patch is from Arch Linux at: - -https://aur.archlinux.org/cgit/aur.git/tree/?h=broadcom-wl - -I've tested building against 3.18.36, 4.4.16 and 4.7.0. - -Signed-off-by: aszlig -Cc: @phreedom, @vcunat - -Since Linux 4.7, the enum ieee80211_band is no longer used - -This shall cause no problem's since both enums ieee80211_band -and nl80211_band were added in the same commit: -https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c - -This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_* - -Reference: -https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3 ---- - src/wl/sys/wl_cfg80211_hybrid.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 7b606e0..3b438ba 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -236,7 +236,7 @@ static s8 wl_dbg_estr[][WL_DBG_ESTR_MAX] = { - #endif - - #define CHAN2G(_channel, _freq, _flags) { \ -- .band = IEEE80211_BAND_2GHZ, \ -+ .band = NL80211_BAND_2GHZ, \ - .center_freq = (_freq), \ - .hw_value = (_channel), \ - .flags = (_flags), \ -@@ -245,7 +245,7 @@ static s8 wl_dbg_estr[][WL_DBG_ESTR_MAX] = { - } - - #define CHAN5G(_channel, _flags) { \ -- .band = IEEE80211_BAND_5GHZ, \ -+ .band = NL80211_BAND_5GHZ, \ - .center_freq = 5000 + (5 * (_channel)), \ - .hw_value = (_channel), \ - .flags = (_flags), \ -@@ -379,7 +379,7 @@ static struct ieee80211_channel __wl_5ghz_n_channels[] = { - }; - - static struct ieee80211_supported_band __wl_band_2ghz = { -- .band = IEEE80211_BAND_2GHZ, -+ .band = NL80211_BAND_2GHZ, - .channels = __wl_2ghz_channels, - .n_channels = ARRAY_SIZE(__wl_2ghz_channels), - .bitrates = wl_g_rates, -@@ -387,7 +387,7 @@ static struct ieee80211_supported_band __wl_band_2ghz = { - }; - - static struct ieee80211_supported_band __wl_band_5ghz_a = { -- .band = IEEE80211_BAND_5GHZ, -+ .band = NL80211_BAND_5GHZ, - .channels = __wl_5ghz_a_channels, - .n_channels = ARRAY_SIZE(__wl_5ghz_a_channels), - .bitrates = wl_a_rates, -@@ -395,7 +395,7 @@ static struct ieee80211_supported_band __wl_band_5ghz_a = { - }; - - static struct ieee80211_supported_band __wl_band_5ghz_n = { -- .band = IEEE80211_BAND_5GHZ, -+ .band = NL80211_BAND_5GHZ, - .channels = __wl_5ghz_n_channels, - .n_channels = ARRAY_SIZE(__wl_5ghz_n_channels), - .bitrates = wl_a_rates, -@@ -1876,8 +1876,8 @@ static s32 wl_alloc_wdev(struct device *dev, struct wireless_dev **rwdev) - wdev->wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX; - #endif - wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC); -- wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz; -- wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_a; -+ wdev->wiphy->bands[NL80211_BAND_2GHZ] = &__wl_band_2ghz; -+ wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a; - wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM; - wdev->wiphy->cipher_suites = __wl_cipher_suites; - wdev->wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites); -@@ -2000,7 +2000,7 @@ static s32 wl_inform_single_bss(struct wl_cfg80211_priv *wl, struct wl_bss_info - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39) - freq = ieee80211_channel_to_frequency(notif_bss_info->channel, - (notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ? -- IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ); -+ NL80211_BAND_2GHZ : NL80211_BAND_5GHZ); - #else - freq = ieee80211_channel_to_frequency(notif_bss_info->channel); - #endif -@@ -2116,7 +2116,7 @@ wl_notify_connect_status(struct wl_cfg80211_priv *wl, struct net_device *ndev, - return err; - } - chan = wf_chspec_ctlchan(chanspec); -- band = (chan <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ; -+ band = (chan <= CH_MAX_2G_CHANNEL) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ; - freq = ieee80211_channel_to_frequency(chan, band); - channel = ieee80211_get_channel(wiphy, freq); - cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL); -@@ -2250,10 +2250,10 @@ static void wl_ch_to_chanspec(struct ieee80211_channel *chan, struct wl_join_par - join_params->params.chanspec_list[0] = - ieee80211_frequency_to_channel(chan->center_freq); - -- if (chan->band == IEEE80211_BAND_2GHZ) { -+ if (chan->band == NL80211_BAND_2GHZ) { - chanspec |= WL_CHANSPEC_BAND_2G; - } -- else if (chan->band == IEEE80211_BAND_5GHZ) { -+ else if (chan->band == NL80211_BAND_5GHZ) { - chanspec |= WL_CHANSPEC_BAND_5G; - } - else { -@@ -2885,7 +2885,7 @@ static s32 wl_update_wiphybands(struct wl_cfg80211_priv *wl) - - if (phy == 'n' || phy == 'a' || phy == 'v') { - wiphy = wl_to_wiphy(wl); -- wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_n; -+ wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_n; - } - - return err; --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.8.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.8.patch deleted file mode 100644 index b5a1f8961107..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-4.8.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 8c536235639010135f8dc11a8ec0968f9b200a6e Mon Sep 17 00:00:00 2001 -From: Alberto Milone -Date: Fri, 2 Sep 2016 17:35:34 +0200 -Subject: [PATCH 05/16] linuxPackages.broadcom_sta: fix build for kernel 4.8+ - -Original author: Krzysztof Kolasa - -Source: https://git.archlinux.org/svntogit/community.git/tree/trunk/004-linux48.patch?h=packages/broadcom-wl-dkms ---- - src/wl/sys/wl_cfg80211_hybrid.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 3b438ba..84f0068 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -2386,8 +2386,16 @@ wl_bss_connect_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, - s32 err = 0; - - if (wl->scan_request) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) -+ struct cfg80211_scan_info info = { -+ .aborted = true, -+ }; -+ WL_DBG(("%s: Aborting scan\n", __FUNCTION__)); -+ cfg80211_scan_done(wl->scan_request, &info); -+#else - WL_DBG(("%s: Aborting scan\n", __FUNCTION__)); - cfg80211_scan_done(wl->scan_request, true); -+#endif - wl->scan_request = NULL; - } - -@@ -2488,7 +2496,14 @@ wl_notify_scan_status(struct wl_cfg80211_priv *wl, struct net_device *ndev, - - scan_done_out: - if (wl->scan_request) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) -+ struct cfg80211_scan_info info = { -+ .aborted = false, -+ }; -+ cfg80211_scan_done(wl->scan_request, &info); -+#else - cfg80211_scan_done(wl->scan_request, false); -+#endif - wl->scan_request = NULL; - } - rtnl_unlock(); -@@ -2913,7 +2928,14 @@ s32 wl_cfg80211_down(struct net_device *ndev) - s32 err = 0; - - if (wl->scan_request) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) -+ struct cfg80211_scan_info info = { -+ .aborted = true, -+ }; -+ cfg80211_scan_done(wl->scan_request, &info); -+#else - cfg80211_scan_done(wl->scan_request, true); -+#endif - wl->scan_request = NULL; - } - --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-5.1.patch b/pkgs/os-specific/linux/broadcom-sta/linux-5.1.patch deleted file mode 100644 index 8932903a9735..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-5.1.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 35c712b7ad2b20088a1a4e233f1d22d7f6dc2525 Mon Sep 17 00:00:00 2001 -From: georgewhewell -Date: Sat, 18 May 2019 21:36:26 +0100 -Subject: [PATCH 09/16] linuxPackages.broadcom_sta: fix build for kernel 5.1+ - ---- - src/wl/sys/wl_cfg80211_hybrid.c | 2 +- - src/wl/sys/wl_iw.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 1893a53..4b3298f 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -457,7 +457,7 @@ wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len) - ifr.ifr_data = (caddr_t)&ioc; - - fs = get_fs(); -- set_fs(get_ds()); -+ set_fs(KERNEL_DS); - #if defined(WL_USE_NETDEV_OPS) - err = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); - #else -diff --git a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c -index c4c610b..9c3c74e 100644 ---- a/src/wl/sys/wl_iw.c -+++ b/src/wl/sys/wl_iw.c -@@ -117,7 +117,7 @@ dev_wlc_ioctl( - ifr.ifr_data = (caddr_t) &ioc; - - fs = get_fs(); -- set_fs(get_ds()); -+ set_fs(KERNEL_DS); - #if defined(WL_USE_NETDEV_OPS) - ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); - #else --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-5.17.patch b/pkgs/os-specific/linux/broadcom-sta/linux-5.17.patch deleted file mode 100644 index 6299ec752e67..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-5.17.patch +++ /dev/null @@ -1,69 +0,0 @@ -From a5e450dcdc7bc4ce06379189c3577f8c7a36fbde Mon Sep 17 00:00:00 2001 -From: Joan Bruguera -Date: Wed, 12 Jan 2022 20:49:20 +0100 -Subject: [PATCH 12/16] linuxPackages.broadcom_sta: fix build for kernel 5.17+ - -Tentative fix for broadcom-wl 6.30.223.271 driver for Linux 5.17-rc1 - -Set netdev->dev_addr through dev_addr_mod + PDE_DATA fix - -Since Linux 5.17 netdev->dev_addr is const and must be changed through -dev_addr_mod, otherwise a warning is logged in dmesg and bad things may happen. - -NB: The #if is not wrong, dev_addr_mod is defined since Linux 5.15-rc1 - -Plus a trivial fix for PDE_DATA. - -Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-28 on Arch Linux. - -See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=adeef3e32146a8d2a73c399dc6f5d76a449131b1 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=359745d78351c6f5442435f81549f0207ece28aa ---- - src/wl/sys/wl_linux.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 26ba9fa..25c4706 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -93,6 +93,10 @@ struct iw_statistics *wl_get_wireless_stats(struct net_device *dev); - - #include - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)) -+#define PDE_DATA pde_data -+#endif -+ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) - static void wl_timer(struct timer_list *tl); - #else -@@ -646,7 +650,7 @@ wl_attach(uint16 vendor, uint16 device, ulong regs, - WL_ERROR(("wl%d: Error setting MAC ADDRESS\n", unit)); - } - #endif -- bcopy(&wl->pub->cur_etheraddr, dev->dev_addr, ETHER_ADDR_LEN); -+ eth_hw_addr_set(dev, wl->pub->cur_etheraddr.octet); - - online_cpus = 1; - -@@ -1852,7 +1856,7 @@ wl_set_mac_address(struct net_device *dev, void *addr) - - WL_LOCK(wl); - -- bcopy(sa->sa_data, dev->dev_addr, ETHER_ADDR_LEN); -+ eth_hw_addr_set(dev, sa->sa_data); - err = wlc_iovar_op(wl->wlc, "cur_etheraddr", NULL, 0, sa->sa_data, ETHER_ADDR_LEN, - IOV_SET, (WL_DEV_IF(dev))->wlcif); - WL_UNLOCK(wl); -@@ -3033,7 +3037,7 @@ _wl_add_monitor_if(wl_task_t *task) - else - dev->type = ARPHRD_IEEE80211_RADIOTAP; - -- bcopy(wl->dev->dev_addr, dev->dev_addr, ETHER_ADDR_LEN); -+ eth_hw_addr_set(dev, wl->dev->dev_addr); - - #if defined(WL_USE_NETDEV_OPS) - dev->netdev_ops = &wl_netdev_monitor_ops; --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-5.18.patch b/pkgs/os-specific/linux/broadcom-sta/linux-5.18.patch deleted file mode 100644 index 6e72d47a842a..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-5.18.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 6c66b0eaaa3e6ebaa84891298715b71f7b2f0b1c Mon Sep 17 00:00:00 2001 -From: X9VoiD -Date: Mon, 13 Jun 2022 17:38:18 +0800 -Subject: [PATCH 13/16] linuxPackages.broadcom_sta: fix build for kernel 5.18+ - ---- - src/shared/linux_osl.c | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c -index dcfc075..5a25b82 100644 ---- a/src/shared/linux_osl.c -+++ b/src/shared/linux_osl.c -@@ -599,6 +599,8 @@ osl_dma_alloc_consistent(osl_t *osh, uint size, uint16 align_bits, uint *alloced - va = kmalloc(size, GFP_ATOMIC | __GFP_ZERO); - if (va) - *pap = (ulong)__virt_to_phys(va); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ va = dma_alloc_coherent(&((struct pci_dev *)osh->pdev)->dev, size, (dma_addr_t*)pap, GFP_ATOMIC); - #else - va = pci_alloc_consistent(osh->pdev, size, (dma_addr_t*)pap); - #endif -@@ -612,6 +614,8 @@ osl_dma_free_consistent(osl_t *osh, void *va, uint size, ulong pa) - - #ifdef __ARM_ARCH_7A__ - kfree(va); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ dma_free_coherent(&((struct pci_dev *)osh->pdev)->dev, size, va, (dma_addr_t)pa); - #else - pci_free_consistent(osh->pdev, size, va, (dma_addr_t)pa); - #endif -@@ -623,7 +627,11 @@ osl_dma_map(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_ - int dir; - - ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE; -+#else - dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE; -+#endif - - #if defined(__ARM_ARCH_7A__) && defined(BCMDMASGLISTOSL) - if (dmah != NULL) { -@@ -641,7 +649,11 @@ osl_dma_map(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_ - ASSERT(totsegs + nsegs <= MAX_DMA_SEGS); - sg->page_link = 0; - sg_set_buf(sg, PKTDATA(osh, skb), PKTLEN(osh, skb)); -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ dma_map_single(&((struct pci_dev *)osh->pdev)->dev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir); -+#else - pci_map_single(osh->pdev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir); -+#endif - } - totsegs += nsegs; - totlen += PKTLEN(osh, skb); -@@ -656,7 +668,11 @@ osl_dma_map(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_ - } - #endif - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ return (dma_map_single(&((struct pci_dev *)osh->pdev)->dev, va, size, dir)); -+#else - return (pci_map_single(osh->pdev, va, size, dir)); -+#endif - } - - void BCMFASTPATH -@@ -665,8 +681,13 @@ osl_dma_unmap(osl_t *osh, uint pa, uint size, int direction) - int dir; - - ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+ dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE; -+ dma_unmap_single(&((struct pci_dev *)osh->pdev)->dev, (uint32)pa, size, dir); -+#else - dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE; - pci_unmap_single(osh->pdev, (uint32)pa, size, dir); -+#endif - } - - #if defined(BCMDBG_ASSERT) --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-5.6.patch b/pkgs/os-specific/linux/broadcom-sta/linux-5.6.patch deleted file mode 100644 index f922cdd97ecd..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-5.6.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 24decccfadc0d95b973e6dd8d476ddde2f0a4b21 Mon Sep 17 00:00:00 2001 -From: Herman van Hazendonk -Date: Tue, 31 Mar 2020 17:09:55 +0200 -Subject: [PATCH 10/16] linuxPackages.broadcom_sta: fix build for kernel 5.6+ - -Use ioremap instead of ioremap_nocache and proc_ops instead of file_operations on Linux kernel 5.6 and above. - -Signed-off-by: Herman van Hazendonk - -Source: https://salsa.debian.org/Herrie82-guest/broadcom-sta/-/commit/247307926e5540ad574a17c062c8da76990d056f ---- - src/shared/linux_osl.c | 6 +++++- - src/wl/sys/wl_linux.c | 21 ++++++++++++++++++++- - 2 files changed, 25 insertions(+), 2 deletions(-) - -diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c -index 6157d18..dcfc075 100644 ---- a/src/shared/linux_osl.c -+++ b/src/shared/linux_osl.c -@@ -942,7 +942,11 @@ osl_getcycles(void) - void * - osl_reg_map(uint32 pa, uint size) - { -- return (ioremap_nocache((unsigned long)pa, (unsigned long)size)); -+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+ return (ioremap((unsigned long)pa, (unsigned long)size)); -+ #else -+ return (ioremap_nocache((unsigned long)pa, (unsigned long)size)); -+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ - } - - void -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 83b8859..646f1d9 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -591,10 +591,17 @@ wl_attach(uint16 vendor, uint16 device, ulong regs, - } - wl->bcm_bustype = bustype; - -+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+ if ((wl->regsva = ioremap(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) { -+ WL_ERROR(("wl%d: ioremap() failed\n", unit)); -+ goto fail; -+ } -+ #else - if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) { - WL_ERROR(("wl%d: ioremap() failed\n", unit)); - goto fail; - } -+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ - - wl->bar1_addr = bar1_addr; - wl->bar1_size = bar1_size; -@@ -781,8 +788,13 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - if ((val & 0x0000ff00) != 0) - pci_write_config_dword(pdev, 0x40, val & 0xffff00ff); - bar1_size = pci_resource_len(pdev, 2); -+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+ bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2), -+ bar1_size); -+ #else - bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2), - bar1_size); -+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ - wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS, pdev, - pdev->irq, bar1_addr, bar1_size); - -@@ -3363,12 +3375,19 @@ wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t - } - - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+static const struct proc_ops wl_fops = { -+ .proc_read = wl_proc_read, -+ .proc_write = wl_proc_write, -+}; -+#else - static const struct file_operations wl_fops = { - .owner = THIS_MODULE, - .read = wl_proc_read, - .write = wl_proc_write, - }; --#endif -+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ -+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) */ - - static int - wl_reg_proc_entry(wl_info_t *wl) --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-5.9.patch b/pkgs/os-specific/linux/broadcom-sta/linux-5.9.patch deleted file mode 100644 index d3e32c6b3e24..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-5.9.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 34d611f2dcf7d34db2cb413cc7b4f86f3706fec6 Mon Sep 17 00:00:00 2001 -From: Joan Bruguera -Date: Tue, 13 Oct 2020 19:35:55 +0200 -Subject: [PATCH 11/16] linuxPackages.broadcom_sta: fix build for kernel 5.9+ - -Get rid of get_fs/set_fs calls in Broadcom WL driver. - -Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 5.10 (tested -rc1 up to 5.10.1) - -Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-23 on Arch Linux. - -NB: Some checks in wlc_ioctl_internal are likely superfluous, - but I'm not familiar enough with the driver to remove them with confidence. - -See also: https://lwn.net/Articles/722267/ - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=47058bb54b57962b3958a936ddbc59355e4c5504 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e6e9852d6f76e01b2e6803c74258afa5b432bc5 - -Signed-off-by: Joan Bruguera ---- - src/wl/sys/wl_cfg80211_hybrid.c | 26 ++------------------- - src/wl/sys/wl_iw.c | 25 ++------------------- - src/wl/sys/wl_linux.c | 40 ++++++++++++++++++++++++++++----- - src/wl/sys/wl_linux.h | 2 ++ - src/wl/sys/wlc_pub.h | 1 + - 5 files changed, 42 insertions(+), 52 deletions(-) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 4b3298f..c45ad48 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -41,6 +41,7 @@ - #include - #include - #include -+#include - - #define EVENT_TYPE(e) dtoh32((e)->event_type) - #define EVENT_FLAGS(e) dtoh16((e)->flags) -@@ -442,30 +443,7 @@ static void key_endian_to_host(struct wl_wsec_key *key) - static s32 - wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len) - { -- struct ifreq ifr; -- struct wl_ioctl ioc; -- mm_segment_t fs; -- s32 err = 0; -- -- BUG_ON(len < sizeof(int)); -- -- memset(&ioc, 0, sizeof(ioc)); -- ioc.cmd = cmd; -- ioc.buf = arg; -- ioc.len = len; -- strcpy(ifr.ifr_name, dev->name); -- ifr.ifr_data = (caddr_t)&ioc; -- -- fs = get_fs(); -- set_fs(KERNEL_DS); --#if defined(WL_USE_NETDEV_OPS) -- err = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); --#else -- err = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE); --#endif -- set_fs(fs); -- -- return err; -+ return wlc_ioctl_internal(dev, cmd, arg, len); - } - - static s32 -diff --git a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c -index 9c3c74e..e346b15 100644 ---- a/src/wl/sys/wl_iw.c -+++ b/src/wl/sys/wl_iw.c -@@ -37,6 +37,7 @@ typedef const struct si_pub si_t; - - #include - #include -+#include - - extern bool wl_iw_conn_status_str(uint32 event_type, uint32 status, - uint32 reason, char* stringBuf, uint buflen); -@@ -103,29 +104,7 @@ dev_wlc_ioctl( - int len - ) - { -- struct ifreq ifr; -- wl_ioctl_t ioc; -- mm_segment_t fs; -- int ret; -- -- memset(&ioc, 0, sizeof(ioc)); -- ioc.cmd = cmd; -- ioc.buf = arg; -- ioc.len = len; -- -- strcpy(ifr.ifr_name, dev->name); -- ifr.ifr_data = (caddr_t) &ioc; -- -- fs = get_fs(); -- set_fs(KERNEL_DS); --#if defined(WL_USE_NETDEV_OPS) -- ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE); --#else -- ret = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE); --#endif -- set_fs(fs); -- -- return ret; -+ return wlc_ioctl_internal(dev, cmd, arg, len); - } - - static int -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 646f1d9..26ba9fa 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -1664,10 +1664,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) - goto done2; - } - -- if (segment_eq(get_fs(), KERNEL_DS)) -- buf = ioc.buf; -- -- else if (ioc.buf) { -+ if (ioc.buf) { - if (!(buf = (void *) MALLOC(wl->osh, MAX(ioc.len, WLC_IOCTL_MAXLEN)))) { - bcmerror = BCME_NORESOURCE; - goto done2; -@@ -1688,7 +1685,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) - WL_UNLOCK(wl); - - done1: -- if (ioc.buf && (ioc.buf != buf)) { -+ if (ioc.buf) { - if (copy_to_user(ioc.buf, buf, ioc.len)) - bcmerror = BCME_BADADDR; - MFREE(wl->osh, buf, MAX(ioc.len, WLC_IOCTL_MAXLEN)); -@@ -1701,6 +1698,39 @@ done2: - return (OSL_ERROR(bcmerror)); - } - -+int -+wlc_ioctl_internal(struct net_device *dev, int cmd, void *buf, int len) -+{ -+ wl_info_t *wl; -+ wl_if_t *wlif; -+ int bcmerror; -+ -+ if (!dev) -+ return -ENETDOWN; -+ -+ wl = WL_INFO(dev); -+ wlif = WL_DEV_IF(dev); -+ if (wlif == NULL || wl == NULL || wl->dev == NULL) -+ return -ENETDOWN; -+ -+ bcmerror = 0; -+ -+ WL_TRACE(("wl%d: wlc_ioctl_internal: cmd 0x%x\n", wl->pub->unit, cmd)); -+ -+ WL_LOCK(wl); -+ if (!capable(CAP_NET_ADMIN)) { -+ bcmerror = BCME_EPERM; -+ } else { -+ bcmerror = wlc_ioctl(wl->wlc, cmd, buf, len, wlif->wlcif); -+ } -+ WL_UNLOCK(wl); -+ -+ ASSERT(VALID_BCMERROR(bcmerror)); -+ if (bcmerror != 0) -+ wl->pub->bcmerror = bcmerror; -+ return (OSL_ERROR(bcmerror)); -+} -+ - static struct net_device_stats* - wl_get_stats(struct net_device *dev) - { -diff --git a/src/wl/sys/wl_linux.h b/src/wl/sys/wl_linux.h -index 5b1048e..c8c1f41 100644 ---- a/src/wl/sys/wl_linux.h -+++ b/src/wl/sys/wl_linux.h -@@ -22,6 +22,7 @@ - #define _wl_linux_h_ - - #include -+#include - - typedef struct wl_timer { - struct timer_list timer; -@@ -187,6 +188,7 @@ extern irqreturn_t wl_isr(int irq, void *dev_id, struct pt_regs *ptregs); - extern int __devinit wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent); - extern void wl_free(wl_info_t *wl); - extern int wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd); -+extern int wlc_ioctl_internal(struct net_device *dev, int cmd, void *buf, int len); - extern struct net_device * wl_netdev_get(wl_info_t *wl); - - #endif -diff --git a/src/wl/sys/wlc_pub.h b/src/wl/sys/wlc_pub.h -index 53a98b8..2b5a029 100644 ---- a/src/wl/sys/wlc_pub.h -+++ b/src/wl/sys/wlc_pub.h -@@ -24,6 +24,7 @@ - - #include - #include -+#include - #include "proto/802.11.h" - #include "proto/bcmevent.h" - --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-6.0.patch b/pkgs/os-specific/linux/broadcom-sta/linux-6.0.patch deleted file mode 100644 index 12436c9fd852..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-6.0.patch +++ /dev/null @@ -1,34 +0,0 @@ -From cec136ba06039aa2e4441771df855894391db298 Mon Sep 17 00:00:00 2001 -From: Joan Bruguera -Date: Thu, 30 Jun 2022 02:15:35 +0200 -Subject: [PATCH 14/16] linuxPackages.broadcom_sta: fix build for kernel 6.0+ - -Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 6.0-rc1 - -Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-33 on Arch Linux. - -Source: https://gist.github.com/joanbm/207210d74637870c01ef5a3c262a597d ---- - src/wl/sys/wl_cfg80211_hybrid.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index c45ad48..9ae56a1 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -2354,7 +2354,12 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, - bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid, - ssid->SSID, ssid->SSID_len, WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS); - struct cfg80211_roam_info roam_info = { -+// Rel. commit "cfg80211: Indicate MLO connection info in connect and roam callbacks" (Veerendranath Jakkam, Wed Jun 8) -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) - .bss = bss, -+#else -+ .links[0].bss = bss, -+#endif - .req_ie = conn_info->req_ie, - .req_ie_len = conn_info->req_ie_len, - .resp_ie = conn_info->resp_ie, --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-6.1.patch b/pkgs/os-specific/linux/broadcom-sta/linux-6.1.patch deleted file mode 100644 index 8991efe8b27c..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/linux-6.1.patch +++ /dev/null @@ -1,87 +0,0 @@ -From febe94b43294a3155e39e844db4ac4ee81614ad1 Mon Sep 17 00:00:00 2001 -From: Joan Bruguera -Date: Mon, 29 Aug 2022 00:06:53 +0200 -Subject: [PATCH 16/16] linuxPackages.broadcom_sta: fix build for kernel 6.1+ - -Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 6.1-rc1 - -Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-35 on Arch Linux - -Source: https://gist.github.com/joanbm/94323ea99eff1e1d1c51241b5b651549 ---- - src/wl/sys/wl_cfg80211_hybrid.c | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index a6b2ca2..333866c 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -104,20 +104,25 @@ static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wd - static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm); - #endif - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0) -+#define MAYBE_INT_LINK_ID int link_id, -+#else -+#define MAYBE_INT_LINK_ID -+#endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) - static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy, -- struct net_device *dev, u8 key_idx, bool unicast, bool multicast); -+ struct net_device *dev, MAYBE_INT_LINK_ID u8 key_idx, bool unicast, bool multicast); - #else - static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy, - struct net_device *dev, u8 key_idx); - #endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) - static s32 wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params); -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params); - static s32 wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr); -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr); - static s32 wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr, -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr, - void *cookie, void (*callback) (void *cookie, struct key_params *params)); - #else - static s32 wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, -@@ -1165,7 +1170,7 @@ static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm) - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) - static s32 - wl_cfg80211_config_default_key(struct wiphy *wiphy, -- struct net_device *dev, u8 key_idx, bool unicast, bool multicast) -+ struct net_device *dev, MAYBE_INT_LINK_ID u8 key_idx, bool unicast, bool multicast) - #else - static s32 - wl_cfg80211_config_default_key(struct wiphy *wiphy, -@@ -1190,7 +1195,7 @@ wl_cfg80211_config_default_key(struct wiphy *wiphy, - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) - static s32 - wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params) -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params) - #else - static s32 - wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, -@@ -1311,7 +1316,7 @@ wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev, - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) - static s32 - wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr) -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr) - #else - static s32 - wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, -@@ -1354,7 +1359,7 @@ wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev, - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) - static s32 - wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev, -- u8 key_idx, bool pairwise, const u8 *mac_addr, void *cookie, -+ MAYBE_INT_LINK_ID u8 key_idx, bool pairwise, const u8 *mac_addr, void *cookie, - void (*callback) (void *cookie, struct key_params * params)) - #else - static s32 --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/null-pointer-fix.patch b/pkgs/os-specific/linux/broadcom-sta/null-pointer-fix.patch deleted file mode 100644 index ff15d295a8c7..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/null-pointer-fix.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 507d93e3651d78c1df8bd185b0703872d0c2585b Mon Sep 17 00:00:00 2001 -From: aszlig -Date: Mon, 1 Aug 2016 21:00:02 +0200 -Subject: [PATCH 03/16] linuxPackages.broadcom_sta: fix NULL pointer deref - -The patch is from the following Gentoo bug: - -https://bugs.gentoo.org/show_bug.cgi?id=523326#c24 - -Built successfully against Linux 3.18.36, 4.4.16 and 4.7.0. - -Signed-off-by: aszlig -Cc: @phreedom, @vcunat ---- - src/wl/sys/wl_linux.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 14922c0..65d7a22 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -2167,8 +2167,8 @@ wl_start(struct sk_buff *skb, struct net_device *dev) - wlif = WL_DEV_IF(dev); - wl = WL_INFO(dev); - -+ skb->prev = NULL; - if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) { -- skb->prev = NULL; - - TXQ_LOCK(wl); - --- -2.45.1 - diff --git a/pkgs/os-specific/linux/broadcom-sta/pedantic-fix.patch b/pkgs/os-specific/linux/broadcom-sta/pedantic-fix.patch deleted file mode 100644 index dfe2cf18bcae..000000000000 --- a/pkgs/os-specific/linux/broadcom-sta/pedantic-fix.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 99b1bbc01ea0611e93cb94c2a2532aef96676976 Mon Sep 17 00:00:00 2001 -From: X9VoiD -Date: Wed, 19 Oct 2022 00:29:28 +0800 -Subject: [PATCH 15/16] linuxPackages.broadcom_sta: fix build issues with - kernel 6.0+ - ---- - src/shared/linux_osl.c | 2 +- - src/wl/sys/wl_cfg80211_hybrid.c | 17 ++++++++--------- - src/wl/sys/wl_iw.h | 1 - - src/wl/sys/wl_linux.c | 17 +++++++++-------- - 4 files changed, 18 insertions(+), 19 deletions(-) - -diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c -index 5a25b82..18bacb6 100644 ---- a/src/shared/linux_osl.c -+++ b/src/shared/linux_osl.c -@@ -1101,7 +1101,7 @@ osl_os_get_image_block(char *buf, int len, void *image) - if (!image) - return 0; - -- rdlen = kernel_read(fp, fp->f_pos, buf, len); -+ rdlen = kernel_read(fp, (void *)fp->f_pos, (size_t)len, (loff_t *)buf); - if (rdlen > 0) - fp->f_pos += rdlen; - -diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c -index 9ae56a1..a6b2ca2 100644 ---- a/src/wl/sys/wl_cfg80211_hybrid.c -+++ b/src/wl/sys/wl_cfg80211_hybrid.c -@@ -790,6 +790,7 @@ wl_set_auth_type(struct net_device *dev, struct cfg80211_connect_params *sme) - break; - case NL80211_AUTHTYPE_NETWORK_EAP: - WL_DBG(("network eap\n")); -+ break; - default: - val = 2; - WL_ERR(("invalid auth type (%d)\n", sme->auth_type)); -@@ -2347,26 +2348,24 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, - const wl_event_msg_t *e, void *data) - { - struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl); -+ s32 err = 0; - #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) - struct cfg80211_bss *bss; - struct wlc_ssid *ssid; -+ struct cfg80211_roam_info roam_info; - ssid = &wl->profile->ssid; - bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid, - ssid->SSID, ssid->SSID_len, WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS); -- struct cfg80211_roam_info roam_info = { - // Rel. commit "cfg80211: Indicate MLO connection info in connect and roam callbacks" (Veerendranath Jakkam, Wed Jun 8) - #if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) -- .bss = bss, -+ roam_info.bss = bss; - #else -- .links[0].bss = bss, -+ roam_info.links[0].bss = bss; - #endif -- .req_ie = conn_info->req_ie, -- .req_ie_len = conn_info->req_ie_len, -- .resp_ie = conn_info->resp_ie, -- .resp_ie_len = conn_info->resp_ie_len, -- }; -+ roam_info.req_ie = conn_info->req_ie; -+ roam_info.req_ie_len = conn_info->req_ie_len; -+ roam_info.resp_ie = conn_info->resp_ie; - #endif -- s32 err = 0; - - wl_get_assoc_ies(wl); - memcpy(wl->profile->bssid, &e->addr, ETHER_ADDR_LEN); -diff --git a/src/wl/sys/wl_iw.h b/src/wl/sys/wl_iw.h -index 3ab084f..471d11f 100644 ---- a/src/wl/sys/wl_iw.h -+++ b/src/wl/sys/wl_iw.h -@@ -70,7 +70,6 @@ struct cntry_locales_custom { - #define WL_IW_RSSI_EXCELLENT -57 - #define WL_IW_RSSI_INVALID 0 - #define MAX_WX_STRING 80 --#define isprint(c) bcm_isprint(c) - #define WL_IW_SET_ACTIVE_SCAN (SIOCIWFIRSTPRIV+1) - #define WL_IW_GET_RSSI (SIOCIWFIRSTPRIV+3) - #define WL_IW_SET_PASSIVE_SCAN (SIOCIWFIRSTPRIV+5) -diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c -index 25c4706..4c7e238 100644 ---- a/src/wl/sys/wl_linux.c -+++ b/src/wl/sys/wl_linux.c -@@ -791,14 +791,15 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - pci_read_config_dword(pdev, 0x40, &val); - if ((val & 0x0000ff00) != 0) - pci_write_config_dword(pdev, 0x40, val & 0xffff00ff); -- bar1_size = pci_resource_len(pdev, 2); -- #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -- bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2), -- bar1_size); -- #else -- bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2), -- bar1_size); -- #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ -+ -+ bar1_size = pci_resource_len(pdev, 2); -+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) -+ bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2), -+ bar1_size); -+ #else -+ bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2), -+ bar1_size); -+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) */ - wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS, pdev, - pdev->irq, bar1_addr, bar1_size); - --- -2.45.1 - From f61300e2b9d7a28bec40942b3f9f835481cf528c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 28 Aug 2024 09:37:58 -0700 Subject: [PATCH 47/59] python312Packages.curio-compat: init at 1.6.7 --- .../python-modules/curio-compat/default.nix | 38 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/development/python-modules/curio-compat/default.nix diff --git a/pkgs/development/python-modules/curio-compat/default.nix b/pkgs/development/python-modules/curio-compat/default.nix new file mode 100644 index 000000000000..6ea4da8feb3f --- /dev/null +++ b/pkgs/development/python-modules/curio-compat/default.nix @@ -0,0 +1,38 @@ +{ + buildPythonPackage, + fetchFromGitHub, + lib, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage rec { + pname = "curio-compat"; + version = "1.6.7"; + pyproject = true; + + src = fetchFromGitHub { + owner = "klen"; + repo = "curio"; + rev = "refs/tags/${version}"; + hash = "sha256-Crd9r4Icwga85wvtXaePbE56R192o+FXU9Zn+Lc7trI="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "curio" ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + disabledTests = [ + # contacts google.com + "test_ssl_outgoing" + ]; + + meta = { + description = "Coroutine-based library for concurrent systems programming"; + homepage = "https://github.com/klen/curio"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9320c4ec1ff9..5ff18c9d75fc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2719,6 +2719,8 @@ self: super: with self; { curio = callPackage ../development/python-modules/curio { }; + curio-compat = callPackage ../development/python-modules/curio-compat { }; + curlify = callPackage ../development/python-modules/curlify { }; curl-cffi = callPackage ../development/python-modules/curl-cffi { }; From ec8e0d5178a99d95e0b443d8639c7e38b247ecaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 28 Aug 2024 09:41:12 -0700 Subject: [PATCH 48/59] python312Packages.pytest-aio: update dependencies --- .../python-modules/pytest-aio/default.nix | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/pytest-aio/default.nix b/pkgs/development/python-modules/pytest-aio/default.nix index 5706ffce5ce9..b76cd96230d2 100644 --- a/pkgs/development/python-modules/pytest-aio/default.nix +++ b/pkgs/development/python-modules/pytest-aio/default.nix @@ -2,16 +2,16 @@ lib, anyio, buildPythonPackage, - curio, + curio-compat, fetchFromGitHub, hypothesis, pytest, pytestCheckHook, pythonOlder, poetry-core, - sniffio, trio, trio-asyncio, + uvloop, }: buildPythonPackage rec { @@ -19,7 +19,7 @@ buildPythonPackage rec { version = "1.9.0"; pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "klen"; @@ -32,16 +32,18 @@ buildPythonPackage rec { buildInputs = [ pytest ]; - dependencies = [ - anyio - curio - hypothesis - sniffio - trio - trio-asyncio - ]; + optional-dependencies = { + curio = [ curio-compat ]; + trio = [ trio ]; + uvloop = [ uvloop ]; + }; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + anyio + hypothesis + pytestCheckHook + trio-asyncio + ] ++ lib.flatten (lib.attrValues optional-dependencies); pythonImportsCheck = [ "pytest_aio" ]; From 0336e9c6e1494109788f9b3f75b21f7b75151b6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 28 Aug 2024 09:02:24 -0700 Subject: [PATCH 49/59] python312Packages.solarlog-cli: 0.1.6 -> 0.2.0 Diff: https://github.com/dontinelli/solarlog_cli/compare/refs/tags/v0.1.6...v0.2.0 Changelog: https://github.com/dontinelli/solarlog_cli/releases/tag/v0.2.0 --- .../python-modules/solarlog-cli/default.nix | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/solarlog-cli/default.nix b/pkgs/development/python-modules/solarlog-cli/default.nix index 346d68fc914c..25a4fc4deecb 100644 --- a/pkgs/development/python-modules/solarlog-cli/default.nix +++ b/pkgs/development/python-modules/solarlog-cli/default.nix @@ -5,11 +5,16 @@ fetchFromGitHub, hatchling, aiohttp, + mashumaro, + aioresponses, + pytest-aio, + pytestCheckHook, + syrupy, }: buildPythonPackage rec { pname = "solarlog-cli"; - version = "0.1.6"; + version = "0.2.0"; pyproject = true; disabled = pythonOlder "3.12"; @@ -18,17 +23,24 @@ buildPythonPackage rec { owner = "dontinelli"; repo = "solarlog_cli"; rev = "refs/tags/v${version}"; - hash = "sha256-Bliq1n6xH0cZQHueiGDyalIo0zms8zCSpUGq2KH5xZY="; + hash = "sha256-x9MovIKFImu60Ns2sJTy71S22cR9Az/yNMWzGM50y7Y="; }; build-system = [ hatchling ]; - dependencies = [ aiohttp ]; + dependencies = [ + aiohttp + mashumaro + ]; pythonImportsCheck = [ "solarlog_cli" ]; - # upstream has no tests - doCheck = false; + nativeCheckInputs = [ + aioresponses + pytest-aio + pytestCheckHook + syrupy + ]; meta = { changelog = "https://github.com/dontinelli/solarlog_cli/releases/tag/v${version}"; From 1fbcc232c1c5d0dc5a941fd06daca1e27a36699b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 28 Aug 2024 09:58:32 -0700 Subject: [PATCH 50/59] python312Packages.syrupy: 4.6.1 -> 4.7.1 Diff: https://github.com/tophat/syrupy/compare/refs/tags/v4.6.1...v4.7.1 Changelog: https://github.com/tophat/syrupy/releases/tag/v4.7.1 --- .../python-modules/syrupy/default.nix | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/pkgs/development/python-modules/syrupy/default.nix b/pkgs/development/python-modules/syrupy/default.nix index 379091993e0a..60cf1380d560 100644 --- a/pkgs/development/python-modules/syrupy/default.nix +++ b/pkgs/development/python-modules/syrupy/default.nix @@ -5,30 +5,27 @@ python, poetry-core, pytest, - colored, invoke, }: buildPythonPackage rec { pname = "syrupy"; - version = "4.6.1"; - format = "pyproject"; + version = "4.7.1"; + pyproject = true; disabled = lib.versionOlder python.version "3.8.1"; src = fetchFromGitHub { - owner = "tophat"; + owner = "syrupy-project"; repo = "syrupy"; rev = "refs/tags/v${version}"; - hash = "sha256-NBJJqQsZqqKHOdqGa/j/2KQvlenLCEJBqlfdjtFK00U="; + hash = "sha256-dTUugNqzaMuKV6ZwxRSf9df7tsnmZUBhgqwgGxBhirw="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; buildInputs = [ pytest ]; - propagatedBuildInputs = [ colored ]; - nativeCheckInputs = [ invoke pytest @@ -43,11 +40,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "syrupy" ]; - meta = with lib; { - changelog = "https://github.com/tophat/syrupy/releases/tag/v${version}"; + meta = { + changelog = "https://github.com/syrupy-project/syrupy/blob/${src.rev}/CHANGELOG.md"; description = "Pytest Snapshot Test Utility"; - homepage = "https://github.com/tophat/syrupy"; - license = licenses.asl20; - maintainers = [ ]; + homepage = "https://github.com/syrupy-project/syrupy"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ dotlambda ]; }; } From 0734cdf618df9e36070898f2678b87f60096ecc7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 28 Aug 2024 19:26:01 +0000 Subject: [PATCH 51/59] typos: 1.23.7 -> 1.24.1 --- pkgs/development/tools/typos/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix index d404f071f1ed..5494fd18829e 100644 --- a/pkgs/development/tools/typos/default.nix +++ b/pkgs/development/tools/typos/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "typos"; - version = "1.23.7"; + version = "1.24.1"; src = fetchFromGitHub { owner = "crate-ci"; repo = pname; rev = "v${version}"; - hash = "sha256-VxmSYqpKtzPaiKuB3lhjYGi2T1W4VFt2414OUDGUaZI="; + hash = "sha256-oQy3R9PSM8jU4qs3clxK0HmmM0Ua4pwZYxnu0d6SW+I="; }; - cargoHash = "sha256-SdHlejMxoh8B/HkOdOAtEIRGKfWYDIKXw7SL80sxvJw="; + cargoHash = "sha256-z2JN5JyUIEeZInw5qpRf/Zja+7Np9YnBj3hcohFkAsc="; meta = with lib; { description = "Source code spell checker"; From fd12a262713f8c185aeb73c8867ad03d083acc5c Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sat, 24 Aug 2024 22:05:38 +0200 Subject: [PATCH 52/59] nixos/services.autorandr: remove `with lib;` --- nixos/modules/services/misc/autorandr.nix | 185 +++++++++++----------- 1 file changed, 91 insertions(+), 94 deletions(-) diff --git a/nixos/modules/services/misc/autorandr.nix b/nixos/modules/services/misc/autorandr.nix index 1dbfc4caa31d..f0490d63ad7f 100644 --- a/nixos/modules/services/misc/autorandr.nix +++ b/nixos/modules/services/misc/autorandr.nix @@ -1,32 +1,29 @@ { config, lib, pkgs, ... }: - -with lib; - let cfg = config.services.autorandr; - hookType = types.lines; + hookType = lib.types.lines; matrixOf = n: m: elemType: - mkOptionType rec { + lib.mkOptionType rec { name = "matrixOf"; description = "${toString n}×${toString m} matrix of ${elemType.description}s"; check = xss: - let listOfSize = l: xs: isList xs && length xs == l; + let listOfSize = l: xs: lib.isList xs && lib.length xs == l; in listOfSize n xss - && all (xs: listOfSize m xs && all elemType.check xs) xss; - merge = mergeOneOption; + && lib.all (xs: listOfSize m xs && lib.all elemType.check xs) xss; + merge = lib.mergeOneOption; getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "*" "*" ]); getSubModules = elemType.getSubModules; substSubModules = mod: matrixOf n m (elemType.substSubModules mod); - functor = (defaultFunctor name) // { wrapped = elemType; }; + functor = (lib.defaultFunctor name) // { wrapped = elemType; }; }; - profileModule = types.submodule { + profileModule = lib.types.submodule { options = { - fingerprint = mkOption { - type = types.attrsOf types.str; + fingerprint = lib.mkOption { + type = lib.types.attrsOf lib.types.str; description = '' Output name to EDID mapping. Use `autorandr --fingerprint` to get current setup values. @@ -34,13 +31,13 @@ let default = { }; }; - config = mkOption { - type = types.attrsOf configModule; + config = lib.mkOption { + type = lib.types.attrsOf configModule; description = "Per output profile configuration."; default = { }; }; - hooks = mkOption { + hooks = lib.mkOption { type = hooksModule; description = "Profile hook scripts."; default = { }; @@ -48,66 +45,66 @@ let }; }; - configModule = types.submodule { + configModule = lib.types.submodule { options = { - enable = mkOption { - type = types.bool; + enable = lib.mkOption { + type = lib.types.bool; description = "Whether to enable the output."; default = true; }; - crtc = mkOption { - type = types.nullOr types.ints.unsigned; + crtc = lib.mkOption { + type = lib.types.nullOr lib.types.ints.unsigned; description = "Output video display controller."; default = null; example = 0; }; - primary = mkOption { - type = types.bool; + primary = lib.mkOption { + type = lib.types.bool; description = "Whether output should be marked as primary"; default = false; }; - position = mkOption { - type = types.str; + position = lib.mkOption { + type = lib.types.str; description = "Output position"; default = ""; example = "5760x0"; }; - mode = mkOption { - type = types.str; + mode = lib.mkOption { + type = lib.types.str; description = "Output resolution."; default = ""; example = "3840x2160"; }; - rate = mkOption { - type = types.str; + rate = lib.mkOption { + type = lib.types.str; description = "Output framerate."; default = ""; example = "60.00"; }; - gamma = mkOption { - type = types.str; + gamma = lib.mkOption { + type = lib.types.str; description = "Output gamma configuration."; default = ""; example = "1.0:0.909:0.833"; }; - rotate = mkOption { - type = types.nullOr (types.enum [ "normal" "left" "right" "inverted" ]); + rotate = lib.mkOption { + type = lib.types.nullOr (lib.types.enum [ "normal" "left" "right" "inverted" ]); description = "Output rotate configuration."; default = null; example = "left"; }; - transform = mkOption { - type = types.nullOr (matrixOf 3 3 types.float); + transform = lib.mkOption { + type = lib.types.nullOr (matrixOf 3 3 lib.types.float); default = null; - example = literalExpression '' + example = lib.literalExpression '' [ [ 0.6 0.0 0.0 ] [ 0.0 0.6 0.0 ] @@ -121,30 +118,30 @@ let ''; }; - dpi = mkOption { - type = types.nullOr types.ints.positive; + dpi = lib.mkOption { + type = lib.types.nullOr lib.types.ints.positive; description = "Output DPI configuration."; default = null; example = 96; }; - scale = mkOption { - type = types.nullOr (types.submodule { + scale = lib.mkOption { + type = lib.types.nullOr (lib.types.submodule { options = { - method = mkOption { - type = types.enum [ "factor" "pixel" ]; + method = lib.mkOption { + type = lib.types.enum [ "factor" "pixel" ]; description = "Output scaling method."; default = "factor"; example = "pixel"; }; - x = mkOption { - type = types.either types.float types.ints.positive; + x = lib.mkOption { + type = lib.types.either lib.types.float lib.types.ints.positive; description = "Horizontal scaling factor/pixels."; }; - y = mkOption { - type = types.either types.float types.ints.positive; + y = lib.mkOption { + type = lib.types.either lib.types.float lib.types.ints.positive; description = "Vertical scaling factor/pixels."; }; }; @@ -164,7 +161,7 @@ let exclusive. ''; default = null; - example = literalExpression '' + example = lib.literalExpression '' { x = 1.25; y = 1.25; @@ -174,22 +171,22 @@ let }; }; - hooksModule = types.submodule { + hooksModule = lib.types.submodule { options = { - postswitch = mkOption { - type = types.attrsOf hookType; + postswitch = lib.mkOption { + type = lib.types.attrsOf hookType; description = "Postswitch hook executed after mode switch."; default = { }; }; - preswitch = mkOption { - type = types.attrsOf hookType; + preswitch = lib.mkOption { + type = lib.types.attrsOf hookType; description = "Preswitch hook executed before mode switch."; default = { }; }; - predetect = mkOption { - type = types.attrsOf hookType; + predetect = lib.mkOption { + type = lib.types.attrsOf hookType; description = '' Predetect hook executed before autorandr attempts to run xrandr. ''; @@ -199,37 +196,37 @@ let }; hookToFile = folder: name: hook: - nameValuePair "xdg/autorandr/${folder}/${name}" { + lib.nameValuePair "xdg/autorandr/${folder}/${name}" { source = "${pkgs.writeShellScriptBin "hook" hook}/bin/hook"; }; profileToFiles = name: profile: with profile; - mkMerge ([ + lib.mkMerge ([ { - "xdg/autorandr/${name}/setup".text = concatStringsSep "\n" - (mapAttrsToList fingerprintToString fingerprint); + "xdg/autorandr/${name}/setup".text = lib.concatStringsSep "\n" + (lib.mapAttrsToList fingerprintToString fingerprint); "xdg/autorandr/${name}/config".text = - concatStringsSep "\n" (mapAttrsToList configToString profile.config); + lib.concatStringsSep "\n" (lib.mapAttrsToList configToString profile.config); } - (mapAttrs' (hookToFile "${name}/postswitch.d") hooks.postswitch) - (mapAttrs' (hookToFile "${name}/preswitch.d") hooks.preswitch) - (mapAttrs' (hookToFile "${name}/predetect.d") hooks.predetect) + (lib.mapAttrs' (hookToFile "${name}/postswitch.d") hooks.postswitch) + (lib.mapAttrs' (hookToFile "${name}/preswitch.d") hooks.preswitch) + (lib.mapAttrs' (hookToFile "${name}/predetect.d") hooks.predetect) ]); fingerprintToString = name: edid: "${name} ${edid}"; configToString = name: config: if config.enable then - concatStringsSep "\n" ([ "output ${name}" ] - ++ optional (config.position != "") "pos ${config.position}" - ++ optional (config.crtc != null) "crtc ${toString config.crtc}" - ++ optional config.primary "primary" - ++ optional (config.dpi != null) "dpi ${toString config.dpi}" - ++ optional (config.gamma != "") "gamma ${config.gamma}" - ++ optional (config.mode != "") "mode ${config.mode}" - ++ optional (config.rate != "") "rate ${config.rate}" - ++ optional (config.rotate != null) "rotate ${config.rotate}" - ++ optional (config.transform != null) ("transform " - + concatMapStringsSep "," toString (flatten config.transform)) - ++ optional (config.scale != null) + lib.concatStringsSep "\n" ([ "output ${name}" ] + ++ lib.optional (config.position != "") "pos ${config.position}" + ++ lib.optional (config.crtc != null) "crtc ${toString config.crtc}" + ++ lib.optional config.primary "primary" + ++ lib.optional (config.dpi != null) "dpi ${toString config.dpi}" + ++ lib.optional (config.gamma != "") "gamma ${config.gamma}" + ++ lib.optional (config.mode != "") "mode ${config.mode}" + ++ lib.optional (config.rate != "") "rate ${config.rate}" + ++ lib.optional (config.rotate != null) "rotate ${config.rotate}" + ++ lib.optional (config.transform != null) ("transform " + + lib.concatMapStringsSep "," toString (lib.flatten config.transform)) + ++ lib.optional (config.scale != null) ((if config.scale.method == "factor" then "scale" else "scale-from") + " ${toString config.scale.x}x${toString config.scale.y}")) else '' @@ -242,11 +239,11 @@ in { options = { services.autorandr = { - enable = mkEnableOption "handling of hotplug and sleep events by autorandr"; + enable = lib.mkEnableOption "handling of hotplug and sleep events by autorandr"; - defaultTarget = mkOption { + defaultTarget = lib.mkOption { default = "default"; - type = types.str; + type = lib.types.str; description = '' Fallback if no monitor layout can be detected. See the docs (https://github.com/phillipberndt/autorandr/blob/v1.0/README.md#how-to-use) @@ -254,23 +251,23 @@ in { ''; }; - ignoreLid = mkOption { + ignoreLid = lib.mkOption { default = false; - type = types.bool; + type = lib.types.bool; description = "Treat outputs as connected even if their lids are closed"; }; - matchEdid = mkOption { + matchEdid = lib.mkOption { default = false; - type = types.bool; + type = lib.types.bool; description = "Match displays based on edid instead of name"; }; - hooks = mkOption { + hooks = lib.mkOption { type = hooksModule; description = "Global hook scripts"; default = { }; - example = literalExpression '' + example = lib.literalExpression '' { postswitch = { "notify-i3" = "''${pkgs.i3}/bin/i3-msg restart"; @@ -296,11 +293,11 @@ in { } ''; }; - profiles = mkOption { - type = types.attrsOf profileModule; + profiles = lib.mkOption { + type = lib.types.attrsOf profileModule; description = "Autorandr profiles specification."; default = { }; - example = literalExpression '' + example = lib.literalExpression '' { "work" = { fingerprint = { @@ -330,17 +327,17 @@ in { }; - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { services.udev.packages = [ pkgs.autorandr ]; environment = { systemPackages = [ pkgs.autorandr ]; - etc = mkMerge ([ - (mapAttrs' (hookToFile "postswitch.d") cfg.hooks.postswitch) - (mapAttrs' (hookToFile "preswitch.d") cfg.hooks.preswitch) - (mapAttrs' (hookToFile "predetect.d") cfg.hooks.predetect) - (mkMerge (mapAttrsToList profileToFiles cfg.profiles)) + etc = lib.mkMerge ([ + (lib.mapAttrs' (hookToFile "postswitch.d") cfg.hooks.postswitch) + (lib.mapAttrs' (hookToFile "preswitch.d") cfg.hooks.preswitch) + (lib.mapAttrs' (hookToFile "predetect.d") cfg.hooks.predetect) + (lib.mkMerge (lib.mapAttrsToList profileToFiles cfg.profiles)) ]); }; @@ -357,8 +354,8 @@ in { --batch \ --change \ --default ${cfg.defaultTarget} \ - ${optionalString cfg.ignoreLid "--ignore-lid"} \ - ${optionalString cfg.matchEdid "--match-edid"} + ${lib.optionalString cfg.ignoreLid "--ignore-lid"} \ + ${lib.optionalString cfg.matchEdid "--match-edid"} ''; Type = "oneshot"; RemainAfterExit = false; @@ -368,5 +365,5 @@ in { }; - meta.maintainers = with maintainers; [ alexnortung ]; + meta.maintainers = with lib.maintainers; [ alexnortung ]; } From 460eb13f4ee7e905f6158a916f69209a383f4b48 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sat, 24 Aug 2024 22:05:44 +0200 Subject: [PATCH 53/59] nixos/services.gammu-smsd: remove `with lib;` --- nixos/modules/services/misc/gammu-smsd.nix | 124 ++++++++++----------- 1 file changed, 61 insertions(+), 63 deletions(-) diff --git a/nixos/modules/services/misc/gammu-smsd.nix b/nixos/modules/services/misc/gammu-smsd.nix index b30258333af2..78f4e53815f2 100644 --- a/nixos/modules/services/misc/gammu-smsd.nix +++ b/nixos/modules/services/misc/gammu-smsd.nix @@ -1,6 +1,4 @@ { pkgs, lib, config, ... }: - -with lib; let cfg = config.services.gammu-smsd; @@ -10,7 +8,7 @@ let Connection = ${cfg.device.connection} SynchronizeTime = ${if cfg.device.synchronizeTime then "yes" else "no"} LogFormat = ${cfg.log.format} - ${optionalString (cfg.device.pin != null) "PIN = ${cfg.device.pin}"} + ${lib.optionalString (cfg.device.pin != null) "PIN = ${cfg.device.pin}"} ${cfg.extraConfig.gammu} @@ -18,25 +16,25 @@ let LogFile = ${cfg.log.file} Service = ${cfg.backend.service} - ${optionalString (cfg.backend.service == "files") '' + ${lib.optionalString (cfg.backend.service == "files") '' InboxPath = ${cfg.backend.files.inboxPath} OutboxPath = ${cfg.backend.files.outboxPath} SentSMSPath = ${cfg.backend.files.sentSMSPath} ErrorSMSPath = ${cfg.backend.files.errorSMSPath} ''} - ${optionalString (cfg.backend.service == "sql" && cfg.backend.sql.driver == "sqlite") '' + ${lib.optionalString (cfg.backend.service == "sql" && cfg.backend.sql.driver == "sqlite") '' Driver = ${cfg.backend.sql.driver} DBDir = ${cfg.backend.sql.database} ''} - ${optionalString (cfg.backend.service == "sql" && cfg.backend.sql.driver == "native_pgsql") ( + ${lib.optionalString (cfg.backend.service == "sql" && cfg.backend.sql.driver == "native_pgsql") ( with cfg.backend; '' Driver = ${sql.driver} - ${optionalString (sql.database!= null) "Database = ${sql.database}"} - ${optionalString (sql.host != null) "Host = ${sql.host}"} - ${optionalString (sql.user != null) "User = ${sql.user}"} - ${optionalString (sql.password != null) "Password = ${sql.password}"} + ${lib.optionalString (sql.database!= null) "Database = ${sql.database}"} + ${lib.optionalString (sql.host != null) "Host = ${sql.host}"} + ${lib.optionalString (sql.user != null) "User = ${sql.user}"} + ${lib.optionalString (sql.password != null) "Password = ${sql.password}"} '')} ${cfg.extraConfig.smsd} @@ -53,42 +51,42 @@ in { options = { services.gammu-smsd = { - enable = mkEnableOption "gammu-smsd daemon"; + enable = lib.mkEnableOption "gammu-smsd daemon"; - user = mkOption { - type = types.str; + user = lib.mkOption { + type = lib.types.str; default = "smsd"; description = "User that has access to the device"; }; device = { - path = mkOption { - type = types.path; + path = lib.mkOption { + type = lib.types.path; description = "Device node or address of the phone"; example = "/dev/ttyUSB2"; }; - group = mkOption { - type = types.str; + group = lib.mkOption { + type = lib.types.str; default = "root"; description = "Owner group of the device"; example = "dialout"; }; - connection = mkOption { - type = types.str; + connection = lib.mkOption { + type = lib.types.str; default = "at"; description = "Protocol which will be used to talk to the phone"; }; - synchronizeTime = mkOption { - type = types.bool; + synchronizeTime = lib.mkOption { + type = lib.types.bool; default = true; description = "Whether to set time from computer to the phone during starting connection"; }; - pin = mkOption { - type = types.nullOr types.str; + pin = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = null; description = "PIN code for the simcard"; }; @@ -96,14 +94,14 @@ in { log = { - file = mkOption { - type = types.str; + file = lib.mkOption { + type = lib.types.str; default = "syslog"; description = "Path to file where information about communication will be stored"; }; - format = mkOption { - type = types.enum [ "nothing" "text" "textall" "textalldate" "errors" "errorsdate" "binary" ]; + format = lib.mkOption { + type = lib.types.enum [ "nothing" "text" "textall" "textalldate" "errors" "errorsdate" "binary" ]; default = "errors"; description = "Determines what will be logged to the LogFile"; }; @@ -111,15 +109,15 @@ in { extraConfig = { - gammu = mkOption { - type = types.lines; + gammu = lib.mkOption { + type = lib.types.lines; default = ""; description = "Extra config lines to be added into [gammu] section"; }; - smsd = mkOption { - type = types.lines; + smsd = lib.mkOption { + type = lib.types.lines; default = ""; description = "Extra config lines to be added into [smsd] section"; }; @@ -127,70 +125,70 @@ in { backend = { - service = mkOption { - type = types.enum [ "null" "files" "sql" ]; + service = lib.mkOption { + type = lib.types.enum [ "null" "files" "sql" ]; default = "null"; description = "Service to use to store sms data."; }; files = { - inboxPath = mkOption { - type = types.path; + inboxPath = lib.mkOption { + type = lib.types.path; default = "/var/spool/sms/inbox/"; description = "Where the received SMSes are stored"; }; - outboxPath = mkOption { - type = types.path; + outboxPath = lib.mkOption { + type = lib.types.path; default = "/var/spool/sms/outbox/"; description = "Where SMSes to be sent should be placed"; }; - sentSMSPath = mkOption { - type = types.path; + sentSMSPath = lib.mkOption { + type = lib.types.path; default = "/var/spool/sms/sent/"; description = "Where the transmitted SMSes are placed"; }; - errorSMSPath = mkOption { - type = types.path; + errorSMSPath = lib.mkOption { + type = lib.types.path; default = "/var/spool/sms/error/"; description = "Where SMSes with error in transmission is placed"; }; }; sql = { - driver = mkOption { - type = types.enum [ "native_mysql" "native_pgsql" "odbc" "dbi" ]; + driver = lib.mkOption { + type = lib.types.enum [ "native_mysql" "native_pgsql" "odbc" "dbi" ]; description = "DB driver to use"; }; - sqlDialect = mkOption { - type = types.nullOr types.str; + sqlDialect = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = null; description = "SQL dialect to use (odbc driver only)"; }; - database = mkOption { - type = types.nullOr types.str; + database = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = null; description = "Database name to store sms data"; }; - host = mkOption { - type = types.str; + host = lib.mkOption { + type = lib.types.str; default = "localhost"; description = "Database server address"; }; - user = mkOption { - type = types.nullOr types.str; + user = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = null; description = "User name used for connection to the database"; }; - password = mkOption { - type = types.nullOr types.str; + password = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = null; description = "User password used for connection to the database"; }; @@ -199,7 +197,7 @@ in { }; }; - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { users.users.${cfg.user} = { description = "gammu-smsd user"; isSystemUser = true; @@ -207,7 +205,7 @@ in { }; environment.systemPackages = with cfg.backend; [ gammuPackage ] - ++ optionals (service == "sql" && sql.driver == "sqlite") [ pkgs.sqlite ]; + ++ lib.optionals (service == "sql" && sql.driver == "sqlite") [ pkgs.sqlite ]; systemd.services.gammu-smsd = { description = "gammu-smsd daemon"; @@ -215,29 +213,29 @@ in { wantedBy = [ "multi-user.target" ]; wants = with cfg.backend; [ ] - ++ optionals (service == "sql" && sql.driver == "native_pgsql") [ "postgresql.service" ]; + ++ lib.optionals (service == "sql" && sql.driver == "native_pgsql") [ "postgresql.service" ]; preStart = with cfg.backend; - optionalString (service == "files") (with files; '' + lib.optionalString (service == "files") (with files; '' mkdir -m 755 -p ${inboxPath} ${outboxPath} ${sentSMSPath} ${errorSMSPath} chown ${cfg.user} -R ${inboxPath} chown ${cfg.user} -R ${outboxPath} chown ${cfg.user} -R ${sentSMSPath} chown ${cfg.user} -R ${errorSMSPath} '') - + optionalString (service == "sql" && sql.driver == "sqlite") '' + + lib.optionalString (service == "sql" && sql.driver == "sqlite") '' cat "${gammuPackage}/${initDBDir}/sqlite.sql" \ | ${pkgs.sqlite.bin}/bin/sqlite3 ${sql.database} '' - + (let execPsql = extraArgs: concatStringsSep " " [ - (optionalString (sql.password != null) "PGPASSWORD=${sql.password}") + + (let execPsql = extraArgs: lib.concatStringsSep " " [ + (lib.optionalString (sql.password != null) "PGPASSWORD=${sql.password}") "${config.services.postgresql.package}/bin/psql" - (optionalString (sql.host != null) "-h ${sql.host}") - (optionalString (sql.user != null) "-U ${sql.user}") + (lib.optionalString (sql.host != null) "-h ${sql.host}") + (lib.optionalString (sql.user != null) "-U ${sql.user}") "$extraArgs" "${sql.database}" - ]; in optionalString (service == "sql" && sql.driver == "native_pgsql") '' + ]; in lib.optionalString (service == "sql" && sql.driver == "native_pgsql") '' echo '\i '"${gammuPackage}/${initDBDir}/pgsql.sql" | ${execPsql ""} ''); From 5352447f1ca9dd698013309eb31ec72a46c776aa Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sat, 24 Aug 2024 22:05:49 +0200 Subject: [PATCH 54/59] nixos/services.mqtt2influxdb: remove `with lib;` --- nixos/modules/services/misc/mqtt2influxdb.nix | 103 +++++++++--------- 1 file changed, 50 insertions(+), 53 deletions(-) diff --git a/nixos/modules/services/misc/mqtt2influxdb.nix b/nixos/modules/services/misc/mqtt2influxdb.nix index d07ce1e66ba3..cefe7acbba2f 100644 --- a/nixos/modules/services/misc/mqtt2influxdb.nix +++ b/nixos/modules/services/misc/mqtt2influxdb.nix @@ -4,12 +4,9 @@ pkgs, ... }: - -with lib; - let cfg = config.services.mqtt2influxdb; - filterNull = filterAttrsRecursive (n: v: v != null); + filterNull = lib.filterAttrsRecursive (n: v: v != null); configFile = (pkgs.formats.yaml {}).generate "mqtt2influxdb.config.yaml" ( filterNull { inherit (cfg) mqtt influxdb; @@ -17,26 +14,26 @@ let } ); - pointType = types.submodule { + pointType = lib.types.submodule { options = { - measurement = mkOption { - type = types.str; + measurement = lib.mkOption { + type = lib.types.str; description = "Name of the measurement"; }; - topic = mkOption { - type = types.str; + topic = lib.mkOption { + type = lib.types.str; description = "MQTT topic to subscribe to."; }; - fields = mkOption { - type = types.submodule { + fields = lib.mkOption { + type = lib.types.submodule { options = { - value = mkOption { - type = types.str; + value = lib.mkOption { + type = lib.types.str; default = "$.payload"; description = "Value to be picked up"; }; - type = mkOption { - type = with types; nullOr str; + type = lib.mkOption { + type = with lib.types; nullOr str; default = null; description = "Type to be picked up"; }; @@ -44,8 +41,8 @@ let }; description = "Field selector."; }; - tags = mkOption { - type = with types; attrsOf str; + tags = lib.mkOption { + type = with lib.types; attrsOf str; default = {}; description = "Tags applied"; }; @@ -124,10 +121,10 @@ let in { options = { services.mqtt2influxdb = { - enable = mkEnableOption "BigClown MQTT to InfluxDB bridge"; - package = mkPackageOption pkgs ["python3Packages" "mqtt2influxdb"] {}; - environmentFiles = mkOption { - type = types.listOf types.path; + enable = lib.mkEnableOption "BigClown MQTT to InfluxDB bridge"; + package = lib.mkPackageOption pkgs ["python3Packages" "mqtt2influxdb"] {}; + environmentFiles = lib.mkOption { + type = lib.types.listOf lib.types.path; default = []; example = [ "/run/keys/mqtt2influxdb.env" ]; description = '' @@ -138,23 +135,23 @@ in { ''; }; mqtt = { - host = mkOption { - type = types.str; + host = lib.mkOption { + type = lib.types.str; default = "127.0.0.1"; description = "Host where MQTT server is running."; }; - port = mkOption { - type = types.port; + port = lib.mkOption { + type = lib.types.port; default = 1883; description = "MQTT server port."; }; - username = mkOption { - type = with types; nullOr str; + username = lib.mkOption { + type = with lib.types; nullOr str; default = null; description = "Username used to connect to the MQTT server."; }; - password = mkOption { - type = with types; nullOr str; + password = lib.mkOption { + type = with lib.types; nullOr str; default = null; description = '' MQTT password. @@ -164,44 +161,44 @@ in { the store. ''; }; - cafile = mkOption { - type = with types; nullOr path; + cafile = lib.mkOption { + type = with lib.types; nullOr path; default = null; description = "Certification Authority file for MQTT"; }; - certfile = mkOption { - type = with types; nullOr path; + certfile = lib.mkOption { + type = with lib.types; nullOr path; default = null; description = "Certificate file for MQTT"; }; - keyfile = mkOption { - type = with types; nullOr path; + keyfile = lib.mkOption { + type = with lib.types; nullOr path; default = null; description = "Key file for MQTT"; }; }; influxdb = { - host = mkOption { - type = types.str; + host = lib.mkOption { + type = lib.types.str; default = "127.0.0.1"; description = "Host where InfluxDB server is running."; }; - port = mkOption { - type = types.port; + port = lib.mkOption { + type = lib.types.port; default = 8086; description = "InfluxDB server port"; }; - database = mkOption { - type = types.str; + database = lib.mkOption { + type = lib.types.str; description = "Name of the InfluxDB database."; }; - username = mkOption { - type = with types; nullOr str; + username = lib.mkOption { + type = with lib.types; nullOr str; default = null; description = "Username for InfluxDB login."; }; - password = mkOption { - type = with types; nullOr str; + password = lib.mkOption { + type = with lib.types; nullOr str; default = null; description = '' Password for InfluxDB login. @@ -211,26 +208,26 @@ in { the store. ''; }; - ssl = mkOption { - type = types.bool; + ssl = lib.mkOption { + type = lib.types.bool; default = false; description = "Use SSL to connect to the InfluxDB server."; }; - verify_ssl = mkOption { - type = types.bool; + verify_ssl = lib.mkOption { + type = lib.types.bool; default = true; description = "Verify SSL certificate when connecting to the InfluxDB server."; }; }; - points = mkOption { - type = types.listOf pointType; + points = lib.mkOption { + type = lib.types.listOf pointType; default = defaultPoints; description = "Points to bridge from MQTT to InfluxDB."; }; }; }; - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { systemd.services.bigclown-mqtt2influxdb = let envConfig = cfg.environmentFiles != []; finalConfig = if envConfig @@ -239,7 +236,7 @@ in { in { description = "BigClown MQTT to InfluxDB bridge"; wantedBy = ["multi-user.target"]; - wants = mkIf config.services.mosquitto.enable ["mosquitto.service"]; + wants = lib.mkIf config.services.mosquitto.enable ["mosquitto.service"]; preStart = '' umask 077 ${pkgs.envsubst}/bin/envsubst -i "${configFile}" -o "${finalConfig}" From f3212dfec4cbaa9c3ea6475a23e1d1d8b3520c2c Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sat, 24 Aug 2024 22:05:50 +0200 Subject: [PATCH 55/59] nixos/services.nitter: remove `with lib;` --- nixos/modules/services/misc/nitter.nix | 179 ++++++++++++------------- 1 file changed, 88 insertions(+), 91 deletions(-) diff --git a/nixos/modules/services/misc/nitter.nix b/nixos/modules/services/misc/nitter.nix index f8be2aed70c9..40a4b157aee1 100644 --- a/nixos/modules/services/misc/nitter.nix +++ b/nixos/modules/services/misc/nitter.nix @@ -1,16 +1,13 @@ { config, lib, pkgs, ... }: - -with lib; - let cfg = config.services.nitter; configFile = pkgs.writeText "nitter.conf" '' - ${generators.toINI { + ${lib.generators.toINI { # String values need to be quoted - mkKeyValue = generators.mkKeyValueDefault { + mkKeyValue = lib.generators.mkKeyValueDefault { mkValueString = v: - if isString v then "\"" + (strings.escape ["\""] (toString v)) + "\"" - else generators.mkValueStringDefault {} v; + if lib.isString v then "\"" + (lib.escape ["\""] (toString v)) + "\"" + else lib.generators.mkValueStringDefault {} v; } " = "; } (lib.recursiveUpdate { Server = cfg.server; @@ -47,57 +44,57 @@ in { imports = [ # https://github.com/zedeus/nitter/pull/772 - (mkRemovedOptionModule [ "services" "nitter" "replaceInstagram" ] "Nitter no longer supports this option as Bibliogram has been discontinued.") + (lib.mkRemovedOptionModule [ "services" "nitter" "replaceInstagram" ] "Nitter no longer supports this option as Bibliogram has been discontinued.") ]; options = { services.nitter = { - enable = mkEnableOption "Nitter, an alternative Twitter front-end"; + enable = lib.mkEnableOption "Nitter, an alternative Twitter front-end"; - package = mkPackageOption pkgs "nitter" { }; + package = lib.mkPackageOption pkgs "nitter" { }; server = { - address = mkOption { - type = types.str; + address = lib.mkOption { + type = lib.types.str; default = "0.0.0.0"; example = "127.0.0.1"; description = "The address to listen on."; }; - port = mkOption { - type = types.port; + port = lib.mkOption { + type = lib.types.port; default = 8080; example = 8000; description = "The port to listen on."; }; - https = mkOption { - type = types.bool; + https = lib.mkOption { + type = lib.types.bool; default = false; description = "Set secure attribute on cookies. Keep it disabled to enable cookies when not using HTTPS."; }; - httpMaxConnections = mkOption { - type = types.int; + httpMaxConnections = lib.mkOption { + type = lib.types.int; default = 100; description = "Maximum number of HTTP connections."; }; - staticDir = mkOption { - type = types.path; + staticDir = lib.mkOption { + type = lib.types.path; default = "${cfg.package}/share/nitter/public"; - defaultText = literalExpression ''"''${config.services.nitter.package}/share/nitter/public"''; + defaultText = lib.literalExpression ''"''${config.services.nitter.package}/share/nitter/public"''; description = "Path to the static files directory."; }; - title = mkOption { - type = types.str; + title = lib.mkOption { + type = lib.types.str; default = "nitter"; description = "Title of the instance."; }; - hostname = mkOption { - type = types.str; + hostname = lib.mkOption { + type = lib.types.str; default = "localhost"; example = "nitter.net"; description = "Hostname of the instance."; @@ -105,38 +102,38 @@ in }; cache = { - listMinutes = mkOption { - type = types.int; + listMinutes = lib.mkOption { + type = lib.types.int; default = 240; description = "How long to cache list info (not the tweets, so keep it high)."; }; - rssMinutes = mkOption { - type = types.int; + rssMinutes = lib.mkOption { + type = lib.types.int; default = 10; description = "How long to cache RSS queries."; }; - redisHost = mkOption { - type = types.str; + redisHost = lib.mkOption { + type = lib.types.str; default = "localhost"; description = "Redis host."; }; - redisPort = mkOption { - type = types.port; + redisPort = lib.mkOption { + type = lib.types.port; default = 6379; description = "Redis port."; }; - redisConnections = mkOption { - type = types.int; + redisConnections = lib.mkOption { + type = lib.types.int; default = 20; description = "Redis connection pool size."; }; - redisMaxConnections = mkOption { - type = types.int; + redisMaxConnections = lib.mkOption { + type = lib.types.int; default = 30; description = '' Maximum number of connections to Redis. @@ -149,30 +146,30 @@ in }; config = { - base64Media = mkOption { - type = types.bool; + base64Media = lib.mkOption { + type = lib.types.bool; default = false; description = "Use base64 encoding for proxied media URLs."; }; - enableRSS = mkEnableOption "RSS feeds" // { default = true; }; + enableRSS = lib.mkEnableOption "RSS feeds" // { default = true; }; - enableDebug = mkEnableOption "request logs and debug endpoints"; + enableDebug = lib.mkEnableOption "request logs and debug endpoints"; - proxy = mkOption { - type = types.str; + proxy = lib.mkOption { + type = lib.types.str; default = ""; description = "URL to a HTTP/HTTPS proxy."; }; - proxyAuth = mkOption { - type = types.str; + proxyAuth = lib.mkOption { + type = lib.types.str; default = ""; description = "Credentials for proxy."; }; - tokenCount = mkOption { - type = types.int; + tokenCount = lib.mkOption { + type = lib.types.int; default = 10; description = '' Minimum amount of usable tokens. @@ -187,114 +184,114 @@ in }; preferences = { - replaceTwitter = mkOption { - type = types.str; + replaceTwitter = lib.mkOption { + type = lib.types.str; default = ""; example = "nitter.net"; description = "Replace Twitter links with links to this instance (blank to disable)."; }; - replaceYouTube = mkOption { - type = types.str; + replaceYouTube = lib.mkOption { + type = lib.types.str; default = ""; example = "piped.kavin.rocks"; description = "Replace YouTube links with links to this instance (blank to disable)."; }; - replaceReddit = mkOption { - type = types.str; + replaceReddit = lib.mkOption { + type = lib.types.str; default = ""; example = "teddit.net"; description = "Replace Reddit links with links to this instance (blank to disable)."; }; - mp4Playback = mkOption { - type = types.bool; + mp4Playback = lib.mkOption { + type = lib.types.bool; default = true; description = "Enable MP4 video playback."; }; - hlsPlayback = mkOption { - type = types.bool; + hlsPlayback = lib.mkOption { + type = lib.types.bool; default = false; description = "Enable HLS video streaming (requires JavaScript)."; }; - proxyVideos = mkOption { - type = types.bool; + proxyVideos = lib.mkOption { + type = lib.types.bool; default = true; description = "Proxy video streaming through the server (might be slow)."; }; - muteVideos = mkOption { - type = types.bool; + muteVideos = lib.mkOption { + type = lib.types.bool; default = false; description = "Mute videos by default."; }; - autoplayGifs = mkOption { - type = types.bool; + autoplayGifs = lib.mkOption { + type = lib.types.bool; default = true; description = "Autoplay GIFs."; }; - theme = mkOption { - type = types.str; + theme = lib.mkOption { + type = lib.types.str; default = "Nitter"; description = "Instance theme."; }; - infiniteScroll = mkOption { - type = types.bool; + infiniteScroll = lib.mkOption { + type = lib.types.bool; default = false; description = "Infinite scrolling (requires JavaScript, experimental!)."; }; - stickyProfile = mkOption { - type = types.bool; + stickyProfile = lib.mkOption { + type = lib.types.bool; default = true; description = "Make profile sidebar stick to top."; }; - bidiSupport = mkOption { - type = types.bool; + bidiSupport = lib.mkOption { + type = lib.types.bool; default = false; description = "Support bidirectional text (makes clicking on tweets harder)."; }; - hideTweetStats = mkOption { - type = types.bool; + hideTweetStats = lib.mkOption { + type = lib.types.bool; default = false; description = "Hide tweet stats (replies, retweets, likes)."; }; - hideBanner = mkOption { - type = types.bool; + hideBanner = lib.mkOption { + type = lib.types.bool; default = false; description = "Hide profile banner."; }; - hidePins = mkOption { - type = types.bool; + hidePins = lib.mkOption { + type = lib.types.bool; default = false; description = "Hide pinned tweets."; }; - hideReplies = mkOption { - type = types.bool; + hideReplies = lib.mkOption { + type = lib.types.bool; default = false; description = "Hide tweet replies."; }; - squareAvatars = mkOption { - type = types.bool; + squareAvatars = lib.mkOption { + type = lib.types.bool; default = false; description = "Square profile pictures."; }; }; - settings = mkOption { - type = types.attrs; + settings = lib.mkOption { + type = lib.types.attrs; default = {}; description = '' Add settings here to override NixOS module generated settings. @@ -304,8 +301,8 @@ in ''; }; - guestAccounts = mkOption { - type = types.path; + guestAccounts = lib.mkOption { + type = lib.types.path; default = "/var/lib/nitter/guest_accounts.jsonl"; description = '' Path to the guest accounts file. @@ -321,21 +318,21 @@ in ''; }; - redisCreateLocally = mkOption { - type = types.bool; + redisCreateLocally = lib.mkOption { + type = lib.types.bool; default = true; description = "Configure local Redis server for Nitter."; }; - openFirewall = mkOption { - type = types.bool; + openFirewall = lib.mkOption { + type = lib.types.bool; default = false; description = "Open ports in the firewall for Nitter web interface."; }; }; }; - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { assertions = [ { assertion = !cfg.redisCreateLocally || (cfg.cache.redisHost == "localhost" && cfg.cache.redisPort == 6379); @@ -397,7 +394,7 @@ in port = cfg.cache.redisPort; }; - networking.firewall = mkIf cfg.openFirewall { + networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.server.port ]; }; }; From 481df957a679a238520d94835296ec624a5933e5 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sat, 24 Aug 2024 22:05:53 +0200 Subject: [PATCH 56/59] nixos/services.mosquitto: remove `with lib;` --- .../modules/services/networking/mosquitto.nix | 185 +++++++++--------- 1 file changed, 91 insertions(+), 94 deletions(-) diff --git a/nixos/modules/services/networking/mosquitto.nix b/nixos/modules/services/networking/mosquitto.nix index 468f58b56bb1..e628be0d5b1b 100644 --- a/nixos/modules/services/networking/mosquitto.nix +++ b/nixos/modules/services/networking/mosquitto.nix @@ -1,39 +1,36 @@ { config, lib, pkgs, ...}: - -with lib; - let cfg = config.services.mosquitto; # note that mosquitto config parsing is very simplistic as of may 2021. # often times they'll e.g. strtok() a line, check the first two tokens, and ignore the rest. # there's no escaping available either, so we have to prevent any being necessary. - str = types.strMatching "[^\r\n]*" // { + str = lib.types.strMatching "[^\r\n]*" // { description = "single-line string"; }; - path = types.addCheck types.path (p: str.check "${p}"); - configKey = types.strMatching "[^\r\n\t ]+"; - optionType = with types; oneOf [ str path bool int ] // { + path = lib.types.addCheck lib.types.path (p: str.check "${p}"); + configKey = lib.types.strMatching "[^\r\n\t ]+"; + optionType = with lib.types; oneOf [ str path bool int ] // { description = "string, path, bool, or integer"; }; optionToString = v: - if isBool v then boolToString v + if lib.isBool v then lib.boolToString v else if path.check v then "${v}" else toString v; assertKeysValid = prefix: valid: config: - mapAttrsToList + lib.mapAttrsToList (n: _: { assertion = valid ? ${n}; message = "Invalid config key ${prefix}.${n}."; }) config; - formatFreeform = { prefix ? "" }: mapAttrsToList (n: v: "${prefix}${n} ${optionToString v}"); + formatFreeform = { prefix ? "" }: lib.mapAttrsToList (n: v: "${prefix}${n} ${optionToString v}"); - userOptions = with types; submodule { + userOptions = with lib.types; submodule { options = { - password = mkOption { + password = lib.mkOption { type = uniq (nullOr str); default = null; description = '' @@ -41,7 +38,7 @@ let ''; }; - passwordFile = mkOption { + passwordFile = lib.mkOption { type = uniq (nullOr path); example = "/path/to/file"; default = null; @@ -54,7 +51,7 @@ let ''; }; - hashedPassword = mkOption { + hashedPassword = lib.mkOption { type = uniq (nullOr str); default = null; description = '' @@ -66,7 +63,7 @@ let ''; }; - hashedPasswordFile = mkOption { + hashedPasswordFile = lib.mkOption { type = uniq (nullOr path); example = "/path/to/file"; default = null; @@ -82,7 +79,7 @@ let ''; }; - acl = mkOption { + acl = lib.mkOption { type = listOf str; example = [ "read A/B" "readwrite A/#" ]; default = []; @@ -94,15 +91,15 @@ let }; userAsserts = prefix: users: - mapAttrsToList + lib.mapAttrsToList (n: _: { assertion = builtins.match "[^:\r\n]+" n != null; message = "Invalid user name ${n} in ${prefix}"; }) users - ++ mapAttrsToList + ++ lib.mapAttrsToList (n: u: { - assertion = count (s: s != null) [ + assertion = lib.count (s: s != null) [ u.password u.passwordFile u.hashedPassword u.hashedPasswordFile ] <= 1; message = "Cannot set more than one password option for user ${n} in ${prefix}"; @@ -112,26 +109,26 @@ let userScope = prefix: index: "${prefix}-user-${toString index}"; credentialID = prefix: credential: "${prefix}-${credential}"; - toScopedUsers = listenerScope: users: pipe users [ - attrNames - (imap0 (index: user: nameValuePair user + toScopedUsers = listenerScope: users: lib.pipe users [ + lib.attrNames + (lib.imap0 (index: user: lib.nameValuePair user (users.${user} // { scope = userScope listenerScope index; }) )) - listToAttrs + lib.listToAttrs ]; - userCredentials = user: credentials: pipe credentials [ - (filter (credential: user.${credential} != null)) + userCredentials = user: credentials: lib.pipe credentials [ + (lib.filter (credential: user.${credential} != null)) (map (credential: "${credentialID user.scope credential}:${user.${credential}}")) ]; - usersCredentials = listenerScope: users: credentials: pipe users [ + usersCredentials = listenerScope: users: credentials: lib.pipe users [ (toScopedUsers listenerScope) - (mapAttrsToList (_: user: userCredentials user credentials)) - concatLists + (lib.mapAttrsToList (_: user: userCredentials user credentials)) + lib.concatLists ]; - systemdCredentials = listeners: listenerCredentials: pipe listeners [ - (imap0 (index: listener: listenerCredentials (listenerScope index) listener)) - concatLists + systemdCredentials = listeners: listenerCredentials: lib.pipe listeners [ + (lib.imap0 (index: listener: listenerCredentials (listenerScope index) listener)) + lib.concatLists ]; makePasswordFile = listenerScope: users: path: @@ -139,12 +136,12 @@ let makeLines = store: file: let scopedUsers = toScopedUsers listenerScope users; in - mapAttrsToList - (name: user: ''addLine ${escapeShellArg name} "''$(systemd-creds cat ${credentialID user.scope store})"'') - (filterAttrs (_: user: user.${store} != null) scopedUsers) - ++ mapAttrsToList - (name: user: ''addFile ${escapeShellArg name} "''${CREDENTIALS_DIRECTORY}/${credentialID user.scope file}"'') - (filterAttrs (_: user: user.${file} != null) scopedUsers); + lib.mapAttrsToList + (name: user: ''addLine ${lib.escapeShellArg name} "''$(systemd-creds cat ${credentialID user.scope store})"'') + (lib.filterAttrs (_: user: user.${store} != null) scopedUsers) + ++ lib.mapAttrsToList + (name: user: ''addFile ${lib.escapeShellArg name} "''${CREDENTIALS_DIRECTORY}/${credentialID user.scope file}"'') + (lib.filterAttrs (_: user: user.${file} != null) scopedUsers); plainLines = makeLines "password" "passwordFile"; hashedLines = makeLines "hashedPassword" "hashedPasswordFile"; in @@ -154,7 +151,7 @@ let set -eu - file=${escapeShellArg path} + file=${lib.escapeShellArg path} rm -f "$file" touch "$file" @@ -170,23 +167,23 @@ let echo "$1:$(cat "$2")" >> "$file" } '' - + concatStringsSep "\n" + + lib.concatStringsSep "\n" (plainLines - ++ optional (plainLines != []) '' + ++ lib.optional (plainLines != []) '' ${cfg.package}/bin/mosquitto_passwd -U "$file" '' ++ hashedLines)); - authPluginOptions = with types; submodule { + authPluginOptions = with lib.types; submodule { options = { - plugin = mkOption { + plugin = lib.mkOption { type = path; description = '' Plugin path to load, should be a `.so` file. ''; }; - denySpecialChars = mkOption { + denySpecialChars = lib.mkOption { type = bool; description = '' Automatically disallow all clients using `#` @@ -195,7 +192,7 @@ let default = true; }; - options = mkOption { + options = lib.mkOption { type = attrsOf optionType; description = '' Options for the auth plugin. Each key turns into a `auth_opt_*` @@ -207,7 +204,7 @@ let }; authAsserts = prefix: auth: - mapAttrsToList + lib.mapAttrsToList (n: _: { assertion = configKey.check n; message = "Invalid auth plugin key ${prefix}.${n}"; @@ -253,9 +250,9 @@ let use_username_as_clientid = 1; }; - listenerOptions = with types; submodule { + listenerOptions = with lib.types; submodule { options = { - port = mkOption { + port = lib.mkOption { type = port; description = '' Port to listen on. Must be set to 0 to listen on a unix domain socket. @@ -263,7 +260,7 @@ let default = 1883; }; - address = mkOption { + address = lib.mkOption { type = nullOr str; description = '' Address to listen on. Listen on `0.0.0.0`/`::` @@ -272,7 +269,7 @@ let default = null; }; - authPlugins = mkOption { + authPlugins = lib.mkOption { type = listOf authPluginOptions; description = '' Authentication plugin to attach to this listener. @@ -282,7 +279,7 @@ let default = []; }; - users = mkOption { + users = lib.mkOption { type = attrsOf userOptions; example = { john = { password = "123456"; acl = [ "readwrite john/#" ]; }; }; description = '' @@ -291,7 +288,7 @@ let default = {}; }; - omitPasswordAuth = mkOption { + omitPasswordAuth = lib.mkOption { type = bool; description = '' Omits password checking, allowing anyone to log in with any user name unless @@ -300,7 +297,7 @@ let default = false; }; - acl = mkOption { + acl = lib.mkOption { type = listOf str; description = '' Additional ACL items to prepend to the generated ACL file. @@ -309,7 +306,7 @@ let default = []; }; - settings = mkOption { + settings = lib.mkOption { type = submodule { freeformType = attrsOf optionType; }; @@ -324,7 +321,7 @@ let listenerAsserts = prefix: listener: assertKeysValid "${prefix}.settings" freeformListenerKeys listener.settings ++ userAsserts prefix listener.users - ++ imap0 + ++ lib.imap0 (i: v: authAsserts "${prefix}.authPlugins.${toString i}" v) listener.authPlugins; @@ -333,9 +330,9 @@ let "listener ${toString listener.port} ${toString listener.address}" "acl_file /etc/mosquitto/acl-${toString idx}.conf" ] - ++ optional (! listener.omitPasswordAuth) "password_file ${cfg.dataDir}/passwd-${toString idx}" + ++ lib.optional (! listener.omitPasswordAuth) "password_file ${cfg.dataDir}/passwd-${toString idx}" ++ formatFreeform {} listener.settings - ++ concatMap formatAuthPlugin listener.authPlugins; + ++ lib.concatMap formatAuthPlugin listener.authPlugins; freeformBridgeKeys = { bridge_alpn = 1; @@ -373,19 +370,19 @@ let try_private = 1; }; - bridgeOptions = with types; submodule { + bridgeOptions = with lib.types; submodule { options = { - addresses = mkOption { + addresses = lib.mkOption { type = listOf (submodule { options = { - address = mkOption { + address = lib.mkOption { type = str; description = '' Address of the remote MQTT broker. ''; }; - port = mkOption { + port = lib.mkOption { type = port; description = '' Port of the remote MQTT broker. @@ -400,7 +397,7 @@ let ''; }; - topics = mkOption { + topics = lib.mkOption { type = listOf str; description = '' Topic patterns to be shared between the two brokers. @@ -411,7 +408,7 @@ let example = [ "# both 2 local/topic/ remote/topic/" ]; }; - settings = mkOption { + settings = lib.mkOption { type = submodule { freeformType = attrsOf optionType; }; @@ -426,14 +423,14 @@ let bridgeAsserts = prefix: bridge: assertKeysValid "${prefix}.settings" freeformBridgeKeys bridge.settings ++ [ { - assertion = length bridge.addresses > 0; + assertion = lib.length bridge.addresses > 0; message = "Bridge ${prefix} needs remote broker addresses"; } ]; formatBridge = name: bridge: [ "connection ${name}" - "addresses ${concatMapStringsSep " " (a: "${a.address}:${toString a.port}") bridge.addresses}" + "addresses ${lib.concatMapStringsSep " " (a: "${a.address}:${toString a.port}") bridge.addresses}" ] ++ map (t: "topic ${t}") bridge.topics ++ formatFreeform {} bridge.settings; @@ -468,12 +465,12 @@ let websockets_log_level = 1; }; - globalOptions = with types; { - enable = mkEnableOption "the MQTT Mosquitto broker"; + globalOptions = with lib.types; { + enable = lib.mkEnableOption "the MQTT Mosquitto broker"; - package = mkPackageOption pkgs "mosquitto" { }; + package = lib.mkPackageOption pkgs "mosquitto" { }; - bridges = mkOption { + bridges = lib.mkOption { type = attrsOf bridgeOptions; default = {}; description = '' @@ -481,7 +478,7 @@ let ''; }; - listeners = mkOption { + listeners = lib.mkOption { type = listOf listenerOptions; default = []; description = '' @@ -489,7 +486,7 @@ let ''; }; - includeDirs = mkOption { + includeDirs = lib.mkOption { type = listOf path; description = '' Directories to be scanned for further config files to include. @@ -500,7 +497,7 @@ let default = []; }; - logDest = mkOption { + logDest = lib.mkOption { type = listOf (either path (enum [ "stdout" "stderr" "syslog" "topic" "dlt" ])); description = '' Destinations to send log messages to. @@ -508,7 +505,7 @@ let default = [ "stderr" ]; }; - logType = mkOption { + logType = lib.mkOption { type = listOf (enum [ "debug" "error" "warning" "notice" "information" "subscribe" "unsubscribe" "websockets" "none" "all" ]); description = '' @@ -517,7 +514,7 @@ let default = []; }; - persistence = mkOption { + persistence = lib.mkOption { type = bool; description = '' Enable persistent storage of subscriptions and messages. @@ -525,15 +522,15 @@ let default = true; }; - dataDir = mkOption { + dataDir = lib.mkOption { default = "/var/lib/mosquitto"; - type = types.path; + type = lib.types.path; description = '' The data directory. ''; }; - settings = mkOption { + settings = lib.mkOption { type = submodule { freeformType = attrsOf optionType; }; @@ -545,10 +542,10 @@ let }; globalAsserts = prefix: cfg: - flatten [ + lib.flatten [ (assertKeysValid "${prefix}.settings" freeformGlobalKeys cfg.settings) - (imap0 (n: l: listenerAsserts "${prefix}.listener.${toString n}" l) cfg.listeners) - (mapAttrsToList (n: b: bridgeAsserts "${prefix}.bridge.${n}" b) cfg.bridges) + (lib.imap0 (n: l: listenerAsserts "${prefix}.listener.${toString n}" l) cfg.listeners) + (lib.mapAttrsToList (n: b: bridgeAsserts "${prefix}.bridge.${n}" b) cfg.bridges) ]; formatGlobal = cfg: @@ -561,12 +558,12 @@ let cfg.logDest ++ map (t: "log_type ${t}") cfg.logType ++ formatFreeform {} cfg.settings - ++ concatLists (imap0 formatListener cfg.listeners) - ++ concatLists (mapAttrsToList formatBridge cfg.bridges) + ++ lib.concatLists (lib.imap0 formatListener cfg.listeners) + ++ lib.concatLists (lib.mapAttrsToList formatBridge cfg.bridges) ++ map (d: "include_dir ${d}") cfg.includeDirs; configFile = pkgs.writeText "mosquitto.conf" - (concatStringsSep "\n" (formatGlobal cfg)); + (lib.concatStringsSep "\n" (formatGlobal cfg)); in @@ -578,7 +575,7 @@ in ###### Implementation - config = mkIf cfg.enable { + config = lib.mkIf cfg.enable { assertions = globalAsserts "services.mosquitto" cfg; @@ -633,13 +630,13 @@ in ReadWritePaths = [ cfg.dataDir "/tmp" # mosquitto_passwd creates files in /tmp before moving them - ] ++ filter path.check cfg.logDest; + ] ++ lib.filter path.check cfg.logDest; ReadOnlyPaths = map (p: "${p}") (cfg.includeDirs - ++ filter + ++ lib.filter (v: v != null) - (flatten [ + (lib.flatten [ (map (l: [ (l.settings.psk_file or null) @@ -652,7 +649,7 @@ in (l.settings.keyfile or null) ]) cfg.listeners) - (mapAttrsToList + (lib.mapAttrsToList (_: b: [ (b.settings.bridge_cafile or null) (b.settings.bridge_capath or null) @@ -680,26 +677,26 @@ in UMask = "0077"; }; preStart = - concatStringsSep + lib.concatStringsSep "\n" - (imap0 + (lib.imap0 (idx: listener: makePasswordFile (listenerScope idx) listener.users "${cfg.dataDir}/passwd-${toString idx}") cfg.listeners); }; - environment.etc = listToAttrs ( - imap0 + environment.etc = lib.listToAttrs ( + lib.imap0 (idx: listener: { name = "mosquitto/acl-${toString idx}.conf"; value = { user = config.users.users.mosquitto.name; group = config.users.users.mosquitto.group; mode = "0400"; - text = (concatStringsSep + text = (lib.concatStringsSep "\n" - (flatten [ + (lib.flatten [ listener.acl - (mapAttrsToList + (lib.mapAttrsToList (n: u: [ "user ${n}" ] ++ map (t: "topic ${t}") u.acl) listener.users) ])); From 1fa5e5eb2cfe04ae9038ac5aee51221828fdd93d Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sat, 24 Aug 2024 22:05:48 +0200 Subject: [PATCH 57/59] nixos/services.mediatomb: remove `with lib;` --- nixos/modules/services/misc/mediatomb.nix | 111 +++++++++++----------- 1 file changed, 54 insertions(+), 57 deletions(-) diff --git a/nixos/modules/services/misc/mediatomb.nix b/nixos/modules/services/misc/mediatomb.nix index 932558e25802..ce4ecbeb7279 100644 --- a/nixos/modules/services/misc/mediatomb.nix +++ b/nixos/modules/services/misc/mediatomb.nix @@ -1,7 +1,4 @@ { config, lib, options, pkgs, ... }: - -with lib; - let gid = config.ids.gids.mediatomb; @@ -13,19 +10,19 @@ let # configuration on media directory mediaDirectory = { options = { - path = mkOption { - type = types.str; + path = lib.mkOption { + type = lib.types.str; description = '' Absolute directory path to the media directory to index. ''; }; - recursive = mkOption { - type = types.bool; + recursive = lib.mkOption { + type = lib.types.bool; default = false; description = "Whether the indexation must take place recursively or not."; }; - hidden-files = mkOption { - type = types.bool; + hidden-files = lib.mkOption { + type = lib.types.bool; default = true; description = "Whether to index the hidden files or not."; }; @@ -66,7 +63,7 @@ let ''; - configText = optionalString (! cfg.customCfg) '' + configText = lib.optionalString (! cfg.customCfg) '' @@ -87,7 +84,7 @@ let - ${optionalString cfg.dsmSupport '' + ${lib.optionalString cfg.dsmSupport '' @@ -95,7 +92,7 @@ let redsonic.com 105 ''} - ${optionalString cfg.tg100Support '' + ${lib.optionalString cfg.tg100Support '' 101 ''} @@ -109,7 +106,7 @@ let - ${concatMapStrings toMediaDirectory cfg.mediaDirectories} + ${lib.concatMapStrings toMediaDirectory cfg.mediaDirectories} ${pkg}/share/${name}/js/common.js @@ -139,10 +136,10 @@ let - ${optionalString cfg.ps3Support '' + ${lib.optionalString cfg.ps3Support '' ''} - ${optionalString cfg.dsmSupport '' + ${lib.optionalString cfg.dsmSupport '' ''} @@ -199,26 +196,26 @@ in { services.mediatomb = { - enable = mkOption { - type = types.bool; + enable = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable the Gerbera/Mediatomb DLNA server. ''; }; - serverName = mkOption { - type = types.str; + serverName = lib.mkOption { + type = lib.types.str; default = "Gerbera (Mediatomb)"; description = '' How to identify the server on the network. ''; }; - package = mkPackageOption pkgs "gerbera" { }; + package = lib.mkPackageOption pkgs "gerbera" { }; - ps3Support = mkOption { - type = types.bool; + ps3Support = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable ps3 specific tweaks. @@ -226,8 +223,8 @@ in { ''; }; - dsmSupport = mkOption { - type = types.bool; + dsmSupport = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable D-Link DSM 320 specific tweaks. @@ -235,69 +232,69 @@ in { ''; }; - tg100Support = mkOption { - type = types.bool; + tg100Support = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable Telegent TG100 specific tweaks. ''; }; - transcoding = mkOption { - type = types.bool; + transcoding = lib.mkOption { + type = lib.types.bool; default = false; description = '' Whether to enable transcoding. ''; }; - dataDir = mkOption { - type = types.path; + dataDir = lib.mkOption { + type = lib.types.path; default = "/var/lib/${name}"; - defaultText = literalExpression ''"/var/lib/''${config.${opt.package}.pname}"''; + defaultText = lib.literalExpression ''"/var/lib/''${config.${opt.package}.pname}"''; description = '' The directory where Gerbera/Mediatomb stores its state, data, etc. ''; }; - pcDirectoryHide = mkOption { - type = types.bool; + pcDirectoryHide = lib.mkOption { + type = lib.types.bool; default = true; description = '' Whether to list the top-level directory or not (from upnp client standpoint). ''; }; - user = mkOption { - type = types.str; + user = lib.mkOption { + type = lib.types.str; default = "mediatomb"; description = "User account under which the service runs."; }; - group = mkOption { - type = types.str; + group = lib.mkOption { + type = lib.types.str; default = "mediatomb"; description = "Group account under which the service runs."; }; - port = mkOption { - type = types.port; + port = lib.mkOption { + type = lib.types.port; default = 49152; description = '' The network port to listen on. ''; }; - interface = mkOption { - type = types.str; + interface = lib.mkOption { + type = lib.types.str; default = ""; description = '' A specific interface to bind to. ''; }; - openFirewall = mkOption { - type = types.bool; + openFirewall = lib.mkOption { + type = lib.types.bool; default = false; description = '' If false (the default), this is up to the user to declare the firewall rules. @@ -310,16 +307,16 @@ in { ''; }; - uuid = mkOption { - type = types.str; + uuid = lib.mkOption { + type = lib.types.str; default = "fdfc8a4e-a3ad-4c1d-b43d-a2eedb03a687"; description = '' A unique (on your network) to identify the server by. ''; }; - mediaDirectories = mkOption { - type = with types; listOf (submodule mediaDirectory); + mediaDirectories = lib.mkOption { + type = with lib.types; listOf (submodule mediaDirectory); default = []; description = '' Declare media directories to index. @@ -330,8 +327,8 @@ in { ]; }; - customCfg = mkOption { - type = types.bool; + customCfg = lib.mkOption { + type = lib.types.bool; default = false; description = '' Allow the service to create and use its own config file inside the `dataDir` as @@ -350,9 +347,9 @@ in { ###### implementation config = let binaryCommand = "${pkg}/bin/${name}"; - interfaceFlag = optionalString ( cfg.interface != "") "--interface ${cfg.interface}"; - configFlag = optionalString (! cfg.customCfg) "--config ${pkgs.writeText "config.xml" configText}"; - in mkIf cfg.enable { + interfaceFlag = lib.optionalString ( cfg.interface != "") "--interface ${cfg.interface}"; + configFlag = lib.optionalString (! cfg.customCfg) "--config ${pkgs.writeText "config.xml" configText}"; + in lib.mkIf cfg.enable { systemd.services.mediatomb = { description = "${cfg.serverName} media Server"; # Gerbera might fail if the network interface is not available on startup @@ -365,11 +362,11 @@ in { serviceConfig.Group = cfg.group; }; - users.groups = optionalAttrs (cfg.group == "mediatomb") { + users.groups = lib.optionalAttrs (cfg.group == "mediatomb") { mediatomb.gid = gid; }; - users.users = optionalAttrs (cfg.user == "mediatomb") { + users.users = lib.optionalAttrs (cfg.user == "mediatomb") { mediatomb = { isSystemUser = true; group = cfg.group; @@ -380,11 +377,11 @@ in { }; # Open firewall only if users enable it - networking.firewall = mkMerge [ - (mkIf (cfg.openFirewall && cfg.interface != "") { + networking.firewall = lib.mkMerge [ + (lib.mkIf (cfg.openFirewall && cfg.interface != "") { interfaces."${cfg.interface}" = defaultFirewallRules; }) - (mkIf (cfg.openFirewall && cfg.interface == "") defaultFirewallRules) + (lib.mkIf (cfg.openFirewall && cfg.interface == "") defaultFirewallRules) ]; }; } From b95b048fbe2c365a13b90ad4a567a49c88cb04f7 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Wed, 28 Aug 2024 15:09:00 -0400 Subject: [PATCH 58/59] kanidm: require big-parallel for building Build has timed out and been killed multiple times on hydra builds. This forces users to attempt to build it themselves, which they cannot due without sufficient resources. --- pkgs/by-name/ka/kanidm/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ka/kanidm/package.nix b/pkgs/by-name/ka/kanidm/package.nix index 840b21b04d35..4a6272992787 100644 --- a/pkgs/by-name/ka/kanidm/package.nix +++ b/pkgs/by-name/ka/kanidm/package.nix @@ -122,6 +122,9 @@ rustPlatform.buildRustPackage rec { withSecretProvisioning = kanidm.override { enableSecretProvisioning = true; }; }; + # can take over 4 hours on 2 cores and needs 16GB+ RAM + requiredSystemFeatures = [ "big-parallel" ]; + meta = with lib; { changelog = "https://github.com/kanidm/kanidm/releases/tag/v${version}"; description = "Simple, secure and fast identity management platform"; From c06b832b85e38e584052dbd23aa816ed25cc4029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 28 Aug 2024 16:44:10 -0700 Subject: [PATCH 59/59] Revert "python312Packages.pyopencl: 2024.2.6 -> 2024.2.7" --- .../python-modules/pyopencl/default.nix | 57 ++++++++++--------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix index 5c16b8a5960e..0f9e4808cb97 100644 --- a/pkgs/development/python-modules/pyopencl/default.nix +++ b/pkgs/development/python-modules/pyopencl/default.nix @@ -1,52 +1,54 @@ { lib, stdenv, - darwin, - ocl-icd, - buildPythonPackage, fetchFromGitHub, + buildPythonPackage, # build-system cmake, - nanobind, - ninja, - numpy, - pathspec, scikit-build-core, - - # buildInputs - opencl-headers, - pybind11, + pathspec, + ninja, + nanobind, # dependencies + appdirs, + cffi, + darwin, + decorator, + mako, + numpy, + ocl-icd, + oldest-supported-numpy, + opencl-headers, platformdirs, - pytools, - - # checks + pybind11, pytestCheckHook, + pytools, + six, }: let - os-specific-buildInputs = - if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.OpenCL ] else [ ocl-icd ]; + os-specific-buildInputs = if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.OpenCL ] else [ ocl-icd ]; in buildPythonPackage rec { pname = "pyopencl"; - version = "2024.2.7"; - pyproject = true; + version = "2024.2.6"; + format = "pyproject"; src = fetchFromGitHub { owner = "inducer"; repo = "pyopencl"; rev = "refs/tags/v${version}"; - hash = "sha256-DfZCtTeN1a1KS2qUU6iztba4opAVC/RUCe/hnkqTbII="; + hash = "sha256-nP7ZAGeRXrjqDRWlc2SDP1hk1fseGeu9Zx0lOp9Pchs="; }; - build-system = [ + nativeBuildInputs = [ cmake nanobind ninja numpy + oldest-supported-numpy pathspec scikit-build-core ]; @@ -58,10 +60,15 @@ buildPythonPackage rec { pybind11 ] ++ os-specific-buildInputs; - dependencies = [ + propagatedBuildInputs = [ + appdirs + cffi + decorator + mako numpy platformdirs pytools + six ]; nativeCheckInputs = [ pytestCheckHook ]; @@ -76,13 +83,9 @@ buildPythonPackage rec { pythonImportsCheck = [ "pyopencl" ]; - meta = { + meta = with lib; { description = "Python wrapper for OpenCL"; homepage = "https://github.com/pyopencl/pyopencl"; - changelog = "https://github.com/inducer/pyopencl/releases/tag/v${version}"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ GaetanLepage ]; - # ld: symbol(s) not found for architecture arm64 - broken = stdenv.isDarwin && stdenv.isAarch64; + license = licenses.mit; }; }