diff --git a/ci/OWNERS b/ci/OWNERS index 8f741686635f2..695c91aa1af0b 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -58,8 +58,10 @@ /pkgs/top-level/by-name-overlay.nix @infinisil @philiptaron /pkgs/stdenv @philiptaron @NixOS/stdenv /pkgs/stdenv/generic @Ericson2314 @NixOS/stdenv -/pkgs/stdenv/generic/check-meta.nix @Ericson2314 @adisbladis @NixOS/stdenv -/pkgs/stdenv/generic/meta-types.nix @adisbladis @NixOS/stdenv +/pkgs/stdenv/generic/problems.nix @infinisil +/pkgs/test/problems @infinisil +/pkgs/stdenv/generic/check-meta.nix @infinisil @Ericson2314 @adisbladis @NixOS/stdenv +/pkgs/stdenv/generic/meta-types.nix @infinisil @adisbladis @NixOS/stdenv /pkgs/stdenv/cross @Ericson2314 @NixOS/stdenv /pkgs/build-support @philiptaron /pkgs/build-support/cc-wrapper @Ericson2314 diff --git a/ci/eval/README.md b/ci/eval/README.md index 9a7aace268513..c9bd2d20aa7d0 100644 --- a/ci/eval/README.md +++ b/ci/eval/README.md @@ -10,14 +10,14 @@ nix-build ci -A eval.baseline The two most important arguments are: - `--arg evalSystems`: The set of systems for which `nixpkgs` should be evaluated. - Defaults to the four official platforms (`x86_64-linux`, `aarch64-linux`, `x86_64-darwin` and `aarch64-darwin`). + Defaults to the [supported systems](../../pkgs/top-level/release-supported-systems.json) for the branch. Example: `--arg evalSystems '["x86_64-linux" "aarch64-darwin"]'` - `--arg quickTest`: Enables testing a single chunk of the current system only for quick iteration. Example: `--arg quickTest true` The following arguments can be used to fine-tune performance: - `--max-jobs`: The maximum number of derivations to run at the same time. - Only each [supported system](../supportedSystems.json) gets a separate derivation, so it doesn't make sense to set this higher than that number. + Only each supported system gets a separate derivation, so it doesn't make sense to set this higher than that number. - `--cores`: The number of cores to use for each job. Recommended to set this to the number of cores on your system divided by `--max-jobs`. - `--arg chunkSize`: The number of attributes that are evaluated simultaneously on a single core. diff --git a/ci/eval/default.nix b/ci/eval/default.nix index b8d3d3224a047..7c0a2e9f31392 100644 --- a/ci/eval/default.nix +++ b/ci/eval/default.nix @@ -38,7 +38,6 @@ let fileset = unions ( map (lib.path.append ../..) [ ".version" - "ci/supportedSystems.json" "ci/eval/attrpaths.nix" "ci/eval/chunk.nix" "ci/eval/outpaths.nix" @@ -53,7 +52,9 @@ let ); }; - supportedSystems = builtins.fromJSON (builtins.readFile ../supportedSystems.json); + supportedSystems = builtins.fromJSON ( + builtins.readFile ../../pkgs/top-level/release-supported-systems.json + ); attrpathsSuperset = { diff --git a/ci/eval/outpaths.nix b/ci/eval/outpaths.nix index cd26b75ec493b..6c29ff403b47f 100755 --- a/ci/eval/outpaths.nix +++ b/ci/eval/outpaths.nix @@ -10,7 +10,9 @@ attrNamesOnly ? false, # Set this to `null` to build for builtins.currentSystem only - systems ? builtins.fromJSON (builtins.readFile ../supportedSystems.json), + systems ? builtins.fromJSON ( + builtins.readFile (path + "/pkgs/top-level/release-supported-systems.json") + ), # Customize the config used to evaluate nixpkgs extraNixpkgsConfig ? { }, @@ -70,7 +72,9 @@ let nixosJobs = import (path + "/nixos/release.nix") { inherit attrNamesOnly; - supportedSystems = if systems == null then [ builtins.currentSystem ] else systems; + supportedSystems = lib.filter (lib.hasSuffix "-linux") ( + if systems == null then [ builtins.currentSystem ] else systems + ); }; recurseIntoAttrs = attrs: attrs // { recurseForDerivations = true; }; @@ -104,6 +108,6 @@ in tweak ( (removeAttrs nixpkgsJobs blacklist) // { - nixosTests.simple = nixosJobs.tests.simple; + nixosTests = lib.filterAttrs (name: _: name == "simple") nixosJobs.tests; } ) diff --git a/doc/languages-frameworks/beam.section.md b/doc/languages-frameworks/beam.section.md index 43fc301ee74d9..33fa5128ea441 100644 --- a/doc/languages-frameworks/beam.section.md +++ b/doc/languages-frameworks/beam.section.md @@ -32,7 +32,7 @@ We provide a version of Rebar3, under `rebar3`. We also provide a helper to fetc We also provide a version on Rebar3 with plugins included, under `rebar3WithPlugins`. This package is a function which takes two arguments: `plugins`, a list of nix derivations to include as plugins (loaded only when specified in `rebar.config`), and `globalPlugins`, which should always be loaded by rebar3. Example: `rebar3WithPlugins { globalPlugins = [beamPackages.pc]; }`. -When adding a new plugin it is important that the `packageName` attribute is the same as the atom used by rebar3 to refer to the plugin. +When adding a new plugin it is important that the `name` attribute is the same as the atom used by rebar3 to refer to the plugin. ### Mix & Erlang.mk {#build-tools-other} diff --git a/doc/languages-frameworks/neovim.section.md b/doc/languages-frameworks/neovim.section.md index a73997c761d1d..6834819c3c400 100644 --- a/doc/languages-frameworks/neovim.section.md +++ b/doc/languages-frameworks/neovim.section.md @@ -20,9 +20,12 @@ You can configure the former via: ```nix neovim.override { + withPython3 = true; # see `:h g:python3_host_prog` + withNodeJs = false; + withRuby = false; configure = { customRC = '' - # here your custom configuration goes! + # here your custom viml configuration goes! ''; packages.myVimPackage = with pkgs.vimPlugins; { # See examples below on how to use custom packages. @@ -44,7 +47,7 @@ neovim-qt.override { neovim = neovim.override { configure = { customRC = '' - # your custom configuration + # your custom viml configuration ''; }; }; @@ -61,6 +64,8 @@ For instance, `sqlite-lua` needs `g:sqlite_clib_path` to be set to work. Nixpkgs - `wrapRc`: Nix, not being able to write in your `$HOME`, loads the generated Neovim configuration via the `$VIMINIT` environment variable, i.e. : `export VIMINIT='lua dofile("/nix/store/…-init.lua")'`. This has side effects like preventing Neovim from sourcing your `init.lua` in `$XDG_CONFIG_HOME/nvim` (see bullet 7 of [`:help startup`](https://neovim.io/doc/user/starting.html#startup) in Neovim). Disable it if you want to generate your own wrapper. You can still reuse the generated vimscript init code via `neovim.passthru.initRc`. - `plugins`: A list of plugins to add to the wrapper. +- `withPython3`, `withNodeJs`, `withRuby` control when to enable neovim + providers (see `:h provider`). ``` wrapNeovimUnstable neovim-unwrapped { @@ -85,6 +90,9 @@ wrapNeovimUnstable neovim-unwrapped { (nvim-treesitter.withPlugins (p: [ p.nix p.python ])) hex-nvim ]; + withPython3 = true; + withNodeJs = false; + withRuby = false; } ``` diff --git a/doc/redirects.json b/doc/redirects.json index ad19777f2dd2a..f5dbb8bb65f84 100644 --- a/doc/redirects.json +++ b/doc/redirects.json @@ -629,6 +629,9 @@ "chap-stdenv": [ "index.html#chap-stdenv" ], + "sec-problems": [ + "index.html#sec-problems" + ], "sec-using-llvm": [ "index.html#sec-using-llvm" ], diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 807437865726c..2bb9d8021c200 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -140,6 +140,8 @@ retained for packages that have not completed migration. `asio_1_10` has been removed as no packages depend on it anymore. `asio` also no longer propagates `boost` as it is used independent from `boost` in most cases. +- `docker-color-output` has been updated from major version 2 to 3. One breaking change is, that they switched to [YAML-based configuration files](https://github.com/devemio/docker-color-output?tab=readme-ov-file#configuration). + - `stalwart-mail` has been renamed to `stalwart` - Ethercalc and its associated module have been removed, as the package is unmaintained and cannot be installed from source with npm now. @@ -212,6 +214,7 @@ - `mold` is now wrapped by default. +- `neovim` now disables by default the `python3` and `ruby` providers, unused by most users and reducing closure size from 365MiB to 240MiB. ### Deprecations {#sec-nixpkgs-release-26.05-lib-deprecations} diff --git a/doc/using/configuration.chapter.md b/doc/using/configuration.chapter.md index ac67d7a614595..e47e35fc1aa4a 100644 --- a/doc/using/configuration.chapter.md +++ b/doc/using/configuration.chapter.md @@ -11,6 +11,8 @@ By default, Nix will prevent installation if any of the following criteria are t - The package has known security vulnerabilities but has not or can not be updated for some reason, and a list of issues has been entered into the package's `meta.knownVulnerabilities`. +- There are problems for packages which must be acknowledged, e.g. deprecation notices. + Each of these criteria can be altered in the Nixpkgs configuration. :::{.note} @@ -166,6 +168,57 @@ There are several ways to tweak how Nix handles a package which has been marked Note that `permittedInsecurePackages` is only checked if `allowInsecurePredicate` is not specified. +## Packages with problems {#sec-problems} + +A package may have several problems associated with it. +These can be either manually declared in `meta.problems`, or automatically generated from its other `meta` attributes. +Each problem has a name, a "kind", a message, and optionally a list of URLs. +Not all kinds can be manually specified in `meta.problems`, and some kinds can exist only up to once per package. +Currently, the following problem kinds are known (with more reserved to be added in the future): + +- "removal": The package is planned to be removed some time in the future. Unique. +- "deprecated": The package relies on software which has reached its end of life. +- "maintainerless": Automatically generated for packages with `meta.maintainers == []`. Unique, not manually specifiable. + +Each problem has a handler that deals with it, which can be one of "error", "warn" or "ignore". +"error" will disallow evaluating a package, while "warn" will simply print a message to the log. + +The handler for problems can be specified using `config.problems.handlers.${packageName}.${problemName} = "${handler}";`. + +There is also the possibility to specify some generic matchers, which can set a handler for more than a specific problem of a specific package. +This works through the `config.problems.matchers` option: + +```nix +{ + problems.matchers = [ + # Fail to build any packages which are about to be removed anyway + { + kind = "removal"; + handler = "error"; + } + + # Get warnings when using packages with no declared maintainers + { + kind = "maintainerless"; + handler = "warn"; + } + + # You deeply care about this package and want to absolutely know when it has any problems + { + package = "hello"; + handler = "error"; + } + ]; +} +``` + +Matchers can match one or more of package name, problem name or problem kind. +If multiple conditions are present, all must be met to match. +If multiple matchers match a problem, then the highest severity handler will be chosen. +The current default value contains `{ kind = "removal"; handler = "warn"; }`, meaning that people will be notified about package removals in advance. + +Package names for both `problems.handlers` and `problems.matchers` are taken from `lib.getName`, which looks at the `pname` first and falls back to extracting the "pname" part from the `name` attribute. + ## Modify packages via `packageOverrides` {#sec-modify-via-packageOverrides} You can define a function called `packageOverrides` in your local `~/.config/nixpkgs/config.nix` to override Nix packages. It must be a function that takes pkgs as an argument and returns a modified set of packages. diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 534af380738d2..f3cb1b76d75fb 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -617,6 +617,27 @@ let else null; }; + + swift = { + arch = final.uname.processor; + platform = + if final.isMacOS then + "macosx" + else if final.isiOS then + "iphoneos" + else if final.isLinux then + "linux" + else if final.isWindows then + "windows" + else + null; + triple = + if final.isDarwin then + # FIXME: Can this be done a better way? + "${final.swift.arch}-${final.parsed.vendor.name}-${final.swift.platform}${final.darwinMinVersion}" + else + final.config; + }; }; in assert final.useAndroidPrebuilt -> final.isAndroid; diff --git a/maintainers/github-teams.json b/maintainers/github-teams.json index 7600899c8c842..eb2d6bfd24c7d 100644 --- a/maintainers/github-teams.json +++ b/maintainers/github-teams.json @@ -563,7 +563,6 @@ "members": { "Ericson2314": 1055245, "emilazy": 18535642, - "lovek323": 265084, "rrbutani": 7833358, "sternenseemann": 3154475 }, diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 07748eb807475..b3e0562793d72 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1568,12 +1568,6 @@ githubId = 1358320; name = "Arie Middelkoop"; }; - amiloradovsky = { - email = "miloradovsky@gmail.com"; - github = "amiloradovsky"; - githubId = 20530052; - name = "Andrew Miloradovsky"; - }; aminechikhaoui = { email = "amine.chikhaoui91@gmail.com"; github = "AmineChikhaoui"; @@ -3582,6 +3576,12 @@ githubId = 77934086; keys = [ { fingerprint = "4CA3 48F6 8FE1 1777 8EDA 3860 B9A2 C1B0 25EC 2C55"; } ]; }; + blemouzy = { + email = "blemouzy.ml@gmail.com"; + github = "blemouzy"; + githubId = 124877155; + name = "Benjamin Lemouzy"; + }; blenderfreaky = { name = "blenderfreaky"; email = "nix@blenderfreaky.de"; @@ -3631,6 +3631,12 @@ githubId = 535135; name = "Brennon Loveless"; }; + Blu3 = { + name = "Blu3"; + email = "Blu3SoulsIT@gmail.com"; + github = "Blu3SoulsIT"; + githubId = 96670566; + }; blusk = { email = "bluskript@gmail.com"; github = "bluskript"; @@ -3655,6 +3661,12 @@ github = "bmwalters"; githubId = 4380777; }; + bnjmnt4n = { + name = "Benjamin Tan"; + github = "bnjmnt4n"; + githubId = 813865; + email = "benjamin@dev.ofcr.se"; + }; bnlrnz = { github = "bnlrnz"; githubId = 11310385; @@ -4127,12 +4139,6 @@ githubId = 486199; name = "Colin"; }; - c0bw3b = { - email = "c0bw3b@gmail.com"; - github = "c0bw3b"; - githubId = 24417923; - name = "Renaud"; - }; c0deaddict = { email = "josvanbakel@protonmail.com"; github = "c0deaddict"; @@ -5189,6 +5195,13 @@ email = "codenil@proton.me"; name = "Dan Lock"; }; + CodeF53 = { + github = "CodeF53"; + githubId = 37855219; + matrix = "@codef53:matrix.org"; + email = "fseusb@gmail.com"; + name = "cassie"; + }; CodeLongAndProsper90 = { github = "CodeLongAndProsper90"; githubId = 50145141; @@ -6059,13 +6072,6 @@ github = "David-Kopczynski"; githubId = 53194670; }; - david-r-cox = { - email = "david@integrated-reasoning.com"; - github = "david-r-cox"; - githubId = 4259949; - name = "David Cox"; - keys = [ { fingerprint = "0056 A3F6 9918 1E0D 8FF0 BCDE 65BB 07FA A4D9 4634"; } ]; - }; david-sawatzke = { email = "d-nix@sawatzke.dev"; github = "david-sawatzke"; @@ -6943,6 +6949,12 @@ githubId = 13937320; name = "Dalton Caron"; }; + DomagojAlaber = { + email = "a.domagoj@hotmail.com"; + github = "DomagojAlaber"; + githubId = 86619082; + name = "Domagoj Alaber"; + }; domenkozar = { email = "domen@dev.si"; github = "domenkozar"; @@ -12406,6 +12418,13 @@ githubId = 2881268; name = "John Hollowell"; }; + jhult = { + email = "Jonathan@JonathanHult.com"; + github = "jhult"; + githubId = 9849069; + name = "Jonathan Hult"; + keys = [ { fingerprint = "DEE7 054C 5D43 ABEA C0F9 8BE4 3512 C8F8 2E2F 2A16"; } ]; + }; jiegec = { name = "Jiajie Chen"; email = "c@jia.je"; @@ -13336,10 +13355,12 @@ name = "Julius Rickert"; }; julm = { - email = "julm+nixpkgs@sourcephile.fr"; + email = "julm@sourcephile.fr"; + matrix = "@julm:matrix.org"; github = "ju1m"; githubId = 21160136; name = "Julien Moutinho"; + keys = [ { fingerprint = "4FE4 6703 4C11 017B 429B AC53 A58C D81C 3863 926F"; } ]; }; Julow = { email = "jules@j3s.fr"; @@ -13584,6 +13605,12 @@ github = "karantan"; githubId = 7062631; }; + karaolidis = { + name = "Nikolaos Karaolidis"; + email = "nick@karaolidis.com"; + github = "karaolidis"; + githubId = 46189100; + }; KarlJoad = { email = "karl@hallsby.com"; github = "KarlJoad"; @@ -14740,12 +14767,6 @@ githubId = 621759; name = "Lassulus"; }; - laurent-f1z1 = { - email = "laurent.nixpkgs@fainsin.bzh"; - github = "Laurent2916"; - githubId = 21087104; - name = "Laurent Fainsin"; - }; lavafroth = { email = "lavafroth@protonmail.com"; github = "lavafroth"; @@ -15271,6 +15292,12 @@ githubId = 591860; name = "Lionello Lunesu"; }; + lisanna-dettwyler = { + email = "lisanna.dettwyler@gmail.com"; + github = "lisanna-dettwyler"; + githubId = 72424138; + name = "Lisanna Dettwyler"; + }; litchipi = { email = "litchi.pi@proton.me"; github = "litchipi"; @@ -15483,12 +15510,6 @@ githubId = 4969294; name = "Louis Tim Larsen"; }; - lovek323 = { - email = "jason@oconal.id.au"; - github = "lovek323"; - githubId = 265084; - name = "Jason O'Conal"; - }; lovesegfault = { email = "meurerbernardo@gmail.com"; matrix = "@lovesegfault:matrix.org"; @@ -18801,6 +18822,11 @@ githubId = 50854675; name = "Nelson Jeppesen"; }; + nemeott = { + github = "nemeott"; + githubId = 123220311; + name = "Nathan Emeott"; + }; nemin = { name = "Nemin"; github = "Nemin32"; @@ -18891,6 +18917,12 @@ githubId = 42888162; keys = [ { fingerprint = "A0B9 48C5 A263 55C2 035F 8567 FBB7 2A94 52D9 1A72"; } ]; }; + neural-blade = { + name = "Carmelo Scaccianoce"; + email = "6c5bk3syhivc1t5ae2prj6k05p12cj.swifter143@simplelogin.com"; + github = "neural-blade"; + githubId = 64137177; + }; neurofibromin = { name = "Neurofibromin"; github = "Neurofibromin"; @@ -19387,6 +19419,12 @@ github = "0xnook"; githubId = 88323754; }; + norbertwnuk = { + name = "Norbert Wnuk"; + email = "norbert.wnuk@gmail.com"; + github = "norbertwnuk"; + githubId = 70071; + }; norfair = { email = "syd@cs-syd.eu"; github = "NorfairKing"; @@ -19592,6 +19630,12 @@ github = "nullishamy"; githubId = 99221043; }; + nullstring1 = { + email = "nullstring1+nixpkgs@nullstring.one"; + name = "nullstring1"; + github = "nullstring1"; + githubId = 53035336; + }; numbleroot = { email = "hello@lennartoldenburg.de"; name = "Lennart Oldenburg"; @@ -19864,6 +19908,13 @@ githubId = 20923; name = "Erik Timan"; }; + olduser101 = { + email = "nathan.j.gill@outlook.com"; + github = "OldUser101"; + githubId = 64069240; + matrix = "@olduser101:matrix.org"; + name = "Nathan Gill"; + }; olebedev = { email = "ole6edev@gmail.com"; github = "olebedev"; @@ -21802,7 +21853,6 @@ email = "aaron@bolddaemon.com"; github = "qbit"; githubId = 68368; - matrix = "@qbit:tapenet.org"; keys = [ { fingerprint = "3586 3350 BFEA C101 DB1A 4AF0 1F81 112D 62A9 ADCE"; } ]; }; qdlmcfresh = { @@ -23796,6 +23846,12 @@ github = "saulecabrera"; githubId = 1423601; }; + sauricat = { + email = "linshu1729@protonmail.com"; + github = "sauricat"; + githubId = 3533655; + name = "Shu"; + }; sauyon = { email = "s@uyon.co"; github = "sauyon"; @@ -23871,6 +23927,12 @@ githubId = 24507823; name = "Schahin Rouhanizadeh"; }; + schembriaiden = { + email = "aidsch@proton.me"; + github = "schembriaiden"; + githubId = 81376423; + name = "Aiden Schembri"; + }; schinmai-akamai = { email = "schinmai@akamai.com"; github = "tchinmai7"; @@ -24843,7 +24905,7 @@ name = "Johannes Klein"; }; sith-lord-vader = { - email = "abhiayush23@gmail.com"; + email = "nixpkgs@xpertsre.rocks"; github = "sith-lord-vader"; githubId = 24388085; name = "Abhishek Adhikari"; @@ -25189,6 +25251,12 @@ githubId = 13762043; matrix = "@sophie:nue.soopy.moe"; }; + sophronesis = { + email = "oleksandr.buzynnyi@gmail.com"; + github = "sophronesis"; + githubId = 13190573; + name = "Oleksandr Buzynnyi"; + }; sophrosyne = { email = "joshuaortiz@tutanota.com"; github = "sophrosyne97"; @@ -25245,6 +25313,12 @@ githubId = 7669898; name = "Katharina Fey"; }; + spaghetti-stack = { + email = "spaghetti_stack@protonmail.com"; + github = "spaghetti-stack"; + githubId = 44814450; + name = "spaghetti-stack"; + }; spalf = { email = "tom@tombarrett.xyz"; name = "tom barrett"; @@ -25716,6 +25790,12 @@ githubId = 12984845; name = "Subhrajyoti Sen"; }; + sudo-mac = { + email = "dreems2reality@gmail.com"; + github = "sudo-mac"; + githubId = 90754995; + name = "sudo-mac"; + }; sudoforge = { github = "sudoforge"; githubId = 3893293; @@ -26306,6 +26386,12 @@ github = "teczito"; githubId = 15378834; }; + teeco123 = { + name = "Kacper Gajko"; + email = "kacper.gajko1@icloud.com"; + github = "teeco123"; + githubId = 116846689; + }; teh = { email = "tehunger@gmail.com"; github = "teh"; @@ -27251,6 +27337,12 @@ githubId = 38566841; name = "Anthony Butt"; }; + toodeluna = { + email = "luna@toodeluna.net"; + github = "toodeluna"; + githubId = 112084382; + name = "Luna Heyman"; + }; toonn = { email = "nixpkgs@toonn.io"; matrix = "@toonn:matrix.org"; diff --git a/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh b/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh index cbf600d95e765..b53f9ce29374d 100755 --- a/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh +++ b/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh @@ -36,7 +36,7 @@ if test -z "$CABAL_DIR"; then fi fi -package_list="$(nix-build -A haskell.package-list)/nixos-hackage-packages.csv" +package_list="$(nix-build --arg config '{ allowAliases = false; }' -A haskell.package-list)/nixos-hackage-packages.csv" username=$(grep "^username:" "$CABAL_DIR/config" | sed "s/^username: //") password_command=$(grep "^password-command:" "$CABAL_DIR/config" | sed "s/^password-command: //") curl -u "$username:$($password_command | head -n1)" --digest -H "Content-type: text/csv" -T "$package_list" https://hackage.haskell.org/distro/NixOS/packages.csv diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv index 6b5e9dd045b95..392b0bc0541e7 100644 --- a/maintainers/scripts/luarocks-packages.csv +++ b/maintainers/scripts/luarocks-packages.csv @@ -78,14 +78,14 @@ luadbi-postgresql,,,,,, luadbi-sqlite3,,,,,, luaepnf,,,,,, luaevent,,,,,, -luaexpat,,,,1.4.1-1,,arobyn flosse +luaexpat,,,,,,arobyn flosse luaffi,,,https://luarocks.org/dev,,, luafilesystem,,,,,,flosse lualdap,,,,,,aanderse lualine.nvim,,,https://luarocks.org/dev,,, lualogging,,,,,, luaossl,,,,,5.1, -luaposix,,,,34.1.1-1,,lblasc +luaposix,,,,,,lblasc luaprompt,,,,,,Freed-Wu luarepl,,,,,, luarocks,,,,,,mrcjkb teto diff --git a/nixos/doc/manual/development/settings-options.section.md b/nixos/doc/manual/development/settings-options.section.md index 424613abbb777..f3257a56d71b5 100644 --- a/nixos/doc/manual/development/settings-options.section.md +++ b/nixos/doc/manual/development/settings-options.section.md @@ -207,6 +207,14 @@ have a predefined type and string generator already declared under you will want to either use an alternative validator or set `doCheck = false` in the format options. +`pkgs.formats.hcl1` { } + +: A function taking an empty attribute set (for future extensibility) + and returning a set with HCL1 JSON-specific attributes `type` and + `generate` as specified [below](#pkgs-formats-result). The output + is JSON formatted according to HCL1's canonical representation, + where nested attribute sets are wrapped in arrays. + `pkgs.formats.libconfig` { *`generator`* ? ``, *`validator`* ? `` } : A function taking an attribute set with values diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 81329c0141abf..302b48698d082 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -38,6 +38,8 @@ - [bentopdf](https://github.com/alam00000/bentopdf), a privacy-first PDF toolkit running completely in-browser. Available as [services.bentopdf](#opt-services.bentopdf.enable). +- [hyprwhspr-rs](https://github.com/better-slop/hyprwhspr-rs), a keybind activated speech-to-text voice dictation utility built for use with Hyprland. Available as `services.hyprwhspr-rs` + - [DankMaterialShell](https://danklinux.com), a complete desktop shell for Wayland compositors built with Quickshell. Available as [programs.dms-shell](#opt-programs.dms-shell.enable). - [dms-greeter](https://danklinux.com), a modern display manager greeter for DankMaterialShell that works with greetd and supports multiple Wayland compositors. Available as [services.displayManager.dms-greeter](#opt-services.displayManager.dms-greeter.enable). @@ -64,6 +66,8 @@ - [Shoko](https://shokoanime.com), an anime management system. Available as [services.shoko](#opt-services.shoko.enable). +- [Drasl](https://github.com/unmojang/drasl), an alternative authentication server for Minecraft. Available as [services.drasl](#opt-services.drasl.enable). + ## Backward Incompatibilities {#sec-release-26.05-incompatibilities} @@ -74,6 +78,8 @@ - `services.tandoor-recipes` now uses a sub-directory for media files by default starting with `26.05`. Existing setups should move media files out of the data directory and adjust `services.tandoor-recipes.extraConfig.MEDIA_ROOT` accordingly. See [Migrating media files for pre 26.05 installations](#module-services-tandoor-recipes-migrating-media). +- `rustic` was upgraded to `0.11.x`, which contains breaking [changes to command-line parameters and configuration file](https://rustic.cli.rs/docs/breaking_changes.html#0110). + - The packages `iw` and `wirelesstools` (`iwconfig`, `iwlist`, etc.) are no longer installed implicitly if wireless networking has been enabled. - `services.kubernetes.addons.dns.coredns` has been renamed to `services.kubernetes.addons.dns.corednsImage` and now expects a @@ -98,6 +104,12 @@ of pulling the upstream container image from Docker Hub. If you want the old beh - `services.oauth2-proxy.clientSecret` and `services.oauth2-proxy.cookie.secret` have been replaced with `services.oauth2-proxy.clientSecretFile` and `services.oauth2-proxy.cookie.secretFile` respectively. This was done to ensure secrets don't get made world-readable. +- [`services.grafana.settings.security.secret_key`](#opt-services.grafana.settings.security.secret_key) doesn't have a + default value anymore. Please generate your own key or hard-code the old one explicitly. + See the [upstream docs](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#secret_key) and + the [instructions on how to rotate](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-database-encryption/#re-encrypt-secrets) + for further information. + - Ethercalc and its associated module have been removed, as the package is unmaintained and cannot be installed from source with npm now. - `services.cgit` before always had the git-http-backend and its "export all" setting enabled, which sidestepped any access control configured in cgit's settings. Now you have to make a decision and either enable or disable `services.cgit.gitHttpBackend.checkExportOkFiles` (or disable the git-http-backend). @@ -116,6 +128,8 @@ of pulling the upstream container image from Docker Hub. If you want the old beh The way keybinds and actions are handled have been completely revamped. Please refer to the [default config](https://raw.githubusercontent.com/abenz1267/walker/refs/heads/master/resources/config.toml). +- [services.portunus](#opt-services.portunus.enable) has been upgraded to 2.2.0, which includes a bug fix that may cause existing databases to be rejected if user accounts are configured with malformed email addresses. Please refer to [the upstream release announcement](https://github.com/majewsky/portunus/releases/tag/v2.2.0) for details and instructions on how to fix problematic database entries. + - Support for `reiserfs` in nixpkgs has been removed, following the removal in Linux 6.13. - `services.tor` no longer bind mounts Unix sockets of onion services into its chroot @@ -204,6 +218,8 @@ See . - `services.slurm` now supports slurmrestd usage through the `services.slurm.rest` NixOS options. +- The `services.calibre-web` systemd service has been hardened with additional sandboxing restrictions. + - `services.kanidm` options for server, client and unix were moved under dedicated namespaces. For each component `enableComponent` and `componentSettings` are now `component.enable` and `component.settings`. The unix module now supports using SSH keys from Kanidm via diff --git a/nixos/modules/config/malloc.nix b/nixos/modules/config/malloc.nix index 403e7900c0085..bc6a27673e3e4 100644 --- a/nixos/modules/config/malloc.nix +++ b/nixos/modules/config/malloc.nix @@ -122,6 +122,31 @@ in }; config = lib.mkIf (cfg.provider != "libc") { + # Legacy (LLVM < 13) Scudo uses CamelCase options. + # Standalone (LLVM >= 13) Scudo uses snake_case options. + # NixOS switched in 25.11: https://github.com/NixOS/nixpkgs/pull/444605 + warnings = + let + scudoOpts = config.environment.variables.SCUDO_OPTIONS; + + legacyOptionNames = [ + "QuarantineSizeKb" + "QuarantineChunksUpToSize" + "ThreadLocalQuarantineSizeKb" + "DeallocationTypeMismatch" + "DeleteSizeMismatch" + "ZeroContents" + ]; + + # Check which legacy options are in SCUDO_OPTIONS, + # so we can warn the user about the change. + legacyOptionsUsed = lib.lists.filter (opt: lib.strings.hasInfix opt scudoOpts) legacyOptionNames; + in + lib.optional (cfg.provider == "scudo" && legacyOptionsUsed != [ ]) '' + environment.variables.SCUDO_OPTIONS: ${lib.concatStringsSep ", " legacyOptionsUsed} is/are no longer valid Scudo options. + Use snake_case instead of CamelCase: https://llvm.org/docs/ScudoHardenedAllocator.html#options + ''; + environment.etc."ld-nix.so.preload".text = '' ${providerLibPath} ''; diff --git a/nixos/modules/hardware/video/displaylink.nix b/nixos/modules/hardware/video/displaylink.nix index d8284e85ae454..bee931da1806a 100644 --- a/nixos/modules/hardware/video/displaylink.nix +++ b/nixos/modules/hardware/video/displaylink.nix @@ -23,6 +23,8 @@ in boot.extraModulePackages = [ evdi ]; boot.kernelModules = [ "evdi" ]; + services.xserver.externallyConfiguredDrivers = [ "displaylink" ]; + environment.etc."X11/xorg.conf.d/40-displaylink.conf".text = '' Section "OutputClass" Identifier "DisplayLink" diff --git a/nixos/modules/i18n/input-method/ibus.nix b/nixos/modules/i18n/input-method/ibus.nix index 4d5535d63e3ea..41b88e4088c02 100644 --- a/nixos/modules/i18n/input-method/ibus.nix +++ b/nixos/modules/i18n/input-method/ibus.nix @@ -25,7 +25,9 @@ let Type=Application Exec=${ibusPackage}/bin/ibus-daemon --daemonize --xim ${impanel} # GNOME will launch ibus using systemd - NotShowIn=GNOME; + # ibus complains loudly when launched from this autoStart file under KDE + # KDE will launch ibus from kwin if enabled in keyboard -> virtual keyboard + NotShowIn=GNOME;KDE; ''; }; in diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index 462575f17e816..516bf903187b1 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -282,8 +282,11 @@ in default = false; description = '' Whether to generate the manual page index caches at runtime using - a systemd service. Note that this is currently only supported by the - man-db module. + a systemd service. + + ::: {.note} + This is currently only supported by the man-db module. + ::: ''; }; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5903916b62a73..2db1636f824e5 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -873,6 +873,7 @@ ./services/misc/headphones.nix ./services/misc/heisenbridge.nix ./services/misc/homepage-dashboard.nix + ./services/misc/hyprwhspr-rs.nix ./services/misc/ihaskell.nix ./services/misc/iio-niri.nix ./services/misc/input-remapper.nix @@ -1515,6 +1516,8 @@ ./services/security/reaction.nix ./services/security/shibboleth-sp.nix ./services/security/sks.nix + ./services/security/spire/agent.nix + ./services/security/spire/server.nix ./services/security/ssh-agent-switcher.nix ./services/security/sshguard.nix ./services/security/sslmate-agent.nix @@ -1619,6 +1622,7 @@ ./services/web-apps/docuseal.nix ./services/web-apps/dokuwiki.nix ./services/web-apps/dolibarr.nix + ./services/web-apps/drasl.nix ./services/web-apps/drupal.nix ./services/web-apps/echoip.nix ./services/web-apps/eintopf.nix diff --git a/nixos/modules/programs/gpu-screen-recorder.nix b/nixos/modules/programs/gpu-screen-recorder.nix index 3b54d5d2ec08c..21ecabdc7dfa3 100644 --- a/nixos/modules/programs/gpu-screen-recorder.nix +++ b/nixos/modules/programs/gpu-screen-recorder.nix @@ -28,6 +28,8 @@ in }; config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + security.wrappers."gsr-kms-server" = { owner = "root"; group = "root"; diff --git a/nixos/modules/programs/nh.nix b/nixos/modules/programs/nh.nix index d40c445b2f6b2..6ed9f1e919d29 100644 --- a/nixos/modules/programs/nh.nix +++ b/nixos/modules/programs/nh.nix @@ -12,6 +12,7 @@ in NotAShelf mdaniels5757 viperML + faukah ]; options.programs.nh = { diff --git a/nixos/modules/programs/nm-applet.nix b/nixos/modules/programs/nm-applet.nix index 285e0a896280a..7aecbadd2ebf8 100644 --- a/nixos/modules/programs/nm-applet.nix +++ b/nixos/modules/programs/nm-applet.nix @@ -5,6 +5,9 @@ ... }: +let + cfg = config.programs.nm-applet; +in { meta = { maintainers = lib.teams.freedesktop.members; @@ -21,15 +24,19 @@ It is needed for Appindicator environments, like Enlightenment. ''; }; + + package = lib.mkPackageOption pkgs "networkmanagerapplet" { }; }; - config = lib.mkIf config.programs.nm-applet.enable { + config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + systemd.user.services.nm-applet = { description = "Network manager applet"; wantedBy = [ "graphical-session.target" ]; partOf = [ "graphical-session.target" ]; after = [ "graphical-session.target" ]; - serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet ${lib.optionalString config.programs.nm-applet.indicator "--indicator"}"; + serviceConfig.ExecStart = "${cfg.package}/bin/nm-applet ${lib.optionalString cfg.indicator "--indicator"}"; }; services.dbus.packages = [ pkgs.gcr ]; diff --git a/nixos/modules/security/tpm2.nix b/nixos/modules/security/tpm2.nix index cf1535e25ac36..b7e5bdd98cd68 100644 --- a/nixos/modules/security/tpm2.nix +++ b/nixos/modules/security/tpm2.nix @@ -381,7 +381,7 @@ in environment.etc."tpm2-tss/fapi-config.json".source = fapiConfig; systemd.tmpfiles.rules = [ "d ${cfg.fapi.logDir} 2750 ${cfg.tssUser} ${cfg.tssGroup} -" - "d ${cfg.fapi.systemDir} 2750 root ${cfg.tssGroup} -" + "d ${cfg.fapi.systemDir} 2770 root ${cfg.tssGroup} -" ]; } ] diff --git a/nixos/modules/services/cluster/patroni/default.nix b/nixos/modules/services/cluster/patroni/default.nix index aa44adb9b02c9..3b3e5d03a35b8 100644 --- a/nixos/modules/services/cluster/patroni/default.nix +++ b/nixos/modules/services/cluster/patroni/default.nix @@ -254,7 +254,7 @@ in lib.mapAttrs (name: path: ''export ${name}="$(< ${lib.escapeShellArg path})"'') cfg.environmentFiles ) )} - exec ${pkgs.patroni}/bin/patroni ${configFile} + exec ${lib.getExe pkgs.patroni} ${configFile} ''; serviceConfig = lib.mkMerge [ diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix index 12ba4e3429852..66633efef1937 100644 --- a/nixos/modules/services/continuous-integration/jenkins/default.nix +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -83,13 +83,13 @@ in package = lib.mkPackageOption pkgs "jenkins" { }; - javaPackage = lib.mkPackageOption pkgs "jdk21" { }; + javaPackage = lib.mkPackageOption pkgs "jdk25" { }; packages = lib.mkOption { default = [ pkgs.stdenv pkgs.git - pkgs.jdk21 + pkgs.jdk25 config.programs.ssh.package pkgs.nix ]; diff --git a/nixos/modules/services/desktops/crossmacro.nix b/nixos/modules/services/desktops/crossmacro.nix index e00a06b5bc6b8..d727c12106546 100644 --- a/nixos/modules/services/desktops/crossmacro.nix +++ b/nixos/modules/services/desktops/crossmacro.nix @@ -44,8 +44,8 @@ in ACTION=="add|change", KERNEL=="event*", ATTRS{name}=="CrossMacro Virtual Input Device", ENV{LIBINPUT_ATTR_POINTER_ACCEL}="0" ''; - environment.etc."polkit-1/actions/org.crossmacro.policy".source = - "${cfg.daemonPackage}/share/polkit-1/actions/org.crossmacro.policy"; + environment.etc."polkit-1/actions/io.github.alper_han.crossmacro.policy".source = + "${cfg.daemonPackage}/share/polkit-1/actions/io.github.alper_han.crossmacro.policy"; environment.etc."polkit-1/rules.d/50-crossmacro.rules".source = "${cfg.daemonPackage}/share/polkit-1/rules.d/50-crossmacro.rules"; diff --git a/nixos/modules/services/development/athens.nix b/nixos/modules/services/development/athens.nix index 4ef38dee65a2d..d780ae785a3de 100644 --- a/nixos/modules/services/development/athens.nix +++ b/nixos/modules/services/development/athens.nix @@ -81,14 +81,6 @@ let Bucket = cfg.storage.gcp.bucket; JSONKey = cfg.storage.gcp.jsonKey; }; - Minio = { - Endpoint = cfg.storage.minio.endpoint; - Key = cfg.storage.minio.key; - Secret = cfg.storage.minio.secret; - EnableSSL = cfg.storage.minio.enableSSL; - Bucket = cfg.storage.minio.bucket; - region = cfg.storage.minio.region; - }; Mongo = { URL = cfg.storage.mongo.url; DefaultDBName = cfg.storage.mongo.defaultDBName; @@ -303,7 +295,6 @@ in "disk" "mongo" "gcp" - "minio" "s3" "azureblob" "external" @@ -700,44 +691,6 @@ in }; }; - minio = { - endpoint = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = "Endpoint of the minio storage backend."; - example = "minio.example.com:9001"; - default = null; - }; - key = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = "Access key id for the minio storage backend."; - example = "minio"; - default = null; - }; - secret = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = "Secret key for the minio storage backend. Warning: this is stored in plain text in the config file."; - example = "minio123"; - default = null; - }; - enableSSL = lib.mkOption { - type = lib.types.bool; - description = "Enable SSL for the minio storage backend."; - default = false; - }; - bucket = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = "Bucket name for the minio storage backend."; - example = "gomods"; - default = null; - }; - region = lib.mkOption { - type = lib.types.nullOr lib.types.str; - description = "Region for the minio storage backend."; - example = "us-east-1"; - default = null; - }; - }; - mongo = { url = lib.mkOption { type = lib.types.nullOr lib.types.str; @@ -774,7 +727,6 @@ in key = lib.mkOption { type = lib.types.nullOr lib.types.str; description = "Access key id for the S3 storage backend."; - example = "minio"; default = null; }; secret = lib.mkOption { @@ -991,4 +943,12 @@ in }; }; + imports = [ + (lib.mkRemovedOptionModule [ + "services" + "athens" + "storage" + "minio" + ] "Support for Minio storage backend has been removed, as minio is unmaintained.") + ]; } diff --git a/nixos/modules/services/development/nixseparatedebuginfod2.nix b/nixos/modules/services/development/nixseparatedebuginfod2.nix index c9174f61b1be7..b91af7bf3c3d5 100644 --- a/nixos/modules/services/development/nixseparatedebuginfod2.nix +++ b/nixos/modules/services/development/nixseparatedebuginfod2.nix @@ -87,7 +87,6 @@ in ProtectKernelLogs = true; # Prevent access to kernel logs ProtectClock = true; # Prevent setting the RTC ProtectProc = "noaccess"; - ProcSubset = "pid"; # Networking RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6"; diff --git a/nixos/modules/services/display-managers/sddm.nix b/nixos/modules/services/display-managers/sddm.nix index 892eb4d2736a4..b960c7e63d8d7 100644 --- a/nixos/modules/services/display-managers/sddm.nix +++ b/nixos/modules/services/display-managers/sddm.nix @@ -412,7 +412,7 @@ in }; environment = { - etc."sddm.conf".source = cfgFile; + etc."sddm.conf.d/00-nixos.conf".source = cfgFile; pathsToLink = [ "/share/sddm" ]; diff --git a/nixos/modules/services/hardware/asusd.nix b/nixos/modules/services/hardware/asusd.nix index d1f4f3f22a7ee..440f32c2b6698 100644 --- a/nixos/modules/services/hardware/asusd.nix +++ b/nixos/modules/services/hardware/asusd.nix @@ -21,6 +21,11 @@ in supports multiple aura devices since version 6.0.0. '' ) + (lib.mkRemovedOptionModule [ + "services" + "asusd" + "enableUserService" + ] "The asusd user service is no longer required.") ]; options = { @@ -51,14 +56,6 @@ in package = lib.mkPackageOption pkgs "asusctl" { }; - enableUserService = lib.mkOption { - type = bool; - default = false; - description = '' - Activate the asusd-user service. - ''; - }; - animeConfig = lib.mkOption { type = nullOr configType; default = null; @@ -145,8 +142,6 @@ in services.dbus.packages = [ cfg.package ]; services.udev.packages = [ cfg.package ]; services.supergfxd.enable = lib.mkDefault true; - - systemd.user.services.asusd-user.enable = cfg.enableUserService; }; meta.maintainers = pkgs.asusctl.meta.maintainers; diff --git a/nixos/modules/services/hardware/tuned.nix b/nixos/modules/services/hardware/tuned.nix index 1ce62f6ff0115..65a857f4fde85 100644 --- a/nixos/modules/services/hardware/tuned.nix +++ b/nixos/modules/services/hardware/tuned.nix @@ -9,11 +9,53 @@ let cfg = config.services.tuned; moduleFromName = name: lib.getAttrFromPath (lib.splitString "." name) config; - - settingsFormat = pkgs.formats.iniWithGlobalSection { }; - profileFormat = pkgs.formats.ini { }; ppdSettingsFormat = pkgs.formats.ini { }; + profileFormat = pkgs.formats.ini { }; + recommendFormat = pkgs.formats.ini { }; + settingsFormat = pkgs.formats.iniWithGlobalSection { }; + + ppdSettingsSubmodule = { + freeformType = ppdSettingsFormat.type; + + options = { + main = lib.mkOption { + type = lib.types.submodule { + options = { + default = lib.mkOption { + type = lib.types.str; + default = "balanced"; + description = "Default PPD profile."; + example = "performance"; + }; + + battery_detection = lib.mkEnableOption "battery detection" // { + default = true; + }; + }; + }; + default = { }; + description = "Core configuration for power-profiles-daemon support."; + }; + + profiles = lib.mkOption { + type = lib.types.attrsOf lib.types.str; + default = { + power-saver = "powersave"; + balanced = "balanced"; + performance = "throughput-performance"; + }; + description = "Map of PPD profiles to native TuneD profiles."; + }; + battery = lib.mkOption { + type = lib.types.attrsOf lib.types.str; + default = { + balanced = "balanced-battery"; + }; + description = "Map of PPD battery states to TuneD profiles."; + }; + }; + }; settingsSubmodule = { freeformType = settingsFormat.type; @@ -61,66 +103,23 @@ let }; }; }; - - ppdSettingsSubmodule = { - freeformType = ppdSettingsFormat.type; - - options = { - main = lib.mkOption { - type = lib.types.submodule { - options = { - default = lib.mkOption { - type = lib.types.str; - default = "balanced"; - description = "Default PPD profile."; - example = "performance"; - }; - - battery_detection = lib.mkEnableOption "battery detection" // { - default = true; - }; - }; - }; - default = { }; - description = "Core configuration for power-profiles-daemon support."; - }; - - profiles = lib.mkOption { - type = lib.types.attrsOf lib.types.str; - default = { - power-saver = "powersave"; - balanced = "balanced"; - performance = "throughput-performance"; - }; - description = "Map of PPD profiles to native TuneD profiles."; - }; - - battery = lib.mkOption { - type = lib.types.attrsOf lib.types.str; - default = { - balanced = "balanced-battery"; - }; - description = "Map of PPD battery states to TuneD profiles."; - }; - }; - }; in - { options.services.tuned = { enable = lib.mkEnableOption "TuneD"; package = lib.mkPackageOption pkgs "tuned" { }; - settings = lib.mkOption { - type = lib.types.submodule settingsSubmodule; + ppdSettings = lib.mkOption { + type = lib.types.submodule ppdSettingsSubmodule; default = { }; description = '' - Configuration for TuneD. - See {manpage}`tuned-main.conf(5)`. + Settings for TuneD's power-profiles-daemon compatibility service. ''; }; - + ppdSupport = lib.mkEnableOption "translation of power-profiles-daemon API calls to TuneD" // { + default = true; + }; profiles = lib.mkOption { type = lib.types.attrsOf ( lib.types.submodule { @@ -130,7 +129,7 @@ in default = { }; description = '' Profiles for TuneD. - See {manpage}`tuned.conf(5)`. + See {manpage}`tuned.conf(5)` for details. ''; example = { my-cool-profile = { @@ -146,16 +145,44 @@ in }; }; }; + recommend = lib.mkOption { + type = recommendFormat.type; + default = { }; + description = '' + TuneD rules for `recommend_profile`, written to + `/etc/tuned/recommend.conf`. - ppdSupport = lib.mkEnableOption "translation of power-profiles-daemon API calls to TuneD" // { - default = true; - }; + At startup, the daemon evaluates the file in alphabetical order. + The first matching entry is applied. Empty profile rules always match. - ppdSettings = lib.mkOption { - type = lib.types.submodule ppdSettingsSubmodule; + If `services.tuned.ppdSupport` is `true`, settings in + `services.tuned.ppdSettings` take precedence over both the default + behaviour and `services.tuned.recommend`. For example: + `services.tuned.ppdSettings.main.default = "performance";` ensures + the corresponding PPD profile is applied regardless of + `services.tuned.recommend` setting. + + If `ppdSupport` is `false`, only `services.tuned.recommend` is used; + if `recommend` is empty, TuneD's default behaviour applies. + + See {manpage}`tuned-main.conf(5)` for more details. + ''; + example = lib.literalExpression '' + # Enable `virtual-guest` profile for VM guests + virtual-guest = { + virt = ".+"; + }; + + # Default to the `desktop` profile for all other systems + desktop = { }; + ''; + }; + settings = lib.mkOption { + type = lib.types.submodule settingsSubmodule; default = { }; description = '' - Settings for TuneD's power-profiles-daemon compatibility service. + Configuration for TuneD. + See {manpage}`tuned-main.conf(5)` for details. ''; }; }; @@ -186,6 +213,7 @@ in message = "`services.tuned` conflicts with `${name}`."; }) [ + "hardware.system76.power-daemon" "services.auto-cpufreq" "services.power-profiles-daemon" "services.tlp" @@ -198,11 +226,14 @@ in sections = { }; globalSection = cfg.settings; }; - - "tuned/ppd.conf".source = lib.mkIf cfg.ppdSupport ( - ppdSettingsFormat.generate "ppd.conf" cfg.ppdSettings - ); } + (lib.mkIf cfg.ppdSupport { + "tuned/ppd.conf".source = ppdSettingsFormat.generate "ppd.conf" cfg.ppdSettings; + }) + + (lib.mkIf (cfg.settings.recommend_command && cfg.recommend != { }) { + "tuned/recommend.conf".source = recommendFormat.generate "recommend.conf" cfg.recommend; + }) (lib.mapAttrs' ( name: value: diff --git a/nixos/modules/services/home-automation/wyoming/faster-whisper.nix b/nixos/modules/services/home-automation/wyoming/faster-whisper.nix index 928104c497e5a..2d67bf8c8e5ea 100644 --- a/nixos/modules/services/home-automation/wyoming/faster-whisper.nix +++ b/nixos/modules/services/home-automation/wyoming/faster-whisper.nix @@ -18,10 +18,6 @@ let types ; - inherit (builtins) - toString - ; - inherit (utils) escapeSystemdExecArgs ; @@ -36,230 +32,261 @@ in description = '' Attribute set of wyoming-faster-whisper instances to spawn. ''; - type = attrsOf (submodule { - options = { - enable = mkEnableOption "Wyoming faster-whisper server"; + type = attrsOf ( + submodule ( + { name, ... }: + { + options = { + enable = mkEnableOption "Wyoming faster-whisper server"; - model = mkOption { - type = str; - default = "tiny-int8"; - example = "Systran/faster-distil-whisper-small.en"; - # https://github.com/home-assistant/addons/blob/master/whisper/DOCS.md#option-model - description = '' - Name of the voice model to use. Can also be a HuggingFace model ID or a path to - a custom model directory. + zeroconf = { + enable = mkEnableOption "zeroconf discovery" // { + default = true; + }; - With {option}`useTranformers` enabled, a HuggingFace transformers Whisper model - ID from HuggingFace like `openai/whisper-tiny.en` must be used. + name = mkOption { + type = str; + default = "faster-whisper-${name}"; + description = '' + The advertised name for zeroconf discovery. + ''; + }; + }; - Compressed models (`int8`) are slightly less accurate, but smaller and faster. - Distilled models are uncompressed and faster and smaller than non-distilled models. + sttLibrary = mkOption { + type = enum [ + "auto" + "faster-whisper" + "onnx-asr" + "sherpa" + "transformers" + ]; + default = "auto"; + example = "sherpa"; + description = '' + Library used for speech-to-text process. - Available models: - - `tiny-int8` (compressed) - - `tiny` - - `tiny.en` (English only) - - `base-int8` (compressed) - - `base` - - `base.en` (English only) - - `small-int8` (compressed) - - `distil-small.en` (distilled, English only) - - `small` - - `small.en` (English only) - - `medium-int8` (compressed) - - `distil-medium.en` (distilled, English only) - - `medium` - - `medium.en` (English only) - - `large` - - `large-v1` - - `distil-large-v2` (distilled, English only) - - `large-v2` - - `distil-large-v3` (distilled, English only) - - `large-v3` - - `turbo` (faster than large-v3) - ''; - }; + When set to `auto` picks a default based on the {option}`language`. + ''; + }; - useTransformers = mkOption { - type = bool; - default = false; - description = '' - Whether to provide the dependencies to allow using transformer models. - ''; - }; + model = mkOption { + type = str; + default = "auto"; + example = "sherpa-onnx-nemo-parakeet-tdt-0.6b-v3-int8"; + # https://github.com/home-assistant/addons/blob/master/whisper/DOCS.md#option-model + description = '' + Name of the voice model to use. Can also be a HuggingFace model ID or a path to + a custom model directory. - uri = mkOption { - type = strMatching "^(tcp|unix)://.*$"; - example = "tcp://0.0.0.0:10300"; - description = '' - URI to bind the wyoming server to. - ''; - }; + When set to `auto` picks a default based on the {option}`language`, - device = mkOption { - # https://opennmt.net/CTranslate2/python/ctranslate2.models.Whisper.html# - type = enum [ - "cpu" - "cuda" - "auto" - ]; - default = "cpu"; - description = '' - Determines the platform faster-whisper is run on. CPU works everywhere, CUDA requires a compatible NVIDIA GPU. - ''; - }; + With {option}`sttLibrary` set to `transformers`, a HuggingFace transformers Whisper model + ID from HuggingFace like `openai/whisper-tiny` or `openai/whisper-base` must be used. - language = mkOption { - type = enum [ - # https://github.com/home-assistant/addons/blob/master/whisper/config.yaml#L20 - "auto" - "af" - "am" - "ar" - "as" - "az" - "ba" - "be" - "bg" - "bn" - "bo" - "br" - "bs" - "ca" - "cs" - "cy" - "da" - "de" - "el" - "en" - "es" - "et" - "eu" - "fa" - "fi" - "fo" - "fr" - "gl" - "gu" - "ha" - "haw" - "he" - "hi" - "hr" - "ht" - "hu" - "hy" - "id" - "is" - "it" - "ja" - "jw" - "ka" - "kk" - "km" - "kn" - "ko" - "la" - "lb" - "ln" - "lo" - "lt" - "lv" - "mg" - "mi" - "mk" - "ml" - "mn" - "mr" - "ms" - "mt" - "my" - "ne" - "nl" - "nn" - "no" - "oc" - "pa" - "pl" - "ps" - "pt" - "ro" - "ru" - "sa" - "sd" - "si" - "sk" - "sl" - "sn" - "so" - "sq" - "sr" - "su" - "sv" - "sw" - "ta" - "te" - "tg" - "th" - "tk" - "tl" - "tr" - "tt" - "uk" - "ur" - "uz" - "vi" - "yi" - "yue" - "yo" - "zh" - ]; - example = "en"; - description = '' - The language used to to parse words and sentences. - ''; - }; + Compressed models (`int8`) are slightly less accurate, but smaller and faster. + Distilled models are uncompressed and faster and smaller than non-distilled models. - initialPrompt = mkOption { - type = nullOr str; - default = null; - # https://github.com/home-assistant/addons/blob/master/whisper/DOCS.md#option-custom_model_type - example = '' - The following conversation takes place in the universe of - Wizard of Oz. Key terms include 'Yellow Brick Road' (the path - to follow), 'Emerald City' (the ultimate goal), and 'Ruby - Slippers' (the magical tools to succeed). Keep these in mind as - they guide the journey. - ''; - description = '' - Optional text to provide as a prompt for the first window. This can be used to provide, or - "prompt-engineer" a context for transcription, e.g. custom vocabularies or proper nouns - to make it more likely to predict those word correctly. + Available models for faster-whisper: + - `tiny-int8` (compressed) + - `tiny` + - `tiny.en` (English only) + - `base-int8` (compressed) + - `base` + - `base.en` (English only) + - `small-int8` (compressed) + - `distil-small.en` (distilled, English only) + - `small` + - `small.en` (English only) + - `medium-int8` (compressed) + - `distil-medium.en` (distilled, English only) + - `medium` + - `medium.en` (English only) + - `large` + - `large-v1` + - `distil-large-v2` (distilled, English only) + - `large-v2` + - `distil-large-v3` (distilled, English only) + - `large-v3` + - `turbo` (faster than large-v3) + ''; + }; - Not supported when the {option}`customModelType` is `transformers`. - ''; - }; + uri = mkOption { + type = strMatching "^(tcp|unix)://.*$"; + example = "tcp://0.0.0.0:10300"; + description = '' + URI to bind the wyoming server to. + ''; + }; - beamSize = mkOption { - type = ints.unsigned; - default = 0; - example = 5; - description = '' - The number of beams to use in beam search. - Use `0` to automatically select a value based on the CPU. - ''; - apply = toString; - }; + device = mkOption { + # https://opennmt.net/CTranslate2/python/ctranslate2.models.Whisper.html# + type = enum [ + "cpu" + "cuda" + "auto" + ]; + default = "cpu"; + description = '' + Determines the platform faster-whisper is run on. CPU works everywhere, CUDA requires a compatible NVIDIA GPU. + ''; + }; - extraArgs = mkOption { - type = listOf str; - default = [ ]; - description = '' - Extra arguments to pass to the server commandline. - ''; - }; - }; - }); + language = mkOption { + type = enum [ + # https://github.com/home-assistant/addons/blob/master/whisper/config.yaml#L20 + "auto" + "af" + "am" + "ar" + "as" + "az" + "ba" + "be" + "bg" + "bn" + "bo" + "br" + "bs" + "ca" + "cs" + "cy" + "da" + "de" + "el" + "en" + "es" + "et" + "eu" + "fa" + "fi" + "fo" + "fr" + "gl" + "gu" + "ha" + "haw" + "he" + "hi" + "hr" + "ht" + "hu" + "hy" + "id" + "is" + "it" + "ja" + "jw" + "ka" + "kk" + "km" + "kn" + "ko" + "la" + "lb" + "ln" + "lo" + "lt" + "lv" + "mg" + "mi" + "mk" + "ml" + "mn" + "mr" + "ms" + "mt" + "my" + "ne" + "nl" + "nn" + "no" + "oc" + "pa" + "pl" + "ps" + "pt" + "ro" + "ru" + "sa" + "sd" + "si" + "sk" + "sl" + "sn" + "so" + "sq" + "sr" + "su" + "sv" + "sw" + "ta" + "te" + "tg" + "th" + "tk" + "tl" + "tr" + "tt" + "uk" + "ur" + "uz" + "vi" + "yi" + "yue" + "yo" + "zh" + ]; + example = "en"; + description = '' + The language used to to parse words and sentences. + ''; + }; + + initialPrompt = mkOption { + type = nullOr str; + default = null; + # https://github.com/home-assistant/addons/blob/master/whisper/DOCS.md#option-custom_model_type + example = '' + The following conversation takes place in the universe of + Wizard of Oz. Key terms include 'Yellow Brick Road' (the path + to follow), 'Emerald City' (the ultimate goal), and 'Ruby + Slippers' (the magical tools to succeed). Keep these in mind as + they guide the journey. + ''; + description = '' + Optional text to provide as a prompt for the first window. This can be used to provide, or + "prompt-engineer" a context for transcription, e.g. custom vocabularies or proper nouns + to make it more likely to predict those word correctly. + + Only supported when the {option}`sttLibrary` is `faster-whisper`. + ''; + }; + + beamSize = mkOption { + type = ints.unsigned; + default = 0; + example = 5; + description = '' + The number of beams to use in beam search. + + The default (`0`) will use 1 beam on ARM systems (assumes an ARM SBC) and 5 everywhere else. + ''; + apply = toString; + }; + + extraArgs = mkOption { + type = listOf str; + default = [ ]; + description = '' + Extra arguments to pass to the server commandline. + ''; + }; + }; + } + ) + ); }; }; @@ -273,8 +300,8 @@ in in mkIf (cfg.servers != { }) { assertions = mapAttrsToList (server: options: { - assertion = options.useTransformers -> options.initialPrompt == null; - message = "wyoming-faster-whisper/${server}: Transformer models (`useTransformers`) do not currently support an `initialPrompt`."; + assertion = options.sttLibrary != "faster-whisper" -> options.initialPrompt == null; + message = "wyoming-faster-whisper/${server}: Initial prompt is only supported when using `faster-whisper` as `sttLibrary`."; }) cfg.servers; systemd.services = mapAttrs' ( @@ -283,8 +310,14 @@ in finalPackage = cfg.package.overridePythonAttrs (oldAttrs: { dependencies = oldAttrs.dependencies - # for transformer model support - ++ optionals options.useTransformers oldAttrs.optional-dependencies.transformers; + ++ optionals options.zeroconf.enable oldAttrs.optional-dependencies.zeroconf + ++ optionals ( + options.sttLibrary == "onnx-asr" || options.sttLibrary == "auto" && options.language == "ru" + ) oldAttrs.optional-dependencies.onnx_asr + ++ optionals ( + options.sttLibrary == "sherpa-onnx" || options.sttLibrary == "auto" && options.language == "en" + ) oldAttrs.optional-dependencies.sherpa + ++ optionals (options.sttLibrary == "transformers") oldAttrs.optional-dependencies.transformers; }); in nameValuePair "wyoming-faster-whisper-${server}" { @@ -316,6 +349,8 @@ in options.uri "--device" options.device + "--stt-library" + options.sttLibrary "--model" options.model "--language" @@ -323,8 +358,9 @@ in "--beam-size" options.beamSize ] - ++ lib.optionals options.useTransformers [ - "--use-transformers" + ++ lib.optionals options.zeroconf.enable [ + "--zeroconf" + options.zeroconf.name ] ++ lib.optionals (options.initialPrompt != null) [ "--initial-prompt" @@ -366,6 +402,10 @@ in "AF_INET" "AF_INET6" "AF_UNIX" + ] + ++ lib.optionals options.zeroconf.enable [ + # Zeroconf support require network interface enumeration + "AF_NETLINK" ]; RestrictNamespaces = true; RestrictRealtime = true; diff --git a/nixos/modules/services/home-automation/wyoming/piper.nix b/nixos/modules/services/home-automation/wyoming/piper.nix index 2252772d9f68c..e4c1971830f3d 100644 --- a/nixos/modules/services/home-automation/wyoming/piper.nix +++ b/nixos/modules/services/home-automation/wyoming/piper.nix @@ -37,7 +37,7 @@ in ''; type = types.attrsOf ( types.submodule ( - { ... }: + { name, ... }: { options = { enable = mkEnableOption "Wyoming Piper server"; @@ -49,7 +49,7 @@ in name = mkOption { type = str; - default = "piper"; + default = "piper-${name}"; description = '' The advertised name for zeroconf discovery. ''; @@ -205,8 +205,11 @@ in RestrictAddressFamilies = [ "AF_INET" "AF_INET6" - "AF_NETLINK" "AF_UNIX" + ] + ++ lib.optionals options.zeroconf.enable [ + # Zeroconf support require network interface enumeration + "AF_NETLINK" ]; RestrictNamespaces = true; RestrictRealtime = true; diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix index ba5226351a571..4ec30ce09dae0 100644 --- a/nixos/modules/services/mail/opensmtpd.nix +++ b/nixos/modules/services/mail/opensmtpd.nix @@ -105,12 +105,21 @@ in }; }; - security.wrappers.smtpctl = { - owner = "root"; - group = "smtpq"; - setuid = false; - setgid = true; - source = "${cfg.package}/bin/smtpctl"; + security.wrappers = { + makemap = { + owner = "root"; + group = "smtpq"; + setuid = false; + setgid = true; + source = "${cfg.package}/bin/smtpctl"; + }; + smtpctl = { + owner = "root"; + group = "smtpq"; + setuid = false; + setgid = true; + source = "${cfg.package}/bin/smtpctl"; + }; }; services.mail.sendmailSetuidWrapper = lib.mkIf cfg.setSendmail ( diff --git a/nixos/modules/services/mail/rspamd.nix b/nixos/modules/services/mail/rspamd.nix index 715376e24f883..189d2c078e0db 100644 --- a/nixos/modules/services/mail/rspamd.nix +++ b/nixos/modules/services/mail/rspamd.nix @@ -383,6 +383,18 @@ in ''; }; + extraArgs = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ + "--var=RBL_API_KEY=\${RBL_API_KEY}" + ]; + description = '' + A list of extra command line arguments to pass to rspamd. + Check `rspamd --help` for possible arguments. + ''; + }; + user = mkOption { type = types.str; default = "rspamd"; @@ -478,7 +490,7 @@ in restartTriggers = [ rspamdDir ]; serviceConfig = { - ExecStart = "${cfg.package}/bin/rspamd ${optionalString cfg.debug "-d"} -c /etc/rspamd/rspamd.conf -f"; + ExecStart = "${cfg.package}/bin/rspamd ${optionalString cfg.debug "-d"} ${escapeShellArgs cfg.extraArgs} -c /etc/rspamd/rspamd.conf -f"; Restart = "always"; User = "${cfg.user}"; diff --git a/nixos/modules/services/misc/hyprwhspr-rs.nix b/nixos/modules/services/misc/hyprwhspr-rs.nix new file mode 100644 index 0000000000000..e21f310ccf304 --- /dev/null +++ b/nixos/modules/services/misc/hyprwhspr-rs.nix @@ -0,0 +1,47 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + inherit (lib) + mkEnableOption + mkPackageOption + mkOption + ; + cfg = config.services.hyprwhspr-rs; +in +{ + options.services.hyprwhspr-rs = { + enable = mkEnableOption "hyprwhspr-rs"; + package = mkPackageOption pkgs "hyprwhspr-rs" { }; + + environmentFile = mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "/path/to/hyprwhspr_secret_file"; + description = "File containing API keys (GROQ_API_KEY, GEMINI_API_KEY) for remote transcription."; + }; + }; + + config = lib.mkIf cfg.enable { + systemd.user.services.hyprwhspr-rs = { + description = "Native speech-to-text voice dictation for Hyprland"; + + after = [ + "graphical-session.target" + "pipewire.service" + ]; + wantedBy = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + + serviceConfig = { + ExecStart = lib.getExe cfg.package; + Restart = "on-failure"; + LoadCredential = lib.optional (cfg.environmentFile != null) cfg.environmentFile; + }; + }; + }; +} diff --git a/nixos/modules/services/misc/n8n.nix b/nixos/modules/services/misc/n8n.nix index 7e302a190a871..30b1f284b10dc 100644 --- a/nixos/modules/services/misc/n8n.nix +++ b/nixos/modules/services/misc/n8n.nix @@ -10,8 +10,9 @@ let # Partition environment variables into regular and file-based (_FILE suffix) envVarToCredName = varName: lib.toLower varName; partitionEnv = - env: + allEnv: let + env = lib.filterAttrs (_name: value: value != null) allEnv; regular = lib.filterAttrs (name: _value: !(lib.hasSuffix "_FILE" name)) env; fileBased = lib.filterAttrs (name: _value: lib.hasSuffix "_FILE" name) env; fileBasedTransformed = lib.mapAttrs' ( @@ -240,14 +241,6 @@ in (coercedTo bool builtins.toJSON str) ]); options = { - N8N_RUNNERS_CONFIG_PATH = lib.mkOption { - internal = true; - type = with lib.types; nullOr path; - default = launcherConfigFile; - description = '' - Path to the configuration file for the task runner launcher. - ''; - }; N8N_RUNNERS_AUTH_TOKEN_FILE = lib.mkOption { type = with lib.types; nullOr path; default = cfg.environment.N8N_RUNNERS_AUTH_TOKEN_FILE; @@ -401,7 +394,11 @@ in after = [ "n8n.service" ]; requires = [ "n8n.service" ]; wantedBy = [ "multi-user.target" ]; - environment = runnersEnv.regular // runnersEnv.fileBasedTransformed; + environment = { + N8N_RUNNERS_CONFIG_PATH = launcherConfigFile; + } + // runnersEnv.regular + // runnersEnv.fileBasedTransformed; serviceConfig = { Type = "simple"; ExecStart = "${lib.getExe runnersCfg.launcherPackage} ${lib.concatStringsSep " " runnerTypes}"; diff --git a/nixos/modules/services/monitoring/beszel-agent.nix b/nixos/modules/services/monitoring/beszel-agent.nix index 7f2082d8c55b7..a7f3e425e4410 100644 --- a/nixos/modules/services/monitoring/beszel-agent.nix +++ b/nixos/modules/services/monitoring/beszel-agent.nix @@ -44,7 +44,19 @@ in }; environment = lib.mkOption { - type = lib.types.attrsOf lib.types.str; + type = lib.types.submodule { + freeformType = lib.types.attrsOf lib.types.str; + options = { + SKIP_SYSTEMD = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to disable systemd service monitoring. + Enabling this option will skip systemd tracking and its setup in NixOS. + ''; + }; + }; + }; default = { }; description = '' Environment variables for configuring the beszel-agent service. @@ -75,6 +87,36 @@ in KERNEL=="nvme[0-9]*", GROUP="disk", MODE="0660" ''; + # Add D-Bus policy for systemd service monitoring following https://beszel.dev/guide/systemd#services-not-appearing + services.dbus.packages = lib.optionals (!cfg.environment.SKIP_SYSTEMD) [ + (pkgs.writeTextDir "share/dbus-1/system.d/beszel-agent.conf" '' + + + + + + + + + + '') + ]; + + users.users.beszel-agent = lib.mkIf (!cfg.environment.SKIP_SYSTEMD) { + isSystemUser = true; + group = "beszel-agent"; + }; + + users.groups.beszel-agent = lib.mkIf (!cfg.environment.SKIP_SYSTEMD) { }; + systemd.services.beszel-agent = { description = "Beszel Server Monitoring Agent"; @@ -82,7 +124,10 @@ in wants = [ "network-online.target" ]; after = [ "network-online.target" ]; - environment = cfg.environment; + environment = lib.mapAttrs ( + _: value: if lib.isBool value then (lib.boolToString value) else value + ) cfg.environment; + path = cfg.extraPath ++ lib.optionals cfg.smartmon.enable [ cfg.smartmon.package ] @@ -133,7 +178,7 @@ in NoNewPrivileges = !cfg.smartmon.enable; PrivateDevices = !cfg.smartmon.enable; PrivateTmp = true; - PrivateUsers = !cfg.smartmon.enable; + PrivateUsers = !cfg.smartmon.enable && !cfg.environment.SKIP_SYSTEMD; ProtectClock = true; ProtectControlGroups = "strict"; ProtectHome = "read-only"; diff --git a/nixos/modules/services/monitoring/gatus.nix b/nixos/modules/services/monitoring/gatus.nix index eb459ddb61ae5..3251fa961f5f3 100644 --- a/nixos/modules/services/monitoring/gatus.nix +++ b/nixos/modules/services/monitoring/gatus.nix @@ -36,9 +36,7 @@ in configFile = mkOption { type = path; default = settingsFormat.generate "gatus.yaml" cfg.settings; - defaultText = literalExpression '' - let settingsFormat = pkgs.formats.yaml { }; in settingsFormat.generate "gatus.yaml" cfg.settings; - ''; + defaultText = literalExpression ''(pkgs.formats.yaml { }).generate "gatus.yaml" config.services.gatus.settings''; description = '' Path to the Gatus configuration file. Overrides any configuration made using the `settings` option. diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix index 9f458792c34b1..96a725b3a8449 100644 --- a/nixos/modules/services/monitoring/grafana.nix +++ b/nixos/modules/services/monitoring/grafana.nix @@ -889,7 +889,8 @@ in to work around that. Look at the documentation for details: ''; - type = types.str; + type = types.nullOr types.str; + default = null; }; disable_gravatar = mkOption { @@ -2060,6 +2061,17 @@ in || cfg.provision.alerting.muteTimings.path == null; message = "Cannot set both mute timings settings and mute timings path"; } + { + assertion = cfg.settings.security.secret_key != null; + message = '' + Grafana's secret key (services.grafana.settings.security.secret_key) doesn't have a default + value anymore. Please generate your own and use a file-provider on this option! See also + https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#secret_key + for more information. + + See https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-database-encryption/#re-encrypt-secrets on how to re-encrypt. + ''; + } ]; systemd.services.grafana = { diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix index d85825be50576..345ed324dff1f 100644 --- a/nixos/modules/services/monitoring/prometheus/default.nix +++ b/nixos/modules/services/monitoring/prometheus/default.nix @@ -66,7 +66,7 @@ let rule_files = optionals (!(cfg.enableAgentMode)) ( map (promtoolCheck "check rules" "rules") ( cfg.ruleFiles - ++ [ + ++ optionals (builtins.length cfg.rules > 0) [ (pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules)) ] ) diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix index b2f480920db5b..8bf9770e62cf2 100644 --- a/nixos/modules/services/networking/prosody.nix +++ b/nixos/modules/services/networking/prosody.nix @@ -886,6 +886,7 @@ in "internal_hashed" "cyrus" "anonymous" + "ldap" ]; default = "internal_hashed"; example = "internal_plain"; diff --git a/nixos/modules/services/networking/sing-box.nix b/nixos/modules/services/networking/sing-box.nix index 866c9f4fe470b..bdf5c93ea1ee5 100644 --- a/nixos/modules/services/networking/sing-box.nix +++ b/nixos/modules/services/networking/sing-box.nix @@ -89,6 +89,8 @@ in "${lib.getExe cfg.package} -D \${STATE_DIRECTORY} -C \${RUNTIME_DIRECTORY} run" ]; }; + # After= is specified by upstream + requires = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; }; diff --git a/nixos/modules/services/security/crowdsec-firewall-bouncer.nix b/nixos/modules/services/security/crowdsec-firewall-bouncer.nix index 856efd81b4834..a33bc55079c0a 100644 --- a/nixos/modules/services/security/crowdsec-firewall-bouncer.nix +++ b/nixos/modules/services/security/crowdsec-firewall-bouncer.nix @@ -231,7 +231,7 @@ in after = [ "crowdsec.service" ]; wants = after; script = '' - cscli=/run/current-system/sw/bin/cscli + cscli=${lib.getExe' config.services.crowdsec.package "cscli"} if $cscli bouncers list --output json | ${lib.getExe pkgs.jq} -e -- ${lib.escapeShellArg "any(.[]; .name == \"${cfg.registerBouncer.bouncerName}\")"} >/dev/null; then # Bouncer already registered. Verify the API key is still present if [ ! -f ${apiKeyFile} ]; then @@ -257,12 +257,7 @@ in User = config.services.crowdsec.user; Group = config.services.crowdsec.group; - StateDirectory = "crowdsec-firewall-bouncer-register"; - - ReadWritePaths = [ - # Needs write permissions to add the bouncer - "/var/lib/crowdsec" - ]; + StateDirectory = "crowdsec-firewall-bouncer-register crowdsec"; DynamicUser = true; LockPersonality = true; diff --git a/nixos/modules/services/security/reaction.nix b/nixos/modules/services/security/reaction.nix index 63e7eb586f608..039e507ae57f2 100644 --- a/nixos/modules/services/security/reaction.nix +++ b/nixos/modules/services/security/reaction.nix @@ -7,10 +7,21 @@ let settingsFormat = pkgs.formats.yaml { }; + cfg = config.services.reaction; + inherit (lib) - mkOption + concatMapStringsSep + filterAttrs + getExe + mkDefault mkEnableOption + mkIf + mkOption mkPackageOption + mapAttrs + optional + optionals + optionalString types ; in @@ -30,7 +41,65 @@ in default = { }; type = types.submodule { freeformType = settingsFormat.type; - options = { }; + options = { + plugins = mkOption { + description = '' + Nixpkgs provides a `reaction-plugins` package set which includes both offical and community plugins for reaction. + + To use the plugins in your module configuration, in `settings.plugins` you can use for e.g. `''${lib.getExe reaction-plugins.reaction-plugin-ipset}` + See https://reaction.ppom.me/plugins/ to configure plugins. + ''; + default = { }; + type = types.attrsOf ( + types.submodule ( + { name, ... }: + { + options = { + enable = mkOption { + description = "enable reaction-plugin-${name}"; + type = types.bool; + default = true; + }; + path = mkOption { + description = "path to the plugin binary"; + type = types.str; + default = "${cfg.package.plugins."reaction-plugin-${name}"}/bin/reaction-plugin-${name}"; + defaultText = lib.literalExpression ''''${cfg.package.plugins."reaction-plugin-${name}"}/bin/reaction-plugin-${name}''; + }; + check_root = mkOption { + description = "Whether reaction must check that the executable is owned by root"; + type = types.bool; + default = true; + }; + systemd = mkOption { + description = "Whether reaction must isolate the plugin using systemd's run0"; + type = types.bool; + default = cfg.runAsRoot; + defaultText = "config.services.reaction.runAsRoot"; + }; + systemd_options = mkOption { + description = '' + A key-value map of systemd options. + Keys must be strings and values must be string arrays. + + See `man systemd.directives` for all supported options, and particularly options in `man systemd.exec` + ''; + type = types.attrsOf (types.listOf types.str); + default = { }; + }; + }; + } + ) + ); + # Filter plugins which are disabled + apply = + self: + lib.pipe self [ + (filterAttrs (name: p: p.enable)) + (mapAttrs (name: p: removeAttrs p [ "enable" ])) + ]; + }; + }; }; }; @@ -113,25 +182,39 @@ in services.openssh.settings.LogLevel = lib.mkDefault "VERBOSE"; } ``` + + ```nix + # core ipset plugin requires these if running as non-root + systemd.services.reaction.serviceConfig = { + CapabilityBoundingSet = [ + "CAP_NET_ADMIN" + "CAP_NET_RAW" + "CAP_DAC_READ_SEARCH" # for journalctl + ]; + AmbientCapabilities = [ + "CAP_NET_ADMIN" + "CAP_NET_RAW" + "CAP_DAC_READ_SEARCH" + ]; + }; + ``` ''; }; }; config = let - cfg = config.services.reaction; - generatedSettings = settingsFormat.generate "reaction.yml" cfg.settings; settingsDir = pkgs.runCommand "reaction-settings-dir" { } '' mkdir -p $out - ${lib.concatMapStringsSep "\n" (file: '' + ${concatMapStringsSep "\n" (file: '' filename=$(basename "${file}") ln -s "${file}" "$out/$filename" '') cfg.settingsFiles} ln -s ${generatedSettings} $out/reaction.yml ''; in - lib.mkIf cfg.enable { + mkIf cfg.enable { assertions = [ { assertion = cfg.settings != { } || (builtins.length cfg.settingsFiles) != 0; @@ -139,7 +222,7 @@ in } ]; - users = lib.mkIf (!cfg.runAsRoot) { + users = mkIf (!cfg.runAsRoot) { users.reaction = { isSystemUser = true; group = "reaction"; @@ -148,27 +231,29 @@ in }; system.checks = - lib.optional (cfg.checkConfig && pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) + optional (cfg.checkConfig && pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) ( pkgs.runCommand "reaction-config-validation" { } '' - ${lib.getExe cfg.package} test-config -c ${settingsDir} >/dev/null + ${getExe cfg.package} test-config -c ${settingsDir} >/dev/null echo "reaction config ${settingsDir} is valid" touch $out '' ); systemd.services.reaction = { - description = "Scan logs and take action"; + description = "A daemon that scans program outputs for repeated patterns, and takes action."; + documentation = [ "https://reaction.ppom.me" ]; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - partOf = lib.optionals cfg.stopForFirewall [ "firewall.service" ]; + partOf = optionals cfg.stopForFirewall [ "firewall.service" ]; path = [ pkgs.iptables ]; serviceConfig = { Type = "simple"; + KillMode = "mixed"; # for plugins User = if (!cfg.runAsRoot) then "reaction" else "root"; ExecStart = '' - ${lib.getExe cfg.package} start -c ${settingsDir}${ - lib.optionalString (cfg.loglevel != null) " -l ${cfg.loglevel}" + ${getExe cfg.package} start -c ${settingsDir}${ + optionalString (cfg.loglevel != null) " -l ${cfg.loglevel}" } ''; @@ -197,6 +282,20 @@ in }; }; + # pre-configure official plugins + services.reaction.settings.plugins = { + ipset = { + enable = mkDefault true; + systemd_options = { + CapabilityBoundingSet = [ + "~CAP_NET_ADMIN" + "~CAP_PERFMON" + ]; + }; + }; + virtual.enable = mkDefault true; + }; + environment.systemPackages = [ cfg.package ]; }; diff --git a/nixos/modules/services/security/spire/agent.nix b/nixos/modules/services/security/spire/agent.nix new file mode 100644 index 0000000000000..f66c0ff5a970d --- /dev/null +++ b/nixos/modules/services/security/spire/agent.nix @@ -0,0 +1,123 @@ +{ + lib, + pkgs, + config, + ... +}: +let + format = pkgs.formats.hcl1 { }; + cfg = config.services.spire.agent; +in +{ + meta.maintainers = [ lib.maintainers.arianvp ]; + + options.services.spire.agent = { + enable = lib.mkEnableOption "SPIRE agent"; + + package = lib.mkPackageOption pkgs "spire" { }; + + settings = lib.mkOption { + description = '' + SPIRE Agent configuration file options. See [the documentation](https://spiffe.io/docs/latest/deploying/spire_agent/) for all available options. + ''; + type = lib.types.submodule { + freeformType = format.type; + options = { + agent = { + trust_domain = lib.mkOption { + type = lib.types.str; + description = "The trust domain that this agent belongs to"; + example = "example.com"; + }; + data_dir = lib.mkOption { + type = lib.types.str; + default = "$STATE_DIRECTORY"; + description = "The directory where the SPIRE agent stores its data"; + }; + server_address = lib.mkOption { + type = lib.types.str; + description = "The address of the SPIRE server"; + example = "server.example.com"; + }; + server_port = lib.mkOption { + type = lib.types.port; + default = 8081; + description = "The port on which the SPIRE server is listening"; + }; + socket_path = lib.mkOption { + type = lib.types.path; + default = "/run/spire/agent/public/api.sock"; + description = "The path to the SPIRE agent socket"; + }; + }; + plugins = lib.mkOption { + description = '' + Built-in plugin types can be found at [the plugin types documentation](https://spiffe.io/docs/latest/deploying/spire_agent/#plugin-types). + See [plugin configuration](https://spiffe.io/docs/latest/deploying/spire_agent/#plugin-configuration) for options and how to configure external plugins. + ''; + # TODO: We can probably enforce some of these constraints with a submodule + type = format.type; + example = { + KeyManager.memory.plugin_data = { }; + NodeAttestor.join_token.plugin_data = { }; + WorkloadAttestor.systemd.plugin_data = { }; + WorkloadAttestor.unix.plugin_data = { }; + }; + }; + }; + }; + }; + + configFile = lib.mkOption { + type = lib.types.path; + defaultText = "Config file generated from services.spire.agent.settings"; + default = format.generate "agent.conf" cfg.settings; + description = '' + Path to the SPIRE agent configuration file. See [the documentation](https://spiffe.io/docs/latest/deploying/spire_agent/) for more information. + ''; + }; + + expandEnv = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Expand environment variables in SPIRE config file"; + }; + + }; + config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + + # TODO: Switch to DynamicUser once https://github.com/NixOS/nixpkgs/issues/299476 lands + users.users.spire-agent = { + isSystemUser = true; + group = "spire-agent"; + }; + users.groups.spire-agent = { }; + + systemd.services.spire-agent = { + wantedBy = [ "multi-user.target" ]; + description = "SPIRE agent"; + serviceConfig = { + ExecStart = + "${lib.getExe' cfg.package "spire-agent"} run " + + lib.cli.toCommandLineShellGNU { } { + inherit (cfg) expandEnv; + config = cfg.configFile; + }; + Restart = "on-failure"; + StateDirectory = "spire/agent"; + StateDirectoryMode = "0700"; + RuntimeDirectory = "spire/agent"; + + # TODO: Switch to DynamicUser once https://github.com/NixOS/nixpkgs/issues/299476 lands + # Without it, the systemd plugin can not talk to dbus + # DynamicUser = true; + User = "spire-agent"; + Group = "spire-agent"; + UMask = "0027"; + + # TODO: Hardening + }; + }; + }; +} diff --git a/nixos/modules/services/security/spire/server.nix b/nixos/modules/services/security/spire/server.nix new file mode 100644 index 0000000000000..44025d77e50be --- /dev/null +++ b/nixos/modules/services/security/spire/server.nix @@ -0,0 +1,120 @@ +{ + lib, + pkgs, + config, + ... +}: +let + format = pkgs.formats.hcl1 { }; + cfg = config.services.spire.server; +in +{ + meta.maintainers = [ lib.maintainers.arianvp ]; + + options.services.spire.server = { + enable = lib.mkEnableOption "SPIRE Server"; + + openFirewall = lib.mkOption { + type = lib.types.bool; + description = "Whether to open firewall"; + default = false; + }; + + settings = lib.mkOption { + description = '' + SPIRE Server configuration file options. See [the documentation](https://spiffe.io/docs/latest/deploying/spire_server/) for all available options. + ''; + type = lib.types.submodule { + freeformType = format.type; + options = { + server = { + trust_domain = lib.mkOption { + type = lib.types.str; + description = "The trust domain that this server belongs to"; + example = "example.com"; + }; + data_dir = lib.mkOption { + type = lib.types.str; + description = "The directory where SPIRE server stores its data"; + default = "$STATE_DIRECTORY"; + }; + socket_path = lib.mkOption { + type = lib.types.str; + default = "/run/spire/server/private/api.sock"; + description = "Path to bind the SPIRE Server API Socket to"; + }; + bind_address = lib.mkOption { + type = lib.types.str; + default = "[::]"; + description = "The address on which the SPIRE server is listening"; + }; + bind_port = lib.mkOption { + type = lib.types.port; + default = 8081; + description = "The port on which the SPIRE server is listening"; + }; + }; + plugins = lib.mkOption { + description = '' + Built-in plugin types can be found at [the plugin types documentation](https://spiffe.io/docs/latest/deploying/spire_server/#plugin-types). + See [plugin configuration](https://spiffe.io/docs/latest/deploying/spire_server/#plugin-configuration) for options and how to configure external plugins. + ''; + # TODO: We can probably enforce some of these constraints with a submodule + type = format.type; + example = { + KeyManager.memory.plugin_data = { }; + DataStore.sql.plugin_data = { + database_type = "sqlite3"; + connection_string = "$STATE_DIRECTORY/datastore.sqlite3"; + }; + NodeAttestor.join_token.plugin_data = { }; + }; + }; + }; + }; + }; + + configFile = lib.mkOption { + type = lib.types.path; + default = format.generate "server.conf" cfg.settings; + defaultText = "Config file generated from services.spire.server.settings"; + description = '' + Path to the SPIRE server configuration file. See [the documentation](https://spiffe.io/docs/latest/deploying/spire_server/) for more information. + ''; + }; + + expandEnv = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Expand environment variables in services.spire.server.settings and services.spire.server.configFile"; + }; + + package = lib.mkPackageOption pkgs "spire" { }; + + }; + + config = lib.mkIf cfg.enable { + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.settings.server.bind_port ]; + environment.systemPackages = [ cfg.package ]; + systemd.services.spire-server = { + wantedBy = [ "multi-user.target" ]; + description = "SPIRE Server"; + documentation = [ "https://spiffe.io/docs/latest/deploying/spire_server/" ]; + serviceConfig = { + ExecStart = + "${lib.getExe' cfg.package "spire-server"} run " + + lib.cli.toCommandLineShellGNU { } { + inherit (cfg) expandEnv; + config = cfg.configFile; + }; + Restart = "on-failure"; + StateDirectory = "spire/server"; + StateDirectoryMode = "0700"; + RuntimeDirectory = "spire/server"; + DynamicUser = true; + UMask = "0027"; + # TODO: hardening + }; + }; + }; +} diff --git a/nixos/modules/services/video/frigate.nix b/nixos/modules/services/video/frigate.nix index de418521c3c97..cd2c151e4fdd6 100644 --- a/nixos/modules/services/video/frigate.nix +++ b/nixos/modules/services/video/frigate.nix @@ -348,6 +348,10 @@ in proxy_set_header X-Forwarded-Groups $http_x_forwarded_groups; proxy_set_header X-Forwarded-Email $http_x_forwarded_email; proxy_set_header X-Forwarded-Preferred-Username $http_x_forwarded_preferred_username; + proxy_set_header X-Auth-Request-User $http_x_auth_request_user; + proxy_set_header X-Auth-Request-Groups $http_x_auth_request_groups; + proxy_set_header X-Auth-Request-Email $http_x_auth_request_email; + proxy_set_header X-Auth-Request-Preferred-Username $http_x_auth_request_preferred_username; proxy_set_header X-authentik-username $http_x_authentik_username; proxy_set_header X-authentik-groups $http_x_authentik_groups; proxy_set_header X-authentik-email $http_x_authentik_email; @@ -362,6 +366,10 @@ in aio threads; vod hls; + # Use fMP4 (fragmented MP4) instead of MPEG-TS for better performance + # Smaller segments, faster generation, better browser compatibility + vod_hls_container_format fmp4; + secure_token $args; secure_token_types application/vnd.apple.mpegurl; @@ -507,7 +515,7 @@ in nginxAuthRequest + nginxProxySettings + '' - limit_except GET { + limit_except POST { deny all; } ''; @@ -555,6 +563,16 @@ in ${nginxProxySettings} } + location /api/auth/first_time_login { + auth_request off; + limit_except GET { + deny all; + } + rewrite ^/api(/.*)$ $1 break; + proxy_pass http://frigate-api; + ${nginxProxySettings} + } + location /api/stats { ${nginxAuthRequest} access_log off; @@ -582,6 +600,14 @@ in add_header Cache-Control "public"; ''; }; + "/fonts" = { + root = cfg.package.web; + extraConfig = '' + access_log off; + expires 1y; + add_header Cache-Control "public"; + ''; + }; "/locales/" = { root = cfg.package.web; extraConfig = '' @@ -623,6 +649,8 @@ in vod_manifest_segment_durations_mode accurate; vod_ignore_edit_list on; vod_segment_duration 10000; + + # MPEG-TS settings (not used when fMP4 is enabled, kept for reference) vod_hls_mpegts_align_frames off; vod_hls_mpegts_interleave_frames on; @@ -729,7 +757,15 @@ in (pkgs.writeShellScript "frigate-create-writable-config" '' cp --no-preserve=mode ${configFile} /run/frigate/frigate.yml '') + ] + ++ lib.optionals (!config.systemd.services.frigate.environment ? LIBAVFORMAT_VERSION_MAJOR) [ + # Extract libavformat version to enable version-dependent flags in ffmpeg + (pkgs.writeShellScript "frigate-libavformat-major-version" '' + echo "LIBAVFORMAT_VERSION_MAJOR=$(${cfg.settings.ffmpeg.path}/bin/ffmpeg -version | grep -Po "libavformat\W+\K\d+")" > /run/frigate/ffmpeg-env + echo "Detected $(cat /run/frigate/ffmpeg-env)" + '') ]; + EnvironmentFile = [ "-/run/frigate/ffmpeg-env" ]; ExecStart = "${cfg.package.python.interpreter} -m frigate"; Restart = "on-failure"; SyslogIdentifier = "frigate"; diff --git a/nixos/modules/services/web-apps/calibre-web.nix b/nixos/modules/services/web-apps/calibre-web.nix index c28c9b456b4a6..c452f25b79849 100644 --- a/nixos/modules/services/web-apps/calibre-web.nix +++ b/nixos/modules/services/web-apps/calibre-web.nix @@ -184,6 +184,45 @@ in CacheDirectory = "calibre-web"; CacheDirectoryMode = "0750"; + + NoNewPrivileges = true; + ProtectSystem = "strict"; + PrivateTmp = true; + PrivateDevices = true; + PrivateIPC = true; + ProtectHostname = true; + ProtectClock = true; + ProtectKernelTunables = true; + ProtectKernelLogs = true; + ProtectControlGroups = true; + LockPersonality = true; + MemoryDenyWriteExecute = true; + RestrictSUIDSGID = true; + ProtectHome = true; + ProtectProc = "invisible"; + ProcSubset = "pid"; + RestrictRealtime = true; + SystemCallArchitectures = "native"; + RestrictNamespaces = true; + RemoveIPC = true; + CapabilityBoundingSet = ""; + AmbientCapabilities = ""; + ProtectKernelModules = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + "AF_NETLINK" + ]; + SystemCallFilter = [ + "~@obsolete" + "~@privileged" + "~@raw-io" + "~@resources" + "~@mount" + "~@debug" + "~@cpu-emulation" + ]; } // lib.optionalAttrs (!(lib.hasPrefix "/" cfg.dataDir)) { StateDirectory = cfg.dataDir; diff --git a/nixos/modules/services/web-apps/drasl.nix b/nixos/modules/services/web-apps/drasl.nix new file mode 100644 index 0000000000000..1c84da7f0a43a --- /dev/null +++ b/nixos/modules/services/web-apps/drasl.nix @@ -0,0 +1,167 @@ +{ + lib, + pkgs, + config, + ... +}: +let + cfg = config.services.drasl; + format = pkgs.formats.toml { }; + filterAttrs = x: lib.filterAttrs (n: v: n != "ClientSecretFile" || v != null) x; + getIndex = + item: + builtins.toString (lib.lists.findFirstIndex (x: x == item) null cfg.settings.RegistrationOIDC); + secretFiles = lib.filter ( + x: lib.hasAttr "ClientSecretFile" (filterAttrs x) + ) cfg.settings.RegistrationOIDC; + settings = format.generate "drasl-config.toml" ( + if cfg.settings.RegistrationOIDC == [ ] then + lib.filterAttrs (n: v: n != "RegistrationOIDC" || v != [ ]) cfg.settings + else + lib.recursiveUpdate cfg.settings { + RegistrationOIDC = map ( + x: + if lib.hasAttr "ClientSecretFile" (filterAttrs x) then + lib.recursiveUpdate (filterAttrs x) { + ClientSecretFile = "$CREDENTIALS_DIRECTORY/${getIndex x}"; + } + else + filterAttrs x + ) cfg.settings.RegistrationOIDC; + } + ); +in +{ + options.services.drasl = { + enable = lib.mkEnableOption "Drasl"; + package = lib.mkPackageOption pkgs "drasl" { }; + enableDebug = lib.mkEnableOption "debugging"; + settings = lib.mkOption { + description = '' + Configuration for Drasl. See the + [Drasl documentation](https://github.com/unmojang/drasl/blob/master/doc/configuration.md) + for possible options. + ''; + type = lib.types.submodule { + freeformType = format.type; + options = { + RegistrationOIDC = lib.mkOption { + default = [ ]; + description = "List of OpenID connect providers."; + type = lib.types.listOf ( + lib.types.submodule { + freeformType = format.type; + options = { + ClientSecretFile = lib.mkOption { + default = null; + description = '' + Path to a file containing the OIDC client secret. + + ::: {.note} + The NixOS module will automatically load this file using + systemd's LoadCredential. Make sure this file is only + readable by the root user. + ::: + ''; + type = lib.types.nullOr lib.types.path; + }; + }; + } + ); + }; + }; + }; + }; + }; + config = lib.mkIf cfg.enable { + assertions = [ + { + assertion = lib.allUnique cfg.settings.RegistrationOIDC; + message = "All items in `services.drasl.settings.RegistrationOIDC` must be unique."; + } + { + assertion = lib.all ( + x: (lib.hasAttr "ClientSecretFile" (filterAttrs x)) -> !(lib.hasAttr "ClientSecret" (filterAttrs x)) + ) cfg.settings.RegistrationOIDC; + message = + "Do not set both `services.drasl.settings.RegistrationOIDC.*.ClientSecret` " + + "and `services.drasl.settings.RegistrationOIDC.*.ClientSecretFile`"; + } + ]; + systemd.services.drasl = { + description = "Drasl"; + after = [ + "network-online.target" + "nss-lookup.target" + ]; + wants = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + environment = lib.mkIf cfg.enableDebug { DRASL_DEBUG = "1"; }; + serviceConfig = { + ExecStart = "${lib.getExe cfg.package} -config ${settings}"; + DynamicUser = true; + RuntimeDirectory = "drasl"; + RuntimeDirectoryMode = "0700"; + StateDirectory = "drasl"; + LoadCredential = lib.mkIf (secretFiles != [ ]) ( + map (x: "${getIndex x}:${x.ClientSecretFile}") secretFiles + ); + # Hardening + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateMounts = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RemoveIPC = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + CapabilityBoundingSet = "CAP_NET_BIND_SERVICE"; + AmbientCapabilities = "CAP_NET_BIND_SERVICE"; + PrivateTmp = "disconnected"; + ProcSubset = "pid"; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + ]; + RestrictNamespaces = [ + "~cgroup" + "~ipc" + "~mnt" + "~net" + "~pid" + "~user" + "~uts" + ]; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "~@clock" + "~@cpu-emulation" + "~@debug" + "~@module" + "~@mount" + "~@obsolete" + "~@privileged" + "~@raw-io" + "~@reboot" + "~@resources" + "~@swap" + ]; + UMask = "0077"; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ + evan-goode + ungeskriptet + ]; +} diff --git a/nixos/modules/services/web-apps/libretranslate.nix b/nixos/modules/services/web-apps/libretranslate.nix index 5ac68ad3c919d..b243f42e81008 100644 --- a/nixos/modules/services/web-apps/libretranslate.nix +++ b/nixos/modules/services/web-apps/libretranslate.nix @@ -140,6 +140,7 @@ in wantedBy = [ "multi-user.target" ]; environment = { HOME = cfg.dataDir; + PYTHONUNBUFFERED = "1"; # ensure stdout is logged to journal }; serviceConfig = lib.mkMerge [ { diff --git a/nixos/modules/services/web-apps/mediawiki.nix b/nixos/modules/services/web-apps/mediawiki.nix index 565f4a37c744f..af1dbcd223a70 100644 --- a/nixos/modules/services/web-apps/mediawiki.nix +++ b/nixos/modules/services/web-apps/mediawiki.nix @@ -123,129 +123,141 @@ let checkPhase = '' ${cfg.phpPackage}/bin/php --syntax-check "$target" ''; - text = '' - . ''; }; @@ -462,7 +490,7 @@ in else null; defaultText = literalExpression "/run/mysqld/mysqld.sock"; - description = "Path to the unix socket file to use for authentication."; + description = "Path to the unix socket file to use for authentication. Used only if database type is not SQLite."; }; createLocally = mkOption { @@ -570,6 +598,28 @@ in } ]; + warnings = + lib.optional + ( + cfg.database.type == "sqlite" + && ( + cfg.database.host != null + || cfg.database.port != null + || cfg.database.user != null + || cfg.database.passwordFile != null + || cfg.database.socket != null + ) + ) + '' + The services.mediawiki.database options host, port, user, passwordFile, and socket will be ignored because services.mediawiki.database.type is "sqlite". + '' + ++ lib.optional (cfg.database.type != "sqlite" && cfg.database.path != null) '' + The services.mediawiki.database.path option will be ignored because services.mediawiki.database.type is not "sqlite". + '' + ++ lib.optional (cfg.database.type == "mysql" && cfg.database.tablePrefix != null) '' + The services.mediawiki.database.tablePrefix option has no effect when the services.mediawiki.database.type is not "mysql". + ''; + services.mediawiki = { path = with pkgs; [ diffutils @@ -728,37 +778,52 @@ in after = optional (cfg.database.type == "mysql" && cfg.database.createLocally) "mysql.service" ++ optional (cfg.database.type == "postgres" && cfg.database.createLocally) "postgresql.target"; - script = '' - if ! test -e "${stateDir}/secret.key"; then - tr -dc A-Za-z0-9 /dev/null | head -c 64 > ${stateDir}/secret.key - fi + script = + let + dbOptions = + if cfg.database.type == "sqlite" then + '' + --dbpath ${lib.escapeShellArg cfg.database.path} \ + --dbname ${lib.escapeShellArg cfg.database.name} \ + '' + else + '' + --dbserver ${lib.escapeShellArg dbAddr} \ + --dbport ${toString cfg.database.port} \ + --dbname ${lib.escapeShellArg cfg.database.name} \ + ${ + optionalString ( + cfg.database.tablePrefix != null + ) "--dbprefix ${lib.escapeShellArg cfg.database.tablePrefix}" + } \ + --dbuser ${lib.escapeShellArg cfg.database.user} \ + ${ + optionalString ( + cfg.database.passwordFile != null + ) "--dbpassfile ${lib.escapeShellArg cfg.database.passwordFile}" + } \ + ''; + in + '' + if ! test -e "${stateDir}/secret.key"; then + tr -dc A-Za-z0-9 /dev/null | head -c 64 > ${stateDir}/secret.key + fi - echo "exit( \$this->getPrimaryDB()->tableExists( 'user' ) ? 1 : 0 );" | \ - ${cfg.phpPackage}/bin/php ${pkg}/share/mediawiki/maintenance/run.php eval --conf ${mediawikiConfig} && \ - ${cfg.phpPackage}/bin/php ${pkg}/share/mediawiki/maintenance/run.php ${pkg}/share/mediawiki/maintenance/install.php \ - --confpath /tmp \ - --scriptpath / \ - --dbserver ${lib.escapeShellArg dbAddr} \ - --dbport ${toString cfg.database.port} \ - --dbname ${lib.escapeShellArg cfg.database.name} \ - ${ - optionalString ( - cfg.database.tablePrefix != null - ) "--dbprefix ${lib.escapeShellArg cfg.database.tablePrefix}" - } \ - --dbuser ${lib.escapeShellArg cfg.database.user} \ - ${ - optionalString ( - cfg.database.passwordFile != null - ) "--dbpassfile ${lib.escapeShellArg cfg.database.passwordFile}" - } \ - --passfile ${lib.escapeShellArg cfg.passwordFile} \ - --dbtype ${cfg.database.type} \ - ${lib.escapeShellArg cfg.name} \ - admin - - ${cfg.phpPackage}/bin/php ${pkg}/share/mediawiki/maintenance/update.php --conf ${mediawikiConfig} --quick --skip-external-dependencies - ''; + ${optionalString (cfg.database.type == "sqlite") "mkdir -p ${cfg.database.path}"} + + echo "exit( \$this->getPrimaryDB()->tableExists( 'user' ) ? 1 : 0 );" | \ + ${cfg.phpPackage}/bin/php ${pkg}/share/mediawiki/maintenance/run.php eval --conf ${mediawikiConfig} && \ + ${cfg.phpPackage}/bin/php ${pkg}/share/mediawiki/maintenance/run.php ${pkg}/share/mediawiki/maintenance/install.php \ + --confpath /tmp \ + --scriptpath / \ + ${dbOptions} \ + --dbtype ${cfg.database.type} \ + --passfile ${lib.escapeShellArg cfg.passwordFile} \ + ${lib.escapeShellArg cfg.name} \ + admin + + ${cfg.phpPackage}/bin/php ${pkg}/share/mediawiki/maintenance/update.php --conf ${mediawikiConfig} --quick --skip-external-dependencies + ''; serviceConfig = { Type = "oneshot"; diff --git a/nixos/modules/services/web-apps/mobilizon.nix b/nixos/modules/services/web-apps/mobilizon.nix index 35efbeb767d60..77a19e60a0744 100644 --- a/nixos/modules/services/web-apps/mobilizon.nix +++ b/nixos/modules/services/web-apps/mobilizon.nix @@ -398,7 +398,10 @@ in }; systemd.tmpfiles.rules = [ + "d /var/lib/mobilizon 700 mobilizon mobilizon - -" "d /var/lib/mobilizon/sitemap 700 mobilizon mobilizon - -" + "d /var/lib/mobilizon/uploads 700 mobilizon mobilizon - -" + "d /var/lib/mobilizon/uploads/exports 700 mobilizon mobilizon - -" "d /var/lib/mobilizon/uploads/exports/csv 700 mobilizon mobilizon - -" "Z /var/lib/mobilizon 700 mobilizon mobilizon - -" ]; diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index fd52b0023d94d..e939931f81394 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -497,7 +497,26 @@ in internal = true; description = '' A list of attribute sets specifying drivers to be loaded by - the X11 server. + the X11 server. This module will create a Device section in + the Xorg config for every driver listed here, along with a + Screen section if the driver's {option}`display` attribute is + `true`. If such configuration sections should not be created, + use {options}`services.xserver.externallyConfiguredDrivers` + instead. + + Users should not add drivers to this option but should instead + add drivers to {option}`services.xserver.videoDrivers`. + ''; + }; + + externallyConfiguredDrivers = mkOption { + type = types.listOf types.str; + internal = true; + default = [ ]; + description = '' + A list of externally configured drivers (by name). Modules that + manually configure their drivers should add said drivers to this + list to let this module know that the driver has been configured. ''; }; @@ -865,7 +884,9 @@ in } ] ++ map (driver: { - assertion = builtins.elem driver (builtins.catAttrs "name" cfg.drivers); + assertion = builtins.elem driver ( + (builtins.catAttrs "name" cfg.drivers) ++ cfg.externallyConfiguredDrivers + ); message = "Unknown X11 driver ‘${driver}’ specified in `services.xserver.videoDrivers`."; }) cfg.videoDrivers; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 4b7bb1271392f..8bfd2a784f477 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -807,6 +807,31 @@ in # Don't bother with certain units in containers. systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container"; + # When using the classic /etc mechanism, we set certain paths in /etc to + # /etc/static so that systemd cannot change them (as they are symlinks to + # the read-only Nix Store). This is only done so that these services cannot + # change the values. All other parts of systemd should read them from their + # canonical locations. + # + # If you use the overlay mechanism to manage /etc, this is unnecessary + # because either the overlay is mutable (and users can legitimately change + # values without them being overridden) or it is immutable and systemd will + # suggest to only make runtime changes. + systemd.services."systemd-localed".environment = lib.mkIf (!config.system.etc.overlay.enable) { + SYSTEMD_ETC_LOCALE_CONF = "/etc/static/locale.conf"; + SYSTEMD_ETC_VCONSOLE_CONF = "/etc/static/vconsole.conf"; + }; + systemd.services."systemd-timedated".environment = + lib.mkIf (!config.system.etc.overlay.enable && config.time.timeZone != null) + { + SYSTEMD_ETC_LOCALTIME = "/etc/static/localtime"; + SYSTEMD_ETC_ADJTIME = "/etc/static/adjtime"; + }; + systemd.services."systemd-hostnamed".environment = lib.mkIf (!config.system.etc.overlay.enable) { + SYSTEMD_ETC_HOSTNAME = "/etc/static/hostname"; + SYSTEMD_ETC_MACHINE_INFO = "/etc/static/machine-info"; + }; + # Increase numeric PID range (set directly instead of copying a one-line file from systemd) # https://github.com/systemd/systemd/pull/12226 boot.kernel.sysctl."kernel.pid_max" = mkIf pkgs.stdenv.hostPlatform.is64bit (lib.mkDefault 4194304); diff --git a/nixos/modules/virtualisation/azure-image.nix b/nixos/modules/virtualisation/azure-image.nix index fa09398e12f8e..c3580274b4a6d 100644 --- a/nixos/modules/virtualisation/azure-image.nix +++ b/nixos/modules/virtualisation/azure-image.nix @@ -67,6 +67,16 @@ in For v2, secure boot needs to be turned off during creation. ''; }; + + additionalSpace = mkOption { + type = types.str; + default = "512M"; + example = "2048M"; + description = '' + additional disk space to be added to the image if diskSize "auto" + is used. + ''; + }; }; config = { @@ -81,8 +91,12 @@ in # generating raw format and convert with subformat args afterwards format = "raw"; postVM = '' - ${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -o subformat=fixed,force_size -O vpc $diskImage $out/${config.image.fileName} + ${lib.getExe' pkgs.vmTools.qemu "qemu-img"} convert -f raw -o subformat=fixed,force_size -O vpc $diskImage $out/${config.image.fileName} rm $diskImage + '' + + lib.optionalString (cfg.diskSize == "auto") '' + truncate -s +${cfg.additionalSpace} "$out/${config.image.fileName}" + ${lib.getExe' pkgs.cloud-utils "growpart"} "$out/${config.image.fileName}" 1 ''; configFile = ./azure-config-user.nix; diff --git a/nixos/modules/virtualisation/vmware-image.nix b/nixos/modules/virtualisation/vmware-image.nix index 6eebc6910ff04..19b4105edba25 100644 --- a/nixos/modules/virtualisation/vmware-image.nix +++ b/nixos/modules/virtualisation/vmware-image.nix @@ -23,7 +23,6 @@ in (lib.mkRenamedOptionModuleWith { sinceRelease = 2505; from = [ - "virtualisation" "vmware" "vmFileName" ]; @@ -32,19 +31,21 @@ in "fileName" ]; }) - + (lib.modules.mkRenamedOptionModuleWith { + sinceRelease = 2605; + from = [ + "vmware" + "baseImageSize" + ]; + to = [ + "virtualisation" + "diskSize" + ]; + }) ]; options = { vmware = { - baseImageSize = lib.mkOption { - type = with lib.types; either (enum [ "auto" ]) int; - default = "auto"; - example = 2048; - description = '' - The size of the VMWare base image in MiB. - ''; - }; vmDerivationName = lib.mkOption { type = lib.types.str; default = "nixos-vmware-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}"; @@ -78,7 +79,7 @@ in rm $diskImage ''; format = "raw"; - diskSize = cfg.baseImageSize; + diskSize = config.virtualisation.diskSize; partitionTableType = "efi"; inherit config lib pkgs; }; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 7892274095aae..343500f195e28 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1218,6 +1218,7 @@ in owi = runTest ./owi.nix; owncast = runTest ./owncast.nix; oxidized = handleTest ./oxidized.nix { }; + oxwm = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./oxwm.nix; pacemaker = runTest ./pacemaker.nix; packagekit = runTest ./packagekit.nix; pairdrop = runTest ./web-apps/pairdrop.nix; @@ -1386,8 +1387,10 @@ in rasdaemon = runTest ./rasdaemon.nix; rathole = runTest ./rathole.nix; rauc = runTest ./rauc.nix; - reaction = runTest ./reaction.nix; - reaction-firewall = runTest ./reaction-firewall.nix; + reaction = import ./reaction { + inherit (pkgs) lib; + inherit runTest; + }; readarr = runTest ./readarr.nix; readeck = runTest ./readeck.nix; realm = runTest ./realm.nix; @@ -1398,6 +1401,7 @@ in refind = runTest ./refind.nix; remark42 = runTest ./remark42.nix; renovate = runTest ./renovate.nix; + repath-studio = runTest ./repath-studio.nix; replace-dependencies = handleTest ./replace-dependencies { }; reposilite = runTest ./reposilite.nix; restartByActivationScript = runTest ./restart-by-activation-script.nix; @@ -1489,6 +1493,7 @@ in spacecookie = runTest ./spacecookie.nix; spark = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./spark { }; spiped = runTest ./spiped.nix; + spire = runTest ./spire.nix; sqlite3-to-mysql = runTest ./sqlite3-to-mysql.nix; squid = runTest ./squid.nix; ssh-agent-auth = runTest ./ssh-agent-auth.nix; diff --git a/nixos/tests/lomiri-music-app.nix b/nixos/tests/lomiri-music-app.nix index 49872b9938c58..a87cc0aa22483 100644 --- a/nixos/tests/lomiri-music-app.nix +++ b/nixos/tests/lomiri-music-app.nix @@ -133,6 +133,11 @@ in # mediascanner2 needs to have run, is only started automatically by Lomiri machine.systemctl("start mediascanner-2.0.service", "root") + # Need to wait abit to make sure our test file gets scanned & added to the database. + # No good feedback on when this is done... Prolly some time after extractor sub-service is started. + machine.wait_for_console_text("Successfully activated service 'com.lomiri.MediaScanner2.Extractor'") + machine.sleep(10) + with subtest("lomiri music launches"): machine.succeed("lomiri-music-app >&2 &") machine.wait_for_console_text("Queue is empty") diff --git a/nixos/tests/lomiri.nix b/nixos/tests/lomiri.nix index 45b4b59c31038..b548288c62c68 100644 --- a/nixos/tests/lomiri.nix +++ b/nixos/tests/lomiri.nix @@ -9,7 +9,18 @@ let # In case it ever shows up in the VM, we could OCR for it instead wallpaperText = "Lorem ipsum"; - # tmpfiles setup to make OCRing on terminal output more reliable + # setup to make OCRing on terminal output more reliable + terminalTextColour = { + r = 91; + g = 113; + b = 102; + }; + terminalTextColourString = + lib: + let + toHex = component: lib.optionalString (component < 16) "0" + lib.trivial.toHexString component; + in + "#${toHex terminalTextColour.r}${toHex terminalTextColour.g}${toHex terminalTextColour.b}"; terminalOcrTmpfilesSetup = { pkgs, @@ -18,7 +29,7 @@ let }: let white = "255, 255, 255"; - black = "0, 0, 0"; + foreground = "${toString terminalTextColour.r}, ${toString terminalTextColour.g}, ${toString terminalTextColour.b}"; colorSection = color: { Color = color; Bold = true; @@ -27,9 +38,9 @@ let terminalColors = pkgs.writeText "customized.colorscheme" ( lib.generators.toINI { } { Background = colorSection white; - Foreground = colorSection black; - Color2 = colorSection black; - Color2Intense = colorSection black; + Foreground = colorSection foreground; + Color2 = colorSection foreground; + Color2Intense = colorSection foreground; } ); terminalConfig = pkgs.writeText "terminal.ubports.conf" ( @@ -75,7 +86,7 @@ let }; }; - sharedTestFunctions = '' + sharedTestFunctions = lib: '' from collections.abc import Callable import tempfile import subprocess @@ -120,6 +131,17 @@ let ) return check_for_color_continued_presence_retry + def ensure_terminal_running() -> None: + """ + Ensure that lomiri-terminal-app has finished starting up. + """ + + terminalTextColor: str = "${terminalTextColourString lib}" + with machine.nested("Waiting for the screen to have terminalTextColor {} on it:".format(terminalTextColor)): + retry(check_for_color(terminalTextColor)) + with machine.nested("Ensuring terminalTextColor {} stays present on the screen:".format(terminalTextColor)): + retry(fn=check_for_color_continued_presence(terminalTextColor), timeout_seconds=5) + def ensure_lomiri_running() -> None: """ Ensure that Lomiri has finished starting up. @@ -183,7 +205,6 @@ let # Using the keybind has a chance of instantly closing the menu again? Just click the button mouse_click(15, 15) - ''; makeIndicatorTest = @@ -237,7 +258,7 @@ let testScript = { nodes, ... }: - sharedTestFunctions + (sharedTestFunctions lib) + '' start_all() machine.wait_for_unit("multi-user.target") @@ -330,7 +351,7 @@ in testScript = { nodes, ... }: - sharedTestFunctions + (sharedTestFunctions lib) + '' start_all() machine.wait_for_unit("multi-user.target") @@ -451,7 +472,7 @@ in testScript = { nodes, ... }: - sharedTestFunctions + (sharedTestFunctions lib) + '' start_all() machine.wait_for_unit("multi-user.target") @@ -463,7 +484,7 @@ in # Working terminal keybind is good with subtest("terminal keybind works"): machine.send_key("ctrl-alt-t") - wait_for_text(r"(${user}|machine)") + ensure_terminal_running() machine.screenshot("terminal_opens") machine.send_key("alt-f4") @@ -474,7 +495,7 @@ in # Just try the terminal again, we know that it should work machine.send_chars("Terminal\n") - wait_for_text(r"(${user}|machine)") + ensure_terminal_running() machine.send_key("alt-f4") # We want support for X11 apps @@ -598,7 +619,7 @@ in testScript = { nodes, ... }: - sharedTestFunctions + (sharedTestFunctions lib) + '' start_all() machine.wait_for_unit("multi-user.target") @@ -610,7 +631,7 @@ in # Working terminal keybind is good with subtest("terminal keybind works"): machine.send_key("ctrl-alt-t") - wait_for_text(r"(${user}|machine)") + ensure_terminal_running() machine.screenshot("terminal_opens") # for the LSS lomiri-content-hub test to work reliably, we need to kick off peer collecting @@ -744,7 +765,7 @@ in testScript = { nodes, ... }: - sharedTestFunctions + (sharedTestFunctions lib) + '' start_all() machine.wait_for_unit("multi-user.target") @@ -773,7 +794,7 @@ in # Lomiri in desktop mode should use the correct keymap with subtest("lomiri session keymap works"): machine.send_key("ctrl-alt-t") - wait_for_text(r"(${user}|machine)") + ensure_terminal_running() machine.screenshot("terminal_opens") machine.send_chars("touch ${pwInput}\n") diff --git a/nixos/tests/mediawiki.nix b/nixos/tests/mediawiki.nix index deb714e6b1785..fedae1675d7cc 100644 --- a/nixos/tests/mediawiki.nix +++ b/nixos/tests/mediawiki.nix @@ -57,6 +57,21 @@ in ''; }; + sqlite = makeTest { + name = "mediawiki-sqlite"; + nodes.machine = { + services.mediawiki.database.type = "sqlite"; + }; + testScript = '' + start_all() + + machine.wait_for_unit("phpfpm-mediawiki.service") + + page = machine.succeed("curl -fL http://localhost/") + assert "MediaWiki has been installed" in page + ''; + }; + nohttpd = makeTest { name = "mediawiki-nohttpd"; nodes.machine = { diff --git a/nixos/tests/mobilizon.nix b/nixos/tests/mobilizon.nix index 1a07c5fc27324..5800ac702f168 100644 --- a/nixos/tests/mobilizon.nix +++ b/nixos/tests/mobilizon.nix @@ -43,5 +43,11 @@ in server.wait_for_unit("mobilizon.service") server.wait_for_open_port(${toString port}) server.succeed("curl --fail https://${mobilizonDomain}/") + + # Verify ownership is set up correctly + owner = server.succeed("stat -c '%U' /var/lib/mobilizon/sitemap").rstrip() + assert owner == "mobilizon", f"unexpected owner: {owner}" + owner = server.succeed("stat -c '%U' /var/lib/mobilizon/uploads").rstrip() + assert owner == "mobilizon", f"unexpected owner: {owner}" ''; } diff --git a/nixos/tests/n8n.nix b/nixos/tests/n8n.nix index 270f63648904b..3d2c1ad4d9c1e 100644 --- a/nixos/tests/n8n.nix +++ b/nixos/tests/n8n.nix @@ -16,9 +16,11 @@ in node.pkgsReadOnly = false; - nodes.machine = - { ... }: - { + nodes = { + machine_simple = { + services.n8n.enable = true; + }; + machine_configured = { services.n8n = { enable = true; customNodes = [ pkgs.n8n-nodes-carbonejs ]; @@ -49,52 +51,58 @@ in }; }; }; + }; testScript = '' - machine.wait_for_unit("n8n.service") - machine.wait_for_console_text("Editor is now accessible via") + machine_simple.wait_for_unit("n8n.service") + machine_simple.wait_for_console_text("Editor is now accessible via") + machine_simple.succeed("curl --fail -vvv http://localhost:${toString port}/") + + + machine_configured.wait_for_unit("n8n.service") + machine_configured.wait_for_console_text("Editor is now accessible via") # Test regular environment variables - machine.succeed("curl --fail -vvv http://localhost:${toString port}/") - machine.succeed("grep -qF ${webhookUrl} /etc/systemd/system/n8n.service") - machine.succeed("grep -qF 'HOME=/var/lib/n8n' /etc/systemd/system/n8n.service") - machine.fail("grep -qF 'GENERIC_TIMEZONE=' /etc/systemd/system/n8n.service") - machine.succeed("grep -qF 'N8N_DIAGNOSTICS_ENABLED=false' /etc/systemd/system/n8n.service") - machine.succeed("grep -qF 'N8N_TEMPLATES_ENABLED=false' /etc/systemd/system/n8n.service") - machine.succeed("grep -qF 'DB_PING_INTERVAL_SECONDS=2' /etc/systemd/system/n8n.service") + machine_configured.succeed("curl --fail -vvv http://localhost:${toString port}/") + machine_configured.succeed("grep -qF ${webhookUrl} /etc/systemd/system/n8n.service") + machine_configured.succeed("grep -qF 'HOME=/var/lib/n8n' /etc/systemd/system/n8n.service") + machine_configured.fail("grep -qF 'GENERIC_TIMEZONE=' /etc/systemd/system/n8n.service") + machine_configured.succeed("grep -qF 'N8N_DIAGNOSTICS_ENABLED=false' /etc/systemd/system/n8n.service") + machine_configured.succeed("grep -qF 'N8N_TEMPLATES_ENABLED=false' /etc/systemd/system/n8n.service") + machine_configured.succeed("grep -qF 'DB_PING_INTERVAL_SECONDS=2' /etc/systemd/system/n8n.service") # Test _FILE environment variables - machine.succeed("grep -qF 'LoadCredential=n8n_encryption_key_file:${secretFile}' /etc/systemd/system/n8n.service") - machine.succeed("grep -qF 'N8N_ENCRYPTION_KEY_FILE=%d/n8n_encryption_key_file' /etc/systemd/system/n8n.service") + machine_configured.succeed("grep -qF 'LoadCredential=n8n_encryption_key_file:${secretFile}' /etc/systemd/system/n8n.service") + machine_configured.succeed("grep -qF 'N8N_ENCRYPTION_KEY_FILE=%d/n8n_encryption_key_file' /etc/systemd/system/n8n.service") # Test custom nodes - machine.succeed("grep -qF 'N8N_CUSTOM_EXTENSIONS=' /etc/systemd/system/n8n.service") - custom_extensions_dir = machine.succeed("grep -oP 'N8N_CUSTOM_EXTENSIONS=\\K[^\"]+' /etc/systemd/system/n8n.service").strip() - machine.succeed(f"test -L {custom_extensions_dir}/n8n-nodes-carbonejs") - machine.succeed(f"test -f {custom_extensions_dir}/n8n-nodes-carbonejs/package.json") + machine_configured.succeed("grep -qF 'N8N_CUSTOM_EXTENSIONS=' /etc/systemd/system/n8n.service") + custom_extensions_dir = machine_configured.succeed("grep -oP 'N8N_CUSTOM_EXTENSIONS=\\K[^\"]+' /etc/systemd/system/n8n.service").strip() + machine_configured.succeed(f"test -L {custom_extensions_dir}/n8n-nodes-carbonejs") + machine_configured.succeed(f"test -f {custom_extensions_dir}/n8n-nodes-carbonejs/package.json") # Test task runner integration on n8n service - machine.succeed("grep -qF 'N8N_RUNNERS_MODE=external' /etc/systemd/system/n8n.service") - machine.succeed("grep -qF 'N8N_RUNNERS_BROKER_PORT=${toString brokerPort}' /etc/systemd/system/n8n.service") - machine.succeed("grep -qF 'LoadCredential=n8n_runners_auth_token_file:${authTokenFile}' /etc/systemd/system/n8n.service") + machine_configured.succeed("grep -qF 'N8N_RUNNERS_MODE=external' /etc/systemd/system/n8n.service") + machine_configured.succeed("grep -qF 'N8N_RUNNERS_BROKER_PORT=${toString brokerPort}' /etc/systemd/system/n8n.service") + machine_configured.succeed("grep -qF 'LoadCredential=n8n_runners_auth_token_file:${authTokenFile}' /etc/systemd/system/n8n.service") # Test task runner service - machine.wait_for_unit("n8n-task-runner.service") - machine.succeed("systemctl is-active n8n-task-runner.service") + machine_configured.wait_for_unit("n8n-task-runner.service") + machine_configured.succeed("systemctl is-active n8n-task-runner.service") # Test that both runner types are enabled - machine.succeed("grep -qF 'javascript python' /etc/systemd/system/n8n-task-runner.service") + machine_configured.succeed("grep -qF 'javascript python' /etc/systemd/system/n8n-task-runner.service") # Test common environment variables are passed to launcher - machine.succeed("grep -qF 'N8N_RUNNERS_MAX_CONCURRENCY=10' /etc/systemd/system/n8n-task-runner.service") - machine.succeed("grep -qF 'N8N_RUNNERS_TASK_BROKER_URI=http://127.0.0.1:${toString brokerPort}' /etc/systemd/system/n8n-task-runner.service") + machine_configured.succeed("grep -qF 'N8N_RUNNERS_MAX_CONCURRENCY=10' /etc/systemd/system/n8n-task-runner.service") + machine_configured.succeed("grep -qF 'N8N_RUNNERS_TASK_BROKER_URI=http://127.0.0.1:${toString brokerPort}' /etc/systemd/system/n8n-task-runner.service") # Test auth token is loaded via credentials - machine.succeed("grep -qF 'LoadCredential=n8n_runners_auth_token_file:${authTokenFile}' /etc/systemd/system/n8n-task-runner.service") + machine_configured.succeed("grep -qF 'LoadCredential=n8n_runners_auth_token_file:${authTokenFile}' /etc/systemd/system/n8n-task-runner.service") # Test launcher config file - config_path = machine.succeed("grep -oP 'N8N_RUNNERS_CONFIG_PATH=\\K[^[:space:]\"]+' /etc/systemd/system/n8n-task-runner.service").strip() - config = machine.succeed(f"cat {config_path}") + config_path = machine_configured.succeed("grep -oP 'N8N_RUNNERS_CONFIG_PATH=\\K[^[:space:]\"]+' /etc/systemd/system/n8n-task-runner.service").strip() + config = machine_configured.succeed(f"cat {config_path}") assert "NODE_FUNCTION_ALLOW_BUILTIN" in config, "JavaScript env-override not in config" assert "N8N_RUNNERS_STDLIB_ALLOW" in config, "Python env-override not in config" assert "N8N_RUNNERS_MAX_CONCURRENCY" in config, "Common allowed-env not in config" diff --git a/nixos/tests/opensmtpd.nix b/nixos/tests/opensmtpd.nix index e1c26a7c67759..f613c7241134d 100644 --- a/nixos/tests/opensmtpd.nix +++ b/nixos/tests/opensmtpd.nix @@ -149,7 +149,7 @@ import ./make-test-python.nix { client.wait_for_unit("network-online.target") smtp1.wait_for_unit("opensmtpd") smtp2.wait_for_unit("opensmtpd") - smtp2.wait_for_unit("dovecot2") + smtp2.wait_for_unit("dovecot") # To prevent sporadic failures during daemon startup, make sure # services are listening on their ports before sending requests diff --git a/nixos/tests/oxwm.nix b/nixos/tests/oxwm.nix new file mode 100644 index 0000000000000..9dbefd747ae00 --- /dev/null +++ b/nixos/tests/oxwm.nix @@ -0,0 +1,39 @@ +{ lib, ... }: +{ + name = "oxwm"; + + meta = { + maintainers = with lib.maintainers; [ + sigmanificient + tonybanters + ]; + }; + + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + test-support.displayManager.auto.user = "alice"; + services.displayManager.defaultSession = lib.mkForce "oxwm"; + services.xserver.windowManager.oxwm.enable = true; + + environment.systemPackages = [ pkgs.alacritty ]; + }; + + testScript = '' + with subtest("ensure x starts"): + machine.wait_for_x() + machine.wait_for_file("/home/alice/.Xauthority") + machine.succeed("xauth merge ~alice/.Xauthority") + + with subtest("ensure we can open a new terminal"): + machine.sleep(2) + machine.send_key("meta_l-ret") + machine.wait_for_window(r"alice.*?machine") + machine.sleep(2) + machine.screenshot("terminal") + ''; +} diff --git a/nixos/tests/reaction.nix b/nixos/tests/reaction/basic.nix similarity index 95% rename from nixos/tests/reaction.nix rename to nixos/tests/reaction/basic.nix index 4cef6ead87a95..2b454723c8b2f 100644 --- a/nixos/tests/reaction.nix +++ b/nixos/tests/reaction/basic.nix @@ -10,7 +10,7 @@ services.reaction = { enable = true; stopForFirewall = false; - # example.jsonnet/example.yml can be copied and modified from ${pkgs.reaction}/share/examples + # example.jsonnet or example.yml can be copied and modified from ${pkgs.reaction}/share/examples settingsFiles = [ "${pkgs.reaction}/share/examples/example.jsonnet" ]; runAsRoot = false; }; @@ -92,6 +92,7 @@ { # not needed, only for manual interactive debugging virtualisation.memorySize = 4096; + virtualisation.graphics = false; environment.systemPackages = with pkgs; [ btop sysz diff --git a/nixos/tests/reaction/default.nix b/nixos/tests/reaction/default.nix new file mode 100644 index 0000000000000..38328b56c5ca3 --- /dev/null +++ b/nixos/tests/reaction/default.nix @@ -0,0 +1,6 @@ +{ lib, runTest }: +lib.recurseIntoAttrs { + basic = runTest ./basic.nix; + firewall = runTest ./firewall.nix; + plugins = runTest ./plugins.nix; +} diff --git a/nixos/tests/reaction-firewall.nix b/nixos/tests/reaction/firewall.nix similarity index 88% rename from nixos/tests/reaction-firewall.nix rename to nixos/tests/reaction/firewall.nix index 49d4d276da02b..9286c036a0255 100644 --- a/nixos/tests/reaction-firewall.nix +++ b/nixos/tests/reaction/firewall.nix @@ -17,6 +17,12 @@ # "${pkgs.reaction}/share/examples/example.yml" # can't specify both because conflicts ]; runAsRoot = true; + settings = { + # In the qemu vm `run0 ls` as root prints nothing, so we can't use it + # see https://reaction.ppom.me/reference.html#systemd + plugins.ipset.systemd = false; + plugins.virtual.systemd = false; + }; }; networking.firewall.enable = true; }; @@ -68,6 +74,9 @@ # - nix run .#nixosTests.reaction-firewall.driverInteractive -L # - run_tests() interactive.sshBackdoor.enable = true; # ssh -o User=root vsock%3 + interactive.nodes.machine = _: { + virtualisation.graphics = false; + }; meta.maintainers = with lib.maintainers; diff --git a/nixos/tests/reaction/plugins.nix b/nixos/tests/reaction/plugins.nix new file mode 100644 index 0000000000000..68bec4408469b --- /dev/null +++ b/nixos/tests/reaction/plugins.nix @@ -0,0 +1,125 @@ +{ + lib, + pkgs, + ... +}: +{ + name = "reaction-core-plugins"; + + nodes.server = args: { + services.reaction = { + enable = true; + stopForFirewall = false; + runAsRoot = false; + settings = import ./settings.nix args; + /* + # NOTE: When runAsRoot is true, disable run0 + settings = { + # In the qemu vm `run0 ls` as root prints nothing, so we can't use it + # see https://reaction.ppom.me/reference.html#systemd + plugins.ipset.systemd = false; + plugins.virtual.systemd = false; + }; + */ + }; + /* + NOTE: + - if reaction is run as non-root, the plugins need these capabilities, remove these if runAsRoot is true + - CAP_DAC_READ_SEARCH is for journalctl for accessing ssh logs + - useful tools: capable (from package bcc), captree, getpcaps (from libpcap) + */ + systemd.services.reaction.serviceConfig = { + CapabilityBoundingSet = [ + "CAP_NET_ADMIN" + "CAP_NET_RAW" + "CAP_DAC_READ_SEARCH" + ]; + AmbientCapabilities = [ + "CAP_NET_ADMIN" + "CAP_NET_RAW" + "CAP_DAC_READ_SEARCH" + ]; + }; + services.openssh.enable = true; + + users.users.nixos.isNormalUser = true; # neeeded to establish a ssh connection, by default root login is succeeding without any password + }; + + nodes.client = _: { + environment.systemPackages = [ + pkgs.sshpass + pkgs.libressl.nc + ]; + }; + + testScript = + { nodes, ... }: # py + '' + start_all() + + # Wait for everything to be ready. + server.wait_for_unit("multi-user.target") + server.wait_for_unit("reaction") + server.wait_for_unit("sshd") + + client_addr = "${(lib.head nodes.client.networking.interfaces.eth1.ipv4.addresses).address}" + server_addr = "${(lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses).address}" + + # Verify there is not ban and the port is reachable from the client. + server.succeed(f"reaction show | grep -q {client_addr} || test $? -eq 1") + client.succeed(f"nc -w3 -z {server_addr} 22") + + # Cause authentication failure log entries. + for _ in range(2): + client.fail(f""" + sshpass -p 'wrongpassword' \ + ssh -o StrictHostKeyChecking=no \ + -o User=nixos \ + -o ServerAliveInterval=1 \ + -o ServerAliveCountMax=2 \ + {server_addr} + """) + + # Verify there is a ban and the port is unreachable from the client. + server.sleep(2) + output = server.succeed("reaction show") + print(output) + assert client_addr in output, f"client did not get banned, {client_addr}" + + client.fail(f"nc -w3 -z {server_addr} 22") + + # Check that unbanning works + output = server.succeed("reaction flush") + print(output) + + client.succeed(f"nc -w3 -z {server_addr} 22") + ''; + + # Debug interactively with: + # - nix run .#nixosTests.reaction.driverInteractive -L + # - run_tests() + # ssh -o User=root vsock%3 (can also do vsock/3, but % works with scp etc.) + # ssh -o User=root vsock%4 + interactive.sshBackdoor.enable = true; + + interactive.nodes.server = + { config, ... }: + { + # not needed, only for manual interactive debugging + virtualisation.memorySize = 4096; + virtualisation.graphics = false; + environment.systemPackages = with pkgs; [ + btop + sysz + sshpass + libressl.nc + ]; + }; + + meta.maintainers = + with lib.maintainers; + [ + ppom + ] + ++ lib.teams.ngi.members; +} diff --git a/nixos/tests/reaction/settings.nix b/nixos/tests/reaction/settings.nix new file mode 100644 index 0000000000000..c342f4384f782 --- /dev/null +++ b/nixos/tests/reaction/settings.nix @@ -0,0 +1,74 @@ +{ config, ... }: +let + banFor = name: duration: { + ban = { + type = "ipset"; + options = { + set = "reaction-${name}"; + action = "add"; + }; + }; + unban = { + after = duration; + type = "ipset"; + options = { + set = "reaction-${name}"; + action = "del"; + }; + }; + }; + + journalctl = "${config.systemd.package}/bin/journalctl"; +in +{ + patterns = { + ip = { + type = "ip"; + ipv6mask = 64; + ignore = [ + "127.0.0.1" + "::1" + ]; + ignorecidr = [ + "10.1.1.0/24" + "2a01:e0a:b3a:1dd0::/64" + ]; + }; + }; + + streams = { + ssh = { + cmd = [ + journalctl + "-fn0" + "-o" + "cat" + "-u" + "sshd.service" + ]; + filters = { + failedlogin = { + regex = [ + "authentication failure;.*rhost=(?: |$)" + "Failed password for .* from port" + "Invalid user .* from " + "Connection (?:reset|closed) by invalid user .* port" + ]; + retry = 2; + retryperiod = "6h"; + actions = banFor "ssh" "48h"; + }; + connectionreset = { + regex = [ + "Connection (?:reset|closed) by(?: authenticating user .*)? port" + "Received disconnect from port .*[preauth]" + "Timeout before authentication for connection from to" + ]; + retry = 2; + retryperiod = "6h"; + actions = banFor "sshreset" "48h"; + }; + }; + }; + }; +} diff --git a/nixos/tests/repath-studio.nix b/nixos/tests/repath-studio.nix new file mode 100644 index 0000000000000..15242fdedc885 --- /dev/null +++ b/nixos/tests/repath-studio.nix @@ -0,0 +1,64 @@ +{ + lib, + pkgs, + ... +}: + +{ + name = "Repath Studio"; + + nodes = { + machine = + { pkgs, ... }: + { + imports = [ + # enable graphical session + users (alice, bob) + ./common/x11.nix + ./common/user-account.nix + ]; + + services.xserver.enable = true; + test-support.displayManager.auto.user = "alice"; + + environment.systemPackages = with pkgs; [ + xdotool + repath-studio + ]; + + # electron application, give more memory + virtualisation.memorySize = 4096; + }; + }; + + enableOCR = true; + + # Debug interactively with: + # - nix run .#nixosTests.repath-studio.driverInteractive -L + # - start_all()/run_tests() + # ssh -o User=root vsock%3 (can also do vsock/3, but % works with scp etc.) + interactive.sshBackdoor.enable = true; + + testScript = /* python */ '' + start_all() + + machine.wait_for_x() + machine.succeed("env DISPLAY=:0 sudo -u alice repath-studio &> /tmp/repath.log &") + machine.wait_for_text(r"(Welcome|Repath|Studio)") # initial telemetry prompt + + machine.screenshot("Repath-Studio-GUI-Welcome") + machine.send_key("kp_enter") # OK + + # sleep is required it needs time to dismiss the dialog + machine.sleep(2) + machine.send_key("ctrl-shift-s") + machine.sleep(2) + machine.send_chars("/tmp/saved.rps\n") + machine.sleep(2) + print(machine.succeed("cat /tmp/saved.rps")) + assert "${pkgs.repath-studio.version}" in machine.succeed("cat /tmp/saved.rps") + + machine.screenshot("Repath-Studio-GUI") + ''; + + meta.maintainers = lib.teams.ngi.members; +} diff --git a/nixos/tests/spire.nix b/nixos/tests/spire.nix new file mode 100644 index 0000000000000..52120558a2649 --- /dev/null +++ b/nixos/tests/spire.nix @@ -0,0 +1,99 @@ +let + trustDomain = "example.com"; +in +{ + name = "spire"; + + nodes = { + server = + { config, ... }: + { + networking.domain = trustDomain; + services.spire.server = { + enable = true; + openFirewall = true; + settings = { + server.trust_domain = trustDomain; + plugins = { + KeyManager.memory.plugin_data = { }; + DataStore.sql.plugin_data = { + database_type = "sqlite3"; + connection_string = "$STATE_DIRECTORY/datastore.sqlite3"; + }; + NodeAttestor.join_token.plugin_data = { }; + }; + }; + }; + }; + + agent = { + virtualisation.credentials = { + "spire.join_token".source = "./join_token"; + "spire.trust_bundle".source = "./trust_bundle"; + }; + + systemd.services.spire-agent.serviceConfig.ImportCredential = [ + "spire.join_token" + "spire.trust_bundle" + ]; + + services.spire.agent = { + enable = true; + settings = { + agent = { + trust_domain = trustDomain; + server_address = "server.${trustDomain}"; + join_token_file = "$CREDENTIALS_DIRECTORY/spire.join_token"; + trust_bundle_format = "pem"; + trust_bundle_path = "$CREDENTIALS_DIRECTORY/spire.trust_bundle"; + }; + plugins = { + KeyManager.memory.plugin_data = { }; + NodeAttestor.join_token.plugin_data = { }; + WorkloadAttestor.systemd.plugin_data = { }; + WorkloadAttestor.unix.plugin_data = { }; + }; + }; + }; + }; + }; + + testScript = + { nodes }: + let + adminSocket = nodes.server.services.spire.server.settings.server.socket_path; + workloadSocket = nodes.agent.services.spire.agent.settings.agent.socket_path; + in + '' + # TODO: instead of trust bundle to talk to the spire-server, use an upstream CA? + def provision(agent, spiffe_id): + + # expose as system credentials + bundle = server.succeed("spire-server bundle show -socketPath ${adminSocket}") + with open(agent.state_dir / "trust_bundle", "w") as f: + f.write(bundle) + join_token = server.succeed("spire-server token generate -socketPath ${adminSocket}").split()[1] + with open(agent.state_dir / "join_token", "w") as f: + f.write(join_token) + + # register a workload on the node + parent_id=f"spiffe://${trustDomain}/spire/agent/join_token/{join_token}" + server.succeed(f"spire-server entry create -socketPath ${adminSocket} -selector 'systemd:id:backdoor.service' -parentID {parent_id} -spiffeID 'spiffe://${trustDomain}/service/backdoor'") + + with subtest("SPIRE server startup and health checks"): + server.wait_for_unit("spire-server.service") + server.wait_until_succeeds("spire-server healthcheck -socketPath ${adminSocket}", timeout=5) + + + with subtest("Setup SPIRE agent on agent node"): + provision(agent, "spiffe://${trustDomain}/server/agent") + agent.wait_for_unit("spire-agent.service") + agent.wait_until_succeeds("spire-agent healthcheck -socketPath ${workloadSocket}", timeout=5) + + + with subtest("Test certificate authentication from agent node"): + agent.succeed("spire-agent api fetch x509 -socketPath ${workloadSocket} -write .") + + # TODO: Add something to communicate with + ''; +} diff --git a/nixos/tests/systemd-repart.nix b/nixos/tests/systemd-repart.nix index 01faf69d6a515..a991709a5c66c 100644 --- a/nixos/tests/systemd-repart.nix +++ b/nixos/tests/systemd-repart.nix @@ -110,8 +110,7 @@ in machine.start() machine.wait_for_unit("multi-user.target") - systemd_repart_logs = machine.succeed("journalctl --boot --unit systemd-repart.service") - assert "Growing existing partition 1." in systemd_repart_logs + machine.succeed("journalctl --boot --grep 'Growing existing partition 1.' --identifier systemd-repart") ''; }; @@ -173,8 +172,7 @@ in machine.start() machine.wait_for_unit("multi-user.target") - systemd_repart_logs = machine.succeed("journalctl --boot --unit systemd-repart.service") - assert "Encrypting future partition 2" in systemd_repart_logs + machine.succeed("journalctl --boot --grep 'Encrypting future partition 2' --identifier systemd-repart") assert "/dev/mapper/created-crypt" in machine.succeed("mount") ''; @@ -205,8 +203,7 @@ in machine.start() machine.wait_for_unit("multi-user.target") - systemd_repart_logs = machine.succeed("journalctl --unit systemd-repart.service") - assert "Growing existing partition 1." in systemd_repart_logs + machine.succeed("journalctl --grep 'Growing existing partition 1.' --identifier systemd-repart") ''; }; @@ -273,8 +270,7 @@ in machine.start() machine.wait_for_unit("multi-user.target") - systemd_repart_logs = machine.succeed("journalctl --boot --unit systemd-repart.service") - assert "Adding new partition 2 to partition table." in systemd_repart_logs + machine.succeed("journalctl --boot --grep 'Adding new partition 2 to partition table.' --identifier systemd-repart") ''; }; diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix index f0bbdef76c616..98cc88a0326f3 100644 --- a/nixos/tests/systemd.nix +++ b/nixos/tests/systemd.nix @@ -109,10 +109,10 @@ machine.wait_for_unit("first-boot-complete.target") machine.succeed( - "journalctl --system -o cat --grep 'systemd ${lib.escapeRegex pkgs.systemd.version} running'" + "journalctl --system -o cat --grep 'systemd ${lib.escapeRegex nodes.machine.systemd.package.version} running'" ) - assert "systemd ${lib.versions.major pkgs.systemd.version} (${pkgs.systemd.version})" in machine.succeed( + assert "systemd ${lib.versions.major nodes.machine.systemd.package.version} (${nodes.machine.systemd.package.version})" in machine.succeed( "systemctl --version" ) diff --git a/nixos/tests/vaultwarden.nix b/nixos/tests/vaultwarden.nix index 329ee3fdf9632..cd799b1b19d4d 100644 --- a/nixos/tests/vaultwarden.nix +++ b/nixos/tests/vaultwarden.nix @@ -83,7 +83,7 @@ let wait.until_not(EC.title_contains("Join organization")) - # NOTE: When testing this locally, the extensions must not be installed, otherwise this screen does not appear + # NOTE: When testing this locally, the Bitwarden browser extension must not be installed, otherwise this screen does not appear click_when_unobstructed((By.XPATH, "//button[contains(., 'Add it later')]")) click_when_unobstructed((By.XPATH, "//a[contains(., 'Skip to web app')]")) @@ -198,7 +198,6 @@ let { nodes, pkgs, - config, ... }: { diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix index 482dbb6a16432..c1f1ae4856540 100644 --- a/pkgs/applications/audio/reaper/default.nix +++ b/pkgs/applications/audio/reaper/default.nix @@ -150,6 +150,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ ilian viraptor + pancaek ]; }; }) diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix index b02bc9c07188c..d4a461ccd304b 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix @@ -9,10 +9,10 @@ elpaBuild { pname = "a68-mode"; ename = "a68-mode"; - version = "1.2.0.20251231.12038"; + version = "1.2.0.20260129.20653"; src = fetchurl { - url = "https://elpa.gnu.org/devel/a68-mode-1.2.0.20251231.12038.tar"; - sha256 = "0hb9j7hfng2scjw43jhh0899wa1765ix3mfylrh33xpdi6y2dk4c"; + url = "https://elpa.gnu.org/devel/a68-mode-1.2.0.20260129.20653.tar"; + sha256 = "03b4608ij5jiijasy41vndwcnzl92gwc0frh2pxs6112p7xk2sf0"; }; packageRequires = [ ]; meta = { @@ -333,10 +333,10 @@ elpaBuild { pname = "altcaps"; ename = "altcaps"; - version = "1.3.0.0.20260111.105148"; + version = "1.3.0.0.20260210.221352"; src = fetchurl { - url = "https://elpa.gnu.org/devel/altcaps-1.3.0.0.20260111.105148.tar"; - sha256 = "1ps97855lps0vpw3h0saxx7z0ckdr0fn3zwlvxmh3fbl29w3c9jr"; + url = "https://elpa.gnu.org/devel/altcaps-1.3.0.0.20260210.221352.tar"; + sha256 = "1m97icn58an0a1x9lhby7870g5m4i7rgkmi61nz24qmrc5pcmqmw"; }; packageRequires = [ ]; meta = { @@ -461,10 +461,10 @@ elpaBuild { pname = "auctex"; ename = "auctex"; - version = "14.1.2.0.20260117.200713"; + version = "14.1.2.0.20260219.153633"; src = fetchurl { - url = "https://elpa.gnu.org/devel/auctex-14.1.2.0.20260117.200713.tar"; - sha256 = "064xvk5pwpnxlxxrgqhiv5r1cmmfcmqlpqnyzn71njslyf3z0321"; + url = "https://elpa.gnu.org/devel/auctex-14.1.2.0.20260219.153633.tar"; + sha256 = "1cd3av3rbjqa25fs6zgxp9nqwj1q67fgigm7qypx38apwc58zmy2"; }; packageRequires = [ ]; meta = { @@ -612,10 +612,10 @@ elpaBuild { pname = "autocrypt"; ename = "autocrypt"; - version = "0.4.2.0.20250415.115030"; + version = "0.4.2.0.20260126.200740"; src = fetchurl { - url = "https://elpa.gnu.org/devel/autocrypt-0.4.2.0.20250415.115030.tar"; - sha256 = "1lf52r37ik8y8chc047k6mya560q4ybbbq82brdm088rabl81khx"; + url = "https://elpa.gnu.org/devel/autocrypt-0.4.2.0.20260126.200740.tar"; + sha256 = "15xqvi9j2jg1hya0gprif4wsxhwmi4l1fa0fpr7phzbjh0qhc90r"; }; packageRequires = [ ]; meta = { @@ -719,10 +719,10 @@ elpaBuild { pname = "beframe"; ename = "beframe"; - version = "1.4.0.0.20260111.104742"; + version = "1.5.0.0.20260204.145843"; src = fetchurl { - url = "https://elpa.gnu.org/devel/beframe-1.4.0.0.20260111.104742.tar"; - sha256 = "04v315xmppvd0jv2dwmyj9679dwkiwkil3r6sfb6i48wc3b0ryzj"; + url = "https://elpa.gnu.org/devel/beframe-1.5.0.0.20260204.145843.tar"; + sha256 = "1jkirpjfxzxspbz1whf5yjzdzxx10abr9aymks40hh72xyjgida6"; }; packageRequires = [ ]; meta = { @@ -993,10 +993,10 @@ elpaBuild { pname = "bufferlo"; ename = "bufferlo"; - version = "1.2.0.20251126.101032"; + version = "1.2.0.20260213.95350"; src = fetchurl { - url = "https://elpa.gnu.org/devel/bufferlo-1.2.0.20251126.101032.tar"; - sha256 = "178qq7rvwn3601xw1f0vpgq6k0fjq854r907rncbx866s1427kai"; + url = "https://elpa.gnu.org/devel/bufferlo-1.2.0.20260213.95350.tar"; + sha256 = "097w4ixggawaj9l076bm9y1ahf0bdcmqhcsqwvnxgq2xqfgwbs9n"; }; packageRequires = [ ]; meta = { @@ -1015,10 +1015,10 @@ elpaBuild { pname = "buframe"; ename = "buframe"; - version = "0.2.0.20260106.114915"; + version = "0.3.0.20260120.162350"; src = fetchurl { - url = "https://elpa.gnu.org/devel/buframe-0.2.0.20260106.114915.tar"; - sha256 = "169q9hl2l3axzs9x4w8gy65r21rzpswh25whi3bwvllcmkskf6k8"; + url = "https://elpa.gnu.org/devel/buframe-0.3.0.20260120.162350.tar"; + sha256 = "1kh6h6rqg3j4rbbcr5m1ch5gvcsyllxg78l549ay5hhyi06j2y7a"; }; packageRequires = [ timeout ]; meta = { @@ -1106,10 +1106,10 @@ elpaBuild { pname = "cape"; ename = "cape"; - version = "2.5.0.20260117.195328"; + version = "2.6.0.20260124.92441"; src = fetchurl { - url = "https://elpa.gnu.org/devel/cape-2.5.0.20260117.195328.tar"; - sha256 = "0j8h5hl8d7nlwi5dnngjzp48d11z2mlkyhg5l1f9h4sz7lss9rc2"; + url = "https://elpa.gnu.org/devel/cape-2.6.0.20260124.92441.tar"; + sha256 = "1qxa7y27jy67g0wwryp4d74vp7ass5anskpjq9ak7spxiq54f3a1"; }; packageRequires = [ compat ]; meta = { @@ -1387,10 +1387,10 @@ elpaBuild { pname = "company"; ename = "company"; - version = "1.0.2.0.20260108.3608"; + version = "1.0.2.0.20260220.15631"; src = fetchurl { - url = "https://elpa.gnu.org/devel/company-1.0.2.0.20260108.3608.tar"; - sha256 = "0py7kj5470b5i7mq7kfnbqh90q487nj4dnvk50yji1pdw5x6s9wj"; + url = "https://elpa.gnu.org/devel/company-1.0.2.0.20260220.15631.tar"; + sha256 = "0wj07iqpjigzqdy8y1i7x3nzg9cgammjcyv872hxzx9dr4xb0i88"; }; packageRequires = [ ]; meta = { @@ -1483,10 +1483,10 @@ elpaBuild { pname = "compat"; ename = "compat"; - version = "30.1.0.1.0.20260104.150319"; + version = "30.1.0.1.0.20260131.205608"; src = fetchurl { - url = "https://elpa.gnu.org/devel/compat-30.1.0.1.0.20260104.150319.tar"; - sha256 = "0p714qzrbk9nix3n2fhd6gqkm0zcx7yykrx9fq1p6iq90y894pzb"; + url = "https://elpa.gnu.org/devel/compat-30.1.0.1.0.20260131.205608.tar"; + sha256 = "0kyy296448mczwhxzpa2n34xi9zdvwj30vshhylfskr22wblr7i5"; }; packageRequires = [ seq ]; meta = { @@ -1504,10 +1504,10 @@ elpaBuild { pname = "cond-star"; ename = "cond-star"; - version = "1.0.0.20260101.125434"; + version = "1.0.0.20260219.94521"; src = fetchurl { - url = "https://elpa.gnu.org/devel/cond-star-1.0.0.20260101.125434.tar"; - sha256 = "0gmnc3vzid3w49m6j35kg2i2rzg7x2v8yl7c678ldh841rzmvmqz"; + url = "https://elpa.gnu.org/devel/cond-star-1.0.0.20260219.94521.tar"; + sha256 = "0anifdinhx8z85l3sfqiiy2i7xih5l7bxil6b2xxynvg4w4g1m76"; }; packageRequires = [ ]; meta = { @@ -1547,10 +1547,10 @@ elpaBuild { pname = "consult"; ename = "consult"; - version = "3.3.0.20260118.74435"; + version = "3.3.0.20260205.205149"; src = fetchurl { - url = "https://elpa.gnu.org/devel/consult-3.3.0.20260118.74435.tar"; - sha256 = "1vb3bn9lv9drw43x2272aavdi019wccmz132r5ywlx540dr9lmm1"; + url = "https://elpa.gnu.org/devel/consult-3.3.0.20260205.205149.tar"; + sha256 = "1x3mds6qpls5ybhw1q7qzl5yc9kd6gg6wnqd9irq8pcb3yvg9ap4"; }; packageRequires = [ compat ]; meta = { @@ -1570,10 +1570,10 @@ elpaBuild { pname = "consult-denote"; ename = "consult-denote"; - version = "0.4.2.0.20260111.182520"; + version = "0.4.2.0.20260122.100152"; src = fetchurl { - url = "https://elpa.gnu.org/devel/consult-denote-0.4.2.0.20260111.182520.tar"; - sha256 = "1z7dhkp7yy6qn0dr1r5ziwc3p1wbx6cvrh5cr5h8czh6prhswwx4"; + url = "https://elpa.gnu.org/devel/consult-denote-0.4.2.0.20260122.100152.tar"; + sha256 = "1d8dq183sc5sc3ki5z602w29f541cs6ljhyx5fwl7rwnj22w6yxx"; }; packageRequires = [ consult @@ -1660,10 +1660,10 @@ elpaBuild { pname = "corfu"; ename = "corfu"; - version = "2.8.0.20260118.74606"; + version = "2.8.0.20260210.91503"; src = fetchurl { - url = "https://elpa.gnu.org/devel/corfu-2.8.0.20260118.74606.tar"; - sha256 = "1fbvaiycmj1mpncxmmzyprqrymzn09b6zdldcbay6xywmvvdvcml"; + url = "https://elpa.gnu.org/devel/corfu-2.8.0.20260210.91503.tar"; + sha256 = "0kzrqzlz5n7z0cdkxnmc9c3wp6i5fpkz9h77rl1kn774063digap"; }; packageRequires = [ compat ]; meta = { @@ -1705,10 +1705,10 @@ elpaBuild { pname = "counsel"; ename = "counsel"; - version = "0.15.1.0.20250329.151454"; + version = "0.15.1.0.20260214.101027"; src = fetchurl { - url = "https://elpa.gnu.org/devel/counsel-0.15.1.0.20250329.151454.tar"; - sha256 = "0fnxgf08dkq16d65xcaa822vasdqzixmd7ihw48hncx80jzqk1s6"; + url = "https://elpa.gnu.org/devel/counsel-0.15.1.0.20260214.101027.tar"; + sha256 = "18p8sdlnva98vfzz8zdb9yp647r47q7gxxh2w1hqjvaw4802hxjv"; }; packageRequires = [ ivy @@ -1941,10 +1941,10 @@ elpaBuild { pname = "dape"; ename = "dape"; - version = "0.25.0.0.20260107.224854"; + version = "0.26.0.0.20260204.173332"; src = fetchurl { - url = "https://elpa.gnu.org/devel/dape-0.25.0.0.20260107.224854.tar"; - sha256 = "1z3xms1jzhdx0m3r4i9a7nlwrcz1agdlxb92f7gqc8rh9jpvlvmh"; + url = "https://elpa.gnu.org/devel/dape-0.26.0.0.20260204.173332.tar"; + sha256 = "00lha8zgkwkl235lmppmma3wrh76qflkg2rbzy2baxywz3mjy5iv"; }; packageRequires = [ jsonrpc ]; meta = { @@ -1984,10 +1984,10 @@ elpaBuild { pname = "dash"; ename = "dash"; - version = "2.20.0.0.20251016.104741"; + version = "2.20.0.0.20260221.134621"; src = fetchurl { - url = "https://elpa.gnu.org/devel/dash-2.20.0.0.20251016.104741.tar"; - sha256 = "1d7lqzk7qwrkmxmydkk5a9mbi42zngn00ll42avhamsinld959g6"; + url = "https://elpa.gnu.org/devel/dash-2.20.0.0.20260221.134621.tar"; + sha256 = "09829jmfnlchyqqmisiy6j4jkzm8vv05mmzyyfhm6vy0rymfxdc0"; }; packageRequires = [ ]; meta = { @@ -2028,10 +2028,10 @@ elpaBuild { pname = "debbugs"; ename = "debbugs"; - version = "0.46.0.20260101.132314"; + version = "0.46.0.20260222.93040"; src = fetchurl { - url = "https://elpa.gnu.org/devel/debbugs-0.46.0.20260101.132314.tar"; - sha256 = "1rg2dmbrm9135mfpdwim50r37frpm0k24fxl80h79iyilzqhbgmy"; + url = "https://elpa.gnu.org/devel/debbugs-0.46.0.20260222.93040.tar"; + sha256 = "0karljqdimm1jcplyjrisjcy4sgmv1a6pr236327dwl14md7vp21"; }; packageRequires = [ soap-client ]; meta = { @@ -2075,10 +2075,10 @@ elpaBuild { pname = "denote"; ename = "denote"; - version = "4.1.3.0.20260118.70827"; + version = "4.1.3.0.20260223.155039"; src = fetchurl { - url = "https://elpa.gnu.org/devel/denote-4.1.3.0.20260118.70827.tar"; - sha256 = "0mgkmzjqgfr4rlfib0sa9jkqmbzg5q1hgifdg1xadiga24g8krk2"; + url = "https://elpa.gnu.org/devel/denote-4.1.3.0.20260223.155039.tar"; + sha256 = "15lrs0h6fkrqspbmg805jk2ccfflbgqpq5zpzjg2br6n7fd05j1w"; }; packageRequires = [ ]; meta = { @@ -2175,6 +2175,28 @@ }; } ) { }; + denote-review = callPackage ( + { + denote, + elpaBuild, + fetchurl, + lib, + }: + elpaBuild { + pname = "denote-review"; + ename = "denote-review"; + version = "1.0.5.0.20260224.153338"; + src = fetchurl { + url = "https://elpa.gnu.org/devel/denote-review-1.0.5.0.20260224.153338.tar"; + sha256 = "0jvsahaih68yx3n9gwbvxmqw7p7dpjk6cmnxnji9qnybh9yvqy20"; + }; + packageRequires = [ denote ]; + meta = { + homepage = "https://elpa.gnu.org/devel/denote-review.html"; + license = lib.licenses.free; + }; + } + ) { }; denote-search = callPackage ( { denote, @@ -2207,10 +2229,10 @@ elpaBuild { pname = "denote-sequence"; ename = "denote-sequence"; - version = "0.2.0.0.20260111.183716"; + version = "0.2.0.0.20260207.135941"; src = fetchurl { - url = "https://elpa.gnu.org/devel/denote-sequence-0.2.0.0.20260111.183716.tar"; - sha256 = "0i0krqc9hncsnbbp2bjqkpsi16ia57kbqw0p7x3v2g217jq4anvj"; + url = "https://elpa.gnu.org/devel/denote-sequence-0.2.0.0.20260207.135941.tar"; + sha256 = "1iabngf9rpjshcxb7lg9l8cqadkak8mhz066qp0mayxf08z70yq9"; }; packageRequires = [ denote ]; meta = { @@ -2365,10 +2387,10 @@ elpaBuild { pname = "diff-hl"; ename = "diff-hl"; - version = "1.10.0.0.20251216.24245"; + version = "1.10.0.0.20260223.155319"; src = fetchurl { - url = "https://elpa.gnu.org/devel/diff-hl-1.10.0.0.20251216.24245.tar"; - sha256 = "0h127hbdhvzhf1c03674pf831fvnnnb7agag84580id2mjijilkn"; + url = "https://elpa.gnu.org/devel/diff-hl-1.10.0.0.20260223.155319.tar"; + sha256 = "0akrxgakxpvdvdrmfsfsgf8jmww7i2yn406bavv5qdi2ly915mmv"; }; packageRequires = [ cl-lib ]; meta = { @@ -2599,10 +2621,10 @@ elpaBuild { pname = "do-at-point"; ename = "do-at-point"; - version = "0.1.2.0.20250501.125137"; + version = "0.2.0.0.20260203.162636"; src = fetchurl { - url = "https://elpa.gnu.org/devel/do-at-point-0.1.2.0.20250501.125137.tar"; - sha256 = "1sszwgf740yklj2cm47rzc5ia8ygn8vzfagpadcsv38mpcxpdzz0"; + url = "https://elpa.gnu.org/devel/do-at-point-0.2.0.0.20260203.162636.tar"; + sha256 = "04cqr9a2rbca4v2pmy863s19m1awvwk61mr3097brhylv0bz04mx"; }; packageRequires = [ ]; meta = { @@ -2683,10 +2705,10 @@ elpaBuild { pname = "doric-themes"; ename = "doric-themes"; - version = "0.6.0.0.20260117.121125"; + version = "1.0.0.0.20260220.71354"; src = fetchurl { - url = "https://elpa.gnu.org/devel/doric-themes-0.6.0.0.20260117.121125.tar"; - sha256 = "1lzwv1hypgcyzxd0aj0ilm5lkbszpl8g96k2mmfd59pkn3fxvbmz"; + url = "https://elpa.gnu.org/devel/doric-themes-1.0.0.0.20260220.71354.tar"; + sha256 = "1qvaf9aalbdbfahl6s5xpd44xgzx0wv4b36p4vhg2m0z9g4pm7n7"; }; packageRequires = [ ]; meta = { @@ -2769,10 +2791,10 @@ elpaBuild { pname = "easy-kill"; ename = "easy-kill"; - version = "0.9.5.0.20260112.113033"; + version = "0.9.5.0.20260121.75216"; src = fetchurl { - url = "https://elpa.gnu.org/devel/easy-kill-0.9.5.0.20260112.113033.tar"; - sha256 = "0889d9hri58hfxj03ga98ji7m6z3jdpi23r72jcf7wmks1546j24"; + url = "https://elpa.gnu.org/devel/easy-kill-0.9.5.0.20260121.75216.tar"; + sha256 = "1x0adprjak14b9s2rkmlmmxgaszw2nqsd527pgi9da46wa5x55zy"; }; packageRequires = [ cl-lib ]; meta = { @@ -2885,10 +2907,10 @@ elpaBuild { pname = "eev"; ename = "eev"; - version = "20251219.0.20251219.222550"; + version = "20260126.0.20260126.21331"; src = fetchurl { - url = "https://elpa.gnu.org/devel/eev-20251219.0.20251219.222550.tar"; - sha256 = "1d22bvd7230i7847bsh7yni9nw02my181jvgf8l5hl2isd1fanwf"; + url = "https://elpa.gnu.org/devel/eev-20260126.0.20260126.21331.tar"; + sha256 = "03mqjza8y86cf9s8lav26digybz3wy1h0b73lp6a0vfngbc8i796"; }; packageRequires = [ ]; meta = { @@ -2907,10 +2929,10 @@ elpaBuild { pname = "ef-themes"; ename = "ef-themes"; - version = "2.0.1.0.20260119.182016"; + version = "2.1.0.0.20260219.64738"; src = fetchurl { - url = "https://elpa.gnu.org/devel/ef-themes-2.0.1.0.20260119.182016.tar"; - sha256 = "0vz1v02jdxyyq4ia6i28avxkvhfasynjp9mzz3a3fmj3aqa5k86y"; + url = "https://elpa.gnu.org/devel/ef-themes-2.1.0.0.20260219.64738.tar"; + sha256 = "0nkjacpyvfnibbyvrsi2qfh0idnphv26ihwc5gkfjjiwynhspws4"; }; packageRequires = [ modus-themes ]; meta = { @@ -2935,10 +2957,10 @@ elpaBuild { pname = "eglot"; ename = "eglot"; - version = "1.21.0.20260117.150219"; + version = "1.21.0.20260221.132913"; src = fetchurl { - url = "https://elpa.gnu.org/devel/eglot-1.21.0.20260117.150219.tar"; - sha256 = "00wqgprz4dav11k6qds5mpac8v553gww96ik9h5pp8m70hpayah5"; + url = "https://elpa.gnu.org/devel/eglot-1.21.0.20260221.132913.tar"; + sha256 = "0fffs64rl2mbhcqfxz31ayxvn5ngd38gd7amsagw8p2ixbw6n7kf"; }; packageRequires = [ eldoc @@ -2964,10 +2986,10 @@ elpaBuild { pname = "el-job"; ename = "el-job"; - version = "2.6.1.0.20251202.235353"; + version = "2.7.3.0.20260222.100909"; src = fetchurl { - url = "https://elpa.gnu.org/devel/el-job-2.6.1.0.20251202.235353.tar"; - sha256 = "1g29s8i49y8p2nyajdi9p30py3h26x67y8llvrvkn3cxv30n23s2"; + url = "https://elpa.gnu.org/devel/el-job-2.7.3.0.20260222.100909.tar"; + sha256 = "0cqx9grvdij7xrj3xs6f62h548sc36k61p53gia8sd910v5mqks1"; }; packageRequires = [ ]; meta = { @@ -3104,20 +3126,22 @@ llm, plz, transient, + yaml, }: elpaBuild { pname = "ellama"; ename = "ellama"; - version = "1.10.10.0.20260115.215017"; + version = "1.12.18.0.20260223.202929"; src = fetchurl { - url = "https://elpa.gnu.org/devel/ellama-1.10.10.0.20260115.215017.tar"; - sha256 = "0465all7jia8q1ls9aqpn8hqjyprmzx4k5dr7i5fx8zhmxa8pigp"; + url = "https://elpa.gnu.org/devel/ellama-1.12.18.0.20260223.202929.tar"; + sha256 = "1yii4yzqla28z4gm9pmazqcl3fm6qcb1qyh32c6zm0xxfp52wrah"; }; packageRequires = [ compat llm plz transient + yaml ]; meta = { homepage = "https://elpa.gnu.org/devel/ellama.html"; @@ -3146,6 +3170,48 @@ }; } ) { }; + emacs-lisp-intro-es = callPackage ( + { + elpaBuild, + fetchurl, + lib, + }: + elpaBuild { + pname = "emacs-lisp-intro-es"; + ename = "emacs-lisp-intro-es"; + version = "0.0.20260217.163329"; + src = fetchurl { + url = "https://elpa.gnu.org/devel/emacs-lisp-intro-es-0.0.20260217.163329.tar"; + sha256 = "18zjh5b1z929lsb6nfya817ni32avm45qc1cmn9q3caz07ry0ayz"; + }; + packageRequires = [ ]; + meta = { + homepage = "https://elpa.gnu.org/devel/emacs-lisp-intro-es.html"; + license = lib.licenses.free; + }; + } + ) { }; + emacs-lisp-intro-nl = callPackage ( + { + elpaBuild, + fetchurl, + lib, + }: + elpaBuild { + pname = "emacs-lisp-intro-nl"; + ename = "emacs-lisp-intro-nl"; + version = "0.0.20260221.202025"; + src = fetchurl { + url = "https://elpa.gnu.org/devel/emacs-lisp-intro-nl-0.0.20260221.202025.tar"; + sha256 = "1jz2pyldl1fw6y3q6s0fxb9ijlfi5032ak9003fi1rjff22zldzr"; + }; + packageRequires = [ ]; + meta = { + homepage = "https://elpa.gnu.org/devel/emacs-lisp-intro-nl.html"; + license = lib.licenses.free; + }; + } + ) { }; embark = callPackage ( { compat, @@ -3156,10 +3222,10 @@ elpaBuild { pname = "embark"; ename = "embark"; - version = "1.1.0.20251117.191148"; + version = "1.1.0.20260223.105831"; src = fetchurl { - url = "https://elpa.gnu.org/devel/embark-1.1.0.20251117.191148.tar"; - sha256 = "0km0f7pk6frarfsdh4lz47vpq5d2ryfsxmb8lnksrhw5g7s3zhkw"; + url = "https://elpa.gnu.org/devel/embark-1.1.0.20260223.105831.tar"; + sha256 = "0kcwp51brjxmhnm04ml7qhl0ijadq0y6asyfjbrvqpw5lk8sdjkv"; }; packageRequires = [ compat ]; meta = { @@ -3180,10 +3246,10 @@ elpaBuild { pname = "embark-consult"; ename = "embark-consult"; - version = "1.1.0.20251117.191148"; + version = "1.1.0.20260223.105831"; src = fetchurl { - url = "https://elpa.gnu.org/devel/embark-consult-1.1.0.20251117.191148.tar"; - sha256 = "09710k4d5g7rp179mll9a056x9af9ckpsdjl8kcil0rfb7pc5s4r"; + url = "https://elpa.gnu.org/devel/embark-consult-1.1.0.20260223.105831.tar"; + sha256 = "030h5cn7567z193kngbnbmm4xdwq0gbd4cngp5yz1ch86n3wbj1y"; }; packageRequires = [ compat @@ -3244,10 +3310,10 @@ elpaBuild { pname = "emms"; ename = "emms"; - version = "25.0.20260113.142250"; + version = "25.0.20260213.170929"; src = fetchurl { - url = "https://elpa.gnu.org/devel/emms-25.0.20260113.142250.tar"; - sha256 = "1qg6nicdg49qzpq0bcc3drh7ags63izxpsjrwbfh7x7mw4lazp68"; + url = "https://elpa.gnu.org/devel/emms-25.0.20260213.170929.tar"; + sha256 = "1lrwhhaqbf09lwfk65gr7hpwc5z5sigpmna48fjmrmsp8aj99rzq"; }; packageRequires = [ cl-lib @@ -3333,10 +3399,10 @@ elpaBuild { pname = "erc"; ename = "erc"; - version = "5.6.2snapshot0.20260111.52503"; + version = "5.6.2snapshot0.20260221.132913"; src = fetchurl { - url = "https://elpa.gnu.org/devel/erc-5.6.2snapshot0.20260111.52503.tar"; - sha256 = "1s2n8gab2m97wmqanzvqxqzr2l25zwaczrgfhk23l2xr9rqq2x16"; + url = "https://elpa.gnu.org/devel/erc-5.6.2snapshot0.20260221.132913.tar"; + sha256 = "0dch8qbyxq0bhdsx0m3a9lzlym5jz6aljnwak9vw81p8qymsmdbr"; }; packageRequires = [ compat ]; meta = { @@ -3380,10 +3446,10 @@ elpaBuild { pname = "ess"; ename = "ess"; - version = "25.1.0.0.20251230.111114"; + version = "25.1.0.0.20260203.103302"; src = fetchurl { - url = "https://elpa.gnu.org/devel/ess-25.1.0.0.20251230.111114.tar"; - sha256 = "1ybpalv1868brh0y6c1kx1vvqhxbbpw5066448vrnylsjrz99y7c"; + url = "https://elpa.gnu.org/devel/ess-25.1.0.0.20260203.103302.tar"; + sha256 = "1r4m4m1x2z9zm28v577gp19603h51z59la7d4w67wjfpmb9mgky5"; }; packageRequires = [ ]; meta = { @@ -3496,10 +3562,10 @@ elpaBuild { pname = "exwm"; ename = "exwm"; - version = "0.34.0.20260101.133557"; + version = "0.34.0.20260204.122929"; src = fetchurl { - url = "https://elpa.gnu.org/devel/exwm-0.34.0.20260101.133557.tar"; - sha256 = "0f84qsamhhrg71qfs4s3klf61idg8kfs40b0fw9kbd5hm1y9jcrc"; + url = "https://elpa.gnu.org/devel/exwm-0.34.0.20260204.122929.tar"; + sha256 = "1bmn6d7pjgjrh265y4w0g1ip8n21sx5z6xsl0vhfhvdf6h2w3c0b"; }; packageRequires = [ compat @@ -3630,10 +3696,10 @@ elpaBuild { pname = "flymake"; ename = "flymake"; - version = "1.4.3.0.20260111.34201"; + version = "1.4.3.0.20260221.132913"; src = fetchurl { - url = "https://elpa.gnu.org/devel/flymake-1.4.3.0.20260111.34201.tar"; - sha256 = "18l49lgq8856zl1gjqakv8q18wp5k93lfyaxlay15szpcb3nimrk"; + url = "https://elpa.gnu.org/devel/flymake-1.4.3.0.20260221.132913.tar"; + sha256 = "1wrwlgb0iz6bnl0jzw2r5z4x2q7bnf3jmjf5zi36a6b2x4vsjvr9"; }; packageRequires = [ eldoc @@ -3718,10 +3784,10 @@ elpaBuild { pname = "fontaine"; ename = "fontaine"; - version = "3.0.1.0.20260111.105528"; + version = "3.0.1.0.20260203.152338"; src = fetchurl { - url = "https://elpa.gnu.org/devel/fontaine-3.0.1.0.20260111.105528.tar"; - sha256 = "121cm1fjp3simkkql85lf3l03k5amn5fxphcm2c693h5dqldmdkl"; + url = "https://elpa.gnu.org/devel/fontaine-3.0.1.0.20260203.152338.tar"; + sha256 = "13q3p2j81a1g5182iz30ibjcqcxp2p9wlwafgivphmrhz744cg5p"; }; packageRequires = [ ]; meta = { @@ -3820,6 +3886,27 @@ }; } ) { }; + futur = callPackage ( + { + elpaBuild, + fetchurl, + lib, + }: + elpaBuild { + pname = "futur"; + ename = "futur"; + version = "1.0.0.20260218.172833"; + src = fetchurl { + url = "https://elpa.gnu.org/devel/futur-1.0.0.20260218.172833.tar"; + sha256 = "0sdds9maws20r6isfp0b4xwfj56621yydhav5c2lnvicyz2kgm3c"; + }; + packageRequires = [ ]; + meta = { + homepage = "https://elpa.gnu.org/devel/futur.html"; + license = lib.licenses.free; + }; + } + ) { }; gcmh = callPackage ( { elpaBuild, @@ -3958,10 +4045,10 @@ elpaBuild { pname = "gnome-dark-style"; ename = "gnome-dark-style"; - version = "0.2.3.0.20250325.182321"; + version = "0.2.4.0.20260217.95837"; src = fetchurl { - url = "https://elpa.gnu.org/devel/gnome-dark-style-0.2.3.0.20250325.182321.tar"; - sha256 = "1kk6pgl79zgd2jvnh011177080w7vz2561mqi88s1rpv43lf4qxa"; + url = "https://elpa.gnu.org/devel/gnome-dark-style-0.2.4.0.20260217.95837.tar"; + sha256 = "1pb86bww72vkm86424wqc2d1kvw2pkq4w3s9cr9r3pn9cqgn1r7h"; }; packageRequires = [ ]; meta = { @@ -3992,6 +4079,36 @@ }; } ) { }; + gnosis = callPackage ( + { + compat, + elpaBuild, + emacsql, + fetchurl, + lib, + org-gnosis, + transient, + }: + elpaBuild { + pname = "gnosis"; + ename = "gnosis"; + version = "0.7.0.0.20260224.120212"; + src = fetchurl { + url = "https://elpa.gnu.org/devel/gnosis-0.7.0.0.20260224.120212.tar"; + sha256 = "1dwybdq0099364xz7np812xyqzl0vh0xmic76sihaznbpf3ip3qx"; + }; + packageRequires = [ + compat + emacsql + org-gnosis + transient + ]; + meta = { + homepage = "https://elpa.gnu.org/devel/gnosis.html"; + license = lib.licenses.free; + }; + } + ) { }; gnu-elpa = callPackage ( { elpaBuild, @@ -4165,10 +4282,10 @@ elpaBuild { pname = "graphql"; ename = "graphql"; - version = "0.1.2.0.20221202.2453"; + version = "0.1.2.0.20260206.151038"; src = fetchurl { - url = "https://elpa.gnu.org/devel/graphql-0.1.2.0.20221202.2453.tar"; - sha256 = "0wh1lnn85nj026iln02b7p5hgrwd3dmqjkv48gc33ypyd4afh31z"; + url = "https://elpa.gnu.org/devel/graphql-0.1.2.0.20260206.151038.tar"; + sha256 = "0rg729h0hkdzfwk8nvp0zfagsbwfzha1ami0mlx935qpvviwjymc"; }; packageRequires = [ ]; meta = { @@ -4450,10 +4567,10 @@ elpaBuild { pname = "hyperbole"; ename = "hyperbole"; - version = "9.0.2pre0.20260111.164604"; + version = "9.0.2pre0.20260219.214719"; src = fetchurl { - url = "https://elpa.gnu.org/devel/hyperbole-9.0.2pre0.20260111.164604.tar"; - sha256 = "1f23ai3xhcpf0ka8djpjxc7f2mm3fxb3xvnfma8dgyggw5hgq7lf"; + url = "https://elpa.gnu.org/devel/hyperbole-9.0.2pre0.20260219.214719.tar"; + sha256 = "00mxbqhhiwz9ri0ykcqf58wvn8y1qic6dkfygfr847v44gqzhj12"; }; packageRequires = [ ]; meta = { @@ -4514,10 +4631,10 @@ elpaBuild { pname = "indent-bars"; ename = "indent-bars"; - version = "1.0.0.0.20260118.100043"; + version = "1.0.0.0.20260120.94117"; src = fetchurl { - url = "https://elpa.gnu.org/devel/indent-bars-1.0.0.0.20260118.100043.tar"; - sha256 = "0mc85hal6vsfbw69mzwpn2n9nnqyhzga91vk5b9vdipn616h1w07"; + url = "https://elpa.gnu.org/devel/indent-bars-1.0.0.0.20260120.94117.tar"; + sha256 = "11ffwvv8zmkxbc74ny30cgjpwzv6v0mbdcdr1laadhbhwkdlk8am"; }; packageRequires = [ compat ]; meta = { @@ -4641,10 +4758,10 @@ elpaBuild { pname = "ivy"; ename = "ivy"; - version = "0.15.1.0.20251123.103239"; + version = "0.15.1.0.20260213.120315"; src = fetchurl { - url = "https://elpa.gnu.org/devel/ivy-0.15.1.0.20251123.103239.tar"; - sha256 = "1cymqwcgql6mra622rmpp62yq81mwfmfvh1fgqvn7sryqndz5hnl"; + url = "https://elpa.gnu.org/devel/ivy-0.15.1.0.20260213.120315.tar"; + sha256 = "1s1r32r9pwbxpw19hn53d6mv53dfl96q6zyhfsmfdqawrq2qwzwy"; }; packageRequires = [ ]; meta = { @@ -4664,10 +4781,10 @@ elpaBuild { pname = "ivy-avy"; ename = "ivy-avy"; - version = "0.15.1.0.20250329.150930"; + version = "0.15.1.0.20260212.144350"; src = fetchurl { - url = "https://elpa.gnu.org/devel/ivy-avy-0.15.1.0.20250329.150930.tar"; - sha256 = "0zqjfv86p52nr5vfmnliw5awsrzxalhlqwkninnp9sxgdib59z0k"; + url = "https://elpa.gnu.org/devel/ivy-avy-0.15.1.0.20260212.144350.tar"; + sha256 = "08fajvzrcgax467alz8gb6x8f6dch5npmgisjwa28pwi32chlqf5"; }; packageRequires = [ avy @@ -4712,10 +4829,10 @@ elpaBuild { pname = "ivy-hydra"; ename = "ivy-hydra"; - version = "0.15.1.0.20250329.151244"; + version = "0.15.1.0.20260213.120432"; src = fetchurl { - url = "https://elpa.gnu.org/devel/ivy-hydra-0.15.1.0.20250329.151244.tar"; - sha256 = "19a9bs0hynz203zw6f1y3khgyd3nv7mf3pp2da5gd6h0012j3k5s"; + url = "https://elpa.gnu.org/devel/ivy-hydra-0.15.1.0.20260213.120432.tar"; + sha256 = "1b81brh6ys3ra19p1jacpmxxy37yfg712sy5ax81ijzqxfd8bzbx"; }; packageRequires = [ hydra @@ -4738,10 +4855,10 @@ elpaBuild { pname = "ivy-posframe"; ename = "ivy-posframe"; - version = "0.6.3.0.20241023.25839"; + version = "0.6.4.0.20260127.5004"; src = fetchurl { - url = "https://elpa.gnu.org/devel/ivy-posframe-0.6.3.0.20241023.25839.tar"; - sha256 = "01wiviygb0c5kjdds1fk10jf9rcf6f59iychqp42yk2lghhw9k1z"; + url = "https://elpa.gnu.org/devel/ivy-posframe-0.6.4.0.20260127.5004.tar"; + sha256 = "0fsn7gjg7dvhanlw5h7jp62zjjqdscjm8k64i52423pgj3rydbwz"; }; packageRequires = [ ivy @@ -4804,10 +4921,10 @@ elpaBuild { pname = "javaimp"; ename = "javaimp"; - version = "0.9.1.0.20241129.211411"; + version = "0.9.1.0.20260220.205136"; src = fetchurl { - url = "https://elpa.gnu.org/devel/javaimp-0.9.1.0.20241129.211411.tar"; - sha256 = "1i7jga44n7rdfb51y72x6c3j0k2pwb90x1xz3m0j0iq4avy89dj9"; + url = "https://elpa.gnu.org/devel/javaimp-0.9.1.0.20260220.205136.tar"; + sha256 = "1ccfzvn89yi79ayf791iqnl09643z89yyqs2ccvr0ddhjqb7fm9l"; }; packageRequires = [ ]; meta = { @@ -4848,10 +4965,10 @@ elpaBuild { pname = "jinx"; ename = "jinx"; - version = "2.6.0.20260117.165000"; + version = "2.6.0.20260206.84758"; src = fetchurl { - url = "https://elpa.gnu.org/devel/jinx-2.6.0.20260117.165000.tar"; - sha256 = "1yn9rprxwzvhp5aifz3chxd62jgrr3d174f0frrg2f1hc8dr4gb5"; + url = "https://elpa.gnu.org/devel/jinx-2.6.0.20260206.84758.tar"; + sha256 = "0156k1vdd16050q3qbacy5m3nz4k66y5ima40lfhmbh6rh06rfrc"; }; packageRequires = [ compat ]; meta = { @@ -4934,10 +5051,10 @@ elpaBuild { pname = "jsonrpc"; ename = "jsonrpc"; - version = "1.0.27.0.20260111.34201"; + version = "1.0.27.0.20260126.225709"; src = fetchurl { - url = "https://elpa.gnu.org/devel/jsonrpc-1.0.27.0.20260111.34201.tar"; - sha256 = "0c1lv0lzrx72qfzjrp7zvmz7iqzlic282hc9g9rgxwg03kp2jq4m"; + url = "https://elpa.gnu.org/devel/jsonrpc-1.0.27.0.20260126.225709.tar"; + sha256 = "0s96nrzcmkxiszcashz6qjvwmnba0hpr20m2iphawv4yik6jb6gg"; }; packageRequires = [ ]; meta = { @@ -5041,10 +5158,10 @@ elpaBuild { pname = "kubed"; ename = "kubed"; - version = "0.5.0.0.20251212.124255"; + version = "0.5.1.0.20260213.144943"; src = fetchurl { - url = "https://elpa.gnu.org/devel/kubed-0.5.0.0.20251212.124255.tar"; - sha256 = "0jabr52qqa8m4gn4wi9aajv8vf0ycjcxhlx2ldlmpidbwhrihhl2"; + url = "https://elpa.gnu.org/devel/kubed-0.5.1.0.20260213.144943.tar"; + sha256 = "1ymddlg4vd5flpg76mpy4md9545vfc5bgfa9ywy5dm6l4f3kw5hq"; }; packageRequires = [ ]; meta = { @@ -5085,10 +5202,10 @@ elpaBuild { pname = "latex-table-wizard"; ename = "latex-table-wizard"; - version = "1.5.4.0.20230903.170436"; + version = "1.5.5.0.20260212.172924"; src = fetchurl { - url = "https://elpa.gnu.org/devel/latex-table-wizard-1.5.4.0.20230903.170436.tar"; - sha256 = "1y1crsd29fvqabzwzki7jqziarycix6bib0cmxlrfsqs95y7dr5w"; + url = "https://elpa.gnu.org/devel/latex-table-wizard-1.5.5.0.20260212.172924.tar"; + sha256 = "0n2zvy43lmyvygy3npfgh3897gpwdvxpjd35n6011hbnm3b05s55"; }; packageRequires = [ auctex @@ -5224,10 +5341,10 @@ elpaBuild { pname = "lin"; ename = "lin"; - version = "1.1.0.0.20260111.104855"; + version = "2.0.0.0.20260215.81346"; src = fetchurl { - url = "https://elpa.gnu.org/devel/lin-1.1.0.0.20260111.104855.tar"; - sha256 = "0q6h6xdkf4lhmnib3c9yy2rqil731dpfqn4fpc39br7cmzwzhibj"; + url = "https://elpa.gnu.org/devel/lin-2.0.0.0.20260215.81346.tar"; + sha256 = "12mfawgz0pxfnxlkcd6vnjywjwx82nxy7myfd93bzqd2j8sgj53w"; }; packageRequires = [ ]; meta = { @@ -5300,10 +5417,10 @@ elpaBuild { pname = "llm"; ename = "llm"; - version = "0.28.5.0.20260110.215927"; + version = "0.29.0.0.20260221.195402"; src = fetchurl { - url = "https://elpa.gnu.org/devel/llm-0.28.5.0.20260110.215927.tar"; - sha256 = "1pljk62skgv02fv18gs0dvkq6wy7z6aya2qxhlgrh41hifb14837"; + url = "https://elpa.gnu.org/devel/llm-0.29.0.0.20260221.195402.tar"; + sha256 = "0jpjxmckc6cp56i44yx3f91k1bp30sibmpqns5n4fdi31z0jq0nz"; }; packageRequires = [ compat @@ -5540,10 +5657,10 @@ elpaBuild { pname = "marginalia"; ename = "marginalia"; - version = "2.8.0.20260117.165105"; + version = "2.9.0.20260220.114937"; src = fetchurl { - url = "https://elpa.gnu.org/devel/marginalia-2.8.0.20260117.165105.tar"; - sha256 = "0y5cmg778w0mik4pkbb2l9x7qp456dhrhcbyapr5g4ym2jl1id25"; + url = "https://elpa.gnu.org/devel/marginalia-2.9.0.20260220.114937.tar"; + sha256 = "0l8spkn49mxzid72zi9g26wp8jmzc4a4pvhi068jyixd3mr6sip6"; }; packageRequires = [ compat ]; meta = { @@ -5646,10 +5763,10 @@ elpaBuild { pname = "matlab-mode"; ename = "matlab-mode"; - version = "7.4.2.0.20251229.125049"; + version = "8.1.1.0.20260224.73923"; src = fetchurl { - url = "https://elpa.gnu.org/devel/matlab-mode-7.4.2.0.20251229.125049.tar"; - sha256 = "1rff2njap1ymgmydhsjif1i09x3rnj6xa1xz7x3pp8jyvg5vkzwp"; + url = "https://elpa.gnu.org/devel/matlab-mode-8.1.1.0.20260224.73923.tar"; + sha256 = "0q1lfanrdqbx7h3kcb2ldz0ffzm87jx2ymghj6kzy03y8p9k7fqc"; }; packageRequires = [ ]; meta = { @@ -5667,10 +5784,10 @@ elpaBuild { pname = "mct"; ename = "mct"; - version = "1.1.0.0.20260110.55916"; + version = "1.1.0.0.20260204.175531"; src = fetchurl { - url = "https://elpa.gnu.org/devel/mct-1.1.0.0.20260110.55916.tar"; - sha256 = "1721nlynl8qq610zczqbjvbj6bgb4pvm9gqqayg3sn5ns2zs71q1"; + url = "https://elpa.gnu.org/devel/mct-1.1.0.0.20260204.175531.tar"; + sha256 = "1fd1nd013g3ayd3ckkjp4b6b2nf96rxfjgcs16w0f5x2zxrbkhw0"; }; packageRequires = [ ]; meta = { @@ -5860,10 +5977,10 @@ elpaBuild { pname = "minuet"; ename = "minuet"; - version = "0.7.1.0.20251218.173414"; + version = "0.7.1.0.20260202.224249"; src = fetchurl { - url = "https://elpa.gnu.org/devel/minuet-0.7.1.0.20251218.173414.tar"; - sha256 = "0zy7rgl75ckaiibsmb0h09vrkmi9cz6svazfc8z20l0xnrkm10lr"; + url = "https://elpa.gnu.org/devel/minuet-0.7.1.0.20260202.224249.tar"; + sha256 = "0qd8h8aicmxqq7y9whgvapi0vlfgrhplrmzn2bpq4pxgk2d62zyn"; }; packageRequires = [ dash @@ -5927,10 +6044,10 @@ elpaBuild { pname = "modus-themes"; ename = "modus-themes"; - version = "5.2.0.0.20260113.43126"; + version = "5.2.0.0.20260222.64339"; src = fetchurl { - url = "https://elpa.gnu.org/devel/modus-themes-5.2.0.0.20260113.43126.tar"; - sha256 = "18wyzmpqax2zy37nm6naf8j059690ghxqkqa9qlqi6297wva229z"; + url = "https://elpa.gnu.org/devel/modus-themes-5.2.0.0.20260222.64339.tar"; + sha256 = "052h6agrbjz5agm25ymwd6gnfizdkm0s62257cawcqzxwd9c192m"; }; packageRequires = [ ]; meta = { @@ -6461,10 +6578,10 @@ elpaBuild { pname = "orderless"; ename = "orderless"; - version = "1.5.0.20260117.174956"; + version = "1.6.0.20260127.172602"; src = fetchurl { - url = "https://elpa.gnu.org/devel/orderless-1.5.0.20260117.174956.tar"; - sha256 = "1qrriyzh3gxd8w2v70njlf85yx6m6krkpdmigngbz1zlaw0axnrg"; + url = "https://elpa.gnu.org/devel/orderless-1.6.0.20260127.172602.tar"; + sha256 = "1arpnkw49vhrdgp7b9mpxbbv6q3mwnimn1d79cr3jjs97ngii980"; }; packageRequires = [ compat ]; meta = { @@ -6482,10 +6599,10 @@ elpaBuild { pname = "org"; ename = "org"; - version = "9.8pre0.20260113.104754"; + version = "10.0pre0.20260223.193918"; src = fetchurl { - url = "https://elpa.gnu.org/devel/org-9.8pre0.20260113.104754.tar"; - sha256 = "161gp3vgl4i99l1z3dc9afs5gigdlflnpxsy78axh35bkli4b1ky"; + url = "https://elpa.gnu.org/devel/org-10.0pre0.20260223.193918.tar"; + sha256 = "0vpi9p9qspcdr4qzjxhb4nnck792hglqfdch0p7bir3305kcv7yv"; }; packageRequires = [ ]; meta = { @@ -6504,10 +6621,10 @@ elpaBuild { pname = "org-contacts"; ename = "org-contacts"; - version = "1.2.0.20260114.75421"; + version = "1.3.0.20260221.85240"; src = fetchurl { - url = "https://elpa.gnu.org/devel/org-contacts-1.2.0.20260114.75421.tar"; - sha256 = "0x84lmaq5xr8i03hn0k5yvlmv79k6vhgdczavii5pbz6n3ggdhfs"; + url = "https://elpa.gnu.org/devel/org-contacts-1.3.0.20260221.85240.tar"; + sha256 = "1kvz0lhcq7mscraqb1np2r6sh8hincxr5k2n1iz037x8w5wdfqh9"; }; packageRequires = [ org ]; meta = { @@ -6553,10 +6670,10 @@ elpaBuild { pname = "org-gnosis"; ename = "org-gnosis"; - version = "0.1.1.0.20260111.154709"; + version = "0.2.2.0.20260224.203152"; src = fetchurl { - url = "https://elpa.gnu.org/devel/org-gnosis-0.1.1.0.20260111.154709.tar"; - sha256 = "0il5nqmd6qj3ypglsdfcc4rxpzfrqdp8s4rg7f4jjd5qy2l3kwnw"; + url = "https://elpa.gnu.org/devel/org-gnosis-0.2.2.0.20260224.203152.tar"; + sha256 = "1ls3wnd4brn3aadafyfn4m4lkav5v5sm77irlijnm90rg2jdk7xc"; }; packageRequires = [ compat @@ -6601,10 +6718,10 @@ elpaBuild { pname = "org-modern"; ename = "org-modern"; - version = "1.12.0.20260117.165215"; + version = "1.12.0.20260125.143845"; src = fetchurl { - url = "https://elpa.gnu.org/devel/org-modern-1.12.0.20260117.165215.tar"; - sha256 = "1izgb25clhfm94091bkw7qb0lanx07d5757w5a7m0z1qcdqpfayw"; + url = "https://elpa.gnu.org/devel/org-modern-1.12.0.20260125.143845.tar"; + sha256 = "06kgflqfq3pifhr9442rpk2ik0jha9w7brla55lkxg0ips8822hw"; }; packageRequires = [ compat @@ -6781,10 +6898,10 @@ elpaBuild { pname = "osm"; ename = "osm"; - version = "2.1.0.20260118.165714"; + version = "2.2.0.20260125.120005"; src = fetchurl { - url = "https://elpa.gnu.org/devel/osm-2.1.0.20260118.165714.tar"; - sha256 = "177f9ygbfyxb5vghp5c1cq6qy9fjz0ryf0srp3zla42zjfjnd4al"; + url = "https://elpa.gnu.org/devel/osm-2.2.0.20260125.120005.tar"; + sha256 = "0ckw3ffkwykkzx435raypkblhvg91ls221qfvzpdc5jrwzygdfhn"; }; packageRequires = [ compat ]; meta = { @@ -6866,10 +6983,10 @@ elpaBuild { pname = "package-x"; ename = "package-x"; - version = "1.0.0.20251206.95854"; + version = "1.0.0.20260219.70820"; src = fetchurl { - url = "https://elpa.gnu.org/devel/package-x-1.0.0.20251206.95854.tar"; - sha256 = "0xbrmjk3yz05r196fy42yrxv52qc3ajdapdx3vkqxbqh4f5pcmmm"; + url = "https://elpa.gnu.org/devel/package-x-1.0.0.20260219.70820.tar"; + sha256 = "09c2hjisggl8x23z3yq08rhy8k8rg6y1zqil81c7dapcjk1bcznq"; }; packageRequires = [ ]; meta = { @@ -7157,6 +7274,27 @@ }; } ) { }; + po-mode = callPackage ( + { + elpaBuild, + fetchurl, + lib, + }: + elpaBuild { + pname = "po-mode"; + ename = "po-mode"; + version = "2.32.0.20260217.95607"; + src = fetchurl { + url = "https://elpa.gnu.org/devel/po-mode-2.32.0.20260217.95607.tar"; + sha256 = "16dkn7k3kkrv1n7c9qnvpzbrywgq4cwgry7szcsgyglrf6dq89y9"; + }; + packageRequires = [ ]; + meta = { + homepage = "https://elpa.gnu.org/devel/po-mode.html"; + license = lib.licenses.free; + }; + } + ) { }; poke = callPackage ( { elpaBuild, @@ -7271,10 +7409,10 @@ elpaBuild { pname = "posframe"; ename = "posframe"; - version = "1.5.0.0.20251125.84642"; + version = "1.5.1.0.20260127.5158"; src = fetchurl { - url = "https://elpa.gnu.org/devel/posframe-1.5.0.0.20251125.84642.tar"; - sha256 = "1cydrjx1i7l2aqv96gi7qdaa0d7cnv9b71xn0c9hdmigkdj7wdxh"; + url = "https://elpa.gnu.org/devel/posframe-1.5.1.0.20260127.5158.tar"; + sha256 = "17rxfbxwf89psi36fqfcwazk63pbrrv7xpg84d5hk6l8cvb7rhpn"; }; packageRequires = [ ]; meta = { @@ -7335,10 +7473,10 @@ elpaBuild { pname = "preview-auto"; ename = "preview-auto"; - version = "0.4.1.0.20251222.150444"; + version = "0.4.2.0.20260205.43257"; src = fetchurl { - url = "https://elpa.gnu.org/devel/preview-auto-0.4.1.0.20251222.150444.tar"; - sha256 = "1lrj5053zndswqy914ngxvprcvrgdrrvwr6vlwgjdvmlpk1fyk5i"; + url = "https://elpa.gnu.org/devel/preview-auto-0.4.2.0.20260205.43257.tar"; + sha256 = "0dibby96qk7bv2rxgz3yviwdp61znq9qac72n5lqx07vg6hki486"; }; packageRequires = [ auctex ]; meta = { @@ -7379,10 +7517,10 @@ elpaBuild { pname = "project"; ename = "project"; - version = "0.11.2.0.20260115.65220"; + version = "0.11.2.0.20260223.152156"; src = fetchurl { - url = "https://elpa.gnu.org/devel/project-0.11.2.0.20260115.65220.tar"; - sha256 = "0aah8nssxagr5znf08fs5zzdzin8iipk9chhhfv5l1dpqdi200r1"; + url = "https://elpa.gnu.org/devel/project-0.11.2.0.20260223.152156.tar"; + sha256 = "1z3ahlw0197qj3br609hz00cc4n44x3yh1pv8jg20c1b54clsjr8"; }; packageRequires = [ xref ]; meta = { @@ -7442,10 +7580,10 @@ elpaBuild { pname = "pulsar"; ename = "pulsar"; - version = "1.3.2.0.20260111.105226"; + version = "1.3.2.0.20260218.80724"; src = fetchurl { - url = "https://elpa.gnu.org/devel/pulsar-1.3.2.0.20260111.105226.tar"; - sha256 = "0lj8slzakg34f66ig4lq91hvqq92ja2vapwm9af8d1rphpz6qnil"; + url = "https://elpa.gnu.org/devel/pulsar-1.3.2.0.20260218.80724.tar"; + sha256 = "11f0c0qqzjqp92y1jwzckz25dv2ny04dm0rljg5kr4b9zs6y7sq9"; }; packageRequires = [ ]; meta = { @@ -7507,25 +7645,17 @@ compat, elpaBuild, fetchurl, - flymake ? null, lib, - project, - seq, }: elpaBuild { pname = "python"; ename = "python"; - version = "0.30.0.20260117.160903"; + version = "0.30.0.20260221.145128"; src = fetchurl { - url = "https://elpa.gnu.org/devel/python-0.30.0.20260117.160903.tar"; - sha256 = "04m2p8054yfd0152dr7m08b4jszb15j91v3l97ailcasqfvwk80s"; + url = "https://elpa.gnu.org/devel/python-0.30.0.20260221.145128.tar"; + sha256 = "0hq170dzda5i08r8njm5ql8x10495xwa2sqq586f8wk48cczph5c"; }; - packageRequires = [ - compat - flymake - project - seq - ]; + packageRequires = [ compat ]; meta = { homepage = "https://elpa.gnu.org/devel/python.html"; license = lib.licenses.free; @@ -7713,10 +7843,10 @@ elpaBuild { pname = "realgud"; ename = "realgud"; - version = "1.6.0.0.20260111.74248"; + version = "1.6.0.0.20260128.34106"; src = fetchurl { - url = "https://elpa.gnu.org/devel/realgud-1.6.0.0.20260111.74248.tar"; - sha256 = "1ma8nahs8gy8wmjwmdazbnfwc52kcgy3pwbnawmp3sycz8kvdpqq"; + url = "https://elpa.gnu.org/devel/realgud-1.6.0.0.20260128.34106.tar"; + sha256 = "1cp7gq50fls2qzq4i34g6alcghjfmf2mj7i5lk8c1a5s9k3d4ma3"; }; packageRequires = [ load-relative @@ -7993,10 +8123,10 @@ elpaBuild { pname = "relint"; ename = "relint"; - version = "2.1.0.20250904.163151"; + version = "2.2.0.20260205.105130"; src = fetchurl { - url = "https://elpa.gnu.org/devel/relint-2.1.0.20250904.163151.tar"; - sha256 = "11abw06nwq50xpin61qnmka3zdlkdmpljl34gs3ahf0b7p4w1g9b"; + url = "https://elpa.gnu.org/devel/relint-2.2.0.20260205.105130.tar"; + sha256 = "06k83c8ldxrdh9ncq5f3s4r84l6j367bcivv4y1gr0g5yhf92dgf"; }; packageRequires = [ xr ]; meta = { @@ -8834,10 +8964,10 @@ elpaBuild { pname = "standard-themes"; ename = "standard-themes"; - version = "3.0.2.0.20260111.90308"; + version = "3.0.2.0.20260219.64809"; src = fetchurl { - url = "https://elpa.gnu.org/devel/standard-themes-3.0.2.0.20260111.90308.tar"; - sha256 = "17nkzfq0cfk0rylrqwfxmlyhk6l8csdvhk99s741d9vlzbmas1x0"; + url = "https://elpa.gnu.org/devel/standard-themes-3.0.2.0.20260219.64809.tar"; + sha256 = "0kll4xdizkyggmsjjg8v23vmff24fcmwvy486q01yyh3rwx7g68l"; }; packageRequires = [ modus-themes ]; meta = { @@ -8876,10 +9006,10 @@ elpaBuild { pname = "substitute"; ename = "substitute"; - version = "0.5.0.0.20260105.62903"; + version = "0.5.0.0.20260223.124554"; src = fetchurl { - url = "https://elpa.gnu.org/devel/substitute-0.5.0.0.20260105.62903.tar"; - sha256 = "13bgq1niji5nxy1f543nhwlvpa00n00ypg519fm6s9ylmg9gza4z"; + url = "https://elpa.gnu.org/devel/substitute-0.5.0.0.20260223.124554.tar"; + sha256 = "1n4lcs12vn4ndsiwzhh80hadkgnvfagimf3lrixlwwzhi1j9vrdk"; }; packageRequires = [ ]; meta = { @@ -8984,10 +9114,10 @@ elpaBuild { pname = "swiper"; ename = "swiper"; - version = "0.15.1.0.20250329.151337"; + version = "0.15.1.0.20260212.144752"; src = fetchurl { - url = "https://elpa.gnu.org/devel/swiper-0.15.1.0.20250329.151337.tar"; - sha256 = "08glyqqvj3m9bph1i53m32wg58xvxzglc44gidmg2b1gf2w3gl82"; + url = "https://elpa.gnu.org/devel/swiper-0.15.1.0.20260212.144752.tar"; + sha256 = "1v1lhxmann8c5jd9qnskvzkfl3bpjd9d1lh8dw7v3d89f8xh9p11"; }; packageRequires = [ ivy ]; meta = { @@ -9006,10 +9136,10 @@ elpaBuild { pname = "switchy-window"; ename = "switchy-window"; - version = "1.3.0.20230411.180529"; + version = "1.4.0.20260208.102948"; src = fetchurl { - url = "https://elpa.gnu.org/devel/switchy-window-1.3.0.20230411.180529.tar"; - sha256 = "1h3jib0qr8wj3xk3qha5yrw2vqhidnqhj4jhw2smrfk61vyfs83b"; + url = "https://elpa.gnu.org/devel/switchy-window-1.4.0.20260208.102948.tar"; + sha256 = "1s70jnsbqa37arq4czmzbn4r2ba9s6k8k7iz2i6bz0pqmbdrmp84"; }; packageRequires = [ compat ]; meta = { @@ -9207,10 +9337,10 @@ elpaBuild { pname = "tempel"; ename = "tempel"; - version = "1.9.0.20260119.133441"; + version = "1.11.0.20260220.115732"; src = fetchurl { - url = "https://elpa.gnu.org/devel/tempel-1.9.0.20260119.133441.tar"; - sha256 = "1a642c0rasmyx94i7bjg9lpqj0sr624zi3vwz1jn2bxjfv3p3jpk"; + url = "https://elpa.gnu.org/devel/tempel-1.11.0.20260220.115732.tar"; + sha256 = "09gxz4irm50hszyiq6sz73r93qydahmdfvr7q8pp38vlp19w19ad"; }; packageRequires = [ compat ]; meta = { @@ -9398,10 +9528,10 @@ elpaBuild { pname = "tmr"; ename = "tmr"; - version = "1.2.1.0.20260119.190816"; + version = "1.3.0.0.20260125.74805"; src = fetchurl { - url = "https://elpa.gnu.org/devel/tmr-1.2.1.0.20260119.190816.tar"; - sha256 = "0c331q79fgvm0rhp2am836mqv70grzrdjvs10x8a74hmn9f0qr79"; + url = "https://elpa.gnu.org/devel/tmr-1.3.0.0.20260125.74805.tar"; + sha256 = "1pbl233p38nhdivrr9yh5k4i87mmdyf10rczv8v5mc0vvv68v4c7"; }; packageRequires = [ ]; meta = { @@ -9487,10 +9617,10 @@ elpaBuild { pname = "tramp"; ename = "tramp"; - version = "2.8.1.0.20260111.85658"; + version = "2.8.1.1.0.20260130.95525"; src = fetchurl { - url = "https://elpa.gnu.org/devel/tramp-2.8.1.0.20260111.85658.tar"; - sha256 = "0ya9jdsd2h91rc37qxm15aniivlrnmlmqzmk2hlrqdy0qpkismw8"; + url = "https://elpa.gnu.org/devel/tramp-2.8.1.1.0.20260130.95525.tar"; + sha256 = "0dvacg1jhz527incsfk6zprgjp7aswcf5zg28rfyi2gh7rqql176"; }; packageRequires = [ ]; meta = { @@ -9596,10 +9726,10 @@ elpaBuild { pname = "transient"; ename = "transient"; - version = "0.12.0.0.20260118.132220"; + version = "0.12.0.0.20260223.94608"; src = fetchurl { - url = "https://elpa.gnu.org/devel/transient-0.12.0.0.20260118.132220.tar"; - sha256 = "1b0x7ljqgxdc9dw63v7jvqzhs7vkck54xjvyfx9fhsiq2ijnw3yp"; + url = "https://elpa.gnu.org/devel/transient-0.12.0.0.20260223.94608.tar"; + sha256 = "1vyr3k30jdw18ban3qhr30k36gq9xxh1ycnahivm0i8wwvav9kzy"; }; packageRequires = [ compat @@ -9888,10 +10018,10 @@ elpaBuild { pname = "use-package"; ename = "use-package"; - version = "2.4.6.0.20260101.125434"; + version = "2.4.6.0.20260221.132913"; src = fetchurl { - url = "https://elpa.gnu.org/devel/use-package-2.4.6.0.20260101.125434.tar"; - sha256 = "1i460law39bbfsy2y55jirnab3yv2g88qgx4n88lygq1drvc3qrg"; + url = "https://elpa.gnu.org/devel/use-package-2.4.6.0.20260221.132913.tar"; + sha256 = "0rxzzf8j93dwlsrll6kfdbbs1kk7h033rmispl28hn3drccvy2k6"; }; packageRequires = [ bind-key ]; meta = { @@ -10021,10 +10151,10 @@ elpaBuild { pname = "vc-jj"; ename = "vc-jj"; - version = "0.5.0.20260119.103313"; + version = "0.5.0.20260214.163529"; src = fetchurl { - url = "https://elpa.gnu.org/devel/vc-jj-0.5.0.20260119.103313.tar"; - sha256 = "0h4lz3mr7iwd2ik17my467pa7k47xz5y67ccwmgkgyq2wkr2s4dm"; + url = "https://elpa.gnu.org/devel/vc-jj-0.5.0.20260214.163529.tar"; + sha256 = "1v5dv8ck76l76z0bjm92p8g4vxxi19rxlci934r4qmcgfb06bx0p"; }; packageRequires = [ compat ]; meta = { @@ -10154,10 +10284,10 @@ elpaBuild { pname = "vertico"; ename = "vertico"; - version = "2.7.0.20260119.65523"; + version = "2.7.0.20260210.102152"; src = fetchurl { - url = "https://elpa.gnu.org/devel/vertico-2.7.0.20260119.65523.tar"; - sha256 = "131534qw0g88fyr4klk226abywm0vxzvwmq06pp4zf4k4114d2hy"; + url = "https://elpa.gnu.org/devel/vertico-2.7.0.20260210.102152.tar"; + sha256 = "0797n6lwgwrxk92s1q0l9wn0dw1siz5jxayvvwfwzm6d9lprhzf8"; }; packageRequires = [ compat ]; meta = { @@ -10177,10 +10307,10 @@ elpaBuild { pname = "vertico-posframe"; ename = "vertico-posframe"; - version = "0.9.0.0.20250910.92713"; + version = "0.9.2.0.20260201.41512"; src = fetchurl { - url = "https://elpa.gnu.org/devel/vertico-posframe-0.9.0.0.20250910.92713.tar"; - sha256 = "17lzg4w68rws0824dm1qn1fv9a63pwscvhabfqlfvicnkrpz7rzb"; + url = "https://elpa.gnu.org/devel/vertico-posframe-0.9.2.0.20260201.41512.tar"; + sha256 = "1alirwmf1x1m9h8amsbjvx6x1hh0cc0f83r2nay8vp2rr20jrgvp"; }; packageRequires = [ posframe @@ -10392,10 +10522,10 @@ elpaBuild { pname = "websocket"; ename = "websocket"; - version = "1.15.0.20230808.230535"; + version = "1.16.0.20260201.101702"; src = fetchurl { - url = "https://elpa.gnu.org/devel/websocket-1.15.0.20230808.230535.tar"; - sha256 = "15xry8bv9vcc470j3an5ks9z2hg7ia4nl7x4xvqb77rpbkq53rb9"; + url = "https://elpa.gnu.org/devel/websocket-1.16.0.20260201.101702.tar"; + sha256 = "1hw5phwfi4gjicbad4bd1l7701xm8zixl1y563ip6v7g9k92pgf0"; }; packageRequires = [ cl-lib ]; meta = { @@ -10699,10 +10829,10 @@ elpaBuild { pname = "xr"; ename = "xr"; - version = "2.1.0.20250904.163110"; + version = "2.2.0.20260205.105100"; src = fetchurl { - url = "https://elpa.gnu.org/devel/xr-2.1.0.20250904.163110.tar"; - sha256 = "1xa4y8dlkcskxhvd3gyfpfibkhgxfx25lf89km33wwz4d7vibzc9"; + url = "https://elpa.gnu.org/devel/xr-2.2.0.20260205.105100.tar"; + sha256 = "0zxm42k85h5xycn9j3xxdr950506r4kkx30i0jppj08lkk7dkdnb"; }; packageRequires = [ ]; meta = { @@ -10720,10 +10850,10 @@ elpaBuild { pname = "xref"; ename = "xref"; - version = "1.7.0.0.20260101.125434"; + version = "1.7.0.0.20260206.35652"; src = fetchurl { - url = "https://elpa.gnu.org/devel/xref-1.7.0.0.20260101.125434.tar"; - sha256 = "0rp9r6s7k20jhhq2nbd0n8i42i5j0cjgni8b8xf7v22f4mksl5pk"; + url = "https://elpa.gnu.org/devel/xref-1.7.0.0.20260206.35652.tar"; + sha256 = "0sn1l2q5ka3qz066lz1gh9nbil8nzmyra8rbbd1h7ga4m9xhjs9g"; }; packageRequires = [ ]; meta = { @@ -10741,10 +10871,10 @@ elpaBuild { pname = "xref-union"; ename = "xref-union"; - version = "0.2.0.0.20231225.162837"; + version = "0.2.0.0.20260222.131318"; src = fetchurl { - url = "https://elpa.gnu.org/devel/xref-union-0.2.0.0.20231225.162837.tar"; - sha256 = "0is4r12r30drq1msa5143bgnwam1kgbf2iia30fbqv0l0rhvqd9x"; + url = "https://elpa.gnu.org/devel/xref-union-0.2.0.0.20260222.131318.tar"; + sha256 = "143kmlnmpgkv52a7yya0sy4r51vi838fvcjwjiczczydwxam59iz"; }; packageRequires = [ ]; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix index bb0f1a06b3589..839a0823bd23a 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix @@ -698,10 +698,10 @@ elpaBuild { pname = "beframe"; ename = "beframe"; - version = "1.4.0"; + version = "1.5.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/beframe-1.4.0.tar"; - sha256 = "1766y7jwhsccmndd30v7hyh3i8gacvzwb73ix7g0zynp12m6x6kb"; + url = "https://elpa.gnu.org/packages/beframe-1.5.0.tar"; + sha256 = "0cx7jxlfzqaldswnk2wg5z4zb7lv24x5by9h20y4vpf973nclj0r"; }; packageRequires = [ ]; meta = { @@ -994,10 +994,10 @@ elpaBuild { pname = "buframe"; ename = "buframe"; - version = "0.2"; + version = "0.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/buframe-0.2.tar"; - sha256 = "0bnj4xvwmda62j9i7a9pnd0x20wa6g3il8cl55df26qpgqmjjpkq"; + url = "https://elpa.gnu.org/packages/buframe-0.3.tar"; + sha256 = "1lhbs13f1kky4f7ylfl4ki7gqi51x2rgmipmwx3w9b8hx8d8s6h1"; }; packageRequires = [ timeout ]; meta = { @@ -1085,10 +1085,10 @@ elpaBuild { pname = "cape"; ename = "cape"; - version = "2.5"; + version = "2.6"; src = fetchurl { - url = "https://elpa.gnu.org/packages/cape-2.5.tar"; - sha256 = "1xfrz3pvryp0b5x14dy04s97j3ir0iqxaij77a64gqvpmfjg154i"; + url = "https://elpa.gnu.org/packages/cape-2.6.tar"; + sha256 = "0n4j70w1q9ix9d8s276g4shkn1k7hv8d6wqpx65wchgilwbjx07z"; }; packageRequires = [ compat ]; meta = { @@ -1900,10 +1900,10 @@ elpaBuild { pname = "dape"; ename = "dape"; - version = "0.25.0"; + version = "0.26.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/dape-0.25.0.tar"; - sha256 = "1ffmmaqadgrc0h51zk1j8c5whrzi7c63l069jl74xmczvphh7zl4"; + url = "https://elpa.gnu.org/packages/dape-0.26.0.tar"; + sha256 = "0arid8qwaf7ic76hsjzj7grn41krsphnzvihmjbgm4im6b7zzb37"; }; packageRequires = [ jsonrpc ]; meta = { @@ -2134,6 +2134,28 @@ }; } ) { }; + denote-review = callPackage ( + { + denote, + elpaBuild, + fetchurl, + lib, + }: + elpaBuild { + pname = "denote-review"; + ename = "denote-review"; + version = "1.0.5"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/denote-review-1.0.5.tar"; + sha256 = "0ss3mkir4x3k6f9fsg2z8w87dm2ny6a8yj4lf2hqkb1fsp9cl5wb"; + }; + packageRequires = [ denote ]; + meta = { + homepage = "https://elpa.gnu.org/packages/denote-review.html"; + license = lib.licenses.free; + }; + } + ) { }; denote-search = callPackage ( { denote, @@ -2536,10 +2558,10 @@ elpaBuild { pname = "do-at-point"; ename = "do-at-point"; - version = "0.1.2"; + version = "0.2.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/do-at-point-0.1.2.tar"; - sha256 = "0kirhg78ra6311hx1f1kpqhpxjxxg61gnzsh9j6id10f92h6m5gz"; + url = "https://elpa.gnu.org/packages/do-at-point-0.2.0.tar"; + sha256 = "028vpz6xss6k5wh3p6pigd47r5vrpl8fgai0spmz22ldawy61dfg"; }; packageRequires = [ ]; meta = { @@ -2620,10 +2642,10 @@ elpaBuild { pname = "doric-themes"; ename = "doric-themes"; - version = "0.6.0"; + version = "1.0.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/doric-themes-0.6.0.tar"; - sha256 = "0rfdlzxg5xsmx4qzv9ffsp82immwaj44q2kmqr9lrrzqw185gwxy"; + url = "https://elpa.gnu.org/packages/doric-themes-1.0.0.tar"; + sha256 = "0bgbqa8j5yi23b7k447q5sffr1vk8pg23qk0a56vayz62y7ga8xa"; }; packageRequires = [ ]; meta = { @@ -2822,10 +2844,10 @@ elpaBuild { pname = "eev"; ename = "eev"; - version = "20251219"; + version = "20260126"; src = fetchurl { - url = "https://elpa.gnu.org/packages/eev-20251219.tar"; - sha256 = "00q9yrcyd74nkqv32s1917s1qvgx6rg9lja5bka6i0jkwpw1rxzn"; + url = "https://elpa.gnu.org/packages/eev-20260126.tar"; + sha256 = "10n8fs61casjx7p64jvghwc15b09mmwp06af9s32z9bj73r4hyfk"; }; packageRequires = [ ]; meta = { @@ -2844,10 +2866,10 @@ elpaBuild { pname = "ef-themes"; ename = "ef-themes"; - version = "2.0.1"; + version = "2.1.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ef-themes-2.0.1.tar"; - sha256 = "039jhc3lwwp7s420078zr65k4l611n5x9bxhj2klqyzixsw4w64n"; + url = "https://elpa.gnu.org/packages/ef-themes-2.1.0.tar"; + sha256 = "09rb5pkqz63mc86f8n7969f8x27jdrhz51rh6vl0v3j4nvivv3dx"; }; packageRequires = [ modus-themes ]; meta = { @@ -2901,10 +2923,10 @@ elpaBuild { pname = "el-job"; ename = "el-job"; - version = "2.6.1"; + version = "2.7.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/el-job-2.6.1.tar"; - sha256 = "1ghpi0hgvvbqq18c0f6n4pgajjdhad8gr03xg51byablkahfwwsz"; + url = "https://elpa.gnu.org/packages/el-job-2.7.3.tar"; + sha256 = "0fvamj342grhv9b1fl0p1n831sj5jvia4sd4n17i80z20yjydn8l"; }; packageRequires = [ ]; meta = { @@ -3041,20 +3063,22 @@ llm, plz, transient, + yaml, }: elpaBuild { pname = "ellama"; ename = "ellama"; - version = "1.10.10"; + version = "1.12.18"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ellama-1.10.10.tar"; - sha256 = "1j04fmkhrdj5xnvh1c3x2s2fdn6mv2q2gckjgpi4n2wnyd87mdgg"; + url = "https://elpa.gnu.org/packages/ellama-1.12.18.tar"; + sha256 = "1r05xa4hzv3pw6b015nyaazqpj50n4b10z0vs5r4g8gxwhz5bz7p"; }; packageRequires = [ compat llm plz transient + yaml ]; meta = { homepage = "https://elpa.gnu.org/packages/ellama.html"; @@ -3755,6 +3779,27 @@ }; } ) { }; + futur = callPackage ( + { + elpaBuild, + fetchurl, + lib, + }: + elpaBuild { + pname = "futur"; + ename = "futur"; + version = "1.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/futur-1.1.tar"; + sha256 = "1q72dd6hnq3d5si9jr15nhqf5j6zk2k3c6dd3xv3k80cbfvwj9rx"; + }; + packageRequires = [ ]; + meta = { + homepage = "https://elpa.gnu.org/packages/futur.html"; + license = lib.licenses.free; + }; + } + ) { }; gcmh = callPackage ( { elpaBuild, @@ -3893,10 +3938,10 @@ elpaBuild { pname = "gnome-dark-style"; ename = "gnome-dark-style"; - version = "0.2.3"; + version = "0.2.4"; src = fetchurl { - url = "https://elpa.gnu.org/packages/gnome-dark-style-0.2.3.tar"; - sha256 = "04cp31252svf5pkkkmx9b6nlcv3v4xffn739bna77jjyrw98mhv5"; + url = "https://elpa.gnu.org/packages/gnome-dark-style-0.2.4.tar"; + sha256 = "0smdgd68ha155lc4mmv1ix8y8mk1il081cx4gap49kny5ybx3538"; }; packageRequires = [ ]; meta = { @@ -3927,6 +3972,36 @@ }; } ) { }; + gnosis = callPackage ( + { + compat, + elpaBuild, + emacsql, + fetchurl, + lib, + org-gnosis, + transient, + }: + elpaBuild { + pname = "gnosis"; + ename = "gnosis"; + version = "0.7.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/gnosis-0.7.0.tar"; + sha256 = "1l0dkwjgzh9by5hn6kfhcmjbbxyvdhfadwn104iny9ikgr9qsfih"; + }; + packageRequires = [ + compat + emacsql + org-gnosis + transient + ]; + meta = { + homepage = "https://elpa.gnu.org/packages/gnosis.html"; + license = lib.licenses.free; + }; + } + ) { }; gnu-elpa = callPackage ( { elpaBuild, @@ -4677,10 +4752,10 @@ elpaBuild { pname = "ivy-posframe"; ename = "ivy-posframe"; - version = "0.6.3"; + version = "0.6.4"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.3.tar"; - sha256 = "027lbddg4rc44jpvxsqyw9n9pi1bnsssfislg2il3hbr86v88va9"; + url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.4.tar"; + sha256 = "1lpfbr4baxha66g0pwgh3x0sgil2mrhify896raj4zal4zmbp0fk"; }; packageRequires = [ ivy @@ -4980,10 +5055,10 @@ elpaBuild { pname = "kubed"; ename = "kubed"; - version = "0.5.0"; + version = "0.5.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/kubed-0.5.0.tar"; - sha256 = "00j0yx7bknjdl6mcfimlwp7plxgn7al3fl4rfxw7s4pgqgyyslsw"; + url = "https://elpa.gnu.org/packages/kubed-0.5.1.tar"; + sha256 = "1mfb9961xi7b7a4g3687y4hhlq37j98qsvq8cl4gsgy3x8j7vs2p"; }; packageRequires = [ ]; meta = { @@ -5024,10 +5099,10 @@ elpaBuild { pname = "latex-table-wizard"; ename = "latex-table-wizard"; - version = "1.5.4"; + version = "1.5.5"; src = fetchurl { - url = "https://elpa.gnu.org/packages/latex-table-wizard-1.5.4.tar"; - sha256 = "1999kh5yi0cg1k0al3np3zi2qhrmcpzxqsfvwg0mgrg3mww4gqlw"; + url = "https://elpa.gnu.org/packages/latex-table-wizard-1.5.5.tar"; + sha256 = "1fffbaqiz3f1f2ki26b8x0cmisqhaijpw5vrh73k769wqdv09g43"; }; packageRequires = [ auctex @@ -5163,10 +5238,10 @@ elpaBuild { pname = "lin"; ename = "lin"; - version = "1.1.0"; + version = "2.0.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/lin-1.1.0.tar"; - sha256 = "1rf81r8ylq2cccx4svdkiy2rvz1rq6cw0dakrcd4jrrscww52d7c"; + url = "https://elpa.gnu.org/packages/lin-2.0.0.tar"; + sha256 = "1ga1wb0fqv2abm95ymz1ki4dy0qlbi3cliz6mbkbk6gbdd1vhmaw"; }; packageRequires = [ ]; meta = { @@ -5239,10 +5314,10 @@ elpaBuild { pname = "llm"; ename = "llm"; - version = "0.28.5"; + version = "0.29.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/llm-0.28.5.tar"; - sha256 = "0imqqp95knnjx9c2x0ipgpr82j23jiqldldkff9qx19qkp66jq9l"; + url = "https://elpa.gnu.org/packages/llm-0.29.0.tar"; + sha256 = "0pybl4wxirsi00blx18gy1786n4324mb2fvr7n1a0bfyljz2rm6k"; }; packageRequires = [ compat @@ -5477,10 +5552,10 @@ elpaBuild { pname = "marginalia"; ename = "marginalia"; - version = "2.8"; + version = "2.9"; src = fetchurl { - url = "https://elpa.gnu.org/packages/marginalia-2.8.tar"; - sha256 = "0gshbibjpzi1cxvyg1jvxgp9a1n7pgizf8nibx6kmj10liilcjmk"; + url = "https://elpa.gnu.org/packages/marginalia-2.9.tar"; + sha256 = "1a6hnqfnfyd25vk1qgcqflj4x1hcd4whn0hwkpbhnfnsmdkxzpra"; }; packageRequires = [ compat ]; meta = { @@ -5583,10 +5658,10 @@ elpaBuild { pname = "matlab-mode"; ename = "matlab-mode"; - version = "7.4.2"; + version = "8.1.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/matlab-mode-7.4.2.tar"; - sha256 = "03dfhmcmd7c5iyzv6p5p56cr88nx10jvkvmlan7953g2w10nh836"; + url = "https://elpa.gnu.org/packages/matlab-mode-8.1.1.tar"; + sha256 = "0d0zq1fhx8dn0j2b4b62zpa2y301y2gg79msrybj4bm42hsqfx8x"; }; packageRequires = [ ]; meta = { @@ -6374,10 +6449,10 @@ elpaBuild { pname = "orderless"; ename = "orderless"; - version = "1.5"; + version = "1.6"; src = fetchurl { - url = "https://elpa.gnu.org/packages/orderless-1.5.tar"; - sha256 = "188mksjaazf1rxvyqrcybya4a53j6c1xwvcbfh8s1sgv0jqxlv8z"; + url = "https://elpa.gnu.org/packages/orderless-1.6.tar"; + sha256 = "15gif01ivwg03h45azrj3kw2lgj7xnkr6p9r95m36fmfbg31csdh"; }; packageRequires = [ compat ]; meta = { @@ -6395,10 +6470,10 @@ elpaBuild { pname = "org"; ename = "org"; - version = "9.7.39"; + version = "9.8"; src = fetchurl { - url = "https://elpa.gnu.org/packages/org-9.7.39.tar"; - sha256 = "1yg50h84sqd2wfpcyxkwyvrvr30cqdqdvcl6kcsja22si19yjbxw"; + url = "https://elpa.gnu.org/packages/org-9.8.tar"; + sha256 = "1xfv6jk8gx0jv809cgpag5hcmw6n9gic2rxchb62qcnjiz4sl0q4"; }; packageRequires = [ ]; meta = { @@ -6417,10 +6492,10 @@ elpaBuild { pname = "org-contacts"; ename = "org-contacts"; - version = "1.2"; + version = "1.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/org-contacts-1.2.tar"; - sha256 = "1icdwijxii3f14f8w1wh8pcg9xy4r1hlii7lzgb7jjswxn303gaj"; + url = "https://elpa.gnu.org/packages/org-contacts-1.3.tar"; + sha256 = "052j0d81fw6ppw7l8h0dj4jiar45skmwr3li058alxrqpgkxhxfh"; }; packageRequires = [ org ]; meta = { @@ -6466,10 +6541,10 @@ elpaBuild { pname = "org-gnosis"; ename = "org-gnosis"; - version = "0.1.1"; + version = "0.2.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/org-gnosis-0.1.1.tar"; - sha256 = "0165bv6ky7zg9km7h63qzqg7rxnjdcpks4xyv0l2sidgmzimdyg5"; + url = "https://elpa.gnu.org/packages/org-gnosis-0.2.2.tar"; + sha256 = "1cdksxwq7wswmgdjdi3akdiljryxk3vw4yqfpjl1a2xzjqmvjxq7"; }; packageRequires = [ compat @@ -6694,10 +6769,10 @@ elpaBuild { pname = "osm"; ename = "osm"; - version = "2.1"; + version = "2.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/osm-2.1.tar"; - sha256 = "1nwr32n7cmfa2ckym0srs0fn3426slrhxiykx971s9sgjxydlqq2"; + url = "https://elpa.gnu.org/packages/osm-2.2.tar"; + sha256 = "0xq5gzhgxgv52kxprik15b5ijrdw7c5262ifzdcjg3vv3qv0hwy8"; }; packageRequires = [ compat ]; meta = { @@ -7070,6 +7145,27 @@ }; } ) { }; + po-mode = callPackage ( + { + elpaBuild, + fetchurl, + lib, + }: + elpaBuild { + pname = "po-mode"; + ename = "po-mode"; + version = "2.32"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/po-mode-2.32.tar"; + sha256 = "0s83gjzmjqn3b80wrha7g9jp329df9qrzs66h2v6dv2inkdasn42"; + }; + packageRequires = [ ]; + meta = { + homepage = "https://elpa.gnu.org/packages/po-mode.html"; + license = lib.licenses.free; + }; + } + ) { }; poke = callPackage ( { elpaBuild, @@ -7163,10 +7259,10 @@ elpaBuild { pname = "posframe"; ename = "posframe"; - version = "1.5.0"; + version = "1.5.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/posframe-1.5.0.tar"; - sha256 = "0yk38fc08fgxwai6dn6da9yykcmq3bd4x7msfnlrg081b15q9a32"; + url = "https://elpa.gnu.org/packages/posframe-1.5.1.tar"; + sha256 = "1g1pcf83w4fv299ykvx7b93kxkc58fkr6yk39sxny5g16d4gl80g"; }; packageRequires = [ ]; meta = { @@ -7206,10 +7302,10 @@ elpaBuild { pname = "preview-auto"; ename = "preview-auto"; - version = "0.4.1"; + version = "0.4.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/preview-auto-0.4.1.tar"; - sha256 = "0wdjka1wixhlzi1sksswa2jnialpna0gj770z0gl6faxdi310p9l"; + url = "https://elpa.gnu.org/packages/preview-auto-0.4.2.tar"; + sha256 = "1fg4nxzqjk13q9yvhrjmm9qqrszf9xd2n9jfji2v31f0rphlkc3p"; }; packageRequires = [ auctex ]; meta = { @@ -7837,10 +7933,10 @@ elpaBuild { pname = "relint"; ename = "relint"; - version = "2.1"; + version = "2.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/relint-2.1.tar"; - sha256 = "0ikml87y0k85qd92m3l1gkzjd9ng3mhjfk19w15ln0w801351cq0"; + url = "https://elpa.gnu.org/packages/relint-2.2.tar"; + sha256 = "01x0134f3z7vh7b730lfrsnpwqqjj65z291gpm8qyai9fimljsn3"; }; packageRequires = [ xr ]; meta = { @@ -8808,10 +8904,10 @@ elpaBuild { pname = "switchy-window"; ename = "switchy-window"; - version = "1.3"; + version = "1.4"; src = fetchurl { - url = "https://elpa.gnu.org/packages/switchy-window-1.3.tar"; - sha256 = "0ym5cy6czsrd15f8rgh3dad8fwn8pb2xrvhlmdikc59cc29zamrv"; + url = "https://elpa.gnu.org/packages/switchy-window-1.4.tar"; + sha256 = "1y8a791d1qmmvsjj39fs4rr3zx77xbxc7z21fchwqr5hjhs5gxc9"; }; packageRequires = [ compat ]; meta = { @@ -8984,10 +9080,10 @@ elpaBuild { pname = "tempel"; ename = "tempel"; - version = "1.9"; + version = "1.11"; src = fetchurl { - url = "https://elpa.gnu.org/packages/tempel-1.9.tar"; - sha256 = "128yfnfnd0nd7ck39d9inr3vcbg2w2a5kms5a2l8aba2cb6valnb"; + url = "https://elpa.gnu.org/packages/tempel-1.11.tar"; + sha256 = "1gg91q755nk4f17d3av4ss55wxx87kzg7h37drkng6zvmi9c8k4i"; }; packageRequires = [ compat ]; meta = { @@ -9175,10 +9271,10 @@ elpaBuild { pname = "tmr"; ename = "tmr"; - version = "1.2.1"; + version = "1.3.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/tmr-1.2.1.tar"; - sha256 = "1jx3j9pgr4z5f70jr5byq9b27z4l6q7r4pjzq9dzw6q30wk2kv8p"; + url = "https://elpa.gnu.org/packages/tmr-1.3.0.tar"; + sha256 = "0sv0kaz8z0lldkcplyzh7k99s4jqj3bzr9gb5mqjwpp747hj0qlq"; }; packageRequires = [ ]; meta = { @@ -9264,10 +9360,10 @@ elpaBuild { pname = "tramp"; ename = "tramp"; - version = "2.8.1"; + version = "2.8.1.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/tramp-2.8.1.tar"; - sha256 = "0c0k9a69m1li6z1k36q0gmkwks106ghsmz4iz3k9c18979jmn0y1"; + url = "https://elpa.gnu.org/packages/tramp-2.8.1.1.tar"; + sha256 = "177297mj3qyj23s6g4x8c960vvbsbzkqy6xzfngi3ghsj55injk4"; }; packageRequires = [ ]; meta = { @@ -9954,10 +10050,10 @@ elpaBuild { pname = "vertico-posframe"; ename = "vertico-posframe"; - version = "0.9.0"; + version = "0.9.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/vertico-posframe-0.9.0.tar"; - sha256 = "16vnacmz52d1rwdmddsr1rm1zki1p3bw10ngpw39a3dszbwqkl3m"; + url = "https://elpa.gnu.org/packages/vertico-posframe-0.9.2.tar"; + sha256 = "1xq30aj2jkk1g4gnniixg0rzh03irf7vci551fwd6gg50sphaqj4"; }; packageRequires = [ posframe @@ -10168,10 +10264,10 @@ elpaBuild { pname = "websocket"; ename = "websocket"; - version = "1.15"; + version = "1.16"; src = fetchurl { - url = "https://elpa.gnu.org/packages/websocket-1.15.tar"; - sha256 = "0cm3x6qzr4zqj46w0qfpn7n9g5z80figcv824869snvc74465h1g"; + url = "https://elpa.gnu.org/packages/websocket-1.16.tar"; + sha256 = "0an37jb4zalfl27gg731yg33cpic34g3fqsc0b8987dcn0szf7xi"; }; packageRequires = [ cl-lib ]; meta = { @@ -10475,10 +10571,10 @@ elpaBuild { pname = "xr"; ename = "xr"; - version = "2.1"; + version = "2.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/xr-2.1.tar"; - sha256 = "1yssl7av2rpanzmm93iw74acnb3pbrnh0b51kr64wcj6hwb26cy2"; + url = "https://elpa.gnu.org/packages/xr-2.2.tar"; + sha256 = "0d2hwn73g51gzm8ank41sfcyk87ys2s1cl9zk0h763yjd48r6jqf"; }; packageRequires = [ ]; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-generated.nix index d2884a6d3045f..63845a79c4096 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-generated.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-generated.nix @@ -9,10 +9,10 @@ elpaBuild { pname = "adoc-mode"; ename = "adoc-mode"; - version = "0.8.0snapshot0.20250206.83825"; + version = "0.8.0.0.20260221.220754"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/adoc-mode-0.8.0snapshot0.20250206.83825.tar"; - sha256 = "0b9lbxk5q0hr7j86wpxrkbg626srkc9jhycqi7qb3yqsn1pr4khc"; + url = "https://elpa.nongnu.org/nongnu-devel/adoc-mode-0.8.0.0.20260221.220754.tar"; + sha256 = "19cn5vm963pygzi42r7zw0n7g1adipa0k8f8chwlwibhzwmx3vyz"; }; packageRequires = [ ]; meta = { @@ -333,10 +333,10 @@ elpaBuild { pname = "bash-completion"; ename = "bash-completion"; - version = "3.2.1snapshot0.20250721.202603"; + version = "3.2.1snapshot0.20260206.145951"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/bash-completion-3.2.1snapshot0.20250721.202603.tar"; - sha256 = "0vx9d3216n3p39fkch1z3kmsbszqcdhf1j4wiqp15y034j2g5gk1"; + url = "https://elpa.nongnu.org/nongnu-devel/bash-completion-3.2.1snapshot0.20260206.145951.tar"; + sha256 = "08ffm5d4b9d553q49zgnp00wf5a3cvzshwqv3kqfgb9wp29wqpja"; }; packageRequires = [ ]; meta = { @@ -580,6 +580,7 @@ cider = callPackage ( { clojure-mode, + compat, elpaBuild, fetchurl, lib, @@ -593,13 +594,14 @@ elpaBuild { pname = "cider"; ename = "cider"; - version = "1.21.0snapshot0.20260116.151439"; + version = "1.22.0snapshot0.20260221.61239"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/cider-1.21.0snapshot0.20260116.151439.tar"; - sha256 = "0llq2w0calxzcqh6pf23cp7fwl2pzj117hd9fawmq0lrbxkxqpk2"; + url = "https://elpa.nongnu.org/nongnu-devel/cider-1.22.0snapshot0.20260221.61239.tar"; + sha256 = "03sazabqwy7hizs3dj6vwarkhl4l6jqil1dg5w77pv4f250sk3z8"; }; packageRequires = [ clojure-mode + compat parseedn queue seq @@ -622,10 +624,10 @@ elpaBuild { pname = "clojure-mode"; ename = "clojure-mode"; - version = "5.20.0.0.20260116.81811"; + version = "5.21.0.0.20260220.185145"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/clojure-mode-5.20.0.0.20260116.81811.tar"; - sha256 = "0bymqysm90zxz09mrljyrihk255kmisfz48mbrc0z267gj26zz00"; + url = "https://elpa.nongnu.org/nongnu-devel/clojure-mode-5.21.0.0.20260220.185145.tar"; + sha256 = "0vzi5bd60wz6my44yiq5g8xdgk6rv09nr034gf0qgql3ww34ggsy"; }; packageRequires = [ ]; meta = { @@ -643,10 +645,10 @@ elpaBuild { pname = "clojure-ts-mode"; ename = "clojure-ts-mode"; - version = "0.6.0.0.20251202.152125"; + version = "0.6.0.0.20260223.181343"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/clojure-ts-mode-0.6.0.0.20251202.152125.tar"; - sha256 = "16agzwvi3wlhiagff0v160kvgif5j30a0i7nkqhhx322l7198wfi"; + url = "https://elpa.nongnu.org/nongnu-devel/clojure-ts-mode-0.6.0.0.20260223.181343.tar"; + sha256 = "0yrbddm4qv5xdn9vj3k9h0j62v5rv7l1yrdl0idw9094ln25k418"; }; packageRequires = [ ]; meta = { @@ -685,10 +687,10 @@ elpaBuild { pname = "cond-let"; ename = "cond-let"; - version = "0.2.1.0.20260118.133210"; + version = "0.2.2.0.20260201.150042"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/cond-let-0.2.1.0.20260118.133210.tar"; - sha256 = "0wmj57krcv3k9lvj2a9lzg155rfg5vvzl518mfx08bn5ycb6w9ra"; + url = "https://elpa.nongnu.org/nongnu-devel/cond-let-0.2.2.0.20260201.150042.tar"; + sha256 = "0fy4kji48wj5v1jf78kmd011v5v4q5b5n32mhhixv83243hng2fb"; }; packageRequires = [ ]; meta = { @@ -1057,10 +1059,10 @@ elpaBuild { pname = "dracula-theme"; ename = "dracula-theme"; - version = "1.8.3.0.20250626.195550"; + version = "1.8.3.0.20260224.145537"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/dracula-theme-1.8.3.0.20250626.195550.tar"; - sha256 = "14zlkirydnlydivmccg5129amnjmy6238m1b8b7gq68qz95spjxz"; + url = "https://elpa.nongnu.org/nongnu-devel/dracula-theme-1.8.3.0.20260224.145537.tar"; + sha256 = "0g83cgcackysjh5x35j0vniqyysk1lgijk0mhmgnwnhm2fji1b74"; }; packageRequires = [ ]; meta = { @@ -1164,10 +1166,10 @@ elpaBuild { pname = "editorconfig"; ename = "editorconfig"; - version = "0.11.0.0.20260117.231845"; + version = "0.11.0.0.20260122.182806"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/editorconfig-0.11.0.0.20260117.231845.tar"; - sha256 = "1ys0m58c19598l6cakzl8m3931fcbs9f4c2fk76qhc5142np20w8"; + url = "https://elpa.nongnu.org/nongnu-devel/editorconfig-0.11.0.0.20260122.182806.tar"; + sha256 = "0vncm8w0vcqzjh28fglf6s7ryxa0kgfy5n3kkxkyksbczyndwprj"; }; packageRequires = [ ]; meta = { @@ -1229,10 +1231,10 @@ elpaBuild { pname = "eldoc-mouse"; ename = "eldoc-mouse"; - version = "3.0.2.0.20251228.31655"; + version = "3.0.3.0.20260130.135227"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/eldoc-mouse-3.0.2.0.20251228.31655.tar"; - sha256 = "0wjk8wxsf8l4sxp9xbmi0ihq8d6z5m60789hiyv4whhy67cwlwk8"; + url = "https://elpa.nongnu.org/nongnu-devel/eldoc-mouse-3.0.3.0.20260130.135227.tar"; + sha256 = "0damazadfsr04q3vwgll2mfh67nixbfkf40ix213k45dlf399gqb"; }; packageRequires = [ eglot @@ -1274,10 +1276,10 @@ elpaBuild { pname = "elpher"; ename = "elpher"; - version = "3.6.6.0.20250929.142203"; + version = "3.7.0.0.20260221.92032"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/elpher-3.6.6.0.20250929.142203.tar"; - sha256 = "03p5z3r79303vxxs0q5cxhfmnjc18yr76pnfrsga11my6c9j7lza"; + url = "https://elpa.nongnu.org/nongnu-devel/elpher-3.7.0.0.20260221.92032.tar"; + sha256 = "0s9akzwg59v97895kn941iqiqvw5p6mnqg3fxjydklssg7691ng5"; }; packageRequires = [ ]; meta = { @@ -1295,10 +1297,10 @@ elpaBuild { pname = "emacsql"; ename = "emacsql"; - version = "4.3.4.0.20260104.4346"; + version = "4.3.5.0.20260201.151238"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/emacsql-4.3.4.0.20260104.4346.tar"; - sha256 = "1gpbv5plfcjzvf03gwgq0b2n0kff9xqwk32jpdl9209d8fmiw2q8"; + url = "https://elpa.nongnu.org/nongnu-devel/emacsql-4.3.5.0.20260201.151238.tar"; + sha256 = "0fb7538qanp4dr8mgm17x0vvyyzn9dy50ymphhj21zy9almjrlsj"; }; packageRequires = [ ]; meta = { @@ -1426,6 +1428,28 @@ }; } ) { }; + evil-emacs-cursor-model-mode = callPackage ( + { + elpaBuild, + evil, + fetchurl, + lib, + }: + elpaBuild { + pname = "evil-emacs-cursor-model-mode"; + ename = "evil-emacs-cursor-model-mode"; + version = "0.1.3.0.20260225.15950"; + src = fetchurl { + url = "https://elpa.nongnu.org/nongnu-devel/evil-emacs-cursor-model-mode-0.1.3.0.20260225.15950.tar"; + sha256 = "0xx8vzkmggvvhanxq9xyrsrqiby0054agwpjmflqgvkvyrfvxzyc"; + }; + packageRequires = [ evil ]; + meta = { + homepage = "https://elpa.nongnu.org/nongnu-devel/evil-emacs-cursor-model-mode.html"; + license = lib.licenses.free; + }; + } + ) { }; evil-escape = callPackage ( { cl-lib ? null, @@ -1766,10 +1790,10 @@ elpaBuild { pname = "fedi"; ename = "fedi"; - version = "0.2.0.20250812.64538"; + version = "0.3.0.20260223.132625"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/fedi-0.2.0.20250812.64538.tar"; - sha256 = "11s2l27vkzyrng931r5835xvh7jkq0vp30fpwihzsgq17g53h3i6"; + url = "https://elpa.nongnu.org/nongnu-devel/fedi-0.3.0.20260223.132625.tar"; + sha256 = "15cvwfyvixac3vvfjnmz0fvfzk5iq9sndnryzi3zlp3njjjds0wv"; }; packageRequires = [ markdown-mode ]; meta = { @@ -1791,10 +1815,10 @@ elpaBuild { pname = "fj"; ename = "fj"; - version = "0.28.0.20251030.134543"; + version = "0.32.0.20260225.163009"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/fj-0.28.0.20251030.134543.tar"; - sha256 = "1fihl80jlsyb9w1f6dwd5rsrzaaxazb1cj8cp8yj4cajh4gmf8ms"; + url = "https://elpa.nongnu.org/nongnu-devel/fj-0.32.0.20260225.163009.tar"; + sha256 = "0vjqihc0bj0zizl3mjzsrvj09pzkv6lpp83157ppb6vfirs1vv4g"; }; packageRequires = [ fedi @@ -1866,10 +1890,10 @@ elpaBuild { pname = "flycheck"; ename = "flycheck"; - version = "35.0.0.20251205.82912"; + version = "36.0.0.20260224.192350"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/flycheck-35.0.0.20251205.82912.tar"; - sha256 = "175y7spmj63v0pz7j9jd692ls23z2nicik14kl8m7ik4g2vhq0gp"; + url = "https://elpa.nongnu.org/nongnu-devel/flycheck-36.0.0.20260224.192350.tar"; + sha256 = "1lcly3ip5n788q0a64yzd0gnlndxnqqg7dbwf0ypq04zjnakwr3x"; }; packageRequires = [ seq ]; meta = { @@ -2368,10 +2392,10 @@ elpaBuild { pname = "gnosis"; ename = "gnosis"; - version = "0.5.8.0.20260114.45444"; + version = "0.7.0.0.20260224.120212"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/gnosis-0.5.8.0.20260114.45444.tar"; - sha256 = "17w44h3rsk5l8h48mgxz7wsmn3856zkqdiwzy4f1s8x55riqq7k3"; + url = "https://elpa.nongnu.org/nongnu-devel/gnosis-0.7.0.0.20260224.120212.tar"; + sha256 = "1znf3ilss269f9h8l5bh3yfhm7kyyqb83ia296vw4n728gmy7bb7"; }; packageRequires = [ compat @@ -2437,10 +2461,10 @@ elpaBuild { pname = "gnuplot"; ename = "gnuplot"; - version = "0.11.0.20260117.175416"; + version = "0.11.0.20260122.130054"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/gnuplot-0.11.0.20260117.175416.tar"; - sha256 = "06hx09gk1l6z67n5djryw2h9dvp7d9drcq5xawcrxbvbx836fwir"; + url = "https://elpa.nongnu.org/nongnu-devel/gnuplot-0.11.0.20260122.130054.tar"; + sha256 = "1qprpdry88b318774l26z7qddmnbf9nidzmc0bnhdgcxrbz3hnnk"; }; packageRequires = [ compat ]; meta = { @@ -2544,10 +2568,10 @@ elpaBuild { pname = "gptel"; ename = "gptel"; - version = "0.9.9.3.0.20260115.231046"; + version = "0.9.9.4.0.20260221.172046"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/gptel-0.9.9.3.0.20260115.231046.tar"; - sha256 = "05bjx9458zx5la3s16z2j7m69aapwmpf7vcfkhwsgnh52703qzxv"; + url = "https://elpa.nongnu.org/nongnu-devel/gptel-0.9.9.4.0.20260221.172046.tar"; + sha256 = "0hnnr6idzw1x990ggnj35rmw20316v2q5jxb1ymgsi88ii20i074"; }; packageRequires = [ compat @@ -2568,10 +2592,10 @@ elpaBuild { pname = "graphql-mode"; ename = "graphql-mode"; - version = "1.0.0.0.20260102.175142"; + version = "1.0.0.0.20260214.124443"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/graphql-mode-1.0.0.0.20260102.175142.tar"; - sha256 = "0bpjij54jnn4jamcdvdxbsmza0g6c3h41300sn5yk4p8g8x85fcr"; + url = "https://elpa.nongnu.org/nongnu-devel/graphql-mode-1.0.0.0.20260214.124443.tar"; + sha256 = "141z96ax3kqy2b046v2c7k5sb2mw27hr5x7zi58r1yfyhqi4x3a9"; }; packageRequires = [ ]; meta = { @@ -2675,10 +2699,10 @@ elpaBuild { pname = "haskell-mode"; ename = "haskell-mode"; - version = "17.5.0.20251121.55413"; + version = "17.5.0.20260206.105045"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/haskell-mode-17.5.0.20251121.55413.tar"; - sha256 = "191bcwnj5bf1yvg7a6cwhhjljzkgrbis56gq3jn9c79dm4zffmkq"; + url = "https://elpa.nongnu.org/nongnu-devel/haskell-mode-17.5.0.20260206.105045.tar"; + sha256 = "012w356crya0ik9p16xlkykk1xv9yk4w3k029xrmjhjw1jqvkybd"; }; packageRequires = [ ]; meta = { @@ -2741,10 +2765,10 @@ elpaBuild { pname = "helm"; ename = "helm"; - version = "4.0.6.0.20260108.71401"; + version = "4.0.6.0.20260214.143216"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/helm-4.0.6.0.20260108.71401.tar"; - sha256 = "03sxqk99cxvvm2mwhb8wj81ixgv5cc692k29kni3zm5g6n4p18wl"; + url = "https://elpa.nongnu.org/nongnu-devel/helm-4.0.6.0.20260214.143216.tar"; + sha256 = "0v1j7vvpw5m6cjrbmzbjssw8n7r4ipxkzwl13z351lqx81q27p9b"; }; packageRequires = [ helm-core @@ -2766,10 +2790,10 @@ elpaBuild { pname = "helm-core"; ename = "helm-core"; - version = "4.0.6.0.20260108.71401"; + version = "4.0.6.0.20260214.143216"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/helm-core-4.0.6.0.20260108.71401.tar"; - sha256 = "1z6ka0dbjgw8i9brl26miivddiwgbw641zqd27mxqlmhb3xq5n28"; + url = "https://elpa.nongnu.org/nongnu-devel/helm-core-4.0.6.0.20260214.143216.tar"; + sha256 = "09rmliclxhzbai5cgy3f1bg1y9nk6a3xig79iz6yxfc26qs1kkh2"; }; packageRequires = [ async ]; meta = { @@ -2977,10 +3001,10 @@ elpaBuild { pname = "idris-mode"; ename = "idris-mode"; - version = "1.1.0.0.20251203.154827"; + version = "1.1.0.0.20260209.110723"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/idris-mode-1.1.0.0.20251203.154827.tar"; - sha256 = "1vdyd551nbadsxkyy9zi2247rn8yz3fyxp8nrdcc19vkdx895wdi"; + url = "https://elpa.nongnu.org/nongnu-devel/idris-mode-1.1.0.0.20260209.110723.tar"; + sha256 = "19rw6k40qkn4b11vhr95w71rdfqdmrr27ga8vdj7imb812wcdqyy"; }; packageRequires = [ cl-lib @@ -3023,10 +3047,10 @@ elpaBuild { pname = "inf-clojure"; ename = "inf-clojure"; - version = "3.3.0.0.20250525.205532"; + version = "3.4.0snapshot0.20260220.143715"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/inf-clojure-3.3.0.0.20250525.205532.tar"; - sha256 = "1q4cibg107pcg1cirqmmzhvbyyzlm76aqfyqad8m6ds76jv3kkcg"; + url = "https://elpa.nongnu.org/nongnu-devel/inf-clojure-3.4.0snapshot0.20260220.143715.tar"; + sha256 = "1m0jah1rfd6csqafiqq44d8l3g97d51a1gwyhr8pxc7d82ng8sfn"; }; packageRequires = [ clojure-mode ]; meta = { @@ -3086,10 +3110,10 @@ elpaBuild { pname = "isl"; ename = "isl"; - version = "1.6.0.20260105.45206"; + version = "1.6.0.20260225.43822"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/isl-1.6.0.20260105.45206.tar"; - sha256 = "07srq23d165cbk2c31ibi5snh113qg387ycdfkndffc7s1n3jr7f"; + url = "https://elpa.nongnu.org/nongnu-devel/isl-1.6.0.20260225.43822.tar"; + sha256 = "05fq6l8c8w4bkfkh2cmmmdnjwa6hmfpv00avkp6r5fz4v9fnkvwq"; }; packageRequires = [ ]; meta = { @@ -3175,10 +3199,10 @@ elpaBuild { pname = "javelin"; ename = "javelin"; - version = "0.2.3.0.20260105.173516"; + version = "0.2.3.0.20260215.104721"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/javelin-0.2.3.0.20260105.173516.tar"; - sha256 = "0vv0kk0pvdmyr7arargdxrldkk4m8b43i2jb0w4lia5pfn66h6kl"; + url = "https://elpa.nongnu.org/nongnu-devel/javelin-0.2.3.0.20260215.104721.tar"; + sha256 = "18w050yhf4avkmynyd80gf39bg5bhj7r8p09cflsaa16zni5169y"; }; packageRequires = [ ]; meta = { @@ -3217,10 +3241,10 @@ elpaBuild { pname = "julia-mode"; ename = "julia-mode"; - version = "1.0.2.0.20250428.81943"; + version = "1.1.0.0.20260204.80729"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/julia-mode-1.0.2.0.20250428.81943.tar"; - sha256 = "05sx6pwwrvxwrpd1fskhqnr8yvzav7yafk7im5iscxic061xggpv"; + url = "https://elpa.nongnu.org/nongnu-devel/julia-mode-1.1.0.0.20260204.80729.tar"; + sha256 = "1xx4vc8j2s0d3l6jby164kwwm90pxk3igd9xcbxblgdqspd5g5cw"; }; packageRequires = [ ]; meta = { @@ -3308,10 +3332,10 @@ elpaBuild { pname = "llama"; ename = "llama"; - version = "1.0.3.0.20260101.183011"; + version = "1.0.3.0.20260217.210434"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/llama-1.0.3.0.20260101.183011.tar"; - sha256 = "1z3j7rg8v7hrgjhz914gqms6566hvxrhs3ylxg3ljbrz1rql23a2"; + url = "https://elpa.nongnu.org/nongnu-devel/llama-1.0.3.0.20260217.210434.tar"; + sha256 = "072q29wxq1jnhbiva7sw4kxi2j5rsbpp1zsyii9phk28h6hwb2h4"; }; packageRequires = [ compat ]; meta = { @@ -3332,10 +3356,10 @@ elpaBuild { pname = "logview"; ename = "logview"; - version = "0.19.4snapshot0.20251104.172505"; + version = "0.19.4snapshot0.20260218.201306"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/logview-0.19.4snapshot0.20251104.172505.tar"; - sha256 = "1j1sy2z3w9k6h5b9dszshfy2l34v73qyr3y9l11zf2yzzm90lwz1"; + url = "https://elpa.nongnu.org/nongnu-devel/logview-0.19.4snapshot0.20260218.201306.tar"; + sha256 = "1f49zs4w4wmn7famsc3ay8n7834c8zk2z3xmw74sk3744ygrc8d3"; }; packageRequires = [ compat @@ -3361,10 +3385,10 @@ elpaBuild { pname = "loopy"; ename = "loopy"; - version = "0.15.0.0.20260110.235316"; + version = "0.15.0.0.20260222.160925"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/loopy-0.15.0.0.20260110.235316.tar"; - sha256 = "0kg0qszanbmfsdgakpdxaa9bp6jv44900slhk96kkip9r8im3yg5"; + url = "https://elpa.nongnu.org/nongnu-devel/loopy-0.15.0.0.20260222.160925.tar"; + sha256 = "11cwl779qgv9r3l5ajpki0zy3zycspdnlgjdvynpq9mqqqgsx3rx"; }; packageRequires = [ compat @@ -3488,10 +3512,10 @@ elpaBuild { pname = "magit"; ename = "magit"; - version = "4.5.0.0.20260116.172240"; + version = "4.5.0.0.20260221.163408"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/magit-4.5.0.0.20260116.172240.tar"; - sha256 = "12y9glvz78dbziimfpfylskigg0qzhn09rlfiigbjhj3436pqp9p"; + url = "https://elpa.nongnu.org/nongnu-devel/magit-4.5.0.0.20260221.163408.tar"; + sha256 = "0w75prlzii0adc9ha3dia8g1x35nhg1g8v0mi34alclbimwmnxyg"; }; packageRequires = [ compat @@ -3521,10 +3545,10 @@ elpaBuild { pname = "magit-section"; ename = "magit-section"; - version = "4.5.0.0.20260116.172240"; + version = "4.5.0.0.20260221.163408"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/magit-section-4.5.0.0.20260116.172240.tar"; - sha256 = "1jax2rfr5znpr4miscy8byx7yimzq1qizdb1ldv4dhv6vwbmaa3z"; + url = "https://elpa.nongnu.org/nongnu-devel/magit-section-4.5.0.0.20260221.163408.tar"; + sha256 = "108l2sgfximlcmp8m70qpmgzqhhj7njc2rz2dvw34ll88n6wpf57"; }; packageRequires = [ compat @@ -3547,10 +3571,10 @@ elpaBuild { pname = "markdown-mode"; ename = "markdown-mode"; - version = "2.8alpha0.20251204.85213"; + version = "2.8alpha0.20260209.45942"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/markdown-mode-2.8alpha0.20251204.85213.tar"; - sha256 = "01h8yxfi54691ph8idzlh80lnx1wjapv0hq0vbffcr5z6pk5s00l"; + url = "https://elpa.nongnu.org/nongnu-devel/markdown-mode-2.8alpha0.20260209.45942.tar"; + sha256 = "1n26jwk0qfzw3gzb2h0f3c7606x6bj30l7gk3q71zxnvzzzd40rk"; }; packageRequires = [ ]; meta = { @@ -3687,10 +3711,10 @@ elpaBuild { pname = "moe-theme"; ename = "moe-theme"; - version = "1.1.0.0.20251218.53629"; + version = "1.1.0.0.20260211.61732"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/moe-theme-1.1.0.0.20251218.53629.tar"; - sha256 = "09dgdxlcgvsssq9s6p2xkh1c3lyaaqcpgxgaicvvsv75h22mn8a0"; + url = "https://elpa.nongnu.org/nongnu-devel/moe-theme-1.1.0.0.20260211.61732.tar"; + sha256 = "0ids4skv6cyk36qww44kmds347l78kppaj96ra2d59ni2wl4jdbz"; }; packageRequires = [ ]; meta = { @@ -3927,10 +3951,10 @@ elpaBuild { pname = "org-contrib"; ename = "org-contrib"; - version = "0.7.0.20251011.144539"; + version = "0.8.0.20260221.192041"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/org-contrib-0.7.0.20251011.144539.tar"; - sha256 = "02v12mhpfd7i0m7y5cij6zq8lqamrplc4ybdkya66zw8dwh5y1mn"; + url = "https://elpa.nongnu.org/nongnu-devel/org-contrib-0.8.0.20260221.192041.tar"; + sha256 = "15mrdfmj4nxqh7ayyc2nyhxak5ymfsa9ym8dl8gwjsc8xym9jidd"; }; packageRequires = [ org ]; meta = { @@ -4114,10 +4138,10 @@ elpaBuild { pname = "orgit"; ename = "orgit"; - version = "2.1.1.0.20260101.185122"; + version = "2.1.1.0.20260201.145846"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/orgit-2.1.1.0.20260101.185122.tar"; - sha256 = "04437y8svn6i05rwvlnna0cca2dnj1h59wlsiknpw4bfikx5svm6"; + url = "https://elpa.nongnu.org/nongnu-devel/orgit-2.1.1.0.20260201.145846.tar"; + sha256 = "0wgvhkfq0x876pw2lad9bq5xh5mla604wzvrh3l4zklqif18y7m4"; }; packageRequires = [ compat @@ -4363,10 +4387,10 @@ elpaBuild { pname = "pg"; ename = "pg"; - version = "0.62.0.20251230.93152"; + version = "0.63.0.20260208.141935"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/pg-0.62.0.20251230.93152.tar"; - sha256 = "1k0miw933f4526wikl6s22h286hilzmq322i17igsnzi0b1d3304"; + url = "https://elpa.nongnu.org/nongnu-devel/pg-0.63.0.20260208.141935.tar"; + sha256 = "1jkddkiv4izp64ad4gl4a335znds8vak9mly9vx00arzs9cg255r"; }; packageRequires = [ peg ]; meta = { @@ -4461,6 +4485,7 @@ ) { }; projectile = callPackage ( { + compat, elpaBuild, fetchurl, lib, @@ -4468,12 +4493,12 @@ elpaBuild { pname = "projectile"; ename = "projectile"; - version = "2.9.1.0.20260109.133628"; + version = "2.10.0snapshot0.20260216.65235"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/projectile-2.9.1.0.20260109.133628.tar"; - sha256 = "0y7mf322fa533h2jc0hwwr1nh0m7bk6xzbcc1w4x7iiq520rs3mf"; + url = "https://elpa.nongnu.org/nongnu-devel/projectile-2.10.0snapshot0.20260216.65235.tar"; + sha256 = "0a79a85scyrpvrcbqb4n2cjjjgbhf61qm2ilkwk8mspym4g0b41v"; }; - packageRequires = [ ]; + packageRequires = [ compat ]; meta = { homepage = "https://elpa.nongnu.org/nongnu-devel/projectile.html"; license = lib.licenses.free; @@ -4489,10 +4514,10 @@ elpaBuild { pname = "proof-general"; ename = "proof-general"; - version = "4.6snapshot0.20260113.122819"; + version = "4.6snapshot0.20260124.135141"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/proof-general-4.6snapshot0.20260113.122819.tar"; - sha256 = "0cwxfbad97py7lax387dv5drwmwgmi3qcy191fq1sdj8pc9c7b1v"; + url = "https://elpa.nongnu.org/nongnu-devel/proof-general-4.6snapshot0.20260124.135141.tar"; + sha256 = "0wjjip6pph8s8j613md5j6f5ba40cl88v44i88s6s11ixrmd73sl"; }; packageRequires = [ ]; meta = { @@ -4554,10 +4579,10 @@ elpaBuild { pname = "radio"; ename = "radio"; - version = "0.4.1.0.20250305.101402"; + version = "0.4.3.0.20260212.144358"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/radio-0.4.1.0.20250305.101402.tar"; - sha256 = "0l71sgr2a3xpmq3s6ilzk89psjl2zymc15v2la3zd0iw1xbd97x6"; + url = "https://elpa.nongnu.org/nongnu-devel/radio-0.4.3.0.20260212.144358.tar"; + sha256 = "0bjxl75zi9fkz0wqx2b70rjkv5mngx5g7az4zx5jgim85qs2cpyg"; }; packageRequires = [ ]; meta = { @@ -4680,10 +4705,10 @@ elpaBuild { pname = "rfc-mode"; ename = "rfc-mode"; - version = "1.4.2.0.20231013.135347"; + version = "1.4.2.0.20260127.180740"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/rfc-mode-1.4.2.0.20231013.135347.tar"; - sha256 = "0jp5xamraan313nsgy8w7c91jjvqrxphzsm2wg8sgnj00zpr3jfb"; + url = "https://elpa.nongnu.org/nongnu-devel/rfc-mode-1.4.2.0.20260127.180740.tar"; + sha256 = "1i01x9k208zasil586q1jz28hdl5hpx964a6bgb6wwgf9ya79xlx"; }; packageRequires = [ ]; meta = { @@ -4743,10 +4768,10 @@ elpaBuild { pname = "rust-mode"; ename = "rust-mode"; - version = "1.0.6.0.20260118.53640"; + version = "1.0.6.0.20260207.42454"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/rust-mode-1.0.6.0.20260118.53640.tar"; - sha256 = "1lzaji5bxznmm55xnyz93q2rf3x7p3873z0gw3ml08mng0gj99w7"; + url = "https://elpa.nongnu.org/nongnu-devel/rust-mode-1.0.6.0.20260207.42454.tar"; + sha256 = "106pv49x0ivmxal1zn9raacrbnyncg2x7a3sf52g6ij5rdcixi18"; }; packageRequires = [ ]; meta = { @@ -4918,10 +4943,10 @@ elpaBuild { pname = "slime"; ename = "slime"; - version = "2.32snapshot0.20260119.50517"; + version = "2.32snapshot0.20260224.183432"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/slime-2.32snapshot0.20260119.50517.tar"; - sha256 = "07nff1w56vv3qr6s2rx6ppwp9gc43pxnglgzanasygxs2fghn477"; + url = "https://elpa.nongnu.org/nongnu-devel/slime-2.32snapshot0.20260224.183432.tar"; + sha256 = "1vad3zbjskfaypisby9fj2sy02ifva2bjsfy9ix0rw0mpq8ggnpb"; }; packageRequires = [ macrostep ]; meta = { @@ -4961,10 +4986,10 @@ elpaBuild { pname = "smartparens"; ename = "smartparens"; - version = "1.11.0.0.20250612.105020"; + version = "1.11.0.0.20260129.121419"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/smartparens-1.11.0.0.20250612.105020.tar"; - sha256 = "1cdicjah7mbkcg43zm5la75zb7cgg15gxf9178zhd2qd71gqfl8m"; + url = "https://elpa.nongnu.org/nongnu-devel/smartparens-1.11.0.0.20260129.121419.tar"; + sha256 = "0c7cy08dk67d2fw3z24m9g598rqcf82ziwnkjgh45ywgbrrz52x1"; }; packageRequires = [ dash ]; meta = { @@ -5108,10 +5133,10 @@ elpaBuild { pname = "subatomic-theme"; ename = "subatomic-theme"; - version = "1.8.2.0.20220128.161518"; + version = "1.8.2.0.20260216.82619"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/subatomic-theme-1.8.2.0.20220128.161518.tar"; - sha256 = "1h4rr2g6lhn186df2nk026xk1x6yhh441d6mjcdrfkii17n15552"; + url = "https://elpa.nongnu.org/nongnu-devel/subatomic-theme-1.8.2.0.20260216.82619.tar"; + sha256 = "0v5jv362kicjrygyf7dkjjg8sfczwx4g783h7l4ndxn5r1l7smb6"; }; packageRequires = [ ]; meta = { @@ -5129,10 +5154,10 @@ elpaBuild { pname = "subed"; ename = "subed"; - version = "1.3.1.0.20260103.134523"; + version = "1.4.1.0.20260216.184548"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/subed-1.3.1.0.20260103.134523.tar"; - sha256 = "0m68rngydjpk2q0y766p0hbj1l6aixj3j3yl3dwmwwmbn03phfsp"; + url = "https://elpa.nongnu.org/nongnu-devel/subed-1.4.1.0.20260216.184548.tar"; + sha256 = "0fjnfxinr7lvhzd71xcvcpgq23fd57yawqhs40qy02mpq7d7h3ai"; }; packageRequires = [ ]; meta = { @@ -5413,10 +5438,10 @@ elpaBuild { pname = "tp"; ename = "tp"; - version = "0.7.0.20250206.81229"; + version = "0.8.0.20260219.143500"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/tp-0.7.0.20250206.81229.tar"; - sha256 = "14zhky7jf0afmsxrhkyvgzqh4k2yf1p829j77ryw741swj75z3av"; + url = "https://elpa.nongnu.org/nongnu-devel/tp-0.8.0.20260219.143500.tar"; + sha256 = "15szb0li4ibsaja39699rc85nvk2s466g303dp0si62h9ipha68w"; }; packageRequires = [ transient ]; meta = { @@ -5519,10 +5544,10 @@ elpaBuild { pname = "typst-ts-mode"; ename = "typst-ts-mode"; - version = "0.12.2.0.20251026.52820"; + version = "0.12.2.0.20260130.110553"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/typst-ts-mode-0.12.2.0.20251026.52820.tar"; - sha256 = "002ry7lgc61w1appzw33xgavsgc34wxjahbpjqba3rp53qmkk0m8"; + url = "https://elpa.nongnu.org/nongnu-devel/typst-ts-mode-0.12.2.0.20260130.110553.tar"; + sha256 = "19v349nhr1km00w19rxv1g4vkhl2hk9sf0y9q0cg15682qc28jjz"; }; packageRequires = [ ]; meta = { @@ -5582,10 +5607,10 @@ elpaBuild { pname = "undo-fu-session"; ename = "undo-fu-session"; - version = "0.7.0.20260108.131306"; + version = "0.8.0.20260209.75408"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/undo-fu-session-0.7.0.20260108.131306.tar"; - sha256 = "0ykdif99h5618nssnh24yqjhv47cci69x2c1g1fwb96j371ckwlj"; + url = "https://elpa.nongnu.org/nongnu-devel/undo-fu-session-0.8.0.20260209.75408.tar"; + sha256 = "1238b4i83sw5rylh73i4bd4qdm7g4hpwpas7ynyyq000zfj52jas"; }; packageRequires = [ ]; meta = { @@ -5667,10 +5692,10 @@ elpaBuild { pname = "vm"; ename = "vm"; - version = "8.3.3snapshot0.20251229.112614"; + version = "8.3.3snapshot0.20260225.71602"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/vm-8.3.3snapshot0.20251229.112614.tar"; - sha256 = "0j96fzmqljhyk0dxkwzs6y4j4x9clyslndbspcisx0qskqa3p0fg"; + url = "https://elpa.nongnu.org/nongnu-devel/vm-8.3.3snapshot0.20260225.71602.tar"; + sha256 = "1w6p8cygsvwzzci2fjjy4rysb6n888frsa1ay99p66x8kq5s7n50"; }; packageRequires = [ vcard ]; meta = { @@ -5909,10 +5934,10 @@ elpaBuild { pname = "xah-fly-keys"; ename = "xah-fly-keys"; - version = "28.11.20260106081151.0.20260106.81408"; + version = "28.11.20260215192642.0.20260215.201333"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu-devel/xah-fly-keys-28.11.20260106081151.0.20260106.81408.tar"; - sha256 = "0bfjylai4ck3nb73h6863gbb0pka84gh7wys5h2dq1k5bhx8sfqi"; + url = "https://elpa.nongnu.org/nongnu-devel/xah-fly-keys-28.11.20260215192642.0.20260215.201333.tar"; + sha256 = "08pdqfglkl150pw43llm5z3a2mpzdil315a732i7fa4a27qwkxfn"; }; packageRequires = [ ]; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix index cff4fee2ec5e9..050c852b2b6f1 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix @@ -9,10 +9,10 @@ elpaBuild { pname = "adoc-mode"; ename = "adoc-mode"; - version = "0.7.0"; + version = "0.8.0"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/adoc-mode-0.7.0.tar"; - sha256 = "1gdjgybpbw3qj9mfmq9ljx4xaam1f6rwyrav2y2f5fpv6z7w0i61"; + url = "https://elpa.nongnu.org/nongnu/adoc-mode-0.8.0.tar"; + sha256 = "16459ial82gybqjm8ib0cxry6daipak4baxiz2wnldgy5vpgjnrd"; }; packageRequires = [ ]; meta = { @@ -593,10 +593,10 @@ elpaBuild { pname = "cider"; ename = "cider"; - version = "1.20.0"; + version = "1.21.0"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/cider-1.20.0.tar"; - sha256 = "1s1jw1dc8r7aqjc4vkgcsz193fnhrd6lrz54bim839sfyfv2rhb8"; + url = "https://elpa.nongnu.org/nongnu/cider-1.21.0.tar"; + sha256 = "0rfjq6fqvam9v7mcx1459p377ryzi9wf7p2dn68nd51f324hx0gj"; }; packageRequires = [ clojure-mode @@ -622,10 +622,10 @@ elpaBuild { pname = "clojure-mode"; ename = "clojure-mode"; - version = "5.20.0"; + version = "5.21.0"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/clojure-mode-5.20.0.tar"; - sha256 = "16myla7yfknxf36w0n09xg2rr4z4374gs6iqb9spf9hmw0d6z800"; + url = "https://elpa.nongnu.org/nongnu/clojure-mode-5.21.0.tar"; + sha256 = "1jjnxhh5l0xvqczcpxj8vgrxwvv7wchwsy7anc8gl1p7wmm8kr79"; }; packageRequires = [ ]; meta = { @@ -708,10 +708,10 @@ elpaBuild { pname = "cond-let"; ename = "cond-let"; - version = "0.2.1"; + version = "0.2.2"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/cond-let-0.2.1.tar"; - sha256 = "1q5gjb3v0xk6azrjbpyyxabrfd68i4gqw4r9dk2wnvbw0vcr21qf"; + url = "https://elpa.nongnu.org/nongnu/cond-let-0.2.2.tar"; + sha256 = "0ip5k8jhdgq1zkc6cj4ax8rv4236cxla2dapj83y526ra321gkzy"; }; packageRequires = [ ]; meta = { @@ -1253,10 +1253,10 @@ elpaBuild { pname = "eldoc-mouse"; ename = "eldoc-mouse"; - version = "3.0.2"; + version = "3.0.3"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/eldoc-mouse-3.0.2.tar"; - sha256 = "0ljivs5wpmwc74l4w6fqn0j7ppyf9zc1v3ggx06z1w4jgx15q51d"; + url = "https://elpa.nongnu.org/nongnu/eldoc-mouse-3.0.3.tar"; + sha256 = "18bd84sllxilxw42g0qnyf997qxzsa321b60viyw1d9ipn5in2l2"; }; packageRequires = [ eglot @@ -1298,10 +1298,10 @@ elpaBuild { pname = "elpher"; ename = "elpher"; - version = "3.6.6"; + version = "3.7.0"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/elpher-3.6.6.tar"; - sha256 = "0wb1d5cm2gsjarqb9z06hx7nry37la6g5s44bb8q7j2xfd11h764"; + url = "https://elpa.nongnu.org/nongnu/elpher-3.7.0.tar"; + sha256 = "1z12nb9a9gbksfnirnqv5fi6b7ygkjgyvrd7glp3ymbp765pjb2p"; }; packageRequires = [ ]; meta = { @@ -1319,10 +1319,10 @@ elpaBuild { pname = "emacsql"; ename = "emacsql"; - version = "4.3.4"; + version = "4.3.5"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/emacsql-4.3.4.tar"; - sha256 = "0gf58p86qrysaq576yvz80zi9mmfzij8pcp5lh75v2y6xc4b9hpw"; + url = "https://elpa.nongnu.org/nongnu/emacsql-4.3.5.tar"; + sha256 = "150wrcknbcm9kid41qjwa84mn742pzk0g12k9zm7q8zb37d709zq"; }; packageRequires = [ ]; meta = { @@ -1444,6 +1444,28 @@ }; } ) { }; + evil-emacs-cursor-model-mode = callPackage ( + { + elpaBuild, + evil, + fetchurl, + lib, + }: + elpaBuild { + pname = "evil-emacs-cursor-model-mode"; + ename = "evil-emacs-cursor-model-mode"; + version = "0.1.3"; + src = fetchurl { + url = "https://elpa.nongnu.org/nongnu/evil-emacs-cursor-model-mode-0.1.3.tar"; + sha256 = "03mn90kpn5lj1yxg5pl69wa01ms2xi9bj1w5dix5ac153iqlddjm"; + }; + packageRequires = [ evil ]; + meta = { + homepage = "https://elpa.nongnu.org/nongnu/evil-emacs-cursor-model-mode.html"; + license = lib.licenses.free; + }; + } + ) { }; evil-escape = callPackage ( { cl-lib ? null, @@ -1784,10 +1806,10 @@ elpaBuild { pname = "fedi"; ename = "fedi"; - version = "0.2"; + version = "0.3"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/fedi-0.2.tar"; - sha256 = "1vhv72s988xvwq14w9xhzqq7hpsjidh2hsii97q9bakh00k5zdra"; + url = "https://elpa.nongnu.org/nongnu/fedi-0.3.tar"; + sha256 = "1s1dn7n860b18cwyahc20lbl1bhv4y5h8jijs4iqbbgbk8w7hsjg"; }; packageRequires = [ markdown-mode ]; meta = { @@ -1809,10 +1831,10 @@ elpaBuild { pname = "fj"; ename = "fj"; - version = "0.28"; + version = "0.32"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/fj-0.28.tar"; - sha256 = "0smmz9iig83yckcgmd9jd45kkklfywk7nw4jl98wxm4mqwmy1f5l"; + url = "https://elpa.nongnu.org/nongnu/fj-0.32.tar"; + sha256 = "16qbrri7z2q9zalmfgqcb5f62ljvpz1zacsh9x8xnbwhlyhavbgk"; }; packageRequires = [ fedi @@ -1879,16 +1901,17 @@ elpaBuild, fetchurl, lib, + seq, }: elpaBuild { pname = "flycheck"; ename = "flycheck"; - version = "35.0"; + version = "36.0"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/flycheck-35.0.tar"; - sha256 = "1nrsnp5d2jfrg6k9qf55v9mlygkc3ln44j31qmirsp5ad5xrflhm"; + url = "https://elpa.nongnu.org/nongnu/flycheck-36.0.tar"; + sha256 = "0172y6qzkys77cbvdla1iiiznpxpscjzmsdr66m66s8g4bf7f1p2"; }; - packageRequires = [ ]; + packageRequires = [ seq ]; meta = { homepage = "https://elpa.nongnu.org/nongnu/flycheck.html"; license = lib.licenses.free; @@ -2384,10 +2407,10 @@ elpaBuild { pname = "gnosis"; ename = "gnosis"; - version = "0.5.8"; + version = "0.7.0"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/gnosis-0.5.8.tar"; - sha256 = "00halz9fmgccgc7px2zqp6q2js4ab60fixqbr15sdqbygmlwvhh7"; + url = "https://elpa.nongnu.org/nongnu/gnosis-0.7.0.tar"; + sha256 = "0r8mblfdqzjbvcis1387yvgrcg2b47zld179dax9n4smbzvzc3gb"; }; packageRequires = [ compat @@ -2560,10 +2583,10 @@ elpaBuild { pname = "gptel"; ename = "gptel"; - version = "0.9.9.3"; + version = "0.9.9.4"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/gptel-0.9.9.3.tar"; - sha256 = "19wwjjlpfa5ngmfj8v3hzf2ndr355s5vg9nzg8qmx3ni61jb08n7"; + url = "https://elpa.nongnu.org/nongnu/gptel-0.9.9.4.tar"; + sha256 = "0j410b0bynq91dxwakrrzp92m3p2lznzvmyq41viscjm0gjng4kn"; }; packageRequires = [ compat @@ -3232,10 +3255,10 @@ elpaBuild { pname = "julia-mode"; ename = "julia-mode"; - version = "1.0.2"; + version = "1.1.0"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/julia-mode-1.0.2.tar"; - sha256 = "1wwnyanxbpzy4n8n3ixafdbx7badkl1krcnk0yf5923f2ahiqhlr"; + url = "https://elpa.nongnu.org/nongnu/julia-mode-1.1.0.tar"; + sha256 = "1r8xsn5j1gdr2izy6q1xs13v7wcabgdrn7f6x608406kbhd01rrv"; }; packageRequires = [ ]; meta = { @@ -3949,10 +3972,10 @@ elpaBuild { pname = "org-contrib"; ename = "org-contrib"; - version = "0.7"; + version = "0.8"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/org-contrib-0.7.tar"; - sha256 = "1v9sphc2jwccdix74ry3wblkkp9majk7n7c9ic1bsq9caj4i9n5r"; + url = "https://elpa.nongnu.org/nongnu/org-contrib-0.8.tar"; + sha256 = "0bw6wrnkbx26k0zxgglyps2nnmgwr6yvkizxqnknds3y5r643j34"; }; packageRequires = [ org ]; meta = { @@ -4385,10 +4408,10 @@ elpaBuild { pname = "pg"; ename = "pg"; - version = "0.62"; + version = "0.63"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/pg-0.62.tar"; - sha256 = "1fxg2irjbc85rr0czqj7cmy7pxh5l9sa69244dgr5ix6b7901dwd"; + url = "https://elpa.nongnu.org/nongnu/pg-0.63.tar"; + sha256 = "104f1c80cxzwb7z789igw2gvbmp8mirn213sp62jjwpyxfldm06q"; }; packageRequires = [ peg ]; meta = { @@ -4576,10 +4599,10 @@ elpaBuild { pname = "radio"; ename = "radio"; - version = "0.4.1"; + version = "0.4.3"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/radio-0.4.1.tar"; - sha256 = "049j72m7f3a2naffpp8q4q0qrgqw0mnw5paqwabig417mwzzhqqr"; + url = "https://elpa.nongnu.org/nongnu/radio-0.4.3.tar"; + sha256 = "1xr10zhm8fk75h0i07jry5c05cds4xbb012wa943cbibxj0cma68"; }; packageRequires = [ ]; meta = { @@ -5147,10 +5170,10 @@ elpaBuild { pname = "subed"; ename = "subed"; - version = "1.3.1"; + version = "1.4.1"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/subed-1.3.1.tar"; - sha256 = "04c7yzv5dif8rxxn1lkn2xhb614nw5mycjsihxvl21443539n9ic"; + url = "https://elpa.nongnu.org/nongnu/subed-1.4.1.tar"; + sha256 = "11rg436w2rdcpiix5hzmdb7r736nhiqpm4h8b18ac7dv6nnjjnwd"; }; packageRequires = [ ]; meta = { @@ -5454,10 +5477,10 @@ elpaBuild { pname = "tp"; ename = "tp"; - version = "0.7"; + version = "0.8"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/tp-0.7.tar"; - sha256 = "048z3g0gv7brsl546s530b6si2rjhy3mm8y0jdcp14fza4srpliv"; + url = "https://elpa.nongnu.org/nongnu/tp-0.8.tar"; + sha256 = "1psa4sdia1vx3l2v1lklc8wy8nqbq6g83fyj46xii20rfm4db9hk"; }; packageRequires = [ transient ]; meta = { @@ -5623,10 +5646,10 @@ elpaBuild { pname = "undo-fu-session"; ename = "undo-fu-session"; - version = "0.7"; + version = "0.8"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/undo-fu-session-0.7.tar"; - sha256 = "1gly9fl8kvfssh2h90j9qcqvxvmnckn0x1wfm4qbz9ax57xvms23"; + url = "https://elpa.nongnu.org/nongnu/undo-fu-session-0.8.tar"; + sha256 = "1l69q4g5f9dza0npw9sp2y398q142xzpfgrmhl3aa2fjq49d4bcf"; }; packageRequires = [ ]; meta = { @@ -5950,10 +5973,10 @@ elpaBuild { pname = "xah-fly-keys"; ename = "xah-fly-keys"; - version = "28.11.20260106081151"; + version = "28.11.20260215192642"; src = fetchurl { - url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-28.11.20260106081151.tar"; - sha256 = "1xp3x69fxzv805wkiwl8fynpgzr4ap1fx67fqrmw5m0vi856qhbx"; + url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-28.11.20260215192642.tar"; + sha256 = "0k0p60wirvp36ifaqkq6420rxfj1ys4cb8j34q7rhcbdfw1cp9dd"; }; packageRequires = [ ]; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json index 06467355ca76c..7a56daf04b6ae 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json +++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json @@ -318,8 +318,8 @@ "repo": "abstools/abs-mode", "unstable": { "version": [ - 20241217, - 839 + 20260211, + 1320 ], "deps": [ "erlang", @@ -327,8 +327,8 @@ "maude-mode", "yasnippet" ], - "commit": "debb48caef334870b4439609a9e818c7fd01f420", - "sha256": "0kicw2462pzhhrds2lws8s00d4xwmr7yaaskpj9r5rdr41qyxkxl" + "commit": "aaf97a11ef799d424f34de9a651dcbe601e85b63", + "sha256": "0gfn3q11gl2kl885vmcby0w5l7jsm58drq0ksm9qhr0nzjg000zl" }, "stable": { "version": [ @@ -353,20 +353,20 @@ "repo": "mgrbyte/emacs-abyss-theme", "unstable": { "version": [ - 20260103, - 1924 + 20260125, + 1959 ], - "commit": "e8326ed9955d0897cc68fb38d488985a045c868c", - "sha256": "072ignp5ncj5xhjw1hrlkq9by7a0f96lak00c758b2malnxwaddp" + "commit": "6eb2b5735808ea96a36fc7abf741fc3bbf1b6ee4", + "sha256": "1fy1id4qvqs5ya3lig0galf0z54ym939cn3hzg4h5qg8jdcsj1nz" }, "stable": { "version": [ 0, 7, - 1 + 2 ], - "commit": "e8326ed9955d0897cc68fb38d488985a045c868c", - "sha256": "072ignp5ncj5xhjw1hrlkq9by7a0f96lak00c758b2malnxwaddp" + "commit": "6eb2b5735808ea96a36fc7abf741fc3bbf1b6ee4", + "sha256": "1fy1id4qvqs5ya3lig0galf0z54ym939cn3hzg4h5qg8jdcsj1nz" } }, { @@ -1009,8 +1009,8 @@ "repo": "xcwen/ac-php", "unstable": { "version": [ - 20260114, - 607 + 20260210, + 846 ], "deps": [ "dash", @@ -1020,8 +1020,8 @@ "s", "xcscope" ], - "commit": "b7448b8bcdff20a2818a64d804cb3d14c1737b46", - "sha256": "005cv05dma6086x9qrwqqbcscdflyb1685azc700pcwzv0ggzr11" + "commit": "b053bd3723acf13a6c1a3e9cec221f4e0b24ea2c", + "sha256": "1zxk1r8a1p3pcn4xh727x490z0vwm0aljnm9vi018vh2012453wr" }, "stable": { "version": [ @@ -1599,20 +1599,20 @@ "repo": "xenodium/acp.el", "unstable": { "version": [ - 20260118, - 1815 + 20260221, + 2307 ], - "commit": "9ab9b8f25cd7f42955171d471da5c3d016d1ef5a", - "sha256": "0lg5rli3xvkfp0gvpz1bmdv8m8h8abkn1zklxrpgfisxb5axyzii" + "commit": "49de56f0de328ad9022e2784f52acd73170f7e75", + "sha256": "081cjs8mvp8za8kxn1y908iwzarqdxx5pzx0b4wbas9ablqi8cp6" }, "stable": { "version": [ 0, - 8, - 3 + 11, + 1 ], - "commit": "9ab9b8f25cd7f42955171d471da5c3d016d1ef5a", - "sha256": "0lg5rli3xvkfp0gvpz1bmdv8m8h8abkn1zklxrpgfisxb5axyzii" + "commit": "784b00017262260c2c718c98af98f16a2cc7bfdd", + "sha256": "1l1m5iwn15xp8h7q18fzmi0grr6cgyiy16dpkp1w8fsbd7n439pb" } }, { @@ -1859,11 +1859,11 @@ "repo": "louabill/ado-mode", "unstable": { "version": [ - 20251201, - 2259 + 20260210, + 1431 ], - "commit": "0bf66c877e5773ae8e86d4bee286f29a4abd56e9", - "sha256": "03vz59b81yg54z736mirkr5vxj5f47c2vhmwsv0irfhhzqvis59h" + "commit": "371441d27027fd4783a8c828458a5af098babca4", + "sha256": "09f8glzsln16kyhk4jiixhg2jcslxs989kq09pmhvxi4z1cvvchw" }, "stable": { "version": [ @@ -1883,20 +1883,35 @@ "repo": "bbatsov/adoc-mode", "unstable": { "version": [ - 20250206, - 838 + 20260221, + 2207 ], - "commit": "20772277b8a5b8c08d49bd03043d5d4dd7a815e9", - "sha256": "0ln8xfvsdmr5p1axlk25gvnis2h8wh4ry74gglg02fwkrkqbs6w9" + "commit": "50b601dd92f99dd9534ff44de5f411480ca32b09", + "sha256": "1sgmhsvr0kbkv86zgp82r5bs3wpn4sn7mm15fdn7mv3dsjkngssv" }, "stable": { "version": [ 0, - 7, + 8, 0 ], - "commit": "66b9adc97d8702de47140092cbae3a2f5563a297", - "sha256": "0bp2i66a9gp41r7nvbx8f4s334gd7lwjdxi3qw5yhgaav6gk3bkc" + "commit": "6fc5ebc9478de17b1971222485e7729f04fbcf57", + "sha256": "0hjhjg9kdx849qbdhzryfv8c21h2xq02991hixykmxf1b2xv1y69" + } + }, + { + "ename": "advent-mode", + "commit": "2f3e9d6b61c61b9807434a443cdcc2d1b2dce65c", + "sha256": "076089qhrm80y83y088fydwx14c850a77f0zzvrr0mijafkfn5b4", + "fetcher": "github", + "repo": "vkazanov/advent-mode", + "unstable": { + "version": [ + 20260209, + 1903 + ], + "commit": "68c149aad8e5844d87fbf5f703479cded641ef49", + "sha256": "0cji1i2ixrqv348md1671fq558mg0spgw00wbmh17ii8m8ncb736" } }, { @@ -2001,7 +2016,7 @@ }, { "ename": "afternoon-theme", - "commit": "a5676fa2b3228cb56e38449c4573afdc37f3994b", + "commit": "bcccb562e0d35af65d57312f654d931db3964a4d", "sha256": "0lb7qia4fqdz9jbklx4jiy4820dmblmbg7qpnww0pkqrc0nychh3", "fetcher": "github", "repo": "ozanmakes/emacs-afternoon-theme", @@ -2137,28 +2152,28 @@ "repo": "xenodium/agent-shell", "unstable": { "version": [ - 20260119, - 2116 + 20260224, + 1533 ], "deps": [ "acp", "shell-maker" ], - "commit": "b47e18587a5215231dcc94c9e44a7bbdc96135fe", - "sha256": "05v064mikr8zbizb1mm2z5yjs3869nlaj84xrsd22xiajp4ak3n4" + "commit": "7f9e67da4593ed927901bbf2ae5025da25e98979", + "sha256": "1bybc78701r5m01vqkzw9v5h6ha9q82zxq7hbllqam227nzb22hj" }, "stable": { "version": [ 0, - 30, + 41, 1 ], "deps": [ "acp", "shell-maker" ], - "commit": "25c54b06dca83c5854896df5dac3c0cdab2ed7fe", - "sha256": "1bki2f04czm3rq3dpnmplw6gqvcx0i83n15g2llf4qswdxwrkz0w" + "commit": "a1803cd7848284e69f8d1379afc9b76fbea52383", + "sha256": "17ha385iafdyjmyljw52j63kq8jkh34q673jvb8wki5idhizxgzq" } }, { @@ -2304,27 +2319,27 @@ "repo": "tninja/ai-code-interface.el", "unstable": { "version": [ - 20260116, - 1534 + 20260224, + 346 ], "deps": [ "magit", "transient" ], - "commit": "007fd8f7e19b37f1969035480823ef759215140c", - "sha256": "15fc2xaq7ldqrin2wn98k5f3sjk7ml9f7j723nlxp3lirgyyb04c" + "commit": "882c3b55bb5eb6911a92badfcd8845f940b6504a", + "sha256": "171drv7gk1bpg5mwkxib2snrymfdzqs48z10cch0a3gsxzv07lhr" }, "stable": { "version": [ - 0, - 91 + 1, + 52 ], "deps": [ "magit", "transient" ], - "commit": "934763b559686fe6920a5fbcbae2df9d5647c15a", - "sha256": "0742rc6mvrr46w2h6vn6saq6br3hi8nqm681cb367kmwkd3wakv7" + "commit": "74fd1c0b2db8dcc1c228633e950c434f8dfa6aa8", + "sha256": "1k7x84w6cfb8x7g2kpdg5h8lj5i9fshk6aib563c955zw3ygx282" } }, { @@ -2446,11 +2461,11 @@ "repo": "skeeto/emacs-aio", "unstable": { "version": [ - 20251117, - 644 + 20260214, + 1529 ], - "commit": "58157e51e7eb7a4b954894ee4182564c507a2f01", - "sha256": "10m6kkcb2gk0vaj6z3d8kcf72zqmi8mw4bx39nvkx4c2ssx5k66g" + "commit": "0e94a06bb035953cbbb4242568b38ca15443ad4c", + "sha256": "1fwv0ajc0zbjiyna5zpixp5sal0g43vhk830xiijy91mvz9f7hs4" }, "stable": { "version": [ @@ -2542,15 +2557,15 @@ "repo": "alan-platform/AlanForEmacs", "unstable": { "version": [ - 20240309, - 650 + 20260209, + 1113 ], "deps": [ "flycheck", "s" ], - "commit": "df6c82f1a37a4bd6f18cb463c3f7ab7d087b91ab", - "sha256": "13fy6x7cs74zpqzix719jly01v5mzdwqhcq3m3kqrsxy1m9a0g49" + "commit": "87eed317ea7eac483a33680fd230ffc9f0eb3297", + "sha256": "1ky2znrnmsjl9vahlbkcrmab6cbjf5j7ja3iixb2wir3d712fifv" }, "stable": { "version": [ @@ -3037,9 +3052,9 @@ }, { "ename": "almost-mono-themes", - "commit": "71ca87a0dd28f911dd988e1c208896b1ec5bfcc7", - "sha256": "1lv7c63lii8463mmsmxnldkwark2c6n46j9zvf990dhacwl4q1mg", - "fetcher": "github", + "commit": "048bd83bb0cef4efa5e40e2afe7c08452f97e550", + "sha256": "10599yjydcjbv9mghnavgav8l2m4yd60fd4vfryh6njz6kgvskwc", + "fetcher": "codeberg", "repo": "cryon/almost-mono-themes", "unstable": { "version": [ @@ -4062,20 +4077,20 @@ "repo": "radian-software/apheleia", "unstable": { "version": [ - 20251223, - 1924 + 20260221, + 2001 ], - "commit": "426616cf1799dbce89800ae2fe9f155311436503", - "sha256": "0kv879kv9xqp9gcdjvn1xs6lzy4ylhpi9xflvgpm2kmynjgs2hc6" + "commit": "2bc2bb4cc2caad111e6f2f1b9daf20ec388101ff", + "sha256": "1vs532hjkwj19laigqvvk11r0gwhv5vd8v6wh5598dzmfw3yh4bm" }, "stable": { "version": [ 4, 4, - 2 + 3 ], - "commit": "5e5969d7c8afa4c40948d95dc41fe66e30f3a282", - "sha256": "1ldj6cny88b7j0jspv68sw5z9jpfpqimavmbnhcbq7gmc6xlbmvz" + "commit": "2bc2bb4cc2caad111e6f2f1b9daf20ec388101ff", + "sha256": "1vs532hjkwj19laigqvvk11r0gwhv5vd8v6wh5598dzmfw3yh4bm" } }, { @@ -4558,6 +4573,30 @@ "sha256": "1bigikx3q3vgj8y8bqp19yxdmgwkn0rmccyx88sjl0azsg4il5zk" } }, + { + "ename": "asciidoc-mode", + "commit": "b64b4ec9529fb8e50cbf7f975147335e8d80e5c9", + "sha256": "09pnkgk3ggmav9zb7hjds9fl5w0cbd6m5qvc2wk8vvlrs4qmxnv8", + "fetcher": "github", + "repo": "bbatsov/asciidoc-mode", + "unstable": { + "version": [ + 20260222, + 1804 + ], + "commit": "4b5e89bedc0453e63147e08cdd759cbf2e31be26", + "sha256": "0gn8lcx2j6yrgh0wggnb6hjs5x1hwhvbc6g2f7vk42hsgz5skng4" + }, + "stable": { + "version": [ + 0, + 1, + 0 + ], + "commit": "4b5e89bedc0453e63147e08cdd759cbf2e31be26", + "sha256": "0gn8lcx2j6yrgh0wggnb6hjs5x1hwhvbc6g2f7vk42hsgz5skng4" + } + }, { "ename": "asdf-vm", "commit": "03c944c74671e1871628d890a7251449282269b3", @@ -5320,11 +5359,11 @@ "repo": "dlobraico/auth-source-1password", "unstable": { "version": [ - 20230529, - 1349 + 20260221, + 2058 ], - "commit": "7bb8ad3507c58cc642b2ebbd7e57a91efab80e14", - "sha256": "1ph9kg0v4xnc5ymcg71q9pvpp83qg67k788xkggk32xjriv5cq57" + "commit": "10961bdc8a3ed551dde29fde416843058bea2374", + "sha256": "19s59j2d8wdvpdd2yajmlbhm2ihf3jvf5ra8l2p9sn4db7ri95qb" } }, { @@ -5472,11 +5511,11 @@ "repo": "emacscollective/auto-compile", "unstable": { "version": [ - 20260101, - 1821 + 20260219, + 2245 ], - "commit": "eaed414fa7dae04c7701dbc591de52fb3e81aa91", - "sha256": "02i7ak9sgzhfxyhil0w579d8xpa9p151l7x797pyv29ffi5brc4h" + "commit": "fa5a6f1c7f372005ac0f3511b59fa5b417b090e9", + "sha256": "0j23ggl68f1sv4d72wbpymx7kcfklcfwm1fq3i2nxg6ymb9svp9f" }, "stable": { "version": [ @@ -5786,20 +5825,20 @@ "repo": "LionyxML/auto-dark-emacs", "unstable": { "version": [ - 20251006, - 358 + 20260218, + 1317 ], - "commit": "a71e791e47d09c5bf4bcbc2bbd7300b71ff72f1a", - "sha256": "1jmh27fkf1pivavv0qwwbb1fhdaycj3gpbbgsd917flsp6pfw55x" + "commit": "280d9a6e6ab0ccb833185761734585344ce22095", + "sha256": "1z4v3wvay6fyighqs7j28zydv2hifym5gmv63dzqvsmimccxcap9" }, "stable": { "version": [ 0, 13, - 7 + 9 ], - "commit": "a71e791e47d09c5bf4bcbc2bbd7300b71ff72f1a", - "sha256": "1jmh27fkf1pivavv0qwwbb1fhdaycj3gpbbgsd917flsp6pfw55x" + "commit": "280d9a6e6ab0ccb833185761734585344ce22095", + "sha256": "1z4v3wvay6fyighqs7j28zydv2hifym5gmv63dzqvsmimccxcap9" } }, { @@ -6112,6 +6151,21 @@ "sha256": "1d6dxzfgpwaidjys9jx6x368rih40lqyhrgx51rsjf68x4k24s3s" } }, + { + "ename": "auto-space-mode", + "commit": "91d1608c3165fe234e97ad8d041ccc34d283af82", + "sha256": "0nymy5aa0kkrzyy5a7y3j6kgq2svsirmbqb9vbzwsnm5pnhwhlw7", + "fetcher": "github", + "repo": "wowhxj/auto-space-mode", + "unstable": { + "version": [ + 20260204, + 255 + ], + "commit": "38cd6bc259522250c1df88f24d0a3cc3727fb982", + "sha256": "0cz4m7nlspc24cm3dv7w98vkw7rlxa3g6vjx6c2hz5as7ri7aw2g" + } + }, { "ename": "auto-sudoedit", "commit": "7cf6bc8bb7b618d74427622b9b2812daa79a3767", @@ -6495,15 +6549,15 @@ "repo": "oantolin/embark", "unstable": { "version": [ - 20250127, - 1315 + 20260218, + 624 ], "deps": [ "avy", "embark" ], - "commit": "755cb49b59801ff420193cc0e3b1a7aa12bf22e3", - "sha256": "0n8khkgk3mnm48b9426radzmrgda0k6zcc0c0ws8yl2gpnkblkxn" + "commit": "0bdfd38d281d6375e6e675ce6f1bd597a9e3b136", + "sha256": "0m9y2wraapi744fg7y6cgz6y2gx0xzaglnxqalynz44ca9z6m6y4" }, "stable": { "version": [ @@ -7166,11 +7220,11 @@ "repo": "tinted-theming/base16-emacs", "unstable": { "version": [ - 20260118, - 148 + 20260222, + 204 ], - "commit": "1d9457c3940b42a7db586ee9b1249d86d1facbdb", - "sha256": "1mlhbpv3xbka8r2p9zxmnvsgvlpijiv4nyyj0z9zf9n33rq7rs19" + "commit": "639f5ff740ec5ec2d7debad1349fe1d130528ff1", + "sha256": "0n9anahkbf76mw7mrbc9xk1q1wpr9rkh5vwga8nrgp2vhsx17xs6" }, "stable": { "version": [ @@ -7212,11 +7266,11 @@ "repo": "szermatt/emacs-bash-completion", "unstable": { "version": [ - 20250721, - 2026 + 20260206, + 1459 ], - "commit": "762f28fefba487e15d626691310f3194804eb71a", - "sha256": "1kf542389phlrjly5cjhhkv5534cc6lp93468aiaqnx2maaa982a" + "commit": "5b621db96efc549c64436011a81fd658c6dcf6a0", + "sha256": "160nswlhh7mbrkisy4aq9dybknjpkbvbqkhs4mq6n452p5r0l2kf" }, "stable": { "version": [ @@ -8063,19 +8117,19 @@ "repo": "kristjoc/bible-gateway", "unstable": { "version": [ - 20260105, - 1259 + 20260223, + 1906 ], - "commit": "8616ccb52a370c0d4ffca441a4bc2410a869e3b0", - "sha256": "16drh2mqvrvgi1dyblk0kw8yzswhccwniqlgs734jjgkfpvk0qks" + "commit": "b4cf300c1335dfe8210da05af0a8f3bf18b8f5d3", + "sha256": "048mw5dfpmrdq4sxpci1jrazvlizy4dz7lk95kqhvf7zdp70lywi" }, "stable": { "version": [ 1, - 5 + 6 ], - "commit": "8616ccb52a370c0d4ffca441a4bc2410a869e3b0", - "sha256": "16drh2mqvrvgi1dyblk0kw8yzswhccwniqlgs734jjgkfpvk0qks" + "commit": "b0fb2c0fcbb5f178061b5b4bbe6ea17adabe7c36", + "sha256": "0df3gmj1qcyqn14w33dhbm7wxikvwl38ws91h33dwl63q2zjb64n" } }, { @@ -9100,14 +9154,14 @@ "repo": "lapislazuli/blue.el", "unstable": { "version": [ - 20251223, - 1409 + 20260129, + 2241 ], "deps": [ "magit-section" ], - "commit": "b2778111dba48b0d7db4c17cbe352b541e6e7707", - "sha256": "1wd4wg6mjsmxhxpx72hgqz9wnss0n060kdcf9i7llk1gsw4bcmjr" + "commit": "858b630b49a97030d5f828d1e7fddece4055a7a7", + "sha256": "03wbrdbq48jmqy1fgrrfd8291gbmgz9n6vzn16jfknizixijkpvq" } }, { @@ -9477,16 +9531,16 @@ "repo": "jyp/boon", "unstable": { "version": [ - 20251212, - 1343 + 20260215, + 930 ], "deps": [ "dash", "expand-region", "multiple-cursors" ], - "commit": "28b3ff88673d73a4a907a47c22e82864a5c7a031", - "sha256": "0988lf0faqzkj3kh7jxac4xf5ffnwy9xa1gv8a7lzygv1kgvh99d" + "commit": "1aa2b2f8f6c0b32cd600355bbeabc036624d0566", + "sha256": "12jcwcisdkkxzzzm1a8fqha90h0x7vb3cy3k1d8ijm80rcs7r4sk" }, "stable": { "version": [ @@ -9510,28 +9564,28 @@ "repo": "emacscollective/borg", "unstable": { "version": [ - 20260114, - 1146 + 20260217, + 2111 ], "deps": [ "epkg", "magit" ], - "commit": "9482e00eb06dfbc599eac58bb73ec53700793b3e", - "sha256": "0kxgai33b8irl08gbmfbrsqnvbfh702hvbrwi740a0zz7dwnq7iw" + "commit": "6edbdfc3ef39539e36dd91512e98637fb27f9e76", + "sha256": "1ap6wg9yl7w11rb1g4wnzm1khfrarpj8ag9gg3zj27s0aqaf1v2c" }, "stable": { "version": [ 4, 4, - 0 + 1 ], "deps": [ "epkg", "magit" ], - "commit": "61f9e083b8d9f9ca196758729adce2c286841991", - "sha256": "18vnf0lkkribkinl0xr074vx1yhqmllxysbcgcf8p2vy92n4spzl" + "commit": "99933c616380fdcdf3732644d7d69b7c5d54d4bf", + "sha256": "1wkd8p6iwk3pvi115ml848gsxcc48ddl226kgd08awimgqidzhs1" } }, { @@ -9670,15 +9724,15 @@ "repo": "museoa/bqn-mode", "unstable": { "version": [ - 20250705, - 1223 + 20260208, + 1145 ], "deps": [ "compat", "eros" ], - "commit": "7c04ca9009e72b48da307b41d6814df1e383609a", - "sha256": "0bah6xpmb86rgjd3irnalpdqsb6wbf5izq6h1di5hh9axk55acsr" + "commit": "7968023225c23ec63644a18ea613cb8cd2cd536e", + "sha256": "1m9l4if3a9i6r76v370gh6azgj2lwqcnpavfv2bkvm9ad56f3pa8" } }, { @@ -9874,16 +9928,16 @@ "repo": "rmuslimov/browse-at-remote", "unstable": { "version": [ - 20251223, - 2328 + 20260126, + 608 ], "deps": [ "cl-lib", "f", "s" ], - "commit": "27b17cc63b9f9dca893425908373251eb9b10f44", - "sha256": "0kbxag8krbj1s50arc8axvkx0v62akqv2m8c2rkcjg5qh0670dkf" + "commit": "38e5ffd77493c17c821fd88f938dbf42705a5158", + "sha256": "0qfahv06wrandalrg4lpnj20g2vmlbl77vx5wlqp9qc3g9vq64ic" }, "stable": { "version": [ @@ -10305,11 +10359,11 @@ "repo": "jamescherti/buffer-terminator.el", "unstable": { "version": [ - 20260114, - 1535 + 20260222, + 340 ], - "commit": "543c96ff73e38f51543747aee4665649525b0cf2", - "sha256": "15d6dw3hpwjz22cw9rv8a0cqx06nsxc1shwjx91r7d0s8v9fmhkg" + "commit": "eeaefca1860f62c5b7ff11f7a0550d7b11892151", + "sha256": "1pncz0iam7z7sf8zk4k4zwpd2c2daf5hg2xd5v5hgcm2v2mwwzd9" }, "stable": { "version": [ @@ -10422,11 +10476,11 @@ "repo": "jamescherti/bufferfile.el", "unstable": { "version": [ - 20260114, - 1535 + 20260215, + 2013 ], - "commit": "6bcff99b4e78a83ffaa15f1ce95f4f0421db64b0", - "sha256": "0cxs6phsvm5dbfxvw36sv8av4n436rc9w9wv2245ba6m1kr7f9bv" + "commit": "6c3a089b3b25a26880f672a900402d59b638837d", + "sha256": "0q5ifzvqmjv0cbpwaxwvjy1f9dh4c934f8r1jrymv773c8ddgib7" }, "stable": { "version": [ @@ -11132,14 +11186,25 @@ "repo": "xwl/cal-china-x", "unstable": { "version": [ - 20200924, - 1837 + 20260222, + 1826 ], "deps": [ "cl-lib" ], - "commit": "94005e678a1d2522b7a00299779f40c5c77286b8", - "sha256": "0dy9awy5y990wz925rdn95gn23ywarwbvkqq0l0xms1br1v8kxc6" + "commit": "e9e3067134b0606bfe2a6925d7488c4b24ce81d5", + "sha256": "1y662hvbbs745yy72ppicdp9ifcz5a9xj1qp3jsifiyhs138zklf" + }, + "stable": { + "version": [ + 2, + 7 + ], + "deps": [ + "cl-lib" + ], + "commit": "e9e3067134b0606bfe2a6925d7488c4b24ce81d5", + "sha256": "1y662hvbbs745yy72ppicdp9ifcz5a9xj1qp3jsifiyhs138zklf" } }, { @@ -11427,16 +11492,16 @@ "repo": "beacoder/call-graph", "unstable": { "version": [ - 20251227, - 222 + 20260212, + 649 ], "deps": [ "beacon", "ivy", "tree-mode" ], - "commit": "95008f18991691fc117c12e84cde2b9dc04e4e4b", - "sha256": "0r06sixyj5s7gvy255bhbwcicc2xwcsklqrv65xbx4y1ycjls2r3" + "commit": "38cb7a4488af63208d7ee1766a141453518e0abc", + "sha256": "00yn00kgski6nyfxjjqr1cxyf725dnl81v6chy0kc94mxnww8ybr" }, "stable": { "version": [ @@ -11589,25 +11654,25 @@ "repo": "minad/cape", "unstable": { "version": [ - 20260117, - 1953 + 20260124, + 924 ], "deps": [ "compat" ], - "commit": "dfb3bca62238aab8f64ec319a77a125df86a0eee", - "sha256": "0bi81w8qpl9gwfj0423bcsnl2wady2jvsxbc5ai7mb9mc1qzyvgg" + "commit": "2b2a5c5bef16eddcce507d9b5804e5a0cc9481ae", + "sha256": "18pdm8dlvzjry7xxx3yyka7rmrx94cvwkhwiagxcfprk6yinx21z" }, "stable": { "version": [ 2, - 5 + 6 ], "deps": [ "compat" ], - "commit": "96162aab2a22158ccc40b0f5c90f61e77b03c4f8", - "sha256": "12jk8jjk38mfldsgnimnsggxan5a5amzf2z17pwjq7dxhn87168j" + "commit": "2b2a5c5bef16eddcce507d9b5804e5a0cc9481ae", + "sha256": "18pdm8dlvzjry7xxx3yyka7rmrx94cvwkhwiagxcfprk6yinx21z" } }, { @@ -11917,28 +11982,28 @@ "repo": "kickingvegas/casual", "unstable": { "version": [ - 20260107, - 910 + 20260223, + 2338 ], "deps": [ "csv-mode", "transient" ], - "commit": "1620d8ac1f555b4b4299fb7a852d59ddeaaae2e4", - "sha256": "0w3p5zdd1wbx8jyk22z0z952wpkfxlrzliihr6gcvid7d249pjhf" + "commit": "a68d05609cc40905618b72b8cadbbdde833e428e", + "sha256": "1cahqzz1r7lzbqk57ncikavkd4sbw4jcrl8mlb4i7chf575k0ipv" }, "stable": { "version": [ 2, - 12, - 1 + 14, + 2 ], "deps": [ "csv-mode", "transient" ], - "commit": "1620d8ac1f555b4b4299fb7a852d59ddeaaae2e4", - "sha256": "0w3p5zdd1wbx8jyk22z0z952wpkfxlrzliihr6gcvid7d249pjhf" + "commit": "a68d05609cc40905618b72b8cadbbdde833e428e", + "sha256": "1cahqzz1r7lzbqk57ncikavkd4sbw4jcrl8mlb4i7chf575k0ipv" } }, { @@ -12071,11 +12136,11 @@ "repo": "catppuccin/emacs", "unstable": { "version": [ - 20250910, - 2247 + 20260128, + 702 ], - "commit": "09b9b785014e74f8e2ba24f29f806f1c0a65ad54", - "sha256": "0v7wzmslnqadxja52ygxjwimrhk9l4vw8n21yvk4gpcb66whjyip" + "commit": "7cd71f94865674eccde8e3c17175e12942a9e047", + "sha256": "0wpvykz8gyb155ysm5skmqqmk58x54l096vj158jrjp4hk35gprb" }, "stable": { "version": [ @@ -12356,14 +12421,14 @@ "repo": "ema2159/centaur-tabs", "unstable": { "version": [ - 20260115, - 2125 + 20260128, + 950 ], "deps": [ "powerline" ], - "commit": "5ad22d9a6a5d056a07f08b6fe6253f2a71f94ad8", - "sha256": "1izf6kpsbr3zjb8cl17gs416yqr2sm4wcxs4bn6lhhym5vqcim3x" + "commit": "5ec350da6cacc34ac0efaac17d6ac5031ef82bd4", + "sha256": "0mxw727vnyfdy35gbwi37dflqnxg1y5cvcbmri2ai4jiknha4n78" }, "stable": { "version": [ @@ -12560,7 +12625,7 @@ "repo": "worr/cfn-mode", "unstable": { "version": [ - 20260118, + 20260215, 907 ], "deps": [ @@ -12568,8 +12633,8 @@ "s", "yaml-mode" ], - "commit": "e52b95671b6834395463096a9431149ecf0a1a20", - "sha256": "0553fw3fd7phk0bbmdysx3gxr513f2aqm83yhmpphzkj50w91wm8" + "commit": "1fdc8b07baf82ad57cbede472d999fd6e5223042", + "sha256": "0c36n9mw83xam3s8f1zf27a128ymxg8fg4wx44c4sy64by6x0nz4" }, "stable": { "version": [ @@ -12833,15 +12898,15 @@ "repo": "xenodium/chatgpt-shell", "unstable": { "version": [ - 20251217, - 1818 + 20260221, + 2246 ], "deps": [ "shell-maker", "transient" ], - "commit": "e240b1a9004c1452b8bcb5279b4fa79d9f60def7", - "sha256": "04bxrx48qsf3wfcyzfhdgbcik5ws3p5afj13kl50v3jw45ci0md3" + "commit": "cbad6ffc9cbde1962a7317cf6d1d4d50ac1c1ac2", + "sha256": "12frn5h8j94nn47586r5b0kn0rflvxbxwcbaak36fbc551vsnb71" }, "stable": { "version": [ @@ -13244,14 +13309,14 @@ "repo": "plandes/choice-program", "unstable": { "version": [ - 20260107, - 1854 + 20260127, + 2022 ], "deps": [ "dash" ], - "commit": "acacd3409d60b7aa5c53d07290a8dfc31b919971", - "sha256": "0z46pkwc15p1lag5i5n6hmfj9abb0bpk1m61knwls31rmqrq6cj4" + "commit": "9c027a54a97390ee4863d663be19b1a2aaa70c7b", + "sha256": "016n3930fj5vymmk3xkdiwfk9an5dslv812d1f3nzbasv2kwhx3x" }, "stable": { "version": [ @@ -13521,11 +13586,12 @@ "repo": "clojure-emacs/cider", "unstable": { "version": [ - 20260116, - 1514 + 20260221, + 612 ], "deps": [ "clojure-mode", + "compat", "parseedn", "queue", "seq", @@ -13533,13 +13599,13 @@ "spinner", "transient" ], - "commit": "31c05c0a417c2c3dec97135c3dab3cd9c8322e53", - "sha256": "1gc5rn0v81alpairwd07asaxmjc9bsh08nv0rdscy7prq9jfgd4n" + "commit": "75dc57aebed59212952595684b9aae60f95c94a6", + "sha256": "04h188rk3c5r56aa5jf65nh6q9wnfsi72nbpvl3l8a3pv15fqslf" }, "stable": { "version": [ 1, - 20, + 21, 0 ], "deps": [ @@ -13551,8 +13617,8 @@ "spinner", "transient" ], - "commit": "8e3091e8c427cc18f1cc511d5d5aa15424cddb62", - "sha256": "08hd281ybskkhir170hr3xpga1b1hwpph7rd0fk6fvm0ngdgxazs" + "commit": "c71bc65af7709667b0cc77306f4e3d5befe86d27", + "sha256": "19wx9mc488qipm08s7hc0zrfmiylw577lmf3jpvqcjq7amx14jgc" } }, { @@ -13731,20 +13797,20 @@ "repo": "guidoschmidt/circadian.el", "unstable": { "version": [ - 20250222, - 1158 + 20260208, + 2050 ], - "commit": "73fa3fd8b63af04bab877209397e42b83fbb9534", - "sha256": "0kxa8hky56xmg8szii23yai0w8zfh3ql7mazn9ff77aa8lx6mplm" + "commit": "181bb35ba9416bdede255c9fa6b86a2d60115f94", + "sha256": "1bpgg8vli4kl49w60hmqy14ymsfy1aqx2axcqwhk1q2a2xlqb5h2" }, "stable": { "version": [ 1, 0, - 1 + 2 ], - "commit": "73fa3fd8b63af04bab877209397e42b83fbb9534", - "sha256": "0kxa8hky56xmg8szii23yai0w8zfh3ql7mazn9ff77aa8lx6mplm" + "commit": "181bb35ba9416bdede255c9fa6b86a2d60115f94", + "sha256": "1bpgg8vli4kl49w60hmqy14ymsfy1aqx2axcqwhk1q2a2xlqb5h2" } }, { @@ -14097,20 +14163,20 @@ "repo": "universal-ctags/citre", "unstable": { "version": [ - 20251015, - 220 + 20260220, + 1324 ], - "commit": "300596a34b61b486530ce3759e8fb722d9534325", - "sha256": "0nhyshjiy7amncxisnm8ra462xhmq351zrrv0ah3ym3v99vlsgn7" + "commit": "72375aac87cb245b4f49a4737456f626091a0a42", + "sha256": "0gslc3xqdbwjyb0rci1877ihinp8zlvjgf7maxbbmdgjgqpdlmwh" }, "stable": { "version": [ 0, 4, - 1 + 2 ], - "commit": "7c9c77276cc7dfcb77640df7d589eaac3198cfee", - "sha256": "1x5kxlzhzr2x4cszcqaxcg2lc71nwmmfnm2vzx7iz7h74hn4f1ld" + "commit": "72375aac87cb245b4f49a4737456f626091a0a42", + "sha256": "0gslc3xqdbwjyb0rci1877ihinp8zlvjgf7maxbbmdgjgqpdlmwh" } }, { @@ -14962,20 +15028,20 @@ "repo": "clojure-emacs/clojure-mode", "unstable": { "version": [ - 20250527, - 840 + 20260220, + 1418 ], - "commit": "d336db623e7ae8cffff50aaaea3f1b05cc4ccecb", - "sha256": "123x8rwv4nb30h1rz7avshvr00xjfjjsmzrqsyxhgdm3f0rhac5w" + "commit": "4bccd24fc680238f8d29fee1629401f620d50ca6", + "sha256": "0jagkbm0qssxgj342rva9bcwya5r3w7ihzdsbyyqkdvi468vyq2d" }, "stable": { "version": [ 5, - 20, + 21, 0 ], - "commit": "d336db623e7ae8cffff50aaaea3f1b05cc4ccecb", - "sha256": "123x8rwv4nb30h1rz7avshvr00xjfjjsmzrqsyxhgdm3f0rhac5w" + "commit": "f1cd680918d6e3c28247b54fb199e186ef9cfd9d", + "sha256": "0h9qcdvdcl72231wm4x31nbwsihj4bwd179y2gxi6mr2q9yzbm1z" } }, { @@ -14986,26 +15052,26 @@ "repo": "clojure-emacs/clojure-mode", "unstable": { "version": [ - 20250527, - 840 + 20260219, + 2144 ], "deps": [ "clojure-mode" ], - "commit": "d336db623e7ae8cffff50aaaea3f1b05cc4ccecb", - "sha256": "123x8rwv4nb30h1rz7avshvr00xjfjjsmzrqsyxhgdm3f0rhac5w" + "commit": "b9a648b148487677323c853d1c600be4e65d9351", + "sha256": "1ya14scpv4yrjymy51x68r6m5wk58rzp5nm64g98xly0cfr5p91p" }, "stable": { "version": [ 5, - 20, + 21, 0 ], "deps": [ "clojure-mode" ], - "commit": "d336db623e7ae8cffff50aaaea3f1b05cc4ccecb", - "sha256": "123x8rwv4nb30h1rz7avshvr00xjfjjsmzrqsyxhgdm3f0rhac5w" + "commit": "f1cd680918d6e3c28247b54fb199e186ef9cfd9d", + "sha256": "0h9qcdvdcl72231wm4x31nbwsihj4bwd179y2gxi6mr2q9yzbm1z" } }, { @@ -15079,11 +15145,11 @@ "repo": "clojure-emacs/clojure-ts-mode", "unstable": { "version": [ - 20251202, - 1521 + 20260223, + 1813 ], - "commit": "96fdffcbe9e1b8ebf9ad14e23b06f62cc3422e22", - "sha256": "1j78j9ig2x3g8qgsdrs38r3v0rva48c074d7kyag1aa0p7s37kr0" + "commit": "f47fefb5d7d6fed24314ae317acf4d0fb96dccd6", + "sha256": "0pkhnz6c24bqdsavc61hpahn1m9h7nr8flyk0l9fl9i03dld77sh" }, "stable": { "version": [ @@ -15334,20 +15400,20 @@ "url": "https://gitlab.kitware.com/cmake/cmake.git", "unstable": { "version": [ - 20251208, - 1833 + 20260127, + 1603 ], - "commit": "485f11a780435eb6495b79227d3237383778ac3e", - "sha256": "0qcnrrcdj4kbx76q73y5a0iiww5vc9ickyjp26f3l9dkrp41y9yw" + "commit": "53ae242d55f89bee1f44ecc6e2fc460ae0f92f20", + "sha256": "0p93lkbqcmsmrvpsa7xs8iagm9lv69x725l55yq6vqcq8jyikx7k" }, "stable": { "version": [ 4, 2, - 1 + 3 ], - "commit": "485f11a780435eb6495b79227d3237383778ac3e", - "sha256": "0qcnrrcdj4kbx76q73y5a0iiww5vc9ickyjp26f3l9dkrp41y9yw" + "commit": "53ae242d55f89bee1f44ecc6e2fc460ae0f92f20", + "sha256": "0p93lkbqcmsmrvpsa7xs8iagm9lv69x725l55yq6vqcq8jyikx7k" } }, { @@ -15509,21 +15575,6 @@ "sha256": "0s0zakrmbx9gr7ippnyqngc09xj9f7bsv0mv11p062a8pkilg219" } }, - { - "ename": "code-awareness", - "commit": "899d8bebad73b4d2d404d769a8c147b5984219ff", - "sha256": "1w5jvxk1ngiqr6q2zvrrmix73l95vsd4r0df2c7yvs4yws7idmqd", - "fetcher": "github", - "repo": "CodeAwareness/kawa.emacs", - "unstable": { - "version": [ - 20251117, - 617 - ], - "commit": "16b700570ea8902830607575f3418f970dffe4c0", - "sha256": "0qw337f7p6ckdzycaacfsn0k7iigc7bs1ahkmhh14w7za5x4glw7" - } - }, { "ename": "code-cells", "commit": "75600cc888a717d300c6ca05b629fa7acba9390b", @@ -15692,17 +15743,17 @@ }, { "ename": "codespaces", - "commit": "385b9c079904e3548dc9ecaf6daf78cd737349fd", - "sha256": "0iln27y69zz7d9ls5ddbhh8jax3spjg3pfclpajwfgwncwkl8qgz", + "commit": "d2dd3edc7a6579fe4d4a92d42bfa1beecf51e2cc", + "sha256": "139sl0h1vr75zf17pmm912ims2pd2qz82jr1hi0nbj0n7w050yvb", "fetcher": "github", - "repo": "patrickt/codespaces.el", + "repo": "f4ban/codespaces.el", "unstable": { "version": [ - 20221018, - 1831 + 20260224, + 403 ], - "commit": "8e0843684ea685c2b25b8f5601cf02553bab4b08", - "sha256": "1w3ay58aq3hgibmigb6frr7w1q660fvzhapr7lzgfh8w2z4lq7l9" + "commit": "16e5fc290532847c1dc3ced23533376880e44267", + "sha256": "02izh145v7b05il9vqdqyi3lmacpimvvy4ihiwnfjmzddlvm5cra" }, "stable": { "version": [ @@ -16031,11 +16082,11 @@ "repo": "purcell/color-theme-sanityinc-tomorrow", "unstable": { "version": [ - 20260105, - 1047 + 20260211, + 1131 ], - "commit": "22107d90816293c361b777b1f8dfd6ba0be00f7b", - "sha256": "0kplsngi22m7i7wy9crizfqbsc6kfmx6h6svr2kirdglabjsnakm" + "commit": "7aec77ed89402bebf0ed879848329ac336f44188", + "sha256": "04a0mvff2k9dg3flx953w1yfnwp345za7k8220zcwxmpi5rcnzz5" }, "stable": { "version": [ @@ -16203,14 +16254,14 @@ "repo": "NicholasBHubbard/comint-histories", "unstable": { "version": [ - 20251116, - 1248 + 20260205, + 106 ], "deps": [ "f" ], - "commit": "36f37760a85bc5e8535180d9481c856768ea356d", - "sha256": "1rh36m9d4pm4lhdlwyw77h6k2gnwz69bayh270aslv269j1g96xk" + "commit": "12cd14d64d7396def51397ca1f0756357afd41f3", + "sha256": "0ywnahzm0lvlz5z4yd43zi1m4bfmfsdnh85ainf106chwc5nl0p5" } }, { @@ -16518,11 +16569,11 @@ "repo": "company-mode/company-mode", "unstable": { "version": [ - 20260108, - 36 + 20260220, + 156 ], - "commit": "fad9f207e00a851c0d96dd532c1b175326ac3e3d", - "sha256": "0c7wm5wkq94j64v7ivk2aq3172lg3cd4nn77l5k7aszh3rqlhrnm" + "commit": "42d3897308a992cd2268ba2d4e2ec013fc6c961e", + "sha256": "18l5r52hsw3w7wmpzvrcy542s541z7s8f3ma9hy186l4p22hwziv" }, "stable": { "version": [ @@ -16743,8 +16794,8 @@ "repo": "cpitclaudel/company-coq", "unstable": { "version": [ - 20250806, - 1134 + 20260223, + 1721 ], "deps": [ "cl-lib", @@ -16753,8 +16804,8 @@ "dash", "yasnippet" ], - "commit": "78ed04ce39e925232a556d2077718cc7b215469c", - "sha256": "02c4771ds6hm6hr12z5pw0lir43gjgba87wzrnda9gh5vbvflyc4" + "commit": "1fc1d8f2d56e460b33c6d41a659488dce7b214f9", + "sha256": "0jlsg6bm77lzyxpqz7h076991hvlmqhwvjhklsfi4aqbigncc9lv" }, "stable": { "version": [ @@ -16883,15 +16934,15 @@ "repo": "emacs-eask/company-eask", "unstable": { "version": [ - 20251231, - 1607 + 20260224, + 1651 ], "deps": [ "company", "eask" ], - "commit": "8011dc5c6c931760a80189d1695147cad674e568", - "sha256": "14v24rlw1h2101ps3ykmpa91pgmjkyf1d6zaz2d6pffdclp9ag7v" + "commit": "748c53fe1530c7b75682d78128f85326e41432d6", + "sha256": "1w0vj9ivm4lhxvrwfaarb2jqcc40n4nqysrzsdn9hwbzwz421caz" }, "stable": { "version": [ @@ -18416,11 +18467,11 @@ "repo": "jamescherti/compile-angel.el", "unstable": { "version": [ - 20260114, - 1601 + 20260224, + 27 ], - "commit": "59b431c6a55b8aeb36f536756890adc3b70ee205", - "sha256": "0hkn932lbnq4dp7zkw6gvb23xcs3253hava738cdhbw2b2kj32rr" + "commit": "4d9d1db237189720eb72aff24c05ba18ebe06423", + "sha256": "1x1j0pz8lhlzbs1iarxh3xix6m93yjz4iidf9pmbqm0r1r6s6yd5" }, "stable": { "version": [ @@ -18552,8 +18603,8 @@ "repo": "mkcms/compiler-explorer.el", "unstable": { "version": [ - 20260113, - 1505 + 20260203, + 2217 ], "deps": [ "eldoc", @@ -18561,8 +18612,8 @@ "plz", "seq" ], - "commit": "79a4c4be96a3210ccc85d2e7f1acbc1a4bcf86d5", - "sha256": "0zapy5fjzfw7rxw7wkwvq27wbqsic7l7wjv0wlb5djyfjcax9g5q" + "commit": "269bd9d9d2cbc45c10b5f91f988dc39bf783a68d", + "sha256": "0l76y2vv16bf4ay68pmrgypcq7sxnmk4sgdhili96bqy8jxc4ryp" }, "stable": { "version": [ @@ -18713,20 +18764,20 @@ "repo": "tarsius/cond-let", "unstable": { "version": [ - 20260118, - 1332 + 20260201, + 1500 ], - "commit": "e08a9ccf29e28aae43988458789dea04a562ccd1", - "sha256": "198yk7fr28n85mglmq41r8ir3vl1fk0000z1a79hb7xmplkk6c3d" + "commit": "8bf87d45e169ebc091103b2aae325aece3aa804d", + "sha256": "08ay78mbypfs1nl31dsv4b7bixnsl5kp1xkg0jkk7fvbsfv22679" }, "stable": { "version": [ 0, 2, - 1 + 2 ], - "commit": "0430bd1eb3493ea90d69feb6b7eb7dac3e10d0ba", - "sha256": "0611cz5warp6w4zvy4q1mkxkgypnlfwwz52h94n8mgqxa0r3rhvs" + "commit": "8bf87d45e169ebc091103b2aae325aece3aa804d", + "sha256": "08ay78mbypfs1nl31dsv4b7bixnsl5kp1xkg0jkk7fvbsfv22679" } }, { @@ -18960,14 +19011,14 @@ "repo": "minad/consult", "unstable": { "version": [ - 20260118, - 744 + 20260205, + 2051 ], "deps": [ "compat" ], - "commit": "312f2db1a23ef5428ab9553679147d5ff3a4e57d", - "sha256": "1q046nfhikklz137yccsxnak91hdh38gjpl1nbssh0nmqcfgkmvs" + "commit": "d1d39d52151a10f7ca29aa291886e99534cc94db", + "sha256": "1ck0g1l11knb9x13jmga1w67r7lfh5ajk6fnwdbd0yxfnkx44gqg" }, "stable": { "version": [ @@ -19470,6 +19521,25 @@ "sha256": "12vbgl90m3jp1m5f9amsqa7aa9kxlayf02rzii30mgfi02y7ypl4" } }, + { + "ename": "consult-gumshoe", + "commit": "cae5094c143c1eb882edb423f6f2b6f5b5217259", + "sha256": "1p011ccyrifygcj7f48czc50m3pjwv0zcwr08dl1nqd238di8hy8", + "fetcher": "github", + "repo": "Overdr0ne/gumshoe", + "unstable": { + "version": [ + 20260217, + 252 + ], + "deps": [ + "consult", + "gumshoe" + ], + "commit": "da71e889b5e890fecbacaeba0a4977c4657b4351", + "sha256": "0j5nnrn5ypj4i2ysdfayiky3iai30wjwhdbxakrj5bafcn5051ki" + } + }, { "ename": "consult-hatena-bookmark", "commit": "7a14748b58bba3d89324fd3e3ed7e50963fffa52", @@ -19579,16 +19649,16 @@ "repo": "mclear-tools/consult-notes", "unstable": { "version": [ - 20251117, - 1511 + 20260222, + 1928 ], "deps": [ "consult", "dash", "s" ], - "commit": "3c11379514718db365a377ac8e4503d1ea4674a8", - "sha256": "096ppagkdr8ji3cfkmgh0jnlwzccc89rcdqc1pp9mf2yq6phbxfh" + "commit": "94e5b19ec84363438eb7114e59c059a67f3d7c59", + "sha256": "1cvvmk3nf3fidcfc2x8wvsb1yc98cilhhcl7kgawzlwmy8r0libr" } }, { @@ -19631,15 +19701,15 @@ "repo": "jgru/consult-org-roam", "unstable": { "version": [ - 20251116, - 1230 + 20260209, + 1805 ], "deps": [ "consult", "org-roam" ], - "commit": "7d825fffd6f990b800485376f62dd9b277991709", - "sha256": "1icr16lq7ns9ml8sl6zxbv68zvwb1b1w4vq0x7dr1qrcvgzpsgr8" + "commit": "781d9c1cfee8631bc125fa45bab92de320d3941e", + "sha256": "18gwyv6zbbh4kqf8g8gz2rdi4sihmv7z9cmlksyg5j41a2l6imjg" } }, { @@ -19740,6 +19810,24 @@ "sha256": "06wj2pixhjgqddl9g2wkv7cq9gz9yjb46cb1jrlbya3rdjyfb6h5" } }, + { + "ename": "consult-spotlight", + "commit": "aadaf32f459d1d62b34a3d0bd4a2d630c8f38342", + "sha256": "0507f4x0y1zifdyfbaka21y3873pp903afr2p5candf2yr8gfjsy", + "fetcher": "github", + "repo": "guibor/consult-spotlight", + "unstable": { + "version": [ + 20260202, + 2318 + ], + "deps": [ + "consult" + ], + "commit": "b60fef973c19e22225cae395217ff01bd32a0ef5", + "sha256": "0dsd12kj7blnd6mhs3kgww5x4bz7xl8qbj2xg3xra8jgdic03njk" + } + }, { "ename": "consult-tex", "commit": "f102e1c21efddc3cacd1b37726e365f717c3c708", @@ -20030,17 +20118,17 @@ "repo": "copilot-emacs/copilot.el", "unstable": { "version": [ - 20251210, - 1016 + 20260225, + 538 ], "deps": [ + "compat", "editorconfig", - "f", "jsonrpc", "track-changes" ], - "commit": "7ee4758bb748beac7d29e62de5d2e752ebafb858", - "sha256": "0r8g1yv8csq9l069myiy57kak39dym3klqbxs08l693j9zmdyflg" + "commit": "0e1c017162f50dbceb32cd00d4d6d41ddde71b2b", + "sha256": "1p3dwn34cb8k6pw2y2dirnp2gymxin4njs0wdcm1n5l2ci1vhrzx" }, "stable": { "version": [ @@ -20066,8 +20154,8 @@ "repo": "chep/copilot-chat.el", "unstable": { "version": [ - 20260105, - 858 + 20260123, + 937 ], "deps": [ "aio", @@ -20079,8 +20167,8 @@ "shell-maker", "transient" ], - "commit": "9dd4b0c72e5e2af16b340a22a427105854f4e745", - "sha256": "0jlqf4mabynzwsl3s4vwha5lw1ipva9xkdin92qslmb8lkffr9r7" + "commit": "753ebc4ae466c8716be8de0d169393f730c999f6", + "sha256": "11f3i27yi5f9v61wmhwl35awidkv7jn285pq4jq9zrwzv8cp6zm6" }, "stable": { "version": [ @@ -20251,14 +20339,14 @@ "repo": "minad/corfu", "unstable": { "version": [ - 20260118, - 746 + 20260210, + 915 ], "deps": [ "compat" ], - "commit": "fbbcdf9578a8fbea4d6956fc3bdf2dcb776b8d8b", - "sha256": "0aliis64ifr17xyig99gbh0xczdkdlb4snq5pbrlnrjhzk1cksy4" + "commit": "abfe0003d71b61ffdcf23fc6e546643486daeb69", + "sha256": "1v8y941pf3q03pva9pma2pykmb8nl9sdl7ydcph798yfcsw0p6xr" }, "stable": { "version": [ @@ -20428,15 +20516,15 @@ "repo": "abo-abo/swiper", "unstable": { "version": [ - 20250329, - 1401 + 20260214, + 1004 ], "deps": [ "ivy", "swiper" ], - "commit": "e33b028ed4b1258a211c87fd5fe801bed25de429", - "sha256": "1yv40k0swdywk0zwxs2s95s4y1pa9k2m3s25fx7gv9pnmf7yw8p1" + "commit": "ee79f68215ae7e2b8a38ba6bf7f82b3fe57dc16c", + "sha256": "0qs73g9d5c1rmjmmlkgx11qs25nb10azh841ybjllsyqa9ilch8l" }, "stable": { "version": [ @@ -21391,11 +21479,11 @@ "repo": "smallwat3r/emacs-creamy-theme", "unstable": { "version": [ - 20251030, - 1829 + 20260130, + 917 ], - "commit": "3bceabac758378d91d07ba39b855e744be7e3c54", - "sha256": "135v8qcx2cwjj68q9zwxiy4jgmyl6pwvc4dkwi4z6r4wy7g306sl" + "commit": "d16902a91c28d616d01bb7bcfd7c6248415f5860", + "sha256": "0i3r58b6pyq2zhpyzkp6yb8rdwh2li1f1scshgz4wydsvsirqal6" } }, { @@ -21972,19 +22060,20 @@ "repo": "radian-software/ctrlf", "unstable": { "version": [ - 20251212, - 141 + 20260221, + 1939 ], - "commit": "3e1d4d74b201e45a2d471675f5fdae370f23f947", - "sha256": "0mcchmw7kc7676rmh2psmqmijwdkqrj8js7nk12g3y1ydyskypd2" + "commit": "452723c046c54f66f590900548d8eb4a7783e528", + "sha256": "05s1ardblrfj3jbwrini0v7b7ww5q6gzvgrx9jgncgvi4xci046s" }, "stable": { "version": [ 1, - 6 + 6, + 1 ], - "commit": "9b4cf6c79a961f2bfbb949805aa300fcf1eb40a6", - "sha256": "061id540spjycgy2xshj8kwgdngkjinznhx2qp5pmqzzx7z7rpfb" + "commit": "452723c046c54f66f590900548d8eb4a7783e528", + "sha256": "05s1ardblrfj3jbwrini0v7b7ww5q6gzvgrx9jgncgvi4xci046s" } }, { @@ -22925,8 +23014,8 @@ "repo": "emacs-lsp/dap-mode", "unstable": { "version": [ - 20260104, - 1524 + 20260208, + 1403 ], "deps": [ "bui", @@ -22939,8 +23028,8 @@ "posframe", "s" ], - "commit": "ded79ff0637f0ceb04380926a5ce4c40ef0a4f4c", - "sha256": "116wr8dvs7bcf5xc7kbmfdpzn4l3ck3gkjk711a2bhirqlrqjxww" + "commit": "b77d9bdb15d89e354b8a20906bebe7789e19fc9b", + "sha256": "1092xys5dx9k0rq3vgkrrgx6bfkpvq8lbhng8p8cvhspi2fi766s" }, "stable": { "version": [ @@ -23197,11 +23286,11 @@ "repo": "nameiwillforget/d-emacs", "unstable": { "version": [ - 20260105, - 2019 + 20260224, + 1036 ], - "commit": "5bdba90f2600fbe4c0ddf75d8b190fc9218a5476", - "sha256": "10zr2xf4zfgx2z0pf2kv42jclg3c28kjsniwmcgqw0ldjlx89yl6" + "commit": "b3ceec1e31953b7925aceb4c081b48bc9a413000", + "sha256": "0z3gx15a63cnbfalazx8wjibgf277jrk0n1bpqm3n228dnqyswdl" } }, { @@ -23212,11 +23301,11 @@ "repo": "magnars/dash.el", "unstable": { "version": [ - 20250312, - 1307 + 20260221, + 1346 ], - "commit": "fcb5d831fc08a43f984242c7509870f30983c27c", - "sha256": "092kf61bi6dwl42yng69g3y55ni8afycqbpaqx9wzf8frx9myg6m" + "commit": "d3a84021dbe48dba63b52ef7665651e0cf02e915", + "sha256": "145zfh9y08k2rlnzim95lhwxx6qzihlmbrvxnhs38gkkgl0ljh2n" }, "stable": { "version": [ @@ -23315,11 +23404,11 @@ "repo": "emacs-dashboard/emacs-dashboard", "unstable": { "version": [ - 20251231, - 1631 + 20260221, + 1336 ], - "commit": "49de4c16624f6a86a5beb1196f68f02636a74d1b", - "sha256": "0p5v0bnvzngzz4jyr11jl44d1akywzwx3irbkbn6k0a5c4545caf" + "commit": "13fa459e8d60b83ff6134486d44888e3bdcf291a", + "sha256": "0fahi1afkv83swvbb2xh3zvmfzgp5wvnajlml0q7pvkfdgk9lzis" }, "stable": { "version": [ @@ -23685,6 +23774,21 @@ "sha256": "08sdhj4gs66dxv5fqpbp3vwm21rasw2qz0853056h19jiqkzz3a1" } }, + { + "ename": "ddgr", + "commit": "565be7cc4daa04220b2e80cc32a6d39f311b3c61", + "sha256": "0g5z8jjxc2qlxmdkjlj9fvp0c0j6046n1xy9r3mg310ybfzwisq6", + "fetcher": "github", + "repo": "necaris/ddgr.el", + "unstable": { + "version": [ + 20260217, + 345 + ], + "commit": "55cba194c477f435221094d31798a588df4137e7", + "sha256": "0pmwpjn7n0h0z0gkiclccj4gw94y8hy093df181dm2w4njj6dql0" + } + }, { "ename": "ddp", "commit": "edf8854cef5979b3a8e39ba84359422365f90ded", @@ -24081,8 +24185,8 @@ "repo": "jcs-elpa/define-it", "unstable": { "version": [ - 20260101, - 558 + 20260214, + 1857 ], "deps": [ "define-word", @@ -24093,8 +24197,8 @@ "s", "wiki-summary" ], - "commit": "f33effcfcd4ef73cefd5d1c32991c5802269643e", - "sha256": "1645xxv7x93z4fj05imrddbmbn7qj152vbv5yh8implqwf0mnlyw" + "commit": "094c2dbe3fac7c19365fb952e821bdd5b558f51c", + "sha256": "1d32vhsbz829p4bjqzd9x5a1wapp9yyklp8h60lws988k8ykg690" }, "stable": { "version": [ @@ -24518,15 +24622,15 @@ "repo": "swflint/denote-sections", "unstable": { "version": [ - 20260112, - 1809 + 20260120, + 1542 ], "deps": [ "denote", "universal-sidecar" ], - "commit": "ea81318cf1c7d7281047a6b3a2ac8fb76c8535d7", - "sha256": "09qjwy90b5xpgzaplvw6vpwwhpa5484yjq9291b992h031gjvygw" + "commit": "dde6836a4663cb3fc23cdce8ea25834720711c8a", + "sha256": "0rrnr3my8w76zv99wlhhym0j5c3amlgjlamv8q3raglhbk683q3g" } }, { @@ -24742,6 +24846,21 @@ "sha256": "1mgz2gicp7wm41x8y8q4wwsa92pga67wngpf8473lb2jrzpf78k6" } }, + { + "ename": "devcontainer", + "commit": "a3ee0e0fe865ff35e91678ce5577421477d27191", + "sha256": "0lcxqmqwdy1kwhinlqxc58q3ykip7rkrz7cyklsq3fbwdzfvyh4a", + "fetcher": "github", + "repo": "johannes-mueller/devcontainer.el", + "unstable": { + "version": [ + 20260221, + 1522 + ], + "commit": "6c28f50da80f8242bee90e43abacd9bced552114", + "sha256": "0gjbhh1dmq11x5f40qxhwdhppix24nnz5x8ph3pyil53jnsw5s6s" + } + }, { "ename": "devdocs", "commit": "19d1adfa91593cc32a3ce94d47f4c32102408488", @@ -24832,6 +24951,21 @@ "sha256": "12i3spjw5a74n7rfsnd93wvf496j3pp45rk85nxyij5vr1nxn3g7" } }, + { + "ename": "dialog-mode", + "commit": "b07680fd918a44795876ee242d048a9eb184b19d", + "sha256": "1ig5s6g6ldxilxhwm90b25x4yih59ngz9a2q22fm1vilnhmakrdh", + "fetcher": "sourcehut", + "repo": "mew/dialog-mode", + "unstable": { + "version": [ + 20260221, + 2125 + ], + "commit": "c8f29d6cd7cd4363a7ae1b4912d26acc33fb536d", + "sha256": "077kx3vqz6c33pjxm56k4qxkfh6dkmwxxy72vzl02zv8whba7hv0" + } + }, { "ename": "dianyou", "commit": "059b003c74acdfdd917ecb6fecb782a0f54d155b", @@ -25052,14 +25186,14 @@ "repo": "dgutov/diff-hl", "unstable": { "version": [ - 20251216, - 242 + 20260223, + 1553 ], "deps": [ "cl-lib" ], - "commit": "e79aa49ad3cbbe85379cf6646db3aaacd3b04708", - "sha256": "0fvxngcbx36vqj72fllfp5iqwihcqd1dfhmqr3m1284191q83na3" + "commit": "bdb36417e3dc990326567803831241199e266844", + "sha256": "0yg6aq4vls7qmgk0aj6r4chrs8fh17gpj6zsajq7jz7pilvc7pk7" }, "stable": { "version": [ @@ -25395,26 +25529,26 @@ "repo": "dylan-lang/dylan-emacs-support", "unstable": { "version": [ - 20210613, - 1431 + 20260212, + 8 ], "deps": [ "dylan" ], - "commit": "d85409dc3cba57a390ca85da95822f8078ecbfa2", - "sha256": "1cm4l2ycaw47mfgc6ms021zxkas1jajgwpnykqlkcwcbakbczxjl" + "commit": "c22f339b5394d26af4961192825e58ae766965ec", + "sha256": "032ksqk2hwqw68nqjldhswxvmn41s9iiacabl4z0abcb5qc1l26g" }, "stable": { "version": [ 0, - 1, + 2, 0 ], "deps": [ "dylan" ], - "commit": "d85409dc3cba57a390ca85da95822f8078ecbfa2", - "sha256": "1cm4l2ycaw47mfgc6ms021zxkas1jajgwpnykqlkcwcbakbczxjl" + "commit": "c22f339b5394d26af4961192825e58ae766965ec", + "sha256": "032ksqk2hwqw68nqjldhswxvmn41s9iiacabl4z0abcb5qc1l26g" } }, { @@ -25536,11 +25670,11 @@ "repo": "jamescherti/dir-config.el", "unstable": { "version": [ - 20260114, - 1604 + 20260215, + 2013 ], - "commit": "4ac26d4698b841f438c0896896f39db90c120571", - "sha256": "07l5g77j5dd4hfdyzd4rf3jgrw5sqqzdx2j6gzi6km5n7076qxbv" + "commit": "765a697d17dbd969c1bb5551f14c6d0524439097", + "sha256": "0gn4q8krbim3vlbcw1nzyhv91s2w4d58gqspywpni64i7i18ssmc" }, "stable": { "version": [ @@ -25734,26 +25868,26 @@ "repo": "meedstrom/dired-du-duc", "unstable": { "version": [ - 20251223, - 1946 + 20260205, + 1758 ], "deps": [ "dired-du" ], - "commit": "8b72d0a3c42332f23ca3c9fe7a940c9c0db2e474", - "sha256": "03bm2k4niwjkj5sy481qi5hzkr8bk1x15l7g7rzw5irrmrzv03gb" + "commit": "f7f1a915e5a39109c00cabc3ab2a38c77750c195", + "sha256": "1jg7lwnbslnax5x476szc5raifx6r4634pk4kyazrmjyl1xawyq0" }, "stable": { "version": [ 0, 1, - 2 + 3 ], "deps": [ "dired-du" ], - "commit": "a90e13b6e4b7e39c9b7c57b9111bf33261431dc8", - "sha256": "18qaw3n9jgp5wky515kz4a15dz4xklha16yr7cdwpzgk3mlgrm13" + "commit": "f7f1a915e5a39109c00cabc3ab2a38c77750c195", + "sha256": "1jg7lwnbslnax5x476szc5raifx6r4634pk4kyazrmjyl1xawyq0" } }, { @@ -26339,15 +26473,15 @@ "repo": "stsquad/dired-rsync", "unstable": { "version": [ - 20230822, - 1350 + 20260204, + 1424 ], "deps": [ "dash", "s" ], - "commit": "5bcb851f3bf9c4f7c07299fcc25be7c408a68cda", - "sha256": "0lgqq7lh6pkg5mr9b2ilpkyw1gjrdr4frq26vjkmrl95wwphbc32" + "commit": "24ceb60b168c591d7e2d9440a7f1895880681f48", + "sha256": "0vrpwk91qrcnkr6cgmal7abi0cmykfr840l4cxvv5jzr8c1m1zhi" }, "stable": { "version": [ @@ -26553,14 +26687,14 @@ "repo": "Boruch-Baum/emacs-diredc", "unstable": { "version": [ - 20260106, - 554 + 20260219, + 637 ], "deps": [ "key-assist" ], - "commit": "812a0e1892a318cf6cfd69d1296480e810e5d790", - "sha256": "18qax2d1yj3yyp0alwh54w2zirf0hj0kzns0728axcgmi1h5l0hw" + "commit": "c702a9a1df3939424f6033bb8c948dbb163010f5", + "sha256": "038sql3chk8ywhryrbrlzsh937vh2wgx2vvkknwqpnxfwza28shk" }, "stable": { "version": [ @@ -26582,20 +26716,20 @@ "repo": "knu/diredfd.el", "unstable": { "version": [ - 20241209, - 623 + 20260206, + 337 ], - "commit": "d789710c7e9699dae6ca87dcbfc27641a85fa3b6", - "sha256": "0xlgzmx089whmmnka0ngz7mdxvdplci3b4xvxjdmsydxx99gj3q6" + "commit": "a3eb656d2bd201a193fdb1ac547c075717ee7561", + "sha256": "06864z8zhv6vbamsx6iyazx6d808dpscv65v2sq0pj7p7cw8y8lg" }, "stable": { "version": [ 2, 0, - 1 + 3 ], - "commit": "e234c0bf91649bd13de984f6ef1b2354565fd4ce", - "sha256": "0yb7918kxja9lsri4ak3pkksvs32picw3yg3b8x9j6vp4zd7gd3j" + "commit": "a3eb656d2bd201a193fdb1ac547c075717ee7561", + "sha256": "06864z8zhv6vbamsx6iyazx6d808dpscv65v2sq0pj7p7cw8y8lg" } }, { @@ -27547,8 +27681,8 @@ "repo": "Silex/docker.el", "unstable": { "version": [ - 20260115, - 1341 + 20260126, + 1212 ], "deps": [ "aio", @@ -27557,13 +27691,13 @@ "tablist", "transient" ], - "commit": "f69f331e767109bf456bf7780d2a8982f9d23b22", - "sha256": "1ha9j13l256dky0fgbzi8ndbb1yj996q1j4q42vbiidrfinxpfl5" + "commit": "916686b86e83a3bd2281fbc5e6f98962aa747429", + "sha256": "0yql0k5bw1vsqh44g5aq6ip6dn3c36k8gpljvbghsj01fcqdlvj6" }, "stable": { "version": [ 2, - 4, + 5, 0 ], "deps": [ @@ -27573,8 +27707,8 @@ "tablist", "transient" ], - "commit": "375e0ed45bb1edc655d9ae2943a09864bec1fcba", - "sha256": "102hn0m91shyiz25x2c5ihhzbc8a3i9vnlkfcb3xm3w3nrqa5w64" + "commit": "916686b86e83a3bd2281fbc5e6f98962aa747429", + "sha256": "0yql0k5bw1vsqh44g5aq6ip6dn3c36k8gpljvbghsj01fcqdlvj6" } }, { @@ -27851,6 +27985,24 @@ "sha256": "0icf0jdyd86w2sfkv499gbc579zypyc8lh9dgh3vcm6jp9fk0sc2" } }, + { + "ename": "doing", + "commit": "bd6b452ccbf1319394f47347dc1dc5e5a9a2310f", + "sha256": "14xm2cwfca0m5p22wh1zp4nfwmn3zbn559j3cln2bdh5dr4hl89r", + "fetcher": "github", + "repo": "xiaoxinghu/doing.el", + "unstable": { + "version": [ + 20260219, + 234 + ], + "deps": [ + "org" + ], + "commit": "e3c39bf16f41637a0ef1c1512cb1417063dea956", + "sha256": "0kn4v64vhlhqiayn09w0z8s0pfjp9qrwmikk6zp820l0ibzkxmdh" + } + }, { "ename": "dokuwiki", "commit": "e608f40d00a3b2a80a6997da00e7d04f76d8ef0d", @@ -27895,20 +28047,32 @@ }, { "ename": "dollaro", - "commit": "b8195000cffa1913060266b17801eb7c1e472a83", - "sha256": "06kaqzb0nh8sndhk7p5n4acn5nc27dyxw3ldgcbp81wj6ipii26h", + "commit": "0c5d50f4925aca5d5b4ba68d8ba8c54b37bb5380", + "sha256": "18y4wcb8bslmrp844bw4wyi07fpqzvqx1bpqs97b7lda2mjv6il4", "fetcher": "github", - "repo": "laynor/dollaro", + "repo": "emacsattic/dollaro", "unstable": { "version": [ - 20151123, - 1302 + 20260210, + 1514 ], "deps": [ "s" ], - "commit": "500127f0172ac7a1eec627e026b59136580a74ac", - "sha256": "1xyqsnymgdd8ic3az2lgwv7s7vld6d4pcycb234bxm4in9fixgdj" + "commit": "d18b07fc6a63ce773b745714e135284b6eec7485", + "sha256": "1a0mnh8bkfh5x4pw74b2hn1nigy3v5jfnc3x7mmpj6kclwxmpcy6" + }, + "stable": { + "version": [ + 0, + 2, + 1 + ], + "deps": [ + "s" + ], + "commit": "d18b07fc6a63ce773b745714e135284b6eec7485", + "sha256": "1a0mnh8bkfh5x4pw74b2hn1nigy3v5jfnc3x7mmpj6kclwxmpcy6" } }, { @@ -27948,16 +28112,16 @@ "repo": "seagle0128/doom-modeline", "unstable": { "version": [ - 20260110, - 517 + 20260223, + 1035 ], "deps": [ "compat", "nerd-icons", "shrink-path" ], - "commit": "9ac20488c56be0e88611881beb713cc58e02eff3", - "sha256": "1c22gyckinxhz3qixbh05i7qgnwpag9xy78mb6rf4hyr00b3yqpz" + "commit": "499a44c0333d70624b75e987029264e684418965", + "sha256": "08i9ld44bx60mj976vl8lchp662fsixaffk7mkmklbjbqg175a0k" }, "stable": { "version": [ @@ -28358,11 +28522,11 @@ "repo": "dracula/emacs", "unstable": { "version": [ - 20250625, - 2011 + 20260224, + 1455 ], - "commit": "ad30f50e06c1b4c3e461c647e976cd00b9bc4869", - "sha256": "1vv00hgik7pvj1p0ii8g6bcyvfjzwhh33hjh0gfgsh8gxm1lfij8" + "commit": "b1a4d87ba1cf880143f4ab2ccd942cf556887fb1", + "sha256": "10yy3abny8iv74pxw2m94gnnszylpsqsf85lp7rla7lslmykhqys" }, "stable": { "version": [ @@ -28705,6 +28869,30 @@ "sha256": "03h5qmxyxvcw92j7rhzr1l3qmspfsnbf2cn68v7r5qk7hzrixmpr" } }, + { + "ename": "duckdb-query", + "commit": "9bd98c8bcfe743784ed24bdefc37e7f31fe6757d", + "sha256": "0ald6fzmiz03i4s5nrq936nvgy85cf72pb9w3rpw1ax97l40mnck", + "fetcher": "github", + "repo": "gggion/duckdb-query.el", + "unstable": { + "version": [ + 20260225, + 354 + ], + "commit": "b81c669859e201c4dcd1303033c0ee81134aca17", + "sha256": "0z48vrnv79z7zr579sf8zs4fmxhyv68bps4kx38x5jih1c0cvmdp" + }, + "stable": { + "version": [ + 0, + 8, + 0 + ], + "commit": "b81c669859e201c4dcd1303033c0ee81134aca17", + "sha256": "0z48vrnv79z7zr579sf8zs4fmxhyv68bps4kx38x5jih1c0cvmdp" + } + }, { "ename": "ducpel", "commit": "a6ff6bbfa11f08647bf17afe75bfb4dcafd86683", @@ -28713,14 +28901,11 @@ "repo": "alezost/ducpel", "unstable": { "version": [ - 20140702, - 1154 - ], - "deps": [ - "cl-lib" + 20260204, + 1533 ], - "commit": "2f2ce2df269d99261c808a5c4ebc00d6d2cddabc", - "sha256": "19a8q9nakjzyzv7aryndifjr9c8jls9a2v7ilfjj8kscwxpjqlzb" + "commit": "bb0275a8aa7e8aa0895979711b037573544d50c1", + "sha256": "03dcr1wykany2r5ix576j1f36v67qyz1q2flmmccdcawv01kda08" }, "stable": { "version": [ @@ -28757,16 +28942,14 @@ "repo": "jacktasia/dumb-jump", "unstable": { "version": [ - 20260119, - 2346 + 20260225, + 556 ], "deps": [ - "dash", - "popup", - "s" + "dash" ], - "commit": "5bfea588a5f67ccf163bbe5084ee0c92e43869cf", - "sha256": "1bi69qb9w7x1w9irf2smv82jafy9z5fa4qlzqjrfcqv701kf67zf" + "commit": "d194c4777f0a8e970864cd316fc3b93cfc34e6b2", + "sha256": "042kd8g4wpvfcb1r43jk46y5hhigh03xj1c2k8w87w0ssnjzfhyf" }, "stable": { "version": [ @@ -28825,20 +29008,20 @@ "repo": "ocaml/dune", "unstable": { "version": [ - 20260112, - 1835 + 20260120, + 2128 ], - "commit": "832d2384ce30cf98e32d797aecf81088d1bd354b", - "sha256": "12y6j141znv9k1hknavr8i19wlc5009cgz8d6xgw4w42ghsmcppf" + "commit": "ccdb380ab5714b81f1ba71f7f8acfd792e6200bf", + "sha256": "0b6xndnh8c27v84vbv0bl8x3062y9fvbrh92p2hm065qsaj8gr7s" }, "stable": { "version": [ 3, 21, - 0 + 1 ], - "commit": "832d2384ce30cf98e32d797aecf81088d1bd354b", - "sha256": "12y6j141znv9k1hknavr8i19wlc5009cgz8d6xgw4w42ghsmcppf" + "commit": "0b5863d9be475453b3cc2bd321fde222af2544d4", + "sha256": "1d8llv0ky4dv01bv4hdk57x33b38c28mbawshq3i4p8big3480xl" } }, { @@ -28992,11 +29175,11 @@ "repo": "xenodium/dwim-shell-command", "unstable": { "version": [ - 20260112, - 1233 + 20260123, + 1157 ], - "commit": "1227c014d08c116d8fd446cf5eeb27c566289644", - "sha256": "1vw09zsdjif2s7hb40l3j1akxw6gwin9rwfk460d1y7f0kgpgc8w" + "commit": "a408b7826bb4535e7a14e16848ad41820d63411f", + "sha256": "1a30h2ly34pplfnpxhnkdjwqlsfkjchx01wcnh1cnd9zlg05sinp" }, "stable": { "version": [ @@ -29064,20 +29247,20 @@ "repo": "dylan-lang/dylan-emacs-support", "unstable": { "version": [ - 20250319, - 1925 + 20260212, + 8 ], - "commit": "342d86a58ad307a581fc95c0f271661444dbc13c", - "sha256": "1lpy03lzfpws828wn4f89cqnc0js4d65kk206xrb6rjlx55yv2a9" + "commit": "c22f339b5394d26af4961192825e58ae766965ec", + "sha256": "032ksqk2hwqw68nqjldhswxvmn41s9iiacabl4z0abcb5qc1l26g" }, "stable": { "version": [ 0, - 1, + 2, 0 ], - "commit": "d85409dc3cba57a390ca85da95822f8078ecbfa2", - "sha256": "1cm4l2ycaw47mfgc6ms021zxkas1jajgwpnykqlkcwcbakbczxjl" + "commit": "c22f339b5394d26af4961192825e58ae766965ec", + "sha256": "032ksqk2hwqw68nqjldhswxvmn41s9iiacabl4z0abcb5qc1l26g" } }, { @@ -29505,26 +29688,26 @@ "repo": "meedstrom/eager-state", "unstable": { "version": [ - 20251221, - 1617 + 20260123, + 751 ], "deps": [ "llama" ], - "commit": "7d34fc1f4f341a971ec165fd54b1f42eb9982971", - "sha256": "0h8xixld412nfbsqz59s51d5digfnqlhik1hq4vvpk6172a5z4jm" + "commit": "53282709833021dfbe8605c9eadaa0fffe5da349", + "sha256": "1ms6xwb96fjrrizxdpvb3rnqg4ch8s7qnqw5ca75vr5aqb1hli2y" }, "stable": { "version": [ 0, 2, - 1 + 2 ], "deps": [ "llama" ], - "commit": "f9716129a17cca7a3f4271a9c822a9986457f229", - "sha256": "0x9nzxa5ff963cxfzaj2br577vllk5kccp8in5j93p8n46209mxr" + "commit": "53282709833021dfbe8605c9eadaa0fffe5da349", + "sha256": "1ms6xwb96fjrrizxdpvb3rnqg4ch8s7qnqw5ca75vr5aqb1hli2y" } }, { @@ -29565,20 +29748,20 @@ "repo": "emacs-eask/eask", "unstable": { "version": [ - 20260117, - 1610 + 20260222, + 1247 ], - "commit": "e8857600be6b9c3e40edbff6fd56fcfbc6286679", - "sha256": "1v9m78wxvjzw8k77gf3vffzla8r3bcgihdkr6sfmiqb7hz3z9v3n" + "commit": "664704775ce2318f7a76b65077e8559ada542814", + "sha256": "0w4m3sgsivp0kd95bs2bgfhm2zd3vm4mcvahghlgprrgc7dj089r" }, "stable": { "version": [ 0, 12, - 2 + 9 ], - "commit": "d5e665fcc63af17bf2177ecc371dda1f999788aa", - "sha256": "01y5bq6mmsla21i2656ran3vc3hyzry4yh0rs6vjyikg1f0vagk4" + "commit": "4ef950a951ef3a1b6c6f6f75f30c10576e4248e1", + "sha256": "1h4c1qcbz9cwq6yvzbk07g85nyswi3kasdvf260izp7i0x535r3v" } }, { @@ -29616,8 +29799,8 @@ "repo": "emacs-eask/easky", "unstable": { "version": [ - 20251231, - 1607 + 20260123, + 1934 ], "deps": [ "ansi", @@ -29626,8 +29809,8 @@ "lv", "marquee-header" ], - "commit": "efe25f0c1ba483378854795fcfe7fa0367cebf27", - "sha256": "1zsn8p8lyik7ib5ks8jvglbi8f9lh8f3xfkz6x33711v1zygy985" + "commit": "2eb06188d2a134c23340421a53cc5bfa94286a4a", + "sha256": "123flhrpr2xbvsqk3121bjgfiajrz4r8q5hmb03gdnq6dkg5a5h5" }, "stable": { "version": [ @@ -29769,14 +29952,14 @@ "repo": "leoliu/easy-kill", "unstable": { "version": [ - 20260112, - 1130 + 20260121, + 752 ], "deps": [ "cl-lib" ], - "commit": "3401ab7427e34f8913374311bf75d342462fc9b0", - "sha256": "1rxl0whamvyz0mkgd57s4kxjd9dyr38vx18brhfyr3icspxf8qx9" + "commit": "98cbae5d8c378ad14d612d7c88a78484c49a80b8", + "sha256": "16ad0p9yrqx60mscllnc58bawdpk7ghbmlbi9sbmbnfq38cclyfb" }, "stable": { "version": [ @@ -29867,20 +30050,20 @@ "repo": "jamescherti/easysession.el", "unstable": { "version": [ - 20260118, - 36 + 20260222, + 358 ], - "commit": "314b167ce85807895a1025c692ed4e73e1709b77", - "sha256": "1wi44gpilq67x2aik3fg75rmnpw31jf8ngycagc391z44s301w7n" + "commit": "6198a7b212284600d24a72ff09b911b4f67217da", + "sha256": "13xfmalc5i011n427ivkaz52wk36y2lnk0qsv39al6kzzrsvc78f" }, "stable": { "version": [ 1, - 1, - 7 + 2, + 0 ], - "commit": "f30ffdf6e270e0420df99b1265081800a36ca4d5", - "sha256": "1vv55xbvfir7x1iilsrwrxl1jgz1929zwqygwms48pf835rh24gl" + "commit": "bf2a989c8d990396784ae7e2a38ef9943465a967", + "sha256": "0h1jj58ncnhli4a1gpp0nvhxs6kkgg93bqr9xm462dis9fzxb9p1" } }, { @@ -30054,8 +30237,8 @@ "repo": "editor-code-assistant/eca-emacs", "unstable": { "version": [ - 20260116, - 1933 + 20260224, + 1849 ], "deps": [ "compat", @@ -30063,14 +30246,14 @@ "f", "markdown-mode" ], - "commit": "ac426986a117e5c1ef3be1aae568991a152a5aa3", - "sha256": "0vn48cmyz8vm84i67rygimdmpq1a78ggiygziri9mrg4mhg1azls" + "commit": "625ddb5b8f8fe6dd70f88f53c4174158021f23d9", + "sha256": "022vw2hs41y1j6nvlbqhkzgfs45cj9h13l4l2pd75g0kjhkb48g8" }, "stable": { "version": [ 0, - 4, - 1 + 5, + 0 ], "deps": [ "compat", @@ -30078,8 +30261,8 @@ "f", "markdown-mode" ], - "commit": "d2a0a738e68c3d5ac8e4137de1e5bebf3637517d", - "sha256": "17a53j4pr4liyyf854x04xk4qrd38z45j3x4gqlfj8sp9c67r1l7" + "commit": "7ab3a482d0f53ad5cc06f380a96e8f318bab254b", + "sha256": "1liwi44d8ah6lryxzfyxl6wryhr4ck8ya0c5fyf4dgdsm23xz7sg" } }, { @@ -30419,6 +30602,25 @@ "sha256": "0981hy1n50yizc3k06vbxqrpfml817a67kab1hkgkw5v6ymm1hc9" } }, + { + "ename": "edit-metadata", + "commit": "ee1f876ca9a341640f6e3d0690fb4b9ef276a719", + "sha256": "0xwngggsmkb36cph5vzyv39gjnxf0icjyss1d1v9f03vic054cnq", + "fetcher": "codeberg", + "repo": "mxpi/edit-metadata", + "unstable": { + "version": [ + 20260210, + 2022 + ], + "deps": [ + "compat", + "exiftool" + ], + "commit": "903b6c0d7d8f6550dd91a56cd1cf9d880b5cbded", + "sha256": "1xvy86mji2gd6vyjf6xsblzfrkmdz6f802pa2gcqfdaq5jcdrbgy" + } + }, { "ename": "edit-server", "commit": "d98d69008b5ca8b92fa7a6045b9d1af86f269386", @@ -30603,6 +30805,30 @@ "sha256": "06v34l9dkykrrdfpnm3zi5wjm0fdvy76pbkfnk92wqkjp8fqimhd" } }, + { + "ename": "edna-theme", + "commit": "9a93fbdb5f58be5c2d84db74d11303bda048d555", + "sha256": "0p6jdikbqkhgkqwpgbxn9h3s62a7lh0hx46ygyv3wmb00h8zsgs2", + "fetcher": "codeberg", + "repo": "golanv/edna-theme", + "unstable": { + "version": [ + 20260214, + 2320 + ], + "commit": "78da1fcde3d03f4ff65b310d19319dc26140566b", + "sha256": "0961c4w94697n3jnkc58sp0j3lmyk8h45y00m1kr04h9rzqhrasb" + }, + "stable": { + "version": [ + 0, + 2, + 6 + ], + "commit": "78da1fcde3d03f4ff65b310d19319dc26140566b", + "sha256": "0961c4w94697n3jnkc58sp0j3lmyk8h45y00m1kr04h9rzqhrasb" + } + }, { "ename": "ednc", "commit": "f1b96c967e3e54dfcc4ffdb7d242abc578b63a12", @@ -30859,11 +31085,11 @@ "repo": "egison/egison", "unstable": { "version": [ - 20211218, - 1115 + 20260104, + 1519 ], - "commit": "dbb395b41a4e4eb69f3f045cbfbe95a1575ac45b", - "sha256": "14g0dpn8j7kh3iiq7qlhaa1wdk6xvl60hkl3j87ncjwkh6h4imcg" + "commit": "4e796ee52785e052f3b10c6493fa484461bb4482", + "sha256": "0m4sp7ncf6d9maf1sm4p4rg4z140bdfvbxgd05fmly4pk1yz0yv8" }, "stable": { "version": [ @@ -30981,14 +31207,14 @@ "repo": "kennethloeffler/eglot-luau", "unstable": { "version": [ - 20241102, - 1924 + 20260121, + 919 ], "deps": [ "eglot" ], - "commit": "23335f45fb91de606e6971e93179df0fee0fd062", - "sha256": "1k43zsw82l07i9va9w9fxhl9cnz1vbpl90m6jvbnrl8fxhzw2kvh" + "commit": "6fd1ba044fd1f35785c8cb5fc831878993b0afbb", + "sha256": "0ksn3m6ihd0lp7ckldkcz1s7bdcdhkwjyv9mxrizyyllxs1ml4hk" }, "stable": { "version": [ @@ -31131,11 +31357,11 @@ "url": "https://forge.tedomum.net/hjuvi/eide.git", "unstable": { "version": [ - 20260107, - 2102 + 20260202, + 1853 ], - "commit": "9918d623124fdb4111faf0cf6c3f55be43a6b070", - "sha256": "11wib1n3bix4qf5wl8kk1wf26afhxc8jyl324znq3aj5f1zx23kv" + "commit": "ea10bf1b3727087e78921a146a1d7d0bcaf4f8a5", + "sha256": "11apdb0c20dfg8qsii87kp8ikpsgzqw92m6klz0dsn8ci5fg5ixh" }, "stable": { "version": [ @@ -31268,15 +31494,15 @@ "repo": "ahyatt/ekg", "unstable": { "version": [ - 20260119, - 1613 + 20260222, + 2157 ], "deps": [ "llm", "triples" ], - "commit": "bbd94e571990a31ecc3ab8108a02dd3b3aac2757", - "sha256": "1ygx250zf2km5v1hii239xc6ffkpaql945xdhj9k0w6hpvv4cgpp" + "commit": "9358c6c71fd8d585c1fabd3612090f83f1526228", + "sha256": "0pygcdjzbhb42sjmv55w9jq2ljawmyvqxaq5xwrhrgrlyk26ls4c" }, "stable": { "version": [ @@ -31362,11 +31588,11 @@ "repo": "dimitri/el-get", "unstable": { "version": [ - 20251110, - 758 + 20260215, + 1117 ], - "commit": "64112351b1f58c77463b8802ddd7f78964c9c5ca", - "sha256": "0lj83i7qxsy1lm5fc639y1mbxk1krhbhr1ig4gsfwxqyq2v4bqq0" + "commit": "911c252afe763a5cd1cbd188c476d44353cd5271", + "sha256": "094xlvqaj2crd405jhfk7raxdylw43k9f42wzc15miix6c98ldsz" }, "stable": { "version": [ @@ -31455,20 +31681,20 @@ "repo": "meedstrom/el-job", "unstable": { "version": [ - 20251202, - 2353 + 20260222, + 1009 ], - "commit": "274f999ceee3db6c48e3550964c547161a3ee1bb", - "sha256": "1m4q0d8j55wgzbwqkwfh0a5dwlag7qcnfg1mjgmg8l8848q88w7q" + "commit": "5af4975c176477cfe5f864bb9b402d8a8f2a074a", + "sha256": "14hq3xc0q6knxdr3c19pi4g7j3s0l85nzbbg4vrhpbyfg6ix0zif" }, "stable": { "version": [ 2, - 6, - 1 + 7, + 3 ], - "commit": "274f999ceee3db6c48e3550964c547161a3ee1bb", - "sha256": "1m4q0d8j55wgzbwqkwfh0a5dwlag7qcnfg1mjgmg8l8848q88w7q" + "commit": "5af4975c176477cfe5f864bb9b402d8a8f2a074a", + "sha256": "14hq3xc0q6knxdr3c19pi4g7j3s0l85nzbbg4vrhpbyfg6ix0zif" } }, { @@ -31834,11 +32060,11 @@ "repo": "Mstrodl/elcord", "unstable": { "version": [ - 20250304, - 1743 + 20260121, + 1637 ], - "commit": "deeb22f84378b382f09e78f1718bc4c39a3582b8", - "sha256": "1w9258vdl994l786vmhzx2xm8mb9rvc9v0fl12qib5fvfgk51d15" + "commit": "827dccbbdae038330f47e16ca189fd3e4ef25964", + "sha256": "15vfrb6vl1ycx2as051p8nqmfbcxhzcf2pqc52a5nq1lsdq1ybk0" } }, { @@ -31890,6 +32116,36 @@ "sha256": "0aksjg9wrl0aifwdw4m41al1yqcp8nz2bmfxd5jvx89rl1a6ijpb" } }, + { + "ename": "eldc", + "commit": "4010f32a2b0083d2cc7d6e18889be4eaa1677007", + "sha256": "0wsciaaa02yd2w8ji1z2n7jq0a9s1scpyx7nys68xj1xwj192qdk", + "fetcher": "github", + "repo": "gicrisf/eldc", + "unstable": { + "version": [ + 20260130, + 1628 + ], + "deps": [ + "deferred" + ], + "commit": "acd9971c491331b9824be96b6190497b6ca5ed53", + "sha256": "0s38m3gc6vc3hsfpibq5p5k2j06j78gk5xllcr3v1l9d5y166lj7" + }, + "stable": { + "version": [ + 0, + 5, + 0 + ], + "deps": [ + "deferred" + ], + "commit": "acd9971c491331b9824be96b6190497b6ca5ed53", + "sha256": "0s38m3gc6vc3hsfpibq5p5k2j06j78gk5xllcr3v1l9d5y166lj7" + } + }, { "ename": "eldev", "commit": "6d94da66938ea895c0b32bb54057c3b36bebf36d", @@ -32014,28 +32270,28 @@ "repo": "huangfeiyu/eldoc-mouse", "unstable": { "version": [ - 20251228, - 316 + 20260130, + 1352 ], "deps": [ "eglot", "posframe" ], - "commit": "de48a1af46617861d38d9f96984869c21c0d887e", - "sha256": "1zzxndzwn94cnlz9lwjkmw7pvmqm80gm1hia66qqsgb2i6qwg8qm" + "commit": "e66dba299ed381bfafeb0f430418fdd737ef6922", + "sha256": "1n99l37l8n2fdb1077161wvv22sxhyb5yisj0hcbffzn2pgrdwwd" }, "stable": { "version": [ 3, 0, - 2 + 3 ], "deps": [ "eglot", "posframe" ], - "commit": "de48a1af46617861d38d9f96984869c21c0d887e", - "sha256": "1zzxndzwn94cnlz9lwjkmw7pvmqm80gm1hia66qqsgb2i6qwg8qm" + "commit": "e66dba299ed381bfafeb0f430418fdd737ef6922", + "sha256": "1n99l37l8n2fdb1077161wvv22sxhyb5yisj0hcbffzn2pgrdwwd" } }, { @@ -32312,11 +32568,11 @@ "repo": "skeeto/elfeed", "unstable": { "version": [ - 20241202, - 22 + 20260218, + 1306 ], - "commit": "a39fb78e34ee25dc8baea83376f929d7c128344f", - "sha256": "1rys5z7shn45z07dfcm5g06pnpx5kccdz94xkwizmrf882xzmmvh" + "commit": "bbb3cac27b0412d80b327b5cfaab83683c96a2a1", + "sha256": "1z1ig5h2mhy7zdz8vh003536mmpkrjr7jm84ih3wsx8krvhgc1lb" }, "stable": { "version": [ @@ -32495,26 +32751,45 @@ "repo": "sp1ff/elfeed-score", "unstable": { "version": [ - 20251012, - 2253 + 20260125, + 2028 ], "deps": [ "elfeed" ], - "commit": "9e9874dc4f2a6b01199e0834ba52665d8383ad9f", - "sha256": "14f5m81ik8w3yi2dc3mff88v63abkcjs5fcp5d2zbg35adbqrb7l" + "commit": "f6ef83c472e6f01d0f60130ecac768462c5a20b7", + "sha256": "1a2ymyb6l84jrphrfb8svrm78aq9dpp5k18y112pg19lc6wqwgbv" }, "stable": { "version": [ 1, 2, - 10 + 11 ], "deps": [ "elfeed" ], - "commit": "9e9874dc4f2a6b01199e0834ba52665d8383ad9f", - "sha256": "14f5m81ik8w3yi2dc3mff88v63abkcjs5fcp5d2zbg35adbqrb7l" + "commit": "f6ef83c472e6f01d0f60130ecac768462c5a20b7", + "sha256": "1a2ymyb6l84jrphrfb8svrm78aq9dpp5k18y112pg19lc6wqwgbv" + } + }, + { + "ename": "elfeed-summarize", + "commit": "0f7fb5e5dbd25bac2c4cbb730e8029d6736afcc8", + "sha256": "110wpsf7zrvb3zfayvxaf41sq274jhlxsdg9w3asnxdkrpa9an82", + "fetcher": "github", + "repo": "fritzgrabo/elfeed-summarize", + "unstable": { + "version": [ + 20260217, + 1534 + ], + "deps": [ + "elfeed", + "llm" + ], + "commit": "b4d9f8a7bb72d9fd0db804eff535c42859d94cf8", + "sha256": "09f0v2mxrq01fjkpz6zk34c74hqy8y2z9qawv5lmm55sc91z2ajv" } }, { @@ -32838,26 +33113,26 @@ "repo": "laurynas-biveinis/elisp-dev-mcp", "unstable": { "version": [ - 20260119, - 1722 + 20260210, + 434 ], "deps": [ "mcp-server-lib" ], - "commit": "8dc2dadd8b2590d8b0e6375325e6d09a7ca269bf", - "sha256": "1hi7dn0nvmy7lym23iz8zpl2i27hfnnng0fr0q14rd5psy52wpl1" + "commit": "acce467f667df06e8dd391d64c5a553997dabed5", + "sha256": "019b0yg1k1dknmw47wz9s8f9k6rzj7535g5alxrf4nw9j165n0i2" }, "stable": { "version": [ 1, - 1, - 1 + 2, + 0 ], "deps": [ "mcp-server-lib" ], - "commit": "62e811321329b60bd3d288b0601eda7eb69eaa29", - "sha256": "11mhyibf8fimc9a4x3irza725qva09gqclqshfh179wd5gwmqinr" + "commit": "acce467f667df06e8dd391d64c5a553997dabed5", + "sha256": "019b0yg1k1dknmw47wz9s8f9k6rzj7535g5alxrf4nw9j165n0i2" } }, { @@ -33109,32 +33384,34 @@ "repo": "s-kostyaev/ellama", "unstable": { "version": [ - 20260119, - 2229 + 20260223, + 2029 ], "deps": [ "compat", "llm", "plz", - "transient" + "transient", + "yaml" ], - "commit": "c491bf4c5b6449751a55afa6772c8cdb0e167a41", - "sha256": "1sn6b8qfjgf8vx7sffzv8irhsk5ciy24q58ynfr354k5jpxxxkqm" + "commit": "c9cf0ae36cac6d4a65bafb8f947e3195e2e2f5fd", + "sha256": "13jnaxz4w2n4agyz5rg8jq35qs57arl06mib4lgx4z9q3vwvqd2z" }, "stable": { "version": [ 1, - 10, - 11 + 12, + 18 ], "deps": [ "compat", "llm", "plz", - "transient" + "transient", + "yaml" ], - "commit": "c491bf4c5b6449751a55afa6772c8cdb0e167a41", - "sha256": "1sn6b8qfjgf8vx7sffzv8irhsk5ciy24q58ynfr354k5jpxxxkqm" + "commit": "c9cf0ae36cac6d4a65bafb8f947e3195e2e2f5fd", + "sha256": "13jnaxz4w2n4agyz5rg8jq35qs57arl06mib4lgx4z9q3vwvqd2z" } }, { @@ -33491,11 +33768,11 @@ "url": "https://thelambdalab.xyz/git/elpher.git", "unstable": { "version": [ - 20250929, - 1422 + 20260221, + 920 ], - "commit": "dcdeb86f7ae633e252f9ef8a73d3458e87c1ab12", - "sha256": "15cgqzzfjikq4spsmf7mmhvrd6igcsv75d9mdsxl5j6zhq784hh8" + "commit": "d799c467a1f35934f96d33960d638ddf796f01ba", + "sha256": "0wzj4n8wc90mqzmd86rvq8g20mk44lvmqdvfan3pj3z3b1jnk82c" }, "stable": { "version": [ @@ -33805,6 +34082,30 @@ "sha256": "0az5csc243p48g7mbx5yv16kg3171ykqy1zyw9wi3dwv07gqhyyb" } }, + { + "ename": "elsqlite", + "commit": "9f73b97d355f9cd4373d831f18ccd6c66dd74bfb", + "sha256": "0la8v47b0pwqr0nx8707gzk5qphqjk0fznwczxyb7h50kqjm0jkz", + "fetcher": "github", + "repo": "dusanx/elsqlite", + "unstable": { + "version": [ + 20260206, + 1949 + ], + "commit": "394904b1cd80ceb665ae4e832043331c1b587b8d", + "sha256": "0gikamhv9k4i10xdahxwfq9wy7hiyfbikhjmi0p54m3xmnn3mdyq" + }, + "stable": { + "version": [ + 0, + 4, + 0 + ], + "commit": "394904b1cd80ceb665ae4e832043331c1b587b8d", + "sha256": "0gikamhv9k4i10xdahxwfq9wy7hiyfbikhjmi0p54m3xmnn3mdyq" + } + }, { "ename": "elune-theme", "commit": "f6eb088a263e150e190209ae437a608671e81bfc", @@ -33950,11 +34251,11 @@ "repo": "knu/emacsc", "unstable": { "version": [ - 20250710, - 1637 + 20260125, + 1050 ], - "commit": "c0d51eea7c5cbef4ea49350dff8c721227635be6", - "sha256": "17k8xpcfir09wbhi7a98k4mcf7bfyrvgb8p6im3yjgmn8il94g4a" + "commit": "e3c8636d64d787eec876792288e99511d604eeec", + "sha256": "0d0jy1y75176v4akbw7690yqr5p0dsm18rjq3klimfrfc5vr6b62" }, "stable": { "version": [ @@ -33989,20 +34290,20 @@ "repo": "magit/emacsql", "unstable": { "version": [ - 20260101, - 1849 + 20260201, + 1512 ], - "commit": "c6a9d2373cc15184e4e34414b8574a896d070323", - "sha256": "10h0zb8pp4zbmsrkp8kd4a0rnclh6arbyg4f7n5l5n8cn0w2pf8l" + "commit": "6ef7473248fce048c7daa00c3b2ae75af987c89c", + "sha256": "1abc9p2bajm9sfhhi7gc3vl8ivkic15ki0s25631aysjl2002apb" }, "stable": { "version": [ 4, 3, - 4 + 5 ], - "commit": "c6a9d2373cc15184e4e34414b8574a896d070323", - "sha256": "10h0zb8pp4zbmsrkp8kd4a0rnclh6arbyg4f7n5l5n8cn0w2pf8l" + "commit": "6ef7473248fce048c7daa00c3b2ae75af987c89c", + "sha256": "1abc9p2bajm9sfhhi7gc3vl8ivkic15ki0s25631aysjl2002apb" } }, { @@ -34109,14 +34410,14 @@ "repo": "oantolin/embark", "unstable": { "version": [ - 20251118, - 111 + 20260221, + 2325 ], "deps": [ "compat" ], - "commit": "7b3b2fa239c34c2e304eab4367a4f5924c047e2b", - "sha256": "1hn4x5smylqviaqw35j9wccffsvfxp0q5jlnw0ynxny5c7pnp66l" + "commit": "cf0f0f0c29e7f30df23693b6380072a3b6733841", + "sha256": "0hlwl874ggvrjk27a57w4vc9hqlx174606jsiz87hq10h3g9nyw0" }, "stable": { "version": [ @@ -34138,16 +34439,16 @@ "repo": "oantolin/embark", "unstable": { "version": [ - 20250622, - 535 + 20260223, + 1658 ], "deps": [ "compat", "consult", "embark" ], - "commit": "a563786d0e07fc43601c1c83d1ffc801b86506b9", - "sha256": "05inj6mq5kjs33sz4r7qjs0z179b15g1zr9cxqr9jpnzf8dgzapi" + "commit": "e0238889b1c946514fd967d21d70599af9c4e887", + "sha256": "1addby8g65a1pbvbzanvcwpfzv13k89qj6m014xwr9qki0i49nss" }, "stable": { "version": [ @@ -34380,16 +34681,16 @@ "url": "https://git.savannah.gnu.org/git/emms.git", "unstable": { "version": [ - 20260113, - 1922 + 20260213, + 2209 ], "deps": [ "cl-lib", "nadvice", "seq" ], - "commit": "1d48a1133db2670d839f2cf2aff17d6c32aeb15f", - "sha256": "0pvlkybdpf1bfpjs0np89kfnxj3qjvyawk1g0b2l5jg21k6c20ww" + "commit": "002a8db0913c1780149eb4a9306e6f582efe8974", + "sha256": "0wn0ky1xpnb2hrlp48i6zr0f48gdnpsy3mzi7cdggx7wmp3cc2xq" }, "stable": { "version": [ @@ -34557,7 +34858,7 @@ }, { "ename": "emms-soundcloud", - "commit": "952c7a383d39825805127bd709fa60ac77ef724d", + "commit": "5855698f1ed096cce7def653e7b0b73ef7f244a1", "sha256": "13vpcgqhhxhvgf22jpqidb9a1q4l1x9m8kfdv9ba9h009xf2a1pi", "fetcher": "github", "repo": "ozanmakes/emms-soundcloud", @@ -34792,19 +35093,19 @@ "repo": "isamert/empv.el", "unstable": { "version": [ - 20251214, - 1032 + 20260201, + 1258 ], "deps": [ "compat", "s" ], - "commit": "7ef178763d3d3044fd030368d66e15a0bbeed160", - "sha256": "0x05gr6ficx3aw02akvgqy6jz5fhi2j07arc516bh50dxk99msnc" + "commit": "5287a71a6220acdb1716d47af183cee4c6094994", + "sha256": "1dym2x3mqfrn5h8p8c9mglxrb5idbq7l3ic3xh6whfji08wx1w4h" }, "stable": { "version": [ - 5, + 6, 1, 0 ], @@ -34812,8 +35113,8 @@ "compat", "s" ], - "commit": "8de3e5abcdf99f76a339a386855d6c2ddd38b178", - "sha256": "0in9yyssahrp0qfbwziymg85bmysxlzr58vycb13k4m4g9i4s3r7" + "commit": "11245762388c03ecdfb550fb1b96978459d68a4f", + "sha256": "159s9hyn8z35ja3f297lb2335ihjyp60zkk7lsz8r3jc4vv0kgqs" } }, { @@ -35123,16 +35424,16 @@ "repo": "cfclrk/environ", "unstable": { "version": [ - 20230518, - 1310 + 20260130, + 1135 ], "deps": [ "dash", "f", "s" ], - "commit": "9530e2f1ead5bd37aca4d298514800f73b3cc0a7", - "sha256": "188ww446qaqmyl3dxfkxn3yvh504jxwk07djw87gciwdz4ymf398" + "commit": "fae49380dd859c63c333b80c3bda7bd497e92d91", + "sha256": "1w695z5b1xyz498c9nbq49p5fqi74f222652nybli863ah99m7pk" }, "stable": { "version": [ @@ -35157,15 +35458,15 @@ "repo": "purcell/envrc", "unstable": { "version": [ - 20250917, - 915 + 20260218, + 842 ], "deps": [ "inheritenv", "seq" ], - "commit": "de1ae6e538764f74659f358b04af0d84fa0fef42", - "sha256": "0j5kwg6x1kr9ybzhc0rwrbmq35zmsk09svx39pmw2byl39d8fhb3" + "commit": "f44353c42c0794cdc6629c83a923d1689f33469f", + "sha256": "0ikswnkgdnhs5fl7w5ni71l1qy33pd2dk1jhvimswjhc9iwbk1ml" }, "stable": { "version": [ @@ -35301,8 +35602,8 @@ "repo": "emacscollective/epkg", "unstable": { "version": [ - 20260105, - 2201 + 20260217, + 1917 ], "deps": [ "closql", @@ -35310,14 +35611,14 @@ "emacsql", "llama" ], - "commit": "522b00c64aaf230215c6dde8f992e79ed38b9e42", - "sha256": "0fw9qla52s8ca8kiy98nn9gpyjnnsr8m0aic7n3ir724fkr6r56n" + "commit": "f0ae7cd28d036850fe6cb18b47742b8e892e5c09", + "sha256": "1z3xgc1rsn7qg1yhxwryyk41xh1ac3wxxkcvysq8h7r05kcyahwn" }, "stable": { "version": [ 4, 1, - 2 + 3 ], "deps": [ "closql", @@ -35325,8 +35626,8 @@ "emacsql", "llama" ], - "commit": "0dcab271d547736791e13be49cd6ee3630110eb1", - "sha256": "1hm6f73lwqsrn89f3s7dx79nc67qvqs8v1jb3wbyq7wdify5mja0" + "commit": "7758de6c8b6d56829b134be751562b1f885d311b", + "sha256": "1v7ln90529wqxvcwph7pyz21rr0l30pbfdjbcl4yyyqvza52wv8g" } }, { @@ -35337,30 +35638,30 @@ "repo": "emacscollective/epkg-marginalia", "unstable": { "version": [ - 20260101, - 1857 + 20260201, + 1511 ], "deps": [ "compat", "epkg", "marginalia" ], - "commit": "a42de3acf215bec1d3a06b63c98d0ad9182ce760", - "sha256": "14pbwh20vazrvxg4zmxvzpclpkkgrxd9qalrc1chgsr1zkdqff6s" + "commit": "1fda65cebc0d53319f2972ae52d182bdf5470702", + "sha256": "0mi0rgj5ivzam1ac70yiasr9hss47fmwh8dc683nlpdi18mv8vk8" }, "stable": { "version": [ 1, 1, - 2 + 3 ], "deps": [ "compat", "epkg", "marginalia" ], - "commit": "a42de3acf215bec1d3a06b63c98d0ad9182ce760", - "sha256": "14pbwh20vazrvxg4zmxvzpclpkkgrxd9qalrc1chgsr1zkdqff6s" + "commit": "1fda65cebc0d53319f2972ae52d182bdf5470702", + "sha256": "0mi0rgj5ivzam1ac70yiasr9hss47fmwh8dc683nlpdi18mv8vk8" } }, { @@ -36078,20 +36379,20 @@ "repo": "erlang/otp", "unstable": { "version": [ - 20260114, - 1445 + 20260127, + 1516 ], - "commit": "28fef74d7a13556a2bbd12a90b19a30e939f72ce", - "sha256": "0msms2hjfldnr2f76hjfhh2baxprlkbdaa4gwb30bmjs9bdvyqsy" + "commit": "7f5eb9b686c16c2997358ba3052c234aedbeff33", + "sha256": "0mj0w674qrmzccp0h2y0z80f7ipfnw4l8x7kx2q05pv3mdlq1j22" }, "stable": { "version": [ 28, 3, - 1 + 2 ], - "commit": "aa5b1d3366762ff8f420f2aa6a52604b481530c9", - "sha256": "04wfdjacrar3x2xc7d28ld4dr24qx2nyf33pwfa5f1bd4nbgpicb" + "commit": "b74eae92e1dee97d57a9ab3ea3c36e8b701a9ca6", + "sha256": "0vg0m11rcaz2bv5f4fj7zskqdgppzgfpqjrwnnwfabf0k3q6f7pv" } }, { @@ -36390,8 +36691,8 @@ "repo": "dakrone/es-mode", "unstable": { "version": [ - 20221026, - 1103 + 20260220, + 2147 ], "deps": [ "cl-lib", @@ -36400,8 +36701,8 @@ "s", "spark" ], - "commit": "e82465fd785688bb58918ea62ca4de06a2a23a1e", - "sha256": "0nb0nh651wnx8916j4ybhmadfk4ri6gnpfw9x58fv50nnmna9bc9" + "commit": "cf93c9900057a9f3c89f982f778f41f48285d076", + "sha256": "064jm7cdvh7z28vn8l3ndmdy9vg6snrzyxw8pkn6h9bp0zjkjpq0" }, "stable": { "version": [ @@ -36492,6 +36793,30 @@ "sha256": "1rvw7ka03i8g55kjbldysza3xv359yjn813dxv20hjgkzsb9iv4p" } }, + { + "ename": "eselect-news", + "commit": "262d44137bc8e02ce44346d5a50c61344ddc354f", + "sha256": "16mgvz2ccz9b0snb8gs37r3cw1gk3s0yi95kakdjck2fr6x47dps", + "fetcher": "gitlab", + "repo": "cestrand/emacs-eselect-news", + "unstable": { + "version": [ + 20260222, + 1216 + ], + "commit": "562191c013a20348bd1adbf3be564c6e1d3c52b6", + "sha256": "1bwsmyk7faapq8vb3a66v49ca946nmxmsvz8fji3pmjfwwg5rd3j" + }, + "stable": { + "version": [ + 0, + 1, + 0 + ], + "commit": "ab4ecb45eef2a612fc24e4658289082eecddda60", + "sha256": "1mgh97xxlp38gkgb0gi5d9db7drdbbhlqzg5h7aqjhakiixbkaqb" + } + }, { "ename": "esh-autosuggest", "commit": "dc3776068d6928fc1661a27cccaeb8fb85577099", @@ -36575,14 +36900,14 @@ "repo": "SqrtMinusOne/eshell-atuin", "unstable": { "version": [ - 20250301, - 833 + 20260222, + 802 ], "deps": [ "compat" ], - "commit": "1ac4895529546839985c7f57c9858644f7be1e6a", - "sha256": "0zf62qdmqw7y7s1dg3d35abr9jaymyqfbrv4bplkrry2wwk0m4gx" + "commit": "142536a01a9d6d92d802e41474c290e0ca655deb", + "sha256": "1g4v9l755gvclggv33mk13vn7vw8sxivi3xgcmbgav1svim01v6q" } }, { @@ -36640,11 +36965,11 @@ "repo": "jaeyeom/eshell-command-not-found", "unstable": { "version": [ - 20240708, - 512 + 20260201, + 715 ], - "commit": "28427f0ca266fd75890ceafdd96997b5507e1bc4", - "sha256": "0cid9caklxbp4rfdpam42cmkxj1izzw84g9hpk7jabjmfgashrxg" + "commit": "0efda98051747183bd54cb021f4756bdf831bd8e", + "sha256": "1gxacp72pm9v9hdic9pv9iqp7kpi3x9pglfh4sa2i6dbm0ln8a56" } }, { @@ -37184,11 +37509,11 @@ "repo": "emacs-ess/ESS", "unstable": { "version": [ - 20251230, - 1711 + 20260203, + 1633 ], - "commit": "f8c464dc1b017b5397f8ec9955f7856493af1179", - "sha256": "1994cbs4zjsw2a66l9n2bvjdhm5223ybj9n8b35cqc1qjfi72mmf" + "commit": "bfe892db15e94387f70319efdc55710dc3660d2f", + "sha256": "0lrj27wf1rm6yi60dsmzy7c4533wk0xch1ww06y20b59hhnbccsj" }, "stable": { "version": [ @@ -37455,10 +37780,10 @@ }, { "ename": "eta", - "commit": "6566b2cf5be53047db6d076d47f29932ba589d09", - "sha256": "06xfkcnjq5w56vbxaq23lqhw2fl2gx2b0wj8ddvii3q3c432y4hq", + "commit": "4a6f5322cf92cf6e99e741bc07d807113af1025c", + "sha256": "037lnz5pz7kgcnc12f1fmyxlcgyrjp5v91bg5kkr9gv7yg98hrxp", "fetcher": "github", - "repo": "zcaudate/eta", + "repo": "hoebat/eta", "unstable": { "version": [ 20210115, @@ -37480,15 +37805,15 @@ "repo": "mavit/etc-sudoers-mode", "unstable": { "version": [ - 20240417, - 2126 + 20260224, + 326 ], "deps": [ "sudo-edit", "with-editor" ], - "commit": "133f342e7a249ed4b3e3983e6d8bf541bae05c4b", - "sha256": "0lgw6x7p9rq334g97npbdq5zf7ws8a0gxx608dhai3g7lw47w84w" + "commit": "400b4d4d7281b33896d388e84dec6b7a2c39ea22", + "sha256": "09v6jyxc5gldra3974q2fjyn8af1gm4qzwzza326yfcy6ln9w99s" }, "stable": { "version": [ @@ -37841,11 +38166,11 @@ "repo": "mekeor/evenok", "unstable": { "version": [ - 20250606, - 812 + 20260221, + 2125 ], - "commit": "eccc70e577bac3c9901e508fc06ae21b8364e6e9", - "sha256": "03qa62k1mi5nnkrvas1xf99vjg66gx3qdxzm2ddrixir8qszh3xz" + "commit": "6b5e3c10d3649be6ea9df5cc369d8a4d4a03f3aa", + "sha256": "0kj2jw90lndf1sjirxrs3v93kc43pz1hjxb0x7b50z9lpvz1rjz9" }, "stable": { "version": [ @@ -38090,15 +38415,15 @@ "repo": "emacs-evil/evil-collection", "unstable": { "version": [ - 20251226, - 804 + 20260125, + 1403 ], "deps": [ "annalist", "evil" ], - "commit": "163792a823bcdb2dae7ac1bba4018adfac35dca2", - "sha256": "1vfhs1f4s0ygys9cs2iixv9f7rjf69gmvban68j92ndv6bvq31qg" + "commit": "d052ad2ec1f6a4b101f873f01517b295cd7dc4a9", + "sha256": "1q9w1wwlfcvw9xhpcv56qx9y6g2wrfrl1mcs2gzbds9qb2nszf7y" }, "stable": { "version": [ @@ -38520,26 +38845,26 @@ "repo": "yad-tahir/evil-insert-plus", "unstable": { "version": [ - 20260119, - 926 + 20260127, + 1015 ], "deps": [ "evil" ], - "commit": "d264c13585f3b282552a27fa6c0e77c2b17afa7c", - "sha256": "0413q2rhbxnfcpahfzjfp4sgxrm642a96xmvkn1y0a9fh0x10p5n" + "commit": "d584ed3ea2a49ed7f93fe176800e7a2f95dff6aa", + "sha256": "1fjrq54vfacxmmk1w1f35w9mdbrlld462nnqfappj6v4d14cq3fs" }, "stable": { "version": [ 0, 5, - 3 + 5 ], "deps": [ "evil" ], - "commit": "d264c13585f3b282552a27fa6c0e77c2b17afa7c", - "sha256": "0413q2rhbxnfcpahfzjfp4sgxrm642a96xmvkn1y0a9fh0x10p5n" + "commit": "a43914e3d483685dc11d616f9fcd268779dd0258", + "sha256": "1ahnh30qimcfydwmdwblg3h1gmjlq5iibcr7h0r1s720fsb73fn7" } }, { @@ -40447,14 +40772,14 @@ "repo": "rolandwalker/express", "unstable": { "version": [ - 20140508, - 2041 + 20260202, + 1155 ], "deps": [ "string-utils" ], - "commit": "6c301e8a4b6b58a5fe59ba607865238e38cee8fd", - "sha256": "1nhqaxagg3p26grjzg8089bmwpx2a3bbq1abw40wbqivybl6mgd5" + "commit": "f98932f43771eea3cadd36002670d2099a0258f8", + "sha256": "1xnhi94ywfffai1jbz7ip8npvkzqjjc5h1zirznmnf3k5n003qs8" }, "stable": { "version": [ @@ -40583,8 +40908,8 @@ "repo": "ananthakumaran/exunit.el", "unstable": { "version": [ - 20251101, - 1233 + 20260127, + 1521 ], "deps": [ "f", @@ -40592,8 +40917,8 @@ "s", "transient" ], - "commit": "632298249150f8e6cf83175edcb0a13158deabc2", - "sha256": "1bcrxzk9jpvj2wx3wx3z048xi2pplcay4ljg6bahmgf178lc36sv" + "commit": "bef971bde5634992fc2e4c8436b3feaddd8d7ed6", + "sha256": "1v1wd9r8hlv54363bcih7z9rl1f740mlg9zpm5zdf3qfg2q6vagk" } }, { @@ -41047,19 +41372,20 @@ "repo": "WJCFerguson/emacs-faff-theme", "unstable": { "version": [ - 20251229, - 2005 + 20260209, + 2337 ], - "commit": "234889b84663e066eb8755528e8c35e2dd210704", - "sha256": "1ir3jv7zg1k4k85khlkbs5gg9niyr5rsynzlim7vqy5f9304779c" + "commit": "216b52467e2fbbc61b746c28b5d0bc001345a8eb", + "sha256": "18brbllyv8vmnanjl382qpkyf4156n7vv43mhr472fjl4qvkr34l" }, "stable": { "version": [ 3, - 8 + 9, + 1 ], - "commit": "e8b6b4b5669fb41f0dd4fdcbcb88b5b9ab803f53", - "sha256": "0m4li4qhxp5ay0zs6dgsqj7llh8kv4gmcs5jbdswcr631b2a4ax7" + "commit": "216b52467e2fbbc61b746c28b5d0bc001345a8eb", + "sha256": "18brbllyv8vmnanjl382qpkyf4156n7vv43mhr472fjl4qvkr34l" } }, { @@ -41138,6 +41464,21 @@ "sha256": "04z9pwvl68hsisnyf9wlxmkwk8xag36jvcchwcwp4n9vp04z8745" } }, + { + "ename": "fancy-fill-paragraph", + "commit": "17a907926688dbf4b2375f450dc2051c230fc6cd", + "sha256": "14lbm9x4pal8xp70zr8a05aca8cmkkvdsi28m59h9mf6mvg67lqs", + "fetcher": "codeberg", + "repo": "ideasman42/emacs-fancy-fill-paragraph", + "unstable": { + "version": [ + 20260218, + 1058 + ], + "commit": "68e3e903ec9406958151b3edbef3e96896be5c27", + "sha256": "0g5wjlyilljxzsh7b0ql3c09bq077z2swyclz7mg01q1frx11ng0" + } + }, { "ename": "fancy-narrow", "commit": "1e6aed365c42987d64d0cd9a8a6178339b1b39e8", @@ -41550,25 +41891,25 @@ "repo": "martianh/fedi.el", "unstable": { "version": [ - 20250812, - 645 + 20260223, + 1326 ], "deps": [ "markdown-mode" ], - "commit": "a9df02f835899d0a587d236b1fa4d16e53af9039", - "sha256": "0jdlhl3gjyk6alkkyhx3svqkwmfkddsh0qga6wwcc2irlv0gryad" + "commit": "74fab520f1d008f5a389a673616a617c03c74600", + "sha256": "0ldag8659nqphc2isw1n3xv8dqf468ppwf1q10zn03sdj4dc1i11" }, "stable": { "version": [ 0, - 2 + 3 ], "deps": [ "markdown-mode" ], - "commit": "ffcb84bb132a72c9d787b4f6d8481d27da623d41", - "sha256": "0a5zq7axxh3khx6465s7ym9s7v2iw7ky9z486d0zg41k7926bm9d" + "commit": "74fab520f1d008f5a389a673616a617c03c74600", + "sha256": "0ldag8659nqphc2isw1n3xv8dqf468ppwf1q10zn03sdj4dc1i11" } }, { @@ -41647,11 +41988,11 @@ "repo": "technomancy/fennel-mode", "unstable": { "version": [ - 20251028, - 2216 + 20260210, + 2300 ], - "commit": "c1bccdec9e8923247c9b1a5ffcf14039d2ddb227", - "sha256": "0ylhffwiww03my7qaysklz7mx4jh530hgv5zgv78v4fbxsqwp02n" + "commit": "9c1dac3c39fcdbecbb9e963898cb353ec8ba6cc3", + "sha256": "1gvknvprlsm7p8kbl5aawngnwvswm40zm1llx59yscycb779dp3w" }, "stable": { "version": [ @@ -42325,14 +42666,14 @@ "repo": "Anoncheg1/firstly-search", "unstable": { "version": [ - 20250904, - 5 + 20260220, + 2320 ], "deps": [ "compat" ], - "commit": "509cb483e68caf8e6ecd0f171330b91eff430583", - "sha256": "01lkhbgb8a4hbzxiny3hfdxpg1qzpmxrp06bx9szw9yjf9qmbnw5" + "commit": "3d4599dcda4a2f761212ef5107260013ad73c101", + "sha256": "1h9pi3aa1yjkprnjblgcarrl4k3jmjhc3mk84dpyr8s8ydvgybbs" }, "stable": { "version": [ @@ -42558,8 +42899,8 @@ "repo": "martianh/fj.el", "unstable": { "version": [ - 20251030, - 1345 + 20260224, + 918 ], "deps": [ "fedi", @@ -42567,13 +42908,13 @@ "tp", "transient" ], - "commit": "79a1ef1006f6f8da6bbdcaf05ae8888a79f6887e", - "sha256": "0wjycqxknvim5x0xbwjkbpvzaplikzxpiw33dsv7ly8c71nbr4i4" + "commit": "835050814e6ab5bc68763793be86b6a99bdf247a", + "sha256": "1ih9ynjpb1z0jk4dy5g9zjdbl5wa1rqpbqi205qba8jg6vw17bvn" }, "stable": { "version": [ 0, - 27 + 31 ], "deps": [ "fedi", @@ -42581,8 +42922,8 @@ "tp", "transient" ], - "commit": "eeba4f379b957864e5b7b16f7f5b98c5f75614b5", - "sha256": "1hp8xaggb6fclgdjh7jz97rn248xbl8qy88a8c7xx3gvv2x7ahgx" + "commit": "835050814e6ab5bc68763793be86b6a99bdf247a", + "sha256": "1ih9ynjpb1z0jk4dy5g9zjdbl5wa1rqpbqi205qba8jg6vw17bvn" } }, { @@ -42630,6 +42971,21 @@ "sha256": "191sdqaljxryslvwjgr38fhgxi0gg7v74m1rqxx3m740wr4qnx7s" } }, + { + "ename": "flash", + "commit": "fd3db454652440bf1c5090320e2440ddbd74b360", + "sha256": "141dfk5zy9kqrbdzlf0f9ddlc4niwycjdfki7mm3i4iwfbjbhpfa", + "fetcher": "github", + "repo": "Prgebish/flash", + "unstable": { + "version": [ + 20260225, + 801 + ], + "commit": "faa32ab3486668b62b7f4bf86411fd694720dab5", + "sha256": "00bq95pqw1adlnhfg7sjpi07sq2pczkxsc5fa0slw0hg5mjd9ii8" + } + }, { "ename": "flash-region", "commit": "bf26329a30ec6e39b052e5815d3f113c05e72f84", @@ -43153,22 +43509,25 @@ "repo": "flycheck/flycheck", "unstable": { "version": [ - 20251128, - 1706 + 20260224, + 1923 ], "deps": [ "seq" ], - "commit": "62570fafbedb8fa3f7d75a50a9364feca3b294ef", - "sha256": "18068n5mqb1k54hjgfifhvghkm3adbh498dbj8xms0i1bi1ld8c7" + "commit": "b714e2770f6a2d1f441557f7c14182ae4e3defef", + "sha256": "0d2qx5wa1m94jj61vhprq9i6cfi2h24kvij0k9v5pzm43l6bn440" }, "stable": { "version": [ - 35, + 36, 0 ], - "commit": "6e43c07e83406cdd3f75952ee988d61d7573ec11", - "sha256": "1jj9w1j1qgpj3cdihwkgaj7nd714a0sgsydh413j9rsv6a3d4cgg" + "deps": [ + "seq" + ], + "commit": "ebddfd89b1eea91b8590f542908672569942fb82", + "sha256": "0gndi96ijxqj6k9qy5d4l0cwqh0ky7w1p27z90ipkn05xz4j3zp5" } }, { @@ -43269,14 +43628,14 @@ "repo": "leotaku/flycheck-aspell", "unstable": { "version": [ - 20250118, - 2052 + 20260105, + 2025 ], "deps": [ "flycheck" ], - "commit": "0d9291fd3422de0eedbac387e8c1eb037904f808", - "sha256": "1fivvfrcdkdavpdv6hglzj5snwx97gw1zrb1abyc60p91fsqab1k" + "commit": "abbac0f6ccd94224f19c70d8545fddfe9c27351f", + "sha256": "1kxxzvamjcs3f5zd0cwd2aszxx2cfs0ywq7ywhkkzall43ird4y7" } }, { @@ -43982,15 +44341,15 @@ "repo": "flycheck/flycheck-eglot", "unstable": { "version": [ - 20260109, - 1536 + 20260225, + 255 ], "deps": [ "eglot", "flycheck" ], - "commit": "87cc55936f843f8e0b9ab0b6b5ae5c6d7170f600", - "sha256": "1z9wdqqf482535jwmf3iyv5b92nbm9l4cy4v2z2nga9fj0sdr3vp" + "commit": "cd1dd78cec0ae1f566c765d98bbff322cc7b67ef", + "sha256": "19i2a33mpddd64mnvjk247ayn325p66lknm9pqjb0ccjfwi54sml" }, "stable": { "version": [ @@ -44189,14 +44548,14 @@ "repo": "weijiangan/flycheck-golangci-lint", "unstable": { "version": [ - 20251203, - 2053 + 20260201, + 1313 ], "deps": [ "flycheck" ], - "commit": "f7e36e19d6af39d098b94a2e7524dbd7b585ce67", - "sha256": "1h77vyrx0cswwmqww0ac75vfw9v8ylxfr715rfh3c30920gb2ip8" + "commit": "51aede797df89eeea5928df05d0f619530339152", + "sha256": "0xh628bhkw0f29k11i5b9z1xlcl53hhj4xh4vzqnad1j9hgyxsqc" } }, { @@ -44761,26 +45120,26 @@ "repo": "emacs-languagetool/flycheck-languagetool", "unstable": { "version": [ - 20260101, - 535 + 20260218, + 1520 ], "deps": [ "flycheck" ], - "commit": "8889414ec50c3c4dfeef601900c63901a55a2237", - "sha256": "18133npi09ka6d8m0j4gg9m74l2j5fs5y5psfb1jj4j5wvydcxc4" + "commit": "59dc7467425bda99aeb7fb16b4b0926070701d60", + "sha256": "133szna5vxczrgvap6lg1s3x0wm41dh3qdx7nryvfm912j5z6cyx" }, "stable": { "version": [ 0, 4, - 1 + 2 ], "deps": [ "flycheck" ], - "commit": "03d023c78cca177901afe7223ee57a8e396dcf49", - "sha256": "0s11sn0qbq3g6dwrr9r476c59zmp5fya89pf71pl02jijd4a3gr4" + "commit": "59dc7467425bda99aeb7fb16b4b0926070701d60", + "sha256": "133szna5vxczrgvap6lg1s3x0wm41dh3qdx7nryvfm912j5z6cyx" } }, { @@ -45988,11 +46347,11 @@ "repo": "jamescherti/flymake-ansible-lint.el", "unstable": { "version": [ - 20260114, - 1535 + 20260215, + 2013 ], - "commit": "8eadddad5fac18cb5625f70371890813ff9d5b87", - "sha256": "0zwmk4g54k4c4zyhp0b5ysj17ga5i5qgs9wj9anl8b8lddh701mk" + "commit": "580ae9b179aab4ee4b90c07be0b82a80f314ccf8", + "sha256": "1xzp56b4f9jia24a7wn4kv8ki38wi2962b0yw2r5xp7im2xm5izi" }, "stable": { "version": [ @@ -46012,11 +46371,11 @@ "repo": "leotaku/flycheck-aspell", "unstable": { "version": [ - 20250118, - 2052 + 20260105, + 2025 ], - "commit": "0d9291fd3422de0eedbac387e8c1eb037904f808", - "sha256": "1fivvfrcdkdavpdv6hglzj5snwx97gw1zrb1abyc60p91fsqab1k" + "commit": "abbac0f6ccd94224f19c70d8545fddfe9c27351f", + "sha256": "1kxxzvamjcs3f5zd0cwd2aszxx2cfs0ywq7ywhkkzall43ird4y7" } }, { @@ -46027,14 +46386,14 @@ "repo": "jamescherti/flymake-bashate.el", "unstable": { "version": [ - 20260114, - 1535 + 20260215, + 2013 ], "deps": [ "flymake-quickdef" ], - "commit": "91a687fd2c10c09e3509ea32e91209877affe379", - "sha256": "10y3pwp8r5849wlldcrya26vfq4wiblb9bif522ya25784f8bydx" + "commit": "128f24cbaae9e6bb749169bf5a8e0acfe179c3cb", + "sha256": "0qylzvx330klvadvdm60lihbl20yh1yfy7byj5w5n7549ckiz161" }, "stable": { "version": [ @@ -47433,36 +47792,6 @@ "sha256": "1k0ayc38kjwciq7dj2zlq2y1kfvgdj55yl6xn1mwafxy7kywgplg" } }, - { - "ename": "flymake-x", - "commit": "015ab56dacbd76e023561d16dbb702ac651ca7df", - "sha256": "18y1g56w6a4mb1cgf32agvna26m8m8dkv3zycn0xm09yz3gksr2d", - "fetcher": "github", - "repo": "mkcms/flymake-x", - "unstable": { - "version": [ - 20251208, - 1843 - ], - "deps": [ - "flymake" - ], - "commit": "0f50d49dff71a16a50e53619578a6c64fd6d6be1", - "sha256": "10nrr7sbf7fn2lz1zxjjbmh95rjzk0zl1f5lfhj1c5fdq71cfyl7" - }, - "stable": { - "version": [ - 0, - 2, - 0 - ], - "deps": [ - "flymake" - ], - "commit": "0f50d49dff71a16a50e53619578a6c64fd6d6be1", - "sha256": "10nrr7sbf7fn2lz1zxjjbmh95rjzk0zl1f5lfhj1c5fdq71cfyl7" - } - }, { "ename": "flymake-yaml", "commit": "888bcbcb24866abd990abd5b467461a1e1fc13fa", @@ -47531,14 +47860,14 @@ "repo": "konrad1977/flyover", "unstable": { "version": [ - 20260111, - 1120 + 20260225, + 626 ], "deps": [ "flymake" ], - "commit": "166da1cd3388c8dbbe0d514b3a1fe8397630d8d5", - "sha256": "03cily8i7zq860n7gf5qj68005jc1219m8rvd9m10snz8wrpdkkd" + "commit": "8815cb067ca0d3d32607c9ae5093673cb29663a0", + "sha256": "15va0m6dyypvq9llyk9mz2l6cam7ysrymaga8ycfr16pr7rrnx9d" } }, { @@ -48262,8 +48591,8 @@ "repo": "magit/forge", "unstable": { "version": [ - 20260117, - 1710 + 20260208, + 1639 ], "deps": [ "closql", @@ -48278,8 +48607,8 @@ "transient", "yaml" ], - "commit": "3cde5fc0e17e9a30a0f3b49fcbc49b50a5ca49f3", - "sha256": "120ajxsdi2jm075d40ajsvv12vaq4w77d1jaxayanwfq8mppcld3" + "commit": "5c005c085dda7258696aded59983482e228654a3", + "sha256": "0qgy5pziq70mdjmg5vyzf9vbnyw6sf2xq8xyl4bvy1zyq5hhw20x" }, "stable": { "version": [ @@ -49389,15 +49718,15 @@ "repo": "jojojames/fussy", "unstable": { "version": [ - 20250820, - 104 + 20260216, + 27 ], "deps": [ "compat", "flx" ], - "commit": "163ded34be3e9230702201d0abe1e7b85e815c2d", - "sha256": "0gkgkg298qnk9yf1d9la5cnl3mrxvs41hxlgys5v36c4pg7v9yzp" + "commit": "17ca387c077f47553239816f41d6f0e351a21103", + "sha256": "1slbrqsi17zglqy229zggn094w8rckkpdnmnbw5gvhy6z40p5s5c" }, "stable": { "version": [ @@ -49623,11 +49952,11 @@ "repo": "bling/fzf.el", "unstable": { "version": [ - 20260111, - 1853 + 20260121, + 1418 ], - "commit": "7bd12faa84f0ddcbc1e76ab416bb43e36fbf9c1f", - "sha256": "07zfb7771kwwv99z1fdk9zb51swyl5i07ps53748n9yskivf16kx" + "commit": "0f6a2fd644bedfbcc061f995c8c270d084da1cba", + "sha256": "1q6hs3kksr7lxj6w42gp6q16m86zmkc4r1mr8j5s3n0y8mw9gy2y" }, "stable": { "version": [ @@ -49689,11 +50018,11 @@ "repo": "ShiroTakeda/gams-mode", "unstable": { "version": [ - 20260119, - 217 + 20260121, + 924 ], - "commit": "519c64f186515157b6a01143f438dc24148d8e58", - "sha256": "185r2x63cib0bjl68xxn52bvli7lfpy894l7n01wy3q05w4lfbws" + "commit": "eeb4cfcf98d113388a5d66b2fa65cb32563ef9af", + "sha256": "16cn4c2ma7ixb2r4bd04qyxf1g9wqzvma93b95x5zryn8n0k3lmx" }, "stable": { "version": [ @@ -49811,11 +50140,11 @@ "repo": "godotengine/emacs-gdscript-mode", "unstable": { "version": [ - 20251104, - 1437 + 20260202, + 556 ], - "commit": "e94dfd9dc7a50261b2c41ae3daa05043331a54a8", - "sha256": "18f7y7cnsr0kc6h0f286x6557f6mp69v17b98i4mg4my2ah6gszi" + "commit": "dd44f1dfa541c73d41272adefd35017147dc9fcb", + "sha256": "1hf7gwzzl4k955z4qf6dnrjq6yyyw6lcfzc4ga78y0s4n10sy6f3" }, "stable": { "version": [ @@ -50484,16 +50813,16 @@ "repo": "twmr/gerrit.el", "unstable": { "version": [ - 20251105, - 2119 + 20260208, + 922 ], "deps": [ "dash", "magit", "s" ], - "commit": "e89b21d2f464ead98a60d8ecc79c359be886b232", - "sha256": "19wz4vgm0bjk87rn0x6ykj612rh4b3idaig6adn6yns77danrs60" + "commit": "317599943495da561a508b31e83ae55c800e5a52", + "sha256": "185q22afq281k6whhjrmikgr711xd7blv6ixir8pinv7d4m5psmd" } }, { @@ -50585,8 +50914,8 @@ "repo": "sigma/gh.el", "unstable": { "version": [ - 20230825, - 1217 + 20260210, + 1535 ], "deps": [ "cl-lib", @@ -50594,8 +50923,8 @@ "marshal", "pcache" ], - "commit": "b5a8d8209340d49ad82dab22d23dae0434499fdf", - "sha256": "1vab2qdjyv4c3hfp09vbkqanfwj8ip7zi64gqbg93kf1aig1qgl9" + "commit": "b1551245d3404eac6394abaebe1a9e0b2c504235", + "sha256": "0aifrgsrycbv5c0xdmijbc276vif9n136c8fbf8lw4cxyrvmqyiw" }, "stable": { "version": [ @@ -50774,8 +51103,8 @@ "repo": "magit/ghub", "unstable": { "version": [ - 20260101, - 1852 + 20260217, + 1835 ], "deps": [ "compat", @@ -50783,8 +51112,8 @@ "llama", "treepy" ], - "commit": "278d9fb5f3f673a4ecfe551faeacc0dfd5de0783", - "sha256": "0bw8m3i05r6bm8drapxf8ldg71wgymkr15adl43lckp37kl7npyj" + "commit": "f87acd5c01f20d3d67ef5926b5e7230726ced835", + "sha256": "0l61hnc15s7q0s74xxfl7v3cdxnsalzpc6gr7jfj1hp12lmqa47p" }, "stable": { "version": [ @@ -52714,8 +53043,8 @@ "url": "https://git.thanosapollo.org/gnosis", "unstable": { "version": [ - 20260114, - 454 + 20260224, + 1202 ], "deps": [ "compat", @@ -52723,14 +53052,14 @@ "org-gnosis", "transient" ], - "commit": "6bd8f4e5a84387b51df961db9703e9801f3610f7", - "sha256": "1x8d0dw1s6qhhhv2f90372nk0zwi3m405cga706xzrffr86mydyr" + "commit": "efac49bb1c55779d41d1f0aa22a0fb18486b6722", + "sha256": "1fz7a08vfzw93gh6ikqpghk1b1pzllm8m5ryx3ng1r6lc4ql56ch" }, "stable": { "version": [ 0, - 5, - 8 + 7, + 0 ], "deps": [ "compat", @@ -52738,8 +53067,8 @@ "org-gnosis", "transient" ], - "commit": "43b8ba93a7173543d16e08ebc30ce8ed3f793b7f", - "sha256": "0zlcw3qqpxar9sapds38w38yhxmndv7zb59xh206c0fwvymjfc1d" + "commit": "54660aabfa3200663053dd0063f2c215ef674ddb", + "sha256": "0a8bsmvj6wckq9fjpnqa9ccml4fwbia7415j4wrqbza6a9svilrx" } }, { @@ -52847,11 +53176,11 @@ "repo": "hexmode/gnus-alias", "unstable": { "version": [ - 20230818, - 1830 + 20260224, + 27 ], - "commit": "cf1783a9294bc2f72bfafcaea288c159c4e3dee5", - "sha256": "0cs0cyi7hj7ga9aiqz4dafc07xrk3l5g9zzlbda9l90xbvyfssa0" + "commit": "cd7e3f92a12fe7948e2658d26bd0c53ca4a483bd", + "sha256": "15fpvwz2mxgn6jb6gvgfnp9snjiwxhw783lfkj8qxn12hcwz6c7m" } }, { @@ -53650,20 +53979,20 @@ "repo": "rch/go-template-helper-mode", "unstable": { "version": [ - 20260102, - 1449 + 20260124, + 2229 ], - "commit": "34ba1fa917da78f9926fa909056bd9e1e5dd2837", - "sha256": "179przj56648gxsqz0b0jzwj6b7d729ncabqzqgqfwyad9n2605b" + "commit": "e13b09d9176dd88e65c4bea5eb5c878242ea7e13", + "sha256": "07x19icrir88h6kxgx57rg8m6f48xvlqkrwncq92ff3m7jma1yhv" }, "stable": { "version": [ 1, 0, - 1 + 3 ], - "commit": "34ba1fa917da78f9926fa909056bd9e1e5dd2837", - "sha256": "179przj56648gxsqz0b0jzwj6b7d729ncabqzqgqfwyad9n2605b" + "commit": "e13b09d9176dd88e65c4bea5eb5c878242ea7e13", + "sha256": "07x19icrir88h6kxgx57rg8m6f48xvlqkrwncq92ff3m7jma1yhv" } }, { @@ -54171,14 +54500,14 @@ "repo": "chmouel/gotest-ts.el", "unstable": { "version": [ - 20250923, - 702 + 20260127, + 1547 ], "deps": [ "gotest" ], - "commit": "edbc8dcd14fa037cd91e08896027fcd6331aca7c", - "sha256": "1siaj2f7jbvkf5a5fk5h5j56sm27vkxp0913kjkygcjhigkdi0lw" + "commit": "b12e08d925bab705792f14b29acdca9af550d9a8", + "sha256": "053q4h0wd8rbrcdmn85v1530cvbx4ygwlr0yp8v5pji7wrgbbpd7" } }, { @@ -54213,20 +54542,20 @@ "repo": "emacs-vs/goto-char-preview", "unstable": { "version": [ - 20260101, - 549 + 20260204, + 956 ], - "commit": "b78fa6419466984b97459e95ffb77f3e9ae10a09", - "sha256": "0wz4ajn4d4b3rli1hvlh5vsdpm98m2wkdni6sw03m3wz4750brx6" + "commit": "d81c7186dc3c916ba84a5d8ce2f06c652c1186a8", + "sha256": "1h4lhhr2r6rngz1fba2fzaa4wj0dwqv5icn2ivzmcmgwbcmkay5i" }, "stable": { "version": [ 0, - 1, + 2, 0 ], - "commit": "6209973933bec4081145dbcb8e3e442cb29a8c52", - "sha256": "1ckpdgfr7da37fwx9pw0vc8bdcmbpdpygfn8gkwwmz3yjk3021h7" + "commit": "13c9ab10b0a4f5be0b22158f6437a535a3f36240", + "sha256": "1fv75lrgfnpwpqcwsjr799bb1xda322rjrsyzj5mb2gjv57ia5mg" } }, { @@ -54300,20 +54629,20 @@ "repo": "emacs-vs/goto-line-preview", "unstable": { "version": [ - 20260101, - 549 + 20260204, + 956 ], - "commit": "ccc3c361da93f5bd44d697d22482f52fab735860", - "sha256": "08yw64chjd189is40yl9plxym35bb3zfmsb7k41h8rdgpcw7ib27" + "commit": "7c86228bc4f92b5129302824881f36d7ae39ee0a", + "sha256": "0nhgpdhjzvginq3adzfx67jwgv7ldvkcfqk09sbc7ii4ihj4m2fi" }, "stable": { "version": [ 0, - 1, - 1 + 2, + 0 ], - "commit": "66817b66ce124b2961df3521faa3adc87943d0d9", - "sha256": "0w9cqp5xcqnncwpb90xvirvm05bknsaxhd51y2wkhqr7j5xi489i" + "commit": "f835428addbadc8af782b5ea511103c5f10b6dc5", + "sha256": "0ayy18wiakz33ylh6g7szvndgq9k0k6jh37s6yqhjzkg884aga3x" } }, { @@ -54339,7 +54668,7 @@ "stable": { "version": [ 0, - 52, + 53, 0 ], "deps": [ @@ -54348,8 +54677,8 @@ "magit-popup", "s" ], - "commit": "e53c30d0f0f3cdb97160b0263cda0126c070693a", - "sha256": "0n2yga2biipqh23bz1p7bz7cwz35wd055qwpjh5gr904sy3i7pqr" + "commit": "029d112e05adfc13fa458b99bab4260dd08376c1", + "sha256": "0av7fc15422kqx8yd38qv9828mi7y788q865qhmgb4wy26aamwzz" } }, { @@ -54441,11 +54770,11 @@ "repo": "stuhlmueller/gpt.el", "unstable": { "version": [ - 20260111, - 423 + 20260207, + 633 ], - "commit": "fb5b7a833116377f9aae05e3ddefec64805d7546", - "sha256": "15md8lpkkj1k9f0aaqqp98pzkklvc386i5ilawqq0mvq1kpzir2j" + "commit": "9d4752674e6cbf57aee0bc013d99b4c8652e9f60", + "sha256": "0dfaq0b0vk2j42f7j09lk8mxk32my3w0ll20nczy4746pbmf26zq" } }, { @@ -54512,29 +54841,29 @@ "repo": "karthink/gptel", "unstable": { "version": [ - 20260116, - 710 + 20260222, + 120 ], "deps": [ "compat", "transient" ], - "commit": "7f15e57e1a5c7dcc504457708645aef2deceb425", - "sha256": "0ljylls6537rxgy0ywc7paxz4ccgxizv1lzlb02hnb1xwrd5pmyz" + "commit": "d221329ee3aa0198ad51c003a8d94b2af3a72dce", + "sha256": "1ffh2mwy9znjd0v9mh065lv122xg4nlnkbxwjfrsaqn1j1q2xc0c" }, "stable": { "version": [ 0, 9, 9, - 3 + 4 ], "deps": [ "compat", "transient" ], - "commit": "d0c392bbb0a1f7775d3a1e98220f4bdc043ab63b", - "sha256": "080dk0101imvfkxcqlqhy8wf1wc8p2vqyp3cwdi48wn44y1csqy9" + "commit": "d221329ee3aa0198ad51c003a8d94b2af3a72dce", + "sha256": "1ffh2mwy9znjd0v9mh065lv122xg4nlnkbxwjfrsaqn1j1q2xc0c" } }, { @@ -54545,8 +54874,8 @@ "repo": "karthink/gptel-agent", "unstable": { "version": [ - 20260114, - 2340 + 20260213, + 750 ], "deps": [ "compat", @@ -54554,8 +54883,8 @@ "orderless", "yaml" ], - "commit": "ba4aed51fe4ae4ddf73dc538aeaec7fe9bc364be", - "sha256": "0476jbydk62f01vj9463c0h7fy4nibq351m4wy4dql04x6nhflx6" + "commit": "8ba9056da2341468192e6417d47cb50e26636e97", + "sha256": "1si6sxvcczpjcrzgig1030faxgkl34zkrn08b71hd807flmpyqik" } }, { @@ -55337,11 +55666,11 @@ "repo": "seagle0128/grip-mode", "unstable": { "version": [ - 20250731, - 213 + 20260213, + 1756 ], - "commit": "c965a344ab950c6b4ef788c7b9e8792a95a139d1", - "sha256": "0dbqcbsd891r7i267wvjswxn5x8qvc5379if0j91xvgznmzfwllv" + "commit": "b8b9e603edbb258ab38a94a0518c4a8c7a22e53c", + "sha256": "1y7vp6jsl62ijf01yvckm5d3w6jh4aj7bl0gv5dh81vrz8wlv5qy" }, "stable": { "version": [ @@ -55791,20 +56120,20 @@ "repo": "bormoge/guava-themes", "unstable": { "version": [ - 20260119, - 2115 + 20260222, + 1518 ], - "commit": "983154f6922571b2cb34730808d6b396417b10ba", - "sha256": "0760bavqmbhjsd1ydiqm4h5c2kfmlvnn0mgf845k8qvghb9y14xx" + "commit": "1a8e3aa0f999a378344da0cf82ee843773526f9c", + "sha256": "1v562mb08nqhingdba4vcyjhqxwgqrmpaz3ai3j9mn1dwh6h6iak" }, "stable": { "version": [ 0, - 8, + 11, 0 ], - "commit": "983154f6922571b2cb34730808d6b396417b10ba", - "sha256": "0760bavqmbhjsd1ydiqm4h5c2kfmlvnn0mgf845k8qvghb9y14xx" + "commit": "1a8e3aa0f999a378344da0cf82ee843773526f9c", + "sha256": "1v562mb08nqhingdba4vcyjhqxwgqrmpaz3ai3j9mn1dwh6h6iak" } }, { @@ -55952,11 +56281,11 @@ "repo": "Overdr0ne/gumshoe", "unstable": { "version": [ - 20260110, - 1840 + 20260217, + 252 ], - "commit": "2f4f54a584d4460b838ae8e366c07eb0f040d408", - "sha256": "0b4pprgqlbcl69whk7rwwdc5zqysxkgk74hmbbfp3r55mfi686ca" + "commit": "da71e889b5e890fecbacaeba0a4977c4657b4351", + "sha256": "0j5nnrn5ypj4i2ysdfayiky3iai30wjwhdbxakrj5bafcn5051ki" } }, { @@ -56106,14 +56435,14 @@ "repo": "hhvm/hack-mode", "unstable": { "version": [ - 20251212, - 2139 + 20260207, + 559 ], "deps": [ "s" ], - "commit": "86a981bd7bc9929750abc7cea368d58c6ebb86fa", - "sha256": "12acw817jnisa68lx845vmnl582fi7bfg3qwqkm0cwn1s7fpa4mi" + "commit": "0b117e7f259439e7b5d961ec936d8718a727c13a", + "sha256": "0l89hvsdx0igqxj1vvxwry461r459qfs40bv3lhfl32h333n3pq9" }, "stable": { "version": [ @@ -56450,6 +56779,21 @@ "sha256": "0whn8rc98dhncgizzrb22nx6b6cm655q1cf2fpn6g3knq1c2471r" } }, + { + "ename": "hanfix-mode", + "commit": "a4b7d982f963aaa6bd26c9ab8df392a9df785bd1", + "sha256": "0nv1hnbywkazibsv79z75yf7zqnygqvf2is10zbx7cygyr1qswvl", + "fetcher": "github", + "repo": "ntalbs/hanfix-mode", + "unstable": { + "version": [ + 20260202, + 2111 + ], + "commit": "41f3a942cf7531dcb003932138e00e9ab4fa8214", + "sha256": "1llq62havgqnbnx7ibcdxcjwxivyv9q14gc4ikjwg61shqjjd7ni" + } + }, { "ename": "haproxy-mode", "commit": "cda0e4b350611e60eb2ef5bdb3e660f9e707e503", @@ -56720,11 +57064,11 @@ "repo": "haskell/haskell-mode", "unstable": { "version": [ - 20250930, - 1728 + 20260206, + 1050 ], - "commit": "bd89438b0e6e6b6877d635699e265da85e85ca06", - "sha256": "0mkxrizxnvl1xdxhxdv01bpqjancbw4vshp69rdhvsiv7gm27nwv" + "commit": "2dd755a5fa11577a9388af88f385d2a8e18f7a8d", + "sha256": "0p3xxzjfbhf14cp162iqy2jc9xn67lrj5c5wp29qd17bvk1akf7n" }, "stable": { "version": [ @@ -56994,11 +57338,11 @@ "repo": "hdf5-viewer/hdf5-viewer", "unstable": { "version": [ - 20250901, - 33 + 20260216, + 1940 ], - "commit": "cd934811721a36e63cea45fffbf4b3459ad60e15", - "sha256": "0qzbcizc8s3izrpcscm478910i9v4iwpjb5pm305azfsfb0gnmq3" + "commit": "620abfea368c85e326108328c846a82fea490b77", + "sha256": "1s60rag11n260l83gcsdbph9fqyacha5d57q6myfq0xm48cr9nmx" } }, { @@ -57102,15 +57446,15 @@ "repo": "emacs-helm/helm", "unstable": { "version": [ - 20260108, - 714 + 20260214, + 1432 ], "deps": [ "helm-core", "wfnames" ], - "commit": "3065b5d7c42fd2ba23ebd73cb25dc028990fc0bb", - "sha256": "11b3z2l8ml4d21fh64gwlzqsk4k8pq4ak6jhck5dzkz6gq4ln469" + "commit": "9d8de1e0810ef5a5e1f3a46c9461b78b9e86167b", + "sha256": "1h6w4dbq8wvy55d2wlac62q0ljd79pc2ygvkkm1i08af427b5w2m" }, "stable": { "version": [ @@ -57913,14 +58257,14 @@ "repo": "emacs-helm/helm", "unstable": { "version": [ - 20260104, - 1441 + 20260201, + 507 ], "deps": [ "async" ], - "commit": "cbbaff3c5a76b3ab91ba297844acce11980f55fd", - "sha256": "05zadb07hgsv4lphssawjsfdwi3c7rq2l6qf8yq5my6g6w372l88" + "commit": "dcaa8fb45d4f7d08390d80351a4204f848f2ec90", + "sha256": "1hiawmmqg1yvfi1mzjynjbjq2hs2xflzs40a84yk863hzbj056fd" }, "stable": { "version": [ @@ -58226,6 +58570,24 @@ "sha256": "0fs0i33di3liyx1f55xpg5nmac1b750n37g3pkxw2mil7fx7dz32" } }, + { + "ename": "helm-emoji", + "commit": "14e1c43392dc8f33ded3c99771c7f9fddb6d421f", + "sha256": "1nq7xz71nmvkmf68zjak1042pp0iz28pld4yk4ndifsa856cikmc", + "fetcher": "codeberg", + "repo": "timmli/helm-emoji", + "unstable": { + "version": [ + 20260218, + 1141 + ], + "deps": [ + "helm" + ], + "commit": "4c125d3fc42fad0576ff653c0a45ee265498a2c6", + "sha256": "0pmgfd3z96abh5lrw608ma8ss0vzpwzb94k5f3dsbhndw8vl0j5q" + } + }, { "ename": "helm-esa", "commit": "5813ef34f178c7549749b7440764b8aa8b142ade", @@ -58858,14 +59220,14 @@ "repo": "emacsorphanage/helm-gtags", "unstable": { "version": [ - 20260103, - 1800 + 20260204, + 1753 ], "deps": [ "helm" ], - "commit": "6278f138896585dd60cd954f991cffcc0ebf6440", - "sha256": "0471bkm8mv8qh4x69kvz3cayhlyjwg6zi1yxaxl2prs0h5dyn11x" + "commit": "bfafd3d4a7f028d42f3f46c3273eaed930269ec6", + "sha256": "0rf0ad5rp86xmlsn7hn1rqw1p0l1h2bkb8wrgk5943m6k49kpraf" }, "stable": { "version": [ @@ -60261,28 +60623,28 @@ "repo": "masutaka/emacs-helm-raindrop", "unstable": { "version": [ - 20250806, - 1220 + 20260211, + 606 ], "deps": [ "helm", "request" ], - "commit": "6c080b1acf51ada473a7252cca7e0a5d812be4b0", - "sha256": "1gzfyrj1lv58zlbh6bxaz7csbq6v80h9n7f8bamhsnzn2mdlafia" + "commit": "0c87eddc7f15c2046b9b03b83a8a7ee0551a0747", + "sha256": "0z3323fq0vvm2n8qy8q3n94k158pmznwxi820wdpl1scjc1rxrmp" }, "stable": { "version": [ 0, - 1, + 2, 0 ], "deps": [ "helm", "request" ], - "commit": "6c080b1acf51ada473a7252cca7e0a5d812be4b0", - "sha256": "1gzfyrj1lv58zlbh6bxaz7csbq6v80h9n7f8bamhsnzn2mdlafia" + "commit": "0c87eddc7f15c2046b9b03b83a8a7ee0551a0747", + "sha256": "0z3323fq0vvm2n8qy8q3n94k158pmznwxi820wdpl1scjc1rxrmp" } }, { @@ -61825,11 +62187,11 @@ "repo": "DarthFennec/highlight-indent-guides", "unstable": { "version": [ - 20241229, - 2012 + 20260202, + 1243 ], - "commit": "3205abe2721053416e354a1ff53947dd122a6941", - "sha256": "1w8qqgvviwd439llfpsmcihjx4dz5454r03957p2qi66f1a7g6vw" + "commit": "802fb2eaf67ead730d7e3483b9a1e9639705f267", + "sha256": "14clnkp9hvw7l4i2d0pswayvb0cgdls1ff677c07g72qq1qalczs" } }, { @@ -62111,11 +62473,11 @@ "repo": "dantecatalfamo/himalaya-emacs", "unstable": { "version": [ - 20241209, - 1501 + 20260219, + 1107 ], - "commit": "934e8f8741e3cfff577d7119eceb2cfdb7cff6f3", - "sha256": "1pwn91d7x39np5i9b0d0mi48bxqv7d7h4fmg4ifhwgvglzla3r96" + "commit": "e308694ef60b211bad2a70c46a1566ef0b985f2e", + "sha256": "0hgchf77zf1f4dd2rcdsc02mgmsclksslqp4c0j1hw38vqyf8qav" }, "stable": { "version": [ @@ -62134,23 +62496,20 @@ "repo": "mihaimaruseac/hindent", "unstable": { "version": [ - 20250909, - 1613 + 20260124, + 2208 ], - "commit": "e841f55c37abf6865309083b93eb6214eb100cea", - "sha256": "1sp7dzrngn6jhcy020w1akph849cw1rihz1ql5vc48r7c3wrsyz8" + "commit": "57e769d48447c77da5a21d1923ba3634e3a605fe", + "sha256": "17vpffrrm6a1pfgbk97xl0d51h6141kpd1yqhvwwvzcr5qx5jvgc" }, "stable": { "version": [ 6, - 2, - 1 - ], - "deps": [ - "cl-lib" + 3, + 0 ], - "commit": "beafb2610fb9a724bdd78339375e6673d46c23fe", - "sha256": "1hx0sj5afy0glxr3lfr6hvnk0iphmfnfg3wilx2s013a5v0drmxc" + "commit": "57e769d48447c77da5a21d1923ba3634e3a605fe", + "sha256": "17vpffrrm6a1pfgbk97xl0d51h6141kpd1yqhvwwvzcr5qx5jvgc" } }, { @@ -63520,11 +63879,11 @@ "url": "https://git.savannah.gnu.org/git/hyperbole.git", "unstable": { "version": [ - 20260111, - 1646 + 20260220, + 247 ], - "commit": "b14310df58cc8bd33860e9bf548ee1497dc3fd20", - "sha256": "1xxzcr6v4qpmrz9380fil5bik0q45ww8iifgh2bl6ry7fnnpm3sc" + "commit": "8af4e68a25623dbe5134053cdadb0c5b06beec9f", + "sha256": "1w2h299v8z6gzcw91nl1gcb27p9mixkxqsxnkwgz8c0an1zz8i0j" }, "stable": { "version": [ @@ -63693,20 +64052,19 @@ "repo": "precompute/hyperstitional-themes", "unstable": { "version": [ - 20260112, - 2116 + 20260215, + 1305 ], - "commit": "cc8c33a23116ed112ef9ca3a973597f03dc41459", - "sha256": "00mli6mdgrs49ckgq4qwmzgzlsax36harhhhwmb7ab87g5a9jadc" + "commit": "b4bf851ea46ad4ddc8c45afc3c2d000d7f13bc4b", + "sha256": "1zqcy2zhgp2qfj4k01ns8pc7ff449gyrx4gfwlzny8cgmbv01fkd" }, "stable": { "version": [ 3, - 2, - 2 + 4 ], - "commit": "cc8c33a23116ed112ef9ca3a973597f03dc41459", - "sha256": "00mli6mdgrs49ckgq4qwmzgzlsax36harhhhwmb7ab87g5a9jadc" + "commit": "b4bf851ea46ad4ddc8c45afc3c2d000d7f13bc4b", + "sha256": "1zqcy2zhgp2qfj4k01ns8pc7ff449gyrx4gfwlzny8cgmbv01fkd" } }, { @@ -64647,15 +65005,15 @@ "repo": "idris-hackers/idris-mode", "unstable": { "version": [ - 20251203, - 1548 + 20260209, + 1107 ], "deps": [ "cl-lib", "prop-menu" ], - "commit": "85928dc4cc2c22010fa91661abd55e6bd3dbacee", - "sha256": "169a19x861yj18wrkjx4mxm12lvfdzw320f9lddsc2xcsdlrmm5v" + "commit": "d32b2396a8ad17820e308cd267f1b464a5235abc", + "sha256": "1vldwsmyaazrkcmff6qv5hlprsj37dvj7p01lphg6x20pv63c6av" }, "stable": { "version": [ @@ -65129,14 +65487,14 @@ "repo": "petergardfjall/emacs-immaterial-theme", "unstable": { "version": [ - 20251222, - 1352 + 20260219, + 749 ], "deps": [ "modus-themes" ], - "commit": "c478e875d9949a0b8341fa146ea9a408997623f5", - "sha256": "0q3462vg46qp03ac870lvg6jl1ri3z9h7gd4b9kazfaj88n13p52" + "commit": "4d2920d48f07a7681b9fb98cf27f60bd1611c265", + "sha256": "0rd3djmpns1d76i1xrrbaixhzbpnhjj2q7q1cvbxsg6pqc0agavy" }, "stable": { "version": [ @@ -65388,11 +65746,11 @@ "repo": "jcs-elpa/indent-control", "unstable": { "version": [ - 20260101, - 600 + 20260128, + 1027 ], - "commit": "222fa01879c08adc5cc84cef6aa4fcff90c7c938", - "sha256": "0w5iq7mnyisa63f3rlcpaqbxy3h428ywxz7rkw5z0v2gbr480l11" + "commit": "8bd4a44c2ae51f781bc3b86f09869f71343ca1ff", + "sha256": "1371pzd82hyqmnil46kl75s4kq9sgi782gbaa8dl2invgccbs6r3" }, "stable": { "version": [ @@ -65412,11 +65770,11 @@ "repo": "zk-phi/indent-guide", "unstable": { "version": [ - 20210115, - 400 + 20260211, + 1005 ], - "commit": "d388c3387781a370ca13233ff445d03f3c5cf12f", - "sha256": "0r303mzxj57l8rclzsmvhnx2p3lhf2k4zvn8a6145wb10jvcwfxi" + "commit": "f3455c6c798b568a6ea1013b7eea1153d2e092be", + "sha256": "18bmf426xbqlrz448i9aphw69zh8nki1zy1s59l9drz1h5h15n7r" }, "stable": { "version": [ @@ -65622,14 +65980,14 @@ "repo": "clojure-emacs/inf-clojure", "unstable": { "version": [ - 20250525, - 2054 + 20260220, + 1437 ], "deps": [ "clojure-mode" ], - "commit": "bdef6110a3d051c08179503207eadc43b1dd4d09", - "sha256": "0jcp8w4k37cfivwp1486znf7pz24fikic9qcc05ik0a31iqwna0h" + "commit": "be5e9bd90775b35c8bc2ecb118d6af9a521b2d81", + "sha256": "19idc5383h2m6ia4zc4mcrhxdh2zlshqm6wxwh9bxqn7gb0hag8b" }, "stable": { "version": [ @@ -66024,11 +66382,11 @@ "repo": "jamescherti/inhibit-mouse.el", "unstable": { "version": [ - 20260114, - 1535 + 20260215, + 2013 ], - "commit": "448a86b679dc4d45ec74f94d1471b51850bfd6b8", - "sha256": "0vpcvw317sk5w6v5nwjnbb80lfs27nya186rfhpn2mgzrbg5h0md" + "commit": "cffda3c6fe4f662e1438a347259d914db410f2dd", + "sha256": "0zylxqiyywllljxjy13cxflnpnklhlx75fqgmdyw2qvf75sby4zy" }, "stable": { "version": [ @@ -66190,11 +66548,11 @@ "repo": "Kungsgeten/ink-mode", "unstable": { "version": [ - 20201105, - 2242 + 20260212, + 923 ], - "commit": "71d215712067729eb92e766a3b2067e7f3254183", - "sha256": "00k2jihpk5xi3pnsdcdxhi570lw6acsdpc0impwvm9zq9mw3rik3" + "commit": "da2e7144837606f27ea6a5ea6d26229aeb0dd77e", + "sha256": "0xskqy4zdxan04kqqwrn8svnskcyswxlwg3smp8n2kpp36dfc284" }, "stable": { "version": [ @@ -67244,11 +67602,11 @@ "repo": "abo-abo/swiper", "unstable": { "version": [ - 20251123, - 1023 + 20260213, + 1157 ], - "commit": "ec9421340c88ebe08f05680e22308ed57ed68a3d", - "sha256": "1i3zpl8kldggvzbkzqmkld2j0cgdqc4wcid9gaz3l7dwmsanwbkp" + "commit": "11649c347107cba5f7ef8fd67ad8e77bc3b2472c", + "sha256": "0y78pj15yj08a3gndin91vf222wsbg7fzn01gng1cc6cd91hhhhx" }, "stable": { "version": [ @@ -67268,15 +67626,15 @@ "repo": "abo-abo/swiper", "unstable": { "version": [ - 20250329, - 1401 + 20260101, + 2125 ], "deps": [ "avy", "ivy" ], - "commit": "e33b028ed4b1258a211c87fd5fe801bed25de429", - "sha256": "1yv40k0swdywk0zwxs2s95s4y1pa9k2m3s25fx7gv9pnmf7yw8p1" + "commit": "d489b4f0d48fd215119261d92de103c5b5580895", + "sha256": "1jady7337ws51y2r78n4mgnijsq8415ga3s5c47f4lpd3d74j2bj" }, "stable": { "version": [ @@ -67635,15 +67993,15 @@ "repo": "abo-abo/swiper", "unstable": { "version": [ - 20250329, - 1401 + 20260213, + 941 ], "deps": [ "hydra", "ivy" ], - "commit": "e33b028ed4b1258a211c87fd5fe801bed25de429", - "sha256": "1yv40k0swdywk0zwxs2s95s4y1pa9k2m3s25fx7gv9pnmf7yw8p1" + "commit": "4defb814ce00fbbc2cf2ad626e630a39f4da1456", + "sha256": "0fk05w6fn1780by26hrb9d7hksm0gbfkjp8d9xg49va0y6cq2g28" }, "stable": { "version": [ @@ -67792,28 +68150,28 @@ "repo": "tumashu/ivy-posframe", "unstable": { "version": [ - 20241023, - 258 + 20260127, + 50 ], "deps": [ "ivy", "posframe" ], - "commit": "660c773f559ac37f29ccf626af0103817c8d5e30", - "sha256": "05p2n86a57mdkqkr554maa85n47w8ma0ygszhp9jgfczf9c8qm64" + "commit": "ede7b2121f176ab543ce6b73fd96e3eafd6d1505", + "sha256": "0v5wbh8jqcgp53h7lqwn9925p3pf8ds4gr1ys0xhqkg28jkynijz" }, "stable": { "version": [ 0, - 5, - 5 + 6, + 4 ], "deps": [ "ivy", "posframe" ], - "commit": "83047d440ff132d5a45acde5955f71853edeefb9", - "sha256": "03n1a9qzc53i3lx0ywayc2v8p0n4ydl7ly6niaj9dj15ik0nzxsp" + "commit": "ede7b2121f176ab543ce6b73fd96e3eafd6d1505", + "sha256": "0v5wbh8jqcgp53h7lqwn9925p3pf8ds4gr1ys0xhqkg28jkynijz" } }, { @@ -68214,15 +68572,15 @@ "repo": "emacs-jabber/emacs-jabber", "unstable": { "version": [ - 20260119, - 1421 + 20260203, + 211 ], "deps": [ "fsm", "srv" ], - "commit": "745e5f1354e99bfcee1aa097fb9d198cd701b463", - "sha256": "09rz0b8jlw9xpyxx7qfhh5hg5glkxfl1yzmzq2j2bk00iprmx0k0" + "commit": "2b9dd87f8a182502383c9d4a72a140b1cc3ec8c2", + "sha256": "11a1jiqbyqc846jr271fhpyqg1q0jppmcr5fmy3mfdwry5214y52" }, "stable": { "version": [ @@ -68455,11 +68813,11 @@ "repo": "rudi/jastadd-ast-mode", "unstable": { "version": [ - 20200926, - 1820 + 20260209, + 816 ], - "commit": "a98a5eef274d8eedabc7467874edf4338c9a012e", - "sha256": "1wxw36p6835a13ycc7vcj3w9k5zgwqydg0gs667934r502wd0xp9" + "commit": "b495089cd15876d5ac83289c5768d67dce3c28cd", + "sha256": "0qs4f5msbccyfarkcmyg03ywg9js7kq9b1abh6y54irb9k7wfysa" } }, { @@ -68565,11 +68923,11 @@ "repo": "DamianB-BitFlipper/javelin.el", "unstable": { "version": [ - 20260105, - 1728 + 20260215, + 1847 ], - "commit": "e58733d6dfb3282d5b6ad4d295e8c71a8e5abc71", - "sha256": "198kxmcchmfblxphmwcgki15ymzz0kgmllmkdbgvs48bycpzp8kr" + "commit": "e2f1ccad5a7ad0dd38f62773723353081d57bae8", + "sha256": "06iggf0l543wz0y6ba7q5l8q1mv0qi3pj5nwymfj7cv0v8jms6a1" }, "stable": { "version": [ @@ -69078,14 +69436,14 @@ "repo": "minad/jinx", "unstable": { "version": [ - 20260117, - 1650 + 20260206, + 847 ], "deps": [ "compat" ], - "commit": "b412673dec759131fe0abb346998b55225fbe771", - "sha256": "1rkgp1j4pc9i2305fjs20nrvn11dg22rj5vmwf4520baj7asd8m3" + "commit": "75e8e4805fe6f4ab256bd59bec71464edbc23887", + "sha256": "10yrk5kd3ms27k48m8n8gwg83v557knamb9m1nyfgqhgb5h41vi8" }, "stable": { "version": [ @@ -69107,8 +69465,8 @@ "repo": "unmonoqueteclea/jira.el", "unstable": { "version": [ - 20251208, - 1845 + 20260218, + 721 ], "deps": [ "magit-section", @@ -69116,13 +69474,13 @@ "tablist", "transient" ], - "commit": "3b4b5260d6e6c14fe1fc2bcffe64f3a9b9f30245", - "sha256": "0wwzw84qrzzw1bywpfz81x4z9fb84dikxgb5dx4hji97j1s6w21k" + "commit": "b578426e7f4d6d4c41a41788053e88e6a5290f84", + "sha256": "0hiv8ynygnqv2b5d7s43zab8d75fc34n06jvlm0wscjkq8rkmnkm" }, "stable": { "version": [ 2, - 15, + 21, 0 ], "deps": [ @@ -69131,8 +69489,8 @@ "tablist", "transient" ], - "commit": "3b4b5260d6e6c14fe1fc2bcffe64f3a9b9f30245", - "sha256": "0wwzw84qrzzw1bywpfz81x4z9fb84dikxgb5dx4hji97j1s6w21k" + "commit": "b578426e7f4d6d4c41a41788053e88e6a5290f84", + "sha256": "0hiv8ynygnqv2b5d7s43zab8d75fc34n06jvlm0wscjkq8rkmnkm" } }, { @@ -69946,26 +70304,20 @@ "repo": "taku0/json-par", "unstable": { "version": [ - 20250720, - 619 - ], - "deps": [ - "json-mode" + 20260131, + 913 ], - "commit": "38a3f1f11dd2ab6d195a26818966a5a5e1f74448", - "sha256": "1nmkw76dzq5j5jvgdwql1sbzp1a5vl8hsb4pc1ic7ak8n51vqm4h" + "commit": "1c0e363a8d28bf66187d082c97370c2fa11adfcc", + "sha256": "00jig26gjvbfyiixlmbw2wxspnif73hwrwh9j2firj0kvvmq1zzc" }, "stable": { "version": [ 5, - 0, + 1, 0 ], - "deps": [ - "json-mode" - ], - "commit": "7b346b0f0db62d65f382ce48a9b2ecd9e180b0d7", - "sha256": "1rppp5yi3v3jf90di9jsil18fl00l4qlgandzb3bdrv0j9z2lfqc" + "commit": "1c0e363a8d28bf66187d082c97370c2fa11adfcc", + "sha256": "00jig26gjvbfyiixlmbw2wxspnif73hwrwh9j2firj0kvvmq1zzc" } }, { @@ -70265,11 +70617,11 @@ "repo": "llemaitre19/jtsx", "unstable": { "version": [ - 20251018, - 1908 + 20260130, + 2058 ], - "commit": "61df071a7f4761ddb30c33c8225e78f72e68f7ae", - "sha256": "0h1f5g44lviv6z7pcssxm9p21r4hl6qq4w3rhnljqawbvf7vq18v" + "commit": "f33efef5052b0757287abbea2b877cefca663bf2", + "sha256": "11bvxgip5kh3q5kk5xwvxcdl6h7gqaj1rqd5kxc4kzzbaz8msxdv" }, "stable": { "version": [ @@ -70307,11 +70659,11 @@ "repo": "JuliaEditorSupport/julia-emacs", "unstable": { "version": [ - 20250407, - 841 + 20260204, + 807 ], - "commit": "7fc071eb2c383d44be6d61ea6cef73b0cc8ef9b7", - "sha256": "1dfls9ggn192xblfyjrbxi007hg4yd25s2cl8zh0v40akpqclhqc" + "commit": "aadf29523a120c666939cd7adac4b7dece5bd6ef", + "sha256": "0kw79pz3l40d533hhrrw21hskayr38nffnp0cnwjq0zv9fvxwin1" }, "stable": { "version": [ @@ -70330,26 +70682,26 @@ "repo": "tpapp/julia-repl", "unstable": { "version": [ - 20250719, - 1449 + 20260211, + 1502 ], "deps": [ "s" ], - "commit": "681efc14a72ece3390137b01c4ee67f317cd8324", - "sha256": "1f5wkxjc556vv3fvn0b9vz1kqlgn4438ya3d8cl6if11i6p7gvbg" + "commit": "0173237a43d9a42f0d69a5405283fabe1ac602a0", + "sha256": "0xq9cg7l4v85h9xwnss38k8j665zzn0kwf4zq8mkn6xxvcf2wq53" }, "stable": { "version": [ 1, - 3, - 0 + 5, + 2 ], "deps": [ "s" ], - "commit": "7ce38a9caf2a9c105afe66f464a2f30e816d69f3", - "sha256": "11vpqqnxqj9nxh8kccj4y6h3f8lib6jxnsk6vxc2j2fqw6alnafm" + "commit": "0173237a43d9a42f0d69a5405283fabe1ac602a0", + "sha256": "0xq9cg7l4v85h9xwnss38k8j665zzn0kwf4zq8mkn6xxvcf2wq53" } }, { @@ -70690,8 +71042,8 @@ "repo": "psibi/justl.el", "unstable": { "version": [ - 20251111, - 948 + 20260207, + 411 ], "deps": [ "f", @@ -70699,8 +71051,8 @@ "s", "transient" ], - "commit": "3b11dd8ac7ebeaca5da6c80223254a9f0494b275", - "sha256": "1i5m8iqyw7pkc2cjkk6z0px6lqm0w0ad9r1f9i8dhi8v8v7lk70r" + "commit": "36e5d5194bfc1ae4bd10663a4533546f0cec6d90", + "sha256": "0az6pkjjqlrh6l8rqdrij0nx4bsb3haw3p6jdlvb0qn620rq5glr" }, "stable": { "version": [ @@ -71250,6 +71602,21 @@ "sha256": "0avcg307r4navvgj3hjkggk4gr7mzs4mljhxh223r8g69l9bm6m8" } }, + { + "ename": "kawacode", + "commit": "f69990fe63c4e519a39cdc5b27ab31e7727a6884", + "sha256": "0nnfs3gl0d79vl655hh82bb38mr4ynn6bjzhfr9cqgr0hhkiyphn", + "fetcher": "github", + "repo": "CodeAwareness/kawa.emacs", + "unstable": { + "version": [ + 20260217, + 2240 + ], + "commit": "713cb959fe82bbc7ca6d96cce7d5779e74f7839c", + "sha256": "0wsav2pm095smbbzpvnbvswnsc0cn4fr01fxw4anj838psvhsnyq" + } + }, { "ename": "kconfig-mode", "commit": "c359713acdb396c16d39fb6013d46677b5afa245", @@ -71927,15 +72294,15 @@ "repo": "khoj-ai/khoj", "unstable": { "version": [ - 20260102, - 359 + 20260222, + 1956 ], "deps": [ "dash", "transient" ], - "commit": "d55a00288bd6257d1b84f2a491ca24fb00530d43", - "sha256": "0rh0z021cw5199szvzdylpz6vi17j70l96mkrsmf3yyddgbm7n87" + "commit": "94bae4789aca60e5bea67e3f96fbeb2ed39fff72", + "sha256": "1242ydicxbr89ckm9igxk2zmz2n89kg4czx8sn0xy3vk9h5cl1d9" }, "stable": { "version": [ @@ -72078,20 +72445,20 @@ "repo": "jamescherti/kirigami.el", "unstable": { "version": [ - 20260114, - 1604 + 20260219, + 1821 ], - "commit": "40ea6e38f3845a4dd081111df0404dd5aca956de", - "sha256": "08rg7ppdnhjvj4qcr3w75xk4hisl5991x1q5bn0pnf4cjqa5z2in" + "commit": "fa7a52aa87592b86ace66869099d4b34129136db", + "sha256": "1srmrjc48kswkwnmcgljhymiqsbl3immy8hc8gamrqsxbdp7rznw" }, "stable": { "version": [ 1, 0, - 0 + 4 ], - "commit": "a73e2a79f267f185bb25807947a4a89cdee87164", - "sha256": "0qxs5bi97bw5p24znwilwc1ab2zhm571nwhj0qm23sdg4zzxs3w3" + "commit": "b2abb0c61a08bf7ecdc194daa3e1efc53947f344", + "sha256": "0qjskaqdgaf786v89jm3590vr2rjxqcp7mhjn8i8gha9chvhrsv9" } }, { @@ -72182,14 +72549,14 @@ "repo": "mew/kixtart-mode", "unstable": { "version": [ - 20260115, - 1810 + 20260203, + 1935 ], "deps": [ "eldoc" ], - "commit": "a09f91c6dda7a5eda5f5f0cd382bdcef1519720f", - "sha256": "1kn74c1h4c10d7l3c55qnhjxf80cfzqmq9ryx0gbpmg7gvq9ysqf" + "commit": "5f5cb16dc76c22d80f69fb9413aa0d877bf13746", + "sha256": "06b7p2ka5crvhjifxn42jrchlj8yl545wqnv7cn6zl9jkzx574kb" }, "stable": { "version": [ @@ -72330,11 +72697,11 @@ "repo": "gynamics/koishi-theme.el", "unstable": { "version": [ - 20251222, - 1209 + 20260212, + 1605 ], - "commit": "68e265b379c6d1790fa0dc4a9665cbc6c4df1ccf", - "sha256": "0v1nig63c3clcqk4cqqwf0ip100ariji7irz5mdb7ggdxrkympdp" + "commit": "e699d5181265981d28f1bd3c13446916c77aeb06", + "sha256": "110bxq56997srjmwpc8vb3jiblf3bgs8xc5585ksh6b9q1av1d3j" } }, { @@ -72393,11 +72760,11 @@ "repo": "tttuuu888/korean-holidays", "unstable": { "version": [ - 20190102, - 1558 + 20260131, + 1013 ], - "commit": "3f90ed86f46f8e5533f23baa40e2513ac497ca2b", - "sha256": "0y88b4mr73qcshr87750jkjzz1mc2wwra6ca3y8spv4qc6cadwls" + "commit": "9fffbad583cb1ad97bdc31ebf908cc663a1c4d29", + "sha256": "03czdiznmy7car43v0niwfyi4vh5piyqbi0pkg94dgzzv3z8iskc" } }, { @@ -72438,11 +72805,11 @@ "repo": "bricka/emacs-kotlin-ts-mode", "unstable": { "version": [ - 20250617, - 843 + 20260224, + 1344 ], - "commit": "051c9ef534956c235343fb41546623ff87a1695b", - "sha256": "03x9522fmfads4iknsgdj7b1f86cn4j4wly0y1vv162zscp8441m" + "commit": "b318a64a7f6b35fa5abf93b8e86cc42305fa7552", + "sha256": "0s4knich3naql7q0xr0yjdj7vxypczdvd9ndkj72p5wj8wa5a2kz" } }, { @@ -72598,8 +72965,8 @@ "repo": "abrochard/kubel", "unstable": { "version": [ - 20251009, - 310 + 20260223, + 1935 ], "deps": [ "dash", @@ -72607,8 +72974,8 @@ "transient", "yaml-mode" ], - "commit": "48a2dabac24921c89e95039d1a8e5a52568baa02", - "sha256": "08y4jq0c7cql187bai1ws64icsiq91lfz1d0d1mvxs7yn2xmjvsq" + "commit": "e2664f040eb71dba8ba2cbd4fccfe64842f0efb5", + "sha256": "0s9dv3g0l5wqxhl5vaiqj1i2hm18f7pvmyq31gqzvkl9v2k5x4f9" }, "stable": { "version": [ @@ -72906,8 +73273,8 @@ "stable": { "version": [ 3, - 0, - 1 + 5, + 0 ], "deps": [ "async-await", @@ -72917,8 +73284,8 @@ "request", "s" ], - "commit": "a29b3ccadeab31b6582fedd0e35e5bf46c96fc64", - "sha256": "1c8nmj7m0c3j1pdrp7dgcx0kfv9vrjsam0vw4b82k7pxl3k3dcc7" + "commit": "547d9dd773dd3747c4345cf0b9111ac0ed8c14b4", + "sha256": "0picg91kraym4b26ay9iy7bibmfvdpl6xlrgrm6x7jsnvsxi66xf" } }, { @@ -73007,16 +73374,16 @@ "repo": "Deducteam/lambdapi", "unstable": { "version": [ - 20250716, - 1143 + 20260203, + 1712 ], "deps": [ "eglot", "highlight", "math-symbol-lists" ], - "commit": "f73c64dbeebf850ecc3384d64f0dbf93a1ea6acd", - "sha256": "1rk6rmks1818rgl1jmvcs1j8ydm5sqbwlgmb9rp9jj4kx9njxs1a" + "commit": "4fd4704bf77395de8c6abace30b87e5aabbf8132", + "sha256": "1adw8pcqis55ffvzp60h8c1y011ix5qb1kszgjvvh0ksfs9i3qwy" }, "stable": { "version": [ @@ -73242,8 +73609,8 @@ "repo": "mihaiolteanu/lastfm.el", "unstable": { "version": [ - 20211018, - 838 + 20260130, + 1102 ], "deps": [ "anaphora", @@ -73252,8 +73619,8 @@ "request", "s" ], - "commit": "b4b19f0aadc5087febeeb3f59944a89c4cdcf325", - "sha256": "0yp6gzxs6hxfqhdwhp5vldjsxl1y6qvj4i3s5fdvcf0sjdjncvxw" + "commit": "d095474f2264174396e36148bac3ced80382d061", + "sha256": "0ksx0ssk20ymwh94nrc6907d4mc4wbm77xqhc3875ng3xlfqppc4" }, "stable": { "version": [ @@ -73425,15 +73792,15 @@ "repo": "enricoflor/latex-table-wizard", "unstable": { "version": [ - 20230903, - 2104 + 20260212, + 2229 ], "deps": [ "auctex", "transient" ], - "commit": "b55d215dbef321194dbf10553d4c0d3b244a50f0", - "sha256": "0ay07w6pvhh1r2zkyz8lzd71h2qkvcc58xd6sc0pcl0s2i7qfwy5" + "commit": "681c03010e38e8cb4089171be72d73e6d28cd472", + "sha256": "1v5dwidr9gvlqdspalr1iqw7gdcyl6lyji4cl8dddj9rmyf3x8rw" }, "stable": { "version": [ @@ -73601,6 +73968,21 @@ "sha256": "1p16vxai8dj1vy4ahflwij1ldx00jzrjcinpgpc7wgh6ka748v11" } }, + { + "ename": "lazy", + "commit": "c2e3f79ed1c0c3564757b2186df98b2843f1c6ad", + "sha256": "16x67w647jg6ss0gii6l1xw7mrjrikprnbyrlhz22hwpwrnf3h9n", + "fetcher": "github", + "repo": "conao3/lazy.el", + "unstable": { + "version": [ + 20260128, + 1547 + ], + "commit": "c9c70fb7f157148e9d08462e93240ada73e365ae", + "sha256": "03rncxbbx59zpfxpv18xc4bf70kfhn1a9czcyylhgg2y3djq6x2c" + } + }, { "ename": "lazy-ruff", "commit": "fa727e3b6572b6c5c6469e06b4b6083b87047823", @@ -73692,14 +74074,14 @@ "repo": "AnselmC/le-gpt.el", "unstable": { "version": [ - 20251203, - 1304 + 20260202, + 1935 ], "deps": [ "markdown-mode" ], - "commit": "a05675c3855fe9a5fd3e4a14b9737df22fcfddbe", - "sha256": "0dvfb1wlhi1y3dqqwl5wg4zp1iwiy865r7xwqvpn4xhx70mnmdi4" + "commit": "dd5e0cdec646adb3fb638d837e6d8fb61a2602f1", + "sha256": "0nh15ii69xpwxny2mc4bm77ka4wg9xagdi8ixxap5546zirqqbr1" } }, { @@ -74260,20 +74642,20 @@ "repo": "fniessen/emacs-leuven-theme", "unstable": { "version": [ - 20251223, - 1627 + 20260213, + 1052 ], - "commit": "1711662e934debdfa00884ebe23b8fc00f78a191", - "sha256": "074x226l2hscc82naqy9ws49mp038f6adn4r4b5x300nbzd8kjnl" + "commit": "c3546e6a84c138fd8cdbd33998fefcf834c45018", + "sha256": "0lrgbhqr8v59f6brcd21a9answgax7gii0pwqblf889x7js5jd0z" }, "stable": { "version": [ 2, - 5, - 422 + 6, + 213 ], - "commit": "d84b1d8b435a517b7daf70d341784245fde1e8c0", - "sha256": "1y52vgfwy7qqyz1cnm82l9i0nr6658j3cnmwnnrzsj052272lyw6" + "commit": "c3546e6a84c138fd8cdbd33998fefcf834c45018", + "sha256": "0lrgbhqr8v59f6brcd21a9answgax7gii0pwqblf889x7js5jd0z" } }, { @@ -74617,25 +74999,25 @@ }, { "ename": "lichess", - "commit": "c5d9b5b9a3b682887441abbfbf966a4a4f1e2ce6", - "sha256": "1zxgwyb4yz16sxx45y3j1ss65fbb0m0pd4iqrn02a7z2ivlfky2x", + "commit": "cfae2a6280c182d0f24ef2e6c961793b841425d5", + "sha256": "0d3zbhnb3lx02ymg718lnl2b14fqw283bz0i78r1m5dx5qm2f0qf", "fetcher": "github", - "repo": "tmythicator/Lichess.el", + "repo": "tmythicator/lichess.el", "unstable": { "version": [ - 20260119, - 946 + 20260203, + 1027 ], - "commit": "c0bd061a8759f436fb57a7f8a7ed379749dee6f0", - "sha256": "0lrc4rz9r7mh25jvb4b7jibxlq7mz2kcn16fd89b9yy8byx7bx87" + "commit": "1dd8a25ede7144c5d6be1f45f4ae3d07903783cd", + "sha256": "157l4crbz37x367m69sxwvnd1pd8cqa6w0lcvyyvs27cm021d2gr" }, "stable": { "version": [ 0, - 5 + 8 ], - "commit": "c0bd061a8759f436fb57a7f8a7ed379749dee6f0", - "sha256": "0lrc4rz9r7mh25jvb4b7jibxlq7mz2kcn16fd89b9yy8byx7bx87" + "commit": "1dd8a25ede7144c5d6be1f45f4ae3d07903783cd", + "sha256": "157l4crbz37x367m69sxwvnd1pd8cqa6w0lcvyyvs27cm021d2gr" } }, { @@ -75135,6 +75517,21 @@ "sha256": "0ffwjv5fpzia772iavn9ily5m7l73pxf0amgqizzmbx12rx3kkhg" } }, + { + "ename": "lisp-semantic-hl", + "commit": "079b156919ffcef70ae7b63cd13127cbf9634c14", + "sha256": "0720fix1jc54pdknsjasizxgixh0mgrhy6b47xd0wrawrhg1vmki", + "fetcher": "github", + "repo": "calsys456/lisp-semantic-hl.el", + "unstable": { + "version": [ + 20260223, + 521 + ], + "commit": "0474bfab3ae6b0d76425e117e6ae4fe9b0f04b54", + "sha256": "015z8cidlqbi9mb3msa129lhcpr384gdajfifj3ypgv4fjj5a1hb" + } + }, { "ename": "lispxmp", "commit": "ad10a684b4b2f01bc65883374f36fef156ff55d2", @@ -75658,20 +76055,20 @@ "repo": "donkirkby/live-py-plugin", "unstable": { "version": [ - 20260101, - 1741 + 20260222, + 40 ], - "commit": "dab6ce73500602a5230a0115a9531e5729ce88ef", - "sha256": "0xkrbb89z9g9j8m221cwhzxkja51l61lkg3cm6kfin7sspy0wip4" + "commit": "e3d1436a7c279084587b40534f96cfd33aff25b4", + "sha256": "0rvnanq6dslnkx6vyb20sn6hsbzqa2rfcabws9dy9dyig98ahnf9" }, "stable": { "version": [ 4, - 12, - 0 + 13, + 3 ], - "commit": "b417ad93191e8eecaca347f5407dd4bb4c07b6f8", - "sha256": "101dd0b1czc28yjsdz0fdvkh8b76rd03a1br7sldlmsy3dfhk669" + "commit": "e7fdd3e28550e6983a301437e837836fecae3d3a", + "sha256": "0i8jdps02lwiniqlhdf1vgx6ddgx346ibyscyl1zphhvp6fv177f" } }, { @@ -75772,14 +76169,14 @@ "repo": "tarsius/llama", "unstable": { "version": [ - 20260101, - 1830 + 20260217, + 2104 ], "deps": [ "compat" ], - "commit": "2a89ba755b0459914a44b1ffa793e57f759a5b85", - "sha256": "1fcribk74shqz757b8i4cybpia7j3x886lxfa5vlzxc3wwlf3x37" + "commit": "de61773fc378d40f478f8daf67543a51889ecded", + "sha256": "12a7k3qkjycksni7cl99bx9fw6fglnxga4jzzgh942si1p31mmc2" }, "stable": { "version": [ @@ -76271,16 +76668,16 @@ "repo": "doublep/logview", "unstable": { "version": [ - 20251104, - 1725 + 20260218, + 2013 ], "deps": [ "compat", "datetime", "extmap" ], - "commit": "9c97221dd04d7398df098e9f942efff016b60bbf", - "sha256": "0rvm37j403x5ymd1n4s3xryl7cp7rpfsg11jbcajbpavdhk8nmq9" + "commit": "50cac3f726abd4e7872b8fa36ede72550ce66a64", + "sha256": "0wk8945b2drkc93paqb2p8gc1amy906dzndrlgyv4sc681fn111b" }, "stable": { "version": [ @@ -76342,6 +76739,21 @@ "sha256": "1j51h2j0n6mkglalrp1mirpc1v7mgrfxfd1k43rhzg800rb4ahhr" } }, + { + "ename": "lonelog", + "commit": "64acc728bddbda7cef36599e8c85ec4da7c05d5c", + "sha256": "1wl65lm5d01v86sldvwwsmsqsbmbvxc16b4w7rvvjnmncb8jk754", + "fetcher": "github", + "repo": "Enfors/lonelog", + "unstable": { + "version": [ + 20260225, + 807 + ], + "commit": "068b03d0047a4cba674dd3463b05fb5fd4a51e19", + "sha256": "1jgwa59ac5mrc80m8gybsqcxl22328nl37rl9yzxvb9vy169kp5s" + } + }, { "ename": "look-dired", "commit": "ef66b97b2e9034cb0c62dd1e37b2577ffef60834", @@ -76430,8 +76842,8 @@ "repo": "okamsn/loopy", "unstable": { "version": [ - 20260110, - 2353 + 20260222, + 1609 ], "deps": [ "compat", @@ -76439,8 +76851,8 @@ "seq", "stream" ], - "commit": "7996ae466a321c1244903f2c579056d86a9db7a4", - "sha256": "03xa954pls07d9bvfcfyyhqd7q5n3jqk136yqrld6vz63c26zsvk" + "commit": "07ff6c900fbe9fd218a5602974507e81c3165f6d", + "sha256": "0s6znxib8fn7abj6wlhqlvqxam7r8cyrh2070b6kja3i52bjan43" }, "stable": { "version": [ @@ -76588,8 +77000,8 @@ "repo": "emacs-lsp/lsp-dart", "unstable": { "version": [ - 20250301, - 2106 + 20260214, + 2354 ], "deps": [ "dap-mode", @@ -76601,8 +77013,8 @@ "lsp-mode", "lsp-treemacs" ], - "commit": "2170823139269b77c39e3bf7600ff6c751a73b0d", - "sha256": "1g66pxq9cfhbk3gnp581y1frhmrraw8b4wcpvmw9xgimnf0k0y1p" + "commit": "166e4f2ba12403da5691d352b587c88d24ddb574", + "sha256": "177l32r1ns8rxq5z8qa5k5nv3v4l29zps9xn4ps196298phd253a" }, "stable": { "version": [ @@ -77044,8 +77456,8 @@ "repo": "emacs-lsp/lsp-mode", "unstable": { "version": [ - 20260119, - 1235 + 20260224, + 1434 ], "deps": [ "dash", @@ -77056,8 +77468,8 @@ "markdown-mode", "spinner" ], - "commit": "7642778d595f0158d17740e40a47646cfecbe96a", - "sha256": "002402x4ba6fn6cdg2nh39c71hdwgvg0v9kq96d6a7k7gnafp9yh" + "commit": "3e55ca80712d66f2fc38bad514b5e2521751433d", + "sha256": "1mj015973i8s146cx93vni80wjqlvlr5is0qvzxin6s9vghfv1hl" }, "stable": { "version": [ @@ -77867,14 +78279,14 @@ "repo": "kmontag/macher", "unstable": { "version": [ - 20260107, - 2043 + 20260203, + 2055 ], "deps": [ "gptel" ], - "commit": "eb9c108e400fe8bbb3c8724f45ef6bd0d2a2ae33", - "sha256": "17zm8apiyyb29xzqbgnqfqf82nlcfmx43sh7m413s23g584cnm6y" + "commit": "16672b88967c3ea452d8670285e2ab7fc705ce17", + "sha256": "10wz9rdyb3lx7g69wnf7gb305nzgjss9a0rln9ycy54dnhdcwzhp" }, "stable": { "version": [ @@ -78104,15 +78516,15 @@ "repo": "roadrunner1776/magik", "unstable": { "version": [ - 20251006, - 1327 + 20260128, + 1624 ], "deps": [ "compat", "yasnippet" ], - "commit": "069a1d630f63f6822607c59ae171ad7be6219631", - "sha256": "0mv12nihkwpqirmz5br1rczqnkr50ln4b3dw60kp0s4lc4054fkp" + "commit": "b1fc21f82e9d4bd3948589cee9491cf48a138934", + "sha256": "0aqq6qirzy9vjbabb4pqshi6iv45g7ryny7j1z1azdncb4a8rdlc" }, "stable": { "version": [ @@ -78136,8 +78548,8 @@ "repo": "magit/magit", "unstable": { "version": [ - 20260116, - 1722 + 20260221, + 1634 ], "deps": [ "compat", @@ -78148,8 +78560,8 @@ "transient", "with-editor" ], - "commit": "fe0c43b6f5b3b20fce9ed30d203bf1267831b14f", - "sha256": "0nps2q7lfqvvjsca7vxvmk7j7crwvm18j08dy48yy4bn72h5nqhg" + "commit": "0376b01d7d2036666dc3e0bc318a235fd88a2686", + "sha256": "15llbr0nl4kk2p42wd702kaghdjym93hwwffkfx6c9dwi8vp6cm3" }, "stable": { "version": [ @@ -78349,6 +78761,25 @@ "sha256": "1q4kcr2ha2kir7pj0cshmgllgq51543syxkkk5jk3ksfiaba4crj" } }, + { + "ename": "magit-gh", + "commit": "c5ea23de161c9296577e7d083e05ca6a4d0e520c", + "sha256": "09pysax2fzv9fdcwj725pviidfdc63a9nrws6rp5m1k4zp9irvif", + "fetcher": "github", + "repo": "jonathanchu/magit-gh", + "unstable": { + "version": [ + 20260221, + 522 + ], + "deps": [ + "magit", + "transient" + ], + "commit": "5b3cb8f367e3d9fbb5d9593683b492bd7b5399c7", + "sha256": "15nyflvr86cpd2ym57jfkg6fav2r4npvdri93gjbpfyhqxs9xyv6" + } + }, { "ename": "magit-gh-pulls", "commit": "9b54fe4f51820c2f707e1f5d8a1128fff19a319c", @@ -78385,6 +78816,25 @@ "sha256": "11fd3c7wnqy08khj6za8spbsm3k1rqqih21lbax2iwvxl8jv4dv0" } }, + { + "ename": "magit-git-toolbelt", + "commit": "27e995c65b369c1dd0addba2c00f2e57313fb2d5", + "sha256": "0ns9bkffvc4fj0cqfhbjx7y3hz7n53b4hlbqp1kpdxa8qklz25d7", + "fetcher": "github", + "repo": "jonathanchu/magit-git-toolbelt", + "unstable": { + "version": [ + 20260202, + 325 + ], + "deps": [ + "magit", + "transient" + ], + "commit": "acf0942bb95ec5c913c35415377d168e38e77e16", + "sha256": "0rm5ajhyg3vhsx8fx5fbgy2frqc04qaxr6njfbq3w76kdb3cdfyb" + } + }, { "ename": "magit-gitflow", "commit": "dfaeb33dec2c75d21733b6e51d063664c6544e4d", @@ -78680,6 +79130,38 @@ "sha256": "0znp6gx6vpcsybg774ab06mdgxb7sfk3gki1yp2qhkanav13i6q1" } }, + { + "ename": "magit-pre-commit", + "commit": "523e1d51a992d5313979520338534ec6b712d50a", + "sha256": "1kg0gcbii2ni04sj96bq49vscbmd0as4k8n1s0xil21ng0qd4vni", + "fetcher": "github", + "repo": "DamianB-BitFlipper/magit-pre-commit.el", + "unstable": { + "version": [ + 20260215, + 1854 + ], + "deps": [ + "magit", + "yaml" + ], + "commit": "406d14e364b11a3a7f5240b2bcb904a3c9c10cc9", + "sha256": "06z8kdf1f4ybaxa24s0mp4i57jh45dpw2gipni4jxdzwhxxh2dq0" + }, + "stable": { + "version": [ + 0, + 1, + 0 + ], + "deps": [ + "magit", + "yaml" + ], + "commit": "1b4056fc72c64b12aa2ac799d69a100aec253e39", + "sha256": "0955qpvj6dg3daqgl1j66swg3d5kgbnhpbwqhr35ysf8xi47svkk" + } + }, { "ename": "magit-prime", "commit": "53b6cf4121e5235d77c878ea04ad2a46617220a2", @@ -79017,6 +79499,25 @@ "sha256": "1hqz26zm4bdz5wavna4j9yia3ns4z19dnszl7k0lcpgbgmb0wh8y" } }, + { + "ename": "magnus", + "commit": "281edae7ce887e370cc96175e4a2fde7ca09d62d", + "sha256": "1jj4m69k2al89131pgk6wgwf67cjpwva3cpc4fp5l13jzmxsj6cq", + "fetcher": "github", + "repo": "hrishikeshs/magnus", + "unstable": { + "version": [ + 20260225, + 413 + ], + "deps": [ + "transient", + "vterm" + ], + "commit": "56cec058a0e368c77c727577d3e1453d0ae7b6bc", + "sha256": "1xzimslbf52vnc34gxhgl33949s5vr4x35hcs30ln3h5lmv427r0" + } + }, { "ename": "magrant", "commit": "0be4da82e342dd015fc0ba85e29829fad34a0a82", @@ -79375,11 +79876,11 @@ "repo": "choppsv1/emacs-mandm-theme", "unstable": { "version": [ - 20250726, - 1920 + 20260208, + 1754 ], - "commit": "5b8ccb687b56ce143d3f60f59a681e6ca2e90956", - "sha256": "03mjn7dkh246w92aiw1f63wmkckjkk0kbvcp8xg8ha1wdgwq2cl0" + "commit": "217775591a4b2f8e531f745e6a9fb6cea6153bd7", + "sha256": "1shwijj2sak80pv9rs4qyyvxgnvm9jggzpqqnq038j1pg0fsd49s" } }, { @@ -79497,25 +79998,40 @@ "repo": "minad/marginalia", "unstable": { "version": [ - 20260119, - 2125 + 20260220, + 1149 ], "deps": [ "compat" ], - "commit": "e980b562e5b5f6db0851675eb6576d4c4b228540", - "sha256": "12yik11xdsh4sl6g3vwpagz16bbahnlrfbqrjpiiqjvd51hzak4l" + "commit": "142e4da1bd76dc5bdbbfd15532571b8a271e680e", + "sha256": "18f58v9pa7sa3552jpwma1j9z0ypi3409byprxaisvbqsdwzq4xi" }, "stable": { "version": [ 2, - 8 + 9 ], "deps": [ "compat" ], - "commit": "79c1dc2c63f710f7aad900881da49930af43d729", - "sha256": "0fni7zs7az5ljpvd7ianbd26h9qwwsmmwwsc0b6l6ahy94sbza6p" + "commit": "0d08fbea0f1182627891240780081ba528c1348b", + "sha256": "0l77djsjamfnn8064gb2z9m3wxcyxcfnfyk5sjm8w82hqd73410f" + } + }, + { + "ename": "mark-graf", + "commit": "665572faa09f3f04858d6d6e796a6fcac68e392a", + "sha256": "092g11fpgimw7gplbqkyy18qi66zxhyjyngrll40ww50fwlj4a2g", + "fetcher": "github", + "repo": "hyperZphere/mark-graf", + "unstable": { + "version": [ + 20260222, + 753 + ], + "commit": "0e1c502bd577f5b800c8bc04b15ac510d4c4b4a9", + "sha256": "0h3668s8i7qm0zahdy8y0vwqwg8gi80d24jf17r3k10wqfyqwwsp" } }, { @@ -79657,11 +80173,11 @@ "repo": "jrblevin/markdown-mode", "unstable": { "version": [ - 20251204, - 852 + 20260209, + 459 ], - "commit": "92802fae9ebbc8c2e4c281c06dcdbd74b8bca80e", - "sha256": "1qiy6pi7pl1a70axqrs86yysn3nglgjj63k7kdlrnhkwbs38fi6i" + "commit": "9de2df5a9f2f864c82ec112d3369154767a2bb49", + "sha256": "190ydqc3m9wyd5qpnic20axr3kbj0crwghn0gqjprq8b00qh7f3a" }, "stable": { "version": [ @@ -79765,16 +80281,16 @@ "repo": "ardumont/markdown-toc", "unstable": { "version": [ - 20251210, - 2018 + 20260131, + 1444 ], "deps": [ "dash", "markdown-mode", "s" ], - "commit": "29e5c0f33ed026a5f993e4211f52debd7c02b3ba", - "sha256": "12p9i6sah599lzpki4276g0lla137klnq796n11wkr0cas1rgbyg" + "commit": "d22633b654193bcab322ec51b6dd3bb98dd5f69f", + "sha256": "1f9is32gk8v5cf2212fpg0zsvlb741a0r0m4xbiyzmnfv0yv30rn" }, "stable": { "version": [ @@ -80017,14 +80533,14 @@ "repo": "deirn/mason.el", "unstable": { "version": [ - 20260107, - 1801 + 20260209, + 1847 ], "deps": [ "s" ], - "commit": "47b6e24820fb65bc934fca3ebc17d215e9db9893", - "sha256": "17l921aw8a145hbg0viwa7kafk8w4k20xfbyf17kkvdzwlgvv30i" + "commit": "fe149182385e1f4c957c783e7c78fa6dc837809f", + "sha256": "0ydijn049lwjnhfd558n5bpy0hxrg17cgav54d4pfbhk2xvcp97j" } }, { @@ -80194,20 +80710,20 @@ "repo": "mathworks/Emacs-MATLAB-Mode", "unstable": { "version": [ - 20251229, - 1750 + 20260222, + 2111 ], - "commit": "1e6ec79fa69d51c405000caef270a6944ef9cdc5", - "sha256": "0bd5i6609rczn4n3w1dgln6z6ii7crwj7zgdvn4dgkvchl57jrj2" + "commit": "67dad7af8a04723593fe096d416b21690ce65e31", + "sha256": "1v20rqzs24wz7jc5r3i8akw0cyqj47k3c20n769mb19xjrad8k4a" }, "stable": { "version": [ - 7, - 4, - 0 + 8, + 1, + 1 ], - "commit": "d49fa62458208140c67970e9c2ec7f5591f40b1c", - "sha256": "18akq8bwrxpcw5ajg0kqd3dq4qlv03j300spy6mw5cr66gfva2g9" + "commit": "e6923314f3ffb291e45ece6b1ce08a0961e31adb", + "sha256": "0x34gqpcx1k387h3kn3gam1n2x79idqiq44vcrr98ims2zix812g" } }, { @@ -80449,14 +80965,14 @@ "repo": "lizqwerscott/mcp.el", "unstable": { "version": [ - 20251219, - 314 + 20260222, + 1058 ], "deps": [ "jsonrpc" ], - "commit": "125e0a4478ff1404880ea4e593f5e4ff0122cb83", - "sha256": "02rapj0vgnml518hr1vxvv7bljpa6ldcnxi676gysng2p1kn4f0q" + "commit": "5c105a8db470eb9777fdbd26251548dec42c03f0", + "sha256": "03npn50zfc3f0w30d47qqwxzky7ambd03arf94w025ilcfbc4dmm" } }, { @@ -81063,11 +81579,11 @@ "repo": "abrochard/mermaid-mode", "unstable": { "version": [ - 20250718, - 1858 + 20260217, + 1737 ], - "commit": "9535d513b41ed11bcd91f644815e2db6430c1560", - "sha256": "174xlsm316rpxm8sbxfnyhvy1bjkl0qbx71s1mfcyda737y3dsbl" + "commit": "3b972164bf6a20b2f51607791b1e593ffa1e63cc", + "sha256": "0v9z7a4g5s7b2wrc3105bfr6wzilczvzv14vrwa3cpjdhyd8gdbi" } }, { @@ -81206,16 +81722,16 @@ "repo": "seblemaguer/metal-archives.el", "unstable": { "version": [ - 20260101, - 1230 + 20260202, + 1028 ], "deps": [ "alert", "ht", "request" ], - "commit": "da7c1efcc3d4859019de8fa030899fe191e33608", - "sha256": "16ic9i6dbxym4wnxjhd87wa0zp8ylwqwlknzrzzrmgg37fp4i0gq" + "commit": "eb1c4d84f04f4afc7a1c2a0f3c4f816f16fa85e6", + "sha256": "0za5a7w4yzwwz8qfj5fm3ga2k9x1q42k9f1ary72d5rr5zcqq70f" } }, { @@ -81226,8 +81742,8 @@ "repo": "seblemaguer/metal-archives.el", "unstable": { "version": [ - 20251204, - 1858 + 20260202, + 1028 ], "deps": [ "alert", @@ -81235,8 +81751,8 @@ "metal-archives", "org-ml" ], - "commit": "b4924354481b853a6fee58b2817a6b0a3e1674b7", - "sha256": "1rpgiqylivcd22dvj8sr01b1wzq7zzc2gr8d9mscpdclzq6r54ib" + "commit": "eb1c4d84f04f4afc7a1c2a0f3c4f816f16fa85e6", + "sha256": "0za5a7w4yzwwz8qfj5fm3ga2k9x1q42k9f1ary72d5rr5zcqq70f" } }, { @@ -81440,20 +81956,20 @@ "repo": "purpleidea/mgmt", "unstable": { "version": [ - 20251028, - 2100 + 20260222, + 1339 ], - "commit": "7079121217a345c45a31f4f75f6f3b1c0d92a84e", - "sha256": "1adzafq6ifpm9d51qvy1b5nkrd39s0f1z4lhlyaajfn5dj8llbs2" + "commit": "2a08fa18cd3d0ba4a6433bdd9c4c0f3e85ed7528", + "sha256": "0576pmm5cya802p4kw0d1g0fv95ng8jzzgaiw6x9xb86p3vkifcw" }, "stable": { "version": [ 1, 0, - 1 + 2 ], - "commit": "7079121217a345c45a31f4f75f6f3b1c0d92a84e", - "sha256": "1adzafq6ifpm9d51qvy1b5nkrd39s0f1z4lhlyaajfn5dj8llbs2" + "commit": "2a08fa18cd3d0ba4a6433bdd9c4c0f3e85ed7528", + "sha256": "0576pmm5cya802p4kw0d1g0fv95ng8jzzgaiw6x9xb86p3vkifcw" } }, { @@ -81494,20 +82010,20 @@ "repo": "daut/miasma-theme.el", "unstable": { "version": [ - 20260113, - 1800 + 20260124, + 2048 ], - "commit": "998aa50769722f1a92f99124d76a1689c2d9eaf1", - "sha256": "1zhs482f0j0wjg3mwps3g6nlrw67f2wyab2wcqxg41inxb7msm9v" + "commit": "313678cfe8cb386f2240ed62d91495bb65e1fc2b", + "sha256": "0zwgzahllf7hsvpx0p9bdfnxq076y8fsgrzwqmxygfm6w0vi2b3a" }, "stable": { "version": [ 1, 6, - 6 + 7 ], - "commit": "998aa50769722f1a92f99124d76a1689c2d9eaf1", - "sha256": "1zhs482f0j0wjg3mwps3g6nlrw67f2wyab2wcqxg41inxb7msm9v" + "commit": "313678cfe8cb386f2240ed62d91495bb65e1fc2b", + "sha256": "0zwgzahllf7hsvpx0p9bdfnxq076y8fsgrzwqmxygfm6w0vi2b3a" } }, { @@ -81658,25 +82174,19 @@ "repo": "countvajhula/mindstream", "unstable": { "version": [ - 20250821, - 2237 - ], - "deps": [ - "magit" + 20260218, + 312 ], - "commit": "f76934cdda1c5aa3cf6e64c7ffab350ee97bc22d", - "sha256": "1rpclgn126dw1h86cx7zh181sc03ixa7pd9hzjhiw1p03kd0l45p" + "commit": "6b51036a069379d18538a7cca5274c21666a5979", + "sha256": "0j82dm2mj49fs2q6qklhfimv1gvy6q3l6bqaj1azxyh1hbg4d0vi" }, "stable": { "version": [ - 1, + 2, 0 ], - "deps": [ - "magit" - ], - "commit": "f95e7fc2c6d529533709ae63a55e8ace9287ec0b", - "sha256": "08m5qlfbl0ilf0z0s6n3lgmjzwc5gh650jmxgl7a6rlzgw3rrh6a" + "commit": "6b51036a069379d18538a7cca5274c21666a5979", + "sha256": "0j82dm2mj49fs2q6qklhfimv1gvy6q3l6bqaj1azxyh1hbg4d0vi" } }, { @@ -82109,15 +82619,15 @@ "repo": "milanglacier/minuet-ai.el", "unstable": { "version": [ - 20251218, - 2234 + 20260203, + 254 ], "deps": [ "dash", "plz" ], - "commit": "d3ce06dfd33f475a63544c1937868a907553afae", - "sha256": "1i99gx9h4idbc73lff14gl7bpp05wgk47wjr5ypnww26nn51a07y" + "commit": "dd8301f05dce2c5c536947a6b9bd262a81018e69", + "sha256": "12fsxwg6800954rf58ihnh7c3ka86yy4km0vs418m7b29fm5x7g3" }, "stable": { "version": [ @@ -82211,11 +82721,11 @@ "repo": "szermatt/mistty", "unstable": { "version": [ - 20250716, - 1914 + 20260205, + 1444 ], - "commit": "bfb17611cff6c845270050a0756a38489cdf4ed6", - "sha256": "16pxd68g37d1knnw4i2y7dii3h95prfradl6y04jbz5hpjsq9122" + "commit": "bf0ddd077351001c56a4c754399d7ec025b93bab", + "sha256": "0j4m5ivbzkrp4jspcvbi3jy3dq4lqmm93p47pc1v9v0g54hym5nr" }, "stable": { "version": [ @@ -82565,11 +83075,11 @@ "repo": "sigma/mocker.el", "unstable": { "version": [ - 20220727, - 1452 + 20260204, + 1045 ], - "commit": "4bd8d56eb4c3a1fcbbcdbf616f1b43e076b13eee", - "sha256": "15q3fccpmd2qd9gaqrf1dm391611b6bh4xn6d0ak3l9q5izl7385" + "commit": "462e4aa140db1f0589ab71dd07ee509e5425e2ff", + "sha256": "0hywjv86afza20masiy8v254d85rkq3dsrk9bf5gqs2asjzc2kpl" }, "stable": { "version": [ @@ -82888,11 +83398,11 @@ "repo": "protesilaos/modus-themes", "unstable": { "version": [ - 20260113, - 431 + 20260222, + 643 ], - "commit": "8a45a1393aa68cf93f1a973b00d87e3e9de4833d", - "sha256": "1wikmp0l438kicsy4w55xmdnmq6inizglclf79pa7qjsc4rd6bbd" + "commit": "b45b0d8a7c1e8b9679eea7ec366207280e4f89ed", + "sha256": "08wn814p3izbxg6cjdzczxvd44vc3d7kqx65pfaiwnya9iwply8n" }, "stable": { "version": [ @@ -82912,11 +83422,11 @@ "repo": "kuanyui/moe-theme.el", "unstable": { "version": [ - 20251218, - 536 + 20260211, + 617 ], - "commit": "a7c8279e8e6160a52236a69ef1a3b2111be29693", - "sha256": "1c657z5pm6j6dyddzyjrbilsxzdm8sr3jkjrbf452fjyr697kzw5" + "commit": "4d779e8af108cd0b2867a9145453ce1dd46678df", + "sha256": "1fzn02w8997g6klq7xnr7pcschg1zj2jb44s1iaxbsq6ngvwivpj" }, "stable": { "version": [ @@ -83681,21 +84191,20 @@ "repo": "google/mozc", "unstable": { "version": [ - 20251022, - 236 + 20260128, + 821 ], - "commit": "d9c3f195582de6b0baa07ecb81a04e8902acf9af", - "sha256": "12mpqlw7msmy62mwyxc1jyc30777iy5nyij2sn90pvz6x8n2n94b" + "commit": "8f92cd985cba2fd009545963698f4df7424bec56", + "sha256": "1kjh030ayyh4y7d3bmzdzgw0xba7lkiwrqdzfq78fhrd2hcjkkdw" }, "stable": { "version": [ - 2, - 32, - 5994, - 102 + 3, + 33, + 6089 ], - "commit": "d9c3f195582de6b0baa07ecb81a04e8902acf9af", - "sha256": "12mpqlw7msmy62mwyxc1jyc30777iy5nyij2sn90pvz6x8n2n94b" + "commit": "8f92cd985cba2fd009545963698f4df7424bec56", + "sha256": "1kjh030ayyh4y7d3bmzdzgw0xba7lkiwrqdzfq78fhrd2hcjkkdw" } }, { @@ -84227,6 +84736,36 @@ "sha256": "02kyqd4ihliahkhirqqy7a8fi7s8haf9csaq95xi2hc9zkbd2nx5" } }, + { + "ename": "mu4e-llm", + "commit": "237dc81b8903249820ca67e9f3e4a5ef54ffe6fd", + "sha256": "0qacqdg9rsmw3miqbqdpggq8cjph12ssdfmml8hvw6727fwccvfm", + "fetcher": "github", + "repo": "sillyfellow/mu4e-llm", + "unstable": { + "version": [ + 20260121, + 1539 + ], + "deps": [ + "llm" + ], + "commit": "290657310d4041c23d627572d6fb780da8ed02f8", + "sha256": "1jj6jif4sjqb1rihqf5ckj11n7k40w79cngd81sqbbhrhxbdv0j6" + }, + "stable": { + "version": [ + 0, + 1, + 0 + ], + "deps": [ + "llm" + ], + "commit": "80cd1e86f12bbbbe6c8f05406079e0955104a168", + "sha256": "1all3bv4pqdmm15hd6qb7lh6jw7m5rinvpdqb90yc18d68l4765i" + } + }, { "ename": "mu4e-marker-icons", "commit": "d1fb8cc83e74cf9993c3123213d195935c61aa13", @@ -85169,20 +85708,20 @@ "repo": "mekeor/nael", "unstable": { "version": [ - 20260114, - 2208 + 20260222, + 33 ], - "commit": "97114434492e3fa1b3c2795d3120ca78628d9765", - "sha256": "1mgd46z8a8nv5qd8lgd11c20iy6lhb0ww2mr5rfj1f8rd7avf37a" + "commit": "fbfb6757365cbde89d7ae0b56727315db15d31e4", + "sha256": "13pm7l895n8h7980l1prfcpcdl923dvkqvjf5gqz8kv95d5bb0fx" }, "stable": { "version": [ 0, 8, - 0 + 2 ], - "commit": "1a462a61a3599c436c9284a23cae4ff8815a84da", - "sha256": "1gck1p27vfl9rswbdpszxi3111wqx9f26ks3nh18cryd9v885cr1" + "commit": "fbfb6757365cbde89d7ae0b56727315db15d31e4", + "sha256": "13pm7l895n8h7980l1prfcpcdl923dvkqvjf5gqz8kv95d5bb0fx" } }, { @@ -85193,28 +85732,28 @@ "repo": "mekeor/nael", "unstable": { "version": [ - 20260114, - 1519 + 20260222, + 33 ], "deps": [ "lsp-mode", "nael" ], - "commit": "1a462a61a3599c436c9284a23cae4ff8815a84da", - "sha256": "1gck1p27vfl9rswbdpszxi3111wqx9f26ks3nh18cryd9v885cr1" + "commit": "fbfb6757365cbde89d7ae0b56727315db15d31e4", + "sha256": "13pm7l895n8h7980l1prfcpcdl923dvkqvjf5gqz8kv95d5bb0fx" }, "stable": { "version": [ 0, 8, - 0 + 2 ], "deps": [ "lsp-mode", "nael" ], - "commit": "1a462a61a3599c436c9284a23cae4ff8815a84da", - "sha256": "1gck1p27vfl9rswbdpszxi3111wqx9f26ks3nh18cryd9v885cr1" + "commit": "fbfb6757365cbde89d7ae0b56727315db15d31e4", + "sha256": "13pm7l895n8h7980l1prfcpcdl923dvkqvjf5gqz8kv95d5bb0fx" } }, { @@ -85831,6 +86370,30 @@ "sha256": "19xxg4ya6vndk2ljdnl284zs8qf9dkq4ghr7pmsclp9n7zh46v48" } }, + { + "ename": "neocaml", + "commit": "67ad00bbbb0382a2e40472210ec3b3cabff9f160", + "sha256": "1ijx3lsc9ip52jklhfvbf39s9fsw1i0npp4h57g4f72j4pnhq0ig", + "fetcher": "github", + "repo": "bbatsov/neocaml", + "unstable": { + "version": [ + 20260224, + 1902 + ], + "commit": "410db808ad69516fd4314ea7ec6779eb9b6c6894", + "sha256": "07g82vxln7z80f3if5lq4xkiik1v2llgzws86s3ljab78mpvalrv" + }, + "stable": { + "version": [ + 0, + 2, + 0 + ], + "commit": "4218ba706816659708e2f9cc56fa224dac090e19", + "sha256": "148r4cacdxji3gch10ir835i3212i54v6dv30h6r8hrp6g50rwq8" + } + }, { "ename": "neon-mode", "commit": "c6b2a4898bf21413c4d9e6714af129bbb0a23e1a", @@ -85893,11 +86456,11 @@ "repo": "rainstormstudio/nerd-icons.el", "unstable": { "version": [ - 20260117, - 1631 + 20260129, + 1655 ], - "commit": "14b9fb4b48a08806836bc93f09cf44565aa9f152", - "sha256": "1b7sar1k206a89np69xsngr04km5cab20y4sassjh4bjr1fdmfr2" + "commit": "9a7f44db9a53567f04603bc88d05402cad49c64c", + "sha256": "10fij74c09jl0nxlid1fqgcnmzk2q7z3k9r40q3rc77q2brd4gfn" }, "stable": { "version": [ @@ -85966,14 +86529,14 @@ "repo": "rainstormstudio/nerd-icons-dired", "unstable": { "version": [ - 20251106, - 1840 + 20260206, + 1554 ], "deps": [ "nerd-icons" ], - "commit": "3265d6c4b552eae457d50d423adb10494113d70b", - "sha256": "1kkpw59xflz4i0jdg5rdw84lggjqjy2k03yilpa19a5allvar63s" + "commit": "929b62f01b93d30a3f42cc507fc45c84a2457b3f", + "sha256": "1z7nj89wm4w9c01p69wmxgj57nv4kwc4gkgbpycwv9avj2z4fad7" } }, { @@ -86124,11 +86687,11 @@ "repo": "Feyorsh/nethack-el", "unstable": { "version": [ - 20251213, - 1310 + 20260210, + 119 ], - "commit": "475d6113aa8a09fb81b581f3fb23fbfe76f7de22", - "sha256": "10p9jlb685ij3z45hsiybrf6zixibn66d0z444f2j8fimjbzh8wa" + "commit": "dfd8b26bac48b8c59d8bddf79eb9721ad06f98c6", + "sha256": "0n0ivks7zlqfanzn0yfb5rikaw3br4mxz2h2dc86xfyzcjprnh9y" } }, { @@ -86513,17 +87076,16 @@ "repo": "nim-lang/nim-mode", "unstable": { "version": [ - 20240220, - 1033 + 20260123, + 1302 ], "deps": [ "commenter", "epc", - "flycheck-nimsuggest", "let-alist" ], - "commit": "625cc023bd75a741b7d4e629e5bec3a52f45b4be", - "sha256": "0jasg5qiha0y3zqh1q1knlhipnk11kqd1jxzgmpcsyc3ikq01brs" + "commit": "4502f83fbbd262a8a7e014db9affcbf05c8a1e79", + "sha256": "0r9xm02rwwddhvyrp5mzyj7v0clsz3anbdnp7rn6n5y4052j88wz" }, "stable": { "version": [ @@ -86567,21 +87129,21 @@ }, { "ename": "ninetyfive", - "commit": "10c81234ec893a747379c266d566cc26733bfde7", - "sha256": "0a5m6v3iailj1camdi7z5iljj33fsgn9w73rbagxkhkhpy47q7y7", + "commit": "2cc1bd44b5bec3fd74336ff7a3689331dacd1106", + "sha256": "1njc240xl99vdxc088bzai7csf1vs09w35gb7m5dicnp8625sz81", "fetcher": "github", - "repo": "ninetyfive-gg/ninetyfive.el", + "repo": "numerataz/ninetyfive.el", "unstable": { "version": [ - 20251125, - 2223 + 20260213, + 1623 ], "deps": [ "async", "websocket" ], - "commit": "0d673ac905c68a91dadf7e9c2ff6fa9c6402034e", - "sha256": "1xxfgz97zcas50nsg848l1ish5fbj4xrmbd57slsrw02h7xm0m04" + "commit": "f2af587f97168e3544e770e74690cf0d7877c250", + "sha256": "0g8l7am3qd3cnk9fwblish5q8a14scabws2gsgb9fbanmfpnby5i" } }, { @@ -86760,11 +87322,11 @@ "repo": "nix-community/nix-ts-mode", "unstable": { "version": [ - 20251114, - 1500 + 20260215, + 1421 ], - "commit": "03c77fdbbd22d9b87a654169c26339b28c97d8cd", - "sha256": "1x8flq97vrxqvqmf25dr5wnmvwpa0l3zv5hyz2af3aj4yy1ic35n" + "commit": "319831712125e8c9e4f14b66def518d7a633685c", + "sha256": "0y2l1q3cvap7jjgl47wa78c5kagj6n2lpd3bilkhxn62aj3ahm0y" }, "stable": { "version": [ @@ -87035,26 +87597,26 @@ "repo": "emacscollective/no-littering", "unstable": { "version": [ - 20260101, - 1839 + 20260205, + 1529 ], "deps": [ "compat" ], - "commit": "f854fc971df346b65d58a9aebb89f20cf0a6fc77", - "sha256": "0ps1hl8mygc9qi7qpmzd9jav2zm64i659xrmk1yx55r6hqk51f5z" + "commit": "ec8b6b76e6a8e53fa5e471949021dee68f3bc2e6", + "sha256": "0k5bwga4zja33xvqc7399bqizsx9npigdl00cgza4h40j371i4gv" }, "stable": { "version": [ 1, 8, - 3 + 4 ], "deps": [ "compat" ], - "commit": "f854fc971df346b65d58a9aebb89f20cf0a6fc77", - "sha256": "0ps1hl8mygc9qi7qpmzd9jav2zm64i659xrmk1yx55r6hqk51f5z" + "commit": "7d8fd72222b77ffaaaf8a32eedebb1f546d2441f", + "sha256": "1y30330vpqj1n5ylnmcl5kgp7c8r4mb80ilf9j2ip8x864shirpj" } }, { @@ -87531,19 +88093,19 @@ "url": "https://git.notmuchmail.org/git/notmuch", "unstable": { "version": [ - 20260114, - 2256 + 20260124, + 2329 ], - "commit": "97a2bad36a35399681f6c5f5a2b4390e6429d5ae", - "sha256": "0bnb19ikls0f9732z30zp5dig2ndv08sr2ly6ddhdm1lmvjkq6wb" + "commit": "ad789ba474581619be9f25838fa3d96d38a8d0c1", + "sha256": "083i587rjaasn3ffvpg38py2a41k8dgcqm3qyn77j40h30a35y3w" }, "stable": { "version": [ 0, - 39 + 40 ], - "commit": "a5214eabb63ba78b84f4563942de1aa8763f0914", - "sha256": "1qq9bwhxrklkjysilmjmhzdwhxprc440krvml15mv8rind9xjll4" + "commit": "cee41bccc054617b0cffe12759b209ff66066563", + "sha256": "1cz3w35w189fy5zwvd4b11j47x4lz1kprl808v5lnvs994hzp51r" } }, { @@ -87742,11 +88304,11 @@ "repo": "muirdm/emacs-nova-theme", "unstable": { "version": [ - 20240904, - 2127 + 20260202, + 501 ], - "commit": "51b2899ac56c29638d11336d3b2a9894bb35b86e", - "sha256": "1bk5cg1kq62pg0gdw97vlfgjxkifj5xhr8ippyic04dv02b3kkz8" + "commit": "6daa91ff091653cae7a94345ca579084f954effc", + "sha256": "1m2hrg9nxc179v9zv4asr38wq4h1w5gk0ih1yfm0fhp8gknkjhw6" } }, { @@ -88258,19 +88820,19 @@ "repo": "Anoncheg1/emacs-oai", "unstable": { "version": [ - 20260118, - 1516 + 20260224, + 39 ], - "commit": "5f2ca47f35a52ebd8f7d6dab9deb463acaee62d4", - "sha256": "0l1c8vydjcvfikgp31c226d8kljsq13p20m5s40srh8ny8x7qzd9" + "commit": "ef1a4ee5b7737734482bb2c6d3a9800d89a6fbcb", + "sha256": "1sbiipikac2ganbh4h0hcd46baxypb80wrkw3f7k964aql4q14hp" }, "stable": { "version": [ 0, - 1 + 2 ], - "commit": "268eda829b16b9000eebbcc30f021c47338a9757", - "sha256": "09bgnvg5rbja03qc7rnp280sqx3nkk4q94ma430wmksrxwn9g3sn" + "commit": "48831f36bf7262d33cec19fa6bcafad6b7edfb59", + "sha256": "1b4jp14zvxr3gi4qf3fvcimx24mh96x2nb4hpdjrbdl37wl2wcap" } }, { @@ -88823,11 +89385,11 @@ "repo": "isamert/ob-deno", "unstable": { "version": [ - 20250913, - 1628 + 20260213, + 1023 ], - "commit": "d9225ecf2e4e111d75b1a059ec04448bc044f3d2", - "sha256": "0w5k49iw5rz92v2qlgvl7bhh2h5kabc9wnbmwpfkd57kdjdz0ykj" + "commit": "77beef624ff21a3ee0b69b61265b427205b8031e", + "sha256": "1bimndvwnrr290il22hikw787wsdfc3cpjzl5ida017rmx405vsv" }, "stable": { "version": [ @@ -89076,6 +89638,30 @@ "sha256": "1hys575y90rzhrwc8afc316wqmwxsaif5vjkk3cq2nn82zirl3z9" } }, + { + "ename": "ob-gleam", + "commit": "c72a4e946e937d2fc361bb5c718d8acf28bcbc50", + "sha256": "1yp9j8b2w48l91914wf2f6l6f90x3nc73r7n44qdscqj76kh8803", + "fetcher": "github", + "repo": "takeokunn/ob-gleam", + "unstable": { + "version": [ + 20260221, + 2046 + ], + "commit": "31a521c165426954e565ea368da81c4500885f30", + "sha256": "1q2zln8m3bbl0dhi0cd4wjakiv1qqf7z826qmajxlkbvbrwm1r4n" + }, + "stable": { + "version": [ + 0, + 1, + 1 + ], + "commit": "22fae3e741647750a603fdac29eb61b5c052f3da", + "sha256": "101l8f061ng1igkj155il4620h9wha3nicq5q0vyl4qn8a0k4fni" + } + }, { "ename": "ob-go", "commit": "3afb687d6d3d1e52336ca9a7343278a9f37c3d54", @@ -89336,10 +89922,10 @@ }, { "ename": "ob-lurk", - "commit": "8399712211a0fb927970917aec906a97488d00fb", - "sha256": "0ajy98lzgq2k4dz4m03qlxndy38xqyr4whhd33v97mqwgzsdrf7c", + "commit": "23dfbed8e97bf922db3fc0fc51ddc7e8486cf071", + "sha256": "0k4qz5va5dwzf4wkljwvil2lh35avpn8dm1a08xgvwcj9afpvjnv", "fetcher": "github", - "repo": "argumentcomputer/lurk-emacs", + "repo": "lurk-lab/lurk-emacs", "unstable": { "version": [ 20221122, @@ -89360,11 +89946,11 @@ "repo": "arnm/ob-mermaid", "unstable": { "version": [ - 20250621, - 1655 + 20260120, + 601 ], - "commit": "9b64cbc4b58a8e46ae7adbaa0cedc0e7d4c2eaf9", - "sha256": "1vnw5g05l88x3rrcy1j7qldaq743r2b1ifpkl81vilywg30s27zm" + "commit": "4f814ad5e1b96764af52d53799288ff3acc94b47", + "sha256": "0r9ky57w9d8lrqw3h9i1skp2ps5gjnf5nw4raqr1q6sg1imy5p7j" } }, { @@ -89931,25 +90517,25 @@ "repo": "tmythicator/ob-ts-node", "unstable": { "version": [ - 20250929, - 1013 + 20260123, + 14 ], "deps": [ "org" ], - "commit": "11e25ba2f73b56af66824f67dac167a0d5ae129e", - "sha256": "04j9d213ly3gqvwnsgchq262r5r88rjki1g2zzclawnrvhly7ffi" + "commit": "a480e19fc204847c5b4c1808b07856bca68dae1e", + "sha256": "07jpd4aw6l5p3ma3pbyqikljysmdgvqpcwgs2qdh5nq8klvs9z1y" }, "stable": { "version": [ 0, - 3 + 4 ], "deps": [ "org" ], - "commit": "11e25ba2f73b56af66824f67dac167a0d5ae129e", - "sha256": "04j9d213ly3gqvwnsgchq262r5r88rjki1g2zzclawnrvhly7ffi" + "commit": "a480e19fc204847c5b4c1808b07856bca68dae1e", + "sha256": "07jpd4aw6l5p3ma3pbyqikljysmdgvqpcwgs2qdh5nq8klvs9z1y" } }, { @@ -90107,6 +90693,21 @@ "sha256": "0xzmrg90qdd9m18q1zhs0lkv5isdy0049wxdap26bzawjsi3l4mg" } }, + { + "ename": "oboe", + "commit": "038c955851d4e3e143925a70d62ee48fc512f52c", + "sha256": "1z6764fzcqdgmv4khsalpsp0529dls1p9b65i1smkc5kdcxf2gjl", + "fetcher": "github", + "repo": "gynamics/oboe.el", + "unstable": { + "version": [ + 20260217, + 604 + ], + "commit": "7829d308063b512531a32ac3dda9c31ef6eb68d2", + "sha256": "0ml3brzgpihvydhg344xp4ca5v1fih3cw40qzpdi7vvrnvnkdny3" + } + }, { "ename": "obsidian", "commit": "2c2a69a670206a4f06f69654278026564de6d5cd", @@ -90172,11 +90773,11 @@ "repo": "tarides/ocaml-eglot", "unstable": { "version": [ - 20260119, - 1135 + 20260126, + 1618 ], - "commit": "5aff883db323c7b083964f286fe134e96b0c9458", - "sha256": "1adjg47qp52ngi5w50383icp8qb0i23f5xmr43qbn88knz9jb7gv" + "commit": "67d74e1d110e573926baae8e0b6878f645d87961", + "sha256": "06hll9dp8fziqqrzc44dcp5af6p92q7yxpnfwbdcf3gwkzpv8laq" }, "stable": { "version": [ @@ -90390,9 +90991,9 @@ }, { "ename": "octo-mode", - "commit": "899ec190515d33f706e5279c8e3628514f733a12", - "sha256": "1xvpykdrkmxlk302kbqycasrq89f72xvhqlm14qrcd2lqnwhbi07", - "fetcher": "github", + "commit": "9fbeab3de84938acda84ef812110e54147111732", + "sha256": "1610jg7zpzmb3hs5xzcl0ls82p8axypks52lrsjwcnkw6z92gm99", + "fetcher": "codeberg", "repo": "cryon/octo-mode", "unstable": { "version": [ @@ -90641,11 +91242,11 @@ "repo": "captainflasmr/ollama-buddy", "unstable": { "version": [ - 20251211, - 1257 + 20260224, + 1546 ], - "commit": "3e5e38c2263f2ece0c276d79778fed01448b5446", - "sha256": "12day7zx2bvh3y51hz3dh3bhcwfxrncmyxrbsk1p37z5jlm4khcr" + "commit": "13ddf8ae8905e4c02a087f10806a9adf191d21e4", + "sha256": "00206dbyxqy1s0z0jrg3vbgcjbrmk3gqwnvg0smgj5jhafk2bxv1" }, "stable": { "version": [ @@ -90954,20 +91555,26 @@ "repo": "meedstrom/once", "unstable": { "version": [ - 20260105, - 1940 + 20260218, + 751 + ], + "deps": [ + "compat" ], - "commit": "65c654a18855df21a2f8f4721e2beabab4d29949", - "sha256": "0n5crsp9k029zb9hv9qmf4s72xhx5r3n2g1f6437h60v9a6as8x1" + "commit": "8bb03796ca7801bbd24dcc36f55a5a9d640326d4", + "sha256": "0x4jbi3qizydk0pcs5jcwqvmcwq7vs6fw23f2vzf6749yv0ax9vn" }, "stable": { "version": [ 0, - 1, + 2, 0 ], - "commit": "b311e20ade96185176b02939a6e51fe61491e524", - "sha256": "05w4c5wb0yqa4wv7fx0gyxh7xrd3p7i85h88p3dxd5rdjmws4cm1" + "deps": [ + "compat" + ], + "commit": "8bb03796ca7801bbd24dcc36f55a5a9d640326d4", + "sha256": "0x4jbi3qizydk0pcs5jcwqvmcwq7vs6fw23f2vzf6749yv0ax9vn" } }, { @@ -91400,25 +92007,25 @@ "repo": "oantolin/orderless", "unstable": { "version": [ - 20260117, - 1749 + 20260124, + 1000 ], "deps": [ "compat" ], - "commit": "225dbcba32ab079f78e4146cbfd7d4dfb58840a3", - "sha256": "0hdb9q787889jmv1i0nkcbizrhqm4gqn7vl7bxnixlqfc3r0xlrg" + "commit": "6e3a09d6026fe7d7d5a3caf9a3d777cc9841fe80", + "sha256": "1r6sbyz8f3nkq5pr7iq3mm0q2dq3nq28xycf0x6xys7nsq2nink5" }, "stable": { "version": [ 1, - 5 + 6 ], "deps": [ "compat" ], - "commit": "31812d9252c6cfa7eae8fa04cd40c8b2081e9936", - "sha256": "0cgklam29vsfrl70n3cqv1dxbsnpzjylfxabfs9v1yz02q27nggv" + "commit": "6e3a09d6026fe7d7d5a3caf9a3d777cc9841fe80", + "sha256": "1r6sbyz8f3nkq5pr7iq3mm0q2dq3nq28xycf0x6xys7nsq2nink5" } }, { @@ -91487,15 +92094,15 @@ "repo": "hron/org-agenda-dock", "unstable": { "version": [ - 20250809, - 703 + 20260206, + 901 ], "deps": [ "dock", "org" ], - "commit": "1a0d37f471b6a8f5e9320b6bc97c5932ff83743b", - "sha256": "02p3fasfdvckp1r1bbcbs73p666bj6bf466qy2ayqcngfnjn5ch3" + "commit": "5b4f86a97c45f873ce41ce56ce398d9ef3e92dff", + "sha256": "1xf2ymkkismzxd62g7ydbli2nc968718kzjmvkzcf5ql3b3r39qy" } }, { @@ -91667,30 +92274,30 @@ "repo": "eyeinsky/org-anki", "unstable": { "version": [ - 20250610, - 911 + 20260209, + 1249 ], "deps": [ "dash", "promise", "request" ], - "commit": "55724018316c76a9db4ce6a886bb2b563b26184e", - "sha256": "1dl69h5r1v42f9maqygq8v8mir04m80ff08k9f777q4fpf7jrajw" + "commit": "8cf3f5eb43cbe256ce892cfc867059e200a1b5bb", + "sha256": "1a41z676p41530vdg9kv3izc6mcnwjj7l3xbj245mvqdcyiyk7jz" }, "stable": { "version": [ 4, 0, - 2 + 3 ], "deps": [ "dash", "promise", "request" ], - "commit": "55724018316c76a9db4ce6a886bb2b563b26184e", - "sha256": "1dl69h5r1v42f9maqygq8v8mir04m80ff08k9f777q4fpf7jrajw" + "commit": "8cf3f5eb43cbe256ce892cfc867059e200a1b5bb", + "sha256": "1a41z676p41530vdg9kv3izc6mcnwjj7l3xbj245mvqdcyiyk7jz" } }, { @@ -91945,28 +92552,28 @@ "repo": "will-abb/org-aws-iam-role", "unstable": { "version": [ - 20251130, - 2226 + 20260207, + 1643 ], "deps": [ "async", "promise" ], - "commit": "f5dd83600fa1501e27d5b98beb41272cb3aa9021", - "sha256": "1h1yaamn0h0xai0jpirrjvjw13dxk1x3qfd5w4mmhl11mm4x71jn" + "commit": "4c6cdde1efd1f33a4e2434db7af7617ce590e90c", + "sha256": "16d92ckk4dk4dgpj0wcw79wnls4r8mfkx2j6pipphp8qr8fi8xmd" }, "stable": { "version": [ 1, 6, - 4 + 5 ], "deps": [ "async", "promise" ], - "commit": "f5dd83600fa1501e27d5b98beb41272cb3aa9021", - "sha256": "1h1yaamn0h0xai0jpirrjvjw13dxk1x3qfd5w4mmhl11mm4x71jn" + "commit": "4c6cdde1efd1f33a4e2434db7af7617ce590e90c", + "sha256": "16d92ckk4dk4dgpj0wcw79wnls4r8mfkx2j6pipphp8qr8fi8xmd" } }, { @@ -92233,14 +92840,14 @@ "repo": "dengste/org-caldav", "unstable": { "version": [ - 20250212, - 334 + 20260222, + 437 ], "deps": [ "org" ], - "commit": "44a6d463cee3c3be8acf7511db785ab55519b375", - "sha256": "0qxnms7libsq1q7hbvpbbza8g9kzyry0fi3ayhdv9sddnm2wx2d4" + "commit": "2afbeca982d6b0987b1566eba5a4efa871546955", + "sha256": "0f6pi583zb0i2323m5xdsh8w3f78a0f46nf3315mhdyrv74i7isv" }, "stable": { "version": [ @@ -92292,14 +92899,14 @@ "repo": "colonelpanic8/org-project-capture", "unstable": { "version": [ - 20260118, - 807 + 20260127, + 711 ], "deps": [ "org" ], - "commit": "4303dd869b0d638bd09014702803cde50f4e7fed", - "sha256": "10vxb0d6b31dmd7xqhr15syzlvzify6qmbz25ca6pp8rjkdkrxjv" + "commit": "0521cbb6bb371cbfd9b7b5688b82ac119af1bf30", + "sha256": "0k1lwh29fmid0a1zvaswj96k9phqp98xv908b4wdsc60vcww8qkg" }, "stable": { "version": [ @@ -92583,14 +93190,14 @@ "url": "https://repo.or.cz/org-contacts.git", "unstable": { "version": [ - 20260114, - 754 + 20260221, + 852 ], "deps": [ "org" ], - "commit": "690ae7e735e16eee6969ef4d79cdff021a621db1", - "sha256": "1vjalaqlib5k2alflajckdc41q59mfb4q6c7jbprqr3yzl4gff02" + "commit": "a9175a2918d2e6d5400368d9504a617e4eb2b49c", + "sha256": "1djnyswjbsb1k3ciyd2f9xfjfkhbkkfw3dzfmzzr8dx5v71gm47b" } }, { @@ -93173,39 +93780,38 @@ "repo": "kidd/org-gcal.el", "unstable": { "version": [ - 20250624, - 1628 + 20260225, + 409 ], "deps": [ "aio", "alert", - "elnode", "oauth2-auto", "org", "persist", "request", "request-deferred" ], - "commit": "c7ad854ee44e88a55db74269d53819c931d55b8e", - "sha256": "1ja06l4yqp92cjcncyp7mq7lx3rcf7hixk0m4xqppahk6bkhq0s8" + "commit": "0f46c08f60355729526e970e370defe624e84956", + "sha256": "0cdscldk9fi9vvk8qc4qqhi61qm8n1y35d44jw52dxl4i6wfiggi" }, "stable": { "version": [ 0, 4, - 2 + 3 ], "deps": [ "aio", "alert", - "elnode", + "oauth2-auto", "org", "persist", "request", "request-deferred" ], - "commit": "3cc48a989ac859a97d25964c28874317a6e1672a", - "sha256": "11whjprc6h7knapjg29wz85mw338mvmyjwcmdai65m25pplxr25i" + "commit": "9627478a7d26468957d965ebb858e5ff9e260568", + "sha256": "17bnk8l0b2kix595418wn0d7yg23jcicnn8xpvqap72jy3wfg303" } }, { @@ -93305,8 +93911,8 @@ "repo": "Trevoke/org-gtd.el", "unstable": { "version": [ - 20260117, - 1854 + 20260222, + 2 ], "deps": [ "compat", @@ -93316,14 +93922,14 @@ "org-edna", "transient" ], - "commit": "21ba4b1c03a0b9e6feec1b3f1f85ccb682adf867", - "sha256": "1bbcil0h4ha7s9b4xnrmpdcza94yrq3pq6fpgc2xs5bj8dbip7bq" + "commit": "79ee241426a4266814743f0bcfe934fcb496b1fa", + "sha256": "1586v4jmpxdgpny0fz167vy01mnpav41qdkbgjla3fdvzqmbp853" }, "stable": { "version": [ 4, - 3, - 1 + 6, + 0 ], "deps": [ "compat", @@ -93333,8 +93939,8 @@ "org-edna", "transient" ], - "commit": "21ba4b1c03a0b9e6feec1b3f1f85ccb682adf867", - "sha256": "1bbcil0h4ha7s9b4xnrmpdcza94yrq3pq6fpgc2xs5bj8dbip7bq" + "commit": "79ee241426a4266814743f0bcfe934fcb496b1fa", + "sha256": "1586v4jmpxdgpny0fz167vy01mnpav41qdkbgjla3fdvzqmbp853" } }, { @@ -93714,16 +94320,16 @@ "repo": "ahungry/org-jira", "unstable": { "version": [ - 20251120, - 307 + 20260205, + 2052 ], "deps": [ "cl-lib", "dash", "request" ], - "commit": "f5ccb0719478a6f7dd2c045b1b191420d04242d7", - "sha256": "0sxphr736pcvw7jj6nw67blh4vq6lr64200jf5qn75c20pqqycyl" + "commit": "738002ddbeb0b4311089706f0a979ceea53bf095", + "sha256": "0p46cwmc7d31bb9ra7f3wa2ij02332fkn4dmpjxqqf1swl2rr41s" }, "stable": { "version": [ @@ -93921,15 +94527,15 @@ "url": "https://repo.or.cz/org-link-beautify.git", "unstable": { "version": [ - 20260106, - 1116 + 20260218, + 1347 ], "deps": [ "nerd-icons", "qrencode" ], - "commit": "62955313268e27744ac2117ed5be9d2c362ded05", - "sha256": "0r43rlvc37l96h8bhkw8x1sswjqzk13svq9k85wrh1y3l57p8haf" + "commit": "68183f5f8ca66ac0c5636132a4ed72807daa6f95", + "sha256": "0c1ij0j9147rxsjj3zv4lgfvy2v2b7sr5mp3p90s413nvikln72p" }, "stable": { "version": [ @@ -94014,11 +94620,11 @@ "repo": "Anoncheg1/emacs-org-links", "unstable": { "version": [ - 20260116, - 1316 + 20260220, + 2318 ], - "commit": "b1bb0da38ce14d31148abe9e733212747b0b5dc4", - "sha256": "06r3yjc48qa6dcarghg62pnzwkv3af8yy38ghihp4bxw5qni8gpa" + "commit": "8f9b49d66244c0ef423389a9a0440c9888ebc5fa", + "sha256": "1b9spgz5b1lc4bcnzm9dj5g6b8cvffdpdgq6wdqm2f63nfsa7db2" }, "stable": { "version": [ @@ -94142,28 +94748,29 @@ "repo": "meedstrom/org-mem", "unstable": { "version": [ - 20251108, - 841 + 20260224, + 1229 ], "deps": [ "el-job", - "llama" + "llama", + "truename-cache" ], - "commit": "0a33650ccb79c9bd49d7598fbb8f09beb2153350", - "sha256": "0jrisa0w6khiv2mndhyrr0yjsg191yix4gpj2g57nvp80l3xbnbl" + "commit": "ebecc2378422c6bec2fe82d3ba5194de303263a6", + "sha256": "1z8p5mnsm9prkgj4n8rq5rj61aaz1h9rl6dyqhhrq6yq0kf6h6qn" }, "stable": { "version": [ 0, - 25, - 0 + 31, + 2 ], "deps": [ "el-job", "llama" ], - "commit": "531a6b571ba0dcfa77a1997fb2b216a020ca6563", - "sha256": "0ga21yxyy2yr9bplgdqfhf8sc67ynjvzacl8l2j1i1rjj9a3h3g4" + "commit": "51a834dd6bbf69d8f4e2b479e16e9d9fbfcd3e05", + "sha256": "07ny0v6qp6p2lncfnkm6k6s3f4bv9yrf23m99kk8bw6pzihq8awx" } }, { @@ -94269,15 +94876,15 @@ "repo": "minad/org-modern", "unstable": { "version": [ - 20260117, - 1652 + 20260125, + 1438 ], "deps": [ "compat", "org" ], - "commit": "9bbc44cc7e085dea24e96f0cc0332ed7fcf349ca", - "sha256": "01p5k85hj677x2vk7j7a88gchp51ybiaj6iqmdhxivmcw3lb6ibi" + "commit": "b4b5b1c864f1fdf240d1bbd7093529f5a75e8a06", + "sha256": "1ky4hwivfvna30kpj01mqzp30hmdh7znmv5jm9mpgjzibv12ilpg" }, "stable": { "version": [ @@ -94331,11 +94938,11 @@ "repo": "bpanthi977/org-mpv-notes", "unstable": { "version": [ - 20241222, - 1958 + 20260224, + 1801 ], - "commit": "1d8db9ff803122e2a9bfc1b41d806f3b70acfc57", - "sha256": "0fii5v7c47jshrv8d064sa7nssixm8hy2fwfjvqaqwpbhvkl3w23" + "commit": "bb0e6b2dd5a9dd51d8f3dfa95302f245934391db", + "sha256": "15njhy4z25wycx9k55r7knqw282s7xv7qj6fyfm756y6zl8kgxkq" } }, { @@ -94370,14 +94977,14 @@ "repo": "jeremy-compostella/org-msg", "unstable": { "version": [ - 20251029, - 2127 + 20260211, + 901 ], "deps": [ "htmlize" ], - "commit": "327768e2c38020f6ea44730e71f2a62f3f0ce3bd", - "sha256": "0gvm7865d4c2sv484y03icx1vhdygyrp99divjk7drcrhdqqnvly" + "commit": "aa608b399586fb771ad37045a837f8286a0b6124", + "sha256": "0n02g88jybzsx0lqqpzag7hkrlvy3gh6irphgm5wsx42w312k1jl" } }, { @@ -94505,64 +95112,30 @@ "repo": "meedstrom/org-node", "unstable": { "version": [ - 20260119, - 1746 + 20260223, + 2314 ], "deps": [ "llama", "magit-section", "org-mem" ], - "commit": "7eba767815447105d9369d70fb30b9ce5c8e1ad3", - "sha256": "1127bc8x5zi6cl5ak8qay01aniscn94i908b52bzf3sz57cyknyj" + "commit": "4b1e1899bfd20b8d2bde294b7d3008367d435be0", + "sha256": "0q1h4ph2viblr35abkf45f9036n4acdh9wwmzdw9299ahdmy9qrf" }, "stable": { "version": [ 3, - 12, - 1 + 16, + 0 ], "deps": [ "llama", "magit-section", "org-mem" ], - "commit": "1bbcd8d644e4044befa4609b87b34737f24a410b", - "sha256": "1g6lasaz3vjknfr2y05dz7k28rb3bia8ni112031xs38db9jamq5" - } - }, - { - "ename": "org-node-fakeroam", - "commit": "d2a49c680f461aa0fd7c25f98bfe7bfd9e49d64b", - "sha256": "0901141f3lydssnamdghzwjhbscwv66n53r9gww727gkayq420zx", - "fetcher": "github", - "repo": "meedstrom/org-node-fakeroam", - "unstable": { - "version": [ - 20250519, - 2339 - ], - "deps": [ - "org-mem", - "org-node", - "org-roam" - ], - "commit": "449a5e841f8fe5dd389a390da79e21b696d3c7ac", - "sha256": "1pibsnpd9nw32ghdqvx63mkjhqsbzvkdfnp46p42jc49ic8yfl0y" - }, - "stable": { - "version": [ - 3, - 0, - 2 - ], - "deps": [ - "org-mem", - "org-node", - "org-roam" - ], - "commit": "449a5e841f8fe5dd389a390da79e21b696d3c7ac", - "sha256": "1pibsnpd9nw32ghdqvx63mkjhqsbzvkdfnp46p42jc49ic8yfl0y" + "commit": "d2dd24fc7264a5f621a4ed55fc4c6450714202df", + "sha256": "0nc492plrd0l6qs2a9594gygvyzx7jr96p8ppzy6wy0sl1ys9s45" } }, { @@ -95191,10 +95764,10 @@ }, { "ename": "org-randomnote", - "commit": "d92cb392b23701948176ba12516df5ae6608e950", - "sha256": "06i42ig7icap1i1mqzv5cqwhnmsrzpjmjbjjn49nv26ljr3mjw0b", + "commit": "c57898ef0e67c97e64e859fe647581aa41865d5f", + "sha256": "1li98j1gigivmdw25dvr0mr93b0bhagrpwj1r7gkbkbpp2c3q2sz", "fetcher": "github", - "repo": "mwfogleman/org-randomnote", + "repo": "tasshin/org-randomnote", "unstable": { "version": [ 20200110, @@ -95463,20 +96036,20 @@ "repo": "TomoeMami/org-repeat-by-cron.el", "unstable": { "version": [ - 20260118, - 526 + 20260225, + 212 ], - "commit": "414d872ed71642fdd0dee6c2163665db7fc4dab0", - "sha256": "0z9d3606x5j3dgkakzbdrl3474ppsdyqkiq5pgrh5m2qwx1vzj0v" + "commit": "cc5aabc3c8667836d0bf05d351e0a21bee677f4e", + "sha256": "1b1jrkg19kfinjqh2jnl6n7qa48hyp3fvsnjr60v1g41rlfcshmz" }, "stable": { "version": [ 1, - 0, - 4 + 1, + 1 ], - "commit": "414d872ed71642fdd0dee6c2163665db7fc4dab0", - "sha256": "0z9d3606x5j3dgkakzbdrl3474ppsdyqkiq5pgrh5m2qwx1vzj0v" + "commit": "cc5aabc3c8667836d0bf05d351e0a21bee677f4e", + "sha256": "1b1jrkg19kfinjqh2jnl6n7qa48hyp3fvsnjr60v1g41rlfcshmz" } }, { @@ -95582,18 +96155,17 @@ "repo": "org-roam/org-roam", "unstable": { "version": [ - 20260103, - 1921 + 20260224, + 1637 ], "deps": [ "compat", - "dash", "emacsql", "magit-section", "org" ], - "commit": "b95d04cbd223e369b9578b0dc47bbdd376d40dc3", - "sha256": "1l7z8sc6mxx09r19z88j1qb4iz9gagsy39v2v852q4ayg50ad6gh" + "commit": "20934cfb5a2e7ae037ec10bbc81ca97478738178", + "sha256": "1wfz4xp6l2jz3a3ji5ss0nq62lixkd2gqd6m9jag4kdic8hyd101" }, "stable": { "version": [ @@ -95643,6 +96215,37 @@ "sha256": "166n1q30xamms4lfqq9vp0yknq33gwlk54qaravxxwz01fdpgb25" } }, + { + "ename": "org-roam-latte", + "commit": "39601d3fb5ba706135be313cf41380fd8ec119f6", + "sha256": "1fabm5cg9l8sfgi95k7nbi537d4xc3njxz39lzc2lkaasj95z2vl", + "fetcher": "github", + "repo": "yad-tahir/org-roam-latte", + "unstable": { + "version": [ + 20260213, + 555 + ], + "deps": [ + "inflections", + "org-roam" + ], + "commit": "28df5361d8b90b1ee739a11c6c1accdcb58cb08d", + "sha256": "18g8whpi4327ccm3zxxx0fb0kdbvcrv445fdxm9fbhz701qz0dzr" + }, + "stable": { + "version": [ + 1, + 1 + ], + "deps": [ + "inflections", + "org-roam" + ], + "commit": "28df5361d8b90b1ee739a11c6c1accdcb58cb08d", + "sha256": "18g8whpi4327ccm3zxxx0fb0kdbvcrv445fdxm9fbhz701qz0dzr" + } + }, { "ename": "org-roam-ql", "commit": "2f0141e7ce7fdba9d6b66967524eeaba0e25a260", @@ -96024,8 +96627,8 @@ "repo": "tanrax/org-social.el", "unstable": { "version": [ - 20260116, - 749 + 20260223, + 924 ], "deps": [ "emojify", @@ -96033,13 +96636,13 @@ "request", "seq" ], - "commit": "83015d1402c28cd1395b18a104dfbc4f1357a83c", - "sha256": "0s6bqyi7qy3i97hsn6hr3k1dwk1ws7l92w1ixldhrhfjx26ynqfj" + "commit": "367ab5cf6ae12715bb9cade7a8eb45cf8d7f8723", + "sha256": "1aw0zfg898ggyn139n0x2fgaygayl14gv48mq59zw6b8ffkrff52" }, "stable": { "version": [ 2, - 10 + 11 ], "deps": [ "emojify", @@ -96047,8 +96650,8 @@ "request", "seq" ], - "commit": "d4cfe777975519ae2908416eb58c4f1b4cb33b43", - "sha256": "1h7bqqa3v0ah4ai2m6chz6932l5gq6rx7nc8mjxiiydkq1rjhgxi" + "commit": "367ab5cf6ae12715bb9cade7a8eb45cf8d7f8723", + "sha256": "1aw0zfg898ggyn139n0x2fgaygayl14gv48mq59zw6b8ffkrff52" } }, { @@ -96470,14 +97073,14 @@ "url": "https://repo.or.cz/org-tag-beautify.git", "unstable": { "version": [ - 20260103, - 934 + 20260123, + 235 ], "deps": [ "nerd-icons" ], - "commit": "de02883b9ad339539482d30450074ca572709d90", - "sha256": "1wmrvqflmgwszrm5kmnj71bdbsn28fddmrqwzmczqz80h9nnfi4p" + "commit": "3b0e03b5a7929b2c0b107d90355e0a0f03490aef", + "sha256": "1y2lilr1yjfcrbb6vhc2h8vknh0pwrfrwajim1h8c0xcc6ilzl9g" } }, { @@ -96558,6 +97161,30 @@ "sha256": "11rfn0byy0k0321w7fjgpa785ik1nrk1j6d0y4j0j4a8gys5hjr5" } }, + { + "ename": "org-tempus", + "commit": "15bf0d7ef4e45bd6ddd2b744ffc8d32a25ed8cb5", + "sha256": "1wwrc1rpfq86dzn304d7qxbig0ihj4wqlkr3gvswlz8bd7s8731a", + "fetcher": "github", + "repo": "rul/org-tempus", + "unstable": { + "version": [ + 20260222, + 1840 + ], + "commit": "f3912ccd9032bea28ff0ee4b3d49a90e17097e26", + "sha256": "158gq02r7vcpbl93s2f1zdwbz4ccyn39i3m6w7bz2c6q3w3ymja6" + }, + "stable": { + "version": [ + 0, + 0, + 1 + ], + "commit": "e07a05d66c084cf4796c2683f4320d9360af8b83", + "sha256": "1rsybp4827z7z3d66rzjp7kjyb84c12igzxqz26kfzhcd9dlqpav" + } + }, { "ename": "org-tfl", "commit": "a6ff6bbfa11f08647bf17afe75bfb4dcafd86683", @@ -97158,16 +97785,16 @@ "repo": "p-snow/org-web-track", "unstable": { "version": [ - 20250610, - 1142 + 20260215, + 734 ], "deps": [ "enlive", "gnuplot", "request" ], - "commit": "c32eebcd1794f618b723cbaadae125cc98781121", - "sha256": "1nwmb3hxszyp8klzbqbvqvrgwi3ism6whk4z6yy00ay6jp5dqsi9" + "commit": "2c4215499c0851e85b480bc19e96a236fb9af8f1", + "sha256": "1al99lixw56yg5wvg6x3rvclkvfncgs6rz6ry6iniam62pdhp80s" }, "stable": { "version": [ @@ -97184,6 +97811,70 @@ "sha256": "0ski1bvmxvjr2kf819hjr0lgx1q5y48g4g21mm0wmjcqjngfsh1r" } }, + { + "ename": "org-wild-notifier", + "commit": "26147067d47c8666e6885e1dcf92a93d19a6b405", + "sha256": "0sz4f4v7f4jwz0rriwmd9d8x70n68fgaa6c51z84ifa2k8lz7g27", + "fetcher": "github", + "repo": "emacsorphanage/org-wild-notifier", + "unstable": { + "version": [ + 20260127, + 533 + ], + "deps": [ + "alert", + "async", + "dash" + ], + "commit": "9211d14128a1097f78081dd7f8ba849671604575", + "sha256": "0ihqq3i5qzwp7l0kpj83j4rxrgw7awl9acnc5mch3j1xa3mq29fl" + }, + "stable": { + "version": [ + 0, + 7, + 0 + ], + "deps": [ + "alert", + "async", + "dash" + ], + "commit": "832dd0d606f773499ffdad9845b1cf1f6735399d", + "sha256": "001yzk25l9yamkzi8x16vv4lfwy228qcrh05hyp9rdki68f8pbzs" + } + }, + { + "ename": "org-window-habit", + "commit": "352e81dd12cc2b1d812ee7b50baab2b4a0d36b22", + "sha256": "184a9a5ib3wc59jsvdp45rmcrg2sg3qxb0w13p7ciwmbsgv1cnnn", + "fetcher": "github", + "repo": "colonelpanic8/org-window-habit", + "unstable": { + "version": [ + 20260204, + 1025 + ], + "deps": [ + "dash" + ], + "commit": "4d23ef0994770b7d233e11dca9bbf1b1a5479c45", + "sha256": "19rfrkwxmj7iy9yh4l64kxg37242pw8nl9218lldxra9rxp02g3z" + }, + "stable": { + "version": [ + 0, + 1, + 3 + ], + "deps": [ + "dash" + ], + "commit": "4d23ef0994770b7d233e11dca9bbf1b1a5479c45", + "sha256": "19rfrkwxmj7iy9yh4l64kxg37242pw8nl9218lldxra9rxp02g3z" + } + }, { "ename": "org-working-set", "commit": "8df6c37b8d5b7f4a296e57ad1fd758cb99aff718", @@ -97544,8 +98235,8 @@ "repo": "magit/orgit", "unstable": { "version": [ - 20260101, - 1851 + 20260201, + 1458 ], "deps": [ "compat", @@ -97553,8 +98244,8 @@ "magit", "org" ], - "commit": "24c8fe48c477d561c2ce1720223f8c5aec664f4e", - "sha256": "0p1k171nmzscnzfrlc3paq94gbx46f52fx7djkr88xv7cgd5qgw4" + "commit": "39cb93b283c1b4ac05025eb17a43ccc623e44686", + "sha256": "1sa710pqd4mzhw9mf8jbrkcj8qyx9sv67ky01ixynim412zgizps" }, "stable": { "version": [ @@ -97709,30 +98400,30 @@ "repo": "isamert/orgmdb.el", "unstable": { "version": [ - 20251105, - 2227 + 20260120, + 1738 ], "deps": [ "dash", "org", "s" ], - "commit": "416b2d6e9a9db179d69798d0f034307dc9cc762d", - "sha256": "0ypga3ywmaiv74r14bxn668zvv77mv6dhw6f3hrmlmvm20k7q0f0" + "commit": "4f24d187e2bf484ef4f68c191324659dca62c2f6", + "sha256": "1199smcxxnixq5716y29g97fhykmiva5ygz433ywm7yh09gl7bxa" }, "stable": { "version": [ 1, - 0, - 2 + 1, + 0 ], "deps": [ "dash", "org", "s" ], - "commit": "416b2d6e9a9db179d69798d0f034307dc9cc762d", - "sha256": "0ypga3ywmaiv74r14bxn668zvv77mv6dhw6f3hrmlmvm20k7q0f0" + "commit": "4f24d187e2bf484ef4f68c191324659dca62c2f6", + "sha256": "1199smcxxnixq5716y29g97fhykmiva5ygz433ywm7yh09gl7bxa" } }, { @@ -97825,11 +98516,11 @@ "repo": "tbanel/orgaggregate", "unstable": { "version": [ - 20260109, - 837 + 20260220, + 1007 ], - "commit": "ec32afaf3942ff30d9284fbcc594511ca9269393", - "sha256": "0mb1hhp5mk0lmc6nd14nv2s09s1zb2dvqgzin73xr247vsgh8ykf" + "commit": "32d78921e9068d607eda97143dd0eb9208a3c4e4", + "sha256": "0ibjm9j818aqhdvn18625wqgvkl9ivh2s6rc5plv94hhy2y9p257" } }, { @@ -97840,11 +98531,11 @@ "repo": "tbanel/orgtblasciiplot", "unstable": { "version": [ - 20260111, - 1140 + 20260126, + 1121 ], - "commit": "56d27e6ab021d8aad59372480d4eaedb19850c2d", - "sha256": "0b9l10avwkhl146nrmda0xhiy6m20y1jllv2p91kcv16ng7xradl" + "commit": "e9583daf44a9b1c88e767aa792527e6f21acb0a4", + "sha256": "0b9b9fk1h4wifl2x2s6s9jdvmkw18r0c4jgw643jlf9zwkb4l696" } }, { @@ -97870,11 +98561,11 @@ "repo": "tbanel/orgtbljoin", "unstable": { "version": [ - 20260109, - 917 + 20260217, + 1139 ], - "commit": "66d02c1d197a9506f8df7a7e35f760bdbbcddb3b", - "sha256": "1q8aclyk3hhwa3cw8lxrlskpifv2rvi790nj5v804w12cnzwk8p4" + "commit": "bd9edf54bdd55d1d33b8c6fb51a7f23a78c09355", + "sha256": "1clvbp9pb0qfwy3hibsx2a83r3zmhiw7m47cdylnwv61wz640rj9" } }, { @@ -98033,25 +98724,25 @@ "repo": "minad/osm", "unstable": { "version": [ - 20260109, - 1817 + 20260125, + 1200 ], "deps": [ "compat" ], - "commit": "7880b450138b3d260480e3e527fb3178cc8e2bc9", - "sha256": "0f2c1zhps2ln6xhsqwc67axp6d2hnnqckdr8xlppgzxbd4q7p4yn" + "commit": "19c9c958dd530a1ba606fc1074a28523af40ec28", + "sha256": "1lwjnxafhy5f83ydlccd47r2ramgwdlgzlj15h82yxsl4l0sq380" }, "stable": { "version": [ 2, - 1 + 2 ], "deps": [ "compat" ], - "commit": "7880b450138b3d260480e3e527fb3178cc8e2bc9", - "sha256": "0f2c1zhps2ln6xhsqwc67axp6d2hnnqckdr8xlppgzxbd4q7p4yn" + "commit": "19c9c958dd530a1ba606fc1074a28523af40ec28", + "sha256": "1lwjnxafhy5f83ydlccd47r2ramgwdlgzlj15h82yxsl4l0sq380" } }, { @@ -98306,26 +98997,26 @@ "repo": "abougouffa/one-tab-per-project", "unstable": { "version": [ - 20250909, - 2023 + 20260211, + 2247 ], "deps": [ "compat" ], - "commit": "fb8e72b924013443ba810ad5347d6ca39f005158", - "sha256": "08jpxyabjvicvra757ykmskvdkq332bjwcr8gmqax8bvx0x6qyax" + "commit": "2c5bfb6ef06d27a9589394339dadb856580a5a84", + "sha256": "1qql95w8mdsb6scvi7xg0xc3c33pw385a1fvm1vilwbr1s7y32yd" }, "stable": { "version": [ 3, - 3, - 6 + 4, + 1 ], "deps": [ "compat" ], - "commit": "fb8e72b924013443ba810ad5347d6ca39f005158", - "sha256": "08jpxyabjvicvra757ykmskvdkq332bjwcr8gmqax8bvx0x6qyax" + "commit": "2c5bfb6ef06d27a9589394339dadb856580a5a84", + "sha256": "1qql95w8mdsb6scvi7xg0xc3c33pw385a1fvm1vilwbr1s7y32yd" } }, { @@ -98380,20 +99071,20 @@ "repo": "jamescherti/outline-indent.el", "unstable": { "version": [ - 20260114, - 1604 + 20260219, + 1358 ], - "commit": "9f5b72d22be8cccc1873f7b65ca9e0acad0b1e10", - "sha256": "05y0knsww8wha59i1yhxvmmgb19j50rppfkb2dw0n36bvbxhvr46" + "commit": "91d6d1c7a15f1c1a9575870ef2f564ad3f053589", + "sha256": "0ciijpza9jfwwr9li46babbm9d69zm34y0dks2ka55yw7j4n9n5v" }, "stable": { "version": [ 1, 1, - 5 + 7 ], - "commit": "46cb8657bed035042796fc48ccfcb922eb443d81", - "sha256": "0vw41bnysacb7hwfacb8m8qyz01skwcpnyzrm1mriwl5j51ni1aj" + "commit": "75e1b5d41e7b18ce1c04ec33a20af2fbed5baa96", + "sha256": "1pwnvpwq8x6rcjbxv79l2qiw4zf8i75n0yddbhpmivz5qcc6jsjs" } }, { @@ -98605,8 +99296,8 @@ "repo": "vale981/overleaf.el", "unstable": { "version": [ - 20250728, - 2103 + 20260122, + 1439 ], "deps": [ "plz", @@ -98614,8 +99305,8 @@ "webdriver", "websocket" ], - "commit": "515e45df1bec11e1c0cd2dc4810c48f8ad0685cb", - "sha256": "08mzrcjm74xfxpj3bjlfr3w1079xpkbp1wgyvgrdiz9zh5i2b352" + "commit": "933a0185e9d13d9ae7fc5271f0b4a4113aab6eca", + "sha256": "0ci7pz6m6730hl95vnjcgk7lk89550r7mfpasrbpj6x1sawgjl4w" }, "stable": { "version": [ @@ -99354,6 +100045,24 @@ "sha256": "1ck8v9qwk434w4ib9bmlmpqmiv8k1is5bcr5h7pnswgmgma68dka" } }, + { + "ename": "ox-reveal-layouts", + "commit": "4cd3c0d8357dc6ae50b9a324eeb5a8bb56fcc110", + "sha256": "0q5pvx7ikcfbm3bwbgaixkpyifmjqwp2ac0b7qs2w77zmn1q0xjl", + "fetcher": "github", + "repo": "GerardoCendejas/ox-reveal-layouts", + "unstable": { + "version": [ + 20260123, + 101 + ], + "deps": [ + "transient" + ], + "commit": "2daf9d61ae235a5bea5d0722529c37d55e4ecce9", + "sha256": "1xckaw30y6br0jlg4y9k7l5jk5ffsm718s33ck94d17a493cfmnz" + } + }, { "ename": "ox-review", "commit": "67bf75e1dee7c7d83e66234afb18104b844b1719", @@ -99952,14 +100661,14 @@ "repo": "melpa/package-build", "unstable": { "version": [ - 20260115, - 1042 + 20260216, + 2011 ], "deps": [ "compat" ], - "commit": "79cff850383c875119da351567ea4713875f269f", - "sha256": "1yqxj6dd7zckmy2hp1lyr3prcqg2qh8w5f7rd2jb53p5xwmnr8qy" + "commit": "9da4218d5b260e0d5e9dad1c0b4fcea3bbb13cde", + "sha256": "0fmpy9292cch8pwsr4n05cxn2cslii0m9fcnlyrs3kk19ydkycdw" }, "stable": { "version": [ @@ -100893,16 +101602,16 @@ "repo": "NicolasPetton/pass", "unstable": { "version": [ - 20260109, - 1144 + 20260214, + 2130 ], "deps": [ "f", "password-store", "password-store-otp" ], - "commit": "de4adfaeba5eb4d1facaf75f582f1ba36373299a", - "sha256": "1by7rr1rjw8slxvkkkcg7g8qkwaz1bm0ylzj81p2rxi8xw3f2jq5" + "commit": "143456809fd2dbece9f241f4361085e1de0b0e75", + "sha256": "0pzay8s1aqg8x07jm87ylxf54d4vsy32f0jj9cn20b6gjc94x1fi" }, "stable": { "version": [ @@ -101276,6 +101985,30 @@ "sha256": "0qzsalbxksb44f0x7fndl2qyp1yf575qs56skfzmpnpa82dck88g" } }, + { + "ename": "pathaction", + "commit": "217a081852ced7f1b88fb1b00e3fccabc193288a", + "sha256": "13pwya825rvlh9p26jqcs740vv7f3755fih53c08r8nm5xizk1qh", + "fetcher": "github", + "repo": "jamescherti/pathaction.el", + "unstable": { + "version": [ + 20260215, + 2013 + ], + "commit": "8a7c00b050e5f847f126c58889c5114336f5b744", + "sha256": "0kid65lzg9z45j8bpdgz171g3bp4dplfa73aiwn742hvz6dx71b5" + }, + "stable": { + "version": [ + 1, + 0, + 0 + ], + "commit": "97d22e6ba7f7b90ab30411c43ce61696cb1ce7bd", + "sha256": "06n0avdm8xqfz2gr4yhqikrr707lxz418sij3hlv50vxvb5qb7vp" + } + }, { "ename": "pathify", "commit": "459460c977b9cf033e22937899ad380e01efcf11", @@ -101962,25 +102695,26 @@ }, { "ename": "persist-state", - "commit": "b968e7d25a52891796fd6717cc0ae4df664542b5", - "sha256": "0fxfzcyk9fc9p2zn12sfpjhbzm210ygb2r40vhlk4w4b1m6vjmf4", + "commit": "1833f93726a7129f4aa8a26ff4045c128ccdf991", + "sha256": "1x7wplh8j0nbb8jxnsja1hyb206wmnkjgpzsi6vbfj91764z4ivl", "fetcher": "codeberg", - "repo": "bram85/emacs-persist-state", + "repo": "meedstrom/emacs-persist-state", "unstable": { "version": [ - 20240904, - 2057 + 20260217, + 1752 ], - "commit": "51b2092ac206a0d8a0f682fbc32fe089716c37cb", - "sha256": "16js69arkcccnns2bijc257lyr359f1f2ly3sx7rb6zc4dzwzwc0" + "commit": "bb8d39612197558a497152339ba927506f18bcb5", + "sha256": "0yhj0yxznvix7jx905nklx01blyz6dn6llg3mbs2n4imdsixl74a" }, "stable": { "version": [ 0, - 4 + 5, + 0 ], - "commit": "99e22bd6dd7b768c617596da952a5b8e53d16ecb", - "sha256": "1lg1myxb5pqf9m19kza2iwbcdcdghkrcb7fbgk7jghn2ag0naasf" + "commit": "bb8d39612197558a497152339ba927506f18bcb5", + "sha256": "0yhj0yxznvix7jx905nklx01blyz6dn6llg3mbs2n4imdsixl74a" } }, { @@ -101991,20 +102725,20 @@ "repo": "jamescherti/persist-text-scale.el", "unstable": { "version": [ - 20260114, - 1606 + 20260215, + 2013 ], - "commit": "4d7d58b75f6d998a69da1dd7d444642dfec38cf3", - "sha256": "1vnfq8vjhxjh5mkblv73dycbj4z690wmj1mzfyivjz20nfcrfavy" + "commit": "1d2983986a32da95c878ce05929f43ecc370c82c", + "sha256": "00d5yk0h3vzc2fc7n4g6rc7nw0hac9bzgi66c6q13rlhdjxz76zd" }, "stable": { "version": [ 1, 0, - 3 + 4 ], - "commit": "235e37b1ca38816b3bb882f7a40bb109e8739ea8", - "sha256": "1k2p7z95j331kw77q68151400723c6w4afjgrbgdjfj52przsxrk" + "commit": "8098af6ba9ff251d19f9e41b39c84f7b9b758f26", + "sha256": "006j8sdzp671wj07bs5lfr21lcfb81c2gn0kn13jphmki14s7i02" } }, { @@ -102054,15 +102788,16 @@ "repo": "rolandwalker/persistent-soft", "unstable": { "version": [ - 20250805, - 1017 + 20260202, + 1154 ], "deps": [ + "cl-lib", "list-utils", "pcache" ], - "commit": "24e41d1952bef5953ef0af2288de146265c7ee10", - "sha256": "0wp4hd4j7dbiqf08yywi3s0y9rmpk2hycmlzqk0c0iq0r3kwl83d" + "commit": "c94b34332529df573bad8a97f70f5a35d5da7333", + "sha256": "057wk7ai3l1anhxxlgvqgsl3r2rjyivwi8mi5swsidc9qgzwczvf" }, "stable": { "version": [ @@ -102110,6 +102845,25 @@ "sha256": "0f9ljpmq8b97n6wa8bwn4f2v7imvfxc2pjqk6xjkmwbfpihrns10" } }, + { + "ename": "persp-gumshoe", + "commit": "cae5094c143c1eb882edb423f6f2b6f5b5217259", + "sha256": "0miynpx5z4xjyz4lrzyd51pkwxp2q2dp1sddh4aj6j6m6zs6c5bj", + "fetcher": "github", + "repo": "Overdr0ne/gumshoe", + "unstable": { + "version": [ + 20260217, + 448 + ], + "deps": [ + "gumshoe", + "perspective" + ], + "commit": "4c228d89b35861f6461afcbd5cc596bd30582412", + "sha256": "07sfjy8plnnrqm9whkwbnly8m9sda1bnz5jj44fknb963rs5cqxa" + } + }, { "ename": "persp-mode", "commit": "caad63d14f770f07d09b6174b7b40c5ab06a1083", @@ -102196,25 +102950,25 @@ "repo": "nex3/perspective-el", "unstable": { "version": [ - 20251104, - 1408 + 20260211, + 633 ], "deps": [ "cl-lib" ], - "commit": "7f47c9a7be7b7d03f6d8430c84eec80ae5896699", - "sha256": "1zsm848vrp97qfrfwjx7axijg8ji95a8nicxp1zia947g8fbpm33" + "commit": "64ef5eaaab9e7564e8b9788ce6d0e2359daf5dca", + "sha256": "1v22m3l7p89wsdy0ydv0w91v0h9wjl1v33gim756dz8zcx8m1p8y" }, "stable": { "version": [ 2, - 20 + 21 ], "deps": [ "cl-lib" ], - "commit": "bdd14b96faa54807a4f822d4ddea1680f1bfd6c7", - "sha256": "108n8xgyxf0mxv6l0mbqb9s0v20bdnj4xcd2mi0zbl46r48cq6gp" + "commit": "64ef5eaaab9e7564e8b9788ce6d0e2359daf5dca", + "sha256": "1v22m3l7p89wsdy0ydv0w91v0h9wjl1v33gim756dz8zcx8m1p8y" } }, { @@ -102385,25 +103139,25 @@ "repo": "emarsden/pg-el", "unstable": { "version": [ - 20251226, - 1404 + 20260208, + 1419 ], "deps": [ "peg" ], - "commit": "d0062a20788b48dba693368faee62b5e42ef5961", - "sha256": "04m0200lwkdycp55i0mraxhm4y6si6d5q9d0bwp6kqwxrcpsks7a" + "commit": "52888cb6120407654f248877b2a78a75f7df0d99", + "sha256": "19hh45mlb4j6a3ys3wvivj0bm5xy5vjwscnvn68b656b5jk5himh" }, "stable": { "version": [ 0, - 62 + 63 ], "deps": [ "peg" ], - "commit": "e63d6c7552dab58a056283b2292c7af6322f9703", - "sha256": "0fjzrn5b4s00km71ya98vwwfyvd4rvcywxdxqzy5xfrv8crm92w6" + "commit": "52888cb6120407654f248877b2a78a75f7df0d99", + "sha256": "19hh45mlb4j6a3ys3wvivj0bm5xy5vjwscnvn68b656b5jk5himh" } }, { @@ -102875,16 +103629,16 @@ "repo": "emacs-php/phpstan.el", "unstable": { "version": [ - 20250930, - 1139 + 20260218, + 453 ], "deps": [ "compat", "php-mode", "php-runtime" ], - "commit": "07ef7531f2ec73b90a965ac865cca8c96086f9de", - "sha256": "1myzqbd00892a604kg88bxglk0w6valdvmaybsixapr5wgg2sbri" + "commit": "77fba8fe9d63661e940b392a0e4b573e7edafb7b", + "sha256": "0q08wx0k7n86v4jdspkjdjn1kmjy4cf1qrkj71qi0ga943vwz11l" }, "stable": { "version": [ @@ -102977,26 +103731,28 @@ "repo": "dnouri/pi-coding-agent", "unstable": { "version": [ - 20260117, - 2159 + 20260224, + 1042 ], "deps": [ - "markdown-mode" + "markdown-mode", + "transient" ], - "commit": "b734fe0b2007126bf2c33bf0ef7cb1c45d8bd365", - "sha256": "1vrd9b22q9w6z82m4ixzmwfbnibckzdbwmzmqmxi8g2l4czgp68h" + "commit": "46677cad30c3daf15e75ecf53a6206ff726ceb14", + "sha256": "0fq8g9sqsf5kmyzw4w1jnmmpxa81b62jbpkzzkc1296ai75nl173" }, "stable": { "version": [ 1, - 1, - 0 + 3, + 5 ], "deps": [ - "markdown-mode" + "markdown-mode", + "transient" ], - "commit": "1bcb63da9014121159fd43bd20d691a38e951bc0", - "sha256": "1w62wh3di14g6xcip8znb4p4ffnsm9irim3jlf26gkmv1pgd01ag" + "commit": "e6d43f2d936a1fd860ce9439e19b1e07e668c37d", + "sha256": "1v0yj95x7yl98qssdsabfqjr338k3xkilhhx7zwgjjqlq0npkp6w" } }, { @@ -103315,11 +104071,11 @@ "repo": "Anoncheg1/pinyin-isearch", "unstable": { "version": [ - 20240328, - 2110 + 20260222, + 413 ], - "commit": "bc69e38e25e623a321c5c37959fb175334cf9e1a", - "sha256": "0vmsl4b8hv9hdass8w4j7gyrhp9acrnyyc30hqfflsb61p69h770" + "commit": "a48376f1c48b827e3c373905621a669b98fa354c", + "sha256": "1813blixrjhnvs0hxnbkj177m3nrv1l3wdm51wqvfmxdjg6an067" }, "stable": { "version": [ @@ -104100,17 +104856,17 @@ }, { "ename": "po-mode", - "commit": "38e855cde9264bff67016d23e7e5e00f113c55bf", - "sha256": "1w06i709bb04pziygdn7y47gcci7gybg0p7ncdsm07d0w7q14v2z", - "fetcher": "github", - "repo": "emacsmirror/po-mode", + "commit": "6667dff070897fa9de80f42649c1391ec1b181dc", + "sha256": "1vcjijk4m1iy4rmxka8shyx4bk0fmnlpww3kjgcj1b41ld01hwxg", + "fetcher": "git", + "url": "https://git.savannah.gnu.org/git/gettext/po-mode.git", "unstable": { "version": [ - 20260102, - 409 + 20260217, + 956 ], - "commit": "5500e864a5aab5254efd7da11b57faefec08134e", - "sha256": "0af84q303f11xbbmkz8qy24yg4rby43d40lxkg8zlh9r200yp03v" + "commit": "27538dd0938d5a941833d503afc9dba13dcf16fe", + "sha256": "0963khl6vazhb1i760dg1h69n10xwsh9yn0bd6wx9w0zv8yb5lhc" }, "stable": { "version": [ @@ -104842,15 +105598,15 @@ "repo": "kn66/pomo-cat.el", "unstable": { "version": [ - 20251127, - 1631 + 20260224, + 2202 ], "deps": [ "popon", "posframe" ], - "commit": "441b5f8476e99e740eba72cf52c4edf1bbe51673", - "sha256": "0syi1chf570lsjpjh5fi5cbyh018kw5c9347zvgxlmq6ixsvq5zv" + "commit": "f9eab9a897598c6da713b1730739dd2e41e70fda", + "sha256": "0l9ad8lmxhr8ni1ivf4fwmsawwkri6rn8ms7iibs5z342jqy4bn7" } }, { @@ -105305,20 +106061,20 @@ "repo": "tumashu/posframe", "unstable": { "version": [ - 20251125, - 846 + 20260225, + 112 ], - "commit": "d93828bf6c36383c365bd564ad3bab5a4403804c", - "sha256": "16hl3whqxw25p3m8fsr2z2bcwrq3dkfcn7x27d9sicj3v64l30pm" + "commit": "41cc4def6190f100ba50dca51457c38f4f90dfb1", + "sha256": "1hk7ma2hs0l0d9ax7skg75g1syv3lpfj37y8kq5yh1i9bfl3p546" }, "stable": { "version": [ 1, 5, - 0 + 1 ], - "commit": "d93828bf6c36383c365bd564ad3bab5a4403804c", - "sha256": "16hl3whqxw25p3m8fsr2z2bcwrq3dkfcn7x27d9sicj3v64l30pm" + "commit": "4fc893c3c9ea3f6b5099ac1b369abb3c6da40b1e", + "sha256": "01x9kyfghx48gxh7mxfvkvvi0m64zv7w9pl4fnryzm9d5ql5lbw4" } }, { @@ -105726,14 +106482,14 @@ "repo": "zonuexe/emacs-presentation-mode", "unstable": { "version": [ - 20250327, - 202 + 20260131, + 2112 ], "deps": [ "compat" ], - "commit": "42f13613b0d01ef78c36fc352ae8976cffc50e71", - "sha256": "12v8pcc5ayn26mhm2xbp5pb8269yc0mh0y5j34r54ajpsb9cwl1h" + "commit": "5393ea474d76a9d529d27fb1d6185c015e34368c", + "sha256": "1h5ygnc6zphhlzg7h6slk40584hb5qsjp5lilnp3iyq2gdzax9f4" }, "stable": { "version": [ @@ -106200,14 +106956,14 @@ "repo": "haji-ali/procress", "unstable": { "version": [ - 20250914, - 1846 + 20260129, + 1256 ], "deps": [ "auctex" ], - "commit": "137655ec1193bd1ea1a1ee3362349491c873710a", - "sha256": "0i4kgx51vw6kx8v70gdi84kagcm8xz4mbgwx9wz8cxir6yfbkwd9" + "commit": "de0c3b40a7f5d66d71529784e0a35069a064e27d", + "sha256": "1gq669fgkyki8a930p1nmacdi10akw2hpffiyrsyfi9mzwafrqa9" } }, { @@ -106508,6 +107264,24 @@ "sha256": "1nq320ph8fs9a197ji4mnw2xa24dld0r1nka476yvkg4azmcc9x8" } }, + { + "ename": "project-rails", + "commit": "1c851eb29971bd6935eaf2e57e2cfbafa78987a8", + "sha256": "1778z20n7qawqkbk6kk8gk7ds3856csnazqq731sj8da0c9v2d3b", + "fetcher": "github", + "repo": "harrybournis/project.el-rails", + "unstable": { + "version": [ + 20260201, + 1909 + ], + "deps": [ + "inflections" + ], + "commit": "653e31a0b7b08445fa3efc41d741d642a46f9903", + "sha256": "0lk65na3l5ww1f45bv6d4zrjsbvf15lbly4val03cal9f15nds7k" + } + }, { "ename": "project-rootfile", "commit": "0fdd6cb9b09cfa3941c0d4dc8271d4c86863bd31", @@ -106612,11 +107386,14 @@ "repo": "bbatsov/projectile", "unstable": { "version": [ - 20260109, - 1335 + 20260216, + 652 + ], + "deps": [ + "compat" ], - "commit": "f19262ae3f2764f10a4d087497058cdb9a0fd3df", - "sha256": "1gxsnsirf2nfmsg5j9iibya4r9drdmhni63fpf9k0mcmzkj4sfjv" + "commit": "f12fdae30a36e3614fa6944969bf37dec9998301", + "sha256": "17k271gbq64a9dbi1akp4frrccx7jqcq22xb34fddl28dhrpk49y" }, "stable": { "version": [ @@ -106991,21 +107768,35 @@ }, { "ename": "projmake-mode", - "commit": "f98962bf6b55a432a45f98b0a302710546d1be07", - "sha256": "1bwydyjj2x7vlc1fh14505bl2pplksx46rsmqwx46zyfkrvgabp1", + "commit": "4d2bc3a7ab1fca4f6e4dae05a75fccdbe9723864", + "sha256": "1xdz8cxigkpdfcfxsc92v5gszmanpxv4c50jswi1m3jhb0gki1r5", "fetcher": "github", - "repo": "ericbmerritt/projmake-mode", + "repo": "emacsattic/projmake-mode", "unstable": { "version": [ - 20241228, - 1643 + 20250211, + 1534 ], "deps": [ "dash", "indicators" ], - "commit": "93e2a23f929d69ac3d735a05d6bdcd93fca32471", - "sha256": "0z5nbbwis749gdsfz7fqzahhr4dx3jxavnnww06pvbyj7g5k3zwk" + "commit": "99f10611c24e0884f1f24744adcccb3d972326f6", + "sha256": "1pbpggg6kp0j6314nbxjfc8dk7cbx3lmd0lfdy8mr21rwzlk4c2a" + }, + "stable": { + "version": [ + 0, + 0, + 11, + 1 + ], + "deps": [ + "dash", + "indicators" + ], + "commit": "99f10611c24e0884f1f24744adcccb3d972326f6", + "sha256": "1pbpggg6kp0j6314nbxjfc8dk7cbx3lmd0lfdy8mr21rwzlk4c2a" } }, { @@ -107129,11 +107920,11 @@ "repo": "ProofGeneral/PG", "unstable": { "version": [ - 20260113, - 1228 + 20260124, + 1351 ], - "commit": "e164eca4e94fe9db750e1a350bb462be30c4469a", - "sha256": "0xf98l2bszm2y0kn55m93r0gzpgi8wh9mw2rsfczxvq68jhlywld" + "commit": "75c13f91b6eb40b8855dfe8ac55f8f7dac876caa", + "sha256": "0zsvvq54q50q9zcmgxiqgks7hkzm9v740mrygvlxyb8yhrv7j4h9" }, "stable": { "version": [ @@ -107242,10 +108033,10 @@ "stable": { "version": [ 33, - 4 + 5 ], - "commit": "edaa823d8b36a8656d7b2b9241b7d0bfe50af878", - "sha256": "1lgrfnxdzp5jjfal2apkqwq37wf6g7jn2cvgv5iypsvf9f4nfrzy" + "commit": "b6f9284da830b69be787732ffdaa35049d20a088", + "sha256": "0wgp1indksx8fp18gg65kmvjb3nk1qz2v7wgr8cykal0jhqk0zvf" } }, { @@ -107833,11 +108624,11 @@ "repo": "smoeding/puppet-ts-mode", "unstable": { "version": [ - 20251212, - 1319 + 20260223, + 1132 ], - "commit": "7ef01e46e66b7b02c702bbd0523d63a8d567a474", - "sha256": "06dcgv6rd0hyvqzi4y9yh7f1mxb6xha04m00alc4h3fq5626gcb2" + "commit": "f287c44f357604ec7fbf2f3ab0196dcd47056593", + "sha256": "0lwx9j5p8ayg4px4jlfr57hv5cla1lmbxcqgagjpd73z3f8daahy" } }, { @@ -108159,14 +108950,14 @@ "repo": "rocky/emacs-pyasm-mode", "unstable": { "version": [ - 20260117, - 2029 + 20260122, + 136 ], "deps": [ "compat" ], - "commit": "3d3dc5a820a488a1fb9618fda5d7307a5eae75ec", - "sha256": "03ywy2wi76dhna0sxzs9nrppfcxkqvvzh32k74a6ydbcvkk46al3" + "commit": "b9434097b5454a2b28440d72ec4eadbdff44f651", + "sha256": "0hza1c1p478yg5qw18mqd4npi5rjry5yb3ix7fxbggryfwzjg7bq" } }, { @@ -108896,11 +109687,11 @@ "repo": "python-mode-devs/python-mode", "unstable": { "version": [ - 20251215, - 1157 + 20260131, + 1655 ], - "commit": "5719f9a18c4813303df6c8102ac25fce8e4536d0", - "sha256": "1dzl5fiaz9cbis92avflfynq6lnb8c5iwg0w727jkz3jxxp7zgrr" + "commit": "2a6fdb1c823bf8125f6354727db63c8894092821", + "sha256": "07bpqfg11xrcsmbqmchgm77gi8ljgnn3wfajd4wbfh3w65yfcfdi" }, "stable": { "version": [ @@ -109139,11 +109930,11 @@ "repo": "psaris/q-mode", "unstable": { "version": [ - 20260110, - 1639 + 20260216, + 1450 ], - "commit": "ce1c5e827c29f7799b699aa0a476f4f06a1cf7ff", - "sha256": "064xqqr2fdk037dnasibmayx9jsi3g6m36xbdmdp8niil5250xv8" + "commit": "766e7b58b666de13cd0dced7828c762be92f08cc", + "sha256": "1ijmw1dkpsq1i26wifz7yw7bykw0v3byb59wvnmqqi58z5j4lnyf" } }, { @@ -109492,11 +110283,11 @@ "repo": "jamescherti/quick-sdcv.el", "unstable": { "version": [ - 20260114, - 1535 + 20260221, + 311 ], - "commit": "10be5e6d499da524000d1b6891080d01d5b9a949", - "sha256": "1fyshazwr9pkfwf72imbbl2nnvif6f0qgpq6s2ivwc0vj1087wh4" + "commit": "d12901f87dd191fd6061abcb32cac31503da62be", + "sha256": "1bdp822rwz9xq9c5garfmn5afap32l9yr7lv7jgndib8qz3hgxf8" }, "stable": { "version": [ @@ -110062,11 +110853,11 @@ "repo": "punassuming/ranger.el", "unstable": { "version": [ - 20260117, - 2303 + 20260201, + 717 ], - "commit": "8a7e0f246049789953b65e2776bfdf2a80d25bca", - "sha256": "0yqcy83hf9bmrf405inn1csw3w0pjr3w8jsnxhhba2wkl5k14va1" + "commit": "61e7c840c52007dc17e64215fe8dbcb71139fa39", + "sha256": "1nyh2c6z9pp2gmcybpy5b2i1rg4d7v9v2ck8m7siagrjwfzdxqfk" }, "stable": { "version": [ @@ -110198,20 +110989,20 @@ "repo": "ybiquitous/rbs-mode", "unstable": { "version": [ - 20240806, - 56 + 20260203, + 1023 ], - "commit": "d382032cb276d452fdd512c1f1f1b9f95153b356", - "sha256": "1ibn8246q0yqdnf3qdww9rvzac9gla7gzjj0n5j5x08brgj5ll2h" + "commit": "c88a53a1981c301a65fa21de225708085d087b7e", + "sha256": "12ax8c7az9wlq7qhhf40vwrhng16wx9hjq7pr3fngmksma6cckk8" }, "stable": { "version": [ 0, 3, - 2 + 3 ], - "commit": "d382032cb276d452fdd512c1f1f1b9f95153b356", - "sha256": "1ibn8246q0yqdnf3qdww9rvzac9gla7gzjj0n5j5x08brgj5ll2h" + "commit": "c88a53a1981c301a65fa21de225708085d087b7e", + "sha256": "12ax8c7az9wlq7qhhf40vwrhng16wx9hjq7pr3fngmksma6cckk8" } }, { @@ -110494,11 +111285,11 @@ "repo": "xenodium/ready-player", "unstable": { "version": [ - 20251205, - 1320 + 20260224, + 915 ], - "commit": "f1a422c855748d0af0c61964f8a92ad81c445470", - "sha256": "19l72avwy7q8vc2im0q9i5f0hhhqf397xyf1dnz2lmd6rvy90kay" + "commit": "e7737e59f9bc70872935a46da67eef919b9141c4", + "sha256": "14jlwx8y6fvyhrv9w4w4rmri8xm9xzh27c5bgzg1lgbycyly2zqm" }, "stable": { "version": [ @@ -110557,16 +111348,16 @@ "repo": "realgud/realgud", "unstable": { "version": [ - 20260111, - 1242 + 20260128, + 841 ], "deps": [ "load-relative", "loc-changes", "test-simple" ], - "commit": "5fb027b628ebe9b54bcba8b0749dfa768275a77f", - "sha256": "13sxikl82bz0an0s2nl62w4x5pnhk4mj8bl30y14qy86gpvp4p8j" + "commit": "fe1d6eab69375c704c6861125fa1f4d0d758a5e8", + "sha256": "1h86qyfc9d4ch7h1znxbz49kwppgvwwgkhcgh4m24nidwh8hs03z" }, "stable": { "version": [ @@ -110828,20 +111619,20 @@ "repo": "xendk/reaper", "unstable": { "version": [ - 20260116, - 2011 + 20260206, + 2340 ], - "commit": "747d53b4a7db77648931ae1396151ae447404b08", - "sha256": "04qjplbm5wj0iy1b473yz3angkb7x78gs0yg951222a004fzg9a9" + "commit": "71c0fcb54a13a446851d4fb351fd9576fefe4172", + "sha256": "1iczx7bxhnyvsbm5za79cckfnn2zirvfnb7769mi8c5p3f6ly01n" }, "stable": { "version": [ 1, - 5, + 6, 0 ], - "commit": "7515ef42e0bfb0fd45d2e283e654271fe20cf447", - "sha256": "0lgsyabksiqlsh0m7x0ngryxkjpwl2lx42apjnpcbhl0ddwz9qhm" + "commit": "71c0fcb54a13a446851d4fb351fd9576fefe4172", + "sha256": "1iczx7bxhnyvsbm5za79cckfnn2zirvfnb7769mi8c5p3f6ly01n" } }, { @@ -111949,20 +112740,20 @@ "repo": "BHFock/repo-grep", "unstable": { "version": [ - 20250826, - 1109 + 20260219, + 1754 ], - "commit": "98dd4b492d93b8d13f9bc7b80efe91577c13e779", - "sha256": "1fhj9hyxawn3pdy0jhnc4fw1dfrxzm13q36bkz51kcnw2lkl1njk" + "commit": "786259b805bd0617f1e718c1da79a5ef2da5a2ec", + "sha256": "1fm9ngjz2pv0218qfxgnnf82m1j9vfkhg98dkrg2jlqlwm4bbxb7" }, "stable": { "version": [ 1, 5, - 2 + 3 ], - "commit": "98dd4b492d93b8d13f9bc7b80efe91577c13e779", - "sha256": "1fhj9hyxawn3pdy0jhnc4fw1dfrxzm13q36bkz51kcnw2lkl1njk" + "commit": "786259b805bd0617f1e718c1da79a5ef2da5a2ec", + "sha256": "1fm9ngjz2pv0218qfxgnnf82m1j9vfkhg98dkrg2jlqlwm4bbxb7" } }, { @@ -112556,11 +113347,11 @@ "repo": "galdor/rfc-mode", "unstable": { "version": [ - 20231013, - 1353 + 20260127, + 1807 ], - "commit": "ab09db78d9d1baa4da4f926930833598e1e978ce", - "sha256": "0sym5pji4ba4jy79zfs7gb2n9kqa60ma4z622s0mz647g56z09f4" + "commit": "2d3dcd649e291eeb93091560b504f96162371c32", + "sha256": "0hrh5b0ph39nbqxgvj69i3mcmiq2gfsxgfzydj539x3vcz8s4140" }, "stable": { "version": [ @@ -112866,21 +113657,6 @@ "sha256": "0z0iwsqr92g8ykxb51gkawwxwzx0faw0027zgdi7c38ngjqld237" } }, - { - "ename": "rimero-theme", - "commit": "c6d07b0c021001195e6e0951c890566a5a784ce1", - "sha256": "0jbknrp9hc8s956cy2gqffxnx0fgnhmjqp2i4vyp0ywh45wrls5r", - "fetcher": "github", - "repo": "yveszoundi/emacs-rimero-theme", - "unstable": { - "version": [ - 20180901, - 1348 - ], - "commit": "a2e706c2b34f749019979a133f08a2d94a1104b3", - "sha256": "1kcvvaizggzi7s3dlh611bkirdf6y89kzddc273drdks705s01wh" - } - }, { "ename": "rinari", "commit": "4b243a909faa71e14ee7ca4f307df8e8136e5d7c", @@ -113170,11 +113946,11 @@ "repo": "tad-lispy/roc-ts-mode", "unstable": { "version": [ - 20250311, - 1928 + 20260206, + 908 ], - "commit": "f96ba038e53efbc4113bf675a22d2599be8c21ad", - "sha256": "0f5l0aiyasjz12k0zikh73lv8cv6v04h44kf9vylb6kcyy2m0nj6" + "commit": "00aa6d23192a85c4f8e2905c1aa526fefec51f20", + "sha256": "0id77k08ckr9780wbwhl5adbd7fin6lwgxi1m71fd1d9lxx9ai5x" } }, { @@ -113432,11 +114208,11 @@ "repo": "vs-123/royal-hemlock-theme", "unstable": { "version": [ - 20260110, - 903 + 20260123, + 1254 ], - "commit": "50c01627b7132feb6549e9498a41e12a8d53add7", - "sha256": "0fasipvx9b3q64cxmqkw347ii5bggih9mmc0s74zy7z7rzk276i7" + "commit": "8a4d85a7029866540db5261b33b20223374f26ac", + "sha256": "03n3mr97d5l84lck19a3hfzlwscp4v2bbfg6axsdjpzxpy9jpymx" } }, { @@ -113537,11 +114313,11 @@ "repo": "Andersbakken/rtags", "unstable": { "version": [ - 20251228, - 2249 + 20260207, + 2156 ], - "commit": "829a6298d6bfba8ed541570fcbe3daf5ce3135d0", - "sha256": "1qzd08sc3kg0cmfssdbdn595iwwalxhb5b43dsamzgfc3xhd7qap" + "commit": "a0b315437da7f17d6c04e33234833e3baa474562", + "sha256": "0sb63ysagmndqnymdg4yz8vyzm4kh6r41s73yzzfplza2nd92rhj" }, "stable": { "version": [ @@ -114189,11 +114965,11 @@ "repo": "rust-lang/rust-mode", "unstable": { "version": [ - 20260118, - 536 + 20260207, + 424 ], - "commit": "4adb3a729653315ed3efcf3e89f20d940dfe0e2d", - "sha256": "028s0nh2y1jgmni3ypr8vy1531wh5pjrhd2f78a86xim9nkamdx5" + "commit": "f68ddca5c22b94a2de7c9ce20d629cd78d60b269", + "sha256": "17fnshvkxdnmca5544l3hlyqk6gv4ibzp1jqcpz3227jd2kac5fx" }, "stable": { "version": [ @@ -114236,8 +115012,8 @@ "repo": "emacs-rustic/rustic", "unstable": { "version": [ - 20250630, - 1332 + 20260216, + 440 ], "deps": [ "dash", @@ -114250,8 +115026,8 @@ "spinner", "xterm-color" ], - "commit": "bfff139f260c386f60d581edef6df1a0d109a131", - "sha256": "0z59fw0rvb6sk62sd393kgk0j65xlkn4xrxs6nhd06vdzx6kjrgv" + "commit": "eea94386bf0c7b55adc264faefdfb134ae2807b9", + "sha256": "1kl6wrdqj9i81q27m7v8il07sbzrxfcark7pmn4rmcdxs25g69ba" }, "stable": { "version": [ @@ -114447,6 +115223,21 @@ "sha256": "166plwg9ggivr3im0yfxw8k6m9ral37jzznnb06kb6g0zycb4aps" } }, + { + "ename": "sail", + "commit": "37217c24120a8d7bd50bf68e67041e3928d17785", + "sha256": "039sragbw2y95m3kys2d491r94vkgkydqdg3ajs8cv55m726wp5b", + "fetcher": "github", + "repo": "brannala/esail", + "unstable": { + "version": [ + 20260209, + 411 + ], + "commit": "1cc38e174139dfb4732cfb5eb597829a982e1e99", + "sha256": "1y3l5z1gxvzq91n0vbgac334z7fs5av4cv4c815wgnc2bbbr9a1z" + } + }, { "ename": "sailfish-scratchbox", "commit": "961347dfc1340e32892bb8eb54e3f484c1a72577", @@ -114854,11 +115645,11 @@ "repo": "yoshinari-nomura/scad-ts-mode", "unstable": { "version": [ - 20260112, - 423 + 20260202, + 1350 ], - "commit": "99e5e0f387de595f81aaf2d41572a8a851921e67", - "sha256": "125pay538hbxji9q5b7hmgvyfqzv7ygscdirjin5dk3lzkjx542x" + "commit": "afaf52a34050aa1f7da12b85b25f20beffb08e2f", + "sha256": "0f023iw8bkyxpy78q2wqpgrn9q8hf5nqwh8y264m3nlyp2nvn8rl" } }, { @@ -115407,20 +116198,19 @@ "repo": "precompute/sculpture-themes", "unstable": { "version": [ - 20260112, - 2109 + 20260215, + 1259 ], - "commit": "ce17fba2d12775e9596386b237158b8ca531a186", - "sha256": "0cw2727p0j23h4smqrilhnpsz8rif64m3mc56dynfk3lf40f0j5d" + "commit": "e5ac2c7b72ee58eb66510937270716d25484ecd6", + "sha256": "0137zqir9p1lfazs6n8qz0nw4vajawh7w1104psabrqm2izwpjz2" }, "stable": { "version": [ 1, - 7, - 3 + 10 ], - "commit": "ce17fba2d12775e9596386b237158b8ca531a186", - "sha256": "0cw2727p0j23h4smqrilhnpsz8rif64m3mc56dynfk3lf40f0j5d" + "commit": "e5ac2c7b72ee58eb66510937270716d25484ecd6", + "sha256": "0137zqir9p1lfazs6n8qz0nw4vajawh7w1104psabrqm2izwpjz2" } }, { @@ -115778,19 +116568,19 @@ "repo": "Anoncheg/selected-window-contrast", "unstable": { "version": [ - 20260118, - 1901 + 20260219, + 1157 ], - "commit": "0f23c16e99516d30bdb374a645f2a27c8b91eabb", - "sha256": "16b47s5bddpi9xafvdlc1vpjj7dx7b7l6vcz9hgjzk3l4rhq8s4p" + "commit": "600319fe8a15da2c330dcbb497474b3e760ae890", + "sha256": "08pqx1qfqh2nrbpy3298mmyysxlc6xgm7ydicj9b36dbzifvfxiq" }, "stable": { "version": [ 0, - 1 + 3 ], - "commit": "c64c770f9663c6d2651ade64766f15d439b542cc", - "sha256": "19w6aa6ia4x1m0amj2al7g2as824vkvfxk00pqjkash1a5lwm33c" + "commit": "b5a15be393b6af4f74432d0b04a051af35f59272", + "sha256": "1y9ccqs9nwcrcylv97n0wbrdp2m7r37nzp22yx52q3vsc8l4c5jd" } }, { @@ -116000,15 +116790,15 @@ "repo": "abailly/sensei", "unstable": { "version": [ - 20250831, - 1341 + 20260125, + 933 ], "deps": [ "projectile", "request" ], - "commit": "3129584a6b4b57cbf0e4769dcb8efcc21d8bc821", - "sha256": "108vsqv49xf8310fprghzm5v3dkh78p83yrr47z6kag3g85jg1ih" + "commit": "4257ca13aaabfeee7be245e1efd00a5b189e7c9a", + "sha256": "05jl3mdlzrdcp0ncxm8yjckqxlj9700cgiq05mv9123wlfspx9ll" }, "stable": { "version": [ @@ -116131,11 +116921,11 @@ "repo": "brannala/sequed", "unstable": { "version": [ - 20251219, - 1858 + 20260219, + 2234 ], - "commit": "d8b76c47db7de52118ab9217dac7d3308d4df9cc", - "sha256": "0hgh93qyb5wg4xjx6kdj75171hf1mz0la2b684x0f87vvzzz8ij5" + "commit": "0156c71a163b7d55b2a8b198eab0be3de9dc229d", + "sha256": "1gcn6p0i05nrmrvvaq8jdkdsa2j18j0jrpbqc655agavk9lrnkzw" } }, { @@ -116724,20 +117514,20 @@ "repo": "xenodium/shell-maker", "unstable": { "version": [ - 20260116, - 1019 + 20260213, + 1201 ], - "commit": "6eafe72de916cb3e75deb4f7220085ac3e775a11", - "sha256": "1knswylikwipg8aqb7dip2jm1l8q3sxj8q0af31ipn92v6wh9bks" + "commit": "a7ff78f8cd29fba9a694b8d7bbee448c7a51472d", + "sha256": "1gy09saiqvcpgbcwkj0bmwp9paix5rw9fd7fhbypx93p80mqdcrn" }, "stable": { "version": [ 0, - 84, - 8 + 85, + 2 ], - "commit": "6eafe72de916cb3e75deb4f7220085ac3e775a11", - "sha256": "1knswylikwipg8aqb7dip2jm1l8q3sxj8q0af31ipn92v6wh9bks" + "commit": "a7ff78f8cd29fba9a694b8d7bbee448c7a51472d", + "sha256": "1gy09saiqvcpgbcwkj0bmwp9paix5rw9fd7fhbypx93p80mqdcrn" } }, { @@ -117787,6 +118577,21 @@ "sha256": "1gzfdk3ks56h8q4xk69aaxkhkg9jhs55iqdicyvq7x9wmjn6b7xw" } }, + { + "ename": "signel", + "commit": "64c76292eb459bc98fa51b96c2d6ea82bb46d96c", + "sha256": "0hyrc8h102kppwyr16hfah1warsnnqshsq5l9xpj9yckix6c293b", + "fetcher": "github", + "repo": "keenban/signel", + "unstable": { + "version": [ + 20260130, + 1719 + ], + "commit": "5b309ddd8668344310ae7e9f93b6b756da28d9b4", + "sha256": "1sx30h0daws15q4vd9xmzx8ca2bbsava6p433dvq8mfmk5f34rki" + } + }, { "ename": "silkworm-theme", "commit": "9451d247693c3e991f79315868c73808c0a664d4", @@ -118493,8 +119298,8 @@ "repo": "emacs-slack/emacs-slack", "unstable": { "version": [ - 20260115, - 1525 + 20260211, + 2317 ], "deps": [ "alert", @@ -118506,8 +119311,8 @@ "ts", "websocket" ], - "commit": "a35c605a2fe98e95d82a80f0f320fd4913418f52", - "sha256": "0sjrql913wykmc0bsbfn5ni1s35z8r4kaccaqlam54ypgwalv6wb" + "commit": "cbeb64371416e235a0292ba04c0e8815f761f7c5", + "sha256": "0dxi36pa2ffria6yf109fwi8gw7z59b2hflrwlj8871f8ydlgvwx" } }, { @@ -118565,14 +119370,14 @@ "repo": "slime/slime", "unstable": { "version": [ - 20260119, - 505 + 20260224, + 1834 ], "deps": [ "macrostep" ], - "commit": "71707c2bb7d60dc813cdfb2efdce0b948ed2d3ab", - "sha256": "15i4k192vmbfcrkdjfvhb8ncds12fzl4cf6inl0l4153sx10g623" + "commit": "3a8c17e55d485b31eb22b1bd7c92c2f9cfadf92f", + "sha256": "1mka4jzlgv4brwn2la1i2xrafn51l01kl95xvg2rrbmb021xm7qd" }, "stable": { "version": [ @@ -119424,14 +120229,14 @@ "repo": "Fuco1/smartparens", "unstable": { "version": [ - 20250612, - 1050 + 20260129, + 1214 ], "deps": [ "dash" ], - "commit": "b629b4e893ba21ba5a381f6c0054bb72f8e96df2", - "sha256": "1nfd10kxd1l8bmxhaghhxphl424yg5qn6xcqaligwc3b406b566w" + "commit": "82d2cf084a19b0c2c3812e0550721f8a61996056", + "sha256": "1b6jsr19nxrsg1isr494qi7p6x5fidcfnznang8h9sqj67iqybi3" }, "stable": { "version": [ @@ -119874,16 +120679,16 @@ "repo": "danielfm/smudge", "unstable": { "version": [ - 20251224, - 1549 + 20260203, + 20 ], "deps": [ "oauth2", "request", "simple-httpd" ], - "commit": "dcca1b9ac15886060788df83c7da63faa5ae027f", - "sha256": "0nkr0fy6c7jbjjcfywsw4klil305wjyirnafhgjvq5jrx95zs0m7" + "commit": "c90db830e84e34ac5724f57eda2f1112a589df5c", + "sha256": "0lql8aapikfyfar8a0p7x2lk49njmd25r3r2ywdwvljz3pr245v4" } }, { @@ -121117,6 +121922,36 @@ "sha256": "039vch5s45z1966sxg73ymzd7525alnnj0lvxwhqj3ncb3w0416v" } }, + { + "ename": "spatial-window", + "commit": "8818fe8d023d945a84a5922ac2a8f69fd893c766", + "sha256": "19p0lpzaw3gqpn9jfrbmzvjrqrs6qpdwsqbzlah2q08518sz2kqv", + "fetcher": "github", + "repo": "lewang/spatial-window", + "unstable": { + "version": [ + 20260221, + 1439 + ], + "deps": [ + "posframe" + ], + "commit": "2a6a4cec766a3ebcd41ab637c3eb9946e80b22b2", + "sha256": "1g1yfl99cmmnzgwd1avpwrpvm1s8g4qybdzf68fkqp3hckxb724a" + }, + "stable": { + "version": [ + 0, + 9, + 3 + ], + "deps": [ + "posframe" + ], + "commit": "5388bb6c1989578222b4d5b576482b538977bea4", + "sha256": "19nfqxhm3kh8x89z2pwwq7z2izi6wjlmgxqgk7l3m2mww1vphari" + } + }, { "ename": "spdx", "commit": "fb570e4a9a89319443c0df08980e7427aad7f1a0", @@ -121125,11 +121960,11 @@ "repo": "condy0919/spdx.el", "unstable": { "version": [ - 20260117, - 104 + 20260221, + 116 ], - "commit": "40c4691ed406ac2a905c94ec69c720f79a607389", - "sha256": "1358013fmpgg4hd8pm5xpfccf4rr1xlgvl43y4r3v5yndq93dfbx" + "commit": "f2b74e37c4293e7d29ce287225a723aed46aa07d", + "sha256": "0pv7yr0j7y31wcd6409xw6dcnwlrm0001304cn8r57mshah3hrzh" } }, { @@ -121190,14 +122025,14 @@ "repo": "dakra/speed-type", "unstable": { "version": [ - 20260112, - 1339 + 20260220, + 2305 ], "deps": [ "compat" ], - "commit": "3b23b577f2bf76d44e6e5bcc72cba660ae4a4bda", - "sha256": "09x2jb54kmypqbzyw61ms7d434b3yqi2si4p0pj8fg13x5xs4qxy" + "commit": "e27ebe21cf498ffd1718a18a77baa385c0bcca12", + "sha256": "1wfdvg3bbp4ajl12id1fa6vpccx5vdckxczrsk0091xb60f9lcqr" }, "stable": { "version": [ @@ -122776,11 +123611,11 @@ "repo": "jamescherti/stripspace.el", "unstable": { "version": [ - 20260114, - 1604 + 20260215, + 2013 ], - "commit": "e2671ccdd30a950ed84105e872ec564d74bef3ba", - "sha256": "16j24j11jnrvqrqmh2yq4km769aa2v20kpnbd457wpnm90ab5vb0" + "commit": "c6360e4643c8ead16fa68488d2116d77208c12f6", + "sha256": "165w02mmlv685n1x9ppafsr0x7a5sapdrhylhgpl8rirfvgpc7y2" }, "stable": { "version": [ @@ -122896,9 +123731,9 @@ }, { "ename": "subatomic-theme", - "commit": "a3c6e6adb1a63534275f9d3d3d0fe0f5e85c549b", - "sha256": "0qh311h8vc3c7f2dv6gqq3kw1pxv6a7h4xbyqlas5ybkk2vzq12r", - "fetcher": "github", + "commit": "c3b5efd2795cb96626a0336f8f54250207e72baa", + "sha256": "02a2r6qhgl8vh93qvny6h2m0v4r6hnk0kzhpj1bk6jvilsz3wlf3", + "fetcher": "codeberg", "repo": "cryon/subatomic-theme", "unstable": { "version": [ @@ -123001,14 +123836,14 @@ "repo": "amk/subsonic.el", "unstable": { "version": [ - 20220826, - 748 + 20260126, + 1705 ], "deps": [ "transient" ], - "commit": "011e58d434ed707a06a2cfa20509629ebb339c04", - "sha256": "0xb3l7ds2qf9p1k1f7dlww3g31drmjpvgdviz55bb65r2zlgnix2" + "commit": "d4f7502783fa06ba624ddc2314082340cea4ec9e", + "sha256": "09xl0blp1aymggyldhy4zcbf09wgxqa7y02a4d7579x14x230wam" }, "stable": { "version": [ @@ -123170,8 +124005,8 @@ "repo": "kiyoka/Sumibi", "unstable": { "version": [ - 20260104, - 1157 + 20260214, + 1216 ], "deps": [ "deferred", @@ -123179,13 +124014,13 @@ "popup", "unicode-escape" ], - "commit": "581a6d61ecc6d627676f946f9703b0fc74685551", - "sha256": "1pkglyi25mdgh3i2b9xdqzmx1v0pl3hj28hljfsw1q1y5j5ldi8q" + "commit": "dbbb06f6c0d5f921e3d5f8c34a2bcb4ec8caff4d", + "sha256": "1czh3r3nmail88wcgx334pprzcjf6v5iz1926gvn1a9pssh7xmam" }, "stable": { "version": [ 5, - 1, + 2, 0 ], "deps": [ @@ -123194,8 +124029,8 @@ "popup", "unicode-escape" ], - "commit": "581a6d61ecc6d627676f946f9703b0fc74685551", - "sha256": "1pkglyi25mdgh3i2b9xdqzmx1v0pl3hj28hljfsw1q1y5j5ldi8q" + "commit": "dbbb06f6c0d5f921e3d5f8c34a2bcb4ec8caff4d", + "sha256": "1czh3r3nmail88wcgx334pprzcjf6v5iz1926gvn1a9pssh7xmam" } }, { @@ -123769,14 +124604,14 @@ "repo": "abo-abo/swiper", "unstable": { "version": [ - 20250329, - 1401 + 20260101, + 2125 ], "deps": [ "ivy" ], - "commit": "e33b028ed4b1258a211c87fd5fe801bed25de429", - "sha256": "1yv40k0swdywk0zwxs2s95s4y1pa9k2m3s25fx7gv9pnmf7yw8p1" + "commit": "d489b4f0d48fd215119261d92de103c5b5580895", + "sha256": "1jady7337ws51y2r78n4mgnijsq8415ga3s5c47f4lpd3d74j2bj" }, "stable": { "version": [ @@ -123870,11 +124705,11 @@ "repo": "dimitri/switch-window", "unstable": { "version": [ - 20250401, - 839 + 20260225, + 115 ], - "commit": "8f771b571a1e60fac2d2a9845c0a5a52d5b440df", - "sha256": "0q3zhrylla6knyqjrckdwnwfwhk3pp9mr4zjks9rxccldmr8b1b4" + "commit": "a72cf11d21c1f24924a9faeaa9f5d213d8623141", + "sha256": "05wi8bxkx0im5plm00rzl1r70ibzvwmq7lcg8lpg0xlrv9d8vkn2" }, "stable": { "version": [ @@ -124140,18 +124975,18 @@ "repo": "zk-phi/symon", "unstable": { "version": [ - 20170224, - 833 + 20260218, + 1909 ], - "commit": "76461679dfe13a5dccd3c8735fb6f58b26b46733", - "sha256": "06s7q0zhqmvnhdkqikhfzl1rgm6xzqaxp461ndf8gp44rp1alkl4" + "commit": "d663045c290f80b77136d6a49f2be0226f01b565", + "sha256": "0n4dqxmpa0vk9za991rcm9za90l5b8cqzqjgzj4nr1yj2lip7f72" }, "stable": { "version": [ - 20160630 + 20260223 ], - "commit": "7beeedd70dc37f5904c781fb697c8df056196ee9", - "sha256": "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz" + "commit": "d663045c290f80b77136d6a49f2be0226f01b565", + "sha256": "0n4dqxmpa0vk9za991rcm9za90l5b8cqzqjgzj4nr1yj2lip7f72" } }, { @@ -124421,6 +125256,30 @@ "sha256": "03id3zjiq15nyw0by4fari837c8362fscl7y329gn9ikf7z6hxd9" } }, + { + "ename": "system-idle", + "commit": "d3c041dafd99718beccfe4153b34b7ac8a6848ea", + "sha256": "1ikqqzlv23rfd9v91ncafag2gmzdywn1x67csawx4ygdm6fyf8gr", + "fetcher": "github", + "repo": "meedstrom/system-idle", + "unstable": { + "version": [ + 20260215, + 1611 + ], + "commit": "74ae4437f2b151aaada98fd5fa99177b21394b7c", + "sha256": "06jaaq9lg4sz6w4xpf1g6a4ym6gfba1gfs5hfv9gy8m6c86l1hdh" + }, + "stable": { + "version": [ + 0, + 3, + 0 + ], + "commit": "598445de14924258f6a3a63cbc8b4cef10dee9d1", + "sha256": "05knhqnz3j3hd92xgkak1mlskckw5h4v0mv2gvk04vyi95hz60gy" + } + }, { "ename": "system-specific-settings", "commit": "3f52c584d7435c836ba3c95c598306ba0f5c06da", @@ -124735,20 +125594,20 @@ "repo": "Bastillan/tabbymacs", "unstable": { "version": [ - 20260119, - 2318 + 20260126, + 1157 ], - "commit": "ad4b60ce83dea3ec548af4adbdb4beffe2722b5d", - "sha256": "0xhvhgp94rqmpklixwpddl9gy2xsnwmlx4cs1hsyjwvkalsrhb67" + "commit": "32b8c40774515c940a02c78874cf928b356478de", + "sha256": "0hr69fqg5nvka3wdc748rwxvcr58pvqij058wx9dldirbvsn7apl" }, "stable": { "version": [ 1, 0, - 1 + 2 ], - "commit": "b88bac22c923bebbbc7e52f10a25669a7680698c", - "sha256": "0yr9wmmqhv1svlf6yhwx8fnzxyxdzr3kil72sys9l8bablnajzg6" + "commit": "32b8c40774515c940a02c78874cf928b356478de", + "sha256": "0hr69fqg5nvka3wdc748rwxvcr58pvqij058wx9dldirbvsn7apl" } }, { @@ -124844,14 +125703,14 @@ "repo": "mclear-tools/tabspaces", "unstable": { "version": [ - 20251108, - 1927 + 20260222, + 1958 ], "deps": [ "project" ], - "commit": "8873c46da96cbabe31056cd5c5e85731f4abf07e", - "sha256": "0q080bnyzf0ps74wsbrhkibzsm1r58czq5q9v83571jc66kllwjh" + "commit": "06fe5ad149bc5852698cd0adda6dd6e320b4cf8f", + "sha256": "180gzqjmmin35b7lj93pgrakh0b5wq10q232y5zfhibsmsnxayhi" } }, { @@ -125265,15 +126124,15 @@ "repo": "zevlg/telega.el", "unstable": { "version": [ - 20260102, - 1148 + 20260224, + 1606 ], "deps": [ "transient", "visual-fill-column" ], - "commit": "e34fb226ec56b17f77a6eb99c22e98d82529d2de", - "sha256": "17cbf9pqnfqrzd92s7gb9yvm6c5hlis1i9x0vzlfk1a9lgvy0yc1" + "commit": "feb32c92a2197251e65c8c2d5efb438a2e052ebd", + "sha256": "19rrycgq4031cd4wljzfy2drir5b21wzj6df0ljr28qjy5gpnkwm" }, "stable": { "version": [ @@ -125404,25 +126263,25 @@ "repo": "minad/tempel", "unstable": { "version": [ - 20260119, - 1334 + 20260220, + 1157 ], "deps": [ "compat" ], - "commit": "6ffc61939d461df590f6913176c22bfecdda82e1", - "sha256": "0xcgiqq9fm7p050bc1vlr8ihhyl3nnp17f9xp63bs459038dr595" + "commit": "7120539bf047d3748636a7299fd7bca62ab2c74a", + "sha256": "17lisxzqnxm22132pdb04fk9dvl983x63x19wy0gcgybsbghzap3" }, "stable": { "version": [ 1, - 9 + 11 ], "deps": [ "compat" ], - "commit": "506a8d570c145f4df63a18921e34bac6bef3ebe0", - "sha256": "1d4flcfnszvl2nyxqav3ha42lx5mhj93f8r4l0gc4n3ir8x5y9f5" + "commit": "8d9a1646fb4014a5d34f3f19b7c894310f06a1e8", + "sha256": "08d1qd5k63y24sm082bkvyj48svggbryczz42kwjv6nyw9m3kwid" } }, { @@ -125485,6 +126344,21 @@ "sha256": "1ai27rlll766vp1njwzhvayad4k386j9x1hx550j1a8in9kk3wbh" } }, + { + "ename": "template-literals-ts-mode", + "commit": "9ab0a00e26d1b8acbaf140a2f7e27abc2f5192fb", + "sha256": "1xgdmmraxwzdlsvj8klwf14crq8kvl9bc91f5rh900fdv226g65n", + "fetcher": "github", + "repo": "ispringle/template-literals-ts-mode", + "unstable": { + "version": [ + 20260218, + 1632 + ], + "commit": "cb5d55b4d962efff42d067463bee8cfc0a61a318", + "sha256": "19lr14rv6z306cdvivbb1xbkzz4rqwgy62198c5l4458d658avw2" + } + }, { "ename": "template-overlays", "commit": "8856e67aae1f623714bc2a61a7b4773ed1fb2934", @@ -125577,6 +126451,21 @@ "sha256": "11nsh6dkd3i489lrqpd9xhr4c0ai51364rlrd6slm54720by9jql" } }, + { + "ename": "tengo-mode", + "commit": "9ae2528b4322ed892d54e61a2c7c086a028aeab1", + "sha256": "1c1c4lmilr7d1688df0ykn1j2gjg5n2sa942pr957fr2q0vay75n", + "fetcher": "github", + "repo": "CsBigDataHub/tengo-mode", + "unstable": { + "version": [ + 20260125, + 1430 + ], + "commit": "faafdf361abd19024d02e3890684ab61e6637dc8", + "sha256": "0n7rig7mk240z4lb8cvx5b0b2acqm444hy3q7s97zsmcqiwjfy1v" + } + }, { "ename": "term+", "commit": "091dcc3775ec2137cb61d66df4e72aca4900897a", @@ -125705,14 +126594,14 @@ "repo": "colonelpanic8/term-manager", "unstable": { "version": [ - 20240811, - 2337 + 20260220, + 840 ], "deps": [ "dash" ], - "commit": "fbf64768902cded6d75261515bd4aafe7cf56111", - "sha256": "05awn9fmm29jrrf8jflr0xy2c983lhx2r8xw7dkaimf4655pcy41" + "commit": "1581a90ff9b359449e056da55259b9f42e749f0c", + "sha256": "1x88d0ji2b5vq9z1qybbrfqgmjvq3skyp6884zywfb0rlnhl2jc8" }, "stable": { "version": [ @@ -126157,15 +127046,16 @@ "repo": "johannes-mueller/test-cockpit.el", "unstable": { "version": [ - 20250615, - 1258 + 20260224, + 1810 ], "deps": [ "projectile", - "toml" + "toml", + "transient" ], - "commit": "6a8527a495fb4611d569c85d06eb06154f8cfe5e", - "sha256": "1hhqx05crc5pfd2q66f6c3d03gb1x6w1lc7w5hyd94v078hjr2zh" + "commit": "09b8978bba47c8fcefcde435a93ec63255405f8c", + "sha256": "1zvyh6pp6l3slj1qm4zs6vvzjvrfa5f70vk5gx8599cad2c2s12q" }, "stable": { "version": [ @@ -126471,6 +127361,15 @@ ], "commit": "a9143dbd6a073a6538f011d4095432152de127b7", "sha256": "146pj02pj9pgqnqqnfi63v6pgcgzzasay9fx3an85q2wippxn38g" + }, + "stable": { + "version": [ + 0, + 1, + 0 + ], + "commit": "a9143dbd6a073a6538f011d4095432152de127b7", + "sha256": "146pj02pj9pgqnqqnfi63v6pgcgzzasay9fx3an85q2wippxn38g" } }, { @@ -126675,21 +127574,21 @@ "repo": "facebook/fbthrift", "unstable": { "version": [ - 20260119, - 23 + 20260223, + 1300 ], - "commit": "6703ee890ae89ff265f4a43373b91e72322af64b", - "sha256": "1zc9nywkn5glys8vhg6vd6n674r2v8y2k5hhxw31ci58qx4a67cg" + "commit": "22294ff47c55a132e57facf4fd294d5a6759c678", + "sha256": "1asv4wqzxy0i7hw8r3gmr4k0w37dz3jx5fbix27ixfyc55m73yll" }, "stable": { "version": [ 2026, - 1, - 19, + 2, + 23, 0 ], - "commit": "6703ee890ae89ff265f4a43373b91e72322af64b", - "sha256": "1zc9nywkn5glys8vhg6vd6n674r2v8y2k5hhxw31ci58qx4a67cg" + "commit": "22294ff47c55a132e57facf4fd294d5a6759c678", + "sha256": "1asv4wqzxy0i7hw8r3gmr4k0w37dz3jx5fbix27ixfyc55m73yll" } }, { @@ -126801,8 +127700,8 @@ "repo": "ananthakumaran/tide", "unstable": { "version": [ - 20241019, - 2101 + 20260219, + 336 ], "deps": [ "cl-lib", @@ -126810,8 +127709,8 @@ "flycheck", "s" ], - "commit": "6a35fe355f1442da34b976bf2decf008d6e4f991", - "sha256": "0sr7r7bbsj724s7k8g3a4sy462057n0v6l2wx512naxnzhkk56xq" + "commit": "9498c4c7fc97d8042fdff532f47f1dc79ebd163a", + "sha256": "16i4ay15864mbqvhc6m7allv4zgylfpb1m0zmz8sdj8sdkz4z4ip" }, "stable": { "version": [ @@ -126962,11 +127861,11 @@ "repo": "xenodium/time-zones", "unstable": { "version": [ - 20251231, - 1951 + 20260211, + 2330 ], - "commit": "fd94705f04b1e5bc4a9b08ef9092fea839fe92d7", - "sha256": "1bc3i7ljl03dikl5ldsm2gvh3s1w49vrcn4r9r12a05x10f4k4jn" + "commit": "9f1326ad9e62daa242a5174b193a27b28e209b36", + "sha256": "0wcbbxa6wsb08d76g4fyf4yblpx8rx8q96l2rhchk2jmrxl10rvz" }, "stable": { "version": [ @@ -127166,19 +128065,19 @@ "repo": "aimebertrand/timu-line", "unstable": { "version": [ - 20250228, - 2053 + 20260131, + 1904 ], - "commit": "b57cc4716ca9ced3ebd8df3e689f6b1a21816f7d", - "sha256": "17hvf57f1iy085crpqzzvcx00r9g1h4asblvb43vxl292bngbiql" + "commit": "745f38f27e9bf73323d25d9624d462ba977131c3", + "sha256": "0cs91pwjb8lp4dr8b4mwcj9awsh9rk9f5y17p21b8zw0lc250yx6" }, "stable": { "version": [ 1, - 5 + 6 ], - "commit": "b2ad1e2353b2b425537ddf5eb5ebedde5cd826b2", - "sha256": "07kh8raxz6kbak091g2m4hrhnmr49jvxk6qskji19spvfmpzrhy9" + "commit": "9ba731bd947b5851509c487be8f19887aab84234", + "sha256": "1cfxrzikbvqnjjyc73sasyimj2q0wlir3xna01g8l4xrzix8saw4" } }, { @@ -127212,11 +128111,11 @@ "repo": "aimebertrand/timu-rouge-theme", "unstable": { "version": [ - 20250411, - 36 + 20260122, + 1354 ], - "commit": "a9f396ee77c18c1df79b52389e203850446fce56", - "sha256": "13xjmklzsa8ls81r6j2r2lf0dpx40jsklz2ljdsh8igv85vz9kp8" + "commit": "a46e960a8f5aa078ec055bc1b819be52182fda0f", + "sha256": "0ibhwfzcgkhsgzlc7bzkkzl04f4n6kv51plw3i5qmr14d1gl98hs" }, "stable": { "version": [ @@ -127263,6 +128162,14 @@ ], "commit": "5f3b778eb7446ca2b366daacb9f1e71f1d89e097", "sha256": "03r0n1sx5dc4gnd9af674m1rfq9rzn53w5ndv8dxvzlax28w24gc" + }, + "stable": { + "version": [ + 1, + 0 + ], + "commit": "1198f4b97ee843641351375eaf57d3782ae64fea", + "sha256": "06yadc9kxi92mxagprqg66s46z1mg5yp9krk6lmlv9ps8dcsvz6x" } }, { @@ -127291,19 +128198,19 @@ "repo": "lesharris/tintin-mode", "unstable": { "version": [ - 20251001, - 2003 + 20260220, + 2337 ], - "commit": "7820fd9f15bfd0a492b03973621abd81c370babf", - "sha256": "0piyi4fj2xlml6rpqi8f5cslk7q7iqlh7fydpvj3jl6bjzrxl0nn" + "commit": "b94c10c5ba7fef01c53c4d4d66532e7abe82086c", + "sha256": "0qjxkzr5jvqcxrahifvfhr4pwlcqq8cxk8nwkysyf5fkzraz4wdz" }, "stable": { "version": [ 0, - 3 + 4 ], - "commit": "7820fd9f15bfd0a492b03973621abd81c370babf", - "sha256": "0piyi4fj2xlml6rpqi8f5cslk7q7iqlh7fydpvj3jl6bjzrxl0nn" + "commit": "b94c10c5ba7fef01c53c4d4d66532e7abe82086c", + "sha256": "0qjxkzr5jvqcxrahifvfhr4pwlcqq8cxk8nwkysyf5fkzraz4wdz" } }, { @@ -127686,11 +128593,11 @@ "repo": "topikettunen/tok-theme", "unstable": { "version": [ - 20251010, - 2231 + 20260216, + 949 ], - "commit": "2fcfa85cbfbe46198e7f126fd4ecd32c0cecee70", - "sha256": "1n4gwnpghpivsvgfd4c34wmrasqlksh4qzkhqr3gp6h3n2dp7xdx" + "commit": "f2af92c73108a55c383f3687b96b21e7f89e0782", + "sha256": "14giqd950j0cvciiw5rfq1yisagf22ar6y3ii820wgmns1dw3nhc" } }, { @@ -127827,11 +128734,11 @@ "repo": "jamescherti/tomorrow-night-deepblue-theme.el", "unstable": { "version": [ - 20260114, - 1535 + 20260215, + 2013 ], - "commit": "28170a5c5d9cec2af1531f12b284037fe7fd043c", - "sha256": "06k5ncmv6l8mz17ryrmwg32kc3zjm41d1rxkhgjw6gci1r0f0wrb" + "commit": "5e688cde3fe91a929a3f36d9311eddc9e0dec0b0", + "sha256": "1gbd7qcv78fhm99yi45rl9rl642iz9slv3jhflbh84zj8yamzpdn" }, "stable": { "version": [ @@ -127941,15 +128848,28 @@ "repo": "sarg/torrent-mode.el", "unstable": { "version": [ - 20250813, - 1529 + 20260130, + 2140 ], "deps": [ "bencoding", "tablist" ], - "commit": "5dbb59c60c0c2db24d3d138eb003c66c3578b7b4", - "sha256": "0r6hi18mjlip002lqfbch7fnkkzn5g1h2p3y9c6qmw79kd32qlf8" + "commit": "a35a7c193b638207de0a266e8ded6e4e8a54505e", + "sha256": "1ajmdz6vk68diyp93q0jbmwjwrwmdyszya7yppsn2qdpiksgz1z5" + }, + "stable": { + "version": [ + 0, + 2, + 2 + ], + "deps": [ + "bencoding", + "tablist" + ], + "commit": "a35a7c193b638207de0a266e8ded6e4e8a54505e", + "sha256": "1ajmdz6vk68diyp93q0jbmwjwrwmdyszya7yppsn2qdpiksgz1z5" } }, { @@ -128136,25 +129056,25 @@ "repo": "martianh/tp.el", "unstable": { "version": [ - 20250206, - 812 + 20260219, + 1435 ], "deps": [ "transient" ], - "commit": "cce2dfe0ec2b5c070cb13a7bdf95695eeb6e3caf", - "sha256": "1hv0j4dzwamhm2gp5123j415mq13347v5lsbxlrksha5nw9h7kds" + "commit": "cef3fc2daefbbfc29ad02b7e1f39542b57c72fe8", + "sha256": "1zhvridy6p7dy9hpf088k166a1c918hqf6k3jmnm7raw8vflc7qq" }, "stable": { "version": [ 0, - 7 + 8 ], "deps": [ "transient" ], - "commit": "cce2dfe0ec2b5c070cb13a7bdf95695eeb6e3caf", - "sha256": "1hv0j4dzwamhm2gp5123j415mq13347v5lsbxlrksha5nw9h7kds" + "commit": "cef3fc2daefbbfc29ad02b7e1f39542b57c72fe8", + "sha256": "1zhvridy6p7dy9hpf088k166a1c918hqf6k3jmnm7raw8vflc7qq" } }, { @@ -128426,16 +129346,16 @@ "repo": "magit/transient", "unstable": { "version": [ - 20260118, - 1322 + 20260223, + 946 ], "deps": [ "compat", "cond-let", "seq" ], - "commit": "5d4a7e718c56cb1b3f99a4cd04d204d627f124b0", - "sha256": "1b2xkivmpjf9crv6n2rfcmd63ri58xs0hxk19placlldr9z9i9ih" + "commit": "aa033dc685415a44545552a272212e69db64d8a8", + "sha256": "0nka7yrdfjfbpi4gbg7pd982diq5nbb0gf14yx5g1h5nxq01hibz" }, "stable": { "version": [ @@ -128904,26 +129824,26 @@ "repo": "emacs-tree-sitter/tree-sitter-langs", "unstable": { "version": [ - 20260119, - 1658 + 20260222, + 2023 ], "deps": [ "tree-sitter" ], - "commit": "94c368b26870ef05e2953db91dd2b88d467c13b8", - "sha256": "009gq18yb2xyf32xspc00i2dzyswaadm37hbibsrvkb76aq9fj30" + "commit": "57f9644e8485c8037e5bb506347029ce5b340695", + "sha256": "0msi526f5rbl0pgilf1ymynir9zxpipb27l46698imwhnp5acz6g" }, "stable": { "version": [ 0, 13, - 17 + 27 ], "deps": [ "tree-sitter" ], - "commit": "94c368b26870ef05e2953db91dd2b88d467c13b8", - "sha256": "009gq18yb2xyf32xspc00i2dzyswaadm37hbibsrvkb76aq9fj30" + "commit": "57f9644e8485c8037e5bb506347029ce5b340695", + "sha256": "0msi526f5rbl0pgilf1ymynir9zxpipb27l46698imwhnp5acz6g" } }, { @@ -129351,20 +130271,20 @@ "repo": "renzmann/treesit-auto", "unstable": { "version": [ - 20240511, - 1425 + 20260210, + 2010 ], - "commit": "016bd286a1ba4628f833a626f8b9d497882ecdf3", - "sha256": "03bvam7cpxqp4idhd235n76qdqhsbgw7m2lphy8qqwslbmcq23m4" + "commit": "31466e4ccfd4f896ce3145c95c4c1f8b59d4bfdf", + "sha256": "12fipf9kxxkwam0l9c1z0abik0gxjaqaxxf08m8svanfd0pvky8y" }, "stable": { "version": [ 1, 0, - 5 + 9 ], - "commit": "09d1c8c4b5bd981c6d613c95cf0ad859ad1fbc53", - "sha256": "1a2d49chymhfbd9w0msksyyqgsywn17mkzqglaw0k794sb1gzx2q" + "commit": "e10d10adcf1a71d2c1813b44be00774237dad750", + "sha256": "1qw6y3089h1n3zjr4bja6dg3gaxrmwfljxk22k31afj9bccibiqb" } }, { @@ -129545,6 +130465,36 @@ "sha256": "0x1knf2jqkd1sdswv1w902jnlppih2yw6z028268nizl0c9q92yn" } }, + { + "ename": "truename-cache", + "commit": "a28cc37a1b85e4fb42506886f7804e86cee4c502", + "sha256": "1xx0rzal1fcacr73q7dajp9rhiqla0qzkyla3xbh91qhirdplxpi", + "fetcher": "github", + "repo": "meedstrom/truename-cache", + "unstable": { + "version": [ + 20260224, + 1123 + ], + "deps": [ + "compat" + ], + "commit": "6536896f9b16218c0b85fc624b160e2b7f169f0d", + "sha256": "1cdrjy72wxpch63jsxkd37zhfzkk0pmdgyh5cjlkv58a0rfzg9bj" + }, + "stable": { + "version": [ + 0, + 3, + 0 + ], + "deps": [ + "compat" + ], + "commit": "6536896f9b16218c0b85fc624b160e2b7f169f0d", + "sha256": "1cdrjy72wxpch63jsxkd37zhfzkk0pmdgyh5cjlkv58a0rfzg9bj" + } + }, { "ename": "truthy", "commit": "f7a7e319dbe17e2b31353e7d7cab51d557d86e9d", @@ -129740,17 +130690,26 @@ }, { "ename": "ttl-mode", - "commit": "8a7d0c7287d157f45ebcb7a6ba2a776b3ee2bc2d", - "sha256": "1v34axc96n5aqsm9w2j94z8h9mqfa41300lx8aqccwj8a5qwk90k", + "commit": "8c91d71ce5c0a4355e15553ecc658d8f046bc8e4", + "sha256": "1a6fyd0qy7x60gn2x6nis9crs1n7d8hhml2gk5b1d9d9rx4z60gb", "fetcher": "github", - "repo": "nxg/ttl-mode", + "repo": "emacsattic/ttl-mode", "unstable": { "version": [ - 20170920, - 1329 + 20260210, + 1513 + ], + "commit": "66a9a27c828b6cc08cdd0184cfcf05beb5c2ac60", + "sha256": "0gfx8ns59vigpv53z4ps9v3wsfy33ivn73lh5dycib3g3ffrsfsb" + }, + "stable": { + "version": [ + 0, + 2, + 1 ], - "commit": "b4084667f92afbfe5916d1307916acbd68c52e5e", - "sha256": "18ak4gmlp68r1kk8sg6lpzq9yjp03g2q0iyww615y3hvv0c8zdpc" + "commit": "66a9a27c828b6cc08cdd0184cfcf05beb5c2ac60", + "sha256": "0gfx8ns59vigpv53z4ps9v3wsfy33ivn73lh5dycib3g3ffrsfsb" } }, { @@ -129761,11 +130720,11 @@ "repo": "DiogoDoreto/emacs-tts", "unstable": { "version": [ - 20251019, - 1853 + 20260213, + 2049 ], - "commit": "e270fec575c35a24a52b762b67ef12651ebbf435", - "sha256": "0rslfrzr66acvik0zpjrliipj5x2ixy7y84vv3yll6has1lxmnax" + "commit": "315cec02dd3c90516165a84231820f151ac7fcdd", + "sha256": "1yy0sdp7vv94cij0i220scy5aafi7b9qmv59r2k739sr82c3pd75" } }, { @@ -130089,15 +131048,15 @@ "repo": "tmalsburg/txl.el", "unstable": { "version": [ - 20260104, - 1659 + 20260202, + 1114 ], "deps": [ "guess-language", "request" ], - "commit": "e368746afba6d8ec170f479d06a10c4e2a9e2eee", - "sha256": "0za90idb0plcm9zhxb4k4a6m5crrjv61b1b64kzyl0vjlyxxhlfw" + "commit": "87fcd5f65cd572dd992abcbbff1b1f5990d8de7e", + "sha256": "0dzw5i5dnm8bjyhbnqam1cy1ass4hj5p7lv2y5qq049hir3y9bzl" } }, { @@ -130276,15 +131235,15 @@ "repo": "havarddj/typst-preview.el", "unstable": { "version": [ - 20251110, - 824 + 20260215, + 2252 ], "deps": [ "compat", "websocket" ], - "commit": "c685857f2d61133fc268509b39796b2718728f29", - "sha256": "1c0d87q9jpghwxvxj4a6dch0j9gihxngnncg28931lcss2ibm3gv" + "commit": "7e89cf105e4fef5e79977a4a790d5b3b18d305f6", + "sha256": "0lsbr9i8kmzjbl9k86g8jnsbgz2vrlys7cii4fjrkg0dg9ijvk2w" }, "stable": { "version": [ @@ -130308,11 +131267,11 @@ "repo": "md-arif-shaikh/tzc", "unstable": { "version": [ - 20240403, - 332 + 20260212, + 715 ], - "commit": "8f425cd6f020b5082445be9547e9308be73c6adf", - "sha256": "0wbgw4hvjqdflwjkyk9iscjh7243m9blbh9rzwinggkilgw44j2i" + "commit": "05f97298e7b20aefb41c16abe3eeae162dd1e2f9", + "sha256": "1xjqyspyjhvf1cq0jsaglggz2l6mwf8yd8vh13gi8vzfch2yv1vy" }, "stable": { "version": [ @@ -130559,6 +131518,30 @@ "sha256": "0iqkwrqmbcblnh00w0lsgnf79mcqdb52wrdx41mvq6hx31zgrcjp" } }, + { + "ename": "ultisnips-mode", + "commit": "a650d936916c474bba38498511ad0f458ec1aa35", + "sha256": "0xzx89acfzd7hl9p7vrfilh41v9zndclrbnialwg8l8rmzk4sb0m", + "fetcher": "github", + "repo": "jamescherti/ultisnips-mode.el", + "unstable": { + "version": [ + 20260215, + 2013 + ], + "commit": "a33c16dca1f8669db7132500cedab959a271a62b", + "sha256": "1z4vd29x5qz7gc50v614py9kp2iym1nd6i92i1him2g53ddhhzh1" + }, + "stable": { + "version": [ + 1, + 0, + 1 + ], + "commit": "035cacccebe1629eca5ce24fd6f597a4e5453d23", + "sha256": "085cw9yx2ybvn1sxl8y1jjvyzaqbkz2liv35jgzn41l8c6y16qyl" + } + }, { "ename": "ultra-scroll", "commit": "21b5917792cf971a29e5902bd57e22590c62f9d8", @@ -130741,11 +131724,11 @@ "repo": "ideasman42/emacs-undo-fu-session", "unstable": { "version": [ - 20260108, - 1313 + 20260209, + 754 ], - "commit": "34ae31308d2f290f87a330c76a627b7fe8ebb720", - "sha256": "174q13v7vrq5rfbpb8b1shv2qnsnhwpc59za2r2laph6hi0f0r4l" + "commit": "db5e165439c95bf36f3e48d0c87d3879cabb18f0", + "sha256": "05n9hmghn832zz4j8m1r9fia01j9wj88m50h9dfhxzd4drcyd2hv" } }, { @@ -130937,8 +131920,8 @@ "repo": "rolandwalker/unicode-fonts", "unstable": { "version": [ - 20230926, - 1502 + 20260202, + 1156 ], "deps": [ "font-utils", @@ -130947,8 +131930,8 @@ "persistent-soft", "ucs-utils" ], - "commit": "6245b97d8ddaeaf1de4dbe2cd85ca0f3b20ef81b", - "sha256": "1ckcvy10sz4qvjy1bqrpvaijw92q2da4b6bxbgxaxvrw5d0ih81f" + "commit": "d4a0648a2206d9a896433817110957b3b9e1c17a", + "sha256": "14xplcx1miq1qbpkxb5rijqk5qpn464kd2v4j85sqxdyf4a047ls" }, "stable": { "version": [ @@ -131138,14 +132121,14 @@ "repo": "tbanel/uniline", "unstable": { "version": [ - 20260109, - 823 + 20260222, + 905 ], "deps": [ "hydra" ], - "commit": "2aeee8f787ccbbb3da32100bceeb5d6c660aef7a", - "sha256": "0djaqcjcgi49zp0jlgfih8km55kp2i7166a8bp2nlz7lk813nvaj" + "commit": "36107e509f9da67738e38e41531f046cedf67159", + "sha256": "1wzv3gwfzfbaca82ykbxbg7cpffsby2szjwsk65qcif5cacfw397" } }, { @@ -131201,20 +132184,20 @@ "repo": "fmguerreiro/unison-ts-mode", "unstable": { "version": [ - 20260113, - 846 + 20260126, + 915 ], - "commit": "7f0ed7c03d98fefc88c420bc49c423c66db186d7", - "sha256": "13sy6kj29hlaqfdkk2hv86yi1i3wv6ibywf5sm9ndqnw8a8r50pv" + "commit": "83fe7aadecc5438be19ccb50b089c1ba95803839", + "sha256": "04abri83yz3yr3ffvj780sjljbhlz468a579i2i8rh01pgdz4dqx" }, "stable": { "version": [ 0, - 1, - 3 + 2, + 0 ], - "commit": "f8d291e8be9b2a3259d59e2d469660465a3d5deb", - "sha256": "184j5c3c2akqbwxk0j1aql5xyrwr14ml5ilnas65ybi80q9hnplm" + "commit": "e31a211899e5c249a521b8b1e09f48bcc40383af", + "sha256": "00z4l8d1p80lb0n2h2sp1bbhyc6rym1y0wvcrcqwiq5k023kacyc" } }, { @@ -132707,11 +133690,11 @@ "repo": "federicotdn/verb", "unstable": { "version": [ - 20251222, - 2151 + 20260223, + 2349 ], - "commit": "f45e31b2bcdea2a859bb28cbb1819469978457c9", - "sha256": "1izr1km3ysh0cdlli1r36b3y5m5kl1wmhi95qsidc701mlb0749n" + "commit": "0625fb314341a479dd472ae5e7f10375c1988131", + "sha256": "0njf304naa33l6cvgjh2zmblz46g27nszpf16hmyhfz3i92gzc6y" }, "stable": { "version": [ @@ -132939,14 +133922,14 @@ "repo": "minad/vertico", "unstable": { "version": [ - 20260118, - 743 + 20260210, + 1021 ], "deps": [ "compat" ], - "commit": "c12c8f842fd184db44fb2b835b0f954bbc90c7a6", - "sha256": "0klr2v6xhs7vkh5rsjpl58mgvnz25g12zq5jrplbcq4s2v6119xj" + "commit": "93f15873d7d6244d72202c5dd7724a030a2d5b9a", + "sha256": "00xhxk81vikdyn2q3jhxrac39rkxiimwqs1zx9ca0r7v6z5jpj8v" }, "stable": { "version": [ @@ -133202,20 +134185,20 @@ "repo": "jamescherti/vim-tab-bar.el", "unstable": { "version": [ - 20260114, - 1604 + 20260219, + 1823 ], - "commit": "64917611b8223fdfe080882738b64f5a2c90ff98", - "sha256": "1vwznly9c6l81fyhmfgdciqrzql69lirdn3adjfswq7hxa98284f" + "commit": "7c876e3f3faf1a45ac2ef7793548fd630510fd97", + "sha256": "1qcd57j2cjiqxww3krd6a7idaaz0mmzlw3fs8zval7ph6756khln" }, "stable": { "version": [ 1, 1, - 0 + 4 ], - "commit": "41f57f059bd89c8209a405afa2914482c9e9b306", - "sha256": "1lbx0v0xdwgnz8k8xyx2961xmygfdjri0fxhm5dyjz9wilcdas68" + "commit": "22d2d8a92b8d8cd0532c8382dcfe7df405f1563a", + "sha256": "00bajfkqcpn15d5vdr52nd56qny68r59xc7yshw7wxs9awfpxrzz" } }, { @@ -133698,11 +134681,11 @@ "repo": "emacs-vs/vs-dark-theme", "unstable": { "version": [ - 20260101, - 1429 + 20260217, + 1623 ], - "commit": "ce1442aa8ee8cdc37f29011fb0f88401918bb889", - "sha256": "11m59imwcv0bx80ci1ir5k2dh3qkivm6ri4xv0ci7zby4rjixi2w" + "commit": "ebc176a83808772746c55c91420a95b28b84c869", + "sha256": "04js1vkjf6pil0q6a2y5balciz5nqc8qwcj78kydbv4f2bd21ykf" }, "stable": { "version": [ @@ -133721,11 +134704,11 @@ "repo": "emacs-vs/vs-light-theme", "unstable": { "version": [ - 20260101, - 1430 + 20260217, + 1623 ], - "commit": "3403f6843a87adc38b46993db41610c2db1606f7", - "sha256": "1v363zsi4k9bkdhdi9qpk7q4p5wmhvd78f4x52jbsy6v3jn5vzd9" + "commit": "105c9f2530b4834e1a0ea35964dbbe2c52bbbe5f", + "sha256": "0x649h4ars0bqh3qlb9chdriq6w6rqrjjddfzd54025wksq1wwhy" }, "stable": { "version": [ @@ -133759,20 +134742,20 @@ "repo": "ianyepan/vscode-dark-plus-emacs-theme", "unstable": { "version": [ - 20230725, - 1703 + 20260219, + 434 ], - "commit": "65420ca73b543e1e7955905bea1a8d7e5fe6c5ff", - "sha256": "06wdyaiycxnmb6xgqv325413wl6017pr2z705hw78ddidjqlpi71" + "commit": "37f16729ee196dbfc533b02adea3d2129bdd8585", + "sha256": "1aphhpisg20cclclnygf8wrkrw9rxh2b653jnr86ikjki6j8sw98" }, "stable": { "version": [ 2, - 0, + 1, 0 ], - "commit": "41772165b3b1195a7e86747ea5b316b16be4c7ef", - "sha256": "1vcaqvhdgr91pr7kqskbscs8awm8jp6dkh79h6w36i9ipmc4l4hl" + "commit": "37f16729ee196dbfc533b02adea3d2129bdd8585", + "sha256": "1aphhpisg20cclclnygf8wrkrw9rxh2b653jnr86ikjki6j8sw98" } }, { @@ -133805,6 +134788,21 @@ "sha256": "0jmlgvm9jw247r4yqw4vyaq5slys5r54h33a183wafb30gvfsbi1" } }, + { + "ename": "vtab", + "commit": "f561b8304fdb12bbb7b8ef5a690b432595a42e80", + "sha256": "16hnc1s2jbw5zvi2gcwl1gsj3d2li7ib3km645p5qxkw9jb487q1", + "fetcher": "github", + "repo": "mugen-void/vtab", + "unstable": { + "version": [ + 20260209, + 1524 + ], + "commit": "ae2ef3915e19c6ebd36f7e87dc37219263744f23", + "sha256": "12sy6i1b0f63py9aby4gi5m28ybzf64s1hrpkdsqlzipmciyzh7k" + } + }, { "ename": "vterm", "commit": "a560fc2dbcfd37485890faf5243fbdb653ecaf99", @@ -133956,11 +134954,11 @@ "repo": "d12frosted/vui.el", "unstable": { "version": [ - 20260119, - 714 + 20260130, + 2113 ], - "commit": "c5547a204dac1c8149127e9142a293f0d23761a6", - "sha256": "15ggd6gd9k3hald1c8fb7jcvkb1d83y2k3nja1ky936rypg713ii" + "commit": "7d904ddff91325d756ad7ffd4dfb0db855f3a120", + "sha256": "03p61v8ra4fy83amhgmzidhlh66vwpgcclw8h2wlwzsxg4sf3lr5" }, "stable": { "version": [ @@ -134018,8 +135016,8 @@ "repo": "d12frosted/vulpea", "unstable": { "version": [ - 20260106, - 747 + 20260210, + 1556 ], "deps": [ "dash", @@ -134027,13 +135025,13 @@ "org", "s" ], - "commit": "8a7ffece1b683e7c7439e05419e942d93d536348", - "sha256": "1hbpmwl28538fykvz97rjg2zf3s1bk3sf46g1139gn1vf5f8px20" + "commit": "60bfe3959a3a68f4957f83e33bf793d73a34f21b", + "sha256": "1m32gk0fr5y9si3bm2gn8hvivyxkw5sqn25qjv4i83n8xm5gkdrg" }, "stable": { "version": [ 2, - 0, + 1, 0 ], "deps": [ @@ -134042,8 +135040,8 @@ "org", "s" ], - "commit": "89ed53b762acf0c2d1985ff1501db7eac6ef412f", - "sha256": "166brn15x3l59mbvl6lb5136fdyfr4zbmb4k9v5ii35ikcw29b3f" + "commit": "5392b43459374c612d54db94bf278b98d0e73a49", + "sha256": "0grn4xplh0492i6k3zsp4szdfngy19iv0djrjnv7wiv99p9jbvc8" } }, { @@ -134054,30 +135052,30 @@ "repo": "d12frosted/vulpea-journal", "unstable": { "version": [ - 20260118, - 1223 + 20260205, + 1628 ], "deps": [ "dash", "vulpea", "vulpea-ui" ], - "commit": "2d3b5b473669ab2b24b085ed632eb30770cd1cb8", - "sha256": "06l39x7sbl2agcgbwjgiksigczhc91gxkfa5pd2dg7y9j1k7wh6i" + "commit": "002344eedfce1690586c3a7d9de85f06e89d5bf2", + "sha256": "0yhqavbcsz0da7imjriz29hpwf6fj2nski4bk4xmrnlb4yj1iwdl" }, "stable": { "version": [ 1, 0, - 0 + 1 ], "deps": [ "dash", "vulpea", "vulpea-ui" ], - "commit": "1c674c4769d501269e3aae60dc31745fa8adfa2d", - "sha256": "0acg4gwg4hxnfc6cvh9sssi9pjvg7w16dyypffygkwwdyx85gqsf" + "commit": "7525fde77555d25cbe3b78fbe5cf35113b65e7cd", + "sha256": "0x47rvpmrpg6m2lyh7550mynkpjqqihgj7v04wbn2s85vr9gnv94" } }, { @@ -134088,28 +135086,28 @@ "repo": "d12frosted/vulpea-ui", "unstable": { "version": [ - 20260118, - 1232 + 20260201, + 944 ], "deps": [ "vui", "vulpea" ], - "commit": "2b07223f4e40cf309ad7215295afabc6ac9ecad7", - "sha256": "0yl0181smpqdc4q4lcyh168gvs0xdcyygypmkiy9lip97jpdjkjm" + "commit": "2d06f4ba4f21394ee2861c8c99348563a7c68bdd", + "sha256": "1l5slm4ql8qm50nixsis0x67ljc0pc9zz4n31n5fiq2wqc7biq1n" }, "stable": { "version": [ 1, - 0, + 1, 0 ], "deps": [ "vui", "vulpea" ], - "commit": "39c842e47bd523b5cc37a13838277b3154fed920", - "sha256": "12r506748rs84ihb0cn27rjmqh6nklzkqd49xiljixfidw9vkg5d" + "commit": "fdd6749cb4a252a369e09dd1c76d01f063b44d8b", + "sha256": "1jc8c1s8slsbs1yvyw0h14wcmzmyxrc15jpmmcvr0jibp7k45brr" } }, { @@ -134506,6 +135504,21 @@ "sha256": "18cs87m7h7djpb8pfignjcfhjgx2sh0p1fad0nhbyrykh94ym73i" } }, + { + "ename": "warm-mode", + "commit": "cbe1437976efbb674bc220080835c09e51c2e9e0", + "sha256": "1zvhkjzwfxgiglfr5xf2bm307ksn1xbfixcn1qd9sl87b7494i6y", + "fetcher": "github", + "repo": "smallwat3r/emacs-warm-mode", + "unstable": { + "version": [ + 20260209, + 1810 + ], + "commit": "27362826e970ed0e902bee3512d97dc02f196a7b", + "sha256": "0ivlsrmlmpcjf1nz7r8hf6ph2f0k9i4pvbg0wmk5wmsy37gbnr6h" + } + }, { "ename": "warm-night-theme", "commit": "312e3298d51b8ed72028df34dbd7620cdd03d8dd", @@ -134934,7 +135947,7 @@ }, { "ename": "webkit-color-picker", - "commit": "fdf3db5d263ec83c948273ea1390ccb16f788548", + "commit": "213520031412e385def90fd8cef402da87af1242", "sha256": "1k0akmamci7r8rp95n4wpj2006g9089zcljxcp35ac8449xxz47v", "fetcher": "github", "repo": "ozanmakes/emacs-webkit-color-picker", @@ -135092,25 +136105,25 @@ "repo": "ahyatt/emacs-websocket", "unstable": { "version": [ - 20230809, - 305 + 20260201, + 1517 ], "deps": [ "cl-lib" ], - "commit": "40c208eaab99999d7c1e4bea883648da24c03be3", - "sha256": "0bq0y63rriwsw6v8mn72773iqic2q52vx1j7mfa8br27sm6y1pd4" + "commit": "03d1cca4bd910a8df73e4ec637836c6ac25213a2", + "sha256": "1q54cv9vrhgwxkw11fn79rmvixy4vyfr2f9rbhfswbv04a96lkgp" }, "stable": { "version": [ 1, - 15 + 16 ], "deps": [ "cl-lib" ], - "commit": "40c208eaab99999d7c1e4bea883648da24c03be3", - "sha256": "0bq0y63rriwsw6v8mn72773iqic2q52vx1j7mfa8br27sm6y1pd4" + "commit": "03d1cca4bd910a8df73e4ec637836c6ac25213a2", + "sha256": "1q54cv9vrhgwxkw11fn79rmvixy4vyfr2f9rbhfswbv04a96lkgp" } }, { @@ -136175,6 +137188,21 @@ "sha256": "0qbsmqg4mh20k2lf7j92mc8p8qkvjc1a58klhqivpdl60z906z2a" } }, + { + "ename": "winpulse", + "commit": "9c81585651357829d1beb35014c733a578222523", + "sha256": "08hvk9lbcfi0mdvhxs7pj8gc3chqwzhlbi3agnbsbk2f67ccbd32", + "fetcher": "github", + "repo": "xenodium/winpulse", + "unstable": { + "version": [ + 20260216, + 2106 + ], + "commit": "c58352bea2223fd6f0cc11deb4d33bca2ff0213c", + "sha256": "0fpnh45mm608i41mv7abkkm4m29bzwhgls9r2gcdvcbsaddcfk61" + } + }, { "ename": "winring", "commit": "2476a28c33502f908b7161c5a9c63c86b8d7b57d", @@ -137019,14 +138047,14 @@ "repo": "cjennings/emacs-wttrin", "unstable": { "version": [ - 20251113, - 2014 + 20260221, + 1311 ], "deps": [ "xterm-color" ], - "commit": "bf989bb594680eb2e3b69f55752353aa33cb47bb", - "sha256": "0vphfq7whv53k631pn91hq6m28dmzn6hblgzwkcda6sval4x6qs8" + "commit": "b74b98f177d92d50ddbede900ba41212e07c5f63", + "sha256": "1whxfyq0gdgln7sj9dsg4911qg5r1p1kgnbig0vgxnff9r8v3hf4" }, "stable": { "version": [ @@ -137886,11 +138914,11 @@ "repo": "seahorse/yabaki-theme", "unstable": { "version": [ - 20231004, - 2023 + 20260201, + 1303 ], - "commit": "209f2be321509dac00631fff1b0f7ea01ba382de", - "sha256": "1qlfnnlc1av630vc89csg29ps54l4ld4aw8f55kqkpfm84l4ki5s" + "commit": "eae3e0015da43f38a17b5a378f61c0f21fb83f79", + "sha256": "0qpf2yiv2vf7bbi5r42s3xgahgjpmv6w9ax3gb4sps27hchv9xr9" }, "stable": { "version": [ @@ -138562,26 +139590,26 @@ "url": "https://git.thanosapollo.org/yeetube", "unstable": { "version": [ - 20251219, - 2333 + 20260130, + 411 ], "deps": [ "compat" ], - "commit": "b1093c75ab1729efbfd5bb92864ad8eab734eec6", - "sha256": "1srmf38zfc8qni40dlmlkdk12kvdgvk2qx507qzfvq3rlwawpzps" + "commit": "2eddda6d93050b25a00c739b8ad72b58ce8602cc", + "sha256": "0jydjijmmj1nkr4462w5j5b3hhy7ms43zpxs325mjna6f9cmylgd" }, "stable": { "version": [ 2, 1, - 10 + 11 ], "deps": [ "compat" ], - "commit": "e179f00b065188b5c50af7e307fc262a6efea7ff", - "sha256": "0krd2x0vyysqsgb7r3ca2qc7cl1s929gm52j5rihnqw0yfjpwgpv" + "commit": "2eddda6d93050b25a00c739b8ad72b58ce8602cc", + "sha256": "0jydjijmmj1nkr4462w5j5b3hhy7ms43zpxs325mjna6f9cmylgd" } }, { @@ -139425,11 +140453,11 @@ "repo": "meow_king/zig-ts-mode", "unstable": { "version": [ - 20251221, - 1517 + 20260123, + 242 ], - "commit": "e0fcb1b115ad334513caa6975f15eb54bca239db", - "sha256": "0qsp4l2v35h2akyl4ylmq1k61anf6mir13rikjv14343q3cj3k15" + "commit": "64611c6d512e4c15e8d1e3fd0fde6bd47c6c8f50", + "sha256": "19hayp03i2l2biyl572rbpr4108hfm149fyzy2rydxzjiwd595d9" } }, { diff --git a/pkgs/applications/editors/emacs/sources.nix b/pkgs/applications/editors/emacs/sources.nix index 468ea813ee424..0b6b3ad7a5639 100644 --- a/pkgs/applications/editors/emacs/sources.nix +++ b/pkgs/applications/editors/emacs/sources.nix @@ -85,7 +85,6 @@ let AndersonTorres adisbladis jwiegley - lovek323 panchoh ]; "macport" = with lib.maintainers; [ diff --git a/pkgs/applications/editors/jupyter/default.nix b/pkgs/applications/editors/jupyter/default.nix index 9b078be78a70f..4e7c915fd920e 100644 --- a/pkgs/applications/editors/jupyter/default.nix +++ b/pkgs/applications/editors/jupyter/default.nix @@ -14,8 +14,10 @@ let makeWrapperArgs = [ "--prefix JUPYTER_PATH : ${jupyterPath}" ]; }).overrideAttrs (oldAttrs: { + inherit (python3.pkgs.notebook) version; + pname = "jupyter"; meta = oldAttrs.meta // { - mainProgram = "jupyter-notebook"; + mainProgram = "jupyter"; }; }); in diff --git a/pkgs/applications/editors/neovim/utils.nix b/pkgs/applications/editors/neovim/utils.nix index 47d55e3042b62..23968bf21d0e0 100644 --- a/pkgs/applications/editors/neovim/utils.nix +++ b/pkgs/applications/editors/neovim/utils.nix @@ -177,7 +177,7 @@ let # the function you would have passed to python.withPackages extraPythonPackages ? (_: [ ]), # the function you would have passed to python.withPackages - withPython3 ? true, + withPython3 ? false, extraPython3Packages ? (_: [ ]), # the function you would have passed to lua.withPackages extraLuaPackages ? (_: [ ]), @@ -243,9 +243,9 @@ let */ generateProviderRc = { - withPython3 ? true, + withPython3 ? false, withNodeJs ? false, - withRuby ? true, + withRuby ? false, # Perl is problematic https://github.com/NixOS/nixpkgs/issues/132368 withPerl ? false, diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index e8f04ad30fc35..5234ad484c412 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -37,14 +37,14 @@ let # should contain all args but the binary. Can be either a string or list wrapperArgs ? [ ], withPython2 ? false, - withPython3 ? true, + withPython3 ? false, # the function you would have passed to python3.withPackages extraPython3Packages ? (_: [ ]), waylandSupport ? lib.meta.availableOn stdenv.hostPlatform wayland, withNodeJs ? false, withPerl ? false, - withRuby ? true, + withRuby ? false, # wether to create symlinks in $out/bin/vi(m) -> $out/bin/nvim vimAlias ? false, diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix index e335403a14a06..f5f18a30568e4 100644 --- a/pkgs/applications/editors/vim/common.nix +++ b/pkgs/applications/editors/vim/common.nix @@ -1,6 +1,6 @@ { lib, fetchFromGitHub }: rec { - version = "9.1.2109"; + version = "9.1.2148"; outputs = [ "out" @@ -11,7 +11,7 @@ rec { owner = "vim"; repo = "vim"; rev = "v${version}"; - hash = "sha256-Lglu940Uf0ZOaitoI41XK4Xgk7e1UeXsfdIxOMgNQ18="; + hash = "sha256-4ZEbfpffPp6kqSQRp7NFioWGRdG+JsVf7unU0Hqn/Xk="; }; enableParallelBuilding = true; diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index c5434d85a6ebb..fdc93162aaf50 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -87,12 +87,12 @@ final: prev: { Coqtail = buildVimPlugin { pname = "Coqtail"; - version = "1.9.0-unstable-2026-02-14"; + version = "1.9.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "whonore"; repo = "Coqtail"; - rev = "abd905d27e45fcb49009074aa6bcdaebb637594a"; - hash = "sha256-VKTfLdU7SwQohuTNefuhS5KCPbGLCDsr/mTABq+8hlk="; + rev = "d470fff7591bf826ca10090a14ccf2e1dc8199db"; + hash = "sha256-gXTXaCGIXyZfRfz9c29FG1kWD6E1sFXfB4Ar7wXr4H4="; }; meta.homepage = "https://github.com/whonore/Coqtail/"; meta.hydraPlatforms = [ ]; @@ -217,12 +217,12 @@ final: prev: { LeaderF = buildVimPlugin { pname = "LeaderF"; - version = "1.25-unstable-2026-02-13"; + version = "1.25-unstable-2026-02-27"; src = fetchFromGitHub { owner = "Yggdroot"; repo = "LeaderF"; - rev = "ba0efe3f14c17ed0141fa6758c24936fa7c27715"; - hash = "sha256-/BCTvKnXo4RVZ7f/2luHZSV7Xd989Nhb9HkqWZIfcqg="; + rev = "2c6c5d5e350762a2e209bddb65371c77afc65c08"; + hash = "sha256-1jxF93IMpyDFNEm93jFrgNXea0mCK01k87wmAlk2KPg="; }; meta.homepage = "https://github.com/Yggdroot/LeaderF/"; meta.hydraPlatforms = [ ]; @@ -412,12 +412,12 @@ final: prev: { SchemaStore-nvim = buildVimPlugin { pname = "SchemaStore.nvim"; - version = "0-unstable-2026-02-17"; + version = "0-unstable-2026-02-28"; src = fetchFromGitHub { owner = "b0o"; repo = "SchemaStore.nvim"; - rev = "55ca969ceed5209d62cbf4c20cef023ff188b6c5"; - hash = "sha256-svmvtIpyXTnLGvxm8eRBO3lvkqhAcv5l0EGZOJsUjfM="; + rev = "7e88652d0291bfd4c988737c176fa59e187904f2"; + hash = "sha256-voU0ZiStiNGj1vdFtcdQVXylR16jr8/McGbV/OJ01kQ="; }; meta.homepage = "https://github.com/b0o/SchemaStore.nvim/"; meta.hydraPlatforms = [ ]; @@ -686,12 +686,12 @@ final: prev: { aerial-nvim = buildVimPlugin { pname = "aerial.nvim"; - version = "3.0.0-unstable-2026-01-18"; + version = "3.1.0-unstable-2026-02-25"; src = fetchFromGitHub { owner = "stevearc"; repo = "aerial.nvim"; - rev = "7a6a42791eb2b54a7115c7db4488981f93471770"; - hash = "sha256-xFMusJEJi9BVEWnvfLGUMz83E5OdrIuO+dptS9C9Qtc="; + rev = "645d108a5242ec7b378cbe643eb6d04d4223f034"; + hash = "sha256-ugzNA/+Z2ReIy/8ks9wHEtmpTwpr8qqVR0xemw+GrUc="; fetchSubmodules = true; }; meta.homepage = "https://github.com/stevearc/aerial.nvim/"; @@ -726,12 +726,12 @@ final: prev: { agitator-nvim = buildVimPlugin { pname = "agitator.nvim"; - version = "0-unstable-2025-12-27"; + version = "0-unstable-2026-02-26"; src = fetchFromGitHub { owner = "emmanueltouzery"; repo = "agitator.nvim"; - rev = "9a8a9392d1007b8d9d24c833c3f901afad18fb3d"; - hash = "sha256-ZAdOwDp/iSYjxfdbNNdMIcCCfG6KQRkVjTG21o8P+Bs="; + rev = "87949ff3610d502d178e25bdbe906942771922b8"; + hash = "sha256-oT9xyB6ymkZnjgLwOoQdavntoCtTDB6Ts4dl+nLrwYQ="; }; meta.homepage = "https://github.com/emmanueltouzery/agitator.nvim/"; meta.hydraPlatforms = [ ]; @@ -960,12 +960,12 @@ final: prev: { artio-nvim = buildVimPlugin { pname = "artio.nvim"; - version = "0-unstable-2026-02-10"; + version = "0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "comfysage"; repo = "artio.nvim"; - rev = "3c692427444c4e1e3bf35cadc44c6c74ffadd9e9"; - hash = "sha256-wJtU6M9dRHm/qsrF3MEI7BNCM3TAkycMAcmNbg1KC10="; + rev = "36773f37b6b05b50e91777fd32351c80d995b928"; + hash = "sha256-nc0A3Z1nXl4m7GjF04PFIhZ94aQ78jVhAzFovcV31f0="; }; meta.homepage = "https://github.com/comfysage/artio.nvim/"; meta.hydraPlatforms = [ ]; @@ -999,12 +999,12 @@ final: prev: { astrotheme = buildVimPlugin { pname = "astrotheme"; - version = "4.10.0-unstable-2026-02-18"; + version = "4.10.1-unstable-2026-02-20"; src = fetchFromGitHub { owner = "AstroNvim"; repo = "astrotheme"; - rev = "7894b0368a5beeaca95fc0d421a7b67d3a818681"; - hash = "sha256-nCuMnUZgprNna4MZmA721iTiAOpOEEsINqc6vrD+cYo="; + rev = "4ed9d1110e62b8965cd35ba9419237057bb41550"; + hash = "sha256-MdcAj3cyfdnf2uo7AkdZlouNlfCPPQX6B92W1tQOlfE="; }; meta.homepage = "https://github.com/AstroNvim/astrotheme/"; meta.hydraPlatforms = [ ]; @@ -1194,12 +1194,12 @@ final: prev: { auto-fix-return-nvim = buildVimPlugin { pname = "auto-fix-return.nvim"; - version = "0.4.0-unstable-2025-12-31"; + version = "0.4.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "Jay-Madden"; repo = "auto-fix-return.nvim"; - rev = "a5b336522a614e0572bcc15fbeaa092ed4104277"; - hash = "sha256-dM9ZWncbVjRNk0VsGhngtPBM0kvSegnh1uXmljwCx8s="; + rev = "986e866d4c341b3d95f7794e96f2a6da4319b047"; + hash = "sha256-Ebb1vsNQuofWfxD+zOj1piOITSjXW4DTV0nM+P3cZyA="; }; meta.homepage = "https://github.com/Jay-Madden/auto-fix-return.nvim/"; meta.hydraPlatforms = [ ]; @@ -1623,12 +1623,12 @@ final: prev: { blink-cmp-dictionary = buildVimPlugin { pname = "blink-cmp-dictionary"; - version = "3.0.1-unstable-2026-02-16"; + version = "3.0.1-unstable-2026-02-26"; src = fetchFromGitHub { owner = "Kaiser-Yang"; repo = "blink-cmp-dictionary"; - rev = "a39c05e1f535ecf89b95777e471d0bf2569acb8b"; - hash = "sha256-O8j93VWUfa6Bhv9aPAQkmr3sVf9rp+ftkqmch8kAkWo="; + rev = "35142bba869b869715e91a99d2f46bcf93fca4ae"; + hash = "sha256-idDHERqdqKB8/we00oVEo1sTDqrwPRTsuWmmG0ISeoE="; }; meta.homepage = "https://github.com/Kaiser-Yang/blink-cmp-dictionary/"; meta.hydraPlatforms = [ ]; @@ -1649,12 +1649,12 @@ final: prev: { blink-cmp-git = buildVimPlugin { pname = "blink-cmp-git"; - version = "3.0.0-unstable-2025-10-09"; + version = "3.0.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "Kaiser-Yang"; repo = "blink-cmp-git"; - rev = "e3ad0ffaaa3b3b7e2158cc72cd6dad2d19842c46"; - hash = "sha256-zGXFZdID1ej8T1Knp4RpfJQ1uocw2GbOQEJbti6Pkhk="; + rev = "10783593af764424018a95e75df6ad5a8b66fe07"; + hash = "sha256-esSFTYQP46Vy7XMpgVneh90NX/373FVpqEQeQb2jUFQ="; }; meta.homepage = "https://github.com/Kaiser-Yang/blink-cmp-git/"; meta.hydraPlatforms = [ ]; @@ -1818,12 +1818,12 @@ final: prev: { blink-ripgrep-nvim = buildVimPlugin { pname = "blink-ripgrep.nvim"; - version = "2.2.2-unstable-2026-02-19"; + version = "2.2.4-unstable-2026-02-23"; src = fetchFromGitHub { owner = "mikavilpas"; repo = "blink-ripgrep.nvim"; - rev = "735af6c5d531f39c253c6270356c822a5d0fe03d"; - hash = "sha256-oZrw4ywCSF2g6Eu0662wSuLR6YhasM1rQ1bHqNQDKwQ="; + rev = "841e530f202c1dd96acc7034478517be3929fc27"; + hash = "sha256-stIfwl/1eF3AK7Kis0hkFcNNJVaDls2HrH/oGCdGg8E="; }; meta.homepage = "https://github.com/mikavilpas/blink-ripgrep.nvim/"; meta.hydraPlatforms = [ ]; @@ -1857,12 +1857,12 @@ final: prev: { bluloco-nvim = buildVimPlugin { pname = "bluloco.nvim"; - version = "1.4.0-unstable-2026-02-10"; + version = "1.4.0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "uloco"; repo = "bluloco.nvim"; - rev = "bfd8f9184d7f29e88649b4e0262730817eb5d695"; - hash = "sha256-gOflLiYtkFnDcq3sGtW4AtMzVY/al/7XANv3XDOU5Io="; + rev = "ca548a50c1c9ccbb3f730c6144a55d48017a07c6"; + hash = "sha256-TaSfIYeiXRKPs+RDKzpEnFUC+yqhG+ORTfM+9pWYuWc="; }; meta.homepage = "https://github.com/uloco/bluloco.nvim/"; meta.hydraPlatforms = [ ]; @@ -2338,12 +2338,12 @@ final: prev: { cmake-tools-nvim = buildVimPlugin { pname = "cmake-tools.nvim"; - version = "0-unstable-2026-02-12"; + version = "0-unstable-2026-02-26"; src = fetchFromGitHub { owner = "Civitasv"; repo = "cmake-tools.nvim"; - rev = "24502aec9166fd6b851762c5930ff316083acd85"; - hash = "sha256-eEZcxKQqwd4FyXKQpMwhq68Z2MeLS6GPpu7C3BV5UwE="; + rev = "ec3bc500aa1db11f16f6aa881af76871ed8e4de3"; + hash = "sha256-SeZfHy5/fv95zhQmCnvxtTDsqT9piD7WVxjj3hN1e0w="; }; meta.homepage = "https://github.com/Civitasv/cmake-tools.nvim/"; meta.hydraPlatforms = [ ]; @@ -2780,12 +2780,12 @@ final: prev: { cmp-nvim-ultisnips = buildVimPlugin { pname = "cmp-nvim-ultisnips"; - version = "1.0.0-unstable-2026-02-15"; + version = "1.0.0-unstable-2026-02-20"; src = fetchFromGitHub { owner = "quangnguyen30192"; repo = "cmp-nvim-ultisnips"; - rev = "43ee7b9b112511f8442324773cc7680aa94cd20e"; - hash = "sha256-KDjD7vuMceuqEZX7EDC2L1bzGqBBroSIzeLnRQxqtI0="; + rev = "7773477d99e9cefbbf956b820fb784b87643d89e"; + hash = "sha256-BwjkBU5yVZKYK8bfMQSct7rftuBjYzzF06CR5I68aHE="; }; meta.homepage = "https://github.com/quangnguyen30192/cmp-nvim-ultisnips/"; meta.hydraPlatforms = [ ]; @@ -3118,12 +3118,12 @@ final: prev: { coc-nvim = buildVimPlugin { pname = "coc.nvim"; - version = "0.0.82-unstable-2026-02-19"; + version = "0.0.82-unstable-2026-02-22"; src = fetchFromGitHub { owner = "neoclide"; repo = "coc.nvim"; - rev = "b2874f4ad26754ba0c6deaa00bc46f5ab7b0050c"; - hash = "sha256-pZb/eD+FgyKjRx4tXcYPxDxqc0gDfsRotPzhQKQOiFc="; + rev = "f36328bb5c75c2272872e6f236cbb6f4f85262af"; + hash = "sha256-F8+OSL8ThJJPiHimRmc4LVYyYaps7iLplqvJGD7XzTY="; }; meta.homepage = "https://github.com/neoclide/coc.nvim/"; meta.hydraPlatforms = [ ]; @@ -3196,12 +3196,12 @@ final: prev: { codecompanion-nvim = buildVimPlugin { pname = "codecompanion.nvim"; - version = "18.7.0-unstable-2026-02-18"; + version = "19.0.0-unstable-2026-02-28"; src = fetchFromGitHub { owner = "olimorris"; repo = "codecompanion.nvim"; - rev = "558518f8d78a44198cd428f6bf8bf48bfa38d76d"; - hash = "sha256-QZddLQ+0BR0/T+UjJcdzL+y6gTyBslnvf8yFmLzLL3M="; + rev = "a3710ff4f10a8f215ace1a4f5f0f881d0c6c4e93"; + hash = "sha256-wHZ/5ohunxyzOo+kWWA4rarYtHmJXJVEk6Xi1K43d64="; }; meta.homepage = "https://github.com/olimorris/codecompanion.nvim/"; meta.hydraPlatforms = [ ]; @@ -3222,12 +3222,12 @@ final: prev: { codesettings-nvim = buildVimPlugin { pname = "codesettings.nvim"; - version = "1.6.2-unstable-2026-02-19"; + version = "1.6.2-unstable-2026-02-28"; src = fetchFromGitHub { owner = "mrjones2014"; repo = "codesettings.nvim"; - rev = "87ea60f13f51a6e9dc804becc139841bd818377a"; - hash = "sha256-GM2BD8K3CKzCW0GcaF/58CwZuoIejauDI4xOWeR8iwg="; + rev = "7b59890022dae9136304248de34286cfc63cc201"; + hash = "sha256-I0fGNy431ga7ComGk2M3/vwKf+PtQzr7H8W+vLidwYg="; }; meta.homepage = "https://github.com/mrjones2014/codesettings.nvim/"; meta.hydraPlatforms = [ ]; @@ -3521,12 +3521,12 @@ final: prev: { conform-nvim = buildVimPlugin { pname = "conform.nvim"; - version = "9.1.0-unstable-2026-01-18"; + version = "9.1.0-unstable-2026-02-23"; src = fetchFromGitHub { owner = "stevearc"; repo = "conform.nvim"; - rev = "c2526f1cde528a66e086ab1668e996d162c75f4f"; - hash = "sha256-M2mGNF8iARiQ6MzIFSSE/2BRDSj1+XEP/C44dwg8MQ8="; + rev = "e969e302bced7ffb9a0a0323629f31feb0ca35a6"; + hash = "sha256-G8aSYN23reYvN73+xDxa4XoYd8os2dsEaRgm78J6txo="; fetchSubmodules = true; }; meta.homepage = "https://github.com/stevearc/conform.nvim/"; @@ -3561,12 +3561,12 @@ final: prev: { context-vim = buildVimPlugin { pname = "context.vim"; - version = "0-unstable-2024-07-19"; + version = "0-unstable-2026-02-20"; src = fetchFromGitHub { owner = "wellle"; repo = "context.vim"; - rev = "82eb26de265292808917b82f3eda2725b53d785c"; - hash = "sha256-je9IKsyxDO6zi+NqWkloXcji/lczFyBPgcX5mAfkl1w="; + rev = "b779a19653e94d4a7d6e668f1d71e48de34591fa"; + hash = "sha256-p7iMPS5Vbi78PTSbAD72Y56a62W8vsruXf/tFI56r7c="; }; meta.homepage = "https://github.com/wellle/context.vim/"; meta.hydraPlatforms = [ ]; @@ -3626,12 +3626,12 @@ final: prev: { copilot-lua = buildVimPlugin { pname = "copilot.lua"; - version = "0-unstable-2026-02-15"; + version = "0-unstable-2026-02-28"; src = fetchFromGitHub { owner = "zbirenbaum"; repo = "copilot.lua"; - rev = "dd3e345d59051464573d821b042f0a0c82410b5d"; - hash = "sha256-0aPy0GE51H3HzhlX5eT4y/0BaFVRPY6kk5qMh/yY0+E="; + rev = "00446a63cba4cc59bb24fc1e210a555a3e4acdfb"; + hash = "sha256-FL6OSeOtTTpswVBkMIun8tyoXchBQIOgofUBonlSVzQ="; }; meta.homepage = "https://github.com/zbirenbaum/copilot.lua/"; meta.hydraPlatforms = [ ]; @@ -4146,12 +4146,12 @@ final: prev: { ddc-vim = buildVimPlugin { pname = "ddc.vim"; - version = "10.2.0-unstable-2026-02-08"; + version = "10.2.0-unstable-2026-02-26"; src = fetchFromGitHub { owner = "Shougo"; repo = "ddc.vim"; - rev = "8866a87378974ecab8ae11834cd826261a449372"; - hash = "sha256-JuHnFAo7er5YLN/o1QFypzcvLCjypkT5IWbV+6wGtgU="; + rev = "951ae4d5cbc594d59e8a57c247e3fc27d1688b68"; + hash = "sha256-EgjM/jM6LtS2pDyBzDXmyG3YUvbbLGcuj0gTjWT9A7U="; }; meta.homepage = "https://github.com/Shougo/ddc.vim/"; meta.hydraPlatforms = [ ]; @@ -4642,12 +4642,12 @@ final: prev: { diagram-nvim = buildVimPlugin { pname = "diagram.nvim"; - version = "0-unstable-2026-02-14"; + version = "0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "3rd"; repo = "diagram.nvim"; - rev = "6c25f65f0a83c7ee50d93e3789f7d012a0d91021"; - hash = "sha256-d0/ycyLJWbdMbC7+U9TEUQh4eb/Op6ZjDsIPPmql+sE="; + rev = "89d8110ec15021ac9a03ff2317d27b900c45bf60"; + hash = "sha256-0KgZ/3q26b7MxMPRXp4/mgfl7tIUD3PnC6TYgagDGP4="; }; meta.homepage = "https://github.com/3rd/diagram.nvim/"; meta.hydraPlatforms = [ ]; @@ -4824,12 +4824,12 @@ final: prev: { easy-dotnet-nvim = buildVimPlugin { pname = "easy-dotnet.nvim"; - version = "0-unstable-2026-02-19"; + version = "0-unstable-2026-02-27"; src = fetchFromGitHub { owner = "GustavEikaas"; repo = "easy-dotnet.nvim"; - rev = "14ed344ab36318ea76507d661d838fb8c218b217"; - hash = "sha256-q6RiyDlPdBEQm7dG3TdRBdbQRFlj6lCRKXkWFqL+LXU="; + rev = "2798795edc9f4e14734444ab7dec45ae67ee78e7"; + hash = "sha256-zIoHyEdpHho+QjqBt3G/ZXIDt/W/xWqOAO4s9PaBO0Q="; }; meta.homepage = "https://github.com/GustavEikaas/easy-dotnet.nvim/"; meta.hydraPlatforms = [ ]; @@ -5086,11 +5086,11 @@ final: prev: { evergarden-nvim = buildVimPlugin { pname = "evergarden-nvim"; - version = "0-unstable-2026-02-17"; + version = "0-unstable-2026-02-22"; src = fetchgit { url = "https://codeberg.org/evergarden/nvim"; - rev = "99c96fb681512531222c309206f94b6f97ee68d7"; - hash = "sha256-WVLSJtK37dst8PBKwWW2tqZvY6Qy2aYpMqz3ptdbRg4="; + rev = "eaf4645312299fe767c9fc43b0cbf52e3a6e9598"; + hash = "sha256-iDrNT98kPKuUpjoIwS8x2WMbf+pJAEs/nWSAZTQZM8Q="; }; meta.homepage = "https://codeberg.org/evergarden/nvim"; meta.hydraPlatforms = [ ]; @@ -5422,6 +5422,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + flow-nvim = buildVimPlugin { + pname = "flow.nvim"; + version = "2.0.2-unstable-2026-02-25"; + src = fetchFromGitHub { + owner = "0xstepit"; + repo = "flow.nvim"; + rev = "1fe4ff584b53298e41a9f8cf108f23967cc9280c"; + hash = "sha256-fc3H89D2xW2GZuJiHDgRJz5zYt8FQ4Azqh0o5HGcgLw="; + }; + meta.homepage = "https://github.com/0xstepit/flow.nvim/"; + meta.hydraPlatforms = [ ]; + }; + fluent-vim = buildVimPlugin { pname = "fluent.vim"; version = "0-unstable-2025-04-26"; @@ -5477,12 +5490,12 @@ final: prev: { follow-md-links-nvim = buildVimPlugin { pname = "follow-md-links.nvim"; - version = "0-unstable-2025-09-01"; + version = "0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "jghauser"; repo = "follow-md-links.nvim"; - rev = "728d96d268eef9666f0ee77a083e7e2f0b44f607"; - hash = "sha256-kpnm70aprkWgeP0MAC3XtbbKRkQ3I6MtruaEbTaK2RQ="; + rev = "99c4e7c78c0211e02c9ff282044b45f7b9dc2d0f"; + hash = "sha256-qngq7nvxi+Ijxa4sGBRE9m/tqPXSsmznVcTG99I0Yjo="; }; meta.homepage = "https://github.com/jghauser/follow-md-links.nvim/"; meta.hydraPlatforms = [ ]; @@ -5776,12 +5789,12 @@ final: prev: { ghcid = buildVimPlugin { pname = "ghcid"; - version = "0.8.9-unstable-2023-10-15"; + version = "0.8.9-unstable-2026-02-24"; src = fetchFromGitHub { owner = "ndmitchell"; repo = "ghcid"; - rev = "b7dc5c4ee640b6c8137ecfd0a2b50df278015221"; - hash = "sha256-BzXsAeCBPwlqmkdAXsObCn3BSH0Aehz4v6PXmziq5jI="; + rev = "7979585f155a43272f324891a5bc2b5df3e05290"; + hash = "sha256-aWwvuKyDX0CyeK0oZoB9iaSijPsAdUbb8g/QUNTtKBo="; }; meta.homepage = "https://github.com/ndmitchell/ghcid/"; meta.hydraPlatforms = [ ]; @@ -6192,12 +6205,12 @@ final: prev: { gruvbox-material-nvim = buildVimPlugin { pname = "gruvbox-material.nvim"; - version = "1.8.0-unstable-2026-02-10"; + version = "1.8.0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "f4z3r"; repo = "gruvbox-material.nvim"; - rev = "a69d8badf83add3abe172000f4ae271fd8967ff5"; - hash = "sha256-u7p7mrUb77ubLZjkGq6MhdJ2OyU+ClgTpVfk8ULt5vQ="; + rev = "b5bb00910e98f49cc9311d19e03bc17ae8531c12"; + hash = "sha256-zHkNWdjl1NqJPnIjfqgIQE26k2HkfXz1W9fVridAm1w="; }; meta.homepage = "https://github.com/f4z3r/gruvbox-material.nvim/"; meta.hydraPlatforms = [ ]; @@ -6532,12 +6545,12 @@ final: prev: { himalaya-vim = buildVimPlugin { pname = "himalaya-vim"; - version = "0-unstable-2026-02-09"; + version = "0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "pimalaya"; repo = "himalaya-vim"; - rev = "c896be12f85347d255e3e0a6795dbfbc8282ba8e"; - hash = "sha256-mUL5+86XOZ6+lKW27SHrVT5e+sCTSXwQkvoz7/jBW4I="; + rev = "978f2b463c4ece28f5e1457029d399638e439704"; + hash = "sha256-mm7fU/xnKzUfIvJN7tQfIRswWood7HPAmuD9PZUEN6I="; }; meta.homepage = "https://github.com/pimalaya/himalaya-vim/"; meta.hydraPlatforms = [ ]; @@ -7052,12 +7065,12 @@ final: prev: { iron-nvim = buildVimPlugin { pname = "iron.nvim"; - version = "0-unstable-2026-01-05"; + version = "0-unstable-2026-02-20"; src = fetchFromGitHub { owner = "Vigemus"; repo = "iron.nvim"; - rev = "0e07ace465edff6c4ed6db9f3b7bf919c40aeffb"; - hash = "sha256-KZQlpJYWWFCO2YzdRfuB6w98X+oArxZXx6daZIcQnZU="; + rev = "88cd340407b959f1168af2a6ae5a3d180e6df32c"; + hash = "sha256-I2o1H9iRgGHmLA0v2U508hKWFCFrvZxXGWUOLtke7Do="; }; meta.homepage = "https://github.com/Vigemus/iron.nvim/"; meta.hydraPlatforms = [ ]; @@ -7170,12 +7183,12 @@ final: prev: { jj-nvim = buildVimPlugin { pname = "jj.nvim"; - version = "0.4.1-unstable-2026-02-19"; + version = "0.5.0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "NicolasGB"; repo = "jj.nvim"; - rev = "86d15cecec172f343c22a70c7e4fa5a052d34244"; - hash = "sha256-Lwjz/3s4o29W8cC5XsPXafipIh33K973ZPaFNjIDoqo="; + rev = "bbba4051c862473637e98277f284d12b050588ca"; + hash = "sha256-nokftWcAmmHX6UcH6O79xkLwbUpq1W8N9lf1e+NyGqE="; }; meta.homepage = "https://github.com/NicolasGB/jj.nvim/"; meta.hydraPlatforms = [ ]; @@ -7222,12 +7235,12 @@ final: prev: { julia-vim = buildVimPlugin { pname = "julia-vim"; - version = "1.0-unstable-2026-01-11"; + version = "1.0-unstable-2026-02-26"; src = fetchFromGitHub { owner = "JuliaEditorSupport"; repo = "julia-vim"; - rev = "edd3512748bd07252fa79f3c01b759921192a319"; - hash = "sha256-MMNfl2qEy8A0/5rdf1PSfExkRn2fzj8NcSgn5yAwVfU="; + rev = "52b30547346b21bc93acda28d626795667f9e087"; + hash = "sha256-IiYX8sBzAvbMSzZhMBbam7xh8znK8qVSVWppZLKkemk="; }; meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/"; meta.hydraPlatforms = [ ]; @@ -7313,12 +7326,12 @@ final: prev: { kitty-scrollback-nvim = buildVimPlugin { pname = "kitty-scrollback.nvim"; - version = "6.4.0-unstable-2026-01-21"; + version = "8.0.0-unstable-2026-02-27"; src = fetchFromGitHub { owner = "mikesmithgh"; repo = "kitty-scrollback.nvim"; - rev = "5574df779fbe03205a08af4d9154279ff491be75"; - hash = "sha256-9sKNkfBLTViTTcozLfV3KXBenY55tS3rPE6RGQoQmHc="; + rev = "a517979f4130ef29ba0e5a9e25b38a6e877e3133"; + hash = "sha256-mRAHH5KzC9Cz/HHGSJ1oIi5ybrs03GBgASaDMrNywxs="; }; meta.homepage = "https://github.com/mikesmithgh/kitty-scrollback.nvim/"; meta.hydraPlatforms = [ ]; @@ -7365,12 +7378,12 @@ final: prev: { koda-nvim = buildVimPlugin { pname = "koda.nvim"; - version = "2.6.0-unstable-2026-02-13"; + version = "2.7.0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "oskarnurm"; repo = "koda.nvim"; - rev = "25c52c710a5083cf6f3ac533d57fefecce7e2021"; - hash = "sha256-kErR1LB4K/RAFKcSUV/VnQajtGVFj+0rdvNn84hWpUY="; + rev = "c94415d9c63c1519216fe195ae957974e7e3250c"; + hash = "sha256-wRIklrCcbOV2D26FcDTcN8SJ2GDJuVFnYy6qmKWRypo="; }; meta.homepage = "https://github.com/oskarnurm/koda.nvim/"; meta.hydraPlatforms = [ ]; @@ -7561,12 +7574,12 @@ final: prev: { lean-nvim = buildVimPlugin { pname = "lean.nvim"; - version = "2025.10.1-unstable-2026-02-17"; + version = "2025.10.1-unstable-2026-02-28"; src = fetchFromGitHub { owner = "Julian"; repo = "lean.nvim"; - rev = "7b2807a759b9b895e6e5e20ae4b147074584fd9c"; - hash = "sha256-0ybbB3/HWT9zudIlArbxzwUQR2o9DkBg8acYG1jTrls="; + rev = "539facb84f490a0e859d82cebf5974e80a492edc"; + hash = "sha256-Lhu6KanBHrmfE/xyZCBvDT5bFm8zYyw+OiLaucCXiGQ="; }; meta.homepage = "https://github.com/Julian/lean.nvim/"; meta.hydraPlatforms = [ ]; @@ -7600,11 +7613,11 @@ final: prev: { leap-nvim = buildVimPlugin { pname = "leap.nvim"; - version = "0-unstable-2026-02-17"; + version = "0-unstable-2026-02-23"; src = fetchgit { url = "https://codeberg.org/andyg/leap.nvim/"; - rev = "eda0138a408a5600c45e324c69fe73c9df30939c"; - hash = "sha256-KI6wQLoLiI4g/X8//uVHlfcW7cW/u5xwb7WhBHfNsKM="; + rev = "b81866399072af08195ebfbcfea9d3dcab970972"; + hash = "sha256-NLQYJSpCMefz6KxY9lLMHaKnmuxGwqaUdRIEnu2l2nw="; }; meta.homepage = "https://codeberg.org/andyg/leap.nvim/"; meta.hydraPlatforms = [ ]; @@ -7963,12 +7976,12 @@ final: prev: { live-preview-nvim = buildVimPlugin { pname = "live-preview.nvim"; - version = "0.9.6-unstable-2026-01-24"; + version = "0.9.6-unstable-2026-02-20"; src = fetchFromGitHub { owner = "brianhuster"; repo = "live-preview.nvim"; - rev = "f056b4b859d54595afce53e67129f7684380d3ba"; - hash = "sha256-G1GomHy/NrCF6RLJ2+RQw9RtLoSOicOepgt8dZm5UC4="; + rev = "4bbcbe79948b2726f00b5217277abd1e2651e699"; + hash = "sha256-M1clesL0aKVxOaE/E1+Q82kJRL4AygYT8Gu2ITnfYac="; }; meta.homepage = "https://github.com/brianhuster/live-preview.nvim/"; meta.hydraPlatforms = [ ]; @@ -8275,12 +8288,12 @@ final: prev: { luau-lsp-nvim = buildVimPlugin { pname = "luau-lsp.nvim"; - version = "1.6.0-unstable-2026-02-07"; + version = "1.6.0-unstable-2026-02-25"; src = fetchFromGitHub { owner = "lopi-py"; repo = "luau-lsp.nvim"; - rev = "7706dc850adee2ae4dd593e853bda8b9fe9ac785"; - hash = "sha256-oSp/4f3wkLaDQgaGTBIvbdZgs56NdeQgzV4fT2VjM9c="; + rev = "97c4f400bbdd3b70016b06d99b585be310ae5864"; + hash = "sha256-w1QF0PeaDjxp05wpwCkK9DYldYOnhrE1u3h10/2jmSw="; }; meta.homepage = "https://github.com/lopi-py/luau-lsp.nvim/"; meta.hydraPlatforms = [ ]; @@ -8327,12 +8340,12 @@ final: prev: { maple-nvim = buildVimPlugin { pname = "maple.nvim"; - version = "0.2.0-unstable-2026-02-19"; + version = "0.2.0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "forest-nvim"; repo = "maple.nvim"; - rev = "6b9be3d52a12487469b80c2e3bad27241f210dd0"; - hash = "sha256-iejN+W0pWyjaS0q+EJKnbvMiIiYHrJ2K1Jl6mLjcWQM="; + rev = "eb7ad5a75601336f3ffa8d3ebf76ca6cfda1a076"; + hash = "sha256-/+8vcQq1jsjBZeygKxoAqSYvrZGUQ9o8G3wQWF0t+YA="; }; meta.homepage = "https://github.com/forest-nvim/maple.nvim/"; meta.hydraPlatforms = [ ]; @@ -8418,12 +8431,12 @@ final: prev: { markview-nvim = buildVimPlugin { pname = "markview.nvim"; - version = "28.0.0-unstable-2026-02-02"; + version = "28.0.0-unstable-2026-02-22"; src = fetchFromGitHub { owner = "OXY2DEV"; repo = "markview.nvim"; - rev = "9e852c299351fc2110e763edc7fc899358ee112e"; - hash = "sha256-qWVnU8p22zmN2kzPuJv7ikQbs80EkTIIClQg3htPfT4="; + rev = "633e627f82011dc888ea4444a98c98bd783951b0"; + hash = "sha256-7/EOWWIA7JBsJcRzJaqp30PhI33C3maYNZBbnSNw8Pw="; fetchSubmodules = true; }; meta.homepage = "https://github.com/OXY2DEV/markview.nvim/"; @@ -8432,12 +8445,12 @@ final: prev: { mason-lspconfig-nvim = buildVimPlugin { pname = "mason-lspconfig.nvim"; - version = "2.1.0-unstable-2026-02-12"; + version = "2.1.0-unstable-2026-02-28"; src = fetchFromGitHub { owner = "mason-org"; repo = "mason-lspconfig.nvim"; - rev = "21c2a84ce368e99b18f52ab348c4c02c32c02fcf"; - hash = "sha256-BzErqyHQiCePyJwxzcK8YaxWRLs0RHAWUSckA/ONlGw="; + rev = "a324581a3c83fdacdb9804b79de1cbe00ce18550"; + hash = "sha256-fN9pXmoUIxJQ6KPoQlaewqay2AxuskhRMIq01wPA6NM="; }; meta.homepage = "https://github.com/mason-org/mason-lspconfig.nvim/"; meta.hydraPlatforms = [ ]; @@ -8510,12 +8523,12 @@ final: prev: { material-nvim = buildVimPlugin { pname = "material.nvim"; - version = "0-unstable-2026-01-05"; + version = "0-unstable-2026-02-23"; src = fetchFromGitHub { owner = "marko-cerovac"; repo = "material.nvim"; - rev = "52c121551ffbf7b8f25bed3ef5878e5d6896c786"; - hash = "sha256-P/Yikhb8PxT1NyIcdRBXvhmc2UjGfh8HkBD/7NIXiXA="; + rev = "92f7366a9315cd386bc4fa4d716fde375dda210f"; + hash = "sha256-rix4puBEf1hKqPDHaliehemXCaeDI6rwMAWLm0E038Q="; }; meta.homepage = "https://github.com/marko-cerovac/material.nvim/"; meta.hydraPlatforms = [ ]; @@ -8536,12 +8549,12 @@ final: prev: { mattn-calendar-vim = buildVimPlugin { pname = "mattn-calendar-vim"; - version = "0-unstable-2022-02-10"; + version = "0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "mattn"; repo = "calendar-vim"; - rev = "2083a41e2d310f9bbbbf644517f30e901f1fb04d"; - hash = "sha256-uOiKzhl+3Pi0pFLecQqUWveN+1Z3Tu/UiSPBmS+bio8="; + rev = "a6353c41c9ff3edfa8b5f1c06f40d38ab6066b4d"; + hash = "sha256-omCxoXxpa5rmmCemfqdx7C+GHCsr7sRquO5HbKNO6pA="; }; meta.homepage = "https://github.com/mattn/calendar-vim/"; meta.hydraPlatforms = [ ]; @@ -8653,12 +8666,12 @@ final: prev: { mini-ai = buildVimPlugin { pname = "mini.ai"; - version = "0.17.0-unstable-2026-02-17"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.ai"; - rev = "b0247752cf629ce7c6bd0a1efd82fb58ff60f9d6"; - hash = "sha256-ej4G9SxjQxLa+VaroxOJls9+EQZY60iBxRjHkC+4tmk="; + rev = "4b0a6207341d895b6cfe9bcb1e4d3e8607bfe4f4"; + hash = "sha256-XnDd1boghdwRsq5eOUttJV1jjVepVX1obgQcwLvru3A="; }; meta.homepage = "https://github.com/nvim-mini/mini.ai/"; meta.hydraPlatforms = [ ]; @@ -8666,12 +8679,12 @@ final: prev: { mini-align = buildVimPlugin { pname = "mini.align"; - version = "0.17.0-unstable-2026-02-17"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.align"; - rev = "94a80efd1979839121bf011c856acb0459598433"; - hash = "sha256-AK5XAFGmiyqlelRRGU7j7Tee+Nt2mh+PRKFc0BVfgCM="; + rev = "4d45e0e4f1fd8baefb6ae52a44659704fe7ebe8b"; + hash = "sha256-MdbSIDfCasGbS9MPGLRUh8rYbu1zKpSiyEtzgJlgf4k="; }; meta.homepage = "https://github.com/nvim-mini/mini.align/"; meta.hydraPlatforms = [ ]; @@ -8679,12 +8692,12 @@ final: prev: { mini-animate = buildVimPlugin { pname = "mini.animate"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.animate"; - rev = "0365de8b69331c25d0d0d7573407a7dc7719e578"; - hash = "sha256-9Wd000OvRT6EdT5g/KMH/h22cbjhj9AdE7KjWAkFB7A="; + rev = "8814b56e282cd86635ce9a392ed56b6a85f59731"; + hash = "sha256-ZTmHeNXgHqny3joHJeRFv2vOGmD+3Tm06xrSgqddVGo="; }; meta.homepage = "https://github.com/nvim-mini/mini.animate/"; meta.hydraPlatforms = [ ]; @@ -8692,12 +8705,12 @@ final: prev: { mini-base16 = buildVimPlugin { pname = "mini.base16"; - version = "0.17.0-unstable-2025-12-27"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.base16"; - rev = "852a1ab7700dd5ca56ec94232ea7bc2d6158662a"; - hash = "sha256-1OXGZf9OqvxiAJqvfYolFull+gHw+3bUaysiBXO6T60="; + rev = "e1e82653c1ece8b7fbe7e17e1d06b5f23139f5e5"; + hash = "sha256-Z3v+GVGcsq8ujcPAcq+Onhwgc9Ec3QK1IYCC64uuOzE="; }; meta.homepage = "https://github.com/nvim-mini/mini.base16/"; meta.hydraPlatforms = [ ]; @@ -8705,12 +8718,12 @@ final: prev: { mini-basics = buildVimPlugin { pname = "mini.basics"; - version = "0.17.0-unstable-2026-01-08"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.basics"; - rev = "9f80f04cf4732939514b304e7c9146b9dc8e54c3"; - hash = "sha256-Qtxai0RM+lhIPI0koOCPaScSG7faAQb6wK6JDoZSD6g="; + rev = "611f7147173ec60196d145203e1e2d6e3899fefc"; + hash = "sha256-5/wdsHIeMixx7hSBVUHpT/F6x9/RKpUhd84ZvKbxhJQ="; }; meta.homepage = "https://github.com/nvim-mini/mini.basics/"; meta.hydraPlatforms = [ ]; @@ -8718,12 +8731,12 @@ final: prev: { mini-bracketed = buildVimPlugin { pname = "mini.bracketed"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.bracketed"; - rev = "e50e3abcf6a3a5d234f58e4a247dfb3035f30a65"; - hash = "sha256-JTsiirA2RYTTtkWJvxrbNwiQ3PALjKpK/jG3Mtz8Ujs="; + rev = "75369c33613b911d1ce304475dc4d30cd255c9ed"; + hash = "sha256-/ycxlNY1iT4OIfhd2mFP8rwNqXpzF6r9D9uPSLQER48="; }; meta.homepage = "https://github.com/nvim-mini/mini.bracketed/"; meta.hydraPlatforms = [ ]; @@ -8731,12 +8744,12 @@ final: prev: { mini-bufremove = buildVimPlugin { pname = "mini.bufremove"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.bufremove"; - rev = "10857aa39160c127694151828914df3131ba83b6"; - hash = "sha256-BRTwWbsgGwL4CD4CWJORHtSSrD5F3YxMxNc++W/4qYo="; + rev = "ee69f823f84508c556127a5882760d9783692023"; + hash = "sha256-bGCyXpa22i86gMupyZxc/lVYAR9vJsgSNzEiS9qzZao="; }; meta.homepage = "https://github.com/nvim-mini/mini.bufremove/"; meta.hydraPlatforms = [ ]; @@ -8744,12 +8757,12 @@ final: prev: { mini-clue = buildVimPlugin { pname = "mini.clue"; - version = "0.17.0-unstable-2026-01-22"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.clue"; - rev = "d846600d4664dc793aa29859ad135b1fd25d648b"; - hash = "sha256-CJmNbAx5hcl5iz8ddky+9VfrR8pKUtWc6eC4G7/exVc="; + rev = "8b748316c5a5ab24ab18ccd5db9d62fe86fdddee"; + hash = "sha256-RFUl55Ha+/bFH+MzrvNRq+Gh/82v4RpQylcNzpVl/bw="; }; meta.homepage = "https://github.com/nvim-mini/mini.clue/"; meta.hydraPlatforms = [ ]; @@ -8757,12 +8770,12 @@ final: prev: { mini-cmdline = buildVimPlugin { pname = "mini.cmdline"; - version = "0.17.0-unstable-2026-01-16"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.cmdline"; - rev = "8454b2c7d84ac774135dcf631f61c63c67d8d6c3"; - hash = "sha256-qLH6pGz43ZJsvwst3ITJ1fwJtq6NwzE2tIukATLunN4="; + rev = "b1184b252512c85562d75fa998d4835a2fa6a3f7"; + hash = "sha256-crOfLvSzH4/n7b/TlwuTYMwT0ikR/8FgZE+z0f6/aRc="; }; meta.homepage = "https://github.com/nvim-mini/mini.cmdline/"; meta.hydraPlatforms = [ ]; @@ -8770,12 +8783,12 @@ final: prev: { mini-colors = buildVimPlugin { pname = "mini.colors"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.colors"; - rev = "f43cab15ee0458acb13ac33a478b7e14fd4616eb"; - hash = "sha256-OiZlp/nBsYRuSrLdhO/A54TzR8fadGqLewqRBWGbGI8="; + rev = "c2d5efa3f7aa66c164fa43f3bc4c58c601d09cdd"; + hash = "sha256-822Vo0c0vrX9FQ+JZHLX3B2c/O9bU3D87wA/n8ENBrM="; }; meta.homepage = "https://github.com/nvim-mini/mini.colors/"; meta.hydraPlatforms = [ ]; @@ -8783,12 +8796,12 @@ final: prev: { mini-comment = buildVimPlugin { pname = "mini.comment"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.comment"; - rev = "a0c721115faff8d05505c0a12dab410084d9e536"; - hash = "sha256-6qr0ZDndohsUqOr1J7HkGar5TdotT2pVZR6ahQhmsOQ="; + rev = "597d32ed2c9fbfbf9a250bec7c6b9035f71214f5"; + hash = "sha256-eN+hmYXOsloUBO3n58Fmp4mRm/gqs33RKBKE0MADIcQ="; }; meta.homepage = "https://github.com/nvim-mini/mini.comment/"; meta.hydraPlatforms = [ ]; @@ -8796,12 +8809,12 @@ final: prev: { mini-completion = buildVimPlugin { pname = "mini.completion"; - version = "0.17.0-unstable-2025-12-29"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.completion"; - rev = "4d451f82f193f6751719935a63d16ccb79a76e0b"; - hash = "sha256-NOuTfrQat68ZmgTaE72WFnhI0XzkO830UWCuSH6YRPQ="; + rev = "4f94cafdeef02bf3ef9997cd6862658801caa22c"; + hash = "sha256-j6N8MfZTNnKORFFjJ8lpwQ37sYbRipyb0hMKcTzVdHw="; }; meta.homepage = "https://github.com/nvim-mini/mini.completion/"; meta.hydraPlatforms = [ ]; @@ -8809,12 +8822,12 @@ final: prev: { mini-cursorword = buildVimPlugin { pname = "mini.cursorword"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.cursorword"; - rev = "dda0f57d55bb1fa19423b7201b2ba892c7d2bb3c"; - hash = "sha256-VyH0+aswqME2PpQtTgQ3VyaUfik1N3y2Psyhr1gHWOE="; + rev = "8dcf45bc820f3c5f778960ba55206938246b70b7"; + hash = "sha256-/fPx5AaTB0Ovssxfl7Le0i8NkTfZCtO1IJpKCFJ6Mpc="; }; meta.homepage = "https://github.com/nvim-mini/mini.cursorword/"; meta.hydraPlatforms = [ ]; @@ -8835,12 +8848,12 @@ final: prev: { mini-diff = buildVimPlugin { pname = "mini.diff"; - version = "0.17.0-unstable-2025-12-29"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.diff"; - rev = "6010e588e9ed14724880f244d7fa3df8f0be3f46"; - hash = "sha256-Sfc6yat/L0C+vGcavQ9gbL8/3TpWif/f++OtEjBXcuE="; + rev = "ff3cd5e76e812fa18bde0f8126d6f3bb62008c79"; + hash = "sha256-l8VrJMDhkOd7QSGdQxMKq9VchlACqRSgrYTtNzpdLXQ="; }; meta.homepage = "https://github.com/nvim-mini/mini.diff/"; meta.hydraPlatforms = [ ]; @@ -8848,12 +8861,12 @@ final: prev: { mini-doc = buildVimPlugin { pname = "mini.doc"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.doc"; - rev = "eb61bebe1d2b96835b1b67bb6e600cfc69ae4ad2"; - hash = "sha256-QPLdYr4fmx6T5NDvsmOua6D0NXJvQcyuQtL4Ebt/nDk="; + rev = "16ca2739889f1d567ea23955247d9d4cd7b141b1"; + hash = "sha256-mnJkllDByoBb0Zo1K5WyQFYHnkBND9/0LefiOvTEhLM="; }; meta.homepage = "https://github.com/nvim-mini/mini.doc/"; meta.hydraPlatforms = [ ]; @@ -8861,12 +8874,12 @@ final: prev: { mini-extra = buildVimPlugin { pname = "mini.extra"; - version = "0.17.0-unstable-2026-01-20"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.extra"; - rev = "570d18489cf82d435566dc9e94530b67939e95f4"; - hash = "sha256-VZ702y3s+r/UkP3rhlXZ2pWGB6u/SZaS/5wDQYaINhg="; + rev = "693e9830899f9d69bb87b70186bcb331c8c9c986"; + hash = "sha256-ou3oG8DhhC7Iw6QPdh8a4X7yUm8vkqQlXL8NJPREtRg="; }; meta.homepage = "https://github.com/nvim-mini/mini.extra/"; meta.hydraPlatforms = [ ]; @@ -8874,12 +8887,12 @@ final: prev: { mini-files = buildVimPlugin { pname = "mini.files"; - version = "0.17.0-unstable-2026-01-16"; + version = "0.17.0-unstable-2026-02-22"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.files"; - rev = "fafacfecdd6c5a66bb10d173a749f3c098e84498"; - hash = "sha256-ZxDbr6SSXkKInJ/NwYtknKpjFQSvjJLUFY0qDa3ctWM="; + rev = "57eb96a828f80efb8095a611e3aafcfa43548f8b"; + hash = "sha256-ZAh02ZYkIKwrRiO4Fym/E5MYKd5gl5+yej6+ouyc2Dc="; }; meta.homepage = "https://github.com/nvim-mini/mini.files/"; meta.hydraPlatforms = [ ]; @@ -8887,12 +8900,12 @@ final: prev: { mini-fuzzy = buildVimPlugin { pname = "mini.fuzzy"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.fuzzy"; - rev = "18e9cc3d7406f44a145d074ad18b10e472509a18"; - hash = "sha256-79GwfKcOYF3TpEnMuYGXRqObTPGrxe+tuZI9Qg5ArSw="; + rev = "1d55e3d50a1074f0e644688f8c140cfe65f2b489"; + hash = "sha256-ssXLU1yjg3nXJOxJ0MNQa4RiCcfLQBBXbz+FwZ53m/M="; }; meta.homepage = "https://github.com/nvim-mini/mini.fuzzy/"; meta.hydraPlatforms = [ ]; @@ -8900,12 +8913,12 @@ final: prev: { mini-git = buildVimPlugin { pname = "mini-git"; - version = "0.17.0-unstable-2026-01-04"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini-git"; - rev = "df3881fec1d2fd7f8b9334821861de511e71f69e"; - hash = "sha256-+7F2aq0GayK0Q+UstjmQ7QYpbu+FElAfolhqFVGgUzM="; + rev = "a9565e3a58808dcb3130ddde9faa9215c414335b"; + hash = "sha256-IXIHp7yD+yPAT70B41IMsmQojz6UK5dl2EVuGXbIM3I="; }; meta.homepage = "https://github.com/nvim-mini/mini-git/"; meta.hydraPlatforms = [ ]; @@ -8913,12 +8926,12 @@ final: prev: { mini-hipatterns = buildVimPlugin { pname = "mini.hipatterns"; - version = "0.17.0-unstable-2025-11-07"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.hipatterns"; - rev = "add8d8abad602787377ec5d81f6b248605828e0f"; - hash = "sha256-FkpBYOKzDG3f3DttViAp7V9pj6EUppYKbZBah8L8Agk="; + rev = "2c5dce6dc7443de814d16f7470549811ee86e664"; + hash = "sha256-dYLx4DQXH1kXSUHTS4M/0ucUR/fjhblJ5xQhB2IA9ZM="; }; meta.homepage = "https://github.com/nvim-mini/mini.hipatterns/"; meta.hydraPlatforms = [ ]; @@ -8926,12 +8939,12 @@ final: prev: { mini-hues = buildVimPlugin { pname = "mini.hues"; - version = "0.17.0-unstable-2025-12-27"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.hues"; - rev = "fe3e91165fd97ad0e13717d5301b608843c4ab5e"; - hash = "sha256-4PZNnGS5r7KMy6NK+YGMjKQnmuK1ifAjOTvlDNG0RI8="; + rev = "93a76a8bd3e64e4ed0745814276db3f5d65588cd"; + hash = "sha256-3oEJmCM+QcbX5XsJqm1+cBJMwYgfq09np4LUAsblUa4="; }; meta.homepage = "https://github.com/nvim-mini/mini.hues/"; meta.hydraPlatforms = [ ]; @@ -8939,12 +8952,12 @@ final: prev: { mini-icons = buildVimPlugin { pname = "mini.icons"; - version = "0.17.0-unstable-2026-02-13"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.icons"; - rev = "68c178e0958d95b3977a771f3445429b1bded985"; - hash = "sha256-gH2Bm5y2msznHEpngZJWrFaYfPqgs8IUauZm9STQKOE="; + rev = "5b9076dae1bfbe47ba4a14bc8b967cde0ab5d77e"; + hash = "sha256-Tmf/KjoWM8MZmbwNYSPb87grdgtqNN8q3uz3hO9AyE4="; }; meta.homepage = "https://github.com/nvim-mini/mini.icons/"; meta.hydraPlatforms = [ ]; @@ -8952,12 +8965,12 @@ final: prev: { mini-indentscope = buildVimPlugin { pname = "mini.indentscope"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.indentscope"; - rev = "0308f949f31769e509696af5d5f91cebb2159c69"; - hash = "sha256-SiuDgLAj58cWLn5IbN6wt9JEmlM2nsLsGo2oThuLQnw="; + rev = "065c7713fb4cd0124fe1462f15f27feeb8b04406"; + hash = "sha256-0PpLyR32K6qr/UdcgVcB9WTAgn9eg2O5iWrZPCnpcF0="; }; meta.homepage = "https://github.com/nvim-mini/mini.indentscope/"; meta.hydraPlatforms = [ ]; @@ -8965,12 +8978,12 @@ final: prev: { mini-jump = buildVimPlugin { pname = "mini.jump"; - version = "0.17.0-unstable-2026-02-17"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.jump"; - rev = "827d9bdabc47147e9f62d48bf9dbf0df5c2dc4c5"; - hash = "sha256-Lh3v4OP1e+ppcvKRkKP1tp/Polfn7XeWMJIbQVULUOw="; + rev = "c1678446e887bb987b4a4351204b183b00984f8b"; + hash = "sha256-UmAP3cwRdB9MCgcjW6/etIl9YtMFNkCv1ulE69o+N2Q="; }; meta.homepage = "https://github.com/nvim-mini/mini.jump/"; meta.hydraPlatforms = [ ]; @@ -8978,12 +8991,12 @@ final: prev: { mini-jump2d = buildVimPlugin { pname = "mini.jump2d"; - version = "0.17.0-unstable-2026-02-17"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.jump2d"; - rev = "c142dfbb60f22968bfda2968b70d820948388c5c"; - hash = "sha256-6Oy3RZvycGZnBk+BY+B7PJTKGWa7z90iAxSx9as5PRU="; + rev = "5a37ec9d1faab7c90e8a85bba83d97ea359b6d84"; + hash = "sha256-3DAzUCNc53tJFZ0newTh4K5K8cKwo7fn3I9JCGoeIWg="; }; meta.homepage = "https://github.com/nvim-mini/mini.jump2d/"; meta.hydraPlatforms = [ ]; @@ -8991,12 +9004,12 @@ final: prev: { mini-keymap = buildVimPlugin { pname = "mini.keymap"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.keymap"; - rev = "9a1ee970f05b113b3ce9ee6f330fe862706b7e49"; - hash = "sha256-Kmy88Rt7M3c4FCjcTi6cz3KtMVsEQg6B1nzr09bPYKU="; + rev = "c6f362c835914188d499694743fb89014a815e2c"; + hash = "sha256-O3Ryygjkc9XIhEfbw6Sme7aiz6RwbDSEIj6nnwtIr3c="; }; meta.homepage = "https://github.com/nvim-mini/mini.keymap/"; meta.hydraPlatforms = [ ]; @@ -9004,12 +9017,12 @@ final: prev: { mini-map = buildVimPlugin { pname = "mini.map"; - version = "0.17.0-unstable-2025-12-29"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.map"; - rev = "32a3a5d9a7c074dbb0a4a1d5943d09cb8edbab3f"; - hash = "sha256-QorJ98vQ2Wmixsp1tkMABhEzxrYalW3prvKmUOjdxoM="; + rev = "fafb77ad3be300393793ebc434c6491a6ba6eea2"; + hash = "sha256-AKoUy+FQ2l4YeMmKsIvV4KXoxaWQ7N1QUN43NuX/UHA="; }; meta.homepage = "https://github.com/nvim-mini/mini.map/"; meta.hydraPlatforms = [ ]; @@ -9017,12 +9030,12 @@ final: prev: { mini-misc = buildVimPlugin { pname = "mini.misc"; - version = "0.17.0-unstable-2026-02-12"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.misc"; - rev = "8d4796cc703173b26ce122a999d28036b16b3190"; - hash = "sha256-9NjybO0qoMJkFiqyxxMNzbZW65G/Nezrfu6M7WP7dzw="; + rev = "de8947231c29012271722651aa07f6749c41d1ed"; + hash = "sha256-P1HzbUxZyL0AA6hqMYPXw/L4cEQNOcQ8gThbNbBhsvI="; }; meta.homepage = "https://github.com/nvim-mini/mini.misc/"; meta.hydraPlatforms = [ ]; @@ -9030,12 +9043,12 @@ final: prev: { mini-move = buildVimPlugin { pname = "mini.move"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.move"; - rev = "4d214202d71e0a4066b6288176bbe88f268f9777"; - hash = "sha256-ZW/ZcsPoOwe8l7VQIR7I43MT55r34X1SJHpcYl1TqUI="; + rev = "b8ba0b77e91b5f0fe8e014e03f7f59799dec1d96"; + hash = "sha256-qImwWtUK0bBB2O3Dl2Yc6a6/lE+2GaIknz8dCQc/ozM="; }; meta.homepage = "https://github.com/nvim-mini/mini.move/"; meta.hydraPlatforms = [ ]; @@ -9043,12 +9056,12 @@ final: prev: { mini-notify = buildVimPlugin { pname = "mini.notify"; - version = "0.17.0-unstable-2025-12-11"; + version = "0.17.0-unstable-2026-02-23"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.notify"; - rev = "29ec27f60bf4b63e447c851d9061c434d80795a6"; - hash = "sha256-MdJen05nquOesZ41p2gXnTxTPHtzjmf8mNWSvMh0m48="; + rev = "e506fb6da26c0a31ee6b1d2eb99626cb147f28ca"; + hash = "sha256-CQ3Dp2sXHGRYd7r8LFGEabJp1gx/RkUL8l+6sDR7sMw="; }; meta.homepage = "https://github.com/nvim-mini/mini.notify/"; meta.hydraPlatforms = [ ]; @@ -9056,12 +9069,12 @@ final: prev: { mini-nvim = buildVimPlugin { pname = "mini.nvim"; - version = "0.17.0-unstable-2026-02-19"; + version = "0.17.0-unstable-2026-02-26"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.nvim"; - rev = "dbb073bd2ed4a7bb35daafc7989567f0ff1426ee"; - hash = "sha256-X3CM4KH+wKLAtV+TULmXMGXg8eeSSK+vwGCscYuC8Fo="; + rev = "a95dc67ecff78de138543a20c20f29f47111b122"; + hash = "sha256-LOV1MQQw2Q7wRHxLvJnA4T43/t6pGZHtut1kOE9L05s="; }; meta.homepage = "https://github.com/nvim-mini/mini.nvim/"; meta.hydraPlatforms = [ ]; @@ -9069,12 +9082,12 @@ final: prev: { mini-operators = buildVimPlugin { pname = "mini.operators"; - version = "0.17.0-unstable-2026-02-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.operators"; - rev = "c68010bb5498d418e056704710f71cd8d6fa227b"; - hash = "sha256-UfZ/mzXh+IfpUeU0iyPySAKHr0aDEUDRM6MR+yLUnrs="; + rev = "86b1ad0d89e7e6a2ae2f840edbbb5737465ae777"; + hash = "sha256-L2k2mZjR+CJ79AXZb0ftgotE6FpIug0DHgnkkIY0NCY="; }; meta.homepage = "https://github.com/nvim-mini/mini.operators/"; meta.hydraPlatforms = [ ]; @@ -9082,12 +9095,12 @@ final: prev: { mini-pairs = buildVimPlugin { pname = "mini.pairs"; - version = "0.17.0-unstable-2026-01-22"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.pairs"; - rev = "4089aa6ea6423e02e1a8326a7a7a00159f6f5e04"; - hash = "sha256-Jk07sduupX6cJqWnULHH7keWnBCb/go2wuwMJs3q748="; + rev = "b7fde3719340946feb75017ef9d75edebdeb0566"; + hash = "sha256-ewUZT8YuJJ1OInVDAp9AG0/5K6l1LjKUZDgXcY10hPg="; }; meta.homepage = "https://github.com/nvim-mini/mini.pairs/"; meta.hydraPlatforms = [ ]; @@ -9095,12 +9108,12 @@ final: prev: { mini-pick = buildVimPlugin { pname = "mini.pick"; - version = "0.17.0-unstable-2026-02-06"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.pick"; - rev = "4ad37ade984e69c43227b82ccdca5a92a22886de"; - hash = "sha256-nGqZ2cQQV6a+14JF2XlFCw9+2OtrjxEHU51zP6Zu56w="; + rev = "8521fe21df86e08d9e4b3c3f3a7d50e47954e1af"; + hash = "sha256-u2wqP4leTv1/p5vNwXUtInBGtJA+xBzQhmiz8HFavsA="; }; meta.homepage = "https://github.com/nvim-mini/mini.pick/"; meta.hydraPlatforms = [ ]; @@ -9108,12 +9121,12 @@ final: prev: { mini-sessions = buildVimPlugin { pname = "mini.sessions"; - version = "0.17.0-unstable-2026-02-17"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.sessions"; - rev = "e4890a2cecfbb35d9ecc8449568d41b1d30cb358"; - hash = "sha256-JDTI2u5j2RrATG4CvtgjlDuuZhLXMjvuwp/q4v3AB8k="; + rev = "408477bc3e1d76e5c57adebd2b688f05a0ef9bb4"; + hash = "sha256-QIfGdPZUnrzY5l57skarDfNQo9KIvVw7TPviC+ROYHM="; }; meta.homepage = "https://github.com/nvim-mini/mini.sessions/"; meta.hydraPlatforms = [ ]; @@ -9121,12 +9134,12 @@ final: prev: { mini-snippets = buildVimPlugin { pname = "mini.snippets"; - version = "0.17.0-unstable-2026-02-10"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.snippets"; - rev = "a5e5ff2ff2223aff3fc33e6856935f02337b0ccf"; - hash = "sha256-VqonJ1WKwYv6538c5OhKaiv/KLx8ZaqnWZwMnzcrGcw="; + rev = "0d0b435e3f9563965f73703a6a6d17acb432a93c"; + hash = "sha256-afXxZssWgdQHgDdthsQH2a0V4mD8R8uozdmCfl/pfQk="; }; meta.homepage = "https://github.com/nvim-mini/mini.snippets/"; meta.hydraPlatforms = [ ]; @@ -9134,12 +9147,12 @@ final: prev: { mini-splitjoin = buildVimPlugin { pname = "mini.splitjoin"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.splitjoin"; - rev = "9fcd8856efb95a505090c3225726466494076127"; - hash = "sha256-CYM7KN7ejoo5Pa7zzDpS2xRYDnvPbIu0QRzJ97XJW4Y="; + rev = "8112e794cbb022b9d4b7af60b64e9896930f1697"; + hash = "sha256-kw3IJduA7RcJ+3F7FDZDancW2YwnxlJcqXiRxuJvNV0="; }; meta.homepage = "https://github.com/nvim-mini/mini.splitjoin/"; meta.hydraPlatforms = [ ]; @@ -9147,12 +9160,12 @@ final: prev: { mini-starter = buildVimPlugin { pname = "mini.starter"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.starter"; - rev = "8ee6ce6a4c9be47682516908557cc062c4d595a2"; - hash = "sha256-rT/rQqCaba+eX7XDf6swRZGe9Z9YFM8ris2ltEVH+ts="; + rev = "cdf909e5bda577e09c61fa6d9a36bb2a88dbc636"; + hash = "sha256-T8isX6VwsXc/vow21kYEBONTORALIpjgWlcYe2b//EQ="; }; meta.homepage = "https://github.com/nvim-mini/mini.starter/"; meta.hydraPlatforms = [ ]; @@ -9160,12 +9173,12 @@ final: prev: { mini-statusline = buildVimPlugin { pname = "mini.statusline"; - version = "0.17.0-unstable-2025-12-19"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.statusline"; - rev = "3e96596ebe51b899874d8174409cdc4f3c749d9a"; - hash = "sha256-47zlgeGH1xmyjBeU4EpwR33FkAX0RrXw98cNZenE6L8="; + rev = "8c3829d4ef02b693f68e43fc131b433f11049b2b"; + hash = "sha256-X7EFD+cE41cytLe1aED3Az3Gsyq+oGju/gHm/uEaz7U="; }; meta.homepage = "https://github.com/nvim-mini/mini.statusline/"; meta.hydraPlatforms = [ ]; @@ -9173,12 +9186,12 @@ final: prev: { mini-surround = buildVimPlugin { pname = "mini.surround"; - version = "0.17.0-unstable-2026-02-17"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.surround"; - rev = "01dd2620e50ebc0f28f7d4ea2db6f846f1540c95"; - hash = "sha256-rT/FleAco1JSSGkNS2y9qc+E7ZrLkO/fhKUNBMAgOiM="; + rev = "d205d1741d1fcc1f3117b4e839bf00f74ad72fa2"; + hash = "sha256-Cywra3S8oOwwx7VoL2CvfWDtAJlmyIZw6gxTeAXVr2Q="; }; meta.homepage = "https://github.com/nvim-mini/mini.surround/"; meta.hydraPlatforms = [ ]; @@ -9186,12 +9199,12 @@ final: prev: { mini-tabline = buildVimPlugin { pname = "mini.tabline"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.tabline"; - rev = "caf23615b9b99bacc79ecd60f61c4e6a8ec18c84"; - hash = "sha256-SmMtTXLN150P+JAZek+uV4C4ke5ZHH5lqymGBHGwVyc="; + rev = "d03f10bf562cef57bd9f80f82c54269ff4816a15"; + hash = "sha256-AEKe21zK6IzoMr/H9riwCkm09R2h+vMaf+bR0KB6Mao="; }; meta.homepage = "https://github.com/nvim-mini/mini.tabline/"; meta.hydraPlatforms = [ ]; @@ -9199,12 +9212,12 @@ final: prev: { mini-trailspace = buildVimPlugin { pname = "mini.trailspace"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.trailspace"; - rev = "f8083ca969e1b2098480c10f3c3c4d2ce3586680"; - hash = "sha256-zwzV2qEEl7xYvACNproo0bNyuqAE1p5SYNyH93Hfw5o="; + rev = "27acb69562a4742256ab3e4b0127391fcb49dbb3"; + hash = "sha256-pGQY5DChqhsQCfpzP68mzoXwuQQ1mBm0kPkM6usaNls="; }; meta.homepage = "https://github.com/nvim-mini/mini.trailspace/"; meta.hydraPlatforms = [ ]; @@ -9212,12 +9225,12 @@ final: prev: { mini-visits = buildVimPlugin { pname = "mini.visits"; - version = "0.17.0-unstable-2025-11-03"; + version = "0.17.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.visits"; - rev = "f6b86565acc690aa111627433906be3d38e2ba81"; - hash = "sha256-KXxivPP3eVcUnOmRDYEXxToQ2qsC5snOT/ac5tEt29I="; + rev = "317a37ce8cc3640a0998b57a19dac9890ea84040"; + hash = "sha256-hjR13RsUmhviKIDs9f2qmC64x32+BdThsp+55/upWFM="; }; meta.homepage = "https://github.com/nvim-mini/mini.visits/"; meta.hydraPlatforms = [ ]; @@ -9264,12 +9277,12 @@ final: prev: { mkdnflow-nvim = buildVimPlugin { pname = "mkdnflow.nvim"; - version = "2.20.1-unstable-2026-02-18"; + version = "2.22.2-unstable-2026-02-27"; src = fetchFromGitHub { owner = "jakewvincent"; repo = "mkdnflow.nvim"; - rev = "c6b2a37c031b66f5535e930698dda4bfc34b1bf3"; - hash = "sha256-rs9MeEd02L7CN88DmgRsFiah5fy7NHEGla4MwSPDpAw="; + rev = "5f754af97969c605741da9a1a8ea2ecf96676c33"; + hash = "sha256-8uCiD3xi9DC8Bhu6CVEW2S0VVZQOyTY+E+PMz6aHPTE="; }; meta.homepage = "https://github.com/jakewvincent/mkdnflow.nvim/"; meta.hydraPlatforms = [ ]; @@ -9420,12 +9433,12 @@ final: prev: { multicursor-nvim = buildVimPlugin { pname = "multicursor.nvim"; - version = "0-unstable-2026-02-01"; + version = "0-unstable-2026-02-28"; src = fetchFromGitHub { owner = "jake-stewart"; repo = "multicursor.nvim"; - rev = "630dd29dd696bc977cb81d7dd2fa6bb280f60fc4"; - hash = "sha256-f4z11N1ThP0gtxEwVbR7OkHA3G1DH6SYW7I4j8/SarA="; + rev = "811681faf44d8031685614cc00a148cd3ece697c"; + hash = "sha256-5Syxir+5cKzpr9cEDGm2AWILJ40lsTObuOwMVxV+znE="; }; meta.homepage = "https://github.com/jake-stewart/multicursor.nvim/"; meta.hydraPlatforms = [ ]; @@ -9732,12 +9745,12 @@ final: prev: { neo-tree-nvim = buildVimPlugin { pname = "neo-tree.nvim"; - version = "3.38.0-unstable-2026-02-17"; + version = "3.39.0-unstable-2026-02-26"; src = fetchFromGitHub { owner = "nvim-neo-tree"; repo = "neo-tree.nvim"; - rev = "9a1f0461c4cc62e64616bafe9425572ff6a5f245"; - hash = "sha256-l2JVLEyW6s1A83sifTZklMRtTwWF9gzK3rLBJRJiYEM="; + rev = "9d6826582a3e8c84787bd7355df22a2812a1ad59"; + hash = "sha256-ddhCV0MTbaqfjHFKa2IIsShF6ztCMxtK6+yEa2OAk+k="; }; meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/"; meta.hydraPlatforms = [ ]; @@ -9758,12 +9771,12 @@ final: prev: { neoconf-nvim = buildVimPlugin { pname = "neoconf.nvim"; - version = "1.4.0-unstable-2026-02-19"; + version = "1.4.0-unstable-2026-02-28"; src = fetchFromGitHub { owner = "folke"; repo = "neoconf.nvim"; - rev = "ee74a07465efff0338b1093b0f9c7e2bbeb479f9"; - hash = "sha256-N5efKIEYHKG3pyPuwSbrAODcZIfJYG5Dw9aLmok3rsE="; + rev = "26c55935a0f19e474e0cd2fe5e13273dc94fb1d4"; + hash = "sha256-3OaKLZIbnzD1ZIlrqLUjK78tFwN0vgsbfGzACZKAARo="; }; meta.homepage = "https://github.com/folke/neoconf.nvim/"; meta.hydraPlatforms = [ ]; @@ -9810,12 +9823,12 @@ final: prev: { neoformat = buildVimPlugin { pname = "neoformat"; - version = "0.4.0-unstable-2026-02-10"; + version = "0.4.0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "sbdchd"; repo = "neoformat"; - rev = "57332dff19c1544a212bc5520f6f7d485b154bc3"; - hash = "sha256-oEZi3JC71w/oA21doIY80ZzE9RojNqdSEt547Ha44rk="; + rev = "9d95e5ca3ab263363758d5b1d7a174a30556ab2d"; + hash = "sha256-twE2fPXxxWJqZoaNkSG0v6PzyaoDzupx/ji4oI9jlKc="; }; meta.homepage = "https://github.com/sbdchd/neoformat/"; meta.hydraPlatforms = [ ]; @@ -9836,12 +9849,12 @@ final: prev: { neogit = buildVimPlugin { pname = "neogit"; - version = "3.0.0-unstable-2026-02-19"; + version = "3.0.0-unstable-2026-02-27"; src = fetchFromGitHub { owner = "NeogitOrg"; repo = "neogit"; - rev = "22433eae87236c217e0810c836fa5e529c043d4c"; - hash = "sha256-RjrnabiSs0NVYcUC+uOIQNAM0CY+tqmoR2y3JWMCIDw="; + rev = "515e8cb9c3430a064ec3d9affd499b94f71b3120"; + hash = "sha256-R+UZ65Q34oO2awA7ins/y/d3n/cTEZYWcpRKd4KWYk0="; }; meta.homepage = "https://github.com/NeogitOrg/neogit/"; meta.hydraPlatforms = [ ]; @@ -10005,12 +10018,12 @@ final: prev: { neotest-bash = buildVimPlugin { pname = "neotest-bash"; - version = "0-unstable-2025-10-11"; + version = "0-unstable-2026-02-28"; src = fetchFromGitHub { owner = "rcasia"; repo = "neotest-bash"; - rev = "102d2ff910091b8c8805d74e5aaf62234c00a27b"; - hash = "sha256-SqiG5gw9FyhNfdLhF7to58Kp9K5KPw7xsciRPtm6fas="; + rev = "d67519428d6a3efa59707802d3290582938afb71"; + hash = "sha256-YOeMpzSCCK6CqUmy+z+0W8Q+GMMou/2hm+gDrDOcTak="; fetchSubmodules = true; }; meta.homepage = "https://github.com/rcasia/neotest-bash/"; @@ -10019,12 +10032,12 @@ final: prev: { neotest-ctest = buildVimPlugin { pname = "neotest-ctest"; - version = "0.2.0-unstable-2025-08-28"; + version = "0.2.0-unstable-2026-02-19"; src = fetchFromGitHub { owner = "orjangj"; repo = "neotest-ctest"; - rev = "1677a4dc83383de44ee7729f0bdf626874aa1712"; - hash = "sha256-/zPj/CD2689jV6KE3eFLi+FdJqachA4jTEwLAcYhSl8="; + rev = "1e35ca810ea0070ed83888ac3c3549b0bdfb250e"; + hash = "sha256-Owc8nbc4E3Y5wXJ/HPrCnL5wdI49f4///LgyQuClfoM="; }; meta.homepage = "https://github.com/orjangj/neotest-ctest/"; meta.hydraPlatforms = [ ]; @@ -10151,12 +10164,12 @@ final: prev: { neotest-haskell = buildVimPlugin { pname = "neotest-haskell"; - version = "3.0.1-unstable-2026-02-17"; + version = "3.0.1-unstable-2026-02-22"; src = fetchFromGitHub { owner = "MrcJkb"; repo = "neotest-haskell"; - rev = "0e6fd549b0906c23d8522faebab34072a4149ff9"; - hash = "sha256-jDQ8U/By+Edn+WdKec4A1mKDWY9vUz1iZEWJw52mAxo="; + rev = "d1e1ef345516d6f7bf4903664a555fa2ce10246c"; + hash = "sha256-NJGHxhVGJOfUvpbymvzSNYP9qxmnKDtrQA9qBxUo7Jg="; }; meta.homepage = "https://github.com/MrcJkb/neotest-haskell/"; meta.hydraPlatforms = [ ]; @@ -10657,12 +10670,12 @@ final: prev: { nlsp-settings-nvim = buildVimPlugin { pname = "nlsp-settings.nvim"; - version = "0-unstable-2026-02-19"; + version = "0-unstable-2026-02-26"; src = fetchFromGitHub { owner = "tamago324"; repo = "nlsp-settings.nvim"; - rev = "1dea7acd79c90ed71f19b82e9e7c53d5bc1570c0"; - hash = "sha256-KXgIPkPpHkiOYpt4e3vfzS3aaGEbaNR3H+43KqAcw5M="; + rev = "a9118335c842123caeb5cc11f81ccf5f61d2ab54"; + hash = "sha256-NfEsAZMvITIKGLkhH/MBF8cadk3kEmGf4t2HkUyNoZc="; }; meta.homepage = "https://github.com/tamago324/nlsp-settings.nvim/"; meta.hydraPlatforms = [ ]; @@ -11008,12 +11021,12 @@ final: prev: { nvim-colorizer-lua = buildVimPlugin { pname = "nvim-colorizer.lua"; - version = "0-unstable-2026-01-31"; + version = "0-unstable-2026-02-27"; src = fetchFromGitHub { owner = "catgoose"; repo = "nvim-colorizer.lua"; - rev = "338409dd8a6ed74767bad3eb5269f1b903ffb3cf"; - hash = "sha256-gQnWyUVE4iXvliUSy8Cig1Ov4iMCP1UmCFIskZ6nijQ="; + rev = "a6919ed9aadd0a8b2c11f264c9cbd41316dabf73"; + hash = "sha256-OSQzTQG6aLAF3UMDojltFHrfbnrXhS/1Jpdrd0BXhQ8="; }; meta.homepage = "https://github.com/catgoose/nvim-colorizer.lua/"; meta.hydraPlatforms = [ ]; @@ -11086,11 +11099,11 @@ final: prev: { nvim-dap = buildVimPlugin { pname = "nvim-dap"; - version = "0.10.0-unstable-2026-02-11"; + version = "0.10.0-unstable-2026-02-26"; src = fetchgit { url = "https://codeberg.org/mfussenegger/nvim-dap/"; - rev = "db321947bb289a2d4d76a32e76e4d2bd6103d7df"; - hash = "sha256-fKY/DlEesooRRp1lLsoUleIyKBFj3H/9gelXYMaKwpc="; + rev = "b516f20b487b0ac6a281e376dfac1d16b5040041"; + hash = "sha256-/YwT7ToPQS6Pa+00YwuPqF1qMJ/T8TMioaamylB92/o="; }; meta.homepage = "https://codeberg.org/mfussenegger/nvim-dap/"; meta.hydraPlatforms = [ ]; @@ -11344,12 +11357,12 @@ final: prev: { nvim-highlite = buildVimPlugin { pname = "nvim-highlite"; - version = "4.22.0-unstable-2026-02-17"; + version = "4.22.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "Iron-E"; repo = "nvim-highlite"; - rev = "5f012564a38a5f0e9883a955c582f9cdb728431e"; - hash = "sha256-ovXz31+cIDzai8sQj4jBLiVrEbu+IF5TTz37xsF+8A8="; + rev = "e3e6c775a984d8280f8ebd242712d2b8d03c9ecb"; + hash = "sha256-mhMTYr7XPOrm2POQEN5zxyC6zOhOIb81XnwN3CUHkUQ="; }; meta.homepage = "https://github.com/Iron-E/nvim-highlite/"; meta.hydraPlatforms = [ ]; @@ -11551,11 +11564,11 @@ final: prev: { nvim-lint = buildVimPlugin { pname = "nvim-lint"; - version = "0-unstable-2026-02-18"; + version = "0-unstable-2026-02-23"; src = fetchgit { url = "https://codeberg.org/mfussenegger/nvim-lint/"; - rev = "486474c2ace8d78d28995074dbdbe29011bc63d0"; - hash = "sha256-aK7iQMJJfUJO6KsafSHgDvGQXkf1V6jbNlLz0MNdM34="; + rev = "606b823a57b027502a9ae00978ebf4f5d5158098"; + hash = "sha256-WotyvU8lqfjN3PVXVpDQm7HMahmwYRYgTN0+WsJwyWQ="; }; meta.homepage = "https://codeberg.org/mfussenegger/nvim-lint/"; meta.hydraPlatforms = [ ]; @@ -11602,12 +11615,12 @@ final: prev: { nvim-lspconfig = buildVimPlugin { pname = "nvim-lspconfig"; - version = "2.6.0-unstable-2026-02-12"; + version = "2.6.0-unstable-2026-02-27"; src = fetchFromGitHub { owner = "neovim"; repo = "nvim-lspconfig"; - rev = "44acfe887d4056f704ccc4f17513ed41c9e2b2e6"; - hash = "sha256-vyKacUFSZ0zJBkVqttDybvatxV9fKRUMPZLpak52//k="; + rev = "ead0f5f342d8d323441e7d4b88f0fc436a81ad5f"; + hash = "sha256-kBUMraEK8L3jFSyJqozY+dZJ3eJj8AhBvIf0eHXaz2E="; }; meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; meta.hydraPlatforms = [ ]; @@ -12044,12 +12057,12 @@ final: prev: { nvim-spider = buildVimPlugin { pname = "nvim-spider"; - version = "0-unstable-2026-02-10"; + version = "0-unstable-2026-02-26"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-spider"; - rev = "33faf3c5a3f6e9d568bcd63edd949a942d45362b"; - hash = "sha256-wo29exGBymnAnMEwfhKKU5XiWShGeuWrya36AmiCvnU="; + rev = "4bca4dbc53f01b37385146b37ab5ce55bdc083fc"; + hash = "sha256-LKJm7tRX+mo1uEKo/U/mITnLA/xVyE2JdzSPEL8SAes="; }; meta.homepage = "https://github.com/chrisgrieser/nvim-spider/"; meta.hydraPlatforms = [ ]; @@ -12057,12 +12070,12 @@ final: prev: { nvim-surround = buildVimPlugin { pname = "nvim-surround"; - version = "3.1.8-unstable-2025-12-14"; + version = "4.0.3-unstable-2026-02-26"; src = fetchFromGitHub { owner = "kylechui"; repo = "nvim-surround"; - rev = "1098d7b3c34adcfa7feb3289ee434529abd4afd1"; - hash = "sha256-IzJ9PWUeEw52Gs5nCH3zAUBbar3Wq6PCN+Rt6HKC1pc="; + rev = "ce4ad4a8909d7f4537803c8f09b79e78c49a6cc4"; + hash = "sha256-UDv1YcNfk9IfRfxg0fNDxvfB0HhEswXBdnIQXXTYkRo="; }; meta.homepage = "https://github.com/kylechui/nvim-surround/"; meta.hydraPlatforms = [ ]; @@ -12122,12 +12135,12 @@ final: prev: { nvim-tree-lua = buildVimPlugin { pname = "nvim-tree.lua"; - version = "1.15.0-unstable-2026-02-17"; + version = "1.15.0-unstable-2026-02-28"; src = fetchFromGitHub { owner = "nvim-tree"; repo = "nvim-tree.lua"; - rev = "e11ce83ed9a00f065bf676ae4e6c261c766989ba"; - hash = "sha256-zUA1RxWhYz1x2OcO9DL+XxFvjcwnCQ0Pft+NQ/3+S+8="; + rev = "c988e289428d9202b28ba27479647033c7dd2956"; + hash = "sha256-GH3GpAAaKpMUMD3vEGQlydHREHJYUpCU1g3533PbNAI="; }; meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/"; meta.hydraPlatforms = [ ]; @@ -12135,12 +12148,12 @@ final: prev: { nvim-treesitter = buildVimPlugin { pname = "nvim-treesitter"; - version = "0.10.0-unstable-2026-02-19"; + version = "0.10.0-unstable-2026-02-28"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter"; - rev = "3edb01f912867603c2aef9079f208f0244c0885b"; - hash = "sha256-ywgu2j2Dt2YOGFgeWgJvdcCdYf5t9yINqT5CK8SLbHk="; + rev = "6bc51d020a5e06b7e20ea82dbc47196d3d3027c7"; + hash = "sha256-3Cn6fyW+UikEZ0jYkM3tPEdW1+gK+1sb5m5EG2S+GtA="; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; meta.hydraPlatforms = [ ]; @@ -12343,12 +12356,12 @@ final: prev: { nvim-unity = buildVimPlugin { pname = "nvim-unity"; - version = "1.0.0-unstable-2026-01-24"; + version = "1.0.0-unstable-2026-02-22"; src = fetchFromGitHub { owner = "apyra"; repo = "nvim-unity"; - rev = "75bd88caa12804682f5a2882a199ab404f644bca"; - hash = "sha256-695vlnJrpemjlikXmWnxQi6lHc+WMe061HQ9V9adN4Q="; + rev = "92ef46c6da077d1a8c159266902da29eb695427f"; + hash = "sha256-CvdgVieZNe+lK+At3fLz67bcZfkAiq+/7pWDu7F/qwk="; }; meta.homepage = "https://github.com/apyra/nvim-unity/"; meta.hydraPlatforms = [ ]; @@ -12733,12 +12746,12 @@ final: prev: { onedarkpro-nvim = buildVimPlugin { pname = "onedarkpro.nvim"; - version = "2.26.0-unstable-2026-01-15"; + version = "2.27.0-unstable-2026-02-25"; src = fetchFromGitHub { owner = "olimorris"; repo = "onedarkpro.nvim"; - rev = "743bf248cf238a0625f3a204eecefafcf6281a9f"; - hash = "sha256-FmGzm6BA4ha99hiHeVvPGJmEkZi/uRk6H4Zj2PUjQvk="; + rev = "05b0d6446a4dcf866edc7ad637a13e4d7e2d5c32"; + hash = "sha256-JD7u2YFVSfO7OH9+z1p1TwryNdSu6hMjhZYhuP3c9jM="; }; meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/"; meta.hydraPlatforms = [ ]; @@ -12798,12 +12811,12 @@ final: prev: { opencode-nvim = buildVimPlugin { pname = "opencode.nvim"; - version = "0.3.0-unstable-2026-02-19"; + version = "0.4.0-unstable-2026-02-28"; src = fetchFromGitHub { owner = "nickjvandyke"; repo = "opencode.nvim"; - rev = "c06a18288d5487498ff6be164bc3a7fe171615dd"; - hash = "sha256-e6ju58Sky+FXtbz41DcQwY8n9jFLjA0SnQuMIbbDLlU="; + rev = "c5043f810714ca44ca29d3d0d7cfe841447d09cf"; + hash = "sha256-QQVgQaQ877BKykDvrdZO0cyJQna9f5B1/vTfESLLGoE="; }; meta.homepage = "https://github.com/nickjvandyke/opencode.nvim/"; meta.hydraPlatforms = [ ]; @@ -12902,12 +12915,12 @@ final: prev: { overseer-nvim = buildVimPlugin { pname = "overseer.nvim"; - version = "2.1.0-unstable-2026-02-11"; + version = "2.1.0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "stevearc"; repo = "overseer.nvim"; - rev = "392093e610333c0aea89bf43de7362e25783eada"; - hash = "sha256-uKNWDCjdhevNqu7+1JJ/b/EJCuXATocmi+aAhtGm7XQ="; + rev = "2802c15182dae2de71f9c82e918d7ba850b90c22"; + hash = "sha256-Ht8XEcT5NLdONU4VcYULmXQ6PiVebjumZ2P4hH30ZA4="; fetchSubmodules = true; }; meta.homepage = "https://github.com/stevearc/overseer.nvim/"; @@ -13398,12 +13411,12 @@ final: prev: { project-nvim = buildVimPlugin { pname = "project.nvim"; - version = "1.0.4-1-unstable-2026-02-16"; + version = "1.0.4-1-unstable-2026-02-27"; src = fetchFromGitHub { owner = "DrKJeff16"; repo = "project.nvim"; - rev = "379f79a5405add7bd8390695f187fe07d5b46495"; - hash = "sha256-toPsSD9cQrAabM3rT4Pm7oavuk0pVUiBQOkR6RrH70I="; + rev = "b2fc0c29db0f91f44f2c1165292bd132252380af"; + hash = "sha256-DjxZhXtfoLr1LHudczIOiKqIVSgHf/fGJt0zoX7Uv5Y="; }; meta.homepage = "https://github.com/DrKJeff16/project.nvim/"; meta.hydraPlatforms = [ ]; @@ -13568,12 +13581,12 @@ final: prev: { quicker-nvim = buildVimPlugin { pname = "quicker.nvim"; - version = "1.5.0-unstable-2026-01-12"; + version = "1.5.0-unstable-2026-02-23"; src = fetchFromGitHub { owner = "stevearc"; repo = "quicker.nvim"; - rev = "fc041830fa7cf093786b0d5990d99cf3c7b0c129"; - hash = "sha256-cL/BxgmqWE28UVRwoGXz0pSlJREjrQw5/st15SITYeA="; + rev = "2d3f3276eab9352c7b212821c218aca986929f62"; + hash = "sha256-bNsALR0ALVqkXZav/sgZnL6Me//wv1FHVP9USfqRauU="; }; meta.homepage = "https://github.com/stevearc/quicker.nvim/"; meta.hydraPlatforms = [ ]; @@ -13828,12 +13841,12 @@ final: prev: { render-markdown-nvim = buildVimPlugin { pname = "render-markdown.nvim"; - version = "8.11.0-unstable-2026-02-03"; + version = "8.11.0-unstable-2026-02-22"; src = fetchFromGitHub { owner = "MeanderingProgrammer"; repo = "render-markdown.nvim"; - rev = "48b4175dbca8439d30c1f52231cbe5a712c8f9d9"; - hash = "sha256-NJeCT4oEKNwkX3Go1l54jTNExb9CFdrAlcYVcdc6Bfo="; + rev = "1c958131c083c8557ea499fdb08c88b8afb05c4e"; + hash = "sha256-hf+qhBaMUOXf7xGhLcsomj5f85eHS7iI8sFkwW2sN3c="; }; meta.homepage = "https://github.com/MeanderingProgrammer/render-markdown.nvim/"; meta.hydraPlatforms = [ ]; @@ -13959,12 +13972,12 @@ final: prev: { roslyn-nvim = buildVimPlugin { pname = "roslyn.nvim"; - version = "0-unstable-2026-02-05"; + version = "0-unstable-2026-02-22"; src = fetchFromGitHub { owner = "seblyng"; repo = "roslyn.nvim"; - rev = "56c421a02451cc61c8d63cfe9dc2079453e1ea6d"; - hash = "sha256-clnJ1HyssQXhv3TCEpM5I5LyluJnlKmJqXGBrWYWcks="; + rev = "7deb9bb5b6afcb3c03c70741c6d364ffd8b59bda"; + hash = "sha256-Stnoh0AiKSs2f1JgOuJYS+RjuusqvguKm6DN000UDcs="; }; meta.homepage = "https://github.com/seblyng/roslyn.nvim/"; meta.hydraPlatforms = [ ]; @@ -14363,12 +14376,12 @@ final: prev: { smart-splits-nvim = buildVimPlugin { pname = "smart-splits.nvim"; - version = "2.0.5-unstable-2026-02-13"; + version = "2.0.5-unstable-2026-02-27"; src = fetchFromGitHub { owner = "mrjones2014"; repo = "smart-splits.nvim"; - rev = "b9d563ea52c4926a4d91e5e795c68bb8f89f8ba0"; - hash = "sha256-E5cRG148es2P2FTOc3o5mR2/lAzNj6OSwqQ3Yb7YaMA="; + rev = "f4e4908fe901444d05feff0ad1cca146ec0be73f"; + hash = "sha256-XessNDphF29ISn9bq7Ng4kffo+JZgxk2VUE3cidnSX4="; }; meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/"; meta.hydraPlatforms = [ ]; @@ -14975,12 +14988,12 @@ final: prev: { switch-vim = buildVimPlugin { pname = "switch.vim"; - version = "0.3.0-unstable-2025-11-11"; + version = "0.3.0-unstable-2026-02-25"; src = fetchFromGitHub { owner = "AndrewRadev"; repo = "switch.vim"; - rev = "0fe38fd3fa6433101f4e173f681bb134e175c022"; - hash = "sha256-LFj28dEUUXJM3eOkIGXAJmvdAi9GS8pu/nF4ps84kIY="; + rev = "297346b630943ebd4ea58598dfd30bae5debc739"; + hash = "sha256-mLG3A6ydwoHVlCKUeBAxU5qp8AeW57IX0jf/0WUk+I4="; fetchSubmodules = true; }; meta.homepage = "https://github.com/AndrewRadev/switch.vim/"; @@ -14989,12 +15002,12 @@ final: prev: { switcher-nvim = buildVimPlugin { pname = "switcher-nvim"; - version = "1.1.3-unstable-2026-02-04"; + version = "1.1.4-unstable-2026-02-24"; src = fetchFromGitHub { owner = "neovim-idea"; repo = "switcher-nvim"; - rev = "552a7fc0b1031c7565fe80bf7e2d0f1e3e7becf9"; - hash = "sha256-7TicPnzHXB74xkpsppXMP0AvtfCgrWh/be/pXEmf1MY="; + rev = "e476066d66781dbf58a5ee989fd5b48a4f611570"; + hash = "sha256-lZvtGgp4Pzl5VWfTqjpvAHXSQ8i781GMupolDpUR3l0="; }; meta.homepage = "https://github.com/neovim-idea/switcher-nvim/"; meta.hydraPlatforms = [ ]; @@ -15968,12 +15981,12 @@ final: prev: { tiny-inline-diagnostic-nvim = buildVimPlugin { pname = "tiny-inline-diagnostic.nvim"; - version = "0-unstable-2026-01-17"; + version = "0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "rachartier"; repo = "tiny-inline-diagnostic.nvim"; - rev = "ecce93ff7db4461e942c03e0fcc64bd785df4057"; - hash = "sha256-KWUyn6fJDQ+jSBdO9gwN9mmufgIALwjm5GboK6y5ksM="; + rev = "ba133b3e932416e4b9507095731a6d7276878fe8"; + hash = "sha256-cIG8PPcYjJxsTbaeEN/P/D75wou1c1A2+2XkxN1aUPw="; }; meta.homepage = "https://github.com/rachartier/tiny-inline-diagnostic.nvim/"; meta.hydraPlatforms = [ ]; @@ -16570,12 +16583,12 @@ final: prev: { unison = buildVimPlugin { pname = "unison"; - version = "0-unstable-2026-02-13"; + version = "0-unstable-2026-02-26"; src = fetchFromGitHub { owner = "unisonweb"; repo = "unison"; - rev = "3aea4e422bbd74c598aad12f96c85637a6b4ba3d"; - hash = "sha256-+hqTCOWqywZGBNH/OLZUQVUG6dciyzsG/0+Kkq3UiOc="; + rev = "a7d22ae18ac7e9b09b6f05b9fc9cdd127253bb13"; + hash = "sha256-sUXPIpaQns9YUcgKZR2ZgLHSYTGcjTfgJ6M4zd+q6Jw="; }; meta.homepage = "https://github.com/unisonweb/unison/"; meta.hydraPlatforms = [ ]; @@ -16674,12 +16687,12 @@ final: prev: { vague-nvim = buildVimPlugin { pname = "vague.nvim"; - version = "1.6.0-unstable-2026-02-17"; + version = "2.0.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "vague-theme"; repo = "vague.nvim"; - rev = "24cd29d277bf5259ab347c49d223d8cfb9057565"; - hash = "sha256-P1M4zDPI7s753yvrpwZ13mR+oRZzH5Fol2YVILgmX3k="; + rev = "4abd79d6fbaca57bf437763d0b5bed364e4512bd"; + hash = "sha256-ywsi+76F5YSeNt/vfjF7hENGAroOduPqqpchW/7iiVA="; }; meta.homepage = "https://github.com/vague-theme/vague.nvim/"; meta.hydraPlatforms = [ ]; @@ -16700,12 +16713,12 @@ final: prev: { venv-selector-nvim = buildVimPlugin { pname = "venv-selector.nvim"; - version = "0-unstable-2026-02-16"; + version = "0-unstable-2026-02-22"; src = fetchFromGitHub { owner = "linux-cultist"; repo = "venv-selector.nvim"; - rev = "d4367f29df803e1fe79c0aa8e4c6250cd0ff0e5f"; - hash = "sha256-Lzeag+BKDMAm4AYTUkj3hmGyKeSPhO3ZFlB+4cfjwIE="; + rev = "59adce1481e2a182bc1e4d706869b069f19b32ba"; + hash = "sha256-t6dYFe+w5S2rrEFJ4zLsFXhRvW2ut4l+ZcJhta9ObjE="; }; meta.homepage = "https://github.com/linux-cultist/venv-selector.nvim/"; meta.hydraPlatforms = [ ]; @@ -17129,12 +17142,12 @@ final: prev: { vim-airline = buildVimPlugin { pname = "vim-airline"; - version = "0.11-unstable-2025-12-23"; + version = "0.11-unstable-2026-02-27"; src = fetchFromGitHub { owner = "vim-airline"; repo = "vim-airline"; - rev = "b03fdc542f5155b54959102a2aecaf6c792dce01"; - hash = "sha256-VfbzZ6rT3RnP2eteXyFiPGwmHHwLTDTHSkdqe34ejj4="; + rev = "4ab7c731fe64672412fbe0723831928785c84931"; + hash = "sha256-aLEnDkiDD1yRmLLaFTa41rLXhWRGpJzTPaVWY9qzSp4="; }; meta.homepage = "https://github.com/vim-airline/vim-airline/"; meta.hydraPlatforms = [ ]; @@ -18858,12 +18871,12 @@ final: prev: { vim-go = buildVimPlugin { pname = "vim-go"; - version = "1.29-unstable-2026-02-16"; + version = "1.29-unstable-2026-02-26"; src = fetchFromGitHub { owner = "fatih"; repo = "vim-go"; - rev = "24528ad835451465ed605638d6416051cac53057"; - hash = "sha256-bUgM5zhL/ue9WZQr1NSg7xo1CIcPNIicrFMkf9lueHY="; + rev = "9f4b56e32774604172be0dd2745b5aeacdb40ff5"; + hash = "sha256-AqHZQb1zBq+s0LsZMljTYfiibkKZIawPlsRJ0K70Gk8="; }; meta.homepage = "https://github.com/fatih/vim-go/"; meta.hydraPlatforms = [ ]; @@ -19822,12 +19835,12 @@ final: prev: { vim-lsp = buildVimPlugin { pname = "vim-lsp"; - version = "0.1.4-unstable-2026-02-09"; + version = "0.1.4-unstable-2026-02-24"; src = fetchFromGitHub { owner = "prabirshrestha"; repo = "vim-lsp"; - rev = "0be7853a46af5bad9fe9af257ca1da5eabc11716"; - hash = "sha256-Yt2oDsOJMv/nN86dEHdd552aqVEg4GsEkm9DeMMZzaI="; + rev = "6df6722167fa5ddc78d9d1b83d16727eec6ec22e"; + hash = "sha256-bd7NOHQyhIeCqLOtEVdIKgEKd+iWcBcZow9sMa1JEnw="; }; meta.homepage = "https://github.com/prabirshrestha/vim-lsp/"; meta.hydraPlatforms = [ ]; @@ -21356,12 +21369,12 @@ final: prev: { vim-slime = buildVimPlugin { pname = "vim-slime"; - version = "0-unstable-2026-01-01"; + version = "0-unstable-2026-02-27"; src = fetchFromGitHub { owner = "jpalardy"; repo = "vim-slime"; - rev = "2792879461d3f562a3a353f83ed0dc5dc3f5bb82"; - hash = "sha256-nC3miRnve7RFGtAA9Mxk+VvX3hGgxTD3ddfRN1zPy80="; + rev = "2cfdc3b24e7ebaa64f5a1a04b00555600c622b79"; + hash = "sha256-wFoEmru31f7PoN8JMtTLyIj5t8wFAO4jduFOYkAJfJ8="; }; meta.homepage = "https://github.com/jpalardy/vim-slime/"; meta.hydraPlatforms = [ ]; @@ -21812,12 +21825,12 @@ final: prev: { vim-test = buildVimPlugin { pname = "vim-test"; - version = "2.1.0-unstable-2026-02-09"; + version = "2.1.0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "vim-test"; repo = "vim-test"; - rev = "f881edb21e7a092f5793687d058c257dddb961d3"; - hash = "sha256-p7ittGdFRwD6msBxn4UoxcRyX39yLUtCRAEc7Agpa5w="; + rev = "931c6cfdd3069df52c4486b25200e4b10d0595c8"; + hash = "sha256-y7tf7tfd3v8uobnBhnC6cjoSbUp99PYBWroAffbKa1g="; }; meta.homepage = "https://github.com/vim-test/vim-test/"; meta.hydraPlatforms = [ ]; @@ -22671,12 +22684,12 @@ final: prev: { vimtex = buildVimPlugin { pname = "vimtex"; - version = "2.17-unstable-2026-02-11"; + version = "2.17-unstable-2026-02-28"; src = fetchFromGitHub { owner = "lervag"; repo = "vimtex"; - rev = "95b93a24740f7b89dd8331326b41bdd1337d79f6"; - hash = "sha256-mB+4mpFA0dYLAhvKA+0dGQ11VZhWfTZqI1mft82OMN0="; + rev = "fcd1533862cc3153c203399964065bc835f6919a"; + hash = "sha256-oz+/5wlR/XTdvbMoFBdaP9mqut5Va9H3OD8bUS6PWvI="; }; meta.homepage = "https://github.com/lervag/vimtex/"; meta.hydraPlatforms = [ ]; @@ -22684,12 +22697,12 @@ final: prev: { vimux = buildVimPlugin { pname = "vimux"; - version = "1.1.0-unstable-2025-11-07"; + version = "1.1.0-unstable-2026-02-27"; src = fetchFromGitHub { owner = "preservim"; repo = "vimux"; - rev = "614f0bb1fb598f97accdcea71d5f7b18d7d62436"; - hash = "sha256-kEGuRK5oksy0xHcv2CDz2marM0IqMpSaLjyMxjqGC54="; + rev = "d6cb7f63a8bb428ffc27060b7f83c77fb115589c"; + hash = "sha256-Bz7yi/YwOSV+xffGyCwz+uJJP9G88gDydo91HX2qK3U="; }; meta.homepage = "https://github.com/preservim/vimux/"; meta.hydraPlatforms = [ ]; @@ -22775,12 +22788,12 @@ final: prev: { visual-whitespace-nvim = buildVimPlugin { pname = "visual-whitespace.nvim"; - version = "0-unstable-2026-01-20"; + version = "0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "mcauley-penney"; repo = "visual-whitespace.nvim"; - rev = "2eefcbcbe294ea6610868755db7ddb8f92f68a1c"; - hash = "sha256-qy/WW4GtzWyOnhNqylg+meZ0o3kGEtvF+nptvmXnZwk="; + rev = "49ff2b1c572ed7033a584381fa23aad2bf3bb258"; + hash = "sha256-svKfA9p6WC6k3kbxG4TJxe2r0xpRPdbNTVk2PZcPAiY="; }; meta.homepage = "https://github.com/mcauley-penney/visual-whitespace.nvim/"; meta.hydraPlatforms = [ ]; @@ -23257,12 +23270,12 @@ final: prev: { yazi-nvim = buildVimPlugin { pname = "yazi.nvim"; - version = "13.1.4-unstable-2026-02-19"; + version = "13.1.4-unstable-2026-02-27"; src = fetchFromGitHub { owner = "mikavilpas"; repo = "yazi.nvim"; - rev = "102447e79eb4daf801546d113f141e57abdb38e4"; - hash = "sha256-XnH3A92FYo/SL7jAgx/5CbSg3HgVT78oSYDz94u2t5Q="; + rev = "6b178086bdfd90b13bc8b68ba6595a82c898e4f1"; + hash = "sha256-Ae1ZzmqbBJEHmD3qbxlvDnW4C7wWFEdEUiEmmWJOpaA="; }; meta.homepage = "https://github.com/mikavilpas/yazi.nvim/"; meta.hydraPlatforms = [ ]; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix index 960261585db5c..b2d916acc053a 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix @@ -12,12 +12,12 @@ pkgs, }: let - version = "0.0.27-unstable-2026-02-16"; + version = "0.0.27-unstable-2026-02-23"; src = fetchFromGitHub { owner = "yetone"; repo = "avante.nvim"; - rev = "ecc669a87deb2be95db49e53041c05a2d0980fd4"; - hash = "sha256-ciBJS6+knAQSZrtxWvSSADCfBLH07OMG+Rl3jrAz49M="; + rev = "2475e71982cadc8d38ba20b9b6112873f33caf31"; + hash = "sha256-vgMDC005PrSJBMpoqqxSmth6tCG4YZfTAQz2475Po6E="; }; avante-nvim-lib = rustPlatform.buildRustPackage { pname = "avante-nvim-lib"; @@ -71,6 +71,10 @@ vimUtils.buildVimPlugin { ln -s ${avante-nvim-lib}/lib/libavante_templates${ext} $out/build/avante_templates${ext} ln -s ${avante-nvim-lib}/lib/libavante_tokenizers${ext} $out/build/avante_tokenizers${ext} ln -s ${avante-nvim-lib}/lib/libavante_html2md${ext} $out/build/avante_html2md${ext} + + # Fixes PKCE auth flows not finding libcrypto + substituteInPlace "$out/lua/avante/auth/pkce.lua" \ + --replace-fail 'pcall(ffi.load, "crypto")' 'pcall(ffi.load, "${lib.getLib openssl}/lib/libcrypto${ext}")' ''; passthru = { diff --git a/pkgs/applications/editors/vim/plugins/non-generated/sniprun/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/sniprun/default.nix index 80ea598076a82..6c96256c17909 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/sniprun/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/sniprun/default.nix @@ -18,18 +18,18 @@ nix-update-script, }: let - version = "1.3.21"; + version = "1.3.22"; src = fetchFromGitHub { owner = "michaelb"; repo = "sniprun"; tag = "v${version}"; - hash = "sha256-L/OTi6vHyfcvlVgpgjiU3MBCd6v00GKlAkUwBm4X500="; + hash = "sha256-lehL28qI1YArYK38v5tGRe7SSzHxU8Fbf10fG4ShMUw="; }; sniprun-bin = rustPlatform.buildRustPackage { pname = "sniprun-bin"; inherit version src; - cargoHash = "sha256-6xh4YyXGIqrU9ixQ6QDCGDtaROoPe8iSMlytclbqqtY="; + cargoHash = "sha256-YbovDLXVYnwCWwUC5FNAdvGbBThbkI4kOF5ukDY1IhA="; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix index 37cf2e450372f..3de2e73118ebc 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix @@ -202,12 +202,12 @@ }; blade = buildGrammar { language = "blade"; - version = "0.0.0+rev=cc764da"; + version = "0.0.0+rev=42b3c5a"; src = fetchFromGitHub { owner = "EmranMR"; repo = "tree-sitter-blade"; - rev = "cc764dadcbbceb3f259396fef66f970c72e94f96"; - hash = "sha256-3/gY68F+xOF5Fv6rK9cEIJCVDzg/3ap1/gzkEacGuy4="; + rev = "42b3c5a06bc29fbd2c2cbd52b96113365fbed646"; + hash = "sha256-zWAu5FZzfYYy4Zw8e1W5zujto/pDqGqGXKfWDYiH3NY="; }; meta.homepage = "https://github.com/EmranMR/tree-sitter-blade"; }; @@ -268,12 +268,12 @@ }; c_sharp = buildGrammar { language = "c_sharp"; - version = "0.0.0+rev=f1bf9a9"; + version = "0.0.0+rev=8836663"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-c-sharp"; - rev = "f1bf9a9b8410b1ebea900e2e5fc000007d5ef99d"; - hash = "sha256-xvOjR6j64whwvFvop63jhDti2OrAIStvNy56OGUK6ZI="; + rev = "88366631d598ce6595ec655ce1591b315cffb14c"; + hash = "sha256-x2JQKMCyvqJkVuQPfAmoihSaBxgWaTFadkmZOuc58Bc="; }; meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp"; }; @@ -411,12 +411,12 @@ }; cpp = buildGrammar { language = "cpp"; - version = "0.0.0+rev=12bd6f7"; + version = "0.0.0+rev=8b5b49e"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-cpp"; - rev = "12bd6f7e96080d2e70ec51d4068f2f66120dde35"; - hash = "sha256-vmXTv6Idf0Le5ZVa8Rc1DVefqzUxkGeLGsYcSDNBpQU="; + rev = "8b5b49eb196bec7040441bee33b2c9a4838d6967"; + hash = "sha256-x3gDJ7/lukdOwfRFKrHZqV2zZ3Buqel5GcfbFnxStLU="; }; passthru.requires = [ "c" @@ -465,12 +465,12 @@ }; cue = buildGrammar { language = "cue"; - version = "0.0.0+rev=770737b"; + version = "0.0.0+rev=be0f609"; src = fetchFromGitHub { owner = "eonpatapon"; repo = "tree-sitter-cue"; - rev = "770737bcff2c4aa3f624d439e32b07dbb07102d3"; - hash = "sha256-ujSBOwOnjsKuFhHtt4zvj90VcQsak8mEcWYJ0e5/mKc="; + rev = "be0f609c73cc2929811a9bce0ed90ca71ea87604"; + hash = "sha256-PDezYVX4JL2KUk9PsOPnJuVMhAJQ7ic7sJwziJB1NXo="; }; meta.homepage = "https://github.com/eonpatapon/tree-sitter-cue"; }; @@ -509,12 +509,12 @@ }; desktop = buildGrammar { language = "desktop"; - version = "0.0.0+rev=27c713c"; + version = "0.0.0+rev=v1.1.1"; src = fetchFromGitHub { owner = "ValdezFOmar"; repo = "tree-sitter-desktop"; - rev = "27c713cd097f85d3024569adf34e069cade84905"; - hash = "sha256-PBzf6Bqe874zhp5KI9gjF35J7y11Me+Sgsrt6d+BAq8="; + tag = "v1.1.1"; + hash = "sha256-ZxOpv7SPq04jEuduVc0NaVr+IgjJ9CdHp1lpLgYHQQg="; }; meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-desktop"; }; @@ -643,12 +643,12 @@ }; editorconfig = buildGrammar { language = "editorconfig"; - version = "0.0.0+rev=b58de0c"; + version = "0.0.0+rev=v2.0.0"; src = fetchFromGitHub { owner = "ValdezFOmar"; repo = "tree-sitter-editorconfig"; - rev = "b58de0ce2c52990c8913e39a8c14ce4a40e29a39"; - hash = "sha256-c1J9vFJ1c7aJqgJibCT4r8P6SlKtLAQTwDi67zToNxc="; + tag = "v2.0.0"; + hash = "sha256-XoIUVzuXiGDADlAeMKCi0p8mJXrPIzuqi4LLm9wD5Ns="; }; meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-editorconfig"; }; @@ -808,12 +808,12 @@ }; fish = buildGrammar { language = "fish"; - version = "0.0.0+rev=aa074a0"; + version = "0.0.0+rev=fa2143f"; src = fetchFromGitHub { owner = "ram02z"; repo = "tree-sitter-fish"; - rev = "aa074a0bacde8b5823c592574d7138f156a95776"; - hash = "sha256-ZQj6XR7pHGoCOBS6GOHiRW9LWNoNPlwVcZe5F2mtGNE="; + rev = "fa2143f5d66a9eb6c007ba9173525ea7aaafe788"; + hash = "sha256-n6eGMdbW1Rsn5XbszLSSSG3F8jh+loYnPEiabNY+jfk="; }; meta.homepage = "https://github.com/ram02z/tree-sitter-fish"; }; @@ -1181,12 +1181,12 @@ }; groovy = buildGrammar { language = "groovy"; - version = "0.0.0+rev=8691159"; + version = "0.0.0+rev=a88865a"; src = fetchFromGitHub { owner = "murtaza64"; repo = "tree-sitter-groovy"; - rev = "86911590a8e46d71301c66468e5620d9faa5b6af"; - hash = "sha256-652wluH2C3pYmhthaj4eWDVLtEvvVIuu70bJNnt5em0="; + rev = "a88865a3301a538e2060af5b401f4f431f71406e"; + hash = "sha256-v2z9BNIKIsJKf1JSmh6EQ+HxotI5wqTpVUIai+mLybc="; }; meta.homepage = "https://github.com/murtaza64/tree-sitter-groovy"; }; @@ -1592,12 +1592,12 @@ }; julia = buildGrammar { language = "julia"; - version = "0.0.0+rev=dd7f707"; + version = "0.0.0+rev=8454f26"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-julia"; - rev = "dd7f707577585ade7a488d32dbfb366246ea3837"; - hash = "sha256-GFR48voa5DDMq5QKKjhYepipao2lTu5VIUze20pW+FM="; + rev = "8454f266717232525ed03c7b09164b0404a03150"; + hash = "sha256-o4yep2RJU53lWajxfPgAk/m+DpMIeYCHYAHsR3FZMT8="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-julia"; }; @@ -1647,12 +1647,12 @@ }; kitty = buildGrammar { language = "kitty"; - version = "0.0.0+rev=f821c16"; + version = "0.0.0+rev=fa6ab3f"; src = fetchFromGitHub { owner = "OXY2DEV"; repo = "tree-sitter-kitty"; - rev = "f821c16397ffab5b776d8781245215811438a624"; - hash = "sha256-vjfKJng2AkVfnpQsJM86XrbVT3s0JXkwWEqEQS57n0M="; + rev = "fa6ab3fd32d890a0217495c96b35761e6d2dcb5b"; + hash = "sha256-hyzwZfnslyxqL+98BWejCyLwwJMcj6O8EGuBYrCKn4o="; }; meta.homepage = "https://github.com/OXY2DEV/tree-sitter-kitty"; }; @@ -1669,12 +1669,12 @@ }; kotlin = buildGrammar { language = "kotlin"; - version = "0.0.0+rev=48c964a"; + version = "0.0.0+rev=cbed96a"; src = fetchFromGitHub { owner = "fwcd"; repo = "tree-sitter-kotlin"; - rev = "48c964a9ddfe4387968d1b6412d7b39106fb7f39"; - hash = "sha256-m8oAv6W06MzFgJ7coaaypuElsrIVLFuIxBtSi08LuKI="; + rev = "cbed96ab13dbc082eeeb2e8333c342a62829c29d"; + hash = "sha256-BEjXsVUfEJJVTaW9ZpTAuAUOtWxRfToywfDH4TssaeM="; }; meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin"; }; @@ -1758,23 +1758,23 @@ }; liquid = buildGrammar { language = "liquid"; - version = "0.0.0+rev=d6ebde3"; + version = "0.0.0+rev=fa11c7b"; src = fetchFromGitHub { owner = "hankthetank27"; repo = "tree-sitter-liquid"; - rev = "d6ebde3974742cd1b61b55d1d94aab1dacb41056"; - hash = "sha256-rcRbo6iyO2uC2OS0dR20xJlDlBdCoyIUc9nEv0KPWxI="; + rev = "fa11c7ba45038b61e03a8a00ad667fb5f3d72088"; + hash = "sha256-zDBaW8Tb5MgdLJTIJmZzkR0KqAqmEortAI6jbEspgqE="; }; meta.homepage = "https://github.com/hankthetank27/tree-sitter-liquid"; }; liquidsoap = buildGrammar { language = "liquidsoap"; - version = "0.0.0+rev=d092c65"; + version = "0.0.0+rev=abd0ecc"; src = fetchFromGitHub { owner = "savonet"; repo = "tree-sitter-liquidsoap"; - rev = "d092c65598e940564e12214ff7c2097528cfa159"; - hash = "sha256-u36QnHiZtFldMmWuwlsahXh+PW8WEEmWnMS4ZATFej8="; + rev = "abd0eccddd680102064e0eca82ef954bd8d1a301"; + hash = "sha256-1PSVm2FD17TxWwZwS2m0TK6ACS6NzVQUQChu8bg01Lc="; }; meta.homepage = "https://github.com/savonet/tree-sitter-liquidsoap"; }; @@ -1791,12 +1791,12 @@ }; lua = buildGrammar { language = "lua"; - version = "0.0.0+rev=e40f5b6"; + version = "0.0.0+rev=10fe005"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-lua"; - rev = "e40f5b6e6df9c2d1d6d664ff5d346a75d71ee6b2"; - hash = "sha256-tBD2Z+t0YafUeeV7xsFS9Cwe6dR9WewYh2yL/GcIfFw="; + rev = "10fe0054734eec83049514ea2e718b2a56acd0c9"; + hash = "sha256-VzaaN5pj7jMAb/u1fyyH6XmLI+yJpsTlkwpLReTlFNY="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-lua"; }; @@ -1849,23 +1849,23 @@ }; make = buildGrammar { language = "make"; - version = "0.0.0+rev=5e9e8f8"; + version = "0.0.0+rev=70613f3"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-make"; - rev = "5e9e8f8ff3387b0edcaa90f46ddf3629f4cfeb1d"; - hash = "sha256-WiuhAp9JZKLd0wKCui9MV7AYFOW9dCbUp+kkVl1OEz0="; + rev = "70613f3d812cbabbd7f38d104d60a409c4008b43"; + hash = "sha256-gyshhqVYiL0qSsMp38BM20FYc4uPgr2de5/DWsAJZGc="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-make"; }; markdown = buildGrammar { language = "markdown"; - version = "0.0.0+rev=cee71b8"; + version = "0.0.0+rev=f969cd3"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-markdown"; - rev = "cee71b8288f2ec09c29415219ac15a654bd571b9"; - hash = "sha256-8ZNPVaJoiTh1RSVwMsH8d6zG/asbNvDA2DOqHhKd3k0="; + rev = "f969cd3ae3f9fbd4e43205431d0ae286014c05b5"; + hash = "sha256-WUVN7+lzDI+VC5PuJjhHiS4JpVr1x0Ic30i2tVrI6W8="; }; location = "tree-sitter-markdown"; passthru.requires = [ @@ -1875,12 +1875,12 @@ }; markdown_inline = buildGrammar { language = "markdown_inline"; - version = "0.0.0+rev=cee71b8"; + version = "0.0.0+rev=f969cd3"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-markdown"; - rev = "cee71b8288f2ec09c29415219ac15a654bd571b9"; - hash = "sha256-8ZNPVaJoiTh1RSVwMsH8d6zG/asbNvDA2DOqHhKd3k0="; + rev = "f969cd3ae3f9fbd4e43205431d0ae286014c05b5"; + hash = "sha256-WUVN7+lzDI+VC5PuJjhHiS4JpVr1x0Ic30i2tVrI6W8="; }; location = "tree-sitter-markdown-inline"; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-markdown"; @@ -1931,12 +1931,12 @@ }; mlir = buildGrammar { language = "mlir"; - version = "0.0.0+rev=e4d1566"; + version = "0.0.0+rev=1cff1bf"; src = fetchFromGitHub { owner = "artagnon"; repo = "tree-sitter-mlir"; - rev = "e4d15660e9984f742aa4bde95012d7e809ddb4d4"; - hash = "sha256-/X443+X6X4NXd8qhLMDm+19HFHGKiIAqVQtCwWzWJR0="; + rev = "1cff1bf79135f8effef87d7cee9d3b26d1970ee9"; + hash = "sha256-wjlVfSbsnJklPCdQPMYfImHVT0OeJSKjuzA1iebWNjc="; }; generate = true; meta.homepage = "https://github.com/artagnon/tree-sitter-mlir"; @@ -2224,12 +2224,12 @@ }; pkl = buildGrammar { language = "pkl"; - version = "0.0.0+rev=0be2b56"; + version = "0.0.0+rev=a02fc36"; src = fetchFromGitHub { owner = "apple"; repo = "tree-sitter-pkl"; - rev = "0be2b56dec91cf03d6b653dcbb24188dd5c44dd6"; - hash = "sha256-KFXJR346h4ZR53EzhQRkThL7eFn0kb0z622jDHuHkEw="; + rev = "a02fc36f6001a22e7fdf35eaabbadb7b39c74ba5"; + hash = "sha256-t+N4oxqZpzm3qHkbjUVyGzeVS56u1oFVx0MtgTBe0bk="; }; meta.homepage = "https://github.com/apple/tree-sitter-pkl"; }; @@ -2279,12 +2279,12 @@ }; powershell = buildGrammar { language = "powershell"; - version = "0.0.0+rev=7212f47"; + version = "0.0.0+rev=da65ba3"; src = fetchFromGitHub { owner = "airbus-cert"; repo = "tree-sitter-powershell"; - rev = "7212f47716ced384ac012b2cc428fd9f52f7c5d4"; - hash = "sha256-xzDM1CdBY95XgLsEjqKWrwuIf/s6/2Q0XbxJRvOuL2o="; + rev = "da65ba3acc93777255781b447f5e7448245df4bf"; + hash = "sha256-ETuZcVSvHF5ILN6+xjWlQM5IiT/+dtxdSckrHJSJSWk="; }; meta.homepage = "https://github.com/airbus-cert/tree-sitter-powershell"; }; @@ -2361,12 +2361,12 @@ }; proto = buildGrammar { language = "proto"; - version = "0.0.0+rev=0e122d8"; + version = "0.0.0+rev=f0e7676"; src = fetchFromGitHub { owner = "coder3101"; repo = "tree-sitter-proto"; - rev = "0e122d8444fd67cd8fb72fc927323b36807e7ace"; - hash = "sha256-fSloTD0QrV36YaB6e5zn/NkQVoZEWKTiK0PN+3DznuY="; + rev = "f0e767689c6e9efe7ff2e4b8680db71411915588"; + hash = "sha256-JE8SRs39GWjEH9dnIbugv7UJXDh/aI+dwLfSqJiwbD8="; }; meta.homepage = "https://github.com/coder3101/tree-sitter-proto"; }; @@ -2486,12 +2486,12 @@ }; query = buildGrammar { language = "query"; - version = "0.0.0+rev=6350ad7"; + version = "0.0.0+rev=fc5409c"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-query"; - rev = "6350ad724e7b17a7eea712d4860b4d2ae892e0b6"; - hash = "sha256-/nibZKIEeZFL0k5NkSnYVP0Eujojge5Hsw2jSoI6ncw="; + rev = "fc5409c6820dd5e02b0b0a309d3da2bfcde2db17"; + hash = "sha256-51dMHH50zVP/N0ljZs7J2wh0EiNtsr2+UvM/S3LkP10="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-query"; }; @@ -2618,12 +2618,12 @@ }; rescript = buildGrammar { language = "rescript"; - version = "0.0.0+rev=3159c94"; + version = "0.0.0+rev=43c2f1f"; src = fetchFromGitHub { owner = "rescript-lang"; repo = "tree-sitter-rescript"; - rev = "3159c949c15096b02b470bd4025754806fc7a17d"; - hash = "sha256-A1u3CCJw6Rqsr6SLqVjYIr6spd7prLF4AMmA79N+8tQ="; + rev = "43c2f1f35024918d415dc933d4cc534d6419fedf"; + hash = "sha256-QG4LvF/ix7wKHrZ1pUNXzG6ibbITUYAZYb4a39qJF/o="; }; meta.homepage = "https://github.com/rescript-lang/tree-sitter-rescript"; }; @@ -2651,12 +2651,12 @@ }; robot = buildGrammar { language = "robot"; - version = "0.0.0+rev=e34def7"; + version = "0.0.0+rev=v1.2.0"; src = fetchFromGitHub { owner = "Hubro"; repo = "tree-sitter-robot"; - rev = "e34def7cb0d8a66a59ec5057fe17bb4e6b17b56a"; - hash = "sha256-fTV45TQp2Z+ivh2YWphlJjyuBh0iMCpaNDyKoHrNAh0="; + tag = "v1.2.0"; + hash = "sha256-YvhRF2G8qNCkCp/XMuwV8qDGBYq+3d/XF0nCJdEGoXM="; }; meta.homepage = "https://github.com/Hubro/tree-sitter-robot"; }; @@ -2820,12 +2820,12 @@ }; slint = buildGrammar { language = "slint"; - version = "0.0.0+rev=a6e4e1c"; + version = "0.0.0+rev=4d7ad06"; src = fetchFromGitHub { owner = "slint-ui"; repo = "tree-sitter-slint"; - rev = "a6e4e1c656429e5df52dcfcd92da87b642f6678b"; - hash = "sha256-A4m3jG7VjGws7pVzd7ulbhINe783shv4pc3tH8EDji0="; + rev = "4d7ad0617c30f865f051bbac04a9826bea29f987"; + hash = "sha256-u/nVbZEJPMbBzYCgXpE8L1KJyWJmB27uofSkeOMSOnI="; }; meta.homepage = "https://github.com/slint-ui/tree-sitter-slint"; }; @@ -2943,12 +2943,12 @@ }; sql = buildGrammar { language = "sql"; - version = "0.0.0+rev=c686d57"; + version = "0.0.0+rev=851e9cb"; src = fetchFromGitHub { owner = "derekstride"; repo = "tree-sitter-sql"; - rev = "c686d575d6ee585c404c30dd1cf2a0f42d687460"; - hash = "sha256-fI4Le/4OIxDJrQ0uzJaKMejhDkPY7Ew6DuhJFya8t4k="; + rev = "851e9cb257ba7c66cc8c14214a31c44d2f1e954e"; + hash = "sha256-VP9W8X+S51oEAc2MMl5ALf7aglYZ2Ai38MGSo/FOL98="; }; meta.homepage = "https://github.com/derekstride/tree-sitter-sql"; }; @@ -3065,12 +3065,12 @@ }; swift = buildGrammar { language = "swift"; - version = "0.0.0+rev=12bacf3"; + version = "0.0.0+rev=30e18c7"; src = fetchFromGitHub { owner = "alex-pinkus"; repo = "tree-sitter-swift"; - rev = "12bacf3ee30f6c39e7cfa6ca6625cac012589236"; - hash = "sha256-2rhH2sbl2CQv3meOC+s3NNsJIfV2KKqzybH4p596gXU="; + rev = "30e18c7b0210b33ffd6e8a7028e170a9dc90825b"; + hash = "sha256-223uxZ8mqY3m5774voRThth2bEa3sM5GHkKLo6ewd7k="; }; generate = true; meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift"; @@ -3099,12 +3099,12 @@ }; systemverilog = buildGrammar { language = "systemverilog"; - version = "0.0.0+rev=7c4b01b"; + version = "0.0.0+rev=2939285"; src = fetchFromGitHub { owner = "gmlarumbe"; repo = "tree-sitter-systemverilog"; - rev = "7c4b01b7df2f6e7fa1f698c9d30ac8f93af18ed2"; - hash = "sha256-u0a8yQfFwYbAhuT8VZjKPuTfBNwAaQ0e25CcIek0thc="; + rev = "293928578cb27fbd0005fcc5f09c09a1e8628c89"; + hash = "sha256-bvnJlEiaHtcmvNw3yyiysKMvdz919Fvr+/fyH8GcEYs="; }; meta.homepage = "https://github.com/gmlarumbe/tree-sitter-systemverilog"; }; @@ -3396,12 +3396,12 @@ }; unison = buildGrammar { language = "unison"; - version = "0.0.0+rev=16650de"; + version = "0.0.0+rev=10365cc"; src = fetchFromGitHub { owner = "kylegoetz"; repo = "tree-sitter-unison"; - rev = "16650de9f519e41f8e88b22b4c401d50fa0ac8ca"; - hash = "sha256-gdTjLC7J+x99EjWYdwOSzPGnnAMri1Q7luwvRE4AzQ0="; + rev = "10365cc70ab2b2de85ea7ab35cf6b7636c36ce8b"; + hash = "sha256-l6X2x5lGlUhyf6Pr6lWd4aWacz7vmvtHVyM4qqPO8zg="; }; generate = true; meta.homepage = "https://github.com/kylegoetz/tree-sitter-unison"; @@ -3464,12 +3464,12 @@ }; vhdl = buildGrammar { language = "vhdl"; - version = "0.0.0+rev=674ed9f"; + version = "0.0.0+rev=7e0d014"; src = fetchFromGitHub { owner = "jpt13653903"; repo = "tree-sitter-vhdl"; - rev = "674ed9fe6c13c79c0e7407daaf4518d053e6f0f4"; - hash = "sha256-7j5eU9nIRTMs1U7mbXgtUqag9UV0JLUsTxHbW/hhn74="; + rev = "7e0d014691c1b8c25e8fe8f30cc3ac4649df3f57"; + hash = "sha256-r3fMnexbbIniZA75ZIJ+ay39/JCCb3b3J5F6bYMK4YY="; }; meta.homepage = "https://github.com/jpt13653903/tree-sitter-vhdl"; }; @@ -3486,12 +3486,12 @@ }; vim = buildGrammar { language = "vim"; - version = "0.0.0+rev=1cd0a08"; + version = "0.0.0+rev=3092fcd"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-vim"; - rev = "1cd0a0892b389bd314a9bd09545160e5ee3c9137"; - hash = "sha256-u//XZ9jTkbcABv4rJ+zii22/oaEQfKF0V7rCG+zdBFE="; + rev = "3092fcd99eb87bbd0fc434aa03650ba58bd5b43b"; + hash = "sha256-MnLBFuJCJbetcS07fG5fkCwHtf/EcNP+Syf0Gn0K39c="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-vim"; }; @@ -3611,12 +3611,12 @@ }; xresources = buildGrammar { language = "xresources"; - version = "0.0.0+rev=8ec70e2"; + version = "0.0.0+rev=v1.0.0"; src = fetchFromGitHub { owner = "ValdezFOmar"; repo = "tree-sitter-xresources"; - rev = "8ec70e2171025d09146afd2cce9712affe9ff3dd"; - hash = "sha256-ZK1R+8LrrHMsw5T9O3xHuLamFETsjwyCifwBPquMQew="; + tag = "v1.0.0"; + hash = "sha256-Ov/EKPw4HW0QVQahYb17CM7cJjTya+B1x45ET4jUo1E="; }; meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-xresources"; }; @@ -3701,12 +3701,12 @@ }; zsh = buildGrammar { language = "zsh"; - version = "0.0.0+rev=v0.53.0"; + version = "0.0.0+rev=v0.56.0"; src = fetchFromGitHub { owner = "georgeharker"; repo = "tree-sitter-zsh"; - tag = "v0.53.0"; - hash = "sha256-xDivWiJYwuydadkyin6jsc9FFwhgHQ+EBa/YQRiAM/s="; + tag = "v0.56.0"; + hash = "sha256-fU2cU0fuIxlJpvep7y+aSIPSMJE5lEWi1M+bb9/fOfk="; }; meta.homepage = "https://github.com/georgeharker/tree-sitter-zsh"; }; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 64b86ec1a5f70..567be4336b8ba 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -1255,6 +1255,13 @@ assertNoAdditions { dependencies = [ self.nvzone-volt ]; }; + flow-nvim = super.flow-nvim.overrideAttrs { + nvimSkipModules = [ + # Optional barbecue integration requires flow.setup() first. + "barbecue.theme.flow" + ]; + }; + flutter-tools-nvim = super.flutter-tools-nvim.overrideAttrs { # Optional dap integration checkInputs = [ self.nvim-dap ]; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index f52c88b888f67..786aef23203e4 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -415,6 +415,7 @@ https://github.com/ncm2/float-preview.nvim/,, https://github.com/nvzone/floaterm/,HEAD, https://github.com/liangxianzhe/floating-input.nvim/,HEAD, https://github.com/floobits/floobits-neovim/,, +https://github.com/0xstepit/flow.nvim/,HEAD, https://github.com/projectfluent/fluent.vim/,HEAD, https://github.com/nvim-flutter/flutter-tools.nvim/,HEAD, https://github.com/nvim-focus/focus.nvim/,HEAD, diff --git a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix index 9a32fe5506264..81ee3d2104272 100644 --- a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix +++ b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix @@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "claude-code"; publisher = "anthropic"; - version = "2.1.49"; - hash = "sha256-9WwA1TUM/h8kLoZV/ukh/4s3w9DnJ/cVAxypz4jlj6A="; + version = "2.1.59"; + hash = "sha256-j8tZSPTHlCFVCCCUl54MqvA3eRczfu8byEEbn7KHTPY="; }; postInstall = '' diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 45cc1a357222a..0ddc82509d782 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -896,7 +896,7 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=Catppuccin.catppuccin-vsc-icons"; homepage = "https://github.com/catppuccin/vscode-icons"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.laurent-f1z1 ]; + maintainers = [ ]; }; }; }; @@ -4149,7 +4149,7 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=seatonjiang.gitmoji-vscode"; homepage = "https://github.com/seatonjiang/gitmoji-vscode/"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.laurent-f1z1 ]; + maintainers = [ ]; }; }; diff --git a/pkgs/applications/editors/vscode/extensions/github.copilot-chat/default.nix b/pkgs/applications/editors/vscode/extensions/github.copilot-chat/default.nix index 7f239c594d7e7..2b3c69355a0e4 100644 --- a/pkgs/applications/editors/vscode/extensions/github.copilot-chat/default.nix +++ b/pkgs/applications/editors/vscode/extensions/github.copilot-chat/default.nix @@ -16,6 +16,6 @@ vscode-utils.buildVscodeMarketplaceExtension { downloadPage = "https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat"; homepage = "https://github.com/features/copilot"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.laurent-f1z1 ]; + maintainers = [ ]; }; } diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/adapter.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/adapter.nix index 11d60d8a10b8c..726703c99c517 100644 --- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/adapter.nix +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/adapter.nix @@ -4,10 +4,14 @@ makeWrapper, rustPlatform, stdenv, + codelldb-launch, pname, src, version, + + cargoHash, + standalone ? false, }: let # debugservers on macOS require the 'com.apple.security.cs.debugger' @@ -24,17 +28,19 @@ rustPlatform.buildRustPackage { pname = "${pname}-adapter"; inherit version src; - cargoHash = "sha256-Nh4YesgWa1JR8tLfrIRps9TBdsAfilXu6G2/kB08co8="; + inherit cargoHash; # Environment variables, based on # The LLDB_* variables are used in adapter/lldb/build.rs. "CC_${LLVM_TRIPLE}" = "${stdenv.cc}/bin/cc"; "CXX_${LLVM_TRIPLE}" = "${stdenv.cc}/bin/c++"; + LLDB_DYLIB = "${lib.getLib lldb}/lib/liblldb${stdenv.hostPlatform.extensions.sharedLibrary}"; LLDB_INCLUDE = "${lib.getDev lldb}/include"; - LLDB_LINK_LIB = "lldb"; - LLDB_LINK_SEARCH = "${lib.getLib lldb}/lib"; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ + makeWrapper + ] + ++ lib.optional standalone codelldb-launch; buildAndTestSubdir = "adapter"; @@ -54,6 +60,10 @@ rustPlatform.buildRustPackage { ln -s ${lib.getLib lldb} $out/share/lldb makeWrapper $out/share/adapter/codelldb $out/bin/codelldb \ --set-default LLDB_DEBUGSERVER_PATH "${lldbServer}" + + ${lib.optionalString standalone '' + cp ${codelldb-launch}/bin/codelldb-launch $out/share/adapter/codelldb-launch + ''} ''; # Tests fail to build (as of version 1.11.4). diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/codelldb-launch.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/codelldb-launch.nix new file mode 100644 index 0000000000000..1ad83bc6d4fc9 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/codelldb-launch.nix @@ -0,0 +1,22 @@ +{ + makeBinaryWrapper, + rustPlatform, + pname, + src, + version, + + cargoHash, +}: +rustPlatform.buildRustPackage { + pname = "${pname}-codelldb-launch"; + inherit version src cargoHash; + + nativeBuildInputs = [ makeBinaryWrapper ]; + + cargoBuildFlags = [ + "--package=codelldb-launch" + ]; + + # Tests fail to build (as of version 1.12.0). + doCheck = false; +} diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/codelldb-types.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/codelldb-types.nix new file mode 100644 index 0000000000000..2527acd7fb164 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/codelldb-types.nix @@ -0,0 +1,22 @@ +{ + makeWrapper, + rustPlatform, + pname, + src, + version, + + cargoHash, +}: +rustPlatform.buildRustPackage { + pname = "${pname}-codelldb-types"; + inherit version src cargoHash; + + nativeBuildInputs = [ makeWrapper ]; + + cargoBuildFlags = [ + "--package=codelldb-types" + ]; + + # Tests fail to build (as of version 1.12.0). + doCheck = false; +} diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix index 4fc5c68924610..b17bc1d767084 100644 --- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix @@ -10,14 +10,13 @@ nodejs, python3, rustc, - stdenv, unzip, }: assert lib.versionAtLeast python3.version "3.5"; let publisher = "vadimcn"; pname = "vscode-lldb"; - version = "1.11.4"; + version = "1.12.1"; vscodeExtUniqueId = "${publisher}.${pname}"; vscodeExtPublisher = publisher; @@ -27,10 +26,13 @@ let owner = "vadimcn"; repo = "codelldb"; rev = "v${version}"; - hash = "sha256-+Pe7ij5ukF5pLgwvr+HOHjIv1TQDiPOEeJtkpIW9XWI="; + hash = "sha256-B8iCy4NXG7IzJVncbYm5VoAMfhMfxGF+HW7M5sVn5b0="; }; lldb = llvmPackages_19.lldb; + stdenv = llvmPackages_19.libcxxStdenv; + + cargoHash = "sha256-fuUTLdavMiYfpyxctXes2GJCsNZd5g1d4B/v+W/Rnu8="; adapter = ( callPackage ./adapter.nix { @@ -38,15 +40,16 @@ let # based on the provided CMake toolchain files. # rustPlatform = makeRustPlatform { - stdenv = llvmPackages_19.libcxxStdenv; - inherit cargo rustc; + inherit stdenv cargo rustc; }; - stdenv = llvmPackages_19.libcxxStdenv; inherit pname src version + stdenv + cargoHash + codelldb-launch ; } ); @@ -61,6 +64,36 @@ let } ); + codelldb-types = ( + callPackage ./codelldb-types.nix { + rustPlatform = makeRustPlatform { + inherit stdenv cargo rustc; + }; + + inherit + pname + src + version + cargoHash + ; + } + ); + + codelldb-launch = ( + callPackage ./codelldb-launch.nix { + rustPlatform = makeRustPlatform { + inherit stdenv cargo rustc; + }; + + inherit + pname + src + version + cargoHash + ; + } + ); + in stdenv.mkDerivation { pname = "vscode-extension-${publisher}-${pname}"; @@ -79,6 +112,8 @@ stdenv.mkDerivation { makeWrapper nodejs unzip + codelldb-types + codelldb-launch ]; patches = [ ./patches/cmake-build-extension-only.patch ]; @@ -118,6 +153,11 @@ stdenv.mkDerivation { wrapProgram $ext/adapter/codelldb \ --prefix LD_LIBRARY_PATH : "$ext/lldb/lib" \ --set-default LLDB_DEBUGSERVER_PATH "${adapter.lldbServer}" + + # Used by VSCode + mkdir -p $ext/bin + cp ${codelldb-launch}/bin/codelldb-launch $ext/bin/codelldb-launch + # Mark that all components are installed. touch $ext/platform.ok @@ -132,7 +172,8 @@ stdenv.mkDerivation { ''; passthru = { - inherit lldb adapter; + inherit lldb; + adapter = adapter.override { standalone = true; }; updateScript = ./update.sh; }; diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/node_deps.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/node_deps.nix index d9ab939c5dacf..7b4b082988bef 100644 --- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/node_deps.nix +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/node_deps.nix @@ -16,7 +16,7 @@ buildNpmPackage { pname = "${pname}-node-deps"; inherit version src; - npmDepsHash = "sha256-Efeun7AFMAnoNXLbTGH7OWHaBHT2tO9CodfjKrIYw40="; + npmDepsHash = "sha256-TCeIBrlsNuphW2gVsX97+Wu1lOG5gDwS7559YA1d10M="; nativeBuildInputs = [ python3 diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/patches/cmake-build-extension-only.patch b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/patches/cmake-build-extension-only.patch index da71f77a45c69..023fb34ef6cff 100644 --- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/patches/cmake-build-extension-only.patch +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/patches/cmake-build-extension-only.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5cab8b1..0b500d5 100644 +index 3e4f955..2ca59d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,13 +16,6 @@ endif() @@ -13,27 +13,32 @@ index 5cab8b1..0b500d5 100644 - message(FATAL_ERROR "LLDB_PACKAGE not set." ) -endif() - - if (CMAKE_SYSROOT) - set(CMAKE_C_FLAGS "--sysroot=${CMAKE_SYSROOT} ${CMAKE_C_FLAGS}") - set(CMAKE_CXX_FLAGS "--sysroot=${CMAKE_SYSROOT} ${CMAKE_CXX_FLAGS}") -@@ -116,16 +109,6 @@ configure_file(package.json ${CMAKE_CURRENT_BINARY_DIR}/package.json @ONLY) - configure_file(webpack.config.js ${CMAKE_CURRENT_BINARY_DIR}/webpack.config.js) - file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/package-lock.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + set(CMAKE_CTEST_ARGUMENTS "--output-on-failure" CACHE INTERNAL "CTest arguments") + set(TEST_TIMEOUT 5000 CACHE STRING "Test timeout [ms]") +@@ -120,12 +113,6 @@ configure_file(package.json ${CMAKE_CURRENT_BINARY_DIR}/package.json @ONLY) + # We still need to resolve codelldb schema $ref's in it, but we'll do this during the build. + file(COPY_FILE ${CMAKE_CURRENT_BINARY_DIR}/package.json ${CMAKE_CURRENT_BINARY_DIR}/package.pre.json) + file(COPY_FILE ${CMAKE_CURRENT_SOURCE_DIR}/package-lock.json ${CMAKE_CURRENT_BINARY_DIR}/package-lock.json) -# Install node_modules -execute_process( -- COMMAND ${NPM} --loglevel verbose ci # like install, but actually respects package-lock file. +- COMMAND ${NPM} install - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} -- RESULT_VARIABLE Result +- COMMAND_ERROR_IS_FATAL ANY -) --if (NOT ${Result} EQUAL 0) -- message(FATAL_ERROR "npm install failed: ${Result}") --endif() -- - # Resolve $refs - execute_process( - COMMAND ${WithEnv} NODE_PATH=${CMAKE_CURRENT_BINARY_DIR}/node_modules node ${CMAKE_CURRENT_SOURCE_DIR}/tools/prep-package.js ${CMAKE_CURRENT_BINARY_DIR}/package.json ${CMAKE_CURRENT_BINARY_DIR}/package.json -@@ -183,6 +166,7 @@ add_custom_target(adapter_tests + # So we can commit any changes + file(COPY_FILE ${CMAKE_CURRENT_BINARY_DIR}/package-lock.json ${CMAKE_CURRENT_SOURCE_DIR}/package-lock.json) + +@@ -133,7 +120,7 @@ file(COPY_FILE ${CMAKE_CURRENT_BINARY_DIR}/package-lock.json ${CMAKE_CURRENT_SOU + add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/package.json ${CMAKE_BINARY_DIR}/generated/codelldb.ts + DEPENDS ${CMAKE_SOURCE_DIR}/package.json ${CMAKE_SOURCE_DIR}/src/codelldb-types/src/lib.rs +- COMMAND cargo run --package codelldb-types -- ${CMAKE_BINARY_DIR}/codelldb.schema.json ++ COMMAND codelldb-types ${CMAKE_BINARY_DIR}/codelldb.schema.json + COMMAND ${WithEnv} NODE_PATH=${CMAKE_CURRENT_BINARY_DIR}/node_modules node ${CMAKE_CURRENT_SOURCE_DIR}/tools/prep-package.js + ${CMAKE_CURRENT_BINARY_DIR}/package.pre.json ${CMAKE_CURRENT_BINARY_DIR}/package.json + COMMAND ${NPM} run json2ts -- ${CMAKE_BINARY_DIR}/codelldb.schema.json ${CMAKE_BINARY_DIR}/generated/codelldb.ts +@@ -158,6 +145,7 @@ add_custom_target(update_lockfiles add_copy_file(PackageFiles ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_BINARY_DIR}/README.md) add_copy_file(PackageFiles ${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG.md ${CMAKE_CURRENT_BINARY_DIR}/CHANGELOG.md) @@ -41,7 +46,7 @@ index 5cab8b1..0b500d5 100644 add_copy_file(PackageFiles ${CMAKE_CURRENT_SOURCE_DIR}/images/lldb.png ${CMAKE_CURRENT_BINARY_DIR}/images/lldb.png) add_copy_file(PackageFiles ${CMAKE_CURRENT_SOURCE_DIR}/images/user.svg ${CMAKE_CURRENT_BINARY_DIR}/images/user.svg) add_copy_file(PackageFiles ${CMAKE_CURRENT_SOURCE_DIR}/images/users.svg ${CMAKE_CURRENT_BINARY_DIR}/images/users.svg) -@@ -199,6 +183,7 @@ add_custom_target(dev_debugging +@@ -174,6 +162,7 @@ add_custom_target(dev_debugging set(PackagedFilesBootstrap README.md CHANGELOG.md diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix index 58666db8fea99..02424724f6310 100644 --- a/pkgs/applications/editors/vscode/vscode.nix +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -36,20 +36,20 @@ let hash = { - x86_64-linux = "sha256-6zmuYl34QMG3W5h/gCfiW9atK4CpdoQJvttw6y4sy9Q="; - x86_64-darwin = "sha256-0TD+ez+/jc6nZEoZO3j467ouMbmnek6iQQ6SMo57oL0="; - aarch64-linux = "sha256-Cz7mjcm0HcoRK5EA5xi9AHOxbiEOt9JL+Drfd6/tYBw="; - aarch64-darwin = "sha256-8Rfjr8WShCwrJlJapkALNPubPVBpKGZRtHKtTi5Xslc="; - armv7l-linux = "sha256-eUvAvFIP8/5KIIyZFD6VY6RBR97kus6PFb7Inxgh30A="; + x86_64-linux = "sha256-cBYBA8DdpQ9lGjfuJ6ZammSmk4c0zxoLzUnYNhK9sac="; + x86_64-darwin = "sha256-84PnRIUTfsf4T36GkgNaeaKAcz0Ul/BsP6Sd93G/F2g="; + aarch64-linux = "sha256-nncqNGnODOgu66jp7ok/spblLSl0iZ1lPJqrkSDncIA="; + aarch64-darwin = "sha256-ckwFJ4P2hCy7TTUS+peUNad00ydk4RnAthkggrbYzAQ="; + armv7l-linux = "sha256-I5Phy1eY+oYAVBklvtUldkYbmgJUYCBr7hAGIxnNTvA="; } .${system} or throwSystem; # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.109.4"; + version = "1.109.5"; # This is used for VS Code - Remote SSH test - rev = "c3a26841a84f20dfe0850d0a5a9bd01da4f003ea"; + rev = "072586267e68ece9a47aa43f8c108e0dcbf44622"; in buildVscode { pname = "vscode" + lib.optionalString isInsiders "-insiders"; @@ -82,7 +82,7 @@ buildVscode { src = fetchurl { name = "vscode-server-${rev}.tar.gz"; url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable"; - hash = "sha256-tv7BPcSnejWzURVB3/HpiyqjjeDxsn4dS/NTonsuEs4="; + hash = "sha256-E9Oruk0rwp1TcJ0QXwBoNMStJYmhzvXXkY0SA8bQv3Y="; }; stdenv = stdenvNoCC; }; diff --git a/pkgs/applications/emulators/libretro/cores/play.nix b/pkgs/applications/emulators/libretro/cores/play.nix index 080531a78aa1f..7bdb0142ac23e 100644 --- a/pkgs/applications/emulators/libretro/cores/play.nix +++ b/pkgs/applications/emulators/libretro/cores/play.nix @@ -14,13 +14,13 @@ }: mkLibretroCore { core = "play"; - version = "0-unstable-2026-02-16"; + version = "0-unstable-2026-02-23"; src = fetchFromGitHub { owner = "jpd002"; repo = "Play-"; - rev = "2a125b5d28cb2c02cbd2fdb00ce268581ffca05b"; - hash = "sha256-tYB2xcIU7O6BizHSSS4CPQMbLsnlHZKqcx26WypWt1E="; + rev = "8369490f332bc09d1c8f9e707ee34e01cf13e4cb"; + hash = "sha256-/cltskT4cJ8/tExSN324JVGVCOhOWrOJg+47RaGR3yE="; fetchSubmodules = true; }; diff --git a/pkgs/applications/graphics/apngasm/2.nix b/pkgs/applications/graphics/apngasm/2.nix index cd518f5df6584..0435ec6236a8f 100644 --- a/pkgs/applications/graphics/apngasm/2.nix +++ b/pkgs/applications/graphics/apngasm/2.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { rm -rf libpng zlib zopfli ''; - NIX_CFLAGS_LINK = "-lzopfli"; + env.NIX_CFLAGS_LINK = "-lzopfli"; installPhase = '' install -Dt $out/bin apngasm diff --git a/pkgs/applications/graphics/inkscape/with-extensions.nix b/pkgs/applications/graphics/inkscape/with-extensions.nix index e7ba0b10e8ac7..1b6b8444720ca 100644 --- a/pkgs/applications/graphics/inkscape/with-extensions.nix +++ b/pkgs/applications/graphics/inkscape/with-extensions.nix @@ -15,7 +15,8 @@ let in symlinkJoin { - name = "inkscape-with-extensions-${lib.getVersion inkscape}"; + inherit (inkscape) version; + pname = "inkscape-with-extensions"; outputs = [ "out" diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 1b3233a766dc5..3bde96adaf13e 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -23,12 +23,12 @@ let in python3.pkgs.buildPythonApplication rec { pname = "electrum"; - version = "4.6.2"; + version = "4.7.0"; pyproject = true; src = fetchurl { url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; - hash = "sha256-ZrwzAeeMNrs6KzLGDg5oBF7E+GGLYCVczO6R18TKRuE="; + hash = "sha256-1bC437EJWECmO+lmZVXbL2WQwxEIynlVmRJyEfsYLO8="; }; build-system = with python3.pkgs; [ @@ -171,6 +171,7 @@ python3.pkgs.buildPythonApplication rec { maintainers = with lib.maintainers; [ np prusnak + ryand56 ]; mainProgram = "electrum"; }; diff --git a/pkgs/applications/networking/cluster/k3s/1_35/images-versions.json b/pkgs/applications/networking/cluster/k3s/1_35/images-versions.json index 5da05dfcef7ff..6d9b48b982df7 100644 --- a/pkgs/applications/networking/cluster/k3s/1_35/images-versions.json +++ b/pkgs/applications/networking/cluster/k3s/1_35/images-versions.json @@ -1,26 +1,26 @@ { "airgap-images-amd64-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s3/k3s-airgap-images-amd64.tar.gz", - "sha256": "8a1c1f25d62d3395fbb2b37d55cf3d836ca4bc68e6358d21b6573f42d295c6f0" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.1%2Bk3s1/k3s-airgap-images-amd64.tar.gz", + "sha256": "469e9ecafbd69565d8f55cb451ca968edbe7aa872bfd783acd3058bb3b1cbe01" }, "airgap-images-amd64-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s3/k3s-airgap-images-amd64.tar.zst", - "sha256": "4805a6c4bfdfd20d3ad42bc14c79e00662739aca275e6a37cd8f3a406fae0f0a" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.1%2Bk3s1/k3s-airgap-images-amd64.tar.zst", + "sha256": "e60dfb27f3c5ffb9a32db8fdfdd8447d01618f29d1d132a3f0891dd8bbc00674" }, "airgap-images-arm-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s3/k3s-airgap-images-arm.tar.gz", - "sha256": "8659dda950ab0ddff37b2c8d59f527489e1accde30f652b6c3b434385825b8b5" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.1%2Bk3s1/k3s-airgap-images-arm.tar.gz", + "sha256": "49a39c18db7883ef02914cea098e228610330d689313273ab0c5486fbc78a5b2" }, "airgap-images-arm-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s3/k3s-airgap-images-arm.tar.zst", - "sha256": "fab2006d48153f278332504c1aa8b03e5683c14924f66ecbd5eeb7db3a5dedd9" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.1%2Bk3s1/k3s-airgap-images-arm.tar.zst", + "sha256": "2a93722994fb58faa36fa6293a7e454fa1c621eaa0a82e08e996f767e61c0c88" }, "airgap-images-arm64-tar-gz": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s3/k3s-airgap-images-arm64.tar.gz", - "sha256": "ec9a3d8b04445afe24093dd0f4e65a1da6b3a5d73f3c739746aaa8ec0aaa03cb" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.1%2Bk3s1/k3s-airgap-images-arm64.tar.gz", + "sha256": "e653d4fe9e8bd24600f27a247086ef3c3b2bcc068da457a3cc16c70dfd60c7b1" }, "airgap-images-arm64-tar-zst": { - "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.0%2Bk3s3/k3s-airgap-images-arm64.tar.zst", - "sha256": "4c6a31ffa5bc267986f47f36396c51232f55b5db22253630bf7e8b48ea41084f" + "url": "https://github.com/k3s-io/k3s/releases/download/v1.35.1%2Bk3s1/k3s-airgap-images-arm64.tar.zst", + "sha256": "df4695448bd8a783cb0e6c91e40aa1abed36b921a121dd1b7f87ff3973faec27" } } diff --git a/pkgs/applications/networking/cluster/k3s/1_35/versions.nix b/pkgs/applications/networking/cluster/k3s/1_35/versions.nix index 420e5f4422c07..9c3f60380ec97 100644 --- a/pkgs/applications/networking/cluster/k3s/1_35/versions.nix +++ b/pkgs/applications/networking/cluster/k3s/1_35/versions.nix @@ -1,8 +1,8 @@ { - k3sVersion = "1.35.0+k3s3"; - k3sCommit = "323b95245012f0d56a863d8c23964399814191c2"; - k3sRepoSha256 = "1h6az9xj074pj8s60p2yw9gbqz2dabrxvrq41igcw0nq7ymcwaaz"; - k3sVendorHash = "sha256-4Qs03mrOJBxsyQe4RrDG9vvS23JwjUPhPec/TebS4Yw="; + k3sVersion = "1.35.1+k3s1"; + k3sCommit = "50fa2d70c239b3984dab99a2fb1ddaa35c3f2051"; + k3sRepoSha256 = "0ha0vw1k6sawmd1zi81ni4c662761hp3iaj5ssi8klg93cp8hg0p"; + k3sVendorHash = "sha256-5XPbp0wizwAGlA8Km4uwLKy9dIqWzzQuuXWgKnICmCw="; chartVersions = import ./chart-versions.nix; imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json); k3sRootVersion = "0.15.0"; @@ -17,5 +17,5 @@ flannelPluginVersion = "v1.9.0-flannel1"; kubeRouterVersion = "v2.6.3-k3s1"; criDockerdVersion = "v0.3.19-k3s3"; - helmJobVersion = "v0.9.12-build20251215"; + helmJobVersion = "v0.9.14-build20260210"; } diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 4f43ca3f42aa6..1257697ba0103 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -36,13 +36,13 @@ "vendorHash": "sha256-c4eCY/iQ8v/gBX55j22TRxWIeoevi5EJs4TtN9xXfKA=" }, "akamai_akamai": { - "hash": "sha256-WXIx2/1EiamjolyPy+d3Gwp4hOguJrmxKwgLZqzQqDg=", + "hash": "sha256-vC7hVV/p28y7cv9PONEfRVj5uKgumtbq4HpbOYq9vBQ=", "homepage": "https://registry.terraform.io/providers/akamai/akamai", "owner": "akamai", "repo": "terraform-provider-akamai", - "rev": "v9.3.0", + "rev": "v10.0.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-6sVapd0vqL4xGLqTQS4zQIlnMA8HRmjufDi1lOgldlU=" + "vendorHash": "sha256-btxzZZtvgeih+OUhc5QnF8ac22TxpGibffGNkljjq6c=" }, "aliyun_alicloud": { "hash": "sha256-XSXK7PH5MezbtQfrDh+z7nRUFsgiXwCtNbI4clbtozU=", @@ -54,11 +54,11 @@ "vendorHash": "sha256-Hvk2jckla1LcMankcdUTct8Kea0OznyxDxTJ+UrJHy0=" }, "aminueza_minio": { - "hash": "sha256-46ymgizu1ita4valeUvbCZcBTGHk9n9alUYkr9TG9iI=", + "hash": "sha256-2YR5Ez7T1OhuFAEsNp8IrXcZhepSteLqxYADU9sSP9s=", "homepage": "https://registry.terraform.io/providers/aminueza/minio", "owner": "aminueza", "repo": "terraform-provider-minio", - "rev": "v3.20.0", + "rev": "v3.21.0", "spdx": "AGPL-3.0", "vendorHash": "sha256-AO6reoqxDcPAMXKlqjJLGmhsgFrekaQXjMPm9fxhpFA=" }, @@ -191,13 +191,13 @@ "vendorHash": "sha256-jK7JuARpoxq7hvq5+vTtUwcYot0YqlOZdtDwq4IqKvk=" }, "cloudamqp_cloudamqp": { - "hash": "sha256-FrK+deN2X98pG42aDsN4WqiJOC4QcGGS58PoLQMnRXo=", + "hash": "sha256-tuTfXQUACkFRrwsFixbHge75U4Z9DNnQ4nhnBmxjH+Y=", "homepage": "https://registry.terraform.io/providers/cloudamqp/cloudamqp", "owner": "cloudamqp", "repo": "terraform-provider-cloudamqp", - "rev": "v1.42.1", + "rev": "v1.43.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-1kuzWw7OhzruRT572pTR3zpE9jPGEuKRdwReWxte3/E=" + "vendorHash": "sha256-w21DXJoylvysubXItM+wvuwD2RdqzoUKNC9zElTedEo=" }, "cloudflare_cloudflare": { "hash": "sha256-RuHAVcDK3KPO4I4FG/DodhNiWe63AexTo9IcyTZ360Q=", @@ -274,22 +274,22 @@ "vendorHash": "sha256-3o6YRDrq4rQhNAFyqiGJrAoxuAykWw85OExRGSE3kGI=" }, "datadog_datadog": { - "hash": "sha256-at4p1fQpfA4F6H85jcvhqsZZTrEicF9//3JzhQSEp3s=", + "hash": "sha256-dY588S4nilXX341KIMDoTFUragUvN8h+8TAcDcE8u64=", "homepage": "https://registry.terraform.io/providers/DataDog/datadog", "owner": "DataDog", "repo": "terraform-provider-datadog", - "rev": "v3.89.0", + "rev": "v3.90.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-50iJI5K5VdZ4VkiTQ2g4lwEfdjOz7CdRcMhc0NSIeBA=" + "vendorHash": "sha256-zlSnjvWLm2puee1+vIDpAxwS5hYZS13Bg+uOdK+vzBU=" }, "datadrivers_nexus": { - "hash": "sha256-Lm5CZ+eBDUNIL2KuK/iKc5dTif7P+E9II714vwvYuyU=", + "hash": "sha256-BouJ+iK4PkPLbxVFZLsd2wAPCFmAcKOD7OZ7E9vfZxk=", "homepage": "https://registry.terraform.io/providers/datadrivers/nexus", "owner": "datadrivers", "repo": "terraform-provider-nexus", - "rev": "v2.6.0", + "rev": "v2.7.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-pez5anuq3hHXH7XMthT7y8+rjCHsMV3Vqk/DBCpbkdg=" + "vendorHash": "sha256-QymyCEKs8mSBZKrEiSCH4t74eSHmbcf7kwgnzU8h5R4=" }, "denoland_deno": { "hash": "sha256-7IvJrhXMeAmf8e21QBdYNSJyVMEzLpat4Tm4zHWglW8=", @@ -436,13 +436,13 @@ "vendorHash": "sha256-FcxAh8EOvnT8r1GHu0Oj2C5Jgbr2WPwD7/vY4/qIvTA=" }, "gitlabhq_gitlab": { - "hash": "sha256-iBgACKVMJmfDLlIU6TZZiED+eEG7c4CMSkfEjU1Dmiw=", + "hash": "sha256-qsETOpigad1T2Zc2zQ3gs4AW3rrGsqt5Bse85QfGZkA=", "homepage": "https://registry.terraform.io/providers/gitlabhq/gitlab", "owner": "gitlabhq", "repo": "terraform-provider-gitlab", - "rev": "v18.8.0", + "rev": "v18.9.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-a2y8bnbQr8RNN3hJZFupUHvrIrV8HkAvZQn+7MIod0U=" + "vendorHash": "sha256-Yy7yF0x8AtXTP7EMCbrZUTAO317VDyktGbHN+iSuQkg=" }, "go-gandi_gandi": { "hash": "sha256-fsCtmwyxkXfOtiZG27VEb010jglK35yr4EynnUWlFog=", @@ -499,13 +499,13 @@ "vendorHash": "sha256-MYVkNvJ+rbwGw0htClIbmxk3YX2OK/ZO/QOTyMRFiug=" }, "hashicorp_aws": { - "hash": "sha256-mrb+bxd6B0qzrU7LmlluraN4WQyT+LM0M2uSphkgLb4=", + "hash": "sha256-oTYrC0XrzqHL5t/WeJw9V/vq7/G0Ra2De+TiTkmaWxk=", "homepage": "https://registry.terraform.io/providers/hashicorp/aws", "owner": "hashicorp", "repo": "terraform-provider-aws", - "rev": "v6.28.0", + "rev": "v6.34.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-Ce3ay7PGdv97fQQJjb3PHrvecv4g8vJ/HtSUHeUPqtU=" + "vendorHash": "sha256-ukDTmgzd4aJ2SJ27qofCtagRTWlP9foF/WwrTkmZEI4=" }, "hashicorp_awscc": { "hash": "sha256-eJ4GiOkohhbuwsKtvoDlUM933F3Fd3b5HMLG3mjHBvA=", @@ -526,11 +526,11 @@ "vendorHash": null }, "hashicorp_azurerm": { - "hash": "sha256-eVdx5W4kwC3SxLp3HbAHHKSP6afmqdeUSXwnIeyRw10=", + "hash": "sha256-iaPwUzwoyxRrb8K6oqIlZxvJ0qiDmWvdh0pgQeDWn6I=", "homepage": "https://registry.terraform.io/providers/hashicorp/azurerm", "owner": "hashicorp", "repo": "terraform-provider-azurerm", - "rev": "v4.61.0", + "rev": "v4.62.0", "spdx": "MPL-2.0", "vendorHash": null }, @@ -544,13 +544,13 @@ "vendorHash": "sha256-bD8BHhP4jxBRnFjmZE1MMkBn2/sMqNEaxTlQRMj2Crw=" }, "hashicorp_consul": { - "hash": "sha256-SlXzhH9EQJAAcSAog6XzbeenzseXNEUfXdYtURpUcUw=", + "hash": "sha256-iYt4TxyVQIYjrOgVS+olDcDgTddaVmYVy8M/Y9IkTpQ=", "homepage": "https://registry.terraform.io/providers/hashicorp/consul", "owner": "hashicorp", "repo": "terraform-provider-consul", - "rev": "v2.22.1", + "rev": "v2.23.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-HQXioE9mbc+0Qf6MGiXKXSfmbUUtkUafA01GEXbLQfE=" + "vendorHash": "sha256-tCwe8TDqwq3lY7so//tHhbTh51EtfIE1UkBylJ8JhoU=" }, "hashicorp_dns": { "hash": "sha256-ErvlkaFiIHEXUZYDJZmqEgGpZ75mnLRhhsULRvTm7Rc=", @@ -580,11 +580,11 @@ "vendorHash": "sha256-lhTdDrTwTbRuWngQ+NGuh+x5Z5HZfVTtNi+mZqIENbg=" }, "hashicorp_google-beta": { - "hash": "sha256-frRtwDdgNNux875U9rgSbZict8//X/WzxM7EBSxRqW4=", + "hash": "sha256-ypC8av5GnFBlUp2eVDZWqnPGrZT8QihYnxsIHw8g+oA=", "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta", "owner": "hashicorp", "repo": "terraform-provider-google-beta", - "rev": "v7.20.0", + "rev": "v7.21.0", "spdx": "MPL-2.0", "vendorHash": "sha256-KnB6R5yrEeaf4Z+LzQjCeQJjAgHK0kJEJzT1rb3pimY=" }, @@ -778,13 +778,13 @@ "vendorHash": "sha256-mnKXYT0GfIS+ODzBCS9l4rLF1ugadesmpgdOgj74nLg=" }, "jianyuan_sentry": { - "hash": "sha256-J8hINbcBEdukkSLw+nKwbln9EfNh4sIb5F7FPLmXLE4=", + "hash": "sha256-sZdF4YnrsjTt8wsgdDdocHciRZbv2+l+b8zOr/WZYiQ=", "homepage": "https://registry.terraform.io/providers/jianyuan/sentry", "owner": "jianyuan", "repo": "terraform-provider-sentry", - "rev": "v0.14.9", + "rev": "v0.14.10", "spdx": "MIT", - "vendorHash": "sha256-ILb6eUVt961ZBcEVKT324OXMxF/d+Wx9tzA3PDTe5iU=" + "vendorHash": "sha256-vJmzsdY2Yt09X2ZQgC5SA0mntjH/rIanaxQfBuivE7M=" }, "joneshf_openwrt": { "hash": "sha256-z78IceF2VJtiQpVqC+rTUDsph73LZawIK+az3rEhljA=", @@ -842,13 +842,13 @@ "vendorHash": "sha256-JRqLG+lM7emw8F0J2mVt4xHKvLG/TC/FNZiiXd0dKZY=" }, "linode_linode": { - "hash": "sha256-/igrYgWTM4vujH2PFzXijVhHw0gQzLUwFZJd+RM0hSQ=", + "hash": "sha256-trwD5gL/zVa82URY3zxKYN3UM2ZjvQAXBS0O6bfTVNU=", "homepage": "https://registry.terraform.io/providers/linode/linode", "owner": "linode", "repo": "terraform-provider-linode", - "rev": "v3.8.0", + "rev": "v3.9.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-TxfiOKANocV96TiN60QpA1wVLucXNpmJm1FmVavOlQg=" + "vendorHash": "sha256-jytzC7dzoadOXIMv6eSHS1KP0KmgybWKzYJibPTcsoU=" }, "loafoe_htpasswd": { "hash": "sha256-1o2kgeTFxegzOgGXWP4OYZ3uC3WbAkCXPqScMvVpHr0=", @@ -896,13 +896,13 @@ "vendorHash": "sha256-2IlD9IdiN+TBk/Eng2K4jZD8GB91IvQPeVAKhxI/6aY=" }, "metio_migadu": { - "hash": "sha256-K1wvS8rKetDuEdcommxdw07BkWJoSiZJ4sB3EfJ3uaI=", + "hash": "sha256-FPUWuQnklyy66SXUY3QpCHza5f0oVMrticd+j/YwKNc=", "homepage": "https://registry.terraform.io/providers/metio/migadu", "owner": "metio", "repo": "terraform-provider-migadu", - "rev": "2026.2.12", + "rev": "2026.2.26", "spdx": "0BSD", - "vendorHash": "sha256-Kag6QOY+ek9XIhvSJbzk+HGa9NxXh8MTMmoMXbFZxgI=" + "vendorHash": "sha256-sxOopd49N1ABIZkp9XpP03N2BMIA5FO9reZPl8aSomU=" }, "mongey_kafka": { "hash": "sha256-rTa6c7jAMH027V7h/yUGVGz6TS0PDdObilxU0Vpr6FI=", @@ -1076,11 +1076,11 @@ "vendorHash": "sha256-F1AuO/dkldEDRvkwrbq2EjByxjg3K2rohZAM4DzKPUw=" }, "pagerduty_pagerduty": { - "hash": "sha256-CH0rAsJKP6AogzYJUOHsdGln/DnwyP9WAlOgUEb3ahA=", + "hash": "sha256-UJ5XTAECoZMAcQayespmVFKyv8lJ/9CJIS0bJxn9+S4=", "homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty", "owner": "PagerDuty", "repo": "terraform-provider-pagerduty", - "rev": "v3.31.0", + "rev": "v3.31.2", "spdx": "MPL-2.0", "vendorHash": null }, @@ -1238,13 +1238,13 @@ "vendorHash": "sha256-E9e4+n12uSc12F428D8Oqe0iquTMywAY4DYWhSC+hmk=" }, "splunk-terraform_signalfx": { - "hash": "sha256-dPhHzWOkNgIxlHSZm88zKkrgaXaXJ6RFdYeqX5zYSfU=", + "hash": "sha256-lDFwuSZdc0gI5LotTSJk0FSBc9jn7WN43hXEsVHiwG0=", "homepage": "https://registry.terraform.io/providers/splunk-terraform/signalfx", "owner": "splunk-terraform", "repo": "terraform-provider-signalfx", - "rev": "v9.24.0", + "rev": "v9.25.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-/zsslNR7GDLFrtL4T0GLYhKTBof51ODavb/+PHdziS4=" + "vendorHash": "sha256-EOr4Ps0IYYOtRq19tt87NFfCEvJTaFBGb5B4mKMll7c=" }, "spotinst_spotinst": { "hash": "sha256-yDwEtptwNXu/IpoKUK98UkpivTgJaY1FfsshsVpaaOk=", @@ -1265,20 +1265,20 @@ "vendorHash": "sha256-9M1DsE/FPQK8TG7xCJWbU3HAJCK3p/7lxdzjO1oAfWs=" }, "sumologic_sumologic": { - "hash": "sha256-jL64y4/v11ZPm7RuW9c5iumm490pRCHp4VHJjkIqGKE=", + "hash": "sha256-lW2XWDc95Sfnb3VNtsw5mZ8uGgInCkaWRCaUS9c7d2s=", "homepage": "https://registry.terraform.io/providers/SumoLogic/sumologic", "owner": "SumoLogic", "repo": "terraform-provider-sumologic", - "rev": "v3.2.3", + "rev": "v3.2.4", "spdx": "MPL-2.0", "vendorHash": "sha256-IR6KjFW5GbsOIm3EEFyx3ctwhbifZlcNaZeGhbeK/Wo=" }, "sysdiglabs_sysdig": { - "hash": "sha256-BovhCb+01LJUE62geNJmDwpzV0ucQLpVWjXwfxsClyI=", + "hash": "sha256-mzDVPOEu5nIOYykKvudGmByt0sY0Xl+FuSuQruQXTi0=", "homepage": "https://registry.terraform.io/providers/sysdiglabs/sysdig", "owner": "sysdiglabs", "repo": "terraform-provider-sysdig", - "rev": "v3.4.0", + "rev": "v3.4.3", "spdx": "MPL-2.0", "vendorHash": "sha256-rWiafaFE1RolO9JUN1WoW4EWJjR7kpfeVEOTLf21j50=" }, @@ -1337,13 +1337,13 @@ "vendorHash": "sha256-SF11E60OQiRdf+Pf6XyJg60yGRnGOcSzhrYccrWaeYE=" }, "terraform-lxd_lxd": { - "hash": "sha256-6dLtlUIFyP2cW1V6/M6z/uAFLVHKi9cJCQhb4cFJdkA=", + "hash": "sha256-Vjvj/zcs/EyGsQWOFGOcDWnmPv1ZxaLzs18GDvCccSA=", "homepage": "https://registry.terraform.io/providers/terraform-lxd/lxd", "owner": "terraform-lxd", "repo": "terraform-provider-lxd", - "rev": "v2.6.2", + "rev": "v2.7.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-3UzczIdB7Uns0X6ywSCoSWQcYhxSg43u95GEDQz2d28=" + "vendorHash": "sha256-bcynhUj61VrSooyZ+oF0gWpAA+FtsYHXUpV/hTMyl7Q=" }, "terraform-provider-openstack_openstack": { "hash": "sha256-6TcyPUacJNfGsaevg1DQ+WJrMFvGeo2mmsE2+P3RAZM=", @@ -1400,13 +1400,13 @@ "vendorHash": null }, "ubiquiti-community_unifi": { - "hash": "sha256-KqS7WqXDvXyljuJI8+1gJbSayMnfN2AlioJS9WZZQRA=", + "hash": "sha256-8mbQpDqs+2vvzmapJmusipo3IbUwyFlLPY3GkwORXpI=", "homepage": "https://registry.terraform.io/providers/ubiquiti-community/unifi", "owner": "ubiquiti-community", "repo": "terraform-provider-unifi", - "rev": "v0.41.12", + "rev": "v0.41.13", "spdx": "MPL-2.0", - "vendorHash": "sha256-l6EzevVL6YxLLq9QWcGZv9Go+0sUToLubHbMeNL1vJg=" + "vendorHash": "sha256-kEUmuXSNFFBUlFp7tqa00H+M/NTDSd6j6liFTH6PUVw=" }, "ucloud_ucloud": { "hash": "sha256-UOVnfWYhntmRHMApQgemjUBsyUIz0bexsc1gwDGGee4=", @@ -1418,13 +1418,13 @@ "vendorHash": null }, "vancluever_acme": { - "hash": "sha256-hviw2syXALi3B47jwfvEn61sOOZ1qvUMWJE7Ob6M36U=", + "hash": "sha256-uRIOLFIzT4hIXMtoyHk0UB5R5xGr0DELF5hd+E5Xx1k=", "homepage": "https://registry.terraform.io/providers/vancluever/acme", "owner": "vancluever", "repo": "terraform-provider-acme", - "rev": "v2.44.1", + "rev": "v2.45.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-FSyJ5ZCaGbMZbDop/Pj8TKaUAeOBNz/RSfV/rkVYbD0=" + "vendorHash": "sha256-S8eG43mHNyPOm2Iuww9DjU7o/x2MMSJExpmBAQ8QDGY=" }, "venafi_venafi": { "hash": "sha256-wpAckNRqZjSDt7KpCRpLSYkn6Gm+QPzn5sIJ90wRXjI=", @@ -1499,11 +1499,11 @@ "vendorHash": "sha256-Z4DfoG4ApXbPNXZs9YvBWQj1bH7moLNI6P+nKDHt/Jc=" }, "yandex-cloud_yandex": { - "hash": "sha256-dD78ZHMDhSRHzkOs0fIxjZmNCHvWTDIKuVv68Tl7sTY=", + "hash": "sha256-TitL9PaqN2j4mDz1yCz4Mqde1CxIG4Z2sJFm3emsVRM=", "homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex", "owner": "yandex-cloud", "repo": "terraform-provider-yandex", - "rev": "v0.187.0", + "rev": "v0.189.0", "spdx": "MPL-2.0", "vendorHash": "sha256-ZYVGqcviq7auN2JwqHEFWiFPvy+PkaYV7MamNKF8Frc=" } diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index 2a05f192c7f86..3953a5d115527 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -200,9 +200,9 @@ rec { mkTerraform = attrs: pluggable (generic attrs); terraform_1 = mkTerraform { - version = "1.14.5"; - hash = "sha256-qy/aS82YLIalVDFje4F7TWzC8OdYGBijuEpbDMlyEKY="; - vendorHash = "sha256-NDtBLa8vokrSRDCNX10lQyfMDzTrodoEj5zbDanL4bk="; + version = "1.14.6"; + hash = "sha256-zQgy9sGGsE9VHPWerzTNcGj+JxbaGhflpKisZhpepXE="; + vendorHash = "sha256-L6b48ZRoW1ItpJsUV7f4Ce/rB9uUhwE10tfooG1P2rw="; patches = [ ./provider-path-0_15.patch ]; passthru = { inherit plugins; diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_esr_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_esr_sources.nix index ca7dfdebfd048..35e1064e1a685 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_esr_sources.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_esr_sources.nix @@ -1,1193 +1,1193 @@ { - version = "140.7.2esr"; + version = "140.8.0esr"; sources = [ { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/af/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/af/thunderbird-140.8.0esr.tar.xz"; locale = "af"; arch = "linux-x86_64"; - sha256 = "b681212fbde3539e71154eea3b39b314456006e22c241de3eb30c88fb7ce9cb7"; + sha256 = "49b0c42e658f842b03a85e585fbe9472e4994c40164ecbab7afee1403241ad8b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/ar/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/ar/thunderbird-140.8.0esr.tar.xz"; locale = "ar"; arch = "linux-x86_64"; - sha256 = "c0b9c68f0c543fc0e397ed0c1ce9355c5a4dbe6b860a25c03e7c8a9b5ead7edc"; + sha256 = "536ecd0c3a7bbeb62cdf4230118ae3892b0ce337515b4a62b087057ac5102dde"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/ast/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/ast/thunderbird-140.8.0esr.tar.xz"; locale = "ast"; arch = "linux-x86_64"; - sha256 = "163c5d00d3ede4aca99b430f5b679952e020c4aaf211f0999ce1951108299b9e"; + sha256 = "87911bcbb6f3b1991146ee4055e8b4fec58e81927357b6ad2da45e8db08d7845"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/be/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/be/thunderbird-140.8.0esr.tar.xz"; locale = "be"; arch = "linux-x86_64"; - sha256 = "383bc91283c2cedb3d417f0cd46a932ae7e19637aafbc5dac278e2d3181f80d4"; + sha256 = "ad1b5fd61c09a1904ecb519e702262617884e78f631dd0642fd8db063c8b689d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/bg/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/bg/thunderbird-140.8.0esr.tar.xz"; locale = "bg"; arch = "linux-x86_64"; - sha256 = "eb7b3c3ae2773f50501c8f8a72663c2a6aca57c89ac2c016aeeb1528ac55df61"; + sha256 = "131f3817e4918c4c9c4f602c4e241c4f42bb8ee137a2ff3a76f0275000168971"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/br/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/br/thunderbird-140.8.0esr.tar.xz"; locale = "br"; arch = "linux-x86_64"; - sha256 = "94ff916988ce05085b0a1bbe00a2aacf06265133f8fec4c34021277c5f6fb547"; + sha256 = "00f20be09e274863e15c16daf19ddb7ec1b74d5ead7c534014d684289bd6ff1f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/ca/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/ca/thunderbird-140.8.0esr.tar.xz"; locale = "ca"; arch = "linux-x86_64"; - sha256 = "277dbeb28619263d583a6d83e9c7a86f6f794608828f033b4486ccee3eedc3f3"; + sha256 = "4fab30e42f8a76ea5c1e97deefbab2627e429d0d5cb7b40b69998d964f44ad64"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/cak/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/cak/thunderbird-140.8.0esr.tar.xz"; locale = "cak"; arch = "linux-x86_64"; - sha256 = "f9a9cecc2849c1bbe8e7e7c2a9cc2066aa4f7df244f5bc926c9d3854aab3002b"; + sha256 = "d2b13e5626609ed080acdac5b9547b4b29a9c5ac1dab5faf2b117c1f96c77201"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/cs/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/cs/thunderbird-140.8.0esr.tar.xz"; locale = "cs"; arch = "linux-x86_64"; - sha256 = "4fc1377d662510cad3f586f3c6cf0451f99f7236acd574c4dc4b7ce2a2b9f8ea"; + sha256 = "448c702b8da7b1a8a75fe5bed6e7f16aeb000efbb7bc75597b28a681257c4f6c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/cy/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/cy/thunderbird-140.8.0esr.tar.xz"; locale = "cy"; arch = "linux-x86_64"; - sha256 = "9d7e2750fb1839e15f09ae25dba323e726f717b8f882c3558f2854fb4872bcf2"; + sha256 = "dd0335ccf12d6e0b9104dd66977d66ff14b7205569a01aa81d419f46e12618f6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/da/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/da/thunderbird-140.8.0esr.tar.xz"; locale = "da"; arch = "linux-x86_64"; - sha256 = "ef531943cfd0f62bc41d1bd5d89ae99e83beb0877bd750df565ba051fbfe8776"; + sha256 = "6236f404f74706558b4135be1fa996a3c90230d4362df4c6aec48c50374eca45"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/de/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/de/thunderbird-140.8.0esr.tar.xz"; locale = "de"; arch = "linux-x86_64"; - sha256 = "ee7468ad052f8c5084bc26626c1dcee00506d4d32ba3f318d88c2cd08babb43c"; + sha256 = "0485c68bb5b17e1cbcfd41fbafafb62077ded01262e05b3d04295896c865edfd"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/dsb/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/dsb/thunderbird-140.8.0esr.tar.xz"; locale = "dsb"; arch = "linux-x86_64"; - sha256 = "40b937a3342eebb13863b3394c490bff3b2e7656ccc4c176680436830be6a400"; + sha256 = "e8d3b85bda40953274464b3b360872588532d32026a99ade7b76787cb2883a4d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/el/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/el/thunderbird-140.8.0esr.tar.xz"; locale = "el"; arch = "linux-x86_64"; - sha256 = "61c78963056e08169bf3797f785b4d222cd43b4388119c0930ebd9b954bba42d"; + sha256 = "25ecedbeffae84dfe573bf4d55a2a14d7e75c694b67a39f95adb1897da09c459"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/en-CA/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/en-CA/thunderbird-140.8.0esr.tar.xz"; locale = "en-CA"; arch = "linux-x86_64"; - sha256 = "ab0624aa07a01a69c9b74f9f4a90b01b2f0727b5a20fbcfb29a3e3a9bb1aafbd"; + sha256 = "7632b359ef94fcbcf2d0df7777f357c7cf2060ad58932f2fc54d1fdda6552ade"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/en-GB/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/en-GB/thunderbird-140.8.0esr.tar.xz"; locale = "en-GB"; arch = "linux-x86_64"; - sha256 = "a9ee0997ffefc128de123a288ec525e3f0973cee05b61f99bb6646972ca29912"; + sha256 = "c0c7f8eebc953a2089d320d67f5b5cdac58556e235231e75b2bdbd226a51206f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/en-US/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/en-US/thunderbird-140.8.0esr.tar.xz"; locale = "en-US"; arch = "linux-x86_64"; - sha256 = "bf0f83e49108c65476744b4fe6e015e739780b9087852a0ea18682070f945c1a"; + sha256 = "febd35bf465ad33ac5af0b2f939287cbafb82f5c9481200e49700896b36cbbfc"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/es-AR/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/es-AR/thunderbird-140.8.0esr.tar.xz"; locale = "es-AR"; arch = "linux-x86_64"; - sha256 = "5927f6e9bf9f7c40474fb22e63d98e9627c566806c8faff63b00756115d3bea5"; + sha256 = "6c074daed7eaaf063eb5a78c4ea2cae0c68df0973c178c42edb655af184f5be6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/es-ES/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/es-ES/thunderbird-140.8.0esr.tar.xz"; locale = "es-ES"; arch = "linux-x86_64"; - sha256 = "36b8c1ffac8852967fdb01b1b842d2491e612ee1e3c7aa52f122df2209d23877"; + sha256 = "4524e0e05d6111c85082767b25a9a68f03cda4cdbbdd8846d1bd6cd85e77504f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/es-MX/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/es-MX/thunderbird-140.8.0esr.tar.xz"; locale = "es-MX"; arch = "linux-x86_64"; - sha256 = "b0dbeb662a6ac8205b01e3d8445903e386d49c2a72782ba7d0f20721d423c909"; + sha256 = "6b5daf5c959ca7bc0b39f1c0a1c0972af40fd29855e279e9b010a65129eaa382"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/et/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/et/thunderbird-140.8.0esr.tar.xz"; locale = "et"; arch = "linux-x86_64"; - sha256 = "ada633e20406001af4bab6c5e61e41a758e709fb2f1263246ffcf62ef511ad74"; + sha256 = "8f2af7209ce1c6da38b60aa1aad1b87afcfc40c3c23d785dfb892d348f6a8866"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/eu/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/eu/thunderbird-140.8.0esr.tar.xz"; locale = "eu"; arch = "linux-x86_64"; - sha256 = "4445bfea4a725b51c874f1884f5972b676cf907d4c4df4ded64665c45ac522af"; + sha256 = "23f0f9f01eec0c439f3e505229ba9065822140636baaa218c4659871b879e8de"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/fi/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/fi/thunderbird-140.8.0esr.tar.xz"; locale = "fi"; arch = "linux-x86_64"; - sha256 = "6b2cde0c56328eb2d079798f22e18751655af480c9cd5461fd50274ad78b1eca"; + sha256 = "8c92d120cd0771d6eb082f708b8ec790b9e455883a3e2cf33db8358625e8c875"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/fr/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/fr/thunderbird-140.8.0esr.tar.xz"; locale = "fr"; arch = "linux-x86_64"; - sha256 = "2b818b412155e71c4baeafd2faeb9b6177706103ac917718c284962da0d61d8f"; + sha256 = "3e2c5c9fe9547c76c492e59762fa2d3e70ee16c59c8255688aaf71a1aec7eed5"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/fy-NL/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/fy-NL/thunderbird-140.8.0esr.tar.xz"; locale = "fy-NL"; arch = "linux-x86_64"; - sha256 = "7fafb581b46373143c7a6087567a50094f822d807de04b140ab8065291c1d691"; + sha256 = "ae2acb59a0aaee55dbfd83b09ad1c754b329ddd286a35cf84146c247fec9747d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/ga-IE/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/ga-IE/thunderbird-140.8.0esr.tar.xz"; locale = "ga-IE"; arch = "linux-x86_64"; - sha256 = "13c74e978fd847539df0532c8697c7e926b022aa83392ee1a8704e4eef162a7a"; + sha256 = "a761548ac017bd11c4e275147a9ffa205c547201843c76229bae5f7333595c5e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/gd/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/gd/thunderbird-140.8.0esr.tar.xz"; locale = "gd"; arch = "linux-x86_64"; - sha256 = "4d646dd557b6ffd4d4f9a46e7f8feb880350f5ccfb75af5b92ab5f561cf2aa6a"; + sha256 = "97bc31a4176882cf1038ba05a55eb7b48c694487310958812b50ca0c840d1bda"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/gl/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/gl/thunderbird-140.8.0esr.tar.xz"; locale = "gl"; arch = "linux-x86_64"; - sha256 = "ded50fa774cda7079694d64c81158c8b3fa8b8db0764b445af206b521d2bb285"; + sha256 = "a391e3d155c0bfede304fd5efd0ed427c20ee55d90720894ce50c477405d3048"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/he/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/he/thunderbird-140.8.0esr.tar.xz"; locale = "he"; arch = "linux-x86_64"; - sha256 = "2178b027d334dec1539ecfde2953854547c8de78c3244c61b3ae427dcde43eae"; + sha256 = "f4a7ab37f6526a1cba8b30f96317e3daaf2be5e76c1edae88696124c0700cd2c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/hr/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/hr/thunderbird-140.8.0esr.tar.xz"; locale = "hr"; arch = "linux-x86_64"; - sha256 = "8d2518748e5b73b39ed7792a3d314288cc336807f1c43cab8ea050e9f76571a6"; + sha256 = "3b739509b2f8f9389fdb7b628c727462d6aac3c1f25157503f9120454735f48f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/hsb/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/hsb/thunderbird-140.8.0esr.tar.xz"; locale = "hsb"; arch = "linux-x86_64"; - sha256 = "2073cb4eaa4fc9d5e0f72df3898da03f6c42fa01f7c9a98e66c6391ba1409ac3"; + sha256 = "09e5a5ffa4af7ed4785223632549227fdbb20d0dabe475e01b250f04fbacb4aa"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/hu/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/hu/thunderbird-140.8.0esr.tar.xz"; locale = "hu"; arch = "linux-x86_64"; - sha256 = "e4a2eb1395c5afa408adf4514346ae7b9fb8fae4182a7be7b8a3e17fb9cafc9f"; + sha256 = "655ae197fb600365737c1673fa9d0bd7dcd59f453cac6372716d93a1e68625ee"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/hy-AM/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/hy-AM/thunderbird-140.8.0esr.tar.xz"; locale = "hy-AM"; arch = "linux-x86_64"; - sha256 = "c9edab2f4b4bbc832fd777d2b070f6566edff11275262190972dd56d17a581fc"; + sha256 = "6568efd74cf8db57d4c6ee0a87cfb56590ba72d0a6fe1d11435285b0c3575fad"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/id/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/id/thunderbird-140.8.0esr.tar.xz"; locale = "id"; arch = "linux-x86_64"; - sha256 = "7822e1769e8fe4ccca505efa2e397df7d743d254f30e1c0413464e2d6d167a22"; + sha256 = "6545e8fd59dd6ec30fbc329aecc509d5d34b51aa97330345601eca1c4b1206bb"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/is/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/is/thunderbird-140.8.0esr.tar.xz"; locale = "is"; arch = "linux-x86_64"; - sha256 = "c3133459e1226c49637d7100d0417c7754aa26ec213dc02fedeb0019a5ed9b4e"; + sha256 = "f3e9d121ed7a71ac7dff171dea466a64fc05ce2262185bfd4190092c94c08aac"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/it/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/it/thunderbird-140.8.0esr.tar.xz"; locale = "it"; arch = "linux-x86_64"; - sha256 = "8171967cb135e57e80428b8f269cffb2d81aad1784eacdf216b06e11f7dad19a"; + sha256 = "1010aff8c365f7a888c75a6565767224728150280767ba5ab409a1d2db984e73"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/ja/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/ja/thunderbird-140.8.0esr.tar.xz"; locale = "ja"; arch = "linux-x86_64"; - sha256 = "26a432b8593c305e7fd6e223ffc9d039c5cd59cf6b72d33c0136016710aa1f6c"; + sha256 = "c578374914be3e99d1b14759ce92f4de3e86050f81aed8cb81fd93f860259969"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/ka/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/ka/thunderbird-140.8.0esr.tar.xz"; locale = "ka"; arch = "linux-x86_64"; - sha256 = "c725a4f2c21994f39639b1a0faf84de7afb83e11209f7c934d9ab23489ec68b5"; + sha256 = "dd194cb69b1050e6cae3eac871fa61604026c0b3ef46c47e5c9859aaebc4f823"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/kab/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/kab/thunderbird-140.8.0esr.tar.xz"; locale = "kab"; arch = "linux-x86_64"; - sha256 = "c7ba39e989dac1a5e08aad77a62e8039409f7dd6ecbd2a4525b2cbcafc82dfd8"; + sha256 = "5d137aa878c5b4dbbc042cc8711587ddeb07ee5f23387ca16cdddf891e9901d2"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/kk/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/kk/thunderbird-140.8.0esr.tar.xz"; locale = "kk"; arch = "linux-x86_64"; - sha256 = "103211b0f627fbc2868064746f29c9f97ffb0d362e6e0bdb75db7cfa72e7feec"; + sha256 = "7fba1769a4ac3db3bfeb110aac4062473a07fb050a26763cf3a274e7206821ea"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/ko/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/ko/thunderbird-140.8.0esr.tar.xz"; locale = "ko"; arch = "linux-x86_64"; - sha256 = "4e5859c8e7528b3c051aab6fecf50ec365fb0fcc30f5009a2c384852a7238442"; + sha256 = "1f0dcadddfe82f300e09ab492ef330e0465e6a035e01f2da2eda2e7d15d620d0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/lt/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/lt/thunderbird-140.8.0esr.tar.xz"; locale = "lt"; arch = "linux-x86_64"; - sha256 = "876b4d4532248338b73afa7fd524ab436d2e442b8b79b2c12beb72c2b3dc1937"; + sha256 = "390955d33e04dee8f1b51d0a27158554a3b2a72f197da46dbb32d0c4502dd376"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/lv/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/lv/thunderbird-140.8.0esr.tar.xz"; locale = "lv"; arch = "linux-x86_64"; - sha256 = "b4818f4ccfdda2c19aa3abbc210a36995d2ad3f14596da4f1a059aad51cde5fc"; + sha256 = "922d953fda88dcee28b1b1443659adb2e4cbc1f0bbfe5a5f24137ad4d3ed1268"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/ms/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/ms/thunderbird-140.8.0esr.tar.xz"; locale = "ms"; arch = "linux-x86_64"; - sha256 = "a35216a334ed417540f7e9ad0194643465c867e6f376fe3ae8fc2f75e954097d"; + sha256 = "ff307c6260e0a28a9cf987d9e46314c4e554e5336667c11154996dc84aa0f492"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/nb-NO/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/nb-NO/thunderbird-140.8.0esr.tar.xz"; locale = "nb-NO"; arch = "linux-x86_64"; - sha256 = "6a8d815c6e5e3ace65caa1e1feaa46d9181aa37aa341c2fe9e0c6992267cfc75"; + sha256 = "bd72cd3ae08b744336133cd116671cfb7c1565d9405d0f0c2e55fe44511611ea"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/nl/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/nl/thunderbird-140.8.0esr.tar.xz"; locale = "nl"; arch = "linux-x86_64"; - sha256 = "546fa9c52cbe20a943a99c2865c070e0c8d2066d0ebbc475d5d910858f1485be"; + sha256 = "722f3fdc0491dded385c91465b6f436388e3d75e841240c5dbf79441beb08f1b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/nn-NO/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/nn-NO/thunderbird-140.8.0esr.tar.xz"; locale = "nn-NO"; arch = "linux-x86_64"; - sha256 = "849c3cd5cd36602f618e309ea8fe0223f1e3479d1480f8b8b8e4caca6745cbcc"; + sha256 = "79fda81f841a89750cb19ef00f6fd3e4c8bdbec9453a02bc6aa27f8cae4c0b85"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/pa-IN/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/pa-IN/thunderbird-140.8.0esr.tar.xz"; locale = "pa-IN"; arch = "linux-x86_64"; - sha256 = "90d9aaa687228d3875453f1bedb9813fa61081d1db7270a94fc4a010eeeb8809"; + sha256 = "5d79540935fd8c3d24b609403eef1cf8e2befc3158f1123fee37cabf31fb272a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/pl/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/pl/thunderbird-140.8.0esr.tar.xz"; locale = "pl"; arch = "linux-x86_64"; - sha256 = "5ac18c42275db09e3837fd7eda8cb738ef9ac56bb1618322599c5d5211ad01df"; + sha256 = "832558d89b81529b4b1d7dc770b668580ac623f04dd912ed3a10f8e378cfe11d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/pt-BR/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/pt-BR/thunderbird-140.8.0esr.tar.xz"; locale = "pt-BR"; arch = "linux-x86_64"; - sha256 = "413f9126f35cff3490f3d75dae5458d53548a7f10480bf70cff22cc06a859a01"; + sha256 = "6d33a518d43e1883afce903c9863182fe1b842aedfb75e58fa1364439ed19f37"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/pt-PT/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/pt-PT/thunderbird-140.8.0esr.tar.xz"; locale = "pt-PT"; arch = "linux-x86_64"; - sha256 = "66a922b521a6f6fc28e5732d5ac45f4e58c25b001cffeac254f84b91fae233b3"; + sha256 = "142ff841e0774851f14fa5c3ff0383aded3461a342f39203ba6345c71eb233aa"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/rm/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/rm/thunderbird-140.8.0esr.tar.xz"; locale = "rm"; arch = "linux-x86_64"; - sha256 = "c438ced7d426f8530802d46d16e200cf6b9a09210220781043b8bb767cc6cf7c"; + sha256 = "49d24c97f7f5580c646271433c6be0ee8be2f4e50e3a2a03e790760aa8a57446"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/ro/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/ro/thunderbird-140.8.0esr.tar.xz"; locale = "ro"; arch = "linux-x86_64"; - sha256 = "b6e263b5c0741d335b421a5ced074aa38b023e85e32f6eee1eee206f0c53e6cf"; + sha256 = "a03b96a9e74711d8ee162a25e38745344ee6fc35dc1d0c5e760af9b34a4cb767"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/ru/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/ru/thunderbird-140.8.0esr.tar.xz"; locale = "ru"; arch = "linux-x86_64"; - sha256 = "da30b4ccbcac2e084984ce97aefcd2b7eea2985b90a842f588afde4def103a2c"; + sha256 = "8f4d32e3aacfda035fffc4d0b301e028ef7e29238fb46687e7869cdc4f48ffee"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/sk/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/sk/thunderbird-140.8.0esr.tar.xz"; locale = "sk"; arch = "linux-x86_64"; - sha256 = "1aad729808dae89cce92ac9e14edc75d81526bd8903b9fb75b4239936599b022"; + sha256 = "eca7fb89c9c93c23582e6965198cf40dfad127d6878532209ec7e773ad549422"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/sl/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/sl/thunderbird-140.8.0esr.tar.xz"; locale = "sl"; arch = "linux-x86_64"; - sha256 = "982ffb5bcc26f49a6e896711e7202c4d4bcf974806de20b4e6a674e3f846a30d"; + sha256 = "c5b1e74686ccc176608ee309e1891886b9be91bfaae05da892611c48b866a0dd"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/sq/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/sq/thunderbird-140.8.0esr.tar.xz"; locale = "sq"; arch = "linux-x86_64"; - sha256 = "bb2bfabb817a3cbe7f02c51810d227169abaa020f5128538b13389ef6ef93f06"; + sha256 = "c58c638465da9b3e5ce937a5de0cdaba1625262fbf1300cc2e782e0d365bcc55"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/sr/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/sr/thunderbird-140.8.0esr.tar.xz"; locale = "sr"; arch = "linux-x86_64"; - sha256 = "8f62a7822a422155c369edcfd5c27be8a19223a3c37912c0d91fab9b9eaf47b8"; + sha256 = "e7ffce1015c77fe9f5659e4161571dbd37a02091ea1a92506e2dfcc23842a827"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/sv-SE/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/sv-SE/thunderbird-140.8.0esr.tar.xz"; locale = "sv-SE"; arch = "linux-x86_64"; - sha256 = "f781ec3fc7ca213498f258ac0210b162f24f8e8d3d27a0ff1e70a4318f355540"; + sha256 = "1d6b1130aa8b35ce6475a0d040c25e0004b848e55908afb871283bc82fc9120a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/th/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/th/thunderbird-140.8.0esr.tar.xz"; locale = "th"; arch = "linux-x86_64"; - sha256 = "54267a44d8cbe21b247c80206d0e9fcf92882a331dfa5d4bed34d87a9845145f"; + sha256 = "4b860680c07e9debca60addfcd4bb0ed11dffcd6539aff0eb91c1fc75552998a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/tr/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/tr/thunderbird-140.8.0esr.tar.xz"; locale = "tr"; arch = "linux-x86_64"; - sha256 = "00de2de3e34a653e2b9f8d2094c952f1559a53df02e7f75ae50e327ecdfa8982"; + sha256 = "40c2a8718adecb2f16d42f2ca6a3f17482061991e162c54b3e44a63b6657dafb"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/uk/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/uk/thunderbird-140.8.0esr.tar.xz"; locale = "uk"; arch = "linux-x86_64"; - sha256 = "7dfca3cf5bf992fc5e680f8c40a82233b243f7128fc840f216a6ff7c03142f80"; + sha256 = "edcc14a987e1129cfa4efe62fa46948275c6c5f518430cd009d8ed2a696f6707"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/uz/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/uz/thunderbird-140.8.0esr.tar.xz"; locale = "uz"; arch = "linux-x86_64"; - sha256 = "4a220b6309d9be5cb1bb2980cd9a4daad34a4188a79e3e5392588bcbf892f086"; + sha256 = "c6ca0d6225a651801cda7718b01c193b40563e4fdf758b30a83802720c0ee7bd"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/vi/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/vi/thunderbird-140.8.0esr.tar.xz"; locale = "vi"; arch = "linux-x86_64"; - sha256 = "06fa65623fb8ed6c679ce7d9b10be2899f520c32f09943b7d102ddc1e48c4078"; + sha256 = "13dfcaf42c5722b6411231c2435da59d770ec2d20534371c3b58d0e9e0654d94"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/zh-CN/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/zh-CN/thunderbird-140.8.0esr.tar.xz"; locale = "zh-CN"; arch = "linux-x86_64"; - sha256 = "8091b54666e2097665c0c0db8138ad41a71e93be67833b935a3d800170302408"; + sha256 = "c5c95665b91b2edf62f2b54d9641a1fc409a8696ac7d38ae8f3f2f03bdb46d9f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-x86_64/zh-TW/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-x86_64/zh-TW/thunderbird-140.8.0esr.tar.xz"; locale = "zh-TW"; arch = "linux-x86_64"; - sha256 = "b30a563e48160bf18a804ab3613599cc9636d00bafa9c5299f68b8b5e0ae6c8b"; + sha256 = "3b9f5e73df6224e05f6f7475e9105138391d1b0ba3186796eb23e6831cbfed5a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/af/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/af/thunderbird-140.8.0esr.tar.xz"; locale = "af"; arch = "linux-i686"; - sha256 = "531934aa55945a01525defc8c6b26a5f880c90cea55dda64ebfa1f9354de17b1"; + sha256 = "e1ff59aa13007b54ea5c8ca39e7f711cd06ec8847abe3b2027a5651b6538792a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/ar/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/ar/thunderbird-140.8.0esr.tar.xz"; locale = "ar"; arch = "linux-i686"; - sha256 = "70d062e68e0f3b17a19243ecbb1ff46f156b7b65c81693abe598b3b3091f10aa"; + sha256 = "0d232671dc82800cf748bac1acc6e914ad9daac6ea6f2b4e2fa9d102e133d0a6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/ast/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/ast/thunderbird-140.8.0esr.tar.xz"; locale = "ast"; arch = "linux-i686"; - sha256 = "c042ee9d6d1203ae499e1bf49d2198583635b62352b90e0d26f7d9804f4a9891"; + sha256 = "6a468d64b9ac1dd675ddce387ffd403bd76e3ba5fdfebe3c6fa195ecdea17175"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/be/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/be/thunderbird-140.8.0esr.tar.xz"; locale = "be"; arch = "linux-i686"; - sha256 = "412255a2711de100b2543e565676bc73877bb9c441cbcd7c4000088d7eb7c382"; + sha256 = "d9e7a0dc401391f2ea1e09bf27bdfadc182c65d09eba384cce309f822c084d2b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/bg/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/bg/thunderbird-140.8.0esr.tar.xz"; locale = "bg"; arch = "linux-i686"; - sha256 = "25135c11b570afa50cf62a4b379bcccb46ed4ca69c79e15b02efe33a882cad25"; + sha256 = "5ac0a44af5c7efc7562cf058f7001eaea083331471780c830eb5bda9adbe93e4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/br/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/br/thunderbird-140.8.0esr.tar.xz"; locale = "br"; arch = "linux-i686"; - sha256 = "98019686e07b38b1db300567df07aaacb2cfd807e1c67b531cd64095ab05ca8f"; + sha256 = "48574ac255be6823ffcf42bf064d085b1f916001a170a8c73b8e779f11e23e43"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/ca/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/ca/thunderbird-140.8.0esr.tar.xz"; locale = "ca"; arch = "linux-i686"; - sha256 = "8eda9bbd7de1e7fd775f2df9e1d4bd4c63e8d92f230182e1fa3f6cb4fa52ca6b"; + sha256 = "ff24a700cd8730db8a695a6a5df1a5391887da26ad44b9cdb5dc7dd6f5468dfc"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/cak/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/cak/thunderbird-140.8.0esr.tar.xz"; locale = "cak"; arch = "linux-i686"; - sha256 = "d07d8fdb84934286636347622cce33b8d3c58880a56306a52ff091ee623de3d2"; + sha256 = "8fff3dd50d9f1cd32a14b40d46ed918ff4adc31a39845404f16ac56f1d0cff7c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/cs/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/cs/thunderbird-140.8.0esr.tar.xz"; locale = "cs"; arch = "linux-i686"; - sha256 = "c7d7ef8d7a53c3596b20b43dc11a9238f3c7faeb5bbfe4740e1ff3c08d3b3c7a"; + sha256 = "8751598c3b250db2399d9fb08b156c0b66a6b54e0d452a418a036fd9ea33a8c1"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/cy/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/cy/thunderbird-140.8.0esr.tar.xz"; locale = "cy"; arch = "linux-i686"; - sha256 = "9cdf10a70a67f9ab977b121a73fbdc58b6a91cc32bfd812c09b724ba9ee0c254"; + sha256 = "40ee8a002505577837de3b131a9b9836cde1af1340915afd5e6690016b7905b3"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/da/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/da/thunderbird-140.8.0esr.tar.xz"; locale = "da"; arch = "linux-i686"; - sha256 = "ad0a5db3d271faa09a783023cab5182a0bd141b34f81fda4a2db0769404a66c3"; + sha256 = "7a609d7fbdcebf0f7b295ed26fa371588e7b6809960c77c8b5f43dc51a24891c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/de/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/de/thunderbird-140.8.0esr.tar.xz"; locale = "de"; arch = "linux-i686"; - sha256 = "eefe231166f05f32dbde725201c32daf92d8116223e5addfc6b43914c765cc37"; + sha256 = "3ec7c69a40430cef19749724ac44335e6791aeda6f2447e2d57fad6909fb158e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/dsb/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/dsb/thunderbird-140.8.0esr.tar.xz"; locale = "dsb"; arch = "linux-i686"; - sha256 = "9ab915ae10f05f60b4fbd7b29cfd57c3fb85469f9c03d213e9e290df00f782ea"; + sha256 = "0a7213e86c2c6e324b614e42a5ef95974d0c9cc305d7b45810efbe24134e05ad"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/el/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/el/thunderbird-140.8.0esr.tar.xz"; locale = "el"; arch = "linux-i686"; - sha256 = "57c4574c2ccd0f111bce17e792558c492aa147956fd20f877c37bba6dd999735"; + sha256 = "a07c9dcb797948bb37b7ce2278682c712b1e1ac622555e7975705c652663adce"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/en-CA/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/en-CA/thunderbird-140.8.0esr.tar.xz"; locale = "en-CA"; arch = "linux-i686"; - sha256 = "10d9beef63ad216dd8e9cc75e2f362be854269013bb41155ab2a30c33c709a65"; + sha256 = "9dd0f2355182c7959f3f19f32b58eef8253f5518382c9cc74de4856b29960b0c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/en-GB/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/en-GB/thunderbird-140.8.0esr.tar.xz"; locale = "en-GB"; arch = "linux-i686"; - sha256 = "0470d8514b82ae2b041a02d3a317d1122bc8cc19a57e75bc2dc34b804db4e467"; + sha256 = "defc87f72a8f2869527a1acac9e1678dd36fcee430ce77cf78b1e1e41330e6ef"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/en-US/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/en-US/thunderbird-140.8.0esr.tar.xz"; locale = "en-US"; arch = "linux-i686"; - sha256 = "3d572cfb797672ef14e631f3c71b8b3bd5ed853541772dd5041093ab9b55c92b"; + sha256 = "f38c64eb963ef025af5f27f562dce2d7f5cc0574bbc59934f8a1363a4c9b14f8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/es-AR/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/es-AR/thunderbird-140.8.0esr.tar.xz"; locale = "es-AR"; arch = "linux-i686"; - sha256 = "ca2e07d0eaea923ef810bed5d7df362eafb53e4c0a0014a1fe4b1632e30e0e54"; + sha256 = "4902dc5efa1efeffd1c244286e77fa79d64fc4f1f4034af7e1aca087a0ed9ed0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/es-ES/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/es-ES/thunderbird-140.8.0esr.tar.xz"; locale = "es-ES"; arch = "linux-i686"; - sha256 = "bec1d95201a26da2dbdc398d9a10943dd88d6bb9877518b08511494d28f9e6b3"; + sha256 = "66ebde259da25b05cdbb9bd2848bbdda07e135e067c0e5570e3bfd3eaad4d314"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/es-MX/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/es-MX/thunderbird-140.8.0esr.tar.xz"; locale = "es-MX"; arch = "linux-i686"; - sha256 = "445116f8c97c34ab89d1cf530ce906f5b75891209c4e9162626654f21e2ce1bd"; + sha256 = "b9818ce0e442ca0a4db35e0ead4c3142410bd7d051c0e4b0c6ef6ef301088d23"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/et/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/et/thunderbird-140.8.0esr.tar.xz"; locale = "et"; arch = "linux-i686"; - sha256 = "06fb6813037ab73bedbe873dd222e292420b1c7ec811dde282cf4d4a15ba1b42"; + sha256 = "910048c47f2ac8b64827117f636ae94e4202382071a10f11ddd0222c848368e4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/eu/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/eu/thunderbird-140.8.0esr.tar.xz"; locale = "eu"; arch = "linux-i686"; - sha256 = "f9bbe76ebabd3cd9f542d9b9b1d0b9f83f371dbb0c0fd74a55d9c414aef6f76d"; + sha256 = "100be9857d383649598bfb6c25991489a84bc89234a358c6c6033c150c7dbd68"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/fi/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/fi/thunderbird-140.8.0esr.tar.xz"; locale = "fi"; arch = "linux-i686"; - sha256 = "a1f9e8484b33915d9109694a2dee5080c25d88d95c76fee00fca558a0741cc69"; + sha256 = "a8faa923dfa94b37093bb640916ddc5f6a70182f74989a5cb91b97f3e0885bac"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/fr/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/fr/thunderbird-140.8.0esr.tar.xz"; locale = "fr"; arch = "linux-i686"; - sha256 = "0e2e8564bdb6b1689ac60de47670c8c4eb8de60d080b9e624ff6868f80cb3d68"; + sha256 = "0fc1ce80dcb7f7d57af4f9c7c0bc4b59c983dfa5055d4d144d1d94c62ae554b1"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/fy-NL/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/fy-NL/thunderbird-140.8.0esr.tar.xz"; locale = "fy-NL"; arch = "linux-i686"; - sha256 = "a752a5dbd430045e62c501a9948e2b4651071e8be720e01632ba7652e7e6f1b6"; + sha256 = "b108542120edb0b96517429b3deff5c07fd9419fe5cfe0bd1e0bd919736105b9"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/ga-IE/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/ga-IE/thunderbird-140.8.0esr.tar.xz"; locale = "ga-IE"; arch = "linux-i686"; - sha256 = "9c795a01a1e482b09ab5897b410b56859ee7ec1b1b720cf45f9418059676c0d1"; + sha256 = "e1e663514683c60bf4845a07119999d95dc8ffa6280ffc254159f2b47f65810e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/gd/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/gd/thunderbird-140.8.0esr.tar.xz"; locale = "gd"; arch = "linux-i686"; - sha256 = "9a8212e3b4ed03450321afb26296ec1803161f4a64fa8922c0fbc1f25e25b9c1"; + sha256 = "056be373e9853557c8060532bd1e3b28248c6cb2afc990857489eac26499a6fb"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/gl/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/gl/thunderbird-140.8.0esr.tar.xz"; locale = "gl"; arch = "linux-i686"; - sha256 = "f97a0d6da18f11eda65e465944f94764fca82e60d3850a7eb200ec7dd839b596"; + sha256 = "301098c416a3127fbb98a93f694036fe1d34aa532e5fff7b38b758c8205dfe34"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/he/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/he/thunderbird-140.8.0esr.tar.xz"; locale = "he"; arch = "linux-i686"; - sha256 = "aacc34255db4d0b940c8bb5cad727163d88e1f0c1f0c3fc3dc2f3df08ffe99ee"; + sha256 = "326d91fc8798224783aef879055aa4a5130d47dd5ea04a2ae9a333d9bd64d03d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/hr/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/hr/thunderbird-140.8.0esr.tar.xz"; locale = "hr"; arch = "linux-i686"; - sha256 = "6dc2b739d1d40459e98ac04e334e35e30a0486012cb21f744541bb88a4b20883"; + sha256 = "47d7cd10e4a5c914907410f05b78036a92df35bbb84565a77c90d786ca7cf071"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/hsb/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/hsb/thunderbird-140.8.0esr.tar.xz"; locale = "hsb"; arch = "linux-i686"; - sha256 = "775dd9d7169c7fd5cf363aeee761e9d5e66159d84d470370e5798ed8019e1862"; + sha256 = "fee6dbe96fc6caf6b0cd01f916e0f823aba29441ccb84b006fa0ae45d664cc6c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/hu/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/hu/thunderbird-140.8.0esr.tar.xz"; locale = "hu"; arch = "linux-i686"; - sha256 = "a6d262c771aef926e158ce24a9fbde9e0d2fbc9da5c4a2d265e661160360024e"; + sha256 = "671151b92c070625fd24671969d7f0a733b631d4456bd60196896f913201adb3"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/hy-AM/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/hy-AM/thunderbird-140.8.0esr.tar.xz"; locale = "hy-AM"; arch = "linux-i686"; - sha256 = "5c54cec50da8f19dbd9772dc6ace0a3b7d4dec499172284bca6a8375e18ea6a4"; + sha256 = "29a3703c0ccb4d80b919a10953ffa4d61c8f58cec3a9f257d47218f9558b678a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/id/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/id/thunderbird-140.8.0esr.tar.xz"; locale = "id"; arch = "linux-i686"; - sha256 = "5d08e059f50fcf18691dcb604978135a1e355966c74c84acc3e5168760c8ef6d"; + sha256 = "8bb3f3a4376f6ca3d15b9ad624734c3dfa5952ad6d182d8a03acd26b49e69b04"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/is/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/is/thunderbird-140.8.0esr.tar.xz"; locale = "is"; arch = "linux-i686"; - sha256 = "8e481afab39dfb8b9672b6371c73ce9d78ef6e52df43afa128d892a957bc281c"; + sha256 = "39f9c081413b81897a7aaa52c933879e20bc867adb7f943b7f8ab6a2d6428311"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/it/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/it/thunderbird-140.8.0esr.tar.xz"; locale = "it"; arch = "linux-i686"; - sha256 = "88bf0189190b1a2b76445b0e13e45f57dacadba55ab114d1d428936b82ff0f59"; + sha256 = "c30f1d0685d7a88f218d505af8ce81dad1b9457150f2f76a0acffbfa86a14f52"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/ja/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/ja/thunderbird-140.8.0esr.tar.xz"; locale = "ja"; arch = "linux-i686"; - sha256 = "1580f1dccc63c63eb188ac41ab87baeb28f2fa314362295191b03b63e111f3f1"; + sha256 = "cfbf1bf0ce367eb28b87deb35306c1b1ea574bf8f6aeec7252adb4a66c12c168"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/ka/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/ka/thunderbird-140.8.0esr.tar.xz"; locale = "ka"; arch = "linux-i686"; - sha256 = "7dd350b02b27bd1787f0ed695bb8e476d9393185c5e25cd93cb51c1ec2548b90"; + sha256 = "93d69561cbde559b27fc49d08dbdaaf1d9bd2bbbfb30928dc0dd4956f861ec74"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/kab/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/kab/thunderbird-140.8.0esr.tar.xz"; locale = "kab"; arch = "linux-i686"; - sha256 = "a2701bd2f66a6642455c72ede0b9dc12317b2b052faf68083a1ef6016bff1d3c"; + sha256 = "c0c2dfeaee051ac719eab4c54577633c6f1dd339186bd93ae7710b0ea7fccb6f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/kk/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/kk/thunderbird-140.8.0esr.tar.xz"; locale = "kk"; arch = "linux-i686"; - sha256 = "3e794b80305af408e9eb9c0b81814353792f0c26b9e9fad61a00a2b156836e37"; + sha256 = "6fc66cafcdf166fdaa970324778d30727aed4b9cf29b522e6da4e5bd45f8ccf0"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/ko/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/ko/thunderbird-140.8.0esr.tar.xz"; locale = "ko"; arch = "linux-i686"; - sha256 = "de8ab5f31b623e540aafb6c8ba700b9d716f69d7a6b2bb3e6e8d1e3b0e8edbca"; + sha256 = "4ee6431f4ea33023f52eec9982997b56df04aa5340d377e043c3e6e99f396b04"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/lt/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/lt/thunderbird-140.8.0esr.tar.xz"; locale = "lt"; arch = "linux-i686"; - sha256 = "b3544a2370158067f9346cfffe7f2a2794e72ac52e81cfc3b5c3ce341b89c0ba"; + sha256 = "35d89686e62937f4d0947ebd9cb39054bf751d2b7c9e732d08df0210fc344aba"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/lv/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/lv/thunderbird-140.8.0esr.tar.xz"; locale = "lv"; arch = "linux-i686"; - sha256 = "11350a3fa229f3500c472d7f88f43e8dd44a9c93d0e03ce6d07900421e836baf"; + sha256 = "1825c0deb1b0e10b0fb15ce0c6e8ec92ff0b1195d4605bff64066ded9f75bf24"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/ms/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/ms/thunderbird-140.8.0esr.tar.xz"; locale = "ms"; arch = "linux-i686"; - sha256 = "91402139a32e42f5b4dd27dcf9200f2d3218b684a1a16789aae74ae40ab2dd43"; + sha256 = "d02cb91e49d714c1eb569b7fe697843068fba6ae4f38f7a19d1b54938b5c80fc"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/nb-NO/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/nb-NO/thunderbird-140.8.0esr.tar.xz"; locale = "nb-NO"; arch = "linux-i686"; - sha256 = "4ac72a9f716eee93f074d47e1b32f808e745fb7d65044cdca3a272179f1abc15"; + sha256 = "2fb1dd5e662cab67d7da661b37127ec97e03ebca432b39ae147e9306b4f2f9a6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/nl/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/nl/thunderbird-140.8.0esr.tar.xz"; locale = "nl"; arch = "linux-i686"; - sha256 = "9198ec42798b049e7bca68b7500b744ce57d1a271aceb90fa46447c04014a978"; + sha256 = "7963bdb528e166d2ce376a81ab77e64734b6d80f5138ab7c3c559cac20a64423"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/nn-NO/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/nn-NO/thunderbird-140.8.0esr.tar.xz"; locale = "nn-NO"; arch = "linux-i686"; - sha256 = "a2e44570551478a8048bb437ac5a0837f8e2023a3ba2f0a9f6c900319850d545"; + sha256 = "06c2a8543a2f79655c77bc6ff6fef7a6506b5b45cdfeeb108110a0698490a9bb"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/pa-IN/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/pa-IN/thunderbird-140.8.0esr.tar.xz"; locale = "pa-IN"; arch = "linux-i686"; - sha256 = "af2f191cf24bd80e8905bcfc093d5e099d637e0c857814c54c6b1389026d9671"; + sha256 = "d272ef9780570c3fd2ca1b6ec707cbf41d5436b347f16be7070ace1917779c51"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/pl/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/pl/thunderbird-140.8.0esr.tar.xz"; locale = "pl"; arch = "linux-i686"; - sha256 = "dfc9ba5ce4dc6cb261f57bda7c89a5b32e55422c8f02392b239f171c5b4737c0"; + sha256 = "ff564494ab1e7f81730fec6f0f34681d98013e4078fdfddb53385c9479e4bef2"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/pt-BR/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/pt-BR/thunderbird-140.8.0esr.tar.xz"; locale = "pt-BR"; arch = "linux-i686"; - sha256 = "e9b6109e4b82d2e60ae39e5a8c2ebcc54220d6dfe316051c73f3ec5ed34f2bad"; + sha256 = "57083ba1cba84b95b426d3d22d39ad9da87ff8ca0e32d7ae26ecb2510e47d01f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/pt-PT/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/pt-PT/thunderbird-140.8.0esr.tar.xz"; locale = "pt-PT"; arch = "linux-i686"; - sha256 = "53c4b88948b44049331fcbdcd4920a1865e2f58ae1b1194f68d5bc30bc390d73"; + sha256 = "669106f3c75c24bbd508bfc3373ffe0c8474d0c2a567de22e8afca80c85d276f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/rm/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/rm/thunderbird-140.8.0esr.tar.xz"; locale = "rm"; arch = "linux-i686"; - sha256 = "81e534efca9fb98834ab480b5c0bc288f41068e9187c07e26e277cc2df17605e"; + sha256 = "203b7e2db501a30aab6acefed6d6cb8515e6c4ded28a94f75293833d417b6b45"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/ro/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/ro/thunderbird-140.8.0esr.tar.xz"; locale = "ro"; arch = "linux-i686"; - sha256 = "f45135afa64265ec81bf297c1cb4b17edd74537a10d4b6a57aa728ebc0504ff9"; + sha256 = "bcbae4c461c904265921b6032b60f6d8ec9b6fc3a8f3dbe0772c4ed7af304e73"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/ru/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/ru/thunderbird-140.8.0esr.tar.xz"; locale = "ru"; arch = "linux-i686"; - sha256 = "c6f698eefd26dab7952829796c4df1dee5b04d265bf1daf63357a9405651bd29"; + sha256 = "538b5aca480c49dbd921556b7b21a0e1bc2758f28e600d30e9b6cbc5d6998cd1"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/sk/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/sk/thunderbird-140.8.0esr.tar.xz"; locale = "sk"; arch = "linux-i686"; - sha256 = "2813d6d97893f30196c552dc1be6022e60ab2c97144dc25e90d13ca6055d2a28"; + sha256 = "f76831bf63841165615462138afb9f5ba3a2d1ed606031dcac98dedbdad69e11"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/sl/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/sl/thunderbird-140.8.0esr.tar.xz"; locale = "sl"; arch = "linux-i686"; - sha256 = "56e1161bfb4c6e44eb7c21373499d43018e523f19b1e2706e8b8641595995440"; + sha256 = "8985e3dab7344a0f379527424cfa02436994636af8d37d4a73755b59b3956f38"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/sq/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/sq/thunderbird-140.8.0esr.tar.xz"; locale = "sq"; arch = "linux-i686"; - sha256 = "4a704e6233600377f5f7ac888ef41652ac85f32efc8008405c16323d035a3de0"; + sha256 = "3602babb15e1578457922d7725842370ad84ea2e5e881db428a54255f6ed8966"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/sr/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/sr/thunderbird-140.8.0esr.tar.xz"; locale = "sr"; arch = "linux-i686"; - sha256 = "79b3959a075c2aa4aea22c4edd04a25fbfba1e59a7e62498dbb7d5679350c14b"; + sha256 = "71998c5a31ff0f885e8b61dc37143a22f3630ad7d5c9ef06fc41349fce2c25ba"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/sv-SE/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/sv-SE/thunderbird-140.8.0esr.tar.xz"; locale = "sv-SE"; arch = "linux-i686"; - sha256 = "3eb878d219ed645976d8553e4e40e256e9fcb1a8b982998b22be21a3484aa8b6"; + sha256 = "64747ecc2c3c80b8c719ef0c386521335816823284016bc6733629038a5fecdf"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/th/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/th/thunderbird-140.8.0esr.tar.xz"; locale = "th"; arch = "linux-i686"; - sha256 = "aa46397cbf2e8c28a85ac927f1f147b89a0a6708a26eb216c5fc9997a73cc8d5"; + sha256 = "58d2507d529b7043c2b1f11ae2fdd2fcd9f9a0021c60deff11e99986023a41cd"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/tr/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/tr/thunderbird-140.8.0esr.tar.xz"; locale = "tr"; arch = "linux-i686"; - sha256 = "2ec4ae98ac31899b54884043ae94976e13bf34ec7a3868c8d81e17320f6983c8"; + sha256 = "865c0a1e8898be88c2ce9aadbc65b48aa68cc754e7da36b4378426ced08a8295"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/uk/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/uk/thunderbird-140.8.0esr.tar.xz"; locale = "uk"; arch = "linux-i686"; - sha256 = "12e234ef09c9745b6b8c01ab49737a501314af5a054fc890fa12e63fc25c6e95"; + sha256 = "c4fa257eb1e480e597f36b1712b0b69e8b787c61d3285e4f07b2fa21fa86f5c6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/uz/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/uz/thunderbird-140.8.0esr.tar.xz"; locale = "uz"; arch = "linux-i686"; - sha256 = "46138a5facb6f39cb077f3ba7c5e09eeb03d0cd3978350f015c9f75d84e7be54"; + sha256 = "5cc3484d71db0b3fccebc60a2237d6b766a31d01a8c006b8c88d6b1609c29c7e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/vi/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/vi/thunderbird-140.8.0esr.tar.xz"; locale = "vi"; arch = "linux-i686"; - sha256 = "ea9dc0b611e26cb891de00b2aaba7b7b5d97952b0e2f1b15054ed398981cced8"; + sha256 = "d6939a4e6ccfd1d0ba32d9767068768dd94d6ba5af3e04173c45d2bc8502269d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/zh-CN/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/zh-CN/thunderbird-140.8.0esr.tar.xz"; locale = "zh-CN"; arch = "linux-i686"; - sha256 = "52fafe6509481b0ad98e7ac490e0df31d7618bf87d54176adb7b788d01db7ef1"; + sha256 = "be0c20e1725b827e2e52ea8117b412b7d8a86ee2d2593139c9f6553b8aefd934"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/linux-i686/zh-TW/thunderbird-140.7.2esr.tar.xz"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/linux-i686/zh-TW/thunderbird-140.8.0esr.tar.xz"; locale = "zh-TW"; arch = "linux-i686"; - sha256 = "de1a9889a7d203423533ca22357bfffb01c7cc3d0139cee9be02e6721eb3c04e"; + sha256 = "089fa2d856d3ac88e2a1e496e0f6e27263ab41be39f8cf8d53da0b2b30967fab"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/af/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/af/Thunderbird%20140.8.0esr.dmg"; locale = "af"; arch = "mac"; - sha256 = "601ef77985793052cfabafa2cffab1b9662b6b4ff752185b6b1da03b8bbcfa44"; + sha256 = "a0182b7488005f26dd8be6afacb8a1b2f1c6849e91d01b099e5ee2bca5262e85"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/ar/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/ar/Thunderbird%20140.8.0esr.dmg"; locale = "ar"; arch = "mac"; - sha256 = "dd7edec202650d9dbcdc78150fc19a481e953b34e6b74291164638ec953dc01e"; + sha256 = "e39f254d267cae8da31de2dd2295900a85575f8348802cbb7ce8a296b979d022"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/ast/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/ast/Thunderbird%20140.8.0esr.dmg"; locale = "ast"; arch = "mac"; - sha256 = "ae317dcd3ad78ffb97203563b25931ed25114ab6881d7b0c5330397254cf8891"; + sha256 = "ce7cf70b63e0d3f34a1abc96aa4d5782228450129da0cede4e775c522b7f7475"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/be/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/be/Thunderbird%20140.8.0esr.dmg"; locale = "be"; arch = "mac"; - sha256 = "12b5c5bf2c8685435ab7afbba0c614d0e8ccca0dcd7aa17c27e8fd00bb888d08"; + sha256 = "b376d078f9db0a071243cf012a65ab15631aa4085ea2746c3f2f35f986cd5162"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/bg/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/bg/Thunderbird%20140.8.0esr.dmg"; locale = "bg"; arch = "mac"; - sha256 = "8e7929e8123ba70d4d0b293b4eea069bf26409bf2c843e89cef45b16a8a3fd5c"; + sha256 = "7c2813d75b79408067de2f8193767d05e95e9a0f63fbe7434214d98ba9ef5943"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/br/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/br/Thunderbird%20140.8.0esr.dmg"; locale = "br"; arch = "mac"; - sha256 = "f789b7381daef0ef2611d4bf523021cf394fc2dc69f7af1478446329ea6cc718"; + sha256 = "1b4639187f8b406874f7807a417d6e19c51abbb20a5111cba9b29a2edf896e88"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/ca/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/ca/Thunderbird%20140.8.0esr.dmg"; locale = "ca"; arch = "mac"; - sha256 = "fde7da51d5dfc6690554d6776ac10fee4ba414fe749f7cd1220a29891d91bb7d"; + sha256 = "e79578c078d676dc2f4b5bd26f0135796660019f538c549cc3bf292d23abb7c5"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/cak/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/cak/Thunderbird%20140.8.0esr.dmg"; locale = "cak"; arch = "mac"; - sha256 = "bf1a82021478dfa02eb32601f402662bb58f8c36d0e33d4fb38d11abe3686bc6"; + sha256 = "bd5663a0f95632773681f204b77586f5c41dcb71a9b8fae2ffeea9f4457d4449"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/cs/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/cs/Thunderbird%20140.8.0esr.dmg"; locale = "cs"; arch = "mac"; - sha256 = "dd0d3a5038c3fe5db02fd9528f3a3f8158dbf324bab7f3acc6489bd93cb9a6ee"; + sha256 = "93f99e98fe29d0f69051ebf5ab9a6f12554d9c3736eb5c6c56a8d95450194e79"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/cy/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/cy/Thunderbird%20140.8.0esr.dmg"; locale = "cy"; arch = "mac"; - sha256 = "678e03ca379abc6b193a75af589e0c55049e05fcbea566ffb3ea053d791f2620"; + sha256 = "e61ed09868c0029764cc0d8ab523bcd6ee02e6d9a83496e23a2b3b6d005b06e6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/da/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/da/Thunderbird%20140.8.0esr.dmg"; locale = "da"; arch = "mac"; - sha256 = "d0828c74f8e4e644553d832c3ca30118bee0bc87d6b5c36357b5aecdb9a4866a"; + sha256 = "cf18585785e9d9b6a0e2fa58bce7031f2db210f25c44b9430f1b3422d89abb20"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/de/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/de/Thunderbird%20140.8.0esr.dmg"; locale = "de"; arch = "mac"; - sha256 = "361c1d647108fb16ffcd3c069e410030748f28cbde4135ab34494297bef22d18"; + sha256 = "4e28efb04376deec4719d08dedb9a5a8faacc0f41228d2eece05922669b0e935"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/dsb/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/dsb/Thunderbird%20140.8.0esr.dmg"; locale = "dsb"; arch = "mac"; - sha256 = "4c4d96879cf8ba5e35f0c7d365bd44f5b70d971ac1b0bbc448110ac5c438382a"; + sha256 = "7fff0c73a72b7ae50078f125156f60a81fc8b2736beb1cba5b43e8434fe74671"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/el/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/el/Thunderbird%20140.8.0esr.dmg"; locale = "el"; arch = "mac"; - sha256 = "9d9e22981e4c1d1d53f017499791dcb6381737e59566d571ed7860e1bc8d1908"; + sha256 = "c2aa4f8ddfc04eb4eb070545a3ca742257cd1fab9c58de75f7f9f694ac3177a8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/en-CA/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/en-CA/Thunderbird%20140.8.0esr.dmg"; locale = "en-CA"; arch = "mac"; - sha256 = "6daaa843dbedc7340a1bc81ddf70a85a8b143eb5a655ee3cbc1a03cc4911e36d"; + sha256 = "28e21336af71a5d159a1444016e758848b734ead4e4e40b13eef261d093eb05d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/en-GB/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/en-GB/Thunderbird%20140.8.0esr.dmg"; locale = "en-GB"; arch = "mac"; - sha256 = "4758be1c6b84ccc6428bc067131f986a04f4c1e436c316343b9299aac9a31736"; + sha256 = "c9c3ed8212e7980836e0ba6287d46a3ea570d6555fa9657e28f4ebf54089da73"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/en-US/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/en-US/Thunderbird%20140.8.0esr.dmg"; locale = "en-US"; arch = "mac"; - sha256 = "f804974211ea6bcc00e3f6017048ac563e469be9c48794d0b42b2e217811b4cd"; + sha256 = "ec99771f1eedb53781f4f5d8c359c50a9bd988fc242a0b54ab783475adccf90d"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/es-AR/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/es-AR/Thunderbird%20140.8.0esr.dmg"; locale = "es-AR"; arch = "mac"; - sha256 = "b568359b98bfd2c41576dcf5b1ed7aced11fe23e206b84921d98a986a72db157"; + sha256 = "a9dd7fb058d99dcb1084f09d89c25188ca4a31bf93d2244d44df7fd3728de0f6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/es-ES/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/es-ES/Thunderbird%20140.8.0esr.dmg"; locale = "es-ES"; arch = "mac"; - sha256 = "da79495ad76a2ed05dc3376ee2db16d2540b3552a736e3f3f4ea89e0c07b5470"; + sha256 = "c6b9130268010d28b022cf01fe011489cbfe5c0cf1cf529db63af1b4822bbcc7"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/es-MX/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/es-MX/Thunderbird%20140.8.0esr.dmg"; locale = "es-MX"; arch = "mac"; - sha256 = "139ab5233f44fcd72087786eee0b05bff552fb0f5ff35514f8f87e954880dbd7"; + sha256 = "ac95476d86f9d988086f3b58c5e1d1f072c49ed0b7d2b3686724836a5b992bf3"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/et/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/et/Thunderbird%20140.8.0esr.dmg"; locale = "et"; arch = "mac"; - sha256 = "4656361d64cf07ab585df08212184472768ec47361b1d447f270b7182b970dbd"; + sha256 = "30bee7e8514004dc79b278716346a4f803a5029f5bdeffb921f715149e950c8a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/eu/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/eu/Thunderbird%20140.8.0esr.dmg"; locale = "eu"; arch = "mac"; - sha256 = "29a0a0b975f2a26a3a31d915fdb05862274d6f75fa44a00024a052527bcd99c9"; + sha256 = "25bec785fb342a2f9d782ec0c8c87e88b92184c57c94070945f7ce14edaa79c4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/fi/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/fi/Thunderbird%20140.8.0esr.dmg"; locale = "fi"; arch = "mac"; - sha256 = "d37a8bb1197cc3ae4ef9d7010b4d09464c9b366671f29f78eb3d52dcfc96dda7"; + sha256 = "f8faaa9224f7be8bd6ea79d1585a79ab8d13166655c6b019941dad56e5b75663"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/fr/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/fr/Thunderbird%20140.8.0esr.dmg"; locale = "fr"; arch = "mac"; - sha256 = "7ccf78cc27bcb0cd6716bbc5db66baa97f6a1073573e5f1c0649d8791d626b2f"; + sha256 = "525344d5440514910d5ed9cbcab22a76074395242cac2e1905fa88a6b1331385"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/fy-NL/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/fy-NL/Thunderbird%20140.8.0esr.dmg"; locale = "fy-NL"; arch = "mac"; - sha256 = "85937efb7f403a3b6a7e34331ee9c4cc6935be788230d82b3dd69c8e1d303fd8"; + sha256 = "00752bdbf826f58b2580689784af28d14f19819e26373dab7e5527fc78e8e907"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/ga-IE/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/ga-IE/Thunderbird%20140.8.0esr.dmg"; locale = "ga-IE"; arch = "mac"; - sha256 = "36bb0a02fb40a22211e7375eafec83f429055364644024c27fb7ffeda0f9c76e"; + sha256 = "2253fe7d09aa3238ee5d3d215014affcc048866301661255de621a7cfbc5a97f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/gd/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/gd/Thunderbird%20140.8.0esr.dmg"; locale = "gd"; arch = "mac"; - sha256 = "282ca9ed419588ff0428821ea1c165d6d1956c080fc7239786e11205d31a242b"; + sha256 = "9d848266762bc0d7e6d7ec12952a907f823208c061eca5c8795f957051c125e4"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/gl/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/gl/Thunderbird%20140.8.0esr.dmg"; locale = "gl"; arch = "mac"; - sha256 = "4b8a2498a9814047bc4c5c0a7965ca64a54dbd4e58f982b8334e4a394ce747d3"; + sha256 = "c9dd7974cc918ca00f7fec3937ed26d7b29e6b89560a494db284cf7276f1b8cf"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/he/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/he/Thunderbird%20140.8.0esr.dmg"; locale = "he"; arch = "mac"; - sha256 = "bcf64179af3d1b36b29db9676e37c58c058c5bf8a652ac856edb8810a29e75b4"; + sha256 = "3fe73793cc23ee25696ebf8a243433121fb5f93486252456d12a978a7bd9e92b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/hr/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/hr/Thunderbird%20140.8.0esr.dmg"; locale = "hr"; arch = "mac"; - sha256 = "0af758922ab6b8ac0758b768f0c7b7f181544b908645f311356f3026a691cb86"; + sha256 = "8559090ca08b2b974a21dd8119920141f97c42fb759b719a0e2f4db5aebcfa58"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/hsb/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/hsb/Thunderbird%20140.8.0esr.dmg"; locale = "hsb"; arch = "mac"; - sha256 = "748a5f125317501a743946c7bd932b8f7d5ef693e7a1c7527fc1593310ffae8e"; + sha256 = "9be0a6b1a9ee4c51f28580c7532b725ba3bd7b3a9e9aeaae6f86078b8f12a888"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/hu/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/hu/Thunderbird%20140.8.0esr.dmg"; locale = "hu"; arch = "mac"; - sha256 = "60462f25d993de18304f3e37e31f2b0edd7b0f54bf321a9b716d78fa2748f762"; + sha256 = "cdd180c431b7a48f68759f32efd2965005f4cc821655473820197239ae4a846b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/hy-AM/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/hy-AM/Thunderbird%20140.8.0esr.dmg"; locale = "hy-AM"; arch = "mac"; - sha256 = "f09a1be52896b1e50ea8e6dd5164b420af73918f4f2c9e6b5b72eae28b29f5e8"; + sha256 = "115bb2114a35980553c1c51df2d4744ae463e41d48a521d2c2d5981d37045803"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/id/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/id/Thunderbird%20140.8.0esr.dmg"; locale = "id"; arch = "mac"; - sha256 = "21a88634bf870fc51589255fbf4f6e3bcccb3572dd9a0019fa4a5594d372fdf0"; + sha256 = "40c25480a7b62e5cc2bccf08c3b4727656363209d478255d6a8feb5a11478a14"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/is/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/is/Thunderbird%20140.8.0esr.dmg"; locale = "is"; arch = "mac"; - sha256 = "cac0a5e743f0993d02c174b871017cb3f6ab520ef17df81ea9851bbccaa8396a"; + sha256 = "6b791b658fef328072e5824d242fbaa28b233c93e1fc10d6554f47f6a3dbdd48"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/it/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/it/Thunderbird%20140.8.0esr.dmg"; locale = "it"; arch = "mac"; - sha256 = "6600458f3673a8fc0462394fd786ba4cf15584b0194f07b2cec4f7f6eb3f620d"; + sha256 = "257a270662c529abd41195db228cd34d3f0b7b72d73ab6aeb4d7060b8be88e8e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/ja-JP-mac/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/ja-JP-mac/Thunderbird%20140.8.0esr.dmg"; locale = "ja-JP-mac"; arch = "mac"; - sha256 = "9156514e4b891ca2cf3d9cb7fc4b184e9e7abb301d0d170b7c4f82acf117ca70"; + sha256 = "79e9715c163cba5f649f0405f76976a0b4f0cccc615ea3f3f3088b5517ad9a46"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/ka/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/ka/Thunderbird%20140.8.0esr.dmg"; locale = "ka"; arch = "mac"; - sha256 = "1cf436973e977ded9036463f7356d0523e14301900a4b2e6429326b60cef43f2"; + sha256 = "c00ecb66004c4017eccb3bd633331eb2a05711c0657fe596989c10047a4d109f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/kab/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/kab/Thunderbird%20140.8.0esr.dmg"; locale = "kab"; arch = "mac"; - sha256 = "d5c7d0440a3112a4557156a0c6a1bce7c2e4e559146b24fe7cd754a03a41ceb8"; + sha256 = "3294e1cfaab535b385d495059ce08df57fe17740a71552a2e832b229ff202309"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/kk/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/kk/Thunderbird%20140.8.0esr.dmg"; locale = "kk"; arch = "mac"; - sha256 = "0053e8fcef759d58a541ca6e41e0c3360ec35f3b858e1be414e7a19344c27b88"; + sha256 = "42aaa868484c6d6e2295b6d3f100d066f5aad175843edf52b074c68aa08005fc"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/ko/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/ko/Thunderbird%20140.8.0esr.dmg"; locale = "ko"; arch = "mac"; - sha256 = "52de3137ce58b1428c7e4978c2f9df50d7d07d069ec7b6c0ba97e969690bd7c7"; + sha256 = "4c08eafc1164774b91c176e9087e5bb1ac651d9381537bb7ee13af52a9fdedc3"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/lt/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/lt/Thunderbird%20140.8.0esr.dmg"; locale = "lt"; arch = "mac"; - sha256 = "38a6c088eedad3f737d71de6335c0138a280eaa64321f4b2164d5817fda3dfd5"; + sha256 = "4889726bc8af9d781c071aca178426e1ea946f63d61153d3df661fd4e8dbb0f2"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/lv/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/lv/Thunderbird%20140.8.0esr.dmg"; locale = "lv"; arch = "mac"; - sha256 = "5aa4b9ae1ca96d74beebe2374ed8fea68371fd45f3d7582e260629b3a52e812e"; + sha256 = "ada7a271d4ca0c3b1c1c4bc60ebcc6f479be42e49eb8d893264a4cf614931eac"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/ms/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/ms/Thunderbird%20140.8.0esr.dmg"; locale = "ms"; arch = "mac"; - sha256 = "8aaec3d546ba5eace61306f440b306d5184de2f4730440b454300127a8ad9b8b"; + sha256 = "0f5af094c123faa44114b3f279b567d4f0045a961466d0265edf76050f83936c"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/nb-NO/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/nb-NO/Thunderbird%20140.8.0esr.dmg"; locale = "nb-NO"; arch = "mac"; - sha256 = "f9caf869cc2cd01e891badf3e8b014060ef7dc2b2be96a08a9c44bf2f8645e40"; + sha256 = "665a951f53d201fcacbff848d51679be6baa6b632a5361d3fe9df7bd19808edd"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/nl/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/nl/Thunderbird%20140.8.0esr.dmg"; locale = "nl"; arch = "mac"; - sha256 = "27068d5d5257f806866e4934dedde2acb6fdbdb6693ba8b086f7bdf9d1231db2"; + sha256 = "995207dd5ed807728e9036ee840bfe181b9768f839e8ddb3a2e29d8a24058d04"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/nn-NO/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/nn-NO/Thunderbird%20140.8.0esr.dmg"; locale = "nn-NO"; arch = "mac"; - sha256 = "f793338427f379649187bf7f54724688296defd77eba6bee4160e87141d8e09b"; + sha256 = "de8595efec5d8198887056974db4af80da5ef0246d4b9e18362735986a167bc8"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/pa-IN/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/pa-IN/Thunderbird%20140.8.0esr.dmg"; locale = "pa-IN"; arch = "mac"; - sha256 = "8ef69e3c1f223fd88a0bfbf8813e1054eb5967f61f979cc323b08372542109dc"; + sha256 = "a1e152607ba3643f083973c90187c9377e6682703545cfee8b952adb9e45a970"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/pl/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/pl/Thunderbird%20140.8.0esr.dmg"; locale = "pl"; arch = "mac"; - sha256 = "4d20ba79dd992109b84ae2677ef6cadc9dfa6c812a3298349431d843df14d01d"; + sha256 = "04ab6de5a2013949c86695988b821a0ffb2ee2021f9538351817f8600be91469"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/pt-BR/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/pt-BR/Thunderbird%20140.8.0esr.dmg"; locale = "pt-BR"; arch = "mac"; - sha256 = "5ec99a800705785c8911a00e399ed5d06b44dbe70031f00ecd64a6cb8588b6af"; + sha256 = "f781813bbdd0d92da69744f0ba8509d5ac544769eecac8e6d05227902669f4bb"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/pt-PT/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/pt-PT/Thunderbird%20140.8.0esr.dmg"; locale = "pt-PT"; arch = "mac"; - sha256 = "d85310f5a841e7384458eb04d8ab5b9ffa9bb18ce96635d6d14fa2dc51d814cc"; + sha256 = "b7854314d6c267fd1305d07e18778df47bba727e5e21ca1bd49c457cda255edb"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/rm/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/rm/Thunderbird%20140.8.0esr.dmg"; locale = "rm"; arch = "mac"; - sha256 = "538b0d36bfb43befbdf592095b40187e2c0b6c549b20e812c542f6cfabbf7cab"; + sha256 = "87c3ccbdfbc10aca037ec6490ff26314ecf3b9f2436228acb074f3845406cd57"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/ro/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/ro/Thunderbird%20140.8.0esr.dmg"; locale = "ro"; arch = "mac"; - sha256 = "3895a3972eb29b39027e84e1364afefe784b98d34cc315a7b96ea280df831539"; + sha256 = "76de60658edfa0fce02f1a464fb83ccae93c4317986dd87f26dd73533263540a"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/ru/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/ru/Thunderbird%20140.8.0esr.dmg"; locale = "ru"; arch = "mac"; - sha256 = "ce026f7842e066aa48d215a224866a4f9a2226d8966a23fba4f5137a6e75e183"; + sha256 = "61ad5a0869a0251408e81921fe261062574c0c3b0288168487ce57afabd954cf"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/sk/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/sk/Thunderbird%20140.8.0esr.dmg"; locale = "sk"; arch = "mac"; - sha256 = "be5f8b11c70361975a326b5f852704c3d77e95b7ee840700c61425c0a4ab6f45"; + sha256 = "86b7cbb39e8699a49318e33c5dd7fe98ad61bf9281bd6ea679dc1ebb3262a0c5"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/sl/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/sl/Thunderbird%20140.8.0esr.dmg"; locale = "sl"; arch = "mac"; - sha256 = "5a1c736e90c7675e38d4b99500d9951e31b4424eaaa21269b7196c9167cd94bd"; + sha256 = "c14b9ef420bc9867821b4c7375df6715f20eed92b06f4aded67bccc84abf6429"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/sq/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/sq/Thunderbird%20140.8.0esr.dmg"; locale = "sq"; arch = "mac"; - sha256 = "6c5b44a4888a3c89ebf022693ba5862aaa3685ab55eab8d6999121eeda3dd80b"; + sha256 = "96e1b4c45ddf072a6222240b121201945dc29abee0fea5ffef328a1e9f0c643f"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/sr/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/sr/Thunderbird%20140.8.0esr.dmg"; locale = "sr"; arch = "mac"; - sha256 = "6dd684bc68a54e50ab3889897c0697f14c7f62e168fff7b2bddf0f8989f62406"; + sha256 = "92afbae9d9a92c688df6be3aef112a2f1717979e14ac189e0fe26b6bc99ba510"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/sv-SE/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/sv-SE/Thunderbird%20140.8.0esr.dmg"; locale = "sv-SE"; arch = "mac"; - sha256 = "14a37b6b99da9158d369a5fbabdbdd94caba4853af2c9146cb04fbc7bfc6f949"; + sha256 = "cd5061e7c92e1ffc23fb2c2ffe581adc2123d5b1e4053fa4b16f5b9ac0bbbb38"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/th/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/th/Thunderbird%20140.8.0esr.dmg"; locale = "th"; arch = "mac"; - sha256 = "cd74b128553b14c5d11e7b02ff58f02a02cf9a99aa2848968d7f4fba04e75427"; + sha256 = "8a69540e42ffa24cb584d566a452336bd98c2e72acf6f1b94b07dd1edf9b6dc6"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/tr/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/tr/Thunderbird%20140.8.0esr.dmg"; locale = "tr"; arch = "mac"; - sha256 = "5bb8f8c14b8d25a00f62cfb91d5378fc5b50d1c570c3e259485b4d81b333e51b"; + sha256 = "7c803b97fb96ebfc4610c1f3fa94bc7bfd5f43a54da42caf8c594bb6cdb7cb32"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/uk/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/uk/Thunderbird%20140.8.0esr.dmg"; locale = "uk"; arch = "mac"; - sha256 = "1716531727c133909f48dd91e4595ffe784473b4b0f4225b7dd040288bf40dfb"; + sha256 = "8b7ae27e724292f2d17fb1a4928637757fcc9cf0104d017f95efd75e107ac261"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/uz/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/uz/Thunderbird%20140.8.0esr.dmg"; locale = "uz"; arch = "mac"; - sha256 = "61f8af826af699c7e7b4f14d774bde36d75b1aa24cea6385b92eb96c1122d59f"; + sha256 = "362b1696a272a4da456998b07e4b1817a06300e20b28b1b4cf88c243b33a3c5b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/vi/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/vi/Thunderbird%20140.8.0esr.dmg"; locale = "vi"; arch = "mac"; - sha256 = "faa08af065ea93dc912bfb832653fd2cbff96d07b04d3e5992f0398f3ee6ed94"; + sha256 = "26707f8f67ae1d9d28209316bab11584cd7f1b70236f690a37e7ae29469e751e"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/zh-CN/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/zh-CN/Thunderbird%20140.8.0esr.dmg"; locale = "zh-CN"; arch = "mac"; - sha256 = "89a06428a29fa1a6ce2b35ce08f6cf1e916da8f34a28da0f62e3a1d90ff63407"; + sha256 = "911c74fc9e51b73ae1f16a41376929b90cda6655fc71a207e5056763e073457b"; } { - url = "http://archive.mozilla.org/pub/thunderbird/releases/140.7.2esr/mac/zh-TW/Thunderbird%20140.7.2esr.dmg"; + url = "http://archive.mozilla.org/pub/thunderbird/releases/140.8.0esr/mac/zh-TW/Thunderbird%20140.8.0esr.dmg"; locale = "zh-TW"; arch = "mac"; - sha256 = "d638c5aac5e7e73ab2231cee2a8e51049076405106a415b96ee09389d488e2e6"; + sha256 = "d2d6bd9ff2f0579b533f64907b25c82fe00debe89d36aa31b850ae0572425981"; } ]; } diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix index 59c1614677d33..d1960a01ab345 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix @@ -65,8 +65,8 @@ rec { thunderbird = thunderbird-latest; thunderbird-latest = common { - version = "147.0.2"; - sha512 = "4fe6d0389e8bc6078b3d4db79d1f8547666950de4a5a72e49ba24d5b60cb531908b88efa9f3dd32e154ee917a8b80786389ce9b1186b6c45fb0717d4e180e537"; + version = "148.0"; + sha512 = "ec5e586206ef217f37eb6985356994e7e7c9db6090f57d5b4c43a3a5dc0e1f5a56c0e7080d86fb895446845f9c9b948284f7417afebcf6e6120eca0e1ed238f3"; updateScript = callPackage ./update.nix { attrPath = "thunderbirdPackages.thunderbird-latest"; diff --git a/pkgs/applications/networking/p2p/transmission/4.nix b/pkgs/applications/networking/p2p/transmission/4.nix index 518bce1933bec..532bfd1f9450c 100644 --- a/pkgs/applications/networking/p2p/transmission/4.nix +++ b/pkgs/applications/networking/p2p/transmission/4.nix @@ -22,7 +22,6 @@ fmt, libpsl, miniupnpc, - crc32c, dht, libnatpmp, libiconv, @@ -48,7 +47,6 @@ let apparmorRules = apparmorRulesFromClosure { name = "transmission-daemon"; } ( [ - crc32c curl libdeflate libevent @@ -66,13 +64,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "transmission"; - version = "4.1.0"; + version = "4.1.1"; src = fetchFromGitHub { owner = "transmission"; repo = "transmission"; tag = finalAttrs.version; - hash = "sha256-glmwa06+jCyL9G2Rc58Yrvzo+/6Qu3bqwqy02RWgG64="; + hash = "sha256-c3BOQ25xWIj4bLDQDnfzw9ZyuPemyHrK2Ua0jbOSuOw="; fetchSubmodules = true; }; @@ -99,7 +97,7 @@ stdenv.mkDerivation (finalAttrs: { # Excluding gtest since it is hardcoded to vendored version. The rest of the listed libraries are not packaged. pushd third-party for f in *; do - if [[ ! $f =~ googletest|wildmat|wide-integer|jsonsl ]]; then + if [[ ! $f =~ googletest|wildmat|wide-integer|jsonsl|madler-crcany ]]; then rm -r "$f" fi done @@ -126,7 +124,6 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ curl - crc32c dht fast-float fmt diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 8e68c1e9f0a79..f41cd2b757482 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -41,8 +41,10 @@ let doCheck = false; - BUILD_USER = "nix"; - BUILD_HOST = "nix"; + env = { + BUILD_USER = "nix"; + BUILD_HOST = "nix"; + }; buildPhase = '' runHook preBuild diff --git a/pkgs/applications/networking/znc/modules.nix b/pkgs/applications/networking/znc/modules.nix index 627b1f96ae5e9..f89382bcc288f 100644 --- a/pkgs/applications/networking/znc/modules.nix +++ b/pkgs/applications/networking/znc/modules.nix @@ -138,6 +138,8 @@ in description = "ZNC FiSH module"; homepage = "https://github.com/oilslump/znc-fish"; maintainers = [ ]; + # has no license + license = lib.licenses.unfree; }; }; @@ -215,6 +217,8 @@ in meta = { description = "ZNC privmsg module"; homepage = "https://github.com/kylef/znc-contrib"; + # has no license + license = lib.licenses.unfree; }; }; diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 49fc1a56eb192..a43d10c6318b7 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -186,15 +186,6 @@ let optionalString ; - notoSubset = - suffixes: - runCommand "noto-fonts-subset" { } '' - mkdir -p "$out/share/fonts/noto/" - ${concatMapStrings (x: '' - cp "${noto-fonts}/share/fonts/noto/NotoSans${x}["*.[ot]tf "$out/share/fonts/noto/" - '') suffixes} - ''; - fontsConf = makeFontsConf { fontDirectories = [ amiri @@ -207,9 +198,8 @@ let liberation_ttf_v2 libertine linux-libertine-g - # Font priority issues in some tests in Still noto-fonts-lgc-plus - (if variant == "fresh" then noto-fonts else (notoSubset [ "Arabic" ])) + noto-fonts noto-fonts-cjk-sans ]; }; diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index a59779aff60eb..405e14d8ab42a 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -157,6 +157,7 @@ stdenv.mkDerivation (finalAttrs: { + lib.optionalString stdenv.hostPlatform.isDarwin '' --disable-R-framework --without-x + --without-static-cairo OBJC="clang" CPPFLAGS="-isystem ${lib.getInclude stdenv.cc.libcxx}/include/c++/v1" LDFLAGS="-L${lib.getLib stdenv.cc.libcxx}/lib" diff --git a/pkgs/applications/system/glances/default.nix b/pkgs/applications/system/glances/default.nix index 856f9ea8fab96..bb99cc419eb78 100644 --- a/pkgs/applications/system/glances/default.nix +++ b/pkgs/applications/system/glances/default.nix @@ -7,18 +7,19 @@ defusedxml, packaging, psutil, + pyinstrument, setuptools, nixosTests, pytestCheckHook, which, podman, selenium, + python-jose, # Optional dependencies: fastapi, jinja2, pysnmp, hddtemp, - netifaces2, # IP module uvicorn, requests, prometheus-client, @@ -27,7 +28,7 @@ buildPythonApplication rec { pname = "glances"; - version = "4.3.3"; + version = "4.5.0.5"; pyproject = true; disabled = isPyPy; @@ -36,7 +37,7 @@ buildPythonApplication rec { owner = "nicolargo"; repo = "glances"; tag = "v${version}"; - hash = "sha256-RmGbd8Aa2jJ2DMrBUUoa8mPBa6bGnQd0s0y3p/zP0ng="; + hash = "sha256-IHgMZw+X7C/72w4vXaP37GgnhLVg7EF5/sd9QlmE0NM="; }; build-system = [ setuptools ]; @@ -56,14 +57,15 @@ buildPythonApplication rec { dependencies = [ defusedxml - netifaces2 packaging psutil + pyinstrument pysnmp fastapi uvicorn requests jinja2 + python-jose which prometheus-client shtab @@ -86,6 +88,20 @@ buildPythonApplication rec { "tests/test_webui.py" ]; + disabledTests = [ + # Upstream bug: diskio plugin doesn't check if args is None before accessing attributes + # Bug report: https://github.com/nicolargo/glances/issues/3429 + "test_msg_curse_returns_list" + "test_msg_curse_with_max_width" + # Network test expects visible network interfaces + # Default config hides loopback and interfaces without IP (glances.conf) + # In Nix sandbox environment, this results in zero visible interfaces + "test_glances_api_plugin_network" + # Test always returns 3 plugin updates, but needs >=5 to not fail + # May be an upstream bug, see: https://github.com/nicolargo/glances/issues/3430 + "test_perf_update" + ]; + meta = { homepage = "https://nicolargo.github.io/glances/"; description = "Cross-platform curses-based monitoring tool"; diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 5e0b96969a82c..58a84a759c1b1 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -171,7 +171,7 @@ let license = lib.licenses.asl20; homepage = "https://subversion.apache.org/"; mainProgram = "svn"; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; }; }; diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index eab01e0129932..45af6fe007a74 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -88,6 +88,8 @@ tpmSupport ? !minimal, uringSupport ? stdenv.hostPlatform.isLinux && !userOnly, liburing, + fuseSupport ? stdenv.hostPlatform.isLinux && !minimal, + fuse3, canokeySupport ? false, canokey-qemu, capstoneSupport ? !minimal, @@ -241,6 +243,7 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals libiscsiSupport [ libiscsi ] ++ lib.optionals smbdSupport [ samba ] ++ lib.optionals uringSupport [ liburing ] + ++ lib.optionals fuseSupport [ fuse3 ] ++ lib.optionals canokeySupport [ canokey-qemu ] ++ lib.optionals capstoneSupport [ capstone ] ++ lib.optionals valgrindSupport [ valgrind-light ]; @@ -324,6 +327,7 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optional libiscsiSupport "--enable-libiscsi" ++ lib.optional smbdSupport "--smbd=${samba}/bin/smbd" ++ lib.optional uringSupport "--enable-linux-io-uring" + ++ lib.optional fuseSupport "--enable-fuse" ++ lib.optional canokeySupport "--enable-canokey" ++ lib.optional capstoneSupport "--enable-capstone" ++ lib.optional (!pluginsSupport) "--disable-plugins" diff --git a/pkgs/applications/virtualization/singularity/packages.nix b/pkgs/applications/virtualization/singularity/packages.nix index 10c91253bd81c..5640ebcb7d7e7 100644 --- a/pkgs/applications/virtualization/singularity/packages.nix +++ b/pkgs/applications/virtualization/singularity/packages.nix @@ -46,19 +46,19 @@ let callPackage (import ./generic.nix rec { pname = "singularity-ce"; - version = "4.3.7"; + version = "4.4.0"; projectName = "singularity"; src = fetchFromGitHub { owner = "sylabs"; repo = "singularity"; tag = "v${version}"; - hash = "sha256-0MTvOdSCTO6aElUYgj1YGECJDNRiz0Y/jpSIwQdaXJU="; + hash = "sha256-RYUsGAPDSbH3eYiCF25PEr1sI43y+MlXDq/ze2VICu4="; }; # Override vendorHash with overrideAttrs. # See https://nixos.org/manual/nixpkgs/unstable/#buildGoModule-vendorHash - vendorHash = "sha256-Zu+TOQdT11AnB7Hjts24YOcS4IL73I7k/VJNDO8esa4="; + vendorHash = "sha256-Hs5t1N9oYodwLI6lrE+FMXRIQ3tpQCdZdUwO6FbxVH8="; extraConfigureFlags = [ # Do not build squashfuse from the Git submodule sources, use Nixpkgs provided version diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 450b97ac906ec..0c71b50149bd2 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -415,7 +415,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.virtualbox.org/"; maintainers = with lib.maintainers; [ friedrichaltheide - blitz ]; platforms = [ "x86_64-linux" ]; mainProgram = "VirtualBox"; diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix index 4d9db85dbc2fc..2891e7a9f5290 100644 --- a/pkgs/applications/window-managers/awesome/default.nix +++ b/pkgs/applications/window-managers/awesome/default.nix @@ -179,8 +179,7 @@ stdenv.mkDerivation rec { description = "Highly configurable, dynamic window manager for X"; homepage = "https://awesomewm.org/"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ - lovek323 + maintainers = [ ]; platforms = lib.platforms.linux; }; diff --git a/pkgs/applications/window-managers/evilwm/default.nix b/pkgs/applications/window-managers/evilwm/default.nix index 0830c3ca4986c..29ed99b732cfe 100644 --- a/pkgs/applications/window-managers/evilwm/default.nix +++ b/pkgs/applications/window-managers/evilwm/default.nix @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { url = "http://www.6809.org.uk/evilwm/"; free = true; }; # like BSD/MIT, but Share-Alike'y; See README. - maintainers = with lib.maintainers; [ amiloradovsky ]; + maintainers = [ ]; platforms = lib.platforms.all; mainProgram = "evilwm"; }; diff --git a/pkgs/build-support/node/import-npm-lock/hooks/link-node-modules.js b/pkgs/build-support/node/import-npm-lock/hooks/link-node-modules.js index b045e4e0918ca..71225738fd46f 100644 --- a/pkgs/build-support/node/import-npm-lock/hooks/link-node-modules.js +++ b/pkgs/build-support/node/import-npm-lock/hooks/link-node-modules.js @@ -2,6 +2,8 @@ const fs = require("fs"); const path = require("path"); +const node_modules = process.env.NODE_PATH || "node_modules" + async function asyncFilter(arr, pred) { const filtered = []; for (const elem of arr) { @@ -16,7 +18,7 @@ async function asyncFilter(arr, pred) { // This means every file in node_modules that is _not_ a symlink to the Nix store. async function getUnmanagedFiles(storePrefix, files) { return await asyncFilter(files, async (file) => { - const filePath = path.join("node_modules", file); + const filePath = path.join(node_modules, file); // Is file a symlink const stat = await fs.promises.lstat(filePath); @@ -37,14 +39,14 @@ async function main() { // Ensure node_modules exists try { - await fs.promises.mkdir("node_modules"); + await fs.promises.mkdir(node_modules); } catch (err) { if (err.code !== "EEXIST") { throw err; } } - const files = await fs.promises.readdir("node_modules"); + const files = await fs.promises.readdir(node_modules); // Get deny list of files that we don't manage. // We do manage nix store symlinks, but not other files. @@ -58,7 +60,7 @@ async function main() { await Promise.all( sourceFiles.map(async (file) => { const sourcePath = path.join(sourceModules, file); - const targetPath = path.join("node_modules", file); + const targetPath = path.join(node_modules, file); // Skip file if it's not a symlink to a store path if (unmanaged.includes(file)) { @@ -86,7 +88,7 @@ async function main() { // Clean up store symlinks not included in this generation of node_modules await Promise.all( Array.from(managed).map((file) => - fs.promises.unlink(path.join("node_modules", file)), + fs.promises.unlink(path.join(node_modules, file)), ) ); } diff --git a/pkgs/build-support/setup-hooks/install-fonts.sh b/pkgs/build-support/setup-hooks/install-fonts.sh new file mode 100644 index 0000000000000..15edd18c9a365 --- /dev/null +++ b/pkgs/build-support/setup-hooks/install-fonts.sh @@ -0,0 +1,50 @@ +# shellcheck shell=bash + +# Setup hook that installs font files to their respective locations. +# +# Example usage in a derivation: +# +# { …, installFonts, … }: +# +# stdenvNoCC.mkDerivation { +# … +# outputs = [ +# "out" +# "webfont" # If .woff or .woff2 output is desired +# ]; +# +# nativeBuildInputs = [ installFonts ]; +# … +# } +# +# This hook also provides an `installFont` function that can be used to install +# additional fonts of a particular extension into their respective folder. +# +postInstallHooks+=(installFonts) + +installFont() { + if (($# != 2)); then + nixErrorLog "expected 2 arguments!" + nixErrorLog "usage: installFont fontExt outDir" + exit 1 + fi + + find -iname "*.$1" -print0 | xargs -0 -r install -m644 -D -t "$2" +} + +installFonts() { + if [ "${dontInstallFonts-}" == 1 ]; then return; fi + + installFont 'ttf' "$out/share/fonts/truetype" + installFont 'ttc' "$out/share/fonts/truetype" + installFont 'otf' "$out/share/fonts/opentype" + installFont 'bdf' "$out/share/fonts/misc" + installFont 'otb' "$out/share/fonts/misc" + installFont 'psf' "$out/share/consolefonts" + + if [ -n "${webfont-}" ]; then + installFont 'woff' "$webfont/share/fonts/woff" + installFont 'woff2' "$webfont/share/fonts/woff2" + fi + +} diff --git a/pkgs/by-name/_0/_010editor/package.nix b/pkgs/by-name/_0/_010editor/package.nix index 3884de5b4c22b..342a8ad3e905e 100644 --- a/pkgs/by-name/_0/_010editor/package.nix +++ b/pkgs/by-name/_0/_010editor/package.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "010editor"; - version = "16.0.2"; + version = "16.0.3"; src = finalAttrs.passthru.srcs.${stdenv.hostPlatform.system}; @@ -91,17 +91,17 @@ stdenv.mkDerivation (finalAttrs: { passthru.srcs = { x86_64-linux = fetchzip { url = "https://download.sweetscape.com/010EditorLinux64Installer${finalAttrs.version}.tar.gz"; - hash = "sha256-sFTP/z+aann3KdEVW+RSWhi/uyLZB4q3kBXaBkwHkKE="; + hash = "sha256-4p7EZ/wcOgcLKTAGgTlJVvabeIttI0UFl+DF7V7ma50="; }; x86_64-darwin = fetchurl { url = "https://download.sweetscape.com/010EditorMac64Installer${finalAttrs.version}.dmg"; - hash = "sha256-Ky7IvLeFogx6R2YAirASNNIClEL9/M0eEyCxbGAt0sU="; + hash = "sha256-v1QdX+osklCXtg0HoT3+HnEL+AbVhynJ0XA+jA7bX3M="; }; aarch64-darwin = fetchurl { url = "https://download.sweetscape.com/010EditorMacARM64Installer${finalAttrs.version}.dmg"; - hash = "sha256-gtfTq/e/BHSxkCv/Qg/o8Naoao+I8fzKOmGB1PXPSwI="; + hash = "sha256-CmatQUVGJHpi23b5C3betL6YkP3+gOA9p+xfUbsKxi0="; }; }; diff --git a/pkgs/by-name/_7/_7zip-zstd-rar/package.nix b/pkgs/by-name/_7/_7zip-zstd-rar/package.nix new file mode 100644 index 0000000000000..5583d78336f06 --- /dev/null +++ b/pkgs/by-name/_7/_7zip-zstd-rar/package.nix @@ -0,0 +1,6 @@ +{ + _7zip-zstd, +}: +_7zip-zstd.override { + enableUnfree = true; +} diff --git a/pkgs/by-name/_7/_7zip-zstd/package.nix b/pkgs/by-name/_7/_7zip-zstd/package.nix new file mode 100644 index 0000000000000..3f573e97db0c5 --- /dev/null +++ b/pkgs/by-name/_7/_7zip-zstd/package.nix @@ -0,0 +1,175 @@ +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + asmc-linux, + useAsmc ? !useUasm && stdenv.hostPlatform.isx86 && stdenv.hostPlatform.isLinux, + uasm, + useUasm ? + enableUnfree + && stdenv.hostPlatform.isx86 + && (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isWindows), + _experimental-update-script-combinators, + nix-update-script, + enableUnfree ? false, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "7zip-zstd"; + version = "25.01-v1.5.7-R4"; + + src = fetchFromGitHub { + owner = "mcmilk"; + repo = "7-Zip-zstd"; + tag = "v${finalAttrs.version}"; + hash = + if enableUnfree then + "sha256-qP4L5PIG7CHsmYbRock+cbCOGdgujUFG4LHenvvlqzw=" + else + "sha256-R9AUWL35TPh0anyRDhnF28ZYG9FeOxntVIwnnW9e2xA="; + # remove the unRAR related code from the src drv + # > the license requires that you agree to these use restrictions, + # > or you must remove the software (source and binary) from your hard disks + # https://fedoraproject.org/wiki/Licensing:Unrar + postFetch = lib.optionalString (!enableUnfree) '' + rm -r $out/CPP/7zip/Compress/Rar* + ''; + }; + + nativeBuildInputs = + lib.optionals (!stdenv.hostPlatform.isWindows) [ + makeWrapper + ] + ++ lib.optionals useAsmc [ asmc-linux ] + ++ lib.optionals useUasm [ uasm ]; + + outputs = [ + "out" + "doc" + ]; + + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "CXX=${stdenv.cc.targetPrefix}c++" + ] + ++ lib.optionals useAsmc [ + "MY_ASM=asmc" + ] + ++ lib.optionals useUasm [ + "MY_ASM=uasm" + ] + ++ lib.optionals (stdenv.hostPlatform.isx86 && !useAsmc && !useUasm) [ + "USE_ASM=" + ] + # it's the compression code with the restriction, see DOC/License.txt + ++ lib.optionals (!enableUnfree) [ "DISABLE_RAR_COMPRESS=true" ] + ++ lib.optionals (stdenv.cc.isClang) [ "FLAGS_FLTO=-flto=thin" ] + ++ lib.optionals (stdenv.hostPlatform.isMinGW) [ + "IS_MINGW=1" + "MSYSTEM=1" + ]; + + enableParallelBuilding = true; + + postPatch = '' + sed -i 's/-Werror//g' CPP/7zip/7zip_gcc.mak + '' + + lib.optionalString stdenv.hostPlatform.isMinGW '' + substituteInPlace CPP/7zip/7zip_gcc.mak C/7zip_gcc_c.mak \ + --replace windres.exe ${stdenv.cc.targetPrefix}windres + ''; + + buildPhase = + let + makefile = "../../cmpl_${ + if stdenv.hostPlatform.isDarwin then + "mac" + else if stdenv.cc.isClang then + "clang" + else + "gcc" + }${ + if stdenv.hostPlatform.isx86_64 then + "_x64" + else if stdenv.hostPlatform.isAarch64 then + "_arm64" + else if stdenv.hostPlatform.isi686 then + "_x86" + else + "" + }.mak"; + in + '' + runHook preBuild + + for component in Bundles/{Alone,Alone2,Alone7z,Format7zF,SFXCon} UI/Console; do + make -j $NIX_BUILD_CORES -C CPP/7zip/$component -f ${makefile} $makeFlags + done + + runHook postBuild + ''; + + installPhase = + let + inherit (stdenv.hostPlatform) extensions isWindows; + in + '' + runHook preInstall + + install -Dt "$out/${if isWindows then "bin" else "lib"}/7zip" \ + CPP/7zip/Bundles/Alone/b/*/7za${extensions.executable} \ + CPP/7zip/Bundles/Alone2/b/*/7zz${extensions.executable} \ + CPP/7zip/Bundles/Alone7z/b/*/7zr${extensions.executable} \ + CPP/7zip/Bundles/Format7zF/b/*/7z${extensions.sharedLibrary} \ + CPP/7zip/UI/Console/b/*/7z${extensions.executable} + install -D CPP/7zip/Bundles/SFXCon/b/*/7zCon${extensions.executable} "$out/lib/7zip/7zCon.sfx" + + ${lib.optionalString (!isWindows) '' + mkdir -p "$out/bin" + for prog in 7za 7zz 7zr 7z; do + makeWrapper "$out/lib/7zip/$prog" \ + "$out/bin/$prog" + done + ''} + + install -Dt "$out/share/doc/7zip" DOC/*.txt + + runHook postInstall + ''; + + setupHook = ./setup-hook.sh; + passthru.updateScript = _experimental-update-script-combinators.sequence [ + (nix-update-script { + attrPath = "_7zip-zstd"; + extraArgs = [ "--use-github-releases" ]; + }) + (nix-update-script { + attrPath = "_7zip-zstd-rar"; + extraArgs = [ "--version=skip" ]; + }) + ]; + + meta = { + homepage = "https://github.com/mcmilk/7-Zip-zstd"; + description = "7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard"; + changelog = "https://github.com/mcmilk/7-Zip-zstd/releases/tag/v${finalAttrs.version}"; + license = + with lib.licenses; + # p7zip code is largely lgpl2Plus + # CPP/7zip/Compress/LzfseDecoder.cpp is bsd3 + [ + lgpl2Plus # and + bsd3 + ] + ++ + # and CPP/7zip/Compress/Rar* are unfree with the unRAR license restriction + # the unRAR compression code is disabled by default + lib.optionals enableUnfree [ unfreeRedistributable ]; + maintainers = with lib.maintainers; [ + ccicnce113424 + ]; + platforms = lib.platforms.unix ++ lib.platforms.windows; + broken = stdenv.hostPlatform.isWindows; # waiting for fixes in 26.00 + mainProgram = "7z"; + }; +}) diff --git a/pkgs/by-name/_7/_7zip-zstd/setup-hook.sh b/pkgs/by-name/_7/_7zip-zstd/setup-hook.sh new file mode 100644 index 0000000000000..565ef8816774a --- /dev/null +++ b/pkgs/by-name/_7/_7zip-zstd/setup-hook.sh @@ -0,0 +1,12 @@ +unpackCmdHooks+=(_try7zip) +unpackCmdHooks+=(_tryUnpackDmg) + +_try7zip() { + if ! [[ $curSrc =~ \.7z$ ]]; then return 1; fi + 7z x "$curSrc" +} + +_tryUnpackDmg() { + if ! [[ $curSrc =~ \.dmg$ ]]; then return 1; fi + 7z x "$curSrc" +} diff --git a/pkgs/by-name/_7/_7zz/fix-cross-mingw-build.patch b/pkgs/by-name/_7/_7zz/fix-cross-mingw-build.patch deleted file mode 100644 index 4d77b1bb10242..0000000000000 --- a/pkgs/by-name/_7/_7zz/fix-cross-mingw-build.patch +++ /dev/null @@ -1,182 +0,0 @@ ---- a/C/7zip_gcc_c.mak -+++ b/C/7zip_gcc_c.mak -@@ -106,7 +106,7 @@ - endif - - --LIB2 = -lOle32 -loleaut32 -luuid -ladvapi32 -lUser32 -lShell32 -+LIB2 = -lole32 -loleaut32 -luuid -ladvapi32 -luser32 -lshell32 - - CFLAGS_EXTRA = -DUNICODE -D_UNICODE - # -Wno-delete-non-virtual-dtor ---- a/C/7zVersion.rc -+++ b/C/7zVersion.rc -@@ -5,7 +5,7 @@ - #define MY_VFT_APP 0x00000001L - #define MY_VFT_DLL 0x00000002L - --// #include -+// #include - - #ifndef MY_VERSION - #include "7zVersion.h" ---- a/C/Util/7zipInstall/resource.rc -+++ b/C/Util/7zipInstall/resource.rc -@@ -1,7 +1,7 @@ - #include - // #include - // #include --#include -+#include - - #define USE_COPYRIGHT_CR - #include "../../7zVersion.rc" ---- a/C/Util/7zipInstall/resource.rc.rej -+++ b/C/Util/7zipInstall/resource.rc.rej -@@ -0,0 +1,10 @@ -+--- C/Util/7zipInstall/resource.rc -++++ C/Util/7zipInstall/resource.rc -+@@ -1,6 +1,6 @@ -+ #include -+ #include -+-#include -++#include -+ -+ #define USE_COPYRIGHT_CR -+ #include "../../7zVersion.rc" ---- a/C/Util/7zipUninstall/resource.rc -+++ b/C/Util/7zipUninstall/resource.rc -@@ -1,7 +1,7 @@ - #include - // #include - // #include --#include -+#include - - #define USE_COPYRIGHT_CR - #include "../../7zVersion.rc" ---- a/C/Util/7zipUninstall/resource.rc.rej -+++ b/C/Util/7zipUninstall/resource.rc.rej -@@ -0,0 +1,10 @@ -+--- C/Util/7zipUninstall/resource.rc -++++ C/Util/7zipUninstall/resource.rc -+@@ -1,6 +1,6 @@ -+ #include -+ #include -+-#include -++#include -+ -+ #define USE_COPYRIGHT_CR -+ #include "../../7zVersion.rc" ---- a/CPP/7zip/7zip_gcc.mak -+++ b/CPP/7zip/7zip_gcc.mak -@@ -142,8 +142,8 @@ - DEL_OBJ_EXE = -$(RM) $(O)\*.o $(O)\$(PROG).exe $(O)\$(PROG).dll - endif - --LIB2_GUI = -lOle32 -lGdi32 -lComctl32 -lComdlg32 -lShell32 $(LIB_HTMLHELP) --LIB2 = -loleaut32 -luuid -ladvapi32 -lUser32 $(LIB2_GUI) -+LIB2_GUI = -lole32 -lgdi32 -lcomctl32 -lcomdlg32 -lshell32 $(LIB_HTMLHELP) -+LIB2 = -loleaut32 -luuid -ladvapi32 -luser32 $(LIB2_GUI) - - # v24.00: -DUNICODE and -D_UNICODE are defined in precompilation header files - # CXXFLAGS_EXTRA = -DUNICODE -D_UNICODE ---- a/CPP/7zip/Crypto/RandGen.cpp -+++ b/CPP/7zip/Crypto/RandGen.cpp -@@ -19,7 +19,7 @@ - - #ifdef USE_STATIC_RtlGenRandom - --// #include -+// #include - - EXTERN_C_BEGIN - #ifndef RtlGenRandom ---- a/CPP/7zip/GuiCommon.rc -+++ b/CPP/7zip/GuiCommon.rc -@@ -4,7 +4,7 @@ - // #include - - // for Windows CE: --#include -+#include - - - LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US ---- a/CPP/7zip/UI/FileManager/PanelItemOpen.cpp -+++ b/CPP/7zip/UI/FileManager/PanelItemOpen.cpp -@@ -4,7 +4,7 @@ - - #include "../../../Common/MyWindows.h" - --#include -+#include - - #include "../../../Common/IntToString.h" - ---- a/CPP/7zip/UI/FileManager/SysIconUtils.h -+++ b/CPP/7zip/UI/FileManager/SysIconUtils.h -@@ -5,7 +5,7 @@ - - #include "../../../Common/MyWindows.h" - --#include -+#include - - #include "../../../Common/MyString.h" - ---- a/CPP/Windows/Control/ComboBox.h -+++ b/CPP/Windows/Control/ComboBox.h -@@ -5,7 +5,7 @@ - - #include "../../Common/MyWindows.h" - --#include -+#include - - #include "../Window.h" - ---- a/CPP/Windows/Control/ImageList.h -+++ b/CPP/Windows/Control/ImageList.h -@@ -3,7 +3,7 @@ - #ifndef ZIP7_INC_WINDOWS_CONTROL_IMAGE_LIST_H - #define ZIP7_INC_WINDOWS_CONTROL_IMAGE_LIST_H - --#include -+#include - - #include "../Defs.h" - ---- a/CPP/Windows/Control/ListView.h -+++ b/CPP/Windows/Control/ListView.h -@@ -5,7 +5,7 @@ - - #include "../../Common/MyWindows.h" - --#include -+#include - - #include "../Window.h" - ---- a/CPP/Windows/Control/ProgressBar.h -+++ b/CPP/Windows/Control/ProgressBar.h -@@ -5,7 +5,7 @@ - - #include "../../Common/MyWindows.h" - --#include -+#include - - #include "../Window.h" - ---- a/CPP/Windows/SecurityUtils.h -+++ b/CPP/Windows/SecurityUtils.h -@@ -3,7 +3,7 @@ - #ifndef ZIP7_INC_WINDOWS_SECURITY_UTILS_H - #define ZIP7_INC_WINDOWS_SECURITY_UTILS_H - --#include -+#include - - #include "Defs.h" - diff --git a/pkgs/by-name/_7/_7zz/package.nix b/pkgs/by-name/_7/_7zz/package.nix index cc084c3e199b4..001031ca0fa0c 100644 --- a/pkgs/by-name/_7/_7zz/package.nix +++ b/pkgs/by-name/_7/_7zz/package.nix @@ -3,9 +3,16 @@ lib, fetchzip, - # Only useful on Linux x86/x86_64, and brings in non‐free Open Watcom + # Free MASM-compatible assembler + asmc-linux, + useAsmc ? !useUasm && stdenv.hostPlatform.isx86 && stdenv.hostPlatform.isLinux, + + # Unfree Open-Watcom licensed assembler uasm, - useUasm ? false, + useUasm ? + enableUnfree + && stdenv.hostPlatform.isx86 + && (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isWindows), # RAR code is under non-free unRAR license # see the meta.license section below for more details @@ -16,26 +23,34 @@ }: let - makefile = - { - aarch64-darwin = "../../cmpl_mac_arm64.mak"; - x86_64-darwin = "../../cmpl_mac_x64.mak"; - aarch64-linux = "../../cmpl_gcc_arm64.mak"; - i686-linux = "../../cmpl_gcc_x86.mak"; - x86_64-linux = "../../cmpl_gcc_x64.mak"; - } - .${stdenv.hostPlatform.system} or "../../cmpl_gcc.mak"; # generic build + makefile = "../../cmpl_${ + if stdenv.hostPlatform.isDarwin then + "mac" + else if stdenv.cc.isClang then + "clang" + else + "gcc" + }${ + if stdenv.hostPlatform.isx86_64 then + "_x64" + else if stdenv.hostPlatform.isAarch64 then + "_arm64" + else if stdenv.hostPlatform.isi686 then + "_x86" + else + "" + }.mak"; in stdenv.mkDerivation (finalAttrs: { pname = "7zz"; - version = "25.01"; + version = "26.00"; src = fetchzip { url = "https://7-zip.org/a/7z${lib.replaceStrings [ "." ] [ "" ] finalAttrs.version}-src.tar.xz"; hash = { - free = "sha256-A1BBdSGepobpguzokL1zpjce5EOl0zqABYciv9zCOac="; - unfree = "sha256-Jkj6T4tMols33uyJSOCcVmxh5iBYYCO/rq9dF4NDMko="; + free = "sha256-p914FrQPb+h1a+7YIL8ms2YoIfoS1hTCeLLeBF4DjwY="; + unfree = "sha256-CIgPhjRSE9A0ABQQx1YTZgO+DNb3BDxRo5xOQmuzBuI="; } .${if enableUnfree then "unfree" else "free"}; stripRoot = false; @@ -48,10 +63,6 @@ stdenv.mkDerivation (finalAttrs: { ''; }; - patches = [ - ./fix-cross-mingw-build.patch - ]; - postPatch = lib.optionalString stdenv.hostPlatform.isMinGW '' substituteInPlace CPP/7zip/7zip_gcc.mak C/7zip_gcc_c.mak \ --replace windres.exe ${stdenv.cc.targetPrefix}windres @@ -88,8 +99,15 @@ stdenv.mkDerivation (finalAttrs: { "CC=${stdenv.cc.targetPrefix}cc" "CXX=${stdenv.cc.targetPrefix}c++" ] - ++ lib.optionals useUasm [ "MY_ASM=uasm" ] - ++ lib.optionals (!useUasm && stdenv.hostPlatform.isx86) [ "USE_ASM=" ] + ++ lib.optionals useAsmc [ + "MY_ASM=asmc" + ] + ++ lib.optionals useUasm [ + "MY_ASM=uasm" + ] + ++ lib.optionals (stdenv.hostPlatform.isx86 && !useAsmc && !useUasm) [ + "USE_ASM=" + ] # it's the compression code with the restriction, see DOC/License.txt ++ lib.optionals (!enableUnfree) [ "DISABLE_RAR_COMPRESS=true" ] ++ lib.optionals (stdenv.hostPlatform.isMinGW) [ @@ -97,7 +115,12 @@ stdenv.mkDerivation (finalAttrs: { "MSYSTEM=1" ]; - nativeBuildInputs = lib.optionals useUasm [ uasm ]; + nativeBuildInputs = lib.optionals useAsmc [ asmc-linux ] ++ lib.optionals useUasm [ uasm ]; + + outputs = [ + "out" + "doc" + ]; setupHook = ./setup-hook.sh; @@ -136,7 +159,7 @@ stdenv.mkDerivation (finalAttrs: { ++ # and CPP/7zip/Compress/Rar* are unfree with the unRAR license restriction # the unRAR compression code is disabled by default - lib.optionals enableUnfree [ unfree ]; + lib.optionals enableUnfree [ unfreeRedistributable ]; maintainers = with lib.maintainers; [ anna328p jk diff --git a/pkgs/by-name/ad/addwater/package.nix b/pkgs/by-name/ad/addwater/package.nix index c3a8541e68947..c62e8f80c977b 100644 --- a/pkgs/by-name/ad/addwater/package.nix +++ b/pkgs/by-name/ad/addwater/package.nix @@ -15,7 +15,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "addwater"; - version = "1.2.9"; + version = "1.2.9.1"; # built with meson, not a python format pyproject = false; @@ -23,7 +23,7 @@ python3Packages.buildPythonApplication (finalAttrs: { owner = "largestgithubuseronearth"; repo = "addwater"; tag = "v${finalAttrs.version}"; - hash = "sha256-ii6xzt4BFroLAf4fHK0GbXa/aSzKffiN2FjMju+tnRo="; + hash = "sha256-MzazCEYJJNKLeQza9dxWCPBjBG8t2kW6UjttTZvUK1E="; }; buildInputs = [ diff --git a/pkgs/by-name/ad/adguardhome/update.sh b/pkgs/by-name/ad/adguardhome/update.sh index 3a7d5bfca69c7..77f90b12cb777 100755 --- a/pkgs/by-name/ad/adguardhome/update.sh +++ b/pkgs/by-name/ad/adguardhome/update.sh @@ -1,5 +1,5 @@ -#! /usr/bin/env nix-shell -#! nix-shell -i bash -p curl gnugrep jq nix-prefetch nix-update +#!/usr/bin/env nix-shell +#!nix-shell --pure -I nixpkgs=. -i bash -p bash cacert common-updater-scripts curl gnugrep jq nix nix-prefetch nix-update # This file is based on /pkgs/servers/gotify/update.sh @@ -13,7 +13,7 @@ version=$(jq -r '.tag_name' <<<"$latest_release") echo "got version $version" schema_version=$(curl --silent "https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/${version}/internal/configmigrate/configmigrate.go" \ - | grep -Po '(?<=const LastSchemaVersion uint = )[[:digit:]]+$') + | grep -Po '(?<=const LastSchemaVersion uint = )[[:digit:]]+$') echo "got schema_version $schema_version" diff --git a/pkgs/by-name/ad/adrs/package.nix b/pkgs/by-name/ad/adrs/package.nix index b54c71c9b1fe7..4f60adf3a0c1d 100644 --- a/pkgs/by-name/ad/adrs/package.nix +++ b/pkgs/by-name/ad/adrs/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "adrs"; - version = "0.7.0"; + version = "0.7.2"; src = fetchFromGitHub { owner = "joshrotenberg"; repo = "adrs"; tag = "v${finalAttrs.version}"; - hash = "sha256-D1Tg5ep9ri6fj0fLmKqQeMdlAe/Nc38wKTF5dsWxK3k="; + hash = "sha256-PXB87P5M/yxR9DQDnDQDL4oTnKBcgv7paPAEZWBluwg="; }; - cargoHash = "sha256-jrKDOLPps/ExGnREQy1yz8Say1bAcvJXHrkLivux4Vg="; + cargoHash = "sha256-/8fvCBanZOB3an57a1i9jM+/Xhd9K8xi/vosHklD8xU="; meta = { description = "Command-line tool for managing Architectural Decision Records"; diff --git a/pkgs/by-name/ae/aescrypt/package.nix b/pkgs/by-name/ae/aescrypt/package.nix index 3d83142a94a14..eb62d9061d88c 100644 --- a/pkgs/by-name/ae/aescrypt/package.nix +++ b/pkgs/by-name/ae/aescrypt/package.nix @@ -36,7 +36,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.aescrypt.com/"; license = lib.licenses.gpl2Only; maintainers = with lib.maintainers; [ - lovek323 qknight ]; platforms = lib.platforms.all; diff --git a/pkgs/by-name/ai/air-formatter/package.nix b/pkgs/by-name/ai/air-formatter/package.nix index 6cccc54235afb..9394712f43e65 100644 --- a/pkgs/by-name/ai/air-formatter/package.nix +++ b/pkgs/by-name/ai/air-formatter/package.nix @@ -7,16 +7,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "air-formatter"; - version = "0.8.1"; + version = "0.8.2"; src = fetchFromGitHub { owner = "posit-dev"; repo = "air"; tag = finalAttrs.version; - hash = "sha256-+AsKwigWikAv8NOaIYVvrH3Pub7Q9qV5YOp2jYU2GkE="; + hash = "sha256-wxHq1/8gd0T9Q8mAtkCGbFb3EiyeMBqg1anafuTfchM="; }; - cargoHash = "sha256-ndd4ps2X/+a62p3dlv8jxhr2bbBG88rytI1XBVntk+g="; + cargoHash = "sha256-7wq5Qal2/6yZ3TFH/Nw4jKbGS1MqGbNMGB6v7qdLPOQ="; useNextest = true; diff --git a/pkgs/by-name/ai/airwindows/package.nix b/pkgs/by-name/ai/airwindows/package.nix index 4e22779e54c04..ccf4580bc0290 100644 --- a/pkgs/by-name/ai/airwindows/package.nix +++ b/pkgs/by-name/ai/airwindows/package.nix @@ -8,13 +8,13 @@ }: stdenv.mkDerivation { pname = "airwindows"; - version = "0-unstable-2026-02-14"; + version = "0-unstable-2026-02-22"; src = fetchFromGitHub { owner = "airwindows"; repo = "airwindows"; - rev = "2425228865293425ab9c8a511772e22be6e7f4ee"; - hash = "sha256-fG9lWG9nsr5piZDQUqC02DL9lkR6Agza/H6/wFHtkes="; + rev = "e78819e1ec1d77a93057c6bf8ef0eba0293ed782"; + hash = "sha256-TH5FOTtnYNzlM1tysCbSO1wNFxyPSg5n9jUmFli5NJw="; }; # we patch helpers because honestly im spooked out by where those variables diff --git a/pkgs/tools/games/alice-tools/default.nix b/pkgs/by-name/al/alice-tools/package.nix similarity index 80% rename from pkgs/tools/games/alice-tools/default.nix rename to pkgs/by-name/al/alice-tools/package.nix index b70300a658718..fde4fed78d90c 100644 --- a/pkgs/tools/games/alice-tools/default.nix +++ b/pkgs/by-name/al/alice-tools/package.nix @@ -1,6 +1,6 @@ { - stdenv, lib, + stdenv, gitUpdater, testers, fetchFromGitHub, @@ -14,35 +14,40 @@ libjpeg, libwebp, zlib, - withGUI ? true, - qtbase ? null, - wrapQtAppsHook ? null, + withQt5 ? false, + qt5, + withQt6 ? false, + qt6, }: -assert withGUI -> qtbase != null && wrapQtAppsHook != null; +assert !(withQt5 && withQt6); +let + qt = if withQt5 then qt5 else qt6; + withGUI = withQt5 || withQt6; +in stdenv.mkDerivation (finalAttrs: { - pname = "alice-tools" + lib.optionalString withGUI "-qt${lib.versions.major qtbase.version}"; + pname = "alice-tools" + lib.optionalString withGUI "-qt${lib.versions.major qt.qtbase.version}"; version = "0.13.0"; src = fetchFromGitHub { owner = "nunuhara"; repo = "alice-tools"; - rev = finalAttrs.version; + tag = finalAttrs.version; fetchSubmodules = true; hash = "sha256-DazWnBeI5XShkIx41GFZLP3BbE0O8T9uflvKIZUXCHo="; }; - postPatch = lib.optionalString (withGUI && lib.versionAtLeast qtbase.version "6.0") '' + postPatch = lib.optionalString (withGUI && withQt6) '' # Use Meson's Qt6 module substituteInPlace src/meson.build \ --replace qt5 qt6 # For some reason Meson uses QMake instead of pkg-config detection method for Qt6 on Darwin, which gives wrong search paths for tools - export PATH=${qtbase.dev}/libexec:$PATH + export PATH=${qt.qtbase.dev}/libexec:$PATH ''; - mesonFlags = lib.optionals (withGUI && lib.versionAtLeast qtbase.version "6.0") [ + mesonFlags = lib.optionals (withGUI && withQt6) [ # Qt6 requires at least C++17, project uses compiler's default, default too old on Darwin & aarch64-linux "-Dcpp_std=c++17" ]; @@ -55,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { flex ] ++ lib.optionals withGUI [ - wrapQtAppsHook + qt.wrapQtAppsHook ]; buildInputs = [ @@ -66,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: { zlib ] ++ lib.optionals withGUI [ - qtbase + qt.qtbase ]; dontWrapQtApps = true; @@ -102,6 +107,7 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.gpl2Plus; platforms = lib.platforms.all; maintainers = with lib.maintainers; [ OPNA2608 ]; + changelog = "https://github.com/nunuhara/alice-tools/releases/tag/${finalAttrs.src.tag}"; mainProgram = if withGUI then "galice" else "alice"; }; }) diff --git a/pkgs/by-name/al/alliance/package.nix b/pkgs/by-name/al/alliance/package.nix index a2d43b1f74f9b..1e2147b385588 100644 --- a/pkgs/by-name/al/alliance/package.nix +++ b/pkgs/by-name/al/alliance/package.nix @@ -12,22 +12,21 @@ automake, autoconf, libtool, + unstableGitUpdater, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "alliance"; - version = "unstable-2025-02-24"; + version = "5.1.1-unstable-2025-02-24"; - src = - let - src = fetchFromGitHub { - owner = "lip6"; - repo = "alliance"; - rev = "a8502d32df0a4ad1bd29ab784c4332319669ecd2"; - hash = "sha256-b2uaYZEzHMB3qCMRVANNnjTxr6OYb1Unswxjq5knYzM="; - }; - in - "${src}/alliance/src"; + src = fetchFromGitHub { + owner = "lip6"; + repo = "alliance"; + rev = "a8502d32df0a4ad1bd29ab784c4332319669ecd2"; + hash = "sha256-b2uaYZEzHMB3qCMRVANNnjTxr6OYb1Unswxjq5knYzM="; + }; + + sourceRoot = "${finalAttrs.src.name}/alliance/src"; nativeBuildInputs = [ libtool @@ -70,11 +69,14 @@ stdenv.mkDerivation { cp -p distrib/*.png $out/icons/hicolor/48x48/apps/ ''; + passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; }; + meta = { description = "(deprecated) Complete set of free CAD tools and portable libraries for VLSI design"; homepage = "http://coriolis.lip6.fr/"; license = with lib.licenses; gpl2Plus; maintainers = [ ]; platforms = with lib.platforms; linux; + broken = true; }; -} +}) diff --git a/pkgs/by-name/al/alpaca/package.nix b/pkgs/by-name/al/alpaca/package.nix index ec9c8070dda45..ef4ce1742c97e 100644 --- a/pkgs/by-name/al/alpaca/package.nix +++ b/pkgs/by-name/al/alpaca/package.nix @@ -33,14 +33,14 @@ let in pythonPackages.buildPythonApplication rec { pname = "alpaca"; - version = "9.0.5"; + version = "9.2.0"; pyproject = false; # Built with meson src = fetchFromGitHub { owner = "Jeffser"; repo = "Alpaca"; tag = version; - hash = "sha256-fN4WKYpsgkYIhPLU7Ckcroo2S0lzX5cGN6uvYS4lG50="; + hash = "sha256-/FpeizUrO7WSfcOfBkM0IIdu0rc7UvLXXP2y/tunxeo="; }; postPatch = '' @@ -87,6 +87,7 @@ pythonPackages.buildPythonApplication rec { gst-python opencv4 zstandard + pythonPackages.ollama ] ++ lib.concatAttrValues optional-dependencies; diff --git a/pkgs/by-name/am/amber/package.nix b/pkgs/by-name/am/amber/package.nix index 1326e040ba591..ada5d438294ae 100644 --- a/pkgs/by-name/am/amber/package.nix +++ b/pkgs/by-name/am/amber/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "amber"; - version = "0.6.0"; + version = "0.6.1"; src = fetchFromGitHub { owner = "dalance"; repo = "amber"; tag = "v${finalAttrs.version}"; - sha256 = "sha256-q0o2PQngbDLumck27V0bIiB35zesn55Y+MwK2GjNVWo="; + sha256 = "sha256-vmgUWPxfJhzKmDq5aP/ZpyY5c/y7+ZzEEcjaTl6aUUo="; }; - cargoHash = "sha256-UFuWD3phcKuayQITd85Sou4ygDBMzjrR39vWrlseYJQ="; + cargoHash = "sha256-ejBu7ijActk7Je8zr10Ei1ULv9ZP00gNdZO3zdK2AM4="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv diff --git a/pkgs/by-name/an/ananicy-rules-cachyos/package.nix b/pkgs/by-name/an/ananicy-rules-cachyos/package.nix index 42380081cb393..2ee412740b487 100644 --- a/pkgs/by-name/an/ananicy-rules-cachyos/package.nix +++ b/pkgs/by-name/an/ananicy-rules-cachyos/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation { pname = "ananicy-rules-cachyos"; - version = "0-unstable-2026-02-18"; + version = "0-unstable-2026-02-23"; src = fetchFromGitHub { owner = "CachyOS"; repo = "ananicy-rules"; - rev = "e9108a0d71d7197d42f0315d8bc72147737ebc4a"; - hash = "sha256-SgcmCsHnZtsMzYeVfb4tUkm9+KARVTZP+weOLHoYdtc="; + rev = "fc76e0a3c558a7c67189cba69e6f91fb78dda66a"; + hash = "sha256-Pxta9rudG3Hv6G91l5/VBqa5JvQ4OZo8u8oq2XnfH7Q="; }; dontConfigure = true; diff --git a/pkgs/by-name/an/anki/package.nix b/pkgs/by-name/an/anki/package.nix index 47320e73468a5..1dafd7009ea7a 100644 --- a/pkgs/by-name/an/anki/package.nix +++ b/pkgs/by-name/an/anki/package.nix @@ -153,6 +153,7 @@ python3Packages.buildPythonApplication rec { buildInputs = [ qt6.qtbase qt6.qtsvg + qt6.qtwebengine ] ++ lib.optional stdenv.hostPlatform.isLinux qt6.qtwayland; diff --git a/pkgs/by-name/an/ansel/package.nix b/pkgs/by-name/an/ansel/package.nix index 89802fe44d727..5e744594025ba 100644 --- a/pkgs/by-name/an/ansel/package.nix +++ b/pkgs/by-name/an/ansel/package.nix @@ -82,13 +82,13 @@ let in stdenv.mkDerivation { pname = "ansel"; - version = "0-unstable-2026-02-16"; + version = "0-unstable-2026-02-23"; src = fetchFromGitHub { owner = "aurelienpierreeng"; repo = "ansel"; - rev = "e6cc53c5631060f50f3af6525dfc9d0336dd4275"; - hash = "sha256-uSEttpEosEUXKeG7abAl4VSa8erp8d+A7QwFG2Tmz+U="; + rev = "c04fba4ff0048acdaac7b98031fa3ebf06f09bdd"; + hash = "sha256-dWtEk9uweOqZnOXz+y2fc7Hn8d/Ct8PXULIFB8S7Sy0="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/an/ansible-doctor/package.nix b/pkgs/by-name/an/ansible-doctor/package.nix index f0bc095ae483a..88c829aa34161 100644 --- a/pkgs/by-name/an/ansible-doctor/package.nix +++ b/pkgs/by-name/an/ansible-doctor/package.nix @@ -8,14 +8,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "ansible-doctor"; - version = "8.2.0"; + version = "8.2.1"; pyproject = true; src = fetchFromGitHub { owner = "thegeeklab"; repo = "ansible-doctor"; tag = "v${finalAttrs.version}"; - hash = "sha256-eKUeQp4hvLqBkHDfclyR5dTt7jjcVMHneqXBPt1N8No="; + hash = "sha256-cD5X2UuH8w987bMdl3fNgh79oMERuQwIqIFRT1E506Y="; }; build-system = with python3Packages; [ diff --git a/pkgs/by-name/an/ansible-navigator/package.nix b/pkgs/by-name/an/ansible-navigator/package.nix index bf69dc2a68a9b..731eb6e88b1c0 100644 --- a/pkgs/by-name/an/ansible-navigator/package.nix +++ b/pkgs/by-name/an/ansible-navigator/package.nix @@ -8,13 +8,13 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "ansible-navigator"; - version = "25.12.0"; + version = "26.1.3"; pyproject = true; src = fetchPypi { inherit (finalAttrs) version; pname = "ansible_navigator"; - hash = "sha256-i6yw282NWUaCZBtAYi3rQsLk+GGyp8QHyqBi7nwwIlo="; + hash = "sha256-WWbx4/BARcmDnCZDt7v2uCCyZUNlS8Ur8HYiCf5A/vE="; }; build-system = with python3Packages; [ @@ -44,6 +44,9 @@ python3Packages.buildPythonApplication (finalAttrs: { homepage = "https://ansible.readthedocs.io/projects/navigator/"; changelog = "https://github.com/ansible/ansible-navigator/releases/tag/v${finalAttrs.version}"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ melkor333 ]; + maintainers = with lib.maintainers; [ + melkor333 + ilkecan + ]; }; }) diff --git a/pkgs/by-name/an/ant/package.nix b/pkgs/by-name/an/ant/package.nix index d008fc95e832a..b1049d4db3c69 100644 --- a/pkgs/by-name/an/ant/package.nix +++ b/pkgs/by-name/an/ant/package.nix @@ -2,7 +2,7 @@ fetchurl, lib, stdenv, - coreutils, + jre, makeWrapper, gitUpdater, }: @@ -11,6 +11,8 @@ stdenv.mkDerivation (finalAttrs: { pname = "ant"; version = "1.10.15"; + buildInputs = [ jre ]; + nativeBuildInputs = [ makeWrapper ]; src = fetchurl { @@ -19,60 +21,23 @@ stdenv.mkDerivation (finalAttrs: { }; installPhase = '' - mkdir -p $out/bin $out/share/ant + mkdir -p $out/share/ant mv * $out/share/ant/ # Get rid of the manual (35 MiB). Maybe we should put this in a - # separate output. Keep the antRun script since it's vanilla sh - # and needed for the task (but since we set ANT_HOME to - # a weird value, we have to move antRun to a weird location). - # Get rid of the other Ant scripts since we provide our own. - mv $out/share/ant/bin/antRun $out/bin/ - rm -rf $out/share/ant/{manual,bin,WHATSNEW} - mkdir $out/share/ant/bin - mv $out/bin/antRun $out/share/ant/bin/ - - cat >> $out/bin/ant <&2 - exit 1 - fi - fi - - if [ -z \$NIX_JVM ]; then - if [ -e \$JAVA_HOME/bin/java ]; then - NIX_JVM=\$JAVA_HOME/bin/java - elif [ -e \$JAVA_HOME/bin/gij ]; then - NIX_JVM=\$JAVA_HOME/bin/gij - else - NIX_JVM=java - fi - fi - - LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH" - - exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \ - -Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \ - org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \ - -cp "\$CLASSPATH" "\$@" - EOF - - chmod +x $out/bin/ant + # separate output. + rm -rf $out/share/ant/{manual,WHATSNEW} + + # Link Ant's special $ANT_HOME/bin to the standard /bin location + ln -s $out/share/ant/bin $out + + # Wrap the wrappers. + for wrapper in ant runant.py runant.pl; do + wrapProgram "$out/share/ant/bin/$wrapper" \ + --set-default JAVA_HOME "${jre.home}" \ + --set-default ANT_HOME "$out/share/ant" \ + --prefix CLASSPATH : "$out/share/ant/lib" + done ''; passthru = { diff --git a/pkgs/by-name/an/antigravity/information.json b/pkgs/by-name/an/antigravity/information.json index a87cd26156b54..e97eb4597c91a 100644 --- a/pkgs/by-name/an/antigravity/information.json +++ b/pkgs/by-name/an/antigravity/information.json @@ -1,22 +1,22 @@ { - "version": "1.18.4", + "version": "1.19.6", "vscodeVersion": "1.107.0", "sources": { "x86_64-linux": { - "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.18.4-5780041996042240/linux-x64/Antigravity.tar.gz", - "sha256": "f97d790d1fb74e8ccb9ddb6af301a2b60391aed22f633f1a2baf86862aa65826" + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.19.6-6514342219874304/linux-x64/Antigravity.tar.gz", + "sha256": "80522c9d60bcc04bb13d40fa136601d184dc83f36bb9065eb29cc456db4c29e1" }, "aarch64-linux": { - "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.18.4-5780041996042240/linux-arm/Antigravity.tar.gz", - "sha256": "eee54e88290cf4b0b8feb56283a04ab31ce4746465ca0bd1afd3e4505b2f95ea" + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.19.6-6514342219874304/linux-arm/Antigravity.tar.gz", + "sha256": "fba4265d3646ad002b39774d5e06b36a826bd82e70c11297379258d4a06fe8a8" }, "x86_64-darwin": { - "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.18.4-5780041996042240/darwin-x64/Antigravity.zip", - "sha256": "fdff8b6fdfda9a28ac5a147f174337c3cf515b10cddc8466af5a32c6deaaca87" + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.19.6-6514342219874304/darwin-x64/Antigravity.zip", + "sha256": "9a96e8aa2e6f6ba8c4e137f44950690853e42f4a0ae0ec79b822113bd42ef30e" }, "aarch64-darwin": { - "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.18.4-5780041996042240/darwin-arm/Antigravity.zip", - "sha256": "f1ccd9e3f051431b54b95b905afed8ec1b8b1a3f1bc841b3617b143553fd6f51" + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.19.6-6514342219874304/darwin-arm/Antigravity.zip", + "sha256": "0e0c3ade07d2c677eaa02a26b50df994bbeed8905dce583d164eff5ffc575530" } } } diff --git a/pkgs/by-name/ao/aonsoku/package.nix b/pkgs/by-name/ao/aonsoku/package.nix index c3e14803bb147..105044b9de54e 100644 --- a/pkgs/by-name/ao/aonsoku/package.nix +++ b/pkgs/by-name/ao/aonsoku/package.nix @@ -29,8 +29,8 @@ rustPlatform.buildRustPackage (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_8; - fetcherVersion = 1; - hash = "sha256-h1rcM+H2c0lk7bpGeQT5ue9bQIggrCFHkj4o7KxnH08="; + fetcherVersion = 3; + hash = "sha256-gOPjNZCljr8OvU/xLs9ZQ27dl3RatscXddOyPfSVdoE="; }; cargoRoot = "src-tauri"; diff --git a/pkgs/by-name/ap/apache-airflow/python-package.nix b/pkgs/by-name/ap/apache-airflow/python-package.nix index 43f5a4ac6ea8b..e7b0674f5b576 100644 --- a/pkgs/by-name/ap/apache-airflow/python-package.nix +++ b/pkgs/by-name/ap/apache-airflow/python-package.nix @@ -111,8 +111,8 @@ let pnpmDeps = fetchPnpmDeps { pname = "airflow-ui"; inherit sourceRoot src version; - fetcherVersion = 1; - hash = "sha256-t39aatMfqyHtP+kdszyTQs+w7EojNGX0zVmlxqtY1jk="; + fetcherVersion = 3; + hash = "sha256-zPIql9rP4EkE0Y3ihP4MkWTTYCIDr8d1LpE6vePiNdU="; }; buildPhase = '' @@ -140,8 +140,8 @@ let pnpmDeps = fetchPnpmDeps { pname = "simple-auth-manager-ui"; inherit sourceRoot src version; - fetcherVersion = 1; - hash = "sha256-8nZdWnhERUkiaY8USyy/a/j+dMksjmEzCabSkysndSE="; + fetcherVersion = 3; + hash = "sha256-ccLGYaAYJWSgegO+IfVZv1WdZ5YjhYYTZivqtDjdoOk="; }; buildPhase = '' @@ -200,6 +200,7 @@ let sed -i -E 's/"apache-airflow-task-sdk[^"]+",//' pyproject.toml substituteInPlace pyproject.toml \ + --replace-fail "GitPython==3.1.45" "GitPython" \ --replace-fail "hatchling==1.27.0" "hatchling" \ --replace-fail "trove-classifiers==2025.9.11.17" "trove-classifiers" @@ -286,6 +287,7 @@ let # Temporary to fix CI only: # https://github.com/apache/airflow/commit/c474be9ff06cf16bf96f93de9a09e30ffc476bee "fastapi" + "universal-pathlib" ]; }; @@ -337,6 +339,7 @@ buildPythonPackage rec { postPatch = '' substituteInPlace pyproject.toml \ + --replace-fail "GitPython==3.1.45" "GitPython" \ --replace-fail "hatchling==1.27.0" "hatchling" \ --replace-fail "trove-classifiers==2025.9.11.17" "trove-classifiers" ''; diff --git a/pkgs/by-name/ap/apache-answer/package.nix b/pkgs/by-name/ap/apache-answer/package.nix index 079f8b4857b30..ae23d134d6335 100644 --- a/pkgs/by-name/ap/apache-answer/package.nix +++ b/pkgs/by-name/ap/apache-answer/package.nix @@ -29,8 +29,8 @@ buildGoModule (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) src version pname; sourceRoot = "${finalAttrs.src.name}/ui"; - fetcherVersion = 1; - hash = "sha256-6IeLOwsEqchCwe0GGj/4v9Q4/Hm16K+ve2X+8QHztQM="; + fetcherVersion = 3; + hash = "sha256-0Jqe0wig28Vb9y0/tZHDfE49MehNR7kJTpChz616tzU="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/nosql/apache-jena/fuseki-test.nix b/pkgs/by-name/ap/apache-jena-fuseki/basic-test.nix similarity index 100% rename from pkgs/servers/nosql/apache-jena/fuseki-test.nix rename to pkgs/by-name/ap/apache-jena-fuseki/basic-test.nix diff --git a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix b/pkgs/by-name/ap/apache-jena-fuseki/package.nix similarity index 90% rename from pkgs/servers/nosql/apache-jena/fuseki-binary.nix rename to pkgs/by-name/ap/apache-jena-fuseki/package.nix index 2c5aff4df692a..75d70a830dfc6 100644 --- a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix +++ b/pkgs/by-name/ap/apache-jena-fuseki/package.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchurl, - java, + jre, coreutils, which, makeWrapper, @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { # It is necessary to set the default $FUSEKI_BASE directory to a writable location # By default it points to $FUSEKI_HOME/run which is in the nix store wrapProgram "$i" \ - --prefix "PATH" : "${java}/bin/:${coreutils}/bin:${which}/bin" \ + --prefix "PATH" : "${jre}/bin/:${coreutils}/bin:${which}/bin" \ --set-default "FUSEKI_HOME" "$out" \ --run "if [ -z \"\$FUSEKI_BASE\" ]; then export FUSEKI_BASE=\"\$HOME/.local/fuseki\" ; mkdir -p \"\$HOME/.local/fuseki\" ; fi" \ ; @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { ''; passthru = { tests = { - basic-test = pkgs.callPackage ./fuseki-test.nix { }; + basic-test = pkgs.callPackage ./basic-test.nix { }; }; }; meta = { diff --git a/pkgs/servers/nosql/apache-jena/binary.nix b/pkgs/by-name/ap/apache-jena/package.nix similarity index 91% rename from pkgs/servers/nosql/apache-jena/binary.nix rename to pkgs/by-name/ap/apache-jena/package.nix index 1da0f478b46cf..88b7ce1f7fe79 100644 --- a/pkgs/servers/nosql/apache-jena/binary.nix +++ b/pkgs/by-name/ap/apache-jena/package.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchurl, - java, + jre, makeWrapper, }: @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { installPhase = '' cp -r . "$out" for i in "$out"/bin/*; do - wrapProgram "$i" --prefix "PATH" : "${java}/bin/" + wrapProgram "$i" --prefix "PATH" : "${jre}/bin/" done ''; meta = { diff --git a/pkgs/by-name/ap/apidog/package.nix b/pkgs/by-name/ap/apidog/package.nix new file mode 100644 index 0000000000000..0ba18226a5cc4 --- /dev/null +++ b/pkgs/by-name/ap/apidog/package.nix @@ -0,0 +1,68 @@ +{ + lib, + appimageTools, + fetchurl, + makeDesktopItem, +}: + +let + pname = "apidog"; + version = "2.7.51"; + + src = fetchurl { + url = "https://file-assets.apidog.com/download/${version}/Apidog-${version}.AppImage"; + hash = "sha256-MEVnpzVRj0Mi+ZX9CVi5dyDlV3rxuSC5tYM03bqdw0Q="; + }; + + appimageContents = appimageTools.extract { + inherit pname version src; + }; + + desktopItem = makeDesktopItem { + name = "apidog"; + exec = "apidog %U"; + icon = "apidog"; + desktopName = "Apidog"; + comment = "All-in-One API Platform: Design, Debug, Mock, Test, and Document."; + categories = [ + "Development" + "Utility" + ]; + mimeTypes = [ "x-scheme-handler/apidog" ]; + }; +in +appimageTools.wrapType2 { + inherit pname version src; + + extraPkgs = pkgs: [ + pkgs.nss + pkgs.gtk3 + pkgs.libx11 + pkgs.libxcb + pkgs.libxrandr + pkgs.libxcomposite + pkgs.libxdamage + pkgs.libxfixes + pkgs.libxext + pkgs.libdbusmenu + pkgs.alsa-lib + pkgs.nodejs + ]; + + extraInstallCommands = '' + install -Dm444 ${appimageContents}/apidog.png \ + $out/share/icons/hicolor/512x512/apps/apidog.png + ''; + + desktopItems = [ desktopItem ]; + + meta = with lib; { + description = "All-in-one API design, test, mock and documentation platform"; + homepage = "https://apidog.com"; + license = licenses.unfree; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + platforms = [ "x86_64-linux" ]; + mainProgram = "apidog"; + maintainers = with maintainers; [ DomagojAlaber ]; + }; +} diff --git a/pkgs/by-name/ap/apko/package.nix b/pkgs/by-name/ap/apko/package.nix index 7fd9433743b1c..988c6ea5f1603 100644 --- a/pkgs/by-name/ap/apko/package.nix +++ b/pkgs/by-name/ap/apko/package.nix @@ -11,13 +11,13 @@ buildGoModule (finalAttrs: { pname = "apko"; - version = "1.1.9"; + version = "1.1.11"; src = fetchFromGitHub { owner = "chainguard-dev"; repo = "apko"; tag = "v${finalAttrs.version}"; - hash = "sha256-gYLLKejvyQTbDEua51RxxQy1aSUsp8EJrg/7b5xrEBs="; + hash = "sha256-vBX1uFYIDOLrws6LQ2lccPxCwNVes8mw2Mx4uXSZhm0="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -29,7 +29,7 @@ buildGoModule (finalAttrs: { find "$out" -name .git -print0 | xargs -0 rm -rf ''; }; - vendorHash = "sha256-Iv9aRb4soepckHl0cQMb3TqHjiNn19QLFCprTunWiO8="; + vendorHash = "sha256-9UWCqFSKCrjPUaOypcmkk6TvMZE9xPLPj06fEzduqMY="; excludedPackages = [ "internal/gen-jsonschema" diff --git a/pkgs/by-name/ap/appium-inspector/package.nix b/pkgs/by-name/ap/appium-inspector/package.nix index 14b4a78fc1de6..16cc3002081a7 100644 --- a/pkgs/by-name/ap/appium-inspector/package.nix +++ b/pkgs/by-name/ap/appium-inspector/package.nix @@ -2,7 +2,7 @@ lib, buildNpmPackage, copyDesktopItems, - electron_39, + electron_40, fetchFromGitHub, makeDesktopItem, makeWrapper, @@ -10,8 +10,8 @@ }: let - electron = electron_39; - version = "2026.1.3"; + electron = electron_40; + version = "2026.2.1"; in buildNpmPackage { @@ -22,10 +22,10 @@ buildNpmPackage { owner = "appium"; repo = "appium-inspector"; tag = "v${version}"; - hash = "sha256-9WhSQq3is2qucL1cGQIYPuLM9VkCFIWq2XVU2QioRMo="; + hash = "sha256-89u8MifBPh5AwaMFp+aGSzsiwp75Skca/t6OyDSzrGo="; }; - npmDepsHash = "sha256-2DNUTvZ6yFL9U8JKw4ZFR81a6Mv9rPXtRu/v/Il/Rhw="; + npmDepsHash = "sha256-mwNn7TllWCtr4sif9Wc3FDtK2Icu72/iI+IllhBswHQ="; npmFlags = [ "--ignore-scripts" ]; nativeBuildInputs = [ diff --git a/pkgs/by-name/ap/aprutil/package.nix b/pkgs/by-name/ap/aprutil/package.nix index 66c9d3af92dc1..f140e7a61493f 100644 --- a/pkgs/by-name/ap/aprutil/package.nix +++ b/pkgs/by-name/ap/aprutil/package.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optional stdenv.hostPlatform.isFreeBSD ./include-static-dependencies.patch; - NIX_CFLAGS_LINK = [ "-lcrypt" ]; + env.NIX_CFLAGS_LINK = toString [ "-lcrypt" ]; outputs = [ "out" diff --git a/pkgs/by-name/ap/apt-dater/package.nix b/pkgs/by-name/ap/apt-dater/package.nix index 882b67f1097f0..4fbbc8b70fec3 100644 --- a/pkgs/by-name/ap/apt-dater/package.nix +++ b/pkgs/by-name/ap/apt-dater/package.nix @@ -76,6 +76,6 @@ stdenv.mkDerivation { ''; license = lib.licenses.gpl2Plus; mainProgram = "apt-dater"; - maintainers = with lib.maintainers; [ c0bw3b ]; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/ar/arcdps-log-manager/deps.json b/pkgs/by-name/ar/arcdps-log-manager/deps.json new file mode 100644 index 0000000000000..913dfe7e63fdb --- /dev/null +++ b/pkgs/by-name/ar/arcdps-log-manager/deps.json @@ -0,0 +1,509 @@ +[ + { + "pname": "AtkSharp", + "version": "3.24.24.34", + "hash": "sha256-GrOzO4YDMKJNHAnqLF+c44iGYlvazGTOuRLUnuLbwco=" + }, + { + "pname": "CairoSharp", + "version": "3.24.24.34", + "hash": "sha256-/80xbYSPU8+6twoXRjES8PtV7dKB6fQoe6EqBmawzV8=" + }, + { + "pname": "DebounceThrottle", + "version": "2.0.0", + "hash": "sha256-STqGsbo9T4Xb7LywHwZei9hTVD2kqaxStobW+KWebIg=" + }, + { + "pname": "Eto.Forms", + "version": "2.6.1", + "hash": "sha256-Dhp61n6aIgp6TYUhxgyM9ujSb0OfBsIMKi14Zo32jF0=", + "url": "https://www.myget.org/F/eto/api/v3/flatcontainer/eto.forms/2.6.1/eto.forms.2.6.1.nupkg" + }, + { + "pname": "Eto.Platform.Gtk", + "version": "2.6.1", + "hash": "sha256-Shn2PnJVM77ki3C4STwQeA2nmXFUXvm4ffmhz/xLXXY=", + "url": "https://www.myget.org/F/eto/api/v3/flatcontainer/eto.platform.gtk/2.6.1/eto.platform.gtk.2.6.1.nupkg" + }, + { + "pname": "GdkSharp", + "version": "3.24.24.34", + "hash": "sha256-pQOp2jft19vVN+gSjD0tHfNGucss7ruy1xyys6IHHWQ=" + }, + { + "pname": "GioSharp", + "version": "3.24.24.34", + "hash": "sha256-/fZBfaKXlrdBuNh1/h0s1++5Ek4OnznXvzJx0uTbHQo=" + }, + { + "pname": "GLibSharp", + "version": "3.24.24.34", + "hash": "sha256-eAYUYNHF37nIJnk7aRffzBj8b/rluqXERYy358YAd08=" + }, + { + "pname": "GtkSharp", + "version": "3.24.24.34", + "hash": "sha256-i0XZfzUt9GNaZD1uXNd8x+pb1mPJqYrxQd15XOuHSAA=" + }, + { + "pname": "Gw2Sharp", + "version": "0.6.0", + "hash": "sha256-+AOhGe9T+Cpxf1bBxca8vpHCqLh0ayOeCJz/1yVM1Rw=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "1.1.0", + "hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "1.1.1", + "hash": "sha256-8hLiUKvy/YirCWlFwzdejD2Db3DaXhHxT7GSZx/znJg=" + }, + { + "pname": "Microsoft.NETCore.Targets", + "version": "1.1.0", + "hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ=" + }, + { + "pname": "Microsoft.Win32.Primitives", + "version": "4.3.0", + "hash": "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg=" + }, + { + "pname": "Newtonsoft.Json", + "version": "13.0.2", + "hash": "sha256-ESyjt/R7y9dDvvz5Sftozk+e/3Otn38bOcLGGh69Ot0=" + }, + { + "pname": "PangoSharp", + "version": "3.24.24.34", + "hash": "sha256-/KdH3SA/11bkwPe/AXRph4v4a2cjbUjDvo4+OhkJEOQ=" + }, + { + "pname": "RestSharp", + "version": "106.12.0", + "hash": "sha256-NGzveByJvCRtHlI2C8d/mLs3akyMm77NER8TUG6HiD4=" + }, + { + "pname": "runtime.any.System.Collections", + "version": "4.3.0", + "hash": "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8=" + }, + { + "pname": "runtime.any.System.Diagnostics.Tracing", + "version": "4.3.0", + "hash": "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI=" + }, + { + "pname": "runtime.any.System.Globalization", + "version": "4.3.0", + "hash": "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU=" + }, + { + "pname": "runtime.any.System.Globalization.Calendars", + "version": "4.3.0", + "hash": "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4=" + }, + { + "pname": "runtime.any.System.IO", + "version": "4.3.0", + "hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE=" + }, + { + "pname": "runtime.any.System.Reflection", + "version": "4.3.0", + "hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk=" + }, + { + "pname": "runtime.any.System.Reflection.Primitives", + "version": "4.3.0", + "hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ=" + }, + { + "pname": "runtime.any.System.Resources.ResourceManager", + "version": "4.3.0", + "hash": "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4=" + }, + { + "pname": "runtime.any.System.Runtime", + "version": "4.3.0", + "hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM=" + }, + { + "pname": "runtime.any.System.Runtime.Handles", + "version": "4.3.0", + "hash": "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4=" + }, + { + "pname": "runtime.any.System.Runtime.InteropServices", + "version": "4.3.0", + "hash": "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA=" + }, + { + "pname": "runtime.any.System.Text.Encoding", + "version": "4.3.0", + "hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs=" + }, + { + "pname": "runtime.any.System.Text.Encoding.Extensions", + "version": "4.3.0", + "hash": "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM=" + }, + { + "pname": "runtime.any.System.Threading.Tasks", + "version": "4.3.0", + "hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4=" + }, + { + "pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps=" + }, + { + "pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-EbnOqPOrAgI9eNheXLR++VnY4pHzMsEKw1dFPJ/Fl2c=" + }, + { + "pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I=" + }, + { + "pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-mVg02TNvJc1BuHU03q3fH3M6cMgkKaQPBxraSHl/Btg=" + }, + { + "pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA=" + }, + { + "pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-g9Uiikrl+M40hYe0JMlGHe/lrR0+nN05YF64wzLmBBA=" + }, + { + "pname": "runtime.native.System", + "version": "4.3.0", + "hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y=" + }, + { + "pname": "runtime.native.System.IO.Compression", + "version": "4.3.0", + "hash": "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8=" + }, + { + "pname": "runtime.native.System.Net.Http", + "version": "4.3.0", + "hash": "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg=" + }, + { + "pname": "runtime.native.System.Security.Cryptography.Apple", + "version": "4.3.0", + "hash": "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw=" + }, + { + "pname": "runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I=" + }, + { + "pname": "runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-xqF6LbbtpzNC9n1Ua16PnYgXHU0LvblEROTfK4vIxX8=" + }, + { + "pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM=" + }, + { + "pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-aJBu6Frcg6webvzVcKNoUP1b462OAqReF2giTSyBzCQ=" + }, + { + "pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4=" + }, + { + "pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-Mpt7KN2Kq51QYOEVesEjhWcCGTqWckuPf8HlQ110qLY=" + }, + { + "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple", + "version": "4.3.0", + "hash": "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM=" + }, + { + "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0=" + }, + { + "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-JvMltmfVC53mCZtKDHE69G3RT6Id28hnskntP9MMP9U=" + }, + { + "pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4=" + }, + { + "pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-QfFxWTVRNBhN4Dm1XRbCf+soNQpy81PsZed3x6op/bI=" + }, + { + "pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g=" + }, + { + "pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-EaJHVc9aDZ6F7ltM2JwlIuiJvqM67CKRq682iVSo+pU=" + }, + { + "pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc=" + }, + { + "pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-PHR0+6rIjJswn89eoiWYY1DuU8u6xRJLrtjykAMuFmA=" + }, + { + "pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw=" + }, + { + "pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-LFkh7ua7R4rI5w2KGjcHlGXLecsncCy6kDXLuy4qD/Q=" + }, + { + "pname": "runtime.unix.Microsoft.Win32.Primitives", + "version": "4.3.0", + "hash": "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg=" + }, + { + "pname": "runtime.unix.System.Diagnostics.Debug", + "version": "4.3.0", + "hash": "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI=" + }, + { + "pname": "runtime.unix.System.IO.FileSystem", + "version": "4.3.0", + "hash": "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I=" + }, + { + "pname": "runtime.unix.System.Net.Primitives", + "version": "4.3.0", + "hash": "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0=" + }, + { + "pname": "runtime.unix.System.Private.Uri", + "version": "4.3.0", + "hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs=" + }, + { + "pname": "runtime.unix.System.Runtime.Extensions", + "version": "4.3.0", + "hash": "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4=" + }, + { + "pname": "System.Buffers", + "version": "4.3.0", + "hash": "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk=" + }, + { + "pname": "System.Collections", + "version": "4.3.0", + "hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc=" + }, + { + "pname": "System.Collections.Concurrent", + "version": "4.3.0", + "hash": "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI=" + }, + { + "pname": "System.ComponentModel.Annotations", + "version": "5.0.0", + "hash": "sha256-0pST1UHgpeE6xJrYf5R+U7AwIlH3rVC3SpguilI/MAg=" + }, + { + "pname": "System.Diagnostics.Debug", + "version": "4.3.0", + "hash": "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM=" + }, + { + "pname": "System.Diagnostics.DiagnosticSource", + "version": "4.3.0", + "hash": "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw=" + }, + { + "pname": "System.Diagnostics.Tracing", + "version": "4.3.0", + "hash": "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q=" + }, + { + "pname": "System.Globalization", + "version": "4.3.0", + "hash": "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI=" + }, + { + "pname": "System.Globalization.Calendars", + "version": "4.3.0", + "hash": "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc=" + }, + { + "pname": "System.Globalization.Extensions", + "version": "4.3.0", + "hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk=" + }, + { + "pname": "System.IO", + "version": "4.3.0", + "hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY=" + }, + { + "pname": "System.IO.Compression", + "version": "4.3.0", + "hash": "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA=" + }, + { + "pname": "System.IO.FileSystem", + "version": "4.3.0", + "hash": "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw=" + }, + { + "pname": "System.IO.FileSystem.Primitives", + "version": "4.3.0", + "hash": "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg=" + }, + { + "pname": "System.Linq", + "version": "4.3.0", + "hash": "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A=" + }, + { + "pname": "System.Net.Http", + "version": "4.3.4", + "hash": "sha256-FMoU0K7nlPLxoDju0NL21Wjlga9GpnAoQjsFhFYYt00=" + }, + { + "pname": "System.Net.Primitives", + "version": "4.3.0", + "hash": "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE=" + }, + { + "pname": "System.Private.Uri", + "version": "4.3.0", + "hash": "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM=" + }, + { + "pname": "System.Reflection", + "version": "4.3.0", + "hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY=" + }, + { + "pname": "System.Reflection.Primitives", + "version": "4.3.0", + "hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM=" + }, + { + "pname": "System.Resources.ResourceManager", + "version": "4.3.0", + "hash": "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo=" + }, + { + "pname": "System.Runtime", + "version": "4.3.0", + "hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg=" + }, + { + "pname": "System.Runtime.Extensions", + "version": "4.3.0", + "hash": "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o=" + }, + { + "pname": "System.Runtime.Handles", + "version": "4.3.0", + "hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms=" + }, + { + "pname": "System.Runtime.InteropServices", + "version": "4.3.0", + "hash": "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI=" + }, + { + "pname": "System.Runtime.Numerics", + "version": "4.3.0", + "hash": "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc=" + }, + { + "pname": "System.Security.Cryptography.Algorithms", + "version": "4.3.0", + "hash": "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8=" + }, + { + "pname": "System.Security.Cryptography.Cng", + "version": "4.3.0", + "hash": "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw=" + }, + { + "pname": "System.Security.Cryptography.Csp", + "version": "4.3.0", + "hash": "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ=" + }, + { + "pname": "System.Security.Cryptography.Encoding", + "version": "4.3.0", + "hash": "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss=" + }, + { + "pname": "System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4=" + }, + { + "pname": "System.Security.Cryptography.Primitives", + "version": "4.3.0", + "hash": "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318=" + }, + { + "pname": "System.Security.Cryptography.X509Certificates", + "version": "4.3.0", + "hash": "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0=" + }, + { + "pname": "System.Text.Encoding", + "version": "4.3.0", + "hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg=" + }, + { + "pname": "System.Text.Encoding.Extensions", + "version": "4.3.0", + "hash": "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc=" + }, + { + "pname": "System.Threading", + "version": "4.3.0", + "hash": "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc=" + }, + { + "pname": "System.Threading.Tasks", + "version": "4.3.0", + "hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w=" + } +] diff --git a/pkgs/by-name/ar/arcdps-log-manager/package.nix b/pkgs/by-name/ar/arcdps-log-manager/package.nix new file mode 100644 index 0000000000000..7015c17454fed --- /dev/null +++ b/pkgs/by-name/ar/arcdps-log-manager/package.nix @@ -0,0 +1,75 @@ +{ + lib, + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, + wrapGAppsHook3, + gtk3, + libnotify, + icoutils, + nix-update-script, + copyDesktopItems, + makeDesktopItem, +}: +buildDotnetModule (finalAttrs: { + pname = "arcdps-log-manager"; + version = "1.15"; + + src = fetchFromGitHub { + owner = "gw2scratch"; + repo = "evtc"; + tag = "manager-v${finalAttrs.version}"; + hash = "sha256-z7SuE+MPhN4/XW3CtYabbAd2ZjL2M/ii+VCdyUUukoA="; + }; + + nugetDeps = ./deps.json; + + projectFile = "ArcdpsLogManager.Gtk/ArcdpsLogManager.Gtk.csproj"; + + dotnet-sdk = dotnetCorePackages.sdk_8_0; + dotnet-runtime = dotnetCorePackages.runtime_8_0; + + nativeBuildInputs = [ + wrapGAppsHook3 + icoutils + copyDesktopItems + ]; + + runtimeDeps = [ + gtk3 + libnotify + ]; + + postInstall = '' + mkdir -p $out/share/icons/hicolor/128x128/apps + icotool -x $src/ArcdpsLogManager/Images/program_icon.ico + cp program_icon_1_128x128x32.png $out/share/icons/hicolor/128x128/apps/arcdps-log-manager.png + ''; + + desktopItems = [ + (makeDesktopItem { + desktopName = "arcdps Log Manager"; + genericName = "arcdps Log Manager"; + exec = "GW2Scratch.ArcdpsLogManager.Gtk"; + name = "arcdps Log Manager"; + icon = "arcdps-log-manager"; + }) + ]; + + passthru.updateScript = nix-update-script { + extraArgs = [ "--version-regex=manager-v(.*)" ]; + }; + + meta = { + description = "Manager for Guild Wars 2 log files"; + longDescription = '' + Manager for all your recorded logs. Filter logs, upload them with one click, find interesting statistics. + ''; + homepage = "https://gw2scratch.com/tools/manager"; + changelog = "https://github.com/gw2scratch/evtc/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.Blu3 ]; + mainProgram = "GW2Scratch.ArcdpsLogManager.Gtk"; + platforms = [ "x86_64-linux" ]; + }; +}) diff --git a/pkgs/by-name/ar/artalk/package.nix b/pkgs/by-name/ar/artalk/package.nix index 7421e4dafa43c..dae963ad3d85f 100644 --- a/pkgs/by-name/ar/artalk/package.nix +++ b/pkgs/by-name/ar/artalk/package.nix @@ -37,8 +37,8 @@ let pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_9; - fetcherVersion = 1; - hash = "sha256-QIfadS2gNPtH006O86EndY/Hx2ml2FoKfUXJF5qoluw="; + fetcherVersion = 3; + hash = "sha256-HypDGYb0MRCIDBHY8pVgwFoZQWC8us44cunORZRk3RM="; }; buildPhase = '' diff --git a/pkgs/by-name/as/aseprite/package.nix b/pkgs/by-name/as/aseprite/package.nix index 4c3ead38f4e8b..3e24ecc3bef2d 100644 --- a/pkgs/by-name/as/aseprite/package.nix +++ b/pkgs/by-name/as/aseprite/package.nix @@ -35,7 +35,7 @@ clangStdenv.mkDerivation (finalAttrs: { pname = "aseprite"; - version = "1.3.16.1"; + version = "1.3.17"; srcs = [ (fetchFromGitHub { @@ -44,7 +44,7 @@ clangStdenv.mkDerivation (finalAttrs: { repo = "aseprite"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-s2lWg5udg/8pXjOcj2nXDS2uE3urkg1iC0Div7wkxUY="; + hash = "sha256-mBFwcf+Q/h1t7HDuiX6NTAiq0BCZZk6MUid1MuA67LY="; }) # Translation strings diff --git a/pkgs/by-name/as/asmc-linux/package.nix b/pkgs/by-name/as/asmc-linux/package.nix new file mode 100644 index 0000000000000..0b8073e9cee52 --- /dev/null +++ b/pkgs/by-name/as/asmc-linux/package.nix @@ -0,0 +1,34 @@ +{ + lib, + stdenv, + fetchFromGitHub, +}: +stdenv.mkDerivation { + pname = "asmc-linux"; + version = "2.36.25"; + src = fetchFromGitHub { + owner = "nidud"; + repo = "asmc_linux"; + rev = "4ee70bde4439bdd9c772d08527dba6d50f2e5a88"; + hash = "sha256-/yJC1OQGRgy9T/U2VB0MohSsD1ImLnHYM/8Y8fIWhVE="; + }; + + enableParallelBuilding = true; + + installPhase = '' + runHook preInstall + + install -Dt $out/bin ./asmc + + runHook postInstall + ''; + + meta = { + description = "MASM-compatible assembler"; + homepage = "https://github.com/nidud/asmc_linux"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ ccicnce113424 ]; + platforms = with lib.systems.inspect; patternLogicalAnd patterns.isx86_64 patterns.isLinux; + mainProgram = "asmc"; + }; +} diff --git a/pkgs/by-name/as/asn1editor/package.nix b/pkgs/by-name/as/asn1editor/package.nix index bf0c0f5e27d2e..2093ab2488261 100644 --- a/pkgs/by-name/as/asn1editor/package.nix +++ b/pkgs/by-name/as/asn1editor/package.nix @@ -2,6 +2,7 @@ lib, python3, fetchFromGitHub, + wrapGAppsHook3, }: python3.pkgs.buildPythonApplication (finalAttrs: { @@ -18,6 +19,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: { build-system = with python3.pkgs; [ setuptools + wrapGAppsHook3 ]; dependencies = with python3.pkgs; [ diff --git a/pkgs/by-name/as/astyle/package.nix b/pkgs/by-name/as/astyle/package.nix index 7e55987b6ff34..ccddbe14511e3 100644 --- a/pkgs/by-name/as/astyle/package.nix +++ b/pkgs/by-name/as/astyle/package.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "astyle"; - version = "3.6.13"; + version = "3.6.14"; src = fetchurl { url = "mirror://sourceforge/astyle/astyle-${finalAttrs.version}.tar.bz2"; - hash = "sha256-BIt0sUxuAff66OY7dn2jMwOrOdkCKv4zBVzkueVvFi0="; + hash = "sha256-HEb9wiy+mcYDWTmTt1C6pMouC0yeSx2Q4vtg10nWCNA="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/as/asusctl/package.nix b/pkgs/by-name/as/asusctl/package.nix index 3f3f831d726b6..e74c15e6d8375 100644 --- a/pkgs/by-name/as/asusctl/package.nix +++ b/pkgs/by-name/as/asusctl/package.nix @@ -18,16 +18,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "asusctl"; - version = "6.3.2"; + version = "6.3.3"; src = fetchFromGitLab { owner = "asus-linux"; repo = "asusctl"; tag = finalAttrs.version; - hash = "sha256-6dZkQ8cPL8dbtvfuc/a5G1BxEaZyNbvy3eRBctFFwVU="; + hash = "sha256-nc6pGxLutxKyd4LiI23e7UfWK45aQiLQRKL6zX7rVO0="; }; - cargoHash = "sha256-FlEuv/iaNlfXLhHRSmZedPwroCozaEqIvYRqbgJhgEw="; + cargoHash = "sha256-LZsSnIGTemu+SvJxszPWkA5EIdu8XzruZXaYIibV31Q="; postPatch = '' files=" @@ -49,9 +49,6 @@ rustPlatform.buildRustPackage (finalAttrs: { substituteInPlace data/asusd.service \ --replace-fail /usr/bin/asusd $out/bin/asusd \ --replace-fail /bin/sleep ${lib.getExe' coreutils "sleep"} - substituteInPlace data/asusd-user.service \ - --replace-fail /usr/bin/asusd-user $out/bin/asusd-user \ - --replace-fail /usr/bin/sleep ${lib.getExe' coreutils "sleep"} substituteInPlace Makefile \ --replace-fail /usr/bin/grep ${lib.getExe gnugrep} diff --git a/pkgs/by-name/au/audiofile/package.nix b/pkgs/by-name/au/audiofile/package.nix index 4a14e99965d86..1223e52a49ab5 100644 --- a/pkgs/by-name/au/audiofile/package.nix +++ b/pkgs/by-name/au/audiofile/package.nix @@ -128,7 +128,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Library for reading and writing audio files in various formats"; homepage = "http://www.68k.org/~michael/audiofile/"; license = lib.licenses.lgpl21Plus; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/au/augeas/package.nix b/pkgs/by-name/au/augeas/package.nix index 9bf1dc0600e5e..875a232352ad4 100644 --- a/pkgs/by-name/au/augeas/package.nix +++ b/pkgs/by-name/au/augeas/package.nix @@ -32,6 +32,7 @@ stdenv.mkDerivation (finalAttrs: { ./bootstrap --gnulib-srcdir=.gnulib ''; + configureFlags = lib.optionals stdenv.buildPlatform.isDarwin [ "--disable-gnulib-tests" ]; nativeBuildInputs = [ autoreconfHook bison diff --git a/pkgs/by-name/au/authelia/sources.nix b/pkgs/by-name/au/authelia/sources.nix index e11ab232d1cf7..18b0c37e5e37c 100644 --- a/pkgs/by-name/au/authelia/sources.nix +++ b/pkgs/by-name/au/authelia/sources.nix @@ -10,5 +10,5 @@ rec { hash = "sha256-u7TIhOGXfvWdAXvpL5qa43jaoa7PNAVL2MtGEuWBDPc="; }; vendorHash = "sha256-7RoPv4OvOhiv+TmYOJuW95h/uh2LuTrpUSAZiTvbh7g="; - pnpmDepsHash = "sha256-uRwSpy/aZA4hG2rEY8hlD8pXJ7lvNoIa6a3VSZuZgcs="; + pnpmDepsHash = "sha256-Ck2nqFwDv3OxN0ONA3A+h4Rli1te+EYqKivcqrAInKw="; } diff --git a/pkgs/by-name/au/authelia/web.nix b/pkgs/by-name/au/authelia/web.nix index 9ae3faf4c9ba1..9682c05adf780 100644 --- a/pkgs/by-name/au/authelia/web.nix +++ b/pkgs/by-name/au/authelia/web.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot ; inherit pnpm; # This may be different than pkgs.pnpm - fetcherVersion = 1; + fetcherVersion = 3; hash = pnpmDepsHash; }; diff --git a/pkgs/by-name/au/automatic-timezoned/package.nix b/pkgs/by-name/au/automatic-timezoned/package.nix index 438e36dc62ef5..3b3cc15e32b60 100644 --- a/pkgs/by-name/au/automatic-timezoned/package.nix +++ b/pkgs/by-name/au/automatic-timezoned/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "automatic-timezoned"; - version = "2.0.118"; + version = "2.0.120"; src = fetchFromGitHub { owner = "maxbrunet"; repo = "automatic-timezoned"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-gbXxzEp734lSiVJLBPZzL3H7gwwW/BNnKPJ4Hetcx8o="; + sha256 = "sha256-L3+tDhobD1j3X63181mLEVSwDUmcwkPDnW1vZ8W6vTU="; }; - cargoHash = "sha256-in4vQVIHfdWOX/wHunUdoUFZkK5Y19PCWe8UuvUs+/I="; + cargoHash = "sha256-vta5xn8x/TZopgVCvc/RzQhMzM9OnLd3HeTrRO8ePOI="; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/by-name/au/autoprefixer/package.nix b/pkgs/by-name/au/autoprefixer/package.nix index 01adf38abd5ce..293d80407b284 100644 --- a/pkgs/by-name/au/autoprefixer/package.nix +++ b/pkgs/by-name/au/autoprefixer/package.nix @@ -29,8 +29,8 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_9; - fetcherVersion = 1; - hash = "sha256-fyygZMpRMm5tL5/kpERKXUNA9qqDt6ZkzT4zWtqQSv8="; + fetcherVersion = 3; + hash = "sha256-PPYyEsc0o5ufBexUdiX9EJLEsQZ0wX7saBzxJGsnseU="; }; installPhase = '' diff --git a/pkgs/by-name/av/avahi/package.nix b/pkgs/by-name/av/avahi/package.nix index bff96b9553965..09b9a602af550 100644 --- a/pkgs/by-name/av/avahi/package.nix +++ b/pkgs/by-name/av/avahi/package.nix @@ -232,8 +232,7 @@ stdenv.mkDerivation rec { homepage = "http://avahi.org"; license = lib.licenses.lgpl2Plus; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ - lovek323 + maintainers = [ ]; longDescription = '' diff --git a/pkgs/by-name/av/avro-cpp/0004-remove-boost-system-component.patch b/pkgs/by-name/av/avro-cpp/0004-remove-boost-system-component.patch new file mode 100644 index 0000000000000..1a816e8c7736a --- /dev/null +++ b/pkgs/by-name/av/avro-cpp/0004-remove-boost-system-component.patch @@ -0,0 +1,15 @@ +Remove boost_system component from find_package + +Boost 1.89.0 removed the separate boost_system compiled library. +The boost::system headers are still available through the core Boost package. +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -79,7 +79,7 @@ endif () + + + find_package (Boost 1.38 REQUIRED +- COMPONENTS filesystem iostreams program_options regex system) ++ COMPONENTS filesystem iostreams program_options regex) + + include(FetchContent) + FetchContent_Declare( diff --git a/pkgs/by-name/av/avro-cpp/package.nix b/pkgs/by-name/av/avro-cpp/package.nix index 9a2a7990b0c18..10d5763563049 100644 --- a/pkgs/by-name/av/avro-cpp/package.nix +++ b/pkgs/by-name/av/avro-cpp/package.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation (finalAttrs: { ./0001-get-rid-of-fmt-fetchcontent.patch ./0002-fix-fmt-name-formatter.patch ./0003-fix-fmt-type-formatter.patch + ./0004-remove-boost-system-component.patch ]; nativeBuildInputs = [ diff --git a/pkgs/by-name/aw/aws-iam-authenticator/package.nix b/pkgs/by-name/aw/aws-iam-authenticator/package.nix index fc29a569bc443..aab845a18d92c 100644 --- a/pkgs/by-name/aw/aws-iam-authenticator/package.nix +++ b/pkgs/by-name/aw/aws-iam-authenticator/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "aws-iam-authenticator"; - version = "0.7.10"; + version = "0.7.11"; src = fetchFromGitHub { owner = "kubernetes-sigs"; repo = "aws-iam-authenticator"; tag = "v${finalAttrs.version}"; - hash = "sha256-usnLBLdgEpfpjItMwlRUnuiYQDcq+3FhOpL0WPxdYyY="; + hash = "sha256-ObvzeAqvECQ3wdILg5fLSvANWG19PcWfE+IlN145N+A="; }; vendorHash = "sha256-cEWsTYwWVo7UKcAjXf+dUQ8pboIUnT+0D8yFhD6WSSk="; diff --git a/pkgs/by-name/aw/aws-lambda-rie/package.nix b/pkgs/by-name/aw/aws-lambda-rie/package.nix index 59a76844ad7e5..78fc8ae6893d4 100644 --- a/pkgs/by-name/aw/aws-lambda-rie/package.nix +++ b/pkgs/by-name/aw/aws-lambda-rie/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "aws-lambda-runtime-interface-emulator"; - version = "1.31"; + version = "1.33"; src = fetchFromGitHub { owner = "aws"; repo = "aws-lambda-runtime-interface-emulator"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-T+a6qbdAtdtihf903C8en4dPChB87Qd32iBbTbUnhkA="; + sha256 = "sha256-p3Tw5wpMiFL46FyX6NKaKv47jjFnlS27/Q4pc2nzdzs="; }; vendorHash = "sha256-+7BuDaN1ns63cQOMKuRMjBo9GnLrmsubx/KppUsyheY="; diff --git a/pkgs/by-name/aw/aws-vault/package.nix b/pkgs/by-name/aw/aws-vault/package.nix index c227e6892718c..ff6914e98d9b6 100644 --- a/pkgs/by-name/aw/aws-vault/package.nix +++ b/pkgs/by-name/aw/aws-vault/package.nix @@ -10,17 +10,17 @@ }: buildGoModule (finalAttrs: { pname = "aws-vault"; - version = "7.9.5"; + version = "7.9.8"; src = fetchFromGitHub { owner = "ByteNess"; repo = "aws-vault"; rev = "v${finalAttrs.version}"; - hash = "sha256-MVeYKeFpGKk0asO7u5RE3arpX3x4EpF4xRCav5oj9J4="; + hash = "sha256-qbz6iWU6aZ8ehckJqBUy5ovcuHVBU0XqonQxH7m44Zo="; }; proxyVendor = true; - vendorHash = "sha256-6JgcU+NRQSQjoGxF0ByaY2h9/HZUdg8BdbHazz5m8VM="; + vendorHash = "sha256-K6uW+0yoKBDtBtAZIcVcbqnqD6tQJbSvGGs0wL0R+Wg="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/az/azure-cli/extensions-generated.json b/pkgs/by-name/az/azure-cli/extensions-generated.json index f419a11c79d2a..42acb67feb7d0 100644 --- a/pkgs/by-name/az/azure-cli/extensions-generated.json +++ b/pkgs/by-name/az/azure-cli/extensions-generated.json @@ -43,16 +43,16 @@ }, "ai-examples": { "pname": "ai-examples", - "version": "0.2.5", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/ai_examples-0.2.5-py2.py3-none-any.whl", - "hash": "sha256-utvfX8LgtKhcQSTT/JKFm1gq348w9XJ0QM6BlCFACZo=", + "version": "0.2.6", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/ai_examples-0.2.6-py2.py3-none-any.whl", + "hash": "sha256-z5G04SBrhpBQHYR8vkbD7BP2We96TTZ63XTtXo+X1pw=", "description": "Add AI powered examples to help content" }, "aks-preview": { "pname": "aks-preview", - "version": "19.0.0b18", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-19.0.0b18-py2.py3-none-any.whl", - "hash": "sha256-MN2tw4w7jd7d4Ej6c1mVR8XjOHuqLBADphn0GXzyuqk=", + "version": "19.0.0b22", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-19.0.0b22-py2.py3-none-any.whl", + "hash": "sha256-/TBJnRAsSSDTGP114fkkQeJ2gzryA8LQQMY+7/G71PI=", "description": "Provides a preview for upcoming AKS features" }, "alb": { @@ -111,6 +111,13 @@ "hash": "sha256-re+iMmNO+fYl5j5oTGy4vm6OHATHytv5TIaYl2k6fVg=", "description": "Microsoft Azure Command-Line Tools ArizeAi Extension" }, + "artifact-signing": { + "pname": "artifact-signing", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/artifact_signing-1.0.0-py3-none-any.whl", + "hash": "sha256-u9BK1SQm5p6aJBkvL+Di7S21WuYfuRtrizoDA739DH8=", + "description": "Microsoft Azure Command-Line Tools Artifact Signing Extension" + }, "astronomer": { "pname": "astronomer", "version": "1.0.1", @@ -134,16 +141,16 @@ }, "automation": { "pname": "automation", - "version": "1.0.0b1", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/automation-1.0.0b1-py3-none-any.whl", - "hash": "sha256-0x/gQz+jCm4An3ub7mxBemhu2HUC3Zh7msitETODkVs=", + "version": "1.0.0b2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/automation-1.0.0b2-py3-none-any.whl", + "hash": "sha256-sdk0uNtQX6yBiEboywNE8FAreY1pBiimah0PdmCDRYg=", "description": "Microsoft Azure Command-Line Tools AutomationClient Extension" }, "azure-firewall": { "pname": "azure-firewall", - "version": "2.0.0", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-2.0.0-py2.py3-none-any.whl", - "hash": "sha256-tIX7vovIVGe9NsBg3N8LbwyVsxgurJKXLUtUYveaZtA=", + "version": "2.0.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-2.0.1-py2.py3-none-any.whl", + "hash": "sha256-SLnSVacJ47P96ICUt33/6cRz+0YRY+FrkwhowtTMD68=", "description": "Manage Azure Firewall resources" }, "azurelargeinstance": { @@ -162,9 +169,9 @@ }, "bastion": { "pname": "bastion", - "version": "1.4.2", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/bastion-1.4.2-py3-none-any.whl", - "hash": "sha256-TTaKDFaydQ4lW+LfvEHbWX4WARj3Xwg/yeHmq9aNEoI=", + "version": "1.4.3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/bastion-1.4.3-py3-none-any.whl", + "hash": "sha256-ikMk58o8e8VhZ7bzq++2RRxOv3p/eQ9eX5+eC7qyFdk=", "description": "Microsoft Azure Command-Line Tools Bastion Extension" }, "billing-benefits": { @@ -176,9 +183,9 @@ }, "blueprint": { "pname": "blueprint", - "version": "1.0.0b1", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-1.0.0b1-py3-none-any.whl", - "hash": "sha256-WVBTayQ3Asbs5Q8sE8d4q68xIJN6i0cZiNHV+8szmlQ=", + "version": "1.0.0b2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-1.0.0b2-py3-none-any.whl", + "hash": "sha256-KVtkhYL1+HnnJnmZt7AtZpfFvve/hcpmFw2EfzSHGLc=", "description": "Microsoft Azure Command-Line Tools Blueprint Extension" }, "carbon": { @@ -288,9 +295,9 @@ }, "databricks": { "pname": "databricks", - "version": "1.2.0", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-1.2.0-py3-none-any.whl", - "hash": "sha256-3Zdbp+OP7mgXQ8cSjidSba8BO8kB4Bx1pWwyFFD+7Yw=", + "version": "1.3.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-1.3.1-py3-none-any.whl", + "hash": "sha256-D6+Sbp49vxPP/IENPPn6TSL3qhwgBZyWBB3KjSgjdCc=", "description": "Microsoft Azure Command-Line Tools DatabricksClient Extension" }, "datadog": { @@ -328,6 +335,13 @@ "hash": "sha256-8agBvQw46y6/nC+04LQ6mEcK57QLvNBesqpZbWlXnJ4=", "description": "Microsoft Azure Command-Line Tools DataShareManagementClient Extension" }, + "dell": { + "pname": "dell", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/dell-1.0.0b1-py3-none-any.whl", + "hash": "sha256-v3Ue6o9sjuG9/Nn2nPuNx9O61bWr0h8MS792bYztVFw=", + "description": "Support for managing Dell.Storage filesystem resources" + }, "dependency-map": { "pname": "dependency-map", "version": "1.0.0b1", @@ -358,9 +372,9 @@ }, "devcenter": { "pname": "devcenter", - "version": "7.0.0", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/devcenter-7.0.0-py3-none-any.whl", - "hash": "sha256-UQgGkRRJ3WGPKT3agMb533CKD/A1dq/66Z/4K13VuK0=", + "version": "8.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/devcenter-8.0.0-py3-none-any.whl", + "hash": "sha256-bdtqIfedTken/0rh+2F/MhdDtl1+mshQFXUX2/2ejpA=", "description": "Microsoft Azure Command-Line Tools DevCenter Extension" }, "diskpool": { @@ -407,9 +421,9 @@ }, "edge-action": { "pname": "edge-action", - "version": "1.0.0b2", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/edge_action-1.0.0b2-py3-none-any.whl", - "hash": "sha256-wtIkeQPRlEAEL/PXTVuPaUoQbabFKDKLc/RML+qaBGM=", + "version": "1.0.0b3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/edge_action-1.0.0b3-py3-none-any.whl", + "hash": "sha256-rAC5OVb2crUfQR1DkQmW09Ifft55aAnYgM7s8frPzW4=", "description": "Microsoft Azure Command-Line Tools Extension for Azure Front Door Edge Actions" }, "edgeorder": { @@ -463,9 +477,9 @@ }, "fleet": { "pname": "fleet", - "version": "1.8.2", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/fleet-1.8.2-py3-none-any.whl", - "hash": "sha256-3YRF7R7NB8zPonNcgv4Cfs3gk55pgTAbeo1tGOH6fsA=", + "version": "1.8.3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/fleet-1.8.3-py3-none-any.whl", + "hash": "sha256-KY4lXsFf1Rxhcblyfxw904dWHxdWR17L864qiIpYYOQ=", "description": "Microsoft Azure Command-Line Tools Fleet Extension" }, "fluid-relay": { @@ -484,9 +498,9 @@ }, "front-door": { "pname": "front-door", - "version": "1.4.0", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/front_door-1.4.0-py3-none-any.whl", - "hash": "sha256-9chF08+QQe2WYR/vvifE9AzjYV4X26TweeGf2U5zcGA=", + "version": "2.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/front_door-2.1.0-py3-none-any.whl", + "hash": "sha256-7aa9A+tq+qXzMuabG9McHkXpU3TRZVjQWDbmuHTTsFk=", "description": "Manage networking Front Doors" }, "fzf": { @@ -533,9 +547,9 @@ }, "healthbot": { "pname": "healthbot", - "version": "0.1.0", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/healthbot-0.1.0-py3-none-any.whl", - "hash": "sha256-kTT60lEVFucUpds0bWOGWvC63wWZrePxwV+soAVVhaM=", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/healthbot-1.0.0-py3-none-any.whl", + "hash": "sha256-X6M+iVNShC9YBliy2Ynf5TVUDKo3ZTaqu1yvFn6v6Ew=", "description": "Microsoft Azure Command-Line Tools HealthbotClient Extension" }, "healthcareapis": { @@ -547,9 +561,9 @@ }, "hpc-cache": { "pname": "hpc-cache", - "version": "0.1.5", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/hpc_cache-0.1.5-py2.py3-none-any.whl", - "hash": "sha256-hSy0F6rfCtB+PFFBOFjEE79x6my0m6WCidlXL5o1BQc=", + "version": "0.1.6", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/hpc_cache-0.1.6-py2.py3-none-any.whl", + "hash": "sha256-aUNk9avjsiJnqOVNULsANeO/IXkjRV76a8u+c5O4Bso=", "description": "Microsoft Azure Command-Line Tools StorageCache Extension" }, "image-copy-extension": { @@ -561,9 +575,9 @@ }, "image-gallery": { "pname": "image-gallery", - "version": "1.0.0b1", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/image_gallery-1.0.0b1-py2.py3-none-any.whl", - "hash": "sha256-WwVNZ7dYcfXELlsSNrkhKgtolYE4oNRIQJ1DoJxzIZE=", + "version": "1.0.0b2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/image_gallery-1.0.0b2-py2.py3-none-any.whl", + "hash": "sha256-Q2lgO2YZvvwKoTi+7WDLuBbN2HuCa8DcdcC31RgNLCw=", "description": "Support for Azure Image Gallery" }, "import-export": { @@ -603,11 +617,18 @@ }, "k8s-runtime": { "pname": "k8s-runtime", - "version": "2.0.0", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_runtime-2.0.0-py3-none-any.whl", - "hash": "sha256-SSW6qtKarGtCPsi88PWG4IWX5YzTQ9WoyNqiKbx8mok=", + "version": "2.0.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_runtime-2.0.1-py3-none-any.whl", + "hash": "sha256-gGI8vYgtiVgf/oQsWYp3O4mzRoDf5uzvkhevkX53dWM=", "description": "Microsoft Azure Command-Line Tools K8sRuntime Extension" }, + "keyvault-preview": { + "pname": "keyvault-preview", + "version": "1.0.2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/keyvault_preview-1.0.2-py3-none-any.whl", + "hash": "sha256-2O5Pzvs7z/So+CqgiLe+BOJuvClJIhQABGM4Cxsfmu0=", + "description": "Microsoft Azure Command-Line Tools Keyvault-preview Extension" + }, "kusto": { "pname": "kusto", "version": "0.5.0", @@ -694,9 +715,9 @@ }, "migrate": { "pname": "migrate", - "version": "3.0.0b2", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/migrate-3.0.0b2-py3-none-any.whl", - "hash": "sha256-UShJtaTygedXgcITDUStH3PAhxyvFBtwMutz/vYJ+s8=", + "version": "3.0.0b3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/migrate-3.0.0b3-py3-none-any.whl", + "hash": "sha256-Yyos4j33u3xCu+xuUt53ifCF5TD2m5YRjw2j66CIah4=", "description": "Support for Azure Migrate preview" }, "mixed-reality": { @@ -771,9 +792,9 @@ }, "nginx": { "pname": "nginx", - "version": "2.0.0b9", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/nginx-2.0.0b9-py2.py3-none-any.whl", - "hash": "sha256-zJDRh3cN4Qdz4w3QOAuhs+2+C+ku/lKjP54Am3wJXTk=", + "version": "2.0.0b10", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/nginx-2.0.0b10-py2.py3-none-any.whl", + "hash": "sha256-RYvMtOEopLUbYUPt1RxECyGEyDc4aOAt2hp7Orv0DAM=", "description": "Microsoft Azure Command-Line Tools Nginx Extension" }, "notification-hub": { @@ -862,9 +883,9 @@ }, "quantum": { "pname": "quantum", - "version": "1.0.0b10", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-1.0.0b10-py3-none-any.whl", - "hash": "sha256-ihvof5C7EOMq65Ljbv2ax9Lri67AY0kSBb687dUGAv0=", + "version": "1.0.0b11", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-1.0.0b11-py3-none-any.whl", + "hash": "sha256-LcfF4Rmfr4L4R0n41g4RngDyfTeRZheZuNqGP4kI5Yk=", "description": "Microsoft Azure Command-Line Tools Quantum Extension" }, "qumulo": { @@ -918,9 +939,9 @@ }, "scheduled-query": { "pname": "scheduled-query", - "version": "1.0.0b1", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/scheduled_query-1.0.0b1-py2.py3-none-any.whl", - "hash": "sha256-/V5p0EOLgInb4ZfVukxBd2rtkGlBysN0dVpMkETErwQ=", + "version": "1.0.0b2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/scheduled_query-1.0.0b2-py2.py3-none-any.whl", + "hash": "sha256-UuY4rZntL543bBkYaAwNzCtmGVsZ5npROl0ozVizUJw=", "description": "Microsoft Azure Command-Line Tools Scheduled_query Extension" }, "scvmm": { @@ -974,9 +995,9 @@ }, "stack-hci-vm": { "pname": "stack-hci-vm", - "version": "1.11.6", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/stack_hci_vm-1.11.6-py3-none-any.whl", - "hash": "sha256-JyLErSQLS0cMKClSc9q97gdwCtfr0X2ilcP4EuE0V60=", + "version": "1.11.9", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/stack_hci_vm-1.11.9-py3-none-any.whl", + "hash": "sha256-MX5rPOARe9r9kglMz+R8EnMrZ/nxL9ICK5hzXEWXjWk=", "description": "Microsoft Azure Command-Line Tools Stack-HCi-VM Extension" }, "standbypool": { @@ -995,9 +1016,9 @@ }, "storage-actions": { "pname": "storage-actions", - "version": "1.0.0", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_actions-1.0.0-py3-none-any.whl", - "hash": "sha256-OzMuN2blvmoj9GuzU1X3O2PJ0Yr8rsnFXYzypAJlF58=", + "version": "1.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_actions-1.1.0-py3-none-any.whl", + "hash": "sha256-Xj0KOug3QlFFUeNMtx/ygecOTZhtLsGYnlTX07dhk04=", "description": "Microsoft Azure Command-Line Tools StorageActions Extension" }, "storage-blob-preview": { @@ -1016,9 +1037,9 @@ }, "storage-mover": { "pname": "storage-mover", - "version": "1.2.0", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_mover-1.2.0-py3-none-any.whl", - "hash": "sha256-jIZ2WTXHeK2+DeBOfU8tKN5abXARPzDu45YP5nSNzXA=", + "version": "1.2.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_mover-1.2.1-py3-none-any.whl", + "hash": "sha256-CWybGBqh6g8/+EsrqkFXlAZfkUMqrmKSAhq4d05WG/0=", "description": "Microsoft Azure Command-Line Tools StorageMover Extension" }, "storagesync": { @@ -1107,9 +1128,9 @@ }, "vmware": { "pname": "vmware", - "version": "8.0.0", - "url": "https://azcliprod.blob.core.windows.net/cli-extensions/vmware-8.0.0-py2.py3-none-any.whl", - "hash": "sha256-Y+3qoZWD1Jx+BrRsHoTZp2lwuFp/NI/l7EYTP8bebuw=", + "version": "8.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/vmware-8.1.0-py2.py3-none-any.whl", + "hash": "sha256-QlwHakDfpj37o5mNUbt0MyPhgRyD/aNPfn4oRO5JtWo=", "description": "Azure VMware Solution commands" }, "webapp": { diff --git a/pkgs/by-name/az/azure-cli/extensions-manual.nix b/pkgs/by-name/az/azure-cli/extensions-manual.nix index cd6362a9ffa84..d3dfb5f538f18 100644 --- a/pkgs/by-name/az/azure-cli/extensions-manual.nix +++ b/pkgs/by-name/az/azure-cli/extensions-manual.nix @@ -280,6 +280,18 @@ meta.maintainers = with lib.maintainers; [ obreitwi ]; }; + redisenterprise = mkAzExtension rec { + pname = "redisenterprise"; + version = "1.4.0"; + url = "https://azcliprod.blob.core.windows.net/cli-extensions/redisenterprise-${version}-py3-none-any.whl"; + hash = "sha256-vMKLLC/q39SZ2MbqxmcjUiylr01D1olaLujQ1LbFqak="; + description = "Microsoft Azure Command-Line Tools RedisEnterprise Extension"; + propagatedBuildInputs = with python3Packages; [ + redis + pyjwt + ]; + }; + serial-console = mkAzExtension { pname = "serial-console"; version = "1.0.0b2"; diff --git a/pkgs/by-name/az/azure-cli/package.nix b/pkgs/by-name/az/azure-cli/package.nix index b62ea5382f6ca..8f50b370dcadf 100644 --- a/pkgs/by-name/az/azure-cli/package.nix +++ b/pkgs/by-name/az/azure-cli/package.nix @@ -26,14 +26,14 @@ }: let - version = "2.82.0"; + version = "2.83.0"; src = fetchFromGitHub { name = "azure-cli-${version}-src"; owner = "Azure"; repo = "azure-cli"; tag = "azure-cli-${version}"; - hash = "sha256-C9qsgJI/+4NKiUSrOANWnGtZPlAt5SaQTtRwcqjwIkk="; + hash = "sha256-ptmqcRbjLWMZ9i+rt0amfjpVC+VuE+L3Np2gPpF7Urg="; }; # put packages that needs to be overridden in the py package scope diff --git a/pkgs/by-name/b3/b3sum/package.nix b/pkgs/by-name/b3/b3sum/package.nix index 8b079ab90923a..1892f136599e8 100644 --- a/pkgs/by-name/b3/b3sum/package.nix +++ b/pkgs/by-name/b3/b3sum/package.nix @@ -2,19 +2,25 @@ lib, fetchCrate, rustPlatform, + versionCheckHook, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "b3sum"; version = "1.8.3"; src = fetchCrate { - inherit version pname; + inherit (finalAttrs) version pname; hash = "sha256-mU2r5xbYf6A1RibWqhow/637YxybCFMT3UzYcUMjhdg="; }; cargoHash = "sha256-w9l8dn4Ahck3NXuN4Ph9qmGoS767/mQRBgO9AT0CH3Y="; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + doInstallCheck = true; + meta = { description = "BLAKE3 cryptographic hash function"; mainProgram = "b3sum"; @@ -27,6 +33,6 @@ rustPlatform.buildRustPackage rec { cc0 asl20 ]; - changelog = "https://github.com/BLAKE3-team/BLAKE3/releases/tag/${version}"; + changelog = "https://github.com/BLAKE3-team/BLAKE3/releases/tag/${finalAttrs.version}"; }; -} +}) diff --git a/pkgs/by-name/ba/backblaze-b2/package.nix b/pkgs/by-name/ba/backblaze-b2/package.nix index 7feab2059fbd0..2bd1ddf273a47 100644 --- a/pkgs/by-name/ba/backblaze-b2/package.nix +++ b/pkgs/by-name/ba/backblaze-b2/package.nix @@ -11,14 +11,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "backblaze-b2"; - version = "4.5.1"; + version = "4.6.0"; pyproject = true; src = fetchFromGitHub { owner = "Backblaze"; repo = "B2_Command_Line_Tool"; tag = "v${finalAttrs.version}"; - hash = "sha256-0BF4+L47Cx7GNGeNm8nJkEfTLYb6jLxSH3WE+h9B6zA="; + hash = "sha256-/JCvCydW+oaPSs94Crfia9VFNSuHO02j6n+CFnxMKDE="; }; patches = [ ./0001-fix-error-with-pytest-4.0.patch ]; @@ -28,25 +28,21 @@ python3Packages.buildPythonApplication (finalAttrs: { argcomplete ]; - build-system = with python3Packages; [ - pdm-backend - ]; + build-system = with python3Packages; [ pdm-backend ]; dependencies = with python3Packages; [ argcomplete arrow b2sdk - phx-class-registry docutils + platformdirs rst2ansi + setuptools tabulate tqdm - platformdirs - packaging - setuptools ]; - pythonRelaxDeps = [ "phx-class-registry" ]; + pythonRelaxDeps = [ "docutils" ]; nativeCheckInputs = with python3Packages; [ backoff diff --git a/pkgs/by-name/ba/backrest/package.nix b/pkgs/by-name/ba/backrest/package.nix index 71de8e51e37bd..5e0c610ead513 100644 --- a/pkgs/by-name/ba/backrest/package.nix +++ b/pkgs/by-name/ba/backrest/package.nix @@ -39,8 +39,8 @@ let pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_9; - fetcherVersion = 1; - hash = "sha256-vJgsU0OXyAKjUJsPOyIY8o3zfNW1BUZ5IL814wmJr3o="; + fetcherVersion = 3; + hash = "sha256-9wzPNZxLE0l/AJ8SyE0SkhkBImiibhqJgsG3UrGj3aA="; }; buildPhase = '' diff --git a/pkgs/by-name/ba/bacula/package.nix b/pkgs/by-name/ba/bacula/package.nix index 6e1f0c1562daf..3fa8bc29d4976 100644 --- a/pkgs/by-name/ba/bacula/package.nix +++ b/pkgs/by-name/ba/bacula/package.nix @@ -82,7 +82,6 @@ stdenv.mkDerivation (finalAttrs: { bsd2 ]; maintainers = with lib.maintainers; [ - lovek323 eleanor ]; platforms = lib.platforms.all; diff --git a/pkgs/by-name/ba/balena-cli/package.nix b/pkgs/by-name/ba/balena-cli/package.nix index ef4be96ab1a00..a46598d869c05 100644 --- a/pkgs/by-name/ba/balena-cli/package.nix +++ b/pkgs/by-name/ba/balena-cli/package.nix @@ -21,16 +21,16 @@ let in buildNpmPackage' rec { pname = "balena-cli"; - version = "24.0.2"; + version = "24.0.3"; src = fetchFromGitHub { owner = "balena-io"; repo = "balena-cli"; rev = "v${version}"; - hash = "sha256-E+vwcj6+pYDWlBgXdPagD/VrASelIbRroWC4HAn4c/c="; + hash = "sha256-RoS0T8YuWHw+aXHkHURO+sQGJGaPP8olJ1Jau/lkh7g="; }; - npmDepsHash = "sha256-yVxsoemdxCS3oz3ULxPflLLNEdVD2EKRkQa7+7AFdiw="; + npmDepsHash = "sha256-6rVP4cQ29W0UC20ULmXix/Ku8i5lqVjizVq+DkddJCs="; makeCacheWritable = true; diff --git a/pkgs/by-name/ba/bark-server/package.nix b/pkgs/by-name/ba/bark-server/package.nix index cf66e86c15267..7fb34848a4f44 100644 --- a/pkgs/by-name/ba/bark-server/package.nix +++ b/pkgs/by-name/ba/bark-server/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "bark-server"; - version = "2.3.3"; + version = "2.3.4"; src = fetchFromGitHub { owner = "Finb"; repo = "bark-server"; tag = "v${finalAttrs.version}"; - hash = "sha256-yL/5qXvCzcVG0p2VIx6yTu9rudNxk9rSJTN9PRJ6zSs="; + hash = "sha256-ANOGAzm+25WUoRMGE5b70uKE4EhlGkuC4QWvpa2K7Uo="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -27,7 +27,7 @@ buildGoModule (finalAttrs: { ''; }; - vendorHash = "sha256-7C+xYleje6/WcRl/GylE+xvS7QFvJXaCLkCeRW8wwIY="; + vendorHash = "sha256-yStMk1U6FmF2Ldqnm5HKsu6Pn3xjm5pGLMWAGyYxb2c="; ldflags = [ "-s" diff --git a/pkgs/by-name/ba/barlow/package.nix b/pkgs/by-name/ba/barlow/package.nix index dc0b0439c40f6..65662de4b2791 100644 --- a/pkgs/by-name/ba/barlow/package.nix +++ b/pkgs/by-name/ba/barlow/package.nix @@ -2,30 +2,26 @@ lib, stdenvNoCC, fetchFromGitHub, + installFonts, }: -stdenvNoCC.mkDerivation rec { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "barlow"; version = "1.422"; + outputs = [ + "out" + "webfont" + ]; + src = fetchFromGitHub { owner = "jpt"; repo = "barlow"; - tag = version; + tag = finalAttrs.version; hash = "sha256-FG68o6qN/296RhSNDHFXYXbkhlXSZJgGhVjzlJqsksY="; }; - installPhase = '' - runHook preInstall - - install -Dm644 fonts/otf/*.otf -t $out/share/fonts/opentype - install -Dm644 fonts/ttf/*.ttf fonts/gx/*.ttf -t $out/share/fonts/truetype - install -Dm644 fonts/eot/*.eot -t $out/share/fonts/eot - install -Dm644 fonts/woff/*.woff -t $out/share/fonts/woff - install -Dm644 fonts/woff2/*.woff2 -t $out/share/fonts/woff2 - - runHook postInstall - ''; + nativeBuildInputs = [ installFonts ]; meta = { description = "Grotesk variable font superfamily"; @@ -34,4 +30,4 @@ stdenvNoCC.mkDerivation rec { maintainers = [ ]; platforms = lib.platforms.all; }; -} +}) diff --git a/pkgs/by-name/ba/bazarr/package.nix b/pkgs/by-name/ba/bazarr/package.nix index 2fe57bc41fcbc..f029fa8f1453a 100644 --- a/pkgs/by-name/ba/bazarr/package.nix +++ b/pkgs/by-name/ba/bazarr/package.nix @@ -17,11 +17,11 @@ let in stdenv.mkDerivation rec { pname = "bazarr"; - version = "1.5.5"; + version = "1.5.6"; src = fetchzip { url = "https://github.com/morpheus65535/bazarr/releases/download/v${version}/bazarr.zip"; - hash = "sha256-YiR/hi+/vptjHxwBYsq/W3QdjT12+pv74AuU1ggM084="; + hash = "sha256-S3idNH9Wm9f6aNj69dERmeks1rLvUeQJYFebXa5cWQo="; stripRoot = false; }; diff --git a/pkgs/by-name/bc/bcachefs-tools/package.nix b/pkgs/by-name/bc/bcachefs-tools/package.nix index 1ce6bd467a7a9..d39098774fb0e 100644 --- a/pkgs/by-name/bc/bcachefs-tools/package.nix +++ b/pkgs/by-name/bc/bcachefs-tools/package.nix @@ -6,6 +6,7 @@ libuuid, libsodium, keyutils, + kmod, liburcu, zlib, libaio, @@ -45,6 +46,9 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' substituteInPlace Makefile \ --replace-fail "target/release/bcachefs" "target/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/bcachefs" + + substituteInPlace src/commands/mount.rs \ + --replace-fail 'std::process::Command::new("modprobe")' 'std::process::Command::new("${lib.getExe' kmod "modprobe"}")' ''; nativeBuildInputs = [ diff --git a/pkgs/by-name/bc/bcg729/package.nix b/pkgs/by-name/bc/bcg729/package.nix index f53eded8c0c5b..88a72a5bcf4d0 100644 --- a/pkgs/by-name/bc/bcg729/package.nix +++ b/pkgs/by-name/bc/bcg729/package.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://linphone.org/technical-corner/bcg729"; changelog = "https://gitlab.linphone.org/BC/public/bcg729/raw/${finalAttrs.version}/NEWS"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ c0bw3b ]; + maintainers = [ ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/be/bearer/package.nix b/pkgs/by-name/be/bearer/package.nix index c3702dcd74575..460866fd78e47 100644 --- a/pkgs/by-name/be/bearer/package.nix +++ b/pkgs/by-name/be/bearer/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "bearer"; - version = "2.0.0"; + version = "2.0.1"; src = fetchFromGitHub { owner = "bearer"; repo = "bearer"; tag = "v${finalAttrs.version}"; - hash = "sha256-kWs8NiuOroKgQC0Duvef9O7TqQnqgEd28EQZVf4y4oQ="; + hash = "sha256-VlKer94UNES/xbp+BI5lapQP2Ze1wgHKDQMj1g0VcDA="; }; - vendorHash = "sha256-uMu5CL/VAlSd2yZzbkr0ceQdUVJvhs9R+IoyZbtZPk8="; + vendorHash = "sha256-p+Xe788WbvUl1u+3nEgGyHLZKEVoKCUR855TDpA6o58="; subPackages = [ "cmd/bearer" ]; diff --git a/pkgs/by-name/be/beekeeper-studio/package.nix b/pkgs/by-name/be/beekeeper-studio/package.nix index 02409231bb2a5..905a911031640 100644 --- a/pkgs/by-name/be/beekeeper-studio/package.nix +++ b/pkgs/by-name/be/beekeeper-studio/package.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "beekeeper-studio"; - version = "5.5.5"; + version = "5.5.7"; src = let @@ -54,10 +54,10 @@ stdenv.mkDerivation (finalAttrs: { fetchurl { url = "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${finalAttrs.version}/${asset}"; hash = selectSystem { - x86_64-linux = "sha256-XV7PXoXA99BwPolg20vUVAAWhs3eBTmgLOEWZrq6Mq4="; - aarch64-linux = "sha256-lfW7gjes/Kn8zCKh2LNItu4kwSr9dxYGviUjgXFiHzU="; - x86_64-darwin = "sha256-EGsfHUYAxjgMBye+D8XzPdUqtXIG7X+DpJoViVcYGHU="; - aarch64-darwin = "sha256-JfxhOS74xQP8MK2nBz3V0VPxHbXF5m9OtRI2m4ZWjk0="; + x86_64-linux = "sha256-YKGMDX6rMNS6sYTsV/9sLpLvVkFcjEFdxO9hhb7SprU="; + aarch64-linux = "sha256-PFVUaXt0spYX4F1WElNmNY6ltzTCDJO2WA9LfB0MNiQ="; + x86_64-darwin = "sha256-btcEFZPz//qZ+3msrzjIt1wGYtjSDz2rKSQK5rTp4B8="; + aarch64-darwin = "sha256-JTgGXrWADaiqvRbqruOpEHtTVS8pYQpsXYKAblHGlIk="; }; }; diff --git a/pkgs/by-name/be/beeper/package.nix b/pkgs/by-name/be/beeper/package.nix index f8ef243f14474..c4a22bb8ac180 100644 --- a/pkgs/by-name/be/beeper/package.nix +++ b/pkgs/by-name/be/beeper/package.nix @@ -9,10 +9,10 @@ }: let pname = "beeper"; - version = "4.2.564"; + version = "4.2.587"; src = fetchurl { url = "https://beeper-desktop.download.beeper.com/builds/Beeper-${version}-x86_64.AppImage"; - hash = "sha256-AvcERjQizf/8MsFjC9NtkMne/2ZFLPxiL0HMQsyo8TE="; + hash = "sha256-wcefnGwR8Yz13CE3wbMU6J4hglA2lfpaGE5pklqib6w="; }; appimageContents = appimageTools.extract { inherit pname version src; diff --git a/pkgs/by-name/be/bemoji/package.nix b/pkgs/by-name/be/bemoji/package.nix index 8621195173bbd..844f3e139022f 100644 --- a/pkgs/by-name/be/bemoji/package.nix +++ b/pkgs/by-name/be/bemoji/package.nix @@ -28,7 +28,6 @@ stdenvNoCC.mkDerivation { mainProgram = "bemoji"; platforms = lib.platforms.all; maintainers = with lib.maintainers; [ - laurent-f1z1 MrSom3body ]; }; diff --git a/pkgs/by-name/be/better-commits/package.nix b/pkgs/by-name/be/better-commits/package.nix index b9556df7552ac..00428bcb4cad9 100644 --- a/pkgs/by-name/be/better-commits/package.nix +++ b/pkgs/by-name/be/better-commits/package.nix @@ -8,13 +8,13 @@ buildNpmPackage rec { pname = "better-commits"; - version = "1.18.3"; + version = "1.19.1"; src = fetchFromGitHub { owner = "Everduin94"; repo = "better-commits"; tag = "v${version}"; - hash = "sha256-2g9sYTy34estLBLAaHNbjNzv6+rzyocgqMBlVlJUyT4="; + hash = "sha256-4akYngeDf7EqLxCzObjb5MUA8Cb3X3jlrvLEM71OcCA="; }; npmDepsHash = "sha256-vtUtdgOJEQk9PzxOz7AlwOxWS6PTjAtrjAugXRXo89c="; diff --git a/pkgs/by-name/bi/bindfs/package.nix b/pkgs/by-name/bi/bindfs/package.nix index aa1b715bbd702..5cc6c5028bc24 100644 --- a/pkgs/by-name/bi/bindfs/package.nix +++ b/pkgs/by-name/bi/bindfs/package.nix @@ -49,7 +49,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://bindfs.org"; license = lib.licenses.gpl2Only; maintainers = with lib.maintainers; [ - lovek323 lovesegfault ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/bi/biome/package.nix b/pkgs/by-name/bi/biome/package.nix index c82848591b6b5..aa5d46f05cfd0 100644 --- a/pkgs/by-name/bi/biome/package.nix +++ b/pkgs/by-name/bi/biome/package.nix @@ -11,16 +11,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "biome"; - version = "2.3.15"; + version = "2.4.4"; src = fetchFromGitHub { owner = "biomejs"; repo = "biome"; rev = "@biomejs/biome@${finalAttrs.version}"; - hash = "sha256-HRiQohI6bnV+U9c+XILOWmjGb1tQDJd3CBFNGzJuJ/4="; + hash = "sha256-d7FSqOOAcJ/llq+REPOCvJAbHFanLzgOuwcOURf+NPg="; }; - cargoHash = "sha256-l1eew5KmT0tpVSLmWquodoYlMavQYbyxmZxl6IRnC48="; + cargoHash = "sha256-g8ov3SrcpHuvdg7qbbDMbhYMSAGCxJgQyWY+W/Sh/pM="; nativeBuildInputs = [ pkg-config ]; @@ -43,6 +43,14 @@ rustPlatform.buildRustPackage (finalAttrs: { "--skip=commands::format::print_json_pretty" "--skip=commands::format::should_format_files_in_folders_ignored_by_linter" "--skip=cases::migrate_v2::should_successfully_migrate_sentry" + "--skip=cases::help::check_help" + "--skip=cases::help::ci_help" + "--skip=cases::help::format_help" + "--skip=cases::help::lint_help" + "--skip=cases::help::lsp_proxy_help" + "--skip=cases::help::migrate_help" + "--skip=cases::help::rage_help" + "--skip=cases::help::start_help" ]; env = { @@ -75,6 +83,7 @@ rustPlatform.buildRustPackage (finalAttrs: { isabelroses wrbbz eveeifyeve # Schema + SchahinRohani ]; mainProgram = "biome"; }; diff --git a/pkgs/by-name/bi/bison/package.nix b/pkgs/by-name/bi/bison/package.nix index db0d43a5a3ca5..703b902869612 100644 --- a/pkgs/by-name/bi/bison/package.nix +++ b/pkgs/by-name/bi/bison/package.nix @@ -1,6 +1,7 @@ { lib, stdenv, + darwin, fetchurl, m4, perl, @@ -72,3 +73,8 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.unix; }; }) +// lib.optionalAttrs (stdenv.cc.libcxx != null && lib.getVersion stdenv.cc.libcxx == "20.1.0+apple-sdk-26.0") { + # Disable because it causes the following test failure on libc++ 20 and newer. + # 764: Leaked lookahead after nondeterministic parse syntax error: glr2.cc FAILED (glr-regression.at:1862) + hardeningDisable = [ "libcxxhardeningfast" ]; +} diff --git a/pkgs/by-name/bi/bitlbee-mastodon/gcc-15.patch b/pkgs/by-name/bi/bitlbee-mastodon/gcc-15.patch new file mode 100644 index 0000000000000..d6d502ac70fbe --- /dev/null +++ b/pkgs/by-name/bi/bitlbee-mastodon/gcc-15.patch @@ -0,0 +1,17 @@ +https://github.com/kensanata/bitlbee-mastodon/pull/61 + +FIx gcc-15 build (`bool` collision). +--- a/src/mastodon-lib.c ++++ b/src/mastodon-lib.c +@@ -2093,9 +2093,9 @@ static char *indent(int n) + /** + * Return a static yes or no string. No deallocation needed. + */ +-static char *yes_or_no(int bool) ++static char *yes_or_no(int b) + { +- return bool ? "yes" : "no"; ++ return b ? "yes" : "no"; + } + + /** diff --git a/pkgs/by-name/bi/bitlbee-mastodon/package.nix b/pkgs/by-name/bi/bitlbee-mastodon/package.nix index 579ed5c20ef63..2c182e773b486 100644 --- a/pkgs/by-name/bi/bitlbee-mastodon/package.nix +++ b/pkgs/by-name/bi/bitlbee-mastodon/package.nix @@ -17,6 +17,11 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-8vmq/YstuBYUxe00P4NrxD/eMYI++R9uvn1sCcMTr7I="; }; + patches = [ + # gcc-15 build fix: https://github.com/kensanata/bitlbee-mastodon/pull/61 + ./gcc-15.patch + ]; + nativeBuildInputs = [ autoreconfHook pkg-config diff --git a/pkgs/by-name/bi/bitsnpicas/package.nix b/pkgs/by-name/bi/bitsnpicas/package.nix index a99f7f86a92db..caa1bcb233399 100644 --- a/pkgs/by-name/bi/bitsnpicas/package.nix +++ b/pkgs/by-name/bi/bitsnpicas/package.nix @@ -13,13 +13,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "bitsnpicas"; - version = "2.1.1"; + version = "2.2"; src = fetchFromGitHub { owner = "kreativekorp"; repo = "bitsnpicas"; tag = "v${finalAttrs.version}"; - hash = "sha256-eE1wxtZrv5G+8luMj6E1vpM+49mGnaMyEfzmbpVUdZE="; + hash = "sha256-TIpnefPLHgKXJfBhrYbYG+/kpHjWpk/VrJvu1LKHf4o="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/bl/bleachbit/package.nix b/pkgs/by-name/bl/bleachbit/package.nix index f5a15dcf2dad7..c22b04f02d163 100644 --- a/pkgs/by-name/bl/bleachbit/package.nix +++ b/pkgs/by-name/bl/bleachbit/package.nix @@ -12,13 +12,13 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "bleachbit"; - version = "5.0.0"; + version = "5.0.2"; pyproject = false; src = fetchurl { url = "mirror://sourceforge/bleachbit/bleachbit-${finalAttrs.version}.tar.bz2"; - sha256 = "sha256-CU5IW8NVWuPl4PHu6mYpD5mOpRiDq6oZk9pDmuz8PjA="; + sha256 = "sha256-q3iRdrqsR7U+O2LUaf5qDv4DVNsTOcnf9Po+pewzwMs="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/bl/blender/package.nix b/pkgs/by-name/bl/blender/package.nix index 892c28d1c5301..19199e6d468a5 100644 --- a/pkgs/by-name/bl/blender/package.nix +++ b/pkgs/by-name/bl/blender/package.nix @@ -99,7 +99,6 @@ let python3 = python3Packages.python; pyPkgsOpenusd = python3Packages.openusd.override (old: { opensubdiv = old.opensubdiv.override { inherit cudaSupport; }; - withOsl = false; }); libdecor' = libdecor.overrideAttrs (old: { @@ -168,7 +167,7 @@ stdenv'.mkDerivation (finalAttrs: { (lib.cmakeBool "WITH_CYCLES_DEVICE_ONEAPI" false) (lib.cmakeBool "WITH_CYCLES_DEVICE_OPTIX" cudaSupport) (lib.cmakeBool "WITH_CYCLES_EMBREE" embreeSupport) - (lib.cmakeBool "WITH_CYCLES_OSL" false) + (lib.cmakeBool "WITH_CYCLES_OSL" true) (lib.cmakeBool "WITH_HYDRA" openUsdSupport) (lib.cmakeBool "WITH_INSTALL_PORTABLE" false) (lib.cmakeBool "WITH_JACK" jackaudioSupport) @@ -268,6 +267,7 @@ stdenv'.mkDerivation (finalAttrs: { pugixml python3 python3Packages.materialx + python3Packages.openshadinglanguage rubberband zlib zstd @@ -325,6 +325,7 @@ stdenv'.mkDerivation (finalAttrs: { [ ps.materialx ps.numpy_1 + ps.openshadinglanguage ps.requests ps.zstandard ] diff --git a/pkgs/by-name/bl/blocky/package.nix b/pkgs/by-name/bl/blocky/package.nix index 306d1a4fc036a..72356272cf8e3 100644 --- a/pkgs/by-name/bl/blocky/package.nix +++ b/pkgs/by-name/bl/blocky/package.nix @@ -7,20 +7,20 @@ buildGoModule (finalAttrs: { pname = "blocky"; - version = "0.28.2"; + version = "0.29.0"; src = fetchFromGitHub { owner = "0xERR0R"; repo = "blocky"; rev = "v${finalAttrs.version}"; - hash = "sha256-GLVyPb2Qyn1jnRz+e74dFzL/AMloKqSe1BUUAGTquWA="; + hash = "sha256-8eFLmgTqK+WqJCPwLJXJqz2XCcP/1JDWfQQfzme9ELw="; }; # needs network connection and fails at # https://github.com/0xERR0R/blocky/blob/development/resolver/upstream_resolver_test.go doCheck = false; - vendorHash = "sha256-AzfI4SElD7GFIG8/REB4PU0/Haj5x5HUNj/3/n1OXZE="; + vendorHash = "sha256-H8AaK1jcdv10218ftMOrjfHd0XfaN9q3I0z4pGFirWA="; ldflags = [ "-s" diff --git a/pkgs/by-name/bn/bngblaster/package.nix b/pkgs/by-name/bn/bngblaster/package.nix index 171fe2c8179cc..51453baafe348 100644 --- a/pkgs/by-name/bn/bngblaster/package.nix +++ b/pkgs/by-name/bn/bngblaster/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "bngblaster"; - version = "0.9.30"; + version = "0.9.31"; src = fetchFromGitHub { owner = "rtbrick"; repo = "bngblaster"; rev = finalAttrs.version; - hash = "sha256-wl1uE9pb5gZAdZ1sNp3wTG3yT0Yu3OrTHXNdNPHW5ew="; + hash = "sha256-/HGgC+I67sksc60gJD1G1FtUnTZrXct/aclcfCuS5wk="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/bo/bottles-unwrapped/package.nix b/pkgs/by-name/bo/bottles-unwrapped/package.nix index 8f9bbb8416e6e..fc1c08efcde38 100644 --- a/pkgs/by-name/bo/bottles-unwrapped/package.nix +++ b/pkgs/by-name/bo/bottles-unwrapped/package.nix @@ -32,13 +32,13 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "bottles-unwrapped"; - version = "61.1"; + version = "62.0"; src = fetchFromGitHub { owner = "bottlesdevs"; repo = "bottles"; tag = finalAttrs.version; - hash = "sha256-LW+os+5DtdUBZWONu2YX4FYMtAYg4BDlKbnVF64T2xI="; + hash = "sha256-UqK5ULFgNPe9r2xFolU1R5LnlD3kLgBK0qGl48elEwM="; }; patches = [ diff --git a/pkgs/by-name/br/brave/make-brave.nix b/pkgs/by-name/br/brave/make-brave.nix index 3a8bc5f082ada..35c3ea7e109ee 100644 --- a/pkgs/by-name/br/brave/make-brave.nix +++ b/pkgs/by-name/br/brave/make-brave.nix @@ -64,7 +64,7 @@ # For GPU acceleration support on Wayland (without the lib it doesn't seem to work) libGL, - # For video acceleration via VA-API (--enable-features=VaapiVideoDecoder,VaapiVideoEncoder) + # For video acceleration via VA-API (--enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder) libvaSupport ? stdenv.hostPlatform.isLinux, libva, enableVideoAcceleration ? libvaSupport, @@ -146,8 +146,8 @@ let enableFeatures = optionals enableVideoAcceleration [ - "VaapiVideoDecoder" - "VaapiVideoEncoder" + "AcceleratedVideoDecodeLinuxGL" + "AcceleratedVideoEncoder" ] ++ optional enableVulkan "Vulkan"; diff --git a/pkgs/by-name/br/brave/package.nix b/pkgs/by-name/br/brave/package.nix index dd519168a40a2..6f40737b96337 100644 --- a/pkgs/by-name/br/brave/package.nix +++ b/pkgs/by-name/br/brave/package.nix @@ -3,24 +3,24 @@ let pname = "brave"; - version = "1.87.190"; + version = "1.87.191"; allArchives = { aarch64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb"; - hash = "sha256-ktHcMh5sPgpj6lNtW1PAcJJoFSMZKoOawdKkAH27/OI="; + hash = "sha256-mwczK2IYt+88VfSyNLwSWRxBuGS+AzMcAGE2C8Bafno="; }; x86_64-linux = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - hash = "sha256-gQ1LSSKSVV7YOFTFHENDIQF73CyMr/nYNcxYOb/qw+w="; + hash = "sha256-p2gdKzk0YTZYciSvlpO0Q31w8/eNOE1WmhvWm0pop1I="; }; aarch64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip"; - hash = "sha256-QCswcz18onnqn+xfM91hIk7ZCx9WZVR8gAu+3TnfPS4="; + hash = "sha256-ZXjEPtb6WV+izKbyaaR4MtcI0dS+tOlYQ/B8ngKt0GY="; }; x86_64-darwin = { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-x64.zip"; - hash = "sha256-zeLuQYY/ZNnxMLQKp73CB1j8FhTI0GqsarUPLz+5J0o="; + hash = "sha256-yDyzzTVlB2hHFzECe3C4Lv5RZTSqgyBOdN1HBdmI2aA="; }; }; diff --git a/pkgs/by-name/br/bruno-cli/package.nix b/pkgs/by-name/br/bruno-cli/package.nix index 455360f857854..bdbac91e5cd72 100644 --- a/pkgs/by-name/br/bruno-cli/package.nix +++ b/pkgs/by-name/br/bruno-cli/package.nix @@ -44,6 +44,17 @@ buildNpmPackage { env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1; + # remove giflib dependency + npmRebuildFlags = [ "--ignore-scripts" ]; + preBuild = '' + # upstream keeps removing and adding back canvas, only patch it when it is present + if [[ -e node_modules/canvas/binding.gyp ]]; then + substituteInPlace node_modules/canvas/binding.gyp \ + --replace-fail "'with_gif%': '=3.10.3 <4.0.0", - "flutter": ">=3.38.7" + "flutter": ">=3.38.10" } } diff --git a/pkgs/by-name/ca/calendar-cli/package.nix b/pkgs/by-name/ca/calendar-cli/package.nix index b59dda3354ee9..310aa702f60c9 100644 --- a/pkgs/by-name/ca/calendar-cli/package.nix +++ b/pkgs/by-name/ca/calendar-cli/package.nix @@ -40,6 +40,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: { tzlocal click six + urllib3 vobject ]; diff --git a/pkgs/by-name/ca/cameradar/package.nix b/pkgs/by-name/ca/cameradar/package.nix index 7d182b0245219..ac8437978a7a7 100644 --- a/pkgs/by-name/ca/cameradar/package.nix +++ b/pkgs/by-name/ca/cameradar/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "cameradar"; - version = "6.0.2"; + version = "6.1.0"; src = fetchFromGitHub { owner = "Ullaakut"; repo = "cameradar"; tag = "v${finalAttrs.version}"; - hash = "sha256-XmCpd7ptPU26EMn+WDH2Y9hKRsYV0GdbU4T26TUsp6U="; + hash = "sha256-C1GScKbOgHAU57B3q7A8Rv37Ny+7p+/L3ZwyiDN0kA0="; }; - vendorHash = "sha256-A8SJRky4dQHJoYpOaUBae89kHXwbdA+gnF/p7oRxcYo="; + vendorHash = "sha256-jIOQwVnlXbvzqGLPv/zTuSg5GaEWpmTyXEZO73jFGxM="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/ca/cardinal/package.nix b/pkgs/by-name/ca/cardinal/package.nix index 7ac3155a60474..1f2024e71be96 100644 --- a/pkgs/by-name/ca/cardinal/package.nix +++ b/pkgs/by-name/ca/cardinal/package.nix @@ -28,11 +28,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "cardinal"; - version = "26.01"; + version = "26.02"; src = fetchurl { url = "https://github.com/DISTRHO/Cardinal/releases/download/${finalAttrs.version}/cardinal+deps-${finalAttrs.version}.tar.xz"; - hash = "sha256-KWQc+pcSMebP85yOtQ812qHAwaB6ZOvPpwsxG+myzDo="; + hash = "sha256-4xjRCYN6Y7YtFc4gCd8F7CQxB02PLZQ6DN59rZVPYh0="; }; prePatch = '' diff --git a/pkgs/by-name/ca/cargo-binstall/package.nix b/pkgs/by-name/ca/cargo-binstall/package.nix index b7a2ed68812a0..f22bb3c24011e 100644 --- a/pkgs/by-name/ca/cargo-binstall/package.nix +++ b/pkgs/by-name/ca/cargo-binstall/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-binstall"; - version = "1.17.5"; + version = "1.17.6"; src = fetchFromGitHub { owner = "cargo-bins"; repo = "cargo-binstall"; tag = "v${finalAttrs.version}"; - hash = "sha256-uYHaVNRq8iTeDs/EW5f5wp/fNBicNYzab4PgEHuY814="; + hash = "sha256-+O6Zv/IHrPynsrxJZQCdkru2bY9O1vTGTg1F+rY5Kek="; }; - cargoHash = "sha256-IFYY3bSqm2OfbjmIHXbc0vIRhiw6Wwss8Sa3fx5s1Pk="; + cargoHash = "sha256-WJLiq7t5suYYUP0oHcuCcOFTKzfLgzM6DEMAliHIRgM="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/ca/cargo-chef/package.nix b/pkgs/by-name/ca/cargo-chef/package.nix index faf19cab50aad..e3b19a86c32d4 100644 --- a/pkgs/by-name/ca/cargo-chef/package.nix +++ b/pkgs/by-name/ca/cargo-chef/package.nix @@ -6,14 +6,14 @@ rustPlatform.buildRustPackage rec { pname = "cargo-chef"; - version = "0.1.73"; + version = "0.1.75"; src = fetchCrate { inherit pname version; - hash = "sha256-zWyPVITx4wN0fd0bNVU5yt/ojsSVhbgIcoV6Z427RCA="; + hash = "sha256-FETYJrx5+yNOzMVIgJQ0yNLi2PB7cA128n8hAXIhx3E="; }; - cargoHash = "sha256-diox0Vafn8881tW4Z5Udm6U2lNQKe9m/H5bRTRN3aGs="; + cargoHash = "sha256-4dMBGCEoLICnTjrTeTiXBE+AMH2siT9WLqdUfWN4UkU="; meta = { description = "Cargo-subcommand to speed up Rust Docker builds using Docker layer caching"; diff --git a/pkgs/by-name/ca/cargo-leptos/package.nix b/pkgs/by-name/ca/cargo-leptos/package.nix index ed4304cfa5e79..db7348ea2c315 100644 --- a/pkgs/by-name/ca/cargo-leptos/package.nix +++ b/pkgs/by-name/ca/cargo-leptos/package.nix @@ -8,16 +8,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-leptos"; - version = "0.3.4"; + version = "0.3.5"; src = fetchFromGitHub { owner = "leptos-rs"; repo = "cargo-leptos"; rev = "v${finalAttrs.version}"; - hash = "sha256-OhGppUYbRnsYjuiu3Sys+073o4ZiVqMqlt8apeY7Oho="; + hash = "sha256-wSnz3Hi+hUTwYFXoWMC6Uq9UH0+q0vHoryNwn4t8iMk="; }; - cargoHash = "sha256-ou8swAP0W8jOab9yTvA/7mFkvI6YskXUsqLNHzIJdiY="; + cargoHash = "sha256-2ax2yH/dMgXRVNffbl59OTeeMG+v83MnQnsyylrW22s="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/ca/cargo-public-api/package.nix b/pkgs/by-name/ca/cargo-public-api/package.nix index 2e72b7526c4eb..177486c90f51e 100644 --- a/pkgs/by-name/ca/cargo-public-api/package.nix +++ b/pkgs/by-name/ca/cargo-public-api/package.nix @@ -9,14 +9,14 @@ rustPlatform.buildRustPackage rec { pname = "cargo-public-api"; - version = "0.50.2"; + version = "0.51.0"; src = fetchCrate { inherit pname version; - hash = "sha256-Lg8X0t5u4Mq/eWc0yfuLyn4HlE+j6qSsLE+MFBjBpbk="; + hash = "sha256-fnkoIXv6QYJPYtsLZldOEjOxke6YVDEds3jF5SGZGKE="; }; - cargoHash = "sha256-OjuCABObMRkFrTbtV4wpSHzV9Yqmwr/VotmsUW9qUDk="; + cargoHash = "sha256-F4s3h+WF/S6sQ9ux28sqNe9+C1I5H9735b+cVuRFjk8="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/ca/cargo-release/package.nix b/pkgs/by-name/ca/cargo-release/package.nix index e2e677dbf97a1..6fa1d7602c829 100644 --- a/pkgs/by-name/ca/cargo-release/package.nix +++ b/pkgs/by-name/ca/cargo-release/package.nix @@ -13,16 +13,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-release"; - version = "0.25.22"; + version = "1.1.1"; src = fetchFromGitHub { owner = "crate-ci"; repo = "cargo-release"; tag = "v${finalAttrs.version}"; - hash = "sha256-NFI7UIHbo1xcH+pXim3ar8hvkn2EdIFpI2rpsivhVHg="; + hash = "sha256-+whbVQs2zaPrckR8CZYS35DHqCOv/B/4bv+fffu+onw="; }; - cargoHash = "sha256-RJfg11FyecDKFIsXx5c3R/qC5c81N3WYjd2pU4sw/ng="; + cargoHash = "sha256-jqs1b6edoR1OgileF0T9LNw1QtxALn3Nz+QUF3R8epg="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/ca/cargo-tarpaulin/package.nix b/pkgs/by-name/ca/cargo-tarpaulin/package.nix index 650d258eef6a8..858e6e30a1525 100644 --- a/pkgs/by-name/ca/cargo-tarpaulin/package.nix +++ b/pkgs/by-name/ca/cargo-tarpaulin/package.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-tarpaulin"; - version = "0.35.1"; + version = "0.35.2"; src = fetchFromGitHub { owner = "xd009642"; repo = "tarpaulin"; tag = finalAttrs.version; - hash = "sha256-l4Sn9EkIphBSEUfuRPhCRPtNENiGyP7lQcN4lx2Osks="; + hash = "sha256-DI1xkRLW/RAAw41SfsoJqk8D7cGTrTV1jj63Rwe+E4A="; }; - cargoHash = "sha256-lHYYDdlm+axyuGY2ulPmuLhVu6p5u6JAf2x6Xcpo8Dc="; + cargoHash = "sha256-+OBjBo5PtcqrePQc9qEAUYyErLsHMZaGYrU2kIyuKZE="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/ca/cargo-tauri/test-app.nix b/pkgs/by-name/ca/cargo-tauri/test-app.nix index 1801603030838..6a24f890a129a 100644 --- a/pkgs/by-name/ca/cargo-tauri/test-app.nix +++ b/pkgs/by-name/ca/cargo-tauri/test-app.nix @@ -33,8 +33,8 @@ stdenv.mkDerivation (finalAttrs: { ; pnpm = pnpm_9; - fetcherVersion = 1; - hash = "sha256-gHniZv847JFrmKnTUZcgyWhFl/ovJ5IfKbbM5I21tZc="; + fetcherVersion = 3; + hash = "sha256-/g+2jZQq3nTJnKpj0PlT6zB3UcUBE2ND8797XRwVZ0s="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ca/cargo-typify/package.nix b/pkgs/by-name/ca/cargo-typify/package.nix index 6535940145923..6fe2eab2aa1bf 100644 --- a/pkgs/by-name/ca/cargo-typify/package.nix +++ b/pkgs/by-name/ca/cargo-typify/package.nix @@ -53,6 +53,6 @@ rustPlatform.buildRustPackage (finalAttrs: { mainProgram = "cargo-typify"; homepage = "https://github.com/oxidecomputer/typify"; license = with lib.licenses; [ asl20 ]; - maintainers = with lib.maintainers; [ david-r-cox ]; + maintainers = [ ]; }; }) diff --git a/pkgs/by-name/ca/cargo-zigbuild/package.nix b/pkgs/by-name/ca/cargo-zigbuild/package.nix index 7d83121ca99d2..eb93138b5b41c 100644 --- a/pkgs/by-name/ca/cargo-zigbuild/package.nix +++ b/pkgs/by-name/ca/cargo-zigbuild/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-zigbuild"; - version = "0.22.0"; + version = "0.22.1"; src = fetchFromGitHub { owner = "messense"; repo = "cargo-zigbuild"; tag = "v${finalAttrs.version}"; - hash = "sha256-vW5SDi4oIJ2ScAdpZhLmP5RY9C1fN38XsBauaNrx9Nw="; + hash = "sha256-t96yIRfXLGN92xoygl32Q1rpsebySdOsrmkwQ5zH5xQ="; }; - cargoHash = "sha256-DLg91rS+fjo7QhmQr1NaZE+vpVVxs+5euPqM1QySDlE="; + cargoHash = "sha256-HOzkO81xVcKwe4ySe1IkOYcX5i1Un0mGNX7824/eh0k="; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/cc/ccls/package.nix b/pkgs/by-name/cc/ccls/package.nix index c4d554e3968c8..789bb27e164d4 100644 --- a/pkgs/by-name/cc/ccls/package.nix +++ b/pkgs/by-name/cc/ccls/package.nix @@ -44,7 +44,8 @@ stdenv.mkDerivation (finalAttrs: { substitute ${./wrapper} $out/bin/ccls \ --replace-fail '@clang@' '${llvmPackages.clang}' \ --replace-fail '@shell@' '${runtimeShell}' \ - --replace-fail '@wrapped@' "$wrapped" + --replace-fail '@wrapped@' "$wrapped" \ + --replace-fail '@out@' "$out" chmod --reference=$out/bin/$wrapped $out/bin/ccls ''; diff --git a/pkgs/by-name/cc/ccls/wrapper b/pkgs/by-name/cc/ccls/wrapper index 703bd88cfaed9..294b60893a3f8 100644 --- a/pkgs/by-name/cc/ccls/wrapper +++ b/pkgs/by-name/cc/ccls/wrapper @@ -1,11 +1,9 @@ #! @shell@ -e -dirpath=$(CDPATH= cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) - printf -v extraArgs ',\"%s\"' \ $(cat @clang@/nix-support/libc-cflags \ @clang@/nix-support/libcxx-cxxflags) \ ${NIX_CFLAGS_COMPILE} initString="--init={\"clang\":{\"extraArgs\":[${extraArgs:1}],\"resourceDir\":\"@clang@/resource-root\"}}" -exec -a "$0" "$dirpath/@wrapped@" "${initString}" "$@" +exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@" diff --git a/pkgs/by-name/cg/cgtcalc/generated/default.nix b/pkgs/by-name/cg/cgtcalc/generated/default.nix new file mode 100644 index 0000000000000..fcda4cfc1a877 --- /dev/null +++ b/pkgs/by-name/cg/cgtcalc/generated/default.nix @@ -0,0 +1,7 @@ +# This file was generated by swiftpm2nix. +{ + workspaceStateFile = ./workspace-state.json; + hashes = { + "swift-argument-parser" = "sha256-lWQ9mzfRxHcy00Cqyrsm9rOlQzkpU1lNBmiK7MMp6dU="; + }; +} diff --git a/pkgs/by-name/cg/cgtcalc/generated/workspace-state.json b/pkgs/by-name/cg/cgtcalc/generated/workspace-state.json new file mode 100644 index 0000000000000..3a9ec58c71666 --- /dev/null +++ b/pkgs/by-name/cg/cgtcalc/generated/workspace-state.json @@ -0,0 +1,25 @@ +{ + "object": { + "artifacts": [], + "dependencies": [ + { + "basedOn": null, + "packageRef": { + "identity": "swift-argument-parser", + "kind": "remoteSourceControl", + "location": "https://github.com/apple/swift-argument-parser", + "name": "swift-argument-parser" + }, + "state": { + "checkoutState": { + "revision": "f3c9084a71ef4376f2fabbdf1d3d90a49f1fabdb", + "version": "1.1.2" + }, + "name": "sourceControlCheckout" + }, + "subpath": "swift-argument-parser" + } + ] + }, + "version": 6 +} diff --git a/pkgs/by-name/cg/cgtcalc/package.nix b/pkgs/by-name/cg/cgtcalc/package.nix new file mode 100644 index 0000000000000..eae6cbd7e32e7 --- /dev/null +++ b/pkgs/by-name/cg/cgtcalc/package.nix @@ -0,0 +1,58 @@ +{ + fetchFromGitHub, + lib, + nix-update-script, + stdenv, + swift, + swiftPackages, + swiftpm, + swiftpm2nix, +}: +let + generated = swiftpm2nix.helpers ./generated; +in +stdenv.mkDerivation (finalAttrs: { + pname = "cgtcalc"; + version = "0-unstable-2025-10-11"; + + src = fetchFromGitHub { + owner = "mattjgalloway"; + repo = "cgtcalc"; + # Repo has no tags or releases. + # This is the last commit before requiring Swift 6 + rev = "1cf63741ddc0a5070680cb1339ad0abff0b7d69b"; + hash = "sha256-+qgvl5y9ipVQIZlLZbkzkqb9bO7X9VGDvVsloOLZU/k="; + }; + nativeBuildInputs = [ + swift + swiftpm + ]; + + configurePhase = generated.configure; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + cp $(swiftpmBinPath)/cgtcalc $out/bin/ + runHook postInstall + ''; + + buildInputs = [ + swiftPackages.XCTest + ]; + + # libIndexStore.so: cannot open shared object file: No such file or directory + # https://github.com/NixOS/nixpkgs/issues/379859 + doCheck = false; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "UK capital gains tax calculator written in Swift"; + homepage = "https://github.com/mattjgalloway/cgtcalc"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dwoffinden ]; + mainProgram = "cgtcalc"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/ch/chameleon-cli/package.nix b/pkgs/by-name/ch/chameleon-cli/package.nix index 2c4486f5ca394..5b0064a70f313 100644 --- a/pkgs/by-name/ch/chameleon-cli/package.nix +++ b/pkgs/by-name/ch/chameleon-cli/package.nix @@ -23,14 +23,14 @@ in stdenv.mkDerivation (finalAttrs: { pname = "chameleon-cli"; - version = "2.1.0-unstable-2026-02-07"; + version = "2.1.0-unstable-2026-02-19"; src = fetchFromGitHub { owner = "RfidResearchGroup"; repo = "ChameleonUltra"; - rev = "b108c84af9b473c840ddcae6f769502adb6c5aa5"; + rev = "7f71201e16a84a32d3056e8dfe0f0361d70e9458"; rootDir = "software"; - hash = "sha256-p607txKk80L7Xd8RXQbeVSbEMYH+BE2S/JwcTEm+tT0="; + hash = "sha256-Dr5rFFAkdQ1Wwyp221OxTtF5pLDQze6/RpVNYOAqQ6I="; }; postPatch = '' diff --git a/pkgs/by-name/ch/changedetection-io/package.nix b/pkgs/by-name/ch/changedetection-io/package.nix index 785cd7d5807d0..62db8cd397126 100644 --- a/pkgs/by-name/ch/changedetection-io/package.nix +++ b/pkgs/by-name/ch/changedetection-io/package.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication rec { pname = "changedetection-io"; - version = "0.53.5"; + version = "0.54.2"; format = "setuptools"; src = fetchFromGitHub { owner = "dgtlmoon"; repo = "changedetection.io"; tag = version; - hash = "sha256-B5T9M4JpNn4hUeV8rR1SIJobLKnuMkr4Se8d+Zu/xxY="; + hash = "sha256-EOvZdPMfGfllM57hbc/HMHw1rh9n9uwlA4VSkoY0MWY="; }; pythonRelaxDeps = true; diff --git a/pkgs/by-name/ch/chcase/package.nix b/pkgs/by-name/ch/chcase/package.nix index 59d782edfc269..4190628271027 100644 --- a/pkgs/by-name/ch/chcase/package.nix +++ b/pkgs/by-name/ch/chcase/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "chcase"; - version = "2.3.0"; + version = "2.4.0"; src = fetchFromGitHub { owner = "ryonakano"; repo = "chcase"; tag = finalAttrs.version; - hash = "sha256-3TuAnuWV3Sm1T76Go4NWe2eA55ImR1TFYoCUnqfp9DE="; + hash = "sha256-nvvfmw4tM3LuBAg503wu+EPg6iOLgd5XJ/ncdonbGnA="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ch/checkov/package.nix b/pkgs/by-name/ch/checkov/package.nix index 45ecb9a2fb3f9..57dfe82d415bf 100644 --- a/pkgs/by-name/ch/checkov/package.nix +++ b/pkgs/by-name/ch/checkov/package.nix @@ -33,21 +33,20 @@ let }; }; in -with py.pkgs; - -python3.pkgs.buildPythonApplication rec { +python3.pkgs.buildPythonApplication (finalAttrs: { pname = "checkov"; - version = "3.2.504"; + version = "3.2.506"; pyproject = true; src = fetchFromGitHub { owner = "bridgecrewio"; repo = "checkov"; - tag = version; - hash = "sha256-w6U8XW/hSPy/WJy4a6N41Hu+i9OVqiwI5buAE2uFjoI="; + tag = finalAttrs.version; + hash = "sha256-E2WkVgFx7qAzmpaUOamYcBc5uAlvlnkc/NyhT569vgc="; }; pythonRelaxDeps = [ + "aiodns" # breaking change is that it requires pycares >= 5.0.0, which is fine. "asteval" "bc-detect-secrets" "bc-python-hcl2" @@ -194,7 +193,7 @@ python3.pkgs.buildPythonApplication rec { meta = { description = "Static code analysis tool for infrastructure-as-code"; homepage = "https://github.com/bridgecrewio/checkov"; - changelog = "https://github.com/bridgecrewio/checkov/releases/tag/${version}"; + changelog = "https://github.com/bridgecrewio/checkov/releases/tag/${finalAttrs.version}"; longDescription = '' Prevent cloud misconfigurations during build-time for Terraform, Cloudformation, Kubernetes, Serverless framework and other infrastructure-as-code-languages. @@ -206,4 +205,4 @@ python3.pkgs.buildPythonApplication rec { fab ]; }; -} +}) diff --git a/pkgs/by-name/ch/chezmoi/package.nix b/pkgs/by-name/ch/chezmoi/package.nix index 2a3f4ac991a12..228aaabf41598 100644 --- a/pkgs/by-name/ch/chezmoi/package.nix +++ b/pkgs/by-name/ch/chezmoi/package.nix @@ -7,16 +7,16 @@ buildGo125Module (finalAttrs: { pname = "chezmoi"; - version = "2.69.3"; + version = "2.69.4"; src = fetchFromGitHub { owner = "twpayne"; repo = "chezmoi"; tag = "v${finalAttrs.version}"; - hash = "sha256-+VEFQgUYrsjzZR9BzTFwbBuMO2OJ8tOKqCt+5jFld5A="; + hash = "sha256-x809oaZk6vwkXMUAtIAnB2YTXH0zOjZVh75uClfBkH4="; }; - vendorHash = "sha256-WNsAOcm+pfNIU96x49xHz1sWs0CNuosJL70QZ43fVb4="; + vendorHash = "sha256-mPZaxrIhwRMcC0mmYBXU1lDcZy1p7iMSO7sfRUI/dU0="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/ch/chirp/package.nix b/pkgs/by-name/ch/chirp/package.nix index 3a00a79ba3f23..b9d8a50804edb 100644 --- a/pkgs/by-name/ch/chirp/package.nix +++ b/pkgs/by-name/ch/chirp/package.nix @@ -11,14 +11,14 @@ python3Packages.buildPythonApplication { pname = "chirp"; - version = "0.4.0-unstable-2026-02-15"; + version = "0.4.0-unstable-2026-02-19"; pyproject = true; src = fetchFromGitHub { owner = "kk7ds"; repo = "chirp"; - rev = "304236906f680ab9d2d951d33f9eabd343448a88"; - hash = "sha256-tVwby2gpnfzsKzCUdCZbSbxmbxRmjnm4ek/S5n3Gk5U="; + rev = "1467519e792e8ebcc9a33dc40df0b2e273ce9a53"; + hash = "sha256-hUcuWanQEsDhwpN0UrPpnfn8ff+o5KZr7hgl54CmWSI="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ci/cinny-desktop/package.nix b/pkgs/by-name/ci/cinny-desktop/package.nix index d5c1082760ab2..65334c049b054 100644 --- a/pkgs/by-name/ci/cinny-desktop/package.nix +++ b/pkgs/by-name/ci/cinny-desktop/package.nix @@ -18,18 +18,19 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cinny-desktop"; # We have to be using the same version as cinny-web or this isn't going to work. - version = "4.10.2"; + version = "4.10.5"; + # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "cinnyapp"; repo = "cinny-desktop"; tag = "v${finalAttrs.version}"; - hash = "sha256-M1p8rwdNEsKvZ1ssxsFyfiIBS8tKrXhuz85CKM4dSRw="; + hash = "sha256-DRSafPNED9fpm3w5K4a9r8581xMpttfo7BEDBIJ87Kc="; }; sourceRoot = "${finalAttrs.src.name}/src-tauri"; - cargoHash = "sha256-Ie6xq21JoJ37j/BjdVrsiJ3JULVEV5ZwN3hf9NhfXVA="; + cargoHash = "sha256-q6YMAjK+BBYBpk8menA1sM3x/FCnAh40t70fs9knnRo="; postPatch = let @@ -87,6 +88,7 @@ rustPlatform.buildRustPackage (finalAttrs: { homepage = "https://github.com/cinnyapp/cinny-desktop"; maintainers = with lib.maintainers; [ qyriad + rebmit ryand56 ]; license = lib.licenses.agpl3Only; diff --git a/pkgs/by-name/ci/cinny-unwrapped/package.nix b/pkgs/by-name/ci/cinny-unwrapped/package.nix index 4c507ed8b1524..f554286082943 100644 --- a/pkgs/by-name/ci/cinny-unwrapped/package.nix +++ b/pkgs/by-name/ci/cinny-unwrapped/package.nix @@ -14,18 +14,20 @@ buildNpmPackage rec { pname = "cinny-unwrapped"; - version = "4.10.3"; + # Remember to update cinny-desktop when bumping this version. + version = "4.10.5"; + # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "cinnyapp"; repo = "cinny"; tag = "v${version}"; - hash = "sha256-ZztZ/znJUwgYlvv5h9uxNZvQrkUMVbMG6R+HbRtSXHM="; + hash = "sha256-Napy3AcsLRDZPcBh3oq1U30FNtvoNtob0+AZtZSvcbM="; }; nodejs = nodejs_22; - npmDepsHash = "sha256-Spt2+sQcoPwy1tU8ztqJHZS9ITX9avueYDVKE7BFYy4="; + npmDepsHash = "sha256-2Lrd0jAwAH6HkwLHyivqwaEhcpFAIALuno+MchSIfxo="; nativeBuildInputs = [ python3 @@ -50,7 +52,10 @@ buildNpmPackage rec { meta = { description = "Yet another Matrix client for the web"; homepage = "https://cinny.in/"; - maintainers = with lib.maintainers; [ abbe ]; + maintainers = with lib.maintainers; [ + abbe + rebmit + ]; license = lib.licenses.agpl3Only; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/ci/circleci-cli/package.nix b/pkgs/by-name/ci/circleci-cli/package.nix index db48c8ec74e5b..5acaff20d3bf0 100644 --- a/pkgs/by-name/ci/circleci-cli/package.nix +++ b/pkgs/by-name/ci/circleci-cli/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "circleci-cli"; - version = "0.1.34422"; + version = "0.1.34592"; src = fetchFromGitHub { owner = "CircleCI-Public"; repo = "circleci-cli"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-uBMgg/ON1klZBbSqSxfM4Kg7EXPVu/uHqrYg/QlY6oM="; + sha256 = "sha256-yvR38Tyju26D0EdH7s1yioGr32l8d3VfHgC7lY2OmF4="; }; vendorHash = "sha256-GRWo9oq8M7zJoWCg6iNLbR+DPXvMXF3v+YRU2BBH5+8="; diff --git a/pkgs/by-name/ci/cirrus-cli/package.nix b/pkgs/by-name/ci/cirrus-cli/package.nix index 1e149963f71b1..bb22bd559d0d5 100644 --- a/pkgs/by-name/ci/cirrus-cli/package.nix +++ b/pkgs/by-name/ci/cirrus-cli/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "cirrus-cli"; - version = "0.164.2"; + version = "0.164.3"; src = fetchFromGitHub { owner = "cirruslabs"; repo = "cirrus-cli"; rev = "v${finalAttrs.version}"; - hash = "sha256-/xOiqa26Zfv1AugH3w9euQHmEwLm5S+sSu7DVZDHOzc="; + hash = "sha256-uNPrVdAo9FAAMUXU31qfLpIq7JvOT30a8L534NKedZk="; }; vendorHash = "sha256-G/UlmNDzYuF9gkAaGO6O/SziNZ9obs01sD2Cmu+r8Dc="; diff --git a/pkgs/by-name/cl/clash-verge-rev/package.nix b/pkgs/by-name/cl/clash-verge-rev/package.nix index 8033100ba7830..169e131a9b551 100644 --- a/pkgs/by-name/cl/clash-verge-rev/package.nix +++ b/pkgs/by-name/cl/clash-verge-rev/package.nix @@ -21,7 +21,7 @@ let hash = "sha256-GmoeOLKxdW1x6PHtslwNPVq8wDWA413NHA/VeDRb4mA="; }; - pnpm-hash = "sha256-qDwXPTfh1yOlugZe1UPUMKRyZOSagG4lX2eiFACgHRw="; + pnpm-hash = "sha256-o3VPb+D74bjwEex7UFmwfx8N1yGolPqNaIeJ7/cjB0c="; vendor-hash = "sha256-z5xVbqh+CiaTDtAx2VPQ4UjliYnV44tdp3pS8vzb1K4="; service = callPackage ./service.nix { diff --git a/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix b/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix index 0eee60fd4c3cc..f864f0f8c4686 100644 --- a/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix +++ b/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix @@ -43,7 +43,7 @@ rustPlatform.buildRustPackage { src ; pnpm = pnpm_9; - fetcherVersion = 1; + fetcherVersion = 3; hash = pnpm-hash; }; diff --git a/pkgs/by-name/cl/claude-code-bin/manifest.json b/pkgs/by-name/cl/claude-code-bin/manifest.json index ca5c00dc5d2c6..468877e95b2b0 100644 --- a/pkgs/by-name/cl/claude-code-bin/manifest.json +++ b/pkgs/by-name/cl/claude-code-bin/manifest.json @@ -1,46 +1,46 @@ { - "version": "2.1.49", - "buildDate": "2026-02-19T22:40:53Z", + "version": "2.1.59", + "buildDate": "2026-02-25T23:40:08Z", "platforms": { "darwin-arm64": { "binary": "claude", - "checksum": "2b984814350ed9a9b70506bcbc10b77da46f5b3e06a9c6932f0731d042049b98", - "size": 184907552 + "checksum": "ef70dae6ed08b5538f6d157a8c8591f72c262fb8e570c94711bad3ae4ee44afa", + "size": 187104656 }, "darwin-x64": { "binary": "claude", - "checksum": "3155c5a13e8fa9976038a4b955c3ec006aa17c2c12d8bb8a2dd3056661eeed25", - "size": 190028768 + "checksum": "b3b69beae466ac1b7659bf5710ec1d5e7b20c848418cc701019462e0923ff0e0", + "size": 192258768 }, "linux-arm64": { "binary": "claude", - "checksum": "e4e4ea8a9f8bce5f8fbaae7bac7c7a1826ea7ba68b38b9c2951e8466bca91331", - "size": 222051812 + "checksum": "78b0ea5a64793149f550ad3ddcfcbc7147128a600243839f703fb5b6a2194859", + "size": 224884646 }, "linux-x64": { "binary": "claude", - "checksum": "e7a7565665ecbccca2c6912b2ef29da2b137d260201b931c737b7dd3821c6e2f", - "size": 224937041 + "checksum": "7a4a653982b07e0a8157f8d3b2c2f8e442520ab07b2fa2e692ba054dbba210c9", + "size": 227880817 }, "linux-arm64-musl": { "binary": "claude", - "checksum": "7500953b5c47930dff10f19d086a99414dff585b8db0c2367f795241229595f0", - "size": 215218820 + "checksum": "4f16635c098b8302d5eaf83fe726c3582e00d91cf56a37d18d0c91efbcac6cd9", + "size": 217281606 }, "linux-x64-musl": { "binary": "claude", - "checksum": "e6ca49650f42cdf6ff98d9d5b6c98e3fee547c03879eba5e93377f28ca84da24", - "size": 217437097 + "checksum": "3adaebe59f10524bd9d19ebb3d090c3207b67143c0f40ec1cfc544409f8ded60", + "size": 219578057 }, "win32-x64": { "binary": "claude.exe", - "checksum": "d370342a0b9a677180dfbedfa826acb77a5b4d6c032447d0d46e69d343d38d73", - "size": 233937056 + "checksum": "6dfdfa45ce01928317abb6c3774e0c533952c471002e468dd254022acd39e268", + "size": 236043424 }, "win32-arm64": { "binary": "claude.exe", - "checksum": "9d6a70d70e5f026ae0423e42e1399e2b20ba26eea2931b259d378c8c217ae9b1", - "size": 225988768 + "checksum": "aadd9629f391a76e23bab6d06f8a6fe38f01137831012c96356cac178820e960", + "size": 228253856 } } } diff --git a/pkgs/by-name/cl/claude-code/package-lock.json b/pkgs/by-name/cl/claude-code/package-lock.json index a65cebfe2f9a9..94b45e50db215 100644 --- a/pkgs/by-name/cl/claude-code/package-lock.json +++ b/pkgs/by-name/cl/claude-code/package-lock.json @@ -1,12 +1,12 @@ { "name": "@anthropic-ai/claude-code", - "version": "2.1.50", + "version": "2.1.59", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@anthropic-ai/claude-code", - "version": "2.1.50", + "version": "2.1.59", "license": "SEE LICENSE IN README.md", "bin": { "claude": "cli.js" diff --git a/pkgs/by-name/cl/claude-code/package.nix b/pkgs/by-name/cl/claude-code/package.nix index e8543aecb2f93..bc7a7cf56c792 100644 --- a/pkgs/by-name/cl/claude-code/package.nix +++ b/pkgs/by-name/cl/claude-code/package.nix @@ -15,14 +15,14 @@ }: buildNpmPackage (finalAttrs: { pname = "claude-code"; - version = "2.1.50"; + version = "2.1.59"; src = fetchzip { url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz"; - hash = "sha256-pSPZzbLhFsE8zwlp+CHB5MqS1gT3CeIlkoAtswmxCZs="; + hash = "sha256-Dam9aJ0qBdqU40ACfzGQHuytW6ur0fMLm8D5fIKd1TE="; }; - npmDepsHash = "sha256-/oQxdQjMVS8r7e1DUPEjhWOLOD/hhVCx8gjEWb3ipZQ="; + npmDepsHash = "sha256-K+8xoBc3apvxQ9hCpYywqgBcfLxMWSxacgJcMH8mK7E="; strictDeps = true; diff --git a/pkgs/by-name/cl/claude-mergetool/package.nix b/pkgs/by-name/cl/claude-mergetool/package.nix new file mode 100644 index 0000000000000..95962e9feeada --- /dev/null +++ b/pkgs/by-name/cl/claude-mergetool/package.nix @@ -0,0 +1,38 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + nix-update-script, + versionCheckHook, +}: +let + version = "1.1.0"; +in +rustPlatform.buildRustPackage { + pname = "claude-mergetool"; + inherit version; + + src = fetchFromGitHub { + owner = "9999years"; + repo = "claude-mergetool"; + tag = "v${version}"; + hash = "sha256-MqAtr7SxbarllzDgOWvzUooiRNf08aAVaLdZHJzMnRI="; + }; + + cargoHash = "sha256-RawDKKx+O79+TnLZRdatEcNDd4vLzTqHF2w1/D5zPjA="; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgram = "${placeholder "out"}/bin/claude-mergetool"; + + meta = { + homepage = "https://github.com/9999years/claude-mergetool"; + changelog = "https://github.com/9999years/claude-mergetool/releases/tag/v${version}"; + description = "Resolve Git/jj merge conflicts automatically with claude-code"; + license = [ lib.licenses.mit ]; + maintainers = [ lib.maintainers._9999years ]; + mainProgram = "claude-mergetool"; + }; + + passthru.updateScript = nix-update-script { }; +} diff --git a/pkgs/by-name/cl/clever-tools/package.nix b/pkgs/by-name/cl/clever-tools/package.nix index 455cb1c2858dc..5b51c93116e67 100644 --- a/pkgs/by-name/cl/clever-tools/package.nix +++ b/pkgs/by-name/cl/clever-tools/package.nix @@ -11,7 +11,7 @@ buildNpmPackage rec { pname = "clever-tools"; - version = "4.6.0"; + version = "4.6.1"; nodejs = nodejs_22; @@ -19,10 +19,10 @@ buildNpmPackage rec { owner = "CleverCloud"; repo = "clever-tools"; rev = version; - hash = "sha256-0c2SBArtMUffQ7hd2fH9l5DMGm+UIWNeY/aSU0cUHzg="; + hash = "sha256-n/iDQdvAaINeIfCbvnL6OGuJ35xS6HsTtFxZ4nKiPWA="; }; - npmDepsHash = "sha256-Quzpdmu9qvJ4P77nsXzqLg3k7tQvuYtvEioDuUSU0+M="; + npmDepsHash = "sha256-muuDE5bd35IlAhq2mOCsp+5U2zf4RuaMxhvkmw8WCHc="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/cl/cloud-hypervisor/package.nix b/pkgs/by-name/cl/cloud-hypervisor/package.nix index d2ad046a4cff3..71ca59fbab65e 100644 --- a/pkgs/by-name/cl/cloud-hypervisor/package.nix +++ b/pkgs/by-name/cl/cloud-hypervisor/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cloud-hypervisor"; - version = "51.0"; + version = "51.1"; src = fetchFromGitHub { owner = "cloud-hypervisor"; repo = "cloud-hypervisor"; rev = "v${finalAttrs.version}"; - hash = "sha256-RdwQg6/EI+oGkyNXnu5t1q87oTXev25XpIaE+PWDTx4="; + hash = "sha256-H+sfuatB/7cAMwJcT8SKbTyISUdNyp8eSvvyvkKrjho="; }; - cargoHash = "sha256-WoFdX1GrgbADm2zm269OGczaGktVXau1UP7vzxfNZPQ="; + cargoHash = "sha256-E32SLJNQ9ssn7GwFpvpKot5nay+cr3rSZcKovjA5oJE="; separateDebugInfo = true; diff --git a/pkgs/by-name/cl/cloudflare-warp/package.nix b/pkgs/by-name/cl/cloudflare-warp/package.nix index a83bfc047df7d..f5080ca2b48f8 100644 --- a/pkgs/by-name/cl/cloudflare-warp/package.nix +++ b/pkgs/by-name/cl/cloudflare-warp/package.nix @@ -27,7 +27,7 @@ let version = "2025.10.186.0"; - sources = { + sources = rec { x86_64-linux = fetchurl { url = "https://pkg.cloudflareclient.com/pool/noble/main/c/cloudflare-warp/cloudflare-warp_${version}_amd64.deb"; hash = "sha256-l+csDSBXRAFb2075ciCAlE0bS5F48mAIK/Bv1r3Q8GE="; @@ -36,14 +36,11 @@ let url = "https://pkg.cloudflareclient.com/pool/noble/main/c/cloudflare-warp/cloudflare-warp_${version}_arm64.deb"; hash = "sha256-S6CfWYzcv+1Djj+TX+lrP5eG7oIpM0JrqtSw/UDD9ko="; }; - x86_64-darwin = fetchurl { - url = "https://downloads.cloudflareclient.com/v1/download/macos/version/${version}"; - hash = "sha256-nnoOXPSpOJRyNdCC0/YAoBK8SwB+++qVwgZplrjNi2U="; - }; aarch64-darwin = fetchurl { url = "https://downloads.cloudflareclient.com/v1/download/macos/version/${version}"; hash = "sha256-nnoOXPSpOJRyNdCC0/YAoBK8SwB+++qVwgZplrjNi2U="; }; + x86_64-darwin = aarch64-darwin; }; in stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/cl/cloudfox/package.nix b/pkgs/by-name/cl/cloudfox/package.nix index f174767223e67..de1e0420b6279 100644 --- a/pkgs/by-name/cl/cloudfox/package.nix +++ b/pkgs/by-name/cl/cloudfox/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "cloudfox"; - version = "1.17.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "BishopFox"; repo = "cloudfox"; tag = "v${finalAttrs.version}"; - hash = "sha256-AdfG0Vb4wUV8iShdaXSTwrKb8pa39ovwmvGTyfz1YDw="; + hash = "sha256-IyuR8NA4y1psBRseLPFiXtXZ7zkKhOxxI+QjeitDaIE="; }; - vendorHash = "sha256-mAYuquSkfYSUcTBPFJp+zwv5xCT5eqBmR7DDZjXx9YY="; + vendorHash = "sha256-oohACm7oQhRYF6XzYLku20yIKH9DamAL+S8gXrvF/RY="; ldflags = [ "-w" diff --git a/pkgs/by-name/cl/cloudlog/package.nix b/pkgs/by-name/cl/cloudlog/package.nix index 6c3ada1a5c39e..864530378e9df 100644 --- a/pkgs/by-name/cl/cloudlog/package.nix +++ b/pkgs/by-name/cl/cloudlog/package.nix @@ -9,13 +9,13 @@ stdenvNoCC.mkDerivation rec { pname = "cloudlog"; - version = "2.8.7"; + version = "2.8.8"; src = fetchFromGitHub { owner = "magicbug"; repo = "Cloudlog"; rev = version; - hash = "sha256-/zMZbM9TvFMZTUkAN4wqutZ+YQA9sVtdXZwEGISm6NA="; + hash = "sha256-Mr5418UTU44glFSvo1abKcjHQJRMQCgHcWsh/Kabr9Y="; }; postPatch = '' diff --git a/pkgs/by-name/cm/cmctl/package.nix b/pkgs/by-name/cm/cmctl/package.nix index 4b8a982acbd30..f94af87f0d990 100644 --- a/pkgs/by-name/cm/cmctl/package.nix +++ b/pkgs/by-name/cm/cmctl/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "cmctl"; - version = "2.4.0"; + version = "2.4.1"; src = fetchFromGitHub { owner = "cert-manager"; repo = "cmctl"; tag = "v${finalAttrs.version}"; - hash = "sha256-wOtpaohPjBWQkaZbA1Fbh97kVxMTEGuqCtIhviJGOrU="; + hash = "sha256-UsVXCOOX+/2KdZuF9p+3TByASfOyL+tUP4oYi0Ec4eU="; }; - vendorHash = "sha256-ocQDysrJUbCDnWZ2Ul3kDqPTpvmpgA3Wz+L5/fIkrh4="; + vendorHash = "sha256-TE3GIFGmqigcyLLfLKTu//l+G4mVthnCaK9fMyHKpzM="; ldflags = [ "-s" diff --git a/pkgs/by-name/cn/cnquery/package.nix b/pkgs/by-name/cn/cnquery/package.nix index 8c4b5959dfca2..0c42681763a21 100644 --- a/pkgs/by-name/cn/cnquery/package.nix +++ b/pkgs/by-name/cn/cnquery/package.nix @@ -6,18 +6,18 @@ buildGoModule rec { pname = "cnquery"; - version = "12.22.0"; + version = "12.23.1"; src = fetchFromGitHub { owner = "mondoohq"; repo = "cnquery"; tag = "v${version}"; - hash = "sha256-RauEf78cTRPHSmisDus/5XoROZp5VpZL0mKPXbRoPCw="; + hash = "sha256-CTg2jfpCLTYuRx5R+9Si0Ig1NT1ZGXMFbcPPa8CbMKY="; }; subPackages = [ "apps/cnquery" ]; - vendorHash = "sha256-Hh6dsxelPuuU7ISa2E396iUUrYdttG2HdxnBxYlXcis="; + vendorHash = "sha256-yL34BgWzDrd4SxJvij56cmnfY51uJ/ax+ENtdUxS0aw="; ldflags = [ "-w" diff --git a/pkgs/by-name/co/coc-pyright/package.nix b/pkgs/by-name/co/coc-pyright/package.nix index 74d9d465127b4..4399b43fac006 100644 --- a/pkgs/by-name/co/coc-pyright/package.nix +++ b/pkgs/by-name/co/coc-pyright/package.nix @@ -7,17 +7,17 @@ buildNpmPackage { pname = "coc-pyright"; - version = "0-unstable-2026-02-01"; + version = "0-unstable-2026-02-10"; src = fetchFromGitHub { owner = "fannheyward"; repo = "coc-pyright"; # No tagged releases, this commit corresponds to the latest release of the package. - rev = "8160b7e315c3b2480749b141f9a24d19323d4282"; - hash = "sha256-0pdbwZa7ikFVKP3OTDufOobIoWUlfWheIC5mSRAF198="; + rev = "4bcc312b40fecbf7cad50d7c75579a1eedae337b"; + hash = "sha256-rh3d3IlX9EKxJamJ1ldbsjOQ4n6+WLt+Lgh24sQfRBQ="; }; - npmDepsHash = "sha256-01AvG8BPwFIqqYwqHbbEonA0jMIKhF5wnl/azjfmaPE="; + npmDepsHash = "sha256-e7S8TS+ZvTGmTYChgYhicoHoESIT4fjkby1FO9D/ZNY="; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; diff --git a/pkgs/by-name/co/coc-rust-analyzer/package.nix b/pkgs/by-name/co/coc-rust-analyzer/package.nix index 8f72fb6037e21..6b24ca9e3147a 100644 --- a/pkgs/by-name/co/coc-rust-analyzer/package.nix +++ b/pkgs/by-name/co/coc-rust-analyzer/package.nix @@ -7,13 +7,13 @@ buildNpmPackage { pname = "coc-rust-analyzer"; - version = "0-unstable-2026-02-01"; + version = "0-unstable-2026-02-10"; src = fetchFromGitHub { owner = "fannheyward"; repo = "coc-rust-analyzer"; - rev = "78cef805723355af4a172714915c74529a562cf3"; - hash = "sha256-KivOKm0wJKM9/i8/KsCfrG1O2LBAKk2zMi1/7CevylI="; + rev = "5a37db4bf660773b423dc53d4c3abac71783adb7"; + hash = "sha256-yuTLSIt4q6tltxTIT4Uw8jYZ04lN/JZzF9bAw8+l1rs="; }; npmDepsHash = "sha256-dwQs/xayR7lp6ShASUPR1uvrJQ6fQmDjKNVob66j76M="; diff --git a/pkgs/by-name/co/cockatrice/package.nix b/pkgs/by-name/co/cockatrice/package.nix index f7dffc381bd38..30eef9c9b64b0 100644 --- a/pkgs/by-name/co/cockatrice/package.nix +++ b/pkgs/by-name/co/cockatrice/package.nix @@ -11,13 +11,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "cockatrice"; - version = "2025-04-03-Release-2.10.2"; + version = "2026-02-22-Release-2.10.3"; src = fetchFromGitHub { owner = "Cockatrice"; repo = "Cockatrice"; rev = finalAttrs.version; - sha256 = "sha256-zXAK830SdGT3xN3ST8h9LLy/oWr4MH6TZf57gLfI0e8="; + sha256 = "sha256-GQVdn6vUW0B9vSk7ZvSDqMNhLNe86C+/gE1n6wfQIMw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/co/cockpit-machines/package.nix b/pkgs/by-name/co/cockpit-machines/package.nix index 4b4d0d544ae11..3bc3dd9a3eee0 100644 --- a/pkgs/by-name/co/cockpit-machines/package.nix +++ b/pkgs/by-name/co/cockpit-machines/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cockpit-machines"; - version = "347"; + version = "349"; src = fetchFromGitHub { owner = "cockpit-project"; repo = "cockpit-machines"; tag = finalAttrs.version; - hash = "sha256-VXxR6/6nPaWA2FwT/bViu1FQAgqs0Jya1IyN5Oodfow="; + hash = "sha256-6qoyjPzLyP9pb9VtzDyBgfpJ+AT1m53C328n+rlHGYw="; fetchSubmodules = true; postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json"; diff --git a/pkgs/by-name/co/cockpit/package.nix b/pkgs/by-name/co/cockpit/package.nix index 343b0ea3d4ffc..12a47d2bebd20 100644 --- a/pkgs/by-name/co/cockpit/package.nix +++ b/pkgs/by-name/co/cockpit/package.nix @@ -53,13 +53,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "cockpit"; - version = "355"; + version = "356"; src = fetchFromGitHub { owner = "cockpit-project"; repo = "cockpit"; tag = finalAttrs.version; - hash = "sha256-LD3bjb87AvElwMFB5YKwz04PEmWw+DWDP7RGBCzwSb4="; + hash = "sha256-Mmxp/rh+4YQovAUdnNkKnjZXz1kcdnhG2TuBhNSXY+Y="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/co/code-cursor/sources.json b/pkgs/by-name/co/code-cursor/sources.json index 1dd1459bd012d..2e87b9a1cc023 100644 --- a/pkgs/by-name/co/code-cursor/sources.json +++ b/pkgs/by-name/co/code-cursor/sources.json @@ -1,22 +1,22 @@ { - "version": "2.5.17", + "version": "2.5.26", "vscodeVersion": "1.105.1", "sources": { "x86_64-linux": { - "url": "https://downloads.cursor.com/production/7b98dcb824ea96c9c62362a5e80dbf0d1aae4775/linux/x64/Cursor-2.5.17-x86_64.AppImage", - "hash": "sha256-tUVqfxkUUMXGFzI2lGgoIDuQxI9LSrspDuz4xPGpQig=" + "url": "https://downloads.cursor.com/production/7d96c2a03bb088ad367615e9da1a3fe20fbbc6ae/linux/x64/Cursor-2.5.26-x86_64.AppImage", + "hash": "sha256-5dzRSqehpJDBFSFTn0W07H6fKho1oRW/oMEVPjfZaxo=" }, "aarch64-linux": { - "url": "https://downloads.cursor.com/production/7b98dcb824ea96c9c62362a5e80dbf0d1aae4775/linux/arm64/Cursor-2.5.17-aarch64.AppImage", - "hash": "sha256-yXr/sNyhsGbO1Coj7jI/LyRtyNfRuzOlaLuMAXNAI7g=" + "url": "https://downloads.cursor.com/production/7d96c2a03bb088ad367615e9da1a3fe20fbbc6ae/linux/arm64/Cursor-2.5.26-aarch64.AppImage", + "hash": "sha256-0aGHUabQuYZZIuRz+O0etOi29cfQ7ihSZCSn4IHoiKo=" }, "x86_64-darwin": { - "url": "https://downloads.cursor.com/production/7b98dcb824ea96c9c62362a5e80dbf0d1aae4775/darwin/x64/Cursor-darwin-x64.dmg", - "hash": "sha256-w738cXHYcckDtnOYYcuL3xxUH/rAcHS/nQG78npJ6IQ=" + "url": "https://downloads.cursor.com/production/7d96c2a03bb088ad367615e9da1a3fe20fbbc6ae/darwin/x64/Cursor-darwin-x64.dmg", + "hash": "sha256-wANGG9YJVUkstKw+eW5H725WK4n0jrLqaHM7H4QxK58=" }, "aarch64-darwin": { - "url": "https://downloads.cursor.com/production/7b98dcb824ea96c9c62362a5e80dbf0d1aae4775/darwin/arm64/Cursor-darwin-arm64.dmg", - "hash": "sha256-zHQJb/FNV2jLMrtDzMSMVs09+FvZj1ndSWB7HnB9lsU=" + "url": "https://downloads.cursor.com/production/7d96c2a03bb088ad367615e9da1a3fe20fbbc6ae/darwin/arm64/Cursor-darwin-arm64.dmg", + "hash": "sha256-/0P9EXloI2RxOMS1/ehN7HlYpwvz+ZFn5HIquLmSq5s=" } } } diff --git a/pkgs/by-name/co/codeberg-pages/package.nix b/pkgs/by-name/co/codeberg-pages/package.nix index c8316c4998aec..542b77a6909f9 100644 --- a/pkgs/by-name/co/codeberg-pages/package.nix +++ b/pkgs/by-name/co/codeberg-pages/package.nix @@ -41,7 +41,6 @@ buildGoModule (finalAttrs: { meta = { mainProgram = "pages"; maintainers = with lib.maintainers; [ - laurent-f1z1 christoph-heiss ]; license = lib.licenses.eupl12; diff --git a/pkgs/by-name/co/cog/package.nix b/pkgs/by-name/co/cog/package.nix index d50c76760ef48..77cfd7fc3c0ff 100644 --- a/pkgs/by-name/co/cog/package.nix +++ b/pkgs/by-name/co/cog/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "cog"; - version = "0.0.56"; + version = "0.0.60"; src = fetchFromGitHub { owner = "grafana"; repo = "cog"; tag = "v${finalAttrs.version}"; - hash = "sha256-puD0Xlap4yBoAXyhmK+AUSkqiungQsYqkW28BapscEU="; + hash = "sha256-hqDqsngkFG8jhwLHxN1JhBOx7UMfArFyRD9CEEK/SMw="; }; - vendorHash = "sha256-WIYV1kqV5Cr49FDIa1GuR9Cnav/x09v3SwHhUAwqdhM="; + vendorHash = "sha256-IQSb7SI+x+xRbfjBhbiROBTzlY2SI91cZIz0VfQn+n0="; subPackages = [ "cmd/cli" ]; diff --git a/pkgs/by-name/co/cogl/package.nix b/pkgs/by-name/co/cogl/package.nix index 0625735ec6213..07574e7282ac3 100644 --- a/pkgs/by-name/co/cogl/package.nix +++ b/pkgs/by-name/co/cogl/package.nix @@ -137,7 +137,7 @@ stdenv.mkDerivation rec { meta = { description = "Small open source library for using 3D graphics hardware for rendering"; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; longDescription = '' Cogl is a small open source library for using 3D graphics hardware for diff --git a/pkgs/by-name/co/colima/package.nix b/pkgs/by-name/co/colima/package.nix index e6fb4e031f7f6..1470cbb89cc25 100644 --- a/pkgs/by-name/co/colima/package.nix +++ b/pkgs/by-name/co/colima/package.nix @@ -15,13 +15,13 @@ buildGoModule (finalAttrs: { pname = "colima"; - version = "0.9.1"; + version = "0.10.1"; src = fetchFromGitHub { owner = "abiosoft"; repo = "colima"; tag = "v${finalAttrs.version}"; - hash = "sha256-oRhpABYyP4T6kfmvJ4llPXcXWrSbxU7uUfvXQhm2huc="; + hash = "sha256-WYwHqMPHRF17j7EfZzxHAMV0JPGZKLfJCn0axpuh5sc="; # We need the git revision leaveDotGit = true; postFetch = '' @@ -36,7 +36,7 @@ buildGoModule (finalAttrs: { ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; - vendorHash = "sha256-ZwgzKCOEhgKK2LNRLjnWP6qHI4f6OGORvt3CREJf55I="; + vendorHash = "sha256-UAnQZyZ4EcIZz55jXUjkJDjq3s0uLPBnwUPyNcBV6aE="; # disable flaky Test_extractZones # https://hydra.nixos.org/build/212378003/log diff --git a/pkgs/applications/networking/compactor/default.nix b/pkgs/by-name/co/compactor/package.nix similarity index 90% rename from pkgs/applications/networking/compactor/default.nix rename to pkgs/by-name/co/compactor/package.nix index b2ab9dd0c9d82..f6335fc6292fd 100644 --- a/pkgs/applications/networking/compactor/default.nix +++ b/pkgs/by-name/co/compactor/package.nix @@ -12,7 +12,7 @@ libpcap, libtins, openssl, - protobuf, + protobuf_21, xz, zlib, catch2, @@ -25,15 +25,17 @@ tcpdump, wireshark-cli, }: - -stdenv.mkDerivation rec { +let + protobuf = protobuf_21; +in +stdenv.mkDerivation (finalAttrs: { pname = "compactor"; version = "1.2.3"; src = fetchFromGitHub { owner = "dns-stats"; repo = "compactor"; - rev = version; + tag = finalAttrs.version; fetchSubmodules = true; hash = "sha256-5Z14suhO5ghhmZsSj4DsSoKm+ct2gQFO6qxhjmx4Xm4="; }; @@ -100,9 +102,9 @@ stdenv.mkDerivation rec { meta = { description = "Tools to capture DNS traffic and record it in C-DNS files"; homepage = "https://dns-stats.org/"; - changelog = "https://github.com/dns-stats/compactor/raw/${version}/ChangeLog.txt"; + changelog = "https://github.com/dns-stats/compactor/raw/${finalAttrs.version}/ChangeLog.txt"; license = lib.licenses.mpl20; maintainers = with lib.maintainers; [ fdns ]; platforms = lib.platforms.unix; }; -} +}) diff --git a/pkgs/applications/networking/compactor/patches/add-a-space-after-type-in-check-response-opt-sh.patch b/pkgs/by-name/co/compactor/patches/add-a-space-after-type-in-check-response-opt-sh.patch similarity index 100% rename from pkgs/applications/networking/compactor/patches/add-a-space-after-type-in-check-response-opt-sh.patch rename to pkgs/by-name/co/compactor/patches/add-a-space-after-type-in-check-response-opt-sh.patch diff --git a/pkgs/applications/networking/compactor/patches/update-golden-cbor2diag-output.patch b/pkgs/by-name/co/compactor/patches/update-golden-cbor2diag-output.patch similarity index 100% rename from pkgs/applications/networking/compactor/patches/update-golden-cbor2diag-output.patch rename to pkgs/by-name/co/compactor/patches/update-golden-cbor2diag-output.patch diff --git a/pkgs/by-name/co/copilot-language-server/package.nix b/pkgs/by-name/co/copilot-language-server/package.nix index d052a906ca19e..1fa9b543c59df 100644 --- a/pkgs/by-name/co/copilot-language-server/package.nix +++ b/pkgs/by-name/co/copilot-language-server/package.nix @@ -10,11 +10,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "copilot-language-server"; - version = "1.430.0"; + version = "1.434.0"; src = fetchzip { url = "https://github.com/github/copilot-language-server-release/releases/download/${finalAttrs.version}/copilot-language-server-js-${finalAttrs.version}.zip"; - hash = "sha256-b2NMh+9JcPrMu0JHL2vdWOJhUA+PoCmj7M21rS9MS3o="; + hash = "sha256-GxbSgKy2UgDNjVEwmNrZe4BMYM5VIgP3goubdpLVnIA="; stripRoot = false; }; diff --git a/pkgs/by-name/co/copyparty/package.nix b/pkgs/by-name/co/copyparty/package.nix index a3ff7cb2f6608..f434f8f478495 100644 --- a/pkgs/by-name/co/copyparty/package.nix +++ b/pkgs/by-name/co/copyparty/package.nix @@ -71,11 +71,11 @@ in python3Packages.buildPythonApplication rec { pname = "copyparty${nameSuffix}"; - version = "1.20.8"; + version = "1.20.10"; src = fetchurl { url = "https://github.com/9001/copyparty/releases/download/v${version}/copyparty-${version}.tar.gz"; - hash = "sha256-ax2NMEO4sYmcsfsUDcrIe3vNpSumVm8NjsjAwUOWbvA="; + hash = "sha256-plHfKrdo698vQbf/Hh/seIroo0hIziKMGJ8tD1Zsn9k="; }; pyproject = true; diff --git a/pkgs/by-name/co/cosmic-applets/package.nix b/pkgs/by-name/co/cosmic-applets/package.nix index 19533ff4fdd32..8da5251452615 100644 --- a/pkgs/by-name/co/cosmic-applets/package.nix +++ b/pkgs/by-name/co/cosmic-applets/package.nix @@ -20,14 +20,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-applets"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-applets"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-ONDfvyIy7sqgMpf2IrVUjLPkXUEOiN3OGK57P/4KVZQ="; + hash = "sha256-x2FHzgbxxHJEYlCK0bi5j7WdAqAlcocLYW20y2ionBc="; }; cargoHash = "sha256-FWpfgqPqjbzzv6yaBKx9eq+PHCCQ/TErx+TGWqmXqXA="; diff --git a/pkgs/by-name/co/cosmic-applibrary/package.nix b/pkgs/by-name/co/cosmic-applibrary/package.nix index 8e2f893cfdb35..98484a2c2249c 100644 --- a/pkgs/by-name/co/cosmic-applibrary/package.nix +++ b/pkgs/by-name/co/cosmic-applibrary/package.nix @@ -11,17 +11,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-applibrary"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-applibrary"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-OxHfrtUrcVC5rdh3W56zNhNRNzYrX+VRJIiW19lAJPM="; + hash = "sha256-sHF5jNY6sAZtWPeIgYjrLlhpSzhfoU21kA0ejWRkf98="; }; - cargoHash = "sha256-apLIpb1VUuQRgOJ2mQioPyucbETzyh5wOeatMCLGrc4="; + cargoHash = "sha256-h/LjcSKnmZof4/OFyLDUFWcjn6TiTt8eRAJkj8lUC0Y="; nativeBuildInputs = [ just diff --git a/pkgs/by-name/co/cosmic-bg/package.nix b/pkgs/by-name/co/cosmic-bg/package.nix index c271bbd96b54b..116d9e20b7f4d 100644 --- a/pkgs/by-name/co/cosmic-bg/package.nix +++ b/pkgs/by-name/co/cosmic-bg/package.nix @@ -13,14 +13,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-bg"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-bg"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-/6VYiZ02y/UAA3fZ+CHb18BZAWBnm/3HAf7IdEhaeD0="; + hash = "sha256-epwCl68NWKgGMUrwIA7ALlOLMTLxyShqfV0ARXsZxrs="; }; postPatch = '' @@ -29,7 +29,7 @@ rustPlatform.buildRustPackage (finalAttrs: { "${cosmic-wallpapers}/share/backgrounds/cosmic/orion_nebula_nasa_heic0601a.jpg" ''; - cargoHash = "sha256-+NkraWjWHIMIyktAUlp3q2Ot1ib1QRsBBvfdbr5BXto="; + cargoHash = "sha256-BEQQy79s9B0GLr0w2+8N5s24Ko8ikWjRxf8DmLve8kc="; nativeBuildInputs = [ just diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix index 517f7d621b35f..43a4d66b4d4a6 100644 --- a/pkgs/by-name/co/cosmic-comp/package.nix +++ b/pkgs/by-name/co/cosmic-comp/package.nix @@ -20,17 +20,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-comp"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-comp"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-AxMhcWBYN6q6IDKXXBWFi+WvSnSgF/lg5Ch9Obs+7uc="; + hash = "sha256-TGTKUF7rYZ/Koem4rPBFYHatzhhqpWe/1WmAqlY3odg="; }; - cargoHash = "sha256-hcQ6u4Aj5Av9T9uX0oDSbJG82g6E8IXcJc4Z2CfoRtg="; + cargoHash = "sha256-MI8cJzjZd2UeWBESu8xEDYQv0Oa4PRhc4pOCN0zDNO4="; separateDebugInfo = true; diff --git a/pkgs/by-name/co/cosmic-edit/package.nix b/pkgs/by-name/co/cosmic-edit/package.nix index 5fb92903b44da..a337eb75ac62e 100644 --- a/pkgs/by-name/co/cosmic-edit/package.nix +++ b/pkgs/by-name/co/cosmic-edit/package.nix @@ -16,17 +16,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-edit"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-edit"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-yaDFlnORaPwh/2Zb3Nh1Hr/jA1Z/kQT6Y1zic0eVvwA="; + hash = "sha256-qmzVc09VFZBS5S/C5JL0OzPnCX5jERXPE8iFycDUj/A="; }; - cargoHash = "sha256-1Q+jdr7uSQTp+3z2fgQIyH33v/Ld9MPER3/WRJ34Mdg="; + cargoHash = "sha256-VEPahTeBPMx+xoZWRFgmbLLEw8l2QXqr/Sk06gW2Mds="; postPatch = '' substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)" diff --git a/pkgs/by-name/co/cosmic-files/package.nix b/pkgs/by-name/co/cosmic-files/package.nix index 3b8bb5e014756..5d8af40db99e8 100644 --- a/pkgs/by-name/co/cosmic-files/package.nix +++ b/pkgs/by-name/co/cosmic-files/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, rustPlatform, just, libcosmicAppHook, @@ -12,17 +13,25 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-files"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-files"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-kTPPYfga0to19ZC66bGj/ROsMceG8LuELl1OkwKSirU="; + hash = "sha256-KXXNYNGun1stXXzY4OWzOVLrLXAs5g7NNaSYajavDvU="; }; - cargoHash = "sha256-tkH9BIeTukdVJhN9yUgFdUUhyfqnx3tTqwu+LAAULog="; + cargoHash = "sha256-HMHS6HrOUVnrWbyGi9wadl9++onBNNCRw4r4nohvQzI="; + + patches = [ + (fetchpatch { + # patch for fixing build error introduced in `epoch-1.0.7` + url = "https://github.com/pop-os/cosmic-files/commit/49e3d95e7a5e02c279f2be1f1f4dfdba2fb532dc.patch"; + hash = "sha256-Ohf3K+ehFvIurPOReFDML+wfBvdxCi7Ef3eCoSLnXFM="; + }) + ]; nativeBuildInputs = [ just diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix index 1da623e0dbed2..c2f728f957504 100644 --- a/pkgs/by-name/co/cosmic-greeter/package.nix +++ b/pkgs/by-name/co/cosmic-greeter/package.nix @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-greeter"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-icons/package.nix b/pkgs/by-name/co/cosmic-icons/package.nix index 1cbae8c1200ca..b7e6dde4e603a 100644 --- a/pkgs/by-name/co/cosmic-icons/package.nix +++ b/pkgs/by-name/co/cosmic-icons/package.nix @@ -9,7 +9,7 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "cosmic-icons"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-idle/package.nix b/pkgs/by-name/co/cosmic-idle/package.nix index 7b4c4476527ed..491f236b2e389 100644 --- a/pkgs/by-name/co/cosmic-idle/package.nix +++ b/pkgs/by-name/co/cosmic-idle/package.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-idle"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-initial-setup/package.nix b/pkgs/by-name/co/cosmic-initial-setup/package.nix index b7b9c6cbfb8fe..a02b0b65bfd64 100644 --- a/pkgs/by-name/co/cosmic-initial-setup/package.nix +++ b/pkgs/by-name/co/cosmic-initial-setup/package.nix @@ -14,7 +14,7 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-initial-setup"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-launcher/package.nix b/pkgs/by-name/co/cosmic-launcher/package.nix index 77555f4ec9f1c..d7e7c0e9d09c2 100644 --- a/pkgs/by-name/co/cosmic-launcher/package.nix +++ b/pkgs/by-name/co/cosmic-launcher/package.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-launcher"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-notifications/package.nix b/pkgs/by-name/co/cosmic-notifications/package.nix index c0de9a2450022..83ebdbc4243bf 100644 --- a/pkgs/by-name/co/cosmic-notifications/package.nix +++ b/pkgs/by-name/co/cosmic-notifications/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-notifications"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-osd/package.nix b/pkgs/by-name/co/cosmic-osd/package.nix index f99f701b4bac4..06375b289bc9d 100644 --- a/pkgs/by-name/co/cosmic-osd/package.nix +++ b/pkgs/by-name/co/cosmic-osd/package.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-osd"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-panel/package.nix b/pkgs/by-name/co/cosmic-panel/package.nix index 83b81b26130f4..e66dff463adb3 100644 --- a/pkgs/by-name/co/cosmic-panel/package.nix +++ b/pkgs/by-name/co/cosmic-panel/package.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-panel"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-player/package.nix b/pkgs/by-name/co/cosmic-player/package.nix index d2d94ec2e3c8f..f8bde4b5bd934 100644 --- a/pkgs/by-name/co/cosmic-player/package.nix +++ b/pkgs/by-name/co/cosmic-player/package.nix @@ -18,17 +18,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-player"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-player"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-ddwYgyyAaQr+0ULdCm7ZDLBfmXi014OR/G2KauYsI10="; + hash = "sha256-t0gm/LYXwHDnEo7WEgucWt0en54LYzlN2W52GwbMpwI="; }; - cargoHash = "sha256-8w66CbGoonmJ3cb5G4G7pPjjk1OVbdZFp9smuKchvRY="; + cargoHash = "sha256-IWL6x5nHcadQYW0bwA8uavLfJFshVigtqP42M4MiNYE="; nativeBuildInputs = [ just diff --git a/pkgs/by-name/co/cosmic-randr/package.nix b/pkgs/by-name/co/cosmic-randr/package.nix index 24c027829f118..c0106ba52fc92 100644 --- a/pkgs/by-name/co/cosmic-randr/package.nix +++ b/pkgs/by-name/co/cosmic-randr/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-randr"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-screenshot/package.nix b/pkgs/by-name/co/cosmic-screenshot/package.nix index efbdfdb8af874..b41f944af41d5 100644 --- a/pkgs/by-name/co/cosmic-screenshot/package.nix +++ b/pkgs/by-name/co/cosmic-screenshot/package.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-screenshot"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-session/package.nix b/pkgs/by-name/co/cosmic-session/package.nix index 6b2adc3054e60..e04e59c550199 100644 --- a/pkgs/by-name/co/cosmic-session/package.nix +++ b/pkgs/by-name/co/cosmic-session/package.nix @@ -12,14 +12,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-session"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-session"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-dMx7ZSl+ZDZGwAbo3tWwSH8Tg00ZVTJsXNZrBHY4Xj4="; + hash = "sha256-PJkr2etwcgzTELzsAVb2agof8tRZGEnDTKJ+1/9Q3bU="; }; cargoHash = "sha256-wFh9AYQRZB9qK0vCrhW9Zk61Yg+VY3VPAqJRD47NbK4="; diff --git a/pkgs/by-name/co/cosmic-settings-daemon/package.nix b/pkgs/by-name/co/cosmic-settings-daemon/package.nix index 90d05a31f041f..add7f40bfcf0d 100644 --- a/pkgs/by-name/co/cosmic-settings-daemon/package.nix +++ b/pkgs/by-name/co/cosmic-settings-daemon/package.nix @@ -16,14 +16,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-settings-daemon"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-settings-daemon"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-nivViFs0swS5MUH+hfpBl5sFGBZ6XPo3E0PGONVmzxo="; + hash = "sha256-np1syOfFqL6eZpnlwNb8WOXB0oqSkxIshX0JiyDlN1A="; }; postPatch = '' @@ -33,7 +33,7 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail '/usr/share/themes/adw-gtk3' '${adw-gtk3}/share/themes/adw-gtk3' ''; - cargoHash = "sha256-KRV9WKOf9W0g4d2uKrAFEuDqJgr+CTpvtVLn7TIYuBw="; + cargoHash = "sha256-p0Dda0Chy8qJNIMAbSnqeC8kHDYIf4tsk7+NCd9/nDQ="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/co/cosmic-settings/package.nix b/pkgs/by-name/co/cosmic-settings/package.nix index 51b9cd81150a0..c6a4429271dc6 100644 --- a/pkgs/by-name/co/cosmic-settings/package.nix +++ b/pkgs/by-name/co/cosmic-settings/package.nix @@ -27,17 +27,17 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-settings"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-settings"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-IkWH8V5M8k3BB8UpnNMxM5z5uzKRatu/tbACywiqezg="; + hash = "sha256-bSguS+nrbKkxr8yGGmvRlPI9/b0uctLHKoV+y6Kc1Bw="; }; - cargoHash = "sha256-1T/Wd59AD8HVeTCeKb8BIdzw3n+nK5otevFmwn3YJRs="; + cargoHash = "sha256-fUfj/defu74AYNTG/Wv3lxGbrPmRHZYSwN5ZZ98zwKw="; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/co/cosmic-store/package.nix b/pkgs/by-name/co/cosmic-store/package.nix index f54f7a5e6187b..c7175f806b784 100644 --- a/pkgs/by-name/co/cosmic-store/package.nix +++ b/pkgs/by-name/co/cosmic-store/package.nix @@ -15,17 +15,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-store"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-store"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-nFquLO/qMANbQRbOfjegZeMb2vCSKUK5/Y/U4ghuW64="; + hash = "sha256-B5WdvrK7dV8C9/M577S/gbxksA5zdmhDqkidFFAbyH0="; }; - cargoHash = "sha256-rrIIQ5bx4HMrxoUDH63qFJN7J+eyohSSewFZB5xMNjs="; + cargoHash = "sha256-5ak3jbGD4TUiJCKn4FCkOvkZK2LzZAlU0zvqp1q1BaY="; nativeBuildInputs = [ just diff --git a/pkgs/by-name/co/cosmic-term/package.nix b/pkgs/by-name/co/cosmic-term/package.nix index 2d16fff711813..097136d060d91 100644 --- a/pkgs/by-name/co/cosmic-term/package.nix +++ b/pkgs/by-name/co/cosmic-term/package.nix @@ -15,17 +15,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-term"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-term"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-Woko89mT0jBx1YhzO4yXyMfxAMDxPiMn1m51Cm1e7hQ="; + hash = "sha256-EN/eVQfUbJPQoU2rOYbfQBdr2cTff1VkQDp+hUEkbAE="; }; - cargoHash = "sha256-KXhjNBpTOk96+86PbDjeKtQ/VynRVV4a9SYbYGz4A6c="; + cargoHash = "sha256-ypb1hlOl1ot4pmeJK9VVuSa2YkzDqMQs0ylH3tWWpb8="; nativeBuildInputs = [ just diff --git a/pkgs/by-name/co/cosmic-wallpapers/package.nix b/pkgs/by-name/co/cosmic-wallpapers/package.nix index e402a4f1c0771..ddc30dfd95b36 100644 --- a/pkgs/by-name/co/cosmic-wallpapers/package.nix +++ b/pkgs/by-name/co/cosmic-wallpapers/package.nix @@ -7,7 +7,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "cosmic-wallpapers"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix b/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix index 20c1dae7dd5a6..a57dc9d61e6f0 100644 --- a/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix +++ b/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix @@ -14,17 +14,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-workspaces-epoch"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-workspaces-epoch"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-HrW02lM1uSiI2UBC46Jjgv7r3urVcgS3Mrvfoig/EjI="; + hash = "sha256-0BD+61gQkVHrDb8hfOa1Tiy29Hu+TZCV6r/LdFMPy+k="; }; - cargoHash = "sha256-r5Do3eRBcwjA4IysyKgkHLz8Wo1WwdEl596ZENiQbEM="; + cargoHash = "sha256-IMjDZk42rj2a9ZUFksZ9VhI5RsB0t630Iy3eKtRqY7M="; separateDebugInfo = true; diff --git a/pkgs/by-name/co/coturn/package.nix b/pkgs/by-name/co/coturn/package.nix index dd9b4bed60b43..70befe6306cbd 100644 --- a/pkgs/by-name/co/coturn/package.nix +++ b/pkgs/by-name/co/coturn/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "coturn"; - version = "4.8.0"; + version = "4.9.0"; src = fetchFromGitHub { owner = "coturn"; repo = "coturn"; tag = finalAttrs.version; - hash = "sha256-YeEyEGtlzzltEssPez7BIS3Wcfd+HgDgmrKyxOVu9PA="; + hash = "sha256-NSdmz5ZkzgP+kP6iutYX8+l1b4ErgB+kicskTn6OlRE="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/cp/cpuid/package.nix b/pkgs/by-name/cp/cpuid/package.nix index e0043267b2b28..9156bdd4d5775 100644 --- a/pkgs/by-name/cp/cpuid/package.nix +++ b/pkgs/by-name/cp/cpuid/package.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "cpuid"; - version = "20250513"; + version = "20260220"; src = fetchurl { url = "http://etallen.com/cpuid/cpuid-${finalAttrs.version}.src.tar.gz"; - sha256 = "sha256-b0dKIrWEhIjkVLAaMduA65WNVWdLUzlTP8DmrreTYms="; + sha256 = "sha256-52IP11rlkRcfEQxJuZo5EokzoMqtAjto1KOEub4Lj/s="; }; # For pod2man during the build process. diff --git a/pkgs/by-name/cp/cpuinfo/package.nix b/pkgs/by-name/cp/cpuinfo/package.nix index 0a63e3d0f8014..38eea3929d425 100644 --- a/pkgs/by-name/cp/cpuinfo/package.nix +++ b/pkgs/by-name/cp/cpuinfo/package.nix @@ -10,13 +10,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "cpuinfo"; - version = "0-unstable-2026-01-30"; + version = "0-unstable-2026-02-18"; src = fetchFromGitHub { owner = "pytorch"; repo = "cpuinfo"; - rev = "84818a41e074779dbb00521a4731d3e14160ff15"; - hash = "sha256-eXrfeFK0ADKAYoy/vESv7nQnH0oGpeZKlX8XEqPQspo="; + rev = "7364b490b5f78d58efe23ea76e74210fd6c3c76f"; + hash = "sha256-lB6e5zcw5UiwTOf+a+B35apXP5t1bxI6yOMiEeFwIwY="; }; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; @@ -50,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "cpu-info"; maintainers = with lib.maintainers; [ pawelchcki ]; pkgConfigModules = [ "libcpuinfo" ]; - # https://github.com/pytorch/cpuinfo/blob/84818a41e074779dbb00521a4731d3e14160ff15/CMakeLists.txt#L98 + # https://github.com/pytorch/cpuinfo/blob/7364b490b5f78d58efe23ea76e74210fd6c3c76f/CMakeLists.txt#L98 platforms = lib.platforms.x86 ++ lib.platforms.aarch ++ lib.platforms.riscv; }; }) diff --git a/pkgs/by-name/cr/cracklib/package.nix b/pkgs/by-name/cr/cracklib/package.nix index 886428ae76520..9a1c37363f518 100644 --- a/pkgs/by-name/cr/cracklib/package.nix +++ b/pkgs/by-name/cr/cracklib/package.nix @@ -76,7 +76,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Password checking library"; changelog = "https://github.com/cracklib/cracklib/releases/tag/v${finalAttrs.version}"; license = lib.licenses.lgpl21; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/cr/crlfsuite/package.nix b/pkgs/by-name/cr/crlfsuite/package.nix index a07d2d3b6139c..56081ef05d6df 100644 --- a/pkgs/by-name/cr/crlfsuite/package.nix +++ b/pkgs/by-name/cr/crlfsuite/package.nix @@ -38,7 +38,6 @@ python3.pkgs.buildPythonApplication (finalAttrs: { homepage = "https://github.com/Nefcore/CRLFsuite"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ - c0bw3b fab ]; }; diff --git a/pkgs/by-name/cr/crossmacro-daemon/deps.json b/pkgs/by-name/cr/crossmacro-daemon/deps.json index fa247afc80a31..44a1cc0c9d932 100644 --- a/pkgs/by-name/cr/crossmacro-daemon/deps.json +++ b/pkgs/by-name/cr/crossmacro-daemon/deps.json @@ -1,4 +1,9 @@ [ + { + "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", + "version": "10.0.3", + "hash": "sha256-ShB94jEtsq5X5r6xDZQ+wotZYG3OPKOCHNGy4B7NVFs=" + }, { "pname": "Serilog", "version": "4.0.0", @@ -16,8 +21,8 @@ }, { "pname": "Serilog", - "version": "4.3.0", - "hash": "sha256-jyIy4BjsyFXge3aO4GRFAdnX4/rz1MHfBkBDIpCDsTw=" + "version": "4.3.1", + "hash": "sha256-TY+GaQYnyDfOGl0gi67xDyUMOuV/mjz8BU66/UsmStI=" }, { "pname": "Serilog.Sinks.Async", @@ -36,7 +41,7 @@ }, { "pname": "Tmds.DBus", - "version": "0.23.0", - "hash": "sha256-BwWQSqOOMS+Cf2fM8MIuiHey8QnGH4WvYjOn9haq5e0=" + "version": "0.90.3", + "hash": "sha256-/yBQpjsIqbY4JFBxxVKXPR2S/N1TMLG5QPXvScSCdEk=" } ] diff --git a/pkgs/by-name/cr/crossmacro-daemon/package.nix b/pkgs/by-name/cr/crossmacro-daemon/package.nix index 805b945c559c7..c8414993b1e1f 100644 --- a/pkgs/by-name/cr/crossmacro-daemon/package.nix +++ b/pkgs/by-name/cr/crossmacro-daemon/package.nix @@ -20,7 +20,7 @@ buildDotnetModule rec { owner = "alper-han"; repo = "CrossMacro"; tag = "v${version}"; - hash = "sha256-qVKlch9GxEfB9thqXdiwWgF25ljX+b5on+bZmcAjAzw="; + hash = "sha256-CRP3u3ChP587yHgoi49yPiozcPB6juVNZLVVknkqvKo="; }; projectFile = "src/CrossMacro.Daemon/CrossMacro.Daemon.csproj"; @@ -47,8 +47,8 @@ buildDotnetModule rec { dotnetFlags = [ "-p:Version=${version}" ]; postInstall = '' - install -Dm644 scripts/assets/org.crossmacro.policy \ - $out/share/polkit-1/actions/org.crossmacro.policy + install -Dm644 scripts/assets/io.github.alper_han.crossmacro.policy \ + $out/share/polkit-1/actions/io.github.alper_han.crossmacro.policy install -Dm644 scripts/assets/50-crossmacro.rules \ $out/share/polkit-1/rules.d/50-crossmacro.rules diff --git a/pkgs/by-name/cr/crossmacro/deps.json b/pkgs/by-name/cr/crossmacro/deps.json index dcd95997679ef..1e958a30f8e32 100644 --- a/pkgs/by-name/cr/crossmacro/deps.json +++ b/pkgs/by-name/cr/crossmacro/deps.json @@ -1,13 +1,8 @@ [ { "pname": "Avalonia", - "version": "11.3.11", - "hash": "sha256-FSMuXVA5q5L5evwos5bIsuT81suO8FbCjEF3OvAL9p0=" - }, - { - "pname": "Avalonia.Angle.Windows.Natives", - "version": "2.1.25547.20250602", - "hash": "sha256-LE/lENAHptmz6t3T/AoJwnhpda+xs7PqriNGzdcfg8M=" + "version": "11.3.12", + "hash": "sha256-T2y8aoKUSfXqmV2RL1QStytzJkc/SZYfIdJihB5UWR0=" }, { "pname": "Avalonia.BuildServices", @@ -16,63 +11,48 @@ }, { "pname": "Avalonia.Controls.ColorPicker", - "version": "11.3.11", - "hash": "sha256-Ki6O9HYbseQPV3DsvwmJ+ERimi/WmvzelNJDKP6loo0=" - }, - { - "pname": "Avalonia.Desktop", - "version": "11.3.11", - "hash": "sha256-oFivO8/0rir4BwQsTeWs3bSnb7RmldwxYmI77j5pt8k=" + "version": "11.3.12", + "hash": "sha256-zNpmfOTfw+gKZp8VPpfHe2hjqhrRmExf7lxqLf5OvDg=" }, { "pname": "Avalonia.Diagnostics", - "version": "11.3.11", - "hash": "sha256-p38+O0VDqZ8u5VOzImP21/U5wyP1BUp2UrLLc9HSfwE=" + "version": "11.3.12", + "hash": "sha256-iDH6DjRKqm4YLXBq2JGg9IkkEGm3Rq1FQWyr/L+VaVA=" }, { "pname": "Avalonia.Fonts.Inter", - "version": "11.3.11", - "hash": "sha256-S0DWwcZHulVUIckiv2HM1Vbqno64c/Xt+mPhZp1tfsA=" + "version": "11.3.12", + "hash": "sha256-yr4/zpUbmQuVzdupV5v87qNO24sPOVhnnJ1SeiLxMx8=" }, { "pname": "Avalonia.FreeDesktop", - "version": "11.3.11", - "hash": "sha256-UE2/w9cw3YDzsw3HuhI2sTPy8reH9C71ufmHOpzvlSQ=" - }, - { - "pname": "Avalonia.Native", - "version": "11.3.11", - "hash": "sha256-vw67lp/oOt+2lqdJ5PK2FY93jqPTcgZqOAXLtSXlJ8s=" + "version": "11.3.12", + "hash": "sha256-NTcYVHn13lFQjTNezmpmPGjxsBzryXorK0K6hl4ZZto=" }, { "pname": "Avalonia.Remote.Protocol", - "version": "11.3.11", - "hash": "sha256-l1f3rVygtI268llwbN0NvTDSfXwZE3CyRw8w5tbHBC4=" + "version": "11.3.12", + "hash": "sha256-dF93nP1Cd7ZdzrO7ScGHchxYxCjWN45AjiqiO1J+cmU=" }, { "pname": "Avalonia.Skia", - "version": "11.3.11", - "hash": "sha256-89TGu50JfEVFo+QZgyOR0uOagC/xoJvqfnrHep3W/cc=" + "version": "11.3.12", + "hash": "sha256-gRMjH7igRIm22zQV0WxtwFHe8AiMTcaPlR0sC5lJy+w=" }, { "pname": "Avalonia.Themes.Fluent", - "version": "11.3.11", - "hash": "sha256-tiJ0xAFf0UVSH7LASPtg/7ils7+vZjw2UKBMydyUR3Q=" + "version": "11.3.12", + "hash": "sha256-4TTsW7zLF0Z9C1lzPsPfekHpHrSx7RB7I63j/cKUX8U=" }, { "pname": "Avalonia.Themes.Simple", - "version": "11.3.11", - "hash": "sha256-AJS5Ls0tJ6PCr2mnr1PpxGWX4sII8mpe2R+VCFYRg44=" - }, - { - "pname": "Avalonia.Win32", - "version": "11.3.11", - "hash": "sha256-6/NG4OrB/4YisXzJ51GPuq3uDn8oEUWyJRAqejyMCQw=" + "version": "11.3.12", + "hash": "sha256-EIuAcUmoL7/y4lUfdSg120/l/v3zQytC2rfr0b6jKiM=" }, { "pname": "Avalonia.X11", - "version": "11.3.11", - "hash": "sha256-2fiQvKxU/r71UOAQgy0zwSHVCM2uG2sdEUhObd5TrQQ=" + "version": "11.3.12", + "hash": "sha256-SEc0GaZTh1eGNFWHT6lGiN6LD0qE+ubTK7Efl0H/Q2w=" }, { "pname": "CommunityToolkit.Mvvm", @@ -111,13 +91,13 @@ }, { "pname": "Microsoft.Extensions.DependencyInjection", - "version": "10.0.2", - "hash": "sha256-/9UWQRAI2eoocnJWWf1ktnAx/1Gt65c16fc0Xqr9+CQ=" + "version": "10.0.3", + "hash": "sha256-h/wiSaVtRCIGdkv6/soA41Dhdlmu2I9hjv/swP8OjDk=" }, { "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", - "version": "10.0.2", - "hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg=" + "version": "10.0.3", + "hash": "sha256-ShB94jEtsq5X5r6xDZQ+wotZYG3OPKOCHNGy4B7NVFs=" }, { "pname": "Serilog", @@ -136,8 +116,8 @@ }, { "pname": "Serilog", - "version": "4.3.0", - "hash": "sha256-jyIy4BjsyFXge3aO4GRFAdnX4/rz1MHfBkBDIpCDsTw=" + "version": "4.3.1", + "hash": "sha256-TY+GaQYnyDfOGl0gi67xDyUMOuV/mjz8BU66/UsmStI=" }, { "pname": "Serilog.Sinks.Async", @@ -164,11 +144,6 @@ "version": "2.88.9", "hash": "sha256-mQ/oBaqRR71WfS66mJCvcc3uKW7CNEHoPN2JilDbw/A=" }, - { - "pname": "SkiaSharp.NativeAssets.Linux.NoDependencies", - "version": "2.88.9", - "hash": "sha256-WjpcM78Q6kaW0eU5iqDR5+fGcF+06/tawWHsJRK57Es=" - }, { "pname": "SkiaSharp.NativeAssets.macOS", "version": "2.88.9", @@ -186,8 +161,8 @@ }, { "pname": "Tmds.DBus", - "version": "0.23.0", - "hash": "sha256-BwWQSqOOMS+Cf2fM8MIuiHey8QnGH4WvYjOn9haq5e0=" + "version": "0.90.3", + "hash": "sha256-/yBQpjsIqbY4JFBxxVKXPR2S/N1TMLG5QPXvScSCdEk=" }, { "pname": "Tmds.DBus.Protocol", diff --git a/pkgs/by-name/cr/crossmacro/package.nix b/pkgs/by-name/cr/crossmacro/package.nix index 79df428b7f5d0..9281b58afda3e 100644 --- a/pkgs/by-name/cr/crossmacro/package.nix +++ b/pkgs/by-name/cr/crossmacro/package.nix @@ -35,10 +35,10 @@ buildDotnetModule rec { owner = "alper-han"; repo = "CrossMacro"; tag = "v${version}"; - hash = "sha256-qVKlch9GxEfB9thqXdiwWgF25ljX+b5on+bZmcAjAzw="; + hash = "sha256-CRP3u3ChP587yHgoi49yPiozcPB6juVNZLVVknkqvKo="; }; - projectFile = "src/CrossMacro.UI/CrossMacro.UI.csproj"; + projectFile = "src/CrossMacro.UI.Linux/CrossMacro.UI.Linux.csproj"; nugetDeps = ./deps.json; dotnet-sdk = dotnetCorePackages.sdk_10_0; diff --git a/pkgs/by-name/cr/crosspatch/dependencies.json b/pkgs/by-name/cr/crosspatch/dependencies.json new file mode 100644 index 0000000000000..0d003eaf03dee --- /dev/null +++ b/pkgs/by-name/cr/crosspatch/dependencies.json @@ -0,0 +1,122 @@ +[ + { + "pname": "CUE4Parse", + "version": "1.1.0", + "hash": "sha256-OdcUExbfYsWKEveSjyRcYfKgUWh3dw+BHQlP94z6LDI=" + }, + { + "pname": "DotNetZip", + "version": "1.16.0", + "hash": "sha256-RlzHkO7DxCvRkr+gpM8Abs34XbovmBTmXfO7LtnE75E=" + }, + { + "pname": "Infrablack.UE4Config", + "version": "0.7.2.97", + "hash": "sha256-KoaJXzmFsaQxTRmGfDkFW1votjcmdDouYZANXK4kksw=" + }, + { + "pname": "K4os.Compression.LZ4", + "version": "1.3.6", + "hash": "sha256-Vo2ofh0MNkxcvJZUkNPqft/IoA1QcU/awItB2i17rfs=" + }, + { + "pname": "K4os.Compression.LZ4.Streams", + "version": "1.3.6", + "hash": "sha256-rnIDo/2WIlA7enlNxXMKyMjRu+VQPHtuCMqK3w1zQf4=" + }, + { + "pname": "K4os.Hash.xxHash", + "version": "1.0.8", + "hash": "sha256-ILTWT8NFB7itGpDloJh65B5ZuWHrN2dOUQdm8gNy4W8=" + }, + { + "pname": "LZMA-SDK", + "version": "22.1.1", + "hash": "sha256-PI79dMSrLSmoJzQLSFxgfhDqdkyNvdlzFhxWbdrMKXs=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "3.1.0", + "hash": "sha256-cnygditsEaU86bnYtIthNMymAHqaT/sf9Gjykhzqgb0=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "3.1.1", + "hash": "sha256-ByV7aEFjGR4L4Tudg4KaJ96lnzr7RhOxzWGE0p5XFRY=" + }, + { + "pname": "Microsoft.Win32.SystemEvents", + "version": "4.7.0", + "hash": "sha256-GHxnD1Plb32GJWVWSv0Y51Kgtlb+cdKgOYVBYZSgVF4=" + }, + { + "pname": "Newtonsoft.Json", + "version": "13.0.3", + "hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc=" + }, + { + "pname": "Serilog", + "version": "3.1.1", + "hash": "sha256-L263y8jkn7dNFD2jAUK6mgvyRTqFe39i1tRhVZsNZTI=" + }, + { + "pname": "Serilog.Sinks.Console", + "version": "5.0.0", + "hash": "sha256-UOVlegJLhs0vK1ml2DZCjFE5roDRZsGCAqD/53ZaZWI=" + }, + { + "pname": "System.CommandLine", + "version": "2.0.0-beta4.22272.1", + "hash": "sha256-zSO+CYnMH8deBHDI9DHhCPj79Ce3GOzHCyH1/TiHxcc=" + }, + { + "pname": "System.Drawing.Common", + "version": "4.7.0", + "hash": "sha256-D3qG+xAe78lZHvlco9gHK2TEAM370k09c6+SQi873Hk=" + }, + { + "pname": "System.IO.Pipelines", + "version": "6.0.3", + "hash": "sha256-v+FOmjRRKlDtDW6+TfmyMiiki010YGVTa0EwXu9X7ck=" + }, + { + "pname": "System.Memory", + "version": "4.5.5", + "hash": "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI=" + }, + { + "pname": "System.Runtime.CompilerServices.Unsafe", + "version": "6.0.0", + "hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I=" + }, + { + "pname": "System.Security.AccessControl", + "version": "4.7.0", + "hash": "sha256-/9ZCPIHLdhzq7OW4UKqTsR0O93jjHd6BRG1SRwgHE1g=" + }, + { + "pname": "System.Security.Permissions", + "version": "4.7.0", + "hash": "sha256-BGgXMLUi5rxVmmChjIhcXUxisJjvlNToXlyaIbUxw40=" + }, + { + "pname": "System.Security.Principal.Windows", + "version": "4.7.0", + "hash": "sha256-rWBM2U8Kq3rEdaa1MPZSYOOkbtMGgWyB8iPrpIqmpqg=" + }, + { + "pname": "System.Text.Encoding.CodePages", + "version": "4.7.1", + "hash": "sha256-OUA8ttAKGgqD5KUwtnO2OewBF/tJI0nO3YcunK5qMPg=" + }, + { + "pname": "System.Windows.Extensions", + "version": "4.7.0", + "hash": "sha256-yW+GvQranReaqPw5ZFv+mSjByQ5y1pRLl05JIEf3tYU=" + }, + { + "pname": "ZstdSharp.Port", + "version": "0.7.3", + "hash": "sha256-uHmJzDeHPAr0u35lKwBDwWgoybM0ckP0gfSNDmTWcGk=" + } +] diff --git a/pkgs/by-name/cr/crosspatch/package.nix b/pkgs/by-name/cr/crosspatch/package.nix new file mode 100644 index 0000000000000..1ae388c7cf834 --- /dev/null +++ b/pkgs/by-name/cr/crosspatch/package.nix @@ -0,0 +1,72 @@ +{ + buildDotnetModule, + copyDesktopItems, + fetchFromGitHub, + lib, + makeDesktopItem, + makeWrapper, + python3, + stdenv, +}: +let + name = "crosspatch"; + version = "1.1.5"; + + src = fetchFromGitHub { + owner = "NickPlayzGITHUB"; + repo = "CrossPatch"; + hash = "sha256-Ux+tLP5Hv8ecnuITMqLiuX0YtF2ENZ7ezi2gNKfuNcM="; + tag = version; + }; + + python = python3.withPackages (ps: [ + ps.patool + ps.py7zr + ps.pyqtdarktheme + ps.pyside6 + ps.rarfile + ps.requests + ]); + + parser = buildDotnetModule rec { + inherit version src; + pname = "crosspatch-parser"; + sourceRoot = "${src.name}/tools/CrossPatchParser"; + nugetDeps = ./dependencies.json; + meta.mainProgram = "CrossPatchParser"; + }; +in +stdenv.mkDerivation { + inherit version src; + pname = name; + buildInputs = [ makeWrapper ]; + nativeBuildInputs = [ copyDesktopItems ]; + + postPatch = '' + mkdir "$out" + cp -r "$src/src" "$out/src" + substituteInPlace "$out/src/PakInspector.py" --replace 'possible_paths = _possible_parser_paths()' 'possible_paths = ["${lib.getExe parser}"]' + ''; + + buildPhase = '' + runHook preBuild + mkdir -p "$out/bin" + makeWrapper "${lib.getExe python}" "$out/bin/crosspatch" --add-flag "$out/src/CrossPatch.py" + runHook postBuild + ''; + + desktopItems = lib.singleton (makeDesktopItem { + inherit name; + desktopName = "CrossPatch"; + exec = "crosspatch"; + }); + + meta = { + mainProgram = "crosspatch"; + description = "A mod Manager for Sonic Racing: CrossWorlds"; + homepage = "https://github.com/NickPlayzGITHUB/CrossPatch"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ toodeluna ]; + }; +} diff --git a/pkgs/by-name/cr/cryfs/package.nix b/pkgs/by-name/cr/cryfs/package.nix index 82f03fef669f6..1daefa523781a 100644 --- a/pkgs/by-name/cr/cryfs/package.nix +++ b/pkgs/by-name/cr/cryfs/package.nix @@ -96,7 +96,6 @@ stdenv.mkDerivation rec { license = lib.licenses.lgpl3Only; maintainers = with lib.maintainers; [ peterhoeg - c0bw3b sigmasquadron ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/cr/cryptopp/package.nix b/pkgs/by-name/cr/cryptopp/package.nix index bcc57aa3972a4..d1aaf2dbd1d1f 100644 --- a/pkgs/by-name/cr/cryptopp/package.nix +++ b/pkgs/by-name/cr/cryptopp/package.nix @@ -67,6 +67,6 @@ stdenv.mkDerivation rec { publicDomain ]; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ c0bw3b ]; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/cs/cspell/package.nix b/pkgs/by-name/cs/cspell/package.nix index eef3622ff7334..a3d3372787f62 100644 --- a/pkgs/by-name/cs/cspell/package.nix +++ b/pkgs/by-name/cs/cspell/package.nix @@ -11,13 +11,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "cspell"; - version = "9.6.4"; + version = "9.7.0"; src = fetchFromGitHub { owner = "streetsidesoftware"; repo = "cspell"; tag = "v${finalAttrs.version}"; - hash = "sha256-OeS3wBOnvhxQtAAra40wb1FMYIb2mpKrqf72AFuU944="; + hash = "sha256-WT2MlBtFazi7vC7+2Dx1Y0Z5B3j0tFT6jUajyqhxlDw="; }; pnpmWorkspaces = [ "cspell..." ]; @@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { ; pnpm = pnpm_10; fetcherVersion = 2; - hash = "sha256-ufHALS8FL2VjNnYHUBZh99IpivZDtaYaVjTmEoY6Sqc="; + hash = "sha256-EKnczZ/7O2ZMaSlIFfLk9WXyf/ubynhmecs+IyIoTHw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/cu/curlMinimal/package.nix b/pkgs/by-name/cu/curlMinimal/package.nix index 422f2ff3a7bfd..57b03c5f33a57 100644 --- a/pkgs/by-name/cu/curlMinimal/package.nix +++ b/pkgs/by-name/cu/curlMinimal/package.nix @@ -283,12 +283,11 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://curl.se/"; license = lib.licenses.curl; maintainers = with lib.maintainers; [ - lovek323 Scrumplex ]; platforms = lib.platforms.all; - # Fails to link against static brotli or gss - broken = stdenv.hostPlatform.isStatic && (brotliSupport || gssSupport); + # Fails to link against static gss + broken = stdenv.hostPlatform.isStatic && gssSupport; pkgConfigModules = [ "libcurl" ]; mainProgram = "curl"; identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "haxx" finalAttrs.version; diff --git a/pkgs/by-name/cu/cutecosmic/package.nix b/pkgs/by-name/cu/cutecosmic/package.nix new file mode 100644 index 0000000000000..22e2911af036f --- /dev/null +++ b/pkgs/by-name/cu/cutecosmic/package.nix @@ -0,0 +1,101 @@ +{ + lib, + stdenv, + cargo, + cmake, + common-updater-scripts, + fetchFromGitHub, + nix-update, + qt6, + ripgrep, + rustPlatform, + rustc, + writeShellScript, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "cutecosmic"; + version = "0.1-unstable-2026-01-21"; + + src = fetchFromGitHub { + owner = "IgKh"; + repo = "cutecosmic"; + rev = "8e584418f69eeeaee8574c4a48cc92ef27fd610e"; + hash = "sha256-jKiO+WlNHM1xavKdB6PrGd3HmTgnyL1vjh0Ps1HcWx4="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) src; + name = "${finalAttrs.pname}-${finalAttrs.version}"; + sourceRoot = "${finalAttrs.src.name}/bindings"; + hash = "sha256-+1z0VoxDeOYSmb7BoFSdrwrfo1mmwkxeuEGP+CGFc8Y="; + }; + + cargoRoot = "bindings"; + + nativeBuildInputs = [ + cmake + qt6.wrapQtAppsHook + rustPlatform.cargoSetupHook + cargo + rustc + ]; + + buildInputs = [ + qt6.qtbase + qt6.qtdeclarative + ]; + + cmakeFlags = [ + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_CORROSION" "${finalAttrs.passthru.sources.corrosion}") + ]; + + postPatch = '' + substituteInPlace platformtheme/CMakeLists.txt \ + --replace-fail "\''${QT_INSTALL_PLUGINS}/platformthemes" \ + "${qt6.qtbase.qtPluginPrefix}/platformthemes" + ''; + + passthru = { + sources = { + # rev from source/bindings/CMakeLists.txt + corrosion = fetchFromGitHub { + owner = "corrosion-rs"; + repo = "corrosion"; + rev = "v0.5.2"; + hash = "sha256-sO2U0llrDOWYYjnfoRZE+/ofg3kb+ajFmqvaweRvT7c="; + }; + }; + + updateScript = writeShellScript "update-cutecosmic" '' + set -euo pipefail + + ${lib.getExe nix-update} cutecosmic --version branch=HEAD + src=$(nix-build -A cutecosmic.src --no-out-link) + + # Corrosion-rs dependency + tag=$(${lib.getExe ripgrep} --multiline --pcre2 --only-matching \ + 'FetchContent_Declare\(\s*Corrosion[^)]*GIT_TAG\s+(v[\d.]+)' \ + --replace '$1' \ + "$src/bindings/CMakeLists.txt") + + ${lib.getExe' common-updater-scripts "update-source-version"} \ + cutecosmic.sources.corrosion \ + "$tag" \ + --source-key=out \ + --version-key=rev \ + --file=${lib.escapeShellArg (toString ./.) + "/package.nix"} + ''; + }; + + meta = { + homepage = "https://github.com/IgKh/cutecosmic"; + description = "Qt platform theme for COSMIC Desktop environment"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ + amozeo + thefossguy + ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/cy/cyclonedx-python/package.nix b/pkgs/by-name/cy/cyclonedx-python/package.nix index 57052129bc2cb..80cf402c05197 100644 --- a/pkgs/by-name/cy/cyclonedx-python/package.nix +++ b/pkgs/by-name/cy/cyclonedx-python/package.nix @@ -6,14 +6,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "cyclonedx-python"; - version = "7.2.1"; + version = "7.2.2"; pyproject = true; src = fetchFromGitHub { owner = "CycloneDX"; repo = "cyclonedx-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-JhPrVNzuoUTOmFBaPiq+UuUBRCHG2mqz8z1/24OcZAI="; + hash = "sha256-nTQ0y2zn4idg6x8qVjK8DeZVCMnlXLEJg89ISYabp68="; }; build-system = with python3Packages; [ poetry-core ]; diff --git a/pkgs/by-name/da/daed/package.nix b/pkgs/by-name/da/daed/package.nix index dc72a39e9e797..3a7ff752a325d 100644 --- a/pkgs/by-name/da/daed/package.nix +++ b/pkgs/by-name/da/daed/package.nix @@ -34,8 +34,8 @@ let src ; pnpm = pnpm_9; - fetcherVersion = 1; - hash = "sha256-+yLpSbDzr1OV/bmUUg6drOvK1ok3cBd+RRV7Qrrlp+Q="; + fetcherVersion = 3; + hash = "sha256-FBZk7qeYNi7JX99Sk1qe52YUE8GUYINJKid0mEBXMjU="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/da/daisydisk/package.nix b/pkgs/by-name/da/daisydisk/package.nix index eeea25bd47314..2894bb37728f5 100644 --- a/pkgs/by-name/da/daisydisk/package.nix +++ b/pkgs/by-name/da/daisydisk/package.nix @@ -8,14 +8,13 @@ common-updater-scripts, writeShellApplication, }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "daisydisk"; - version = "4.32"; + version = "4.33.2"; src = fetchzip { url = "https://daisydiskapp.com/download/DaisyDisk.zip"; - hash = "sha256-HRW851l3zCq43WmLkElvVlIEmfCsCUMFw/LL2cPa2Xk="; + hash = "sha256-YkXjaDbnwkQUsfhzCA5xQ6C6NGjQV6qj7znyjcKgwIg="; stripRoot = false; }; diff --git a/pkgs/by-name/da/dawarich/gemset.nix b/pkgs/by-name/da/dawarich/gemset.nix index fdcca67bb9bd3..d0fe707b3d250 100644 --- a/pkgs/by-name/da/dawarich/gemset.nix +++ b/pkgs/by-name/da/dawarich/gemset.nix @@ -431,10 +431,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "003xl226y120cbq1n99805jw6w75gcz1gs941yz3h7li3qy3kqha"; + sha256 = "14qb2gy6ypnqri92v9x8szbq7fzw27pc1z5cl367n5f5cpd2rmks"; type = "gem"; }; - version = "1.18.6"; + version = "1.20.1"; }; brakeman = { dependencies = [ "racc" ]; @@ -469,15 +469,16 @@ dependencies = [ "thor" ]; groups = [ "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0j0h5cgnzk0ms17ssjkzfzwz65ggrs3lsp53a1j46p4616m1s1bk"; + sha256 = "1sdlr4rj7x5nbrl8zkd3dqdg4fc50bnpx37rl0l0szg4f5n7dj41"; type = "gem"; }; - version = "0.9.2"; + version = "0.9.3"; }; byebug = { groups = [ @@ -690,10 +691,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1rbfqkzr6i8b6538z16chvrkgywf5p5vafsgmnbmvrmh0ingsx2y"; + sha256 = "1h0db8r2v5llxdbzkzyllkfniqw9gm092qn7cbaib73v9lw0c3bm"; type = "gem"; }; - version = "3.5.0"; + version = "3.5.1"; }; debug = { dependencies = [ @@ -773,15 +774,16 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1hwjsddv666wpp42bip3fqx7c5qq6s8lwf74dj71yn7d1h37c4cy"; + sha256 = "17b1zr9kih0i3wb7h4yq9i8vi6hjfq07857j437a8z7a44qvhxg3"; type = "gem"; }; - version = "3.1.8"; + version = "3.2.0"; }; dotenv-rails = { dependencies = [ @@ -790,15 +792,16 @@ ]; groups = [ "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1i40g6kzwp8yxsxzpzgsq2hww9gxryl5lck1bwxshn4bd8id3ja6"; + sha256 = "1axy0frn3xn3jf1gdafx5rzz843551q1ckwcbp4zy8m69dajazk5"; type = "gem"; }; - version = "3.1.8"; + version = "3.2.0"; }; drb = { groups = [ @@ -848,10 +851,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0y95ynlfngs0s5x1w6mwralszhbi9d75lcdbdkqk75wcklzqjc17"; + sha256 = "1rcpq49pyaiclpjp3c3qjl25r95hqvin2q2dczaynaj7qncxvv18"; type = "gem"; }; - version = "6.0.0"; + version = "6.0.1"; }; erubi = { groups = [ @@ -1090,14 +1093,15 @@ version = "1.2.1"; }; hashie = { + dependencies = [ "logger" ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x"; + sha256 = "0w1qrab701d3a63aj2qavwc2fpcqmkzzh1w2x93c88zkjqc4frn2"; type = "gem"; }; - version = "5.0.0"; + version = "5.1.0"; }; httparty = { dependencies = [ @@ -1149,6 +1153,7 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ @@ -1167,10 +1172,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1jszj95hazqqpnrjjzr326nn1j32xmsc9xvd97mbcrrgdc54858y"; + sha256 = "1k0lk3pwadm2myvpg893n8jshmrf2sigrd4ki15lymy7gixaxqyn"; type = "gem"; }; - version = "0.8.1"; + version = "0.8.2"; }; irb = { dependencies = [ @@ -1200,10 +1205,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1aja320qnimlnfc80wf2i2x8i99kl5sdzfacsfzzfzzs3vzysja3"; + sha256 = "01h8bdksg0cr8bw5dhlhr29ix33rp822jmshy6rdqz4lmk4mdgia"; type = "gem"; }; - version = "1.15.3"; + version = "1.16.0"; }; jmespath = { groups = [ "default" ]; @@ -1390,15 +1395,16 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0dx316q03x6rpdbl610rdaj2vfd5s8fanixk21j4gv3h5f230nk5"; + sha256 = "1rk0n13c9nmk8di2x5gqk5r04vf8bkp7ff6z0b44wsmc7fndfpnz"; type = "gem"; }; - version = "2.24.1"; + version = "2.25.0"; }; mail = { dependencies = [ @@ -1502,10 +1508,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "04ihgnwp2ka68v82a6jpk9yqmazfwnbk3vsz6sb040kq6gf53dzd"; + sha256 = "0cnpnbn2yivj9gxkh8mjklbgnpx6nf7b8j2hky01dl0040hy0k76"; type = "gem"; }; - version = "1.7.3"; + version = "1.8.0"; }; multi_json = { groups = [ "default" ]; @@ -1610,10 +1616,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1hcwwr2h8jnqqxmf8mfb52b0dchr7pm064ingflb78wa00qhgk6m"; + sha256 = "15anyh2ir3kdji93kw770xxwm5rspn9rzx9b9zh1h9gnclcd4173"; type = "gem"; }; - version = "1.18.10"; + version = "1.19.0"; }; oauth2 = { dependencies = [ @@ -1717,10 +1723,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1q2zvkw34vk1vyhn5kp30783w1wzam9i9g5ygsdjn2gz59kzsw0i"; + sha256 = "0bf3m2ds78scmgacb1wx38zjj1czzkym0bdmgi9vn99rgr6j1qy6"; type = "gem"; }; - version = "1.0.2"; + version = "2.0.1"; }; omniauth_openid_connect = { dependencies = [ @@ -1937,10 +1943,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "00silqnlzzm97gn21lm39q95hjn058waqky44j25r67p9drjy1hh"; + sha256 = "11ggfikcs1lv17nhmhqyyp6z8nq5pkfcj6a904047hljkxm0qlvv"; type = "gem"; }; - version = "1.7.0"; + version = "1.9.0"; }; prometheus_exporter = { dependencies = [ "webrick" ]; @@ -2010,6 +2016,7 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ @@ -2028,10 +2035,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0vii1xc7x81hicdbp7dlllhmbw5w3jy20shj696n0vfbbnm2hhw1"; + sha256 = "0x0r3gc66abv8i4dw0x0370b5hrshjfp6kpp7wbp178cy775fypb"; type = "gem"; }; - version = "5.2.6"; + version = "5.3.1"; }; public_suffix = { groups = [ @@ -2180,15 +2187,16 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "13brkq5xkj6lcdxj3f0k7v28hgrqhqxjlhd4y2vlicy5slgijdzp"; + sha256 = "0s48d2a0z5f0cg4npvzznf933vipi6j7gmk16yc913kpadkw4ybc"; type = "gem"; }; - version = "2.2.1"; + version = "2.3.1"; }; rails = { dependencies = [ @@ -2380,10 +2388,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0p4z1cs2zvkkvl0xiiy76ys1ipbhx0df15241jx7gnp61317qdbi"; + sha256 = "0qvky4s2fx5xbaz1brxanalqbcky3c7xbqd6dicpih860zgrjj29"; type = "gem"; }; - version = "6.16.1"; + version = "7.1.0"; }; redis = { dependencies = [ "redis-client" ]; @@ -2461,6 +2469,27 @@ }; version = "1.7.0"; }; + resolv = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1bc3n2h2dpalms230rsh1zw0jr8nnpcm53x97b8in78y1p0f4372"; + type = "gem"; + }; + version = "0.7.0"; + }; + resolv-replace = { + dependencies = [ "resolv" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0c1vb75a6wjn6cijlrpndqn2xia1nri1jpcigbibji57qqnwklkn"; + type = "gem"; + }; + version = "0.2.0"; + }; responders = { dependencies = [ "actionpack" @@ -3015,21 +3044,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1v74k5yw7ndikr53wgbjn6j51p83qnzqbn9z4b53r102jcx3ri4r"; + sha256 = "1q92y9627yisykyscv0bdsrrgyaajc2qr56dwlzx7ysgigjv4z63"; type = "gem"; }; - version = "3.1.8"; - }; - strong_migrations = { - dependencies = [ "activerecord" ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "09llhlw9ddsjyv6c59z3yjwdhrxc2q60a60wjvqhrhhy96dkmjlb"; - type = "gem"; - }; - version = "2.5.1"; + version = "3.2.0"; }; super_diff = { dependencies = [ @@ -3090,15 +3108,16 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0gcarlmpfbmqnjvwfz44gdjhcmm634di7plcx2zdgwdhrhifhqw7"; + sha256 = "0wsy88vg2mazl039392hqrcwvs5nb9kq8jhhrrclir2px1gybag3"; type = "gem"; }; - version = "1.4.0"; + version = "1.5.0"; }; timeout = { groups = [ @@ -3377,14 +3396,15 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "119ypabas886gd0n9kiid3q41w76gz60s8qmiak6pljpkd56ps5j"; + sha256 = "12zcvhzfnlghzw03czy2ifdlyfpq0kcbqcmxqakfkbxxavrr1vrb"; type = "gem"; }; - version = "2.7.3"; + version = "2.7.4"; }; } diff --git a/pkgs/by-name/da/dawarich/sources.json b/pkgs/by-name/da/dawarich/sources.json index f67649193411b..88268ba1d56be 100644 --- a/pkgs/by-name/da/dawarich/sources.json +++ b/pkgs/by-name/da/dawarich/sources.json @@ -1,5 +1,5 @@ { - "version": "0.37.3", - "hash": "sha256-cZBT3ek5mzHbPr4aVHU47SNstEuBnpBNaCfaAe/IAEw=", - "npmHash": "sha256-wDe1Zx9HyheS76ltLtDQ+f4M7ohu/pyRuRaGGCnhkQI=" + "version": "1.3.1", + "hash": "sha256-ziOp6R00uaWdv7KHHPe+2H5bX5fRtHmwhfoiQSSqEn4=", + "npmHash": "sha256-Y6tEaApfGXAtmy0W85+4qGbrEkUkrKXTssl7wXeVnQY=" } diff --git a/pkgs/by-name/db/dbeaver-bin/package.nix b/pkgs/by-name/db/dbeaver-bin/package.nix index 3795ec03a3cf8..ad0d6a2e6a608 100644 --- a/pkgs/by-name/db/dbeaver-bin/package.nix +++ b/pkgs/by-name/db/dbeaver-bin/package.nix @@ -19,23 +19,23 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "dbeaver-bin"; - version = "25.3.4"; + version = "25.3.5"; src = let inherit (stdenvNoCC.hostPlatform) system; selectSystem = attrs: attrs.${system} or (throw "Unsupported system: ${system}"); suffix = selectSystem { - x86_64-linux = "linux.gtk.x86_64.tar.gz"; - aarch64-linux = "linux.gtk.aarch64.tar.gz"; + x86_64-linux = "linux-x86_64.tar.gz"; + aarch64-linux = "linux-aarch64.tar.gz"; x86_64-darwin = "macos-x86_64.dmg"; aarch64-darwin = "macos-aarch64.dmg"; }; hash = selectSystem { - x86_64-linux = "sha256-iqbpvXSn0jsHNdsn6/C1RV28Xc54o2XnvtG8WujpJFE="; - aarch64-linux = "sha256-fku9iDSyM5COrCAy9sIBZUCo7E8/2nIQmlhKAtBbmcw="; - x86_64-darwin = "sha256-DJpME9xxFSlRIgJuLtemIdnaskim7S1wPWLlrF0doxo="; - aarch64-darwin = "sha256-q/IZHXSAV7TR3EjKoxoB06zLnhEvb6A5TywgEK9uL8o="; + x86_64-linux = "sha256-pUjLM2tPIVuGiYpv0UgfUnINPRxzdbBvAPfeX4Vsrn8="; + aarch64-linux = "sha256-26RZrqpciHOgn6CGJhrxvyghxaIDojv1GkC7Df9KwyA="; + x86_64-darwin = "sha256-GWro2heKUny7psNym2bA8m8Hvk96GiDVhYDG9wgoJig="; + aarch64-darwin = "sha256-K2gjVHKYSLwAl0JuaZy5ZDLEXpsmHHLPfZUkuuTUoo4="; }; in fetchurl { diff --git a/pkgs/by-name/db/dbeaver-bin/update.sh b/pkgs/by-name/db/dbeaver-bin/update.sh index 49e79ebdc91b2..8ab7bd75fcef5 100755 --- a/pkgs/by-name/db/dbeaver-bin/update.sh +++ b/pkgs/by-name/db/dbeaver-bin/update.sh @@ -16,8 +16,8 @@ if [[ "$latestVersion" == "$currentVersion" ]]; then fi for i in \ - "x86_64-linux linux.gtk.x86_64.tar.gz" \ - "aarch64-linux linux.gtk.aarch64.tar.gz" \ + "x86_64-linux linux-x86_64.tar.gz" \ + "aarch64-linux linux-aarch64.tar.gz" \ "x86_64-darwin macos-x86_64.dmg" \ "aarch64-darwin macos-aarch64.dmg" do diff --git a/pkgs/by-name/de/dealii/package.nix b/pkgs/by-name/de/dealii/package.nix new file mode 100644 index 0000000000000..aa3af4742cfc9 --- /dev/null +++ b/pkgs/by-name/de/dealii/package.nix @@ -0,0 +1,37 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + boost, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "dealii"; + version = "9.7.1"; + + src = fetchFromGitHub { + owner = "dealii"; + repo = "dealii"; + tag = "v${finalAttrs.version}"; + hash = "sha256-hy7Z9DUcSv/k5UU5TOfYzCIEiKXBZZEUrRnJ7jN1gus="; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ boost ]; + + meta = { + homepage = "https://dealii.org/"; + description = "C++ software library supporting the creation of finite element codes"; + longDescription = '' + deal.II is a C++ program library targeted at the computational solution of + partial differential equations using adaptive finite elements. + It uses state-of-the-art programming techniques to offer you a modern interface + to the complex data structures and algorithms required. + ''; + license = lib.licenses.lgpl21Plus; + maintainers = with lib.maintainers; [ neural-blade ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/de/delly/package.nix b/pkgs/by-name/de/delly/package.nix index b85de53d7b2ca..34f38ccd20c5a 100644 --- a/pkgs/by-name/de/delly/package.nix +++ b/pkgs/by-name/de/delly/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "delly"; - version = "1.7.2"; + version = "1.7.3"; src = fetchFromGitHub { owner = "dellytools"; repo = "delly"; rev = "v${finalAttrs.version}"; - hash = "sha256-wlaRHCRcbj4Hw7PVYeB6N1bMS4FL3gPo1uC1OOmJwuA="; + hash = "sha256-WnZf5JFDv5R//g0dm5riGvhwaqm/Yd7+qVPxseOpJ+Y="; }; postPatch = lib.optionalString stdenv.cc.isClang '' diff --git a/pkgs/by-name/de/deltachat-desktop/package.nix b/pkgs/by-name/de/deltachat-desktop/package.nix index 6b9219bd44132..31ca39af8b131 100644 --- a/pkgs/by-name/de/deltachat-desktop/package.nix +++ b/pkgs/by-name/de/deltachat-desktop/package.nix @@ -1,7 +1,7 @@ { lib, copyDesktopItems, - electron_39, + electron_40, fetchFromGitHub, deltachat-rpc-server, makeDesktopItem, @@ -21,37 +21,37 @@ let deltachat-rpc-server' = deltachat-rpc-server.overrideAttrs rec { - version = "2.35.0"; + version = "2.43.0"; src = fetchFromGitHub { owner = "chatmail"; repo = "core"; tag = "v${version}"; - hash = "sha256-tcH9F+FKXfFozk6PcbEE37HFIojhDR672bfcPXfKnCs="; + hash = "sha256-3hpsc/IMBTVHH6Lun9R8Dx3s53sJOb9J1fU1O56MpIc="; }; cargoDeps = rustPlatform.fetchCargoVendor { pname = "chatmail-core"; inherit version src; - hash = "sha256-p1E7K1EiEftpNSyE41LpMYmkZwjeasZzrXbYxKK/IgI="; + hash = "sha256-kDYWu8QrVv1fAyNsPN5xY7QqExbdiM7C+Af0l9HVRDQ="; }; }; - electron = electron_39; + electron = electron_40; in stdenv.mkDerivation (finalAttrs: { pname = "deltachat-desktop"; - version = "2.35.0"; + version = "2.43.0"; src = fetchFromGitHub { owner = "deltachat"; repo = "deltachat-desktop"; tag = "v${finalAttrs.version}"; - hash = "sha256-TAuluFfJnaTdgWHtA+Oif7RYneiE+16onjqjgo4QI/8="; + hash = "sha256-OIRfh0/E0fg0LepWRREmpcLbUKRSdJA+RWO3vkOu6so="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_9; fetcherVersion = 2; - hash = "sha256-9J7UJbIm9V12nWQvelgIhezVMg1yGPFFB3DXlzB/DFc="; + hash = "sha256-auvoo1YhHptbhTfeRbOQjc8vADCJhByb9efQFyskZPM="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/de/deutex/package.nix b/pkgs/by-name/de/deutex/package.nix index 339d1ec1eaaa7..fe9ca10b1028b 100644 --- a/pkgs/by-name/de/deutex/package.nix +++ b/pkgs/by-name/de/deutex/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInput = [ + buildInputs = [ libpng ]; diff --git a/pkgs/by-name/de/devcontainer/package.nix b/pkgs/by-name/de/devcontainer/package.nix index e60629d2117bc..63b4ca0d7dddb 100644 --- a/pkgs/by-name/de/devcontainer/package.nix +++ b/pkgs/by-name/de/devcontainer/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, fixup-yarn-lock, nodejs_20, + node-gyp, python3, makeBinaryWrapper, git, @@ -39,6 +40,7 @@ stdenv.mkDerivation (finalAttrs: { python3 makeBinaryWrapper nodejs + node-gyp ]; buildPhase = '' diff --git a/pkgs/by-name/de/devspace/package.nix b/pkgs/by-name/de/devspace/package.nix index a1a4d4072c14e..e67f2a657b0ec 100644 --- a/pkgs/by-name/de/devspace/package.nix +++ b/pkgs/by-name/de/devspace/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "devspace"; - version = "6.3.18"; + version = "6.3.20"; src = fetchFromGitHub { owner = "devspace-sh"; repo = "devspace"; rev = "v${finalAttrs.version}"; - hash = "sha256-33uhg2OY0owgP1rzdxcZzpN0cuYPRfX8vcwCJF9MVoo="; + hash = "sha256-z1wKjEKr2SyLe5bp08g8rzpDxQenvrTjVWjjGO6N7ys="; }; vendorHash = null; diff --git a/pkgs/by-name/de/dex-oidc/package.nix b/pkgs/by-name/de/dex-oidc/package.nix index 6946f75b9c3b7..951b02cf731fc 100644 --- a/pkgs/by-name/de/dex-oidc/package.nix +++ b/pkgs/by-name/de/dex-oidc/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "dex"; - version = "2.44.0"; + version = "2.45.0"; src = fetchFromGitHub { owner = "dexidp"; repo = "dex"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-wpy7pZBpqAaPjWbnsqtnE+65a58IGg0pyp4CEUnmmc4="; + sha256 = "sha256-qBVrOFb/Nb2CRuMwSoy5QXN5EAuKyTEGVocnEtvZdgE="; }; - vendorHash = "sha256-3ef2G4+UlLGsBW09ZM20qU82uj/hVlMAnujcd2BulGg="; + vendorHash = "sha256-1D20aZhNUi7MUPfRTmSV4CZjLr0lUzbX4TI2LFcPY3U="; subPackages = [ "cmd/dex" diff --git a/pkgs/by-name/dg/dgraph/package.nix b/pkgs/by-name/dg/dgraph/package.nix index 33ae7ce1ceda3..d64fa6b2ef31b 100644 --- a/pkgs/by-name/dg/dgraph/package.nix +++ b/pkgs/by-name/dg/dgraph/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "dgraph"; - version = "25.1.0"; + version = "25.2.0"; src = fetchFromGitHub { owner = "dgraph-io"; repo = "dgraph"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-0i3i0XPOS7v2DsO/tPJQSWJ3Yf8uz8aR1j+Mgm/QJUs="; + sha256 = "sha256-uXH+qg+YmX/C1smgHO4tEWfFM77fAFaov573prV5bH8="; }; - vendorHash = "sha256-3OwXBt0EwMk3jVny2Cs1NbGdeUy8MxDntZAn+mceKC8="; + vendorHash = "sha256-cXi5rbGjWhFFJj5OGK6s+C16KxxnVCbodsk+dT252i4="; doCheck = false; diff --git a/pkgs/by-name/di/dico/package.nix b/pkgs/by-name/di/dico/package.nix index d6a393762f5ac..0c39ca041d662 100644 --- a/pkgs/by-name/di/dico/package.nix +++ b/pkgs/by-name/di/dico/package.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Flexible dictionary server and client implementing RFC 2229"; homepage = "https://www.gnu.org/software/dico/"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; longDescription = '' diff --git a/pkgs/by-name/di/directx-headers/package.nix b/pkgs/by-name/di/directx-headers/package.nix index d60f635a4397b..ccfa6a84f3aa5 100644 --- a/pkgs/by-name/di/directx-headers/package.nix +++ b/pkgs/by-name/di/directx-headers/package.nix @@ -7,13 +7,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "directx-headers"; - version = "1.618.2"; + version = "1.619.0"; src = fetchFromGitHub { owner = "microsoft"; repo = "DirectX-Headers"; rev = "v${finalAttrs.version}"; - hash = "sha256-zKlKUnPHUCDYRBIFU2gpOUvx1d5ZoMy1vYMdByaMIyA="; + hash = "sha256-WQsK5qk1KzKSJLd6p5MtdSIHKbuORFEq8mhF0hRz6ns="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/di/discordo/package.nix b/pkgs/by-name/di/discordo/package.nix index 82f752c089fab..0a82eb3af3ef4 100644 --- a/pkgs/by-name/di/discordo/package.nix +++ b/pkgs/by-name/di/discordo/package.nix @@ -11,16 +11,16 @@ buildGoModule (finalAttrs: { pname = "discordo"; - version = "0-unstable-2026-02-17"; + version = "0-unstable-2026-02-26"; src = fetchFromGitHub { owner = "ayn2op"; repo = "discordo"; - rev = "f1650a0df751e40a589ceda4ec19626e109bac2b"; - hash = "sha256-+1XK5Zri7DiKzaqsFHYjzde1XEFlp4cj878+FzLaibg="; + rev = "27dd6e09c8cde848261248a505a4efbabdcc9e09"; + hash = "sha256-3rr7mbbPw5jrON7J80TaCZ7lBALKdtZ6vI2+uGJJaoI="; }; - vendorHash = "sha256-eltE7RkxqjYMWMv8/YmCC+WlntBTF8zO7UE0MQsG8Is="; + vendorHash = "sha256-yzGKRrPPBjg/e9zkimCb99emLHBWM10FJvlL23HbTRU="; env.CGO_ENABLED = 1; diff --git a/pkgs/by-name/di/distrobuilder/nixos-generator.patch b/pkgs/by-name/di/distrobuilder/nixos-generator.patch index 44e668dfb5528..bb32e11c00c79 100644 --- a/pkgs/by-name/di/distrobuilder/nixos-generator.patch +++ b/pkgs/by-name/di/distrobuilder/nixos-generator.patch @@ -1,6 +1,6 @@ -diff --git c/distrobuilder/lxc.generator w/distrobuilder/lxc.generator -index 5f854d3..927f2df 100644 ---- c/distrobuilder/lxc.generator +diff --git i/distrobuilder/lxc.generator w/distrobuilder/lxc.generator +index f7692af..f617b89 100644 +--- i/distrobuilder/lxc.generator +++ w/distrobuilder/lxc.generator @@ -16,16 +16,6 @@ is_lxc_privileged_container() { grep -qw 4294967295$ /proc/self/uid_map @@ -166,3 +166,12 @@ index 5f854d3..927f2df 100644 # Allow masking units created by the lxc system-generator. for d in /etc/systemd/system /usr/lib/systemd/system /lib/systemd/system; do if ! [ -d "${d}" ]; then +@@ -247,7 +176,7 @@ if [ "${SYSTEMD}" -ge 258 ]; then + cat <<-EOF > /run/systemd/system/console-getty.service.d/override.conf + [Service] + ExecStart= +- ExecStart=-/sbin/agetty -o '-- \\\\u' --noreset --noclear --keep-baud 115200,57600,38400,9600 console ++ ExecStart=-/run/current-system/sw/bin/agetty -o '-- \\\\u' --noreset --noclear --keep-baud 115200,57600,38400,9600 console + StandardInput=null + StandardOutput=null + EOF diff --git a/pkgs/by-name/di/distrobuilder/package.nix b/pkgs/by-name/di/distrobuilder/package.nix index d2f30a70d03ba..676a891d4e84d 100644 --- a/pkgs/by-name/di/distrobuilder/package.nix +++ b/pkgs/by-name/di/distrobuilder/package.nix @@ -35,15 +35,15 @@ let in buildGoModule (finalAttrs: { pname = "distrobuilder"; - version = "3.2"; + version = "3.3.1"; - vendorHash = "sha256-nlqapWxuSZlbt22F3Y9X1uXFxJHvEoUBZDl078x8ZnA="; + vendorHash = "sha256-7dYfY6u8URJDMADY6yTW2SjOeSiRwqIh7oxUup6BHMg="; src = fetchFromGitHub { owner = "lxc"; repo = "distrobuilder"; - tag = "distrobuilder-${finalAttrs.version}"; - sha256 = "sha256-aDCx2WGAKdTNf0uMzwxG0AUmbuuWBFPYzNyycKklYOY="; + tag = "v${finalAttrs.version}"; + sha256 = "sha256-l9HtpeG4BSN9saDsNaF9uyOJbHGyLN0PwJ728IJfN/s="; }; buildInputs = bins; @@ -57,6 +57,12 @@ buildGoModule (finalAttrs: { ] ++ bins; + # upstream only supports make targets due to GOFLAGS, but none of the targets work for us + # this could be fragile, but the alternative is copying them here + preBuild = '' + export GOFLAGS="$(grep 'export GOFLAGS' Makefile | sed 's/export GOFLAGS=//') -trimpath" + ''; + postInstall = '' wrapProgram $out/bin/distrobuilder --prefix PATH ":" ${lib.makeBinPath bins} ''; @@ -74,6 +80,7 @@ buildGoModule (finalAttrs: { meta = { description = "System container image builder for LXC and LXD"; homepage = "https://github.com/lxc/distrobuilder"; + changelog = "https://github.com/lxc/distrobuilder/releases/tag/v${finalAttrs.version}"; license = lib.licenses.asl20; teams = [ lib.teams.lxc ]; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/dj/django-upgrade/package.nix b/pkgs/by-name/dj/django-upgrade/package.nix index 13c9aca6243f2..c37e6c3855851 100644 --- a/pkgs/by-name/dj/django-upgrade/package.nix +++ b/pkgs/by-name/dj/django-upgrade/package.nix @@ -7,14 +7,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "django-upgrade"; - version = "1.29.1"; + version = "1.30.0"; pyproject = true; src = fetchFromGitHub { owner = "adamchainz"; repo = "django-upgrade"; tag = finalAttrs.version; - hash = "sha256-NnVFMItWiTL82LMxDKeGofaestRBfZFVjTKFjbJFmmU="; + hash = "sha256-IiGwYq6TTNiNIx1jrzQlLiULWNZlam7onJJGFFJ/hVM="; }; build-system = [ python3Packages.setuptools ]; diff --git a/pkgs/by-name/dm/dma/package.nix b/pkgs/by-name/dm/dma/package.nix new file mode 100644 index 0000000000000..6478fbc3073c5 --- /dev/null +++ b/pkgs/by-name/dm/dma/package.nix @@ -0,0 +1,48 @@ +{ + stdenv, + lib, + fetchFromGitHub, + bison, + flex, + openssl, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "dma"; + version = "0.14"; + + src = fetchFromGitHub { + owner = "corecode"; + repo = "dma"; + tag = "v${finalAttrs.version}"; + sha256 = "sha256-rmgEWkV/ZmOcO1J1uTMMO5tJWq8DTyT7ANRjHyWUGNw="; + }; + + nativeBuildInputs = [ + bison + flex + ]; + + buildInputs = [ + openssl + ]; + + postPatch = '' + substituteInPlace Makefile \ + --replace-fail " -m 2755 -o root -g mail" "" \ + --replace-fail " -m 4754 -o root -g mail" "" + substituteInPlace local.c \ + --replace-fail "LIBEXEC_PATH" '"/run/wrappers/bin"' + ''; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + ]; + + meta = { + description = "Small Mail Transport Agent, designed for home and office use"; + homepage = "https://github.com/corecode/dma"; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ aanderse ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/dm/dms-shell/package.nix b/pkgs/by-name/dm/dms-shell/package.nix index 1b380546267c3..b7b73b0020865 100644 --- a/pkgs/by-name/dm/dms-shell/package.nix +++ b/pkgs/by-name/dm/dms-shell/package.nix @@ -28,13 +28,13 @@ buildGoModule ( in { pname = "dms-shell"; - version = "1.4.2"; + version = "1.4.3"; src = fetchFromGitHub { owner = "AvengeMedia"; repo = "DankMaterialShell"; tag = "v${finalAttrs.version}"; - hash = "sha256-qPm0HLKFIN8nBiTJwA4Jq5R3KPNoMHBxkpVJ4DQ9PBI="; + hash = "sha256-5T139SdJNObUXrZ5afKUL+e6U8wqRsSX+yzcGKqFAkc="; }; sourceRoot = "${finalAttrs.src.name}/core"; diff --git a/pkgs/by-name/dn/dnsenum/package.nix b/pkgs/by-name/dn/dnsenum/package.nix index dfa56e97df6e2..165a48b02b84d 100644 --- a/pkgs/by-name/dn/dnsenum/package.nix +++ b/pkgs/by-name/dn/dnsenum/package.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/fwaeytens/dnsenum"; description = "Tool to enumerate DNS information"; mainProgram = "dnsenum"; - maintainers = with lib.maintainers; [ c0bw3b ]; + maintainers = [ ]; license = lib.licenses.gpl2Plus; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/dn/dnsproxy/package.nix b/pkgs/by-name/dn/dnsproxy/package.nix index baf1d4b3723ba..e333954dd7429 100644 --- a/pkgs/by-name/dn/dnsproxy/package.nix +++ b/pkgs/by-name/dn/dnsproxy/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "dnsproxy"; - version = "0.78.2"; + version = "0.79.0"; src = fetchFromGitHub { owner = "AdguardTeam"; repo = "dnsproxy"; tag = "v${finalAttrs.version}"; - hash = "sha256-BZ9yiw5EoSLTZux/MC8MJLV9eifQYnz+ZBzAPZaxOPI="; + hash = "sha256-R/TBsge+Jd11EvDEx3B9FD/bHdi2BQZTpXLNlvEyERk="; }; vendorHash = "sha256-NS7MsK7QXg8tcAytYd9FGvaYZcReYkO5ESPpLbzL0IQ="; diff --git a/pkgs/by-name/dn/dnsrecon/package.nix b/pkgs/by-name/dn/dnsrecon/package.nix index b02eaec8d4ced..f6d045a77a9ea 100644 --- a/pkgs/by-name/dn/dnsrecon/package.nix +++ b/pkgs/by-name/dn/dnsrecon/package.nix @@ -46,7 +46,6 @@ python3.pkgs.buildPythonApplication (finalAttrs: { changelog = "https://github.com/darkoperator/dnsrecon/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.gpl2Only; maintainers = with lib.maintainers; [ - c0bw3b fab ]; mainProgram = "dnsrecon"; diff --git a/pkgs/by-name/do/docfx/package.nix b/pkgs/by-name/do/docfx/package.nix index c54ab12aabf36..f7671c5b4309f 100644 --- a/pkgs/by-name/do/docfx/package.nix +++ b/pkgs/by-name/do/docfx/package.nix @@ -6,12 +6,12 @@ buildDotnetGlobalTool { pname = "docfx"; - version = "2.78.4"; + version = "2.78.5"; dotnet-sdk = dotnetCorePackages.sdk_8_0; dotnet-runtime = dotnetCorePackages.runtime_8_0; - nugetHash = "sha256-VvrKQjOnQ7RGp1hP+Bldi7CaM6qpfp4InB5rESISqEg="; + nugetHash = "sha256-kkoQQHXkv36ulSAUfsEKgJ6CqEOOwzAQRYHSGUNZaMU="; meta = { description = "Build your technical documentation site with docfx, with landing pages, markdown, API reference docs for .NET, REST API and more"; diff --git a/pkgs/by-name/do/docker-color-output/package.nix b/pkgs/by-name/do/docker-color-output/package.nix index f9bc39363722b..45b1918d3ae71 100644 --- a/pkgs/by-name/do/docker-color-output/package.nix +++ b/pkgs/by-name/do/docker-color-output/package.nix @@ -7,20 +7,20 @@ buildGoModule (finalAttrs: { pname = "docker-color-output"; - version = "2.6.1"; + version = "3.0.1"; src = fetchFromGitHub { owner = "devemio"; repo = "docker-color-output"; - tag = finalAttrs.version; - hash = "sha256-r11HNRXnmTC1CJR871sX7xW9ts9KAu1+azwIwXH09qg="; + tag = "v${finalAttrs.version}"; + hash = "sha256-Rpym9YckgJ583zgPpC/mQW1IGgQUppemFhAecgy3M8A="; }; postInstall = '' mv $out/bin/cli $out/bin/docker-color-output ''; - vendorHash = null; + vendorHash = "sha256-g+yaVIx4jxpAQ/+WrGKxhVeliYx7nLQe/zsGpxV4Fn4="; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/by-name/do/docker-credential-gcr/package.nix b/pkgs/by-name/do/docker-credential-gcr/package.nix index 9ee7232d3a75f..1ffefcb4d3d1f 100644 --- a/pkgs/by-name/do/docker-credential-gcr/package.nix +++ b/pkgs/by-name/do/docker-credential-gcr/package.nix @@ -9,20 +9,20 @@ buildGoModule (finalAttrs: { pname = "docker-credential-gcr"; - version = "2.1.31"; + version = "2.1.32"; src = fetchFromGitHub { owner = "GoogleCloudPlatform"; repo = "docker-credential-gcr"; tag = "v${finalAttrs.version}"; - hash = "sha256-DAqMdVayRRf8MqcE+Vfm3Inh7ja7CjMaHCuvg7/AcUA="; + hash = "sha256-xOiLrN8NLKzm7VDDzeq8gbAD6+WXYqcDaSoTpvOOvbw="; }; postPatch = '' rm -rf ./test ''; - vendorHash = "sha256-6NLem27nG6SMxxoIWOg5xLyCo8ZDb8kGPSX3TKWi/N4="; + vendorHash = "sha256-P8Mhk6jj7TlbP+rcqpYsWy8CIGJMetYAuKylXRBNKIc="; env.CGO_ENABLED = 0; diff --git a/pkgs/by-name/do/dockmate/package.nix b/pkgs/by-name/do/dockmate/package.nix new file mode 100644 index 0000000000000..14e1c07d05cd9 --- /dev/null +++ b/pkgs/by-name/do/dockmate/package.nix @@ -0,0 +1,44 @@ +{ + lib, + buildGoModule, + dockmate, + fetchFromGitHub, + versionCheckHook, +}: + +buildGoModule rec { + pname = "dockmate"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "shubh-io"; + repo = "DockMate"; + tag = "v${version}"; + hash = "sha256-kepv8jY/hddRpJMhwr55k0R8CPBKtifjrGiRxoIUDXw="; + }; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + + vendorHash = "sha256-/votTA5Rn8beq1PgHpC01D01VjBIwciPVN5eNc8iZRM="; + + # Skip tests that require a Docker daemon or interactive filesystem access, + # as these are unavailable in the restricted Nix build sandbox. + checkFlags = [ + "-skip=TestDockerComposeCommandNoFiles|TestDockerComposeCommandSingleFile|TestDockerComposeCommandMultipleFiles|TestWritingToConfigFile" + ]; + + doInstallCheck = true; + + meta = { + changelog = "https://github.com/shubh-io/DockMate/releases/tag/${src.tag}"; + description = "Terminal-based Docker container manager that actually works"; + homepage = "https://github.com/shubh-io/DockMate"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + sith-lord-vader + ]; + mainProgram = "dockmate"; + }; +} diff --git a/pkgs/by-name/do/doggo/package.nix b/pkgs/by-name/do/doggo/package.nix index a5edde9e51118..a7da8e3066ce3 100644 --- a/pkgs/by-name/do/doggo/package.nix +++ b/pkgs/by-name/do/doggo/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "doggo"; - version = "1.1.4"; + version = "1.1.5"; src = fetchFromGitHub { owner = "mr-karan"; repo = "doggo"; rev = "v${finalAttrs.version}"; - hash = "sha256-yKEjTaDwJVycsGeoJTVMjN9D4AzRLXZAY5fVIp+B14c="; + hash = "sha256-x3A/Grg5ZLi8l3bvMPGmVFB9EcaEAO158daB8WV8Yqg="; }; - vendorHash = "sha256-ybI17J5EKvigBapt8Ed2FuMEzGUVzEpJ6OTVYWXVOOc="; + vendorHash = "sha256-5GU3d2TfKjCe4DSw177egJkEhRvPqHI1SoROrh2CIS8="; nativeBuildInputs = [ installShellFiles ]; subPackages = [ "cmd/doggo" ]; diff --git a/pkgs/by-name/do/dolt/package.nix b/pkgs/by-name/do/dolt/package.nix index cbfff0b01c049..ddb1ba53a4d20 100644 --- a/pkgs/by-name/do/dolt/package.nix +++ b/pkgs/by-name/do/dolt/package.nix @@ -1,26 +1,29 @@ { fetchFromGitHub, + icu, lib, buildGoModule, }: buildGoModule (finalAttrs: { pname = "dolt"; - version = "1.59.10"; + version = "1.81.2"; src = fetchFromGitHub { owner = "dolthub"; repo = "dolt"; tag = "v${finalAttrs.version}"; - hash = "sha256-DfocUOHpPdNeMcL7kVm7ggm2cVgWp/ifvCFyFosxhcs="; + hash = "sha256-dL6WJvApRGC8ADFowms81YbJpLbbTyNQfI/RIotgTdc="; }; modRoot = "./go"; subPackages = [ "cmd/dolt" ]; - vendorHash = "sha256-yZ+q4KNfIiR2gpk10dpZOMiEN3V/Lk/pzhgaqp7lKag="; + vendorHash = "sha256-wufwBlRiRiNVZgkBFRqZIB6vNeWBBaCDdV2tcynhatk="; proxyVendor = true; doCheck = false; + buildInputs = [ icu ]; + meta = { description = "Relational database with version control and CLI a-la Git"; mainProgram = "dolt"; diff --git a/pkgs/by-name/do/doppler/package.nix b/pkgs/by-name/do/doppler/package.nix index ade04a51021e6..f9fa4e7930acb 100644 --- a/pkgs/by-name/do/doppler/package.nix +++ b/pkgs/by-name/do/doppler/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "doppler"; - version = "3.75.2"; + version = "3.75.3"; src = fetchFromGitHub { owner = "dopplerhq"; repo = "cli"; rev = finalAttrs.version; - hash = "sha256-S6g2wtF676Cc3nEKP1GpyhQRYyjKUQa9ACe41269vHY="; + hash = "sha256-4OvU0Hy2uBjeyQibODi9WqdM0adUW2vTS9SCL+O2RFA="; }; vendorHash = "sha256-u6SB3SXCqu7Y2aUoTAJ01mtDCxMofVQLAde1jDxVvks="; diff --git a/pkgs/by-name/do/dorion/package.nix b/pkgs/by-name/do/dorion/package.nix index 84fc8d8839df0..55bb2b97e1bb8 100644 --- a/pkgs/by-name/do/dorion/package.nix +++ b/pkgs/by-name/do/dorion/package.nix @@ -72,8 +72,8 @@ rustPlatform.buildRustPackage (finalAttrs: { patches ; pnpm = pnpm_9; - fetcherVersion = 1; - hash = "sha256-fX48yZKntte4OxLjXqepZQyGdN/bv4o+n+v5ZT5lXMo="; + fetcherVersion = 3; + hash = "sha256-qSmIyLv8A+JDbTVG+Qcvq3gqBXBGtfbH4/tN+CvEmd8="; }; # CMake (webkit extension) diff --git a/pkgs/by-name/do/dos2unix/package.nix b/pkgs/by-name/do/dos2unix/package.nix index 217f103da6829..9835d7a27cb72 100644 --- a/pkgs/by-name/do/dos2unix/package.nix +++ b/pkgs/by-name/do/dos2unix/package.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://waterlan.home.xs4all.nl/dos2unix.html"; changelog = "https://sourceforge.net/p/dos2unix/dos2unix/ci/dos2unix-${finalAttrs.version}/tree/dos2unix/NEWS.txt?format=raw"; license = lib.licenses.bsd2; - maintainers = with lib.maintainers; [ c0bw3b ]; + maintainers = [ ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/do/dovecot/package.nix b/pkgs/by-name/do/dovecot/package.nix index e223af418c3a0..de811df59304e 100644 --- a/pkgs/by-name/do/dovecot/package.nix +++ b/pkgs/by-name/do/dovecot/package.nix @@ -21,6 +21,7 @@ icu75, libexttextcat, libsodium, + libxcrypt, libstemmer, cyrus_sasl, nixosTests, @@ -67,6 +68,7 @@ stdenv.mkDerivation (finalAttrs: { icu75 libexttextcat libsodium + libxcrypt libstemmer cyrus_sasl.dev ] @@ -180,6 +182,8 @@ stdenv.mkDerivation (finalAttrs: { doCheck = !stdenv.hostPlatform.isDarwin; + strictDeps = true; + meta = { homepage = "https://dovecot.org/"; description = "Open source IMAP and POP3 email server written with security primarily in mind"; diff --git a/pkgs/by-name/dp/dprint/package.nix b/pkgs/by-name/dp/dprint/package.nix index ea88b2dca244d..adc406274a785 100644 --- a/pkgs/by-name/dp/dprint/package.nix +++ b/pkgs/by-name/dp/dprint/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "dprint"; - version = "0.51.1"; + version = "0.52.0"; # Prefer repository rather than crate here # - They have Cargo.lock in the repository @@ -21,10 +21,10 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "dprint"; repo = "dprint"; tag = finalAttrs.version; - hash = "sha256-jj9SsVWCw2Fzoj1ome2rJ9bADFgREUdQf0jfOpt8PkU="; + hash = "sha256-IVqHaqpoMXM1xHFCyh1lbRjKQbt7ZuX4u9Q9AoWOyWU="; }; - cargoHash = "sha256-zjk2LrljubzfNk20y4XTcnqiQQsBlc2aRwAhH8wpv3Q="; + cargoHash = "sha256-eLIkzAWt/7G73Fr2EXdVTYFd2QXqaYJvMM8SrKowbmU="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/dr/drasl/package.nix b/pkgs/by-name/dr/drasl/package.nix new file mode 100644 index 0000000000000..77963d2fafdec --- /dev/null +++ b/pkgs/by-name/dr/drasl/package.nix @@ -0,0 +1,67 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchNpmDeps, + npmHooks, + go-swag, + nodejs, + nix-update-script, +}: +buildGoModule (finalAttrs: { + pname = "drasl"; + version = "3.4.2"; + + src = fetchFromGitHub { + owner = "unmojang"; + repo = "drasl"; + tag = "v${finalAttrs.version}"; + hash = "sha256-SOH6WXhBBx5JShr18Q0SyDFYVE7LMRUONdCJ1NB2HRQ="; + }; + + nativeBuildInputs = [ + go-swag + nodejs + npmHooks.npmConfigHook + ]; + + npmDeps = fetchNpmDeps { + inherit (finalAttrs) src; + hash = "sha256-L0y04zLgno5kKUACyokma8uk/fNY2mwdMwsq217SCqI="; + }; + + vendorHash = "sha256-4Rk59bnDFYpraoGvkBUW6Z5fiXUmm2RLwS1wxScWAMQ="; + + overrideModAttrs = oldAttrs: { + nativeBuildInputs = lib.filter (drv: drv != npmHooks.npmConfigHook) oldAttrs.nativeBuildInputs; + preBuild = null; + }; + + postPatch = '' + substituteInPlace build_config.go --replace-fail "\"/usr/share/drasl\"" "\"$out/share/drasl\"" + ''; + + preBuild = '' + make prebuild + ''; + + postInstall = '' + mkdir -p "$out/share/drasl" + cp -R ./{assets,view,public,locales} "$out/share/drasl" + ''; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Yggdrasil-compatible API server for Minecraft"; + homepage = "https://github.com/unmojang/drasl"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ + evan-goode + ungeskriptet + ]; + mainProgram = "drasl"; + }; +}) diff --git a/pkgs/by-name/dr/dropwatch/package.nix b/pkgs/by-name/dr/dropwatch/package.nix index ed6ccc99414a0..43a0487a50a5e 100644 --- a/pkgs/by-name/dr/dropwatch/package.nix +++ b/pkgs/by-name/dr/dropwatch/package.nix @@ -43,6 +43,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/nhorman/dropwatch"; license = lib.licenses.gpl2Plus; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ c0bw3b ]; + maintainers = [ ]; }; }) diff --git a/pkgs/by-name/ds/dsniff/package.nix b/pkgs/by-name/ds/dsniff/package.nix index 22069f210ab6b..8d935d49f6f29 100644 --- a/pkgs/by-name/ds/dsniff/package.nix +++ b/pkgs/by-name/ds/dsniff/package.nix @@ -103,8 +103,19 @@ stdenv.mkDerivation (finalAttrs: { libnsl libnl ]; - NIX_CFLAGS_LINK = "-lglib-2.0 -lpthread -ltirpc -lnl-3 -lnl-genl-3"; - env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; + + env = { + NIX_CFLAGS_LINK = toString [ + "-lglib-2.0" + "-lpthread" + "-ltirpc" + "-lnl-3" + "-lnl-genl-3" + ]; + NIX_CFLAGS_COMPILE = toString [ + "-I${libtirpc.dev}/include/tirpc" + ]; + }; postPatch = '' for patch in debian/patches/*.patch; do patch < $patch diff --git a/pkgs/by-name/dt/dtop/package.nix b/pkgs/by-name/dt/dtop/package.nix index 45af408641ea6..4dcbe3c0ec3e0 100644 --- a/pkgs/by-name/dt/dtop/package.nix +++ b/pkgs/by-name/dt/dtop/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "dtop"; - version = "0.6.12"; + version = "0.6.13"; src = fetchFromGitHub { owner = "amir20"; repo = "dtop"; tag = "v${finalAttrs.version}"; - hash = "sha256-OUK/5Xsy6T24iGbpDsSFaKX58B5HsSHh947xPLx9jnI="; + hash = "sha256-ZnL0qUvQH/Ji8BYOzfvs2Ln+lccWTheOGha3XrAkZ0M="; }; - cargoHash = "sha256-E2CpLOIqw98ftqeFKODvwW53RP7L7JPd6acpwGuOOA4="; + cargoHash = "sha256-OiZOydaPbXuiu9FIilkgCvIkwnK4Fr5D8Ybxf4vOFes="; nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "--version"; diff --git a/pkgs/by-name/du/ducker/package.nix b/pkgs/by-name/du/ducker/package.nix index 54f15ea5ea258..cc3b2846c7c81 100644 --- a/pkgs/by-name/du/ducker/package.nix +++ b/pkgs/by-name/du/ducker/package.nix @@ -5,16 +5,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "ducker"; - version = "0.6.2"; + version = "0.6.3"; src = fetchFromGitHub { owner = "robertpsoane"; repo = "ducker"; tag = "v${finalAttrs.version}"; - sha256 = "sha256-/IFOMVCHoR+DxYkH4I2zml4wh8AEdWmdzl86+kTekFA="; + sha256 = "sha256-HQh6yXDovEf+bG+VcT6I5Q/NN3laSgPRm/2NdLpoAGE="; }; - cargoHash = "sha256-jlxhf4CLw7ZxDXM6YvtIAvub0dAJlQm1LxAeAuhQE9g="; + cargoHash = "sha256-QnEhySY34b/PRsFr77AXhWMoirShSpcoIRQxnIVVM94="; meta = { description = "Terminal app for managing docker containers, inspired by K9s"; diff --git a/pkgs/by-name/ed/edopro/package.nix b/pkgs/by-name/ed/edopro/package.nix index de7b73e63a7a0..b1cbf45324748 100644 --- a/pkgs/by-name/ed/edopro/package.nix +++ b/pkgs/by-name/ed/edopro/package.nix @@ -232,7 +232,7 @@ let # (can't use --prebuilt-core or let it build a core on its own without making core updates impossible) postPatch = '' substituteInPlace premake5.lua \ - --replace-fail 'flags "LinkTimeOptimization"' 'removeflags "LinkTimeOptimization"' + --replace-fail 'flags "LinkTimeOptimization"' 'linktimeoptimization "Off"' substituteInPlace gframe/game.cpp \ --replace-fail 'ocgcore = LoadOCGcore(Utils::GetWorkingDirectory())' 'ocgcore = LoadOCGcore("${lib.getLib ocgcore}/lib/")' diff --git a/pkgs/by-name/el/elan/package.nix b/pkgs/by-name/el/elan/package.nix index 4878d2ee821f2..11068cf6d36e3 100644 --- a/pkgs/by-name/el/elan/package.nix +++ b/pkgs/by-name/el/elan/package.nix @@ -16,16 +16,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "elan"; - version = "4.1.2"; + version = "4.2.0"; src = fetchFromGitHub { owner = "leanprover"; repo = "elan"; rev = "v${finalAttrs.version}"; - hash = "sha256-1pEa3uFO1lncCjOHEDM84A0p6xoOfZnU+OCS2j8cCK8="; + hash = "sha256-pbzZTdvjxIqzEDzE38rjeJ/lgHx8NRTD3osVP/A7nHo="; }; - cargoHash = "sha256-CLeFXpCfaTTgbr6jmUmewArKfkOquNhjlIlwtoaJfZw="; + cargoHash = "sha256-fuXmI/IxxYooc8C5otH5BlCHv7SsfWevw4i9tW65rno="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/el/electron-mail/package.nix b/pkgs/by-name/el/electron-mail/package.nix index 16c8bb7f2d306..ef689926bd185 100644 --- a/pkgs/by-name/el/electron-mail/package.nix +++ b/pkgs/by-name/el/electron-mail/package.nix @@ -10,20 +10,20 @@ let pname = "electron-mail"; - version = "5.3.5"; + version = "5.3.6"; sources = { x86_64-linux = fetchurl { url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage"; - hash = "sha256-xlDk/MwDs1DKzIx+8NyrS+yQw4u3gY5iTXvc2NWLn8s="; + hash = "sha256-3BWrVMlSUMMmuj6EAmqVtlHGCcminuVHkyPnc3TvgpM="; }; aarch64-darwin = fetchurl { url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-mac-arm64.dmg"; - hash = "sha256-5g/6ndODuK1OkeI2+DwYTZoDdgM+/qMYMgrFhHRPnAI="; + hash = "sha256-z7j5WrU1F+iX8UDLWS5sXLwHjobPKJZFKXTcHTOQ/Eo="; }; x86_64-darwin = fetchurl { url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-mac-x64.dmg"; - hash = "sha256-qjqND/H5ng2gG+llZ1aM2ju8ITHPfMVZTzDdqN0lhnU="; + hash = "sha256-7i0p7mBkzViXGdUrHXTrDDGdIy81p2YIei5Qsk8G5GU="; }; }; diff --git a/pkgs/by-name/em/emmet-language-server/package.nix b/pkgs/by-name/em/emmet-language-server/package.nix index d45bea520aad4..98573d93e361c 100644 --- a/pkgs/by-name/em/emmet-language-server/package.nix +++ b/pkgs/by-name/em/emmet-language-server/package.nix @@ -22,8 +22,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_9; - fetcherVersion = 1; - hash = "sha256-sMOC5MQmJKwXZoUZnOmBy2I83SNMdrPc6WQKmeVGiCc="; + fetcherVersion = 3; + hash = "sha256-livnY/iwd7gqy6SKFBMF2MSIs7LVFec4BFqMBVasGWE="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/en/entire/package.nix b/pkgs/by-name/en/entire/package.nix index d4788d2bf6f02..ae35202fe8ea2 100644 --- a/pkgs/by-name/en/entire/package.nix +++ b/pkgs/by-name/en/entire/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "entire"; - version = "0.4.5"; + version = "0.4.7"; src = fetchFromGitHub { owner = "entireio"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-BDke84xQ6t7W+BONQn7r8ZBENNr8oGv8mtJ5unyv0lA="; + hash = "sha256-5ZVn6ocFmOAoIOF6RFIOKWyUwRyI1mK8JHCZ9AguNQM="; }; - vendorHash = "sha256-zgVdh80aNnvC1oMp/CS0nx4b1y9b0jwVKFotil6kQZ0="; + vendorHash = "sha256-r8+mXHN0OwhO4D/DdZIKWOYaszflmrrjIZVj20Am9gw="; postPatch = '' substituteInPlace go.mod --replace-fail "go 1.25.6" "go 1.25.5" diff --git a/pkgs/by-name/en/enum4linux-ng/package.nix b/pkgs/by-name/en/enum4linux-ng/package.nix index 4f2f29655beec..d77b60db798de 100644 --- a/pkgs/by-name/en/enum4linux-ng/package.nix +++ b/pkgs/by-name/en/enum4linux-ng/package.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pname = "enum4linux-ng"; - version = "1.3.7"; + version = "1.3.10"; pyproject = true; src = fetchFromGitHub { owner = "cddmp"; repo = "enum4linux-ng"; tag = "v${finalAttrs.version}"; - hash = "sha256-Crd5sc0sYvYufN0bK4Qh7iSy22utQet6X1UlPlS48XI="; + hash = "sha256-936hLZ1O03r9aHOtHaAZ885O56TUAYNlG94UxOfoDpk="; }; build-system = with python3.pkgs; [ setuptools ]; diff --git a/pkgs/by-name/en/envoluntary/package.nix b/pkgs/by-name/en/envoluntary/package.nix new file mode 100644 index 0000000000000..5ef678bcf0e13 --- /dev/null +++ b/pkgs/by-name/en/envoluntary/package.nix @@ -0,0 +1,37 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + bash, +}: + +rustPlatform.buildRustPackage rec { + pname = "envoluntary"; + version = "0.1.4"; + + src = fetchFromGitHub { + owner = "dfrankland"; + repo = "envoluntary"; + tag = "envoluntary-v${version}"; + hash = "sha256-ccMXrR7PnV3aCehJtsJyXx5ZiCz/KrHkKDLQSV3sMYU="; + }; + + cargoHash = "sha256-AXWOU8UduQZxZWcTaOyxilbdz4BMnZlrJEFTUakFa4w="; + + preCheck = '' + export NIX_BIN_BASH="${bash}/bin/bash" + ''; + + meta = { + description = "Automatic Nix development environments for your shell"; + longDescription = '' + Envoluntary seamlessly loads and unloads Nix development environments based on directory + patterns, eliminating the need for per-project .envrc / flake.nix files while giving you + centralized control over your development tooling. + ''; + homepage = "https://github.com/dfrankland/envoluntary"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ blemouzy ]; + mainProgram = "envoluntary"; + }; +} diff --git a/pkgs/by-name/eq/equicord/package.nix b/pkgs/by-name/eq/equicord/package.nix index b76075a42f1bd..1316853b73de8 100644 --- a/pkgs/by-name/eq/equicord/package.nix +++ b/pkgs/by-name/eq/equicord/package.nix @@ -20,20 +20,20 @@ stdenv.mkDerivation (finalAttrs: { # the Equicord repository. Dates as tags (and automatic releases) were the compromise # we came to with upstream. Please do not change the version schema (e.g., to semver) # unless upstream changes the tag schema from dates. - version = "2026-02-16"; + version = "2026-02-23"; src = fetchFromGitHub { owner = "Equicord"; repo = "Equicord"; tag = finalAttrs.version; - hash = "sha256-YSTLO2DtUWNfTpUMjtFjVOAt8jOnAxZnfZFFFXe7Fkg="; + hash = "sha256-xV0XTijX7GcZZSCSpCXFGQKHl+euFjg6B5loNawwxkk="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_10; - fetcherVersion = 1; - hash = "sha256-um8CmR4H+sck6sOpIpnISPhYn/rvXNfSn6i/EgQFvk0="; + fetcherVersion = 3; + hash = "sha256-L4qy3zMM6ksYcBT7gB6qCzfZIELVe+KZZxTSnfI3Rkk="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/er/errcheck/package.nix b/pkgs/by-name/er/errcheck/package.nix index f45dd9372f9c9..a2fb5a816181e 100644 --- a/pkgs/by-name/er/errcheck/package.nix +++ b/pkgs/by-name/er/errcheck/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "errcheck"; - version = "1.9.0"; + version = "1.10.0"; src = fetchFromGitHub { owner = "kisielk"; repo = "errcheck"; rev = "v${finalAttrs.version}"; - hash = "sha256-DhOoJL4InJHl4ImIrhV086a++srC5E4LF2VQb838+L8="; + hash = "sha256-aiZAFNTaXSzVOBhcMGc6Mxj208V7WxCbDYKqItBg3lc="; }; vendorHash = "sha256-znkT0S13wCB47InP2QBCZqeWxDdEeIwQPoVWoxiAosQ="; diff --git a/pkgs/by-name/es/esphome/package.nix b/pkgs/by-name/es/esphome/package.nix index d3156e57eff1b..bcecbd23ad2e3 100644 --- a/pkgs/by-name/es/esphome/package.nix +++ b/pkgs/by-name/es/esphome/package.nix @@ -33,14 +33,14 @@ let in python.pkgs.buildPythonApplication rec { pname = "esphome"; - version = "2026.2.1"; + version = "2026.2.2"; pyproject = true; src = fetchFromGitHub { owner = "esphome"; repo = "esphome"; tag = version; - hash = "sha256-7gCUSR2jLhCre84JggSPvNHIRzAA6ZSVGTe1pQ+D8ok="; + hash = "sha256-VfiIeuwvc7CLuR3SjHH8foS2b4bKVOw/bjOYnDnmWkw="; }; patches = [ diff --git a/pkgs/by-name/es/esptool/package.nix b/pkgs/by-name/es/esptool/package.nix index 9b60852f3b9d6..885ef8a02c4e1 100644 --- a/pkgs/by-name/es/esptool/package.nix +++ b/pkgs/by-name/es/esptool/package.nix @@ -8,14 +8,14 @@ python3Packages.buildPythonApplication rec { pname = "esptool"; - version = "5.1.0"; + version = "5.2.0"; pyproject = true; src = fetchFromGitHub { owner = "espressif"; repo = "esptool"; tag = "v${version}"; - hash = "sha256-pdkL/QfrrTs/NdXlsr+2Yo+r8UTFLkxw4E6XGDAt1yE="; + hash = "sha256-jXH1T/ey61eFcev4cuLQEVynO+/+BIqRndz+GutR/GU="; }; postPatch = '' diff --git a/pkgs/by-name/et/etherpad-lite/package.nix b/pkgs/by-name/et/etherpad-lite/package.nix index 524b84f3a3ea6..918957c3dc199 100644 --- a/pkgs/by-name/et/etherpad-lite/package.nix +++ b/pkgs/by-name/et/etherpad-lite/package.nix @@ -31,8 +31,8 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_9; - fetcherVersion = 1; - hash = "sha256-/GqRoGWIQhOwKlbe4I6yTuGs+IOn4crPhwHt4ALJ97E="; + fetcherVersion = 3; + hash = "sha256-y5T7yerCK9MtTri3eZ+Iih7/DK9IMDC+d7ej746g47E="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/fa/faas-cli/package.nix b/pkgs/by-name/fa/faas-cli/package.nix index 3862ea1a81a61..390ecf4dd0edf 100644 --- a/pkgs/by-name/fa/faas-cli/package.nix +++ b/pkgs/by-name/fa/faas-cli/package.nix @@ -24,13 +24,13 @@ let in buildGoModule (finalAttrs: { pname = "faas-cli"; - version = "0.18.0"; + version = "0.18.1"; src = fetchFromGitHub { owner = "openfaas"; repo = "faas-cli"; rev = finalAttrs.version; - sha256 = "sha256-ggDfHqGu17nSxRNZESBLn8MYrvSU+ItQubNdUCAFK1c="; + sha256 = "sha256-4YypgdxWbODiFmbSsIx7Prc+YTP1OFvRi3upfBvYTrQ="; }; vendorHash = null; diff --git a/pkgs/by-name/fa/fable/package.nix b/pkgs/by-name/fa/fable/package.nix index 6dfda1c039a92..3660d752767bf 100644 --- a/pkgs/by-name/fa/fable/package.nix +++ b/pkgs/by-name/fa/fable/package.nix @@ -6,9 +6,9 @@ buildDotnetGlobalTool (finalAttrs: { pname = "fable"; - version = "4.28.0"; + version = "4.29.0"; - nugetHash = "sha256-t5Kex6sVe1B/xErMfDav+WGEjeZjndRNQA2r0FvL92g="; + nugetHash = "sha256-Eed1bb9heteWOWmv6NnXPzXbf3t218K/eHufwgtRuzI="; passthru.tests = testers.testVersion { package = finalAttrs.finalPackage; diff --git a/pkgs/by-name/fa/fail2ban/package.nix b/pkgs/by-name/fa/fail2ban/package.nix index 391b24b27f08b..e851036fbafad 100644 --- a/pkgs/by-name/fa/fail2ban/package.nix +++ b/pkgs/by-name/fa/fail2ban/package.nix @@ -113,6 +113,6 @@ python3.pkgs.buildPythonApplication (finalAttrs: { homepage = "https://www.fail2ban.org/"; description = "Program that scans log files for repeated failing login attempts and bans IP addresses"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; }; }) diff --git a/pkgs/by-name/fa/fairywren/package.nix b/pkgs/by-name/fa/fairywren/package.nix index 65418233d0486..4cdb651256863 100644 --- a/pkgs/by-name/fa/fairywren/package.nix +++ b/pkgs/by-name/fa/fairywren/package.nix @@ -22,13 +22,13 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants stdenvNoCC.mkDerivation { inherit pname; - version = "0-unstable-2026-02-15"; + version = "0-unstable-2026-02-26"; src = fetchFromGitLab { owner = "aiyahm"; repo = "FairyWren-Icons"; - rev = "2bfc2dc20a6bf4d763cdd6633b6dcfa826903756"; - hash = "sha256-9e7BNDcr4/lW0zwhkz1aUZbI3lzaVs5elF6WGXSDO4g="; + rev = "fcffa4ea729bd046836d7b5430d112663eee36f5"; + hash = "sha256-3hAd0Z4f9Gbo+dFv3Ci3j3RRAwVdNobFlD0WtD+Z8gw="; }; propagatedBuildInputs = [ diff --git a/pkgs/by-name/fa/fan2go/package.nix b/pkgs/by-name/fa/fan2go/package.nix index 7f5d3ceda0b84..4f3add865b92c 100644 --- a/pkgs/by-name/fa/fan2go/package.nix +++ b/pkgs/by-name/fa/fan2go/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "fan2go"; - version = "0.12.0"; + version = "0.13.0"; src = fetchFromGitHub { owner = "markusressel"; repo = "fan2go"; tag = finalAttrs.version; - hash = "sha256-tfIjMUaUMwBiEF9HgWFKm3ChvQJqYUIz/isyXSkptO0="; + hash = "sha256-JU6hk3JJwoiC3R+Qx6QKzALnvhTA0/luQzO5X6Cpb/I="; leaveDotGit = true; postFetch = '' cd $out @@ -25,7 +25,7 @@ buildGoModule (finalAttrs: { ''; }; - vendorHash = "sha256-JOScGakasPLZnWc2jGvG1rw0riuM3PqLCPkn/ja/P3A="; + vendorHash = "sha256-6rcU7Qtzz80WcygeLVftdpGYAuzGmWD0M+ZVxgGcgnI="; nativeBuildInputs = lib.optionals enableNVML [ autoAddDriverRunpath diff --git a/pkgs/by-name/fa/faugus-launcher/package.nix b/pkgs/by-name/fa/faugus-launcher/package.nix index 3375cb7767388..3d83e8bc7420e 100644 --- a/pkgs/by-name/fa/faugus-launcher/package.nix +++ b/pkgs/by-name/fa/faugus-launcher/package.nix @@ -18,14 +18,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "faugus-launcher"; - version = "1.15.1"; + version = "1.15.2"; pyproject = false; src = fetchFromGitHub { owner = "Faugus"; repo = "faugus-launcher"; tag = finalAttrs.version; - hash = "sha256-bqXmYR1+Df2JXR5SUtFMSo9J3/54lQ1f40KotsJ/vuQ="; + hash = "sha256-sfLgwy52yrOWpl+T2BElxDWBkma+wh0keUz9oVtL6LA="; }; nativeBuildInputs = [ @@ -40,7 +40,6 @@ python3Packages.buildPythonApplication (finalAttrs: { ]; dependencies = with python3Packages; [ - filelock pillow psutil pygobject3 diff --git a/pkgs/by-name/fe/fedistar/package.nix b/pkgs/by-name/fe/fedistar/package.nix index d78664d361f13..e0c91d88ef31e 100644 --- a/pkgs/by-name/fe/fedistar/package.nix +++ b/pkgs/by-name/fe/fedistar/package.nix @@ -37,8 +37,8 @@ rustPlatform.buildRustPackage (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_10; - fetcherVersion = 1; - hash = "sha256-xXVsjAXmrsOp+mXrYAxSKz4vX5JApLZ+Rh6hrYlnJDI="; + fetcherVersion = 3; + hash = "sha256-IznO8PJZCr6MR3mShD+Uqk2ACx8mrxTVWRTbk81zFEc="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/fe/fence/package.nix b/pkgs/by-name/fe/fence/package.nix new file mode 100644 index 0000000000000..ec528e557ee72 --- /dev/null +++ b/pkgs/by-name/fe/fence/package.nix @@ -0,0 +1,78 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + stdenv, + # linux dependencies + makeWrapper, + bubblewrap, + socat, + bpftrace, + installShellFiles, +}: + +buildGoModule (finalAttrs: { + pname = "fence"; + version = "0.1.32"; + + src = fetchFromGitHub { + owner = "Use-Tusk"; + repo = "fence"; + tag = "v${finalAttrs.version}"; + hash = "sha256-D+mAwmeOGSuKqO72atjvlhg2ez4MXtrjlnHEXPX34jI="; + }; + + vendorHash = "sha256-8v6B39TCwzu6DgFr1nuaGBEQ9s06rbBCENiGUIVw9Rk="; + + ldflags = [ + "-s" + "-w" + "-X=main.version=${finalAttrs.version}" + "-X=main.buildTime=1970-01-01T00:00:00Z" + "-X=main.gitCommit=${finalAttrs.src.rev}" + ]; + + nativeBuildInputs = [ + installShellFiles + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ makeWrapper ]; + + # Tests want to create sandbox profiles on darwin. + # Nested sandboxes are unsupported by seatbelt, which means we cannot execute the tests inside the nix build sandbox. + doCheck = stdenv.hostPlatform.isLinux; + + nativeCheckInputs = lib.optionals stdenv.hostPlatform.isLinux [ + bubblewrap + socat + bpftrace + ]; + + postInstall = + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd ${finalAttrs.meta.mainProgram} \ + --bash <($out/bin/${finalAttrs.meta.mainProgram} completion bash) \ + --fish <($out/bin/${finalAttrs.meta.mainProgram} completion fish) \ + --zsh <($out/bin/${finalAttrs.meta.mainProgram} completion zsh) + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + wrapProgram $out/bin/${finalAttrs.meta.mainProgram} \ + --suffix PATH : ${ + lib.makeBinPath [ + bubblewrap + socat + bpftrace + ] + } + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Lightweight, container-free sandbox for running commands with network and filesystem restrictions"; + homepage = "https://github.com/Use-Tusk/fence"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ dwt ]; + mainProgram = "fence"; + }; +}) diff --git a/pkgs/by-name/fi/fierce/package.nix b/pkgs/by-name/fi/fierce/package.nix index d853116e3c381..1bf6664f304b6 100644 --- a/pkgs/by-name/fi/fierce/package.nix +++ b/pkgs/by-name/fi/fierce/package.nix @@ -32,7 +32,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: { homepage = "https://github.com/mschwager/fierce"; changelog = "https://github.com/mschwager/fierce/blob/${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ c0bw3b ]; + maintainers = [ ]; mainProgram = "fierce"; }; }) diff --git a/pkgs/by-name/fi/figtree/package.nix b/pkgs/by-name/fi/figtree/package.nix new file mode 100644 index 0000000000000..0b4832de37d47 --- /dev/null +++ b/pkgs/by-name/fi/figtree/package.nix @@ -0,0 +1,42 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "figtree"; + version = "2.0.3"; + + src = fetchFromGitHub { + owner = "erikdkennedy"; + repo = "figtree"; + tag = "v${finalAttrs.version}"; + hash = "sha256-owzoM0zfKYxLJCQbL1eUE0cdSLVmm+QNRUGxbsNJ37I="; + }; + + sourceRoot = "fonts"; + + setSourceRoot = "sourceRoot=$(pwd)"; + + installPhase = '' + runHook preInstall + find . -type f -iname '*.ttf' | while read f; do + d="$out/share/fonts/truetype/figtree/$(basename "$f")" + install -Dm644 -D "$f" "$d" + done + find . -type f -iname '*.otf' | while read f; do + d="$out/share/fonts/opentype/figtree/$(basename "$f")" + install -Dm644 -D "$f" "$d" + done + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/erikdkennedy/figtree"; + description = "Simple and friendly geometric sans serif font"; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ mrcjkb ]; + license = lib.licenses.ofl; + }; +}) diff --git a/pkgs/by-name/fi/filezilla/package.nix b/pkgs/by-name/fi/filezilla/package.nix index 45c0920272a2e..dc1c6ab2e8df7 100644 --- a/pkgs/by-name/fi/filezilla/package.nix +++ b/pkgs/by-name/fi/filezilla/package.nix @@ -22,12 +22,12 @@ stdenv.mkDerivation { pname = "filezilla"; - version = "3.69.5"; + version = "3.69.6"; src = fetchsvn { url = "https://svn.filezilla-project.org/svn/FileZilla3/trunk"; - rev = "11338"; - hash = "sha256-OQZFwowkmiOcIjWoHkIFwsm6nuyMGSaBSn8zwVpCMAs="; + rev = "11365"; + hash = "sha256-KJI+UxKiwmZfVG0CiS3lDnjz+YNjTy7IoTcOmlGkluk="; }; configureFlags = [ diff --git a/pkgs/by-name/fi/finit/package.nix b/pkgs/by-name/fi/finit/package.nix index bd4524377ab31..8d6672388dc5c 100644 --- a/pkgs/by-name/fi/finit/package.nix +++ b/pkgs/by-name/fi/finit/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "finit"; - version = "4.15"; + version = "4.16"; src = fetchFromGitHub { owner = "finit-project"; repo = "finit"; tag = finalAttrs.version; - hash = "sha256-HZQHWJODWbMGH1m/P6teo0j9BDwWmKKHIa7YN0vA+c4="; + hash = "sha256-DtocGgFvt7RLqwjHczwUbsszBD5MQI5fEuq9EB2tFp4="; }; postPatch = '' diff --git a/pkgs/by-name/fl/flac2mp3/package.nix b/pkgs/by-name/fl/flac2mp3/package.nix new file mode 100644 index 0000000000000..8d2ef887ec223 --- /dev/null +++ b/pkgs/by-name/fl/flac2mp3/package.nix @@ -0,0 +1,69 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + makeWrapper, + perl, + perlPackages, + flac, + lame, +}: + +let + runtimeDeps = [ + flac + lame + ]; +in +stdenv.mkDerivation (finalAttrs: { + pname = "flac2mp3"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "robinbowes"; + repo = "flac2mp3"; + tag = finalAttrs.version; + hash = "sha256-mzZAlCMQYcKEkeJ0464zE1+F5KwA9IjvAbx6aZVCaxI="; + }; + + patches = [ + (fetchpatch { + url = "https://github.com/sktt/flac2mp3/commit/c81cb6f300445f2383562991b35d8622197635d7.patch"; + hash = "sha256-vLXo+PfRQ97cNQnMoBrxA7K35C1EdedXXSL8wmWpPOs="; + }) + ]; + + nativeBuildInputs = [ makeWrapper ]; + + buildInputs = [ perl ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib + cp -r lib/* $out/lib/ + install -Dm755 flac2mp3.pl $out/bin/flac2mp3 + + runHook postInstall + ''; + + postFixup = '' + wrapProgram $out/bin/flac2mp3 \ + --prefix PERL5LIB : "$out/lib" \ + --prefix PATH : ${lib.makeBinPath finalAttrs.passthru.runtimeDeps} + ''; + + passthru = { + inherit runtimeDeps; + }; + + meta = { + mainProgram = "flac2mp3"; + description = "Tool to convert audio files from flac to mp3 format including the copying of tags"; + homepage = "https://github.com/robinbowes/flac2mp3"; + changelog = "https://github.com/robinbowes/flac2mp3/releases/tag/${finalAttrs.version}"; + license = with lib.licenses; [ gpl3Plus ]; + maintainers = with lib.maintainers; [ lilahummel ]; + }; +}) diff --git a/pkgs/by-name/fl/fladder/package.nix b/pkgs/by-name/fl/fladder/package.nix index 687042808b454..cb2e34b40598d 100644 --- a/pkgs/by-name/fl/fladder/package.nix +++ b/pkgs/by-name/fl/fladder/package.nix @@ -2,6 +2,8 @@ lib, fetchFromGitHub, flutter335, + copyDesktopItems, + makeDesktopItem, alsa-lib, libdisplay-info, @@ -10,7 +12,7 @@ libepoxy, mpv-unwrapped, - targetFlutterPlatform ? "web", + targetFlutterPlatform ? "linux", baseUrl ? null, }: @@ -22,13 +24,13 @@ in flutter.buildFlutterApplication rec { pname = "fladder"; - version = "0.9.0"; + version = "0.10.1"; src = fetchFromGitHub { owner = "DonutWare"; repo = "Fladder"; tag = "v${version}"; - hash = "sha256-IX3qbIgfi9d8rP24yIGlBzi5l28YQWnvLD+dD+7uIZc="; + hash = "sha256-lmtEgBxCmEYcckhSAXhMPDzNQBluTyW0yjkt6Rr9byA="; }; inherit targetFlutterPlatform; @@ -46,6 +48,10 @@ flutter.buildFlutterApplication rec { media_kit_libs_windows_video = media_kit_hash; }; + nativeBuildInputs = lib.optionals (targetFlutterPlatform == "linux") [ + copyDesktopItems + ]; + buildInputs = [ alsa-lib libdisplay-info @@ -57,21 +63,48 @@ flutter.buildFlutterApplication rec { libepoxy ]; - postInstall = lib.optionalString (targetFlutterPlatform == "web") ( - '' - sed -i 's;base href="/";base href="$out";' $out/index.html - '' - + lib.optionalString (baseUrl != null) '' - echo '{"baseUrl": "${baseUrl}"}' > $out/assets/config/config.json - '' - ); + postInstall = + lib.optionalString (targetFlutterPlatform == "web") ( + '' + sed -i 's;base href="/";base href="$out";' $out/index.html + '' + + lib.optionalString (baseUrl != null) '' + echo '{"baseUrl": "${baseUrl}"}' > $out/assets/config/config.json + '' + ) + + lib.optionalString (targetFlutterPlatform == "linux") '' + # Install SVG icon + install -Dm644 icons/fladder_icon.svg \ + $out/share/icons/hicolor/scalable/apps/fladder.svg + ''; + + desktopItems = lib.optionals (targetFlutterPlatform == "linux") [ + (makeDesktopItem { + name = "fladder"; + desktopName = "Fladder"; + genericName = "Jellyfin Client"; + exec = "Fladder"; + icon = "fladder"; + comment = "Simple Jellyfin Frontend built on top of Flutter"; + categories = [ + "AudioVideo" + "Video" + "Player" + ]; + }) + ]; + + passthru.updateScript = ./update.sh; meta = { description = "Simple Jellyfin Frontend built on top of Flutter"; homepage = "https://github.com/DonutWare/Fladder"; downloadPage = "https://github.com/DonutWare/Fladder/releases"; license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ ratcornu ]; + maintainers = with lib.maintainers; [ + ratcornu + schembriaiden + ]; mainProgram = "Fladder"; }; } diff --git a/pkgs/by-name/fl/fladder/pubspec.lock.json b/pkgs/by-name/fl/fladder/pubspec.lock.json index 1dc80e0cea522..cf883febfb8a7 100644 --- a/pkgs/by-name/fl/fladder/pubspec.lock.json +++ b/pkgs/by-name/fl/fladder/pubspec.lock.json @@ -54,11 +54,11 @@ "dependency": "direct main", "description": { "name": "archive", - "sha256": "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd", + "sha256": "a96e8b390886ee8abb49b7bd3ac8df6f451c621619f52a26e815fdcf568959ff", "url": "https://pub.dev" }, "source": "hosted", - "version": "4.0.7" + "version": "4.0.9" }, "args": { "dependency": "transitive", @@ -124,11 +124,11 @@ "dependency": "direct main", "description": { "name": "auto_route", - "sha256": "4916e0fe1cb782e315d0e1ebdd34170f1836a8f6e24cb528083671302b486ace", + "sha256": "6d3ccc11b520b6eff0ab5a2c3d1c43c46d1486249cc746c4bb14486d876e8b43", "url": "https://pub.dev" }, "source": "hosted", - "version": "10.2.2" + "version": "10.3.0" }, "auto_route_generator": { "dependency": "direct dev", @@ -154,11 +154,11 @@ "dependency": "direct main", "description": { "name": "background_downloader", - "sha256": "a913b37cc47a656a225e9562b69576000d516f705482f392e2663500e6ff6032", + "sha256": "2ea5322fe836c0aaf96aefd29ef1936771c71927f687cf18168dcc119666a45f", "url": "https://pub.dev" }, "source": "hosted", - "version": "9.3.0" + "version": "9.5.2" }, "boolean_selector": { "dependency": "transitive", @@ -254,11 +254,11 @@ "dependency": "transitive", "description": { "name": "built_value", - "sha256": "a30f0a0e38671e89a492c44d005b5545b830a961575bbd8336d42869ff71066d", + "sha256": "6ae8a6435a8c6520c7077b107e77f1fb4ba7009633259a4d49a8afd8e7efc5e9", "url": "https://pub.dev" }, "source": "hosted", - "version": "8.12.0" + "version": "8.12.4" }, "cached_network_image": { "dependency": "direct main", @@ -294,11 +294,11 @@ "dependency": "transitive", "description": { "name": "characters", - "sha256": "f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803", + "sha256": "faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.4.0" + "version": "1.4.1" }, "charcode": { "dependency": "transitive", @@ -330,6 +330,16 @@ "source": "hosted", "version": "1.13.0" }, + "chinese_font_library": { + "dependency": "direct main", + "description": { + "name": "chinese_font_library", + "sha256": "f6c18eb58c1514a95e4ed9a7e2f6702be1333b67e4226976b333e5918021c1df", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, "chopper": { "dependency": "direct main", "description": { @@ -384,11 +394,11 @@ "dependency": "transitive", "description": { "name": "code_builder", - "sha256": "11654819532ba94c34de52ff5feb52bd81cba1de00ef2ed622fd50295f9d4243", + "sha256": "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d", "url": "https://pub.dev" }, "source": "hosted", - "version": "4.11.0" + "version": "4.11.1" }, "collection": { "dependency": "direct main", @@ -434,11 +444,11 @@ "dependency": "transitive", "description": { "name": "cross_file", - "sha256": "942a4791cd385a68ccb3b32c71c427aba508a1bb949b86dff2adbe4049f16239", + "sha256": "28bb3ae56f117b5aec029d702a90f57d285cd975c3c5c281eaca38dbc47c5937", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.3.5" + "version": "0.3.5+2" }, "crypto": { "dependency": "transitive", @@ -544,11 +554,11 @@ "dependency": "transitive", "description": { "name": "dbus", - "sha256": "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c", + "sha256": "d0c98dcd4f5169878b6cf8f6e0a52403a9dff371a3e2f019697accbf6f44a270", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.7.11" + "version": "0.7.12" }, "decimal": { "dependency": "transitive", @@ -634,11 +644,11 @@ "dependency": "direct main", "description": { "name": "drift_sync", - "sha256": "f358c39bdfa474c020ddd6022ef91540d30b21ef0faab6be331f1e0349e585e5", + "sha256": "2ddb41cfe92a0d644ec2cb9cd25a6273bf0940693dddb9411c2c350f5f1cdb3f", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.14.0" + "version": "0.14.1" }, "dynamic_color": { "dependency": "direct main", @@ -654,11 +664,11 @@ "dependency": "transitive", "description": { "name": "equatable", - "sha256": "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7", + "sha256": "3e0141505477fd8ad55d6eb4e7776d3fe8430be8e497ccb1521370c3f21a3e2b", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.0.7" + "version": "2.0.8" }, "extended_image": { "dependency": "direct main", @@ -694,11 +704,11 @@ "dependency": "transitive", "description": { "name": "ffi", - "sha256": "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418", + "sha256": "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.1.4" + "version": "2.2.0" }, "file": { "dependency": "transitive", @@ -714,11 +724,11 @@ "dependency": "direct main", "description": { "name": "file_picker", - "sha256": "f8f4ea435f791ab1f817b4e338ed958cb3d04ba43d6736ffc39958d950754967", + "sha256": "57d9a1dd5063f85fa3107fb42d1faffda52fdc948cefd5fe5ea85267a5fc7343", "url": "https://pub.dev" }, "source": "hosted", - "version": "10.3.6" + "version": "10.3.10" }, "fixnum": { "dependency": "transitive", @@ -770,51 +780,51 @@ "dependency": "direct main", "description": { "name": "flutter_custom_tabs", - "sha256": "ac3543d7b4e0ac6ecdf3744360039ebb573656c0ce759149d228e1934d4f7535", + "sha256": "8c3d92b074a8109f1dc76333c5ff8f87ea5896c118264c4b6b6e7d880058e820", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.4.0" + "version": "2.5.0" }, "flutter_custom_tabs_android": { "dependency": "transitive", "description": { "name": "flutter_custom_tabs_android", - "sha256": "925fc5e7d27372ee523962dcfcd4b77c0443549482c284dd7897b77815547621", + "sha256": "84e6b856fae8ca347bf47156f2106aac5671441fd6b3c531d1b793d22d29dece", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.3.1" + "version": "2.4.0" }, "flutter_custom_tabs_ios": { "dependency": "transitive", "description": { "name": "flutter_custom_tabs_ios", - "sha256": "c61a58d30b29ccb09ea4da0daa335bbf8714bcf8798d0d9f4f58a0b83c6c421b", + "sha256": "5f8bbfedad7ff60da4875d888085c05b1d0fd90acbfa4a624ae71b78c5cc6e37", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.4.0" + "version": "2.5.0" }, "flutter_custom_tabs_platform_interface": { "dependency": "transitive", "description": { "name": "flutter_custom_tabs_platform_interface", - "sha256": "54a6ff5cc7571cb266a47ade9f6f89d1980b9ed2dba18162a6d5300afc408449", + "sha256": "2b66c541f3ca87fbf3e63808dbd41b28cb76f512acce5940f2468b33abe69031", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.3.0" + "version": "2.4.0" }, "flutter_custom_tabs_web": { "dependency": "transitive", "description": { "name": "flutter_custom_tabs_web", - "sha256": "236e035c73b6d3ef0a2f85cd8b6b815954e7559c9f9d50a15ed2e53a297b58b0", + "sha256": "d606b231859c79679c78dbf05293528a543e3e067c2893a3a5bed1ab9a8300bb", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.3.0" + "version": "2.4.0" }, "flutter_highlight": { "dependency": "transitive", @@ -896,6 +906,46 @@ "source": "hosted", "version": "6.0.0" }, + "flutter_local_notifications": { + "dependency": "direct main", + "description": { + "name": "flutter_local_notifications", + "sha256": "2b50e938a275e1ad77352d6a25e25770f4130baa61eaf02de7a9a884680954ad", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "20.1.0" + }, + "flutter_local_notifications_linux": { + "dependency": "transitive", + "description": { + "name": "flutter_local_notifications_linux", + "sha256": "dce0116868cedd2cdf768af0365fc37ff1cbef7c02c4f51d0587482e625868d0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "7.0.0" + }, + "flutter_local_notifications_platform_interface": { + "dependency": "transitive", + "description": { + "name": "flutter_local_notifications_platform_interface", + "sha256": "23de31678a48c084169d7ae95866df9de5c9d2a44be3e5915a2ff067aeeba899", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "10.0.0" + }, + "flutter_local_notifications_windows": { + "dependency": "transitive", + "description": { + "name": "flutter_local_notifications_windows", + "sha256": "e97a1a3016512437d9c0b12fae7d1491c3c7b9aa7f03a69b974308840656b02a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.1" + }, "flutter_localizations": { "dependency": "direct main", "description": "flutter", @@ -916,11 +966,11 @@ "dependency": "transitive", "description": { "name": "flutter_plugin_android_lifecycle", - "sha256": "306f0596590e077338312f38837f595c04f28d6cdeeac392d3d74df2f0003687", + "sha256": "ee8068e0e1cd16c4a82714119918efdeed33b3ba7772c54b5d094ab53f9b7fd1", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.0.32" + "version": "2.0.33" }, "flutter_riverpod": { "dependency": "direct main", @@ -966,11 +1016,11 @@ "dependency": "direct main", "description": { "name": "flutter_svg", - "sha256": "055de8921be7b8e8b98a233c7a5ef84b3a6fcc32f46f1ebf5b9bb3576d108355", + "sha256": "87fbd7c534435b6c5d9d98b01e1fd527812b82e68ddd8bd35fc45ed0fa8f0a95", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.2.2" + "version": "2.2.3" }, "flutter_test": { "dependency": "direct dev", @@ -1058,11 +1108,11 @@ "dependency": "direct main", "description": { "name": "fvp", - "sha256": "33e34a78d3e4bd3ab87af7279d7bc88ff6025291574edc7e8592abea91e04cb4", + "sha256": "e03c4ba02c367cde8610c09325d085c9b1efe4f7d98a563950993a1fee17a28b", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.35.0" + "version": "0.35.2" }, "fwfh_cached_network_image": { "dependency": "transitive", @@ -1278,11 +1328,11 @@ "dependency": "direct main", "description": { "name": "image", - "sha256": "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928", + "sha256": "f9881ff4998044947ec38d098bc7c8316ae1186fa786eddffdb867b9bc94dfce", "url": "https://pub.dev" }, "source": "hosted", - "version": "4.5.4" + "version": "4.8.0" }, "intl": { "dependency": "direct main", @@ -1408,11 +1458,11 @@ "dependency": "transitive", "description": { "name": "lints", - "sha256": "a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0", + "sha256": "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df", "url": "https://pub.dev" }, "source": "hosted", - "version": "6.0.0" + "version": "6.1.0" }, "local_auth": { "dependency": "direct main", @@ -1478,11 +1528,11 @@ "dependency": "direct main", "description": { "name": "macos_window_utils", - "sha256": "d4df3501fd32ac0d2d7590cb6a8e4758337d061c8fa0db816fdd636be63a8438", + "sha256": "cb918e1ff0b31fdaa5cd8631eded7c24bd72e1025cf1f95c819e483f0057c652", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.9.0" + "version": "1.9.1" }, "markdown": { "dependency": "transitive", @@ -1508,28 +1558,28 @@ "dependency": "transitive", "description": { "name": "matcher", - "sha256": "dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2", + "sha256": "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.12.17" + "version": "0.12.18" }, "material_color_utilities": { "dependency": "transitive", "description": { "name": "material_color_utilities", - "sha256": "f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec", + "sha256": "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.11.1" + "version": "0.13.0" }, "media_kit": { "dependency": "direct main", "description": { "path": "media_kit", "ref": "main", - "resolved-ref": "e3c72e76a7005d97c6f2b20ad3e38c5d52ed85b5", + "resolved-ref": "34bde583caa800bf2beb06ec6287c943eda24296", "url": "https://github.com/DonutWare/media-kit.git" }, "source": "git", @@ -1540,7 +1590,7 @@ "description": { "path": "libs/android/media_kit_libs_android_video", "ref": "HEAD", - "resolved-ref": "e3c72e76a7005d97c6f2b20ad3e38c5d52ed85b5", + "resolved-ref": "34bde583caa800bf2beb06ec6287c943eda24296", "url": "https://github.com/DonutWare/media-kit.git" }, "source": "git", @@ -1551,7 +1601,7 @@ "description": { "path": "libs/ios/media_kit_libs_ios_video", "ref": "HEAD", - "resolved-ref": "e3c72e76a7005d97c6f2b20ad3e38c5d52ed85b5", + "resolved-ref": "34bde583caa800bf2beb06ec6287c943eda24296", "url": "https://github.com/DonutWare/media-kit.git" }, "source": "git", @@ -1562,7 +1612,7 @@ "description": { "path": "libs/linux/media_kit_libs_linux", "ref": "HEAD", - "resolved-ref": "e3c72e76a7005d97c6f2b20ad3e38c5d52ed85b5", + "resolved-ref": "34bde583caa800bf2beb06ec6287c943eda24296", "url": "https://github.com/DonutWare/media-kit.git" }, "source": "git", @@ -1573,7 +1623,7 @@ "description": { "path": "libs/macos/media_kit_libs_macos_video", "ref": "HEAD", - "resolved-ref": "e3c72e76a7005d97c6f2b20ad3e38c5d52ed85b5", + "resolved-ref": "34bde583caa800bf2beb06ec6287c943eda24296", "url": "https://github.com/DonutWare/media-kit.git" }, "source": "git", @@ -1584,7 +1634,7 @@ "description": { "path": "libs/universal/media_kit_libs_video", "ref": "main", - "resolved-ref": "e3c72e76a7005d97c6f2b20ad3e38c5d52ed85b5", + "resolved-ref": "34bde583caa800bf2beb06ec6287c943eda24296", "url": "https://github.com/DonutWare/media-kit.git" }, "source": "git", @@ -1595,7 +1645,7 @@ "description": { "path": "libs/windows/media_kit_libs_windows_video", "ref": "HEAD", - "resolved-ref": "e3c72e76a7005d97c6f2b20ad3e38c5d52ed85b5", + "resolved-ref": "34bde583caa800bf2beb06ec6287c943eda24296", "url": "https://github.com/DonutWare/media-kit.git" }, "source": "git", @@ -1606,7 +1656,7 @@ "description": { "path": "media_kit_video", "ref": "main", - "resolved-ref": "e3c72e76a7005d97c6f2b20ad3e38c5d52ed85b5", + "resolved-ref": "34bde583caa800bf2beb06ec6287c943eda24296", "url": "https://github.com/DonutWare/media-kit.git" }, "source": "git", @@ -1616,11 +1666,11 @@ "dependency": "transitive", "description": { "name": "meta", - "sha256": "e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c", + "sha256": "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.16.0" + "version": "1.17.0" }, "mime": { "dependency": "transitive", @@ -1756,21 +1806,21 @@ "dependency": "transitive", "description": { "name": "path_provider_android", - "sha256": "95c68a74d3cab950fd0ed8073d9fab15c1c06eb1f3eec68676e87aabc9ecee5a", + "sha256": "f2c65e21139ce2c3dad46922be8272bb5963516045659e71bb16e151c93b580e", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.2.21" + "version": "2.2.22" }, "path_provider_foundation": { "dependency": "transitive", "description": { "name": "path_provider_foundation", - "sha256": "97390a0719146c7c3e71b6866c34f1cde92685933165c1c671984390d2aca776", + "sha256": "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.4.4" + "version": "2.5.1" }, "path_provider_linux": { "dependency": "transitive", @@ -1802,15 +1852,75 @@ "source": "hosted", "version": "2.3.0" }, + "permission_handler": { + "dependency": "direct main", + "description": { + "name": "permission_handler", + "sha256": "bc917da36261b00137bbc8896bf1482169cd76f866282368948f032c8c1caae1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "12.0.1" + }, + "permission_handler_android": { + "dependency": "transitive", + "description": { + "name": "permission_handler_android", + "sha256": "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "13.0.1" + }, + "permission_handler_apple": { + "dependency": "transitive", + "description": { + "name": "permission_handler_apple", + "sha256": "f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "9.4.7" + }, + "permission_handler_html": { + "dependency": "transitive", + "description": { + "name": "permission_handler_html", + "sha256": "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.1.3+5" + }, + "permission_handler_platform_interface": { + "dependency": "transitive", + "description": { + "name": "permission_handler_platform_interface", + "sha256": "eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.3.0" + }, + "permission_handler_windows": { + "dependency": "transitive", + "description": { + "name": "permission_handler_windows", + "sha256": "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.1" + }, "petitparser": { "dependency": "transitive", "description": { "name": "petitparser", - "sha256": "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1", + "sha256": "91bd59303e9f769f108f8df05e371341b15d59e995e6806aefab827b58336675", "url": "https://pub.dev" }, "source": "hosted", - "version": "7.0.1" + "version": "7.0.2" }, "pigeon": { "dependency": "direct dev", @@ -1956,11 +2066,11 @@ "dependency": "transitive", "description": { "name": "qs_dart", - "sha256": "27da57e8b394163f96b74bccb6eb6115bfd2585de4b9ad6241bdf1a9797ab54f", + "sha256": "0e46bec269e1c32befc20c6e7b809186f7463c98b16e685b11dc5a98bc14b8c8", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.6.0" + "version": "1.7.0" }, "rational": { "dependency": "transitive", @@ -1986,11 +2096,11 @@ "dependency": "direct main", "description": { "name": "reorderable_grid", - "sha256": "c7d2e1f2e032a8fffe121f9da828546ee58db35c9c7d19d7a2d189dea2f9939d", + "sha256": "15873d8afa6c0a106f0e165f4fbb2bb92dbfe18837e0c9f5d62ac4e26448863d", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.0.12" + "version": "1.0.13" }, "riverpod": { "dependency": "transitive", @@ -2046,11 +2156,11 @@ "dependency": "transitive", "description": { "name": "safe_local_storage", - "sha256": "e9a21b6fec7a8aa62cc2585ff4c1b127df42f3185adbd2aca66b47abe2e80236", + "sha256": "287ea1f667c0b93cdc127dccc707158e2d81ee59fba0459c31a0c7da4d09c755", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.0.1" + "version": "2.0.3" }, "screen_brightness": { "dependency": "direct main", @@ -2206,21 +2316,21 @@ "dependency": "direct main", "description": { "name": "shared_preferences", - "sha256": "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5", + "sha256": "2939ae520c9024cb197fc20dee269cd8cdbf564c8b5746374ec6cacdc5169e64", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.5.3" + "version": "2.5.4" }, "shared_preferences_android": { "dependency": "transitive", "description": { "name": "shared_preferences_android", - "sha256": "07d552dbe8e71ed720e5205e760438ff4ecfb76ec3b32ea664350e2ca4b0c43b", + "sha256": "cbc40be9be1c5af4dab4d6e0de4d5d3729e6f3d65b89d21e1815d57705644a6f", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.4.16" + "version": "2.4.20" }, "shared_preferences_foundation": { "dependency": "transitive", @@ -2342,11 +2452,11 @@ "dependency": "transitive", "description": { "name": "source_span", - "sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c", + "sha256": "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.10.1" + "version": "1.10.2" }, "sqflite": { "dependency": "transitive", @@ -2412,11 +2522,11 @@ "dependency": "transitive", "description": { "name": "sqlite3_flutter_libs", - "sha256": "69c80d812ef2500202ebd22002cbfc1b6565e9ff56b2f971e757fac5d42294df", + "sha256": "1e800ebe7f85a80a66adacaa6febe4d5f4d8b75f244e9838a27cb2ffc7aec08d", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.5.40" + "version": "0.5.41" }, "sqlparser": { "dependency": "transitive", @@ -2532,11 +2642,21 @@ "dependency": "transitive", "description": { "name": "test_api", - "sha256": "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00", + "sha256": "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.7.6" + "version": "0.7.9" + }, + "timezone": { + "dependency": "transitive", + "description": { + "name": "timezone", + "sha256": "dd14a3b83cfd7cb19e7888f1cbc20f258b8d71b54c06f79ac585f14093a287d1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.10.1" }, "timing": { "dependency": "transitive", @@ -2612,11 +2732,11 @@ "dependency": "transitive", "description": { "name": "uri_parser", - "sha256": "ff4d2c720aca3f4f7d5445e23b11b2d15ef8af5ddce5164643f38ff962dcb270", + "sha256": "051c62e5f693de98ca9f130ee707f8916e2266945565926be3ff20659f7853ce", "url": "https://pub.dev" }, "source": "hosted", - "version": "3.0.0" + "version": "3.0.2" }, "url_launcher": { "dependency": "direct main", @@ -2632,11 +2752,11 @@ "dependency": "transitive", "description": { "name": "url_launcher_android", - "sha256": "dff5e50339bf30b06d7950b50fda58164d3d8c40042b104ed041ddc520fbff28", + "sha256": "767344bf3063897b5cf0db830e94f904528e6dd50a6dfaf839f0abf509009611", "url": "https://pub.dev" }, "source": "hosted", - "version": "6.3.25" + "version": "6.3.28" }, "url_launcher_ios": { "dependency": "transitive", @@ -2702,11 +2822,11 @@ "dependency": "transitive", "description": { "name": "uuid", - "sha256": "a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8", + "sha256": "1fef9e8e11e2991bb773070d4656b7bd5d850967a2456cfc83cf47925ba79489", "url": "https://pub.dev" }, "source": "hosted", - "version": "4.5.2" + "version": "4.5.3" }, "value_layout_builder": { "dependency": "transitive", @@ -2742,11 +2862,11 @@ "dependency": "transitive", "description": { "name": "vector_graphics_compiler", - "sha256": "d354a7ec6931e6047785f4db12a1f61ec3d43b207fc0790f863818543f8ff0dc", + "sha256": "5a88dd14c0954a5398af544651c7fb51b457a2a556949bfb25369b210ef73a74", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.1.19" + "version": "1.2.0" }, "vector_math": { "dependency": "transitive", @@ -2772,21 +2892,21 @@ "dependency": "transitive", "description": { "name": "video_player_android", - "sha256": "36913f94430b474c4a9033d59b7552b800e736a8521e7166e84895ddcedd0b03", + "sha256": "9862c67c4661c98f30fe707bc1a4f97d6a0faa76784f485d282668e4651a7ac3", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.8.19" + "version": "2.9.4" }, "video_player_avfoundation": { "dependency": "transitive", "description": { "name": "video_player_avfoundation", - "sha256": "6bced1739cf1f96f03058118adb8ac0dd6f96aa1a1a6e526424ab92fd2a6a77d", + "sha256": "d1eb970495a76abb35e5fa93ee3c58bd76fb6839e2ddf2fbb636674f2b971dd4", "url": "https://pub.dev" }, "source": "hosted", - "version": "2.8.7" + "version": "2.8.9" }, "video_player_platform_interface": { "dependency": "transitive", @@ -2852,11 +2972,11 @@ "dependency": "transitive", "description": { "name": "watcher", - "sha256": "592ab6e2892f67760543fb712ff0177f4ec76c031f02f5b4ff8d3fc5eb9fb61a", + "sha256": "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635", "url": "https://pub.dev" }, "source": "hosted", - "version": "1.1.4" + "version": "1.2.1" }, "weak_map": { "dependency": "transitive", @@ -2902,21 +3022,21 @@ "dependency": "transitive", "description": { "name": "webview_flutter", - "sha256": "c3e4fe614b1c814950ad07186007eff2f2e5dd2935eba7b9a9a1af8e5885f1ba", + "sha256": "a3da219916aba44947d3a5478b1927876a09781174b5a2b67fa5be0555154bf9", "url": "https://pub.dev" }, "source": "hosted", - "version": "4.13.0" + "version": "4.13.1" }, "webview_flutter_android": { "dependency": "transitive", "description": { "name": "webview_flutter_android", - "sha256": "f754fec262c5bf826615e8c7f035da1c536ba6ad9b1181936fad900d297cb687", + "sha256": "eeeb3fcd5f0ff9f8446c9f4bbc18a99b809e40297528a3395597d03aafb9f510", "url": "https://pub.dev" }, "source": "hosted", - "version": "4.10.6" + "version": "4.10.11" }, "webview_flutter_platform_interface": { "dependency": "transitive", @@ -2932,11 +3052,11 @@ "dependency": "transitive", "description": { "name": "webview_flutter_wkwebview", - "sha256": "8f4fa32670375f4ce9bfe0f1c773e0857dd191f4e6b3518a1dcdeb7a880bae2e", + "sha256": "108bd85d0ff20bff1e8b52a040f5c19b6b9fc4a78fdf3160534ff5a11a82e267", "url": "https://pub.dev" }, "source": "hosted", - "version": "3.23.3" + "version": "3.23.7" }, "win32": { "dependency": "transitive", @@ -2958,6 +3078,46 @@ "source": "hosted", "version": "0.5.1" }, + "workmanager": { + "dependency": "direct main", + "description": { + "name": "workmanager", + "sha256": "065673b2a465865183093806925419d311a9a5e0995aa74ccf8920fd695e2d10", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.9.0+3" + }, + "workmanager_android": { + "dependency": "transitive", + "description": { + "name": "workmanager_android", + "sha256": "9ae744db4ef891f5fcd2fb8671fccc712f4f96489a487a1411e0c8675e5e8cb7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.9.0+2" + }, + "workmanager_apple": { + "dependency": "transitive", + "description": { + "name": "workmanager_apple", + "sha256": "1cc12ae3cbf5535e72f7ba4fde0c12dd11b757caf493a28e22d684052701f2ca", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.9.1+2" + }, + "workmanager_platform_interface": { + "dependency": "transitive", + "description": { + "name": "workmanager_platform_interface", + "sha256": "f40422f10b970c67abb84230b44da22b075147637532ac501729256fcea10a47", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.9.1+1" + }, "xdg_directories": { "dependency": "transitive", "description": { diff --git a/pkgs/by-name/fl/fladder/update.sh b/pkgs/by-name/fl/fladder/update.sh new file mode 100755 index 0000000000000..22d47fd969d07 --- /dev/null +++ b/pkgs/by-name/fl/fladder/update.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p yq nix bash coreutils nix-update common-updater-scripts ripgrep flutter + +set -eou pipefail + +PACKAGE_DIR="$(realpath "$(dirname "$0")")" +cd "$PACKAGE_DIR"/.. +while ! test -f flake.nix; do cd ..; done +NIXPKGS_DIR="$PWD" + +latestVersion=$( + list-git-tags --url=https://github.com/DonutWare/Fladder | + rg '^v(.*)' -r '$1' | + sort --version-sort | + tail -n1 +) + +currentVersion=$(nix-instantiate --eval -E "with import ./. {}; fladder.version or (lib.getVersion fladder)" | tr -d '"') + +if [[ "$currentVersion" == "$latestVersion" ]]; then + echo "package is up-to-date: $currentVersion" + exit 0 +fi + +nix-update --version=$latestVersion fladder + +export HOME="$(mktemp -d)" +src="$(nix-build --no-link "$NIXPKGS_DIR" -A fladder.src)" +TMPDIR="$(mktemp -d)" +cp --recursive --no-preserve=mode "$src"/* $TMPDIR +cd "$TMPDIR" +flutter pub get +yq . pubspec.lock >"$PACKAGE_DIR"/pubspec.lock.json +rm -rf $TMPDIR diff --git a/pkgs/by-name/fl/flashfocus/package.nix b/pkgs/by-name/fl/flashfocus/package.nix index 5fc0c507d3cb2..f2da74a22f2ce 100644 --- a/pkgs/by-name/fl/flashfocus/package.nix +++ b/pkgs/by-name/fl/flashfocus/package.nix @@ -2,6 +2,7 @@ lib, python3Packages, fetchPypi, + fetchpatch, netcat-openbsd, procps, bash, @@ -19,6 +20,14 @@ python3Packages.buildPythonApplication (finalAttrs: { hash = "sha256-O6jRQ6e96b8CuumTD6TGELaz26No7WFZgGSnNSlqzuE="; }; + patches = [ + (fetchpatch { + name = "bump-marshmallow.patch"; + url = "https://github.com/fennerm/flashfocus/commit/0ed8616ad31c5e281be1a890ad9510323fa1b6c7.patch"; + hash = "sha256-A7PwvqPpi4koKD3d6SRHVV753hGd9wIf3/nT49f6qoY="; + }) + ]; + postPatch = '' substituteInPlace bin/nc_flash_window \ --replace-fail "nc" "${lib.getExe netcat-openbsd}" diff --git a/pkgs/by-name/fl/fleet/package.nix b/pkgs/by-name/fl/fleet/package.nix index 10f5fd899183b..51ebfcc107c81 100644 --- a/pkgs/by-name/fl/fleet/package.nix +++ b/pkgs/by-name/fl/fleet/package.nix @@ -12,12 +12,12 @@ }: let pname = "fleet"; - version = "4.79.1"; + version = "4.81.0"; src = fetchFromGitHub { owner = "fleetdm"; repo = "fleet"; tag = "fleet-v${version}"; - hash = "sha256-o/exnUy5vXi+Ey8smd36588M8B7GQlG5ZqtGyYySkxQ="; + hash = "sha256-LPbMcaQ3YIfh5qwIBB7BwJFgMPurCJudrOzUPm5+VcM="; }; frontend = stdenvNoCC.mkDerivation { @@ -32,7 +32,7 @@ let yarnOfflineCache = fetchYarnDeps { yarnLock = src + "/yarn.lock"; - hash = "sha256-cCf0Q6g+VJaTCOZ12/7z8gcDf3+YT2LBTCJb39InJVw="; + hash = "sha256-9FuGmL9/hkPZo0ecneL4i9Hg6gkRbwhKGfIvn3/YpVo="; }; NODE_ENV = "production"; @@ -54,7 +54,7 @@ in buildGoModule (finalAttrs: { inherit pname version src; - vendorHash = "sha256-CYqg8kHGUu+wd9l5UYURqmoR8/13HX9t5xHwjzdgJhU="; + vendorHash = "sha256-kudomUa5c0OJA2LgqLQ2Az0mDH/s9go3jHdyeALGgs8="; subPackages = [ "cmd/fleet" diff --git a/pkgs/by-name/fl/flood/package.nix b/pkgs/by-name/fl/flood/package.nix index 17cacf9b5883a..431463bf62787 100644 --- a/pkgs/by-name/fl/flood/package.nix +++ b/pkgs/by-name/fl/flood/package.nix @@ -10,13 +10,13 @@ }: buildNpmPackage rec { pname = "flood"; - version = "4.12.6"; + version = "4.13.0"; src = fetchFromGitHub { owner = "jesec"; repo = "flood"; rev = "v${version}"; - hash = "sha256-F1qsUFQG2tWVgKQ4Cet4cRIG37FNLOIfW9bH9dsJeRs="; + hash = "sha256-3q9a3WwTHzKbZTptSBTevReu2q4XIkSmFzX0MJQAbc4="; }; nativeBuildInputs = [ pnpm_9 ]; @@ -31,7 +31,7 @@ buildNpmPackage rec { ; pnpm = pnpm_9; fetcherVersion = 1; - hash = "sha256-m7YNBHEz5g1AjDVECrGL+xJfSXaTnUPPY679ENjR+l8="; + hash = "sha256-ukhZ1SCejwi0n3PubBo5qIRE/8snjHSZaGVIbHKvwdI="; }; passthru = { @@ -46,6 +46,7 @@ buildNpmPackage rec { homepage = "https://flood.js.org"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ + azahi thiagokokada winter ners diff --git a/pkgs/by-name/fl/fluidsynth/package.nix b/pkgs/by-name/fl/fluidsynth/package.nix index 3d28940262bdd..78b37719df78c 100644 --- a/pkgs/by-name/fl/fluidsynth/package.nix +++ b/pkgs/by-name/fl/fluidsynth/package.nix @@ -56,7 +56,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.fluidsynth.org"; license = lib.licenses.lgpl21Plus; maintainers = with lib.maintainers; [ - lovek323 guylamar2006 ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/fl/flyctl/package.nix b/pkgs/by-name/fl/flyctl/package.nix index 4f2e9b5b14466..519fc60b7e082 100644 --- a/pkgs/by-name/fl/flyctl/package.nix +++ b/pkgs/by-name/fl/flyctl/package.nix @@ -7,22 +7,26 @@ flyctl, installShellFiles, git, + rake, }: buildGoModule rec { pname = "flyctl"; - version = "0.3.209"; + version = "0.4.15"; src = fetchFromGitHub { owner = "superfly"; repo = "flyctl"; rev = "v${version}"; - leaveDotGit = true; - hash = "sha256-hzKKCwGTaz1MFQ1+F9piNBnaEDZJwJqoerR1c/uzSsQ="; + postCheckout = '' + cd "$out" + git rev-parse HEAD > COMMIT + ''; + hash = "sha256-2xl4dAP+9kTPkhFfXLNw00krB7zC10em1vAULTBKqvQ="; }; proxyVendor = true; - vendorHash = "sha256-ezGA1LGwQVFMzV/Ogj26pooD06O7FNTXMrYWkv6AwWM="; + vendorHash = "sha256-xVRLH1H7HhxaR9L+N+qE4kwqjMyie+JjeXpXvwRKa5A="; subPackages = [ "." ]; @@ -39,15 +43,20 @@ buildGoModule rec { git ]; - patches = [ ./disable-auto-update.patch ]; + patches = [ + ./disable-auto-update.patch + ./set-commit.patch + ]; preBuild = '' - # Embed VCS Infos - export GOFLAGS="$GOFLAGS -buildvcs=true" - + export GOFLAGS="$GOFLAGS -buildvcs=false" + substituteInPlace internal/buildinfo/buildinfo.go \ + --replace '@commit@' "$(cat COMMIT)" GOOS= GOARCH= CGO_ENABLED=0 go generate ./... ''; + nativeCheckInputs = [ rake ]; + preCheck = '' HOME=$(mktemp -d) ''; diff --git a/pkgs/by-name/fl/flyctl/set-commit.patch b/pkgs/by-name/fl/flyctl/set-commit.patch new file mode 100644 index 0000000000000..03d564f743d8a --- /dev/null +++ b/pkgs/by-name/fl/flyctl/set-commit.patch @@ -0,0 +1,10 @@ +--- a/internal/buildinfo/buildinfo.go ++++ b/internal/buildinfo/buildinfo.go +@@ -117,6 +117,7 @@ func UserAgent() string { + } + + func Commit() string { ++ return "@commit@" + info, _ := debug.ReadBuildInfo() + var rev = "" + var dirty = "" diff --git a/pkgs/by-name/fo/foomatic-db/package.nix b/pkgs/by-name/fo/foomatic-db/package.nix index 0fd0492f58a97..42b27aec5a86b 100644 --- a/pkgs/by-name/fo/foomatic-db/package.nix +++ b/pkgs/by-name/fo/foomatic-db/package.nix @@ -14,15 +14,15 @@ stdenv.mkDerivation (finalAttrs: { pname = "foomatic-db"; - version = "0-unstable-2026-01-13"; + version = "0-unstable-2026-02-09"; src = fetchFromGitHub { # there is also a daily snapshot at the `downloadPage`, # but it gets deleted quickly and would provoke 404 errors owner = "OpenPrinting"; repo = "foomatic-db"; - rev = "abdfdb89a56edb0d1b7e0de2e01ce30cd0dbed22"; - hash = "sha256-D0ULsTIVv7rJWdgK9EqH7visZoJONc8zGsV0r1uVNKE="; + rev = "57e546cb7774c7b03e7090ced65fb1ffd552f33d"; + hash = "sha256-mQEOV+NJId5h/hYOL+2JrEHjqM77qRExDNeqZ0IyA08="; }; buildInputs = [ diff --git a/pkgs/by-name/fo/forgejo-runner/package.nix b/pkgs/by-name/fo/forgejo-runner/package.nix index de78f697b58eb..b662edf2b9449 100644 --- a/pkgs/by-name/fo/forgejo-runner/package.nix +++ b/pkgs/by-name/fo/forgejo-runner/package.nix @@ -49,17 +49,17 @@ let in buildGoModule (finalAttrs: { pname = "forgejo-runner"; - version = "12.7.0"; + version = "12.7.1"; src = fetchFromGitea { domain = "code.forgejo.org"; owner = "forgejo"; repo = "runner"; rev = "v${finalAttrs.version}"; - hash = "sha256-pQYlacbctW+Cbm3abDps2ZpqX/iPhgAgJnBsaXcny6w="; + hash = "sha256-agPlx+bBBqFZnoxxedVvKcAZ7QP09YqaY3TfOunDBOM="; }; - vendorHash = "sha256-nceLZzbSk56l3NLgusw6JKi1owniQVudNDgC7fsHxYQ="; + vendorHash = "sha256-wGCOcrQRxe+1P7deuPwox8yo2GXhI9GgXuMTY81TFKo="; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/fr/freecad/0004-FreeCad-fix-boost-189-build.patch b/pkgs/by-name/fr/freecad/0004-FreeCad-fix-boost-189-build.patch new file mode 100644 index 0000000000000..074933ce0fa7d --- /dev/null +++ b/pkgs/by-name/fr/freecad/0004-FreeCad-fix-boost-189-build.patch @@ -0,0 +1,13 @@ +diff --git a/cMake/FreeCAD_Helpers/SetupBoost.cmake b/cMake/FreeCAD_Helpers/SetupBoost.cmake +index 0bb1343..1a389bf 100644 +--- a/cMake/FreeCAD_Helpers/SetupBoost.cmake ++++ b/cMake/FreeCAD_Helpers/SetupBoost.cmake +@@ -3,7 +3,7 @@ macro(SetupBoost) + + set(_boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS}) + +- set (BOOST_COMPONENTS filesystem program_options regex system thread date_time) ++ set (BOOST_COMPONENTS filesystem program_options regex thread date_time) + find_package(Boost ${BOOST_MIN_VERSION} + COMPONENTS ${BOOST_COMPONENTS} REQUIRED) + diff --git a/pkgs/by-name/fr/freecad/package.nix b/pkgs/by-name/fr/freecad/package.nix index 9bee57d7e7fdb..6acc386738f0e 100644 --- a/pkgs/by-name/fr/freecad/package.nix +++ b/pkgs/by-name/fr/freecad/package.nix @@ -104,6 +104,11 @@ freecad-utils.makeCustomizable ( # https://github.com/FreeCAD/FreeCAD/pull/21710 ./0003-FreeCad-fix-font-load-crash.patch + + # Fix build for boost 1.89 or later, remove once FreeCad 1.1 is released + # based on https://github.com/FreeCAD/FreeCAD/commit/0f6d00d2a547df0f5c2ba5ef0f79044a49b0a2d + ./0004-FreeCad-fix-boost-189-build.patch + (fetchpatch { url = "https://github.com/FreeCAD/FreeCAD/commit/8e04c0a3dd9435df0c2dec813b17d02f7b723b19.patch?full_index=1"; hash = "sha256-H6WbJFTY5/IqEdoi5N+7D4A6pVAmZR4D+SqDglwS18c="; @@ -123,12 +128,12 @@ freecad-utils.makeCustomizable ( cmakeFlags = [ "-Wno-dev" # turns off warnings which otherwise makes it hard to see what is going on - "-DBUILD_DRAWING=ON" - "-DBUILD_FLAT_MESH:BOOL=ON" - "-DINSTALL_TO_SITEPACKAGES=OFF" - "-DFREECAD_USE_PYBIND11=ON" - "-DBUILD_QT5=OFF" - "-DBUILD_QT6=ON" + (lib.cmakeBool "BUILD_DRAWING" true) + (lib.cmakeBool "BUILD_FLAT_MESH" true) + (lib.cmakeBool "INSTALL_TO_SITEPACKAGES" false) + (lib.cmakeBool "FREECAD_USE_PYBIND11" true) + (lib.cmakeBool "BUILD_QT5" false) + (lib.cmakeBool "BUILD_QT6" true) ]; qtWrapperArgs = diff --git a/pkgs/by-name/fr/freedroid/package.nix b/pkgs/by-name/fr/freedroid/package.nix index 14b1da25bcbab..e07476a0d96c7 100644 --- a/pkgs/by-name/fr/freedroid/package.nix +++ b/pkgs/by-name/fr/freedroid/package.nix @@ -47,6 +47,9 @@ stdenv.mkDerivation rec { touch NEWS ''; + # DOes not build on -std=c23 due to `bool` collision. + env.NIX_CFLAGS_COMPILE = "-std=gnu17"; + postInstall = '' mkdir -p $out/share/icons/hicolor/32x32/apps convert graphics/paraicon.bmp $out/share/icons/hicolor/32x32/apps/freedroid.png diff --git a/pkgs/by-name/fr/freefilesync/package.nix b/pkgs/by-name/fr/freefilesync/package.nix index 2887b84b11a70..3d90f41dbc617 100644 --- a/pkgs/by-name/fr/freefilesync/package.nix +++ b/pkgs/by-name/fr/freefilesync/package.nix @@ -110,8 +110,8 @@ stdenv.mkDerivation (finalAttrs: { cp -R FreeFileSync/Build/* $out mv $out/{Bin,bin} - mkdir -p $out/share/pixmaps - unzip -j $out/Resources/Icons.zip '*Sync.png' -d $out/share/pixmaps + mkdir -p $out/share/icons/hicolor/128x128/apps + unzip -j $out/Resources/Icons.zip '*Sync.png' -d $out/share/icons/hicolor/128x128/apps runHook postInstall ''; diff --git a/pkgs/by-name/fr/freerdp/package.nix b/pkgs/by-name/fr/freerdp/package.nix index 67a1f72cbfff4..983691553f72e 100644 --- a/pkgs/by-name/fr/freerdp/package.nix +++ b/pkgs/by-name/fr/freerdp/package.nix @@ -70,13 +70,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "freerdp"; - version = "3.22.0"; + version = "3.23.0"; src = fetchFromGitHub { owner = "FreeRDP"; repo = "FreeRDP"; rev = finalAttrs.version; - hash = "sha256-cJFY0v2zvbaKVINOKVZGvLozwgD7kf2ffVU9EGYBMGQ="; + hash = "sha256-WGuRnNwcvxwIudSzPoJB4BmaTLHKU7bsZkgWmzJPLSQ="; }; postPatch = '' diff --git a/pkgs/by-name/fr/fresh-editor/package.nix b/pkgs/by-name/fr/fresh-editor/package.nix index 1fa53283c630c..b456bfba8326b 100644 --- a/pkgs/by-name/fr/fresh-editor/package.nix +++ b/pkgs/by-name/fr/fresh-editor/package.nix @@ -12,16 +12,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "fresh"; - version = "0.2.5"; + version = "0.2.9"; src = fetchFromGitHub { owner = "sinelaw"; repo = "fresh"; tag = "v${finalAttrs.version}"; - hash = "sha256-JbjTHMvncM5wCiPa3Tmv/HJbg7sKgmOXhmu9He6Tzhk="; + hash = "sha256-xB3ZwueGdFPcKNStet/6sLW5qiVrB0iDaeBMknrnlMI="; }; - cargoHash = "sha256-1b9v7K+EUOtHF3J3vOv1YyFxqnGZ5SbzyUBPCQ5i90U="; + cargoHash = "sha256-Ja8lLU5MR4mi4tTZwUgpLpbSBdUk2OUrX299ROTgTIg="; nativeBuildInputs = [ gzip diff --git a/pkgs/by-name/fr/frigate/ai-edge-litert.patch b/pkgs/by-name/fr/frigate/ai-edge-litert.patch index 95a63781ccef2..3a8c3f8a566f2 100644 --- a/pkgs/by-name/fr/frigate/ai-edge-litert.patch +++ b/pkgs/by-name/fr/frigate/ai-edge-litert.patch @@ -1,8 +1,8 @@ diff --git a/frigate/data_processing/real_time/bird.py b/frigate/data_processing/real_time/bird.py -index d547f2dd..402876b7 100644 +index 7851c0997..520440005 100644 --- a/frigate/data_processing/real_time/bird.py +++ b/frigate/data_processing/real_time/bird.py -@@ -21,7 +21,7 @@ from .api import RealTimeProcessorApi +@@ -22,7 +22,7 @@ from .api import RealTimeProcessorApi try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: @@ -11,11 +11,46 @@ index d547f2dd..402876b7 100644 logger = logging.getLogger(__name__) +diff --git a/frigate/data_processing/real_time/custom_classification.py b/frigate/data_processing/real_time/custom_classification.py +index 229383d9f..2c74a6575 100644 +--- a/frigate/data_processing/real_time/custom_classification.py ++++ b/frigate/data_processing/real_time/custom_classification.py +@@ -32,7 +32,7 @@ from .api import RealTimeProcessorApi + try: + from tflite_runtime.interpreter import Interpreter + except ModuleNotFoundError: +- from tensorflow.lite.python.interpreter import Interpreter ++ from ai_edge_litert.interpreter import Interpreter + + logger = logging.getLogger(__name__) + +@@ -76,7 +76,7 @@ class CustomStateClassificationProcessor(RealTimeProcessorApi): + try: + from tflite_runtime.interpreter import Interpreter + except ModuleNotFoundError: +- from tensorflow.lite.python.interpreter import Interpreter ++ from ai_edge_litert.interpreter import Interpreter + + model_path = os.path.join(self.model_dir, "model.tflite") + labelmap_path = os.path.join(self.model_dir, "labelmap.txt") +diff --git a/frigate/detectors/detector_utils.py b/frigate/detectors/detector_utils.py +index d732de871..d8930b2ae 100644 +--- a/frigate/detectors/detector_utils.py ++++ b/frigate/detectors/detector_utils.py +@@ -6,7 +6,7 @@ import numpy as np + try: + from tflite_runtime.interpreter import Interpreter, load_delegate + except ModuleNotFoundError: +- from tensorflow.lite.python.interpreter import Interpreter, load_delegate ++ from ai_edge_litert.interpreter import Interpreter, load_delegate + + + logger = logging.getLogger(__name__) diff --git a/frigate/detectors/plugins/cpu_tfl.py b/frigate/detectors/plugins/cpu_tfl.py -index 8a54363e..68ae558b 100644 +index 00351f519..6d336bb6b 100644 --- a/frigate/detectors/plugins/cpu_tfl.py +++ b/frigate/detectors/plugins/cpu_tfl.py -@@ -10,7 +10,7 @@ from frigate.detectors.detector_config import BaseDetectorConfig +@@ -12,7 +12,7 @@ from ..detector_utils import tflite_detect_raw, tflite_init try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: @@ -25,23 +60,23 @@ index 8a54363e..68ae558b 100644 logger = logging.getLogger(__name__) diff --git a/frigate/detectors/plugins/edgetpu_tfl.py b/frigate/detectors/plugins/edgetpu_tfl.py -index 246d2dd4..e855bf87 100644 +index 2b94fde39..36c769b4b 100644 --- a/frigate/detectors/plugins/edgetpu_tfl.py +++ b/frigate/detectors/plugins/edgetpu_tfl.py -@@ -11,7 +11,7 @@ from frigate.detectors.detector_config import BaseDetectorConfig +@@ -13,7 +13,7 @@ from frigate.detectors.detector_config import BaseDetectorConfig, ModelTypeEnum try: from tflite_runtime.interpreter import Interpreter, load_delegate except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter, load_delegate + from ai_edge_litert.interpreter import Interpreter, load_delegate - logger = logging.getLogger(__name__) + diff --git a/frigate/embeddings/onnx/face_embedding.py b/frigate/embeddings/onnx/face_embedding.py -index eb04b43b..0c6c26fc 100644 +index 04d756897..75dfedc94 100644 --- a/frigate/embeddings/onnx/face_embedding.py +++ b/frigate/embeddings/onnx/face_embedding.py -@@ -14,7 +14,7 @@ from .runner import ONNXModelRunner +@@ -17,7 +17,7 @@ from .base_embedding import BaseEmbedding try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: @@ -51,10 +86,10 @@ index eb04b43b..0c6c26fc 100644 logger = logging.getLogger(__name__) diff --git a/frigate/events/audio.py b/frigate/events/audio.py -index f2a217fd..82206b5a 100644 +index e88f2ae71..ad87d19c1 100644 --- a/frigate/events/audio.py +++ b/frigate/events/audio.py -@@ -36,7 +36,7 @@ from frigate.video import start_or_restart_ffmpeg, stop_ffmpeg +@@ -43,7 +43,7 @@ from frigate.video import start_or_restart_ffmpeg, stop_ffmpeg try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: @@ -62,3 +97,4 @@ index f2a217fd..82206b5a 100644 + from ai_edge_litert.interpreter import Interpreter + logger = logging.getLogger(__name__) diff --git a/pkgs/by-name/fr/frigate/constants.patch b/pkgs/by-name/fr/frigate/constants.patch deleted file mode 100644 index 943e49353c01a..0000000000000 --- a/pkgs/by-name/fr/frigate/constants.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/frigate/comms/webpush.py b/frigate/comms/webpush.py -index c5986d45..b767e19e 100644 ---- a/frigate/comms/webpush.py -+++ b/frigate/comms/webpush.py -@@ -17,7 +17,7 @@ from titlecase import titlecase - from frigate.comms.base_communicator import Communicator - from frigate.comms.config_updater import ConfigSubscriber - from frigate.config import FrigateConfig --from frigate.const import CONFIG_DIR -+from frigate.const import BASE_DIR, CONFIG_DIR - from frigate.models import User - - logger = logging.getLogger(__name__) -@@ -333,7 +333,7 @@ class WebPushClient(Communicator): # type: ignore[misc] - - title = f"{titlecase(', '.join(sorted_objects).replace('_', ' '))}{' was' if state == 'end' else ''} detected in {titlecase(', '.join(payload['after']['data']['zones']).replace('_', ' '))}" - message = f"Detected on {titlecase(camera.replace('_', ' '))}" -- image = f"{payload['after']['thumb_path'].replace('/media/frigate', '')}" -+ image = f"{payload['after']['thumb_path'].replace(BASE_DIR, '')}" - - # if event is ongoing open to live view otherwise open to recordings view - direct_url = f"/review?id={reviewId}" if state == "end" else f"/#{camera}" diff --git a/pkgs/by-name/fr/frigate/ffmpeg.patch b/pkgs/by-name/fr/frigate/ffmpeg.patch index e5e7c44121ae0..2b9d08cf2d06f 100644 --- a/pkgs/by-name/fr/frigate/ffmpeg.patch +++ b/pkgs/by-name/fr/frigate/ffmpeg.patch @@ -1,5 +1,5 @@ diff --git a/frigate/config/camera/ffmpeg.py b/frigate/config/camera/ffmpeg.py -index 04bbfac7..396bcc4b 100644 +index 2c1e4cdca..d1a1f7065 100644 --- a/frigate/config/camera/ffmpeg.py +++ b/frigate/config/camera/ffmpeg.py @@ -1,4 +1,5 @@ @@ -8,7 +8,7 @@ index 04bbfac7..396bcc4b 100644 from typing import Union from pydantic import Field, field_validator -@@ -69,21 +70,11 @@ class FfmpegConfig(FrigateBaseModel): +@@ -71,21 +72,11 @@ class FfmpegConfig(FrigateBaseModel): @property def ffmpeg_path(self) -> str: @@ -33,10 +33,10 @@ index 04bbfac7..396bcc4b 100644 class CameraRoleEnum(str, Enum): diff --git a/frigate/record/export.py b/frigate/record/export.py -index 0d3f96da..463bcff4 100644 +index d4b49bb4b..bbcccff61 100644 --- a/frigate/record/export.py +++ b/frigate/record/export.py -@@ -126,7 +126,7 @@ class RecordingExporter(threading.Thread): +@@ -127,7 +127,7 @@ class RecordingExporter(threading.Thread): minutes = int(diff / 60) seconds = int(diff % 60) ffmpeg_cmd = [ diff --git a/pkgs/by-name/fr/frigate/libteflon-driverlink-path.patch b/pkgs/by-name/fr/frigate/libteflon-driverlink-path.patch new file mode 100644 index 0000000000000..5adf8d0b26d56 --- /dev/null +++ b/pkgs/by-name/fr/frigate/libteflon-driverlink-path.patch @@ -0,0 +1,13 @@ +diff --git a/frigate/detectors/plugins/teflon_tfl.py b/frigate/detectors/plugins/teflon_tfl.py +index 7e29d6630..98e446d84 100644 +--- a/frigate/detectors/plugins/teflon_tfl.py ++++ b/frigate/detectors/plugins/teflon_tfl.py +@@ -26,7 +26,7 @@ class TeflonTfl(DetectionApi): + + def __init__(self, detector_config: TeflonDetectorConfig): + # Location in Debian's mesa-teflon-delegate +- delegate_library = "/usr/lib/teflon/libteflon.so" ++ delegate_library = "@driverLink@/lib/libteflon.so" + device_config = {} + + interpreter = tflite_load_delegate_interpreter( diff --git a/pkgs/by-name/fr/frigate/onnxruntime-compat.patch b/pkgs/by-name/fr/frigate/onnxruntime-compat.patch index 145c6e6722dc8..fca2e6572ab1d 100644 --- a/pkgs/by-name/fr/frigate/onnxruntime-compat.patch +++ b/pkgs/by-name/fr/frigate/onnxruntime-compat.patch @@ -1,19 +1,12 @@ -Disable the SimplifedLayerNormFusion optimization for onnxruntime embedding -models to prevent a crash when using FP16 models (like jinna-clip-v1) with newer -onnxruntime versions. - -https://github.com/microsoft/onnxruntime/issues/26717#issuecomment-3800462654 - - -diff --git a/frigate/embeddings/onnx/runner.py b/frigate/embeddings/onnx/runner.py -index c34c97a8d..dca91daae 100644 ---- a/frigate/embeddings/onnx/runner.py -+++ b/frigate/embeddings/onnx/runner.py -@@ -52,6 +52,7 @@ class ONNXModelRunner: - model_path, - providers=providers, - provider_options=options, -+ disabled_optimizers=["SimplifiedLayerNormFusion"], - ) - - def get_input_names(self) -> list[str]: +diff --git a/frigate/detectors/detection_runners.py b/frigate/detectors/detection_runners.py +index fcbb41e66..5b4d3f310 100644 +--- a/frigate/detectors/detection_runners.py ++++ b/frigate/detectors/detection_runners.py +@@ -603,6 +603,7 @@ def get_optimized_runner( + ), + providers=providers, + provider_options=options, ++ disabled_optimizers=["SimplifiedLayerNormFusion"], + ), + model_type=model_type, + ) diff --git a/pkgs/by-name/fr/frigate/package.nix b/pkgs/by-name/fr/frigate/package.nix index ca26f3f83c8ba..7dc8a36201690 100644 --- a/pkgs/by-name/fr/frigate/package.nix +++ b/pkgs/by-name/fr/frigate/package.nix @@ -1,6 +1,8 @@ { lib, stdenv, + replaceVars, + addDriverRunpath, callPackage, python313Packages, fetchFromGitHub, @@ -9,18 +11,17 @@ sqlite-vec, frigate, nixosTests, - fetchpatch, }: let - version = "0.16.4"; + version = "0.17.0"; src = fetchFromGitHub { name = "frigate-${version}-source"; owner = "blakeblackshear"; repo = "frigate"; tag = "v${version}"; - hash = "sha256-TPiCT/z0YuoQkQsxyZsRMQa0XwqMLCgwMbrASOKrMjA="; + hash = "sha256-K41tWnj0u+Fw+G++aPFfMa0uFYEvvZ0r6xNPQ7J1cYs="; }; frigate-web = callPackage ./web.nix { @@ -38,6 +39,9 @@ let hash = "sha256-95xtUzzIxxvDtpHX/5uCHnTQTB8Fc08DZGUOR/SdKLs="; }; }); + + huggingface-hub = super.huggingface-hub_0; + transformers = super.transformers_4; }; }; python3Packages = python.pkgs; @@ -77,27 +81,23 @@ python3Packages.buildPythonApplication rec { inherit src; patches = [ - ./constants.patch - # Fixes hardcoded path /media/frigate/clips/faces. Remove in next version. - (fetchpatch { - url = "https://github.com/blakeblackshear/frigate/commit/b86e6e484f64bd43b64d7adebe78671a7a426edb.patch"; - hash = "sha256-1+n0n0yCtjfAHkXzsZdIF0iCVdPGmsG7l8/VTqBVEjU="; - }) + # Always lookup ffmpeg from config setting ./ffmpeg.patch + + # Adjust libteflon.so location + (replaceVars ./libteflon-driverlink-path.patch { + inherit (addDriverRunpath) driverLink; + }) + + # Use ai-edge-litert as tensorflow interpreter # https://github.com/blakeblackshear/frigate/pull/21876 ./ai-edge-litert.patch - (fetchpatch { - # peewee-migrate 0.14.x compat - url = "https://github.com/blakeblackshear/frigate/commit/dde02cadb2168c44e9eb395ddfbb7b169096bd15.patch"; - excludes = [ - "docker/main/requirements-wheels.txt" - "migrations/031_create_trigger_table.py" - "migrations/032_add_password_changed_at.py" - ]; - hash = "sha256-RrmwjE4SHJIUOYfqcCtMy9Pht7UXhHcoAZlFQv9aQFw="; - }) + + # Disable failing optimization in onnxruntime # https://github.com/microsoft/onnxruntime/issues/26717 ./onnxruntime-compat.patch + + # Fix excessive trailing whitespaces in process commandlines # https://github.com/blakeblackshear/frigate/pull/22089 ./proc-cmdline-strip.patch ]; @@ -107,7 +107,7 @@ python3Packages.buildPythonApplication rec { substituteInPlace \ frigate/app.py \ - frigate/test/test_{http,storage}.py \ + frigate/test/test_storage.py \ frigate/test/http_api/base_http_test.py \ --replace-fail "Router(migrate_db)" 'Router(migrate_db, "${placeholder "out"}/share/frigate/migrations")' @@ -118,7 +118,13 @@ python3Packages.buildPythonApplication rec { --replace-fail "/config" "/var/lib/frigate" \ --replace-fail "{CONFIG_DIR}/model_cache" "/var/cache/frigate/model_cache" - substituteInPlace frigate/comms/{config,embeddings}_updater.py frigate/comms/{zmq_proxy,inter_process}.py \ + substituteInPlace \ + frigate/comms/config_updater.py \ + frigate/comms/embeddings_updater.py \ + frigate/comms/inter_process.py \ + frigate/comms/object_detector_signaler.py \ + frigate/comms/zmq_proxy.py \ + frigate/detectors/plugins/zmq_ipc.py \ --replace-fail "ipc:///tmp/cache" "ipc:///run/frigate" substituteInPlace frigate/db/sqlitevecq.py \ @@ -140,25 +146,27 @@ python3Packages.buildPythonApplication rec { dontBuild = true; dependencies = with python3Packages; [ - # docker/main/requirements.txt - scikit-build # docker/main/requirements-wheel.txt + # TODO: degirum (no source repo, binary wheels only) ai-edge-litert aiofiles aiohttp appdirs argcomplete - contextlib2 click + contextlib2 + cryptography distlib fastapi + faster-whisper filelock + google-genai importlib-metadata importlib-resources - google-generativeai joserfc - levenshtein + librosa markupsafe + memray netaddr netifaces norfair @@ -184,14 +192,18 @@ python3Packages.buildPythonApplication rec { py-vapid pywebpush pyzmq + rapidfuzz requests ruamel-yaml scipy setproctitle shapely + sherpa-onnx slowapi + soundfile starlette starlette-context + tensorflow titlecase transformers tzlocal diff --git a/pkgs/by-name/fr/frigate/proc-cmdline-strip.patch b/pkgs/by-name/fr/frigate/proc-cmdline-strip.patch index 426dd20ae2660..2dd131ebf4198 100644 --- a/pkgs/by-name/fr/frigate/proc-cmdline-strip.patch +++ b/pkgs/by-name/fr/frigate/proc-cmdline-strip.patch @@ -1,13 +1,8 @@ -Strip trailing whitespace from process commandlines. This is annoying for exact -process matches against Prometheus labels. - -https://github.com/blakeblackshear/frigate/pull/22089 - diff --git a/frigate/util/services.py b/frigate/util/services.py -index b31a7eea3..f1e8f0f5f 100644 +index 64d83833d..912ce67bd 100644 --- a/frigate/util/services.py +++ b/frigate/util/services.py -@@ -118,7 +118,7 @@ def get_cpu_stats() -> dict[str, dict]: +@@ -121,7 +121,7 @@ def get_cpu_stats() -> dict[str, dict]: pid = str(process.info["pid"]) try: cpu_percent = process.info["cpu_percent"] @@ -16,7 +11,7 @@ index b31a7eea3..f1e8f0f5f 100644 with open(f"/proc/{pid}/stat", "r") as f: stats = f.readline().split() -@@ -152,7 +152,7 @@ def get_cpu_stats() -> dict[str, dict]: +@@ -155,7 +155,7 @@ def get_cpu_stats() -> dict[str, dict]: "cpu": str(cpu_percent), "cpu_average": str(round(cpu_average_usage, 2)), "mem": f"{mem_pct}", diff --git a/pkgs/by-name/fr/frigate/web.nix b/pkgs/by-name/fr/frigate/web.nix index b6f6e48b42607..7e284818b975b 100644 --- a/pkgs/by-name/fr/frigate/web.nix +++ b/pkgs/by-name/fr/frigate/web.nix @@ -18,21 +18,20 @@ buildNpmPackage { --replace-fail '/BASE_PATH/' '/' substituteInPlace \ - src/pages/Exports.tsx \ - src/components/preview/ScrubbablePreview.tsx \ + src/components/card/AnimatedEventCard.tsx \ src/components/card/ExportCard.tsx \ src/components/card/ReviewCard.tsx \ - src/components/card/AnimatedEventCard.tsx \ src/components/player/PreviewThumbnailPlayer.tsx \ + src/components/preview/ScrubbablePreview.tsx \ + src/pages/Exports.tsx \ src/views/system/StorageMetrics.tsx \ - src/components/timeline/EventSegment.tsx \ --replace-fail "/media/frigate" "/var/lib/frigate" \ substituteInPlace src/views/system/StorageMetrics.tsx \ --replace-fail "/tmp/cache" "/var/cache/frigate" ''; - npmDepsHash = "sha256-CrK/6BaKmKIxlohEZdGEEKJkioszBUupyKQx4nBeLqI="; + npmDepsHash = "sha256-iIqP3pspkDbaXZkZ5MIT/GVGiKBJCkFXQ7Av5h1rWKk="; installPhase = '' cp -rv dist/ $out diff --git a/pkgs/by-name/ft/ft2-clone/package.nix b/pkgs/by-name/ft/ft2-clone/package.nix index 5e24e94f7167b..f840741ed242e 100644 --- a/pkgs/by-name/ft/ft2-clone/package.nix +++ b/pkgs/by-name/ft/ft2-clone/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ft2-clone"; - version = "2.04"; + version = "2.05"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${finalAttrs.version}"; - hash = "sha256-nLuorUpw42zuGG5hIk2Gr8lEjQ2wEWe7svx8IC+rFso="; + hash = "sha256-wMR0S8knfMncjRVDExXkfKGJlDGOjrgAh+bbe0023dw="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/ga/gamescope/package.nix b/pkgs/by-name/ga/gamescope/package.nix index 8c2e8e005ebdc..0627d0b65bc57 100644 --- a/pkgs/by-name/ga/gamescope/package.nix +++ b/pkgs/by-name/ga/gamescope/package.nix @@ -42,7 +42,7 @@ glslang, hwdata, stb, - wlroots_0_17, + wlroots_0_18, libdecor, lcms, lib, @@ -151,7 +151,7 @@ stdenv.mkDerivation (finalAttrs: { vulkan-headers ] ++ lib.optionals enableExecutable ( - wlroots_0_17.buildInputs + wlroots_0_18.buildInputs ++ [ # gamescope uses a custom wlroots branch libxcomposite diff --git a/pkgs/by-name/ga/garnet/deps.json b/pkgs/by-name/ga/garnet/deps.json index 40be469cabc4a..8e15158cb50b1 100644 --- a/pkgs/by-name/ga/garnet/deps.json +++ b/pkgs/by-name/ga/garnet/deps.json @@ -1,13 +1,13 @@ [ { "pname": "Azure.Core", - "version": "1.47.3", - "hash": "sha256-fWyfqF1lpnap4cF3l9J0fYtZbxIqm6UFsuJgN+/hwW4=" + "version": "1.49.0", + "hash": "sha256-ZLd8vl1QNHWYMOAx/ciDUNNfMGu2DFIfw37+FwiGI/4=" }, { "pname": "Azure.Core", - "version": "1.49.0", - "hash": "sha256-ZLd8vl1QNHWYMOAx/ciDUNNfMGu2DFIfw37+FwiGI/4=" + "version": "1.50.0", + "hash": "sha256-8Pjz0/2wTLK5uY7G5qrxQr4CsmrjiR8gL4g6zJymj5s=" }, { "pname": "Azure.Identity", @@ -16,23 +16,53 @@ }, { "pname": "Azure.Storage.Blobs", - "version": "12.26.0", - "hash": "sha256-J6774WE6xlrsmhkmE1dapkrhK6dFByYxSHLs1OQPk48=" + "version": "12.27.0", + "hash": "sha256-Ag8kMe/NBfq+HSchFzm0VAAo9xVnrKHFHUjbQ4KpSh0=" }, { "pname": "Azure.Storage.Common", - "version": "12.25.0", - "hash": "sha256-4eMv4oOumO6FFx0VMsuIr6sWtouu4f6AajebTQjhj9Q=" + "version": "12.26.0", + "hash": "sha256-GPiEPi/caj5z2cMFP5TUx/Jrj/zXZmA/xqC9CEoI+qQ=" }, { "pname": "CommandLineParser", "version": "2.9.1", "hash": "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo=" }, + { + "pname": "diskann-garnet", + "version": "1.0.20", + "hash": "sha256-cH3rHJxl2IUvB9pC9recWvwx5mdrtbw2IiSZSIFgZPU=" + }, { "pname": "KeraLua", - "version": "1.4.6", - "hash": "sha256-7lXJhhQlEuRoaF18XiZYJDyhA8RIWpYWNB9kr4aARQc=" + "version": "1.4.9", + "hash": "sha256-xR8Ram6RX6B2kd+KYpa6URIzOW6SGrKLU33yi1nv5UU=" + }, + { + "pname": "Microsoft.AspNetCore.App.Ref", + "version": "8.0.23", + "hash": "sha256-MhWoomc6BwUta7PxbnGC3Fno+GQx3aUEtg/LBDAEi38=" + }, + { + "pname": "Microsoft.AspNetCore.App.Runtime.linux-arm64", + "version": "8.0.23", + "hash": "sha256-tG2pcAzeiDBouBrMVaYrCD2M2jCXJ4wk2sNOF2KQILk=" + }, + { + "pname": "Microsoft.AspNetCore.App.Runtime.linux-x64", + "version": "8.0.23", + "hash": "sha256-PGtAymoWt5+PBLjt+krej6KruhWy+D+dUE4PgVZSx88=" + }, + { + "pname": "Microsoft.AspNetCore.App.Runtime.osx-arm64", + "version": "8.0.23", + "hash": "sha256-fZQKWvYkS/fXUK8BIWD4dSOo1jltO0fDSy0TT+U3H9c=" + }, + { + "pname": "Microsoft.AspNetCore.App.Runtime.osx-x64", + "version": "8.0.23", + "hash": "sha256-HsEhlsBgaDkIDgVz3oPkFe3dRcYFqrHEnikKaTqqWpo=" }, { "pname": "Microsoft.Bcl.AsyncInterfaces", @@ -44,6 +74,11 @@ "version": "9.0.0", "hash": "sha256-ECgyZ53XqJoRcZexQpctEq1nHFXuW4YqFSx7Elsae7U=" }, + { + "pname": "Microsoft.Extensions.Configuration", + "version": "10.0.2", + "hash": "sha256-dBJAKDyp/sm+ZSMQfH0+4OH8Jnv1s20aHlWS6HNnH+c=" + }, { "pname": "Microsoft.Extensions.Configuration", "version": "9.0.8", @@ -51,23 +86,28 @@ }, { "pname": "Microsoft.Extensions.Configuration.Abstractions", - "version": "9.0.8", - "hash": "sha256-hes+QZM3DQ1R/8CDOdWObk6s1oGhzFqka8Qc7Baf9PY=" + "version": "10.0.2", + "hash": "sha256-P+0kaDGO+xB9KxF9eWHDJ4hzi05sUGM/uMNEX5NdBTE=" }, { "pname": "Microsoft.Extensions.Configuration.Abstractions", - "version": "9.0.9", - "hash": "sha256-Qmi+ftu17qqVVHJ+SgKvLrXCHJDrP5h4ZgTflgDWgzc=" + "version": "9.0.8", + "hash": "sha256-hes+QZM3DQ1R/8CDOdWObk6s1oGhzFqka8Qc7Baf9PY=" }, { "pname": "Microsoft.Extensions.Configuration.Binder", - "version": "9.0.9", - "hash": "sha256-p7hhHy1hGSJk6OQvaFhz4WFbtM8VkeKb3sSZTB61M0s=" + "version": "10.0.2", + "hash": "sha256-resI9gIxHh2cc+258/i+TjW8xxzKf4ZBTLIcWAMEYz0=" }, { "pname": "Microsoft.Extensions.DependencyInjection", - "version": "9.0.8", - "hash": "sha256-fJOwbtlmP6mXGYqHRCqtb7e08h5mFza6Wmd1NbNq3ug=" + "version": "10.0.2", + "hash": "sha256-/9UWQRAI2eoocnJWWf1ktnAx/1Gt65c16fc0Xqr9+CQ=" + }, + { + "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", + "version": "10.0.2", + "hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg=" }, { "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", @@ -76,8 +116,13 @@ }, { "pname": "Microsoft.Extensions.Logging", - "version": "9.0.8", - "hash": "sha256-SEVCMpVwjcQtTSs4lirb89A36MxLQwwqdDFWbr1VvP8=" + "version": "10.0.2", + "hash": "sha256-9+gfQwK32JMYscW1YvyCWEzc9mRZOjCACoD9U1vVaJI=" + }, + { + "pname": "Microsoft.Extensions.Logging.Abstractions", + "version": "10.0.2", + "hash": "sha256-ndKGzq8+2J/hvaIULwBui0L/jDyMQTAY24j+ohX5VX8=" }, { "pname": "Microsoft.Extensions.Logging.Abstractions", @@ -109,6 +154,11 @@ "version": "9.0.8", "hash": "sha256-8cz7l8ubkRIBd6gwDJcpJd66MYNU0LsvDH9+PU+mTJo=" }, + { + "pname": "Microsoft.Extensions.Options", + "version": "10.0.2", + "hash": "sha256-12AfUEDdta/pmZUyEyqSUfOk0YoA7JOfGmIYnZQ//qk=" + }, { "pname": "Microsoft.Extensions.Options", "version": "9.0.8", @@ -121,13 +171,13 @@ }, { "pname": "Microsoft.Extensions.Primitives", - "version": "9.0.8", - "hash": "sha256-K3T8krgXZmvQg87AQQrn9kiH2sDyKzRUMDyuB/ItmPc=" + "version": "10.0.2", + "hash": "sha256-8Ccrjjv9cFVf9RyCc7GS/Byt8+DXdSNea0UX3A5BEdA=" }, { "pname": "Microsoft.Extensions.Primitives", - "version": "9.0.9", - "hash": "sha256-bCd4Bj5uP4kT0hCvs0LZS8IVqEtpOIyhSiay5ijJbBA=" + "version": "9.0.8", + "hash": "sha256-K3T8krgXZmvQg87AQQrn9kiH2sDyKzRUMDyuB/ItmPc=" }, { "pname": "Microsoft.Identity.Client", @@ -180,9 +230,49 @@ "hash": "sha256-BDdJNDquVEplPJT3fYOakg26bSNyzNyUce+7mCjtc5o=" }, { - "pname": "System.ClientModel", - "version": "1.6.1", - "hash": "sha256-OMnamkT9Nt5ZSR6xPKFmOQRUjdn0a4nP9jkD2eZxxc0=" + "pname": "Microsoft.NETCore.App.Host.linux-arm64", + "version": "8.0.23", + "hash": "sha256-C7fkJ6CSrORo8ST27oN1bvApyFD/3P5G40LEJHan8dQ=" + }, + { + "pname": "Microsoft.NETCore.App.Host.linux-x64", + "version": "8.0.23", + "hash": "sha256-QSyUAyYwlDbFdWXKMD+Gm+2gkwjEZu+JyxpTIuIHl5w=" + }, + { + "pname": "Microsoft.NETCore.App.Host.osx-arm64", + "version": "8.0.23", + "hash": "sha256-7ztl28l8zPNREGKvR9IcrVDm13/Fi2xSqD8fjxE6yLM=" + }, + { + "pname": "Microsoft.NETCore.App.Host.osx-x64", + "version": "8.0.23", + "hash": "sha256-/eDywkBIggw2lt65yf1HFs8wSc1IgrTpEg/aKIz1y7g=" + }, + { + "pname": "Microsoft.NETCore.App.Ref", + "version": "8.0.23", + "hash": "sha256-Vevn8gsO4gCnGo0ns6B7i0MedAnEq3nBgnqx/E7aI44=" + }, + { + "pname": "Microsoft.NETCore.App.Runtime.linux-arm64", + "version": "8.0.23", + "hash": "sha256-DyEbaM692s4YBvufr3ebhFH9j2miUAisTIXT5E3fCYg=" + }, + { + "pname": "Microsoft.NETCore.App.Runtime.linux-x64", + "version": "8.0.23", + "hash": "sha256-s5iFeWfR2RebcBVPJcxxs2ceDdyol6ut2+g2kRCGIJs=" + }, + { + "pname": "Microsoft.NETCore.App.Runtime.osx-arm64", + "version": "8.0.23", + "hash": "sha256-IN/OdsXuwiuJG7gu/Gh7nVoL8rgUyMlK+LOkrHoyo+s=" + }, + { + "pname": "Microsoft.NETCore.App.Runtime.osx-x64", + "version": "8.0.23", + "hash": "sha256-86dZZBxKLtaQH17UBBIu1nO8CNfxT64ZBL+HRf1kd4A=" }, { "pname": "System.ClientModel", @@ -190,14 +280,14 @@ "hash": "sha256-R9tHPr+rDvwaS1RQUHVZHTnmAL9I79OvixuZ2Thp9rw=" }, { - "pname": "System.Diagnostics.DiagnosticSource", - "version": "6.0.1", - "hash": "sha256-Xi8wrUjVlioz//TPQjFHqcV/QGhTqnTfUcltsNlcCJ4=" + "pname": "System.ClientModel", + "version": "1.8.0", + "hash": "sha256-ZWVhuw3IRk9rZXkXERhesEET2KMMzHjUH/HDI288WK8=" }, { "pname": "System.Diagnostics.DiagnosticSource", - "version": "9.0.8", - "hash": "sha256-bVGcjEcZUVeY2jOvZeFnG+ym8ebUKOftx+gErNXeiK4=" + "version": "10.0.2", + "hash": "sha256-lt0piggvxkHfKmZAOZI8M0q0W/kMld5XwYcBWH3rj1o=" }, { "pname": "System.IdentityModel.Tokens.Jwt", @@ -206,13 +296,13 @@ }, { "pname": "System.IO.Hashing", - "version": "8.0.0", - "hash": "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE=" + "version": "10.0.1", + "hash": "sha256-k8EHcxnLitXo0CxoDZAxFmUlJJdKZVsZJ2+9zDMYB94=" }, { "pname": "System.IO.Pipelines", - "version": "9.0.9", - "hash": "sha256-bRMt0ib0KwKzHXgeAXZgegou5eX8lsm80Eu38bHBxBs=" + "version": "10.0.2", + "hash": "sha256-Guh0w9aMQ5wNSI9ecuoH4tGOX4VFnlNgepvBTPGFgzc=" }, { "pname": "System.Memory.Data", @@ -224,11 +314,6 @@ "version": "9.0.9", "hash": "sha256-wc7lhmydATxle8Wv124yFPT+bkpKpcCQL2TAPGodIAc=" }, - { - "pname": "System.Runtime.CompilerServices.Unsafe", - "version": "6.0.0", - "hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I=" - }, { "pname": "System.Security.Cryptography.ProtectedData", "version": "4.5.0", @@ -236,12 +321,12 @@ }, { "pname": "System.Text.Encodings.Web", - "version": "9.0.9", - "hash": "sha256-euYrJAKiTDCj/Rf1KVWI6IophDX828x5T9As9vAf81A=" + "version": "10.0.2", + "hash": "sha256-DWbSR+d8DJtkMclrKKbS5Ghlvi6YYrrxgHGfyDJx50o=" }, { "pname": "System.Text.Json", - "version": "9.0.9", - "hash": "sha256-I+GCgXZZUtgAta94BIBqy72HnZJ3egzNBOTxnVy2Ur8=" + "version": "10.0.2", + "hash": "sha256-Gf6L3mxsdvmN8gDyoUhfZDSFWKpmn9UjJ2v/p1CDFmk=" } ] diff --git a/pkgs/by-name/ga/garnet/package.nix b/pkgs/by-name/ga/garnet/package.nix index 145cc194cadfe..14d4e0e39df45 100644 --- a/pkgs/by-name/ga/garnet/package.nix +++ b/pkgs/by-name/ga/garnet/package.nix @@ -8,13 +8,13 @@ buildDotnetModule rec { pname = "garnet"; - version = "1.0.89"; + version = "1.0.99"; src = fetchFromGitHub { owner = "microsoft"; repo = "garnet"; tag = "v${version}"; - hash = "sha256-DL87KIkC1lzqVJPAUqFp7d/MKFoWWS0Lo1/02dwkCxQ="; + hash = "sha256-TAIaIPjXuQ2euGPw/Dz2b3uxo6v0nrP/+RCGsimeeN8="; }; projectFile = "main/GarnetServer/GarnetServer.csproj"; @@ -22,10 +22,11 @@ buildDotnetModule rec { dotnet-sdk = with dotnetCorePackages; - sdk_9_0 + sdk_10_0 // { inherit (combinePackages [ + sdk_10_0 sdk_9_0 sdk_8_0 ]) @@ -36,7 +37,7 @@ buildDotnetModule rec { dotnetBuildFlags = [ "-f" - "net9.0" + "net10.0" ]; dotnetInstallFlags = dotnetBuildFlags; @@ -54,7 +55,10 @@ buildDotnetModule rec { homepage = "https://microsoft.github.io/garnet/"; changelog = "https://github.com/microsoft/garnet/releases/tag/v${version}"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ getchoo ]; + maintainers = with lib.maintainers; [ + getchoo + hythera + ]; mainProgram = "GarnetServer"; }; } diff --git a/pkgs/by-name/ge/geesefs/package.nix b/pkgs/by-name/ge/geesefs/package.nix index 101a8e4d4f474..3d14e17756260 100644 --- a/pkgs/by-name/ge/geesefs/package.nix +++ b/pkgs/by-name/ge/geesefs/package.nix @@ -5,7 +5,7 @@ }: let - version = "0.43.3"; + version = "0.43.4"; in buildGoModule { pname = "geesefs"; @@ -15,7 +15,7 @@ buildGoModule { owner = "yandex-cloud"; repo = "geesefs"; rev = "v${version}"; - hash = "sha256-EwCWyN1wpG0CVt6vAjxNX0AYbHqblTtwKkbBIVDSJa0="; + hash = "sha256-mel9gvmlMzA9WEst7Xx49O4LqmzVXzPJU45ddfO4GkI="; }; # hashes differ per architecture otherwise. diff --git a/pkgs/by-name/ge/gemini-cli-bin/package.nix b/pkgs/by-name/ge/gemini-cli-bin/package.nix index 8f9e5f6ed83c4..6364c65a406f2 100644 --- a/pkgs/by-name/ge/gemini-cli-bin/package.nix +++ b/pkgs/by-name/ge/gemini-cli-bin/package.nix @@ -10,11 +10,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "gemini-cli-bin"; - version = "0.29.5"; + version = "0.30.0"; src = fetchurl { url = "https://github.com/google-gemini/gemini-cli/releases/download/v${finalAttrs.version}/gemini.js"; - hash = "sha256-Yzqi2l41XLNMGNqeVGru0SALc1ZVa2LS4Qk2QiiSasY="; + hash = "sha256-N4pfjiaawx8kvaOFoQ53owJehD69fECJPpt5DxKVJ7k="; }; dontUnpack = true; diff --git a/pkgs/by-name/ge/gemini-cli/package.nix b/pkgs/by-name/ge/gemini-cli/package.nix index a3efd641b279c..cdb9d1926a2bf 100644 --- a/pkgs/by-name/ge/gemini-cli/package.nix +++ b/pkgs/by-name/ge/gemini-cli/package.nix @@ -14,18 +14,18 @@ buildNpmPackage (finalAttrs: { pname = "gemini-cli"; - version = "0.29.5"; + version = "0.30.0"; src = fetchFromGitHub { owner = "google-gemini"; repo = "gemini-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-+gFSTq0CXMZa2OhP2gOuWa5WtteKW7Ys78lgnz7J72g="; + hash = "sha256-+w4w1cftPSj0gJ23Slw8Oexljmu0N/PZWH4IDjw75rs="; }; nodejs = nodejs_22; - npmDepsHash = "sha256-RGiWtJkLFV1UfFahHPzxtzJIsPCseEwfSsPdLfBkavI="; + npmDepsHash = "sha256-Nkd5Q2ugRqsTqaFbCSniC3Obl++uEjVUmoa8MVT5++8="; dontPatchElf = stdenv.isDarwin; @@ -90,6 +90,7 @@ buildNpmPackage (finalAttrs: { rm -f $out/share/gemini-cli/node_modules/@google/gemini-cli rm -f $out/share/gemini-cli/node_modules/@google/gemini-cli-core rm -f $out/share/gemini-cli/node_modules/@google/gemini-cli-a2a-server + rm -f $out/share/gemini-cli/node_modules/@google/gemini-cli-sdk rm -f $out/share/gemini-cli/node_modules/@google/gemini-cli-test-utils rm -f $out/share/gemini-cli/node_modules/gemini-cli-vscode-ide-companion cp -r packages/cli $out/share/gemini-cli/node_modules/@google/gemini-cli diff --git a/pkgs/by-name/ge/geopard/package.nix b/pkgs/by-name/ge/geopard/package.nix index edd037894a113..4fbcb97eb7e7f 100644 --- a/pkgs/by-name/ge/geopard/package.nix +++ b/pkgs/by-name/ge/geopard/package.nix @@ -17,18 +17,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "geopard"; - version = "1.6.0"; + version = "1.7.0"; src = fetchFromGitHub { owner = "ranfdev"; repo = "geopard"; rev = "v${finalAttrs.version}"; - hash = "sha256-etx8YPEFGSNyiSLpTNIXTZZiLSgAntQsM93On7dPGI0="; + hash = "sha256-wOkzylRfFJsdu9KC4TvF/qYkGf8OZVd1tRre5TbNOX4="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) src; - hash = "sha256-FHYWpMmJvcHuAHr9fFKl1qIhJb32NJEA/0j3R6/mVgQ="; + hash = "sha256-g7pHEBrR/tdKP+kuYJ44Py7kaAx0tXcMkC4UdsfSfDQ="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ge/geteduroam-cli/package.nix b/pkgs/by-name/ge/geteduroam-cli/package.nix index be8758abdec87..706624e227d20 100644 --- a/pkgs/by-name/ge/geteduroam-cli/package.nix +++ b/pkgs/by-name/ge/geteduroam-cli/package.nix @@ -7,16 +7,16 @@ }: buildGoModule (finalAttrs: { pname = "geteduroam-cli"; - version = "0.13"; + version = "0.14"; src = fetchFromGitHub { owner = "geteduroam"; repo = "linux-app"; tag = finalAttrs.version; - hash = "sha256-fmkTenN5F2FEimYUQi6JVUGmHcnVJvE9Giur+xTl+1s="; + hash = "sha256-Zvyba8ma4a5WmV6rnfUKqQ8AsZlGGWrZsL8UZIWApTQ="; }; - vendorHash = "sha256-kmBuyIs5S6h51+tF7vhY92o6VP+M7QI9AwuZSQUwjXg="; + vendorHash = "sha256-HYJ71pk1a8EaPycmbHmMnQeb42dt7M9NvK/1GYhZE0c="; subPackages = [ "cmd/geteduroam-cli" diff --git a/pkgs/by-name/gh/gh-gei/package.nix b/pkgs/by-name/gh/gh-gei/package.nix index 786df314649bd..57c700cd49617 100644 --- a/pkgs/by-name/gh/gh-gei/package.nix +++ b/pkgs/by-name/gh/gh-gei/package.nix @@ -7,13 +7,13 @@ buildDotnetModule rec { pname = "gh-gei"; - version = "1.26.0"; + version = "1.27.0"; src = fetchFromGitHub { owner = "github"; repo = "gh-gei"; rev = "v${version}"; - hash = "sha256-oyNnHEGOLQvxIoBnvH0rA6hYAx+BYY1+aG3qMx1RpX4="; + hash = "sha256-28baWL19mF7QWMZ2UHad9PeA6in+V3FVJXdl3hzCecI="; }; dotnet-sdk = dotnetCorePackages.sdk_8_0_4xx; diff --git a/pkgs/by-name/gh/gh-token/package.nix b/pkgs/by-name/gh/gh-token/package.nix new file mode 100644 index 0000000000000..b87049a4951f7 --- /dev/null +++ b/pkgs/by-name/gh/gh-token/package.nix @@ -0,0 +1,32 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, +}: + +buildGoModule rec { + pname = "gh-token"; + version = "2.0.7"; + + src = fetchFromGitHub { + owner = "Link-"; + repo = "gh-token"; + rev = "v${version}"; + hash = "sha256-ufpQQgXaL28lPPLotZZneJPWWAy80Jd6hNeKX81aa98="; + }; + + vendorHash = "sha256-gUPNHSeI8B5hwnIo7gwGo5aP4j7rzgveZIksyNe65jM="; + + ldflags = [ + "-s" + "-w" + ]; + + meta = { + description = "Manage installation access tokens for GitHub apps from your terminal"; + homepage = "https://github.com/Link-/gh-token"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ norbertwnuk ]; + mainProgram = "gh-token"; + }; +} diff --git a/pkgs/by-name/gh/gh/package.nix b/pkgs/by-name/gh/gh/package.nix index b9b6734e1dba6..973e5f6463ef2 100644 --- a/pkgs/by-name/gh/gh/package.nix +++ b/pkgs/by-name/gh/gh/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "gh"; - version = "2.87.2"; + version = "2.87.3"; src = fetchFromGitHub { owner = "cli"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-QPQVsdZy17rNX5ACoKHiJG+f/2CAiBfO3B1ucton0tw="; + hash = "sha256-F4xUwj/krB5vjIfnvmwySlztBrcxJ+k1GvXb2gs7eXY="; }; vendorHash = "sha256-POrm4lHEO2Eti7dbohKBwXW+DTs22EUZX+tMNUCL3lg="; diff --git a/pkgs/by-name/gh/ghalint/package.nix b/pkgs/by-name/gh/ghalint/package.nix index ce95eb451a984..a6a755fe68bdc 100644 --- a/pkgs/by-name/gh/ghalint/package.nix +++ b/pkgs/by-name/gh/ghalint/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "ghalint"; - version = "1.5.4"; + version = "1.5.5"; src = fetchFromGitHub { owner = "suzuki-shunsuke"; repo = "ghalint"; tag = "v${finalAttrs.version}"; - hash = "sha256-pfLXnMbrxXAMpfmjctah85z5GHfI/+NZDrIu1LcBH8M="; + hash = "sha256-xAXcvvSwcJjdG2BCItBLdsu6vZiID5FmRYYF9PZe1QE="; }; - vendorHash = "sha256-VCv5ZCeUWHld+q7tkHSUyeVagMhSN9893vYHyO/VlAI="; + vendorHash = "sha256-XIalA/usvyvzrvGU7Ygf1DWSlTm1YYaN+X0Xm+YiiTI="; subPackages = [ "cmd/ghalint" ]; diff --git a/pkgs/by-name/gi/ginac/package.nix b/pkgs/by-name/gi/ginac/package.nix index d67f294402bbe..1021b935e8757 100644 --- a/pkgs/by-name/gi/ginac/package.nix +++ b/pkgs/by-name/gi/ginac/package.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "GiNaC C++ library for symbolic manipulations"; homepage = "https://www.ginac.de/"; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; license = lib.licenses.gpl2; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/gi/git-pkgs/package.nix b/pkgs/by-name/gi/git-pkgs/package.nix new file mode 100644 index 0000000000000..5b67fe053d4cc --- /dev/null +++ b/pkgs/by-name/gi/git-pkgs/package.nix @@ -0,0 +1,52 @@ +{ + lib, + stdenv, + fetchFromGitHub, + buildGoModule, + installShellFiles, +}: +buildGoModule rec { + pname = "git-pkgs"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "git-pkgs"; + repo = "git-pkgs"; + tag = "v${version}"; + hash = "sha256-XjW3qwybTmzW2CNgu1Edgs5ZZ9xl3+uS4sT8VWD3jyQ="; + }; + + vendorHash = "sha256-/LJwq17f7SAjSV2ZcLrdaKZYf9RVJ9wtYqEsW0ubT1Q="; + + subPackages = [ "." ]; + + ldflags = [ + "-X github.com/git-pkgs/git-pkgs/cmd.version=${version}" + ]; + + # Tries to access the internet. + doCheck = false; + + nativeBuildInputs = [ installShellFiles ]; + + postBuild = '' + go run scripts/generate-man.go + installManPage man/*.1 + ''; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd git-pkgs \ + --bash <($out/bin/git-pkgs completion bash) \ + --fish <($out/bin/git-pkgs completion fish) \ + --zsh <($out/bin/git-pkgs completion zsh) + ''; + + meta = { + homepage = "https://github.com/git-pkgs/git-pkgs"; + description = "Git subcommand for analyzing package/dependency usage in git repositories over time"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ bnjmnt4n ]; + platforms = lib.platforms.unix; + mainProgram = "git-pkgs"; + }; +} diff --git a/pkgs/by-name/gi/git-spice/package.nix b/pkgs/by-name/gi/git-spice/package.nix index d73ac866477cc..933f26a2894e0 100644 --- a/pkgs/by-name/gi/git-spice/package.nix +++ b/pkgs/by-name/gi/git-spice/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "git-spice"; - version = "0.23.0"; + version = "0.24.2"; src = fetchFromGitHub { owner = "abhinav"; repo = "git-spice"; tag = "v${finalAttrs.version}"; - hash = "sha256-p0XKjQhw0c40+m6QevMnHLaknKYc8Qf6WhTKLkPORP0="; + hash = "sha256-Zt4PG3pWJ0h22fBJnsIVqcSk2BwwuOHdmSOrAMENN70="; }; vendorHash = "sha256-tlAex6SFTprJtpMexMjAUNanamqraHYJuwtABx52rWQ="; diff --git a/pkgs/by-name/gi/git/package.nix b/pkgs/by-name/gi/git/package.nix index 49be29b176288..fd6017523b52b 100644 --- a/pkgs/by-name/gi/git/package.nix +++ b/pkgs/by-name/gi/git/package.nix @@ -164,6 +164,11 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace "$x" \ --subst-var-by ssh "${openssh}/bin/ssh" done + '' + + lib.optionalString (rustSupport && (stdenv.buildPlatform != stdenv.hostPlatform)) '' + substituteInPlace Makefile \ + --replace-fail "RUST_TARGET_DIR = target/" \ + "RUST_TARGET_DIR = target/${stdenv.hostPlatform.rust.rustcTargetSpec}/" ''; nativeBuildInputs = [ @@ -205,10 +210,16 @@ stdenv.mkDerivation (finalAttrs: { libsecret ]; - # required to support pthread_cancel() - env.NIX_LDFLAGS = - lib.optionalString (stdenv.cc.isGNU && stdenv.hostPlatform.libc == "glibc") "-lgcc_s" - + lib.optionalString (stdenv.hostPlatform.isFreeBSD) "-lthr"; + env = { + # required to support pthread_cancel() + NIX_LDFLAGS = + lib.optionalString (stdenv.cc.isGNU && stdenv.hostPlatform.libc == "glibc") "-lgcc_s" + + lib.optionalString (stdenv.hostPlatform.isFreeBSD) "-lthr"; + } + // lib.attrsets.optionalAttrs (rustSupport && (stdenv.buildPlatform != stdenv.hostPlatform)) { + # Rust cross-compilation + CARGO_BUILD_TARGET = stdenv.hostPlatform.rust.rustcTargetSpec; + }; configureFlags = [ "ac_cv_prog_CURL_CONFIG=${lib.getDev curl}/bin/curl-config" diff --git a/pkgs/by-name/gi/gitaly/package.nix b/pkgs/by-name/gi/gitaly/package.nix index 1afb2c08e3dfb..544a235d6db60 100644 --- a/pkgs/by-name/gi/gitaly/package.nix +++ b/pkgs/by-name/gi/gitaly/package.nix @@ -7,7 +7,7 @@ }: let - version = "18.8.4"; + version = "18.8.5"; package_version = "v${lib.versions.major version}"; gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}"; @@ -21,7 +21,7 @@ let owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - hash = "sha256-/zl25h2kYP4nUOJoNkOs3Tp1QsY5YcOutykchPEVa1I="; + hash = "sha256-XbKEw21WRkh/kUeoS9Z+/SpEtqjflad2P5vi6U2wSbM="; }; vendorHash = "sha256-CSjsxwumKUbp/tSewE8iAp4c3DH6V6fNY4OCgzjvHP0="; diff --git a/pkgs/by-name/gi/gitlab-container-registry/package.nix b/pkgs/by-name/gi/gitlab-container-registry/package.nix index 47d4f8e6142f1..415d689507437 100644 --- a/pkgs/by-name/gi/gitlab-container-registry/package.nix +++ b/pkgs/by-name/gi/gitlab-container-registry/package.nix @@ -6,7 +6,7 @@ buildGo125Module rec { pname = "gitlab-container-registry"; - version = "4.36.0"; + version = "4.37.0"; rev = "v${version}-gitlab"; # nixpkgs-update: no auto update @@ -14,10 +14,10 @@ buildGo125Module rec { owner = "gitlab-org"; repo = "container-registry"; inherit rev; - hash = "sha256-Zp6zwSdgtDDKUDoF7EBLkcKZG5e68wI6x3QG8pwaDfM="; + hash = "sha256-ZsnmJEzoLSH5bspxTQjOV8EOeQVeFn+rYCl8QqfzGaA="; }; - vendorHash = "sha256-DWuMsTOw/yjEfh7e8FLT4qhNU3TLOFlI6dcNx+OQuEs="; + vendorHash = "sha256-xUkfcgsw6nRDxq1Tj5Y1CYgnJ7rbCcncB94Aeh9Ek+M="; checkFlags = let diff --git a/pkgs/by-name/gi/gitlab-pages/package.nix b/pkgs/by-name/gi/gitlab-pages/package.nix index 8a5e35d07f6c9..a3c96ed0aafdb 100644 --- a/pkgs/by-name/gi/gitlab-pages/package.nix +++ b/pkgs/by-name/gi/gitlab-pages/package.nix @@ -6,14 +6,14 @@ buildGoModule (finalAttrs: { pname = "gitlab-pages"; - version = "18.8.4"; + version = "18.8.5"; # nixpkgs-update: no auto update src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-pages"; rev = "v${finalAttrs.version}"; - hash = "sha256-cGl/Huhy9RJxP786MVlzbMNjgBfEQzZTdHt+KRElXoA="; + hash = "sha256-g2vjiwzsB2rysaAkULCStdvfOpfagCpdhdJmeCAoMxg="; }; vendorHash = "sha256-AZIv/CU01OAbn5faE4EkSuDCakYzDjRprB5ox5tIlck="; diff --git a/pkgs/by-name/gi/gitlab/data.json b/pkgs/by-name/gi/gitlab/data.json index fcbf0c4eaaf0d..e3367075c7e25 100644 --- a/pkgs/by-name/gi/gitlab/data.json +++ b/pkgs/by-name/gi/gitlab/data.json @@ -1,17 +1,17 @@ { - "version": "18.8.4", - "repo_hash": "sha256-gX5Cy3CxNqLj4HFgqGmFKLrvAhdcgag+XcQMEB9UNZ4=", + "version": "18.8.5", + "repo_hash": "sha256-oBCtpkpN14B6zJzj9x42JV1Rq77qlPfbQuJ/TcWF8MU=", "yarn_hash": "sha256-s4+NpzynaR5ab1DlXRMmtOeFZCwpexMoWjwX00hnx5o=", "frontend_islands_yarn_hash": "sha256-DiGj3eJMLnlWBTePwGmEvmY9d1Li3p/Y6h3GtZnsvhg=", "owner": "gitlab-org", "repo": "gitlab", - "rev": "v18.8.4-ee", + "rev": "v18.8.5-ee", "passthru": { - "GITALY_SERVER_VERSION": "18.8.4", - "GITLAB_KAS_VERSION": "18.8.4", - "GITLAB_PAGES_VERSION": "18.8.4", + "GITALY_SERVER_VERSION": "18.8.5", + "GITLAB_KAS_VERSION": "18.8.5", + "GITLAB_PAGES_VERSION": "18.8.5", "GITLAB_SHELL_VERSION": "14.45.5", "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "5.12.2", - "GITLAB_WORKHORSE_VERSION": "18.8.4" + "GITLAB_WORKHORSE_VERSION": "18.8.5" } } diff --git a/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix b/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix index 8d147eb8c1d75..85fd3680636bd 100644 --- a/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix +++ b/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix @@ -10,7 +10,7 @@ in buildGoModule (finalAttrs: { pname = "gitlab-workhorse"; - version = "18.8.4"; + version = "18.8.5"; # nixpkgs-update: no auto update src = fetchFromGitLab { diff --git a/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile b/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile index 0aa66cfebd4a2..7ed54d98266ca 100644 --- a/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile +++ b/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile @@ -747,7 +747,7 @@ gem 'paper_trail', '~> 16.0', feature_category: :workspaces gem "i18n_data", "~> 0.13.1", feature_category: :system_access -gem "gitlab-cloud-connector", "~> 1.43", require: 'gitlab/cloud_connector', feature_category: :plan_provisioning +gem "gitlab-cloud-connector", "~> 1.44", require: 'gitlab/cloud_connector', feature_category: :plan_provisioning gem "gvltools", "~> 0.4.0", feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839 diff --git a/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile.lock b/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile.lock index 70fa0bd633324..c1ec89cd75102 100644 --- a/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile.lock +++ b/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile.lock @@ -743,7 +743,7 @@ GEM terminal-table (>= 1.5.1) gitlab-chronic (0.10.6) numerizer (~> 0.2) - gitlab-cloud-connector (1.43.0) + gitlab-cloud-connector (1.44.0) activesupport (>= 7.0) jwt (~> 2.9) gitlab-crystalball (1.1.1) @@ -2191,7 +2191,7 @@ DEPENDENCIES gitlab-active-context! gitlab-backup-cli! gitlab-chronic (~> 0.10.5) - gitlab-cloud-connector (~> 1.43) + gitlab-cloud-connector (~> 1.44) gitlab-crystalball (~> 1.1.0) gitlab-dangerfiles (~> 4.10.0) gitlab-duo-workflow-service-client (~> 0.6)! diff --git a/pkgs/by-name/gi/gitlab/rubyEnv/gemset.nix b/pkgs/by-name/gi/gitlab/rubyEnv/gemset.nix index aaf6b35a12a9b..4ee4d3b6d449f 100644 --- a/pkgs/by-name/gi/gitlab/rubyEnv/gemset.nix +++ b/pkgs/by-name/gi/gitlab/rubyEnv/gemset.nix @@ -2886,10 +2886,10 @@ src: { platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1cjn1vqnvr3lhbdqfpy88aq7qmvd1j7i08gd8cly91914cd22pi9"; + sha256 = "1mywc4yvzw7s659r12nhg81kiv1y9lqjrp22ply2nj5zdk8f7qqy"; type = "gem"; }; - version = "1.43.0"; + version = "1.44.0"; }; gitlab-crystalball = { dependencies = [ @@ -4334,6 +4334,7 @@ src: { "danger" "default" "development" + "monorepo" "test" ]; platforms = [ ]; @@ -4436,7 +4437,9 @@ src: { influxdb-client = { dependencies = [ "csv" ]; groups = [ + "default" "development" + "monorepo" "test" ]; platforms = [ ]; @@ -6705,6 +6708,7 @@ src: { "coverage" "default" "development" + "monorepo" "test" ]; platforms = [ ]; diff --git a/pkgs/by-name/gk/gkrellm/package.nix b/pkgs/by-name/gk/gkrellm/package.nix index 724f5afaf7f93..a7d8285068fd5 100644 --- a/pkgs/by-name/gk/gkrellm/package.nix +++ b/pkgs/by-name/gk/gkrellm/package.nix @@ -17,11 +17,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "gkrellm"; - version = "2.5.0"; + version = "2.5.1"; src = fetchurl { url = "http://gkrellm.srcbox.net/releases/gkrellm-${finalAttrs.version}.tar.bz2"; - hash = "sha256-aMdaA6Brk1r6k9MzHKHC2GLB1Qw+nfGdmo1Ilw12a1U="; + hash = "sha256-CJ48HtOYSC5oLJkAtQTqFmphRKbJ+gQecMW7ymsXfmM="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/gl/glaze/package.nix b/pkgs/by-name/gl/glaze/package.nix index f1d7fd657272f..ceecfc8d4da01 100644 --- a/pkgs/by-name/gl/glaze/package.nix +++ b/pkgs/by-name/gl/glaze/package.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ cmake ]; - buildInputs = lib.optionals enableSSL [ openssl ]; + propagatedBuildInputs = lib.optionals enableSSL [ openssl ]; # https://github.com/stephenberry/glaze/blob/main/CMakeLists.txt cmakeFlags = [ diff --git a/pkgs/by-name/gl/glib/package.nix b/pkgs/by-name/gl/glib/package.nix index c9f8ba26d34b8..44b9c0f87d1bd 100644 --- a/pkgs/by-name/gl/glib/package.nix +++ b/pkgs/by-name/gl/glib/package.nix @@ -374,7 +374,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://gitlab.gnome.org/GNOME/glib"; license = lib.licenses.lgpl21Plus; maintainers = with lib.maintainers; [ - lovek323 raskin ]; teams = [ lib.teams.gnome ]; diff --git a/pkgs/by-name/gl/glooctl/package.nix b/pkgs/by-name/gl/glooctl/package.nix index 2cebb7a11800c..39a18f043aed5 100644 --- a/pkgs/by-name/gl/glooctl/package.nix +++ b/pkgs/by-name/gl/glooctl/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "glooctl"; - version = "1.20.9"; + version = "1.20.10"; src = fetchFromGitHub { owner = "solo-io"; repo = "gloo"; rev = "v${finalAttrs.version}"; - hash = "sha256-BbYsnLwBgZTwh3GWOd7F6hRD1ATVYspnN/iuqYhrt4o="; + hash = "sha256-ZoeXxWaILJfsIQ7sowqT9Kt0PT7a3g5CdYk7ulP8ZEs="; }; vendorHash = "sha256-zJmp3UWzZSI7G54DTOEOEo2ZIKjM6GZ0Cf5/BukaB4o="; diff --git a/pkgs/by-name/gn/gn/package.nix b/pkgs/by-name/gn/gn/package.nix index edfc0f2536e5f..6dc3f07a36138 100644 --- a/pkgs/by-name/gn/gn/package.nix +++ b/pkgs/by-name/gn/gn/package.nix @@ -11,11 +11,11 @@ version ? # This is a workaround for update-source-version to be able to update this let - _version = "0-unstable-2025-12-01"; + _version = "0-unstable-2026-01-07"; in _version, - rev ? "6e0b557db44b3c164094e57687d20ba036a80667", - hash ? "sha256-04h38X/hqWwMiAOVsVu4OUrt8N+S7yS/JXc5yvRGo1I=", + rev ? "5550ba0f4053c3cbb0bff3d60ded9d867b6fa371", + hash ? "sha256-SoXVnpCuNee80N4YdsTEHQd3jZNoHOwKVP6O8a67Ym0=", }: stdenv.mkDerivation { diff --git a/pkgs/by-name/gn/gnmic/package.nix b/pkgs/by-name/gn/gnmic/package.nix index 7964056877794..99ba63a9502cd 100644 --- a/pkgs/by-name/gn/gnmic/package.nix +++ b/pkgs/by-name/gn/gnmic/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "gnmic"; - version = "0.44.0"; + version = "0.44.1"; src = fetchFromGitHub { owner = "openconfig"; repo = "gnmic"; tag = "v${finalAttrs.version}"; - hash = "sha256-gIKhJ8BaJq/IXXOJrY+n8BoAxKxDDXvEc3JDXGcOxW0="; + hash = "sha256-aAVjc5U0/fd9hOKCyVMopInkX4geJvuy48nHecKKzUQ="; }; - vendorHash = "sha256-osVsIqluU4la2oDWGbjDQq0sM9uCiWgsar5H/XNudV0="; + vendorHash = "sha256-V6tnsCszkruLnAOCCysOYmPioHNQpdsQu0GZUf+36SE="; ldflags = [ "-s" diff --git a/pkgs/by-name/gn/gnu-smalltalk/package.nix b/pkgs/by-name/gn/gnu-smalltalk/package.nix index 43b33c1b4dbc6..87811a8543a0f 100644 --- a/pkgs/by-name/gn/gnu-smalltalk/package.nix +++ b/pkgs/by-name/gn/gnu-smalltalk/package.nix @@ -50,6 +50,7 @@ stdenv.mkDerivation (finalAttrs: { ]; enableParallelBuilding = true; + env.NIX_CFLAGS_COMPILE = "-std=gnu99"; # The dependencies and their justification are explained at # http://smalltalk.gnu.org/download @@ -93,6 +94,6 @@ stdenv.mkDerivation (finalAttrs: { lgpl2 ]; platforms = lib.platforms.linux; - maintainers = [ ]; + maintainers = with lib.maintainers; [ sauricat ]; }; }) diff --git a/pkgs/by-name/go/go-containerregistry/package.nix b/pkgs/by-name/go/go-containerregistry/package.nix index 9c014efc71553..b77a9ffe59962 100644 --- a/pkgs/by-name/go/go-containerregistry/package.nix +++ b/pkgs/by-name/go/go-containerregistry/package.nix @@ -15,13 +15,13 @@ in buildGoModule (finalAttrs: { pname = "go-containerregistry"; - version = "0.20.7"; + version = "0.21.1"; src = fetchFromGitHub { owner = "google"; repo = "go-containerregistry"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-UDLKdeQ2Nxf5MCruN4IYNGL0xOp8Em2d+wmXX+R9ow4="; + sha256 = "sha256-VJtSiTt9nJOzhkwUsKoXPL7q+pCjSw+3VgVAhj/2ftg="; }; vendorHash = null; diff --git a/pkgs/by-name/go/go-mockery_2/package.nix b/pkgs/by-name/go/go-mockery_2/package.nix index 8ae525a55b4af..5720982ae1fa6 100644 --- a/pkgs/by-name/go/go-mockery_2/package.nix +++ b/pkgs/by-name/go/go-mockery_2/package.nix @@ -12,17 +12,17 @@ buildGoModule (finalAttrs: { pname = "go-mockery_2"; # supported upstream until 2029-12-31 # https://vektra.github.io/mockery/latest/v3/#v2-support-lifecycle - version = "2.53.5"; + version = "2.53.6"; src = fetchFromGitHub { owner = "vektra"; repo = "mockery"; tag = "v${finalAttrs.version}"; - hash = "sha256-Q+EiUg606JsTe9XsIVk/mktKF0+tXGNeOuvYk9iB+uY="; + hash = "sha256-XJnxs+towKaW64TUvmgVsxtYYak6e5qc4u9EKuyHLSs="; }; proxyVendor = true; - vendorHash = "sha256-5pMcAuWxKqWzSB+d28hFOP++P0JpqukSO3Z+1Hrwzk4="; + vendorHash = "sha256-BY/Z8xDWPbccwvAf0t71qkxFDI3JqEr7lIxctEzudQ0="; ldflags = [ "-s" diff --git a/pkgs/by-name/go/go-tools/package.nix b/pkgs/by-name/go/go-tools/package.nix index 66f30d5a7d1df..e6ec28e93449b 100644 --- a/pkgs/by-name/go/go-tools/package.nix +++ b/pkgs/by-name/go/go-tools/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "go-tools"; - version = "2025.1.1"; + version = "2026.1"; src = fetchFromGitHub { owner = "dominikh"; repo = "go-tools"; rev = finalAttrs.version; - sha256 = "sha256-ekSOXaVSFdzM76tcj1hbtzhYw4fnFX3VkTnsGtJanXg="; + sha256 = "sha256-cj/pHKwp7eGuOO1zhv5bFmuPHgsFytktLQmihhdYkfY="; }; - vendorHash = "sha256-HssfBnSKdVZVgf4f0mwsGTwhiszBlE2HmDy7cvyvJ60="; + vendorHash = "sha256-Wu8+e0r0bkztLbxekbHktoKjg6c8q7ls5APSEdO8CKs="; excludedPackages = [ "website" ]; diff --git a/pkgs/by-name/go/godsvg/package.nix b/pkgs/by-name/go/godsvg/package.nix new file mode 100644 index 0000000000000..9a1be11e540c1 --- /dev/null +++ b/pkgs/by-name/go/godsvg/package.nix @@ -0,0 +1,80 @@ +{ + godot_4_6, + makeWrapper, + stdenv, + lib, + fetchFromGitHub, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "godsvg"; + version = "1.0-alpha14"; + src = fetchFromGitHub { + owner = "MewPurPur"; + repo = "GodSVG"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Bo45Zu13RRPxf5tZhCxAulTe61o9kwqX1nEFJDaeBng="; + }; + + nativeBuildInputs = [ + godot_4_6 + makeWrapper + ]; + + buildPhase = + let + # https://github.com/MewPurPur/GodSVG/blob/main/export_presets.cfg + preset = + { + "x86_64-linux" = "Linux"; + "aarch64-darwin" = "macOS"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + in + '' + runHook preBuild + + # Cannot create file `/homeless-shelter/.config/godot_4_5/projects/...` + export HOME=$TMPDIR + # Link the export-templates to the expected location. The `--export` option expects the templates in the home directory. + mkdir -p $HOME/.local/share/godot_4_5 + ln -s ${godot_4_6}/share/godot_4_5/templates $HOME/.local/share/godot_4_5 + + godot4 --headless --export-pack ${preset} godsvg.pck + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -Dm444 godsvg.pck $out/share/godsvg/godsvg.pck + + makeWrapper ${godot_4_6}/bin/godot4 $out/bin/godsvg \ + --add-flag "--main-pack" \ + --add-flag "$out/share/godsvg/godsvg.pck" + + install -Dm444 ./assets/logos/icon.svg $out/share/icons/hicolor/scalable/apps/godsvg.svg + install -Dm444 ./assets/logos/icon.png $out/share/icons/hicolor/256x256/apps/godsvg.png + install -Dm444 ./assets/GodSVG.desktop $out/share/applications/GodSVG.desktop + + runHook postInstall + ''; + + # currently, all tags are marked as pre-release + passthru.updateScript = nix-update-script { extraArgs = [ "--version=unstable" ]; }; + + meta = { + homepage = "https://www.godsvg.com/"; + description = "A vector graphics application for structured SVG editing"; + changelog = "https://www.godsvg.com/article/${lib.replaceString "." "-" finalAttrs.version}"; + license = lib.licenses.mit; + platforms = [ + "x86_64-linux" + "aarch64-darwin" + ]; + mainProgram = "godsvg"; + maintainers = [ lib.maintainers.mochienya ]; + }; +}) diff --git a/pkgs/by-name/go/gogup/package.nix b/pkgs/by-name/go/gogup/package.nix index 2e47b941eac7b..4414c91c1fdbd 100644 --- a/pkgs/by-name/go/gogup/package.nix +++ b/pkgs/by-name/go/gogup/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "gogup"; - version = "0.28.3"; + version = "1.1.2"; src = fetchFromGitHub { owner = "nao1215"; repo = "gup"; rev = "v${finalAttrs.version}"; - hash = "sha256-vcwXPdXMH31L+IkNLqeDZW4KhLb2i6sXIPPOs2Lc5rU="; + hash = "sha256-hLX32bsRMG80pvuJxHeJwPKVHGc2W9c7wbsz0rfqelI="; }; - vendorHash = "sha256-Zu8P31XoIO18U2Ej0qh0yF91zDCeWxMgC7KtcWNzvh8="; + vendorHash = "sha256-tFuZ30GjP2GpRjCUXJRexJYXUNDTNktBMKi7ntu3bWM="; doCheck = false; ldflags = [ diff --git a/pkgs/by-name/go/golazo/package.nix b/pkgs/by-name/go/golazo/package.nix new file mode 100644 index 0000000000000..c3fbb19164870 --- /dev/null +++ b/pkgs/by-name/go/golazo/package.nix @@ -0,0 +1,42 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + gitUpdater, + libnotify, +}: +buildGoModule (finalAttrs: { + pname = "golazo"; + version = "0.21.0"; + + src = fetchFromGitHub { + owner = "0xjuanma"; + repo = "golazo"; + tag = "v${finalAttrs.version}"; + hash = "sha256-TWpaW8MTkYEOp+7dd3LiDs05tCB3riUPmFRzhMiAeZI="; + }; + + vendorHash = "sha256-M2gfqU5rOfuiVSZnH/Dr8OVmDhyU2jYkgW7RuIUTd+E="; + + subPackages = [ "." ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libnotify ]; + + ldflags = [ + "-X github.com/0xjuanma/golazo/cmd.Version=v${finalAttrs.version}" + ]; + + passthru.updateScript = gitUpdater { + rev-prefix = "v"; + }; + + meta = { + description = "Minimal TUI app to keep up with live & recent football/soccer matches written in Go"; + homepage = "https://github.com/0xjuanma/golazo"; + license = lib.licenses.mit; + platforms = lib.platforms.all; + mainProgram = "golazo"; + maintainers = with lib.maintainers; [ rafaelrc ]; + }; +}) diff --git a/pkgs/by-name/go/gomuks-web/package.nix b/pkgs/by-name/go/gomuks-web/package.nix index f1fa466e1325e..3f6938f5cba40 100644 --- a/pkgs/by-name/go/gomuks-web/package.nix +++ b/pkgs/by-name/go/gomuks-web/package.nix @@ -6,57 +6,74 @@ nodejs, npmHooks, unstableGitUpdater, + applyPatches, + fetchpatch, + pkg-config, + libheif, }: buildGoModule ( finalAttrs: let - ver = "0.2025.11"; - revDate = "2025-11-01"; - rev = "be0d4487871c196d0c47bb1b6ac7ce9252d424de"; - srcHash = "sha256-x7M7d8obnt8mpH1ZRev8c39PE5ZlgssgusGvrLaF/vg="; - vendorHash = "sha256-TDvTZ0n324pNPAPMZMhWq0LdDUqFrzBXNVNdfMlxqeQ="; - npmDepsHash = "sha256-4Ir4uq9Hg6Hwj21P/H7xWdVPzYrDrXiouEtjnLJj4Ko="; + rev = "5b3942a75ccf3dcf244d0e7e5f8e02896b86bbda"; in { pname = "gomuks-web"; - version = "${ver}-unstable-${revDate}"; + version = "0.2602.0"; - inherit vendorHash; + proxyVendor = true; + vendorHash = "sha256-VjcKxZ9hYxmha5KCuJ5ms7eclAOlsNTWZMmpNhmzX8U="; - src = fetchFromGitHub { - owner = "gomuks"; - repo = "gomuks"; - hash = srcHash; - inherit rev; + src = applyPatches { + src = fetchFromGitHub { + owner = "gomuks"; + repo = "gomuks"; + inherit rev; + hash = "sha256-IpxTlirZCXjUHaZbvDew3WWlt0kuKffJQ4BFix2iQjg="; + }; + patches = [ + # required patch to use libheif instead of goheif which won't build + (fetchpatch { + url = "https://github.com/gomuks/gomuks/commit/c794a3e9034d76dc1a8c1598f1ff957ecda9e22d.patch"; + sha256 = "sha256-QyPX2bLuGHqdv/17Pf+N/f1gq/tAbSQKVagN+6S3rJ8="; + }) + ]; }; nativeBuildInputs = [ nodejs npmHooks.npmConfigHook + pkg-config + ]; + + buildInputs = [ + libheif ]; env = { npmRoot = "web"; npmDeps = fetchNpmDeps { src = "${finalAttrs.src}/web"; - hash = npmDepsHash; + hash = "sha256-ob85fZDC3Qcos53MGvf+c1eGEO/SvfUTdnjA3T/y6/A="; }; }; postPatch = '' substituteInPlace ./web/build-wasm.sh \ - --replace-fail 'go.mau.fi/gomuks/version.Tag=$(git describe --exact-match --tags 2>/dev/null)' "go.mau.fi/gomuks/version.Tag=v${ver}" \ + --replace-fail 'go.mau.fi/gomuks/version.Tag=$(git describe --exact-match --tags 2>/dev/null)' "go.mau.fi/gomuks/version.Tag=v${finalAttrs.version}" \ --replace-fail 'go.mau.fi/gomuks/version.Commit=$(git rev-parse HEAD)' "go.mau.fi/gomuks/version.Commit=${rev}" ''; doCheck = false; - tags = [ "goolm" ]; + tags = [ + "goolm" + "libheif" + ]; ldflags = [ - "-X 'go.mau.fi/gomuks/version.Tag=v${ver}'" + "-X 'go.mau.fi/gomuks/version.Tag=v${finalAttrs.version}'" "-X 'go.mau.fi/gomuks/version.Commit=${rev}'" "-X \"go.mau.fi/gomuks/version.BuildTime=$(date -Iseconds)\"" "-X \"maunium.net/go/mautrix.GoModVersion=$(cat go.mod | grep 'maunium.net/go/mautrix ' | head -n1 | awk '{ print $2 })\"" diff --git a/pkgs/by-name/go/goreplay/package.nix b/pkgs/by-name/go/goreplay/package.nix index d1c033d9b1430..7ec6997e7301f 100644 --- a/pkgs/by-name/go/goreplay/package.nix +++ b/pkgs/by-name/go/goreplay/package.nix @@ -40,7 +40,7 @@ buildGoModule (finalAttrs: { homepage = "https://github.com/buger/goreplay"; license = lib.licenses.lgpl3Only; description = "Open-source tool for capturing and replaying live HTTP traffic"; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; mainProgram = "goreplay"; }; }) diff --git a/pkgs/by-name/go/gotify-server/package.nix b/pkgs/by-name/go/gotify-server/package.nix index a2662ba7d118f..435309cce8cb4 100644 --- a/pkgs/by-name/go/gotify-server/package.nix +++ b/pkgs/by-name/go/gotify-server/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "gotify-server"; - version = "2.8.0"; + version = "2.9.0"; src = fetchFromGitHub { owner = "gotify"; repo = "server"; tag = "v${finalAttrs.version}"; - hash = "sha256-wLkJ7zBz89e+ECuaNDcbOzHsA9Xiuz9jrqujnd4Mdzc="; + hash = "sha256-yfF4fS8SazjzTUHIHLGAvD2tJJMJ+W678d6Rsc+2weA="; }; - vendorHash = "sha256-vcrMWCNVqDMlIgamb0fBekNrb8qMj2Cb0b7KZbqJ1yg="; + vendorHash = "sha256-oO0wnwBQPJqeJkFoAoEIKRuvbvsbp18F7jwxPCYjsxg="; # No test doCheck = false; diff --git a/pkgs/by-name/go/gotify-server/ui.nix b/pkgs/by-name/go/gotify-server/ui.nix index 6978dc4905d71..6d0fe5e324d1c 100644 --- a/pkgs/by-name/go/gotify-server/ui.nix +++ b/pkgs/by-name/go/gotify-server/ui.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: { yarnOfflineCache = fetchYarnDeps { yarnLock = "${finalAttrs.src}/yarn.lock"; - hash = "sha256-nU1K43ucv2DnDcIDee6I2t8fgz86NSyNvth2znlclsM="; + hash = "sha256-MKHpdRxL12T4/JVPCUE7nQresxnRBs9kvWGvfAhMESM="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/go/gotosocial/package.nix b/pkgs/by-name/go/gotosocial/package.nix index ac858eb3f526f..a11b9d56b726a 100644 --- a/pkgs/by-name/go/gotosocial/package.nix +++ b/pkgs/by-name/go/gotosocial/package.nix @@ -9,11 +9,11 @@ let owner = "superseriousbusiness"; repo = "gotosocial"; - version = "0.20.3"; + version = "0.21.0"; web-assets = fetchurl { url = "https://codeberg.org/${owner}/${repo}/releases/download/v${version}/${repo}_${version}_web-assets.tar.gz"; - hash = "sha256-Xh4SgzBG2Cm4SaMb9lebW/gBv94HuVXNSjd8L+bowUg="; + hash = "sha256-eExVquNTXkvxg0SAR60kXi5mnROp+tHNO3os1K+rWzU="; }; in buildGo125Module rec { @@ -23,7 +23,7 @@ buildGo125Module rec { src = fetchFromCodeberg { inherit owner repo; tag = "v${version}"; - hash = "sha256-tWICsPN9r3mJqcs0EHE1+QFhQCzI1pD1eXZXSi2Peo4="; + hash = "sha256-ifSm3tV8P435v7WUS2BYXfVS3FHu9Axz3IQWGdTw3Bg="; }; vendorHash = null; diff --git a/pkgs/by-name/go/gotrue-supabase/package.nix b/pkgs/by-name/go/gotrue-supabase/package.nix index 8d7f0a8da27eb..eba9110f3a222 100644 --- a/pkgs/by-name/go/gotrue-supabase/package.nix +++ b/pkgs/by-name/go/gotrue-supabase/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "auth"; - version = "2.186.0"; + version = "2.187.0"; src = fetchFromGitHub { owner = "supabase"; repo = "auth"; rev = "v${finalAttrs.version}"; - hash = "sha256-8kB7gh5sp2D9dvyxsE/YMWoUx/jzAqw8nEBwB0XQlRQ="; + hash = "sha256-Hb0mz7JaHRpbTQNPuVG2xPubctPJYRw0vWr9s1rNRJM="; }; - vendorHash = "sha256-QrqucIuYIhIMsD93+6HWf74LwVncOsbFB9gJR1GdMvA="; + vendorHash = "sha256-3zvudV60v/BHHz3dfjOdII+XKcxy/1b4uDN+R+xcUxY="; ldflags = [ "-s" diff --git a/pkgs/by-name/go/gource/package.nix b/pkgs/by-name/go/gource/package.nix index d189801271a40..55e9b47046021 100644 --- a/pkgs/by-name/go/gource/package.nix +++ b/pkgs/by-name/go/gource/package.nix @@ -4,6 +4,7 @@ fetchurl, SDL2, ftgl, + autoreconfHook, pkg-config, libpng, libjpeg, @@ -31,9 +32,18 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' # remove bundled library rm -r src/tinyxml + + # Fix build with boost 1.89 + rm m4/ax_boost_system.m4 + substituteInPlace configure.ac \ + --replace-fail "AX_BOOST_SYSTEM" "" ''; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ glew SDL2 diff --git a/pkgs/by-name/go/goxlr-utility/package.nix b/pkgs/by-name/go/goxlr-utility/package.nix index 0076858e0af6c..b02e9fe3aa07f 100644 --- a/pkgs/by-name/go/goxlr-utility/package.nix +++ b/pkgs/by-name/go/goxlr-utility/package.nix @@ -13,16 +13,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "goxlr-utility"; - version = "1.2.3"; + version = "1.2.4"; src = fetchFromGitHub { owner = "GoXLR-on-Linux"; repo = "goxlr-utility"; rev = "v${finalAttrs.version}"; - hash = "sha256-+hwNevUT9AwMXHUxmjYVrJ3AKaxICrOJZ642GPRq17Q="; + hash = "sha256-WPEk7rMfvwN3YyUfxu3wP09rfOZQ+GMPt1OAY5jEj8Y="; }; - cargoHash = "sha256-NzqyBe/qeWtTcAWu2bE3fyhegtxKpQokEEvNxdu/zUo="; + cargoHash = "sha256-7s2P9kvYEfgVRFaOkkzsVHbgTaxodvG6bOw5/HTmvyI="; buildInputs = [ libpulseaudio diff --git a/pkgs/by-name/gp/gpxsee/package.nix b/pkgs/by-name/gp/gpxsee/package.nix index dce926e9d2719..555e70dc5700d 100644 --- a/pkgs/by-name/gp/gpxsee/package.nix +++ b/pkgs/by-name/gp/gpxsee/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "gpxsee"; - version = "15.10"; + version = "15.11"; src = fetchFromGitHub { owner = "tumic0"; repo = "GPXSee"; tag = finalAttrs.version; - hash = "sha256-lXyxArPctaS9q+xeSpYBWPd9fdTffGNIBO39bMxZBCE="; + hash = "sha256-OZC4ClQUbOKb1nZD6kmZ2s6oHudhkLLW0HSrYiFCJfg="; }; buildInputs = [ @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { ''; preConfigure = '' - lrelease gpxsee.pro + lrelease lang/*.ts ''; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: { }; meta = { - changelog = "https://build.opensuse.org/package/view_file/home:tumic:GPXSee/gpxsee/gpxsee.changes"; + changelog = "https://github.com/tumic0/GPXSee/releases/tag/${finalAttrs.src.tag}"; description = "GPS log file viewer and analyzer"; mainProgram = "gpxsee"; homepage = "https://www.gpxsee.org/"; diff --git a/pkgs/by-name/gr/grafana-image-renderer/package.nix b/pkgs/by-name/gr/grafana-image-renderer/package.nix index ed92f1e61b378..842ae7ababebc 100644 --- a/pkgs/by-name/gr/grafana-image-renderer/package.nix +++ b/pkgs/by-name/gr/grafana-image-renderer/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "grafana-image-renderer"; - version = "5.5.1"; + version = "5.6.0"; src = fetchFromGitHub { owner = "grafana"; repo = "grafana-image-renderer"; tag = "v${finalAttrs.version}"; - hash = "sha256-1SntOvAoHf0GwWG3wS2OLY9eiBXhS1mA0OEtKSFOApU="; + hash = "sha256-54ZW81QSsun7t0HhLTub2QVz7jA7PsueoAUeXuQXOqM="; }; vendorHash = "sha256-kGLvstSkucM0tN5l+Vp78IP9EwDx62kukAiOwYD4Vfs="; diff --git a/pkgs/servers/monitoring/grafana/missing-hashes.json b/pkgs/by-name/gr/grafana/missing-hashes.json similarity index 100% rename from pkgs/servers/monitoring/grafana/missing-hashes.json rename to pkgs/by-name/gr/grafana/missing-hashes.json diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/by-name/gr/grafana/package.nix similarity index 100% rename from pkgs/servers/monitoring/grafana/default.nix rename to pkgs/by-name/gr/grafana/package.nix diff --git a/pkgs/by-name/gr/grc/package.nix b/pkgs/by-name/gr/grc/package.nix index 0e27a537686b9..4ddd21ce51e3a 100644 --- a/pkgs/by-name/gr/grc/package.nix +++ b/pkgs/by-name/gr/grc/package.nix @@ -54,7 +54,6 @@ python3Packages.buildPythonApplication (finalAttrs: { license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ azahi - lovek323 peterhoeg ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/gt/gtk2/package.nix b/pkgs/by-name/gt/gtk2/package.nix index 18db8a17783d5..3f05469c1afcb 100644 --- a/pkgs/by-name/gt/gtk2/package.nix +++ b/pkgs/by-name/gt/gtk2/package.nix @@ -164,7 +164,6 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${finalAttrs.version}/NEWS"; license = lib.licenses.lgpl2Plus; maintainers = with lib.maintainers; [ - lovek323 raskin ]; platforms = lib.platforms.all; diff --git a/pkgs/by-name/gu/guake/package.nix b/pkgs/by-name/gu/guake/package.nix index dacb8bf09ebb8..657ccb181a780 100644 --- a/pkgs/by-name/gu/guake/package.nix +++ b/pkgs/by-name/gu/guake/package.nix @@ -2,8 +2,8 @@ lib, fetchFromGitHub, fetchpatch, - python311, - python311Packages, + python3, + python3Packages, glibcLocales, gobject-introspection, wrapGAppsHook3, @@ -17,7 +17,7 @@ nixosTests, }: -python311Packages.buildPythonApplication (finalAttrs: { +python3Packages.buildPythonApplication (finalAttrs: { pname = "guake"; version = "3.10.1"; @@ -30,6 +30,10 @@ python311Packages.buildPythonApplication (finalAttrs: { hash = "sha256-TTDVJeM37SbpWucJGYoeYX9t4r1k3ldru9Cd02hBrU4="; }; + build-system = with python3Packages; [ + distutils + ]; + patches = [ # Avoid trying to recompile schema at runtime, # the package should be responsible for ensuring it is up to date. @@ -57,7 +61,7 @@ python311Packages.buildPythonApplication (finalAttrs: { nativeBuildInputs = [ gobject-introspection wrapGAppsHook3 - python311Packages.pip + python3Packages.pip ]; buildInputs = [ @@ -66,18 +70,19 @@ python311Packages.buildPythonApplication (finalAttrs: { keybinder3 libnotify libwnck - python311 + python3 vte ]; makeWrapperArgs = [ "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive" ]; - propagatedBuildInputs = with python311Packages; [ + propagatedBuildInputs = with python3Packages; [ dbus-python pycairo pygobject3 setuptools-scm pyyaml + distutils ]; makeFlags = [ diff --git a/pkgs/by-name/gu/guile-hoot/package.nix b/pkgs/by-name/gu/guile-hoot/package.nix index f0369e8521da4..a3bca3085e05b 100644 --- a/pkgs/by-name/gu/guile-hoot/package.nix +++ b/pkgs/by-name/gu/guile-hoot/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "guile-hoot"; - version = "0.7.0"; + version = "0.8.0"; src = fetchFromCodeberg { owner = "spritely"; repo = "hoot"; tag = "v${finalAttrs.version}"; - hash = "sha256-mthEqyVsBrFhwz29VwatbFp4QgGmZ9sDoyTpRIEsOmI="; + hash = "sha256-b372dMUsDTa+hYrOwvj+/YcwVP52BCJxwSGRaqSSWZs="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/gv/gvm-libs/package.nix b/pkgs/by-name/gv/gvm-libs/package.nix index 18756a07c0375..dfbcc80897c17 100644 --- a/pkgs/by-name/gv/gvm-libs/package.nix +++ b/pkgs/by-name/gv/gvm-libs/package.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "gvm-libs"; - version = "22.35.7"; + version = "22.35.8"; src = fetchFromGitHub { owner = "greenbone"; repo = "gvm-libs"; tag = "v${finalAttrs.version}"; - hash = "sha256-A3FO2el1ytsXUJEWA+7zthcTN2WpEnNIO2fWQI+0bjc="; + hash = "sha256-yJetYU2veAnwvbi8C/zvz7F58hDhAD/+VGwCQ1Z3KEE="; }; postPatch = '' diff --git a/pkgs/by-name/ha/haven/package.nix b/pkgs/by-name/ha/haven/package.nix index b454275d853e5..1d972e5d73ecc 100644 --- a/pkgs/by-name/ha/haven/package.nix +++ b/pkgs/by-name/ha/haven/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "haven"; - version = "1.2.0"; + version = "1.2.2"; src = fetchFromGitHub { owner = "bitvora"; repo = "haven"; tag = "v${finalAttrs.version}"; - hash = "sha256-1rGOZVzlzijyxqjAnp2uvxy9KPr3uuRD8+48x38lQwg="; + hash = "sha256-gpfTgaO3VK65GBy/W/rR8181yHlvgTx9UyWReo7s2gQ="; }; vendorHash = "sha256-VXx6uoOUKk/BkjDS3Ykf/0Xc2mUPm8dgyRArIb2I8X4="; diff --git a/pkgs/by-name/hc/hcloud-upload-image/package.nix b/pkgs/by-name/hc/hcloud-upload-image/package.nix new file mode 100644 index 0000000000000..e38f5648bbb2a --- /dev/null +++ b/pkgs/by-name/hc/hcloud-upload-image/package.nix @@ -0,0 +1,51 @@ +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + lib, + stdenv, +}: + +buildGoModule rec { + pname = "hcloud-upload-image"; + version = "1.3.0"; + + src = fetchFromGitHub { + owner = "apricote"; + repo = "hcloud-upload-image"; + tag = "v${version}"; + hash = "sha256-1u9tpzciYjB/EgBI81pg9w0kez7hHZON7+AHvfKW7k0="; + }; + + vendorHash = "sha256-IdOAUBPg0CEuHd2rdc7jOlw0XtnAhr3PVPJbnFs2+x4="; + + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; + + subPackages = [ "." ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + for shell in bash fish zsh; do + $out/bin/hcloud-upload-image completion $shell > hcloud.$shell + installShellCompletion hcloud.$shell + done + ''; + + env.GOWORK = "off"; + + meta = { + changelog = "https://github.com/apricote/hcloud-upload-image/releases/tag/v${version}"; + description = "Quickly upload any raw disk images into your Hetzner Cloud projects"; + mainProgram = "hcloud-upload-image"; + homepage = "https://github.com/apricote/hcloud-upload-image"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + sshine + ]; + }; +} diff --git a/pkgs/by-name/hd/hdr10plus_tool/package.nix b/pkgs/by-name/hd/hdr10plus_tool/package.nix index d1e27962afa9b..912776b6c5dc2 100644 --- a/pkgs/by-name/hd/hdr10plus_tool/package.nix +++ b/pkgs/by-name/hd/hdr10plus_tool/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "hdr10plus_tool"; - version = "1.7.1"; + version = "1.7.2"; src = fetchFromGitHub { owner = "quietvoid"; repo = "hdr10plus_tool"; tag = finalAttrs.version; - hash = "sha256-Lpm770Eb81L+eEzHUD+0+J3iS9CFdSP3odhw6KDtgAI="; + hash = "sha256-LFfb6B0LPa+kqqluDssuQaGdaBLgD9rs51Cqb09BK7g="; }; - cargoHash = "sha256-Qkl02HAC6PVCHW226R6StmzrGZv/IHcE88kEg9BpObs="; + cargoHash = "sha256-gAD+rCZ2Z+TutrUpOXFhvzh60W2Usz41QpXgBZ6SjiE="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/he/hebbot/package.nix b/pkgs/by-name/he/hebbot/package.nix index ce1a2b6f57e98..8981a5d90c3a9 100644 --- a/pkgs/by-name/he/hebbot/package.nix +++ b/pkgs/by-name/he/hebbot/package.nix @@ -40,13 +40,12 @@ rustPlatform.buildRustPackage (finalAttrs: { env = { OPENSSL_NO_VENDOR = 1; + NIX_CFLAGS_LINK = toString [ + "-L${lib.getLib openssl}/lib" + "-L${lib.getLib sqlite}/lib" + ]; }; - NIX_CFLAGS_LINK = [ - "-L${lib.getLib openssl}/lib" - "-L${lib.getLib sqlite}/lib" - ]; - passthru.updateScript = unstableGitUpdater { }; meta = { diff --git a/pkgs/by-name/he/hedgedoc/package.nix b/pkgs/by-name/he/hedgedoc/package.nix index 8288642bcaa3a..f55fa38d5f2e0 100644 --- a/pkgs/by-name/he/hedgedoc/package.nix +++ b/pkgs/by-name/he/hedgedoc/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "hedgedoc"; - version = "1.10.6"; + version = "1.10.7"; src = fetchFromGitHub { owner = "hedgedoc"; repo = "hedgedoc"; tag = finalAttrs.version; - hash = "sha256-Utun/xGSYV20HJNwvV8q4iekRNE+oBx1kSo3rx5IZTQ="; + hash = "sha256-9HbvnnvC1eWoOxPE6yW2GcULgIrXDZ4B+mt7ZYz4j/Q="; }; # Generate this file with: diff --git a/pkgs/by-name/he/heimdall-proxy/package.nix b/pkgs/by-name/he/heimdall-proxy/package.nix index 0daaa7a9be1e9..ce914ef5fc434 100644 --- a/pkgs/by-name/he/heimdall-proxy/package.nix +++ b/pkgs/by-name/he/heimdall-proxy/package.nix @@ -4,7 +4,7 @@ lib, }: let - version = "0.17.7"; + version = "0.17.9"; in buildGoModule { pname = "heimdall-proxy"; @@ -15,10 +15,10 @@ buildGoModule { owner = "dadrus"; repo = "heimdall"; tag = "v${version}"; - hash = "sha256-LpBnWzEQK+hr0XTB03rUAQ4YJ1r51nS+lK3/PL7jvNw="; + hash = "sha256-x1Whe2EPGFwsiLxrkKalNUWXwgXHKDBJyzbjtWMx/PY="; }; - vendorHash = "sha256-GUk+nCmrk0vSFf8nt0evWKVRuwWcWmwVcLKCgVHt9GA="; + vendorHash = "sha256-Gu+fBeo6uUYBSWYXsrWD5yI1eGR8QVpAW7jkCod4IpY="; tags = [ "sqlite" ]; diff --git a/pkgs/by-name/he/helix/package.nix b/pkgs/by-name/he/helix/package.nix index b66ba8dfa721e..be2792e5f2a0f 100644 --- a/pkgs/by-name/he/helix/package.nix +++ b/pkgs/by-name/he/helix/package.nix @@ -13,12 +13,30 @@ lockedGrammars ? lib.importJSON ./grammars.json, grammarsOverlay ? ( final: prev: { - tree-sitter-sql = prev.tree-sitter-sql.override { + tree-sitter-beancount = prev.tree-sitter-beancount.override { + excludeBrokenTreeSitterJson = false; + }; + tree-sitter-dart = prev.tree-sitter-dart.overrideAttrs { + patches = [ ]; + }; + tree-sitter-glimmer = prev.tree-sitter-glimmer.override { + excludeBrokenTreeSitterJson = false; + }; + tree-sitter-janet-simple = prev.tree-sitter-janet-simple.override { + excludeBrokenTreeSitterJson = false; + }; + tree-sitter-latex = prev.tree-sitter-latex.override { generate = false; }; tree-sitter-qmljs = prev.tree-sitter-qmljs.overrideAttrs { dontCheckForBrokenSymlinks = true; }; + tree-sitter-sql = prev.tree-sitter-sql.override { + generate = false; + }; + tree-sitter-tlaplus = prev.tree-sitter-tlaplus.overrideAttrs { + patches = [ ]; + }; } ), }: diff --git a/pkgs/by-name/he/heroic-unwrapped/legendary.nix b/pkgs/by-name/he/heroic-unwrapped/legendary.nix index 5054286fdabff..2cb52e0002859 100644 --- a/pkgs/by-name/he/heroic-unwrapped/legendary.nix +++ b/pkgs/by-name/he/heroic-unwrapped/legendary.nix @@ -7,14 +7,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "legendary-heroic"; - version = "0.20.41"; + version = "0.20.42"; pyproject = true; src = fetchFromGitHub { owner = "Heroic-Games-Launcher"; repo = "legendary"; tag = finalAttrs.version; - hash = "sha256-zX5Lyj8IDHETFyEpUaFnGaYZVs1hDy9rtwab1+rNlrw="; + hash = "sha256-ZnOQhIGAgUvZVdPpxdothKzPElp/hdvUJA0mTpXLyIM="; }; build-system = with python3Packages; [ diff --git a/pkgs/by-name/he/heroic-unwrapped/package.nix b/pkgs/by-name/he/heroic-unwrapped/package.nix index 1168dc3d1c7bb..24bd10a53ad1a 100644 --- a/pkgs/by-name/he/heroic-unwrapped/package.nix +++ b/pkgs/by-name/he/heroic-unwrapped/package.nix @@ -30,13 +30,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "heroic-unwrapped"; - version = "2.20.0"; + version = "2.20.1"; src = fetchFromGitHub { owner = "Heroic-Games-Launcher"; repo = "HeroicGamesLauncher"; tag = "v${finalAttrs.version}"; - hash = "sha256-gjQPQ/PwpDlBUfNF1JAlWUDGJa+7hwoQtouihdSCDqI="; + hash = "sha256-nXDQxctzXI/kB6o1ShhrhiloWnpYObG66nMAwxijFto="; }; pnpmDeps = fetchPnpmDeps { @@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: { ; inherit pnpm; fetcherVersion = 3; - hash = "sha256-JLUiPNxcOpwkYaabl2kP73fgr+WFyXQW8y6qDIb5gt4="; + hash = "sha256-3SkCLoH4ZQzKZIdCkWOfBHt83vjxbpTpMvhMZPCysyI="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/hi/hittekaart/package.nix b/pkgs/by-name/hi/hittekaart/package.nix new file mode 100644 index 0000000000000..2320fda4e76da --- /dev/null +++ b/pkgs/by-name/hi/hittekaart/package.nix @@ -0,0 +1,34 @@ +{ + lib, + rustPlatform, + fetchFromGitea, + python3, + sqlite, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "hittekaart"; + version = "0.1.0"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "dunj3"; + repo = "hittekaart"; + tag = "v${finalAttrs.version}"; + hash = "sha256-bog00/pkpTaUtLDfuR9d8yEhDt9mn9YDyF17ojZMM38="; + }; + + cargoHash = "sha256-Izcgxkl7QdNWYRrz9+nKMlCkEDtqiZTIAnJO/b7ZJKs="; + + nativeBuildInputs = [ python3 ]; + + buildInputs = [ sqlite ]; + + meta = { + description = "Renders heatmaps by reading GPX files and generating OSM overlay tiles"; + homepage = "https://codeberg.org/dunj3/hittekaart"; + license = lib.licenses.gpl3Plus; + teams = [ lib.teams.geospatial ]; + mainProgram = "hittekaart"; + }; +}) diff --git a/pkgs/by-name/hm/hmcl/package.nix b/pkgs/by-name/hm/hmcl/package.nix index d33be8fb110b4..7936ab5ea3913 100644 --- a/pkgs/by-name/hm/hmcl/package.nix +++ b/pkgs/by-name/hm/hmcl/package.nix @@ -32,6 +32,7 @@ xrandr, glib, libGL, + glfw3, glfw3-minecraft, openal, libglvnd, @@ -43,6 +44,9 @@ callPackage, gtk3, }: +let + glfw3' = if stdenv.hostPlatform.isLinux then glfw3-minecraft else glfw3; +in stdenv.mkDerivation (finalAttrs: { pname = "hmcl"; version = "3.11.1"; @@ -137,7 +141,7 @@ stdenv.mkDerivation (finalAttrs: { runtimeDeps = [ libGL - glfw3-minecraft + glfw3' glib openal libglvnd @@ -188,7 +192,7 @@ stdenv.mkDerivation (finalAttrs: { lib.makeBinPath (minecraftJdks ++ lib.optional stdenv.hostPlatform.isLinux xrandr) }" \ --run 'cd $HOME' \ - --prefix JAVA_TOOL_OPTIONS " " "-Dorg.lwjgl.glfw.libname=${lib.getLib glfw3-minecraft}/lib/libglfw.so" \ + ${lib.optionalString stdenv.hostPlatform.isLinux ''--prefix JAVA_TOOL_OPTIONS " " "-Dorg.lwjgl.glfw.libname=${lib.getLib glfw3'}/lib/libglfw.so"''} \ ''${gappsWrapperArgs[@]} ''; diff --git a/pkgs/by-name/ho/homebox/package.nix b/pkgs/by-name/ho/homebox/package.nix index f99334a1aeafa..324f49c53369b 100644 --- a/pkgs/by-name/ho/homebox/package.nix +++ b/pkgs/by-name/ho/homebox/package.nix @@ -13,18 +13,18 @@ }: let pname = "homebox"; - version = "0.22.3"; + version = "0.23.1"; src = fetchFromGitHub { owner = "sysadminsmedia"; repo = "homebox"; tag = "v${version}"; - hash = "sha256-0/pf7jShuoME6it8GPXJ7ugoRLVfpEzu2uaUW0XFwJg="; + hash = "sha256-bKPlaiAJUwEQbHKBRnUvwuPB4sTlgltUm426LsSQ7yQ="; }; in buildGoModule { inherit pname version src; - vendorHash = "sha256-pAMWPMZV5U7hIKNNFgRyyqZEH3wjUCplo7cQfKh1A6g="; + vendorHash = "sha256-bHrpZ/zrXl/zjDgn8aETDZZBUQAfVgi6WLDUxFUSmiQ="; modRoot = "backend"; # the goModules derivation inherits our buildInputs and buildPhases # Since we do pnpm thing in those it fails if we don't explicitly remove them @@ -42,7 +42,7 @@ buildGoModule { src = "${src}/frontend"; pnpm = pnpm_9; fetcherVersion = 1; - hash = "sha256-5AEwgI5rQzp/36USr+QEzjgllZkKhhIvlzl+9ZVfGM4="; + hash = "sha256-MG2IzSOjdGIjuKOtbDlI6UY+67+6/AAsnBscFvs2V4o="; }; pnpmRoot = "../frontend"; diff --git a/pkgs/by-name/ho/homebridge-config-ui-x/package.nix b/pkgs/by-name/ho/homebridge-config-ui-x/package.nix index d3e3dbcde2a38..94bb3693acc12 100644 --- a/pkgs/by-name/ho/homebridge-config-ui-x/package.nix +++ b/pkgs/by-name/ho/homebridge-config-ui-x/package.nix @@ -13,23 +13,23 @@ buildNpmPackage.override { nodejs = nodejs_22; } (finalAttrs: { pname = "homebridge-config-ui-x"; - version = "5.17.0"; + version = "5.18.0"; src = fetchFromGitHub { owner = "homebridge"; repo = "homebridge-config-ui-x"; tag = "v${finalAttrs.version}"; - hash = "sha256-6s3Ia9vWuYJjNnE4iQz8jbOKjcn5dGe8DjpGcsrSwEc="; + hash = "sha256-bdE/uu3uh3qgPNaDKU47wD1LtER/wJfLmwp2J624rK4="; }; # Deps hash for the root package - npmDepsHash = "sha256-HrTnzoN/Mku60U84bh0I+ImlyCLVcfMlOAfjkezHErE="; + npmDepsHash = "sha256-pbmnAAQs6RVwklAoKY4LY0k+nheX2BeAgkQEFNVDofc="; # Deps src and hash for ui subdirectory npmDeps_ui = fetchNpmDeps { name = "npm-deps-ui"; src = "${finalAttrs.src}/ui"; - hash = "sha256-RNzPrSdHYEd8U3FD9h7DiLCWVuRojZgL+Q5mmsPm9wc="; + hash = "sha256-uBB2WxbCXJL2Ys6sMFcLUlh88TLAz3U+XMhvDc8yFPk="; }; # Need to also run npm ci in the ui subdirectory diff --git a/pkgs/by-name/ho/hongdown/package.nix b/pkgs/by-name/ho/hongdown/package.nix index 108aeaf8cd852..30f8beb67ae25 100644 --- a/pkgs/by-name/ho/hongdown/package.nix +++ b/pkgs/by-name/ho/hongdown/package.nix @@ -5,15 +5,15 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "hongdown"; - version = "0.3.2"; + version = "0.3.4"; src = fetchFromGitHub { owner = "dahlia"; repo = "hongdown"; tag = finalAttrs.version; - hash = "sha256-zk5pwiBonI24ZocnpzAbrZ1gfehm+hwjFUeUKcrCnMc="; + hash = "sha256-Bj0ECrYRnXSjgyblocnVjdYipuzbX2+G3KRWZvdR9Rk="; }; - cargoHash = "sha256-62cj+gqXgrIqnH82mLFryKgoUJzY3Zw7P/MusYVZiIw="; + cargoHash = "sha256-q84orbkrcKbO5FeI9dk0E92EtE9eQ8n/yGjXzh9MIgg="; meta = { description = "Markdown formatter that enforces Hong Minhee's Markdown style conventions"; mainProgram = "hongdown"; diff --git a/pkgs/servers/pulseaudio/hsphfpd.nix b/pkgs/by-name/hs/hsphfpd/package.nix similarity index 100% rename from pkgs/servers/pulseaudio/hsphfpd.nix rename to pkgs/by-name/hs/hsphfpd/package.nix diff --git a/pkgs/by-name/ht/htslib/package.nix b/pkgs/by-name/ht/htslib/package.nix index c65baa3ff3421..fdb42b4f3c14b 100644 --- a/pkgs/by-name/ht/htslib/package.nix +++ b/pkgs/by-name/ht/htslib/package.nix @@ -7,6 +7,7 @@ bzip2, xz, curl, + libdeflate, perl, }: @@ -34,6 +35,7 @@ stdenv.mkDerivation (finalAttrs: { bzip2 xz curl + libdeflate ]; configureFlags = diff --git a/pkgs/by-name/hy/hydra-check/package.nix b/pkgs/by-name/hy/hydra-check/package.nix index 2b91d1b79ba75..6c0b31227fc24 100644 --- a/pkgs/by-name/hy/hydra-check/package.nix +++ b/pkgs/by-name/hy/hydra-check/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "hydra-check"; - version = "2.0.5"; + version = "2.1.0"; src = fetchFromGitHub { owner = "nix-community"; repo = "hydra-check"; tag = "v${finalAttrs.version}"; - hash = "sha256-rOqLAI0r11Tfi6crKAxnj/HHBgUKcCGb4MCdxqLv4uE="; + hash = "sha256-5nZnY/EA5SF3KNZbsvNGn77cOgEZsBpxBJwiREyF/fE="; }; - cargoHash = "sha256-B5shiONb9XTbi6/T9pDHmx6Bvz6kkj/VhaJvupuHNEQ="; + cargoHash = "sha256-DN2LSYCR9QL1090C6dt21EOq9aUtZkAvxh4B6KYXPAU="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/hy/hyprland/info.json b/pkgs/by-name/hy/hyprland/info.json index 24b7ff15df25c..a1f2a9a285899 100644 --- a/pkgs/by-name/hy/hyprland/info.json +++ b/pkgs/by-name/hy/hyprland/info.json @@ -1,7 +1,7 @@ { - "branch": "v0.53.3-b", - "commit_hash": "dd220efe7b1e292415bd0ea7161f63df9c95bfd3", - "commit_message": "version: bump to 0.53.3", - "date": "2026-01-24", - "tag": "v0.53.3" + "branch": "main", + "commit_hash": "0002f148c9a4fe421a9d33c0faa5528cdc411e62", + "commit_message": "version: bump to 0.54.0", + "date": "2026-02-27", + "tag": "v0.54.0" } diff --git a/pkgs/by-name/hy/hyprland/package.nix b/pkgs/by-name/hy/hyprland/package.nix index 36ffdb3fc71d2..61dd6c073fbca 100644 --- a/pkgs/by-name/hy/hyprland/package.nix +++ b/pkgs/by-name/hy/hyprland/package.nix @@ -48,11 +48,6 @@ enableXWayland ? true, withSystemd ? lib.meta.availableOn gcc15Stdenv.hostPlatform systemd, wrapRuntimeDeps ? true, - # deprecated flags - nvidiaPatches ? false, - hidpiXWayland ? false, - enableNvidiaPatches ? false, - legacyRenderer ? false, }: let inherit (builtins) @@ -85,24 +80,16 @@ let customStdenv = foldl' (acc: adapter: adapter acc) gcc15Stdenv adapters; in -assert assertMsg (!nvidiaPatches) "The option `nvidiaPatches` has been removed."; -assert assertMsg (!enableNvidiaPatches) "The option `enableNvidiaPatches` has been removed."; -assert assertMsg (!hidpiXWayland) - "The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland"; -assert assertMsg ( - !legacyRenderer -) "The option `legacyRenderer` has been removed. Legacy renderer is no longer supported."; - customStdenv.mkDerivation (finalAttrs: { pname = "hyprland" + optionalString debug "-debug"; - version = "0.53.3"; + version = "0.54.0"; src = fetchFromGitHub { owner = "hyprwm"; repo = "hyprland"; fetchSubmodules = true; tag = "v${finalAttrs.version}"; - hash = "sha256-as2crdrJUVOawO8XkWJEZBUNaFdPS8QuQiccTkM1la0="; + hash = "sha256-wfiduannx1mWvsGAfuMk8ipOU3AAFuJYPNV4D++dhPY="; }; postPatch = '' @@ -140,9 +127,6 @@ customStdenv.mkDerivation (finalAttrs: { hyprwire makeWrapper cmake - # meson + ninja are used to build the hyprland-protocols submodule - meson - ninja pkg-config wayland-scanner # for udis86 @@ -166,10 +150,11 @@ customStdenv.mkDerivation (finalAttrs: { hyprutils libGL libdrm + libgbm libinput libuuid + libxcursor libxkbcommon - libgbm muparser pango pciutils @@ -177,15 +162,14 @@ customStdenv.mkDerivation (finalAttrs: { tomlplusplus wayland wayland-protocols - libxcursor ] (optionals customStdenv.hostPlatform.isBSD [ epoll-shim ]) (optionals customStdenv.hostPlatform.isMusl [ libexecinfo ]) (optionals enableXWayland [ libxcb - libxdmcp libxcb-errors libxcb-wm + libxdmcp xwayland ]) (optionals withSystemd [ systemd ]) @@ -202,7 +186,6 @@ customStdenv.mkDerivation (finalAttrs: { "NO_SYSTEMD" = !withSystemd; "CMAKE_DISABLE_PRECOMPILE_HEADERS" = true; "NO_UWSM" = !withSystemd; - "NO_HYPRPM" = true; "TRACY_ENABLE" = false; }; diff --git a/pkgs/by-name/hy/hyprprop/package.nix b/pkgs/by-name/hy/hyprprop/package.nix index fc800e8bff863..2a63d6d1f9e7a 100644 --- a/pkgs/by-name/hy/hyprprop/package.nix +++ b/pkgs/by-name/hy/hyprprop/package.nix @@ -14,13 +14,13 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "hyprprop"; - version = "0.1-unstable-2025-12-18"; + version = "0.1-unstable-2026-02-19"; src = fetchFromGitHub { owner = "hyprwm"; repo = "contrib"; - rev = "41dbcac8183bb1b3a4ade0d8276b2f2df6ae4690"; - hash = "sha256-d3HmUbmfTDIt9mXEHszqyo2byqQMoyJtUJCZ9U1IqHQ="; + rev = "918f266dddae39fa4184a1b8bf51ec5381cf29f7"; + hash = "sha256-aH8h5ZOiyEGtHmEyuE/eFxx8TN7a+NGDnl4V+dbzJ6E="; }; sourceRoot = "${finalAttrs.src.name}/hyprprop"; diff --git a/pkgs/by-name/hy/hyprviz/package.nix b/pkgs/by-name/hy/hyprviz/package.nix index f1afb113073df..dd7848aecc931 100644 --- a/pkgs/by-name/hy/hyprviz/package.nix +++ b/pkgs/by-name/hy/hyprviz/package.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "hyprviz"; - version = "0.8.0"; + version = "0.8.1"; src = fetchFromGitHub { owner = "timasoft"; repo = "hyprviz"; tag = "v${finalAttrs.version}"; - hash = "sha256-5w7+fkf2oB0x5N6xlKjSPbgsB7Ifr1NWW8qWDmGyFwU="; + hash = "sha256-CzuCBeJWtfHvCcWtV7X6suTagx0Sw+OagleHwwlyEms="; }; - cargoHash = "sha256-+8MKYruPjCTooiY7pxwz5oqIpk4ZidugPrVlMZ1yMI0="; + cargoHash = "sha256-fg4bPn/18Pu7LUorF3egCeBd9di+3OmCQxTeWr1Pybw="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/hy/hyprwhspr-rs/package.nix b/pkgs/by-name/hy/hyprwhspr-rs/package.nix new file mode 100644 index 0000000000000..49b19f8cd2e25 --- /dev/null +++ b/pkgs/by-name/hy/hyprwhspr-rs/package.nix @@ -0,0 +1,68 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + openssl, + pkg-config, + alsa-lib, + systemdLibs, + libxkbcommon, + makeWrapper, + versionCheckHook, + # hardware acceleration can be enabled by overriding whisper-cpp/onnxruntime or by editing config.cudaSupport/config.rocmSupport globals + whisper-cpp, + onnxruntime, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "hyprwhspr-rs"; + version = "0.3.20"; + + src = fetchFromGitHub { + owner = "better-slop"; + repo = "hyprwhspr-rs"; + tag = "v${finalAttrs.version}"; + hash = "sha256-QCOzTbLBoygOLLN90840HHHFEaHdorf0CQOCuGpCIfo="; + }; + + cargoHash = "sha256-hLjWHMY2wpEfPfLIdfxDI21FrrC1QOWGRkTezkmzmGY="; + + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; + + buildInputs = [ + openssl + alsa-lib + onnxruntime + systemdLibs + libxkbcommon + ]; + + postInstall = '' + wrapProgram $out/bin/hyprwhspr-rs \ + --prefix PATH : ${lib.makeBinPath [ whisper-cpp ]} + # default voice activation sounds + install -Dm644 assets/* -t $out/share/assets + ''; + + # provide onnx runtime libraries to prevent default behavior of downloading them during the build step + env = { + ORT_STRATEGY = "system"; + ORT_LIB_LOCATION = "${lib.getLib onnxruntime}/lib"; + ORT_PREFER_DYNAMIC_LINK = "1"; + }; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + meta = { + description = "Native speech-to-text voice dictation for Hyprland"; + homepage = "https://github.com/better-slop/hyprwhspr-rs"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + mainProgram = "hyprwhspr-rs"; + maintainers = with lib.maintainers; [ CodeF53 ]; + }; +}) diff --git a/pkgs/by-name/i3/i3-volume/package.nix b/pkgs/by-name/i3/i3-volume/package.nix index 281a1d505f4ee..030e0d5ce517f 100644 --- a/pkgs/by-name/i3/i3-volume/package.nix +++ b/pkgs/by-name/i3/i3-volume/package.nix @@ -3,9 +3,14 @@ stdenv, fetchFromGitHub, gitUpdater, - coreutils, - bash, + makeWrapper, gawk, + bc, + jq, + wireplumber, + pipewire, + coreutils, + gnugrep, libpulseaudio, alsa-lib, libnotify, @@ -13,15 +18,17 @@ stdenv.mkDerivation rec { pname = "i3-volume"; - version = "3.9.0"; + version = "4.0.0"; src = fetchFromGitHub { owner = "hastinbe"; repo = "i3-volume"; rev = "v${version}"; - hash = "sha256-vmyfEXJ/5TRWIJQCblYcy8owI03F+ARNAEd0ni5ublM="; + hash = "sha256-IuJK03qW/WIK1K2gWJu3V1mVJM1wJx4IAcNKUBxtXf0="; }; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ libpulseaudio alsa-lib @@ -35,8 +42,21 @@ stdenv.mkDerivation rec { install -Dm755 volume $out/bin/i3-volume mkdir -p $out/share/doc/i3-volume/ - cp -a i3volume-alsa.conf $out/share/doc/i3-volume/i3volume-alsa.conf - cp -a i3volume-pulseaudio.conf $out/share/doc/i3-volume/i3volume-pulseaudio.conf + cp -a lib $out/bin/lib + cp -a example.conf $out/share/doc/i3-volume/example.conf + + wrapProgram "$out/bin/i3-volume" \ + --prefix PATH : ${ + lib.makeBinPath [ + gawk + bc + jq + wireplumber + pipewire + coreutils + gnugrep + ] + } runHook postInstall ''; diff --git a/pkgs/by-name/ic/icinga2-agent/package.nix b/pkgs/by-name/ic/icinga2-agent/package.nix new file mode 100644 index 0000000000000..02e9371dae264 --- /dev/null +++ b/pkgs/by-name/ic/icinga2-agent/package.nix @@ -0,0 +1,8 @@ +{ icinga2 }: +icinga2.override { + nameSuffix = "-agent"; + withMysql = false; + withNotification = false; + withIcingadb = false; + withPerfdata = false; +} diff --git a/pkgs/servers/monitoring/icinga2/etc-icinga2.patch b/pkgs/by-name/ic/icinga2/etc-icinga2.patch similarity index 100% rename from pkgs/servers/monitoring/icinga2/etc-icinga2.patch rename to pkgs/by-name/ic/icinga2/etc-icinga2.patch diff --git a/pkgs/servers/monitoring/icinga2/no-systemd-service.patch b/pkgs/by-name/ic/icinga2/no-systemd-service.patch similarity index 100% rename from pkgs/servers/monitoring/icinga2/no-systemd-service.patch rename to pkgs/by-name/ic/icinga2/no-systemd-service.patch diff --git a/pkgs/servers/monitoring/icinga2/no-var-directories.patch b/pkgs/by-name/ic/icinga2/no-var-directories.patch similarity index 100% rename from pkgs/servers/monitoring/icinga2/no-var-directories.patch rename to pkgs/by-name/ic/icinga2/no-var-directories.patch diff --git a/pkgs/servers/monitoring/icinga2/default.nix b/pkgs/by-name/ic/icinga2/package.nix similarity index 93% rename from pkgs/servers/monitoring/icinga2/default.nix rename to pkgs/by-name/ic/icinga2/package.nix index 21b39213e5ea8..69aff4ef2cc55 100644 --- a/pkgs/servers/monitoring/icinga2/default.nix +++ b/pkgs/by-name/ic/icinga2/package.nix @@ -28,14 +28,14 @@ nameSuffix ? "", }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "icinga2${nameSuffix}"; version = "2.15.1"; src = fetchFromGitHub { owner = "icinga"; repo = "icinga2"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-w/eD07yzBm3x4G74OuGwkmpBzj63UoklmcKxVi5lx8E="; }; @@ -118,9 +118,9 @@ stdenv.mkDerivation rec { ''} ''; - vim = runCommand "vim-icinga2-${version}" { pname = "vim-icinga2"; } '' + vim = runCommand "vim-icinga2-${finalAttrs.version}" { pname = "vim-icinga2"; } '' mkdir -p $out/share/vim-plugins - cp -r "${src}/tools/syntax/vim" $out/share/vim-plugins/icinga2 + cp -r "${finalAttrs.src}/tools/syntax/vim" $out/share/vim-plugins/icinga2 ''; meta = { @@ -133,4 +133,4 @@ stdenv.mkDerivation rec { helsinki-Jo ]; }; -} +}) diff --git a/pkgs/by-name/il/ilbc/package.nix b/pkgs/by-name/il/ilbc/package.nix index b8e34d5d8f3d8..73dfdf329eb0c 100644 --- a/pkgs/by-name/il/ilbc/package.nix +++ b/pkgs/by-name/il/ilbc/package.nix @@ -7,11 +7,12 @@ }: stdenv.mkDerivation rec { - name = "ilbc-rfc3951"; + pname = "ilbc-rfc3951"; + version = "0-unstable-2004-12-03"; script = ./extract-cfile.awk; - rfc3951 = fetchurl { + src = fetchurl { url = "http://www.ietf.org/rfc/rfc3951.txt"; sha256 = "0zf4mvi3jzx6zjrfl2rbhl2m68pzbzpf1vbdmn7dqbfpcb67jpdy"; }; @@ -19,9 +20,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; unpackPhase = '' - mkdir -v ${name} - cd ${name} - ${gawk}/bin/gawk -f ${script} ${rfc3951} + mkdir -v ${pname} + cd ${pname} + ${lib.getExe gawk} -f ${script} $src cp -v ${./CMakeLists.txt} CMakeLists.txt ''; @@ -32,5 +33,6 @@ stdenv.mkDerivation rec { meta = { platforms = lib.platforms.unix; + license = lib.licenses.free; }; } diff --git a/pkgs/by-name/im/imagemagick/package.nix b/pkgs/by-name/im/imagemagick/package.nix index 28122b98239f1..4804c9b56d646 100644 --- a/pkgs/by-name/im/imagemagick/package.nix +++ b/pkgs/by-name/im/imagemagick/package.nix @@ -86,13 +86,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "imagemagick"; - version = "7.1.2-13"; + version = "7.1.2-15"; src = fetchFromGitHub { owner = "ImageMagick"; repo = "ImageMagick"; tag = finalAttrs.version; - hash = "sha256-meADRjoV1c48laD35TuWAwuE95L90agROuuKBd++Kn8="; + hash = "sha256-qL7CYq+aGCB3ZLgIcSBy2Dw69g0F68xGXxrE7xJhdNc="; }; outputs = [ diff --git a/pkgs/by-name/im/imagemagick6/package.nix b/pkgs/by-name/im/imagemagick6/package.nix deleted file mode 100644 index 5392918702080..0000000000000 --- a/pkgs/by-name/im/imagemagick6/package.nix +++ /dev/null @@ -1,196 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - pkg-config, - libtool, - bzip2Support ? true, - bzip2, - zlibSupport ? true, - zlib, - libX11Support ? !stdenv.hostPlatform.isMinGW, - libx11, - libXtSupport ? !stdenv.hostPlatform.isMinGW, - libxt, - fontconfigSupport ? true, - fontconfig, - freetypeSupport ? true, - freetype, - ghostscriptSupport ? false, - ghostscript, - libjpegSupport ? true, - libjpeg, - djvulibreSupport ? true, - djvulibre, - lcms2Support ? true, - lcms2, - openexrSupport ? !stdenv.hostPlatform.isMinGW, - openexr, - libpngSupport ? true, - libpng, - liblqr1Support ? true, - liblqr1, - librsvgSupport ? !stdenv.hostPlatform.isMinGW, - librsvg, - libtiffSupport ? true, - libtiff, - libxml2Support ? true, - libxml2, - openjpegSupport ? !stdenv.hostPlatform.isMinGW, - openjpeg, - libwebpSupport ? !stdenv.hostPlatform.isMinGW, - libwebp, - libheifSupport ? true, - libheif, - libde265Support ? true, - libde265, - fftw, - testers, -}: - -let - arch = - if stdenv.hostPlatform.system == "i686-linux" then - "i686" - else if - stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" - then - "x86-64" - else if stdenv.hostPlatform.system == "armv7l-linux" then - "armv7l" - else if - stdenv.hostPlatform.system == "aarch64-linux" || stdenv.hostPlatform.system == "aarch64-darwin" - then - "aarch64" - else if stdenv.hostPlatform.system == "powerpc64le-linux" then - "ppc64le" - else - null; -in - -stdenv.mkDerivation (finalAttrs: { - pname = "imagemagick"; - version = "6.9.13-38"; - - src = fetchFromGitHub { - owner = "ImageMagick"; - repo = "ImageMagick6"; - rev = finalAttrs.version; - sha256 = "sha256-49o1jFFs7GrQMBvkoUvTmlI5TDnS1mVycghuaOfDrIc="; - }; - - outputs = [ - "out" - "dev" - "doc" - ]; # bin/ isn't really big - outputMan = "out"; # it's tiny - - enableParallelBuilding = true; - - configureFlags = [ - "--with-frozenpaths" - (lib.withFeatureAs (arch != null) "gcc-arch" arch) - (lib.withFeature librsvgSupport "rsvg") - (lib.withFeature liblqr1Support "lqr") - (lib.withFeatureAs ghostscriptSupport "gs-font-dir" "${ghostscript.fonts}/share/fonts") - (lib.withFeature ghostscriptSupport "gslib") - ] - ++ lib.optionals stdenv.hostPlatform.isMinGW [ - # due to libxml2 being without DLLs ATM - "--enable-static" - "--disable-shared" - ]; - - nativeBuildInputs = [ - pkg-config - libtool - ]; - - buildInputs = - [ ] - ++ lib.optional zlibSupport zlib - ++ lib.optional fontconfigSupport fontconfig - ++ lib.optional ghostscriptSupport ghostscript - ++ lib.optional liblqr1Support liblqr1 - ++ lib.optional libpngSupport libpng - ++ lib.optional libtiffSupport libtiff - ++ lib.optional libxml2Support libxml2 - ++ lib.optional libheifSupport libheif - ++ lib.optional libde265Support libde265 - ++ lib.optional djvulibreSupport djvulibre - ++ lib.optional openexrSupport openexr - ++ lib.optional librsvgSupport librsvg - ++ lib.optional openjpegSupport openjpeg; - - propagatedBuildInputs = [ - fftw - ] - ++ lib.optional bzip2Support bzip2 - ++ lib.optional freetypeSupport freetype - ++ lib.optional libjpegSupport libjpeg - ++ lib.optional lcms2Support lcms2 - ++ lib.optional libX11Support libx11 - ++ lib.optional libXtSupport libxt - ++ lib.optional libwebpSupport libwebp; - - doCheck = false; # fails 2 out of 76 tests - - postInstall = '' - (cd "$dev/include" && ln -s ImageMagick* ImageMagick) - moveToOutput "bin/*-config" "$dev" - moveToOutput "lib/ImageMagick-*/config-Q16" "$dev" # includes configure params - for file in "$dev"/bin/*-config; do - substituteInPlace "$file" --replace "${pkg-config}/bin/pkg-config -config" \ - ${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config - substituteInPlace "$file" --replace ${pkg-config}/bin/pkg-config \ - "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'" - done - '' - + lib.optionalString ghostscriptSupport '' - for la in $out/lib/*.la; do - sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la - done - ''; - - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - - meta = { - homepage = "https://legacy.imagemagick.org/"; - changelog = "https://legacy.imagemagick.org/script/changelog.php"; - description = "Software suite to create, edit, compose, or convert bitmap images"; - pkgConfigModules = [ - "ImageMagick" - "MagickWand" - ]; - platforms = lib.platforms.linux ++ lib.platforms.darwin; - maintainers = [ ]; - license = lib.licenses.asl20; - knownVulnerabilities = [ - "CVE-2019-13136" - "CVE-2019-17547" - "CVE-2020-25663" - "CVE-2020-27768" - "CVE-2020-27769" - "CVE-2020-27829" - "CVE-2021-20243" - "CVE-2021-20244" - "CVE-2021-20310" - "CVE-2021-20311" - "CVE-2021-20312" - "CVE-2021-20313" - "CVE-2021-3596" - "CVE-2022-0284" - "CVE-2022-2719" - "CVE-2023-1289" - "CVE-2023-2157" - "CVE-2023-34151" - "CVE-2023-34152" - "CVE-2023-34153" - "CVE-2023-3428" - "CVE-2023-34474" - "CVE-2023-34475" - "CVE-2023-5341" - ]; - }; -}) diff --git a/pkgs/by-name/im/imgpkg/package.nix b/pkgs/by-name/im/imgpkg/package.nix index 3ad931011d20f..09aedc16c4c85 100644 --- a/pkgs/by-name/im/imgpkg/package.nix +++ b/pkgs/by-name/im/imgpkg/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "imgpkg"; - version = "0.47.0"; + version = "0.47.2"; src = fetchFromGitHub { owner = "carvel-dev"; repo = "imgpkg"; rev = "v${finalAttrs.version}"; - hash = "sha256-vmEdX7Hn7pfUpiGbhrzX4dhqrLhhvH95mSaABa6cJxg="; + hash = "sha256-DjygQ6wMbWOZxRezZ/SN4WsvngrKVnvAtTO6Bu9eHkM="; }; vendorHash = null; diff --git a/pkgs/by-name/in/incus-ui-canonical/package.nix b/pkgs/by-name/in/incus-ui-canonical/package.nix index b86aaa916b293..496499e9ff868 100644 --- a/pkgs/by-name/in/incus-ui-canonical/package.nix +++ b/pkgs/by-name/in/incus-ui-canonical/package.nix @@ -20,14 +20,14 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "incus-ui-canonical"; - version = "0.19.7"; + version = "0.19.8"; src = fetchFromGitHub { owner = "zabbly"; repo = "incus-ui-canonical"; # only use tags prefixed by incus- they are the tested fork versions tag = "incus-${finalAttrs.version}"; - hash = "sha256-YMUGEHhfwDzasSZOqnlhb7zw5qG+LRlKhIHCuAztu2M="; + hash = "sha256-Dql04inmmWi7X6dQdjJmw0hkIBxlNlnwlTrK3/EN3yA="; }; offlineCache = fetchYarnDeps { diff --git a/pkgs/by-name/in/incus/package.nix b/pkgs/by-name/in/incus/package.nix index 7cb7224d8356d..8d2039dbf6837 100644 --- a/pkgs/by-name/in/incus/package.nix +++ b/pkgs/by-name/in/incus/package.nix @@ -1,7 +1,7 @@ import ./generic.nix { - hash = "sha256-zn4U44aGBQGjCyvziIPKqhR6RbQJTR0yF8GkyxGeSMc="; - version = "6.21.0"; - vendorHash = "sha256-ECk3gB94B5vv9N2S7beU6B3jSsq1x8vXtcpXg/KBHYI="; + hash = "sha256-KanD657VNxcf7xjFkEoQZJz3hB12KOuAAEInNZoQmcY="; + version = "6.22.0"; + vendorHash = "sha256-9ksX6/atzRkPCXrMZj0q+sEV0RY9UJ1QgGmc4YWs2Uw="; patches = [ ]; nixUpdateExtraArgs = [ "--override-filename=pkgs/by-name/in/incus/package.nix" diff --git a/pkgs/servers/nosql/influxdb2/fix-unsigned-char.patch b/pkgs/by-name/in/influxdb/fix-unsigned-char.patch similarity index 100% rename from pkgs/servers/nosql/influxdb2/fix-unsigned-char.patch rename to pkgs/by-name/in/influxdb/fix-unsigned-char.patch diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/by-name/in/influxdb/package.nix similarity index 98% rename from pkgs/servers/nosql/influxdb/default.nix rename to pkgs/by-name/in/influxdb/package.nix index c3ad95d7dc408..01ffe864b954f 100644 --- a/pkgs/servers/nosql/influxdb/default.nix +++ b/pkgs/by-name/in/influxdb/package.nix @@ -24,7 +24,7 @@ let }; patches = [ # https://github.com/influxdata/flux/pull/5542 - ../influxdb2/fix-unsigned-char.patch + ./fix-unsigned-char.patch ]; # Don't fail on missing code documentation and allow dead_code/lifetime/unused_assignments warnings diff --git a/pkgs/servers/nosql/influxdb2/cli.nix b/pkgs/by-name/in/influxdb2-cli/package.nix similarity index 100% rename from pkgs/servers/nosql/influxdb2/cli.nix rename to pkgs/by-name/in/influxdb2-cli/package.nix diff --git a/pkgs/servers/nosql/influxdb2/provision.nix b/pkgs/by-name/in/influxdb2-provision/package.nix similarity index 100% rename from pkgs/servers/nosql/influxdb2/provision.nix rename to pkgs/by-name/in/influxdb2-provision/package.nix diff --git a/pkgs/by-name/in/influxdb2-server/fix-unsigned-char.patch b/pkgs/by-name/in/influxdb2-server/fix-unsigned-char.patch new file mode 100644 index 0000000000000..173e5b30e5ee1 --- /dev/null +++ b/pkgs/by-name/in/influxdb2-server/fix-unsigned-char.patch @@ -0,0 +1,13 @@ +diff --git a/flux/src/cffi.rs b/flux/src/cffi.rs +index ba18e3d5..0c1badf8 100644 +--- a/flux/src/cffi.rs ++++ b/flux/src/cffi.rs +@@ -1149,7 +1149,7 @@ from(bucket: v.bucket) + fn parse_with_invalid_utf8() { + let cfname = CString::new("foo.flux").unwrap(); + let cfname_ptr: *const c_char = cfname.as_ptr(); +- let v: Vec = vec![-61, 0]; ++ let v: Vec = vec![-61i8 as c_char, 0]; + let csrc: *const c_char = &v[0]; + // Safety: both pointers are valid + let pkg = unsafe { flux_parse(cfname_ptr, csrc) }; diff --git a/pkgs/servers/nosql/influxdb2/default.nix b/pkgs/by-name/in/influxdb2-server/package.nix similarity index 100% rename from pkgs/servers/nosql/influxdb2/default.nix rename to pkgs/by-name/in/influxdb2-server/package.nix diff --git a/pkgs/servers/nosql/influxdb2/token-manipulator.nix b/pkgs/by-name/in/influxdb2-token-manipulator/package.nix similarity index 100% rename from pkgs/servers/nosql/influxdb2/token-manipulator.nix rename to pkgs/by-name/in/influxdb2-token-manipulator/package.nix diff --git a/pkgs/by-name/in/influxdb2/package.nix b/pkgs/by-name/in/influxdb2/package.nix new file mode 100644 index 0000000000000..f58b4bc7d3fa2 --- /dev/null +++ b/pkgs/by-name/in/influxdb2/package.nix @@ -0,0 +1,16 @@ +# For backwards compatibility with older versions of influxdb2, +# which bundled the server and CLI into the same derivation. Will be +# removed in a few releases. +# - David Anderson 2021-12-16 in 84bc3a02807fd +{ + buildEnv, + influxdb2-server, + influxdb2-cli, +}: +buildEnv { + name = "influxdb2"; + paths = [ + influxdb2-server + influxdb2-cli + ]; +} diff --git a/pkgs/by-name/in/infrastructure-agent/package.nix b/pkgs/by-name/in/infrastructure-agent/package.nix index ebf45d0c99b8c..79d941ad36461 100644 --- a/pkgs/by-name/in/infrastructure-agent/package.nix +++ b/pkgs/by-name/in/infrastructure-agent/package.nix @@ -6,13 +6,13 @@ }: buildGoModule (finalAttrs: { pname = "infrastructure-agent"; - version = "1.72.4"; + version = "1.72.6"; src = fetchFromGitHub { owner = "newrelic"; repo = "infrastructure-agent"; rev = finalAttrs.version; - hash = "sha256-qhw21kOspIyAyFQYXy56NhGCSesjkPrhagXfcfyiBRQ="; + hash = "sha256-wMQL0RAhJ/pGOWUQouiod735pDR6bFVJr0SXk0p0gyQ="; }; vendorHash = "sha256-H41FxeJLrlaL/KbcBAS1WuMfVn6d+4So3egXb6E46/o="; diff --git a/pkgs/by-name/in/intel-graphics-compiler/package.nix b/pkgs/by-name/in/intel-graphics-compiler/package.nix index 2b70443cec1ce..8cb90a355d230 100644 --- a/pkgs/by-name/in/intel-graphics-compiler/package.nix +++ b/pkgs/by-name/in/intel-graphics-compiler/package.nix @@ -19,7 +19,7 @@ let in stdenv.mkDerivation rec { pname = "intel-graphics-compiler"; - version = "2.24.8"; + version = "2.27.10"; # See the repository for expected versions: # @@ -42,22 +42,22 @@ stdenv.mkDerivation rec { name = "vc-intrinsics"; owner = "intel"; repo = "vc-intrinsics"; - tag = "v0.24.1"; - hash = "sha256-IpScRc+sWEcD8ZH5TinMPVFq1++vIVp774TJsg8mUMY="; + tag = "v0.24.2"; + hash = "sha256-ypHFqgc96m+im7DCe5ZOGMGIhB7mtRYPhEmMSg2+pyc="; }) (fetchFromGitHub { name = "opencl-clang"; owner = "intel"; repo = "opencl-clang"; - tag = "v16.0.6"; - hash = "sha256-qxMnKQWQ32yF2rZGGOel2ynZJKfbAlk9U+ttWuzYRog="; + tag = "v16.0.7"; + hash = "sha256-MaL4DRmIdnBA/DZZezNzbsjWh5mz99mOTUJoqcXE1/c="; }) (fetchFromGitHub { name = "llvm-spirv"; owner = "KhronosGroup"; repo = "SPIRV-LLVM-Translator"; - tag = "v16.0.19"; - hash = "sha256-GTTEThCNPyq0CpD6Vp4L0ZEEqOZ7uLbt9sdgXLs7MUg="; + tag = "v16.0.20"; + hash = "sha256-3ymwHSNqCdMIgzPYIYUIHMjJHSxdcGK11DF8qPM6nMs="; }) ]; diff --git a/pkgs/by-name/io/iortcw/sp.nix b/pkgs/by-name/io/iortcw/sp.nix index 863f61dafdc23..7876192f06604 100644 --- a/pkgs/by-name/io/iortcw/sp.nix +++ b/pkgs/by-name/io/iortcw/sp.nix @@ -47,11 +47,15 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ makeWrapper ]; - env.NIX_CFLAGS_COMPILE = toString [ - "-I${lib.getInclude SDL2}/include/SDL2" - "-I${opusfile.dev}/include/opus" - ]; - NIX_CFLAGS_LINK = [ "-lSDL2" ]; + env = { + NIX_CFLAGS_COMPILE = toString [ + "-I${lib.getInclude SDL2}/include/SDL2" + "-I${opusfile.dev}/include/opus" + ]; + NIX_CFLAGS_LINK = toString [ + "-lSDL2" + ]; + }; postInstall = '' for i in `find $out/opt/iortcw -maxdepth 1 -type f -executable`; do diff --git a/pkgs/by-name/io/iosevka/package.nix b/pkgs/by-name/io/iosevka/package.nix index 05687aa41ba22..c8c051d7d6ca8 100644 --- a/pkgs/by-name/io/iosevka/package.nix +++ b/pkgs/by-name/io/iosevka/package.nix @@ -58,16 +58,16 @@ assert (extraParameters != null) -> set != null; buildNpmPackage rec { pname = "Iosevka${toString set}"; - version = "34.1.0"; + version = "34.2.0"; src = fetchFromGitHub { owner = "be5invis"; repo = "iosevka"; rev = "v${version}"; - hash = "sha256-vdjf2MkKP9DHl/hrz9xJMWMuT2AsonRdt14xQTSsVmU="; + hash = "sha256-AK1lIC16F2CKSfRtF4SwOLAZr+v6VdjZIEOrios1uaw="; }; - npmDepsHash = "sha256-YMfePtKg4kpZ4iCpkq7PxfyDB4MIRg/tgCNmLD31zKo="; + npmDepsHash = "sha256-N5IxbuwchR0hIaOVR5m3SQmkopCMhu86QqhD1pztoB4="; nativeBuildInputs = [ remarshal diff --git a/pkgs/by-name/ip/ipp-usb/package.nix b/pkgs/by-name/ip/ipp-usb/package.nix index fef6e6b837b64..b9878ed61d63c 100644 --- a/pkgs/by-name/ip/ipp-usb/package.nix +++ b/pkgs/by-name/ip/ipp-usb/package.nix @@ -9,13 +9,13 @@ }: buildGoModule (finalAttrs: { pname = "ipp-usb"; - version = "0.9.30"; + version = "0.9.31"; src = fetchFromGitHub { owner = "openprinting"; repo = "ipp-usb"; rev = finalAttrs.version; - sha256 = "sha256-LcThjiN/MRk4ISWWRT4g/eLvuhzM8pIDAcSlM5us3nQ="; + sha256 = "sha256-WoJa00dSTXknoEjRO/L1yZc6pA0SfAhKsG6QqS6aDSc="; }; postPatch = '' diff --git a/pkgs/by-name/ip/iproute2/package.nix b/pkgs/by-name/ip/iproute2/package.nix index 700f0b087c3db..7e3816d0dc828 100644 --- a/pkgs/by-name/ip/iproute2/package.nix +++ b/pkgs/by-name/ip/iproute2/package.nix @@ -18,13 +18,22 @@ stdenv.mkDerivation rec { pname = "iproute2"; - version = "6.18.0"; + version = "6.19.0"; src = fetchurl { url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-a6Ug4ZdeTFDckx7q6R6jfBmLihc3RIhfiJW4QyX51FY="; + hash = "sha256-kzIhPTVIC2RwhqcMMC3oVo3oNFWph3TTXeIWxM4ZEAY="; }; + patches = [ + # musl build fix: https://lore.kernel.org/netdev/20260223223435.289652-1-slyich@gmail.com/T/#u + (fetchurl { + name = "musl.patch"; + url = "https://lore.kernel.org/netdev/20260223223435.289652-1-slyich@gmail.com/raw"; + hash = "sha256-H45PUilF1D+1DxgtxSRBCgH4RQ7+APBfIW4QE9v6gUE="; + }) + ]; + postPatch = '' substituteInPlace Makefile \ --replace "CC := gcc" "CC ?= $CC" diff --git a/pkgs/by-name/ir/irssi/package.nix b/pkgs/by-name/ir/irssi/package.nix index a31f93863f41a..f6e3b47d1956e 100644 --- a/pkgs/by-name/ir/irssi/package.nix +++ b/pkgs/by-name/ir/irssi/package.nix @@ -54,7 +54,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ fab - lovek323 ]; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/is/isle-portable/package.nix b/pkgs/by-name/is/isle-portable/package.nix index 87747926c26e3..28b6638c7553d 100644 --- a/pkgs/by-name/is/isle-portable/package.nix +++ b/pkgs/by-name/is/isle-portable/package.nix @@ -1,110 +1,110 @@ { lib, - fetchFromGitHub, - stdenv, - unstableGitUpdater, + callPackage, + requireFile, + runCommand, + makeBinaryWrapper, + symlinkJoin, + isle-portable-unwrapped ? callPackage ./unwrapped.nix { }, + _7zz, +}: +let + legoIslandIso = requireFile { + name = "LEGO_ISLANDI.ISO"; + hash = "sha256-pefu/XcvGKcWYzaFldWeFEYdc7OUBgbmlgWyH2CnZec="; + message = "ISO file of Lego Island 1.1"; + }; - # Native Build Inputs - cmake, - python3, - pkg-config, + unpackedIso = runCommand "LEGO_ISLANDI-unpacked" { nativeBuildInputs = [ _7zz ]; } '' + mkdir "$out" + 7zz x ${legoIslandIso} -o"$out" + ''; +in +symlinkJoin ( + finalAttrs: + let + # INI file with the LEGO Island Disk files in it + iniWithDisk = lib.recursiveUpdate finalAttrs.passthru.iniConfig { + isle = { + diskpath = "${unpackedIso}/DATA/disk"; + cdpath = "${unpackedIso}"; + }; + }; - # Build Inputs - libxrender, - libxrandr, - libxi, - libxinerama, - libxfixes, - libxext, - libxcursor, - libx11, - wayland, - libxkbcommon, - wayland-protocols, - glew, - qt6, - alsa-lib, - sdl3, - iniparser, + # Properly quoted INI file + quotedIni = lib.mapAttrsRecursiveCond (as: (!lib.isDerivation as)) ( + _: value: ''"${toString value}"'' + ) iniWithDisk; - # Options - imguiDebug ? false, - addrSan ? false, - emscriptenHost ? "", -}: -stdenv.mkDerivation (finalAttrs: { - strictDeps = true; - pname = "isle-portable"; - version = "0-unstable-2025-11-15"; + # Make a config ini file + iniFile = + runCommand "isle.ini" + { + passAsFile = [ "iniFile" ]; - src = fetchFromGitHub { - owner = "isledecomp"; - repo = "isle-portable"; - rev = "d182a8057c5c0827c33639367b7e00e9ab389e78"; - hash = "sha256-V3jmUUzTkLKUwa/mCtp+UbJNAmHlrrDIKGimKOJOJss="; - fetchSubmodules = true; - }; + # Set the ISO path. + iniFile = lib.generators.toINI { } quotedIni; + } + '' + cp "$iniFilePath" "$out" + ''; + in + { + inherit (isle-portable-unwrapped) version; + pname = "isle-portable-wrapped"; - postPatch = lib.optionalString stdenv.isDarwin '' - substituteInPlace packaging/macos/CMakeLists.txt \ - --replace-fail "fixup_bundle" "#fixup_bundle" - ''; + paths = [ + isle-portable-unwrapped + ]; - outputs = [ - "out" - "lib" - ]; + nativeBuildInputs = [ + makeBinaryWrapper + ]; - nativeBuildInputs = [ - cmake - qt6.wrapQtAppsHook - python3 - pkg-config - ]; + postBuild = '' + wrapProgram "$out/bin/isle" \ + --add-flags "--ini ${iniFile}" + ''; - buildInputs = [ - qt6.qtbase - sdl3 - iniparser - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - libx11 - libxext - libxrandr - libxrender - libxfixes - libxi - libxinerama - libxcursor - wayland - libxkbcommon - wayland-protocols - glew - alsa-lib - ]; + passthru.unwrapped = isle-portable-unwrapped; - cmakeFlags = [ - (lib.cmakeBool "DOWNLOAD_DEPENDENCIES" false) - (lib.cmakeBool "ISLE_DEBUG" imguiDebug) - (lib.cmakeFeature "ISLE_EMSCRIPTEN_HOST" emscriptenHost) - ]; + passthru.iniConfig = { + isle = { + diskpath = null; + cdpath = null; + mediapath = isle-portable-unwrapped; + savepath = "~/.local/share/isledecomp/isle"; + "flip surfaces" = "false"; + "full screen" = "true"; + "exclusive full screen" = "true"; + "wide view angle" = "true"; + "3dsound" = "true"; + "music" = "true"; + "cursor sensitivity" = "4.000000"; + "back buffers in video ram" = "-1"; + "island quality" = "2"; + "island texture" = "1"; + "max lod" = "3.600000"; + "max allowed extras" = "20"; + "transition type" = "3"; + "touch scheme" = "2"; + "haptic" = "true"; + "horizontal resolution" = "640"; + "vertical resolution" = "480"; + "exclusive x resolution" = "640"; + "exclusive y resolution" = "480"; + "exclusive framerate" = "60"; + "frame delta" = "10"; + "msaa" = "0"; + "anisotropic" = ""; + }; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; + extensions = { + "texture loader" = "false"; + "si loader" = "false"; + }; + }; - meta = { - description = "Portable decompilation of Lego Island"; - homepage = "https://github.com/isledecomp/isle-portable"; - license = with lib.licenses; [ - # The original code for the portable project - lgpl3Plus - # The decompilation code - mit - unfree - ]; - platforms = with lib.platforms; windows ++ linux ++ darwin; - mainProgram = "isle"; - maintainers = with lib.maintainers; [ - RossSmyth - ]; - }; -}) + meta = removeAttrs isle-portable-unwrapped.meta [ "position" ]; + } +) diff --git a/pkgs/by-name/is/isle-portable/unwrapped.nix b/pkgs/by-name/is/isle-portable/unwrapped.nix new file mode 100644 index 0000000000000..825b9e9bad5ae --- /dev/null +++ b/pkgs/by-name/is/isle-portable/unwrapped.nix @@ -0,0 +1,119 @@ +{ + lib, + fetchFromGitHub, + stdenv, + callPackage, + unstableGitUpdater, + + # Native Build Inputs + cmake, + ninja, + python3, + pkg-config, + + # Build Inputs + libxrender, + libxrandr, + libxi, + libxinerama, + libxfixes, + libxext, + libxcursor, + libx11, + wayland, + libxkbcommon, + wayland-protocols, + glew, + qt6, + alsa-lib, + sdl3, + iniparser, + libweaver, + + # Options + imguiDebug ? false, + emscriptenHost ? "", +}: +stdenv.mkDerivation (finalAttrs: { + strictDeps = true; + pname = "isle-portable"; + version = "0-unstable-2026-01-31"; + + src = fetchFromGitHub { + owner = "isledecomp"; + repo = "isle-portable"; + rev = "03cb40190a1aedea23b857942d14359c86ad3857"; + hash = "sha256-YGj+2FzotNmHrYBHmlMt6xuSXgXWa6j3rmukjUyGegA="; + fetchSubmodules = true; + }; + + postPatch = lib.optionalString stdenv.isDarwin '' + substituteInPlace packaging/macos/CMakeLists.txt \ + --replace-fail "fixup_bundle" "#fixup_bundle" + ''; + + outputs = [ + "out" + "lib" + ]; + + nativeBuildInputs = [ + cmake + ninja + qt6.wrapQtAppsHook + python3 + pkg-config + ]; + + buildInputs = [ + qt6.qtbase + sdl3 + iniparser + libweaver + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libx11 + libxext + libxrandr + libxrender + libxfixes + libxi + libxinerama + libxcursor + wayland + libxkbcommon + wayland-protocols + glew + alsa-lib + ]; + + cmakeFlags = [ + (lib.cmakeBool "DOWNLOAD_DEPENDENCIES" false) + (lib.cmakeBool "ISLE_DEBUG" imguiDebug) + (lib.cmakeFeature "ISLE_EMSCRIPTEN_HOST" emscriptenHost) + ]; + + passthru = { + updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; + wrapped = callPackage ./package.nix { + isle-portable-unwrapped = finalAttrs.finalPackage; + }; + }; + + meta = { + description = "Portable decompilation of Lego Island"; + homepage = "https://github.com/isledecomp/isle-portable"; + license = with lib.licenses; [ + # The original code for the portable project + lgpl3Plus + # The decompilation code + mit + unfree + ]; + platforms = with lib.platforms; windows ++ linux ++ darwin; + mainProgram = "isle"; + maintainers = with lib.maintainers; [ + RossSmyth + ]; + }; +}) diff --git a/pkgs/by-name/je/jenkins/package.nix b/pkgs/by-name/je/jenkins/package.nix index f8aa92275e96c..cc23ed10c2824 100644 --- a/pkgs/by-name/je/jenkins/package.nix +++ b/pkgs/by-name/je/jenkins/package.nix @@ -8,7 +8,7 @@ gnused, makeWrapper, nix, - jdk21, + jdk25, writeScript, nixosTests, jq, @@ -33,10 +33,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { cp "$src" "$out/webapps/jenkins.war" # Create the `jenkins-cli` command. - ${jdk21}/bin/jar -xf "$src" WEB-INF/lib/cli-${finalAttrs.version}.jar \ + ${jdk25}/bin/jar -xf "$src" WEB-INF/lib/cli-${finalAttrs.version}.jar \ && mv WEB-INF/lib/cli-${finalAttrs.version}.jar "$out/share/jenkins-cli.jar" - makeWrapper "${jdk21}/bin/java" "$out/bin/jenkins-cli" \ + makeWrapper "${jdk25}/bin/java" "$out/bin/jenkins-cli" \ --add-flags "-jar $out/share/jenkins-cli.jar" ''; diff --git a/pkgs/by-name/ji/jitterentropy/package.nix b/pkgs/by-name/ji/jitterentropy/package.nix index 2415a2e993a72..9514ac9c2abda 100644 --- a/pkgs/by-name/ji/jitterentropy/package.nix +++ b/pkgs/by-name/ji/jitterentropy/package.nix @@ -45,7 +45,6 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.linux ++ lib.platforms.darwin; maintainers = with lib.maintainers; [ johnazoidberg - c0bw3b ]; }; }) diff --git a/pkgs/by-name/jn/jnv/package.nix b/pkgs/by-name/jn/jnv/package.nix index fc5f995c0a90a..2b7f08212d04d 100644 --- a/pkgs/by-name/jn/jnv/package.nix +++ b/pkgs/by-name/jn/jnv/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "jnv"; - version = "0.6.1"; + version = "0.6.2"; src = fetchFromGitHub { owner = "ynqa"; repo = "jnv"; tag = "v${finalAttrs.version}"; - hash = "sha256-VjT0S+eEaO8FOPb1grIpheeP9v1dCpV7FRHn+nJXOEM="; + hash = "sha256-sW3wy5m3fnTDIxRC/E/EWEvuJ92o+l4QCmwdqL2tZ98="; }; - cargoHash = "sha256-dR9cb3TBxrRGP3BFYro/nGe5XVEfJuTZbQLo+FUfFNs="; + cargoHash = "sha256-jKeAgeW54lAgcv6Xpz9Rwt10tdac4S4B5EAmwanaW9c="; nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; diff --git a/pkgs/by-name/jo/joplin-desktop/release-data.json b/pkgs/by-name/jo/joplin-desktop/release-data.json index f7c232700169d..31c0c409db701 100644 --- a/pkgs/by-name/jo/joplin-desktop/release-data.json +++ b/pkgs/by-name/jo/joplin-desktop/release-data.json @@ -1,6 +1,6 @@ { - "version": "3.5.12", - "hash": "sha256-NUWb2y8sTIzKTURJymb0Bvidz1tl+u3Q7o1UvEnIUtI=", + "version": "3.5.13", + "hash": "sha256-L+eU+zm6B+y1Rytz6cG50885sPffm5+m+NSAYNbTYa4=", "plugins": { "io.github.jackgruber.backup": { "name": "joplin-plugin-backup", @@ -9,5 +9,5 @@ "npmDepsHash": "sha256-xZJ0Oir1A6sLe0ztIyBu39Yy3D6sNrVaciOYG0k85l0=" } }, - "deps_hash": "sha256-9xJmudcpUw1xmTvJD3TFrfzYEi+LupZGSzsA5zUOemI=" + "deps_hash": "sha256-iDclcCwzgmKOMxO4ZdmPyTKPoGY24+6gm19E4+pCB50=" } diff --git a/pkgs/by-name/jr/jreleaser-cli/package.nix b/pkgs/by-name/jr/jreleaser-cli/package.nix index 9caad3650ee5c..1a98c44cc2c93 100644 --- a/pkgs/by-name/jr/jreleaser-cli/package.nix +++ b/pkgs/by-name/jr/jreleaser-cli/package.nix @@ -7,11 +7,11 @@ }: stdenv.mkDerivation rec { pname = "jreleaser-cli"; - version = "1.22.0"; + version = "1.23.0"; src = fetchurl { url = "https://github.com/jreleaser/jreleaser/releases/download/v${version}/jreleaser-tool-provider-${version}.jar"; - hash = "sha256-3EMv+yzn8eNFf9UIkKRXH72UKrfH2XtXGZZ+scbpvSU="; + hash = "sha256-NSJn4KSm8xC4HMXzh4m1EqlLUPGVu1SWfDUHT4umKTI="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/js/json_c/package.nix b/pkgs/by-name/js/json_c/package.nix index 44fe5db5ba5e8..9cddf3fa93dc2 100644 --- a/pkgs/by-name/js/json_c/package.nix +++ b/pkgs/by-name/js/json_c/package.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://github.com/json-c/json-c/wiki"; changelog = "https://github.com/json-c/json-c/blob/${finalAttrs.src.rev}/ChangeLog"; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; license = lib.licenses.mit; }; diff --git a/pkgs/by-name/ju/justbuild/package.nix b/pkgs/by-name/ju/justbuild/package.nix index 8a488ce96be6f..2758556027a41 100644 --- a/pkgs/by-name/ju/justbuild/package.nix +++ b/pkgs/by-name/ju/justbuild/package.nix @@ -34,13 +34,13 @@ let in stdenv.mkDerivation rec { pname = "justbuild"; - version = "1.6.3"; + version = "1.6.4"; src = fetchFromGitHub { owner = "just-buildsystem"; repo = "justbuild"; tag = "v${version}"; - hash = "sha256-ZTwe6S0AH1yQt5mABtIeWuMbiVSKeOZWMFI26fthLsM="; + hash = "sha256-WJg6zDgDKJjxbR7fdFUY6f2uNHntYPZT8lIt2kAJqAo="; }; bazelapi = fetchurl { @@ -53,14 +53,6 @@ stdenv.mkDerivation rec { hash = "sha256:1r33jj8yipxjgiarddcxr1yc5kmn98rwrjl9qxfx0fzn1bsg04q5"; }; - patches = [ - (fetchpatch2 { - name = "blob-tree-add-hash.patch"; - url = "https://github.com/just-buildsystem/justbuild/commit/c54a46de7df0c6b26b7d8f4a10d380103da634fb.patch?full_index=1"; - hash = "sha256-hAi4YJmNAwfSl2SWjVCWBhk7VbQeNN1JhmHS9dy2GdU="; - }) - ]; - nativeBuildInputs = [ # Tools for the bootstrap process jq diff --git a/pkgs/by-name/k8/k8sgpt/package.nix b/pkgs/by-name/k8/k8sgpt/package.nix index a2e828265cf49..063f8685285f4 100644 --- a/pkgs/by-name/k8/k8sgpt/package.nix +++ b/pkgs/by-name/k8/k8sgpt/package.nix @@ -8,7 +8,7 @@ buildGoModule (finalAttrs: { pname = "k8sgpt"; - version = "0.4.28"; + version = "0.4.30"; nativeBuildInputs = [ installShellFiles @@ -18,10 +18,10 @@ buildGoModule (finalAttrs: { owner = "k8sgpt-ai"; repo = "k8sgpt"; rev = "v${finalAttrs.version}"; - hash = "sha256-hY1gyKy37SIASyhlWD+2aAeyfgfFpoBtm2XXIwCrh/Y="; + hash = "sha256-8hzJEJ+aZ+nVleStMngRortRLEoW+6FhcYBgin3Z/3Y="; }; - vendorHash = "sha256-6RgcIGGhtgxWR90gQWxXYxID6L5bZLrLLH0S+MSIO2w="; + vendorHash = "sha256-zljqZWM1jSAC+ZhW1NNp182Ui/40u0VTtfolnPXQKqE="; # https://nixos.org/manual/nixpkgs/stable/#var-go-CGO_ENABLED env.CGO_ENABLED = 0; diff --git a/pkgs/by-name/ka/kaf/package.nix b/pkgs/by-name/ka/kaf/package.nix index dfa65391f287d..6c655fdbdde5f 100644 --- a/pkgs/by-name/ka/kaf/package.nix +++ b/pkgs/by-name/ka/kaf/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "kaf"; - version = "0.2.13"; + version = "0.2.14"; src = fetchFromGitHub { owner = "birdayz"; repo = "kaf"; rev = "v${finalAttrs.version}"; - hash = "sha256-tjHRIbTJJ8HPp2Jk7R2rl+ZN+ie6xRlssx4clcGc4U4="; + hash = "sha256-gLFUv+4wGH1FOpa4DHHwSV7nSCxo+MzdNmo0I0SD/p0="; }; - vendorHash = "sha256-1QcQeeYQFsStK27NVdyCAb1Y40lyifBf0dlSgzocG3Y="; + vendorHash = "sha256-U4nmC08z7xtvRdy2xzvBqTmxJhQKI0BjJDkUwDZOQg0="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/ka/kapp/package.nix b/pkgs/by-name/ka/kapp/package.nix index a6896bed66788..bfa5f8ecd99f6 100644 --- a/pkgs/by-name/ka/kapp/package.nix +++ b/pkgs/by-name/ka/kapp/package.nix @@ -9,13 +9,13 @@ buildGoModule (finalAttrs: { pname = "kapp"; - version = "0.65.0"; + version = "0.65.1"; src = fetchFromGitHub { owner = "carvel-dev"; repo = "kapp"; rev = "v${finalAttrs.version}"; - hash = "sha256-D46QgNzkCNg0GDsaN1GG0yuWbNeioIErYhbgjwMsTWA="; + hash = "sha256-P40pkjL7j/hHELZxT4CqsrKE18oENhCSO0tgvpb2xZc="; }; vendorHash = null; diff --git a/pkgs/by-name/ka/kaput-cli/package.nix b/pkgs/by-name/ka/kaput-cli/package.nix index 1fc0631f9f876..c16fc227e2434 100644 --- a/pkgs/by-name/ka/kaput-cli/package.nix +++ b/pkgs/by-name/ka/kaput-cli/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "kaput-cli"; - version = "2.5.0"; + version = "2.6.0"; src = fetchFromGitHub { owner = "davidchalifoux"; repo = "kaput-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-sy8k9L9rmiRFzvhLc+hYl9OqmmP8INLxMNRjAx7/V8g="; + hash = "sha256-N+vdK9DpooPEtXVUNZtmbdjVSpN5ddYggb4FsrvyCwU="; }; - cargoHash = "sha256-yb56rrPlTuc7O4fF9NPNB2djCfq3fLu2hD4gUjRHvqM="; + cargoHash = "sha256-bz7K3eWv9i50k5nXBb9k8IZ+xPIz4PSomp6K2LDSH78="; env = { OPENSSL_NO_VENDOR = 1; diff --git a/pkgs/by-name/ka/karakeep/package.nix b/pkgs/by-name/ka/karakeep/package.nix index fbef3e1e096e1..a84d759112c33 100644 --- a/pkgs/by-name/ka/karakeep/package.nix +++ b/pkgs/by-name/ka/karakeep/package.nix @@ -18,13 +18,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "karakeep"; - version = "0.30.0"; + version = "0.31.0"; src = fetchFromGitHub { owner = "karakeep-app"; repo = "karakeep"; tag = "cli/v${finalAttrs.version}"; - hash = "sha256-Ssr/KcQHRtEloz4YPAUfUmcbicMumkIQ+wOjxe9PTXM="; + hash = "sha256-++aNTkLOkwgkzRxg/WdrHfchXQwUUir0qqmb7WfdZJ0="; }; patches = [ @@ -65,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: { }; fetcherVersion = 3; - hash = "sha256-ZCsG+Zjiy3hmROgBKnqxGlJjvIYqAeQMlfXUnNQIsiI="; + hash = "sha256-+MbKG0h3cD0kZua0OkdQsUeTjAY4ysK41KXUSaOSKHA="; }; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/ka/kas/package.nix b/pkgs/by-name/ka/kas/package.nix index 8233e4bf1a8b7..aefdb619ea413 100644 --- a/pkgs/by-name/ka/kas/package.nix +++ b/pkgs/by-name/ka/kas/package.nix @@ -8,14 +8,14 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pname = "kas"; - version = "5.1"; + version = "5.2"; pyproject = true; src = fetchFromGitHub { owner = "siemens"; repo = "kas"; tag = finalAttrs.version; - hash = "sha256-SQeoRm2bjcQmhfMUJCSxgKu7/qcIEv9ItWcLWkkNwAs="; + hash = "sha256-lEhgEotQE5ceH1NEBlTzD33W09NQjzo4bCpZi9rcQE0="; }; patches = [ ./pass-terminfo-env.patch ]; diff --git a/pkgs/by-name/ka/kazv/package.nix b/pkgs/by-name/ka/kazv/package.nix index bdb82fadac739..c993bb7270468 100644 --- a/pkgs/by-name/ka/kazv/package.nix +++ b/pkgs/by-name/ka/kazv/package.nix @@ -1,18 +1,16 @@ { lib, stdenv, - fetchFromGitLab, + fetchgit, boost, cmake, cmark, cryptopp, - extra-cmake-modules, immer, kdePackages, lager, libkazv, nlohmann_json, - olm, pkg-config, qt6, zug, @@ -20,14 +18,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "kazv"; - version = "0.5.0"; + version = "0.6.0"; - src = fetchFromGitLab { - domain = "lily-is.land"; - owner = "kazv"; - repo = "kazv"; + # Heavily mirrored. Click "Clone" at https://iron.lily-is.land/diffusion/K/ to see all mirrors + src = fetchgit { + url = "https://iron.lily-is.land/diffusion/K/kazv.git"; tag = "v${finalAttrs.version}"; - hash = "sha256-WBS7TJJw0t57V4+NxsG8V8q4UKQXB8kRpWocvNy1Eto="; + hash = "sha256-7o6xUt/cryOg71/R33VBGpubskqlm9eYGSTyoGderDA="; }; nativeBuildInputs = [ @@ -49,7 +46,6 @@ stdenv.mkDerivation (finalAttrs: { lager libkazv nlohmann_json - olm qt6.qtbase qt6.qtimageformats qt6.qtmultimedia diff --git a/pkgs/by-name/ki/kilocode-cli/package.nix b/pkgs/by-name/ki/kilocode-cli/package.nix index 2d600ce645777..01531410a5ff4 100644 --- a/pkgs/by-name/ki/kilocode-cli/package.nix +++ b/pkgs/by-name/ki/kilocode-cli/package.nix @@ -1,33 +1,46 @@ { lib, + stdenv, stdenvNoCC, fetchFromGitHub, fetchPnpmDeps, + fetchNpmDeps, nodejs, writableTmpDirAsHomeHook, pnpmConfigHook, pnpm, unzip, patchelf, + autoPatchelfHook, ripgrep, versionCheckHook, nix-update-script, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "kilocode-cli"; - version = "0.18.0"; + version = "0.25.1"; src = fetchFromGitHub { owner = "Kilo-Org"; repo = "kilocode"; tag = "cli-v${finalAttrs.version}"; - hash = "sha256-zEhv/tcKMR9D+aTVxaw3LBjbEBpuy4o0cpV/vowOFSY="; + hash = "sha256-XlJ9/9FABLpKVJXdIRzbzOpJVXdIzgFvPPeER1LRsuk="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - fetcherVersion = 2; - hash = "sha256-fTCuTAEYNyqitBvOafQyi3BDqI/O7u7yEhSPH7FVDUg="; + fetcherVersion = 3; + hash = "sha256-Q/LamZwVaIQVILtXRi1RQrYtpxYJWEKPAt3knwm47S0="; + }; + + npmDeps = fetchNpmDeps { + name = "${finalAttrs.pname}-npm-deps"; + inherit (finalAttrs) src; + sourceRoot = "${finalAttrs.src.name}/cli"; + postPatch = '' + cp ./npm-shrinkwrap.dist.json ./npm-shrinkwrap.json + ''; + hash = "sha256-wH4Gyd5nv8sCSQStFqIidoICvlXXEs2xNNX+DH133wA="; }; buildInputs = [ @@ -41,7 +54,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nodejs unzip patchelf - ]; + ] + ++ lib.optionals stdenv.hostPlatform.isElf [ autoPatchelfHook ]; strictDeps = true; @@ -50,6 +64,36 @@ stdenvNoCC.mkDerivation (finalAttrs: { buildPhase = '' runHook preBuild + mkdir -p ./cli/.dist/ + find ./cli -maxdepth 1 -type f -name "*.dist.*" -print0 | while IFS= read -r -d "" file; do + cp "$file" "./cli/.dist/$(basename "$file" | sed 's/\.dist\././')" + done + + if ! diff "$PWD/cli/npm-shrinkwrap.dist.json" "$npmDeps/package-lock.json"; then + echo "npm-shrinkwrap.json is out of date" + echo "The npm-shrinkwrap.json in src is not the same as the in $npmDeps." + echo "To fix the issue:" + echo '1. Use `lib.fakeHash` as the npmDepsHash value' + echo "2. Build the derivation and wait for it to fail with a hash mismatch" + echo "3. Copy the 'got: sha256-' value back into the npmDepsHash field" + exit 1 + fi + export npm_config_cache="$npmDeps" + export npm_config_offline="true" + export npm_config_progress="false" + ( + cd ./cli/.dist + npm ci --omit=dev --ignore-scripts + patchShebangs node_modules + if [ -d node_modules/@vscode/ripgrep ]; then + mkdir -p node_modules/@vscode/ripgrep/bin + ln -s ${lib.getExe ripgrep} node_modules/@vscode/ripgrep/bin/rg + fi + npm rebuild + ) + substituteInPlace cli/package.json \ + --replace-fail 'npm install --omit=dev --prefix ./dist' 'mv ./.dist/node_modules ./dist/node_modules' + node --run cli:bundle touch ./cli/dist/.env @@ -64,11 +108,6 @@ stdenvNoCC.mkDerivation (finalAttrs: { ln -s $out/lib/node_modules/@kilocode/cli/index.js $out/bin/kilocode chmod +x $out/bin/kilocode - pushd $out/lib/node_modules/@kilocode/cli - rm node_modules/@vscode/ripgrep/bin/rg - ln -s ${ripgrep}/bin/rg node_modules/@vscode/ripgrep/bin/rg - popd - runHook postInstall ''; diff --git a/pkgs/by-name/ki/kiro/package.nix b/pkgs/by-name/ki/kiro/package.nix index 78786443a7638..a9758f966cfc9 100644 --- a/pkgs/by-name/ki/kiro/package.nix +++ b/pkgs/by-name/ki/kiro/package.nix @@ -14,7 +14,7 @@ in inherit useVSCodeRipgrep; commandLineArgs = extraCommandLineArgs; - version = "0.10.0"; + version = "0.10.32"; pname = "kiro"; # You can find the current VSCode version in the About dialog: diff --git a/pkgs/by-name/ki/kiro/sources.json b/pkgs/by-name/ki/kiro/sources.json index 4b42996550540..d27fe150a3aae 100644 --- a/pkgs/by-name/ki/kiro/sources.json +++ b/pkgs/by-name/ki/kiro/sources.json @@ -1,14 +1,14 @@ { "x86_64-linux": { - "url": "https://prod.download.desktop.kiro.dev/releases/stable/linux-x64/signed/0.10.0/tar/kiro-ide-0.10.0-stable-linux-x64.tar.gz", - "hash": "sha256-P9s/9l+y44tZ3QRKWDqA9G4N3Z2NErp/f6SYo3ztrAQ=" + "url": "https://prod.download.desktop.kiro.dev/releases/stable/linux-x64/signed/0.10.32/tar/kiro-ide-0.10.32-stable-linux-x64.tar.gz", + "hash": "sha256-m9c5QYJnHmJBtWuVTwg2iJldDOvtVVM2g9gDVxn6JOU=" }, "x86_64-darwin": { - "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-x64/signed/0.10.0/kiro-ide-0.10.0-stable-darwin-x64.dmg", - "hash": "sha256-fFvBOuxlaIpH7A2v6i4s8Qgly8zAJ6VEHvlkWGNZ1oo=" + "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-x64/signed/0.10.32/kiro-ide-0.10.32-stable-darwin-x64.dmg", + "hash": "sha256-h/k/yKAwguV35fNb83OnB8lXXhi5527O97Z6joP5ItQ=" }, "aarch64-darwin": { - "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-arm64/signed/0.10.0/kiro-ide-0.10.0-stable-darwin-arm64.dmg", - "hash": "sha256-gnqAj2rgF20zCl/718RvnWrIdw3kR5JSVLATsxFyzNY=" + "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-arm64/signed/0.10.32/kiro-ide-0.10.32-stable-darwin-arm64.dmg", + "hash": "sha256-G45sPTlMnO2Dxd20gKcfEmw2zZ37vqk06dkxvJe/LJM=" } } diff --git a/pkgs/by-name/ko/koboredux/package.nix b/pkgs/by-name/ko/koboredux/package.nix index 84e97c1f5bdb2..46b623d2ef6cc 100644 --- a/pkgs/by-name/ko/koboredux/package.nix +++ b/pkgs/by-name/ko/koboredux/package.nix @@ -3,7 +3,7 @@ stdenv, fetchFromGitHub, fetchpatch, - requireFile, + fetchItchIo, cmake, pkg-config, SDL2, @@ -31,19 +31,12 @@ let sha256 = "09h9r65z8bar2z89s09j6px0gdq355kjf38rmd85xb2aqwnm6xig"; }; - # TODO: Replace this with fetchItchIo - assets_src = requireFile { + assets_src = fetchItchIo { name = "koboredux-${version}-Linux.tar.bz2"; + gameUrl = "https://olofson.itch.io/kobo-redux"; sha256 = "11bmicx9i11m4c3dp19jsql0zy4rjf5a28x4hd2wl8h3bf8cdgav"; - message = '' - Please purchase the game on https://olofson.itch.io/kobo-redux - and download the Linux build. - - Once you have downloaded the file, please use the following command - and re-run the installation: - - nix-prefetch-url file://\$PWD/koboredux-${version}-Linux.tar.bz2 - + upload = "709961"; + extraMessage = '' Alternatively, install the "koboredux-free" package, which replaces the proprietary assets with a placeholder theme. ''; diff --git a/pkgs/by-name/ko/koji/package.nix b/pkgs/by-name/ko/koji/package.nix index 8607b32e2fbdb..a447dd084512f 100644 --- a/pkgs/by-name/ko/koji/package.nix +++ b/pkgs/by-name/ko/koji/package.nix @@ -15,16 +15,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "koji"; - version = "3.3.1"; + version = "3.4.0"; src = fetchFromGitHub { owner = "cococonscious"; repo = "koji"; tag = "v${finalAttrs.version}"; - hash = "sha256-8z7lx0aVmA2gbydeJOBDVM2s6rwZpDLRaw1yqErwhJ4="; + hash = "sha256-qKC4ayaNPSUh4wSElBWxk/P+Y2dFgCIFiMkI0/QztDY="; }; - cargoHash = "sha256-dnidKrH/HSUpm8sU51G4e74NgyyO3v2sTK4eDKSJujA="; + cargoHash = "sha256-vdELHNH1GqR0LPY3SSNgSR3krZZ85Tsx6aTHve0Vhe8="; env.OPENSSL_NO_VENDOR = 1; diff --git a/pkgs/by-name/ko/korrect/package.nix b/pkgs/by-name/ko/korrect/package.nix index 5f6a34c8aed5c..01842057b6a29 100644 --- a/pkgs/by-name/ko/korrect/package.nix +++ b/pkgs/by-name/ko/korrect/package.nix @@ -9,13 +9,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "korrect"; - version = "0.3.5"; + version = "0.3.6"; src = fetchCrate { inherit (finalAttrs) pname version; - hash = "sha256-2NzfMCMIIZM9/Z7MM8cenqtNCZsbivrjhBFlBQSgV8s="; + hash = "sha256-w+XO3KMzXAssleH/Zs8dpZxG7w4hQRsoxMQLORjv1fA="; }; - cargoHash = "sha256-Xjbc/QpcL6U8z+YwK5UjLRkHThqTIccjQc86nlOMEqE="; + cargoHash = "sha256-uLRFXzTyoZw9H4qEkH6/B+/zE+YQc9yp5LIJRheB5/k="; # Tests create a local http server to check the download functionality __darwinAllowLocalNetworking = true; diff --git a/pkgs/by-name/kr/krew/package.nix b/pkgs/by-name/kr/krew/package.nix index 10621d0ab7d67..e3eb7af8e1014 100644 --- a/pkgs/by-name/kr/krew/package.nix +++ b/pkgs/by-name/kr/krew/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "krew"; - version = "0.4.5"; + version = "0.5.0"; src = fetchFromGitHub { owner = "kubernetes-sigs"; repo = "krew"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-3GoC2HEp9XJe853/JYvX9kAAcFf7XxglVEeU9oQ/5Ms="; + sha256 = "sha256-KG4/vtEfwWVddfFoNbC4xakxOynDY6jyxek4JAXW5gY="; }; - vendorHash = "sha256-r4Dywm0+YxWWD59oaKodkldE2uq8hlt9MwOMYDaj6Gc="; + vendorHash = "sha256-z0wiYknXcCx4vqROngn58CRe9TBgya4y3v736VBMhQ8="; subPackages = [ "cmd/krew" ]; diff --git a/pkgs/by-name/kr/kreya/package.nix b/pkgs/by-name/kr/kreya/package.nix index 14649b881009e..5743473e71cef 100644 --- a/pkgs/by-name/kr/kreya/package.nix +++ b/pkgs/by-name/kr/kreya/package.nix @@ -23,11 +23,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "kreya"; - version = "1.18.0"; + version = "1.19.0"; src = fetchurl { url = "https://stable-downloads.kreya.app/${finalAttrs.version}/Kreya-linux-x64.tar.gz"; - hash = "sha256-oXDR1vwU0ikDq4eHFOXTlDgpODH6kVQu/2Ghed9c508="; + hash = "sha256-JyUdTLW6dYwYTVlyhCph7LDuCF4mdrQTnhcv/qmeuIc="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ku/kubecm/package.nix b/pkgs/by-name/ku/kubecm/package.nix index 1f59eed4e1236..82d5c71a374e3 100644 --- a/pkgs/by-name/ku/kubecm/package.nix +++ b/pkgs/by-name/ku/kubecm/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "kubecm"; - version = "0.34.0"; + version = "0.35.0"; src = fetchFromGitHub { owner = "sunny0826"; repo = "kubecm"; rev = "v${finalAttrs.version}"; - hash = "sha256-UPjo21tbPCC+l6aWrTcYZEJ9a1k8/kJ7anBHWZSkYwI="; + hash = "sha256-QShGRgszcsutSA9sOBXNvAwdTIqHOsMYQQPIXfA8z/M="; }; - vendorHash = "sha256-P+CkGgMCDpW/PaGFljj+WRxfeieuTFax6xvNq6p8lHw="; + vendorHash = "sha256-TyJpFN8JEWpzCHKUX3iYUHhTOOAp5I1YEzhUkWPXx8A="; ldflags = [ "-s" "-w" diff --git a/pkgs/by-name/ku/kubedb-cli/package.nix b/pkgs/by-name/ku/kubedb-cli/package.nix index 8b1fa312df3ab..4e868bb1146e6 100644 --- a/pkgs/by-name/ku/kubedb-cli/package.nix +++ b/pkgs/by-name/ku/kubedb-cli/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "kubedb-cli"; - version = "0.60.0"; + version = "0.63.0"; src = fetchFromGitHub { owner = "kubedb"; repo = "cli"; tag = "v${version}"; - hash = "sha256-L1DFcD6DdY+fQLznv26PPbeCTI6PCdBmsYnDb9WcRoc="; + hash = "sha256-RhRpKUBlsswPStUoZQ9mFkMst77t4t7OodILaC4tHV0="; }; vendorHash = null; diff --git a/pkgs/by-name/ku/kubeseal/package.nix b/pkgs/by-name/ku/kubeseal/package.nix index 6e795188374c7..d0d3a73a52caa 100644 --- a/pkgs/by-name/ku/kubeseal/package.nix +++ b/pkgs/by-name/ku/kubeseal/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "kubeseal"; - version = "0.34.0"; + version = "0.36.0"; src = fetchFromGitHub { owner = "bitnami-labs"; repo = "sealed-secrets"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-Yu0fjVgYiZ+MTF8aJXjoQ8VZuD0tr6znFgYkTqIaZDU="; + sha256 = "sha256-r+PjrHewqNIjj1ZYGEvAns4cSsg7mQXoR8/et6SJzhs="; }; - vendorHash = "sha256-gvMExOJQHBid1GAroYufuYGzoZm2yVEKO3Wafvp7Ad0="; + vendorHash = "sha256-poYkK62v0faGZnyYWQtUdf0eWTyWf+R/r1/+Wc8EeOA="; subPackages = [ "cmd/kubeseal" ]; diff --git a/pkgs/by-name/ku/kubo/package.nix b/pkgs/by-name/ku/kubo/package.nix index 67780689e95a7..6f3265922f2d0 100644 --- a/pkgs/by-name/ku/kubo/package.nix +++ b/pkgs/by-name/ku/kubo/package.nix @@ -3,7 +3,9 @@ buildGoModule, fetchurl, nixosTests, + stdenv, callPackage, + installShellFiles, }: buildGoModule rec { @@ -44,6 +46,8 @@ buildGoModule rec { "systemd_unit_hardened" ]; + nativeBuildInputs = [ installShellFiles ]; + postPatch = '' substituteInPlace 'misc/systemd/ipfs.service' \ --replace-fail '/usr/local/bin/ipfs' "$out/bin/ipfs" @@ -59,6 +63,12 @@ buildGoModule rec { install --mode=444 -D 'misc/systemd/ipfs-api.socket' "$systemd_unit_hardened/etc/systemd/system/ipfs-api.socket" install --mode=444 -D 'misc/systemd/ipfs-gateway.socket' "$systemd_unit_hardened/etc/systemd/system/ipfs-gateway.socket" install --mode=444 -D 'misc/systemd/ipfs-hardened.service' "$systemd_unit_hardened/etc/systemd/system/ipfs.service" + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd ipfs \ + --bash <($out/bin/ipfs commands completion bash) \ + --fish <($out/bin/ipfs commands completion fish) \ + --zsh <($out/bin/ipfs commands completion zsh) ''; meta = { diff --git a/pkgs/by-name/la/ladybugdb/package.nix b/pkgs/by-name/la/ladybugdb/package.nix index bcf3834834509..a36568f8cd001 100644 --- a/pkgs/by-name/la/ladybugdb/package.nix +++ b/pkgs/by-name/la/ladybugdb/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ladybugdb"; - version = "0.14.1"; + version = "0.14.2"; src = fetchFromGitHub { owner = "LadybugDB"; repo = "ladybug"; tag = "v${finalAttrs.version}"; - hash = "sha256-Tq7a7XOKoxe0/cdZehNAEX4ENHIjMFdBBARNzZiuMM8="; + hash = "sha256-hc0SltZYreENpa3PyCSgj72tSVVIiIJRQSN0f33iPr8="; }; outputs = [ diff --git a/pkgs/by-name/la/lager/package.nix b/pkgs/by-name/la/lager/package.nix index 3d5ed24983173..ef1457d529756 100644 --- a/pkgs/by-name/la/lager/package.nix +++ b/pkgs/by-name/la/lager/package.nix @@ -4,38 +4,60 @@ fetchFromGitHub, cmake, boost, + cereal, immer, zug, + catch2, + qt5, }: stdenv.mkDerivation (finalAttrs: { pname = "lager"; - version = "0.1.0"; + version = "0.1.3"; src = fetchFromGitHub { owner = "arximboldi"; repo = "lager"; - rev = "v${finalAttrs.version}"; - hash = "sha256-KTHrVV/186l4klwlcfDwFsKVoOVqWCUPzHnIbWuatbg="; + tag = "v${finalAttrs.version}"; + hash = "sha256-xJxLLvOQxti0s1Lr1EWqYiuJLoHkSOUHiz5COnE5aog="; }; + strictDeps = true; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ boost + cereal immer zug ]; - nativeBuildInputs = [ - cmake + + checkInputs = [ + catch2 + qt5.qtdeclarative ]; + cmakeFlags = [ - "-Dlager_BUILD_EXAMPLES=OFF" + (lib.cmakeBool "lager_BUILD_DEBUGGER_EXAMPLES" false) + (lib.cmakeBool "lager_BUILD_DOCS" false) + (lib.cmakeBool "lager_BUILD_EXAMPLES" false) + (lib.cmakeBool "lager_BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; + + # remove BUILD file to avoid conflicts with the build directory preConfigure = '' rm BUILD ''; + + doCheck = true; + + dontWrapQtApps = true; + meta = { - homepage = "https://github.com/arximboldi/lager"; + changelog = "https://github.com/arximboldi/lager/releases/tag/${finalAttrs.src.tag}"; description = "C++ library for value-oriented design using the unidirectional data-flow architecture — Redux for C++"; + homepage = "https://sinusoid.es/lager/"; license = lib.licenses.mit; maintainers = [ ]; }; diff --git a/pkgs/by-name/la/lakectl/package.nix b/pkgs/by-name/la/lakectl/package.nix index 9b3e6a8aee357..25fafa78cf2d5 100644 --- a/pkgs/by-name/la/lakectl/package.nix +++ b/pkgs/by-name/la/lakectl/package.nix @@ -7,18 +7,18 @@ buildGoModule (finalAttrs: { pname = "lakectl"; - version = "1.77.0"; + version = "1.78.0"; src = fetchFromGitHub { owner = "treeverse"; repo = "lakeFS"; tag = "v${finalAttrs.version}"; - hash = "sha256-PGOCDWyocj91po7vL6IOwUGNzWERv0rwEAYp6LK2E30="; + hash = "sha256-jap9xErA4WzP7p6TASG1lxdFTBWHletvyrhJ/9RXa/I="; }; subPackages = [ "cmd/lakectl" ]; proxyVendor = true; - vendorHash = "sha256-a37Cv7Wcf74hscMxVvZ7g6zZgBTqz/0wmSNamExM/Tc="; + vendorHash = "sha256-6XOJBDdAERD6mcneQ7UFqAPGq+pXroNlzQGNvycpVBc="; ldflags = [ "-s" diff --git a/pkgs/by-name/la/laszip/package.nix b/pkgs/by-name/la/laszip/package.nix index 63cac46b75223..9051a6d157508 100644 --- a/pkgs/by-name/la/laszip/package.nix +++ b/pkgs/by-name/la/laszip/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "LASzip"; repo = "LASzip"; - rev = finalAttrs.version; + tag = finalAttrs.version; hash = "sha256-v/oLU69zqDW1o1HTlay7GDh1Kbmv1rarII2Fz5HWCqg="; }; @@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Turn quickly bulky LAS files into compact LAZ files without information loss"; homepage = "https://laszip.org"; - changelog = "https://github.com/LASzip/LASzip/releases/tag/${finalAttrs.src.rev}"; + changelog = "https://github.com/LASzip/LASzip/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.lgpl2; maintainers = [ ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/la/lazyworktree/package.nix b/pkgs/by-name/la/lazyworktree/package.nix index 229168542ee10..f93b808a2fda3 100644 --- a/pkgs/by-name/la/lazyworktree/package.nix +++ b/pkgs/by-name/la/lazyworktree/package.nix @@ -1,5 +1,6 @@ { lib, + stdenv, buildGoModule, fetchFromGitHub, installShellFiles, @@ -9,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "lazyworktree"; - version = "1.28.0"; + version = "1.38.1"; src = fetchFromGitHub { owner = "chmouel"; repo = "lazyworktree"; tag = "v${finalAttrs.version}"; - hash = "sha256-syfhjNsqRz9Gte514NcuP/J8NMGLEdsJrvnuqBHAnCc="; + hash = "sha256-rNTzmvfVAToPzOvP+3wnL+zyQzL2mXQCnRY0cLKuQ6c="; }; - vendorHash = "sha256-BfQWSogSoD0c71CPMqhfK7F+TzZQt6+wNIzPlFQ2zPU="; + vendorHash = "sha256-Y4TZZ7Fhn1YSxG6YH0l0y0iWxgml93gOwKyTXWkjpqg="; nativeBuildInputs = [ installShellFiles ]; @@ -32,8 +33,14 @@ buildGoModule (finalAttrs: { ]; postInstall = '' - install -Dm444 shell/functions.shell -t $out/share/lazyworktree + install -Dm444 shell/functions.{bash,fish,zsh} -t $out/share/lazyworktree installManPage lazyworktree.1 + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd lazyworktree \ + --bash <($out/bin/lazyworktree completion bash --code) \ + --zsh <($out/bin/lazyworktree completion zsh --code) \ + --fish <($out/bin/lazyworktree completion fish --code) ''; doInstallCheck = true; diff --git a/pkgs/servers/news/leafnode/default.nix b/pkgs/by-name/le/leafnode/package.nix similarity index 100% rename from pkgs/servers/news/leafnode/default.nix rename to pkgs/by-name/le/leafnode/package.nix diff --git a/pkgs/servers/news/leafnode/1.nix b/pkgs/by-name/le/leafnode1/package.nix similarity index 100% rename from pkgs/servers/news/leafnode/1.nix rename to pkgs/by-name/le/leafnode1/package.nix diff --git a/pkgs/by-name/li/libcanberra/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch b/pkgs/by-name/li/libcanberra/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch new file mode 100644 index 0000000000000..8ca3625e356c9 --- /dev/null +++ b/pkgs/by-name/li/libcanberra/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch @@ -0,0 +1,52 @@ +--- a/src/canberra-gtk-module.c ++++ b/src/canberra-gtk-module.c +@@ -307,6 +307,11 @@ + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -335,6 +340,11 @@ + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -365,6 +375,11 @@ + gboolean ret = FALSE; + Atom xembed; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return FALSE; ++#endif ++ + /* Gnome Panel applets are XEMBED windows. We need to make sure we + * ignore them */ + +--- a/src/canberra-gtk.c ++++ b/src/canberra-gtk.c +@@ -185,6 +185,11 @@ + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, diff --git a/pkgs/by-name/li/libcanberra/package.nix b/pkgs/by-name/li/libcanberra/package.nix index a50d86da82fb0..a708a18d70ee5 100644 --- a/pkgs/by-name/li/libcanberra/package.nix +++ b/pkgs/by-name/li/libcanberra/package.nix @@ -55,11 +55,7 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optional stdenv.hostPlatform.isLinux "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"; patches = [ - (fetchpatch { - name = "0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch"; - url = "http://git.0pointer.net/libcanberra.git/patch/?id=c0620e432650e81062c1967cc669829dbd29b310"; - sha256 = "0rc7zwn39yxzxp37qh329g7375r5ywcqcaak8ryd0dgvg8m5hcx9"; - }) + ./0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ (fetchpatch { diff --git a/pkgs/by-name/li/libdeltachat/package.nix b/pkgs/by-name/li/libdeltachat/package.nix index 1398d86852e13..2b9d490f5492b 100644 --- a/pkgs/by-name/li/libdeltachat/package.nix +++ b/pkgs/by-name/li/libdeltachat/package.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libdeltachat"; - version = "2.43.0"; + version = "2.44.0"; src = fetchFromGitHub { owner = "chatmail"; repo = "core"; tag = "v${finalAttrs.version}"; - hash = "sha256-3hpsc/IMBTVHH6Lun9R8Dx3s53sJOb9J1fU1O56MpIc="; + hash = "sha256-GSmAU3xDwLvuy/A84/EBcHNLRAUz0f8s3pzjt81rkmQ="; }; patches = [ @@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: { cargoDeps = rustPlatform.fetchCargoVendor { pname = "chatmail-core"; inherit (finalAttrs) version src; - hash = "sha256-kDYWu8QrVv1fAyNsPN5xY7QqExbdiM7C+Af0l9HVRDQ="; + hash = "sha256-AThOXZNy8nw6txTw0lsL85tScBzGa0r+IfThKp5ng40="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/li/libev/package.nix b/pkgs/by-name/li/libev/package.nix index 35ab0f808fcf6..8e8435467dae5 100644 --- a/pkgs/by-name/li/libev/package.nix +++ b/pkgs/by-name/li/libev/package.nix @@ -36,7 +36,11 @@ stdenv.mkDerivation (finalAttrs: { makeFlags = # doing this in configureFlags causes configure to fail - lib.optional (!static && stdenv.hostPlatform.isCygwin) "LDFLAGS=-no-undefined"; + (lib.optional (!static && stdenv.hostPlatform.isCygwin) "LDFLAGS+=-no-undefined") + ++ (lib.optionals (!static && stdenv.hostPlatform.isWindows) [ + "LDFLAGS+=-no-undefined" + "LDFLAGS+=-lws2_32" + ]); meta = { description = "High-performance event loop/event model with lots of features"; diff --git a/pkgs/by-name/li/libfilezilla/package.nix b/pkgs/by-name/li/libfilezilla/package.nix index e152bd8b2b8f6..a33ed1687eee9 100644 --- a/pkgs/by-name/li/libfilezilla/package.nix +++ b/pkgs/by-name/li/libfilezilla/package.nix @@ -13,12 +13,12 @@ stdenv.mkDerivation { pname = "libfilezilla"; - version = "0.52.0"; + version = "0.54.1"; src = fetchsvn { url = "https://svn.filezilla-project.org/svn/libfilezilla/trunk"; - rev = "11335"; - hash = "sha256-BjHqPC43UtwlYeKbgIaGU8jmWbg5UUiTN8vl1m2mZpo="; + rev = "11363"; + hash = "sha256-m4CfnovtZPvwwjlyWKx/L1OkjiIlKfR7tqg+xB+nqzw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/li/libfyaml/package.nix b/pkgs/by-name/li/libfyaml/package.nix index cae530843a22f..de39b6e905474 100644 --- a/pkgs/by-name/li/libfyaml/package.nix +++ b/pkgs/by-name/li/libfyaml/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libfyaml"; - version = "0.9.4"; + version = "0.9.5"; src = fetchFromGitHub { owner = "pantoniou"; repo = "libfyaml"; rev = "v${finalAttrs.version}"; - hash = "sha256-DgXNnmFGZ6a7ELK1SsxPkc5mcVO9w/4uMkhjnqj3CUI="; + hash = "sha256-2cbw67gDcp5ufsSp+QQg8vOQx0cFcM2rTkAQ/53XB8I="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/li/libgsf/package.nix b/pkgs/by-name/li/libgsf/package.nix index 6d073e6486057..aede43ff621f7 100644 --- a/pkgs/by-name/li/libgsf/package.nix +++ b/pkgs/by-name/li/libgsf/package.nix @@ -95,7 +95,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://gitlab.gnome.org/GNOME/libgsf"; changelog = "https://gitlab.gnome.org/GNOME/libgsf/-/blob/${finalAttrs.src.tag}/ChangeLog"; license = lib.licenses.lgpl21Only; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; longDescription = '' diff --git a/pkgs/by-name/li/libkazv/package.nix b/pkgs/by-name/li/libkazv/package.nix index e17533314b4cd..80deb93ca028b 100644 --- a/pkgs/by-name/li/libkazv/package.nix +++ b/pkgs/by-name/li/libkazv/package.nix @@ -1,7 +1,7 @@ { lib, stdenv, - fetchFromGitLab, + fetchgit, boost, catch2_3, cmake, @@ -12,21 +12,20 @@ libhttpserver, libmicrohttpd, nlohmann_json, - olm, + vodozemac-bindings-cpp, pkg-config, zug, }: stdenv.mkDerivation (finalAttrs: { pname = "libkazv"; - version = "0.7.0"; + version = "0.8.0"; - src = fetchFromGitLab { - domain = "lily-is.land"; - owner = "kazv"; - repo = "libkazv"; + # Heavily mirrored. Click "Clone" at https://iron.lily-is.land/diffusion/L/ to see all mirrors + src = fetchgit { + url = "https://iron.lily-is.land/diffusion/L/libkazv.git"; tag = "v${finalAttrs.version}"; - hash = "sha256-bKujiuAR5otF7nc/BdVWVaEW9fSxdh2bcAgsQ5UO1Aw="; + hash = "sha256-rXQLbYPmD9UH0iXXqrAQSPF3KgIvjEyZ/97Q+/tl9Ec="; }; nativeBuildInputs = [ @@ -42,8 +41,8 @@ stdenv.mkDerivation (finalAttrs: { libcpr_1_10_5 libhttpserver libmicrohttpd - olm nlohmann_json + vodozemac-bindings-cpp zug ]; diff --git a/pkgs/by-name/li/libmad/package.nix b/pkgs/by-name/li/libmad/package.nix index de7aa13cb9283..e2f1cf59cc2e5 100644 --- a/pkgs/by-name/li/libmad/package.nix +++ b/pkgs/by-name/li/libmad/package.nix @@ -87,7 +87,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://sourceforge.net/projects/mad/"; description = "High-quality, fixed-point MPEG audio decoder supporting MPEG-1 and MPEG-2"; license = lib.licenses.gpl2; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/li/libmikmod/package.nix b/pkgs/by-name/li/libmikmod/package.nix index f16a9286fe241..4666ed47a7da4 100644 --- a/pkgs/by-name/li/libmikmod/package.nix +++ b/pkgs/by-name/li/libmikmod/package.nix @@ -44,8 +44,7 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "libmikmod-config"; homepage = "https://mikmod.shlomifish.org/"; license = lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ - lovek323 + maintainers = [ ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/li/libmpack/package.nix b/pkgs/by-name/li/libmpack/package.nix index 8a64dd0e3f7ea..3e50880ecde56 100644 --- a/pkgs/by-name/li/libmpack/package.nix +++ b/pkgs/by-name/li/libmpack/package.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Simple implementation of msgpack in C"; homepage = "https://github.com/tarruda/libmpack/"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; }; }) diff --git a/pkgs/by-name/li/liboil/package.nix b/pkgs/by-name/li/liboil/package.nix index 787a893e6abca..1d9789a75a9c4 100644 --- a/pkgs/by-name/li/liboil/package.nix +++ b/pkgs/by-name/li/liboil/package.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "oil-bugreport"; homepage = "https://liboil.freedesktop.org"; license = lib.licenses.bsd2; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/li/libpcap/package.nix b/pkgs/by-name/li/libpcap/package.nix index 4496557bd1d3d..057d3e08e4dcc 100644 --- a/pkgs/by-name/li/libpcap/package.nix +++ b/pkgs/by-name/li/libpcap/package.nix @@ -46,14 +46,14 @@ stdenv.mkDerivation (finalAttrs: { bash ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libnl ] - ++ lib.optionals withRemote [ libxcrypt ]; + ++ lib.optionals withRemote [ libxcrypt ] + ++ lib.optionals withBluez [ bluez ]; nativeBuildInputs = [ flex bison ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ] - ++ lib.optionals withBluez [ bluez.dev ]; + ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; # We need to force the autodetection because detection doesn't # work in pure build environments. diff --git a/pkgs/by-name/li/libpsl/package.nix b/pkgs/by-name/li/libpsl/package.nix index d986b47ff5b97..1a29128c11741 100644 --- a/pkgs/by-name/li/libpsl/package.nix +++ b/pkgs/by-name/li/libpsl/package.nix @@ -95,7 +95,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://rockdaboot.github.io/libpsl/"; changelog = "https://raw.githubusercontent.com/rockdaboot/libpsl/libpsl-${finalAttrs.version}/NEWS"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.c0bw3b ]; + maintainers = [ ]; mainProgram = "psl"; platforms = lib.platforms.unix ++ lib.platforms.windows; pkgConfigModules = [ "libpsl" ]; diff --git a/pkgs/by-name/li/librewolf-unwrapped/package.nix b/pkgs/by-name/li/librewolf-unwrapped/package.nix index b84d93e24397e..a3826334a1303 100644 --- a/pkgs/by-name/li/librewolf-unwrapped/package.nix +++ b/pkgs/by-name/li/librewolf-unwrapped/package.nix @@ -31,6 +31,7 @@ in maintainers = with lib.maintainers; [ dwrege fpletz + hythera ]; platforms = lib.platforms.unix; broken = stdenv.buildPlatform.is32bit; diff --git a/pkgs/by-name/li/librewolf-unwrapped/src.json b/pkgs/by-name/li/librewolf-unwrapped/src.json index 65ae2e4b035a3..dbef40265aacc 100644 --- a/pkgs/by-name/li/librewolf-unwrapped/src.json +++ b/pkgs/by-name/li/librewolf-unwrapped/src.json @@ -1,11 +1,11 @@ { - "packageVersion": "147.0.4-1", + "packageVersion": "148.0-1", "source": { - "rev": "147.0.4-1", - "hash": "sha256-xdeYyD1zwhQ5BzHzbQNCb3oHr4DAfwHGzbtGr2E3MR0=" + "rev": "148.0-1", + "hash": "sha256-J2xY2PbVc1oSFP+PiAoVJUK+Qw2FUZtKuYz4TtRXWQs=" }, "firefox": { - "version": "147.0.4", - "hash": "sha512-mBNokWWC4VZllKuOLAPKtHGq8EYT0sd6DU4GerFZu4G1kpqAG7rCDvBQbvBIzekbLi+JWY+o1OjWaoyAFrubMw==" + "version": "148.0", + "hash": "sha512-sOhiCR86B6AokPZBTne0M4kzZKi+r1ItRA6X7QBgybFL2y//3s3xLcqEnvzoxX2VpTSyPgQlnYOpbujyngeDSQ==" } } diff --git a/pkgs/by-name/li/libsamplerate/package.nix b/pkgs/by-name/li/libsamplerate/package.nix index 2840f7b39beb6..7064c788bcf25 100644 --- a/pkgs/by-name/li/libsamplerate/package.nix +++ b/pkgs/by-name/li/libsamplerate/package.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Sample Rate Converter for audio"; homepage = "https://libsndfile.github.io/libsamplerate/"; license = lib.licenses.bsd2; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.all; # Linker is unhappy with the `.def` file. broken = stdenv.hostPlatform.isMinGW; diff --git a/pkgs/by-name/li/libsndfile/package.nix b/pkgs/by-name/li/libsndfile/package.nix index cb3297ee0902b..9fadf930ba0e7 100644 --- a/pkgs/by-name/li/libsndfile/package.nix +++ b/pkgs/by-name/li/libsndfile/package.nix @@ -78,7 +78,10 @@ stdenv.mkDerivation (finalAttrs: { ''; # Needed on Darwin. - NIX_CFLAGS_LINK = "-logg -lvorbis"; + env.NIX_CFLAGS_LINK = toString [ + "-logg" + "-lvorbis" + ]; # Broken with libopus >= 1.6.0 doCheck = false; @@ -111,7 +114,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://libsndfile.github.io/libsndfile/"; changelog = "https://github.com/libsndfile/libsndfile/releases/tag/${finalAttrs.version}"; license = lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.all; longDescription = '' diff --git a/pkgs/by-name/li/libsodium/package.nix b/pkgs/by-name/li/libsodium/package.nix index 8cb1249f1da95..a9d793ea0ea80 100644 --- a/pkgs/by-name/li/libsodium/package.nix +++ b/pkgs/by-name/li/libsodium/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libsodium"; - version = "1.0.21-unstable-2026-01-22"; + version = "1.0.21-unstable-2026-02-11"; src = fetchFromGitHub { owner = "jedisct1"; repo = "libsodium"; - rev = "f6c18801a8a9be6a1bef4af177098b8de88f7880"; - hash = "sha256-TFPyC6JzkDQe1er4GfaM2TzSRTXqm5XS8Sxq2V6grLM="; + rev = "e18eee6532f5dc4b0f7ee99024e24bf4c8e12fc2"; + hash = "sha256-S/uQtt4m5OyGo9yBb4UARV0Xcwtd/I6tCRJilcx8XBM="; }; outputs = [ diff --git a/pkgs/by-name/li/libvgm/package.nix b/pkgs/by-name/li/libvgm/package.nix index 3a4d01e9886c2..e46d6e0adfd44 100644 --- a/pkgs/by-name/li/libvgm/package.nix +++ b/pkgs/by-name/li/libvgm/package.nix @@ -38,13 +38,13 @@ assert enableTools -> enableAudio && enableEmulation && enableLibplayer; stdenv.mkDerivation (finalAttrs: { pname = "libvgm"; - version = "0-unstable-2026-01-21"; + version = "0-unstable-2026-02-19"; src = fetchFromGitHub { owner = "ValleyBell"; repo = "libvgm"; - rev = "57585ea7a53f56bcf5a56071068c6ef9154ca299"; - hash = "sha256-9IJH5rL+P2c91CUWZ4LgTzCptszHri0eVOWv8Rx+iqI="; + rev = "a16858c4b92e297eaf9ddd602ecb790a5b980b69"; + hash = "sha256-oFxrWt8Mznr9vrAnGRZKGv0vKetOp5RO1a3bG538Uog="; }; outputs = [ diff --git a/pkgs/by-name/li/libweaver/package.nix b/pkgs/by-name/li/libweaver/package.nix new file mode 100644 index 0000000000000..bea881edb0920 --- /dev/null +++ b/pkgs/by-name/li/libweaver/package.nix @@ -0,0 +1,49 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + testers, + unstableGitUpdater, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libweaver"; + version = "0-unstable-2025-12-18"; + + src = fetchFromGitHub { + owner = "isledecomp"; + repo = "SIEdit"; + rev = "2c32d65dbab577bf3a8701bc8bcae9034a7815d9"; + hash = "sha256-qtE7c/LCQBhVWgbdmu4e5mCo+4Pz6QkAY29dHG/Fi/U="; + }; + + strictDeps = true; + __structuredAttrs = true; + + nativeBuildInputs = [ + cmake + ninja + ]; + + cmakeFlags = [ + (lib.cmakeBool "LIBWEAVER_BUILD_APP" false) + ]; + + passthru = { + updateScript = unstableGitUpdater { harcodeZeroVersion = true; }; + tests.cmake-config = testers.hasCmakeConfigModules { + package = finalAttrs.finalPackage; + moduleNames = [ "libweaver" ]; + }; + }; + + meta = { + description = "library for interacting with SI files"; + homepage = "https://github.com/isledecomp/SIEdit/tree/master/include/libweaver"; + license = lib.licenses.gpl3Only; + maintainers = [ + lib.maintainers.RossSmyth + ]; + }; +}) diff --git a/pkgs/by-name/li/libxcb-cursor/package.nix b/pkgs/by-name/li/libxcb-cursor/package.nix index c6068d05b232f..c946cb1013d78 100644 --- a/pkgs/by-name/li/libxcb-cursor/package.nix +++ b/pkgs/by-name/li/libxcb-cursor/package.nix @@ -57,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: { description = "XCB port of libxcursor"; homepage = "https://gitlab.freedesktop.org/xorg/lib/libxcb-cursor"; license = lib.licenses.x11; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; pkgConfigModules = [ "xcb-cursor" ]; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/li/lidarr/deps.json b/pkgs/by-name/li/lidarr/deps.json new file mode 100644 index 0000000000000..ad978672bba8c --- /dev/null +++ b/pkgs/by-name/li/lidarr/deps.json @@ -0,0 +1,1324 @@ +[ + { + "pname": "AutoFixture", + "version": "4.17.0", + "hash": "sha256-kM2n3KdZ2cOAo1OFekdrcOEtCbO8kH0tsnKfjcSZbw4=" + }, + { + "pname": "Azure.Core", + "version": "1.47.1", + "hash": "sha256-YJR1bDI9H9lr6p/9QcOWEhnpMD8ePyxxO39S32VAOak=" + }, + { + "pname": "Azure.Identity", + "version": "1.14.2", + "hash": "sha256-PpGcGQrzcEzDtTm65gLmjWrt8yavst4VOKDlr+NuLQo=" + }, + { + "pname": "BouncyCastle.Cryptography", + "version": "2.6.1", + "hash": "sha256-0NNwK/UZlnIK4Nb7bs4ya0XfoVluKQPUVQvaR88UHKo=" + }, + { + "pname": "Castle.Core", + "version": "5.1.1", + "hash": "sha256-oVkQB+ON7S6Q27OhXrTLaxTL0kWB58HZaFFuiw4iTrE=" + }, + { + "pname": "coverlet.collector", + "version": "6.0.4", + "hash": "sha256-ieiUl7G5pVKQ4V6rxhEe0ehep0/u1RBD3EAI63AQTI0=" + }, + { + "pname": "Dapper", + "version": "2.1.66", + "hash": "sha256-e5n/wnAFGPDSe30oQQ0fanXrvFZYYa+qCDSTHtfQmPw=" + }, + { + "pname": "Diacritical.Net", + "version": "1.0.4", + "hash": "sha256-rBYl6Dz7vRHPx/tXAJ8rupAVHUBilZ/WnJE92UrHge8=" + }, + { + "pname": "DryIoc.dll", + "version": "5.4.3", + "hash": "sha256-qk3sUiiQu4TxdkG4Ise8Sn5h3kV5p6w6t9wMw5dSc94=" + }, + { + "pname": "DryIoc.Microsoft.DependencyInjection", + "version": "6.2.0", + "hash": "sha256-C06B0tj3qFkVVGL0kSflf88As4t9TRaw/++N05Zaz0c=" + }, + { + "pname": "Dynamitey", + "version": "3.0.3", + "hash": "sha256-69DyYSGu1sjpr8DupZWEiwcVmW9vT197c00vQ7H9k1s=" + }, + { + "pname": "Equ", + "version": "2.3.0", + "hash": "sha256-LMGRC1Pq6RdiPnyBEjDP1yA7gesHxrXPXa353pGGlqw=" + }, + { + "pname": "Fare", + "version": "2.1.1", + "hash": "sha256-n9X3GE2qsT2wpmDymD1AyCYcOoY/c0+t+aIWLiaST70=" + }, + { + "pname": "FluentAssertions", + "version": "5.10.3", + "hash": "sha256-ThNTNoZKe5hyATooSFCDCImVM5TNOyKnJs5MgdOY9WQ=" + }, + { + "pname": "FluentMigrator", + "version": "6.2.0", + "hash": "sha256-ile8oQnbeJWcoHiK4wESAGSq4VtbSsuUZWbvYZZsWes=" + }, + { + "pname": "FluentMigrator.Abstractions", + "version": "6.2.0", + "hash": "sha256-jzrMDqysTXQw4F+XuBq6dTtLjfqyerlrOrR6V85RlPY=" + }, + { + "pname": "FluentMigrator.Extensions.Postgres", + "version": "6.2.0", + "hash": "sha256-FdV3OPXLdu+C74Zbrk2IG5Dz52u54D/7wYSsloqA5hs=" + }, + { + "pname": "FluentMigrator.Runner.Core", + "version": "6.2.0", + "hash": "sha256-uUXhvxCkwyxmDBSlPSp5K1ycSTSssWYNui2dN6Ql5Wk=" + }, + { + "pname": "FluentMigrator.Runner.Postgres", + "version": "6.2.0", + "hash": "sha256-zqgNUE8oiZ+wJ+Xni6AcQiMDiTOLDMqe0rMmn/DuiI0=" + }, + { + "pname": "FluentMigrator.Runner.SQLite", + "version": "6.2.0", + "hash": "sha256-nzeaThuaPs/jqgIpsj7SWlAICAciXNTM1447R3s/18U=" + }, + { + "pname": "FluentValidation", + "version": "9.5.4", + "hash": "sha256-htL8KbjBt2rn+y+nUIc4lVBypWksQ+hsROxMBDzi5IU=" + }, + { + "pname": "Ical.Net", + "version": "4.3.1", + "hash": "sha256-jpohvCiUBe61A3O+BJwCqsPW+3jUt4cKeCqZb/0cw0M=" + }, + { + "pname": "ImpromptuInterface", + "version": "8.0.6", + "hash": "sha256-u0J8n7ShZX+lk5aX9copjwgym5TtglRGT7QtPdZeHeA=" + }, + { + "pname": "IPAddressRange", + "version": "6.2.0", + "hash": "sha256-g3brzbKKPZS23cbttpr5CCYoZHm+dvH43/gXLuZYmFg=" + }, + { + "pname": "MailKit", + "version": "4.14.0", + "hash": "sha256-vAFqKaKvLUUiFbpu1mJdL/W5CIlb6rh3U6ef883g+Bs=" + }, + { + "pname": "Microsoft.ApplicationInsights", + "version": "2.23.0", + "hash": "sha256-5sf3bg7CZZjHseK+F3foOchEhmVeioePxMZVvS6Rjb0=" + }, + { + "pname": "Microsoft.AspNetCore.Cryptography.Internal", + "version": "8.0.20", + "hash": "sha256-9hCA6rahWQwuKPnBFcq5Y67oVnX8mZyaljYUdxApgm0=" + }, + { + "pname": "Microsoft.AspNetCore.Cryptography.KeyDerivation", + "version": "8.0.20", + "hash": "sha256-poZIBnJNCb6icymkU+5IcV8tUoQm7Hwrenpi1UlJJtk=" + }, + { + "pname": "Microsoft.Bcl.AsyncInterfaces", + "version": "8.0.0", + "hash": "sha256-9aWmiwMJKrKr9ohD1KSuol37y+jdDxPGJct3m2/Bknw=" + }, + { + "pname": "Microsoft.Bcl.Cryptography", + "version": "8.0.0", + "hash": "sha256-p9aO+aVi4Vl8bRsYRFGJyc9Mqd2wkQ12RwWDwBhdt4I=" + }, + { + "pname": "Microsoft.CodeCoverage", + "version": "17.10.0", + "hash": "sha256-yQFwqVChRtIRpbtkJr92JH2i+O7xn91NGbYgnKs8G2g=" + }, + { + "pname": "Microsoft.CSharp", + "version": "4.7.0", + "hash": "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0=" + }, + { + "pname": "Microsoft.Data.SqlClient", + "version": "6.1.1", + "hash": "sha256-IBVkAipJyF7KO9uid+5QyfVzWEeY/BbQUofKc6zQoW0=" + }, + { + "pname": "Microsoft.Data.SqlClient.SNI.runtime", + "version": "6.0.2", + "hash": "sha256-CQuJfjZYoRxfc07cSzUNCOOdzmUJu0p10J+WpcG2BJ0=" + }, + { + "pname": "Microsoft.Extensions.Caching.Abstractions", + "version": "8.0.0", + "hash": "sha256-xGpKrywQvU1Wm/WolYIxgHYEFfgkNGeJ+GGc5DT3phI=" + }, + { + "pname": "Microsoft.Extensions.Caching.Memory", + "version": "8.0.1", + "hash": "sha256-5Q0vzHo3ZvGs4nPBc/XlBF4wAwYO8pxq6EGdYjjXZps=" + }, + { + "pname": "Microsoft.Extensions.Configuration", + "version": "8.0.0", + "hash": "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA=" + }, + { + "pname": "Microsoft.Extensions.Configuration.Abstractions", + "version": "8.0.0", + "hash": "sha256-4eBpDkf7MJozTZnOwQvwcfgRKQGcNXe0K/kF+h5Rl8o=" + }, + { + "pname": "Microsoft.Extensions.Configuration.Binder", + "version": "8.0.2", + "hash": "sha256-aGB0VuoC34YadAEqrwoaXLc5qla55pswDV2xLSmR7SE=" + }, + { + "pname": "Microsoft.Extensions.Configuration.CommandLine", + "version": "8.0.0", + "hash": "sha256-fmPC/o8S+weTtQJWykpnGHm6AKVU21xYE/CaHYU7zgg=" + }, + { + "pname": "Microsoft.Extensions.Configuration.EnvironmentVariables", + "version": "8.0.0", + "hash": "sha256-+bjFZvqCsMf2FRM2olqx/fub+QwfM1kBhjGVOT5HC48=" + }, + { + "pname": "Microsoft.Extensions.Configuration.FileExtensions", + "version": "8.0.1", + "hash": "sha256-iRA8L7BX/fe5LHCVOhzBSk30GfshP7V2Qj2nxpEvStA=" + }, + { + "pname": "Microsoft.Extensions.Configuration.Json", + "version": "8.0.1", + "hash": "sha256-J8EK/yhsfTpeSUY8F81ZTBV9APHiPUliN7d+n2OX9Ig=" + }, + { + "pname": "Microsoft.Extensions.Configuration.UserSecrets", + "version": "8.0.1", + "hash": "sha256-yGvWfwBhyFudcIv96pKWaQ1MIMOiv5LHSCn+9J7Doz0=" + }, + { + "pname": "Microsoft.Extensions.DependencyInjection", + "version": "8.0.1", + "hash": "sha256-O9g0jWS+jfGoT3yqKwZYJGL+jGSIeSbwmvomKDC3hTU=" + }, + { + "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", + "version": "7.0.0", + "hash": "sha256-55lsa2QdX1CJn1TpW1vTnkvbGXKCeE9P0O6AkW49LaA=" + }, + { + "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", + "version": "8.0.0", + "hash": "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8=" + }, + { + "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", + "version": "8.0.2", + "hash": "sha256-UfLfEQAkXxDaVPC7foE/J3FVEXd31Pu6uQIhTic3JgY=" + }, + { + "pname": "Microsoft.Extensions.Diagnostics", + "version": "8.0.1", + "hash": "sha256-CraHNCaVlMiYx6ff9afT6U7RC/MoOCXM3pn2KrXkiLc=" + }, + { + "pname": "Microsoft.Extensions.Diagnostics.Abstractions", + "version": "8.0.1", + "hash": "sha256-d5DVXhA8qJFY9YbhZjsTqs5w5kDuxF5v+GD/WZR1QL0=" + }, + { + "pname": "Microsoft.Extensions.FileProviders.Abstractions", + "version": "8.0.0", + "hash": "sha256-uQSXmt47X2HGoVniavjLICbPtD2ReQOYQMgy3l0xuMU=" + }, + { + "pname": "Microsoft.Extensions.FileProviders.Physical", + "version": "8.0.0", + "hash": "sha256-29y5ZRQ1ZgzVOxHktYxyiH40kVgm5un2yTGdvuSWnRc=" + }, + { + "pname": "Microsoft.Extensions.FileSystemGlobbing", + "version": "8.0.0", + "hash": "sha256-+Oz41JR5jdcJlCJOSpQIL5OMBNi+1Hl2d0JUHfES7sU=" + }, + { + "pname": "Microsoft.Extensions.Hosting", + "version": "8.0.1", + "hash": "sha256-FFLo6em0N2vaWg6//vaQhxoOgT9LLH5Y2KWkCeX5xQ4=" + }, + { + "pname": "Microsoft.Extensions.Hosting.Abstractions", + "version": "8.0.1", + "hash": "sha256-/bIVL9uvBQhV/KQmjA1ZjR74sMfaAlBb15sVXsGDEVA=" + }, + { + "pname": "Microsoft.Extensions.Hosting.WindowsServices", + "version": "8.0.1", + "hash": "sha256-JBrZuv1RxpJf5wR81g91bE1/JQgBeOtnJDvA98rlYKE=" + }, + { + "pname": "Microsoft.Extensions.Logging", + "version": "8.0.1", + "hash": "sha256-vkfVw4tQEg86Xg18v6QO0Qb4Ysz0Njx57d1XcNuj6IU=" + }, + { + "pname": "Microsoft.Extensions.Logging.Abstractions", + "version": "8.0.2", + "hash": "sha256-cHpe8X2BgYa5DzulZfq24rg8O2K5Lmq2OiLhoyAVgJc=" + }, + { + "pname": "Microsoft.Extensions.Logging.Abstractions", + "version": "8.0.3", + "hash": "sha256-5MSY1aEwUbRXehSPHYw0cBZyFcUH4jkgabddxhMiu3Q=" + }, + { + "pname": "Microsoft.Extensions.Logging.Configuration", + "version": "8.0.1", + "hash": "sha256-E2JbJG2EXlv2HUWLi17kIkAL6RC9rC2E18C3gAyOuaE=" + }, + { + "pname": "Microsoft.Extensions.Logging.Console", + "version": "8.0.1", + "hash": "sha256-2thhF1JbDNj3Bx2fcH7O26uHGNeMd9MYah6N60lIpIU=" + }, + { + "pname": "Microsoft.Extensions.Logging.Debug", + "version": "8.0.1", + "hash": "sha256-gKFqBg5lbjy5VBEcAuoQ/SsXAxvrYdBYOu9dV60eJKg=" + }, + { + "pname": "Microsoft.Extensions.Logging.EventLog", + "version": "8.0.1", + "hash": "sha256-1UkEOwl3Op2b3jTvpI10hHxIe9FqeVVy+VB1tZp6Lc8=" + }, + { + "pname": "Microsoft.Extensions.Logging.EventSource", + "version": "8.0.1", + "hash": "sha256-EINT/PgfB4Dvf+1JBzL1plPT35ezT7kyS8y/XMMgYxA=" + }, + { + "pname": "Microsoft.Extensions.Options", + "version": "8.0.0", + "hash": "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw=" + }, + { + "pname": "Microsoft.Extensions.Options", + "version": "8.0.2", + "hash": "sha256-AjcldddddtN/9aH9pg7ClEZycWtFHLi9IPe1GGhNQys=" + }, + { + "pname": "Microsoft.Extensions.Options.ConfigurationExtensions", + "version": "8.0.0", + "hash": "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI=" + }, + { + "pname": "Microsoft.Extensions.Primitives", + "version": "8.0.0", + "hash": "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo=" + }, + { + "pname": "Microsoft.Identity.Client", + "version": "4.73.1", + "hash": "sha256-cd5ArtDvQK4gdX8M0GHQEsCFWlqpdm6lxvaM2yMHkhc=" + }, + { + "pname": "Microsoft.Identity.Client.Extensions.Msal", + "version": "4.73.1", + "hash": "sha256-wc4oHBGKCJhAqNIyD4LlugCFvmyiW5iVzGYP88bnWqs=" + }, + { + "pname": "Microsoft.IdentityModel.Abstractions", + "version": "6.35.0", + "hash": "sha256-bxyYu6/QgaA4TQYBr5d+bzICL+ktlkdy/tb/1fBu00Q=" + }, + { + "pname": "Microsoft.IdentityModel.Abstractions", + "version": "7.7.1", + "hash": "sha256-v83O6Gb8s4wGhbRPvOA95t0LSX+MAhF6WpA6qZeK2XM=" + }, + { + "pname": "Microsoft.IdentityModel.JsonWebTokens", + "version": "7.7.1", + "hash": "sha256-vGUx0HYrhDGQiHuIZoe4YOXx3UV9hT+a0krlPGJPQzw=" + }, + { + "pname": "Microsoft.IdentityModel.Logging", + "version": "7.7.1", + "hash": "sha256-JtQclRXgzsFBFnD+kgD59OILf7XkMD2czLupLZkc100=" + }, + { + "pname": "Microsoft.IdentityModel.Protocols", + "version": "7.7.1", + "hash": "sha256-PVS46Ut/2814hy0tdNLahG266hBmepw/fzZ9pku1PNg=" + }, + { + "pname": "Microsoft.IdentityModel.Protocols.OpenIdConnect", + "version": "7.7.1", + "hash": "sha256-zXRZLfgOG/0l8aF6mZuAVGWB3wYz5uTkTJwlucYPafw=" + }, + { + "pname": "Microsoft.IdentityModel.Tokens", + "version": "7.7.1", + "hash": "sha256-WgbdkeG0R/f+4GJeXlj1WMpFyGv7+iW1JM9Pgt95UFk=" + }, + { + "pname": "Microsoft.NET.Test.Sdk", + "version": "17.10.0", + "hash": "sha256-rkHIqB2mquNXF89XBTFpUL2z5msjTBsOcyjSBCh36I0=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "1.1.0", + "hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "5.0.0", + "hash": "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c=" + }, + { + "pname": "Microsoft.NETCore.Targets", + "version": "1.1.0", + "hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ=" + }, + { + "pname": "Microsoft.OpenApi", + "version": "1.6.25", + "hash": "sha256-Y8/b5gl+VtHD48BOsnSnyIH9ncjy3EGvszIHn+pjzP4=" + }, + { + "pname": "Microsoft.SqlServer.Server", + "version": "1.0.0", + "hash": "sha256-mx/iqHmBMwA8Ulot0n6YFVIKsU1Tx7q4Tru7MSjbEgQ=" + }, + { + "pname": "Microsoft.Testing.Extensions.Telemetry", + "version": "1.7.3", + "hash": "sha256-Z6WsY2FCUbNnT5HJd7IOrfOvqknVXp6PWzTVeb0idVg=" + }, + { + "pname": "Microsoft.Testing.Extensions.TrxReport.Abstractions", + "version": "1.7.3", + "hash": "sha256-PTee04FHyTHx/gF5NLckXuVje807G51MzkPrZ1gkgCw=" + }, + { + "pname": "Microsoft.Testing.Extensions.VSTestBridge", + "version": "1.7.3", + "hash": "sha256-8d+wZmucfSO7PsviHjVxYB4q6NcjgxvnCUpLePq35sM=" + }, + { + "pname": "Microsoft.Testing.Platform", + "version": "1.7.3", + "hash": "sha256-cavX11P5o9rooqC3ZHw5h002OKRg2ZNR/VaRwpNTQYA=" + }, + { + "pname": "Microsoft.Testing.Platform.MSBuild", + "version": "1.7.3", + "hash": "sha256-cREl529UQ/c5atT8KimMgrgNdy6MrAd0sBGT8sXRRPM=" + }, + { + "pname": "Microsoft.TestPlatform.AdapterUtilities", + "version": "17.13.0", + "hash": "sha256-Vr+3Tad/h/nk7f/5HMExn3HvCGFCarehFAzJSfCBaOc=" + }, + { + "pname": "Microsoft.TestPlatform.ObjectModel", + "version": "17.10.0", + "hash": "sha256-3YjVGK2zEObksBGYg8b/CqoJgLQ1jUv4GCWNjDhLRh4=" + }, + { + "pname": "Microsoft.TestPlatform.ObjectModel", + "version": "17.13.0", + "hash": "sha256-6S0fjfj8vA+h6dJVNwLi6oZhYDO/I/6hBZaq2VTW+Uk=" + }, + { + "pname": "Microsoft.TestPlatform.TestHost", + "version": "17.10.0", + "hash": "sha256-+yzP3FY6WoOosSpYnB7duZLhOPUZMQYy8zJ1d3Q4hK4=" + }, + { + "pname": "Microsoft.Win32.Primitives", + "version": "4.3.0", + "hash": "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg=" + }, + { + "pname": "Microsoft.Win32.Registry", + "version": "5.0.0", + "hash": "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA=" + }, + { + "pname": "Microsoft.Win32.SystemEvents", + "version": "8.0.0", + "hash": "sha256-UcxurEamYD+Bua0PbPNMYAZaRulMrov8CfbJGIgTaRQ=" + }, + { + "pname": "MimeKit", + "version": "4.14.0", + "hash": "sha256-06dqA6w2V2D+miq387smCuJ/8fk1FVc0rvRjmglAWyM=" + }, + { + "pname": "Mono.Nat", + "version": "3.0.0", + "hash": "sha256-KH49R1YQ+8a/rzwwUPrE82QQTi8nxQc6b0KWyy+Tnp4=" + }, + { + "pname": "Mono.Posix.NETStandard", + "version": "5.20.1.34-servarr20", + "hash": "sha256-6dHPPXtZRFLnNWISsEeQJhv5Umya+8ptZh8xhBXLOnM=", + "url": "https://pkgs.dev.azure.com/Servarr/7ab38f4e-5a57-4d70-84f4-94dd9bc5d6df/_packaging/9845f7c9-6c8c-4845-b5ee-58375c59e0d8/nuget/v3/flat2/mono.posix.netstandard/5.20.1.34-servarr20/mono.posix.netstandard.5.20.1.34-servarr20.nupkg" + }, + { + "pname": "MonoTorrent", + "version": "3.0.2", + "hash": "sha256-R2XANCRRVAe1mOzccWV4So85kQYDU2pWSWOfrbXAigw=" + }, + { + "pname": "Moq", + "version": "4.18.4", + "hash": "sha256-JOmYlcTJdQOthRxnT0jAD6WG+NVLMmIV2BM9rNhNg3Q=" + }, + { + "pname": "NBuilder", + "version": "6.1.0", + "hash": "sha256-3EulDuYIUjs2PyKJVLzMgMr9opLik8A8v3hMZ10qEZ8=" + }, + { + "pname": "NETStandard.Library", + "version": "1.6.1", + "hash": "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw=" + }, + { + "pname": "NETStandard.Library", + "version": "2.0.0", + "hash": "sha256-Pp7fRylai8JrE1O+9TGfIEJrAOmnWTJRLWE+qJBahK0=" + }, + { + "pname": "Newtonsoft.Json", + "version": "13.0.1", + "hash": "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo=" + }, + { + "pname": "Newtonsoft.Json", + "version": "13.0.4", + "hash": "sha256-8JCB1FdAW681qXP6DFDWvycu1oPyVoxaYgpJ2pUvZSk=" + }, + { + "pname": "NLog", + "version": "5.4.0", + "hash": "sha256-l2R0UHHCL02KPMC96e62AL2ONFD0PAty619y9UnD25A=" + }, + { + "pname": "NLog.Extensions.Logging", + "version": "5.4.0", + "hash": "sha256-9pVBguAKnjmbtKM3wBVBEzovXkoEXgqvB4IhiayAkVo=" + }, + { + "pname": "NLog.Layouts.ClefJsonLayout", + "version": "1.0.4", + "hash": "sha256-C/i9xWUubi4Wd9LAwxBj+XTAFvQ0+WgIvI3V7T/XF+8=" + }, + { + "pname": "NLog.Targets.Syslog", + "version": "7.0.0", + "hash": "sha256-Yy6REt1UxkdFz+twa0zJVm635YHch7B6t9Pjj5FZUZc=" + }, + { + "pname": "NodaTime", + "version": "3.2.0", + "hash": "sha256-kt59MWEzmMFBgpw5tOPlcYwZKe74WkA9N5ggrLS3tUM=" + }, + { + "pname": "Npgsql", + "version": "9.0.3", + "hash": "sha256-X3F05GNj3vNVl++VOV5TMYE5dvEe6cx0k+5yWo2Q/+o=" + }, + { + "pname": "NUnit", + "version": "3.14.0", + "hash": "sha256-CuP/q5HovPWfAW3Cty/QxRi7VpjykJ3TDLq5TENI6KY=" + }, + { + "pname": "NUnit3TestAdapter", + "version": "5.1.0", + "hash": "sha256-5z470sFjV67wGHaw8KfmSloIAYe81Dokp0f8I6zXsDc=" + }, + { + "pname": "NunitXml.TestLogger", + "version": "3.1.20", + "hash": "sha256-T6/n9S5vnmznf2P7x5Vejciq8P2P+1OCrdKE2UmWQOw=" + }, + { + "pname": "Polly", + "version": "8.6.4", + "hash": "sha256-Z+ZbhnHWMu55qgQkxvw3yMiMd+zIMzzQiFhvn/PeQ3I=" + }, + { + "pname": "Polly.Contrib.WaitAndRetry", + "version": "1.1.1", + "hash": "sha256-InJ8IXAsZDAR4B/YzWCuEWRa/6Xf5oB049UJUkTOoSg=" + }, + { + "pname": "Polly.Core", + "version": "8.6.4", + "hash": "sha256-4Xrg/H481Y/WOHk1sGvFNEOfgaGrdKi+4U54PTXhh9I=" + }, + { + "pname": "RestSharp", + "version": "106.15.0", + "hash": "sha256-8UChXxz7AQmQpoozSBfwB6NVmt2+uJcN8TH7RtVfT7w=" + }, + { + "pname": "RestSharp.Serializers.SystemTextJson", + "version": "106.15.0", + "hash": "sha256-Aj3Ro8dkHXTrY2OpyXEQ0vITqz1ItvQRpDE40S3fr7U=" + }, + { + "pname": "ReusableTasks", + "version": "4.0.0", + "hash": "sha256-8Z6wQaPQMXZFqvSi9WL5jdmLHolnLQwZmmG0+OUyPeo=" + }, + { + "pname": "runtime.any.System.Collections", + "version": "4.3.0", + "hash": "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8=" + }, + { + "pname": "runtime.any.System.Diagnostics.Tools", + "version": "4.3.0", + "hash": "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I=" + }, + { + "pname": "runtime.any.System.Diagnostics.Tracing", + "version": "4.3.0", + "hash": "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI=" + }, + { + "pname": "runtime.any.System.Globalization", + "version": "4.3.0", + "hash": "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU=" + }, + { + "pname": "runtime.any.System.Globalization.Calendars", + "version": "4.3.0", + "hash": "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4=" + }, + { + "pname": "runtime.any.System.IO", + "version": "4.3.0", + "hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE=" + }, + { + "pname": "runtime.any.System.Reflection", + "version": "4.3.0", + "hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk=" + }, + { + "pname": "runtime.any.System.Reflection.Extensions", + "version": "4.3.0", + "hash": "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8=" + }, + { + "pname": "runtime.any.System.Reflection.Primitives", + "version": "4.3.0", + "hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ=" + }, + { + "pname": "runtime.any.System.Resources.ResourceManager", + "version": "4.3.0", + "hash": "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4=" + }, + { + "pname": "runtime.any.System.Runtime", + "version": "4.3.0", + "hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM=" + }, + { + "pname": "runtime.any.System.Runtime.Handles", + "version": "4.3.0", + "hash": "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4=" + }, + { + "pname": "runtime.any.System.Runtime.InteropServices", + "version": "4.3.0", + "hash": "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA=" + }, + { + "pname": "runtime.any.System.Text.Encoding", + "version": "4.3.0", + "hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs=" + }, + { + "pname": "runtime.any.System.Text.Encoding.Extensions", + "version": "4.3.0", + "hash": "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM=" + }, + { + "pname": "runtime.any.System.Threading.Tasks", + "version": "4.3.0", + "hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4=" + }, + { + "pname": "runtime.any.System.Threading.Timer", + "version": "4.3.0", + "hash": "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs=" + }, + { + "pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps=" + }, + { + "pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I=" + }, + { + "pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA=" + }, + { + "pname": "runtime.native.System", + "version": "4.3.0", + "hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y=" + }, + { + "pname": "runtime.native.System.IO.Compression", + "version": "4.3.0", + "hash": "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8=" + }, + { + "pname": "runtime.native.System.Net.Http", + "version": "4.3.0", + "hash": "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg=" + }, + { + "pname": "runtime.native.System.Security.Cryptography.Apple", + "version": "4.3.0", + "hash": "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw=" + }, + { + "pname": "runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I=" + }, + { + "pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM=" + }, + { + "pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4=" + }, + { + "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple", + "version": "4.3.0", + "hash": "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM=" + }, + { + "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0=" + }, + { + "pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4=" + }, + { + "pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g=" + }, + { + "pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc=" + }, + { + "pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw=" + }, + { + "pname": "runtime.unix.Microsoft.Win32.Primitives", + "version": "4.3.0", + "hash": "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg=" + }, + { + "pname": "runtime.unix.System.Console", + "version": "4.3.0", + "hash": "sha256-AHkdKShTRHttqfMjmi+lPpTuCrM5vd/WRy6Kbtie190=" + }, + { + "pname": "runtime.unix.System.Diagnostics.Debug", + "version": "4.3.0", + "hash": "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI=" + }, + { + "pname": "runtime.unix.System.IO.FileSystem", + "version": "4.3.0", + "hash": "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I=" + }, + { + "pname": "runtime.unix.System.Net.Primitives", + "version": "4.3.0", + "hash": "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0=" + }, + { + "pname": "runtime.unix.System.Net.Sockets", + "version": "4.3.0", + "hash": "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4=" + }, + { + "pname": "runtime.unix.System.Private.Uri", + "version": "4.3.0", + "hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs=" + }, + { + "pname": "runtime.unix.System.Runtime.Extensions", + "version": "4.3.0", + "hash": "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4=" + }, + { + "pname": "Sentry", + "version": "4.0.2", + "hash": "sha256-TzsAxAYqB2SdcSl+r92+nd5obgUBW1DCFP/nXzAZE4U=" + }, + { + "pname": "SharpZipLib", + "version": "1.4.2", + "hash": "sha256-/giVqikworG2XKqfN9uLyjUSXr35zBuZ2FX2r8X/WUY=" + }, + { + "pname": "SixLabors.ImageSharp", + "version": "3.1.11", + "hash": "sha256-MlRF+3SGfahbsB1pZGKMOrsfUCx//hCo7ECrXr03DpA=" + }, + { + "pname": "SourceGear.sqlite3", + "version": "3.50.4.2", + "hash": "sha256-NsahZ3lW1JYXMq4NOH5nM/EhdjV05sbrhjsGNIinb+M=" + }, + { + "pname": "SpotifyAPI.Web", + "version": "5.1.1", + "hash": "sha256-QF606/OG5V+Q4CbBWrZz10ggerQskT0rUOAgjffrLOc=" + }, + { + "pname": "Swashbuckle.AspNetCore.Annotations", + "version": "9.0.6", + "hash": "sha256-7mglb4DBSHHmr3WL0zNJ++QwQAD1hx27kOvXqtZNdK0=" + }, + { + "pname": "Swashbuckle.AspNetCore.Swagger", + "version": "9.0.6", + "hash": "sha256-Es+YZz5UXd48GotIqsjBweZmJQzGuhXAzzSdDumNJF8=" + }, + { + "pname": "Swashbuckle.AspNetCore.SwaggerGen", + "version": "9.0.6", + "hash": "sha256-JUNtvIFcP9RavAH/5ke5Jr3vrr0YUsqHbqW45346VK4=" + }, + { + "pname": "System.AppContext", + "version": "4.3.0", + "hash": "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg=" + }, + { + "pname": "System.Buffers", + "version": "4.3.0", + "hash": "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk=" + }, + { + "pname": "System.ClientModel", + "version": "1.5.1", + "hash": "sha256-n4PHKtjmFXo37s5yhfUQ9UbfnWplqHpC+wsvlHxctow=" + }, + { + "pname": "System.Collections", + "version": "4.3.0", + "hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc=" + }, + { + "pname": "System.Collections.Concurrent", + "version": "4.3.0", + "hash": "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI=" + }, + { + "pname": "System.ComponentModel", + "version": "4.3.0", + "hash": "sha256-i00uujMO4JEDIEPKLmdLY3QJ6vdSpw6Gh9oOzkFYBiU=" + }, + { + "pname": "System.ComponentModel.Annotations", + "version": "4.3.0", + "hash": "sha256-zQVRu6SnLS7aKetDaxvo7zAHWLOB7K/mtgs/uaQtYqk=" + }, + { + "pname": "System.ComponentModel.Annotations", + "version": "5.0.0", + "hash": "sha256-0pST1UHgpeE6xJrYf5R+U7AwIlH3rVC3SpguilI/MAg=" + }, + { + "pname": "System.Configuration.ConfigurationManager", + "version": "4.4.0", + "hash": "sha256-+8wGYllXnIxRzy9dLhZFB88GoPj8ivYXS0KUfcivT8I=" + }, + { + "pname": "System.Configuration.ConfigurationManager", + "version": "8.0.1", + "hash": "sha256-2vgU/BBFDOO2506UX6mtuBQ9c2bCShLLhoy67l7418E=" + }, + { + "pname": "System.Console", + "version": "4.3.0", + "hash": "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo=" + }, + { + "pname": "System.Data.SQLite", + "version": "2.0.2", + "hash": "sha256-s++mcixhc+QaQKzdXZ6quK8kH5WWWmU0mESZNNuP/ck=" + }, + { + "pname": "System.Diagnostics.Debug", + "version": "4.3.0", + "hash": "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM=" + }, + { + "pname": "System.Diagnostics.DiagnosticSource", + "version": "4.3.0", + "hash": "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw=" + }, + { + "pname": "System.Diagnostics.DiagnosticSource", + "version": "5.0.0", + "hash": "sha256-6mW3N6FvcdNH/pB58pl+pFSCGWgyaP4hfVtC/SMWDV4=" + }, + { + "pname": "System.Diagnostics.DiagnosticSource", + "version": "6.0.1", + "hash": "sha256-Xi8wrUjVlioz//TPQjFHqcV/QGhTqnTfUcltsNlcCJ4=" + }, + { + "pname": "System.Diagnostics.EventLog", + "version": "6.0.0", + "hash": "sha256-zUXIQtAFKbiUMKCrXzO4mOTD5EUphZzghBYKXprowSM=" + }, + { + "pname": "System.Diagnostics.EventLog", + "version": "8.0.1", + "hash": "sha256-zvqd72pwgcGoa1nH3ZT1C0mP9k53vFLJ69r5MCQ1saA=" + }, + { + "pname": "System.Diagnostics.Tools", + "version": "4.3.0", + "hash": "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y=" + }, + { + "pname": "System.Diagnostics.Tracing", + "version": "4.3.0", + "hash": "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q=" + }, + { + "pname": "System.Drawing.Common", + "version": "8.0.20", + "hash": "sha256-+NEKutfbGO9q1Yig45K1X8n/+gEZOQYNGlXRhbexvzA=" + }, + { + "pname": "System.Formats.Asn1", + "version": "8.0.1", + "hash": "sha256-may/Wg+esmm1N14kQTG4ESMBi+GQKPp0ZrrBo/o6OXM=" + }, + { + "pname": "System.Globalization", + "version": "4.3.0", + "hash": "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI=" + }, + { + "pname": "System.Globalization.Calendars", + "version": "4.3.0", + "hash": "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc=" + }, + { + "pname": "System.Globalization.Extensions", + "version": "4.3.0", + "hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk=" + }, + { + "pname": "System.IdentityModel.Tokens.Jwt", + "version": "7.7.1", + "hash": "sha256-6JfmtdChyt7zd/HKI+/T1HcyesEPx0NNMO/zFJ7lU2c=" + }, + { + "pname": "System.IO", + "version": "4.3.0", + "hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY=" + }, + { + "pname": "System.IO.Abstractions", + "version": "17.0.24", + "hash": "sha256-brEupAGUEu6XdwiGYc3hA3f6nqeFLDIHt4luvOaauUY=" + }, + { + "pname": "System.IO.Abstractions.TestingHelpers", + "version": "17.0.24", + "hash": "sha256-stJ7l5S2UNs6TU/FTI6bEjtkXHateY56qlqHIU3ShBc=" + }, + { + "pname": "System.IO.Compression", + "version": "4.3.0", + "hash": "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA=" + }, + { + "pname": "System.IO.Compression.ZipFile", + "version": "4.3.0", + "hash": "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs=" + }, + { + "pname": "System.IO.FileSystem", + "version": "4.3.0", + "hash": "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw=" + }, + { + "pname": "System.IO.FileSystem.Primitives", + "version": "4.3.0", + "hash": "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg=" + }, + { + "pname": "System.Linq", + "version": "4.3.0", + "hash": "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A=" + }, + { + "pname": "System.Linq.Expressions", + "version": "4.3.0", + "hash": "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8=" + }, + { + "pname": "System.Memory", + "version": "4.6.3", + "hash": "sha256-JgeK63WMmumF6L+FH5cwJgYdpqXrSDcgTQwtIgTHKVU=" + }, + { + "pname": "System.Memory.Data", + "version": "8.0.1", + "hash": "sha256-cxYZL0Trr6RBplKmECv94ORuyjrOM6JB0D/EwmBSisg=" + }, + { + "pname": "System.Net.Http", + "version": "4.3.0", + "hash": "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q=" + }, + { + "pname": "System.Net.NameResolution", + "version": "4.3.0", + "hash": "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c=" + }, + { + "pname": "System.Net.Primitives", + "version": "4.3.0", + "hash": "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE=" + }, + { + "pname": "System.Net.Sockets", + "version": "4.3.0", + "hash": "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus=" + }, + { + "pname": "System.ObjectModel", + "version": "4.3.0", + "hash": "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q=" + }, + { + "pname": "System.Private.Uri", + "version": "4.3.0", + "hash": "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM=" + }, + { + "pname": "System.Reflection", + "version": "4.3.0", + "hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY=" + }, + { + "pname": "System.Reflection.Emit", + "version": "4.3.0", + "hash": "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU=" + }, + { + "pname": "System.Reflection.Emit", + "version": "4.7.0", + "hash": "sha256-Fw/CSRD+wajH1MqfKS3Q/sIrUH7GN4K+F+Dx68UPNIg=" + }, + { + "pname": "System.Reflection.Emit.ILGeneration", + "version": "4.3.0", + "hash": "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA=" + }, + { + "pname": "System.Reflection.Emit.Lightweight", + "version": "4.3.0", + "hash": "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I=" + }, + { + "pname": "System.Reflection.Extensions", + "version": "4.3.0", + "hash": "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk=" + }, + { + "pname": "System.Reflection.Metadata", + "version": "1.6.0", + "hash": "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E=" + }, + { + "pname": "System.Reflection.Primitives", + "version": "4.3.0", + "hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM=" + }, + { + "pname": "System.Reflection.TypeExtensions", + "version": "4.3.0", + "hash": "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng=" + }, + { + "pname": "System.Reflection.TypeExtensions", + "version": "4.7.0", + "hash": "sha256-GEtCGXwtOnkYejSV+Tfl+DqyGq5jTUaVyL9eMupMHBM=" + }, + { + "pname": "System.Resources.ResourceManager", + "version": "4.3.0", + "hash": "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo=" + }, + { + "pname": "System.Runtime", + "version": "4.3.0", + "hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg=" + }, + { + "pname": "System.Runtime.CompilerServices.Unsafe", + "version": "6.0.0", + "hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I=" + }, + { + "pname": "System.Runtime.Extensions", + "version": "4.3.0", + "hash": "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o=" + }, + { + "pname": "System.Runtime.Handles", + "version": "4.3.0", + "hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms=" + }, + { + "pname": "System.Runtime.InteropServices", + "version": "4.3.0", + "hash": "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI=" + }, + { + "pname": "System.Runtime.InteropServices.RuntimeInformation", + "version": "4.3.0", + "hash": "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA=" + }, + { + "pname": "System.Runtime.Loader", + "version": "4.3.0", + "hash": "sha256-syG1GTFjYbwX146BD/L7t55j+DZqpHDc6z28kdSNzx0=" + }, + { + "pname": "System.Runtime.Numerics", + "version": "4.3.0", + "hash": "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc=" + }, + { + "pname": "System.Security.AccessControl", + "version": "5.0.0", + "hash": "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54=" + }, + { + "pname": "System.Security.Claims", + "version": "4.3.0", + "hash": "sha256-Fua/rDwAqq4UByRVomAxMPmDBGd5eImRqHVQIeSxbks=" + }, + { + "pname": "System.Security.Cryptography.Algorithms", + "version": "4.3.0", + "hash": "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8=" + }, + { + "pname": "System.Security.Cryptography.Cng", + "version": "4.3.0", + "hash": "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw=" + }, + { + "pname": "System.Security.Cryptography.Csp", + "version": "4.3.0", + "hash": "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ=" + }, + { + "pname": "System.Security.Cryptography.Encoding", + "version": "4.3.0", + "hash": "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss=" + }, + { + "pname": "System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4=" + }, + { + "pname": "System.Security.Cryptography.Pkcs", + "version": "8.0.1", + "hash": "sha256-KMNIkJ3yQ/5O6WIhPjyAIarsvIMhkp26A6aby5KkneU=" + }, + { + "pname": "System.Security.Cryptography.Primitives", + "version": "4.3.0", + "hash": "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318=" + }, + { + "pname": "System.Security.Cryptography.ProtectedData", + "version": "4.4.0", + "hash": "sha256-Ri53QmFX8I8UH0x4PikQ1ZA07ZSnBUXStd5rBfGWFOE=" + }, + { + "pname": "System.Security.Cryptography.ProtectedData", + "version": "4.5.0", + "hash": "sha256-Z+X1Z2lErLL7Ynt2jFszku6/IgrngO3V1bSfZTBiFIc=" + }, + { + "pname": "System.Security.Cryptography.ProtectedData", + "version": "8.0.0", + "hash": "sha256-fb0pa9sQxN+mr0vnXg1Igbx49CaOqS+GDkTfWNboUvs=" + }, + { + "pname": "System.Security.Cryptography.X509Certificates", + "version": "4.3.0", + "hash": "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0=" + }, + { + "pname": "System.Security.Principal", + "version": "4.3.0", + "hash": "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk=" + }, + { + "pname": "System.Security.Principal.Windows", + "version": "4.3.0", + "hash": "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE=" + }, + { + "pname": "System.Security.Principal.Windows", + "version": "5.0.0", + "hash": "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y=" + }, + { + "pname": "System.ServiceProcess.ServiceController", + "version": "8.0.1", + "hash": "sha256-2cXTzNOyXqJinFPzdVJ9Gu6qrFtycfivu7RHDzBJic8=" + }, + { + "pname": "System.Text.Encoding", + "version": "4.3.0", + "hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg=" + }, + { + "pname": "System.Text.Encoding.CodePages", + "version": "8.0.0", + "hash": "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE=" + }, + { + "pname": "System.Text.Encoding.Extensions", + "version": "4.3.0", + "hash": "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc=" + }, + { + "pname": "System.Text.Json", + "version": "5.0.2", + "hash": "sha256-3eHI5WsaclD9/iV4clLtSAurQxpcJ/qsZA82lkTjoG0=" + }, + { + "pname": "System.Text.Json", + "version": "8.0.6", + "hash": "sha256-qD3WF3jQO9+TLuBWwJhz3iKDArJqcRiy7EdrCQhrtes=" + }, + { + "pname": "System.Text.RegularExpressions", + "version": "4.3.0", + "hash": "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0=" + }, + { + "pname": "System.Threading", + "version": "4.3.0", + "hash": "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc=" + }, + { + "pname": "System.Threading.Tasks", + "version": "4.3.0", + "hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w=" + }, + { + "pname": "System.Threading.Tasks.Extensions", + "version": "4.3.0", + "hash": "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc=" + }, + { + "pname": "System.Threading.ThreadPool", + "version": "4.3.0", + "hash": "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg=" + }, + { + "pname": "System.Threading.Timer", + "version": "4.3.0", + "hash": "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s=" + }, + { + "pname": "System.ValueTuple", + "version": "4.5.0", + "hash": "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI=" + }, + { + "pname": "System.ValueTuple", + "version": "4.6.1", + "hash": "sha256-Hb87MPcNdHQRlREDzFEKU8ZqtKN26bjyAiimJmm6LWI=" + }, + { + "pname": "System.Xml.ReaderWriter", + "version": "4.3.0", + "hash": "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA=" + }, + { + "pname": "System.Xml.XDocument", + "version": "4.3.0", + "hash": "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI=" + }, + { + "pname": "TagLibSharp-Lidarr", + "version": "2.2.0.27", + "hash": "sha256-I9g6BTiY/7ZIpjA2KOFzvZNtGxGeuR+EFiTaxtauzcM=", + "url": "https://pkgs.dev.azure.com/Lidarr/43582661-9ac3-4ec6-9583-209885d5ff34/_packaging/25380ea9-0937-4346-9aa7-9d4a76b7e76c/nuget/v3/flat2/taglibsharp-lidarr/2.2.0.27/taglibsharp-lidarr.2.2.0.27.nupkg" + } +] diff --git a/pkgs/by-name/li/lidarr/package.nix b/pkgs/by-name/li/lidarr/package.nix index 2fe779997930f..e21ab48833c26 100644 --- a/pkgs/by-name/li/lidarr/package.nix +++ b/pkgs/by-name/li/lidarr/package.nix @@ -1,86 +1,175 @@ { lib, - stdenv, - fetchurl, - libmediainfo, + stdenvNoCC, + fetchFromGitHub, + buildDotnetModule, + dotnetCorePackages, sqlite, - curl, - makeWrapper, - icu, - dotnet-runtime, - openssl, + fetchYarnDeps, + yarn, + fixup-yarn-lock, + nodejs, nixosTests, - zlib, + # update script + writers, + python3Packages, + nix, + prefetch-yarn-deps, + applyPatches, }: - let - os = if stdenv.hostPlatform.isDarwin then "osx" else "linux"; - arch = - { - x86_64-linux = "x64"; - aarch64-linux = "arm64"; - x86_64-darwin = "x64"; - aarch64-darwin = "arm64"; - } - ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - hash = - { - x64-linux_hash = "sha256-IPF1rsK5CN4q4GtyVE2uUE79212yqX6k42hm3lO8L6U="; - arm64-linux_hash = "sha256-/1gCHUt3sDEMkEE6vU8wNs/VAxL+exkunWiNSC5MvzY="; - x64-osx_hash = "sha256-e+AiZoLRNv2TFTTtrhQkVr5yL5e9EQJj7nAHhLgJurI="; - arm64-osx_hash = "sha256-724Y8IBvpAeIB07HtqSkXiyQua1jHO0jD3vjWw0kZpc="; - } - ."${arch}-${os}_hash"; + version = "3.1.0.4875"; + # The dotnet8 compatibility patches also change `yarn.lock`, so we must pass + # the already patched lockfile to `fetchYarnDeps`. + src = applyPatches { + src = fetchFromGitHub { + owner = "Lidarr"; + repo = "Lidarr"; + tag = "v${version}"; + hash = "sha256-RCJlToQw96U8seZaD/QCPL1Pn42yw5iXFWGJCHSHwQw="; + }; + postPatch = '' + mv src/NuGet.config NuGet.Config + ''; + }; + rid = dotnetCorePackages.systemToDotnetRid stdenvNoCC.hostPlatform.system; in -stdenv.mkDerivation (finalAttrs: { +buildDotnetModule { pname = "lidarr"; - version = "3.1.0.4875"; + inherit version src; - src = fetchurl { - inherit hash; + strictDeps = true; + nativeBuildInputs = [ + nodejs + yarn + prefetch-yarn-deps + fixup-yarn-lock + ]; - url = "https://github.com/lidarr/Lidarr/releases/download/v${finalAttrs.version}/Lidarr.master.${finalAttrs.version}.${os}-core-${arch}.tar.gz"; + yarnOfflineCache = fetchYarnDeps { + yarnLock = "${src}/yarn.lock"; + hash = "sha256-Jq2O7gvB+PKcz6uDBMg7ox6/Bu+pikXH6JGuLfKG5fI="; }; - nativeBuildInputs = [ makeWrapper ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/{bin,share/${finalAttrs.pname}-${finalAttrs.version}} - cp -r * $out/share/${finalAttrs.pname}-${finalAttrs.version}/. - makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/Lidarr \ - --add-flags "$out/share/${finalAttrs.pname}-${finalAttrs.version}/Lidarr.dll" \ - --prefix LD_LIBRARY_PATH : ${ - lib.makeLibraryPath [ - curl - sqlite - libmediainfo - icu - openssl - zlib - ] - } - - runHook postInstall + postConfigure = '' + yarn config --offline set yarn-offline-mirror "$yarnOfflineCache" + fixup-yarn-lock yarn.lock + yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive + patchShebangs --build node_modules ''; + postBuild = '' + yarn --offline run build --env production + ''; + postInstall = '' + cp -a -- _output/UI "$out/lib/lidarr/UI" + ''; + + nugetDeps = ./deps.json; + + runtimeDeps = [ sqlite ]; + + dotnet-sdk = dotnetCorePackages.sdk_8_0; + dotnet-runtime = dotnetCorePackages.aspnetcore_8_0; + + doCheck = true; + + __darwinAllowLocalNetworking = true; # for tests + + __structuredAttrs = true; # for Copyright property that contains spaces + + executables = [ "Lidarr" ]; + + projectFile = [ + "src/NzbDrone.Console/Lidarr.Console.csproj" + "src/NzbDrone.Mono/Lidarr.Mono.csproj" + ]; + + testProjectFile = [ + "src/NzbDrone.Api.Test/Lidarr.Api.Test.csproj" + "src/NzbDrone.Common.Test/Lidarr.Common.Test.csproj" + "src/NzbDrone.Core.Test/Lidarr.Core.Test.csproj" + "src/NzbDrone.Host.Test/Lidarr.Host.Test.csproj" + "src/NzbDrone.Libraries.Test/Lidarr.Libraries.Test.csproj" + "src/NzbDrone.Mono.Test/Lidarr.Mono.Test.csproj" + "src/NzbDrone.Test.Common/Lidarr.Test.Common.csproj" + ]; + + dotnetFlags = [ + "--property:TargetFramework=net8.0" + "--property:EnableAnalyzers=false" + "--property:SentryUploadSymbols=false" # Fix Sentry upload failed warnings + # Override defaults in src/Directory.Build.props that use current time. + "--property:Copyright=Copyright 2014-2025 lidarr.audio (GNU General Public v3)" + "--property:AssemblyVersion=${version}" + "--property:AssemblyConfiguration=master" + "--property:RuntimeIdentifier=${rid}" + ]; + + # Skip manual, integration, automation and platform-dependent tests. + testFilters = [ + "TestCategory!=ManualTest" + "TestCategory!=IntegrationTest" + "TestCategory!=AutomationTest" + + # makes real HTTP requests + "FullyQualifiedName!~NzbDrone.Core.Test.UpdateTests.UpdatePackageProviderFixture" + "FullyQualifiedName!~NzbDrone.Core.Test.ImportListTests.SpotifyMappingFixture" + "FullyQualifiedName!~NzbDrone.Core.Test.MetadataSource.SkyHook.SkyHookProxyFixture" + "FullyQualifiedName!~NzbDrone.Core.Test.MetadataSource.SkyHook.SkyHookProxySearchFixture" + ] + ++ lib.optionals stdenvNoCC.buildPlatform.isDarwin [ + # fails on macOS + "FullyQualifiedName!~NzbDrone.Core.Test.Http.HttpProxySettingsProviderFixture" + ]; + + disabledTests = [ + # setgid tests + "NzbDrone.Mono.Test.DiskProviderTests.DiskProviderFixture.should_preserve_setgid_on_set_folder_permissions" + "NzbDrone.Mono.Test.DiskProviderTests.DiskProviderFixture.should_clear_setgid_on_set_folder_permissions" + + # we do not set application data directory during tests (i.e. XDG data directory) + "NzbDrone.Mono.Test.DiskProviderTests.FreeSpaceFixture.should_return_free_disk_space" + "NzbDrone.Common.Test.ServiceFactoryFixture.event_handlers_should_be_unique" + + # attempts to read /etc/*release and fails since it does not exist + "NzbDrone.Mono.Test.EnvironmentInfo.ReleaseFileVersionAdapterFixture.should_get_version_info" + + # fails to start test dummy because it cannot locate .NET runtime for some reason + "NzbDrone.Common.Test.ProcessProviderFixture.should_be_able_to_start_process" + "NzbDrone.Common.Test.ProcessProviderFixture.exists_should_find_running_process" + "NzbDrone.Common.Test.ProcessProviderFixture.kill_all_should_kill_all_process_with_name" + ]; passthru = { - updateScript = ./update.sh; - tests.smoke-test = nixosTests.lidarr; + tests = { + inherit (nixosTests) lidarr; + }; + + updateScript = writers.writePython3 "lidarr-updater" { + libraries = with python3Packages; [ requests ]; + flakeIgnore = [ "E501" ]; + makeWrapperArgs = [ + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ + nix + prefetch-yarn-deps + ]) + ]; + } ./update.py; }; meta = { description = "Usenet/BitTorrent music downloader"; - homepage = "https://lidarr.audio/"; - license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ ramonacat ]; - mainProgram = "Lidarr"; - platforms = [ - "x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin" + homepage = "https://lidarr.audio"; + changelog = "https://github.com/Lidarr/Lidarr/releases/tag/v${version}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ + ramonacat + karaolidis ]; + mainProgram = "Lidarr"; + # platforms inherited from dotnet-sdk. }; -}) +} diff --git a/pkgs/by-name/li/lidarr/update.py b/pkgs/by-name/li/lidarr/update.py new file mode 100644 index 0000000000000..2e864e766f288 --- /dev/null +++ b/pkgs/by-name/li/lidarr/update.py @@ -0,0 +1,181 @@ +import json +import os +import pathlib +import requests +import shutil +import subprocess +import sys +import tempfile + + +def replace_in_file(file_path, replacements): + file_contents = pathlib.Path(file_path).read_text() + for old, new in replacements.items(): + if old == new: + continue + updated_file_contents = file_contents.replace(old, new) + # A dumb way to check that we’ve actually replaced the string. + if file_contents == updated_file_contents: + print(f"no string to replace: {old} → {new}", file=sys.stderr) + sys.exit(1) + file_contents = updated_file_contents + with tempfile.NamedTemporaryFile(mode="w") as t: + t.write(file_contents) + t.flush() + shutil.copyfile(t.name, file_path) + + +def nix_hash_to_sri(hash): + return subprocess.run( + [ + "nix", + "--extra-experimental-features", "nix-command", + "hash", + "to-sri", + "--type", "sha256", + "--", + hash, + ], + stdout=subprocess.PIPE, + text=True, + check=True, + ).stdout.rstrip() + + +nixpkgs_path = "." +attr_path = os.getenv("UPDATE_NIX_ATTR_PATH", "lidarr") + +package_attrs = json.loads(subprocess.run( + [ + "nix", + "--extra-experimental-features", "nix-command", + "eval", + "--json", + "--file", nixpkgs_path, + "--apply", """p: { + dir = dirOf p.meta.position; + version = p.version; + sourceHash = p.src.src.outputHash; + yarnHash = p.yarnOfflineCache.outputHash; + }""", + "--", + attr_path, + ], + stdout=subprocess.PIPE, + text=True, + check=True, +).stdout) + +old_version = package_attrs["version"] +new_version = old_version + +# Note that we use Lidarr API instead of GitHub to fetch latest stable release. +# This corresponds to the Updates tab in the web UI. See also +# https://github.com/Lidarr/Lidarr/blob/350860e524029b7fb4165ed14fbcabb11217ada2/src/NzbDrone.Core/Update/UpdatePackageProvider.cs +version_update = requests.get( + f"https://lidarr.servarr.com/v1/update/master?version={old_version}&includeMajorVersion=true", +).json() +if version_update["available"]: + new_version = version_update["updatePackage"]["version"] + +if new_version == old_version: + sys.exit() + +source_nix_hash, source_store_path = subprocess.run( + [ + "nix-prefetch-url", + "--name", "source", + "--unpack", + "--print-path", + f"https://github.com/Lidarr/Lidarr/archive/v{new_version}.tar.gz", + ], + stdout=subprocess.PIPE, + text=True, + check=True, +).stdout.rstrip().split("\n") + +old_source_hash = package_attrs["sourceHash"] +new_source_hash = nix_hash_to_sri(source_nix_hash) + +package_dir = package_attrs["dir"] +package_file_name = "package.nix" +deps_file_name = "deps.json" + +# To update deps.nix, we copy the package to a temporary directory and run +# passthru.fetch-deps script there. +with tempfile.TemporaryDirectory() as work_dir: + package_file = os.path.join(work_dir, package_file_name) + deps_file = os.path.join(work_dir, deps_file_name) + + shutil.copytree(package_dir, work_dir, dirs_exist_ok=True) + + replace_in_file(package_file, { + # NB unlike hashes, versions are likely to be used in code or comments. + # Try to be more specific to avoid false positive matches. + f"version = \"{old_version}\"": f"version = \"{new_version}\"", + old_source_hash: new_source_hash, + }) + + # We need access to the patched and updated src to get the patched + # `yarn.lock`. + patched_src = os.path.join(work_dir, "patched-src") + subprocess.run( + [ + "nix", + "--extra-experimental-features", "nix-command", + "build", + "--impure", + "--nix-path", "", + "--include", f"nixpkgs={nixpkgs_path}", + "--include", f"package={package_file}", + "--expr", "(import { }).callPackage { }", + "--out-link", patched_src, + "src", + ], + check=True, + ) + old_yarn_hash = package_attrs["yarnHash"] + new_yarn_hash = nix_hash_to_sri(subprocess.run( + [ + "prefetch-yarn-deps", + # does not support "--" separator :( + # Also --verbose writes to stdout, yikes. + os.path.join(patched_src, "yarn.lock"), + ], + stdout=subprocess.PIPE, + text=True, + check=True, + ).stdout.rstrip()) + + replace_in_file(package_file, { + old_yarn_hash: new_yarn_hash, + }) + + # Generate nuget-to-json dependency lock file. + fetch_deps = os.path.join(work_dir, "fetch-deps") + subprocess.run( + [ + "nix", + "--extra-experimental-features", "nix-command", + "build", + "--impure", + "--nix-path", "", + "--include", f"nixpkgs={nixpkgs_path}", + "--include", f"package={package_file}", + "--expr", "(import { }).callPackage { }", + "--out-link", fetch_deps, + "passthru.fetch-deps", + ], + check=True, + ) + subprocess.run( + [ + fetch_deps, + deps_file, + ], + stdout=subprocess.DEVNULL, + check=True, + ) + + shutil.copy(deps_file, os.path.join(package_dir, deps_file_name)) + shutil.copy(package_file, os.path.join(package_dir, package_file_name)) diff --git a/pkgs/by-name/li/lidarr/update.sh b/pkgs/by-name/li/lidarr/update.sh deleted file mode 100755 index c8cbca5bc0895..0000000000000 --- a/pkgs/by-name/li/lidarr/update.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl gnused nix-prefetch jq - -set -euo pipefail - -dirname="$(dirname "$(readlink -f "$0")")" - -updateHash() { - local version arch os - version="$1" - arch="$2" - os="$3" - - local url hash sriHash - url="https://github.com/Lidarr/Lidarr/releases/download/v$version/Lidarr.master.$version.$os-core-$arch.tar.gz" - hash="$(nix-prefetch-url --type sha256 "$url")" - sriHash="$(nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 "$hash")" - - local hashKey="${arch}-${os}_hash" - sed -i "s|$hashKey = \"[a-zA-Z0-9\/+-=]*\";|$hashKey = \"$sriHash\";|g" "$dirname/package.nix" -} - -updateVersion() { - sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/package.nix" -} - -latestTag=$(curl https://api.github.com/repos/Lidarr/Lidarr/releases/latest | jq -r ".tag_name") -latestVersion="$(expr "$latestTag" : 'v\(.*\)')" - -updateVersion "$latestVersion" - -updateHash "$latestVersion" x64 linux -updateHash "$latestVersion" arm64 linux -updateHash "$latestVersion" x64 osx -updateHash "$latestVersion" arm64 osx diff --git a/pkgs/by-name/li/linux-manual/package.nix b/pkgs/by-name/li/linux-manual/package.nix index d16ed1c9e82f6..d42d30fe531ab 100644 --- a/pkgs/by-name/li/linux-manual/package.nix +++ b/pkgs/by-name/li/linux-manual/package.nix @@ -2,7 +2,6 @@ lib, stdenv, linuxPackages_latest, - perl, python3, man, }: @@ -11,39 +10,35 @@ stdenv.mkDerivation { pname = "linux-manual"; inherit (linuxPackages_latest.kernel) version src; - nativeBuildInputs = [ - perl - python3 - ]; + nativeBuildInputs = [ python3 ]; nativeInstallCheckInputs = [ man ]; dontConfigure = true; - dontBuild = true; doInstallCheck = true; postPatch = '' - # Use scripts/kernel-doc.py here, not scripts/kernel-doc because - # patchShebangs skips symlinks - + # Releases up to including 6.19.3 still use scripts/kernel-doc.py, but it + # has been moved to tools/docs with 7.0-rc1. patchShebangs --build \ - scripts/kernel-doc.py \ - scripts/split-man.pl + tools/docs \ + scripts/kernel-doc.py + ''; + + buildPhase = '' + runHook preBuild + + # avoid Makefile because it checks for unnecessary Python dependencies + KBUILD_BUILD_TIMESTAMP="$(date -u -d "@$SOURCE_DATE_EPOCH")" \ + tools/docs/sphinx-build-wrapper mandocs + + runHook postBuild ''; installPhase = '' runHook preInstall - export mandir="$out/share/man/man9" - mkdir -p "$mandir" - - KBUILD_BUILD_TIMESTAMP="$(date -u -d "@$SOURCE_DATE_EPOCH")" \ - grep -F -l -Z \ - --exclude-dir Documentation \ - --exclude-dir tools \ - -R '/**' \ - | xargs -0 -n 256 -P "$NIX_BUILD_CORES" \ - "$SHELL" -c '{ scripts/kernel-doc -man "$@" || :; } \ - | scripts/split-man.pl "$mandir"' kernel-doc + mkdir -p "$out/share/man" + cp -r output/man "$out/share/man/man9" runHook postInstall ''; diff --git a/pkgs/by-name/li/lis/package.nix b/pkgs/by-name/li/lis/package.nix new file mode 100644 index 0000000000000..bc02a046a6b78 --- /dev/null +++ b/pkgs/by-name/li/lis/package.nix @@ -0,0 +1,31 @@ +{ + lib, + stdenv, + fetchzip, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "lis"; + version = "2.1.10"; + + src = fetchzip { + url = "https://www.ssisc.org/lis/dl/lis-${finalAttrs.version}.zip"; + hash = "sha256-rRtme4ItbvL8xGBSeoCD5f+INPPhmlON8cVt+q+puSc="; + }; + + enableParallelBuilding = true; + + meta = { + homepage = "https://www.ssisc.org/lis/"; + description = "Library of Iterative Solvers for linear systems"; + longDescription = '' + Lis (Library of Iterative Solvers for linear systems, pronounced [lis]) + is a parallel software library to solve discretized linear equations and + eigenvalue problems that arise from the numerical solution of + partial differential equations using iterative methods. + ''; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ neural-blade ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/li/listmonk/email-builder.nix b/pkgs/by-name/li/listmonk/email-builder.nix new file mode 100644 index 0000000000000..50715aff28cfb --- /dev/null +++ b/pkgs/by-name/li/listmonk/email-builder.nix @@ -0,0 +1,37 @@ +{ + stdenv, + fetchYarnDeps, + yarnConfigHook, + yarnBuildHook, + nodejs, + src, + version, + meta, +}: + +stdenv.mkDerivation { + pname = "listmonk-email-builder"; + inherit version; + + src = "${src}/frontend/email-builder"; + + offlineCache = fetchYarnDeps { + yarnLock = "${src}/frontend/email-builder/yarn.lock"; + hash = "sha256-glt7tMfP3x0Mr/hFG1t6TfwVJ+yZ551jeZK2UPIKI8g="; + }; + + nativeBuildInputs = [ + yarnConfigHook + yarnBuildHook + nodejs + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out + cp -R dist/* $out + runHook postInstall + ''; + + inherit meta; +} diff --git a/pkgs/by-name/li/listmonk/package.nix b/pkgs/by-name/li/listmonk/package.nix index 21df027a90768..d43306c0f926d 100644 --- a/pkgs/by-name/li/listmonk/package.nix +++ b/pkgs/by-name/li/listmonk/package.nix @@ -49,6 +49,7 @@ buildGoModule (finalAttrs: { "${finalAttrs.passthru.frontend}/altcha.umd.js:/public/static/altcha.umd.js" "static/email-templates" "${finalAttrs.passthru.frontend}/admin:/admin" + "${finalAttrs.passthru.email-builder}:/admin/static/email-builder" "i18n:/i18n" ]; in @@ -59,11 +60,14 @@ buildGoModule (finalAttrs: { passthru = { frontend = callPackage ./frontend.nix { inherit (finalAttrs) meta version src; }; + email-builder = callPackage ./email-builder.nix { inherit (finalAttrs) meta version src; }; tests = { inherit (nixosTests) listmonk; }; updateScript = nix-update-script { extraArgs = [ "-s" "frontend" + "-s" + "email-builder" ]; }; }; diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix index fc4ab03f1a8ad..d0ddc88eb3d6e 100644 --- a/pkgs/by-name/ll/llama-cpp/package.nix +++ b/pkgs/by-name/ll/llama-cpp/package.nix @@ -78,7 +78,7 @@ let in effectiveStdenv.mkDerivation (finalAttrs: { pname = "llama-cpp"; - version = "8069"; + version = "8124"; outputs = [ "out" @@ -89,7 +89,7 @@ effectiveStdenv.mkDerivation (finalAttrs: { owner = "ggml-org"; repo = "llama.cpp"; tag = "b${finalAttrs.version}"; - hash = "sha256-/hfczIFTW+VyCCs7oM2a6VmPh24wiZ8P3fQZTfd9jA8="; + hash = "sha256-RyYHk4IaxT23GUn9vvGZqKXoprpY7bMNSoOq0b9VFXM="; leaveDotGit = true; postFetch = '' git -C "$out" rev-parse --short HEAD > $out/COMMIT @@ -125,7 +125,7 @@ effectiveStdenv.mkDerivation (finalAttrs: { ++ [ openssl ]; npmRoot = "tools/server/webui"; - npmDepsHash = "sha256-bbv0e3HZmqpFwKELiEFBgoMr72jKbsX20eceH4XjfBA="; + npmDepsHash = "sha256-FKjoZTKm0ddoVdpxzYrRUmTiuafEfbKc4UD2fz2fb8A="; npmDeps = fetchNpmDeps { name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps"; inherit (finalAttrs) src patches; diff --git a/pkgs/by-name/lm/lmstudio/darwin.nix b/pkgs/by-name/lm/lmstudio/darwin.nix index f18a880feabe4..2c8b21418e68e 100644 --- a/pkgs/by-name/lm/lmstudio/darwin.nix +++ b/pkgs/by-name/lm/lmstudio/darwin.nix @@ -2,6 +2,7 @@ stdenv, fetchurl, undmg, + darwin, meta, pname, version, @@ -16,7 +17,10 @@ stdenv.mkDerivation { inherit url hash; }; - nativeBuildInputs = [ undmg ]; + nativeBuildInputs = [ + undmg + darwin.sigtool + ]; sourceRoot = "."; @@ -24,6 +28,19 @@ stdenv.mkDerivation { runHook preInstall mkdir -p $out/Applications cp -r *.app $out/Applications + + # Bypass the /Applications path check in the main index.js + # LM Studio verifies the app is running from /Applications and shows an + # error dialog + refuses to auto-update if not. Replace the '/Applications' + # string literal with '/' so that any absolute path (e.g. /nix/store/...) + # passes the startsWith check. This works across obfuscated versions because + # the literal string '/Applications' is stable even when variable names change. + local indexJs="$out/Applications/LM Studio.app/Contents/Resources/app/.webpack/main/index.js" + substituteInPlace "$indexJs" --replace-quiet "'/Applications'" "'/'" + + # Re-sign the app bundle after patching, otherwise macOS reports it as damaged + codesign --force --deep --sign - "$out/Applications/LM Studio.app" + runHook postInstall ''; diff --git a/pkgs/by-name/lm/lmstudio/package.nix b/pkgs/by-name/lm/lmstudio/package.nix index 62fc10afcfd6b..eeed9c1ac5fa0 100644 --- a/pkgs/by-name/lm/lmstudio/package.nix +++ b/pkgs/by-name/lm/lmstudio/package.nix @@ -7,10 +7,10 @@ let pname = "lmstudio"; - version_aarch64-darwin = "0.4.2-2"; - hash_aarch64-darwin = "sha256-JadulYyHiXK+sQdp7Y6m5lQkkPkzut9O9Lc9kcW7bR4="; - version_x86_64-linux = "0.4.2-2"; - hash_x86_64-linux = "sha256-JxGlqgsuLcW81mOIcntVFSHv19zSFouIChgz/egc+J0="; + version_aarch64-darwin = "0.4.5-2"; + hash_aarch64-darwin = "sha256-mSszzDsoXv2D9Ky3K/P2Nn/mixq3HzGMonS1I4mz5+s="; + version_x86_64-linux = "0.4.5-2"; + hash_x86_64-linux = "sha256-G+swwY9ff0Mqbdu8ZRbgm5KHrPhnOAaOYvH3dEVZ1+A="; meta = { description = "LM Studio is an easy to use desktop app for experimenting with local and open-source Large Language Models (LLMs)"; @@ -23,7 +23,6 @@ let "aarch64-darwin" ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - broken = stdenv.hostPlatform.isDarwin; # Upstream issue: https://github.com/lmstudio-ai/lmstudio-bug-tracker/issues/347 }; in if stdenv.hostPlatform.isDarwin then diff --git a/pkgs/by-name/lo/logstalgia/package.nix b/pkgs/by-name/lo/logstalgia/package.nix index 4ef0ea836bf18..fae6ef8971b95 100644 --- a/pkgs/by-name/lo/logstalgia/package.nix +++ b/pkgs/by-name/lo/logstalgia/package.nix @@ -4,6 +4,7 @@ fetchurl, SDL2, ftgl, + autoreconfHook, pkg-config, libpng, libjpeg, @@ -27,7 +28,18 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-wEnv9AXpJANSIu2ya8xse18AoIkmq9t7Rn4kSSQnkKk="; }; - nativeBuildInputs = [ pkg-config ]; + postPatch = '' + # Fix build with boost 1.89 + rm m4/ax_boost_system.m4 + substituteInPlace configure.ac \ + --replace-fail "AX_BOOST_SYSTEM" "" + ''; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ glew SDL2 diff --git a/pkgs/by-name/lu/luau/package.nix b/pkgs/by-name/lu/luau/package.nix index 1e8658ccd0e67..b163a64f69f6f 100644 --- a/pkgs/by-name/lu/luau/package.nix +++ b/pkgs/by-name/lu/luau/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "luau"; - version = "0.708"; + version = "0.709"; src = fetchFromGitHub { owner = "luau-lang"; repo = "luau"; tag = finalAttrs.version; - hash = "sha256-mGBwpu7KGCcwmLsx+Nv5xSaHxbAosB6P1x1IEz8/PHg="; + hash = "sha256-qqexX0d/YFBbn/l59l3OI7KMpwScAtdmeJbGWk8ZEuE="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/lu/lubelogger/package.nix b/pkgs/by-name/lu/lubelogger/package.nix index 4e9519eb096f1..9a4a21b4a9f7c 100644 --- a/pkgs/by-name/lu/lubelogger/package.nix +++ b/pkgs/by-name/lu/lubelogger/package.nix @@ -7,13 +7,13 @@ buildDotnetModule rec { pname = "lubelogger"; - version = "1.6.0"; + version = "1.6.1"; src = fetchFromGitHub { owner = "hargata"; repo = "lubelog"; rev = "v${version}"; - hash = "sha256-EVW14IkUO+qMDZLF6TghY3FYiyeMKJifGpa9Vt15OkU="; + hash = "sha256-0PjIRf8M4wmn2zm7I9P1o8Zp2CRgZHxt5p6L8bTqJbE="; }; projectFile = "CarCareTracker.sln"; diff --git a/pkgs/by-name/lu/lunacy/package.nix b/pkgs/by-name/lu/lunacy/package.nix index 3a313604b5314..c5311735b0817 100644 --- a/pkgs/by-name/lu/lunacy/package.nix +++ b/pkgs/by-name/lu/lunacy/package.nix @@ -20,11 +20,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "lunacy"; - version = "11.6"; + version = "12.3"; src = fetchurl { url = "https://lcdn.icons8.com/setup/Lunacy_${finalAttrs.version}.deb"; - hash = "sha256-VDd2qBNjCyfOy3vZFaVc3BI8zhQmzEIxYDNws7DIYCc="; + hash = "sha256-Sa6LnB+YGkHpNpETjGHYUChCFu6Ginz+VQO8dPKVRBE="; }; buildInputs = [ diff --git a/pkgs/by-name/lx/lxc/package.nix b/pkgs/by-name/lx/lxc/package.nix index 090e63f654c53..8f61c9b45a7d0 100644 --- a/pkgs/by-name/lx/lxc/package.nix +++ b/pkgs/by-name/lx/lxc/package.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "lxc"; - version = "6.0.5"; + version = "6.0.6"; src = fetchFromGitHub { owner = "lxc"; repo = "lxc"; tag = "v${finalAttrs.version}"; - hash = "sha256-bnvKSs7w1cq3vP2BzX4kfDrGUIFhU4Fnu5pM81jPVQ8="; + hash = "sha256-DaKyaBfxO67L7zzOAYWSiYTAIILtdF4Ij7EXr+SAXVs="; }; nativeBuildInputs = [ @@ -94,16 +94,12 @@ stdenv.mkDerivation (finalAttrs: { lxc = nixosTests.lxc; }; - updateScript = nix-update-script { - extraArgs = [ - "--version-regex" - "v(6\\.0\\.*)" - ]; - }; + updateScript = nix-update-script { }; }; meta = { - homepage = "https://linuxcontainers.org/"; + homepage = "https://linuxcontainers.org/lxc/"; + changelog = "https://github.com/lxc/lxc/releases/tag/v${finalAttrs.version}"; description = "Userspace tools for Linux Containers, a lightweight virtualization system"; license = lib.licenses.gpl2; diff --git a/pkgs/by-name/lx/lxcfs/package.nix b/pkgs/by-name/lx/lxcfs/package.nix index 63a8597bf885c..59ea2ea6da7d7 100644 --- a/pkgs/by-name/lx/lxcfs/package.nix +++ b/pkgs/by-name/lx/lxcfs/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "lxcfs"; - version = "6.0.5"; + version = "6.0.6"; src = fetchFromGitHub { owner = "lxc"; repo = "lxcfs"; tag = "v${finalAttrs.version}"; - hash = "sha256-mRTM06QyWcB4XOi0w2qvyDABGuu1SPJX0gjlBktDOac="; + hash = "sha256-lEXXbYDxnOi4Xa/fO1Uy/aVLjVfzYeZm6qzR4XBMBsY="; }; patches = [ @@ -85,7 +85,7 @@ stdenv.mkDerivation (finalAttrs: { description = "FUSE filesystem for LXC"; mainProgram = "lxcfs"; homepage = "https://linuxcontainers.org/lxcfs"; - changelog = "https://linuxcontainers.org/lxcfs/news/"; + changelog = "https://github.com/lxc/lxcfs/releases/tag/v${finalAttrs.version}"; license = lib.licenses.asl20; platforms = lib.platforms.linux; teams = [ lib.teams.lxc ]; diff --git a/pkgs/by-name/lx/lxgw-neoxihei/package.nix b/pkgs/by-name/lx/lxgw-neoxihei/package.nix index b59708eab9593..f081d773228a8 100644 --- a/pkgs/by-name/lx/lxgw-neoxihei/package.nix +++ b/pkgs/by-name/lx/lxgw-neoxihei/package.nix @@ -6,11 +6,11 @@ stdenvNoCC.mkDerivation rec { pname = "lxgw-neoxihei"; - version = "1.241"; + version = "1.242"; src = fetchurl { url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf"; - hash = "sha256-9yyOumwZ9Veh0GwHR9sFpsCn1dLNN1e16ML2crGZxCY="; + hash = "sha256-ASRBAmlDa2QmNXO6t/uXrqw9rZMgednoxCcIxqEzC/g="; }; dontUnpack = true; diff --git a/pkgs/by-name/ly/lycheeslicer/package.nix b/pkgs/by-name/ly/lycheeslicer/package.nix index 7bd68f32957fc..6b1e6d5e868b4 100644 --- a/pkgs/by-name/ly/lycheeslicer/package.nix +++ b/pkgs/by-name/ly/lycheeslicer/package.nix @@ -22,7 +22,7 @@ let comment = "All-in-one 3D slicer for Resin and Filament"; desktopName = "LycheeSlicer"; noDisplay = false; - exec = "lychee"; + exec = "lycheeslicer"; terminal = false; mimeTypes = [ "model/stl" ]; categories = [ "Graphics" ]; diff --git a/pkgs/by-name/ma/mailcap/package.nix b/pkgs/by-name/ma/mailcap/package.nix index 03a5c011d3d3b..aa234c7471c88 100644 --- a/pkgs/by-name/ma/mailcap/package.nix +++ b/pkgs/by-name/ma/mailcap/package.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Helper application and MIME type associations for file types"; homepage = "https://pagure.io/mailcap"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ c0bw3b ]; + maintainers = [ ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/ma/mailpit/package.nix b/pkgs/by-name/ma/mailpit/package.nix index 4b0341c59ee2e..2f83a2a169dd6 100644 --- a/pkgs/by-name/ma/mailpit/package.nix +++ b/pkgs/by-name/ma/mailpit/package.nix @@ -1,17 +1,19 @@ { lib, stdenv, + fetchFromGitHub, buildGoModule, + fetchNpmDeps, + npmHooks, nodejs, + python3, libtool, cctools, - npmHooks, - fetchFromGitHub, - fetchNpmDeps, - testers, + mailpit, nixosTests, + testers, }: let @@ -43,6 +45,9 @@ let hash = source.npmDepsHash; }; + # error "C++20 or later required." for dependency node_modules/tree-sitter + env.NIX_CFLAGS_COMPILE = "-std=c++20"; + nativeBuildInputs = [ nodejs python3 @@ -61,7 +66,7 @@ let in -buildGoModule { +buildGoModule (finalAttrs: { pname = "mailpit"; inherit src version vendorHash; @@ -69,33 +74,44 @@ buildGoModule { ldflags = [ "-s" - "-w" "-X github.com/axllent/mailpit/config.Version=${version}" ]; preBuild = '' - cp -r ${ui} server/ui/dist + cp -r ${finalAttrs.passthru.ui} server/ui/dist ''; - passthru.tests = { - inherit (nixosTests) mailpit; - version = testers.testVersion { - package = mailpit; - command = "mailpit version --no-release-check"; + passthru = { + tests = { + inherit (nixosTests) mailpit; + # cannot use versionCheckHook due to the extra --no-release-check flag + # for workarounds and other solutions see https://github.com/NixOS/nixpkgs/pull/486143#discussion_r2754533347 + version = testers.testVersion { + package = mailpit; + command = "mailpit version --no-release-check"; + }; + }; + + updateScript = { + supportedFeatures = [ "commit" ]; + command = ./update.sh; }; - }; - passthru.updateScript = { - supportedFeatures = [ "commit" ]; - command = ./update.sh; + inherit ui; }; + __darwinAllowLocalNetworking = true; + meta = { - description = "Email and SMTP testing tool with API for developers"; - homepage = "https://github.com/axllent/mailpit"; changelog = "https://github.com/axllent/mailpit/releases/tag/v${version}"; - maintainers = with lib.maintainers; [ stephank ]; + description = "Email and SMTP testing tool with API for developers"; + downloadPage = "https://github.com/axllent/mailpit"; + homepage = "https://mailpit.axllent.org"; license = lib.licenses.mit; mainProgram = "mailpit"; + maintainers = with lib.maintainers; [ + stephank + phanirithvij + ]; }; -} +}) diff --git a/pkgs/by-name/ma/mailpit/source.nix b/pkgs/by-name/ma/mailpit/source.nix index a564becc52c24..61fbe3252bf2f 100644 --- a/pkgs/by-name/ma/mailpit/source.nix +++ b/pkgs/by-name/ma/mailpit/source.nix @@ -1,6 +1,6 @@ { - version = "1.28.3"; - hash = "sha256-5QfGfEevV/8Epmh7cSHwB11J6wmpXzXHsPCrDms1bAo="; - npmDepsHash = "sha256-zyEk7OcaN8ikJFvSzIIVvTKICi8GtekT4FB2YDHzo3o="; - vendorHash = "sha256-yx7L7evEt0p/U8H+gNGl1sx/JZ5qg+0fInFjZK8xdp4="; + version = "1.29.2"; + hash = "sha256-6kmxf57GOtXNPYNyvTTsklfwbjmIDmKapcOXJc6eLRk="; + npmDepsHash = "sha256-DVNQe1o2yOUkZ7789nW2cV/YCpUT6ibhWK7hZlWp6tw="; + vendorHash = "sha256-oHAB4V/6i+Pez7Qe9fzRKvIXqEMIsOfeFpnBRQwYv0U="; } diff --git a/pkgs/by-name/ma/makemkv/package.nix b/pkgs/by-name/ma/makemkv/package.nix index d41778ef3915b..6d4ffd64d016e 100644 --- a/pkgs/by-name/ma/makemkv/package.nix +++ b/pkgs/by-name/ma/makemkv/package.nix @@ -2,6 +2,7 @@ autoPatchelfHook, common-updater-scripts, curl, + expat, fetchurl, ffmpeg, lib, @@ -51,6 +52,7 @@ stdenv.mkDerivation ( qt5.wrapQtAppsHook ]; buildInputs = [ + expat ffmpeg openssl qt5.qtbase diff --git a/pkgs/by-name/ma/mame/package.nix b/pkgs/by-name/ma/mame/package.nix index 25e87769bca5f..e2a9e2aa9030c 100644 --- a/pkgs/by-name/ma/mame/package.nix +++ b/pkgs/by-name/ma/mame/package.nix @@ -36,14 +36,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "mame"; - version = "0.285"; + version = "0.286"; srcVersion = builtins.replaceStrings [ "." ] [ "" ] finalAttrs.version; src = fetchFromGitHub { owner = "mamedev"; repo = "mame"; rev = "mame${finalAttrs.srcVersion}"; - hash = "sha256-vuGQ1VOjIAEopV4X+qP1k+bgH7lJJLZ9RtYevUxgIQg="; + hash = "sha256-NsCW8cFSaCW85iXmCro5mj3xTlKUM/nE0nBF92UZAeQ="; }; outputs = [ diff --git a/pkgs/by-name/ma/manifold/package.nix b/pkgs/by-name/ma/manifold/package.nix index 6e008987a82d0..1d6cc8a606775 100644 --- a/pkgs/by-name/ma/manifold/package.nix +++ b/pkgs/by-name/ma/manifold/package.nix @@ -5,27 +5,25 @@ cmake, clipper2, gtest, - glm, onetbb, python3Packages, }: stdenv.mkDerivation (finalAttrs: { pname = "manifold"; - version = "3.3.2"; + version = "3.4.0"; src = fetchFromGitHub { owner = "elalish"; repo = "manifold"; tag = "v${finalAttrs.version}"; - hash = "sha256-583/phb0boc5ASFJN+DDn6bogeNPVYPBTgtcD/d/AS8="; + hash = "sha256-9h1MLEcqLpiFg8U5rRkR9Qa+ohzehEDCn5rNsN6swlQ="; }; nativeBuildInputs = [ cmake ]; buildInputs = [ gtest - glm onetbb ]; @@ -38,13 +36,11 @@ stdenv.mkDerivation (finalAttrs: { "-DMANIFOLD_PAR=TBB" ]; - excludedTestPatterns = lib.optionals stdenv.isDarwin [ - # https://github.com/elalish/manifold/issues/1306 - "Manifold.Simplify" + excludedTestPatterns = [ ]; doCheck = true; checkPhase = '' - test/manifold_test --gtest_filter=-${builtins.concatStringsSep ":" finalAttrs.excludedTestPatterns} + test/manifold_test --gtest_filter=-${lib.escapeShellArg (builtins.concatStringsSep ":" finalAttrs.excludedTestPatterns)} ''; passthru = { diff --git a/pkgs/by-name/ma/markitdown-mcp/package.nix b/pkgs/by-name/ma/markitdown-mcp/package.nix index ac733901f778f..460815412b07a 100644 --- a/pkgs/by-name/ma/markitdown-mcp/package.nix +++ b/pkgs/by-name/ma/markitdown-mcp/package.nix @@ -7,14 +7,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "markitdown-mcp"; - version = "0.1.5b1"; + version = "0.1.5"; pyproject = true; src = fetchFromGitHub { owner = "microsoft"; repo = "markitdown"; tag = "v${finalAttrs.version}"; - hash = "sha256-twZEkUih76QEl2dkh81eCBnfX/+tKAHI9wDyCkjfOsQ="; + hash = "sha256-sqWfft/yaI/0FavhIbAHqltgVfTNk0GJk/phyvdn7Ck="; }; sourceRoot = "${finalAttrs.src.name}/packages/markitdown-mcp"; diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/by-name/ma/mastodon/gemset.nix similarity index 100% rename from pkgs/servers/mastodon/gemset.nix rename to pkgs/by-name/ma/mastodon/gemset.nix diff --git a/pkgs/servers/mastodon/missing-hashes.json b/pkgs/by-name/ma/mastodon/missing-hashes.json similarity index 100% rename from pkgs/servers/mastodon/missing-hashes.json rename to pkgs/by-name/ma/mastodon/missing-hashes.json diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/by-name/ma/mastodon/package.nix similarity index 95% rename from pkgs/servers/mastodon/default.nix rename to pkgs/by-name/ma/mastodon/package.nix index e192d55d6b40f..b6bdd426d2ea8 100644 --- a/pkgs/servers/mastodon/default.nix +++ b/pkgs/by-name/ma/mastodon/package.nix @@ -1,15 +1,15 @@ { lib, stdenv, - nodejs-slim, + nodejs-slim_22, bundlerEnv, nixosTests, - yarn-berry, + yarn-berry_4, callPackage, - ruby, + ruby_3_3, writeShellScript, brotli, - python3, + python311, # Allow building a fork or custom version of Mastodon: pname ? "mastodon", @@ -21,6 +21,12 @@ yarnHash ? srcOverride.yarnHash, yarnMissingHashes ? srcOverride.yarnMissingHashes, }: +let + nodejs-slim = nodejs-slim_22; + python3 = python311; + ruby = ruby_3_3; + yarn-berry = yarn-berry_4.override { nodejs = nodejs-slim; }; +in stdenv.mkDerivation rec { inherit pname version; diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/by-name/ma/mastodon/source.nix similarity index 83% rename from pkgs/servers/mastodon/source.nix rename to pkgs/by-name/ma/mastodon/source.nix index 70bba321fca58..6c578b2d09303 100644 --- a/pkgs/servers/mastodon/source.nix +++ b/pkgs/by-name/ma/mastodon/source.nix @@ -5,14 +5,14 @@ patches ? [ ], }: let - version = "4.5.6"; + version = "4.5.7"; in applyPatches { src = fetchFromGitHub { owner = "mastodon"; repo = "mastodon"; rev = "v${version}"; - hash = "sha256-m2LDNyv2jxsp5zPKOfQWvtBG8bD8iuBWBEoz+L0OvNk="; + hash = "sha256-+JRoUtRI7vTQG8eLpJxMhQMAR2FeIzGfJtR9pj0sW3A="; passthru = { inherit version; yarnHash = "sha256-2MOl6kHidkGU2I/cZaUmbQCiEl9SDfL/j9fT/6eNdFA="; diff --git a/pkgs/servers/mastodon/update.sh b/pkgs/by-name/ma/mastodon/update.sh similarity index 100% rename from pkgs/servers/mastodon/update.sh rename to pkgs/by-name/ma/mastodon/update.sh diff --git a/pkgs/by-name/ma/matrix-authentication-service/package.nix b/pkgs/by-name/ma/matrix-authentication-service/package.nix index f1a808f736c1a..97fe5df6fdd63 100644 --- a/pkgs/by-name/ma/matrix-authentication-service/package.nix +++ b/pkgs/by-name/ma/matrix-authentication-service/package.nix @@ -18,21 +18,21 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "matrix-authentication-service"; - version = "1.11.0"; + version = "1.12.0"; src = fetchFromGitHub { owner = "element-hq"; repo = "matrix-authentication-service"; tag = "v${finalAttrs.version}"; - hash = "sha256-vP/4QzsuA+guUBNFJWytdPiAuHh5+D+UMpRwb/9Lbxc="; + hash = "sha256-fHAho52KO43Vot+JliR80glC0AY1cqZzz/ZxecGk9P8="; }; - cargoHash = "sha256-MLWjY+Rw4PkKb1zqZaDGpGsKPlGTDNpPRzyz/w1HfZ0="; + cargoHash = "sha256-H8ZXf8h7JWhhDTjOJSIBtc2R2Cdlt9+3wJpJrxAnQ8o="; npmDeps = fetchNpmDeps { name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps"; src = "${finalAttrs.src}/${finalAttrs.npmRoot}"; - hash = "sha256-CXS5o1qYXPS5armoT9jLq4vv5ni3hht3ZCMXtNAGBQY="; + hash = "sha256-LiuAlyZerLQgOAl7n2MnDQrRFg7aQTncB1iXtnSOLzc="; }; npmRoot = "frontend"; diff --git a/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix b/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix index 3d88c5900e661..edded182be566 100644 --- a/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix +++ b/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix @@ -14,19 +14,19 @@ python3Packages.buildPythonApplication rec { pname = "matrix-synapse"; - version = "1.147.1"; + version = "1.148.0"; pyproject = true; src = fetchFromGitHub { owner = "element-hq"; repo = "synapse"; rev = "v${version}"; - hash = "sha256-PD+XyUk1DyhqQ100uJYwXdT6FjhRXuafajH0TM8zJOI="; + hash = "sha256-MQOjuVBxwOKO11wc/FafqndI0QgZT3jaigpjRsJXxRA="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-nB7gLPDK8sB65xZkTn5W4MCqx4QwWKDUr8hB8KIu0qY="; + hash = "sha256-LKO4Qa81AeUxEcUdvm43Bc8ANJJqtYEv5ucV0743yy0="; }; build-system = diff --git a/pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/ldap3.nix b/pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/ldap3.nix index a5ffbdf837f22..15d61ad96b6b7 100644 --- a/pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/ldap3.nix +++ b/pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/ldap3.nix @@ -5,6 +5,7 @@ ldap3, ldaptor, matrix-synapse-unwrapped, + packaging, pytestCheckHook, service-identity, setuptools, @@ -21,11 +22,17 @@ buildPythonPackage rec { hash = "sha256-i7ZRcXMWTUucxE9J3kEdjOvbLnBdXdHqHzhzPEoAnh0="; }; + patches = [ + # https://github.com/matrix-org/matrix-synapse-ldap3/pull/200 + ./setuptools-pkg_resources.patch + ]; + build-system = [ setuptools ]; dependencies = [ service-identity ldap3 + packaging twisted ]; diff --git a/pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/setuptools-pkg_resources.patch b/pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/setuptools-pkg_resources.patch new file mode 100644 index 0000000000000..32a79c6193ecd --- /dev/null +++ b/pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/setuptools-pkg_resources.patch @@ -0,0 +1,24 @@ +From a879613c79861597525cdbab0d53dc4672c9a5a1 Mon Sep 17 00:00:00 2001 +From: Timotheus Pokorra +Date: Wed, 11 Feb 2026 06:54:10 +0100 +Subject: [PATCH] Replace pkg_resources.parse_version with + packaging.version.parse + +fixes #199 +--- + ldap_auth_provider.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ldap_auth_provider.py b/ldap_auth_provider.py +index 25dd81b..1f1c9ef 100644 +--- a/ldap_auth_provider.py ++++ b/ldap_auth_provider.py +@@ -21,7 +21,7 @@ + import ldap3 + import ldap3.core.exceptions + import synapse +-from pkg_resources import parse_version ++from packaging.version import parse as parse_version + from synapse.module_api import ModuleApi + from synapse.types import JsonDict + from twisted.internet import threads diff --git a/pkgs/by-name/ma/mattermost/package.nix b/pkgs/by-name/ma/mattermost/package.nix index f24c6ef4eac91..89b3b6cabb16d 100644 --- a/pkgs/by-name/ma/mattermost/package.nix +++ b/pkgs/by-name/ma/mattermost/package.nix @@ -20,8 +20,8 @@ # # Ensure you also check ../mattermostLatest/package.nix. regex = "^v(10\\.11\\.[0-9]+)$"; - version = "10.11.11"; - srcHash = "sha256-TM/12cTlZngguZnL8KTPzyGo7HCYuuWeh8aRCpmQve8="; + version = "10.11.12"; + srcHash = "sha256-bQSjn3Q3R4eHcmbrQ6obz1eGp7XuIdeSAhzl3UVHpB8="; vendorHash = "sha256-hKAKM2qFn5Zvr/Sc33XmFl7l59agMaEvlvVD5aOyaxI="; npmDepsHash = "sha256-p9dq31qw0EZDQIl2ysKE38JgDyLA6XvSv+VtHuRh+8A="; lockfileOverlay = '' diff --git a/pkgs/servers/mautrix-telegram/0001-Re-add-entrypoint.patch b/pkgs/by-name/ma/mautrix-telegram/0001-Re-add-entrypoint.patch similarity index 100% rename from pkgs/servers/mautrix-telegram/0001-Re-add-entrypoint.patch rename to pkgs/by-name/ma/mautrix-telegram/0001-Re-add-entrypoint.patch diff --git a/pkgs/servers/mautrix-telegram/default.nix b/pkgs/by-name/ma/mautrix-telegram/package.nix similarity index 95% rename from pkgs/servers/mautrix-telegram/default.nix rename to pkgs/by-name/ma/mautrix-telegram/package.nix index 4528136f0fc07..6a5664a311b3a 100644 --- a/pkgs/servers/mautrix-telegram/default.nix +++ b/pkgs/by-name/ma/mautrix-telegram/package.nix @@ -23,14 +23,14 @@ let }; }; in -python.pkgs.buildPythonPackage rec { +python.pkgs.buildPythonPackage (finalAttrs: { pname = "mautrix-telegram"; version = "0.15.3"; src = fetchFromGitHub { owner = "mautrix"; repo = "telegram"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-w3BqWyAJV/lZPoOFDzxhootpw451lYruwM9efwS6cEc="; }; @@ -90,4 +90,4 @@ python.pkgs.buildPythonPackage rec { ]; mainProgram = "mautrix-telegram"; }; -} +}) diff --git a/pkgs/by-name/mc/mcp-grafana/package.nix b/pkgs/by-name/mc/mcp-grafana/package.nix index 57cb253362c2e..52c12dd1ade48 100644 --- a/pkgs/by-name/mc/mcp-grafana/package.nix +++ b/pkgs/by-name/mc/mcp-grafana/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "mcp-grafana"; - version = "0.11.0"; + version = "0.11.2"; src = fetchFromGitHub { owner = "grafana"; repo = "mcp-grafana"; tag = "v${finalAttrs.version}"; - hash = "sha256-oLhah+MHUeiARIul39Yt32cQgc9fUmdGv89MuZYEXrM="; + hash = "sha256-HqNKbpmZCrEST2wesUo/swkT5wcnV2ZOpwYmqq+2EzA="; }; vendorHash = "sha256-w4v1/RqnNfGFzapmWd96UTT4Sc18lSVX5HvsXWWmhSY="; diff --git a/pkgs/by-name/md/mdbook-pagecrypt/package.nix b/pkgs/by-name/md/mdbook-pagecrypt/package.nix new file mode 100644 index 0000000000000..2dc4df32a5aa1 --- /dev/null +++ b/pkgs/by-name/md/mdbook-pagecrypt/package.nix @@ -0,0 +1,33 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + openssl, + pkg-config, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "mdbook-pagecrypt"; + version = "0.1.2"; + + src = fetchFromGitHub { + owner = "Wybxc"; + repo = "mdbook-pagecrypt"; + tag = "v${finalAttrs.version}"; + hash = "sha256-pwEiqLJM4EXqt32j5h7aaJdcdauRtkvxSSu1wbtWr5E="; + }; + + cargoHash = "sha256-muhLJfOh5riSuymmu1NSemM+c+7Y1Ya/YG9TjFQgPkk="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ openssl ]; + + meta = { + description = "Encrypt your mdBook-built site with password protection"; + mainProgram = "mdbook-pagecrypt"; + homepage = "https://github.com/Wybxc/mdbook-pagecrypt"; + license = lib.licenses.mpl20; + maintainers = with lib.maintainers; [ jhult ]; + }; +}) diff --git a/pkgs/by-name/md/mdk-sdk/package.nix b/pkgs/by-name/md/mdk-sdk/package.nix index 4eaf6acd652cd..5901881abcc75 100644 --- a/pkgs/by-name/md/mdk-sdk/package.nix +++ b/pkgs/by-name/md/mdk-sdk/package.nix @@ -67,6 +67,8 @@ stdenv.mkDerivation rec { addDriverRunpath.driverLink ]; + autoPatchelfIgnoreMissingDeps = [ "librockchip_mpp.so.1" ]; + installPhase = '' runHook preInstall diff --git a/pkgs/by-name/me/mediamtx/package.nix b/pkgs/by-name/me/mediamtx/package.nix index 28fb834744062..7c125d99f8e50 100644 --- a/pkgs/by-name/me/mediamtx/package.nix +++ b/pkgs/by-name/me/mediamtx/package.nix @@ -1,6 +1,6 @@ { lib, - buildGoModule, + buildGo126Module, fetchFromGitHub, fetchurl, nixosTests, @@ -12,19 +12,19 @@ let hash = "sha256-QTqD4rsMd+0L8L4QXVOdF+9F39mEoLE+zTsUqQE4OTg="; }; in -buildGoModule (finalAttrs: { +buildGo126Module (finalAttrs: { pname = "mediamtx"; # check for hls.js version updates in internal/servers/hls/hlsjsdownloader/VERSION - version = "1.16.0"; + version = "1.16.2"; src = fetchFromGitHub { owner = "bluenviron"; repo = "mediamtx"; tag = "v${finalAttrs.version}"; - hash = "sha256-bi93rZnX8hymcmW6H/Iglujdv6LiqueitlVJbVlGNis="; + hash = "sha256-F7DFDN+2hPHJAzRiodo5yR9evtUmtmvMtwgfeUqumAE="; }; - vendorHash = "sha256-vxKltySKNXs1HDPeBk51OFyMrjM4bSbWTqRIWxMO1HQ="; + vendorHash = "sha256-6ICHZ4Q/nOP/e1GKguLDcC+42Q6lxO6OdeK/8a1F+Uo="; postPatch = '' cp ${hlsJs} internal/servers/hls/hls.min.js diff --git a/pkgs/by-name/me/meilisearch/package.nix b/pkgs/by-name/me/meilisearch/package.nix index 32daf06d00b1e..3744e84a3828c 100644 --- a/pkgs/by-name/me/meilisearch/package.nix +++ b/pkgs/by-name/me/meilisearch/package.nix @@ -8,18 +8,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "meilisearch"; - version = "1.35.1"; + version = "1.36.0"; src = fetchFromGitHub { owner = "meilisearch"; repo = "meilisearch"; tag = "v${finalAttrs.version}"; - hash = "sha256-CySE4nMCzyfNBCxOmn6wcZH6kyaiU+fPMwKp5KyWJxo="; + hash = "sha256-yHLSuGWhBmMkWoV3L+oBzpN0fv52gRnJnZDjgXnyHaQ="; }; cargoBuildFlags = [ "--package=meilisearch" ]; - cargoHash = "sha256-8s4rJlFtOPr7izz8ioAnmxBIou5ru+thttG6QwyhFqc="; + cargoHash = "sha256-PxyGw2ZbXkwuXJsqZd6MWwTQdnsE5YWBSgaEZOR0e2g="; # Default features include mini dashboard which downloads something from the internet. buildNoDefaultFeatures = true; diff --git a/pkgs/by-name/me/metapac/package.nix b/pkgs/by-name/me/metapac/package.nix new file mode 100644 index 0000000000000..b460e9b3de003 --- /dev/null +++ b/pkgs/by-name/me/metapac/package.nix @@ -0,0 +1,41 @@ +{ + fetchFromGitHub, + lib, + nix-update-script, + rustPlatform, + versionCheckHook, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "metapac"; + version = "0.9.3"; + + src = fetchFromGitHub { + owner = "ripytide"; + repo = "metapac"; + tag = "v${finalAttrs.version}"; + hash = "sha256-qLu8fXPdeAVnZOm80aXXm20FXeGTy2KpZsN40ILPBUc="; + }; + + cargoHash = "sha256-EOTf+RcYN6v4Yp/UhQEui48wQerwP+JwGhIZJzmV5cA="; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Multi-backend declarative package manager"; + longDescription = '' + `metapac` allows you to maintain a consistent set of packages + across multiple machines. It also makes setting up a new system + with your preferred packages from your preferred package + managers much easier. + ''; + homepage = "https://github.com/ripytide/metapac"; + changelog = "https://github.com/ripytide/metapac/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ yiyu ]; + mainProgram = "metapac"; + }; +}) diff --git a/pkgs/by-name/me/mev-boost/package.nix b/pkgs/by-name/me/mev-boost/package.nix index ab25f8b21dc3c..f05b31517e356 100644 --- a/pkgs/by-name/me/mev-boost/package.nix +++ b/pkgs/by-name/me/mev-boost/package.nix @@ -6,12 +6,12 @@ buildGoModule (finalAttrs: { pname = "mev-boost"; - version = "1.11"; + version = "1.12"; src = fetchFromGitHub { owner = "flashbots"; repo = "mev-boost"; rev = "v${finalAttrs.version}"; - hash = "sha256-uEIZojmzSVyF+ZOQsSqZA0MB2cT8I/JHGfgKVI48PIk="; + hash = "sha256-ZGeY3iNsOdAso7aMv0XMm1x2EhR8lz27joGIsz40Ibc="; }; vendorHash = "sha256-dIc0ZHTx+7P621FvfDKlItc/FazUpwxRmDQF2SNVIwA="; diff --git a/pkgs/by-name/mi/microcode-intel/package.nix b/pkgs/by-name/mi/microcode-intel/package.nix index b3874cf6c5975..e9a57876db96a 100644 --- a/pkgs/by-name/mi/microcode-intel/package.nix +++ b/pkgs/by-name/mi/microcode-intel/package.nix @@ -9,13 +9,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "microcode-intel"; - version = "20260210"; + version = "20260227"; src = fetchFromGitHub { owner = "intel"; repo = "Intel-Linux-Processor-Microcode-Data-Files"; tag = "microcode-${finalAttrs.version}"; - hash = "sha256-c5DAcaXO8FuZtbzrNwjS5E8JEKHb4rFo0CVm1xfDtcY="; + hash = "sha256-xTCSFxhOqHo64GrtZPlUVOd83SwiUUSZQ6JMziTgWcU="; }; nativeBuildInputs = [ libarchive ]; diff --git a/pkgs/by-name/mi/micronaut/package.nix b/pkgs/by-name/mi/micronaut/package.nix index e58d36413e391..b76d333ee8ace 100644 --- a/pkgs/by-name/mi/micronaut/package.nix +++ b/pkgs/by-name/mi/micronaut/package.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "micronaut"; - version = "4.10.8"; + version = "4.10.9"; src = fetchzip { url = "https://github.com/micronaut-projects/micronaut-starter/releases/download/v${finalAttrs.version}/micronaut-cli-${finalAttrs.version}.zip"; - hash = "sha256-sI4K0wvpOS/dwW4/NzM/cPJRKlU/uxFdl3flnZXo684="; + hash = "sha256-/byUsXGPsIkVU7T0FENUkxx/TjkhzI+lX2Veo4JGOCw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/mi/microsoft-edge/package.nix b/pkgs/by-name/mi/microsoft-edge/package.nix index b2b3d21d2d399..87dbf84329dfb 100644 --- a/pkgs/by-name/mi/microsoft-edge/package.nix +++ b/pkgs/by-name/mi/microsoft-edge/package.nix @@ -90,6 +90,11 @@ libsecret, # Edge Specific libuuid, + + # Fonts (See issue #463615) + makeFontsConf, + noto-fonts-cjk-sans, + noto-fonts-cjk-serif, }: let opusWithCustomModes = libopus.override { withCustomModes = true; }; @@ -162,11 +167,11 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "microsoft-edge"; - version = "145.0.3800.70"; + version = "145.0.3800.82"; src = fetchurl { url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb"; - hash = "sha256-gUyh9AD1ntnZb2iLRwKLxy0PxY0Dist73oT9AC2pFQI="; + hash = "sha256-KejSggcs88eY5STNG9F7TueZgvBnmxesoNbtUNjSrfk="; }; # With strictDeps on, some shebangs were not being patched correctly @@ -192,6 +197,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { rpath = lib.makeLibraryPath deps + ":" + lib.makeSearchPathOutput "lib" "lib64" deps; binpath = lib.makeBinPath deps; + fontsConf = makeFontsConf { + fontDirectories = [ + noto-fonts-cjk-sans + noto-fonts-cjk-serif + ]; + }; + installPhase = '' runHook preInstall @@ -239,6 +251,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { --prefix PATH : "$binpath" \ --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addDriverRunpath.driverLink}/share" \ + --set FONTCONFIG_FILE "${finalAttrs.fontsConf}" \ --set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" \ --set CHROME_WRAPPER "microsoft-edge-$dist" \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \ diff --git a/pkgs/by-name/mi/mieru/package.nix b/pkgs/by-name/mi/mieru/package.nix index 05df766665076..f03d170c8f516 100644 --- a/pkgs/by-name/mi/mieru/package.nix +++ b/pkgs/by-name/mi/mieru/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "mieru"; - version = "3.27.0"; + version = "3.28.0"; src = fetchFromGitHub { owner = "enfein"; repo = "mieru"; rev = "v${finalAttrs.version}"; - hash = "sha256-rUX3zCnwCw34dujpctTaEH6tmUN2iMraO6awavldiUI="; + hash = "sha256-xX2axFK1BBgyGlA658DOCIBI0cIXY0KTdf/SyzhkYCo="; }; vendorHash = "sha256-pKcdvP38fZ2KFYNDx6I4TfmnnvWKzFDvz80xMkUojqM="; diff --git a/pkgs/by-name/mi/migrate-to-uv/package.nix b/pkgs/by-name/mi/migrate-to-uv/package.nix index 753b12df2d874..c88ed0353b304 100644 --- a/pkgs/by-name/mi/migrate-to-uv/package.nix +++ b/pkgs/by-name/mi/migrate-to-uv/package.nix @@ -11,19 +11,19 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pname = "migrate-to-uv"; - version = "0.10.0"; + version = "0.11.0"; pyproject = true; src = fetchFromGitHub { owner = "mkniewallner"; repo = "migrate-to-uv"; tag = finalAttrs.version; - hash = "sha256-oGkxKuaRaZf6pQEBooogg8al7GFhb9b3wyd7nKqjh6o="; + hash = "sha256-lmkSFCgp/JIRxa7LgkRXWZYVxVC2STcfoiIepMrQbcM="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) src pname version; - hash = "sha256-IO6MK2N012T3JIKqGylDCf4GlU/m1R6Ex0PlSoJixRQ="; + hash = "sha256-zRXOYJfMW8ocv92J05QpBlCbiCDHolEYhKlbyZLDp+w="; }; build-system = [ diff --git a/pkgs/by-name/mi/miniserve/package.nix b/pkgs/by-name/mi/miniserve/package.nix index 1dd14eee2dd7a..edad55816dd2f 100644 --- a/pkgs/by-name/mi/miniserve/package.nix +++ b/pkgs/by-name/mi/miniserve/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "miniserve"; - version = "0.32.0"; + version = "0.33.0"; src = fetchFromGitHub { owner = "svenstaro"; repo = "miniserve"; tag = "v${finalAttrs.version}"; - hash = "sha256-9x2LGJwPf6QEvHvGD8i9Bz3tV8DNAtd9Wp9tXsbI2qo="; + hash = "sha256-2uXZ2ItqgesAgm9/DDbFW3WKQ/VZfvTR2lQY6Gq9ohw="; }; - cargoHash = "sha256-JVzWmo+28K1kG4QaiAkGgBr8kkdfqoylJBWi+Fo9L6c="; + cargoHash = "sha256-xCdugvSw9IR9EDp/8ZxgqnFwTYHnF0o+ldk1AlSSzSc="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/mi/minizip/package.nix b/pkgs/by-name/mi/minizip/package.nix index 3a09845916197..e2e1757f03d47 100644 --- a/pkgs/by-name/mi/minizip/package.nix +++ b/pkgs/by-name/mi/minizip/package.nix @@ -3,12 +3,23 @@ stdenv, zlib, autoreconfHook, + fetchpatch, }: stdenv.mkDerivation { pname = "minizip"; inherit (zlib) src version; + patches = [ + # install missing header for qtwebengine: + # https://github.com/madler/zlib/pull/1178 + (fetchpatch { + name = "add-int.h.patch"; + url = "https://github.com/madler/zlib/commit/cb14dc9ade3759352417a300e6c2ed73268f1d97.patch"; + hash = "sha256-eX06nYLRPqpkbBAOso1ynGDYs9dcRAI14cG89qXuUzo="; + }) + ]; + patchFlags = [ "-p3" ]; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/by-name/mi/mirrord/manifest.json b/pkgs/by-name/mi/mirrord/manifest.json index 0a4a371900a6c..9ee0b1e7d2c66 100644 --- a/pkgs/by-name/mi/mirrord/manifest.json +++ b/pkgs/by-name/mi/mirrord/manifest.json @@ -1,21 +1,21 @@ { - "version": "3.189.0", + "version": "3.191.0", "assets": { "x86_64-linux": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.189.0/mirrord_linux_x86_64", - "hash": "sha256-tZHYPPCOFbWuohpTloc9ugUytal3KJDYXvu1CnXxTxI=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.191.0/mirrord_linux_x86_64", + "hash": "sha256-2v3H+Hkf47k6b8I2YCtuhIhX06MtmjoG9DfaHtmYLV0=" }, "aarch64-linux": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.189.0/mirrord_linux_aarch64", - "hash": "sha256-4WQTq5Jnmi8T7EbPFNvkirGQgcDmB6P9pT/3oXBC87k=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.191.0/mirrord_linux_aarch64", + "hash": "sha256-3HT3SYpEsdgDSdoIlKcOWb31scMpsAl0oosHMQgIfGU=" }, "aarch64-darwin": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.189.0/mirrord_mac_universal", - "hash": "sha256-oEAfW/4Dlbv6pc8W8sRaBqS2g144W3DsNN+AJpu+eP0=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.191.0/mirrord_mac_universal", + "hash": "sha256-SQrzND8ZRytbs4Nw87YEXTQfDOIWZFlvJw8SWdGXk5o=" }, "x86_64-darwin": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.189.0/mirrord_mac_universal", - "hash": "sha256-oEAfW/4Dlbv6pc8W8sRaBqS2g144W3DsNN+AJpu+eP0=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.191.0/mirrord_mac_universal", + "hash": "sha256-SQrzND8ZRytbs4Nw87YEXTQfDOIWZFlvJw8SWdGXk5o=" } } } diff --git a/pkgs/by-name/mi/mise/package.nix b/pkgs/by-name/mi/mise/package.nix index b193ccc874a82..600463ef09d8c 100644 --- a/pkgs/by-name/mi/mise/package.nix +++ b/pkgs/by-name/mi/mise/package.nix @@ -22,16 +22,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "mise"; - version = "2026.2.9"; + version = "2026.2.20"; src = fetchFromGitHub { owner = "jdx"; repo = "mise"; tag = "v${finalAttrs.version}"; - hash = "sha256-JIItmBm0T50688seBgNyDHmPDlhLG90C+UGo1519Hk8="; + hash = "sha256-vZzfXsnOw0HIuPfQIfVxCKcl5EQd+zARO/IqzGtNMDk="; }; - cargoHash = "sha256-mW3bsGA7Bx/aoh0GIIUBJaMhGgYzN9zT/nT44ADEqoc="; + cargoHash = "sha256-dWCDYcIkkopg7SMqAHjKoj0Wp4P47T7IdnXu9BriY00="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/mi/mistral-vibe/package.nix b/pkgs/by-name/mi/mistral-vibe/package.nix index 655fc61a26fbe..dcad705b4937a 100644 --- a/pkgs/by-name/mi/mistral-vibe/package.nix +++ b/pkgs/by-name/mi/mistral-vibe/package.nix @@ -12,14 +12,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "mistral-vibe"; - version = "2.2.1"; + version = "2.3.0"; pyproject = true; src = fetchFromGitHub { owner = "mistralai"; repo = "mistral-vibe"; tag = "v${finalAttrs.version}"; - hash = "sha256-vJnykMcnwQDmzq0L4OhPzortliggtK8Hz+iG2cGu8BM="; + hash = "sha256-aXRceZAW4XUAXfD8HzGnS6qkFAj6VoTwVepZJmvf48Q="; }; build-system = with python3Packages; [ @@ -30,6 +30,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pythonRelaxDeps = [ "agent-client-protocol" + "cryptography" "gitpython" "mistralai" "pydantic-settings" @@ -38,6 +39,7 @@ python3Packages.buildPythonApplication (finalAttrs: { dependencies = with python3Packages; [ agent-client-protocol anyio + cachetools cryptography gitpython giturlparse @@ -45,6 +47,7 @@ python3Packages.buildPythonApplication (finalAttrs: { httpx keyring mcp + markdownify mistralai packaging pexpect @@ -93,6 +96,9 @@ python3Packages.buildPythonApplication (finalAttrs: { # All snapshot tests fail with AssertionError "tests/snapshots/" + # Try to invoke `uv run vibe` + "tests/e2e/" + # ACP tests require network access "tests/acp/test_acp.py" ]; diff --git a/pkgs/servers/mobilizon/alias.patch b/pkgs/by-name/mo/mobilizon/alias.patch similarity index 100% rename from pkgs/servers/mobilizon/alias.patch rename to pkgs/by-name/mo/mobilizon/alias.patch diff --git a/pkgs/servers/mobilizon/common.nix b/pkgs/by-name/mo/mobilizon/common.nix similarity index 100% rename from pkgs/servers/mobilizon/common.nix rename to pkgs/by-name/mo/mobilizon/common.nix diff --git a/pkgs/servers/mobilizon/frontend.nix b/pkgs/by-name/mo/mobilizon/frontend.nix similarity index 100% rename from pkgs/servers/mobilizon/frontend.nix rename to pkgs/by-name/mo/mobilizon/frontend.nix diff --git a/pkgs/servers/mobilizon/mix.nix b/pkgs/by-name/mo/mobilizon/mix.nix similarity index 100% rename from pkgs/servers/mobilizon/mix.nix rename to pkgs/by-name/mo/mobilizon/mix.nix diff --git a/pkgs/servers/mobilizon/default.nix b/pkgs/by-name/mo/mobilizon/package.nix similarity index 91% rename from pkgs/servers/mobilizon/default.nix rename to pkgs/by-name/mo/mobilizon/package.nix index ecc7b6bcd3366..6921b882f3a83 100644 --- a/pkgs/servers/mobilizon/default.nix +++ b/pkgs/by-name/mo/mobilizon/package.nix @@ -2,21 +2,22 @@ lib, callPackage, writeShellScriptBin, - beamPackages, + beam, mix2nix, fetchFromGitHub, git, cmake, nixosTests, nixfmt, - mobilizon-frontend, + mobilizon-frontend ? callPackage ./frontend.nix { }, }: let - inherit (beamPackages) mixRelease buildMix; + beamPackages = beam.packages.erlang_27.extend (self: super: { elixir = self.elixir_1_18; }); + common = callPackage ./common.nix { }; in -mixRelease rec { +beamPackages.mixRelease rec { inherit (common) pname version src; # A typo that is a build failure on elixir 1.18 @@ -59,7 +60,7 @@ mixRelease rec { }); # The remainder are Git dependencies (and their deps) that are not supported by mix2nix currently. - web_push_encryption = buildMix { + web_push_encryption = beamPackages.buildMix { name = "web_push_encryption"; version = "0.3.1"; src = fetchFromGitHub { @@ -73,7 +74,7 @@ mixRelease rec { jose ]; }; - icalendar = buildMix rec { + icalendar = beamPackages.buildMix rec { name = "icalendar"; version = "1.1.2"; src = fetchFromGitHub { @@ -88,7 +89,7 @@ mixRelease rec { timex ]; }; - rajska = buildMix rec { + rajska = beamPackages.buildMix rec { name = "rajska"; version = "1.3.3"; src = fetchFromGitHub { @@ -106,7 +107,7 @@ mixRelease rec { mock ]; }; - exkismet = buildMix rec { + exkismet = beamPackages.buildMix rec { name = "exkismet"; version = "0.0.3"; src = fetchFromGitHub { diff --git a/pkgs/by-name/mo/mokuro/package.nix b/pkgs/by-name/mo/mokuro/package.nix index 9d996817449e3..82a2039dbee09 100644 --- a/pkgs/by-name/mo/mokuro/package.nix +++ b/pkgs/by-name/mo/mokuro/package.nix @@ -6,14 +6,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "mokuro"; - version = "0.2.2"; + version = "0.2.4"; pyproject = true; src = fetchFromGitHub { owner = "kha-white"; repo = "mokuro"; tag = "v${finalAttrs.version}"; - hash = "sha256-cdbkculYPPWCSqBufpgt4EU3ne6KU2Dxk0xsvkdMZHA="; + hash = "sha256-sd149KFgKuh7vyrtULrY+DKvvCC3+glifvSG2cgnz4w="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/mo/monetdb/package.nix b/pkgs/by-name/mo/monetdb/package.nix index cb76e0e06f32f..57a28d4d86e45 100644 --- a/pkgs/by-name/mo/monetdb/package.nix +++ b/pkgs/by-name/mo/monetdb/package.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "monetdb"; - version = "11.55.1"; + version = "11.55.3"; src = fetchurl { url = "https://dev.monetdb.org/downloads/sources/archive/MonetDB-${finalAttrs.version}.tar.bz2"; - hash = "sha256-Bf0HZcRs0pjAq39iZApUOlrjQjqg15qGEWdz5gHI4Ak="; + hash = "sha256-40FFpQgu6GPoy2HpEyOmX6+79F9ROaORmPtrXtKaZ5A="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/mo/mongodb-compass/package.nix b/pkgs/by-name/mo/mongodb-compass/package.nix index 43a42ada061f4..dfc41e5b9d01c 100644 --- a/pkgs/by-name/mo/mongodb-compass/package.nix +++ b/pkgs/by-name/mo/mongodb-compass/package.nix @@ -52,7 +52,7 @@ let pname = "mongodb-compass"; - version = "1.49.1"; + version = "1.49.2"; selectSystem = attrs: @@ -67,9 +67,9 @@ let } }"; hash = selectSystem { - x86_64-linux = "sha256-6wjwV6KViRJiJiS+Cc3+sjLjKm/K7dGHUHAx9u5Rngk="; - x86_64-darwin = "sha256-v4lxvKMcLabMfshpBD4PqCXcyf/cJz+kn6qKIfLruNc="; - aarch64-darwin = "sha256-7FmRgA+5qHUiozGGlzGM/gWffzcpHwiOY52yGKvH5GY="; + x86_64-linux = "sha256-O3GD06eqONIE13vY+6s1CfZ1+9c88/YeGS5wVtRdNxo="; + x86_64-darwin = "sha256-UOrSYKLaUByOQXhhsKrgelvS3XlHSFW34KwjGfZyW6k="; + aarch64-darwin = "sha256-Zcq9DZFTmfTmroNWToxUYpipZzBDe8Ph8xy4j3OiCa8="; }; }; diff --git a/pkgs/by-name/mo/mongosh/package.nix b/pkgs/by-name/mo/mongosh/package.nix index 28d85142b5e10..d6f72cf913069 100644 --- a/pkgs/by-name/mo/mongosh/package.nix +++ b/pkgs/by-name/mo/mongosh/package.nix @@ -7,16 +7,16 @@ buildNpmPackage.override { nodejs = nodejs_22; } (finalAttrs: { pname = "mongosh"; - version = "2.6.0"; + version = "2.7.0"; src = fetchFromGitHub { owner = "mongodb-js"; repo = "mongosh"; tag = "v${finalAttrs.version}"; - hash = "sha256-JoHTHqBx7CKcpEzn82qK4Mp8zGzw4o/iYMhZAw6gpV0="; + hash = "sha256-M0GHLO+KZFGn0bGYpPMfMnM1tDBFGsAnTyFUH/CjAyw="; }; - npmDepsHash = "sha256-PgH5r2E94fKj5dhEDP6h68UoRq3KPvJuYdM1oAGuWXo="; + npmDepsHash = "sha256-FP5Pzyu/ZEarUvcAEb5JuLugmnYdegsH2nL3p0RRTfE="; patches = [ ./disable-telemetry.patch diff --git a/pkgs/by-name/mo/moonlight/package.nix b/pkgs/by-name/mo/moonlight/package.nix index 4cfc622e53a38..c6c59fc92ed75 100644 --- a/pkgs/by-name/mo/moonlight/package.nix +++ b/pkgs/by-name/mo/moonlight/package.nix @@ -14,13 +14,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "moonlight"; - version = "2026.2.1"; + version = "2026.2.2"; src = fetchFromGitHub { owner = "moonlight-mod"; repo = "moonlight"; tag = "v${finalAttrs.version}"; - hash = "sha256-BpTN9AdQEDD2XnEUsUxgkoq+EPGhtnYgJhLKF4GVZoc="; + hash = "sha256-wZEpoUlDEbObXD5d2uA5vNBRrFOw4A6VLAc/MVNC4EE="; }; nativeBuildInputs = [ @@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 3; - hash = "sha256-b3d8VcfQjCkcJThebXJ2yvKZfU8u4QnpZgNyqP6XIu0="; + hash = "sha256-1jGEzTPPlwAFDKPbH92HvYg4rzFrUJLqhZRMNS+H6GI="; }; env = { diff --git a/pkgs/by-name/mo/mount-zip/package.nix b/pkgs/by-name/mo/mount-zip/package.nix index 633a19fd9f1ce..c364c239e3eec 100644 --- a/pkgs/by-name/mo/mount-zip/package.nix +++ b/pkgs/by-name/mo/mount-zip/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "mount-zip"; - version = "1.10"; + version = "1.12"; src = fetchFromGitHub { owner = "google"; repo = "mount-zip"; rev = "v${finalAttrs.version}"; - hash = "sha256-d6cjqsqIYFPuAWKxjlLXCWNKT33xbMW8gLriZWj0SSc="; + hash = "sha256-z+WBELX+LUE749PEOIpWOHUtir7V7qOKagifQkIdgFk="; }; strictDeps = true; diff --git a/pkgs/by-name/mp/mpdcron/package.nix b/pkgs/by-name/mp/mpdcron/package.nix index 8b74a4eb86a84..d158d4a91f75e 100644 --- a/pkgs/by-name/mp/mpdcron/package.nix +++ b/pkgs/by-name/mp/mpdcron/package.nix @@ -63,8 +63,7 @@ stdenv.mkDerivation { homepage = "http://alip.github.io/mpdcron/"; license = lib.licenses.gpl2Plus; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ - lovek323 + maintainers = [ ]; }; } diff --git a/pkgs/by-name/mp/mprisence/package.nix b/pkgs/by-name/mp/mprisence/package.nix index 4b954ffacc14b..4203109bb1d6f 100644 --- a/pkgs/by-name/mp/mprisence/package.nix +++ b/pkgs/by-name/mp/mprisence/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "mprisence"; - version = "1.4.0"; + version = "1.4.1"; src = fetchFromGitHub { owner = "lazykern"; repo = "mprisence"; tag = "v${finalAttrs.version}"; - hash = "sha256-sNLrInwcI1hcT4dHs353LPze9Ue5j4nZOGys5Ut0rZU="; + hash = "sha256-0Mty4LZRsjHlS0CLE8Nh6VV/TUSpO5eTlUfSDXgXgwM="; }; - cargoHash = "sha256-31OQOcGVwcEt1PQsSARPOvOAAooU18Fpr5Z2sdVcI5k="; + cargoHash = "sha256-rX7RY5OJnvSDhtjXAEt4XpSZfMu19szdmslMZv5ZTxk="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/mp/mpv-unwrapped/package.nix b/pkgs/by-name/mp/mpv-unwrapped/package.nix index 5ffd823e81db6..a679e717e68d6 100644 --- a/pkgs/by-name/mp/mpv-unwrapped/package.nix +++ b/pkgs/by-name/mp/mpv-unwrapped/package.nix @@ -53,6 +53,7 @@ shaderc, # instead of spirv-cross stdenv, swift, + swiftPackages, testers, vapoursynth, vulkan-headers, @@ -130,11 +131,10 @@ stdenv.mkDerivation (finalAttrs: { '' ]; - # Ensure we reference 'lib' (not 'out') of Swift. - # TODO: Remove this once the Swift wrapper doesn’t include these. - preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' - export SWIFT_LIB_DYNAMIC="${lib.getLib swift.swift}/lib/swift/macosx" - ''; + env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { + # Avoid pulling in the full Swift closure by referencing just the stdlib. + SWIFT_LIB_DYNAMIC = "${lib.getLib swiftPackages.stdlib}/lib"; + }; mesonFlags = [ (lib.mesonOption "default_library" "shared") @@ -228,13 +228,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals zimgSupport [ zimg ] ++ lib.optionals stdenv.hostPlatform.isLinux [ nv-codec-headers-11 ]; - # https://github.com/mpv-player/mpv/issues/15591#issuecomment-2764797522 - # In file included from ../player/clipboard/clipboard-mac.m:19: - # ./osdep/mac/swift.h:270:9: fatal error: '.../app_bridge_objc-1.pch' file not found - env = lib.optionalAttrs (stdenv.hostPlatform.isDarwin) { - NIX_SWIFTFLAGS_COMPILE = "-disable-bridging-pch"; - }; - postBuild = lib.optionalString stdenv.hostPlatform.isDarwin '' pushd .. # Must be run from the source dir because it uses relative paths python3 TOOLS/osxbundle.py -s build/mpv diff --git a/pkgs/by-name/mq/mqtt-exporter/package.nix b/pkgs/by-name/mq/mqtt-exporter/package.nix index 4be3d05066288..b7ee6ca176fb9 100644 --- a/pkgs/by-name/mq/mqtt-exporter/package.nix +++ b/pkgs/by-name/mq/mqtt-exporter/package.nix @@ -1,30 +1,21 @@ { lib, fetchFromGitHub, - fetchpatch, python3, }: python3.pkgs.buildPythonApplication (finalAttrs: { pname = "mqtt-exporter"; - version = "1.9.0"; + version = "1.11.2"; pyproject = true; src = fetchFromGitHub { owner = "kpetremann"; repo = "mqtt-exporter"; tag = "v${finalAttrs.version}"; - hash = "sha256-z2y43sRlwgy3Bwhu8rvlTkf6HOT+v8kjo5FT3lo5CEA="; + hash = "sha256-pWXdd82K1BhUKHGVGpTRW4f/Xa9nf0Ww/l2pxdw/Jw8="; }; - patches = [ - (fetchpatch { - name = "Fix `mqtt-exporter` script"; - url = "https://github.com/kpetremann/mqtt-exporter/commit/53f5f31b28cb5aeec1c8d0bb7d1aea56f036082e.diff"; - hash = "sha256-LS+kO6bHofNQxk9o+ExsJnaecwfY/40S0MIJwpJxCAI="; - }) - ]; - build-system = with python3.pkgs; [ setuptools ]; dependencies = with python3.pkgs; [ diff --git a/pkgs/by-name/mu/musescore-evolution/musescore-evolution-pch-fix.patch b/pkgs/by-name/mu/musescore-evolution/musescore-evolution-pch-fix.patch new file mode 100644 index 0000000000000..e552b1c975d21 --- /dev/null +++ b/pkgs/by-name/mu/musescore-evolution/musescore-evolution-pch-fix.patch @@ -0,0 +1,63 @@ +diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt +index e67e5c8f5c..a4c6dd61fd 100644 +--- a/main/CMakeLists.txt ++++ b/main/CMakeLists.txt +@@ -499,15 +499,6 @@ if (APPLE) + ../fonts/finalebroadway/FinaleBroadwayText.otf + DESTINATION ${Mscore_SHARE_NAME}${Mscore_INSTALL_NAME}fonts + ) +- install(DIRECTORY +- ${QT_INSTALL_QML} +- DESTINATION ${Mscore_SHARE_NAME}${Mscore_INSTALL_NAME} +- REGEX ".*QtWebkit.*" EXCLUDE +- REGEX ".*QtTest.*" EXCLUDE +- REGEX ".*QtSensors.*" EXCLUDE +- REGEX ".*QtMultimedia.*" EXCLUDE +- REGEX ".*QtAudioEngine.*" EXCLUDE +- REGEX ".*_debug\\.dylib" EXCLUDE) + endif (APPLE) + + if (MSCORE_OUTPUT_NAME) +diff --git a/mscore/CMakeLists.txt b/mscore/CMakeLists.txt +index 8daa49b517..471cedf06d 100644 +--- a/mscore/CMakeLists.txt ++++ b/mscore/CMakeLists.txt +@@ -142,6 +142,7 @@ if (APPLE) + cocoabridge STATIC + macos/cocoabridge.mm + ) ++ set_source_files_properties(macos/cocoabridge.mm PROPERTIES SKIP_PRECOMPILE_HEADERS ON) + else (APPLE) + set(INCS "") + set(COCOABRIDGE "") +diff --git a/mscore/macos/cocoabridge.h b/mscore/macos/cocoabridge.h +index d6a217ad99..0c61197bbb 100644 +--- a/mscore/macos/cocoabridge.h ++++ b/mscore/macos/cocoabridge.h +@@ -20,6 +20,10 @@ + #ifndef __COCOABRIDGE_H__ + #define __COCOABRIDGE_H__ + ++#include ++ ++#include ++ + class CocoaBridge { + CocoaBridge() {}; + public: +diff --git a/mscore/qml/msqmlengine.cpp b/mscore/qml/msqmlengine.cpp +index 77c94b593c..ffd066d41d 100644 +--- a/mscore/qml/msqmlengine.cpp ++++ b/mscore/qml/msqmlengine.cpp +@@ -37,9 +37,9 @@ MsQmlEngine::MsQmlEngine(QObject* parent) + setImportPathList(importPaths); + #endif + #ifdef Q_OS_MAC +- QStringList importPaths; ++ QStringList importPaths = importPathList(); + QDir dir(mscoreGlobalShare + QString("/qml")); +- importPaths.append(dir.absolutePath()); ++ importPaths.prepend(dir.absolutePath()); + setImportPathList(importPaths); + #endif + } diff --git a/pkgs/by-name/mu/musescore-evolution/package.nix b/pkgs/by-name/mu/musescore-evolution/package.nix new file mode 100644 index 0000000000000..2e8ca20d2d02d --- /dev/null +++ b/pkgs/by-name/mu/musescore-evolution/package.nix @@ -0,0 +1,218 @@ +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + wrapGAppsHook3, + pkg-config, + ninja, + alsa-lib, + alsa-plugins, + freetype, + libjack2, + lame, + libogg, + libpulseaudio, + libsndfile, + libvorbis, + portaudio, + portmidi, + flac, + libopusenc, + libopus, + tinyxml-2, + qt5, # Needed for musescore 3.X +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "musescore-evolution"; + version = "3.7.0-unstable-2026-01-12"; + + src = fetchFromGitHub { + owner = "Jojo-Schmitz"; + repo = "MuseScore"; + rev = "0b4543baca9b1b70d54cecb33cbf846dabc073d1"; + hash = "sha256-piOXHKlnfCO1n0kAgeszqa6JVoHgF8B2OF7agpadGKQ="; + }; + + patches = [ + ./musescore-evolution-pch-fix.patch + ]; + + # From top-level CMakeLists.txt: + # - DOWNLOAD_SOUNDFONT defaults ON and tries to fetch from the network. + # Download manually at Help > Manage Resources + cmakeFlags = [ + "-DDOWNLOAD_SOUNDFONT=OFF" + ]; + + qtWrapperArgs = [ + # MuseScore JACK backend loads libjack at runtime. + "--prefix ${lib.optionalString stdenv.hostPlatform.isDarwin "DY"}LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ libjack2 ] + }" + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ + "--set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib" + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + # There are some issues with using the wayland backend, see: + # https://musescore.org/en/node/321936 + "--set-default QT_QPA_PLATFORM xcb" + ]; + + preFixup = '' + qtWrapperArgs+=("''${gappsWrapperArgs[@]}") + + # Recreate correct symlinks (let fixupPhase handle compression) + if [ -e "$manDir/mscore-evo.1" ]; then + ln -sf "mscore-evo.1" "$manDir/musescore-evo.1" + fi + ''; + + dontWrapGApps = true; + + nativeBuildInputs = [ + qt5.wrapQtAppsHook + cmake + qt5.qttools + pkg-config + ninja + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + # Since https://github.com/musescore/MuseScore/pull/13847/commits/685ac998 + # GTK3 is needed for file dialogs. Fixes crash with No GSettings schemas error. + wrapGAppsHook3 + ]; + + buildInputs = [ + libjack2 + freetype + lame + libogg + libpulseaudio + libsndfile + libvorbis + portaudio + portmidi + flac + libopusenc + libopus + tinyxml-2 + qt5.qtbase + qt5.qtdeclarative + qt5.qtsvg + qt5.qtxmlpatterns + qt5.qtquickcontrols2 + qt5.qtgraphicaleffects + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + ]; + + # Avoid depending on insecure QtWebEngine (and having to compile it (huge)) + # Because we don't use this, we need to patch the CMakeLists and install scripts to not try to bundle it. + postPatch = '' + # Disable Qt bundling logic in the source CMakeLists. + sed -i '/QT_INSTALL_PREFIX/d' main/CMakeLists.txt + sed -i '/QtWebEngineProcess/d' main/CMakeLists.txt + ''; + + # Patch the generated install script to drop Qt resource / QtWebEngine installs. + preInstall = '' + sed -i ' + /QtWebEngineProcess/d + /resources\"/d + /qtwebengine_locales/d + /qtwebengine/d + /QT_INSTALL_PREFIX/d + ' main/cmake_install.cmake + ''; + + # On macOS, move the .app into Applications/ and symlink the binary to bin/ + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$out/Applications" + mv "$out/mscore.app" "$out/Applications/mscore-evo.app" + mkdir -p $out/bin + ln -s $out/Applications/mscore-evo.app/Contents/MacOS/mscore $out/bin/mscore-evo + ''; + + # On Linux, let CMake + wrapQtAppsHook install/wrap "mscore", then rename it + # and adjust the .desktop file so it doesn't clash with the main musescore package. + postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' + mv "$out/bin/mscore" "$out/bin/mscore-evo" + + # 2) Fix desktop entry to point to mscore-evo and avoid ID clash + desktop="$out/share/applications/mscore.desktop" + substitute "$desktop" "$out/share/applications/mscore-evo.desktop" \ + --replace "Exec=mscore" "Exec=mscore-evo" \ + --replace "Name=MuseScore 3.7" "Name=MuseScore 3.7 (Evolution)" \ + --replace "Icon=mscore" "Icon=mscore-evo" + rm $desktop + + # 3) Rename app icons (apps/) + for sizeDir in "$out"/share/icons/hicolor/*/apps/; do + for ext in png svg xpm; do + if [ -f "$sizeDir/mscore.$ext" ]; then + mv "$sizeDir/mscore.$ext" "$sizeDir/mscore-evo.$ext" + fi + done + done + + # 3b) Rename mimetype icons (mimetypes/) to unique names + for icon in "$out"/share/icons/hicolor/*/mimetypes/application-x-musescore.* \ + "$out"/share/icons/hicolor/*/mimetypes/application-x-musescore+xml.*; do + dir="''${icon%/*}"; base="''${icon##*/}"; ext="''${base##*.}" + case "$base" in + application-x-musescore.*) mv "$icon" "$dir/application-x-musescore-evo.$ext" ;; + application-x-musescore+xml.*) mv "$icon" "$dir/application-x-musescore-evo+xml.$ext" ;; + esac + done + + # 4) Rename MIME XML and point icons to the new names + mv "$out/share/mime/packages/musescore.xml" "$out/share/mime/packages/musescore-evo.xml" + sed -i \ + -e 's|application-x-musescore\(\+xml\)\?|application-x-musescore-evo\1|g' \ + -e 's|musescore|mscore-evo|g' \ + "$out/share/mime/packages/musescore-evo.xml" + + # 5) Rename man pages to match mscore-evo and remove legacy symlinks + manDir="$out/share/man/man1" + + # Remove all old musescore/mscore symlinks first (gzip may have created them) + find "$manDir" -type l \ + \( -name 'mscore.1*' -o -name 'musescore.1*' \) \ + -exec rm -f {} + + + # Rename real files + find "$manDir" \( -name 'mscore.1*' -o -name 'musescore.1*' \) -type f | + while IFS= read -r man; do + base="$(basename "$man")" + newname=$(echo "$base" | sed -e 's/^mscore/mscore-evo/' -e 's/^musescore/mscore-evo/') + mv "$man" "$manDir/$newname" + done + + # 6) Rename AppStream metadata and its IDs + meta="$out/share/metainfo/org.musescore.MuseScore.appdata.xml" + new="$out/share/metainfo/org.musescore.MuseScoreEvolution.appdata.xml" + mv "$meta" "$new" + sed -i \ + -e 's|org\.musescore\.MuseScore|org.musescore.MuseScoreEvolution|' \ + -e 's|mscore\.desktop|mscore-evo.desktop|' \ + "$new" + ''; + + # Don't run bundled upstreams tests, as they require a running X window system. + doCheck = false; + + passthru.updateScript.command = [ ./update.sh ]; + + meta = { + description = "Music notation and composition software"; + homepage = "https://github.com/Jojo-Schmitz/MuseScore"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ nemeott ]; + mainProgram = "mscore-evo"; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/mu/musescore-evolution/update.sh b/pkgs/by-name/mu/musescore-evolution/update.sh new file mode 100755 index 0000000000000..129ae0ef87bb4 --- /dev/null +++ b/pkgs/by-name/mu/musescore-evolution/update.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p jq nix-update coreutils + +set -euo pipefail + +# Run nix-update on the default branch (updates rev and sha256) +nix-update musescore-evolution --version=branch + +# Now we need to update the version name + +# Find the new version generated from the nix-update command (e.g. "0-unstable-2026-01-12") +generated_version=$(nix eval --raw -f . ${UPDATE_NIX_ATTR_PATH}.version) + +# Extract only the date part (after the last dash) (e.g. 0-unstable-2026-01-12) +parts=(${generated_version//-/ }) # Split up by dashes +clean_date="${parts[2]}-${parts[3]}-${parts[4]}" # Get clean date in YYYY-MM-DD format (e.g. "2026-01-12") + +# Compute version prefix based on previous version +old_version="$UPDATE_NIX_OLD_VERSION" +prefix="${old_version%-*}" # e.g. "3.7.0-unstable" + +new_version="${prefix}-${clean_date}" + +# Patch version in nix file +# Strip any existing version line and replace with new one +sed -i "s/version = \".*\"/version = \"${new_version}\"/" $(nix eval --raw -f . ${UPDATE_NIX_ATTR_PATH}.meta.position | cut -d: -f1) diff --git a/pkgs/by-name/mu/museum/package.nix b/pkgs/by-name/mu/museum/package.nix index 75128482bdb90..4543ac8309fcc 100644 --- a/pkgs/by-name/mu/museum/package.nix +++ b/pkgs/by-name/mu/museum/package.nix @@ -10,17 +10,17 @@ buildGoModule (finalAttrs: { pname = "museum"; - version = "1.3.13"; + version = "1.3.16"; src = fetchFromGitHub { owner = "ente-io"; repo = "ente"; sparseCheckout = [ "server" ]; tag = "photos-v${finalAttrs.version}"; - hash = "sha256-Wh4jAYMM71PEyjYPaKqJNs2rnBNbf+cR9+dP2ZpnuaU="; + hash = "sha256-0Ks29rlCAacOolVXcWX3zedrm6U90Dfe3Mr2uZYfUf4="; }; - vendorHash = "sha256-napF55nA/9P8l5lddnEHQMjLXWSyTzgblIQCbSZ20MA="; + vendorHash = "sha256-r/zAAWyLe6VYztsZuYlwg0jozGf8cScUKIcIdtZ0LvQ="; sourceRoot = "${finalAttrs.src.name}/server"; diff --git a/pkgs/by-name/mu/music-assistant/package.nix b/pkgs/by-name/mu/music-assistant/package.nix index 4affc2ae99f06..1d486ac6cfc26 100644 --- a/pkgs/by-name/mu/music-assistant/package.nix +++ b/pkgs/by-name/mu/music-assistant/package.nix @@ -47,14 +47,14 @@ assert python.pkgs.buildPythonApplication rec { pname = "music-assistant"; - version = "2.7.8"; + version = "2.7.9"; pyproject = true; src = fetchFromGitHub { owner = "music-assistant"; repo = "server"; tag = version; - hash = "sha256-o17H8cmMC8szh/hfgdq0JWCPh45TkrhuXOikr+DcBw8="; + hash = "sha256-c6WTalpjaZcUvppyYaTP03ErX5b+k7fUbphj58FVBS8="; }; patches = [ diff --git a/pkgs/by-name/mu/music-assistant/providers.nix b/pkgs/by-name/mu/music-assistant/providers.nix index acf13b443f903..c101c6dc22c4e 100644 --- a/pkgs/by-name/mu/music-assistant/providers.nix +++ b/pkgs/by-name/mu/music-assistant/providers.nix @@ -1,7 +1,7 @@ # Do not edit manually, run ./update-providers.py { - version = "2.7.8"; + version = "2.7.9"; providers = { airplay = ps: with ps; [ diff --git a/pkgs/by-name/my/myks/package.nix b/pkgs/by-name/my/myks/package.nix index 289997157cbd8..2de933e8f2747 100644 --- a/pkgs/by-name/my/myks/package.nix +++ b/pkgs/by-name/my/myks/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "myks"; - version = "5.9.1"; + version = "5.9.2"; src = fetchFromGitHub { owner = "mykso"; repo = "myks"; tag = "v${finalAttrs.version}"; - hash = "sha256-8vHDWex+xv9E+MYh2FFWj34WJhmfLr+eioVzAm50/TI="; + hash = "sha256-xDggxh9IkfFwKFS5U3SmL4HCbMw3J+N+vYNKfmh0E44="; }; vendorHash = "sha256-b1uLNz8dSJnJ0tevdm79x9YVas+Wh9//4o+k6fEckZA="; diff --git a/pkgs/by-name/n8/n8n-task-runner-launcher/package.nix b/pkgs/by-name/n8/n8n-task-runner-launcher/package.nix index bacc5179af620..88bab7f9b2607 100644 --- a/pkgs/by-name/n8/n8n-task-runner-launcher/package.nix +++ b/pkgs/by-name/n8/n8n-task-runner-launcher/package.nix @@ -6,13 +6,13 @@ }: buildGoModule (finalAttrs: { pname = "n8n-task-runner-launcher"; - version = "1.4.2"; + version = "1.4.3"; src = fetchFromGitHub { owner = "n8n-io"; repo = "task-runner-launcher"; tag = finalAttrs.version; - hash = "sha256-kfwI3Qy0Zh4fQ+SYX9fvdDEV2Gdu4qGD3ZOb5Z10Bbc="; + hash = "sha256-ku+0hk4uOhqaH1u+OazwMLSUKGWDg6els2k2bsK+uuY="; }; vendorHash = "sha256-5dcIELsNFGB5qTmfpY/YRWeN2z9GdanysGw4Lqpfsi0="; diff --git a/pkgs/by-name/n8/n8n/package.nix b/pkgs/by-name/n8/n8n/package.nix index c2a673959fd86..cd5de02655882 100644 --- a/pkgs/by-name/n8/n8n/package.nix +++ b/pkgs/by-name/n8/n8n/package.nix @@ -25,20 +25,20 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "n8n"; - version = "2.8.3"; + version = "2.9.4"; src = fetchFromGitHub { owner = "n8n-io"; repo = "n8n"; tag = "n8n@${finalAttrs.version}"; - hash = "sha256-xbJZD+L/8ZK7GPqFKO6H/Cg40Pk2cqN3MWC+mNFVxbI="; + hash = "sha256-XXQPZHtY66gOQ+nYH+Q1IjbR+SRZ9g06sgBy2x8gGh4="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_10; fetcherVersion = 3; - hash = "sha256-gX4pYiztKIRFbJNZhtQviWpp80teOzX1JaYKylGe4TY="; + hash = "sha256-TU7HIShYj20QtdcthP0nQdubYl0bdy+XM3CoX5Rvhzk="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/n8/n8n/update.sh b/pkgs/by-name/n8/n8n/update.sh index 4b1a8961cf22f..bcf02c247da90 100755 --- a/pkgs/by-name/n8/n8n/update.sh +++ b/pkgs/by-name/n8/n8n/update.sh @@ -2,5 +2,6 @@ #!nix-shell --pure -i bash -p bash curl jq nix-update cacert git set -euo pipefail -new_version="$(curl -s "https://api.github.com/repos/n8n-io/n8n/releases/latest" | jq --raw-output '.tag_name | ltrimstr("n8n@")')" +new_version="$(curl -s "https://api.github.com/repos/n8n-io/n8n/releases?per_page=30" | \ + jq --raw-output 'map(select(.prerelease | not) | .tag_name) | sort | last | ltrimstr("n8n@")')" nix-update n8n --version "$new_version" diff --git a/pkgs/by-name/na/namespace-cli/package.nix b/pkgs/by-name/na/namespace-cli/package.nix index 4678756717991..013bb65631fb0 100644 --- a/pkgs/by-name/na/namespace-cli/package.nix +++ b/pkgs/by-name/na/namespace-cli/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "namespace-cli"; - version = "0.0.486"; + version = "0.0.489"; src = fetchFromGitHub { owner = "namespacelabs"; repo = "foundation"; rev = "v${finalAttrs.version}"; - hash = "sha256-FBk4PVIKpy6MvquqtQyfgw1/Twgef/CHE7/+mpsJjTw="; + hash = "sha256-6xBwpxl8WfXke82kaJqPSqUPxlKccVPSGwxYyUb7LvU="; }; - vendorHash = "sha256-GPO3vdk26K54VmjHmg1PL/nQd6GTz/ZQk8ZpNQHoqSQ="; + vendorHash = "sha256-X6qEXV4vRU9CA7kvJ45aaSIOPGkMa+An7kFXUyWBG9s="; subPackages = [ "cmd/nsc" diff --git a/pkgs/by-name/nb/nbted/package.nix b/pkgs/by-name/nb/nbted/package.nix new file mode 100644 index 0000000000000..93caf4fa8d136 --- /dev/null +++ b/pkgs/by-name/nb/nbted/package.nix @@ -0,0 +1,32 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "nbted"; + version = "1.5.2-unstable-2026-02-27"; + + src = fetchFromGitHub { + owner = "C4K3"; + repo = "nbted"; + rev = "ce89021a2d84e80331ef7fdc84fa9c53fa80a671"; + hash = "sha256-TCllGon6x4gWlZYIxzcH0GXs/+M57VepyyGz8RyG1o8="; + }; + + cargoHash = "sha256-IMF5vc9p/+M/gMrUxOE3eojdATfera5dD62kcJEpzd8="; + + env.VERGEN_GIT_SHA = finalAttrs.src.rev; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Command-line NBT editor"; + homepage = "https://github.com/C4K3/nbted"; + license = lib.licenses.cc0; + maintainers = with lib.maintainers; [ jaredmontoya ]; + mainProgram = "nbted"; + }; +}) diff --git a/pkgs/by-name/nc/ncmpcpp/package.nix b/pkgs/by-name/nc/ncmpcpp/package.nix index deb4fa6a1d906..275e95f68bcca 100644 --- a/pkgs/by-name/nc/ncmpcpp/package.nix +++ b/pkgs/by-name/nc/ncmpcpp/package.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchFromGitHub, - boost, + boost187, libmpdclient, ncurses, pkg-config, @@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.withFeature visualizerSupport "fftw") (lib.enableFeature clockSupport "clock") (lib.withFeature taglibSupport "taglib") - (lib.withFeatureAs true "boost" boost.dev) + (lib.withFeatureAs true "boost" boost187.dev) ]; nativeBuildInputs = [ @@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - boost + boost187 libmpdclient ncurses readline @@ -81,7 +81,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ koral - lovek323 ]; platforms = lib.platforms.all; mainProgram = "ncmpcpp"; diff --git a/pkgs/by-name/ne/net-cpp/package.nix b/pkgs/by-name/ne/net-cpp/package.nix index 49a7d8db86141..961af44c5a4f3 100644 --- a/pkgs/by-name/ne/net-cpp/package.nix +++ b/pkgs/by-name/ne/net-cpp/package.nix @@ -2,11 +2,11 @@ stdenv, lib, fetchFromGitLab, + fetchpatch, gitUpdater, makeFontsConf, testers, - # https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/issues/5 - boost186, + boost, cmake, curl, doxygen, @@ -46,11 +46,26 @@ stdenv.mkDerivation (finalAttrs: { "doc" ]; - postPatch = lib.optionalString finalAttrs.finalPackage.doCheck '' - # Use wrapped python. Removing just the /usr/bin doesn't seem to work? - substituteInPlace tests/httpbin.h.in \ - --replace '/usr/bin/python3' '${lib.getExe pythonEnv}' - ''; + patches = [ + # Remove when version > 3.2.0 + (fetchpatch { + name = "0001-net-cpp-fix-compatibility-with-Boost-1.88.patch"; + url = "https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/commit/9ff8651b11eb9dc0f64147001e10a57d1546a626.patch"; + hash = "sha256-IEa3nhnv0oa5WmhIDG3OMrZmmoAZFeedAzKXAKVTIQg="; + }) + ]; + + postPatch = + # https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/merge_requests/22, too basic to bother with fetchpatch + '' + substituteInPlace src/CMakeLists.txt \ + --replace-fail 'find_package(Boost COMPONENTS system' 'find_package(Boost COMPONENTS' + '' + + lib.optionalString finalAttrs.finalPackage.doCheck '' + # Use wrapped python. Removing just the /usr/bin doesn't seem to work? + substituteInPlace tests/httpbin.h.in \ + --replace '/usr/bin/python3' '${lib.getExe pythonEnv}' + ''; strictDeps = true; @@ -63,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - boost186 + boost curl ]; diff --git a/pkgs/by-name/ne/netexec/package.nix b/pkgs/by-name/ne/netexec/package.nix index 9f28b6f9da0d5..b3974dc5fe7b5 100644 --- a/pkgs/by-name/ne/netexec/package.nix +++ b/pkgs/by-name/ne/netexec/package.nix @@ -28,14 +28,14 @@ let in python.pkgs.buildPythonApplication (finalAttrs: { pname = "netexec"; - version = "1.5.0"; + version = "1.5.1"; pyproject = true; src = fetchFromGitHub { owner = "Pennyw0rth"; repo = "NetExec"; tag = "v${finalAttrs.version}"; - hash = "sha256-gGyaEifIveoeVdeviLiQ6ZIHku//h9Hp84ffktAgxDY="; + hash = "sha256-BKqBmpA2cSKwC9zX++Z6yTSDIyr4iZVGC/Eea6zoMLQ="; }; pythonRelaxDeps = true; @@ -103,9 +103,6 @@ python.pkgs.buildPythonApplication (finalAttrs: { nativeCheckInputs = with python.pkgs; [ pytestCheckHook ] ++ [ writableTmpDirAsHomeHook ]; - # Tests no longer works out-of-box with 1.3.0 - doCheck = false; - meta = { description = "Network service exploitation tool (maintained fork of CrackMapExec)"; homepage = "https://github.com/Pennyw0rth/NetExec"; diff --git a/pkgs/by-name/ne/nethack/package.nix b/pkgs/by-name/ne/nethack/package.nix index e8bfefd11403b..6a03396657a61 100644 --- a/pkgs/by-name/ne/nethack/package.nix +++ b/pkgs/by-name/ne/nethack/package.nix @@ -241,7 +241,7 @@ stdenvUsed.mkDerivation (finalAttrs: { homepage = "http://nethack.org/"; license = lib.licenses.ngpl; platforms = if x11Mode then lib.platforms.linux else lib.platforms.unix; - maintainers = [ ]; + maintainers = with lib.maintainers; [ olduser101 ]; mainProgram = "nethack"; broken = if qtMode then stdenv.hostPlatform.isDarwin else false; }; diff --git a/pkgs/by-name/ne/newdoc/package.nix b/pkgs/by-name/ne/newdoc/package.nix index 8d6287da76b16..23697a014d029 100644 --- a/pkgs/by-name/ne/newdoc/package.nix +++ b/pkgs/by-name/ne/newdoc/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "newdoc"; - version = "2.18.5"; + version = "2.18.6"; src = fetchFromGitHub { owner = "redhat-documentation"; repo = "newdoc"; tag = "v${finalAttrs.version}"; - hash = "sha256-oBPF2uN8YketMBmUTRwVLiQ4p1bA48j+9bTcfGTt+os="; + hash = "sha256-fd5B6xC/wKiaepHy5GsHeyqzghcnNCOT7GySfIEW8IM="; }; - cargoHash = "sha256-9rpzmrSXqXs9JHi2eupqGUJKc8wWKxAWWoo8VtMauzg="; + cargoHash = "sha256-6VIC+OZifbIRWKtbG+MFLxhK8C2PM1pFr3MjF2hf6vs="; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/ne/nextcloud-talk-desktop/package.nix b/pkgs/by-name/ne/nextcloud-talk-desktop/package.nix index ab1f669700c33..446ce22058225 100644 --- a/pkgs/by-name/ne/nextcloud-talk-desktop/package.nix +++ b/pkgs/by-name/ne/nextcloud-talk-desktop/package.nix @@ -31,11 +31,11 @@ }: let pname = "nextcloud-talk-desktop"; - version = "2.0.6"; # Ensure both hashes (Linux and Darwin) are updated! + version = "2.1.1"; # Ensure both hashes (Linux and Darwin) are updated! hashes = { - linux = "sha256-eEYNfVnM+qCYnirHdBG6oqBQzDio39J7tmh4BSTAF9g="; - darwin = "sha256-2A4Jjz0XoXxTdKq6xP0xhlBneysAkBHMbqfgaftJGFQ="; + linux = "sha256-s6+p21KLoDvcQz0EgV7WYIwYc9JolZpqkxZ8iIol8Yg="; + darwin = "sha256-rp6+bYb3Y8yEXYUY+cuDo7Lw6cq/EUnPjLIqscKeULc="; }; # Only x86_64-linux is supported with Darwin support being universal diff --git a/pkgs/by-name/ne/nextpnr/package.nix b/pkgs/by-name/ne/nextpnr/package.nix index 56a680a6284c1..4084631627dec 100644 --- a/pkgs/by-name/ne/nextpnr/package.nix +++ b/pkgs/by-name/ne/nextpnr/package.nix @@ -23,7 +23,9 @@ let }; pname = "nextpnr"; - version = "0.9"; + + # Version 0.9 was patched (c7cfb) for Boost 1.87+ compatibility (boost system) + version = "0.9-unstable-2026-02-08"; prjbeyond_src = fetchFromGitHub { owner = "YosysHQ-GmbH"; @@ -39,8 +41,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "YosysHQ"; repo = "nextpnr"; - tag = "${pname}-${version}"; - hash = "sha256-rpg99k7rSNU4p5D0iXipLgNNOA2j0PdDsz8JTxyYNPM="; + rev = "35f14336c042a9aa86cc66221434262fbb02034e"; + hash = "sha256-5Fn/Y+pjhnGFcZsCN7XZN0nPB9u/BIr+lxgrCC5pnpE="; fetchSubmodules = true; }; @@ -49,6 +51,7 @@ stdenv.mkDerivation rec { python3 ] ++ (lib.optional enableGui wrapQtAppsHook); + buildInputs = [ boostPython eigen @@ -59,13 +62,12 @@ stdenv.mkDerivation rec { cmakeFlags = let - # the specified version must always start with "nextpnr-", so add it if - # missing (e.g. if the user overrides with a git hash) + # Use the commit hash for the internal versioning rev = src.rev; - version = if (lib.hasPrefix "nextpnr-" rev) then rev else "nextpnr-${rev}"; + versionStr = if (lib.hasPrefix "nextpnr-" rev) then rev else "nextpnr-${lib.substring 0 7 rev}"; in [ - "-DCURRENT_GIT_VERSION=${version}" + "-DCURRENT_GIT_VERSION=${versionStr}" "-DARCH=generic;ice40;ecp5;himbaechel" "-DBUILD_TESTS=ON" "-DICESTORM_INSTALL_PREFIX=${icestorm}" diff --git a/pkgs/by-name/ng/nghttp2/package.nix b/pkgs/by-name/ng/nghttp2/package.nix index 161a32206c799..afd69a26dccbc 100644 --- a/pkgs/by-name/ng/nghttp2/package.nix +++ b/pkgs/by-name/ng/nghttp2/package.nix @@ -133,7 +133,7 @@ stdenv.mkDerivation rec { changelog = "https://github.com/nghttp2/nghttp2/releases/tag/v${version}"; # News articles with changes summary can be found here: https://nghttp2.org/blog/archives/ license = lib.licenses.mit; - maintainers = with lib.maintainers; [ c0bw3b ]; + maintainers = [ ]; platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/ng/nghttp3/package.nix b/pkgs/by-name/ng/nghttp3/package.nix index 5741d2dd8cc5b..0b2e763b567d3 100644 --- a/pkgs/by-name/ng/nghttp3/package.nix +++ b/pkgs/by-name/ng/nghttp3/package.nix @@ -26,7 +26,8 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "ENABLE_SHARED_LIB" (!stdenv.hostPlatform.isStatic)) (lib.cmakeBool "ENABLE_STATIC_LIB" stdenv.hostPlatform.isStatic) - ]; + ] + ++ (lib.optional stdenv.hostPlatform.isWindows "-DENABLE_LIB_ONLY=1"); doCheck = true; @@ -39,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/ngtcp2/nghttp3/releases/tag/v${finalAttrs.version}"; description = "Implementation of HTTP/3 mapping over QUIC and QPACK in C"; license = lib.licenses.mit; - platforms = lib.platforms.unix; + platforms = lib.platforms.unix ++ lib.platforms.windows; maintainers = with lib.maintainers; [ izorkin ]; }; }) diff --git a/pkgs/by-name/nh/nh-unwrapped/package.nix b/pkgs/by-name/nh/nh-unwrapped/package.nix index 282a0711f8d52..4ad83883df253 100644 --- a/pkgs/by-name/nh/nh-unwrapped/package.nix +++ b/pkgs/by-name/nh/nh-unwrapped/package.nix @@ -4,53 +4,96 @@ rustPlatform, installShellFiles, fetchFromGitHub, - fetchpatch, nix-update-script, buildPackages, + sudo, + versionCheckHook, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "nh-unwrapped"; - version = "4.2.0"; # Did you remove the patch below (and this comment)? - + version = "4.3.0"; src = fetchFromGitHub { owner = "nix-community"; repo = "nh"; tag = "v${finalAttrs.version}"; - hash = "sha256-6n5SVO8zsdVTD691lri7ZcO4zpqYFU8GIvjI6dbxkA8="; + hash = "sha256-A3bEBKJlWYqsw41g4RaTwSLUWq8Mw/zz4FpMj4Lua+c="; }; - patches = [ - (fetchpatch { - url = "https://github.com/nix-community/nh/commit/8bf323483166797a204579a43ed8810113eb128c.patch"; - hash = "sha256-hg0LgDPjiPWR+1DRzqORv6QPlrds7ys4PTDXFw6PUoI="; - }) - ]; - strictDeps = true; + cargoBuildFlags = [ + "-p" + "nh" + "-p" + "xtask" + ]; + nativeBuildInputs = [ installShellFiles ]; - postInstall = lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) ( - let - emulator = stdenv.hostPlatform.emulator buildPackages; - in - '' - mkdir completions + # pkgs.sudo is not available on the Darwin platform, and thus breaks build + # if added to nativeCheckInputs. We must manually disable the tests that + # *require* it, because they will fail when sudo is missing. + nativeCheckInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ sudo ]; + checkFlags = [ + # These do not work in Nix's sandbox + "--skip" + "test_get_build_image_variants_expression" + "--skip" + "test_get_build_image_variants_file" + "--skip" + "test_get_build_image_variants_flake" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Tests that require sudo in PATH (not available on Darwin) + "--skip" + "test_build_sudo_cmd_basic" + "--skip" + "test_build_sudo_cmd_with_preserve_vars" + "--skip" + "test_build_sudo_cmd_with_preserve_vars_disabled" + "--skip" + "test_build_sudo_cmd_with_set_vars" + "--skip" + "test_build_sudo_cmd_force_no_stdin" + "--skip" + "test_build_sudo_cmd_with_remove_vars" + "--skip" + "test_build_sudo_cmd_with_askpass" + "--skip" + "test_build_sudo_cmd_env_added_once" + "--skip" + "test_elevation_strategy_passwordless_resolves" + "--skip" + "test_build_sudo_cmd_with_nix_config_spaces" + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; - for shell in bash zsh fish; do - NH_NO_CHECKS=1 ${emulator} $out/bin/nh completions $shell > completions/nh.$shell - done + postInstall = lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) '' + # Run both shell completion and manpage generation tasks. Unlike the + # fine-grained variants, the 'dist' command doesn't allow specifying the + # path but that's fine, because we can simply install them from the implicit + # output directories. + $out/bin/xtask dist - installShellCompletion completions/* + # The dist task above should've created + # 1. Shell completions in comp/ + # 2. The NH manpage (nh.1) in man/ + # Let's install those. + # The important thing to note here is that installShellCompletion cannot + # actually load *all* shell completions we generate with 'xtask dist'. + # Elvish, for example isn't supported. So we have to be very explicit + # about what we're installing, or this will fail. + installShellCompletion --cmd ${finalAttrs.meta.mainProgram} ./comp/*.{bash,fish,zsh,nu} + installManPage ./man/nh.1 - cargo xtask man --out-dir gen - installManPage gen/nh.1 - '' - ); + # Avoid populating PATH with an 'xtask' cmd + rm $out/bin/xtask + ''; - cargoHash = "sha256-cxZsePgraYevuYQSi3hTU2EsiDyn1epSIcvGi183fIU="; + cargoHash = "sha256-BLv69rL5L84wNTMiKHbSumFU4jVQqAiI1pS5oNLY9yE="; passthru.updateScript = nix-update-script { }; @@ -67,6 +110,7 @@ rustPlatform.buildRustPackage (finalAttrs: { mdaniels5757 viperML midischwarz12 + faukah ]; }; }) diff --git a/pkgs/by-name/ni/nickel/package.nix b/pkgs/by-name/ni/nickel/package.nix index 081dafa00ab57..8eeb37cf6d74f 100644 --- a/pkgs/by-name/ni/nickel/package.nix +++ b/pkgs/by-name/ni/nickel/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "nickel"; - version = "1.15.1"; + version = "1.16.0"; src = fetchFromGitHub { owner = "tweag"; repo = "nickel"; tag = finalAttrs.version; - hash = "sha256-NGivq2V4wdJapzU5iLcuHrz2RDz2WhnikmCq+75a338="; + hash = "sha256-G+ik4tMr+WsDpiEFYv80ruBR/SpeEg9agUWqgXrq7UI="; }; - cargoHash = "sha256-uCy/Qo92yZ4pjjgW64nWYH21EbdMMwGXP5522tl8MAE="; + cargoHash = "sha256-E3UBkLxd7AC/Pk1Zgy+KvHTPXgATqIr7lZXPB8vlSWs="; cargoBuildFlags = [ "--package" diff --git a/pkgs/by-name/ni/nix-heuristic-gc/package.nix b/pkgs/by-name/ni/nix-heuristic-gc/package.nix index 4158c0d014214..eccd9bd55aef9 100644 --- a/pkgs/by-name/ni/nix-heuristic-gc/package.nix +++ b/pkgs/by-name/ni/nix-heuristic-gc/package.nix @@ -9,13 +9,13 @@ }: python3Packages.buildPythonPackage rec { pname = "nix-heuristic-gc"; - version = "0.7.2"; + version = "0.7.3"; format = "setuptools"; src = fetchFromGitHub { owner = "risicle"; repo = "nix-heuristic-gc"; tag = "v${version}"; - hash = "sha256-6qZG3bbiPu3lad1YHy7oyZ4uPu7sagxlE6qcC+irjII="; + hash = "sha256-aTwILsqqlV0DEm9AhDKd6HCB022BbebPH/VwzDgzS4E="; }; # NIX_SYSTEM suggested at diff --git a/pkgs/by-name/ni/nix-scheduler-hook/package.nix b/pkgs/by-name/ni/nix-scheduler-hook/package.nix new file mode 100644 index 0000000000000..a5135748dced2 --- /dev/null +++ b/pkgs/by-name/ni/nix-scheduler-hook/package.nix @@ -0,0 +1,83 @@ +{ + fetchFromGitHub, + stdenv, + lib, + nix, + meson, + cmake, + ninja, + boost, + pkg-config, + nlohmann_json, + curl, + openpbs, + symlinkJoin, + slurm, +}: +let + restclient-cpp = fetchFromGitHub { + owner = "mrtazz"; + repo = "restclient-cpp"; + rev = "3356f816b161279cfbe318c45cb07c07fb8de6df"; + hash = "sha256-9//KssNRD7OJFNFdXgzsu7rKP/Nlb4wtmBjfhOt2Vgw="; + }; + slurmJoined = symlinkJoin { + name = "slurm"; + paths = [ + slurm + slurm.dev + ]; + }; +in +stdenv.mkDerivation rec { + pname = "nix-scheduler-hook"; + version = "0.6.1"; + + src = fetchFromGitHub { + owner = "lisanna-dettwyler"; + repo = "nix-scheduler-hook"; + tag = "v${version}"; + hash = "sha256-pB42rjqkASgdYQJD9nPqFSM0JAUIko1FN4d0J52BUsc="; + }; + + sourceRoot = "source/src"; + + nativeBuildInputs = [ + meson + cmake + ninja + pkg-config + ]; + + buildInputs = [ + boost + curl + nix.libs.nix-util + nix.libs.nix-store + nix.libs.nix-main + nlohmann_json + openpbs + slurmJoined + ]; + + postUnpack = '' + mkdir $sourceRoot/subprojects + cp -r ${restclient-cpp} $sourceRoot/subprojects/restclient-cpp + ''; + + installPhase = '' + mkdir -p $out/bin + mv nsh $out/bin + mkdir -p $out/lib + mv subprojects/restclient-cpp/librestclient_cpp.so $out/lib + ''; + + meta = { + description = "Nix build hook that forwards builds to job schedulers"; + homepage = "https://github.com/lisanna-dettwyler/nix-scheduler-hook"; + license = lib.licenses.lgpl21; + mainProgram = "nsh"; + maintainers = with lib.maintainers; [ lisanna-dettwyler ]; + inherit (nix.meta) platforms; + }; +} diff --git a/pkgs/by-name/ni/nix-search-tv/package.nix b/pkgs/by-name/ni/nix-search-tv/package.nix index 7a80fdd56fdfb..4535ad698c389 100644 --- a/pkgs/by-name/ni/nix-search-tv/package.nix +++ b/pkgs/by-name/ni/nix-search-tv/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "nix-search-tv"; - version = "2.2.6"; + version = "2.2.7"; src = fetchFromGitHub { owner = "3timeslazy"; repo = "nix-search-tv"; tag = "v${finalAttrs.version}"; - hash = "sha256-MWNVi0kz+AatoOcMLHTI5KoH0qcl6l8VFw8C0Hfub88="; + hash = "sha256-vWKMGj2fBUbsAvwoYjgT+L4hH0A96u4rDOaT0wnj7iw="; }; - vendorHash = "sha256-ZuhU1+XzJeiGheYNR4lL7AI5vgWvgp6iuJjMcK8t6Mg="; + vendorHash = "sha256-SSKDo4A8Nhvylghrw6d7CdHpZ7jObEr5V3r0Y9cH80Y="; subPackages = [ "cmd/nix-search-tv" ]; diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py index baf0c57c93b28..b5d927c51a3cd 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py @@ -265,22 +265,21 @@ def parser_warn(msg: str) -> None: if args.no_build_nix: parser_warn("--no-build-nix is deprecated, we do not build nix anymore") - if args.diff and args.action not in ( - # case for calling build_and_activate_system - # except excluding DRY_BUILD and DRY_ACTIVATE, - # in which --diff is uniquely a no-op - Action.SWITCH.value, - Action.BOOT.value, - Action.TEST.value, - Action.BUILD.value, - Action.BUILD_IMAGE.value, - Action.BUILD_VM.value, - Action.BUILD_VM_WITH_BOOTLOADER.value, + if ( + args.action + in ( + Action.DRY_BUILD.value, # --diff breaks dry-build + Action.EDIT.value, + Action.LIST_GENERATIONS.value, + Action.REPL.value, + ) + and args.diff ): parser_warn(f"--diff is a no-op with '{args.action}'") + args.diff = False if args.action == Action.EDIT.value and (args.file or args.attr): - parser.error("--file and --attr are not supported with 'edit'") + parser.error(f"--file and --attr are not supported with '{args.action}'") if (args.target_host or args.build_host) and args.action not in ( Action.SWITCH.value, diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py index f8c20878f5e1e..7fb37e8f97a94 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py @@ -63,20 +63,6 @@ def from_arg(cls, attr: str | None, file: str | None) -> Self: return cls(Path(file or "default.nix"), attr) -def _get_hostname(target_host: Remote | None) -> str | None: - if target_host: - try: - return run_wrapper( - ["uname", "-n"], - capture_output=True, - remote=target_host, - ).stdout.strip() - except (AttributeError, subprocess.CalledProcessError): - return None - else: - return platform.node() - - @dataclass(frozen=True) class Flake: path: str @@ -95,9 +81,7 @@ def parse(cls, flake_str: str, target_host: Remote | None = None) -> Self: m = cls._re.match(flake_str) assert m is not None, f"got no matches for {flake_str}" attr = m.group("attr") - nixos_attr = ( - f'nixosConfigurations."{attr or _get_hostname(target_host) or "default"}"' - ) + nixos_attr = f'nixosConfigurations."{attr or cls._get_hostname(target_host) or "default"}"' path = m.group("path") return cls(path, nixos_attr) @@ -126,6 +110,20 @@ def resolve_path_if_exists(self) -> str: except FileNotFoundError: return self.path + @staticmethod + def _get_hostname(target_host: Remote | None) -> str | None: + if target_host: + try: + return run_wrapper( + ["uname", "-n"], + capture_output=True, + remote=target_host, + ).stdout.strip() + except (AttributeError, subprocess.CalledProcessError): + return None + else: + return platform.node() + @dataclass(frozen=True) class Generation: diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py index 1e2bd91f71c5d..b1da9ef555dcd 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py @@ -25,7 +25,7 @@ Profile, Remote, ) -from .process import SSH_DEFAULT_OPTS, run_wrapper +from .process import PRESERVE_ENV, SSH_DEFAULT_OPTS, run_wrapper from .utils import Args, dict_to_flags FLAKE_FLAGS: Final = ["--extra-experimental-features", "nix-command flakes"] @@ -192,9 +192,7 @@ def copy_closure( Also supports copying a closure from a remote to another remote.""" sshopts = os.getenv("NIX_SSHOPTS", "") - extra_env = { - "NIX_SSHOPTS": " ".join(filter(lambda x: x, [sshopts, *SSH_DEFAULT_OPTS])) - } + env = {"NIX_SSHOPTS": " ".join(filter(lambda x: x, [sshopts, *SSH_DEFAULT_OPTS]))} def nix_copy_closure(host: Remote, to: bool) -> None: run_wrapper( @@ -205,7 +203,7 @@ def nix_copy_closure(host: Remote, to: bool) -> None: host.host, closure, ], - extra_env=extra_env, + env=env, ) def nix_copy(to_host: Remote, from_host: Remote) -> None: @@ -221,7 +219,7 @@ def nix_copy(to_host: Remote, from_host: Remote) -> None: f"ssh://{to_host.host}", closure, ], - extra_env=extra_env, + env=env, ) match (to_host, from_host): @@ -703,7 +701,11 @@ def switch_to_configuration( run_wrapper( [*cmd, path_to_config / "bin/switch-to-configuration", str(action)], - extra_env={"NIXOS_INSTALL_BOOTLOADER": "1" if install_bootloader else "0"}, + env={ + "LOCALE_ARCHIVE": PRESERVE_ENV, + "NIXOS_NO_CHECK": PRESERVE_ENV, + "NIXOS_INSTALL_BOOTLOADER": "1" if install_bootloader else "0", + }, remote=target_host, sudo=sudo, ) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py index df6beac954120..ac83d92039f7f 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py @@ -5,10 +5,11 @@ import re import shlex import subprocess -from collections.abc import Sequence +from collections.abc import Mapping, Sequence from dataclasses import dataclass +from enum import Enum from ipaddress import AddressValueError, IPv6Address -from typing import Final, Self, TextIO, TypedDict, Unpack +from typing import Final, Literal, Self, TextIO, TypedDict, Unpack, override from . import tmpdir @@ -23,7 +24,21 @@ "ControlPersist=60", ] -type Args = Sequence[str | bytes | os.PathLike[str] | os.PathLike[bytes]] + +class _Env(Enum): + PRESERVE_ENV = "PRESERVE" + + @override + def __repr__(self) -> str: + return self.value + + +PRESERVE_ENV: Final = _Env.PRESERVE_ENV + + +type Arg = str | bytes | os.PathLike[str] | os.PathLike[bytes] +type Args = Sequence[Arg] +type EnvValue = str | Literal[_Env.PRESERVE_ENV] @dataclass(frozen=True) @@ -106,70 +121,86 @@ def run_wrapper( args: Args, *, check: bool = True, - extra_env: dict[str, str] | None = None, + env: Mapping[str, EnvValue] | None = None, remote: Remote | None = None, sudo: bool = False, **kwargs: Unpack[RunKwargs], ) -> subprocess.CompletedProcess[str]: "Wrapper around `subprocess.run` that supports extra functionality." - env = None process_input = None - run_args = args + run_args: list[Arg] = list(args) + final_args: list[Arg] + + normalized_env = _normalize_env(env) + resolved_env = _resolve_env_local(normalized_env) if remote: - if extra_env: - extra_env_args = [f"{env}={value}" for env, value in extra_env.items()] - args = ["env", *extra_env_args, *args] + remote_run_args: list[Arg] = [ + "/bin/sh", + "-c", + _remote_shell_script(normalized_env), + "sh", + *run_args, + ] + if sudo: + sudo_args = shlex.split(os.getenv("NIX_SUDOOPTS", "")) if remote.sudo_password: - args = ["sudo", "--prompt=", "--stdin", *args] + remote_run_args = [ + "sudo", + "--prompt=", + "--stdin", + *sudo_args, + *remote_run_args, + ] process_input = remote.sudo_password + "\n" else: - args = ["sudo", *args] - run_args = [ + remote_run_args = ["sudo", *sudo_args, *remote_run_args] + + ssh_args: list[Arg] = [ "ssh", *remote.opts, *SSH_DEFAULT_OPTS, remote.ssh_host(), "--", - # SSH will join the parameters here and pass it to the shell, so we - # need to quote it to avoid issues. - # We can't use `shlex.join`, otherwise we will hit MAX_ARG_STRLEN - # limits when the command becomes too big. - *[shlex.quote(str(a)) for a in args], + *[_quote_remote_arg(a) for a in remote_run_args], ] + final_args = ssh_args + popen_env = None # keep ssh's environment normal + else: - if extra_env: - env = os.environ | extra_env if sudo: + # subprocess.run(env=...) would affect sudo, but sudo may drop env + # for the target command. + # So we inject env via `sudo env ... cmd`. + if env is not None and resolved_env: + run_args = _prefix_env_cmd(run_args, resolved_env) + sudo_args = shlex.split(os.getenv("NIX_SUDOOPTS", "")) - # Using --preserve-env is less than ideal since it will cause - # the following warn during usage: - # > warning: $HOME ('/home/') is not owned by you, - # > falling back to the one defined in the 'passwd' file ('/root') - # However, right now it is the only way to guarantee the semantics - # expected for the commands, e.g. activation with systemd-run - # expects access to environment variables like LOCALE_ARCHIVE, - # NIXOS_NO_CHECK. - # For now, for anyone that the above warn bothers you, please - # use `sudo nixos-rebuild` instead of `--sudo` flag. - run_args = ["sudo", "--preserve-env", *sudo_args, *run_args] + final_args = ["sudo", *sudo_args, *run_args] + + # No need to pass env to subprocess.run; keep sudo's own env + # default. + popen_env = None + else: + # Non-sudo local: we can fully control the environment with + # subprocess.run(env=...) + final_args = run_args + popen_env = None if env is None else resolved_env logger.debug( - "calling run with args=%r, kwargs=%r, extra_env=%r", - run_args, + "calling run with args=%r, kwargs=%r, env=%r", + _sanitize_env_run_args(remote_run_args if remote else run_args), kwargs, - extra_env, + env, ) try: r = subprocess.run( - run_args, + final_args, check=check, - env=env, + env=popen_env, input=process_input, - # Hope nobody is using NixOS with non-UTF8 encodings, but - # "surrogateescape" should still work in those systems. text=True, errors="surrogateescape", **kwargs, @@ -195,13 +226,94 @@ def run_wrapper( raise -# SSH does not send the signals to the process when running without usage of -# pseudo-TTY (that causes a whole other can of worms), so if the process is -# long running (e.g.: a build) this will result in the underlying process -# staying alive. -# See: https://stackoverflow.com/a/44354466 -# Issue: https://github.com/NixOS/nixpkgs/issues/403269 +def _resolve_env(env: Mapping[str, EnvValue] | None) -> dict[str, str]: + normalized = _normalize_env(env) + return _resolve_env_local(normalized) + + +def _normalize_env(env: Mapping[str, EnvValue] | None) -> dict[str, EnvValue]: + """ + Normalize env mapping, but preserve some environment variables by default. + """ + return {"PATH": PRESERVE_ENV, **(env or {})} + + +def _resolve_env_local(env: dict[str, EnvValue]) -> dict[str, str]: + """ + Resolve env mapping where values can be: + - PRESERVE_ENV: copy from current os.environ (if present) + - str: explicit value + """ + result: dict[str, str] = {} + + for k, v in env.items(): + if v == PRESERVE_ENV: + cur = os.environ.get(k) + if cur is not None: + result[k] = cur + else: + result[k] = v + return result + + +def _prefix_env_cmd(cmd: Sequence[Arg], resolved_env: dict[str, str]) -> list[Arg]: + """ + Prefix a command with `env -i K=V ... -- ` to set vars for the + command. + """ + if not resolved_env: + return list(cmd) + + assigns = [f"{k}={v}" for k, v in resolved_env.items()] + return ["env", "-i", *assigns, *cmd] + + +def _remote_shell_script(env: Mapping[str, EnvValue]) -> str: + """ + Build the POSIX shell wrapper used for remote execution over SSH. + + SSH sends the remote command as a shell-interpreted command line, so we + need a wrapper to establish a clean environment before `exec`-ing the real + command. This wrapper is always run under `/bin/sh -c` so preserved + variables like `${PATH-}` do not depend on the remote user's login shell. + """ + shell_assigns: list[str] = [] + for k, v in env.items(): + if v is PRESERVE_ENV: + shell_assigns.append(f'{k}="${{{k}-}}"') + else: + shell_assigns.append(f"{k}={shlex.quote(v)}") + return f'exec env -i {" ".join(shell_assigns)} "$@"' + + +def _quote_remote_arg(arg: Arg) -> str: + return shlex.quote(str(arg)) + + +def _sanitize_env_run_args(run_args: list[Arg]) -> list[Arg]: + """ + Sanitize long or sensitive environment variables from logs. + """ + sanitized: list[Arg] = [] + for value in run_args: + if isinstance(value, str) and value.startswith("PATH="): + sanitized.append("PATH=") + elif isinstance(value, str | bytes | os.PathLike): + sanitized.append(value) + else: + sanitized.append(str(value)) + return sanitized + + def _kill_long_running_ssh_process(args: Args, remote: Remote) -> None: + """ + SSH does not send the signals to the process when running without usage of + pseudo-TTY (that causes a whole other can of worms), so if the process is + long running (e.g.: a build) this will result in the underlying process + staying alive. + See: https://stackoverflow.com/a/44354466 + Issue: https://github.com/NixOS/nixpkgs/issues/403269 + """ logger.info("cleaning-up remote process, please wait...") # We need to escape both the shell and regex here (since pkill interprets diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py index f5b9609e14f71..8a170a1383269 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py @@ -103,8 +103,7 @@ def _get_system_attr( case Action.BUILD_IMAGE if flake: variants = nix.get_build_image_variants_flake( flake, - eval_flags=grouped_nix_args.flake_build_flags - | grouped_nix_args.flake_eval_flags, + eval_flags=grouped_nix_args.flake_eval_flags, ) _validate_image_variant(args.image_variant, variants) attr = f"config.system.build.images.{args.image_variant}" @@ -264,8 +263,7 @@ def print_result(msg: str, result: str | Path) -> None: image_name = nix.get_build_image_name_flake( flake, args.image_variant, - eval_flags=grouped_nix_args.flake_build_flags - | grouped_nix_args.flake_eval_flags, + eval_flags=grouped_nix_args.flake_eval_flags, ) else: image_name = nix.get_build_image_name( diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py index b0ef88b2963e7..7f51c09d74971 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py @@ -248,7 +248,6 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: | { "env": { "NIXOS_INSTALL_BOOTLOADER": "0", - "NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1", } } ), @@ -487,7 +486,6 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: call( [ "sudo", - "--preserve-env", "nix-env", "-p", Path("/nix/var/nix/profiles/system"), @@ -505,21 +503,15 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: call( [ "sudo", - "--preserve-env", + "env", + "-i", + "NIXOS_INSTALL_BOOTLOADER=1", *nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX, config_path / "bin/switch-to-configuration", "switch", ], check=True, - **( - DEFAULT_RUN_KWARGS - | { - "env": { - "NIXOS_INSTALL_BOOTLOADER": "1", - "NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1", - } - } - ), + **DEFAULT_RUN_KWARGS, ), ] ) @@ -625,6 +617,10 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: *nr.process.SSH_DEFAULT_OPTS, "user@build-host", "--", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "mktemp", "-d", "-t", @@ -640,6 +636,10 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: *nr.process.SSH_DEFAULT_OPTS, "user@build-host", "--", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "nix-store", "--realise", str(config_path), @@ -656,6 +656,10 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: *nr.process.SSH_DEFAULT_OPTS, "user@build-host", "--", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "readlink", "-f", "/tmp/tmpdir/config", @@ -670,6 +674,10 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: *nr.process.SSH_DEFAULT_OPTS, "user@build-host", "--", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "rm", "-rf", "/tmp/tmpdir", @@ -699,6 +707,10 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: "user@target-host", "--", "sudo", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "nix-env", "-p", "/nix/var/nix/profiles/system", @@ -714,6 +726,10 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: *nr.process.SSH_DEFAULT_OPTS, "user@target-host", "--", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "test", "-d", "/run/systemd/system", @@ -728,8 +744,10 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: "user@target-host", "--", "sudo", - "env", - "NIXOS_INSTALL_BOOTLOADER=0", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" LOCALE_ARCHIVE="${LOCALE_ARCHIVE-}" NIXOS_NO_CHECK="${NIXOS_NO_CHECK-}" NIXOS_INSTALL_BOOTLOADER=0 "$@"'""", + "sh", *nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX, str(config_path / "bin/switch-to-configuration"), "switch", @@ -806,6 +824,10 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: "user@localhost", "--", "sudo", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "nix-env", "-p", "/nix/var/nix/profiles/system", @@ -821,6 +843,10 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: *nr.process.SSH_DEFAULT_OPTS, "user@localhost", "--", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "test", "-d", "/run/systemd/system", @@ -835,8 +861,10 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: "user@localhost", "--", "sudo", - "env", - "NIXOS_INSTALL_BOOTLOADER=0", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" LOCALE_ARCHIVE="${LOCALE_ARCHIVE-}" NIXOS_NO_CHECK="${NIXOS_NO_CHECK-}" NIXOS_INSTALL_BOOTLOADER=0 "$@"'""", + "sh", *nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX, str(config_path / "bin/switch-to-configuration"), "switch", @@ -912,6 +940,10 @@ def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: *nr.process.SSH_DEFAULT_OPTS, "user@localhost", "--", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "nix", "--extra-experimental-features", "'nix-command flakes'", @@ -1121,6 +1153,10 @@ def test_execute_build_dry_run_build_and_target_remote( *nr.process.SSH_DEFAULT_OPTS, "user@build-host", "--", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "nix", "--extra-experimental-features", "'nix-command flakes'", @@ -1304,7 +1340,6 @@ def test_execute_switch_store_path(mock_run: Mock, tmp_path: Path) -> None: | { "env": { "NIXOS_INSTALL_BOOTLOADER": "0", - "NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1", } } ), @@ -1354,6 +1389,10 @@ def test_execute_switch_store_path_target_host( *nr.process.SSH_DEFAULT_OPTS, "user@remote-host", "--", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "test", "-f", str(config_path / "nixos-version"), @@ -1368,6 +1407,10 @@ def test_execute_switch_store_path_target_host( "user@remote-host", "--", "sudo", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "nix-env", "-p", "/nix/var/nix/profiles/system", @@ -1383,6 +1426,10 @@ def test_execute_switch_store_path_target_host( *nr.process.SSH_DEFAULT_OPTS, "user@remote-host", "--", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "test", "-d", "/run/systemd/system", @@ -1397,8 +1444,10 @@ def test_execute_switch_store_path_target_host( "user@remote-host", "--", "sudo", - "env", - "NIXOS_INSTALL_BOOTLOADER=0", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" LOCALE_ARCHIVE="${LOCALE_ARCHIVE-}" NIXOS_NO_CHECK="${NIXOS_NO_CHECK-}" NIXOS_INSTALL_BOOTLOADER=0 "$@"'""", + "sh", *nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX, str(config_path / "bin/switch-to-configuration"), "switch", diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py index 524527f8f68dc..8a69fd89fad74 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py @@ -134,9 +134,7 @@ def run_wrapper_side_effect( "user@host", Path("/path/to/file"), ], - extra_env={ - "NIX_SSHOPTS": " ".join(["--ssh opts", *p.SSH_DEFAULT_OPTS]) - }, + env={"NIX_SSHOPTS": " ".join(["--ssh opts", *p.SSH_DEFAULT_OPTS])}, ), call( ["mktemp", "-d", "-t", "nixos-rebuild.XXXXX"], @@ -208,9 +206,7 @@ def test_build_remote_flake( "user@host", Path("/path/to/file"), ], - extra_env={ - "NIX_SSHOPTS": " ".join(["--ssh opts", *p.SSH_DEFAULT_OPTS]) - }, + env={"NIX_SSHOPTS": " ".join(["--ssh opts", *p.SSH_DEFAULT_OPTS])}, ), call( [ @@ -241,7 +237,7 @@ def test_copy_closure(monkeypatch: MonkeyPatch) -> None: n.copy_closure(closure, target_host) mock_run.assert_called_with( ["nix-copy-closure", "--to", "user@target.host", closure], - extra_env={"NIX_SSHOPTS": " ".join(p.SSH_DEFAULT_OPTS)}, + env={"NIX_SSHOPTS": " ".join(p.SSH_DEFAULT_OPTS)}, ) monkeypatch.setenv("NIX_SSHOPTS", "--ssh build-opt") @@ -249,15 +245,11 @@ def test_copy_closure(monkeypatch: MonkeyPatch) -> None: n.copy_closure(closure, None, build_host, {"copy_flag": True}) mock_run.assert_called_with( ["nix-copy-closure", "--copy-flag", "--from", "user@build.host", closure], - extra_env={ - "NIX_SSHOPTS": " ".join(["--ssh build-opt", *p.SSH_DEFAULT_OPTS]) - }, + env={"NIX_SSHOPTS": " ".join(["--ssh build-opt", *p.SSH_DEFAULT_OPTS])}, ) monkeypatch.setenv("NIX_SSHOPTS", "--ssh build-target-opt") - extra_env = { - "NIX_SSHOPTS": " ".join(["--ssh build-target-opt", *p.SSH_DEFAULT_OPTS]) - } + env = {"NIX_SSHOPTS": " ".join(["--ssh build-target-opt", *p.SSH_DEFAULT_OPTS])} with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: n.copy_closure(closure, target_host, build_host, {"copy_flag": True}) mock_run.assert_called_with( @@ -273,7 +265,7 @@ def test_copy_closure(monkeypatch: MonkeyPatch) -> None: "ssh://user@target.host", closure, ], - extra_env=extra_env, + env=env, ) @@ -723,7 +715,11 @@ def test_switch_to_configuration_without_systemd_run( ) mock_run.assert_called_with( [profile_path / "bin/switch-to-configuration", "switch"], - extra_env={"NIXOS_INSTALL_BOOTLOADER": "0"}, + env={ + "LOCALE_ARCHIVE": p.PRESERVE_ENV, + "NIXOS_NO_CHECK": p.PRESERVE_ENV, + "NIXOS_INSTALL_BOOTLOADER": "0", + }, sudo=False, remote=None, ) @@ -760,7 +756,11 @@ def test_switch_to_configuration_without_systemd_run( config_path / "specialisation/special/bin/switch-to-configuration", "test", ], - extra_env={"NIXOS_INSTALL_BOOTLOADER": "1"}, + env={ + "LOCALE_ARCHIVE": p.PRESERVE_ENV, + "NIXOS_NO_CHECK": p.PRESERVE_ENV, + "NIXOS_INSTALL_BOOTLOADER": "1", + }, sudo=True, remote=target_host, ) @@ -791,7 +791,11 @@ def test_switch_to_configuration_with_systemd_run( profile_path / "bin/switch-to-configuration", "switch", ], - extra_env={"NIXOS_INSTALL_BOOTLOADER": "0"}, + env={ + "LOCALE_ARCHIVE": p.PRESERVE_ENV, + "NIXOS_NO_CHECK": p.PRESERVE_ENV, + "NIXOS_INSTALL_BOOTLOADER": "0", + }, sudo=False, remote=None, ) @@ -816,7 +820,11 @@ def test_switch_to_configuration_with_systemd_run( config_path / "specialisation/special/bin/switch-to-configuration", "test", ], - extra_env={"NIXOS_INSTALL_BOOTLOADER": "1"}, + env={ + "LOCALE_ARCHIVE": p.PRESERVE_ENV, + "NIXOS_NO_CHECK": p.PRESERVE_ENV, + "NIXOS_INSTALL_BOOTLOADER": "1", + }, sudo=True, remote=target_host, ) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py index a47ebe31f9bb4..a3c31d65c69db 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py @@ -7,6 +7,27 @@ import nixos_rebuild.process as p +def test_remote_shell_script() -> None: + assert p._remote_shell_script({"PATH": p.PRESERVE_ENV}) == ( + '''exec env -i PATH="${PATH-}" "$@"''' + ) + assert p._remote_shell_script( + { + "PATH": p.PRESERVE_ENV, + "LOCALE_ARCHIVE": p.PRESERVE_ENV, + "NIXOS_NO_CHECK": p.PRESERVE_ENV, + "NIXOS_INSTALL_BOOTLOADER": "0", + } + ) == ( + """exec env -i PATH="${PATH-}" LOCALE_ARCHIVE="${LOCALE_ARCHIVE-}" """ + '''NIXOS_NO_CHECK="${NIXOS_NO_CHECK-}" NIXOS_INSTALL_BOOTLOADER=0 "$@"''' + ) + assert p._remote_shell_script({"PATH": p.PRESERVE_ENV, "FOO": "some value"}) == ( + '''exec env -i PATH="${PATH-}" FOO='some value' "$@"''' + ) + + +@patch.dict(p.os.environ, {"PATH": "/path/to/bin"}, clear=True) @patch("subprocess.run", autospec=True) def test_run(mock_run: Any) -> None: p.run_wrapper(["test", "--with", "flags"], check=True) @@ -19,22 +40,27 @@ def test_run(mock_run: Any) -> None: input=None, ) - with patch.dict(p.os.environ, {"PATH": "/path/to/bin"}, clear=True): - p.run_wrapper( - ["test", "--with", "flags"], - check=False, - sudo=True, - extra_env={"FOO": "bar"}, - ) + p.run_wrapper( + ["test", "--with", "flags"], + check=False, + sudo=True, + env={"FOO": "bar"}, + ) mock_run.assert_called_with( - ["sudo", "--preserve-env", "test", "--with", "flags"], + [ + "sudo", + "env", + "-i", + "PATH=/path/to/bin", + "FOO=bar", + "test", + "--with", + "flags", + ], check=False, text=True, errors="surrogateescape", - env={ - "PATH": "/path/to/bin", - "FOO": "bar", - }, + env=None, input=None, ) @@ -51,6 +77,10 @@ def test_run(mock_run: Any) -> None: *p.SSH_DEFAULT_OPTS, "user@localhost", "--", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", "test", "--with", "'some flags'", @@ -66,7 +96,7 @@ def test_run(mock_run: Any) -> None: ["test", "--with", "flags"], check=True, sudo=True, - extra_env={"FOO": "bar"}, + env={"FOO": "bar"}, remote=m.Remote("user@localhost", ["--ssh", "opt"], "password"), ) mock_run.assert_called_with( @@ -80,8 +110,10 @@ def test_run(mock_run: Any) -> None: "sudo", "--prompt=", "--stdin", - "env", - "FOO=bar", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" FOO=bar "$@"'""", + "sh", "test", "--with", "flags", @@ -164,14 +196,58 @@ def test_ssh_host() -> None: @patch("subprocess.run", autospec=True) def test_custom_sudo_args(mock_run: Any) -> None: - with patch.dict(p.os.environ, {"NIX_SUDOOPTS": "--custom foo --args"}): + with patch.dict( + p.os.environ, + {"NIX_SUDOOPTS": "--custom foo --args", "PATH": "/path/to/bin"}, + clear=True, + ): p.run_wrapper( ["test"], check=False, sudo=True, ) mock_run.assert_called_with( - ["sudo", "--preserve-env", "--custom", "foo", "--args", "test"], + [ + "sudo", + "--custom", + "foo", + "--args", + "test", + ], + check=False, + env=None, + input=None, + text=True, + errors="surrogateescape", + ) + + with patch.dict( + p.os.environ, + {"NIX_SUDOOPTS": "--custom foo --args", "PATH": "/path/to/bin"}, + clear=True, + ): + p.run_wrapper( + ["test"], + check=False, + sudo=True, + remote=m.Remote("user@localhost", [], None), + ) + mock_run.assert_called_with( + [ + "ssh", + *p.SSH_DEFAULT_OPTS, + "user@localhost", + "--", + "sudo", + "--custom", + "foo", + "--args", + "/bin/sh", + "-c", + """'exec env -i PATH="${PATH-}" "$@"'""", + "sh", + "test", + ], check=False, env=None, input=None, diff --git a/pkgs/by-name/ni/nixseparatedebuginfod2/package.nix b/pkgs/by-name/ni/nixseparatedebuginfod2/package.nix index 1b1eae1215237..ef8992be225ed 100644 --- a/pkgs/by-name/ni/nixseparatedebuginfod2/package.nix +++ b/pkgs/by-name/ni/nixseparatedebuginfod2/package.nix @@ -1,4 +1,5 @@ { + stdenv, lib, fetchFromGitHub, rustPlatform, @@ -31,6 +32,7 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ pkg-config ]; + doCheck = stdenv.hostPlatform.isLinux; nativeCheckInputs = [ bubblewrap elfutils @@ -48,8 +50,11 @@ rustPlatform.buildRustPackage (finalAttrs: { description = "Downloads and provides debug symbols and source code for nix derivations to gdb and other debuginfod-capable debuggers as needed"; homepage = "https://github.com/symphorien/nixseparatedebuginfod2"; license = lib.licenses.gpl3Only; - maintainers = [ lib.maintainers.symphorien ]; - platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + symphorien + feyorsh + ]; + platforms = lib.platforms.unix; mainProgram = "nixseparatedebuginfod2"; }; }) diff --git a/pkgs/by-name/no/node-problem-detector/package.nix b/pkgs/by-name/no/node-problem-detector/package.nix index 8c54f708911c5..acc222ec9ddc8 100644 --- a/pkgs/by-name/no/node-problem-detector/package.nix +++ b/pkgs/by-name/no/node-problem-detector/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "node-problem-detector"; - version = "1.35.1"; + version = "1.35.2"; src = fetchFromGitHub { owner = "kubernetes"; repo = "node-problem-detector"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-0N1EJjULH/Tff4v6JMrvJdO3Iq8EY8gt6xbbh21D8io="; + sha256 = "sha256-hDf6F9sCrX6vu9FJlXTMRtGaA+gwI7PdqD9GKINHPO0="; }; vendorHash = null; diff --git a/pkgs/by-name/no/nodemon/package.nix b/pkgs/by-name/no/nodemon/package.nix index 0a189b1fd392e..0544eda6bdb05 100644 --- a/pkgs/by-name/no/nodemon/package.nix +++ b/pkgs/by-name/no/nodemon/package.nix @@ -7,16 +7,16 @@ buildNpmPackage rec { pname = "nodemon"; - version = "3.1.11"; + version = "3.1.14"; src = fetchFromGitHub { owner = "remy"; repo = "nodemon"; rev = "v${version}"; - hash = "sha256-nW3JTbz5fJ7nEqsB1ER7N3IiOu2GkUl5o9vZQZzkfxI="; + hash = "sha256-Kk42VjCmbkAfYzZEh4njyA4fodjmeCxIDraAZ8Hsd4g="; }; - npmDepsHash = "sha256-cZHfaUWhKZYKRe4Foc2UymZ8hTPrGLzlcXe1gMsW1pU="; + npmDepsHash = "sha256-XjbzoF83qhdvtKt22Onrm0hH+Bjh724Zm+qVoZsY/pM="; dontNpmBuild = true; diff --git a/pkgs/by-name/no/noto-fonts/package.nix b/pkgs/by-name/no/noto-fonts/package.nix index 68a6b989913a2..496e875047619 100644 --- a/pkgs/by-name/no/noto-fonts/package.nix +++ b/pkgs/by-name/no/noto-fonts/package.nix @@ -3,6 +3,7 @@ stdenvNoCC, fetchFromGitHub, gitUpdater, + rename, nixosTests, variants ? [ ], suffix ? "", @@ -31,6 +32,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-vhu3jojG6QlgY5gP4bCbpJznsQ1gExAfcRT42FcZUp4="; }; + nativeBuildInputs = [ + rename + ]; + outputs = [ "out" "megamerge" # Experimental fonts created by merging regular notofonts @@ -71,7 +76,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { fi done '' - ); + ) + + '' + rename 's/\[.*\]//' $out/share/fonts/noto/* + ''; passthru.updateScript = gitUpdater { rev-prefix = "noto-monthly-release-"; diff --git a/pkgs/by-name/no/noxdir/package.nix b/pkgs/by-name/no/noxdir/package.nix index b71a8a5ebc1d7..a0aee71d00aa9 100644 --- a/pkgs/by-name/no/noxdir/package.nix +++ b/pkgs/by-name/no/noxdir/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "noxdir"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "crumbyte"; repo = "noxdir"; tag = "v${finalAttrs.version}"; - hash = "sha256-+Q4G2Hx/l04RWji0LUM2irs2YjHwHPogeKDbpxkIVjE="; + hash = "sha256-Dq8u2h5l95ZQ7DEi60G8IAeF9kwYQY0KUxq3lq9e3Tk="; }; - vendorHash = "sha256-uRJP21bJ8NlJ0qOG81Gax9LJ+HdPfxLKj1Jjzbweync="; + vendorHash = "sha256-Wg1v2oAbaj7gWgj2AgDPZHdsDebgDs8Xcyvo3QYZ1dU="; checkPhase = '' runHook preCheck diff --git a/pkgs/by-name/nr/nrfconnect/package.nix b/pkgs/by-name/nr/nrfconnect/package.nix index ac0573c38773a..ac2566d1928f2 100644 --- a/pkgs/by-name/nr/nrfconnect/package.nix +++ b/pkgs/by-name/nr/nrfconnect/package.nix @@ -8,11 +8,11 @@ let pname = "nrfconnect"; - version = "5.1.0"; + version = "5.2.1"; src = fetchurl { - url = "https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-connect-for-desktop/${lib.versions.major version}-${lib.versions.minor version}-${lib.versions.patch version}/nrfconnect-${version}-x86_64.appimage"; - hash = "sha256-QEoKIdi8tlZ86langbCYJXSO+dGONBEQPdwmREIhZBA="; + url = "https://eu.files.nordicsemi.com/ui/api/v1/download?repoKey=web-assets-com_nordicsemi&path=external%2fswtools%2fncd%2flauncher%2fv${version}%2fnrfconnect-${version}-x86_64.AppImage"; + hash = "sha256-3YPH/HmeAHm1Cf4/tCUIRTdT3JX0tOLVS/b6lk27Wn4="; name = "${pname}-${version}.AppImage"; }; diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/by-name/ns/nsd/package.nix similarity index 59% rename from pkgs/servers/dns/nsd/default.nix rename to pkgs/by-name/ns/nsd/package.nix index e0cbb46ff7e40..46f17f508721f 100644 --- a/pkgs/servers/dns/nsd/default.nix +++ b/pkgs/by-name/ns/nsd/package.nix @@ -7,34 +7,34 @@ pkg-config, systemdMinimal, nixosTests, - bind8Stats ? false, - checking ? false, - ipv6 ? true, - mmap ? false, - minimalResponses ? true, - nsec3 ? true, - ratelimit ? false, - recvmmsg ? false, - rootServer ? false, - rrtypes ? false, - zoneStats ? false, - withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal, - configFile ? "/etc/nsd/nsd.conf", + config, + # set default options for config values + # maybe TODO: move these into a proper module + # (after https://github.com/NixOS/nixpkgs/pull/489889?) + bind8Stats ? config.nsd.bind8Stats or false, + checking ? config.nsd.checking or false, + ipv6 ? config.nsd.ipv6 or true, + mmap ? config.nsd.mmap or false, + minimalResponses ? config.nsd.minimalResponses or true, + nsec3 ? config.nsd.nsec3 or true, + ratelimit ? config.nsd.ratelimit or false, + recvmmsg ? config.nsd.recvmmsg or false, + rootServer ? config.nsd.rootServer or false, + rrtypes ? config.nsd.rrtypes or false, + zoneStats ? config.nsd.zoneStats or false, + withSystemd ? config.nsd.withSystemd or (lib.meta.availableOn stdenv.hostPlatform systemdMinimal), + configFile ? config.nsd.configFile or "/etc/nsd/nsd.conf", }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "nsd"; version = "4.12.0"; src = fetchurl { - url = "https://www.nlnetlabs.nl/downloads/${pname}/${pname}-${version}.tar.gz"; - sha256 = "sha256-+ezCz3m6UFgPLfYpGO/EQAhMW/EQV9tEwZqpZDzUteg="; + url = "https://www.nlnetlabs.nl/downloads/nsd/nsd-${finalAttrs.version}.tar.gz"; + hash = "sha256-+ezCz3m6UFgPLfYpGO/EQAhMW/EQV9tEwZqpZDzUteg="; }; - prePatch = '' - substituteInPlace nsd-control-setup.sh.in --replace openssl ${openssl}/bin/openssl - ''; - nativeBuildInputs = lib.optionals withSystemd [ pkg-config ]; @@ -49,6 +49,15 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + # TODO: prePatch doesn't actually get executed because patchPhase is overridden + prePatch = '' + substituteInPlace nsd-control-setup.sh.in --replace openssl ${openssl}/bin/openssl + ''; + + patchPhase = '' + sed 's@$(INSTALL_DATA) nsd.conf.sample $(DESTDIR)$(nsdconfigfile).sample@@g' -i Makefile.in + ''; + configureFlags = let edf = c: o: if c then [ "--enable-${o}" ] else [ "--disable-${o}" ]; @@ -72,10 +81,6 @@ stdenv.mkDerivation rec { "--with-configdir=etc/nsd" ]; - patchPhase = '' - sed 's@$(INSTALL_DATA) nsd.conf.sample $(DESTDIR)$(nsdconfigfile).sample@@g' -i Makefile.in - ''; - passthru.tests = { inherit (nixosTests) nsd; }; @@ -86,4 +91,4 @@ stdenv.mkDerivation rec { license = lib.licenses.bsd3; platforms = lib.platforms.unix; }; -} +}) diff --git a/pkgs/by-name/nt/ntfy-sh/package.nix b/pkgs/by-name/nt/ntfy-sh/package.nix index 084dd0497bc09..4a9bacb82a192 100644 --- a/pkgs/by-name/nt/ntfy-sh/package.nix +++ b/pkgs/by-name/nt/ntfy-sh/package.nix @@ -17,7 +17,7 @@ buildGoModule ( ui = buildNpmPackage { inherit (finalAttrs) src version; pname = "ntfy-sh-ui"; - npmDepsHash = "sha256-VxGNZgAp+w3vl6XaqUmkew2JYOgwiymInUwiyZ6/Gvs="; + npmDepsHash = "sha256-d73rymqCKalsjAwHSJshEovmUHJStfGt8wcZYN49sHY="; prePatch = '' cd web/ @@ -37,16 +37,16 @@ buildGoModule ( in { pname = "ntfy-sh"; - version = "2.15.0"; + version = "2.17.0"; src = fetchFromGitHub { owner = "binwiederhier"; repo = "ntfy"; tag = "v${finalAttrs.version}"; - hash = "sha256-vQ6cugoPLtuYqpZRj9gOR0x3+vOTRAkcBnkUyA6qmMw="; + hash = "sha256-/dxILAkye1HwYcybnx1WrMRK2jXZMrxal2ZKm6y2bWc="; }; - vendorHash = "sha256-7oFBD3FblGXZRyfvd2t9s3sKbmCB1L+IkeN83IjnGUk="; + vendorHash = "sha256-/mQ+UwBYz78mPVVwYgsSYatE00ce2AKXJdx+nl6oT8E="; doCheck = false; diff --git a/pkgs/by-name/nt/ntfy-sh/update.sh b/pkgs/by-name/nt/ntfy-sh/update.sh index 748c4df654279..2c005b09c2156 100755 --- a/pkgs/by-name/nt/ntfy-sh/update.sh +++ b/pkgs/by-name/nt/ntfy-sh/update.sh @@ -15,7 +15,7 @@ fi rm -f package-lock.json wget "$url/web/package-lock.json" npm_hash=$(prefetch-npm-deps package-lock.json) -sed -i 's#npmDepsHash = "[^"]*"#npmDepsHash = "'"$npm_hash"'"#' default.nix +sed -i 's#npmDepsHash = "[^"]*"#npmDepsHash = "'"$npm_hash"'"#' package.nix rm -f package-lock.json popd diff --git a/pkgs/servers/mail/nullmailer/default.nix b/pkgs/by-name/nu/nullmailer/package.nix similarity index 90% rename from pkgs/servers/mail/nullmailer/default.nix rename to pkgs/by-name/nu/nullmailer/package.nix index bd5a7ae909187..08a6333df6553 100644 --- a/pkgs/servers/mail/nullmailer/default.nix +++ b/pkgs/by-name/nu/nullmailer/package.nix @@ -1,20 +1,17 @@ { - stdenv, + gccStdenv, fetchurl, lib, tls ? true, - gnutls ? null, + gnutls, }: -assert tls -> gnutls != null; - -stdenv.mkDerivation rec { - +gccStdenv.mkDerivation (finalAttrs: { version = "2.2"; pname = "nullmailer"; src = fetchurl { - url = "https://untroubled.org/nullmailer/nullmailer-${version}.tar.gz"; + url = "https://untroubled.org/nullmailer/nullmailer-${finalAttrs.version}.tar.gz"; sha256 = "0md8cf90fl2yf3zh9njjy42a673v4j4ygyq95xg7fzkygdigm1lq"; }; @@ -55,4 +52,4 @@ stdenv.mkDerivation rec { platforms = lib.platforms.all; maintainers = [ ]; }; -} +}) diff --git a/pkgs/by-name/nw/nwg-hello/package.nix b/pkgs/by-name/nw/nwg-hello/package.nix index b73854815d1b2..e46f0e395f247 100644 --- a/pkgs/by-name/nw/nwg-hello/package.nix +++ b/pkgs/by-name/nw/nwg-hello/package.nix @@ -10,14 +10,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "nwg-hello"; - version = "0.4.2"; + version = "0.4.3"; pyproject = true; src = fetchFromGitHub { owner = "nwg-piotr"; repo = "nwg-hello"; tag = "v${finalAttrs.version}"; - hash = "sha256-SLz9qnk8JESTj1EeTJiQboDylEHC6r5KbvDhZ4zgiAo="; + hash = "sha256-sWp9fSCPb2MrHdvTBnmsvf3idrRPcqmBFsFbRXGjFB0="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ob/objection/package.nix b/pkgs/by-name/ob/objection/package.nix new file mode 100644 index 0000000000000..2e3f5f1b6ab99 --- /dev/null +++ b/pkgs/by-name/ob/objection/package.nix @@ -0,0 +1,64 @@ +{ + lib, + python3Packages, + fetchFromGitHub, + frida-tools, +}: + +python3Packages.buildPythonApplication rec { + pname = "objection"; + version = "1.12.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "sensepost"; + repo = "objection"; + tag = version; + hash = "sha256-xOqBYwpq46czRZggTNmNcqGqTA8omTLiOeZaF7zSvxo="; + }; + + build-system = with python3Packages; [ + setuptools + ]; + + buildInputs = [ + frida-tools + ]; + + dependencies = with python3Packages; [ + frida-python + prompt-toolkit + click + tabulate + semver + delegator-py + requests + flask + pygments + setuptools + packaging + litecli + ]; + + pythonImportsCheck = [ + "objection" + ]; + + doCheck = true; + + pythonRuntimeDepsCheck = true; + + meta = { + description = "Runtime mobile exploration toolkit, powered by Frida"; + longDescription = '' + objection is a runtime mobile exploration toolkit, powered by Frida, + built to help you assess the security posture of your mobile applications, + without needing a jailbreak. + ''; + homepage = "https://github.com/sensepost/objection"; + changelog = "https://github.com/sensepost/objection/releases/tag/${version}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ nullstring1 ]; + mainProgram = "objection"; + }; +} diff --git a/pkgs/by-name/ob/obsidian/package.nix b/pkgs/by-name/ob/obsidian/package.nix index 1cd5d65610a58..bca7b08609430 100644 --- a/pkgs/by-name/ob/obsidian/package.nix +++ b/pkgs/by-name/ob/obsidian/package.nix @@ -23,7 +23,6 @@ let maintainers = with lib.maintainers; [ conradmearns zaninime - qbit kashw2 w-lfchen ]; diff --git a/pkgs/by-name/oc/octoprint/package.nix b/pkgs/by-name/oc/octoprint/package.nix index 59a4c784a76d6..862f77ab649ab 100644 --- a/pkgs/by-name/oc/octoprint/package.nix +++ b/pkgs/by-name/oc/octoprint/package.nix @@ -92,14 +92,14 @@ let (self: super: { octoprint = self.buildPythonPackage rec { pname = "OctoPrint"; - version = "1.11.6"; + version = "1.11.7"; format = "setuptools"; src = fetchFromGitHub { owner = "OctoPrint"; repo = "OctoPrint"; rev = version; - hash = "sha256-iCxxfW5mPYoOfdsBxeAp+kUFU9hMHq+2RcGekITyMFI="; + hash = "sha256-X9+o3EpTtKAFiSmjOumRCDKNwBc9LVjvqyZqun3yDi8="; }; propagatedBuildInputs = diff --git a/pkgs/by-name/oh/oha/package.nix b/pkgs/by-name/oh/oha/package.nix index ec3a8d043e2e0..d6e0270e8b5bc 100644 --- a/pkgs/by-name/oh/oha/package.nix +++ b/pkgs/by-name/oh/oha/package.nix @@ -13,16 +13,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "oha"; - version = "1.13.0"; + version = "1.14.0"; src = fetchFromGitHub { owner = "hatoo"; repo = "oha"; tag = "v${finalAttrs.version}"; - hash = "sha256-fjWfv/RuEqU0krVfHNxByzHdREVL7dD/tSEw7X1gaGk="; + hash = "sha256-N6XHnglCn7MwSaMLy8qNUBXf23EJEuh6xn92SgNJgQs="; }; - cargoHash = "sha256-v+OfQEfAwHxX+FfC0UK2F8/e2tJKaI3zQpg+3hk2hV4="; + cargoHash = "sha256-Tg30RKcaLDWvSW0Ny34kPEZpIWnjILO+yO6kqz2wyQk="; env = { CARGO_PROFILE_RELEASE_LTO = "fat"; diff --git a/pkgs/by-name/ok/okolors/package.nix b/pkgs/by-name/ok/okolors/package.nix index 3441467b57ee2..bfc88abaad6ed 100644 --- a/pkgs/by-name/ok/okolors/package.nix +++ b/pkgs/by-name/ok/okolors/package.nix @@ -21,7 +21,7 @@ rustPlatform.buildRustPackage (finalAttrs: { description = "Generate a color palette from an image using k-means clustering in the Oklab color space"; homepage = "https://github.com/Ivordir/Okolors"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ laurent-f1z1 ]; + maintainers = [ ]; mainProgram = "okolors"; }; }) diff --git a/pkgs/by-name/ol/ollama/package.nix b/pkgs/by-name/ol/ollama/package.nix index 6369f10dd48f6..b73a869bd0870 100644 --- a/pkgs/by-name/ol/ollama/package.nix +++ b/pkgs/by-name/ol/ollama/package.nix @@ -137,16 +137,17 @@ let in goBuild (finalAttrs: { pname = "ollama"; - version = "0.15.6"; + version = "0.17.4"; src = fetchFromGitHub { owner = "ollama"; repo = "ollama"; tag = "v${finalAttrs.version}"; - hash = "sha256-II9ffgkMj2yx7Sek5PuAgRnUIS1Kf1UeK71+DwAgBRE="; + hash = "sha256-9yJ8Jbgrgiz/Pr6Se398DLkk1U2Lf5DDUi+tpEIjAaI="; }; - vendorHash = "sha256-r7bSHOYAB5f3fRz7lKLejx6thPx0dR4UXoXu0XD7kVM="; + vendorHash = "sha256-Lc1Ktdqtv2VhJQssk8K1UOimeEjVNvDWePE9WkamCos="; + proxyVendor = true; env = lib.optionalAttrs enableRocm { diff --git a/pkgs/by-name/om/omnictl/package.nix b/pkgs/by-name/om/omnictl/package.nix index 481745fffc86f..a3ba5323ba327 100644 --- a/pkgs/by-name/om/omnictl/package.nix +++ b/pkgs/by-name/om/omnictl/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "omnictl"; - version = "1.4.9"; + version = "1.5.7"; src = fetchFromGitHub { owner = "siderolabs"; repo = "omni"; rev = "v${version}"; - hash = "sha256-oArRGnw4/goAlcw6skw7SRBoPlWAMYHv92Wu7qtBSEQ="; + hash = "sha256-cTc4ZcFBF5RXg0JoI8W+SGVWOWOP3pbZwvvNgMnCB8Y="; }; - vendorHash = "sha256-lVUe1XQr46uzx3kfj7KmoiGFUGEb7UT16IQSI8In8RU="; + vendorHash = "sha256-KMe/gUVA0BSRD0CgEGKnCkK0KR+kDRnPBs1nNcNT7lE="; ldflags = [ "-s" diff --git a/pkgs/by-name/oo/oo7/package.nix b/pkgs/by-name/oo/oo7/package.nix index 9f91a0f82c15a..fe4f60248c953 100644 --- a/pkgs/by-name/oo/oo7/package.nix +++ b/pkgs/by-name/oo/oo7/package.nix @@ -10,20 +10,20 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "oo7"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { - owner = "bilelmoussaoui"; + owner = "linux-credentials"; repo = "oo7"; - rev = finalAttrs.version; - hash = "sha256-FIHXjbxAqEH3ekTNL0/TBFZoeDYZ84W2+UeJDxcauk8="; + tag = finalAttrs.version; + hash = "sha256-FPt37KEap7z1ant+6VHqqFBRwwE4YV3yQrc0V/kd+Mo="; }; # TODO: this won't cover tests from the client crate # Additionally cargo-credential will also not be built here buildAndTestSubdir = "cli"; - cargoHash = "sha256-4ibhHCRBsEcwG5+6Gf/uuswA/k9zJLj+RcMdmBcmvD4="; + cargoHash = "sha256-79bSlSbDaOtAXsJe1suMhvhsC/LoSDMZ+G/dhTTQ4EA="; nativeBuildInputs = [ pkg-config ]; @@ -35,8 +35,8 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "James Bond went on a new mission as a Secret Service provider"; - homepage = "https://github.com/bilelmoussaoui/oo7"; - changelog = "https://github.com/bilelmoussaoui/oo7/releases/tag/${finalAttrs.src.rev}"; + homepage = "https://github.com/linux-credentials/oo7"; + changelog = "https://github.com/linux-credentials/oo7/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ getchoo diff --git a/pkgs/by-name/op/opa-envoy-plugin/package.nix b/pkgs/by-name/op/opa-envoy-plugin/package.nix index 929457b92c380..1241f2e338655 100644 --- a/pkgs/by-name/op/opa-envoy-plugin/package.nix +++ b/pkgs/by-name/op/opa-envoy-plugin/package.nix @@ -14,16 +14,16 @@ assert buildGoModule (finalAttrs: { pname = "opa-envoy-plugin"; - version = "1.13.1-envoy"; + version = "1.13.2-envoy-2"; src = fetchFromGitHub { owner = "open-policy-agent"; repo = "opa-envoy-plugin"; tag = "v${finalAttrs.version}"; - hash = "sha256-XG1xnPOE922H/yMNyY0M8x5KW90TPZlq5UAXCEtgR18="; + hash = "sha256-2NztAdUcslKzr+OIMWWLJx76Fw0CNP1nw6056Xs6SVo="; }; - vendorHash = "sha256-vZgDQYkid1xNJhmefifcp695R672mz6tpo3g/gzrdBg="; + vendorHash = "sha256-3NV5YNwfZgcL+VYXBDWwtb+/0bwCgLRxE3XmLGA2Nkw="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/op/open-policy-agent/package.nix b/pkgs/by-name/op/open-policy-agent/package.nix index 1e27490dc9f78..d0836ae7d1d57 100644 --- a/pkgs/by-name/op/open-policy-agent/package.nix +++ b/pkgs/by-name/op/open-policy-agent/package.nix @@ -14,16 +14,16 @@ assert buildGoModule (finalAttrs: { pname = "open-policy-agent"; - version = "1.13.2"; + version = "1.14.0"; src = fetchFromGitHub { owner = "open-policy-agent"; repo = "opa"; tag = "v${finalAttrs.version}"; - hash = "sha256-dQtDFk8Qessso37fjH56xeTNPs9r8WF8YJpkV1tS7U4="; + hash = "sha256-U4Yrib38zY+Xk7Ogo6OfD/G46YxSfnpnUNd74zlo+7o="; }; - vendorHash = "sha256-Jn0vi1Ihyeog/LaUcuu/V9dd8l9LSdRSbtH1GPJrT50="; + vendorHash = "sha256-BS0qYV3hU+WWkm/LWKUhM9Y+IT3rqi9gwvg2TT9HZqw="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/op/openasar/package.nix b/pkgs/by-name/op/openasar/package.nix index a65e2ae4b94e8..ab9fddf48cef6 100644 --- a/pkgs/by-name/op/openasar/package.nix +++ b/pkgs/by-name/op/openasar/package.nix @@ -14,13 +14,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "openasar"; - version = "0-unstable-2025-11-21"; + version = "0-unstable-2026-02-23"; src = fetchFromGitHub { owner = "GooseMod"; repo = "OpenAsar"; - rev = "5b259e4efaf9eee69aeca7b2ef153e5bfedc35d0"; - hash = "sha256-HNdZK7r0nC3r1SLojmZXQFVI/1/wLnAhrkQZMJJChH8="; + rev = "31dfb7bcc0dfecc9e4ef62b65fbc5dcbc34d04fc"; + hash = "sha256-/Uc5u7YT2LxRkUtPyZ9Y9MQvKDmwQUSmexQFby9MWzI="; }; postPatch = '' diff --git a/pkgs/by-name/op/openbao/package.nix b/pkgs/by-name/op/openbao/package.nix index e780cb00ef42d..35c7920708e57 100644 --- a/pkgs/by-name/op/openbao/package.nix +++ b/pkgs/by-name/op/openbao/package.nix @@ -1,6 +1,7 @@ { lib, fetchFromGitHub, + fetchpatch2, buildGoModule, installShellFiles, versionCheckHook, @@ -23,7 +24,7 @@ buildGoModule (finalAttrs: { hash = "sha256-pVFsyNg9ccSFAdHb/fjeVoMBh1nKcjwcFfVBBqFalIo="; }; - vendorHash = "sha256-lfabvwO+p54SREvpCZdw5z/QMLDZqaf1UZTXWGm6sdg="; + vendorHash = "sha256-8F8HCbpk8st1o/64Y442lzzFXBnCs+mEYREYcj/s5KI="; proxyVendor = true; @@ -38,6 +39,15 @@ buildGoModule (finalAttrs: { "-X github.com/openbao/openbao/version.buildDate=1970-01-01T00:00:00Z" ]; + patches = [ + # Fixes interactive CLI usage that needs stty https://github.com/openbao/openbao/pull/2535 + (fetchpatch2 { + name = "pr2535-fix-interactive-cli.patch"; + url = "https://github.com/openbao/openbao/commit/e3fec111e3f6fd543c79c08f46d2256cd93f78e7.patch?full_index=1"; + hash = "sha256-ixpWKfVT1dPAjF7RKS2tBpAr1YAqNkvf4/L7Be/C8Es="; + }) + ]; + postConfigure = lib.optionalString withUi '' cp -r --no-preserve=mode ${finalAttrs.passthru.ui} http/web_ui ''; diff --git a/pkgs/by-name/op/openboard/package.nix b/pkgs/by-name/op/openboard/package.nix index 7af17060a913e..34264ff9a92fb 100644 --- a/pkgs/by-name/op/openboard/package.nix +++ b/pkgs/by-name/op/openboard/package.nix @@ -39,13 +39,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "openboard"; - version = "1.7.5"; + version = "1.7.6"; src = fetchFromGitHub { owner = "OpenBoard-org"; repo = "OpenBoard"; rev = "v${finalAttrs.version}"; - hash = "sha256-mu7bhJx+Mv6Megq2jYK1s8oVt8QCMvD6sd2nnxI3VsA="; + hash = "sha256-Jx6UKPOkFucmeeWx3XR0p2bAvRG6VNlVGU/YNLu4NEY="; }; postPatch = '' diff --git a/pkgs/by-name/op/opencascade-occt/package.nix b/pkgs/by-name/op/opencascade-occt/package.nix index 18ec7d85ef527..e01148ddb6ef5 100644 --- a/pkgs/by-name/op/opencascade-occt/package.nix +++ b/pkgs/by-name/op/opencascade-occt/package.nix @@ -86,7 +86,7 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.lgpl21; # essentially... # The special exception defined in the file OCCT_LGPL_EXCEPTION.txt # are basically about making the license a little less share-alike. - maintainers = with lib.maintainers; [ amiloradovsky ]; + maintainers = [ ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/op/opencloud/idp-web.nix b/pkgs/by-name/op/opencloud/idp-web.nix index 7ccd783a0563e..8cb818fe0ad5a 100644 --- a/pkgs/by-name/op/opencloud/idp-web.nix +++ b/pkgs/by-name/op/opencloud/idp-web.nix @@ -2,6 +2,8 @@ stdenvNoCC, lib, opencloud, + applyPatches, + fetchpatch, pnpm_10, fetchPnpmDeps, pnpmConfigHook, @@ -10,7 +12,18 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "opencloud-idp-web"; - inherit (opencloud) version src; + inherit (opencloud) version; + + src = applyPatches { + src = opencloud.src; + patches = [ + # Fixes broken kopano tarball, remove in next version + (fetchpatch { + url = "https://github.com/opencloud-eu/opencloud/commit/212846f2f4e23e89ed675e5a689d87ba1de55b70.patch"; + hash = "sha256-i+fkWTY4nrZ5fVGlQhhamxy9yrBL9OtDdm7CfV13oak="; + }) + ]; + }; pnpmRoot = "services/idp"; @@ -18,8 +31,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { inherit (finalAttrs) pname version src; pnpm = pnpm_10; sourceRoot = "${finalAttrs.src.name}/${finalAttrs.pnpmRoot}"; - fetcherVersion = 1; - hash = "sha256-NW7HK2B9h5JprK3JcIGi/OHcyoa5VTs/P0s3BZr+4FU="; + fetcherVersion = 3; + hash = "sha256-W5odz//dONpBg4eRQQoVrBMVsEQVkkP89hzMdIXxG7w="; }; nativeBuildInputs = [ @@ -30,18 +43,22 @@ stdenvNoCC.mkDerivation (finalAttrs: { buildPhase = '' runHook preBuild + cd $pnpmRoot pnpm build mkdir -p assets/identifier/static cp -v src/images/favicon.svg assets/identifier/static/favicon.svg cp -v src/images/icon-lilac.svg assets/identifier/static/icon-lilac.svg + runHook postBuild ''; installPhase = '' runHook preInstall + mkdir $out cp -r assets $out + runHook postInstall ''; diff --git a/pkgs/by-name/op/opencode-desktop/package.nix b/pkgs/by-name/op/opencode-desktop/package.nix index 8d9043bfe385f..01349c081c21c 100644 --- a/pkgs/by-name/op/opencode-desktop/package.nix +++ b/pkgs/by-name/op/opencode-desktop/package.nix @@ -32,7 +32,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ; cargoRoot = "packages/desktop/src-tauri"; - cargoHash = "sha256-6YOygSNNhAAD49ZkhWS03qGwVP2mvwItzJeyg0/ARLg="; + cargoHash = "sha256-WI48iYdxmizF1YgOQtk05dvrBEMqFjHP9s3+zBFAat0="; buildAndTestSubdir = finalAttrs.cargoRoot; nativeBuildInputs = [ diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix index ecfba63322913..a41c9c6f4ae0e 100644 --- a/pkgs/by-name/op/opencode/package.nix +++ b/pkgs/by-name/op/opencode/package.nix @@ -14,12 +14,12 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "opencode"; - version = "1.2.9"; + version = "1.2.13"; src = fetchFromGitHub { owner = "anomalyco"; repo = "opencode"; tag = "v${finalAttrs.version}"; - hash = "sha256-MPr+bJ3GVuVf5P/wCHxg+fk3+4Aca4EaV5NVtshAhuk="; + hash = "sha256-Svup7XCVQuIb5Ye7fb90L7dy3VcDy1gBBrqZ5ikOOC4="; }; node_modules = stdenvNoCC.mkDerivation { @@ -68,7 +68,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { # NOTE: Required else we get errors that our fixed-output derivation references store paths dontFixup = true; - outputHash = "sha256-jxCPz0vSIuF/E6idil2eEH92sWuo+7bGEAhr4JrNWj0="; + outputHash = "sha256-Diu/C8b5eKUn7MRTFBcN5qgJZTp0szg0ECkgEaQZ87Y="; outputHashAlgo = "sha256"; outputHashMode = "recursive"; }; diff --git a/pkgs/by-name/op/openfga/package.nix b/pkgs/by-name/op/openfga/package.nix index 57af4fb5e5d7a..72d0d731c2575 100644 --- a/pkgs/by-name/op/openfga/package.nix +++ b/pkgs/by-name/op/openfga/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "openfga"; - version = "1.11.5"; + version = "1.11.6"; src = fetchFromGitHub { owner = "openfga"; repo = "openfga"; rev = "v${finalAttrs.version}"; - hash = "sha256-5VS3sx4sHiJvWFDFw929Q5n6OZfCSHPgqtHgLEEeqHQ="; + hash = "sha256-Hb4oyfCpgIr7CtvX0MI65HiWRKrHFD9GzzqsC6X93iw="; }; - vendorHash = "sha256-m2ddB7yfZmTwWKvf/lTzmc2D4lR1JXc5sFlRgAi+q+s="; + vendorHash = "sha256-BpnlR3YICUX0AFegsc42QucBGlM+qEZGSlyhl39o2zA="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/op/openimageio/package.nix b/pkgs/by-name/op/openimageio/package.nix index daa9079fb044a..7fc57a983de74 100644 --- a/pkgs/by-name/op/openimageio/package.nix +++ b/pkgs/by-name/op/openimageio/package.nix @@ -1,25 +1,27 @@ { lib, - stdenv, - fetchFromGitHub, boost, + bzip2, cmake, + enablePython ? true, + fetchFromGitHub, + fmt, giflib, + libheif, libjpeg, + libjxl, libpng, libtiff, - libwebp, - libjxl, - libheif, libultrahdr, + libwebp, opencolorio, openexr, openjph, + ptex, + python3Packages, robin-map, + stdenv, unzip, - fmt, - bzip2, - ptex, }: stdenv.mkDerivation (finalAttrs: { @@ -47,6 +49,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ boost + bzip2 giflib libheif libjpeg @@ -58,17 +61,17 @@ stdenv.mkDerivation (finalAttrs: { opencolorio openexr openjph - robin-map - bzip2 ptex - ]; + robin-map + ] + ++ lib.optional enablePython python3Packages.pybind11; propagatedBuildInputs = [ fmt ]; cmakeFlags = [ - "-DUSE_PYTHON=OFF" + (lib.cmakeBool "USE_PYTHON" enablePython) "-DUSE_QT=OFF" # GNUInstallDirs "-DCMAKE_INSTALL_LIBDIR=lib" # needs relative path for pkg-config diff --git a/pkgs/by-name/op/openmpi/package.nix b/pkgs/by-name/op/openmpi/package.nix index df150d6eb66d4..20fc9b74502f2 100644 --- a/pkgs/by-name/op/openmpi/package.nix +++ b/pkgs/by-name/op/openmpi/package.nix @@ -40,11 +40,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "openmpi"; - version = "5.0.9"; + version = "5.0.10"; src = fetchurl { url = "https://www.open-mpi.org/software/ompi/v${lib.versions.majorMinor finalAttrs.version}/downloads/openmpi-${finalAttrs.version}.tar.bz2"; - sha256 = "sha256-37cnYlMRcIR68+Sg8h1317I8829nznzpAzZZJzZ32As="; + sha256 = "sha256-Cs7MT8IY5d69vLikHRgsaw8dKTkwFe12OyqR1dc3TMY="; }; postPatch = '' diff --git a/pkgs/by-name/op/openpbs/2709.patch b/pkgs/by-name/op/openpbs/2709.patch new file mode 100644 index 0000000000000..42fa105a6fb11 --- /dev/null +++ b/pkgs/by-name/op/openpbs/2709.patch @@ -0,0 +1,190 @@ +From 236aa3fa2f5ee68a8be21a5cc3a729fb90539f1e Mon Sep 17 00:00:00 2001 +From: Eisuke Kawashima +Date: Sun, 25 May 2025 20:38:53 +0900 +Subject: [PATCH] fix: fix -Wincompatible-pointer-types + +fix #2679 +--- + src/include/pbs_nodes.h | 4 ++-- + src/include/svrfunc.h | 2 +- + src/include/work_task.h | 2 +- + src/lib/Libattr/attr_fn_acl.c | 2 +- + src/lib/Libnet/net_server.c | 2 +- + src/server/hook_func.c | 2 +- + src/server/issue_request.c | 6 +++--- + src/server/node_manager.c | 2 +- + src/server/req_jobobit.c | 2 +- + src/server/req_manager.c | 2 +- + src/server/svr_movejob.c | 2 +- + 11 files changed, 14 insertions(+), 14 deletions(-) + +diff --git a/src/include/pbs_nodes.h b/src/include/pbs_nodes.h +index bc206fdb77..5dbf1a3268 100644 +--- a/src/include/pbs_nodes.h ++++ b/src/include/pbs_nodes.h +@@ -391,7 +391,7 @@ extern void set_vnode_state(struct pbsnode *, unsigned long, enum vnode_state_op + extern struct resvinfo *find_vnode_in_resvs(struct pbsnode *, enum vnode_degraded_op); + extern void free_rinf_list(struct resvinfo *); + extern void degrade_offlined_nodes_reservations(void); +-extern void degrade_downed_nodes_reservations(void); ++extern void degrade_downed_nodes_reservations(struct work_task *); + + extern int mod_node_ncpus(struct pbsnode *pnode, long ncpus, int actmode); + extern int initialize_pbsnode(struct pbsnode *, char *, int); +@@ -461,7 +461,7 @@ struct pbsnode *node_recov_db(char *nd_name, struct pbsnode *pnode); + extern int add_mom_to_pool(mominfo_t *); + extern void reset_pool_inventory_mom(mominfo_t *); + extern vnpool_mom_t *find_vnode_pool(mominfo_t *pmom); +-extern void mcast_msg(); ++extern void mcast_msg(struct work_task *); + int get_job_share_type(struct job *pjob); + #endif + +diff --git a/src/include/svrfunc.h b/src/include/svrfunc.h +index cc555fa88d..34f9958035 100644 +--- a/src/include/svrfunc.h ++++ b/src/include/svrfunc.h +@@ -311,7 +311,7 @@ extern int svr_connect(pbs_net_t, unsigned int, void (*)(int), enum conn_type, i + #ifdef _WORK_TASK_H + extern void release_req(struct work_task *); + #ifdef _BATCH_REQUEST_H +-extern int issue_Drequest(int, struct batch_request *, void (*)(), struct work_task **, int); ++extern int issue_Drequest(int, struct batch_request *, void (*)(struct work_task *), struct work_task **, int); + #endif /* _BATCH_REQUEST_H */ + #endif /* _WORK_TASK_H */ + +diff --git a/src/include/work_task.h b/src/include/work_task.h +index 3cceb659b0..4d81795a41 100644 +--- a/src/include/work_task.h ++++ b/src/include/work_task.h +@@ -90,7 +90,7 @@ struct work_task { + int wt_aux2; /* optional info 2: e.g. *real* child pid (windows), tpp msgid etc */ + }; + +-extern struct work_task *set_task(enum work_type, long event, void (*func)(), void *param); ++extern struct work_task *set_task(enum work_type, long event, void (*func)(struct work_task *), void *param); + extern int convert_work_task(struct work_task *ptask, enum work_type); + extern void clear_task(struct work_task *ptask); + extern void dispatch_task(struct work_task *); +diff --git a/src/lib/Libattr/attr_fn_acl.c b/src/lib/Libattr/attr_fn_acl.c +index 0ef2d5328e..b0373eafeb 100644 +--- a/src/lib/Libattr/attr_fn_acl.c ++++ b/src/lib/Libattr/attr_fn_acl.c +@@ -97,7 +97,7 @@ static int user_order(char *old, char *new); + static int group_order(char *old, char *new); + static int + set_allacl(attribute *, attribute *, enum batch_op, +- int (*order_func)()); ++ int (*order_func)(char *, char *)); + + /* for all decode_*acl() - use decode_arst() */ + /* for all encode_*acl() - use encode_arst() */ +diff --git a/src/lib/Libnet/net_server.c b/src/lib/Libnet/net_server.c +index 045acd303d..b9f6470dbd 100644 +--- a/src/lib/Libnet/net_server.c ++++ b/src/lib/Libnet/net_server.c +@@ -104,7 +104,7 @@ static char logbuf[256]; + /* Private function within this file */ + static int conn_find_usable_index(int); + static int conn_find_actual_index(int); +-static void accept_conn(); ++static void accept_conn(int); + static void cleanup_conn(int); + + /** +diff --git a/src/server/hook_func.c b/src/server/hook_func.c +index b9534dfb9a..e0d0e52745 100644 +--- a/src/server/hook_func.c ++++ b/src/server/hook_func.c +@@ -229,7 +229,7 @@ extern pbs_list_head svr_execjob_preresume_hooks; + extern time_t time_now; + extern struct python_interpreter_data svr_interp_data; + extern pbs_list_head task_list_event; +-extern struct work_task *add_mom_deferred_list(int stream, mominfo_t *minfo, void (*func)(), char *msgid, void *parm1, void *parm2); ++extern struct work_task *add_mom_deferred_list(int stream, mominfo_t *minfo, void (*func)(struct work_task *), char *msgid, void *parm1, void *parm2); + + extern char *path_rescdef; + extern char *path_hooks_rescdef; +diff --git a/src/server/issue_request.c b/src/server/issue_request.c +index 6bef14553b..6cf28dab76 100644 +--- a/src/server/issue_request.c ++++ b/src/server/issue_request.c +@@ -201,7 +201,7 @@ reissue_to_svr(struct work_task *pwt) + /* either timed-out or got hard error, tell post-function */ + pwt->wt_aux = -1; /* seen as error by post function */ + pwt->wt_event = -1; /* seen as connection by post func */ +- ((void (*)()) pwt->wt_parm2)(pwt); ++ ((void (*)(struct work_task *)) pwt->wt_parm2)(pwt); + } + return; + } +@@ -326,7 +326,7 @@ release_req(struct work_task *pwt) + * + */ + struct work_task * +-add_mom_deferred_list(int stream, mominfo_t *minfo, void (*func)(), char *msgid, void *parm1, void *parm2) ++add_mom_deferred_list(int stream, mominfo_t *minfo, void (*func)(struct work_task *), char *msgid, void *parm1, void *parm2) + { + struct work_task *ptask = NULL; + +@@ -394,7 +394,7 @@ add_mom_deferred_list(int stream, mominfo_t *minfo, void (*func)(), char *msgid, + * + */ + int +-issue_Drequest(int conn, struct batch_request *request, void (*func)(), struct work_task **ppwt, int prot) ++issue_Drequest(int conn, struct batch_request *request, void (*func)(struct work_task *), struct work_task **ppwt, int prot) + { + struct attropl *patrl; + struct work_task *ptask; +diff --git a/src/server/node_manager.c b/src/server/node_manager.c +index a6fbf5805e..62661a2361 100644 +--- a/src/server/node_manager.c ++++ b/src/server/node_manager.c +@@ -7923,7 +7923,7 @@ degrade_offlined_nodes_reservations(void) + * @par MT-safe: No + */ + void +-degrade_downed_nodes_reservations(void) ++degrade_downed_nodes_reservations(struct work_task *) + { + int i; + struct pbsnode *pn; +diff --git a/src/server/req_jobobit.c b/src/server/req_jobobit.c +index 37581cead4..034c3c0680 100644 +--- a/src/server/req_jobobit.c ++++ b/src/server/req_jobobit.c +@@ -1337,7 +1337,7 @@ job_obit(ruu *pruu, int stream) + job *pjob; + svrattrl *patlist; + struct work_task *ptask; +- void (*eojproc)(); ++ void (*eojproc)(struct work_task *); + char *mailmsg = NULL; + char *msg = NULL; + +diff --git a/src/server/req_manager.c b/src/server/req_manager.c +index 14a50de62e..ac617d7be8 100644 +--- a/src/server/req_manager.c ++++ b/src/server/req_manager.c +@@ -3612,7 +3612,7 @@ check_resource_set_on_jobs_or_resvs(struct batch_request *preq, resource_def *pr + * helper function to send/update resourcedef file. + */ + static void +-timed_send_rescdef() ++timed_send_rescdef(struct work_task *) + { + send_rescdef(1); /* forcing with 1 to avoid failures due to intermittent file stamp race issues */ + rescdef_wt_g = NULL; +diff --git a/src/server/svr_movejob.c b/src/server/svr_movejob.c +index c438d5d739..8947dc8c85 100644 +--- a/src/server/svr_movejob.c ++++ b/src/server/svr_movejob.c +@@ -122,7 +122,7 @@ extern time_t time_now; + extern int svr_create_tmp_jobscript(job *pj, char *script_name); + extern int scheduler_jobs_stat; + extern char *path_hooks_workdir; +-extern struct work_task *add_mom_deferred_list(int stream, mominfo_t *minfo, void (*func)(), char *msgid, void *parm1, void *parm2); ++extern struct work_task *add_mom_deferred_list(int stream, mominfo_t *minfo, void (*func)(struct work_task *), char *msgid, void *parm1, void *parm2); + + /** + * @brief diff --git a/pkgs/by-name/op/openpbs/2711.patch b/pkgs/by-name/op/openpbs/2711.patch new file mode 100644 index 0000000000000..e122758940d13 --- /dev/null +++ b/pkgs/by-name/op/openpbs/2711.patch @@ -0,0 +1,58 @@ +diff --git a/src/cmds/qstat.c b/src/cmds/qstat.c +index 440e37cb..cb7fe62c 100644 +--- a/src/cmds/qstat.c ++++ b/src/cmds/qstat.c +@@ -76,7 +76,6 @@ extern char *tcl_atrsep; + /* default server */ + char *def_server; + +-static void states(); + static char *cvtResvstate(char *); + static int cmp_est_time(struct batch_status *a, struct batch_status *b); + char *cnvt_est_start_time(char *start_time, int shortform); +diff --git a/src/cmds/qsub.c b/src/cmds/qsub.c +index f02bb5ef..54871a08 100644 +--- a/src/cmds/qsub.c ++++ b/src/cmds/qsub.c +@@ -89,6 +89,7 @@ + #include + #include + #include ++#include + #include "pbs_ifl.h" + #include "cmds.h" + #include "libpbs.h" +@@ -1944,7 +1945,6 @@ job_env_basic(void) + struct utsname uns; + #endif + int len = 0; +- char *getcwd(); + + /* Calculate how big to make the variable string. */ + len = 0; +diff --git a/src/include/qmgr.h b/src/include/qmgr.h +index eb021c53..17ae6522 100644 +--- a/src/include/qmgr.h ++++ b/src/include/qmgr.h +@@ -143,7 +143,7 @@ struct objname { + /* prototypes */ + struct objname *commalist2objname(char *, int); + struct server *find_server(char *); +-struct server *make_connection(); ++struct server *make_connection(char *); + struct server *new_server(); + struct objname *new_objname(); + struct objname *strings2objname(char **, int, int); +diff --git a/src/tools/pbs_tclWrap.c b/src/tools/pbs_tclWrap.c +index 558528ad..1a9dd1d4 100644 +--- a/src/tools/pbs_tclWrap.c ++++ b/src/tools/pbs_tclWrap.c +@@ -273,7 +273,7 @@ int + GetREQ(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) + { + int fd; +- char *ret, *getreq(); ++ char *ret; + char *cmd; + + cmd = Tcl_GetStringFromObj(objv[0], NULL); diff --git a/pkgs/by-name/op/openpbs/package.nix b/pkgs/by-name/op/openpbs/package.nix new file mode 100644 index 0000000000000..a50715c7b63cb --- /dev/null +++ b/pkgs/by-name/op/openpbs/package.nix @@ -0,0 +1,116 @@ +{ + stdenv, + fetchFromGitHub, + lib, + autoconf, + automake, + libtool, + gnum4, + symlinkJoin, + tcl-8_5, + tk-8_5, + swig, + pkg-config, + cjson, + openssl, + zlib, + libxt, + libx11, + libpq, + python3, + expat, + libedit, + hwloc, + libical, + krb5, + munge, + findutils, + gawk, +}: +let + tclWithTk = symlinkJoin { + name = "tcl-with-tk"; + paths = [ + tcl-8_5 + tk-8_5 + tk-8_5.dev + ]; + }; +in +stdenv.mkDerivation { + pname = "openpbs"; + version = "23.06.06-unstable-2026-01-29"; + + src = fetchFromGitHub { + owner = "openpbs"; + repo = "openpbs"; + rev = "cfd431b703e8cbe3bc99db6fbbcdd970625ef032"; + hash = "sha256-NZoSZmcl9a/6YWHO7qRNknB6ii0JBLo5bOpHDRKeuwI="; + }; + + nativeBuildInputs = [ + autoconf + automake + libtool + gnum4 + tclWithTk + swig + pkg-config + cjson + ]; + buildInputs = [ + openssl + zlib + libxt + libx11 + libpq + python3 + expat + libedit + hwloc + libical + krb5 + munge + ]; + + enableParallelBuilding = true; + + patches = [ + ./2709.patch + ./2711.patch + ]; + + postPatch = '' + substituteInPlace src/cmds/scripts/Makefile.am --replace-fail "/etc/profile.d" "$out/etc/profile.d" + substituteInPlace m4/pbs_systemd_unitdir.m4 --replace-fail "/usr/lib/systemd/system" "$out/lib/systemd/system" + ''; + + preConfigure = '' + ./autogen.sh + ''; + + configureFlags = [ + "--with-tcl=${tclWithTk}" + "--with-swig=${swig}" + "--sysconfdir=$out/etc" + ]; + + postInstall = '' + cp src/scheduler/pbs_{dedicated,holidays,resource_group,sched_config} $out/etc/ + ''; + + postFixup = '' + substituteInPlace $out/libexec/pbs_habitat --replace-fail /bin/ls ls + find $out/bin/ $out/sbin/ $out/libexec/ $out/lib/ -type f -exec file "{}" + | + awk -F: '/ELF/ {print $1}' | + xargs patchelf --add-needed libmunge.so --add-rpath ${munge}/lib + ''; + + meta = { + description = "HPC workload manager and job scheduler for desktops, clusters, and clouds"; + homepage = "https://www.openpbs.org/"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ lisanna-dettwyler ]; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/by-name/op/openroad/package.nix b/pkgs/by-name/op/openroad/package.nix index 84ef0b8b61cfe..1dee04cbf9df7 100644 --- a/pkgs/by-name/op/openroad/package.nix +++ b/pkgs/by-name/op/openroad/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, yaml-cpp, # nativeBuildInputs @@ -53,6 +54,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-DMyoqDse9W6ahOajEINzFpgLsSKam/I1mQkRSSKepI8="; }; + patches = [ + (fetchpatch { + name = "fix-openroad-commit-2a8b2c7.patch"; + url = "https://github.com/The-OpenROAD-Project/OpenROAD/commit/2a8b2c7dcda87679a69df323b2ada5f3a21554ea.patch"; + hash = "sha256-vgmVpr+vHbOd8UUUUyJ8sTKi0Y7CWYatF006WX4+zFI="; + }) + ]; + nativeBuildInputs = [ bison cmake @@ -98,10 +107,13 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' patchShebangs etc/ - # C++20 Fixes - sed -e '39i #include ' -i src/gpl/src/placerBase.h - sed -e '37i #include ' -i src/gpl/src/routeBase.h + # Disable CutGTests because it misses core manager implementation + # and fails under strict Nix linking. Filed as issue #9563. + if [ -f src/cut/test/cpp/CMakeLists.txt ]; then + echo "" > src/cut/test/cpp/CMakeLists.txt + fi '' + # Disable failing PSM tests on aarch64 + lib.optionalString stdenv.hostPlatform.isAarch64 '' if [ -f src/psm/test/CMakeLists.txt ]; then diff --git a/pkgs/by-name/op/openscad/boost-1.89.patch b/pkgs/by-name/op/openscad/boost-1.89.patch new file mode 100644 index 0000000000000..9b01fbcd24cbd --- /dev/null +++ b/pkgs/by-name/op/openscad/boost-1.89.patch @@ -0,0 +1,65 @@ +diff --git a/features/boost.prf b/features/boost.prf +index 518d08b8f..4e092f6e7 100644 +--- a/features/boost.prf ++++ b/features/boost.prf +@@ -17,7 +17,7 @@ CONFIG(mingw-cross-env)|CONFIG(mingw-cross-env-shared) { + DEFINES += BOOST_STATIC + DEFINES += Boost_USE_STATIC_LIBS + } +- BOOST_LINK_FLAGS = -lboost_thread_win32-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt -lboost_chrono-mt ++ BOOST_LINK_FLAGS = -lboost_thread_win32-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_regex-mt -lboost_chrono-mt + } + + # MSYS2 +@@ -25,7 +25,7 @@ isEmpty(BOOST_LINK_FLAGS):win32-g++ { + DEFINES += BOOST_STATIC + DEFINES += BOOST_THREAD_USE_LIB + DEFINES += Boost_USE_STATIC_LIBS +- BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt ++ BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_regex-mt + } + + # check for OPENSCAD_LIBDIR + multithread +@@ -33,10 +33,10 @@ isEmpty(BOOST_LINK_FLAGS) { + OPENSCAD_LIBDIR = $$(OPENSCAD_LIBRARIES) + !isEmpty(OPENSCAD_LIBDIR) { + exists($$OPENSCAD_LIBDIR/lib/libboost*thread-mt*) { +- BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt ++ BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_regex-mt + } else { + exists($$OPENSCAD_LIBDIR/lib/libboost*thread*) { +- BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_system -lboost_regex ++ BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_regex + } + } + } +@@ -47,10 +47,10 @@ isEmpty(BOOST_LINK_FLAGS) { + BOOST_DIR = $$(BOOSTDIR) + !isEmpty(BOOST_DIR) { + exists($$BOOST_DIR/lib/libboost*thread-mt*) { +- BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt ++ BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_regex-mt + } else { + exists($$BOOST_DIR/lib/libboost*thread*) { +- BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_system -lboost_regex ++ BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_regex + } + } + } +@@ -64,14 +64,14 @@ isEmpty(BOOST_LINK_FLAGS) { + BMT_TEST4 = /usr/local/lib/libboost*thread-mt* # homebrew + BMT_TEST5 = /opt/local/lib/libboost*thread-mt* # macports + exists($$BMT_TEST1)|exists($$BMT_TEST2)|exists($$BMT_TEST3)|exists($$BMT_TEST4)|exists($$BMT_TEST5) { +- BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt ++ BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_regex-mt + } + } + } + + isEmpty(BOOST_LINK_FLAGS) { + unix|macx { +- BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_system -lboost_regex ++ BOOST_LINK_FLAGS = -lboost_thread -lboost_program_options -lboost_filesystem -lboost_regex + } + } + diff --git a/pkgs/by-name/op/openscad/package.nix b/pkgs/by-name/op/openscad/package.nix index cde2b79f30203..324baf21b85ee 100644 --- a/pkgs/by-name/op/openscad/package.nix +++ b/pkgs/by-name/op/openscad/package.nix @@ -32,16 +32,17 @@ cairo, openscad, runCommand, + versionCheckHook, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "openscad"; version = "2021.01"; src = fetchFromGitHub { owner = "openscad"; repo = "openscad"; - rev = "${pname}-${version}"; + rev = "${finalAttrs.pname}-${finalAttrs.version}"; sha256 = "sha256-2tOLqpFt5klFPxHNONnHVzBKEFWn4+ufx/MU+eYbliA="; }; @@ -84,6 +85,9 @@ stdenv.mkDerivation rec { sed -i 's/& / \&/g;s/\*\*/\0 /g;s/^\(.\) /\1\t/' "$out" ''; }) + # unfortunately the archlinux patch does not apply cleanly + # source: https://gitlab.archlinux.org/archlinux/packaging/packages/openscad/-/raw/ecc27e16ae6fee51c6806690d76f9ba326af79c1/boost-1.89.patch + ./boost-1.89.patch ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # ref. https://github.com/openscad/openscad/pull/4013 merged upstream @@ -116,6 +120,7 @@ stdenv.mkDerivation rec { libsForQt5.qmake libsForQt5.wrapQtAppsHook wrapGAppsHook3 + versionCheckHook ]; buildInputs = [ @@ -149,7 +154,7 @@ stdenv.mkDerivation rec { ++ lib.optional spacenavSupport libspnav; qmakeFlags = [ - "VERSION=${version}" + "VERSION=${finalAttrs.version}" "LIB3MF_INCLUDEPATH=${lib3mf.dev}/include/lib3mf/Bindings/Cpp" "LIB3MF_LIBPATH=${lib3mf}/lib" ] @@ -165,6 +170,8 @@ stdenv.mkDerivation rec { make objects/parser.cxx ''; + doInstallCheck = true; + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir $out/Applications mv $out/bin/*.app $out/Applications @@ -201,9 +208,9 @@ stdenv.mkDerivation rec { passthru.tests = { lib3mf_support = - runCommand "${pname}-lib3mf-support-test" + runCommand "${finalAttrs.pname}-lib3mf-support-test" { - nativeBuildInputs = [ openscad ]; + nativeBuildInputs = [ finalAttrs.finalPackage ]; } '' echo "cube([1, 1, 1]);" | openscad -o cube.3mf - @@ -211,4 +218,4 @@ stdenv.mkDerivation rec { mv cube-import.3mf $out ''; }; -} +}) diff --git a/pkgs/development/compilers/osl/default.nix b/pkgs/by-name/op/openshadinglanguage/package.nix similarity index 89% rename from pkgs/development/compilers/osl/default.nix rename to pkgs/by-name/op/openshadinglanguage/package.nix index 5d1450f001029..7623cf177d698 100644 --- a/pkgs/development/compilers/osl/default.nix +++ b/pkgs/by-name/op/openshadinglanguage/package.nix @@ -1,23 +1,23 @@ { - stdenv, - lib, - fetchFromGitHub, - cmake, + bison, + boost, clang, + cmake, + fetchFromGitHub, + flex, + lib, libclang, libxml2, - zlib, + llvm, openexr, openimageio, - llvm, - boost, - flex, - bison, partio, pugixml, + python3Packages, robin-map, + stdenv, util-linux, - python3, + zlib, }: let @@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "AcademySoftwareFoundation"; repo = "OpenShadingLanguage"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-+PNh4xFdH8onxK0OTnQHbdupTaB2hTgDumY0krJiWUE="; }; @@ -70,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: { openimageio partio pugixml - python3.pkgs.pybind11 + python3Packages.pybind11 robin-map util-linux # needed just for hexdump zlib @@ -79,6 +79,10 @@ stdenv.mkDerivation (finalAttrs: { libxml2 ]; + propagatedBuildInputs = [ + python3Packages.openimageio + ]; + postFixup = '' substituteInPlace "$out"/lib/pkgconfig/*.pc \ --replace '=''${exec_prefix}//' '=/' @@ -86,7 +90,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Advanced shading language for production GI renderers"; - homepage = "https://opensource.imageworks.com/osl.html"; + homepage = "http://openshadinglanguage.org"; maintainers = with lib.maintainers; [ hodapp ]; license = lib.licenses.bsd3; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/op/opensmtpd/offline.patch b/pkgs/by-name/op/opensmtpd/offline.patch new file mode 100644 index 0000000000000..69e36bcc58704 --- /dev/null +++ b/pkgs/by-name/op/opensmtpd/offline.patch @@ -0,0 +1,20 @@ +Commit ID: 0527fcb65d6af4271a33dbd425f30d457fc7ab4f +Change ID: puqrnyuutmspqxqtkkqqrsmsxnyqvomm +Author : Ricardo Correia (2026-02-18 23:51:00) +Committer: Ricardo Correia (2026-02-19 00:43:47) + + (no description set) + +diff --git a/usr.sbin/smtpd/smtpd.c b/usr.sbin/smtpd/smtpd.c +index 2365b1ee46..b9e40e1417 100644 +--- a/usr.sbin/smtpd/smtpd.c ++++ b/usr.sbin/smtpd/smtpd.c +@@ -1806,7 +1806,7 @@ + envp[1] = (char *)NULL; + environ = envp; + +- execvp(PATH_SMTPCTL, args.list); ++ execvp(@@PATH_SENDMAIL@@, args.list); + _exit(1); + } + diff --git a/pkgs/by-name/op/opensmtpd/package.nix b/pkgs/by-name/op/opensmtpd/package.nix index bc1e20cdd1772..6bb0ea028df0b 100644 --- a/pkgs/by-name/op/opensmtpd/package.nix +++ b/pkgs/by-name/op/opensmtpd/package.nix @@ -14,6 +14,7 @@ pam, libxcrypt, nixosTests, + binPath ? "/run/wrappers/bin", }: stdenv.mkDerivation (finalAttrs: { @@ -43,11 +44,20 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./proc_path.diff # TODO: upstream to OpenSMTPD, see https://github.com/NixOS/nixpkgs/issues/54045 + ./offline.patch ]; postPatch = '' - substituteInPlace mk/smtpctl/Makefile.am --replace "chgrp" "true" - substituteInPlace mk/smtpctl/Makefile.am --replace "chmod 2555" "chmod 0555" + substituteInPlace mk/smtpctl/Makefile.am \ + --replace-fail "chgrp" "true" \ + --replace "chmod 2555" "chmod 0555" + substituteInPlace mk/pathnames \ + --replace-fail "-DPATH_SMTPCTL=\\\"\$(sbindir)" \ + "-DPATH_SMTPCTL=\\\"${binPath}" \ + --replace-fail "-DPATH_MAKEMAP=\\\"\$(sbindir)" \ + "-DPATH_MAKEMAP=\\\"${binPath}" + substituteInPlace usr.sbin/smtpd/smtpd.c \ + --replace-fail "@@PATH_SENDMAIL@@" "\"${binPath}/sendmail\"" ''; configureFlags = [ diff --git a/pkgs/by-name/op/openspades/package.nix b/pkgs/by-name/op/openspades/package.nix index 4379fbe12e2cf..6eebb66c8429c 100644 --- a/pkgs/by-name/op/openspades/package.nix +++ b/pkgs/by-name/op/openspades/package.nix @@ -93,7 +93,7 @@ stdenv.mkDerivation rec { cp $notoFont $out/share/games/openspades/Resources/ ''; - NIX_CFLAGS_LINK = "-lopenal"; + env.NIX_CFLAGS_LINK = "-lopenal"; meta = { description = "Compatible client of Ace of Spades 0.75"; diff --git a/pkgs/by-name/os/oscar/package.nix b/pkgs/by-name/os/oscar/package.nix index c67308279db11..ef326483e9274 100644 --- a/pkgs/by-name/os/oscar/package.nix +++ b/pkgs/by-name/os/oscar/package.nix @@ -8,13 +8,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "oscar"; - version = "1.7.0"; + version = "1.7.1"; src = fetchFromGitLab { owner = "CrimsonNape"; repo = "OSCAR-code"; rev = "v${finalAttrs.version}"; - hash = "sha256-4ekhhzX//u/UFrqIriPmhxdjEGJ1LXczZU2ZCmC+Uvo="; + hash = "sha256-cOhbWihTHGkBxiMGZhBZ3ejo8kOxlWDctun3Mz5h7AQ="; }; buildInputs = [ diff --git a/pkgs/by-name/os/osu-micro-benchmarks/package.nix b/pkgs/by-name/os/osu-micro-benchmarks/package.nix new file mode 100644 index 0000000000000..6ba29571ae30c --- /dev/null +++ b/pkgs/by-name/os/osu-micro-benchmarks/package.nix @@ -0,0 +1,58 @@ +{ + lib, + stdenv, + fetchurl, + mpi, +}: + +let + mpiDev = lib.getDev mpi; +in + +stdenv.mkDerivation (finalAttrs: { + pname = "osu-micro-benchmarks"; + version = "7.5.2"; + + src = fetchurl { + url = "https://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-${finalAttrs.version}.tar.gz"; + hash = "sha256-YY3j0LESL3OpIpF30toeXNYuQxGQWAy5FfJgWEnLu9w="; + }; + + nativeBuildInputs = [ mpi ]; + + buildInputs = [ mpi ]; + + configureFlags = [ + "CC=${mpiDev}/bin/mpicc" + "CXX=${mpiDev}/bin/mpicxx" + ]; + + enableParallelBuilding = true; + + postInstall = '' + mkdir -p $out/bin + find $out/libexec -name 'osu_*' -type f -executable | while read -r f; do + ln -s "$f" "$out/bin/" + done + ''; + + meta = { + description = "OSU Micro-Benchmarks for MPI"; + longDescription = '' + The OSU microbenchmark suite is a collection of independent message passing interface (MPI) performance + benchmarks. It includes performance measures such as latency, bandwidth, and host overhead. + + Common benchmarks: + - osu_latency: Point-to-point latency + - osu_bw: Point-to-point bandwidth + - osu_bibw: Bidirectional bandwidth + - osu_allreduce: Collective allreduce + - osu_alltoall: Collective all-to-all + ''; + homepage = "https://mvapich.cse.ohio-state.edu/benchmarks/"; + license = lib.licenses.bsd3; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ spaghetti-stack ]; + mainProgram = "osu_latency"; + }; +}) diff --git a/pkgs/by-name/os/osv-scanner/package.nix b/pkgs/by-name/os/osv-scanner/package.nix index 38d3097b71d5e..98fd61c651441 100644 --- a/pkgs/by-name/os/osv-scanner/package.nix +++ b/pkgs/by-name/os/osv-scanner/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "osv-scanner"; - version = "2.3.2"; + version = "2.3.3"; src = fetchFromGitHub { owner = "google"; repo = "osv-scanner"; tag = "v${finalAttrs.version}"; - hash = "sha256-IulgR8bXD/NBya5hK49uUbjKoVR9Xg4ZyvhI4eswoRE="; + hash = "sha256-XUNtSLokTp7fq25vAb1hVg2eCtok+pe/nIWKMu4tVlI="; }; - vendorHash = "sha256-jMLZ0EARnUX0c40exl9d/lrbr3ClM9JmlUDiirFlBzU="; + vendorHash = "sha256-tSvKKX4P3XzHMF7jYnupZ5Fd9DUfIHT9a1bOHhB2gMs="; subPackages = [ "cmd/osv-scanner" diff --git a/pkgs/by-name/ou/outline/package.nix b/pkgs/by-name/ou/outline/package.nix index 27e50d3638d20..ce2fd40ec676b 100644 --- a/pkgs/by-name/ou/outline/package.nix +++ b/pkgs/by-name/ou/outline/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "outline"; - version = "1.4.0"; + version = "1.5.0"; src = fetchFromGitHub { owner = "outline"; repo = "outline"; rev = "v${finalAttrs.version}"; - hash = "sha256-AxTgD5zqJ9PFdhvfbiHLDjEHzhMLPOsjGtjrzTle4qw="; + hash = "sha256-q/T1smxmWotXBbwKXNmKqTYYRNV2ne9PfhVM2Lj7BiE="; }; missingHashes = ./missing-hashes.json; @@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: { offlineCache = yarn-berry_4.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes; - hash = "sha256-GtuiC8/zlhWtXjSIEAIEzMbvUeXN6vUhi2CrRye2rus="; + hash = "sha256-R5fRNtMV8K4NJ4MOx49m0RZGIdhtJVAwFaVMaDdPkGQ="; }; buildPhase = '' diff --git a/pkgs/by-name/ox/oxwm/package.nix b/pkgs/by-name/ox/oxwm/package.nix index 9f33f1a1b7459..89fa968e1bdba 100644 --- a/pkgs/by-name/ox/oxwm/package.nix +++ b/pkgs/by-name/ox/oxwm/package.nix @@ -1,34 +1,38 @@ { lib, - rustPlatform, + stdenv, fetchFromGitHub, + zig, pkg-config, libx11, libxft, - libxrender, + libxinerama, + lua5_4, freetype, fontconfig, - versionCheckHook, + writableTmpDirAsHomeHook, }: -rustPlatform.buildRustPackage (finalAttrs: { +stdenv.mkDerivation (finalAttrs: { pname = "oxwm"; - version = "0.9.0"; + version = "0.11.3"; src = fetchFromGitHub { owner = "tonybanters"; repo = "oxwm"; tag = "v${finalAttrs.version}"; - hash = "sha256-zVYYRGe5ZIR1AJgKZi9s403NKM7hKAqhEbNWYSkgpT0="; + hash = "sha256-W6muqajSk9UR646ZmLkx/wWfiaWLo+d1lJMiLm82NC8="; }; - cargoHash = "sha256-Rs8eGR8WY7qOPM0rfu6lTNDl6TVMR+rrIc6Ub+M7vfs="; - - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + zig.hook + pkg-config + ]; buildInputs = [ libx11 libxft - libxrender + libxinerama + lua5_4 freetype fontconfig ]; @@ -36,8 +40,12 @@ rustPlatform.buildRustPackage (finalAttrs: { # tests require a running X server doCheck = false; - nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; + versionCheckProgramArg = "--version"; + versionCheckKeepEnvironment = [ "HOME" ]; + nativeInstallCheckInputs = [ + writableTmpDirAsHomeHook + ]; postInstall = '' install -Dm644 resources/oxwm.desktop -t $out/share/xsessions @@ -48,7 +56,7 @@ rustPlatform.buildRustPackage (finalAttrs: { passthru.providedSessions = [ "oxwm" ]; meta = { - description = "Dynamic window manager written in Rust, inspired by dwm"; + description = "Dynamic window manager written in Zig, inspired by dwm"; homepage = "https://github.com/tonybanters/oxwm"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ tonybanters ]; diff --git a/pkgs/by-name/pa/paisa/package.nix b/pkgs/by-name/pa/paisa/package.nix index 5accc9c820409..0d5433b363be2 100644 --- a/pkgs/by-name/pa/paisa/package.nix +++ b/pkgs/by-name/pa/paisa/package.nix @@ -1,5 +1,6 @@ { lib, + stdenv, buildGoModule, buildNpmPackage, fetchFromGitHub, @@ -91,6 +92,11 @@ buildGoModule (finalAttrs: { }; meta = { + # package is marked as broken on darwin, because due to upgrades to the + # darwin clang compiler the native node-addon-api cannot be built anymore. + # this can only be fixed by upstream upgrading dependencies (especially + # node-gyp and node-addon-api). + broken = stdenv.isDarwin; homepage = "https://paisa.fyi/"; changelog = "https://github.com/ananthakumaran/paisa/releases/tag/v${finalAttrs.version}"; description = "Personal finance manager, building on top of the ledger double entry accounting tool"; diff --git a/pkgs/by-name/pa/paper-plane/package.nix b/pkgs/by-name/pa/paper-plane/package.nix deleted file mode 100644 index c817c0f70e86c..0000000000000 --- a/pkgs/by-name/pa/paper-plane/package.nix +++ /dev/null @@ -1,136 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - gtk4, - libadwaita, - tdlib, - rlottie, - rustPlatform, - meson, - ninja, - pkg-config, - rustc, - cargo, - desktop-file-utils, - blueprint-compiler, - libxml2, - libshumate, - gst_all_1, - buildPackages, -}: - -let - pname = "paper-plane"; - version = "0.1.0-beta.5"; - - src = fetchFromGitHub { - owner = "paper-plane-developers"; - repo = "paper-plane"; - tag = "v${version}"; - hash = "sha256-qcAHxNnF980BHMqLF86M06YQnEN5L/8nkyrX6HQjpBA="; - }; - - # Paper Plane requires a patch to the gtk4, but may be removed later - # https://github.com/paper-plane-developers/paper-plane/tree/main?tab=readme-ov-file#prerequisites - gtk4-paperplane = gtk4.overrideAttrs (prev: { - patches = (prev.patches or [ ]) ++ [ "${src}/build-aux/gtk-reversed-list.patch" ]; - }); - wrapPaperPlaneHook = buildPackages.wrapGAppsHook3.override { - gtk3 = gtk4-paperplane; - }; - # libadwaita has gtk4 in propagatedBuildInputs so it must be overrided - # to avoid linking two libraries, while libshumate doesn't - libadwaita-paperplane = libadwaita.override { - gtk4 = gtk4-paperplane; - }; - tdlib-paperplane = tdlib.overrideAttrs (prev: { - pname = "tdlib-paperplane"; - version = "1.8.19"; - src = fetchFromGitHub { - owner = "tdlib"; - repo = "td"; - rev = "2589c3fd46925f5d57e4ec79233cd1bd0f5d0c09"; - hash = "sha256-mbhxuJjrV3nC8Ja7N0WWF9ByHovJLmoLLuuzoU4khjU="; - }; - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace-fail "cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)" "cmake_minimum_required(VERSION 3.10)" - substituteInPlace td/generate/tl-parser/CMakeLists.txt \ - --replace-fail "cmake_minimum_required(VERSION 3.0 FATAL_ERROR)" "cmake_minimum_required(VERSION 3.10)" - ''; - }); - rlottie-paperplane = rlottie.overrideAttrs (prev: { - pname = "rlottie-paperplane"; - version = "0-unstable-2022-09-14"; - src = fetchFromGitHub { - owner = "paper-plane-developers"; - repo = "rlottie"; - rev = "1dd47cec7eb8e1f657f02dce9c497ae60f7cf8c5"; - hash = "sha256-OIKnDikuJuRIR9Jvl1PnUA9UAV09EmgGdDTeWoVi7jk="; - }; - patches = [ ]; - env.NIX_CFLAGS_COMPILE = prev.env.NIX_CFLAGS_COMPILE + " -Wno-error"; - }); -in -stdenv.mkDerivation { - inherit pname version src; - - cargoDeps = rustPlatform.fetchCargoVendor { - inherit pname version src; - hash = "sha256-QEX7w8eMV7DJFONjq23o8eCV+lliugS0pcdufFhcZrM="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - rustPlatform.cargoSetupHook - rustPlatform.bindgenHook - rustc - cargo - wrapPaperPlaneHook - desktop-file-utils - blueprint-compiler - libxml2.bin - ]; - - buildInputs = [ - libshumate - libadwaita-paperplane - tdlib-paperplane - rlottie-paperplane - gst_all_1.gstreamer - gst_all_1.gst-libav - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - ]; - - mesonFlags = [ - # The API ID and hash provided here are for use with Paper Plane only. - # Redistribution of the key in Nixpkgs has been explicitly permitted - # by Paper Plane developers. Please do not use it in other projects. - "-Dtg_api_id=22303002" - "-Dtg_api_hash=3cc0969992690f032197e6609b296599" - ]; - - # Workaround for the gettext-sys issue - # https://github.com/Koka/gettext-rs/issues/114 - env.NIX_CFLAGS_COMPILE = lib.optionalString ( - stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "16" - ) "-Wno-error=incompatible-function-pointer-types"; - - meta = { - homepage = "https://github.com/paper-plane-developers/paper-plane"; - description = "Chat over Telegram on a modern and elegant client"; - longDescription = '' - Paper Plane is an alternative Telegram client. It uses libadwaita - for its user interface and strives to meet the design principles - of the GNOME desktop. - ''; - license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ aleksana ]; - mainProgram = "paper-plane"; - platforms = lib.platforms.unix; - }; -} diff --git a/pkgs/by-name/pa/paperless-ngx/package.nix b/pkgs/by-name/pa/paperless-ngx/package.nix index 5e59d3204026f..a4331bbe8679c 100644 --- a/pkgs/by-name/pa/paperless-ngx/package.nix +++ b/pkgs/by-name/pa/paperless-ngx/package.nix @@ -29,13 +29,13 @@ lndir, }: let - version = "2.20.7"; + version = "2.20.8"; src = fetchFromGitHub { owner = "paperless-ngx"; repo = "paperless-ngx"; tag = "v${version}"; - hash = "sha256-NVlV+iHtUx05EIuHx/WePRf558DH977oZ7C8iNW0QR4="; + hash = "sha256-P+yZfCEdSDwThE48loJ234scTjfZ+wlgqO8Ecl503BI="; }; python = python3.override { diff --git a/pkgs/by-name/pa/papilo/package.nix b/pkgs/by-name/pa/papilo/package.nix index 5ff6678a2a8b9..6320d10a09288 100644 --- a/pkgs/by-name/pa/papilo/package.nix +++ b/pkgs/by-name/pa/papilo/package.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Parallel Presolve for Integer and Linear Optimization"; license = with lib.licenses; [ lgpl3Plus ]; mainProgram = "papilo"; - maintainers = with lib.maintainers; [ david-r-cox ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/pa/paqet/package.nix b/pkgs/by-name/pa/paqet/package.nix index dd07e8642fa98..ca00901a7535c 100644 --- a/pkgs/by-name/pa/paqet/package.nix +++ b/pkgs/by-name/pa/paqet/package.nix @@ -9,15 +9,15 @@ }: buildGoModule (finalAttrs: { pname = "paqet"; - version = "1.0.0-alpha.15"; + version = "1.0.0-alpha.18"; src = fetchFromGitHub { owner = "hanselime"; repo = "paqet"; tag = "v${finalAttrs.version}"; - hash = "sha256-ryspYKbnDT7emEftRWCZLVNFDEOvAv7IhdM4VBRQjKc="; + hash = "sha256-FuCbQz+Lhbw/xHJYhZo4uxH2ODV/uVFR7XDOK5DKZkU="; }; - vendorHash = "sha256-Vf3bKdhlM4vqzBv5RAwHeShGHudEh1VNTCFxAL/cwLw="; + vendorHash = "sha256-olyjpzHZKgD5fhXSyCmEuwYmcJGMUS+b+Hglm2JF1NY="; nativeBuildInputs = [ installShellFiles ]; buildInputs = [ libpcap ]; diff --git a/pkgs/by-name/pa/pascube/package.nix b/pkgs/by-name/pa/pascube/package.nix index 2d8a1684bce2e..61582ef04c47c 100644 --- a/pkgs/by-name/pa/pascube/package.nix +++ b/pkgs/by-name/pa/pascube/package.nix @@ -1,47 +1,46 @@ { - autoPatchelfHook, - copyDesktopItems, + clangStdenv, fetchFromGitHub, fpc, lazarus-qt6, lib, - libGLU, - makeDesktopItem, + libx11, + makeWrapper, nix-update-script, qt6Packages, - stdenv, + SDL2, + vulkan-loader, + zlib, }: -stdenv.mkDerivation (finalAttrs: { +clangStdenv.mkDerivation (finalAttrs: { pname = "pascube"; - version = "1.5.1"; + version = "1.7.0"; src = fetchFromGitHub { owner = "benjamimgois"; repo = "pascube"; - tag = "v${finalAttrs.version}"; - hash = "sha256-djkrMgX3RTTXSLISYpBfdyCIh3/WWODxd473M53iFKE="; + tag = finalAttrs.version; + hash = "sha256-qKjOA5/l2trQC238WheeOzqbpltjkwksqzMtcfw7ci0="; }; nativeBuildInputs = [ - autoPatchelfHook - copyDesktopItems fpc lazarus-qt6 + makeWrapper qt6Packages.wrapQtAppsHook ]; buildInputs = [ qt6Packages.libqtpas qt6Packages.qtbase - ]; - - runtimeDependencies = [ - libGLU + SDL2 ]; buildPhase = '' runHook preBuild + clang -c -O3 -D linux -fverbose-asm -fno-builtin \ + pasvulkan/src/lzma_c/LzmaDec.c -o pasvulkan/src/lzma_c/lzmadec_linux_x86_64.o HOME=$(mktemp -d) lazbuild \ --lazarusdir=${lazarus-qt6}/share/lazarus \ --widgetset=qt6 \ @@ -52,45 +51,33 @@ stdenv.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall install -Dm755 pascube $out/bin/pascube + wrapProgram $out/bin/pascube --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + libx11 + SDL2 + vulkan-loader + zlib + ] + } + mkdir -p $out/share/pascube + cp -a assets $out/share/pascube + install -Dm644 data/pascube.desktop $out/share/applications/pascube.desktop for sz in 128x128 256x256 512x512; do install -Dm644 "data/icons/''${sz}/pascube.png" \ "$out/share/icons/hicolor/''${sz}/apps/pascube.png" done - install -Dm644 "data/skybox.png" "$out/share/pascube/skybox.png" runHook postInstall ''; - desktopItems = [ - (makeDesktopItem { - name = "pascube"; - desktopName = "pasCube"; - comment = finalAttrs.meta.description; - exec = finalAttrs.meta.mainProgram; - icon = "pascube"; - terminal = false; - categories = [ - "Graphics" - "Education" - "Qt" - ]; - }) - ]; - - preFixup = '' - qtWrapperArgs+=( - --set QT_QPA_PLATFORM xcb - ) - ''; - passthru.updateScript = nix-update-script { }; meta = { description = "Simple OpenGL spinning cube written in Pascal"; homepage = "https://github.com/benjamimgois/pascube"; - changelog = "https://github.com/benjamimgois/pascube/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/benjamimgois/pascube/releases/tag/${finalAttrs.version}"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ RoGreat ]; mainProgram = "pascube"; - platforms = lib.platforms.linux; + platforms = [ "x86_64-linux" ]; }; }) diff --git a/pkgs/by-name/pa/passt/package.nix b/pkgs/by-name/pa/passt/package.nix index 799dbe2f3eb6e..064b36f214659 100644 --- a/pkgs/by-name/pa/passt/package.nix +++ b/pkgs/by-name/pa/passt/package.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "passt"; - version = "2026_01_20.386b5f5"; + version = "2025_09_19.623dbf6"; src = fetchurl { url = "https://passt.top/passt/snapshot/passt-${finalAttrs.version}.tar.gz"; - hash = "sha256-s3izbMbReYj9jv3J5DJJWvyWeHw+4jGu5VvH5QxO320="; + hash = "sha256-3krWW/QKijgZsmHuelMjpcaL8OyRqmPKC/wUvag0ZHI="; }; separateDebugInfo = true; diff --git a/pkgs/by-name/pa/patroni/package.nix b/pkgs/by-name/pa/patroni/package.nix index 530fa9e3212c7..23911d710b747 100644 --- a/pkgs/by-name/pa/patroni/package.nix +++ b/pkgs/by-name/pa/patroni/package.nix @@ -1,55 +1,84 @@ { + fetchFromGitHub, lib, + nix-update-script, + nixosTests, python3Packages, - fetchFromGitHub, versionCheckHook, - nixosTests, - nix-update-script, - writableTmpDirAsHomeHook, + + extras ? [ + # upstream requires one of: psycopg, psycopg2 + "psycopg2" + + # distributed configuration stores + "consul" + "etcd" + "etcd3" + "exhibitor" + "kubernetes" + "raft" + "zookeeper" + ], }: python3Packages.buildPythonApplication (finalAttrs: { pname = "patroni"; version = "4.1.0"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "zalando"; repo = "patroni"; tag = "v${finalAttrs.version}"; - sha256 = "sha256-iY5QLbJXfQtfkzpQxvqSOzYQwgfFsBh8HPYujqxU44k="; + hash = "sha256-iY5QLbJXfQtfkzpQxvqSOzYQwgfFsBh8HPYujqxU44k="; }; - dependencies = with python3Packages; [ - boto3 - click - consul - dnspython - kazoo - kubernetes - prettytable - psutil - psycopg2 - pysyncobj - python-dateutil - python-etcd - pyyaml - tzlocal - urllib3 - ydiff + build-system = with python3Packages; [ setuptools ]; + + pythonRelaxDeps = [ + "ydiff" # requires <1.5 ]; + dependencies = + (with python3Packages; [ + click + consul + prettytable + psutil + python-dateutil + pyyaml + urllib3 + ydiff + ]) + ++ lib.attrVals extras finalAttrs.passthru.optional-dependencies; + + optional-dependencies = with python3Packages; { + aws = [ boto3 ]; + consul = [ consul ]; + etcd = [ python-etcd ]; + etcd3 = [ python-etcd ]; + exhibitor = [ kazoo ]; + jsonlogger = [ python-json-logger ]; + kubernetes = [ ]; + psycopg2 = [ psycopg2 ]; + psycopg2-binary = [ psycopg2-binary ]; + psycopg3 = [ psycopg ]; + raft = [ + cryptography + pysyncobj + ]; + systemd = [ systemd-python ]; + zookeeper = [ kazoo ]; + }; + pythonImportsCheck = [ "patroni" ]; - nativeCheckInputs = with python3Packages; [ - flake8 - mock - pytestCheckHook - pytest-cov-stub - requests - versionCheckHook - writableTmpDirAsHomeHook - ]; + nativeCheckInputs = + (with python3Packages; [ + pytestCheckHook + versionCheckHook + ]) + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; __darwinAllowLocalNetworking = true; @@ -60,14 +89,15 @@ python3Packages.buildPythonApplication (finalAttrs: { }; meta = { - homepage = "https://patroni.readthedocs.io/en/latest/"; + changelog = "https://github.com/patroni/patroni/blob/${finalAttrs.src.tag}/docs/releases.rst"; description = "Template for PostgreSQL HA with ZooKeeper, etcd or Consul"; - changelog = "https://github.com/patroni/patroni/blob/v${finalAttrs.version}/docs/releases.rst"; + homepage = "https://patroni.readthedocs.io/en/latest/"; license = lib.licenses.mit; - platforms = lib.platforms.unix; + mainProgram = "patroni"; maintainers = with lib.maintainers; [ de11n despsyched ]; + platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/pa/pawn-appetit/package.nix b/pkgs/by-name/pa/pawn-appetit/package.nix new file mode 100644 index 0000000000000..6152bb4502fef --- /dev/null +++ b/pkgs/by-name/pa/pawn-appetit/package.nix @@ -0,0 +1,99 @@ +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + fetchPnpmDeps, + + nodejs, + pnpm_10, + pnpmConfigHook, + cargo-tauri, + jq, + moreutils, + pkg-config, + wrapGAppsHook3, + makeBinaryWrapper, + + openssl, + webkitgtk_4_1, + gst_all_1, + + nix-update-script, +}: + +let + pnpm = pnpm_10; +in +rustPlatform.buildRustPackage (finalAttrs: { + pname = "pawn-appetit"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "Pawn-Appetit"; + repo = "pawn-appetit"; + tag = "v${finalAttrs.version}"; + hash = "sha256-WJ/tFOizESDqdLy4maMKUZ79mgyyxqLuwCxWZ0+NVX4="; + }; + + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) + pname + version + src + ; + inherit pnpm; + fetcherVersion = 3; + hash = "sha256-amXrz/ZzvjvNYlqxzTtQXiZw/NnUVJ7PhqG8oHsEe88="; + }; + + postPatch = '' + jq '.plugins.updater.endpoints = [ ] | .bundle.createUpdaterArtifacts = false' src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json + ''; + + cargoRoot = "src-tauri"; + + cargoHash = "sha256-UKaW+NiNA398nyGs9+SjY+tUvLjCPrSxX6bZLSl7/EQ="; + + buildAndTestSubdir = finalAttrs.cargoRoot; + + nativeBuildInputs = [ + nodejs + pnpm + pnpmConfigHook + + cargo-tauri.hook + jq + moreutils + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ wrapGAppsHook3 ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ makeBinaryWrapper ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + openssl + webkitgtk_4_1 + + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad + ]; + + doCheck = false; # many scoring tests fail + + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' + makeWrapper "$out"/Applications/pawn-appetit.app/Contents/MacOS/pawn-appetit $out/bin/pawn-appetit + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Ultimate Chess Toolkit (fork of en-croissant)"; + homepage = "https://github.com/Pawn-Appetit/pawn-appetit/"; + license = lib.licenses.gpl3Only; + mainProgram = "pawn-appetit"; + maintainers = with lib.maintainers; [ snu ]; + platforms = lib.platforms.linux ++ lib.platforms.darwin; + }; +}) diff --git a/pkgs/by-name/pc/pcl/package.nix b/pkgs/by-name/pc/pcl/package.nix index 30e8b651e70b7..2b326ed73ff78 100644 --- a/pkgs/by-name/pc/pcl/package.nix +++ b/pkgs/by-name/pc/pcl/package.nix @@ -3,6 +3,7 @@ stdenv, config, fetchFromGitHub, + fetchpatch, # nativeBuildInputs cmake, @@ -42,6 +43,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-+KyaajJM0I5CAcr8AiOLC4TkGV3Gm73a0/X8LQWFZMI="; }; + patches = [ + (fetchpatch { + # see https://github.com/NixOS/nixpkgs/issues/485826 to be removed at next release after 1.15.1 + name = "boost-1.89.patch"; + url = "https://github.com/PointCloudLibrary/pcl/commit/99333442ac63971297b4cdd05fab9d2bd2ff57a4.patch"; + hash = "sha256-5vg8VjxoAfEOx9n7Tby1DXe1u4rn+zharkefUovLHv0="; + }) + ]; + strictDeps = true; # remove attempt to prevent (x86/x87-specific) extended precision use diff --git a/pkgs/by-name/pc/pcloud/package.nix b/pkgs/by-name/pc/pcloud/package.nix index 62199f8631e31..0456b7aa8d1dc 100644 --- a/pkgs/by-name/pc/pcloud/package.nix +++ b/pkgs/by-name/pc/pcloud/package.nix @@ -32,6 +32,7 @@ gsettings-desktop-schemas, gtk3, libdbusmenu-gtk2, + libgbm, libxdamage, nss, udev, @@ -39,25 +40,24 @@ let pname = "pcloud"; - version = "1.14.18"; - code = "XZ2gJM5Z8pdJVlCT0s5FI1aTKxxgt48aEr8k"; + version = "2.0.3"; + code = "XZ8opl5ZaaYsnBeCX3fLU3v8ngqAv8VMqq7k"; # Archive link's codes: https://www.pcloud.com/release-notes/linux.html src = fetchzip { url = "https://api.pcloud.com/getpubzip?code=${code}&filename=pcloud-${version}.zip"; - hash = "sha256-YDXmna1SZaDLK1EEdHvWm9+PgYKjYUsa2lvdzFGmyIU="; - }; - - appimageContents = appimageTools.extractType2 { - inherit pname version; - src = "${src}/pcloud"; + hash = "sha256-Few8BsMUwL5qfdtFyezoWifZcZufAhUthxQXEQwm52w="; }; in stdenv.mkDerivation { inherit pname version; - src = appimageContents; + src = appimageTools.extractType2 { + inherit pname version; + + src = "${src}/pCloud.AppImage"; + }; dontConfigure = true; dontBuild = true; @@ -73,6 +73,7 @@ stdenv.mkDerivation { fuse gtk3 libdbusmenu-gtk2 + libgbm libxdamage nss udev @@ -83,12 +84,17 @@ stdenv.mkDerivation { cp -ar . "$out/app" cd "$out" - # Remove the AppImage runner, since users are not supposed to use it; the - # actual entry point is the `pcloud` binary + # Remove AppImage runner, users are not supposed to use it - `pcloud` binary + # itself is the correct entrypoint rm app/AppRun - # Adjust directory structure, so that the `.desktop` etc. files are - # properly detected + # Remove random stuff that causes patchelf to complain about missing deps + # that are not, in fact, missing deps, because those files don't get + # executed in the first place + rm app/resources/app.asar.unpacked/node_modules/koffi/build/koffi/musl_x64/koffi.node + rm app/resources/app.asar.unpacked/node_modules/koffi/build/koffi/openbsd_x64/koffi.node + + # Adjust the directory structure, so that `.desktop` etc. files are detected mkdir bin mv app/usr/share . mv app/usr/lib . @@ -99,23 +105,23 @@ stdenv.mkDerivation { substitute \ app/pcloud.desktop \ share/applications/pcloud.desktop \ - --replace 'Name=pcloud' 'Name=pCloud' \ --replace 'Exec=AppRun' 'Exec=${pname}' - # Build the main executable + # Adjust the icons + ln -snf $out/share/icons/hicolor/512x512/apps/pcloud.png app/.DirIcon + ln -snf $out/share/icons/hicolor/512x512/apps/pcloud.png app/pcloud.png + + # Build the entrypoint cat > bin/pcloud < 1.0.9 + (fetchpatch { + name = "0001-persistent-cache-cpp-Fix-compatibility-with-Boost-1.89.patch"; + url = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/commit/121397b58bdb2d6750a41bec0cf1676e4e9b8cf5.patch"; + hash = "sha256-QKPf5E49NNZ+rzCCknJNQjcd/bEgHuh23RBM892Xz1o="; + }) + ]; + postPatch = '' # Wrong concatenation substituteInPlace data/libpersistent-cache-cpp.pc.in \ diff --git a/pkgs/by-name/pi/picoleaf/package.nix b/pkgs/by-name/pi/picoleaf/package.nix new file mode 100644 index 0000000000000..b8b2c60e4805d --- /dev/null +++ b/pkgs/by-name/pi/picoleaf/package.nix @@ -0,0 +1,29 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, +}: + +buildGoModule (finalAttrs: { + pname = "picoleaf"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "tessro"; + repo = "picoleaf"; + tag = "v${finalAttrs.version}"; + hash = "sha256-o1REM8Gfv+hJGVlo+c4gYr9U2MiTDwHLAx5SaBAN39s="; + }; + + vendorHash = "sha256-6/4xKZ/G8kTmQwdYmUOlZNQMJ/I8yThfLYjOPzyhlyQ="; + + meta = { + description = "A tiny CLI tool for controlling Nanoleaf"; + mainProgram = "picoleaf"; + homepage = "https://github.com/tessro/picoleaf"; + changelog = "https://github.com/tessro/picoleaf/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ sfrijters ]; + }; +}) diff --git a/pkgs/by-name/pi/pimsync/package.nix b/pkgs/by-name/pi/pimsync/package.nix index e02a6c957e884..7f749538711c5 100644 --- a/pkgs/by-name/pi/pimsync/package.nix +++ b/pkgs/by-name/pi/pimsync/package.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "pimsync"; - version = "0.5.5"; + version = "0.5.6"; src = fetchFromSourcehut { owner = "~whynothugo"; repo = "pimsync"; rev = "v${finalAttrs.version}"; - hash = "sha256-VMdSATq0W0dCqllmiwzZ7knWD1qKQbsJLNATptGneIs="; + hash = "sha256-I9fbR6xBZwUq5X81wSNaLmx75eMIYbBqNsnFMyt4HQc="; }; - cargoHash = "sha256-mev/ipxAmD0MvG1lrNYzcphg4rp5+ET6nnnaTYX5T/4="; + cargoHash = "sha256-yY1MDRrvblw5pqnequ7L44XIVV7sFeHEeG6TFkHD9sE="; env.PIMSYNC_VERSION = finalAttrs.version; diff --git a/pkgs/by-name/pi/pioasm/package.nix b/pkgs/by-name/pi/pioasm/package.nix index b2f1fc7517118..c37ca3dba5a9b 100644 --- a/pkgs/by-name/pi/pioasm/package.nix +++ b/pkgs/by-name/pi/pioasm/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, cmake, ninja, }: @@ -16,6 +17,18 @@ stdenv.mkDerivation (finalAttrs: { rev = finalAttrs.version; hash = "sha256-epO7yw6/21/ess3vMCkXvXEqAn6/4613zmH/hbaBbUw="; }; + + patches = [ + # Pull upstream fix for gcc-15: + # https://github.com/raspberrypi/pico-sdk/pull/2468 + (fetchpatch { + name = "gcc-15.patch"; + url = "https://github.com/raspberrypi/pico-sdk/commit/66540fe88e86a9f324422b7451a3b5dff4c0449f.patch"; + hash = "sha256-KwTED7/IWorgRTw1XMU2ILJhf6DAioGuVIunlC1QdNE="; + stripLen = 2; + }) + ]; + sourceRoot = "${finalAttrs.src.name}/tools/pioasm"; nativeBuildInputs = [ diff --git a/pkgs/by-name/pi/piper-phonemize/package.nix b/pkgs/by-name/pi/piper-phonemize/package.nix index 8776f98b9eb24..686071ccaa52e 100644 --- a/pkgs/by-name/pi/piper-phonemize/package.nix +++ b/pkgs/by-name/pi/piper-phonemize/package.nix @@ -13,25 +13,6 @@ onnxruntime, }: -let - espeak-ng' = espeak-ng.overrideAttrs (oldAttrs: { - version = "1.52-dev"; - src = fetchFromGitHub { - owner = "rhasspy"; - repo = "espeak-ng"; - rev = "0f65aa301e0d6bae5e172cc74197d32a6182200f"; - hash = "sha256-2V0D3QO+v9OqffpNmwJQd3NIBd/IFeLkjaJ3Y0HHw7E="; - }; - - patches = [ - (fetchpatch { - url = "https://github.com/espeak-ng/espeak-ng/commit/497c6217d696c1190c3e8b992ff7b9110eb3bedd.patch"; - hash = "sha256-KfzqnRyQfz6nuMKnsHoUzb9rn9h/Pg54mupW1Cr+Zx0="; - }) - ./espeak-mbrola.patch - ]; - }); -in stdenv.mkDerivation (finalAttrs: { pname = "piper-phonemize"; version = "2023.11.14-4"; @@ -50,18 +31,14 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DONNXRUNTIME_DIR=${onnxruntime.dev}" - "-DESPEAK_NG_DIR=${espeak-ng'}" + "-DESPEAK_NG_DIR=${espeak-ng}" ]; buildInputs = [ - espeak-ng' + espeak-ng onnxruntime ]; - passthru = { - espeak-ng = espeak-ng'; - }; - meta = { description = "C++ library for converting text to phonemes for Piper"; homepage = "https://github.com/rhasspy/piper-phonemize"; diff --git a/pkgs/by-name/pi/pizauth/package.nix b/pkgs/by-name/pi/pizauth/package.nix index 5c6172c8c302d..ca462bb26a716 100644 --- a/pkgs/by-name/pi/pizauth/package.nix +++ b/pkgs/by-name/pi/pizauth/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "pizauth"; - version = "1.0.9"; + version = "1.0.10"; src = fetchFromGitHub { owner = "ltratt"; repo = "pizauth"; tag = "pizauth-${finalAttrs.version}"; - hash = "sha256-RrmRdJOYvQ9/DaNXH8fQ3BCNdYba/6HcsT3EAV1qoNA="; + hash = "sha256-wdR/7gV/2U+MsncbQ6Gy2na5YuBp4F2H8ohij+Dfvcs="; }; - cargoHash = "sha256-ZY1BcunsR4i8QomRrh9yKdH7CP84Wl7UGUZQ8LUCd68="; + cargoHash = "sha256-AvUaeevnV5fIeEKXQAY1IGHcV3l3lTwFmFKsaEPbr+4="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/pl/planner/package.nix b/pkgs/by-name/pl/planner/package.nix index 9415d7c72a88f..7bc0b4887f434 100644 --- a/pkgs/by-name/pl/planner/package.nix +++ b/pkgs/by-name/pl/planner/package.nix @@ -63,7 +63,7 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "planner"; homepage = "https://gitlab.gnome.org/World/planner"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ amiloradovsky ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix b/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix index 046ea2f3b06df..f9418a3d5095b 100644 --- a/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix +++ b/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "plasma-panel-spacer-extended"; - version = "1.12.0"; + version = "1.13.0"; src = fetchFromGitHub { owner = "luisbocanegra"; repo = "plasma-panel-spacer-extended"; tag = "v${finalAttrs.version}"; - hash = "sha256-Tg+HvGuPCgnCkW/biY/zFuuLCokK3WaobAjNVLw9Qf0="; + hash = "sha256-1O8JS2yaKWxengyj3Ibuuyy/vCrmKKOp5EPVuSiCnVI="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/plex/default.nix b/pkgs/by-name/pl/plex/package.nix similarity index 100% rename from pkgs/servers/plex/default.nix rename to pkgs/by-name/pl/plex/package.nix diff --git a/pkgs/servers/plex/raw.nix b/pkgs/by-name/pl/plexRaw/package.nix similarity index 100% rename from pkgs/servers/plex/raw.nix rename to pkgs/by-name/pl/plexRaw/package.nix diff --git a/pkgs/by-name/po/pocket-id/package.nix b/pkgs/by-name/po/pocket-id/package.nix index bf16d091e9fbc..0ac040add442e 100644 --- a/pkgs/by-name/po/pocket-id/package.nix +++ b/pkgs/by-name/po/pocket-id/package.nix @@ -1,7 +1,7 @@ { lib, fetchFromGitHub, - buildGo125Module, + buildGo126Module, stdenvNoCC, nodejs, pnpm_10, @@ -9,21 +9,22 @@ pnpmConfigHook, nixosTests, nix-update-script, + versionCheckHook, }: -buildGo125Module (finalAttrs: { +buildGo126Module (finalAttrs: { pname = "pocket-id"; - version = "2.2.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "pocket-id"; repo = "pocket-id"; tag = "v${finalAttrs.version}"; - hash = "sha256-n1jNU7+eNO7MFUWB7+EnssACMvNoMcJqPk0AvyIr9h8="; + hash = "sha256-2EK6+QMy2DSZRAHaKcUAfINUlHlRYjEoCtofUxq0w9c="; }; sourceRoot = "${finalAttrs.src.name}/backend"; - vendorHash = "sha256-hMhOG/2xnI/adjg8CnA0tRBD8/OFDsTloFXC8iwxlV0="; + vendorHash = "sha256-E/LiovOJ+tKQOeX+rH1TfVFa803zmq3D895uzXUI4oI="; env.CGO_ENABLED = 0; ldflags = [ @@ -40,10 +41,17 @@ buildGo125Module (finalAttrs: { "-skip=TestOidcService_downloadAndSaveLogoFromURL" ]; + # required for TestIsURLPrivate + __darwinAllowLocalNetworking = finalAttrs.doCheck; + preFixup = '' mv $out/bin/cmd $out/bin/pocket-id ''; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + versionCheckProgramArg = "version"; + frontend = stdenvNoCC.mkDerivation { pname = "pocket-id-frontend"; inherit (finalAttrs) version src; @@ -57,7 +65,7 @@ buildGo125Module (finalAttrs: { inherit (finalAttrs) pname version src; pnpm = pnpm_10; fetcherVersion = 3; - hash = "sha256-jhlHrekVk0sNLwo8LFQY6bgX9Ic0xbczM6UTzmZTnPI="; + hash = "sha256-jaluy/rzArCZ8iI2G0jPHraBIqG/6GsPVFv44lAdXoI="; }; env.BUILD_OUTPUT_PATH = "dist"; @@ -101,6 +109,7 @@ buildGo125Module (finalAttrs: { maintainers = with lib.maintainers; [ gepbird marcusramberg + tmarkus ymstnt ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/po/pocketbase/package.nix b/pkgs/by-name/po/pocketbase/package.nix index 1e631626c58da..2a500a37e7187 100644 --- a/pkgs/by-name/po/pocketbase/package.nix +++ b/pkgs/by-name/po/pocketbase/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "pocketbase"; - version = "0.36.4"; + version = "0.36.5"; src = fetchFromGitHub { owner = "pocketbase"; repo = "pocketbase"; rev = "v${finalAttrs.version}"; - hash = "sha256-C1O6RsQ2fCcnjWbe0DS1AQShrdxTUUyZPKosHdhtkvQ="; + hash = "sha256-HSn6xpso0kAc6dR2JsZ3RqQb5dTYhAjKlDkcLnMJq8Y="; }; - vendorHash = "sha256-3SDzoSfF7f2OptRdyHgWdBbJoqhqlkNq0uQ3lCr3/BI="; + vendorHash = "sha256-p+leu8tYLwdTkV5FCyPUIjRmBHqFNZN02R+4lhhiznY="; # This is the released subpackage from upstream repo subPackages = [ "examples/base" ]; diff --git a/pkgs/by-name/po/pokefinder/package.nix b/pkgs/by-name/po/pokefinder/package.nix index 3c30de2aab9e5..931aa676ce42b 100644 --- a/pkgs/by-name/po/pokefinder/package.nix +++ b/pkgs/by-name/po/pokefinder/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "pokefinder"; - version = "4.2.1"; + version = "4.3.1"; src = fetchFromGitHub { owner = "Admiral-Fish"; repo = "PokeFinder"; rev = "v${finalAttrs.version}"; - sha256 = "wjHqox0Vxc73/UTcE7LSo/cG9o4eOqkcjTIW99BxsAc="; + hash = "sha256-tItPvA0f2HnY7SUSnb7A5jGwbRs7eQoS4vibBomZ9pw="; fetchSubmodules = true; }; @@ -27,20 +27,16 @@ stdenv.mkDerivation (finalAttrs: { ./set-desktop-file-name.patch ]; - postPatch = '' - patchShebangs Source/Core/Resources/ - ''; - installPhase = '' runHook preInstall '' + lib.optionalString (stdenv.hostPlatform.isDarwin) '' mkdir -p $out/Applications - cp -R Source/PokeFinder.app $out/Applications + cp -R PokeFinder.app $out/Applications '' + lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - install -D Source/PokeFinder $out/bin/PokeFinder - icoFileToHiColorTheme $src/Source/Form/Images/pokefinder.ico pokefinder $out + install -D PokeFinder $out/bin/PokeFinder + icoFileToHiColorTheme $src/Form/Images/pokefinder.ico pokefinder $out '' + '' runHook postInstall @@ -49,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake qt6.wrapQtAppsHook - python3 + (python3.withPackages (ps: [ ps.zstandard ])) ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems diff --git a/pkgs/by-name/po/pokefinder/set-desktop-file-name.patch b/pkgs/by-name/po/pokefinder/set-desktop-file-name.patch index e22046f6fd0aa..bbb17f7fd2277 100644 --- a/pkgs/by-name/po/pokefinder/set-desktop-file-name.patch +++ b/pkgs/by-name/po/pokefinder/set-desktop-file-name.patch @@ -1,7 +1,7 @@ -diff --git a/Source/main.cpp b/Source/main.cpp +diff --git a/main.cpp b/main.cpp index 3e58a381..2e7e4a86 100644 ---- a/Source/main.cpp -+++ b/Source/main.cpp +--- a/main.cpp ++++ b/main.cpp @@ -69,6 +69,7 @@ int main(int argc, char *argv[]) { QApplication a(argc, argv); diff --git a/pkgs/by-name/po/polarity/package.nix b/pkgs/by-name/po/polarity/package.nix index f014e5ab21525..06877d5335e7b 100644 --- a/pkgs/by-name/po/polarity/package.nix +++ b/pkgs/by-name/po/polarity/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "polarity"; - version = "latest-unstable-2026-01-29"; + version = "latest-unstable-2026-02-20"; src = fetchFromGitHub { owner = "polarity-lang"; repo = "polarity"; - rev = "d83922b7bbac56c8c06265c1a23a04687caa3322"; - hash = "sha256-E1EzX4RKwL72cqqHzbkAM7O5b+t896MxC5ni53uSh84="; + rev = "630a1bb3b97c7c1a13087407a50cc78316a2526e"; + hash = "sha256-IuT1LJiMEOS+c4dUamCpboDNqHGDVxsjYBJ4NEmLZa4="; }; - cargoHash = "sha256-4oDFW2Ob098BVRXiDRbBwRM+vIATbximzG54BKSA9+I="; + cargoHash = "sha256-FrCOsgbb0xQH3cKnWqa2n17uDpppnSd0PyVrrCPXCYw="; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; diff --git a/pkgs/by-name/po/poptracker/package.nix b/pkgs/by-name/po/poptracker/package.nix index c542b9f09a8a9..bd9e24f9b560a 100644 --- a/pkgs/by-name/po/poptracker/package.nix +++ b/pkgs/by-name/po/poptracker/package.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "poptracker"; - version = "0.33.0"; + version = "0.34.0"; src = fetchFromGitHub { owner = "black-sliver"; repo = "PopTracker"; tag = "v${finalAttrs.version}"; - hash = "sha256-3JcE963GSAUs82OF59Yf7PjQV0FHKsCYx+q3TWQsHpY="; + hash = "sha256-4sdwW4P+5Y+JHy2dU55Fobedh0toXoU6pIWTN294GMc="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/po/portaudio/package.nix b/pkgs/by-name/po/portaudio/package.nix index 48e6a2883533f..0da5ab231b159 100644 --- a/pkgs/by-name/po/portaudio/package.nix +++ b/pkgs/by-name/po/portaudio/package.nix @@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.portaudio.com/"; # Not exactly a bsd license, but alike license = lib.licenses.mit; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/po/portunus/package.nix b/pkgs/by-name/po/portunus/package.nix index 12f93474832c4..3a737a142872a 100644 --- a/pkgs/by-name/po/portunus/package.nix +++ b/pkgs/by-name/po/portunus/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "portunus"; - version = "2.1.4"; + version = "2.2.0"; src = fetchFromGitHub { owner = "majewsky"; repo = "portunus"; - rev = "v${finalAttrs.version}"; - sha256 = "sha256-xZb2+IIZkZd/yGr0+FK7Bi3sZpPMfGz/QmUKn/clrwE="; + tag = "v${finalAttrs.version}"; + hash = "sha256-PvsqI0kwO0pA2xOouI3DmhwzDCrtyBXCBXyWDy4bEmI="; }; buildInputs = [ libxcrypt ]; diff --git a/pkgs/by-name/po/positron-bin/package.nix b/pkgs/by-name/po/positron-bin/package.nix index 149d9332e6126..394eecb4b7f29 100644 --- a/pkgs/by-name/po/positron-bin/package.nix +++ b/pkgs/by-name/po/positron-bin/package.nix @@ -25,7 +25,7 @@ }: let pname = "positron-bin"; - version = "2026.01.0-147"; + version = "2026.02.1-5"; in stdenv.mkDerivation { inherit version pname; @@ -33,18 +33,18 @@ stdenv.mkDerivation { src = if stdenv.hostPlatform.isDarwin then fetchurl { - url = "https://cdn.posit.co/positron/releases/mac/universal/Positron-${version}-universal.dmg"; - hash = "sha256-/SBJWQLOq4nEHd0HvwII9HuaSDenkcxGmIqDqTJsfug="; + url = "https://cdn.posit.co/positron/releases/mac/arm64/Positron-${version}-arm64.dmg"; + hash = "sha256-wQ/ctA9q8i5hyi86VKF8cC/mDHVU1DRt1vnFBKdAAJI="; } else if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl { url = "https://cdn.posit.co/positron/releases/deb/arm64/Positron-${version}-arm64.deb"; - hash = "sha256-u8JrIlSUIynZlZ0o+Z8wWltIDz8/vq0CynPiLSZ6M14="; + hash = "sha256-AW4jueFtdvrmIAm+d5/qjyViaSpue51dbyU4NYs3vaE="; } else fetchurl { url = "https://cdn.posit.co/positron/releases/deb/x86_64/Positron-${version}-x64.deb"; - hash = "sha256-eJJ+qcfj2yDKG2uItdtgoT5+VaeXc2/yfKP5TeSuk70="; + hash = "sha256-aTVzJCsMARXciasGv7l/syFb3V81Ii6gVl6sBrEPFzM="; }; buildInputs = [ @@ -145,7 +145,7 @@ stdenv.mkDerivation { platforms = [ "x86_64-linux" "aarch64-linux" - ] - ++ lib.platforms.darwin; + "aarch64-darwin" + ]; }; } diff --git a/pkgs/by-name/po/positron-bin/update.sh b/pkgs/by-name/po/positron-bin/update.sh index 6424263fa45b3..aa048f836f6f4 100755 --- a/pkgs/by-name/po/positron-bin/update.sh +++ b/pkgs/by-name/po/positron-bin/update.sh @@ -18,11 +18,11 @@ fi # Update Darwin hash. current_hash=$(nix store prefetch-file --json --hash-type sha256 \ - "https://cdn.posit.co/positron/releases/mac/universal/Positron-${current_version}-universal.dmg" \ + "https://cdn.posit.co/positron/releases/mac/arm64/Positron-${current_version}-arm64.dmg" \ | jq -r .hash) new_hash=$(nix store prefetch-file --json --hash-type sha256 \ - "https://cdn.posit.co/positron/releases/mac/universal/Positron-${new_version}-universal.dmg" \ + "https://cdn.posit.co/positron/releases/mac/arm64/Positron-${new_version}-arm64.dmg" \ | jq -r .hash) sed -i "s|$current_hash|$new_hash|g" $positron_nix diff --git a/pkgs/by-name/po/postgres-language-server/package.nix b/pkgs/by-name/po/postgres-language-server/package.nix index 5b6034f8a8c07..f314395e7782e 100644 --- a/pkgs/by-name/po/postgres-language-server/package.nix +++ b/pkgs/by-name/po/postgres-language-server/package.nix @@ -1,19 +1,21 @@ { lib, rustPlatform, - fetchgit, + fetchFromGitHub, rust-jemalloc-sys, tree-sitter, nodejs, + versionCheckHook, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "postgres-language-server"; - version = "0.20.0"; + version = "0.21.0"; - src = fetchgit { - url = "https://github.com/supabase-community/postgres-language-server"; + src = fetchFromGitHub { + owner = "supabase-community"; + repo = "postgres-language-server"; tag = finalAttrs.version; - hash = "sha256-d6h/Igh5DtpMHRFSCVbEooY/mqltXhT91iP4DrOH5SE="; + hash = "sha256-E5HRNT4q0RJRJ5PW7uvvrni6jdBZYQCeEWgo0i/fmBQ="; fetchSubmodules = true; }; @@ -41,15 +43,13 @@ rustPlatform.buildRustPackage (finalAttrs: { }; cargoBuildFlags = [ "-p=pgls_cli" ]; - cargoTestFlags = finalAttrs.cargoBuildFlags; - checkFlags = [ - # Tries to write to the file system relatively to the current path - "--skip=syntax_error" - # Requires a database connection - "--skip=test_cli_check_command" - "--skip=dblint_detects_issues_snapshot" - "--skip=dblint_empty_database_snapshot" + # Many tests are integration tests requiring a running Postgres instance + doCheck = false; + + nativeInstallCheckInputs = [ + versionCheckHook ]; + doInstallCheck = true; meta = { description = "Tools and language server for Postgres"; diff --git a/pkgs/by-name/po/powerstation/package.nix b/pkgs/by-name/po/powerstation/package.nix index feb04dcb77182..234d58f37abab 100644 --- a/pkgs/by-name/po/powerstation/package.nix +++ b/pkgs/by-name/po/powerstation/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "powerstation"; - version = "0.8.0"; + version = "0.8.1"; src = fetchFromGitHub { owner = "ShadowBlip"; repo = "PowerStation"; tag = "v${finalAttrs.version}"; - hash = "sha256-VmykW8Z6qJJNqSJR1diHN8/9R/Hkugqo1bmXOPURzMI="; + hash = "sha256-thUV6Gwz0Kwfwa6QHwY7amGMNclc3Drn4Kq1gkPFhGk="; }; - cargoHash = "sha256-gAYol2U/qxxoAKoAcQZ/P8FrcmWcQBoFvyAdixyYHYk="; + cargoHash = "sha256-yiESPVWUTpdXI8bij5qdd7KS3zSkA2TR1/klfsb9vps="; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/pr/pretix-banktool/package.nix b/pkgs/by-name/pr/pretix-banktool/package.nix index 1223a21590efe..00634df8a597b 100644 --- a/pkgs/by-name/pr/pretix-banktool/package.nix +++ b/pkgs/by-name/pr/pretix-banktool/package.nix @@ -4,7 +4,14 @@ fetchFromGitHub, }: -python3Packages.buildPythonApplication (finalAttrs: { +let + pythonPackages = python3Packages.overrideScope ( + self: super: { + fints = self.fints_4; + } + ); +in +pythonPackages.buildPythonApplication (finalAttrs: { pname = "pretix-banktool"; version = "1.1.0"; pyproject = true; @@ -16,9 +23,9 @@ python3Packages.buildPythonApplication (finalAttrs: { hash = "sha256-x6P+WqrOak5/gmMEmBkHrx6kPsbSOAXbKRbndFG3IJU="; }; - build-system = with python3Packages; [ setuptools ]; + build-system = with pythonPackages; [ setuptools ]; - dependencies = with python3Packages; [ + dependencies = with pythonPackages; [ click fints requests diff --git a/pkgs/by-name/pr/prmers/package.nix b/pkgs/by-name/pr/prmers/package.nix index 0d3050d45c055..9a222a84cc5cc 100644 --- a/pkgs/by-name/pr/prmers/package.nix +++ b/pkgs/by-name/pr/prmers/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "prmers"; - version = "4.15.85-alpha"; + version = "4.16.07-alpha"; src = fetchFromGitHub { owner = "cherubrock-seb"; repo = "PrMers"; tag = "v${finalAttrs.version}"; - hash = "sha256-3WcEK02sRIMNPgoVn+3WKRWS/5LRTE1HdsJG3jlU7IA="; + hash = "sha256-PbIC2fpTsTFEqxYgG9AWaa2Y2sNbb+bljtR5dE958pY="; }; enableParallelBuilding = true; diff --git a/pkgs/by-name/pr/procdump/package.nix b/pkgs/by-name/pr/procdump/package.nix index a1fe660402c89..ca24ebeb987ea 100644 --- a/pkgs/by-name/pr/procdump/package.nix +++ b/pkgs/by-name/pr/procdump/package.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "procdump"; homepage = "https://github.com/Microsoft/ProcDump-for-Linux"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ c0bw3b ]; + maintainers = [ ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/pr/processing/deps.json b/pkgs/by-name/pr/processing/deps.json new file mode 100644 index 0000000000000..d42591ac99b52 --- /dev/null +++ b/pkgs/by-name/pr/processing/deps.json @@ -0,0 +1,1178 @@ +{ + "!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.", + "!version": 1, + "https://dl.google.com/dl/android/maven2/androidx": { + "annotation#annotation-jvm/1.8.0": { + "jar": "sha256-mqsybZSSgAmRhUNgrCSPSTzn98MYNRkwm3is6eJA9vY=", + "module": "sha256-48tFJVOdDtdLsjjvksae7yKoDkIsDSrLxR5hh/67ChM=", + "pom": "sha256-2fkI7m1IgSSs7VVv2Ka6nf5kf+AUuFrXIhRhEQ0DI2E=" + }, + "annotation#annotation/1.8.0": { + "module": "sha256-1ZCg2OAvQF3nSejcgLdB3FA8bj5MnAFtYU12tl8LWe8=", + "pom": "sha256-fDjBim6KzHvYjvrNfhR6iXqUW5nbci5U4LnOJEYQLVs=" + }, + "arch/core#core-common/2.2.0": { + "jar": "sha256-ZTCKBrHADuGGy54ZMhOD8EO5k4E/FSLEf0o+MwO9ukE=", + "module": "sha256-7fQgDP3C2UYjIlLJnl3LnGG7kJ61RQsmE9HU/cl0uYE=", + "pom": "sha256-HhfUr41kJb4qafivTWVKh+BFYlmp7vFUKGm8sCNUfig=" + }, + "collection#collection-jvm/1.4.0": { + "jar": "sha256-1c97cmR8eZUHFYj+hwRQ/5yPEn8lPS1IUeFhuAD2euA=", + "module": "sha256-IbCwLqaKvkGPPdTk1Ch27PO9mhytpFi0YMrhzZ1Y720=", + "pom": "sha256-WSTeoD4BjjIbPXlfI/tmWXJmQDJuCjIHWK5ZpnmStto=" + }, + "collection#collection/1.4.0": { + "module": "sha256-L9O1I+gnbAJUxBe2bY5/7MWwuXWvXReK+n9bgTgSz6s=", + "pom": "sha256-HNhaZRBlOBpYfuKERMl6sLyQP/CivXObBPIuMcKZoGw=" + }, + "lifecycle#lifecycle-common-jvm/2.8.5": { + "jar": "sha256-YchzpzJ8lG7AM8MQu5jz+S7qvO3g4aUgCrihiWSDx78=", + "module": "sha256-BWg9kQ3FQdBsTJekmSs+KXGueMK1zDX2vx2OB94Olw4=", + "pom": "sha256-q5cbvWNFWm6QTCC8Ub19oVOMDAglIx5SvDA94KsenuA=" + }, + "lifecycle#lifecycle-common/2.8.5": { + "module": "sha256-AwuN8Z5JeKwb6WnCopoBv8LMVihPUSY5oK00wi2mxPE=", + "pom": "sha256-KCYLDQ/KghpeL0Ug1DKLt94SYCGz3c1Hgt1WQRLsn2E=" + }, + "lifecycle#lifecycle-runtime-desktop/2.8.5": { + "jar": "sha256-EL/lO7J1L5Z3UaUQLNt4Xu6lTh1N9r3oj7D1CwpJFWw=", + "module": "sha256-7xi5Ie9z8pw0yf/rE0+ipKMIR7PgpKWFbABz6b9gBV0=", + "pom": "sha256-2RkYuV83/FPzkftWNFV2VlAmOuirwyjp5ry6imIBYqU=" + }, + "lifecycle#lifecycle-runtime/2.8.5": { + "module": "sha256-PnYlwcbHpLz6iHTZ2Xe08VX8M/bwKtbZQaQnAxENxHU=", + "pom": "sha256-BvksaPPGjzu339Gs/7yzNLuf+HxjWHQ9XUvCslds87Q=" + }, + "lifecycle#lifecycle-viewmodel-desktop/2.8.5": { + "jar": "sha256-IewOd9wC7Q1r/m88un9D4lQARG2J3thWjuFlQ34MGSI=", + "module": "sha256-Xye5EC2feXeRfxjy6yYelXaxbV1lxIjd8missFVNkQ4=", + "pom": "sha256-N2sCiZt+1vZK4rmBfm3S/vNr0cQn9qj+p6vV2iVxq3k=" + }, + "lifecycle#lifecycle-viewmodel/2.8.5": { + "module": "sha256-UjEhedy+2gwntKyQIFdv5BBbBH/0V+dLbaQiRft3RXM=", + "pom": "sha256-zzU+toek04gE0IYSpbxV5aO22ZWWdRC9yypfSH91bPY=" + } + }, + "https://github.com/processing": { + "processing-examples/archive/b10c9e9a05a0d6c20d233ca7f30d315b5047720e": { + "zip": "sha256-08ADdtsZ/lkbERbHliM5SSaFcTUnOplJdQx7eYR43qU=" + }, + "processing-website/archive/f11676d1b7464291a23ae834f2ef6ab00baaed8e": { + "zip": "sha256-MC3Ce5B5bFUA0aCkFQPCMGA5QuUw5vjmSzFnyEfR3Nw=" + } + }, + "https://jogamp.org/deployment/maven/org/jogamp": { + "gluegen#gluegen-rt-main/2.5.0": { + "jar": "sha256-zBFPTAspsv5NBqXHkxg4gURSoEzJeJ4nshqwXTVBwQc=", + "pom": "sha256-KDtSN+Uh/300IFXZw6Zy0FgglyLQgvPnVPZw3mVtghg=" + }, + "gluegen#gluegen-rt/2.5.0": { + "jar": "sha256-NiDBhTaoZx/LHFlddEjp0xImuCQRevakxtRcZX9Nq+M=", + "pom": "sha256-6S7gyRmGFTV50qfh5QJQaMLCSlNSc3L+Vrqk2ZCwGPM=" + }, + "gluegen#gluegen-rt/2.5.0/natives-android-aarch64": { + "jar": "sha256-NFx328LbuUpcVwOVNfPp1k0LTqFyVS1lvwiyJKadhKc=" + }, + "gluegen#gluegen-rt/2.5.0/natives-linux-aarch64": { + "jar": "sha256-GuQH+YQzcknnzZvx8eFjdzvgVSi1Vi7KBhvM9jSxDa8=" + }, + "gluegen#gluegen-rt/2.5.0/natives-linux-amd64": { + "jar": "sha256-bZmNDB8E8QOJS3aQSQhhJFBQY86oaoKJYZS7U8iLBAo=" + }, + "gluegen#gluegen-rt/2.5.0/natives-linux-armv6hf": { + "jar": "sha256-STL1+0J/TAal/QOzhUPqAhmVY8QX8HS1gTf6JWSlRN0=" + }, + "gluegen#gluegen-rt/2.5.0/natives-macosx-universal": { + "jar": "sha256-Pb1dBU8QjD+MDAcoHm40lLhbibDYs/D770v2xByiVOw=" + }, + "gluegen#gluegen-rt/2.5.0/natives-windows-amd64": { + "jar": "sha256-pPA54vqdYWvp8mKE/9av5fribVIdIfKBJuXqoHP4pDg=" + }, + "jogl#jogl-all-main/2.5.0": { + "jar": "sha256-zBFPTAspsv5NBqXHkxg4gURSoEzJeJ4nshqwXTVBwQc=", + "pom": "sha256-mGNBTE/Rxfbuq3A2Lhs626GUgWl3cZVqMlbtU4nR0kc=" + }, + "jogl#jogl-all/2.5.0": { + "jar": "sha256-JFcXzOq8omSiEKiZ+IOdR70Sf1D4CJLq0id92Jy80wE=", + "pom": "sha256-awhqLkYde3kRocFl/8veKrebAMVMNgzxkcoA9feE22o=" + }, + "jogl#jogl-all/2.5.0/natives-android-aarch64": { + "jar": "sha256-M4/4m89L/TTDJSOYA9o+BB4ZmPUNuGCYzVSJoXTwk7U=" + }, + "jogl#jogl-all/2.5.0/natives-linux-aarch64": { + "jar": "sha256-5LngFakf5SKdPVOEjii4ZwCpD6vY5f6FeW9rHUm0Jm4=" + }, + "jogl#jogl-all/2.5.0/natives-linux-amd64": { + "jar": "sha256-6XhQ8pDY5Eugf6BQDXoHH/REIJCZ8Dct89unB8uj3cE=" + }, + "jogl#jogl-all/2.5.0/natives-linux-armv6hf": { + "jar": "sha256-tQgMQid574BQpqAk7O+AW8rP1Vp9TU4/b8XXDinY+4s=" + }, + "jogl#jogl-all/2.5.0/natives-macosx-universal": { + "jar": "sha256-Ay5WFnRDqA+fRHf77vJV5ZmIxs1SN6FRuUi95Ly3yAw=" + }, + "jogl#jogl-all/2.5.0/natives-windows-amd64": { + "jar": "sha256-zgt1X2vA7u/ThlOectE+TY6W4fCGyiIvigLhEyADIUI=" + } + }, + "https://plugins.gradle.org/m2": { + "com/github/ben-manes#gradle-versions-plugin/0.52.0": { + "jar": "sha256-zuihUdLgvp86hcouXYeg2lyRpIHt8bx/e1e1Ywj9PA0=", + "module": "sha256-r6cL5O0h646QJ2hPFfpeKXXz0uRtIpN76jmhDkj3nd0=", + "pom": "sha256-WESi8/+pqARY0m7ex3EjeuYxXN3yBp1Qp+hUFj5A8Q0=" + }, + "com/github/ben-manes/versions#com.github.ben-manes.versions.gradle.plugin/0.52.0": { + "pom": "sha256-sLbWCz+UCuWgFAfwNJ6d86Ayph+FXkoXt9vakSprU3Y=" + }, + "com/google/code/gson#gson-parent/2.8.9": { + "pom": "sha256-sW4CbmNCfBlyrQ/GhwPsN5sVduQRuknDL6mjGrC7z/s=" + }, + "com/google/code/gson#gson/2.8.9": { + "jar": "sha256-05mSkYVd5JXJTHQ3YbirUXbP6r4oGlqw2OjUUyb9cD4=", + "pom": "sha256-r97W5qaQ+/OtSuZa2jl/CpCl9jCzA9G3QbnJeSb91N4=" + }, + "com/squareup/moshi#moshi-kotlin/1.12.0": { + "jar": "sha256-HENsB8FZzRrwMrt5NRpIqY5/eBrIB8/4tXEamZtWZt8=", + "module": "sha256-KnvKZtbM8WhVy1oKp8lRWPaIklomPv5MIEsjclSGH6E=", + "pom": "sha256-gwdSmAK8nLCHd24CabvdaSBG+kpz8ZDVgUpaj5JmJ24=" + }, + "com/squareup/moshi#moshi/1.12.0": { + "jar": "sha256-7pCR4dGlkm+ptN8mQsH7e7lq7Ahjm2IZwZ4LhyTUJHU=", + "module": "sha256-uGqTFURxITGVpEL4XKBG55oAHG1EbEHU0WiTbahW6+I=", + "pom": "sha256-YbyUJDqTc9mUini25xAAl161EPtvf0aoHq/N3TgeR3k=" + }, + "com/squareup/moshi#moshi/1.15.1": { + "jar": "sha256-RqERj+H8EnI6V1yUEz/Ik23MeNP4hzwOcKBV3p5YYaY=", + "module": "sha256-Zx9TVaun2f6mS+FONx/ClcNNq/hy0hCSS/DbQpHW73Q=", + "pom": "sha256-C4GbZHlZ52n2+7F+rZvm4F/tDCYRtFT1gAoIbC9IdjA=" + }, + "com/squareup/okhttp3#okhttp/4.12.0": { + "jar": "sha256-sQUAgbFLt6On5VpNPvAbXc+rxFO0VzpPwBl2cZHV9OA=", + "module": "sha256-YH4iD/ghW5Kdgpu/VPMyiU8UWbTXlZea6vy8wc6lTPM=", + "pom": "sha256-fHNwQKlBlSLnxQzAJ0FqcP58dinlKyGZNa3mtBGcfTg=" + }, + "com/squareup/okio#okio-jvm/3.6.0": { + "jar": "sha256-Z1Q/Bzb8QirpJ+0OUEuYvF4mn9oNNQBXkzfLcT2ihBI=", + "module": "sha256-scIZnhwMyWnvYcu+SvLsr5sGQRvd4By69vyRNN/gToo=", + "pom": "sha256-YbTXxRWgiU/62SX9cFJiDBQlqGQz/TURO1+rDeiQpX8=" + }, + "com/squareup/okio#okio-jvm/3.7.0": { + "jar": "sha256-2LNa3Ch2j0OuWv5qfRqiqHi6UeC5ak8wiBHzsfWxPlU=", + "module": "sha256-b64CAbCuSKGWBt4Ab/6YQtjQ/CoeQ04Hhc7Ni3Wr5HQ=", + "pom": "sha256-d07LnSsHlLT7J+eeCHYMpWC39U+qlRm5GDxn/rRfLJc=" + }, + "com/squareup/okio#okio/3.6.0": { + "module": "sha256-akesUDZOZZhFlAH7hvm2z832N7mzowRbHMM8v0xAghg=", + "pom": "sha256-rrO3CiTBA+0MVFQfNfXFEdJ85gyuN2pZbX1lNpf4zJU=" + }, + "com/squareup/okio#okio/3.7.0": { + "module": "sha256-88rgCfC2yEL7vFLOd1QsGdGdVu6ZpeVVZH8Lr8nVDPo=", + "pom": "sha256-H2KMRSg726uM4DwHps+3akeLjdrhgL2PNKusJz5Id24=" + }, + "com/squareup/retrofit2#converter-moshi/2.11.0": { + "jar": "sha256-2/rp294LYeXFZxZIyNn9SG766a0H1XPtAb0N5GiNmyw=", + "module": "sha256-8jl8dvQPuHPUydGvgwtEolty75gpsCYJnikTB4uN8z4=", + "pom": "sha256-MB/EqjCHlmkS/fQEko2EOtcUPO8wm3fuVeD+srWoyBU=" + }, + "com/squareup/retrofit2#converter-scalars/2.11.0": { + "jar": "sha256-ZH1+gaxh7t9pG6adgvDVaFCHq/DVj+fYa2Q9AoCNqRE=", + "module": "sha256-SaqPyhyulzzMqBdmncrXltVqeQ7UdQnweTMHdc8zJnQ=", + "pom": "sha256-s9ShAXMYUHQencArE1u4FRHlM0wUe74tqtL1afVmNkU=" + }, + "com/squareup/retrofit2#retrofit/2.11.0": { + "jar": "sha256-n0+7znByhYT77tONQGHzbUR36JvKdLTirIrraBmw/kM=", + "module": "sha256-6bsuIBhEyI5HUGJPkRSmNUtRtwlItE1ca0qU6M0HCoE=", + "pom": "sha256-3iKB4huk2YSrrxPcBn84C8WBaXBoxlaKu5uZjZ13cF4=" + }, + "com/vanniktech#central-portal/0.30.0": { + "jar": "sha256-8VybicRPV4cOThd6sK+u9xbHrYwJhzJmwtAuGh7fhu8=", + "module": "sha256-1rl7bLb3gsnA7RPI001F0dilTN2P4fPOLL5tXPscwpw=", + "pom": "sha256-nuEIXixMif6Jvn099IX0TFoIIuw8u5zmUoQtjQ9Z0lc=" + }, + "com/vanniktech#gradle-maven-publish-plugin/0.30.0": { + "jar": "sha256-byC0TTthYaeFv25+5PmHM9kXIbJmzoIQNsE21T8uSkg=", + "module": "sha256-7P66Xja6oxnc5IWGt5W2IF3K4KPI4lDtnUEyX6I3Zkc=", + "pom": "sha256-s7lK4JAD1t2n5vnABYUzoZdRo2b6/iwkxuNyY2HvsxU=" + }, + "com/vanniktech#nexus/0.30.0": { + "jar": "sha256-ewSXzGMMYxZdtBLhDCpo9k/4yLuu7JxnYxkzwlBzNEw=", + "module": "sha256-nqVJjdIldR6Q/sKM/xhkoutkkeA7HIQEhC492hvdu+w=", + "pom": "sha256-A99wmKpz2ZU3hI47gsMmisXwxF0wkKrjmJw/mjFQads=" + }, + "com/vanniktech/maven/publish#com.vanniktech.maven.publish.gradle.plugin/0.30.0": { + "pom": "sha256-JswhKPKkM3FnGR/kD986hZEBSpp5e2gO3uAzKq4y6ik=" + }, + "de/undercouch#gradle-download-task/5.6.0": { + "jar": "sha256-zkN6arnKcZzIVrVbp0kuQsTODumC5tIvtDLNVYh2gb4=", + "module": "sha256-P+YJN66Dzs2qpOD2EykVaQKD7d+IQ54m8efjgEV4NSI=", + "pom": "sha256-RqMBkMaLY9AegKQEQJfCULu8MgmkXw3FpNDioe1bgKc=" + }, + "de/undercouch/download#de.undercouch.download.gradle.plugin/5.6.0": { + "pom": "sha256-BlPzNGaIqBMNjjYy3kQHyDC1Iaoa7euqsYRUICAN/7E=" + }, + "org/jetbrains#annotations/13.0": { + "jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=", + "pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c=" + }, + "org/jetbrains/compose#compose-gradle-plugin/1.7.1": { + "jar": "sha256-qTE3DqieME70kmSrr6DE54/OudxsqysXZN+6GN0oQmQ=", + "module": "sha256-BNTIubIUlJU0UMSaak7akUrQDtORxkVO/Q2JjANFHdI=", + "pom": "sha256-5Kb7w7CA/Sd6WtXpF17hrOuoUS8DQIWal/B5b4Rt8F0=" + }, + "org/jetbrains/compose#org.jetbrains.compose.gradle.plugin/1.7.1": { + "pom": "sha256-Utg/JR/rUlwPyzAi5ECCnbspmqIuyYTw44wF5JBjYR4=" + }, + "org/jetbrains/intellij/deps#trove4j/1.0.20200330": { + "jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=", + "pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k=" + }, + "org/jetbrains/kotlin#compose-compiler-gradle-plugin/2.0.20": { + "module": "sha256-T0tsqhEaZFnFKSfpM2+DG8qDIUtuiYndph8BAYXe5qo=", + "pom": "sha256-Q9nypAfaiyhtjfMNZw8lVhUPZW9RnYQWqbGOTHGrfFo=" + }, + "org/jetbrains/kotlin#compose-compiler-gradle-plugin/2.0.20/gradle85": { + "jar": "sha256-wMMkdfUoT+fBgMrwC/QLb6OjsOkP7FgXttAg6xDtKbw=" + }, + "org/jetbrains/kotlin#kotlin-bom/2.0.21": { + "pom": "sha256-1Ufg3iVCLZY+IsepRPO13pQ8akmClbUtv/49KJXNm+g=" + }, + "org/jetbrains/kotlin#kotlin-build-statistics/2.0.20": { + "jar": "sha256-c6fXFRN1WzF9Kxttp2bW5reiXcmdzv5DEzJTNkIuzhE=", + "pom": "sha256-10GK0lyAbeg2FQvdNQsAvmwtJQmeXXQd3+PzgcUurY0=" + }, + "org/jetbrains/kotlin#kotlin-build-tools-api/2.0.20": { + "jar": "sha256-V+1QIg547DnoqAAUMw8pXlSFtWOMESmvntfVPXhYxcI=", + "pom": "sha256-nHrVho+yGJsb9NbCL2yUmDs6jhopTpWlQSy4Lg9C3bI=" + }, + "org/jetbrains/kotlin#kotlin-compiler-embeddable/2.0.20": { + "pom": "sha256-WXBD+4xlJ/QpmcoE7TUpY5Is0W5piKqlLT2zLaHbhZ0=" + }, + "org/jetbrains/kotlin#kotlin-compiler-embeddable/2.0.21": { + "jar": "sha256-n6jN0d4NzP/hVMmX1CPsa19TzW2Rd+OnepsN4D+xvIE=", + "pom": "sha256-vUZWpG7EGCUuW8Xhwg6yAp+yqODjzJTu3frH6HyM1bY=" + }, + "org/jetbrains/kotlin#kotlin-compiler-runner/2.0.20": { + "jar": "sha256-4DzwSwNA8a4VEhBjC10pFcKXmIxuIuTe206nz7dKz2c=", + "pom": "sha256-3M3xugxPzYvUIwNFroP6fb6SglY9ilP9XmHFM1tbcYA=" + }, + "org/jetbrains/kotlin#kotlin-daemon-client/2.0.20": { + "pom": "sha256-qUcReIj0z/tjk9QurqYRtj31ib8pYXgmzLclNxK/OsM=" + }, + "org/jetbrains/kotlin#kotlin-daemon-client/2.0.21": { + "jar": "sha256-Nx6gjk8DaILMjgZP/PZEWZDfREKVuh7GiSjnzCtbwBU=", + "pom": "sha256-8oY4JGtQVSC/6TXxXz7POeS6VSb6RcjzKsfeejEjdAA=" + }, + "org/jetbrains/kotlin#kotlin-daemon-embeddable/2.0.20": { + "pom": "sha256-IZgoJm6keO7rQuT1L5bQuQfYykhHz4aq45FprYsupKU=" + }, + "org/jetbrains/kotlin#kotlin-daemon-embeddable/2.0.21": { + "jar": "sha256-saCnPFAi+N0FpjjGt2sr1zYYGKHzhg/yZEEzsd0r2wM=", + "pom": "sha256-jbZ7QN1gJaLtBpKU8sm8+2uW2zFZz+927deEHCZq+/A=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/2.0.20": { + "jar": "sha256-i2O0/7e6aOKHIFaa1HqWzAZclFZO0WHuoVrIZIh7pN4=", + "pom": "sha256-D8eaPIg8fbbsD6lU1cimiugRBlIm+4WRbhy/9pnlwUc=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.0.20": { + "jar": "sha256-D3NXvFzMjjaB7DtGQ8cMrSiDskbIt699bZccQeOTTy0=", + "module": "sha256-CJ8SCJE61calM09nu8pI/HsK+hCv0L2lFT+8tSzCqWw=", + "pom": "sha256-IQOK734wtxG0qE3grS1TO9MgXhOKrWfP1YnXl+/afII=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.0.20/gradle85": { + "jar": "sha256-D3NXvFzMjjaB7DtGQ8cMrSiDskbIt699bZccQeOTTy0=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/2.0.20": { + "jar": "sha256-Ce2wJ7mh899xYnGuyte7QaHdvC+cETFyl5ANTyvc6Iw=", + "pom": "sha256-wZireMJmzzvnodJHBeW7GIbUlF/cpPcX9U77hv9M10o=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-idea/2.0.20": { + "jar": "sha256-wfTqDBkmfx7tR0tUGwdxXEkWes+/AnqKL9B8u8gbjnI=", + "module": "sha256-wy8Uw0SXgCqOjXk7K11nkj4gIlOUePNm4Yp+9kFOut4=", + "pom": "sha256-Vn7N8kaceWkMLgmdz6r8PhF67GTe3BejtJ/Uo/ptDgg=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-model/2.0.20": { + "jar": "sha256-UUx/F9xeVO5dFqdhs2S500OVa8rUnf0I4IWWIldzfhk=", + "module": "sha256-HPn20+xtMFqgiQMqyJL/rogcwQUAP0VvLBX9PDAyCm4=", + "pom": "sha256-SEIbKUnHKiDU4OPybYcYxruScIbHbF/AlSCg1jbPumc=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin/2.0.20": { + "module": "sha256-aBPMpB7w+/FciL7MQB44cGuWlEwhtr7HPdiM+QoPIB4=", + "pom": "sha256-eEmYfUbGj7neKvOwReEq1nPm1mOvbqpf2MYRlCt3LF0=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin/2.0.20/gradle85": { + "jar": "sha256-gSn2LLfGJ7XOghh+QqbYfEKVK8e6ZLgFo1R/aFIxlmI=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugins-bom/2.0.20": { + "module": "sha256-GwMjHvp7O20xsJNocpQfh+J6gZwANxiz0JiAt25j180=", + "pom": "sha256-TDLrNQlMFjWd943q7BHOUjvjYEB0FPoK7Miu/GftSkM=" + }, + "org/jetbrains/kotlin#kotlin-klib-commonizer-api/2.0.20": { + "jar": "sha256-QsQvvic/oDBOThf3OSxms56R+Z01+FwGixG91Wuemdw=", + "pom": "sha256-5f4GjE69XIhYw1w56GI6vrnIb4oXJUdC5/VZjkP62jw=" + }, + "org/jetbrains/kotlin#kotlin-native-utils/2.0.20": { + "jar": "sha256-wWbyBR6R0ZnpYP/HsnZEhcFRDNF2dN17jOPC/NBqhys=", + "pom": "sha256-mISZMftwkWhS6qfCDm2Pr1IsUNd627r9k2T1JrfN7EI=" + }, + "org/jetbrains/kotlin#kotlin-reflect/2.0.21": { + "jar": "sha256-OtL8rQwJ3cCSLeurRETWEhRLe0Zbdai7dYfiDd+v15k=", + "pom": "sha256-Aqt66rA8aPQBAwJuXpwnc2DLw2CBilsuNrmjqdjosEk=" + }, + "org/jetbrains/kotlin#kotlin-serialization/2.0.20": { + "module": "sha256-rsyQ8DJ7IQJTYRNdyJQBDmHDVzVFBtLTP3pZeakRxGQ=", + "pom": "sha256-wYgmEN73pFKwREi8GVqr+D6CqMEcUSmFYUAbGyxfKCw=" + }, + "org/jetbrains/kotlin#kotlin-serialization/2.0.20/gradle85": { + "jar": "sha256-Jjd6xiKasd8/ojVJPYxWfkcLjYa2PolUSMwmbL/Ob1o=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-common/2.0.21": { + "module": "sha256-b134r2M2AKa5z7D8x2SvPVEZ83Zndne5G2rugWsdMKs=", + "pom": "sha256-X0As+413MZW5ZwUBJMnom1+EsXJGThiUkpeJv1xMLyk=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.8.21": { + "jar": "sha256-M9FI2w4R3r0NkGd9KCQrztkH+cd3MAAP1ZeGcIkDnYY=", + "pom": "sha256-m7EH1dXjkwvFl38AekPNILfSTZGxweUo6m7g8kjxTTY=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk7/2.0.21": { + "jar": "sha256-cS9IB2Dt7uSKhDaea+ifarUjdUCLsso74U72Y/cr7jE=", + "pom": "sha256-TXE+dTi5Kh15cX6nHPHQI1eoThFFDEbLkuMgee40224=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.8.21": { + "jar": "sha256-PbdSowB08G7mxXmEqm8n2kT00rvH9UQmUfaYjxyyt9c=", + "pom": "sha256-ODnXKNfDCaXDaLAnC0S08ceHj/XKXTKpogT6o0kUWdg=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk8/2.0.21": { + "jar": "sha256-FcjArLMRSDwGjRaXUBllR0tw39gKx5WA7KOgPPUeSh0=", + "pom": "sha256-MQ1tXGVBPjEQuUAr2AdfyuP0vlGdH9kHMTahj+cnvFc=" + }, + "org/jetbrains/kotlin#kotlin-stdlib/2.0.21": { + "jar": "sha256-8xzFPxBafkjAk2g7vVQ3Vh0SM5IFE3dLRwgFZBvtvAk=", + "module": "sha256-gf1tGBASSH7jJG7/TiustktYxG5bWqcpcaTd8b0VQe0=", + "pom": "sha256-/LraTNLp85ZYKTVw72E3UjMdtp/R2tHKuqYFSEA+F9o=" + }, + "org/jetbrains/kotlin#kotlin-tooling-core/2.0.20": { + "jar": "sha256-W28UhUj+ngdN9R9CJTREM78DdaxbOf/NPXvX1/YC1ik=", + "pom": "sha256-XhIxEeAQewRmSIOgpAjB/zvbXQR+SQH4L0xC8QV4Bi0=" + }, + "org/jetbrains/kotlin#kotlin-util-io/2.0.20": { + "jar": "sha256-ZGTbjUFywhoXp5C20XiQIu1nrbN8UL5ri59YK1UrhSI=", + "pom": "sha256-LrBxVfqEF46ZVjnOe3aRcofK5UKjXSm1a7CZEB0oajw=" + }, + "org/jetbrains/kotlin#kotlin-util-klib/2.0.20": { + "jar": "sha256-h92Djcd3gsuVZ/GnYUmbPkpQ9SjABbJjii4+V0EKljs=", + "pom": "sha256-fbTRw72mdZvifuk35gfoscRpWNwIR3Ey/a7t4BbnOP8=" + }, + "org/jetbrains/kotlin/jvm#org.jetbrains.kotlin.jvm.gradle.plugin/2.0.20": { + "pom": "sha256-JyOoqUP6SkTTcD8VTEW31UcMcZ1OYKvz4ixzt3s4i5M=" + }, + "org/jetbrains/kotlin/multiplatform#org.jetbrains.kotlin.multiplatform.gradle.plugin/2.0.20": { + "pom": "sha256-eB3fXoWUHaYbaNxvts/TEvQb20Z7A9LYFEkDkc8PHA0=" + }, + "org/jetbrains/kotlin/plugin/compose#org.jetbrains.kotlin.plugin.compose.gradle.plugin/2.0.20": { + "pom": "sha256-qYIKx23l4slfvXM/0y0CQQRMWMo1cC1JvpkVeA4Eito=" + }, + "org/jetbrains/kotlin/plugin/serialization#org.jetbrains.kotlin.plugin.serialization.gradle.plugin/2.0.20": { + "pom": "sha256-0s2V9THwNRgW+fg0bsbWB2xxyt9jLz6PZX3dft+RukE=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-bom/1.6.4": { + "pom": "sha256-qyYUhV+6ZqqKQlFNvj1aiEMV/+HtY/WTLnEKgAYkXOE=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.6.4": { + "jar": "sha256-wkyLsnuzIMSpOHFQGn5eDGFgdjiQexl672dVE9TIIL4=", + "module": "sha256-DZTIpBSD58Jwfr1pPhsTV6hBUpmM6FVQ67xUykMho6c=", + "pom": "sha256-Cdlg+FkikDwuUuEmsX6fpQILQlxGnsYZRLPAGDVUciQ=" + }, + "org/sonatype/oss#oss-parent/7": { + "pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ=" + } + }, + "https://repo.maven.apache.org/maven2": { + "antlr#antlr/2.7.7": { + "jar": "sha256-iPvaS5Ellrn1bo4S5YDMlUus+1F3bs/d0+GPwc9W3Ew=", + "pom": "sha256-EA95O6J/i05CBO20YXHr825U4PlM/AJSf+oHoLsfzrc=" + }, + "bouncycastle#bcmail-jdk14/138": { + "jar": "sha256-OJ9AXPpmsmAESEczk3oiYkeCpdhkVuDDXgB7YOvI41k=", + "pom": "sha256-XP2ibQY7MUiu5Lcukc8NXRjGk4CAfGLr/NZXttk/ykw=" + }, + "bouncycastle#bcprov-jdk14/138": { + "jar": "sha256-1guIxdGTLejZjt1aOuLV1WR3k94+thVwFYB+5SPNK+4=", + "pom": "sha256-UdheKECDgumkVTL5IaEZ9HK6/6t8QEUG2sjI01+wdtM=" + }, + "bouncycastle#bctsp-jdk14/138": { + "pom": "sha256-N/DSczc5qd0YgUzAKLBrvTMunjFffrkJkRihebn76Mg=" + }, + "com/charleskorn/kaml#kaml-jvm/0.65.0": { + "jar": "sha256-t+lNDy2KXE2CbPwx1KFHXpb8EkQij7QeEhvwBbuffyg=", + "module": "sha256-fVfqJl1EEyXprf0GdElCc9M3+MvvZJPViWBDMXFOM5Y=", + "pom": "sha256-wL9cQLhQVY8dkydXJtrn0id9SEm4ahRiDacp7LMVTj4=" + }, + "com/charleskorn/kaml#kaml/0.65.0": { + "module": "sha256-t5Lw0MovyuiCbzxPdBnHuSQx3lfIfymRw20Ps94qWEg=", + "pom": "sha256-TTWswCtEWPKY2DWjeWefMhffKcHMKNZdD/5EFNSJPzk=" + }, + "com/formdev#flatlaf/2.4": { + "jar": "sha256-NVMYiCd+koNCJ6X3EiRx1Aj+T5uAMSJ9juMmB5Os+zc=", + "module": "sha256-lDJSAGQRAP/5BV5biVzSrDVOd9WV32zDI1/bRn24yl4=", + "pom": "sha256-f4MV+IaEGAV2gd89FstH7TrHgbB5ElqnvKRmjPyf7g0=" + }, + "com/github/ajalt/clikt#clikt-core-jvm/5.0.2": { + "jar": "sha256-GLLfMKM5WjeCPsQyN1oVtIXSkrZXXjDvGEzJ58B9i4c=", + "module": "sha256-IBbMFaubv1CrNqYPSBlzU1Uj69Ms0brhA5mKYNmxnDg=", + "pom": "sha256-OUM4/+m2TB4aDzN24W4TXjl8H1Q86Jp8G4IIR6adsfQ=" + }, + "com/github/ajalt/clikt#clikt-core/5.0.2": { + "module": "sha256-waxlNfNh5suAUQsvzzfMj1SkiRFSKunsYs73HcICGvk=", + "pom": "sha256-+OBeYH0og+8v8RWvrb4JTwP59HmbPMaRiSwjW4xcjVg=" + }, + "com/github/ajalt/clikt#clikt-jvm/5.0.2": { + "jar": "sha256-CDUQe1HVchTVouFdSyFP3Waz7uW7Os+W/zWyO9SjbN4=", + "module": "sha256-XP3wXVDagWYbEEu5g+0WzYyQ+gviod/k+4tBNtGkf/4=", + "pom": "sha256-SrqetHfL9KvuQpA72reTzo6YWKVpFdMn3wKzsxwkjFc=" + }, + "com/github/ajalt/clikt#clikt/5.0.2": { + "module": "sha256-RxznYZxjEC99/MAzbKQ+19pZFkYLcdAGDK3e+QtQU84=", + "pom": "sha256-oft1NUdQSp/XUh+nMN1PZwl1cWZ8rf91OCmGw4kXW2Y=" + }, + "com/github/ajalt/colormath#colormath-jvm/3.6.0": { + "jar": "sha256-WfdBrf5iBTBmeC2LGkWv0GaFpLxkszJ35Uh2uZPtiFw=", + "module": "sha256-P6dnMPmJ4ChN8YL87IViDZtIrjIhOYhBrGyviEYvYvg=", + "pom": "sha256-8Dw11QURDQZzNF9HQOVbzZdqmp+lobE8qirTmPO8Hl0=" + }, + "com/github/ajalt/colormath#colormath/3.6.0": { + "module": "sha256-aQeqSXrbmvY4EsdTZjic7T5ruL7oDnsjmttMU2c/iIQ=", + "pom": "sha256-zh3tjA259LxNNjS64Vn9jVu2qWDyzTuWoAyPDnnOZAs=" + }, + "com/github/ajalt/mordant#mordant-core-jvm/3.0.1": { + "jar": "sha256-nPm0bR9J8tbPJjVGKyncWeDCmx+y8IWzMSiIu+nHzTE=", + "module": "sha256-5HRMRxB05ezUFh9wcLRZTfAO8XivBEJlkF5e0c61rJI=", + "pom": "sha256-1Ylt5eNKnVarJ4Y5iyYHJLGB85zAUIy7Kh9+iGzSXYc=" + }, + "com/github/ajalt/mordant#mordant-core/3.0.1": { + "module": "sha256-BWl6xcBV8Uh2cJ/U6f1ejD0VphrHesVy+RZEmTKgjC8=", + "pom": "sha256-Ah3YAdKdWJlqDJv/ux8VHWkHytU20syNGnoHuck4UNo=" + }, + "com/github/ajalt/mordant#mordant-jvm-ffm-jvm/3.0.1": { + "jar": "sha256-IEHC9fe4cJWxFcsZFV7pJXRRhU0I5bhnEWW0O8fhFM8=", + "module": "sha256-iE1x/LfBAQrm11qoka5UqYmGEVSwfxIVzVRfDkg34V0=", + "pom": "sha256-azbnZhrYKN4DoomS2K6WJWzq3z/aEo+OxImo1lu7rFM=" + }, + "com/github/ajalt/mordant#mordant-jvm-ffm/3.0.1": { + "module": "sha256-2Frg+0n7bXFHibQ/MbVnUoybit+G0Ou5hpSkGpHgmmc=", + "pom": "sha256-/MzpL8GhnxYzgGhDyuVTLIx/2YSnkxRbb7y3iUpk/s0=" + }, + "com/github/ajalt/mordant#mordant-jvm-graal-ffi-jvm/3.0.1": { + "jar": "sha256-bdS+vBZK6s3azI+Y6Phx4A/SHOe8LrDRgjDqg73fyGo=", + "module": "sha256-DYGba/u8pO6XszB4ZoEpaQdmr/lI/ByDF4j04DSFOsM=", + "pom": "sha256-Cm95LxyTYJX4dGmR1k2os/+ECazeOUir5d4v1WiIeDo=" + }, + "com/github/ajalt/mordant#mordant-jvm-graal-ffi/3.0.1": { + "module": "sha256-qu/aIGckg7OwsmDdHvE0LOazTs6IutbfOa4bJgUMjAo=", + "pom": "sha256-VAicrH9XCzo84x3cCD+ORgs7ED62oXM8kUE1GgaLR/M=" + }, + "com/github/ajalt/mordant#mordant-jvm-jna-jvm/3.0.1": { + "jar": "sha256-QQY0QsiJGyd0U2qbh6UGKn/SDm8ZSZdMbacvSUctb00=", + "module": "sha256-eBcNkl07qnWGYvl2M2FjkN6Q1CoslON2PqpZBXY3jh4=", + "pom": "sha256-/hWoxktH4H8vmdiDKG5O+xR0YkVlh0ayVQ9vlohkX4A=" + }, + "com/github/ajalt/mordant#mordant-jvm-jna/3.0.1": { + "module": "sha256-cn+1FiNOi6/JJ5Xi7L0No4VNcjoWxphCrGGSC/WIebk=", + "pom": "sha256-xbxkikqeKmz3+dGAJMi/ZrIYCVDpPxYIODTHv/OqeGE=" + }, + "com/github/ajalt/mordant#mordant-jvm/3.0.1": { + "jar": "sha256-ntO5dvzMx42nRtSYZvqOu48QUwqTxUTqBCAlmmB92V4=", + "module": "sha256-peTyMSt69CDG2DLDA4kcGg2GN8z6WpTYnxFGxIZpgLo=", + "pom": "sha256-sAnaTDfbjhc2uEgrRPIJ2Cdx/xyNO9+UbraE07nOmWU=" + }, + "com/github/ajalt/mordant#mordant/3.0.1": { + "module": "sha256-lJLcf2NgJt8ulCkim52Ae1d00uZBUQ2Qv4Kb0qyzthU=", + "pom": "sha256-BlK5t9Y0kro8J8ZIkANIZRxbKFdEAph7j+KqBUlqkaQ=" + }, + "com/google#google/1": { + "pom": "sha256-zW2xehGjHt55TMvR3w5Nl1D2QCNHMfIc/4hamZcnfoE=" + }, + "com/google/classpath-explorer#classpath-explorer/1.0": { + "jar": "sha256-NAZhIauvj2SXmknkbLzP3h0kGqUph7uUaSXItSRxHio=", + "pom": "sha256-65la++BWh2EB+h7K7JJNrPPmV+P+7buxFv3GYBj1b+w=" + }, + "com/google/code/gson#gson-parent/2.10.1": { + "pom": "sha256-QkjgiCQmxhUYI4XWCGw+8yYudplXGJ4pMGKAuFSCuDM=" + }, + "com/google/code/gson#gson/2.10.1": { + "jar": "sha256-QkHBSncnw0/uplB+yAExij1KkPBw5FJWgQefuU7kxZM=", + "pom": "sha256-0rEVY09cCF20ucn/wmWOieIx/b++IkISGhzZXU2Ujdc=" + }, + "com/google/code/gson/gson/maven-metadata": { + "xml": { + "groupId": "com.google.code.gson", + "lastUpdated": "20250910210152", + "release": "2.13.2" + } + }, + "com/ibm/icu#icu4j/72.1": { + "jar": "sha256-PfVyskCmjRO1zXeK0jk+iF0mQRQ0zY8JisWYfqLmTOM=", + "pom": "sha256-Pe8rKa9KGa2AXLFTBWklqJqQP5L77hre4S7S/BTETug=" + }, + "com/lowagie#itext/2.1.7": { + "jar": "sha256-fYLGsJejHN9abUmjJ79YL97HME2mkwj59qv1Sqn9kFU=", + "pom": "sha256-iT+cUAxixPtAUKGW7OzjVv5LTmFfLe6d/q3Yj0yDeM0=" + }, + "com/mikepenz#multiplatform-markdown-renderer-jvm/0.31.0": { + "jar": "sha256-AqvJZI4DQqERE20SI1PnJmQc7kL3fjOZ00QodKWtCI0=", + "module": "sha256-4Z0OqaPQu/uoq7XdlCKgMUzYFeVrB2kS3zr0v6ehvq0=", + "pom": "sha256-QrNShBfbKcxFFTdsYMPzqwp4beJBdZ6BnwnDlro/rlA=" + }, + "com/mikepenz#multiplatform-markdown-renderer-m2-jvm/0.31.0": { + "jar": "sha256-G8eVEfIz36vxL++dhTX9GOO9qK6up/VG7H1ipDEKOHA=", + "module": "sha256-YxfvUuksLMsXcZ46Lppc7L6tfk0Uw1F9xki04L4TrZY=", + "pom": "sha256-iM0nqkQ9kcFJKnHeNcyga5t/2DTvBz3vDkOdmq+B8u0=" + }, + "com/mikepenz#multiplatform-markdown-renderer-m2/0.31.0": { + "module": "sha256-4Qzn2MAoDELzXzHIL8HzKQDadAPe03A1Yv9iOjQR7R4=", + "pom": "sha256-V8vNJHaoBaN1Uh2YOyMSOSuobleDSc5KUiPIfzi7Z58=" + }, + "com/mikepenz#multiplatform-markdown-renderer/0.31.0": { + "module": "sha256-s6mFqx07ltTL8LTRuoBzH9gY3IiqxdrpgYLEvVhvF8w=", + "pom": "sha256-ny9Y4lNmYWfVB7P+TIEIjDNgn2ZymtDr+FsefcROHZw=" + }, + "com/squareup/okio#okio-jvm/3.9.1": { + "jar": "sha256-/m/pE3j5v6ewjDhkgozkGABc8orMoS6IR+tlxWXDdQA=", + "module": "sha256-sK+pGSxC18Rj3jjWMlk2xpAdnjtxSXNf/RihHfMQNKs=", + "pom": "sha256-VXZInO8kBTNoAPxt6VhUU18zVxpO/lpa0OybmwkNIdU=" + }, + "com/squareup/okio#okio/3.9.1": { + "module": "sha256-m5C0J0pa1gLdV01tS0iQNmOy3ppgufw0AiSCk9hD4SE=", + "pom": "sha256-06DDd+epr8zbsCqrXgUNwhL/2pQNvUcOo5cSpDQt8I4=" + }, + "io/github/alexzhirkevich#compottie-desktop/2.0.0-rc02": { + "jar": "sha256-2hPz27LSDfcfkOM/WAFmQICwvjtxOG6+grCHiMZiUSM=", + "module": "sha256-9SiEzSwHiXpcG7zbzDn4fWDhxS5ui4NLN58UhIQnUvo=", + "pom": "sha256-OD2P1kZn01mTeWdBO5KdWjLFkFf6j/uUAe+csGhlxzM=" + }, + "io/github/alexzhirkevich#compottie/2.0.0-rc02": { + "module": "sha256-PkqVnMz/8rLcPY9RyDd1Ob1HaELeUv7fPBqTwG0z2q4=", + "pom": "sha256-rXB2UEwMZ2jMGdt/h3dYXLsgArMMTZ7russckwQeCqI=" + }, + "it/krzeminski#snakeyaml-engine-kmp-jvm/3.0.3": { + "jar": "sha256-8aEeOtlSXLfzALQXS3Th/kqJ1hmlSh+6dXR/jIVLWFY=", + "module": "sha256-gQRAI5PMa2ZF7qLbq5v465xzjDcnifGvZap0B//xLso=", + "pom": "sha256-PYiuJDTXhzq6Ahi7MAUr1t1StmmBeY3Gbz9pmiUWsQ0=" + }, + "it/krzeminski#snakeyaml-engine-kmp/3.0.3": { + "module": "sha256-t9SuIEDnTa5irWgxGmKslWhyTJGdLyE4mEfBwkF3+iA=", + "pom": "sha256-fDOZwydrGFcEeSYGr//HPQuh2JuJYw9OMJpMxhplQHo=" + }, + "net/java/dev/jna#jna-platform/5.12.1": { + "jar": "sha256-jOlpEWyslb1hsHqNXgcXSzUuYzAUc8qscsOV48CEiNI=", + "pom": "sha256-wnn/o7UWjiIDCHIxxjiRmnzsdFgAaxzaZpWXR4YPtFc=" + }, + "net/java/dev/jna#jna-platform/5.17.0": { + "jar": "sha256-t+PUbIe60utAmw5wSRa82BIGFo41cxLf3dDiU2ec2eA=", + "pom": "sha256-CjC3l622giFH75jLJJ7z+/SiQ1QqqGv59C+tnmgwWkQ=" + }, + "net/java/dev/jna#jna/5.12.1": { + "jar": "sha256-kagUrE9A1g3ukdhC4aith0xiGXmEQD0OPDDTnlXPU7M=", + "pom": "sha256-Zf8lhJuthZVUtQMXeS9Wia20UprkAx6aUkYxnLK4U1Y=" + }, + "net/java/dev/jna#jna/5.17.0": { + "jar": "sha256-s6lAjnxR4I7w47/MCPRD9uwPYZG6jNfBjVPSsi5b28A=", + "pom": "sha256-UBoP8F2EpK0Q9t4lvpT0k5i3CjG+jzoO2fTGtE++/uQ=" + }, + "net/thauvin/erik/urlencoder#urlencoder-lib-jvm/1.6.0": { + "jar": "sha256-jQ/SrrSNGdxJxWPrwA8nSUfkX3FsEHU1wS6tY97NaI0=", + "module": "sha256-xR2qXFshotEfU5wbBIr4Up9G1hAMoiSzJRH7WGPb6Co=", + "pom": "sha256-0km6NJnFKFee+uva43MWkv1EgdmvnLh3wh2bf6UHHr0=" + }, + "net/thauvin/erik/urlencoder#urlencoder-lib/1.6.0": { + "module": "sha256-FwoYaL+6OY1km+K/UNbNhgNQyUskNncrJMs0vN6kobU=", + "pom": "sha256-h64XwAQtoKQCt8aHbH7yBM1Zmied35GpwW30qJ3q57w=" + }, + "org/abego/treelayout#org.abego.treelayout.core/1.0.3": { + "jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=", + "pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw=" + }, + "org/antlr#ST4/4.3.4": { + "jar": "sha256-+SesOExG10n4texolypTrtIeADE1CSmWFu23O/oV/zM=", + "pom": "sha256-nnwfPkiZGUQOjBMInlljcp1bf4D3AjO/uuMJxkmryj4=" + }, + "org/antlr#antlr-master/3.5.3": { + "pom": "sha256-6p43JQ9cTC52tlOL6XtX8zSb2lhe31PzypfiB7OFuJU=" + }, + "org/antlr#antlr-runtime/3.5.3": { + "jar": "sha256-aL+fWjPfyzQDNJXFh+Yja+9ON6pmEpGfWx6EO5Bmn7k=", + "pom": "sha256-EymODgqvr0FP99RAZCfKtuxPv6NkJ/bXEDxDLzLAfSU=" + }, + "org/antlr#antlr4-master/4.13.2": { + "pom": "sha256-Ct2gJmhYc/ZRNgF4v/xEbO7kgzCBc5466dbo8H6NkCo=" + }, + "org/antlr#antlr4-master/4.7.2": { + "pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE=" + }, + "org/antlr#antlr4-runtime/4.13.2": { + "jar": "sha256-3T6KE6LWab+E+42DTeNc5IdfJxV2mNIGJB7ISIqtyvc=", + "pom": "sha256-A84HonlsURsMlNwU/YbM3W44KMV5Z60jg94wTg0Runk=" + }, + "org/antlr#antlr4/4.13.2": { + "jar": "sha256-5vCxDSrSBvM4r+FoZ/xHFItnKdbjomDqKDebkfA6Nlc=", + "pom": "sha256-gJ7klwbc42dJiLq/ytNrPFoOL9XPoKUSCRA5Y+hXJhs=" + }, + "org/antlr#antlr4/4.7.2": { + "pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E=" + }, + "org/apache#apache/30": { + "pom": "sha256-Y91KOTqcDfyzFO/oOHGkHSQ7yNIAy8fy0ZfzDaeCOdg=" + }, + "org/apache/ant#ant-launcher/1.10.14": { + "jar": "sha256-8JCXJaeiTjk4iPP7tVg0er9QbOL368WB/yYzG5TZUaU=", + "pom": "sha256-nJ2qQSPp63BzVnk2UsOIo1UQqqWm0UW0T4VdCN1LK7w=" + }, + "org/apache/ant#ant-parent/1.10.14": { + "pom": "sha256-CBYQamBniMJw767yFWLPy9j0uvfafBG85RSetWYbMx8=" + }, + "org/apache/ant#ant/1.10.14": { + "jar": "sha256-TLvZJD3kwQQtYdmhXbTEPJD/k7FteLOUgdoclWyOlnE=", + "pom": "sha256-L6QmnmscRXI6iojmnZhKdm27IEzQ/pgUlMzfP+469lw=" + }, + "org/apache/netbeans#netbeans-parent/4": { + "pom": "sha256-avmm8NmH5LMs41OCls+xrE0Fv7tUCQxwVwfd/jjQviA=" + }, + "org/bouncycastle#bcmail-jdk14/1.38": { + "jar": "sha256-OJ9AXPpmsmAESEczk3oiYkeCpdhkVuDDXgB7YOvI41k=", + "pom": "sha256-c1iVvpAo4/4HPC2ZhyXaNhppHlqIt/CPK9Kf3d1sK/E=" + }, + "org/bouncycastle#bcprov-jdk14/1.38": { + "jar": "sha256-1guIxdGTLejZjt1aOuLV1WR3k94+thVwFYB+5SPNK+4=", + "pom": "sha256-WNpDaTTbFHIzFaFgoRoL+RaSlDAM4+JLDTFPQuJQ1vM=" + }, + "org/bouncycastle#bctsp-jdk14/1.38": { + "jar": "sha256-7Lvk0Zwlbk2/7DRUuCtNJLFJ+Q8/nJDmqu8ilGPNTag=", + "pom": "sha256-t1DY8h6x4R1nZiSmz8sgEXs6O793IZua5h7903MFlT4=" + }, + "org/eclipse/jdt#org.eclipse.jdt.compiler.apt/1.3.400": { + "jar": "sha256-j2mdaESZS5gXXKoODoRBZMw8pfqAAAjd2b8/ccUJOKQ=", + "pom": "sha256-YFzh1xecR16rcakoAnBVayVYQvMj/6lbMdM+J2hgopE=" + }, + "org/eclipse/jdt#org.eclipse.jdt.core/3.16.0": { + "jar": "sha256-fHGIanaWSoJetzTSLe29Oh76LBm+w68m0Ht7voFn2UM=", + "pom": "sha256-FlCWh/CH4TplTFraeRjLuZXop5lrD7oQsJQ8xgx5bMk=" + }, + "org/eclipse/lsp4j#org.eclipse.lsp4j.jsonrpc/0.22.0": { + "jar": "sha256-mIkPcX4JHtGySUqhTwQuUPdMggVlmO6yfFRAqErdxLk=", + "pom": "sha256-zlCWRxWWE3wv7HEQ9Dbz1YpN4oSczcECTAQQLj2mXxw=" + }, + "org/eclipse/lsp4j#org.eclipse.lsp4j/0.22.0": { + "jar": "sha256-uukFuFg86nP70Lekel8pCX31l+EYdaRSXQ7rrj1JcqA=", + "pom": "sha256-w9wJYboDpq7ZqYKYRdYP5zAgW/4i5cQKCPNC5aTbsVE=" + }, + "org/eclipse/platform#org.eclipse.core.commands/3.12.400": { + "jar": "sha256-0IOPxFEzUjcgMUXtXAjnkxI2w1HwuG7gvtQY/ouD+xs=", + "pom": "sha256-VvaWUeXjKExahc04hAmgqVZ4ro+teQO7OuCufAJK0GU=" + }, + "org/eclipse/platform#org.eclipse.core.contenttype/3.9.700": { + "jar": "sha256-UQnqmnhxhPV/+CljW539Ytc2w5HUgefrKLqj0nj9wAY=", + "pom": "sha256-s1ueFPUNcb6ZBakpWBHiBV3dVBAWUwMhKSslFMhcV8c=" + }, + "org/eclipse/platform#org.eclipse.core.expressions/3.9.500": { + "jar": "sha256-hES13pDJtKtSjI6lw0HH6HLQ2+gkGreQhVUQhtlufJ4=", + "pom": "sha256-1Ks7hbJUOHlXRXwfRrcAG1qQqJjFIixQIKB5DlFhalA=" + }, + "org/eclipse/platform#org.eclipse.core.filesystem/1.11.300": { + "jar": "sha256-6zJJS6uuCiEGYuFhq8vE33BXdI4AMyahVupneDyorO4=", + "pom": "sha256-riTI0aUrpG3UKlyUP9xfw0Ky9A1Ff4E8N+gs/o/Gdp4=" + }, + "org/eclipse/platform#org.eclipse.core.jobs/3.15.700": { + "jar": "sha256-NwFReae5uQ0Wy5L0sb5gg6Gm2tJUKPqPa4libwzC2nk=", + "pom": "sha256-OUVAotjHPjVRHz1f8J2fNkdm4P4steb4V8Tfqwl9Ot8=" + }, + "org/eclipse/platform#org.eclipse.core.resources/3.23.0": { + "jar": "sha256-Llir4A41yZuFqq2Nc4wqh3EDa+L0oitl2QvBRKgGcnA=", + "pom": "sha256-AuUbd6oS0LZAFFNvA7dCjFpWF36Ettqb5sDnWm8jGo0=" + }, + "org/eclipse/platform#org.eclipse.core.runtime/3.34.0": { + "jar": "sha256-B2s7+RXTzgN7eHfIfRfR0kQhNd0+eMXy7mEPXYg3kwE=", + "pom": "sha256-b8TJb6EII4AhaatyU943S3qvWnSYO4o+tLok9vELUvk=" + }, + "org/eclipse/platform#org.eclipse.equinox.app/1.7.500": { + "jar": "sha256-GfLjYRNH22QzpIpiGHyfa9RohtDVaDZpfa//6YXqk+8=", + "pom": "sha256-sKK1z+znfceXeW5uqiwkrBkwVnB9BPVWBe3PdJC0XFY=" + }, + "org/eclipse/platform#org.eclipse.equinox.common/3.20.200": { + "jar": "sha256-m4tcijQuf1vl+VFU6frvrmhvOYfndtzgMPN72EfNfzU=", + "pom": "sha256-XYyNb/aVj33ouZDJ/A7Ff3gyf1HgZJc/V5LiA1Sx7m4=" + }, + "org/eclipse/platform#org.eclipse.equinox.preferences/3.12.0": { + "jar": "sha256-1MnqXEzYCLl/FUkLu9fdj1jHZ8aFttBZGUdX5m1u7zU=", + "pom": "sha256-3SwqP9ZklaQTCAvJzkDktSg5SGV37IrnJ9APxoLhUO8=" + }, + "org/eclipse/platform#org.eclipse.equinox.registry/3.12.500": { + "jar": "sha256-Tl7/034/bicyoeeIx2n267SdStYOnl2RxXokz/vC+v4=", + "pom": "sha256-ddMClkYdU0SA4qK9boylKnDd6+2KKNd8qBb0uVK9SdY=" + }, + "org/eclipse/platform#org.eclipse.osgi/3.23.200": { + "jar": "sha256-jZQFjq0/RlGQAWaSSmd8O+tumW8HL6vzhf/dcFELxJM=", + "pom": "sha256-py2jWv3kgc2hDp2UsxpUwbkKe2hQqt5MmtnpVtdIWtA=" + }, + "org/eclipse/platform#org.eclipse.text/3.14.400": { + "jar": "sha256-BIRcZhMn9wBe2WAzzzOCLU9gsBGJvD6ehk5RL1cJYhM=", + "pom": "sha256-e9x89hsAsHEpsEYWo3MrxTUjOnj9phwWBRl7kqCZE1A=" + }, + "org/eclipse/platform/org.eclipse.core.filesystem/maven-metadata": { + "xml": { + "groupId": "org.eclipse.platform", + "lastUpdated": "20250906152134", + "release": "1.11.300" + } + }, + "org/eclipse/platform/org.eclipse.core.resources/maven-metadata": { + "xml": { + "groupId": "org.eclipse.platform", + "lastUpdated": "20250906152140", + "release": "3.23.0" + } + }, + "org/eclipse/platform/org.eclipse.core.runtime/maven-metadata": { + "xml": { + "groupId": "org.eclipse.platform", + "lastUpdated": "20250906152136", + "release": "3.34.0" + } + }, + "org/eclipse/platform/org.eclipse.text/maven-metadata": { + "xml": { + "groupId": "org.eclipse.platform", + "lastUpdated": "20250906152155", + "release": "3.14.400" + } + }, + "org/jetbrains#annotations/13.0": { + "jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=", + "pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c=" + }, + "org/jetbrains#annotations/23.0.0": { + "jar": "sha256-ew8ZckCCy/y8ZuWr6iubySzwih6hHhkZM+1DgB6zzQU=", + "pom": "sha256-yUkPZVEyMo3yz7z990P1P8ORbWwdEENxdabKbjpndxw=" + }, + "org/jetbrains#markdown-jvm/0.7.3": { + "jar": "sha256-iTq7MfFbYhb3TccEwMa/HlZ9zytizKKc9C5PUxU2N6w=", + "module": "sha256-cCm2PHSWTltDNDCO5ynpW1ONpe1qwSsuR31HhXLQIlI=", + "pom": "sha256-rLnRV//Hpk7mK+jt2WANJrXbAycKdOi+U815/gsm880=" + }, + "org/jetbrains#markdown/0.7.3": { + "module": "sha256-2/rnqoU+teoe66MYllOKhANkb1XFmpkZHWh/wDe9rDk=", + "pom": "sha256-EeUuCmQOVKSzsjDRSFyVukuneyx7H8KENzkPngEicUc=" + }, + "org/jetbrains/androidx/lifecycle#lifecycle-common/2.8.4": { + "module": "sha256-o7yb3i/+/IFT1Sr8WAQms4rWV2yuE0a7jIPbzFBvAPQ=", + "pom": "sha256-BjXG8hQBtELWxoStOF6vEfzeJDv7dZbGk62+tZPwobM=" + }, + "org/jetbrains/androidx/lifecycle#lifecycle-runtime-compose-desktop/2.8.4": { + "jar": "sha256-weUaJG5p4jfofSib4Ivr2NQG/+n/YKEl6PIHLbYRmWY=", + "module": "sha256-x55RdgcihHN1i5WIkdcSS7CaFZRqXEof+5DvPP+xGfU=", + "pom": "sha256-R0gxXXQwmLRVFvSZdM4854w2efSmaOw5tTjBGmRa4Bg=" + }, + "org/jetbrains/androidx/lifecycle#lifecycle-runtime-compose/2.8.4": { + "module": "sha256-Q7eeNCcX8sx9rQzddNUawtwxbEhmj3jfJsIc8GleED4=", + "pom": "sha256-UofDvv5hVYWLH9njHp2UwCQHN3i/fY1Bs4dasp70Gsc=" + }, + "org/jetbrains/androidx/lifecycle#lifecycle-runtime/2.8.4": { + "module": "sha256-t/5oq5S4ncDF1wWltk3LDDyDpITimPNfA2x5cRZgHqQ=", + "pom": "sha256-DQ7wsV76yiXtdgT6FB0OjT+6iU0wl511DVBpZrZg0Dk=" + }, + "org/jetbrains/androidx/lifecycle#lifecycle-viewmodel/2.8.4": { + "module": "sha256-YdkxJsnivTyFp0+XrYFbxhi5A52bFIOz9OXp6Ayc+Bw=", + "pom": "sha256-7VnmgyoqJ4xsYcgDMqFxWJmewWE90Cvir6DZ/PMbvfY=" + }, + "org/jetbrains/compose#gradle-plugin-internal-jdk-version-probe/1.7.1": { + "jar": "sha256-LiLcUUoGjL3BWQD+6H/n9ET+O18AirBEJxhRik/P2pM=", + "module": "sha256-2MvIfrECOjBI1m9n11BIfQE4QhXJmQx7ouNW2jblPL0=", + "pom": "sha256-2555zcSwGGaSZ7qv1b7hecG9in982ToPz+WciWWq4Ms=" + }, + "org/jetbrains/compose/animation#animation-core-desktop/1.7.1": { + "jar": "sha256-KzR6v2xIYmFToCtw7va74dPJUnUV1vn37OrqPDmFM7s=", + "module": "sha256-c7rYgJkZ/IbsKE5mCKv603DsBjPtbHWV9ptYNh9SAD8=", + "pom": "sha256-xqopawWzH+UZ3cIswgrd989vsdtV+anMYJ1TL/h/81w=" + }, + "org/jetbrains/compose/animation#animation-core/1.7.1": { + "module": "sha256-v4u73LKXNY9tN9inJOif8+kLp+VkA26ZA5X3OwxEjMo=", + "pom": "sha256-VdE9LN1WVa+tasG8Ou5rMU2ILf6Nj/UVVmsHj4AuKbw=" + }, + "org/jetbrains/compose/animation#animation-desktop/1.7.1": { + "jar": "sha256-R05r0qasI2Ll2r14D5O4UnaGQKoWQDsPxQXaiBd/l7M=", + "module": "sha256-kw0qlickr+L6z9eYIQfYCmkGh4hHCl1VrcDZj3ijuwY=", + "pom": "sha256-j1SyEA/7lX0HPry7gxTwvEne5FWIH9eLvhKnBHnjFwU=" + }, + "org/jetbrains/compose/animation#animation/1.7.1": { + "module": "sha256-leqNJuQAkoHcPo60WyBfj2ZrQmZmtRisSaapUwKiicM=", + "pom": "sha256-Q9zVYfPQZrMbAQsujbu8xvzr5dF61PBt1NR93+hF3SU=" + }, + "org/jetbrains/compose/annotation-internal#annotation/1.7.1": { + "module": "sha256-OBY3qiWg10JF0HpLhxPDjcUBtU+yWvnWHdwzMR9AFhk=", + "pom": "sha256-exANVYBe1I3wrGACFGbx1YcGM0wXJ9DQhRrNt302Ptk=" + }, + "org/jetbrains/compose/collection-internal#collection/1.7.1": { + "module": "sha256-gsd1JJvP3C1mEk95jcTrVf8PFYmBVwga9f3Qjq059dQ=", + "pom": "sha256-WI9ACx/5qa+QAnIiqNAo05Q1WC3JBkoxmlaL9vrzTgI=" + }, + "org/jetbrains/compose/components#components-resources-desktop/1.7.1": { + "jar": "sha256-FYS3Oejxhp5PNAUZ3JhNSkRYKoDvMj5lWZndsY3ZVMI=", + "module": "sha256-8lMIvq55JPH59Pkgo5CSFiaJP39eoVyC34Zo44ulr64=", + "pom": "sha256-DUtv2dEyZlu+nTfYAmynIQNQpLuzH3esR1prx7AnEsc=" + }, + "org/jetbrains/compose/components#components-resources/1.7.1": { + "module": "sha256-qWCyKly3eIxEsmA6E1oObJ13xtjCTl2Mt3V1dpu0a/w=", + "pom": "sha256-3FYQ8AWL69HCgLdPfhmAa9BXjAkl7336d1znfrTB3bU=" + }, + "org/jetbrains/compose/components#components-ui-tooling-preview-desktop/1.7.1": { + "jar": "sha256-UTVkX80S6j9B1YcWuI1dMNYsxfDy5zxLQsq4clZIyPo=", + "module": "sha256-u5F+AQtFhwWl8Y5a7jznfWAPVM0KFCJoAqnpt0SuRJg=", + "pom": "sha256-Ji8J3GOweanYcsipPQcf3Fy47jtnZ4acDb2eYoBVPho=" + }, + "org/jetbrains/compose/components#components-ui-tooling-preview/1.7.1": { + "module": "sha256-Sg+r3l9nuNBt2ROhFO5dTIPwMiGo/rqDdmK0AmhoLKM=", + "pom": "sha256-OGru3f/uG6BKQFFYry7IzU37j6tjnTZ2/387e+jv5ds=" + }, + "org/jetbrains/compose/desktop#desktop-jvm-linux-x64/1.7.1": { + "pom": "sha256-j3b7Tvcsgj83U5A82QyLVRkeYtZJOddu9VFLtbIzz5U=" + }, + "org/jetbrains/compose/desktop#desktop-jvm-linux-arm64/1.7.1": { + "pom": "sha256-II1c2OqRLC/zLOrfiPNiDHwna+9iykyhXKgeCjCPo0I=" + }, + "org/jetbrains/compose/desktop#desktop-jvm/1.7.1": { + "jar": "sha256-YsgWBzGVzAEZ3B1msXhUS9t3Lvi+5IeZVFKMZ5ixfr4=", + "module": "sha256-WEhct/2FTOTOj8bjjIMOxqntpQDk0QlxEwkA3NdFcQ4=", + "pom": "sha256-UvyXBw+M2AtVoHMsmptGeKqXLf9I+Kdu7c4RCn2BXXU=" + }, + "org/jetbrains/compose/desktop#desktop/1.7.1": { + "module": "sha256-I5hiIwXNKr1QcL3z5F0F3wTtnc+OaE/H3XuR5eCjTu0=", + "pom": "sha256-lmtB0pquWjnASlcPIhbAznEMQ2pZ4euNNeN3+DM9Kwo=" + }, + "org/jetbrains/compose/foundation#foundation-desktop/1.7.1": { + "jar": "sha256-UN84WzKKCtekeeaQz+WT+84IrTntV5FnR5MpVt7gfws=", + "module": "sha256-e0RnxpVJc6cG2nTOLI7Te4RlXSxSGWWXHWgCb5iBTJI=", + "pom": "sha256-aAvQ++JHgzK+3kUTK1VmVNpsK063CPiqVp0bvV3AZ9A=" + }, + "org/jetbrains/compose/foundation#foundation-layout-desktop/1.7.1": { + "jar": "sha256-0shnwT/2Yy+YgOZ9q6sukwAHsAi5silQ/CzAdQCOzrY=", + "module": "sha256-aeRUgNLR3M8Hdzyq5gwdkvTu9PxF3K7luOg2KFlzsBc=", + "pom": "sha256-G8KiSCB1lID95NL6BswigNBCOpXAohpoUdjOfoaxnN4=" + }, + "org/jetbrains/compose/foundation#foundation-layout/1.7.1": { + "module": "sha256-U7+p+nvaWJ4NsTtyjjpWFPKMLJ5fvw8I862PKxT1hNE=", + "pom": "sha256-9+spSlpczBUbO2H9ot/tBcOpmErsNK3xp1VUS/2BN6s=" + }, + "org/jetbrains/compose/foundation#foundation/1.7.1": { + "module": "sha256-TudcyFcJEkmZZlCgo+Ag0MOoaHZtnB5ZdqySFMioscI=", + "pom": "sha256-js5Yc65fY4YFqEdPVZITMFGSkOcohMk6yJXSIN7/34Y=" + }, + "org/jetbrains/compose/material#material-desktop/1.7.1": { + "jar": "sha256-whITNqqveUc9DANHVGr4119RDop3dMBKkD+zzGl6VjM=", + "module": "sha256-nGGtBnXX/eKtPhpIhcNNtP46ILPhoH4HKvogj5UgJAw=", + "pom": "sha256-BpJQSZZU56Cg0+juqyxTsxtzIdVOOUKI63LB9LV1EAY=" + }, + "org/jetbrains/compose/material#material-icons-core-desktop/1.7.1": { + "jar": "sha256-vPbIU7bbL/FI0tOq07en6lTZP8e0Lgr9hA622vGhxoE=", + "module": "sha256-dpqLgvJ7j5oIElPV7o/UittRBgrNnC6HsozvYMG28kQ=", + "pom": "sha256-AzQzIbHALCbkTVxBLTW1r1hIapEJ/YiUheHWf6+cdIc=" + }, + "org/jetbrains/compose/material#material-icons-core/1.7.1": { + "module": "sha256-B5vF4xG7NUubyRRi8TaEinU/3LQaox8NqNsYl657rOE=", + "pom": "sha256-4Y+gqZINr+qVp9YsZKGcgSLS1Bo9+JitPVSsMds9aqg=" + }, + "org/jetbrains/compose/material#material-ripple-desktop/1.7.1": { + "jar": "sha256-xfa9+yKaF5SoOO0fMfcpmjtRYAS+/+GovMp1OqJovgk=", + "module": "sha256-476a8k7pZ20fYnKKt4BhaTS0Rqe4Z9wVVKqBaGpQE8g=", + "pom": "sha256-J3joa5k5b8ZfhR1C/BJ5Ku0hWYw4i8PCFlAIpRlOpfU=" + }, + "org/jetbrains/compose/material#material-ripple/1.7.1": { + "module": "sha256-0a8hV2+VfuVB6qCEckE116Sr0nNXTBJFUpWsXCFntBU=", + "pom": "sha256-8WQUEqPikyViaWeNGM41NQFS1fRNm4S0Dl64W/TvSdA=" + }, + "org/jetbrains/compose/material#material/1.7.1": { + "module": "sha256-s8uVvXEAd99SGmXoBPQWOJwOfKY2K1WKN/iVg1D6kzA=", + "pom": "sha256-WDRzrpYDWNyzuvgn3Cj5f5zw6l9JwiB1iBj7OFqIudM=" + }, + "org/jetbrains/compose/runtime#runtime-desktop/1.7.1": { + "jar": "sha256-duMlBUe5yjyxpJwnKTOyXLO8y8m6Endd1hYaY9mqfPE=", + "module": "sha256-My6v5fATPpwP8mn+rhAMeJX+IkYo0FUZRYgfzKBhFsE=", + "pom": "sha256-01d42i+5MOce1u1rym8//gdcZOF24fuB1mMH1HHEseU=" + }, + "org/jetbrains/compose/runtime#runtime-saveable-desktop/1.7.1": { + "jar": "sha256-QwY2O+kOqr50uQDbTDLtHxXHVI5bMKcJPE7kDENrm4w=", + "module": "sha256-lbODl+J/sf4du5MfHL5qCZZReoWTQzLNRLT7OQ+PXLk=", + "pom": "sha256-YPjvLYLG1V2/Pn4LqLb41II06TEMpm8d+b9voLHoyLw=" + }, + "org/jetbrains/compose/runtime#runtime-saveable/1.7.1": { + "module": "sha256-yDUM3lAXvSoW+gL6d/sNpV0RcUyDqhGGy6NWcmrjq20=", + "pom": "sha256-to73YWrUYT9AYAPPCia71isXBq6XZ3uhM60QN9YGiyM=" + }, + "org/jetbrains/compose/runtime#runtime/1.7.1": { + "module": "sha256-xSKUczzpqMZYOfVWCw4APbgWK37T2MqN6b+mLPAzTk8=", + "pom": "sha256-SBR/02A24kzaP9JYsYNJVAMA8ipOHXTeA9hWpMEakm4=" + }, + "org/jetbrains/compose/ui#ui-desktop/1.7.1": { + "jar": "sha256-QHKbljfqyR/Zup0QxM0usyi7MRb4CXpbnT8HGXHOoCI=", + "module": "sha256-pCdx2/0i3G4BxGwkWo4ZU0YwV7/tm2xzefgmcdxE/FQ=", + "pom": "sha256-/ZOsNR7uXLtUTfcLf3D+y1RhR2CW1uJG1gNklcXRiWE=" + }, + "org/jetbrains/compose/ui#ui-geometry-desktop/1.7.1": { + "jar": "sha256-S4bJYcC0vOeZUyn9V9Qznt4Ry3XX7JC8G5kTOWrdsw8=", + "module": "sha256-rxTJcKcEtuCHAB9jnE1r7dvuad5+FXKlunNjGV5e2+I=", + "pom": "sha256-3iEzIvQwizn+X73RZMCg+ApylT0E/AozXNqjsygGS84=" + }, + "org/jetbrains/compose/ui#ui-geometry/1.7.1": { + "module": "sha256-mkt+df1LWaMy2SRUTWUB9eDaVbIDwsxhs4fg14yTXJU=", + "pom": "sha256-93UQwBXgPlnocFWPdBdPZSRo9vhJOJaKxTjBKiGO3I8=" + }, + "org/jetbrains/compose/ui#ui-graphics-desktop/1.7.1": { + "jar": "sha256-kQnXfMJi+QQIFpscoLotFRNbYDTjd6gLvz7AI0lU6FI=", + "module": "sha256-DPP8FuwoupMp0UfnR54Rmyvbjr+lLyMn4yDlGQEUapE=", + "pom": "sha256-cIA44a4DMFFG1A/NcUNHlHGQ/yd8ZpysiH836iQ/M+Y=" + }, + "org/jetbrains/compose/ui#ui-graphics/1.7.1": { + "module": "sha256-Bpgc3L5OyqzDVxnptAOykEHl54Rps8L1zcfMUHX8DXs=", + "pom": "sha256-Sj2MCO2FYVWHeAGrzgWU3BxpiOVq7H0kSsfGwxpqX9I=" + }, + "org/jetbrains/compose/ui#ui-text-desktop/1.7.1": { + "jar": "sha256-gOB+TKc597YSL2PpoX5oU7lHIg7LEYD43K9BnQ5GiZY=", + "module": "sha256-PR7CKTU76v2v0awhS/VEkPv2nojwZ7/LgBaB07K2bqU=", + "pom": "sha256-UiwW5ZbJMrHloPPN+xqTRADodlj42JjBzery0Bgphoo=" + }, + "org/jetbrains/compose/ui#ui-text/1.7.1": { + "module": "sha256-nYij0rkMF+a4Hs///a6dfEzsVMfWVXWYJbpJZ90vyGM=", + "pom": "sha256-huwdGGauW1x/4AUsJqB/8aphkz9Vf41PuePda2L8Jb4=" + }, + "org/jetbrains/compose/ui#ui-tooling-preview-desktop/1.7.1": { + "jar": "sha256-xc+tCxJel42RX4tMOGMLxdVI5Z/ooOg4wMyEKDxgWUM=", + "module": "sha256-SEIV/azXkBzPZt0aFl557gZPtLoxG/AgHTtqoUwWXb8=", + "pom": "sha256-htcEXyA1jppEQz8WtKZGzmy2jWz2dhJ1nVehN6O5qnw=" + }, + "org/jetbrains/compose/ui#ui-tooling-preview/1.7.1": { + "module": "sha256-JlSbqRqD92lfo1Ra6iiHxdFOubjgpFWREUWhDJod18g=", + "pom": "sha256-MKB0lZQWX/Skw+kTSu+2t0SZyioxnvq+HH+uZqDbWdE=" + }, + "org/jetbrains/compose/ui#ui-unit-desktop/1.7.1": { + "jar": "sha256-WYtS4lftZ0FFaUuXkKc4OpD+0uxxVLoJrOSqmDxlsaI=", + "module": "sha256-BacNXRO5Fhrn9YUkbrk97ly6K1XD8Ilf1mRekKPCPaU=", + "pom": "sha256-9R34TA7eKtHgHgf6R+9tSLoSy3ShfoXK6Nblz/Kc0Fk=" + }, + "org/jetbrains/compose/ui#ui-unit/1.7.1": { + "module": "sha256-kDxEm48iI7uggivMWUuZLiqCv6rlwE/FCNKNq4hxfaA=", + "pom": "sha256-tq8XC59ySXOr8jPPEJFoqJIGqbFF1whpFbxlQOpdaHI=" + }, + "org/jetbrains/compose/ui#ui-util-desktop/1.7.1": { + "jar": "sha256-Fh3Mc7kp2mHO5QBF6W+wLxYzw28You84tcLETDhga1I=", + "module": "sha256-35JU30uqHS7Q+ctR/BxgrUlqNqzEiYEUPF1PqHRpEXs=", + "pom": "sha256-AeJZ6hTRKWyvCAmzP5dAcXRDNJvrCJ7ketEOaEBYDvQ=" + }, + "org/jetbrains/compose/ui#ui-util/1.7.1": { + "module": "sha256-razSdpfzafjF00aNb8ZySDHTP95e+5tvg9hdw6AXCw8=", + "pom": "sha256-7bcYbOSnYd3l8xMC3BRdWLw7/j5OT7x4YiiCP4zVSMw=" + }, + "org/jetbrains/compose/ui#ui/1.7.1": { + "module": "sha256-LpKRDBxZrLBjrmhWz5VWwlH9qMCtRsg6Tka/flenza4=", + "pom": "sha256-RWT33DQr7tal9G+RaxkLMe0rEgcK/ZfXXmNjSkQt9lc=" + }, + "org/jetbrains/intellij/deps#trove4j/1.0.20200330": { + "jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=", + "pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k=" + }, + "org/jetbrains/kotlin#kotlin-build-common/2.0.20": { + "jar": "sha256-NvDXXOmviQZNnbT9IeIsVQdyAP5OOufZnjREmCZ6oNs=", + "pom": "sha256-EOhYxaCAxN21Wx0GvujV6Ea4YQX1aw5A8ojj+mGWEXI=" + }, + "org/jetbrains/kotlin#kotlin-build-tools-api/2.0.20": { + "jar": "sha256-V+1QIg547DnoqAAUMw8pXlSFtWOMESmvntfVPXhYxcI=", + "pom": "sha256-nHrVho+yGJsb9NbCL2yUmDs6jhopTpWlQSy4Lg9C3bI=" + }, + "org/jetbrains/kotlin#kotlin-build-tools-impl/2.0.20": { + "jar": "sha256-nOb4Gmmcw32zY6KDcVC8YqJJA9r2EhA00Sl5qpUBRGs=", + "pom": "sha256-DyiqOx3o2AWm+HlX08PWbDOeDEMmaZlc9Zf58r6J4II=" + }, + "org/jetbrains/kotlin#kotlin-compiler-embeddable/2.0.20": { + "jar": "sha256-o2BL81DIvM4nECFYu7OD+k0YFLxIaq7VnyeOraUf9q0=", + "pom": "sha256-WXBD+4xlJ/QpmcoE7TUpY5Is0W5piKqlLT2zLaHbhZ0=" + }, + "org/jetbrains/kotlin#kotlin-compiler-runner/2.0.20": { + "jar": "sha256-4DzwSwNA8a4VEhBjC10pFcKXmIxuIuTe206nz7dKz2c=", + "pom": "sha256-3M3xugxPzYvUIwNFroP6fb6SglY9ilP9XmHFM1tbcYA=" + }, + "org/jetbrains/kotlin#kotlin-compose-compiler-plugin-embeddable/2.0.20": { + "jar": "sha256-549YH9VsEe1nrxzZhA3y8OCC9duKj5s949hygeZRUPg=", + "pom": "sha256-y6whk7JPaifqr5kWlZydoO+5EvrFfpWzkG5kwKbxJkc=" + }, + "org/jetbrains/kotlin#kotlin-daemon-client/2.0.20": { + "jar": "sha256-cxUswf2CHQcTlHOry/jH0B0A5oaEuWHhkurogNycfaQ=", + "pom": "sha256-qUcReIj0z/tjk9QurqYRtj31ib8pYXgmzLclNxK/OsM=" + }, + "org/jetbrains/kotlin#kotlin-daemon-embeddable/2.0.20": { + "jar": "sha256-W9URO4WrhSjhkuK7P8GX9bw0SLzb0Fh5Czf9N/TuV68=", + "pom": "sha256-IZgoJm6keO7rQuT1L5bQuQfYykhHz4aq45FprYsupKU=" + }, + "org/jetbrains/kotlin#kotlin-reflect/1.6.10": { + "jar": "sha256-MnesECrheq0QpVq+x1/1aWyNEJeQOWQ0tJbnUIeFQgM=", + "pom": "sha256-V5BVJCdKAK4CiqzMJyg/a8WSWpNKBGwcxdBsjuTW1ak=" + }, + "org/jetbrains/kotlin#kotlin-script-runtime/2.0.20": { + "jar": "sha256-/pcAKmeY9yB1ZGSJGdbuzPszi5XcBLSIhthWZVvGSk4=", + "pom": "sha256-o6N2KcmFzt17+d12rGdJaz+ApZIoVB6WiAKg7obEuRQ=" + }, + "org/jetbrains/kotlin#kotlin-scripting-common/2.0.20": { + "jar": "sha256-XTdTOT5/7PHSG67l2314gyZ4K9v4qOxqKyzM97Ve5sY=", + "pom": "sha256-BesUmiCZ8ILJf1xFQ1HQuMphLFUwo6wyHSyMB12wEVU=" + }, + "org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/2.0.20": { + "jar": "sha256-Ie8wOrS54Pnzl8FIliU6rkkCV7+w3VAInBwcBPAYcXE=", + "pom": "sha256-zr8swRmuHPJqP2tECxidwrruhS0nASU06qNqrNue4VI=" + }, + "org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/2.0.20": { + "jar": "sha256-WgaucwO1TL0XdYnWEFumv9WbGxgur7W2aHJf9ypf0y0=", + "pom": "sha256-z6al9YOJy3K0SRLTABoB9eqL+vx5mbr6BRGz7t/LYdI=" + }, + "org/jetbrains/kotlin#kotlin-scripting-jvm/2.0.20": { + "jar": "sha256-sLtQD2MztLFsjraeo5TvaE8zRT+NNDEDSokHqfGNtvE=", + "pom": "sha256-m8uNHCOvcm21KpNrpbkXeyRoKSBYxT8Ckd5MwNpOzh4=" + }, + "org/jetbrains/kotlin#kotlin-serialization-compiler-plugin-embeddable/2.0.20": { + "jar": "sha256-zI9QG2dslESLAWgNyvZ68cjFfOqEFQKnFuttEX+Xy4Y=", + "pom": "sha256-X74y6I+ly4WFjb1wpPZKWsJTSaTijzlQ3zJrMSRmUGY=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-common/1.9.24": { + "module": "sha256-6Y6oxE+zaCDQG7iwAxaOI6IhtAHLQyVtcjo/C3fWFsI=", + "pom": "sha256-XZfiDNWGLoR6aYF1uTno3Fxr11vtmZ1vPU6ghIESFsA=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-common/2.1.10": { + "module": "sha256-fgul3UlZnOJ2woa+M0hY8lEoSiD3bbm8D12g+8mbtfU=", + "pom": "sha256-u8xfrT9+3ktGnUnbpsA+GZMTNlW16BcTteahvt0c60I=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.9.24": { + "jar": "sha256-tmmbhQugeJ8ukEJ5zYvce+qRMP/RV826AB/HQl2KR7c=", + "pom": "sha256-RYapN9W8vDqzBCwECaHHKWFLy6PHpylvJS1ibuNzh9Q=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.9.24": { + "jar": "sha256-W1u/s+EYS14TMXw9QiN/okrdRDsud4GWHuozTbE2rbE=", + "pom": "sha256-BuBt70n5aq9uXD7EKDauWdbi2mJUcAkUKBZ1Z53J8qU=" + }, + "org/jetbrains/kotlin#kotlin-stdlib/2.0.20": { + "jar": "sha256-+xaVlmWaUYNXxLLBb0PcdascSYBWXtS0oxegUOXjkAY=", + "module": "sha256-3AUdwExqGW8tBtDTya8zufErybT+E5rhKQFAUII2tns=", + "pom": "sha256-Cu6WIJHn3QKIzDykz0qSjFYgcUYCEb+PQXkAkwbmGf4=" + }, + "org/jetbrains/kotlin#kotlin-stdlib/2.1.10": { + "jar": "sha256-XyrByo3Is3o/QxTnFtNpaevwInp1GB0yaZ0Kj2RbHCE=", + "module": "sha256-jSwdcXxzVG1WOC0TbIZQtZpxWZQBciY4GJNKzkTLBI0=", + "pom": "sha256-SSISHT8LxgzkB/Ny3kLQKgt+lOddDD0VCLaDVyHySe8=" + }, + "org/jetbrains/kotlinx#atomicfu-jvm/0.23.2": { + "jar": "sha256-EB/0P/Vj/KFnr1remMO2m/VpAQ6rdFATuE2JVQNNOzw=", + "module": "sha256-9frJHDc6AJjlzK5iIeibtxoUkM9qiUnuNI1G7hyo06Y=", + "pom": "sha256-WTrWZUvtuP1m4DrQfQxIZ6x3WjgPTiYOFI6p26pTRU4=" + }, + "org/jetbrains/kotlinx#atomicfu/0.23.2": { + "module": "sha256-UVMN4oSWehXiEcmFY8qdI1aJm4yzMXBFYLBkWt6sbcA=", + "pom": "sha256-QlA7zusRzeFIh3T7DE+chWM6juD6XSLTNyYMLfUKkrY=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-bom/1.6.4": { + "pom": "sha256-qyYUhV+6ZqqKQlFNvj1aiEMV/+HtY/WTLnEKgAYkXOE=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-bom/1.8.0": { + "pom": "sha256-Ejnp2+E5fNWXE0KVayURvDrOe2QYQuQ3KgiNz6i5rVU=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.6.4": { + "jar": "sha256-wkyLsnuzIMSpOHFQGn5eDGFgdjiQexl672dVE9TIIL4=", + "module": "sha256-DZTIpBSD58Jwfr1pPhsTV6hBUpmM6FVQ67xUykMho6c=", + "pom": "sha256-Cdlg+FkikDwuUuEmsX6fpQILQlxGnsYZRLPAGDVUciQ=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.8.0": { + "jar": "sha256-mGCQahk3SQv187BtLw4Q70UeZblbJp8i2vaKPR9QZcU=", + "module": "sha256-/2oi2kAECTh1HbCuIRd+dlF9vxJqdnlvVCZye/dsEig=", + "pom": "sha256-pWM6vVNGfOuRYi2B8umCCAh3FF4LduG3V4hxVDSIXQs=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-core/1.8.0": { + "module": "sha256-FE7s1TZd4+MNe0YibAWAUeOZVbXBieMfpMfP+5nWILo=", + "pom": "sha256-yglaS/iLR0+trOgzLBCXC3nLgBu/XfBHo5Ov4Ql28yE=" + }, + "org/jetbrains/kotlinx#kotlinx-serialization-bom/1.6.3": { + "pom": "sha256-KdaYQrt9RJviqkreakp85qpVgn0KsT0Wh0X+bZVzkzI=" + }, + "org/jetbrains/kotlinx#kotlinx-serialization-bom/1.7.3": { + "pom": "sha256-QiakkcW1nOkJ9ztlqpiUQZHI3Kw4JWN8a+EGnmtYmkY=" + }, + "org/jetbrains/kotlinx#kotlinx-serialization-core-jvm/1.7.3": { + "jar": "sha256-8K3eRYZBREdThc9Kp+C3/rJ/Yfz5RyZl7ZjMlxsGses=", + "module": "sha256-c7tMAnk/h8Ke9kvqS6AlgHb01Mlj/NpjPRJI7yS0tO8=", + "pom": "sha256-c09fdJII3QvvPZjKpZTPkiKv3w/uW2hDNHqP5k4kBCc=" + }, + "org/jetbrains/kotlinx#kotlinx-serialization-core/1.7.3": { + "module": "sha256-OdCabgLfKzJVhECmTGKPnGBfroxPYJAyF5gzTIIXfmQ=", + "pom": "sha256-MdERd2ua93fKFnED8tYfvuqjLa5t1mNZBrdtgni6VzA=" + }, + "org/jetbrains/kotlinx#kotlinx-serialization-json-jvm/1.6.3": { + "module": "sha256-InoqmtOMAQsQe8gFjNYVF32lqqhts399WNSdnJt/l9A=", + "pom": "sha256-eN9n0GTTuq8a9Ohi6YFGl3YpfGyHi7e/G0Ljky9vr48=" + }, + "org/jetbrains/kotlinx#kotlinx-serialization-json-jvm/1.7.3": { + "jar": "sha256-sekThJntjSA3Xt2j8rHJXzEDoljv9q+e3F6gcQDyspw=", + "module": "sha256-D/cOITHypldYIvdhHAXig8SuCBczA/QQSUy0Eom9PvY=", + "pom": "sha256-0zRdKAgXvgfpwnrNYHPUleF73/VxxHADTglmQgeGp90=" + }, + "org/jetbrains/kotlinx#kotlinx-serialization-json/1.6.3": { + "module": "sha256-gNHYf6CmO/+Dleo5EL2oDQnw9YNQTd6o7QB7x6hrTNQ=", + "pom": "sha256-KcIhdhjlMdfYMsyICupu0aj0B3PkN/WkHXC9FUaNPOM=" + }, + "org/jetbrains/kotlinx#kotlinx-serialization-json/1.7.3": { + "module": "sha256-HPAiijWIcx1rrzvLvbCKMiUB9wQg1Q4pKrUB5V2Mz08=", + "pom": "sha256-BaiftqSvoKHUB51YgsrTSaF/4IqYv5a30A0GplUh3H0=" + }, + "org/jetbrains/skiko#skiko-awt-runtime-linux-x64/0.8.18": { + "jar": "sha256-jWPZLGbPlPtqixUoCQA51zQfoopQbx3xEytbS7St/dI=", + "pom": "sha256-/5OJLge2yN5cvikxonTv47vhrW5MHkiMhrbOU6zlwHk=" + }, + "org/jetbrains/skiko#skiko-awt-runtime-linux-arm64/0.8.18": { + "jar": "sha256-pFzvjzri0SjRyBvdwb9eri7koTZMDnW5/AHEjBODa8E=", + "pom": "sha256-K6UIHwlSgj5A/oG/0nfss6nL3eXwycfePcWQHrngFek=" + }, + "org/jetbrains/skiko#skiko-awt/0.8.18": { + "jar": "sha256-Y39d4aII8TaKxRtaKGpIJ87IKM1i3aMy3DQAuFQ+JD0=", + "module": "sha256-x9JON+j/js4Y7OdEg0Fxcnor1L7z6/hZBlN1in0Bbmo=", + "pom": "sha256-yrIp0lDLlzYK12MgQfCHFksKR+d75huz9VRaLWtAlJ8=" + }, + "org/jetbrains/skiko#skiko/0.8.18": { + "module": "sha256-qbGDSU+EVPtX7B//+UyyqL7u3aG3PSjbbrS4+NwKU8s=", + "pom": "sha256-ac1xXT+/dr0QV571/D69q1RfiwxFm6iWzcbeoMETzAw=" + }, + "org/jsoup#jsoup/1.17.2": { + "jar": "sha256-9gszs46desk+qqaKbHD3BruZA2SUsuKt0r/uEdCaxvU=", + "pom": "sha256-ejSdIXeQw3ML4wjO0eqe4yxOdPcgWOg8K2DloolU3Q0=" + }, + "org/netbeans/api#org-netbeans-swing-outline/RELEASE210": { + "jar": "sha256-t8eTVlWmbBKG+XafiOMHVilmmnC5vr7dcq5OgzaqodA=", + "pom": "sha256-AsXH0dp5gfqpis1zF/7Q4AUdi3ZahdIMzs22A8Oxjxo=" + }, + "org/netbeans/api#org-openide-util-lookup/RELEASE210": { + "jar": "sha256-9ItVQVyOKLACM7xgROvbFsziNrC//GH8tWeFmyfw2N8=", + "pom": "sha256-Sz7JY43DBPgOEFjQRP2lGzFRpjcApCWSq869Pt5UuCo=" + }, + "org/netbeans/api#org-openide-util-ui/RELEASE210": { + "jar": "sha256-Z2+/ZxmSETayDy55mkbsVDBo7SNccU0JBVesnbTMIOc=", + "pom": "sha256-BbY0GKmafd9HBnOwNxGr4xQLYaWvaOC6VZwe/LRDONg=" + }, + "org/netbeans/api#org-openide-util/RELEASE210": { + "jar": "sha256-XNhKYJMZFRQSg2mdSNCTosq82ImnF8+VEFhwohErFcY=", + "pom": "sha256-GBrxRud/JKX3P4BZQGPZIsm+l1Js51aKPDO8ugjswpM=" + }, + "org/osgi#org.osgi.service.prefs/1.1.2": { + "jar": "sha256-Q8fIcHEONjQF1CLaZTzODXmKRTf3bkkw95vOrdOlU0U=", + "pom": "sha256-bqSDzqF36RMQmExkUuaUqiCAGVG1AfF8uboRQyjCzCY=" + }, + "org/osgi#osgi.annotation/8.0.1": { + "jar": "sha256-oOikw2K9NgCBLzew6kX7qWbHvASdAf7Vagnsx0CCdZ4=", + "pom": "sha256-iC0Hao4lypIH95ywk4DEcvazxBUIFivSuqBpF74d7XM=" + }, + "org/sonatype/oss#oss-parent/7": { + "pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ=" + }, + "org/sonatype/oss#oss-parent/9": { + "pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno=" + } + } +} diff --git a/pkgs/by-name/pr/processing/fix-ant-build.patch b/pkgs/by-name/pr/processing/fix-ant-build.patch deleted file mode 100644 index 3c471262873a5..0000000000000 --- a/pkgs/by-name/pr/processing/fix-ant-build.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/app/build.xml b/app/build.xml -index 37aa13d03..a495b4f7e 100644 ---- a/app/build.xml -+++ b/app/build.xml -@@ -162,6 +162,7 @@ - encoding="UTF-8" - includeAntRuntime="false" - classpath="../core/library/core.jar; -+ utils/library/utils.jar; - lib/ant.jar; - lib/ant-launcher.jar; - lib/flatlaf.jar; -diff --git a/app/utils/build.xml b/app/utils/build.xml -new file mode 100644 -index 000000000..5a4b72e32 ---- /dev/null -+++ b/app/utils/build.xml -@@ -0,0 +1,22 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff --git a/build/build.xml b/build/build.xml -index f1247b511..2f1f22128 100644 ---- a/build/build.xml -+++ b/build/build.xml -@@ -191,6 +191,7 @@ - - - -+ - - - -@@ -294,6 +295,7 @@ - - - -+ - - - -@@ -315,6 +317,7 @@ - - - -+ - - - -diff --git a/java/build.xml b/java/build.xml -index ca2e32f4f..5aeae7ac8 100644 ---- a/java/build.xml -+++ b/java/build.xml -@@ -97,6 +97,7 @@ - - - -+ - - - diff --git a/pkgs/by-name/pr/processing/fix-permissions.patch b/pkgs/by-name/pr/processing/fix-permissions.patch new file mode 100644 index 0000000000000..473bb60954fed --- /dev/null +++ b/pkgs/by-name/pr/processing/fix-permissions.patch @@ -0,0 +1,24 @@ +diff --git a/app/build.gradle.kts b/app/build.gradle.kts +index 88a0b63..a0f50bc 100644 +--- a/app/build.gradle.kts ++++ b/app/build.gradle.kts +@@ -341,6 +341,7 @@ tasks.register("includeJdk") { + from(Jvm.current().javaHome.absolutePath) + destinationDir = composeResources("jdk").get().asFile + ++ dirPermissions { unix("rwx------") }; + fileTree(destinationDir).files.forEach { file -> + file.setWritable(true, false) + file.setReadable(true, false) +diff --git a/java/build.gradle.kts b/java/build.gradle.kts +index fc7151189..6dd8409fa 100644 +--- a/java/build.gradle.kts ++++ b/java/build.gradle.kts +@@ -80,6 +80,7 @@ legacyLibraries.forEach { library -> + include("*.properties") + include("library/**/*") + include("examples/**/*") ++ dirPermissions { unix("rwx------") }; + into( javaMode("/libraries/$library")) + } + bundle.configure { diff --git a/pkgs/by-name/pr/processing/package.nix b/pkgs/by-name/pr/processing/package.nix index e3aa539464407..8c46e511ba132 100644 --- a/pkgs/by-name/pr/processing/package.nix +++ b/pkgs/by-name/pr/processing/package.nix @@ -3,19 +3,20 @@ stdenv, fetchFromGitHub, fetchurl, - ant, unzip, makeWrapper, + gradle_8, jdk17, jogl, rsync, - ffmpeg, batik, stripJavaArchivesHook, wrapGAppsHook3, libGL, }: let + # Force use of JDK 17, see https://github.com/processing/processing4/issues/1043 + gradle = gradle_8.override { java = jdk17; }; jdk = jdk17; buildNumber = "1310"; vaqua = fetchurl { @@ -53,12 +54,6 @@ let url = "mirror://maven/com/google/code/gson/gson/2.9.1/gson-2.9.1.jar"; sha256 = "sha256-N4U04znm5tULFzb7Ort28cFdG+P0wTzsbVNkEuI9pgM="; }; - - arch = - { - x86_64 = "amd64"; - } - .${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name; in stdenv.mkDerivation rec { pname = "processing"; @@ -71,10 +66,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-u2wQl/VGCNJPd+k3DX2eW7gkA/RARMTSNGcoQuS/Oh8="; }; - patches = [ ./fix-ant-build.patch ]; + patches = [ + # Compose Multiplatform generates its createDistributable target too late, and we don't need it anyway + ./skip-distributable.patch + + # dirPermissions: Without this, some gradle tasks (e.g. includeJdk) fail to copy contents of read-only subfolders within the nix store + ./fix-permissions.patch + ]; nativeBuildInputs = [ - ant + gradle unzip makeWrapper stripJavaArchivesHook @@ -83,21 +84,57 @@ stdenv.mkDerivation rec { buildInputs = [ jdk jogl - ant rsync - ffmpeg batik ]; + mitmCache = gradle.fetchDeps { + inherit pname; + data = ./deps.json; + }; + + gradleFlags = [ "-Dfile.encoding=utf-8" ]; + + gradleBuildTask = "createDistributable"; + gradleUpdateTask = "createDistributable"; + enableParallelUpdating = false; + + # Need to run the entire createDistributable task, otherwise the buildPhase fails at the compose checkRuntime step + gradleUpdateScript = '' + runHook preBuild + runHook preGradleUpdate + + mkdir -p app/lib core/library + ln -s ${jogl}/share/java/* core/library/ + ln -s ${vaqua} app/lib/VAqua9.jar + ln -s ${flatlaf} app/lib/flatlaf.jar + ln -s ${lsp4j} java/mode/org.eclipse.lsp4j.jar + ln -s ${lsp4j-jsonrpc} java/mode/org.eclipse.lsp4j.jsonrpc.jar + ln -s ${gson} java/mode/gson.jar + unzip -qo ${jna} -d app/lib/ + mv app/lib/{jna-5.10.0/dist/jna.jar,} + mv app/lib/{jna-5.10.0/dist/jna-platform.jar,} + + ln -sf ${batik}/* java/libraries/svg/library/ + cp java/libraries/svg/library/share/java/batik-all-${batik.version}.jar java/libraries/svg/library/batik.jar + + gradle createDistributable + + runHook postGradleUpdate + ''; + dontWrapGApps = true; + postPatch = '' + substituteInPlace app/build.gradle.kts \ + --replace-fail "https://github.com/processing/processing-examples/archive/refs/heads/main.zip" "https://github.com/processing/processing-examples/archive/b10c9e9a05a0d6c20d233ca7f30d315b5047720e.zip" \ + --replace-fail "https://github.com/processing/processing-website/archive/refs/heads/main.zip" "https://github.com/processing/processing-website/archive/f11676d1b7464291a23ae834f2ef6ab00baaed8e.zip" + ''; + buildPhase = '' runHook preBuild - echo "tarring jdk" - tar --checkpoint=10000 -czf build/linux/jdk-17.0.8-${arch}.tgz ${jdk} mkdir -p app/lib core/library - cp ${ant.home}/lib/{ant.jar,ant-launcher.jar} app/lib/ ln -s ${jogl}/share/java/* core/library/ ln -s ${vaqua} app/lib/VAqua9.jar ln -s ${flatlaf} app/lib/flatlaf.jar @@ -107,13 +144,11 @@ stdenv.mkDerivation rec { unzip -qo ${jna} -d app/lib/ mv app/lib/{jna-5.10.0/dist/jna.jar,} mv app/lib/{jna-5.10.0/dist/jna-platform.jar,} + ln -sf ${batik}/* java/libraries/svg/library/ cp java/libraries/svg/library/share/java/batik-all-${batik.version}.jar java/libraries/svg/library/batik.jar - echo "tarring ffmpeg" - tar --checkpoint=10000 -czf build/shared/tools/MovieMaker/ffmpeg-5.0.1.gz ${ffmpeg} - cd build - ant build - cd .. + + gradle assemble runHook postBuild ''; @@ -121,24 +156,28 @@ stdenv.mkDerivation rec { installPhase = '' runHook preInstall - mkdir -p $out/share/ + gradle createDistributable + + mkdir -p $out/lib + cp -dpr app/build/compose/binaries/main/app/Processing/lib/* $out/lib/ + cp -dpr app/build/compose/binaries/main/app/Processing/bin $out/unwrapped + mkdir -p $out/share/applications/ cp -dp build/linux/${pname}.desktop $out/share/applications/ - cp -dpr build/linux/work $out/share/${pname} - rmdir $out/share/${pname}/java - ln -s ${jdk} $out/share/${pname}/java - runHook postInstall - ''; - preFixup = '' - makeWrapper $out/share/${pname}/processing $out/bin/processing \ - "''${gappsWrapperArgs[@]}" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \ - --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" - makeWrapper $out/share/${pname}/processing-java $out/bin/processing-java \ - "''${gappsWrapperArgs[@]}" \ + rm -r $out/lib/app/resources/jdk + ln -s ${jdk}/lib/openjdk $out/lib/app/resources/jdk + + makeWrapper $out/unwrapped/Processing $out/bin/Processing \ + ''${gappsWrapperArgs[@]} \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \ --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" + + runHook postInstall + ''; + + postFixup = '' + ln -s $out/bin/Processing $out/bin/processing ''; meta = { @@ -148,7 +187,12 @@ stdenv.mkDerivation rec { gpl2Only lgpl21Only ]; + mainProgram = "Processing"; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ evan-goode ]; + sourceProvenance = with lib.sourceTypes; [ + fromSource + binaryBytecode + ]; }; } diff --git a/pkgs/by-name/pr/processing/skip-distributable.patch b/pkgs/by-name/pr/processing/skip-distributable.patch new file mode 100644 index 0000000000000..73e591c55cbe8 --- /dev/null +++ b/pkgs/by-name/pr/processing/skip-distributable.patch @@ -0,0 +1,21 @@ +diff --git a/app/build.gradle.kts b/app/build.gradle.kts +index 0d3fcbd..88a0b63 100644 +--- a/app/build.gradle.kts ++++ b/app/build.gradle.kts +@@ -280,16 +280,7 @@ tasks.register("packageSnap"){ + commandLine("snapcraft") + } + tasks.register("zipDistributable"){ +- dependsOn("createDistributable", "setExecutablePermissions") + group = "compose desktop" +- +- val distributable = tasks.named("createDistributable").get() +- val dir = distributable.destinationDir.get() +- val packageName = distributable.packageName.get() +- +- from(dir){ eachFile{ permissions{ unix("755") } } } +- archiveBaseName.set(packageName) +- destinationDirectory.set(dir.file("../").asFile) + } + + afterEvaluate{ diff --git a/pkgs/by-name/pr/procs/package.nix b/pkgs/by-name/pr/procs/package.nix index 57338f6832f22..5aaa3c33c8bc5 100644 --- a/pkgs/by-name/pr/procs/package.nix +++ b/pkgs/by-name/pr/procs/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "procs"; - version = "0.14.10"; + version = "0.14.11"; src = fetchFromGitHub { owner = "dalance"; repo = "procs"; rev = "v${finalAttrs.version}"; - hash = "sha256-+qY0BG3XNCm5vm5W6VX4a0JWCb4JSat/oK9GLXRis/M="; + hash = "sha256-BAWsONWDqYJfEnUwYBEhY2hJcna+komUKEaHyNYUr3w="; }; - cargoHash = "sha256-/y+9EA3PhyI5iqg2wM0ny41nBDJiKnsjvbmPfCe5RJk="; + cargoHash = "sha256-VfeQDlmUriZe9ze5L3C0yFoKiyjlZpcesHccO7T15i8="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/pr/prometheus-mongodb-exporter/package.nix b/pkgs/by-name/pr/prometheus-mongodb-exporter/package.nix index 55a4168b977cc..b8f48225a31f8 100644 --- a/pkgs/by-name/pr/prometheus-mongodb-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-mongodb-exporter/package.nix @@ -2,6 +2,8 @@ lib, buildGoModule, fetchFromGitHub, + krb5, + withGssapi ? true, }: buildGoModule rec { @@ -17,6 +19,10 @@ buildGoModule rec { vendorHash = "sha256-1yTSQ3ktAtUfy2nKm98hFX+A7eR0z5FoKbM2vAJQWbU="; + buildInputs = lib.optionals withGssapi [ krb5 ]; + + tags = lib.optionals withGssapi [ "gssapi" ]; + ldflags = [ "-s" "-w" diff --git a/pkgs/by-name/pr/prometheus-postfix-exporter/package.nix b/pkgs/by-name/pr/prometheus-postfix-exporter/package.nix index 1ed957e1bd3f2..126c1c58625b1 100644 --- a/pkgs/by-name/pr/prometheus-postfix-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-postfix-exporter/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "postfix_exporter"; - version = "0.18.0"; + version = "0.19.0"; src = fetchFromGitHub { owner = "Hsn723"; repo = "postfix_exporter"; tag = "v${version}"; - sha256 = "sha256-xpzYhdmryUV3RKGgvqJkTpi3mv/0LMHoMiAZX+i0BmI="; + sha256 = "sha256-yswgmQ7nMXuU9FJAjg+k5d2nwze6i/4qNZSQvrUQJog="; }; - vendorHash = "sha256-3jZWyaLoSAqjutmKp1RowvLuFVNnp+Vz+v8jL7fvzbo="; + vendorHash = "sha256-nQ2QuSMYwnedH8Z7V9umfZYv7NeAI+rzctUWlcZMXV8="; ldflags = [ "-s" diff --git a/pkgs/by-name/pr/prometheus-postgres-exporter/package.nix b/pkgs/by-name/pr/prometheus-postgres-exporter/package.nix index 36ec48db35717..7cd4e38584a25 100644 --- a/pkgs/by-name/pr/prometheus-postgres-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-postgres-exporter/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "postgres_exporter"; - version = "0.19.0"; + version = "0.19.1"; src = fetchFromGitHub { owner = "prometheus-community"; repo = "postgres_exporter"; rev = "v${version}"; - sha256 = "sha256-0CoK1CVIq7wXFy7TdCsEEncZTTuRoIItRf2d2xU8IRE="; + sha256 = "sha256-ZxUVLYb0MdCjnqFczXMCc0VVFFBoaWJhEMkxX3x5coM="; }; vendorHash = "sha256-2WJsNSKhyxObrNWDFUh5zcJwNQeEZl9rY30yspE2NQ8="; diff --git a/pkgs/by-name/pr/prometheus/package.nix b/pkgs/by-name/pr/prometheus/package.nix index 7388b7a2bf94e..fae4e2500a89b 100644 --- a/pkgs/by-name/pr/prometheus/package.nix +++ b/pkgs/by-name/pr/prometheus/package.nix @@ -90,6 +90,8 @@ buildGoModule (finalAttrs: { src ; + proxyVendor = true; + outputs = [ "out" "doc" @@ -198,7 +200,6 @@ buildGoModule (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; - versionCheckProgramArg = "--version"; doInstallCheck = true; passthru = { diff --git a/pkgs/by-name/pr/prometheus/source.nix b/pkgs/by-name/pr/prometheus/source.nix index ebb82a9f48069..88e1aa736d953 100644 --- a/pkgs/by-name/pr/prometheus/source.nix +++ b/pkgs/by-name/pr/prometheus/source.nix @@ -1,6 +1,6 @@ { - version = "3.9.1"; - hash = "sha256-kqqWFvzEfpG+e+7ils9KE/RNs0eadLqrzMQJsSunQOM="; - npmDepsHash = "sha256-Z+EaIDQLgJ1YQ9tmGZLtvOVaDvZX1qeJJxsCAd/h41k="; - vendorHash = "sha256-CGec9hR/BpO3rXNGYm0V9AESsGIR6a0734e8t9oMOpA="; + version = "3.10.0"; + hash = "sha256-tTxHLngOsJ0STwfnBfuXN7CUaVgtpRGzEiFtXTWVDD4="; + npmDepsHash = "sha256-+nu7qfxlVa8OWARFgQnXj5riTQ0P1sjxbIgYUvJpcHw="; + vendorHash = "sha256-AsVy9RPemaKDuX8is2IXjlzRBsJFJiRfFj18SQl8Oc8="; } diff --git a/pkgs/by-name/pr/prow/package.nix b/pkgs/by-name/pr/prow/package.nix index 2cbaa9757cd2a..0913d3c0ef267 100644 --- a/pkgs/by-name/pr/prow/package.nix +++ b/pkgs/by-name/pr/prow/package.nix @@ -8,15 +8,15 @@ buildGoModule rec { pname = "prow"; - version = "0-unstable-2026-02-17"; - rev = "999e46ca7aee8a1561241b965222140ebc29120c"; + version = "0-unstable-2026-02-24"; + rev = "cd980a6645683fa534e2a2f3ab74d934b352dfe9"; src = fetchFromGitHub { inherit rev; owner = "kubernetes-sigs"; repo = "prow"; - hash = "sha256-EzP0Yd3cMstMhPGBD+3dUJE4NL0YnJTGip/tTDj/Rfw="; + hash = "sha256-4zgHgneZXTsrz5G12U+499QYZkns8IZW0aNYj7MvuwM="; }; vendorHash = "sha256-Pv9LznRh7Nzm74gMKT2Q/VLIMIIc93en0qX6YA6TwK4="; diff --git a/pkgs/by-name/pr/proxmox-backup-client/0001-cargo-re-route-dependencies-not-available-on-crates..patch b/pkgs/by-name/pr/proxmox-backup-client/0001-cargo-re-route-dependencies-not-available-on-crates..patch index ea0a49387dec0..9b7f15604ab79 100644 --- a/pkgs/by-name/pr/proxmox-backup-client/0001-cargo-re-route-dependencies-not-available-on-crates..patch +++ b/pkgs/by-name/pr/proxmox-backup-client/0001-cargo-re-route-dependencies-not-available-on-crates..patch @@ -1,24 +1,26 @@ -From 552fcf4c45deadbf6b51128d32dd23536af31e9c Mon Sep 17 00:00:00 2001 -From: Christoph Heiss -Date: Tue, 12 Aug 2025 13:48:48 +0200 +From 71ff7368f729289f2eb3fe5a01365411fa006751 Mon Sep 17 00:00:00 2001 +From: Christoph Heiss +Date: Mon, 23 Feb 2026 10:58:20 +0100 Subject: [PATCH proxmox-backup 1/2] cargo: re-route dependencies not available on crates.io Signed-off-by: Christoph Heiss --- - Cargo.toml | 83 ++++++++++++++++++++++++++++-------------------------- - 1 file changed, 43 insertions(+), 40 deletions(-) + Cargo.toml | 100 ++++++++++++++++++++++++++--------------------------- + 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/Cargo.toml b/Cargo.toml -index 337bb081..0aed1103 100644 +index 9bf7b79a..ced3b793 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -263,47 +263,50 @@ proxmox-rrd-api-types.workspace = true +@@ -271,57 +271,57 @@ proxmox-rrd-api-types.workspace = true # Local path overrides # NOTE: You must run `cargo update` after changing this for it to take effect! [patch.crates-io] -#pbs-api-types = { path = "../proxmox/pbs-api-types" } -#proxmox-acme = { path = "../proxmox/proxmox-acme" } +-#proxmox-acme-api = { path = "../proxmox/proxmox-acme-api" } +-#proxmox-api-macro = { path = "../proxmox/proxmox-api-macro" } -#proxmox-apt = { path = "../proxmox/proxmox-apt" } -#proxmox-apt-api-types = { path = "../proxmox/proxmox-apt-api-types" } -#proxmox-async = { path = "../proxmox/proxmox-async" } @@ -28,24 +30,30 @@ index 337bb081..0aed1103 100644 -#proxmox-compression = { path = "../proxmox/proxmox-compression" } -#proxmox-config-digest = { path = "../proxmox/proxmox-config-digest" } -#proxmox-daemon = { path = "../proxmox/proxmox-daemon" } --#proxmox-fuse = { path = "../proxmox-fuse" } -#proxmox-http = { path = "../proxmox/proxmox-http" } +-#proxmox-http-error = { path = "../proxmox/proxmox-http-error" } -#proxmox-human-byte = { path = "../proxmox/proxmox-human-byte" } -#proxmox-io = { path = "../proxmox/proxmox-io" } -#proxmox-lang = { path = "../proxmox/proxmox-lang" } --#proxmox-log = { path = "../proxmox/proxmox-log" } -#proxmox-ldap = { path = "../proxmox/proxmox-ldap" } +-#proxmox-log = { path = "../proxmox/proxmox-log" } -#proxmox-metrics = { path = "../proxmox/proxmox-metrics" } -#proxmox-network-api = { path = "../proxmox/proxmox-network-api" } +-#proxmox-network-types = { path = "../proxmox/proxmox-network-types" } -#proxmox-notify = { path = "../proxmox/proxmox-notify" } -#proxmox-openid = { path = "../proxmox/proxmox-openid" } +-#proxmox-product-config = { path = "../proxmox/proxmox-product-config" } +-#proxmox-rate-limiter = { path = "../proxmox/proxmox-rate-limiter" } -#proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" } -#proxmox-router = { path = "../proxmox/proxmox-router" } -#proxmox-rrd = { path = "../proxmox/proxmox-rrd" } -#proxmox-rrd-api-types = { path = "../proxmox/proxmox-rrd-api-types" } +-#proxmox-s3-client = { path = "../proxmox/proxmox-s3-client" } -#proxmox-schema = { path = "../proxmox/proxmox-schema" } -#proxmox-section-config = { path = "../proxmox/proxmox-section-config" } +-#proxmox-sendmail = { path = "../proxmox/proxmox-sendmail" } -#proxmox-serde = { path = "../proxmox/proxmox-serde" } +-#proxmox-shared-cache = { path = "../proxmox/proxmox-shared-cache" } -#proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" } -#proxmox-sortable-macro = { path = "../proxmox/proxmox-sortable-macro" } -#proxmox-subscription = { path = "../proxmox/proxmox-subscription" } @@ -53,10 +61,13 @@ index 337bb081..0aed1103 100644 -#proxmox-systemd = { path = "../proxmox/proxmox-systemd" } -#proxmox-tfa = { path = "../proxmox/proxmox-tfa" } -#proxmox-time = { path = "../proxmox/proxmox-time" } +-#proxmox-upgrade-checks = { path = "../proxmox/proxmox-upgrade-checks" } -#proxmox-uuid = { path = "../proxmox/proxmox-uuid" } -#proxmox-worker-task = { path = "../proxmox/proxmox-worker-task" } +pbs-api-types = { path = "../proxmox/pbs-api-types" } +proxmox-acme = { path = "../proxmox/proxmox-acme" } ++proxmox-acme-api = { path = "../proxmox/proxmox-acme-api" } ++proxmox-api-macro = { path = "../proxmox/proxmox-api-macro" } +proxmox-apt = { path = "../proxmox/proxmox-apt" } +proxmox-apt-api-types = { path = "../proxmox/proxmox-apt-api-types" } +proxmox-async = { path = "../proxmox/proxmox-async" } @@ -66,24 +77,30 @@ index 337bb081..0aed1103 100644 +proxmox-compression = { path = "../proxmox/proxmox-compression" } +proxmox-config-digest = { path = "../proxmox/proxmox-config-digest" } +proxmox-daemon = { path = "../proxmox/proxmox-daemon" } -+proxmox-fuse = { path = "../proxmox-fuse" } +proxmox-http = { path = "../proxmox/proxmox-http" } ++proxmox-http-error = { path = "../proxmox/proxmox-http-error" } +proxmox-human-byte = { path = "../proxmox/proxmox-human-byte" } +proxmox-io = { path = "../proxmox/proxmox-io" } +proxmox-lang = { path = "../proxmox/proxmox-lang" } -+proxmox-log = { path = "../proxmox/proxmox-log" } +proxmox-ldap = { path = "../proxmox/proxmox-ldap" } ++proxmox-log = { path = "../proxmox/proxmox-log" } +proxmox-metrics = { path = "../proxmox/proxmox-metrics" } +proxmox-network-api = { path = "../proxmox/proxmox-network-api" } ++proxmox-network-types = { path = "../proxmox/proxmox-network-types" } +proxmox-notify = { path = "../proxmox/proxmox-notify" } +proxmox-openid = { path = "../proxmox/proxmox-openid" } ++proxmox-product-config = { path = "../proxmox/proxmox-product-config" } ++proxmox-rate-limiter = { path = "../proxmox/proxmox-rate-limiter" } +proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" } +proxmox-router = { path = "../proxmox/proxmox-router" } +proxmox-rrd = { path = "../proxmox/proxmox-rrd" } +proxmox-rrd-api-types = { path = "../proxmox/proxmox-rrd-api-types" } ++proxmox-s3-client = { path = "../proxmox/proxmox-s3-client" } +proxmox-schema = { path = "../proxmox/proxmox-schema" } +proxmox-section-config = { path = "../proxmox/proxmox-section-config" } ++proxmox-sendmail = { path = "../proxmox/proxmox-sendmail" } +proxmox-serde = { path = "../proxmox/proxmox-serde" } ++proxmox-shared-cache = { path = "../proxmox/proxmox-shared-cache" } +proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" } +proxmox-sortable-macro = { path = "../proxmox/proxmox-sortable-macro" } +proxmox-subscription = { path = "../proxmox/proxmox-subscription" } @@ -91,19 +108,19 @@ index 337bb081..0aed1103 100644 +proxmox-systemd = { path = "../proxmox/proxmox-systemd" } +proxmox-tfa = { path = "../proxmox/proxmox-tfa" } +proxmox-time = { path = "../proxmox/proxmox-time" } ++proxmox-upgrade-checks = { path = "../proxmox/proxmox-upgrade-checks" } +proxmox-uuid = { path = "../proxmox/proxmox-uuid" } +proxmox-worker-task = { path = "../proxmox/proxmox-worker-task" } -+proxmox-s3-client = { path = "../proxmox/proxmox-s3-client" } -+proxmox-product-config = { path = "../proxmox/proxmox-product-config" } -+proxmox-shared-cache = { path = "../proxmox/proxmox-shared-cache" } +-#proxmox-fuse = {path = "../proxmox-fuse" } -#pathpatterns = {path = "../pathpatterns" } -#pxar = { path = "../pxar" } ++proxmox-fuse = {path = "../proxmox-fuse" } +pathpatterns = {path = "../pathpatterns" } +pxar = { path = "../pxar" } [features] default = [] -- -2.50.1 +2.52.0 diff --git a/pkgs/by-name/pr/proxmox-backup-client/0004-pbs-api-types-crypto-fix-autoref-error-in-ptr-to-ref.patch b/pkgs/by-name/pr/proxmox-backup-client/0004-pbs-api-types-crypto-fix-autoref-error-in-ptr-to-ref.patch deleted file mode 100644 index d57eec4c5a74b..0000000000000 --- a/pkgs/by-name/pr/proxmox-backup-client/0004-pbs-api-types-crypto-fix-autoref-error-in-ptr-to-ref.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4d098e36df3a81799231618ce1d88ca8759a6616 Mon Sep 17 00:00:00 2001 -From: Christoph Heiss -Date: Thu, 4 Sep 2025 10:46:17 +0200 -Subject: [PATCH proxmox] pbs-api-types: crypto: fix autoref error in ptr to - ref conversion - -Signed-off-by: Christoph Heiss ---- - pbs-api-types/src/crypto.rs | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pbs-api-types/src/crypto.rs b/pbs-api-types/src/crypto.rs -index cdc1ba64..7b274982 100644 ---- a/pbs-api-types/src/crypto.rs -+++ b/pbs-api-types/src/crypto.rs -@@ -88,7 +88,7 @@ pub mod bytes_as_fingerprint { - let mut s = String::deserialize(deserializer)?; - s.retain(|c| c != ':'); - let mut out = MaybeUninit::<[u8; 32]>::uninit(); -- hex::decode_to_slice(s.as_bytes(), unsafe { &mut (*out.as_mut_ptr())[..] }) -+ hex::decode_to_slice(s.as_bytes(), unsafe { &mut *out.as_mut_ptr() }) - .map_err(serde::de::Error::custom)?; - Ok(unsafe { out.assume_init() }) - } --- -2.50.1 - diff --git a/pkgs/by-name/pr/proxmox-backup-client/Cargo.lock b/pkgs/by-name/pr/proxmox-backup-client/Cargo.lock index 5e2800bd69756..d14a6201e352d 100644 --- a/pkgs/by-name/pr/proxmox-backup-client/Cargo.lock +++ b/pkgs/by-name/pr/proxmox-backup-client/Cargo.lock @@ -2,15 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - [[package]] name = "adler2" version = "2.0.1" @@ -31,9 +22,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -44,12 +35,6 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_system_properties" version = "0.1.5" @@ -61,9 +46,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.20" +version = "0.6.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" dependencies = [ "anstyle", "anstyle-parse", @@ -76,9 +61,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.11" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" @@ -91,29 +76,29 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.10" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] name = "anyhow" -version = "1.0.99" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "apt-pkg-native" @@ -126,6 +111,15 @@ dependencies = [ "libc", ] +[[package]] +name = "ar_archive_writer" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340b" +dependencies = [ + "object", +] + [[package]] name = "asn1-rs" version = "0.6.2" @@ -148,9 +142,9 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", "synstructure", ] @@ -160,9 +154,9 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] @@ -171,9 +165,9 @@ version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] @@ -188,21 +182,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" -[[package]] -name = "backtrace" -version = "0.3.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] - [[package]] name = "base16ct" version = "0.2.0" @@ -229,15 +208,15 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.8.0" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" [[package]] name = "base64urlsafedata" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5913e643e4dfb43d5908e9e6f1386f8e0dfde086ecef124a6450c6195d89160" +checksum = "42f7f6be94fa637132933fd0a68b9140bcb60e3d46164cb68e82a2bb8d102b3a" dependencies = [ "base64 0.21.7", "pastey", @@ -246,9 +225,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.9.4" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] name = "block-buffer" @@ -261,27 +240,21 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" - -[[package]] -name = "byteorder" -version = "1.5.0" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "cc" -version = "1.2.35" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "590f9024a68a8c40351881787f1934dc11afd69090f5edb6831464694d836ea3" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" dependencies = [ "find-msvc-tools", "jobserver", @@ -291,9 +264,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" @@ -309,11 +282,10 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.41" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", @@ -334,9 +306,9 @@ dependencies = [ [[package]] name = "cidr" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd1b64030216239a2e7c364b13cd96a2097ebf0dfe5025f2dedee14a23f2ab60" +checksum = "579504560394e388085d0c080ea587dfa5c15f7e251b4d5247d1e1a61d1d6928" [[package]] name = "clipboard-win" @@ -361,9 +333,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const_format" -version = "0.2.34" +version = "0.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +checksum = "7faa7469a93a566e9ccc1c73fe783b4a65c274c5ace346038dca9c39fe0030ad" dependencies = [ "const_format_proc_macros", ] @@ -374,16 +346,16 @@ version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", + "proc-macro2 1.0.106", + "quote 1.0.44", "unicode-xid 0.2.6", ] [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -428,6 +400,12 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + [[package]] name = "crypto-bigint" version = "0.5.5" @@ -435,7 +413,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -472,16 +450,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "darling" -version = "0.20.11" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" dependencies = [ "darling_core", "darling_macro", @@ -489,34 +467,34 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.11" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.101", - "quote 1.0.40", + "proc-macro2 1.0.106", + "quote 1.0.44", "strsim", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "darling_macro" -version = "0.20.11" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core", - "quote 1.0.40", - "syn 2.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "data-encoding" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" +checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" [[package]] name = "der" @@ -545,12 +523,12 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.3" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", - "serde", + "serde_core", ] [[package]] @@ -571,9 +549,9 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] @@ -641,7 +619,7 @@ dependencies = [ "hkdf", "pem-rfc7468", "pkcs8", - "rand_core", + "rand_core 0.6.4", "sec1", "subtle", "zeroize", @@ -695,16 +673,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ "heck", - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "env_filter" -version = "0.1.3" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" +checksum = "7a1c3cc8e57274ec99de65301228b537f1e4eedc1b8e0f9411c6caac8ae7308f" dependencies = [ "log", "regex", @@ -712,9 +690,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" +checksum = "b2daee4ea451f429a58296525ddf28b45a3b64f1acf6587e2067437bb11e218d" dependencies = [ "anstream", "anstyle", @@ -731,12 +709,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -777,7 +755,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -789,27 +767,26 @@ checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "filetime" -version = "0.2.26" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" +checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" dependencies = [ "cfg-if", "libc", "libredox", - "windows-sys 0.60.2", ] [[package]] name = "find-msvc-tools" -version = "0.1.0" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e178e4fba8a2726903f6ba98a6d221e76f9c12c650d5dc0e6afdc50677b49650" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "flate2" -version = "1.1.2" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", "miniz_oxide", @@ -827,6 +804,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + [[package]] name = "foreign-types" version = "0.3.2" @@ -853,9 +836,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -868,9 +851,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -878,15 +861,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -895,38 +878,38 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -936,15 +919,14 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] [[package]] name = "generic-array" -version = "0.14.7" +version = "0.14.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" dependencies = [ "typenum", "version_check", @@ -953,34 +935,41 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.1+wasi-snapshot-preview1", + "wasi", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.3+wasi-0.2.4", + "wasip2", ] [[package]] -name = "gimli" -version = "0.31.1" +name = "getrandom" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", + "wasip3", +] [[package]] name = "group" @@ -989,15 +978,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core", + "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" dependencies = [ "atomic-waker", "bytes", @@ -1005,7 +994,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.11.0", + "indexmap 2.13.0", "slab", "tokio", "tokio-util", @@ -1018,6 +1007,17 @@ version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + [[package]] name = "handlebars" version = "5.1.2" @@ -1053,6 +1053,15 @@ name = "hashbrown" version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" [[package]] name = "heck" @@ -1091,7 +1100,7 @@ dependencies = [ "idna", "ipnet", "once_cell", - "rand", + "rand 0.8.5", "thiserror 1.0.69", "tinyvec", "tokio", @@ -1112,7 +1121,7 @@ dependencies = [ "lru-cache", "once_cell", "parking_lot", - "rand", + "rand 0.8.5", "resolv-conf", "smallvec", "thiserror 1.0.69", @@ -1140,11 +1149,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.11" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -1160,9 +1169,9 @@ dependencies = [ [[package]] name = "hostname" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56f203cd1c76362b69e3863fd987520ac36cf70a8c92627449b2f64a8cf7d65" +checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" dependencies = [ "cfg-if", "libc", @@ -1171,12 +1180,11 @@ dependencies = [ [[package]] name = "http" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "fnv", "itoa", ] @@ -1217,9 +1225,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ "atomic-waker", "bytes", @@ -1240,20 +1248,19 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.16" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", "http", "http-body", "hyper", "libc", "pin-project-lite", - "socket2 0.6.0", + "socket2 0.6.2", "tokio", "tower-service", "tracing", @@ -1261,9 +1268,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.63" +version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1285,9 +1292,9 @@ dependencies = [ [[package]] name = "icu_collections" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", "potential_utf", @@ -1298,9 +1305,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -1311,11 +1318,10 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", @@ -1326,42 +1332,38 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "2.0.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ - "displaydoc", "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", - "potential_utf", "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "2.0.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", "icu_locale_core", - "stable_deref_trait", - "tinystr", "writeable", "yoke", "zerofrom", @@ -1369,6 +1371,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "ident_case" version = "1.0.1" @@ -1409,13 +1417,14 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.11.0" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown 0.15.5", + "hashbrown 0.16.1", "serde", + "serde_core", ] [[package]] @@ -1429,17 +1438,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "io-uring" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" -dependencies = [ - "bitflags", - "cfg-if", - "libc", -] - [[package]] name = "ipconfig" version = "0.3.2" @@ -1460,9 +1458,9 @@ checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is_terminal_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "iso8601" @@ -1484,32 +1482,32 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jiff" -version = "0.2.15" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" +checksum = "b3e3d65f018c6ae946ab16e80944b97096ed73c35b221d1c478a6c81d8f57940" dependencies = [ "jiff-static", "log", "portable-atomic", "portable-atomic-util", - "serde", + "serde_core", ] [[package]] name = "jiff-static" -version = "0.2.15" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" +checksum = "a17c2b211d863c7fde02cbea8a3c1a439b98e109286554f2860bdded7ff83818" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] @@ -1518,15 +1516,15 @@ version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.3.4", "libc", ] [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "c7e709f3e3d22866f9c25b3aff01af289b18422cc8b4262fb19103ee80fe513d" dependencies = [ "once_cell", "wasm-bindgen", @@ -1575,11 +1573,17 @@ dependencies = [ "url", ] +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "lettre" -version = "0.11.18" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cb54db6ff7a89efac87dba5baeac57bb9ccd726b49a9b6f21fb92b3966aaf56" +checksum = "9e13e10e8818f8b2a60f52cb127041d388b89f3a96a62be9ceaffa22262fef7f" dependencies = [ "base64 0.22.1", "chumsky", @@ -1587,7 +1591,7 @@ dependencies = [ "email_address", "fastrand", "futures-util", - "hostname 0.4.1", + "hostname 0.4.2", "httpdate", "idna", "mime", @@ -1595,32 +1599,32 @@ dependencies = [ "nom 8.0.0", "percent-encoding", "quoted_printable", - "socket2 0.6.0", + "socket2 0.6.2", "tokio", "url", ] [[package]] name = "libc" -version = "0.2.175" +version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" +checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "libm" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" -version = "0.1.9" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3" +checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" dependencies = [ "bitflags", "libc", - "redox_syscall", + "redox_syscall 0.7.1", ] [[package]] @@ -1641,31 +1645,30 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.9.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "lock_api" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] [[package]] name = "log" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru-cache" @@ -1690,9 +1693,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] name = "memchr" -version = "2.7.5" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memoffset" @@ -1722,24 +1725,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", + "simd-adler32", ] [[package]] name = "mio" -version = "1.0.4" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", - "wasi 0.11.1+wasi-snapshot-preview1", - "windows-sys 0.59.0", + "wasi", + "windows-sys 0.61.2", ] [[package]] name = "native-tls" -version = "0.2.14" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2" dependencies = [ "libc", "log", @@ -1807,11 +1811,11 @@ dependencies = [ [[package]] name = "nu-ansi-term" -version = "0.50.1" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -1826,26 +1830,25 @@ dependencies = [ [[package]] name = "num-bigint-dig" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" dependencies = [ - "byteorder", "lazy_static", "libm", "num-integer", "num-iter", "num-traits", - "rand", + "rand 0.8.5", "smallvec", "zeroize", ] [[package]] name = "num-conv" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" [[package]] name = "num-integer" @@ -1894,9 +1897,9 @@ checksum = "51e219e79014df21a225b1860a479e2dcd7cbd9130f4defd4bd0e191ea31d67d" dependencies = [ "base64 0.22.1", "chrono", - "getrandom 0.2.16", + "getrandom 0.2.17", "http", - "rand", + "rand 0.8.5", "serde", "serde_json", "serde_path_to_error", @@ -1907,9 +1910,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.7" +version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ "memchr", ] @@ -1931,9 +1934,9 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "once_cell_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "openidconnect" @@ -1952,7 +1955,7 @@ dependencies = [ "oauth2", "p256", "p384", - "rand", + "rand 0.8.5", "rsa", "serde", "serde-value", @@ -1968,9 +1971,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.73" +version = "0.10.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" dependencies = [ "bitflags", "cfg-if", @@ -1987,22 +1990,22 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "openssl-probe" -version = "0.1.6" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" [[package]] name = "openssl-sys" -version = "0.9.109" +version = "0.9.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" dependencies = [ "cc", "libc", @@ -2054,9 +2057,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", "parking_lot_core", @@ -2064,15 +2067,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.11" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.5.18", "smallvec", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -2091,7 +2094,7 @@ dependencies = [ [[package]] name = "pbs-api-types" -version = "1.0.3" +version = "1.0.9" dependencies = [ "anyhow", "const_format", @@ -2099,6 +2102,7 @@ dependencies = [ "percent-encoding", "proxmox-apt-api-types", "proxmox-auth-api", + "proxmox-fixed-string", "proxmox-human-byte", "proxmox-lang", "proxmox-s3-client", @@ -2113,7 +2117,7 @@ dependencies = [ [[package]] name = "pbs-buildcfg" -version = "4.0.14" +version = "4.1.4" [[package]] name = "pbs-client" @@ -2145,6 +2149,7 @@ dependencies = [ "proxmox-human-byte", "proxmox-io", "proxmox-log", + "proxmox-rate-limiter", "proxmox-router", "proxmox-schema", "proxmox-sys", @@ -2218,6 +2223,7 @@ dependencies = [ "proxmox-lang", "proxmox-s3-client", "proxmox-schema", + "proxmox-section-config", "proxmox-serde", "proxmox-sys", "proxmox-systemd", @@ -2310,7 +2316,7 @@ dependencies = [ "regex", "serde", "serde_json", - "thiserror 2.0.16", + "thiserror 2.0.18", "udev", ] @@ -2351,20 +2357,19 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.8.1" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" +checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662" dependencies = [ "memchr", - "thiserror 2.0.16", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.8.1" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb056d9e8ea77922845ec74a1c4e8fb17e7c218cc4fc11a15c5d25e189aa40bc" +checksum = "11f486f1ea21e6c10ed15d5a7c77165d0ee443402f0780849d1768e7d9d6fe77" dependencies = [ "pest", "pest_generator", @@ -2372,22 +2377,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.8.1" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e404e638f781eb3202dc82db6760c8ae8a1eeef7fb3fa8264b2ef280504966" +checksum = "8040c4647b13b210a963c1ed407c1ff4fdfa01c31d6d2a098218702e6664f94f" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "pest_meta" -version = "2.8.1" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd1101f170f5903fde0914f899bb503d9ff5271d7ba76bbb70bea63690cc0d5" +checksum = "89815c69d36021a140146f26659a81d6c2afa33d216d736dd4be5381a7362220" dependencies = [ "pest", "sha2", @@ -2434,24 +2439,24 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "portable-atomic" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "portable-atomic-util" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +checksum = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" dependencies = [ "portable-atomic", ] [[package]] name = "potential_utf" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" dependencies = [ "zerovec", ] @@ -2471,6 +2476,16 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2 1.0.106", + "syn 2.0.117", +] + [[package]] name = "primeorder" version = "0.13.6" @@ -2491,37 +2506,74 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.101" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] [[package]] name = "proxmox-acme" +version = "1.1.0" +dependencies = [ + "anyhow", + "bytes", + "http-body-util", + "hyper", + "openssl", + "proxmox-base64", + "proxmox-http", + "proxmox-schema", + "serde", + "serde_json", +] + +[[package]] +name = "proxmox-acme-api" version = "1.0.2" dependencies = [ + "anyhow", + "foreign-types", + "futures", + "hex", + "http", + "http-body-util", + "hyper", + "hyper-util", + "libc", "openssl", + "proxmox-acme", "proxmox-base64", + "proxmox-config-digest", + "proxmox-log", + "proxmox-product-config", + "proxmox-rest-server", + "proxmox-router", "proxmox-schema", + "proxmox-section-config", + "proxmox-serde", + "proxmox-sys", + "proxmox-time", + "proxmox-uuid", "serde", "serde_json", + "tokio", ] [[package]] name = "proxmox-api-macro" -version = "1.4.1" +version = "1.4.4" dependencies = [ "anyhow", - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "proxmox-apt" -version = "0.99.3" +version = "0.99.7" dependencies = [ "anyhow", "apt-pkg-native", @@ -2541,10 +2593,12 @@ dependencies = [ [[package]] name = "proxmox-apt-api-types" -version = "2.0.0" +version = "2.0.5" dependencies = [ "proxmox-config-digest", "proxmox-schema", + "proxmox-serde", + "regex", "serde", "serde_plain", ] @@ -2563,7 +2617,7 @@ dependencies = [ [[package]] name = "proxmox-auth-api" -version = "1.0.3" +version = "1.0.5" dependencies = [ "anyhow", "const_format", @@ -2589,7 +2643,7 @@ dependencies = [ [[package]] name = "proxmox-backup" -version = "4.0.14" +version = "4.1.4" dependencies = [ "anyhow", "async-trait", @@ -2622,6 +2676,7 @@ dependencies = [ "pbs-tools", "percent-encoding", "proxmox-acme", + "proxmox-acme-api", "proxmox-apt", "proxmox-apt-api-types", "proxmox-async", @@ -2638,9 +2693,11 @@ dependencies = [ "proxmox-log", "proxmox-metrics", "proxmox-network-api", + "proxmox-network-types", "proxmox-notify", "proxmox-openid", "proxmox-product-config", + "proxmox-rate-limiter", "proxmox-rest-server", "proxmox-router", "proxmox-rrd", @@ -2657,6 +2714,7 @@ dependencies = [ "proxmox-systemd", "proxmox-tfa", "proxmox-time", + "proxmox-upgrade-checks", "proxmox-uuid", "proxmox-worker-task", "pxar", @@ -2666,7 +2724,7 @@ dependencies = [ "serde_json", "syslog", "termcolor", - "thiserror 2.0.16", + "thiserror 2.0.18", "tokio", "tokio-openssl", "tokio-stream", @@ -2740,7 +2798,7 @@ version = "1.1.0" [[package]] name = "proxmox-compression" -version = "1.0.0" +version = "1.0.1" dependencies = [ "anyhow", "bytes", @@ -2760,7 +2818,7 @@ dependencies = [ [[package]] name = "proxmox-config-digest" -version = "1.0.0" +version = "1.0.1" dependencies = [ "anyhow", "hex", @@ -2819,9 +2877,17 @@ dependencies = [ "tokio-util", ] +[[package]] +name = "proxmox-fixed-string" +version = "0.1.1" +dependencies = [ + "serde", + "serde_plain", +] + [[package]] name = "proxmox-fuse" -version = "1.0.0" +version = "2.0.0" dependencies = [ "anyhow", "cc", @@ -2833,7 +2899,7 @@ dependencies = [ [[package]] name = "proxmox-http" -version = "1.0.2" +version = "1.0.5" dependencies = [ "anyhow", "bytes", @@ -2850,6 +2916,7 @@ dependencies = [ "proxmox-compression", "proxmox-io", "proxmox-lang", + "proxmox-rate-limiter", "proxmox-sys", "serde_json", "sync_wrapper", @@ -2871,7 +2938,7 @@ dependencies = [ [[package]] name = "proxmox-human-byte" -version = "1.0.0" +version = "1.0.1" dependencies = [ "anyhow", "proxmox-schema", @@ -2881,7 +2948,7 @@ dependencies = [ [[package]] name = "proxmox-io" -version = "1.2.0" +version = "1.2.1" dependencies = [ "endian_trait", "tokio", @@ -2893,7 +2960,7 @@ version = "1.5.0" [[package]] name = "proxmox-ldap" -version = "1.0.0" +version = "1.1.0" dependencies = [ "anyhow", "ldap3", @@ -2935,7 +3002,7 @@ dependencies = [ [[package]] name = "proxmox-network-api" -version = "1.0.3" +version = "1.0.5" dependencies = [ "anyhow", "const_format", @@ -2953,16 +3020,16 @@ dependencies = [ [[package]] name = "proxmox-network-types" -version = "0.1.1" +version = "1.0.1" dependencies = [ "serde", "serde_with", - "thiserror 2.0.16", + "thiserror 2.0.18", ] [[package]] name = "proxmox-notify" -version = "1.0.2" +version = "1.0.3" dependencies = [ "anyhow", "const_format", @@ -3001,7 +3068,7 @@ dependencies = [ "proxmox-time", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.18", "ureq", ] @@ -3014,9 +3081,20 @@ dependencies = [ "proxmox-sys", ] +[[package]] +name = "proxmox-rate-limiter" +version = "1.0.0" +dependencies = [ + "anyhow", + "hyper", + "nix 0.29.0", + "proxmox-shared-memory", + "proxmox-sys", +] + [[package]] name = "proxmox-rest-server" -version = "1.0.1" +version = "1.0.5" dependencies = [ "anyhow", "futures", @@ -3036,6 +3114,8 @@ dependencies = [ "proxmox-http", "proxmox-lang", "proxmox-log", + "proxmox-network-types", + "proxmox-rate-limiter", "proxmox-router", "proxmox-schema", "proxmox-sys", @@ -3089,7 +3169,7 @@ dependencies = [ [[package]] name = "proxmox-router" -version = "3.2.2" +version = "3.2.4" dependencies = [ "anyhow", "bytes", @@ -3108,12 +3188,12 @@ dependencies = [ "serde", "serde_json", "serde_plain", - "unicode-width 0.1.14", + "unicode-width 0.2.2", ] [[package]] name = "proxmox-rrd" -version = "1.0.0" +version = "1.0.2" dependencies = [ "anyhow", "bitflags", @@ -3131,7 +3211,7 @@ dependencies = [ [[package]] name = "proxmox-rrd-api-types" -version = "1.1.0" +version = "1.1.1" dependencies = [ "proxmox-schema", "serde", @@ -3140,7 +3220,7 @@ dependencies = [ [[package]] name = "proxmox-s3-client" -version = "1.2.0" +version = "1.2.5" dependencies = [ "anyhow", "bytes", @@ -3152,9 +3232,12 @@ dependencies = [ "hyper-util", "iso8601", "md5", + "nix 0.29.0", "openssl", "proxmox-base64", "proxmox-http", + "proxmox-human-byte", + "proxmox-rate-limiter", "proxmox-schema", "proxmox-serde", "proxmox-time", @@ -3171,7 +3254,7 @@ dependencies = [ [[package]] name = "proxmox-schema" -version = "4.1.1" +version = "5.0.1" dependencies = [ "anyhow", "const_format", @@ -3186,7 +3269,7 @@ dependencies = [ [[package]] name = "proxmox-section-config" -version = "3.1.0" +version = "3.1.1" dependencies = [ "anyhow", "hex", @@ -3198,7 +3281,7 @@ dependencies = [ [[package]] name = "proxmox-sendmail" -version = "1.0.0" +version = "1.0.1" dependencies = [ "anyhow", "percent-encoding", @@ -3208,7 +3291,7 @@ dependencies = [ [[package]] name = "proxmox-serde" -version = "1.0.0" +version = "1.0.1" dependencies = [ "anyhow", "proxmox-base64", @@ -3242,14 +3325,14 @@ dependencies = [ name = "proxmox-sortable-macro" version = "1.0.0" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "proxmox-subscription" -version = "1.0.0" +version = "1.0.1" dependencies = [ "anyhow", "hex", @@ -3291,7 +3374,7 @@ dependencies = [ [[package]] name = "proxmox-tfa" -version = "6.0.3" +version = "6.0.4" dependencies = [ "anyhow", "base32", @@ -3323,6 +3406,18 @@ dependencies = [ "nom 7.1.3", ] +[[package]] +name = "proxmox-upgrade-checks" +version = "1.0.1" +dependencies = [ + "anyhow", + "const_format", + "proxmox-apt", + "proxmox-apt-api-types", + "regex", + "termcolor", +] + [[package]] name = "proxmox-uuid" version = "1.1.0" @@ -3340,10 +3435,11 @@ dependencies = [ [[package]] name = "psm" -version = "0.1.26" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e944464ec8536cd1beb0bbfd96987eb5e3b72f2ecdafdc5c769a37f1fa2ae1f" +checksum = "3852766467df634d74f0b2d7819bf8dc483a0eb2e3b0f50f756f9cfe8b0d18d8" dependencies = [ + "ar_archive_writer", "cc", ] @@ -3400,11 +3496,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.40" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" dependencies = [ - "proc-macro2 1.0.101", + "proc-macro2 1.0.106", ] [[package]] @@ -3436,8 +3532,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.5", ] [[package]] @@ -3447,7 +3553,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.5", ] [[package]] @@ -3456,43 +3572,61 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", ] [[package]] name = "redox_syscall" -version = "0.5.17" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" +checksum = "35985aa610addc02e24fc232012c86fd11f14111180f902b67e2d5331f8ebf2b" dependencies = [ "bitflags", ] [[package]] name = "ref-cast" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "regex" -version = "1.11.2" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", @@ -3502,9 +3636,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.10" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", @@ -3513,15 +3647,15 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.6" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" [[package]] name = "resolv-conf" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" +checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "rfc6979" @@ -3547,9 +3681,9 @@ dependencies = [ [[package]] name = "rsa" -version = "0.9.8" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" dependencies = [ "const-oid", "digest", @@ -3558,19 +3692,13 @@ dependencies = [ "num-traits", "pkcs1", "pkcs8", - "rand_core", + "rand_core 0.6.4", "signature", "spki", "subtle", "zeroize", ] -[[package]] -name = "rustc-demangle" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" - [[package]] name = "rustc_version" version = "0.4.1" @@ -3591,31 +3719,22 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.8" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys", - "windows-sys 0.60.2", -] - -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", + "windows-sys 0.61.2", ] [[package]] name = "rustls-pki-types" -version = "1.12.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" dependencies = [ "zeroize", ] @@ -3648,12 +3767,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - [[package]] name = "same-file" version = "1.0.6" @@ -3665,11 +3778,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -3686,9 +3799,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.0.4" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" +checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" dependencies = [ "dyn-clone", "ref-cast", @@ -3718,9 +3831,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ "bitflags", "core-foundation", @@ -3731,9 +3844,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.14.0" +version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ "core-foundation-sys", "libc", @@ -3741,16 +3854,17 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -3782,51 +3896,62 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" dependencies = [ - "half", + "half 1.8.3", "serde", ] [[package]] name = "serde_cbor_2" -version = "0.12.0-dev" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46d75f449e01f1eddbe9b00f432d616fbbd899b809c837d0fbc380496a0dd55" +checksum = "34aec2709de9078e077090abd848e967abab63c9fb3fdb5d4799ad359d8d482c" dependencies = [ - "half", + "half 2.7.1", "serde", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "serde_json" -version = "1.0.143" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] name = "serde_path_to_error" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" dependencies = [ "itoa", "serde", + "serde_core", ] [[package]] @@ -3840,19 +3965,18 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.14.0" +version = "3.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" +checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.11.0", + "indexmap 2.13.0", "schemars 0.9.0", - "schemars 1.0.4", - "serde", - "serde_derive", + "schemars 1.2.1", + "serde_core", "serde_json", "serde_with_macros", "time", @@ -3860,14 +3984,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.14.0" +version = "3.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" +checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" dependencies = [ "darling", - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] @@ -3898,10 +4022,11 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.6" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] @@ -3912,20 +4037,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest", - "rand_core", + "rand_core 0.6.4", ] +[[package]] +name = "simd-adler32" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" + [[package]] name = "siphasher" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] name = "slab" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" @@ -3951,12 +4082,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -3977,15 +4108,15 @@ dependencies = [ [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stacker" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cddb07e32ddb770749da91081d8d0ac3a16f1a569a18b20348cd371f5dead06b" +checksum = "08d74a23609d509411d10e2176dc2a4346e3b4aea2e7b1869f19fdedbc71c013" dependencies = [ "cc", "cfg-if", @@ -4019,12 +4150,12 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.106" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", + "proc-macro2 1.0.106", + "quote 1.0.44", "unicode-ident", ] @@ -4043,9 +4174,9 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] @@ -4074,15 +4205,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.21.0" +version = "3.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" +checksum = "0136791f7c95b1f6dd99f9cc786b91bb81c3800b639b3478e561ddb7be95e5f1" dependencies = [ "fastrand", - "getrandom 0.3.3", + "getrandom 0.4.1", "once_cell", "rustix", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -4102,7 +4233,7 @@ checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" dependencies = [ "smawk", "unicode-linebreak", - "unicode-width 0.2.1", + "unicode-width 0.2.2", ] [[package]] @@ -4116,11 +4247,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.16" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.16", + "thiserror-impl 2.0.18", ] [[package]] @@ -4129,20 +4260,20 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "thiserror-impl" -version = "2.0.16" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] @@ -4156,31 +4287,32 @@ dependencies = [ [[package]] name = "time" -version = "0.3.43" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", + "itoa", "libc", "num-conv", "num_threads", "powerfmt", - "serde", + "serde_core", "time-core", "time-macros", ] [[package]] name = "time-core" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-macros" -version = "0.2.24" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" dependencies = [ "num-conv", "time-core", @@ -4188,9 +4320,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "zerovec", @@ -4213,33 +4345,30 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.47.1" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" dependencies = [ - "backtrace", "bytes", - "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", - "slab", - "socket2 0.6.0", + "socket2 0.6.2", "tokio-macros", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] @@ -4265,9 +4394,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", @@ -4276,9 +4405,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.16" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", @@ -4296,9 +4425,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -4307,20 +4436,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "tracing-core" -version = "0.1.34" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -4328,9 +4457,9 @@ dependencies = [ [[package]] name = "tracing-journald" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0b4143302cf1022dac868d521e36e8b27691f72c84b3311750d5188ebba657" +checksum = "2d3a81ed245bfb62592b1e2bc153e77656d94ee6a0497683a65a12ccaf2438d0" dependencies = [ "libc", "tracing-core", @@ -4350,9 +4479,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.20" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" +checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" dependencies = [ "nu-ansi-term", "sharded-slab", @@ -4370,9 +4499,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typenum" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "ucd-trie" @@ -4394,9 +4523,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-linebreak" @@ -4418,9 +4547,9 @@ checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-width" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] name = "unicode-xid" @@ -4436,9 +4565,9 @@ checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "ureq" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00432f493971db5d8e47a65aeb3b02f8226b9b11f1450ff86bb772776ebadd70" +checksum = "fdc97a28575b85cfedf2a7e7d3cc64b3e11bd8ac766666318003abbacc7a21fc" dependencies = [ "base64 0.22.1", "der", @@ -4446,7 +4575,6 @@ dependencies = [ "log", "native-tls", "percent-encoding", - "rustls-pemfile", "rustls-pki-types", "ureq-proto", "utf-8", @@ -4455,9 +4583,9 @@ dependencies = [ [[package]] name = "ureq-proto" -version = "0.5.1" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe120bb823a0061680e66e9075942fcdba06d46551548c2c259766b9558bc9a" +checksum = "d81f9efa9df032be5934a46a068815a10a042b494b6a58cb0a1a97bb5467ed6f" dependencies = [ "base64 0.22.1", "http", @@ -4467,14 +4595,15 @@ dependencies = [ [[package]] name = "url" -version = "2.5.7" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", "serde", + "serde_derive", ] [[package]] @@ -4497,13 +4626,13 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.18.1" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.4.1", "js-sys", - "serde", + "serde_core", "wasm-bindgen", ] @@ -4551,77 +4680,107 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasi" -version = "0.14.3+wasi-0.2.4" +name = "wasip2" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" dependencies = [ "wit-bindgen", ] [[package]] -name = "wasm-bindgen" -version = "0.2.100" +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", + "wit-bindgen", ] [[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" +name = "wasm-bindgen" +version = "0.2.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +checksum = "ec1adf1535672f5b7824f817792b1afd731d7e843d2d04ec8f27e8cb51edd8ac" dependencies = [ - "bumpalo", - "log", - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "19e638317c08b21663aed4d2b9a2091450548954695ff4efa75bff5fa546b3b1" dependencies = [ - "quote 1.0.40", + "quote 1.0.44", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "2c64760850114d03d5f65457e96fc988f11f01d38fbaa51b254e4ab5809102af" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", - "wasm-bindgen-backend", + "bumpalo", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "60eecd4fe26177cfa3339eb00b4a36445889ba3ad37080c2429879718e20ca41" dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap 2.13.0", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap 2.13.0", + "semver", +] + [[package]] name = "webauthn-attestation-ca" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "384e43534efe4e8f56c4eb1615a27e24d2ff29281385c843cf9f16ac1077dbdc" +checksum = "fafcf13f7dc1fb292ed4aea22cdd3757c285d7559e9748950ee390249da4da6b" dependencies = [ "base64urlsafedata", "openssl", @@ -4633,9 +4792,9 @@ dependencies = [ [[package]] name = "webauthn-rs" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed1f861a94557baeb0cf711e3e55d623c46b68f4aab7aa932562f785b8b5f1ab" +checksum = "1b24d082d3360258fefb6ffe56123beef7d6868c765c779f97b7a2fcf06727f8" dependencies = [ "base64urlsafedata", "serde", @@ -4647,9 +4806,9 @@ dependencies = [ [[package]] name = "webauthn-rs-core" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "269c210cd5f183aaca860bb5733187d1dd110ebed54640f8fc1aca31a04aa4dc" +checksum = "15784340a24c170ce60567282fb956a0938742dbfbf9eff5df793a686a009b8b" dependencies = [ "base64 0.21.7", "base64urlsafedata", @@ -4658,8 +4817,8 @@ dependencies = [ "nom 7.1.3", "openssl", "openssl-sys", - "rand", - "rand_chacha", + "rand 0.9.2", + "rand_chacha 0.9.0", "serde", "serde_cbor_2", "serde_json", @@ -4674,9 +4833,9 @@ dependencies = [ [[package]] name = "webauthn-rs-proto" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "144dbee9abb4bfad78fd283a2613f0312a0ed5955051b7864cfc98679112ae60" +checksum = "16a1fb2580ce73baa42d3011a24de2ceab0d428de1879ece06e02e8c416e497c" dependencies = [ "base64 0.21.7", "base64urlsafedata", @@ -4687,18 +4846,18 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.2" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4ffd8df1c57e87c325000a3d6ef93db75279dc3a231125aac571650f22b12a" +checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" dependencies = [ "rustls-pki-types", ] [[package]] name = "widestring" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d" +checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" [[package]] name = "winapi" @@ -4718,11 +4877,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -4733,9 +4892,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.61.2" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ "windows-implement", "windows-interface", @@ -4746,46 +4905,46 @@ dependencies = [ [[package]] name = "windows-implement" -version = "0.60.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "windows-interface" -version = "0.59.1" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] name = "windows-link" -version = "0.1.3" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-result" -version = "0.3.4" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ "windows-link", ] [[package]] name = "windows-strings" -version = "0.4.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ "windows-link", ] @@ -4823,7 +4982,16 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.53.3", + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", ] [[package]] @@ -4859,19 +5027,19 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.3" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ "windows-link", - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", ] [[package]] @@ -4888,9 +5056,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" [[package]] name = "windows_aarch64_msvc" @@ -4906,9 +5074,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" [[package]] name = "windows_i686_gnu" @@ -4924,9 +5092,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" [[package]] name = "windows_i686_gnullvm" @@ -4936,9 +5104,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" [[package]] name = "windows_i686_msvc" @@ -4954,9 +5122,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" [[package]] name = "windows_x86_64_gnu" @@ -4972,9 +5140,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" [[package]] name = "windows_x86_64_gnullvm" @@ -4990,9 +5158,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" [[package]] name = "windows_x86_64_msvc" @@ -5008,9 +5176,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winreg" @@ -5024,15 +5192,97 @@ dependencies = [ [[package]] name = "wit-bindgen" -version = "0.45.0" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap 2.13.0", + "prettyplease", + "syn 2.0.117", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags", + "indexmap 2.13.0", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.13.0", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid 0.2.6", + "wasmparser", +] [[package]] name = "writeable" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "x509-parser" @@ -5053,9 +5303,9 @@ dependencies = [ [[package]] name = "xattr" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909" +checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", "rustix", @@ -5069,17 +5319,16 @@ checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546" [[package]] name = "xml-rs" -version = "0.8.27" +version = "0.8.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" +checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" [[package]] name = "yoke" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -5087,34 +5336,34 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.26" +version = "0.8.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +checksum = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.26" +version = "0.8.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] [[package]] @@ -5132,23 +5381,23 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", "synstructure", ] [[package]] name = "zeroize" -version = "1.8.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" [[package]] name = "zerotrie" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ "displaydoc", "yoke", @@ -5157,9 +5406,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ "yoke", "zerofrom", @@ -5168,15 +5417,21 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ - "proc-macro2 1.0.101", - "quote 1.0.40", - "syn 2.0.106", + "proc-macro2 1.0.106", + "quote 1.0.44", + "syn 2.0.117", ] +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + [[package]] name = "zstd" version = "0.13.3" @@ -5197,9 +5452,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.15+zstd.1.5.7" +version = "2.0.16+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" dependencies = [ "cc", "pkg-config", diff --git a/pkgs/by-name/pr/proxmox-backup-client/package.nix b/pkgs/by-name/pr/proxmox-backup-client/package.nix index 1ba669faae8b6..0a60514780100 100644 --- a/pkgs/by-name/pr/proxmox-backup-client/package.nix +++ b/pkgs/by-name/pr/proxmox-backup-client/package.nix @@ -14,27 +14,27 @@ let pname = "proxmox-backup-client"; - version = "4.0.14"; + version = "4.1.4"; proxmox-backup_src = fetchgit { url = "git://git.proxmox.com/git/proxmox-backup.git"; - rev = "8b1b5f8e4d8216a0c45146b426dbfaff01ac0068"; + rev = "0de679b244377f9193993698b875636bab58d678"; name = "proxmox-backup"; - hash = "sha256-aLiGJcCsHI4QFfMwgmQsXWabRyQ829itNsIDcaVW4FA="; + hash = "sha256-7OGmKNcg7rq0oxPMk5XFuOvueABUC6334lpH8uG4tSQ="; }; proxmox_src = fetchgit { url = "git://git.proxmox.com/git/proxmox.git"; - rev = "56c4deb6309c41ff5afa5765b112be967c653857"; + rev = "407d1e05197bf0e5bec47bf8a56f69ce2a63c1ec"; name = "proxmox"; - hash = "sha256-mkGvfWWis1W8xBLb8Da/uIauPEMKPosPdZ+UcgMrvkk="; + hash = "sha256-E7y4au5x8HcFcABiRV1ESb9SvpjyhSBzlxIn94CMbeI="; }; proxmox-fuse_src = fetchgit { url = "git://git.proxmox.com/git/proxmox-fuse.git"; - rev = "87dbf9bfef9169286263bccffaae3206635ca108"; # 1.0.0 + rev = "506314563706b0bcd95f99ebedc9b2d1c5532cc4"; # 2.0.0 name = "proxmox-fuse"; - hash = "sha256-/8Xy6LTql3gHfHuxT0lK5mhLGc58YAb1W+eyusmEP8Y="; + hash = "sha256-QVr6ylGaGOpkmidq8TtEB4b/oInGIcufHMBB0XwzbPw="; }; proxmox-pxar_src = fetchgit { @@ -82,7 +82,6 @@ rustPlatform.buildRustPackage { rm .cargo/config.toml (cd ../pxar && chmod -R u+w . && patch -p1 <${./0003-decoder-fix-autoref-error-in-pointer-to-reference-co.patch}) - (cd ../proxmox && chmod -R u+w . && patch -p1 <${./0004-pbs-api-types-crypto-fix-autoref-error-in-ptr-to-ref.patch}) # avoid some unnecessary dependencies, stemming from greedy linkage by rustc # see also upstream Makefile for similar workaround diff --git a/pkgs/by-name/pr/proxyman/package.nix b/pkgs/by-name/pr/proxyman/package.nix index 6762298d7b3f3..5a330cd06ce1d 100644 --- a/pkgs/by-name/pr/proxyman/package.nix +++ b/pkgs/by-name/pr/proxyman/package.nix @@ -6,11 +6,11 @@ }: let pname = "proxyman"; - version = "3.7.0"; + version = "3.9.0"; src = fetchurl { url = "https://github.com/ProxymanApp/proxyman-windows-linux/releases/download/${version}/Proxyman-${version}.AppImage"; - hash = "sha256-ntOIFvt4XwcmE4QloGD1KfbTpehpO/3SjTciMSKoWIs="; + hash = "sha256-hv0TYlCHoiWrMRLcPrruI09SC24Pafo9B5kkUpFDyKI="; }; appimageContents = appimageTools.extract { diff --git a/pkgs/by-name/ps/pstree/package.nix b/pkgs/by-name/ps/pstree/package.nix index e48e06e946433..9ab45b6460845 100644 --- a/pkgs/by-name/ps/pstree/package.nix +++ b/pkgs/by-name/ps/pstree/package.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { description = "Show the set of running processes as a tree"; homepage = "http://www.thp.uni-duisburg.de/pstree/"; license = lib.licenses.gpl2; - maintainers = [ lib.maintainers.c0bw3b ]; + maintainers = [ ]; platforms = lib.platforms.unix; priority = 5; # Lower than psmisc also providing pstree on Linux platforms mainProgram = "pstree"; diff --git a/pkgs/by-name/pu/publicsuffix-list/package.nix b/pkgs/by-name/pu/publicsuffix-list/package.nix index bdfb3b97e38e2..2dec4a7efbda0 100644 --- a/pkgs/by-name/pu/publicsuffix-list/package.nix +++ b/pkgs/by-name/pu/publicsuffix-list/package.nix @@ -33,6 +33,6 @@ stdenvNoCC.mkDerivation { description = "Cross-vendor public domain suffix database"; platforms = lib.platforms.all; license = lib.licenses.mpl20; - maintainers = [ lib.maintainers.c0bw3b ]; + maintainers = [ ]; }; } diff --git a/pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch b/pkgs/by-name/pu/pulseaudio/add-option-for-installation-sysconfdir.patch similarity index 100% rename from pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch rename to pkgs/by-name/pu/pulseaudio/add-option-for-installation-sysconfdir.patch diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/by-name/pu/pulseaudio/package.nix similarity index 99% rename from pkgs/servers/pulseaudio/default.nix rename to pkgs/by-name/pu/pulseaudio/package.nix index f0cb92c526846..16446fd215975 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/by-name/pu/pulseaudio/package.nix @@ -287,7 +287,7 @@ stdenv.mkDerivation rec { description = "Sound server for POSIX and Win32 systems"; homepage = "http://www.pulseaudio.org/"; license = lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1089 diff --git a/pkgs/by-name/pu/pulumi-bin/data.nix b/pkgs/by-name/pu/pulumi-bin/data.nix index 8748307051293..04b7270b205fe 100644 --- a/pkgs/by-name/pu/pulumi-bin/data.nix +++ b/pkgs/by-name/pu/pulumi-bin/data.nix @@ -1,12 +1,12 @@ # DO NOT EDIT! This file is generated automatically by update.sh { }: { - version = "3.221.0"; + version = "3.223.0"; pulumiPkgs = { x86_64-linux = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.221.0-linux-x64.tar.gz"; - sha256 = "1bdrblxcyai88a52qw2zq998ar0yl3fk83l7b7w98gqmnj8nywzy"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.223.0-linux-x64.tar.gz"; + sha256 = "06fm70avgy6y4qigbp8gmzxng7pmnfr7vr602b9826d72yd4i5s2"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.49.0-linux-amd64.tar.gz"; @@ -25,12 +25,12 @@ sha256 = "1zwi4h5kj4ncxzphdsbh5yg48wq4m65kjmyhrkv0jii99nfqn3l7"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.37.1-linux-amd64.tar.gz"; - sha256 = "12gl7cgxdwwzr0i9ri39yg5bz564xrfpnnyj57drixv9hxzi7f6n"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.38.0-linux-amd64.tar.gz"; + sha256 = "13jsxvjzhhx7zrnx93drh7sych1sh173fl5wa05hxzc18vl29g81"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.18.0-linux-amd64.tar.gz"; - sha256 = "0rrmb74x3nh5x4ikqbq3y2kn4g9mn3wdjn1wbikd3jfyj4k38w9w"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.20.0-linux-amd64.tar.gz"; + sha256 = "1qmcqb431cljxcnj7jdhly7zhkwm55v8y8h79k7pzbk1g2jys08a"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.8.0-linux-amd64.tar.gz"; @@ -53,12 +53,12 @@ sha256 = "10gb3f4j76vf01ng6bpvvhcs78z5bajil7bgqv2hgh6x834gdwpm"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.66.0-linux-amd64.tar.gz"; - sha256 = "1k0ssdiby049ycl0q2bym94vx3apnxqkay61iyv3b0ssh6447zp0"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.67.0-linux-amd64.tar.gz"; + sha256 = "01w53wi3941yxrf8zj593qq34cr9phjk3s203rs2nckzz39zbf6r"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.58.0-linux-amd64.tar.gz"; - sha256 = "0v533qvfsibdmw17p0byk1xcl290kljryd6fd6j0mkg3gyw7gbx0"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.59.0-linux-amd64.tar.gz"; + sha256 = "0h57m3chidb45yz75aj0rpcy332imik2lq4c665wj044dpssih3c"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.11.0-linux-amd64.tar.gz"; @@ -81,8 +81,8 @@ sha256 = "1034nn6npg84frva90fj5fi1mz3ir7blcnkgffsh4vjcbgki6xix"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.8.2-linux-amd64.tar.gz"; - sha256 = "14g617h0mp07kp27r73afymzhl02pmdk946dj03g82vdszh6a1s1"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.9.0-linux-amd64.tar.gz"; + sha256 = "07rrbagwp0hl9ngz3r320j44vfgzbw1l28hywyh8pk7ip48hzclq"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-amd64.tar.gz"; @@ -93,8 +93,8 @@ sha256 = "19k79m8dhkiy4x4rs6dq4zkfczjsnmc0mvbh57b5l52imsv7ks7m"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.25.0-linux-amd64.tar.gz"; - sha256 = "1c3l6wgmc5rrsif9cy6rgkyh2j4gin90klf42w84s3502qydb8vf"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.26.0-linux-amd64.tar.gz"; + sha256 = "1961iwichi9zrxp9vjk4f4l9p35r0i99m0b47kyz14c1ban9s9ns"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.7.0-linux-amd64.tar.gz"; @@ -133,8 +133,8 @@ sha256 = "0pppwgwl726rfy92fnya9afj3cciw13vzs9r60w2477i3250slqj"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.26.0-linux-amd64.tar.gz"; - sha256 = "1xkfb5abw6symkhjby0mbv4br2wnn9wzf6k9fizc4p4jl069ynfi"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.27.0-linux-amd64.tar.gz"; + sha256 = "1xjmxigqak7f31g7hi9ljjw047ymgrkaap4nvi5lzkk37fmj8lk1"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.3.0-linux-amd64.tar.gz"; @@ -163,8 +163,8 @@ ]; x86_64-darwin = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.221.0-darwin-x64.tar.gz"; - sha256 = "0szvz9wwvr6ijv45sbmkxawnbyph8pknnly99bf909ra3kr5y9vc"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.223.0-darwin-x64.tar.gz"; + sha256 = "1p90qnr6a5ik1ylpkyz7c4qcm4xgw29nwsljniiygr6vda7c3ijl"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.49.0-darwin-amd64.tar.gz"; @@ -183,12 +183,12 @@ sha256 = "09yv8i5hlivgm3fm3a8s0xaapwz2pxayfj20vbjv1bpf4ckgin7a"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.37.1-darwin-amd64.tar.gz"; - sha256 = "1y75frbsywphs0a63r6va871mz9mlmfd90isafd4i76b3wsbd9dr"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.38.0-darwin-amd64.tar.gz"; + sha256 = "06yyr3zaj29mhvfsf4fgwip53mk28hrh73va32vkxvry6hn2hmjr"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.18.0-darwin-amd64.tar.gz"; - sha256 = "1ivlpcpxg3rq2b50j4jsx2gw6rmj9vp13syl7ibi85lk23fg9g20"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.20.0-darwin-amd64.tar.gz"; + sha256 = "05x8nc23i42yd86kid1fca6k6fd8nwiv9yh30wnmmia8xsvmvjdz"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.8.0-darwin-amd64.tar.gz"; @@ -211,12 +211,12 @@ sha256 = "1h6f2wk1jp7m5xrw0imcpih4awlx82qifl1ih4w6636rzz89q64f"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.66.0-darwin-amd64.tar.gz"; - sha256 = "0bj5mb05sakzmar8g5bymamfyixkdl99ccw4xglb4syxhv97cp91"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.67.0-darwin-amd64.tar.gz"; + sha256 = "0bfqgqnmacdq67vcr30h49v8hyaff2j5y29a0xmx980kwai3q4gp"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.58.0-darwin-amd64.tar.gz"; - sha256 = "12pr6haz9s304aws4id4csvalh2ifqack5mp7lz3l2f8gy6aa4xb"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.59.0-darwin-amd64.tar.gz"; + sha256 = "1304115gx3ra4gmnpr3aybvl9ins4iz1gbg33hy6kwjid2vx67mq"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.11.0-darwin-amd64.tar.gz"; @@ -239,8 +239,8 @@ sha256 = "15yk1v96q0gnd01hdbqp2vfdvw1fvv310kghafmw3imbdb942nr2"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.8.2-darwin-amd64.tar.gz"; - sha256 = "0gr0wvkdk05hdbjk08vxsf1c1p9ijrz6pvd5j49sv1lp081ks6y1"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.9.0-darwin-amd64.tar.gz"; + sha256 = "1snw3dynjqwrhhqw7za18f6jkps0zyly65wgn17lz21h4l4ikkv1"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-amd64.tar.gz"; @@ -251,8 +251,8 @@ sha256 = "04rmlydspvgbcgn7qd9sk0bd70axz2rmpiydfw383352bxrinlvs"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.25.0-darwin-amd64.tar.gz"; - sha256 = "1ws77pb53argxz9arlk3qab7770lf6saya5kq90nzfr56ppzppz5"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.26.0-darwin-amd64.tar.gz"; + sha256 = "0vmk45isvikznm98w2hgnm3kzxb1a7zh1gbhgn4aia7afas7ksbf"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.7.0-darwin-amd64.tar.gz"; @@ -291,8 +291,8 @@ sha256 = "1jpcyp3lqiz4aab331x7shhqxzp4m6nz68vhkyqksvdplzr9rj44"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.26.0-darwin-amd64.tar.gz"; - sha256 = "136ys8y70c6i5i8gsis82qy6vcq27abqgnhilqs5j1abv75lvdsr"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.27.0-darwin-amd64.tar.gz"; + sha256 = "1ia6nvcgcwm2263yyyka65f0ja741z1bw6xvf6a0f6fkwkavkbk5"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.3.0-darwin-amd64.tar.gz"; @@ -321,8 +321,8 @@ ]; aarch64-linux = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.221.0-linux-arm64.tar.gz"; - sha256 = "0dvsymd37g9vxli5mzh9fy3kzi7yaq5qcd343zys87c5idx0gbxs"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.223.0-linux-arm64.tar.gz"; + sha256 = "1gqplfswd8l9hka6lr9s562d5s1q1w67nadk3308mpv841ggrxfm"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.49.0-linux-arm64.tar.gz"; @@ -341,12 +341,12 @@ sha256 = "0bnai1xlbf465ilhnl7pgjh3gyqh34f96z4nw5m0g04913dij05j"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.37.1-linux-arm64.tar.gz"; - sha256 = "05bqxjjdjbs0nfv0h3ai0y30lib2wbiqmzv5ci9ppqpc6fvxmhi8"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.38.0-linux-arm64.tar.gz"; + sha256 = "1qinsdjkiy80x8mssg5crlzz0vqgpyl3mr286048y8q0a2jifkkv"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.18.0-linux-arm64.tar.gz"; - sha256 = "12hkc3qkbf4svvb7f96khjxsajk8gbba0cn70b99y6n0j796cav0"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.20.0-linux-arm64.tar.gz"; + sha256 = "09f3p9gghp31idc1bcf0igbsp2rl6lpaqvsm7f6aiccbifbd8j7k"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.8.0-linux-arm64.tar.gz"; @@ -369,12 +369,12 @@ sha256 = "1nzm06sqwkcvi3rsb1f6bmm2fargnz6jcak5h23mc3qazbn3wd00"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.66.0-linux-arm64.tar.gz"; - sha256 = "0wzfnvckhl1xq66j2kic3hzi1spvyz2mi2cj8rbhywilb429llhk"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.67.0-linux-arm64.tar.gz"; + sha256 = "1v7qi7fj3n8wwjqr8fqi6z491snapdr02qrs30ldm3i0hbp4i1v0"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.58.0-linux-arm64.tar.gz"; - sha256 = "107i65fd2j5f08bwzwdjjhdhvn7ghy64m63mzbjrqssawma0r3wc"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.59.0-linux-arm64.tar.gz"; + sha256 = "0bhq8bqclfmp5c5nafvnhavklyrja530s6093d8jly5k5x85zlsq"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.11.0-linux-arm64.tar.gz"; @@ -397,8 +397,8 @@ sha256 = "00957ilw2fiad51rgfzc06jb53i4rf3d3siga5kqnphpm93bq2yq"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.8.2-linux-arm64.tar.gz"; - sha256 = "1bdfp909v2hf17plyvc5pwkalj76npikwwh8kd344nc8pjinzxpr"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.9.0-linux-arm64.tar.gz"; + sha256 = "1ndl3mf46f841r1jb1qzpks666mfinr30a5c8qfcgp0a580hwgmx"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-arm64.tar.gz"; @@ -409,8 +409,8 @@ sha256 = "094pmichc66fnd38vfn4hb2dl3v88vqfx00smk0b19fdbrafcp5j"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.25.0-linux-arm64.tar.gz"; - sha256 = "0p3jl1z1kf1j4lkgqi150wffm00k65ia69as3bnzdgqlxm0049p4"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.26.0-linux-arm64.tar.gz"; + sha256 = "0jvp5m8s91rh3z2y5k8mahs0jzg24zskl93k2bq24rfvw223afrk"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.7.0-linux-arm64.tar.gz"; @@ -449,8 +449,8 @@ sha256 = "0glljz03v764n53n5l33ji64vj86ipdv5bkr03ijl8wrc22j5syy"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.26.0-linux-arm64.tar.gz"; - sha256 = "0ig8il3w4wczazp4drnfdjfha1yl85ga5hkxhnzi4cbrbmcmk8h2"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.27.0-linux-arm64.tar.gz"; + sha256 = "0y9jwwwr28j28da1lxq7p39csnab7g2b97vpfzgaxi327xbgs2zz"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.3.0-linux-arm64.tar.gz"; @@ -479,8 +479,8 @@ ]; aarch64-darwin = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v3.221.0-darwin-arm64.tar.gz"; - sha256 = "14k0q3q5mkni934gxrbg44hwhwy6knhzjk6hr6n0qi1i87r28c2d"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v3.223.0-darwin-arm64.tar.gz"; + sha256 = "0mkl5ygm08bqa1ikarr5achn6jx3qandh55gdh5s88sskcjx8b2i"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.49.0-darwin-arm64.tar.gz"; @@ -499,12 +499,12 @@ sha256 = "0f173h5sw4q9w3wswy7p7h2g692fds9m9zzrmim02riqshwgqwwm"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.37.1-darwin-arm64.tar.gz"; - sha256 = "1kfpyghkpa2hxpdh8ypx9mgdhjmssaavhsqp75wfkkglp9yz3f9q"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.38.0-darwin-arm64.tar.gz"; + sha256 = "0vgb5zvg5gpv3pfl6nz5wpzhiyy550s99qj80qs83gzlr5gl9xab"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.18.0-darwin-arm64.tar.gz"; - sha256 = "1ig3ij4h95701mi8488cql7kyx3i4kd7an9xinj0nm4gnn0dgibk"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v7.20.0-darwin-arm64.tar.gz"; + sha256 = "08jvdcwmb9vmqn642kalpk9paf7mym9dhqn12fc9jafzbvp4rjkd"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v6.8.0-darwin-arm64.tar.gz"; @@ -527,12 +527,12 @@ sha256 = "1mcl4lky4g12pp4y227mxjz6wdffmpwz2n5c7jx84xpjq0ww6hvr"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.66.0-darwin-arm64.tar.gz"; - sha256 = "0nw2mcn03mnrvlhc3ykf43im1nmnwc5c2707nqzl9fwxhm25dhc9"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.67.0-darwin-arm64.tar.gz"; + sha256 = "1n44iklwfpg57xl4032k03h1zhfqipp52pkyz9hh2rm10i5xjagq"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.58.0-darwin-arm64.tar.gz"; - sha256 = "08j85v5i4f5jj0kg816bhxc20br8a9i6hd3i1x0p7g7qvm7ypjvr"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.59.0-darwin-arm64.tar.gz"; + sha256 = "11zdrzj2jnfd8zsbvfw2wc5sivc29p9mp3sxg7w8qvvvy6v2ni80"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.11.0-darwin-arm64.tar.gz"; @@ -555,8 +555,8 @@ sha256 = "00vcz92fz9mvacfrpn0lv19kcrv69m3ni5s2kxqympgc77wcvpgb"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.8.2-darwin-arm64.tar.gz"; - sha256 = "1lj8dbjkaq3amz8dvmm1may0m8b2lwkdf52j8ik0mjk1m3p2v3pj"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v9.9.0-darwin-arm64.tar.gz"; + sha256 = "13m4293vddyv12bacx2qsnwmlqgmn40m55h9m6mn23zih4p17qjq"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-arm64.tar.gz"; @@ -567,8 +567,8 @@ sha256 = "150kg8brpsazpdd6laywwvbrjmzl4n3w7saf9vidiwsv01zpl90m"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.25.0-darwin-arm64.tar.gz"; - sha256 = "14cd92fxrhbnqv4r6pxqvbbjd16928c1bsn7b56iirvvfsvjar2n"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.26.0-darwin-arm64.tar.gz"; + sha256 = "0117fga7gdr4ls5wnlqdxd7p74cg24kj38gdb897gb3passg29kb"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v5.7.0-darwin-arm64.tar.gz"; @@ -607,8 +607,8 @@ sha256 = "1c4pn5nr8d97n9bqd7vz9gzlbi50hnfjylwwch445ylqp5l8gvqf"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.26.0-darwin-arm64.tar.gz"; - sha256 = "03p6cwsq5h5kj19cxx7qifc8vn3zzkqz9dlq8dbki9pkhrmpyyg3"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.27.0-darwin-arm64.tar.gz"; + sha256 = "0wmpsw8lm83vlkxk2wyg0dj895yn9zi52qzjam0svcnz5xdhd31x"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.3.0-darwin-arm64.tar.gz"; diff --git a/pkgs/by-name/pw/pwsafe/package.nix b/pkgs/by-name/pw/pwsafe/package.nix index 5187b3bfc81b5..dedc0249bba70 100644 --- a/pkgs/by-name/pw/pwsafe/package.nix +++ b/pkgs/by-name/pw/pwsafe/package.nix @@ -111,7 +111,6 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://pwsafe.org/"; maintainers = with lib.maintainers; [ - c0bw3b pjones ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/py/pyzy/package.nix b/pkgs/by-name/py/pyzy/package.nix index 4d545d325c7a8..fdfac580ad865 100644 --- a/pkgs/by-name/py/pyzy/package.nix +++ b/pkgs/by-name/py/pyzy/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation { pname = "pyzy"; - version = "1.1-unstable-2023-02-28"; + version = "1.1-unstable-2026-02-28"; src = fetchFromGitHub { owner = "openSUSE"; repo = "pyzy"; - rev = "ec719d053bd491ec64fe68fe0d1699ca6039ad80"; - hash = "sha256-wU7EgP/CPNhBx9N7mOu0WdnoLazzpQtbRxmBKrTUbKM="; + rev = "5ac51d833777a881e80f0b23d704345cf0feb0d0"; + hash = "sha256-OiFdog34kjmgF2DCnA8LjlZseZPQ8iCYQD4HZKNnCVU="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/q/q/package.nix b/pkgs/by-name/q/q/package.nix index db1227f5f6125..8c2139b338548 100644 --- a/pkgs/by-name/q/q/package.nix +++ b/pkgs/by-name/q/q/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "q"; - version = "0.19.11"; + version = "0.19.12"; src = fetchFromGitHub { owner = "natesales"; repo = "q"; tag = "v${finalAttrs.version}"; - hash = "sha256-8/pUkkG43y07XQVrlrVuXtbXJw5ueokOFngWK6N7qHQ="; + hash = "sha256-0m6xcmnHh6qn2spcJxlcjdO4Fd2U0UZE/ZHMq6HXW3M="; }; - vendorHash = "sha256-4W0lS7qh3CCSbAtohc/1EbwdiO75tELTp1aBMyPeh/o="; + vendorHash = "sha256-gY3o5rkHLptrq7IEJ3AVhKY+PONJw6WC1yM3fu2ZB38="; ldflags = [ "-s" diff --git a/pkgs/by-name/qb/qbit-manage/package.nix b/pkgs/by-name/qb/qbit-manage/package.nix new file mode 100644 index 0000000000000..e3dc8f09d75f9 --- /dev/null +++ b/pkgs/by-name/qb/qbit-manage/package.nix @@ -0,0 +1,71 @@ +{ + lib, + fetchFromGitHub, + python3Packages, + testers, + nix-update-script, + qbit-manage, +}: +python3Packages.buildPythonApplication rec { + pname = "qbit-manage"; + version = "4.6.5"; + + src = fetchFromGitHub { + owner = "StuffAnThings"; + repo = "qbit_manage"; + tag = "v${version}"; + hash = "sha256-JCsbf2mPRhs7Mbekl946G/y/CSNSSvQBLvlwVy/Avcg="; + }; + + pyproject = true; + build-system = [ python3Packages.setuptools ]; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace "==" ">=" \ + --replace "bencodepy" "bencode.py" + ''; + + dependencies = with python3Packages; [ + argon2-cffi + bencode-py + croniter + fastapi + gitpython + humanize + pytimeparse2 + qbittorrent-api + requests + retrying + ruamel-yaml + slowapi + uvicorn + ]; + + pythonRelaxDeps = [ + "fastapi" + "gitpython" + "humanize" + "ruamel.yaml" + "uvicorn" + ]; + + passthru = { + updateScript = nix-update-script { }; + tests = { + version = testers.testVersion { + package = qbit-manage; + command = "env HOME=$TMPDIR qbit-manage --version"; + }; + }; + }; + + meta = { + description = "This tool will help manage tedious tasks in qBittorrent and automate them"; + homepage = "https://github.com/StuffAnThings/qbit_manage"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ flyingpeakock ]; + platforms = lib.platforms.all; + mainProgram = "qbit-manage"; + }; +} diff --git a/pkgs/by-name/qc/qcad/package.nix b/pkgs/by-name/qc/qcad/package.nix index 502bc3030932f..029d2da5f4a0b 100644 --- a/pkgs/by-name/qc/qcad/package.nix +++ b/pkgs/by-name/qc/qcad/package.nix @@ -79,8 +79,9 @@ stdenv.mkDerivation (finalAttrs: { install -Dm555 release/qcad-bin $out/bin/qcad '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - install -Dm555 release/QCAD.app/Contents/MacOS/QCAD $out/bin/qcad - mkdir -p $out/lib + mkdir -p $out/{Applications,bin,lib} + mv release/QCAD.app $out/Applications + ln -s $out/Applications/QCAD.app/Contents/MacOS/QCAD $out/bin/qcad '' + '' install -Dm555 -t $out/lib release/libspatialindexnavel${stdenv.hostPlatform.extensions.sharedLibrary} diff --git a/pkgs/by-name/qd/qdl/package.nix b/pkgs/by-name/qd/qdl/package.nix index 81b455613c75c..5e51f74c185b1 100644 --- a/pkgs/by-name/qd/qdl/package.nix +++ b/pkgs/by-name/qd/qdl/package.nix @@ -1,5 +1,4 @@ { - lib, stdenv, fetchFromGitHub, @@ -11,19 +10,15 @@ stdenv.mkDerivation (finalAttrs: { pname = "qdl"; - version = "2.4"; + version = "2.5"; src = fetchFromGitHub { owner = "linux-msm"; repo = "qdl"; tag = "v${finalAttrs.version}"; - hash = "sha256-8jkuSNK7xTBUkBWzh766zKOlh+7pTr+e0xT1w3xifsw="; + hash = "sha256-k6PMiKPwdV3eOFm9FEQPMbyN73DypAZ/UgwOR6aigHA="; }; - postPatch = '' - substituteInPlace Makefile --replace-fail 'pkg-config' '${stdenv.cc.targetPrefix}pkg-config' - ''; - nativeBuildInputs = [ pkg-config ]; buildInputs = [ libxml2 diff --git a/pkgs/by-name/qo/qobuz-player/package.nix b/pkgs/by-name/qo/qobuz-player/package.nix new file mode 100644 index 0000000000000..c193aaac22162 --- /dev/null +++ b/pkgs/by-name/qo/qobuz-player/package.nix @@ -0,0 +1,45 @@ +{ + alsa-lib, + fetchFromGitHub, + lib, + openssl, + pkg-config, + protobuf, + rustPlatform, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "qobuz-player"; + version = "0.7.1"; + + src = fetchFromGitHub { + owner = "SofusA"; + repo = "qobuz-player"; + tag = "v${finalAttrs.version}"; + hash = "sha256-LStCoBr3BblXRpuno+QKxyJstvrNmP+wub61491NkPY="; + }; + + cargoHash = "sha256-6fUwZkXurjV9yM2Mur0lAkgFxTAEmt92DFKzbPj3Vo4="; + + nativeBuildInputs = [ + pkg-config + protobuf + ]; + + buildInputs = [ + alsa-lib + openssl + ]; + + meta = { + description = "Tui, web and rfid player for Qobuz"; + homepage = "https://github.com/SofusA/qobuz-player"; + changelog = "https://github.com/SofusA/qobuz-player/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ + felixsinger + ]; + platforms = lib.platforms.linux; + mainProgram = "qobuz-player"; + }; +}) diff --git a/pkgs/by-name/qo/qoi/package.nix b/pkgs/by-name/qo/qoi/package.nix index 2bbce98bac03e..a0714cfdbb917 100644 --- a/pkgs/by-name/qo/qoi/package.nix +++ b/pkgs/by-name/qo/qoi/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "qoi"; - version = "0-unstable-2026-02-04"; # no upstream version yet. + version = "0-unstable-2026-02-14"; # no upstream version yet. src = fetchFromGitHub { owner = "phoboslab"; repo = "qoi"; - rev = "a2f3ab61bc1f3271aad699abc47653df36162bbc"; - hash = "sha256-NLvePFZGTWlY+fDInLqnLriUTyBfh0koHQwik917vQY="; + rev = "6fff9b70dd79b12f808b0acc5cb44fde9998725e"; + hash = "sha256-pw/lflPXLVdM/Qg685/nAlGt5bQC5WU6t496z6xWHx0="; }; patches = [ diff --git a/pkgs/servers/pulseaudio/qpaeq.nix b/pkgs/by-name/qp/qpaeq/package.nix similarity index 91% rename from pkgs/servers/pulseaudio/qpaeq.nix rename to pkgs/by-name/qp/qpaeq/package.nix index 85de713bcc547..1c382fc44a486 100644 --- a/pkgs/servers/pulseaudio/qpaeq.nix +++ b/pkgs/by-name/qp/qpaeq/package.nix @@ -1,10 +1,10 @@ { + lib, stdenv, - wrapQtAppsHook, + pulseaudio, makeDesktopItem, + qt5, python3, - lib, - pulseaudio, }: let @@ -26,17 +26,15 @@ stdenv.mkDerivation { pname = "qpaeq"; inherit (pulseaudio) version src; - nativeBuildInputs = [ wrapQtAppsHook ]; + nativeBuildInputs = [ qt5.wrapQtAppsHook ]; buildInputs = [ - (python3.withPackages ( ps: with ps; [ pyqt5 dbus-python ] )) - ]; dontBuild = true; @@ -60,7 +58,7 @@ stdenv.mkDerivation { mainProgram = "qpaeq"; homepage = "http://www.pulseaudio.org/"; license = lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/by-name/qq/qq/sources.nix b/pkgs/by-name/qq/qq/sources.nix index 1afa1d38ea6d3..8d718d30b8b5b 100644 --- a/pkgs/by-name/qq/qq/sources.nix +++ b/pkgs/by-name/qq/qq/sources.nix @@ -1,12 +1,12 @@ # Generated by ./update.sh - do not update manually! -# Last updated: 2026-01-09 +# Last updated: 2026-02-27 { fetchurl }: let any-darwin = { - version = "6.9.87-2026-01-08"; + version = "6.9.89-2026-02-05"; src = fetchurl { - url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Mac/QQ_6.9.87_260108_01.dmg"; - hash = "sha256-qsRJln44kpR9+muiKzqr0uZ8BEVpRbn/xc1IiQ+xyhk="; + url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Mac/QQ_6.9.89_260205_01.dmg"; + hash = "sha256-GXsZgj0hWNkR654G5GJ5eY0LqbrItjxn0pgdYke9Kak="; }; }; in @@ -14,17 +14,17 @@ in aarch64-darwin = any-darwin; x86_64-darwin = any-darwin; aarch64-linux = { - version = "3.2.23-2026-01-08"; + version = "3.2.25-2026-02-05"; src = fetchurl { - url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.23_260108_arm64_01.deb"; - hash = "sha256-hw7TwOQX6bs6AhwdVlGLwvu6gtHD4YcThPZKt+IZI/c="; + url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.25_260205_arm64_01.deb"; + hash = "sha256-auuTHb7WSS3EOyaeMJ4iTwcoUUHy4tVccnNqoxQZEhk="; }; }; x86_64-linux = { - version = "3.2.23-2026-01-08"; + version = "3.2.25-2026-02-05"; src = fetchurl { - url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.23_260108_amd64_01.deb"; - hash = "sha256-pCUnGcG+uK3ODaCev8MQzlDHnqVI9czkKVBXZdC/uoQ="; + url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.25_260205_amd64_01.deb"; + hash = "sha256-TVEHWd8lyfhcfj6E83XDaFq2L75wtNNI97osG6iCvuA="; }; }; } diff --git a/pkgs/by-name/qs/qsynth/package.nix b/pkgs/by-name/qs/qsynth/package.nix index 310ce39a45505..e5a8641791ce4 100644 --- a/pkgs/by-name/qs/qsynth/package.nix +++ b/pkgs/by-name/qs/qsynth/package.nix @@ -12,11 +12,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "qsynth"; - version = "1.0.3"; + version = "1.0.4"; src = fetchurl { url = "mirror://sourceforge/qsynth/qsynth-${finalAttrs.version}.tar.gz"; - hash = "sha256-z4l+Ku3oEQV3NunkogyxzaSKhFJuYhIxlExJsACcumY="; + hash = "sha256-nP08/Vzlf0WVSaPhCRgGqy/rsFRKH0OJfinvnx7tbww="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/qu/quantframe/0001-disable-telemetry.patch b/pkgs/by-name/qu/quantframe/0001-disable-telemetry.patch index e83e4e5c84c15..0224a866ad8ec 100644 --- a/pkgs/by-name/qu/quantframe/0001-disable-telemetry.patch +++ b/pkgs/by-name/qu/quantframe/0001-disable-telemetry.patch @@ -1,164 +1,95 @@ -diff --git a/src-tauri/src/qf_client/modules/analytics.rs b/src-tauri/src/qf_client/modules/analytics.rs -index f68e185..355723e 100644 ---- a/src-tauri/src/qf_client/modules/analytics.rs -+++ b/src-tauri/src/qf_client/modules/analytics.rs -@@ -37,7 +37,7 @@ impl AnalyticsModule { - current_page: "home".to_string(), - component: "Analytics".to_string(), - is_init: false, -- send_metrics: true, -+ send_metrics: false, - last_user_activity: Arc::new(Mutex::new(Instant::now())), - metricAndLabelPairsScheduledToSend: vec![], - } -@@ -77,90 +77,7 @@ impl AnalyticsModule { - } - pub fn init(&mut self) -> Result<(), AppError> { - let app = states::app_state()?; -- if self.is_init { -- return Ok(()); -- } -- self.is_init = true; -- self.update_state(); -- -- let is_first_install = app.is_first_install.clone(); -- tauri::async_runtime::spawn({ +diff --git a/src-tauri/qf_api/src/endpoints/analytics.rs b/src-tauri/qf_api/src/endpoints/analytics.rs +index b7ea6076..1476cfc1 100644 +--- a/src-tauri/qf_api/src/endpoints/analytics.rs ++++ b/src-tauri/qf_api/src/endpoints/analytics.rs +@@ -52,35 +52,7 @@ impl AnalyticsRoute { + + pub fn start(self: Arc) -> Result<(), ApiError> { + let mut stop = self._stop.lock().unwrap(); +- *stop = false; +- tokio::spawn({ +- let this = Arc::clone(&self); - async move { -- // Create a new instance of the QFClient and store it in the app state -- let qf = states::qf_client().expect("Failed to get qf client"); -- - // Create Timer for sending metrics - let mut last_metric_time = Instant::now(); -- -- if is_first_install { -- qf.analytics() -- .metricAndLabelPairsScheduledToSend -- .push(HashMap::from([( -- "First_Install".to_string(), -- "true".to_string(), -- )])); -- } - loop { -- let send_metrics = qf.analytics().send_metrics; -- if !send_metrics { -- tokio::time::sleep(std::time::Duration::from_secs(60)).await; -- continue; -- } -- -- if last_metric_time.elapsed() < Duration::from_secs(15) -- || !qf.analytics().is_user_active() -- { -- tokio::time::sleep(std::time::Duration::from_secs(5)).await; -- continue; +- if *this._stop.lock().unwrap() { +- break; - } -- -- if last_metric_time.elapsed() < Duration::from_secs(60) -- && !qf.analytics().is_user_active() -- { -- tokio::time::sleep(std::time::Duration::from_secs(5)).await; +- if last_metric_time.elapsed() < Duration::from_secs(30) || !this.is_active() { +- tokio::time::sleep(tokio::time::Duration::from_secs(5)).await; - continue; - } -- - last_metric_time = Instant::now(); -- // logger::info_con( -- // &qf.analytics().get_component("TrySendAnalytics"), -- // "Sending user activity", -- // ); -- match qf -- .analytics() -- .try_send_analytics( -- "users/metrics/periodic", -- 3, -- json!(qf.analytics().metricAndLabelPairsScheduledToSend), -- ) -- .await -- { +- +- match this.send_current_metrics().await { - Ok(_) => { -- qf.analytics().clear_metrics(); +- this._metrics.lock().unwrap().clear(); - } - Err(e) => { -- if e.cause().contains("Unauthorized") -- || e.cause().contains("Banned") -- || e.cause().contains("WFMBanned") -- { -- error::create_log_file("analytics.log", &e); -- break; -- } else if e.cause().contains("429") { -- logger::info( -- &qf.analytics().get_component("TrySendAnalytics"), -- "Rate limit reached, waiting for 60 seconds", -- LoggerOptions::default(), -- ); -- tokio::time::sleep(std::time::Duration::from_secs(60)).await; -- continue; -- } -- error::create_log_file("analytics.log", &e); +- eprintln!("Failed to send metrics: {}", e); - } - }; +- // Sleep for a while before checking again +- tokio::time::sleep(tokio::time::Duration::from_secs(5)).await; - } -- qf.analytics().is_init = false; - } - }); -+ self.is_init = false; ++ *stop = true; Ok(()) } - pub fn set_send_metrics(&mut self, send_metrics: bool) { -@@ -173,45 +90,6 @@ impl AnalyticsModule { + +@@ -100,40 +72,6 @@ impl AnalyticsRoute { mut retry_count: i64, data: Value, - ) -> Result<(), AppError> { -- let mut parameters: Vec = vec![]; -- if self.is_user_active() { -- parameters.push(format!("Active_Page={}", self.current_page)); -- } + ) -> Result<(), ApiError> { +- let client = self.client.upgrade().expect("Client should not be dropped"); - - while retry_count >= 0 { -- let err = match self -- .client -- .post::( -- format!("{}?{}", url, parameters.join("&")).as_str(), -- data.clone(), +- let err = match client +- .call_api::( +- Method::POST, +- format!("{}", url).as_str(), +- Some(data.clone()), +- None, +- ResponseFormat::Json, - ) - .await - { -- Ok(ApiResult::Success(_, _)) => { +- Ok(_) => { - return Ok(()); - } -- Ok(ApiResult::Error(e, _headers)) => AppError::new_api( -- &self.get_component("TrySendAnalytics"), -- e, -- eyre!("Failed to send analytics"), -- LogLevel::Error, -- ), - Err(e) => e, - }; +- if let ApiError::UserBanned(_) = &err { +- let mut stop = self._stop.lock().unwrap(); +- *stop = true; +- return Err(err); +- } +- - if retry_count == 0 { - return Err(err); - } - retry_count -= 1; -- logger::warning( -- &self.get_component("TrySendAnalytics"), -- &format!( -- "Failed to send analytics, retrying in 5 seconds, retries left: {}", -- retry_count -- ), -- LoggerOptions::default(), +- println!( +- "Retrying to send analytics data, attempts left: {}", +- retry_count - ); - tokio::time::sleep(std::time::Duration::from_secs(5)).await; - } Ok(()) } - } + diff --git a/src/contexts/app.context.tsx b/src/contexts/app.context.tsx -index 7897db9..1945ab9 100644 +index 673440d9..26d09d0b 100644 --- a/src/contexts/app.context.tsx +++ b/src/contexts/app.context.tsx -@@ -160,7 +160,7 @@ export function AppContextProvider({ children }: AppContextProviderProps) { - const id = context.substring(start, end); +@@ -124,7 +124,7 @@ export function AppContextProvider({ children }: AppContextProviderProps) { + const end = context.indexOf(""); + const id = context.substring(start, end); - console.log("OpenTos", settings?.tos_uuid, id); -- if (id == settings?.tos_uuid) return; -+ if (true) return; - modals.open({ - title: useTranslateModals("tos.title"), - size: "100%", +- if (id == info?.tos_uuid) return; ++ if (info || true) return; + const modalId = modals.open({ + title: useTranslateComponent("modals.tos.title", { version: id }), + withCloseButton: false, diff --git a/pkgs/by-name/qu/quantframe/0002-sync-node-packages.patch b/pkgs/by-name/qu/quantframe/0002-sync-node-packages.patch new file mode 100644 index 0000000000000..15c0aca513f97 --- /dev/null +++ b/pkgs/by-name/qu/quantframe/0002-sync-node-packages.patch @@ -0,0 +1,149 @@ +diff --git a/package.json b/package.json +index d2ca05f1..37693a7b 100644 +--- a/package.json ++++ b/package.json +@@ -25,11 +25,11 @@ + "@mantine/notifications": "8.3.8", + "@mantine/tiptap": "8.3.8", + "@tanstack/react-query": "^5.64.1", +- "@tauri-apps/api": "^2.0.0", ++ "@tauri-apps/api": "2.6.0", + "@tauri-apps/plugin-clipboard-manager": "^2.3.0", + "@tauri-apps/plugin-dialog": "~2", +- "@tauri-apps/plugin-fs": "~2", +- "@tauri-apps/plugin-http": "~2", ++ "@tauri-apps/plugin-fs": "2.3.0", ++ "@tauri-apps/plugin-http": "2.4.4", + "@tauri-apps/plugin-notification": "~2", + "@tauri-apps/plugin-os": "~2", + "@tauri-apps/plugin-process": "~2", +@@ -66,4 +66,4 @@ + "vite": "^4.5.0", + "vite-plugin-svgr": "^2.4.0" + } +-} +\ No newline at end of file ++} +diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml +index 531c77f5..dc542aca 100644 +--- a/pnpm-lock.yaml ++++ b/pnpm-lock.yaml +@@ -48,8 +48,8 @@ importers: + specifier: ^5.64.1 + version: 5.64.1(react@18.3.1) + '@tauri-apps/api': +- specifier: ^2.0.0 +- version: 2.0.0 ++ specifier: 2.6.0 ++ version: 2.6.0 + '@tauri-apps/plugin-clipboard-manager': + specifier: ^2.3.0 + version: 2.3.0 +@@ -57,11 +57,11 @@ importers: + specifier: ~2 + version: 2.2.0 + '@tauri-apps/plugin-fs': +- specifier: ~2 +- version: 2.2.0 ++ specifier: 2.3.0 ++ version: 2.3.0 + '@tauri-apps/plugin-http': +- specifier: ~2 +- version: 2.2.0 ++ specifier: 2.4.4 ++ version: 2.4.4 + '@tauri-apps/plugin-notification': + specifier: ~2 + version: 2.2.1 +@@ -767,11 +767,8 @@ packages: + peerDependencies: + react: ^18 || ^19 + +- '@tauri-apps/api@2.0.0': +- resolution: {integrity: sha512-moKgCp2EX7X5GiOx/G/bmoEpkFQVVmyS98UaJU4xUVzan+E1BdwlAKcbip+cGldshYOqL4JSwAEN1OkRXeug0Q==} +- +- '@tauri-apps/api@2.7.0': +- resolution: {integrity: sha512-v7fVE8jqBl8xJFOcBafDzXFc8FnicoH3j8o8DNNs0tHuEBmXUDqrCOAzMRX0UkfpwqZLqvrvK0GNQ45DfnoVDg==} ++ '@tauri-apps/api@2.6.0': ++ resolution: {integrity: sha512-hRNcdercfgpzgFrMXWwNDBN0B7vNzOzRepy6ZAmhxi5mDLVPNrTpo9MGg2tN/F7JRugj4d2aF7E1rtPXAHaetg==} + + '@tauri-apps/cli-darwin-arm64@2.2.5': + resolution: {integrity: sha512-qdPmypQE7qj62UJy3Wl/ccCJZwsv5gyBByOrAaG7u5c/PB3QSxhNPegice2k4EHeIuApaVJOoe/CEYVgm/og2Q==} +@@ -844,11 +841,11 @@ packages: + '@tauri-apps/plugin-dialog@2.2.0': + resolution: {integrity: sha512-6bLkYK68zyK31418AK5fNccCdVuRnNpbxquCl8IqgFByOgWFivbiIlvb79wpSXi0O+8k8RCSsIpOquebusRVSg==} + +- '@tauri-apps/plugin-fs@2.2.0': +- resolution: {integrity: sha512-+08mApuONKI8/sCNEZ6AR8vf5vI9DXD4YfrQ9NQmhRxYKMLVhRW164vdW5BSLmMpuevftpQ2FVoL9EFkfG9Z+g==} ++ '@tauri-apps/plugin-fs@2.3.0': ++ resolution: {integrity: sha512-G9gEyYVUaaxhdRJBgQTTLmzAe0vtHYxYyN1oTQzU3zwvb8T+tVLcAqCdFMWHq0qGeGbmynI5whvYpcXo5LvZ1w==} + +- '@tauri-apps/plugin-http@2.2.0': +- resolution: {integrity: sha512-ZY6sIHhgu8hcu6BkkegoiOEbvOsQFSVcK8J7l+g9RNHrkhl5uzpNIytR4R/H50fj7gyG80DJvrXDx/LBo7Easw==} ++ '@tauri-apps/plugin-http@2.4.4': ++ resolution: {integrity: sha512-IjlaaS4z8ybB10qnh6djZ2FIaHdWVs/U1D1C56udKcjX1f+jAmR8/s7qBV5cv/OmcGkOIzet3LWuH70LKf4J2A==} + + '@tauri-apps/plugin-notification@2.2.1': + resolution: {integrity: sha512-QF8Zod6XDhxD6xkD5nU/BjbOpJ6+3gxGCrVULOdLpvMuMSN2Z2IdObV/qgnrEJk1UamUCF1ClQUqNCbk4zTJNQ==} +@@ -2835,9 +2832,7 @@ snapshots: + '@tanstack/query-core': 5.64.1 + react: 18.3.1 + +- '@tauri-apps/api@2.0.0': {} +- +- '@tauri-apps/api@2.7.0': {} ++ '@tauri-apps/api@2.6.0': {} + + '@tauri-apps/cli-darwin-arm64@2.2.5': + optional: true +@@ -2884,39 +2879,39 @@ snapshots: + + '@tauri-apps/plugin-clipboard-manager@2.3.0': + dependencies: +- '@tauri-apps/api': 2.7.0 ++ '@tauri-apps/api': 2.6.0 + + '@tauri-apps/plugin-dialog@2.2.0': + dependencies: +- '@tauri-apps/api': 2.0.0 ++ '@tauri-apps/api': 2.6.0 + +- '@tauri-apps/plugin-fs@2.2.0': ++ '@tauri-apps/plugin-fs@2.3.0': + dependencies: +- '@tauri-apps/api': 2.0.0 ++ '@tauri-apps/api': 2.6.0 + +- '@tauri-apps/plugin-http@2.2.0': ++ '@tauri-apps/plugin-http@2.4.4': + dependencies: +- '@tauri-apps/api': 2.0.0 ++ '@tauri-apps/api': 2.6.0 + + '@tauri-apps/plugin-notification@2.2.1': + dependencies: +- '@tauri-apps/api': 2.0.0 ++ '@tauri-apps/api': 2.6.0 + + '@tauri-apps/plugin-os@2.2.1': + dependencies: +- '@tauri-apps/api': 2.0.0 ++ '@tauri-apps/api': 2.6.0 + + '@tauri-apps/plugin-process@2.2.0': + dependencies: +- '@tauri-apps/api': 2.0.0 ++ '@tauri-apps/api': 2.6.0 + + '@tauri-apps/plugin-shell@2.2.0': + dependencies: +- '@tauri-apps/api': 2.0.0 ++ '@tauri-apps/api': 2.6.0 + + '@tauri-apps/plugin-updater@2.9.0': + dependencies: +- '@tauri-apps/api': 2.7.0 ++ '@tauri-apps/api': 2.6.0 + + '@tiptap/core@3.6.2(@tiptap/pm@3.6.2)': + dependencies: diff --git a/pkgs/by-name/qu/quantframe/package.nix b/pkgs/by-name/qu/quantframe/package.nix index 7989988d17685..abc6331efce7d 100644 --- a/pkgs/by-name/qu/quantframe/package.nix +++ b/pkgs/by-name/qu/quantframe/package.nix @@ -4,7 +4,7 @@ fetchFromGitHub, cargo-tauri, nodejs, - pnpm_9, + pnpm_10, fetchPnpmDeps, pnpmConfigHook, pkg-config, @@ -15,17 +15,18 @@ libsoup_3, libayatana-appindicator, gtk3, + gst_all_1, nix-update-script, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "quantframe"; - version = "1.5.9"; + version = "1.6.12"; src = fetchFromGitHub { owner = "Kenya-DK"; repo = "quantframe-react"; tag = "v${finalAttrs.version}"; - hash = "sha256-jrGDgK/Z9oLSvtFfC+uIs0vj4Nku4Sp/bdR1MX/SK2E="; + hash = "sha256-IF+8filOXG+4nWpivyYknkT+hAg8nhG10Hfm79/m3Uc="; }; postPatch = '' @@ -36,16 +37,24 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail '"createUpdaterArtifacts": "v1Compatible"' '"createUpdaterArtifacts": false' ''; - patches = [ ./0001-disable-telemetry.patch ]; + patches = [ + ./0001-disable-telemetry.patch + ./0002-sync-node-packages.patch + ]; pnpmDeps = fetchPnpmDeps { - inherit (finalAttrs) pname version src; - pnpm = pnpm_9; - fetcherVersion = 1; - hash = "sha256-ncoxliXnLxWEXL1Z7ixOULI/uYkxmfLiDWu1tDSRsrM="; + inherit (finalAttrs) + pname + version + src + patches + ; + pnpm = pnpm_10; + fetcherVersion = 3; + hash = "sha256-omomvnHUiEfGVJn6LApWOnRwSVO8kpMLN3Jz0MhwPpQ="; }; - cargoHash = "sha256-0IgQK0jMVN6u5i4lBKK8njbMyRQCLguTdDcSBnFnyso="; + cargoHash = "sha256-Ffy7dutFVQNZUFm9/iW0qPqUJ9bbRW6PeuC3eNNqfk8="; nativeBuildInputs = [ cargo-tauri.hook @@ -53,7 +62,7 @@ rustPlatform.buildRustPackage (finalAttrs: { wrapGAppsHook3 nodejs pnpmConfigHook - pnpm_9 + pnpm_10 ]; buildInputs = [ @@ -63,6 +72,9 @@ rustPlatform.buildRustPackage (finalAttrs: { gtk3 libayatana-appindicator webkitgtk_4_1 + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good ]; cargoRoot = "src-tauri"; diff --git a/pkgs/by-name/qu/quickemu/package.nix b/pkgs/by-name/qu/quickemu/package.nix index b3d89964854bf..d73c4bfd38c28 100644 --- a/pkgs/by-name/qu/quickemu/package.nix +++ b/pkgs/by-name/qu/quickemu/package.nix @@ -57,13 +57,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "quickemu"; - version = "4.9.7-unstable-2025-12-28"; + version = "4.9.9"; src = fetchFromGitHub { owner = "quickemu-project"; repo = "quickemu"; - rev = "7ea4e95508a7898bc63c3b5e1588066184d4c79b"; - hash = "sha256-pj6YQc7e4I6XvGq/uGGq2z/UhAs3ZeKrsJd8oLWjauA="; + tag = finalAttrs.version; + hash = "sha256-HFq3oYz6KQcq3P92bTg2O5XFtZZcZBfiCOOJSfnV1ro="; }; postPatch = '' @@ -74,9 +74,6 @@ stdenv.mkDerivation (finalAttrs: { -e 's/Icon=.*qemu.svg/Icon=qemu/' \ -e 's,\[ -x "\$(command -v smbd)" \],true,' \ quickemu - - substituteInPlace quickemu \ - --replace-fail 'readonly VERSION="4.9.8"' 'readonly VERSION="${finalAttrs.version}"' ''; nativeBuildInputs = [ diff --git a/pkgs/by-name/qu/quickshell/0001-fix-unneccessary-reloads.patch b/pkgs/by-name/qu/quickshell/0001-fix-unneccessary-reloads.patch new file mode 100644 index 0000000000000..85d4a74b9ad56 --- /dev/null +++ b/pkgs/by-name/qu/quickshell/0001-fix-unneccessary-reloads.patch @@ -0,0 +1,23 @@ +diff --git a/src/core/generation.cpp b/src/core/generation.cpp +index c68af71..4967562 100644 +--- a/src/core/generation.cpp ++++ b/src/core/generation.cpp +@@ -172,12 +172,18 @@ void EngineGeneration::setWatchingFiles(bool watching) { + if (this->watcher == nullptr) { + this->watcher = new QFileSystemWatcher(); + ++ // note: not using canonicalFilePath() here on purpose, ++ // since the path could be a link to the nix store ++ // and the link might change ++ + for (auto& file: this->scanner.scannedFiles) { ++ if (file.startsWith("/nix/store/")) continue; + this->watcher->addPath(file); + this->watcher->addPath(QFileInfo(file).dir().absolutePath()); + } + + for (auto& file: this->extraWatchedFiles) { ++ if (file.startsWith("/nix/store/")) continue; + this->watcher->addPath(file); + this->watcher->addPath(QFileInfo(file).dir().absolutePath()); + } diff --git a/pkgs/by-name/qu/quickshell/package.nix b/pkgs/by-name/qu/quickshell/package.nix index ec536d246093d..551fd36566e48 100644 --- a/pkgs/by-name/qu/quickshell/package.nix +++ b/pkgs/by-name/qu/quickshell/package.nix @@ -32,6 +32,9 @@ stdenv.mkDerivation (finalAttrs: { tag = "v${finalAttrs.version}"; hash = "sha256-e++Ogy91Sv7gGLMdAqZaBzbH/UmPWZ4GAt7VDCA66aU="; }; + patches = [ + ./0001-fix-unneccessary-reloads.patch + ]; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/ra/radarr/package.nix b/pkgs/by-name/ra/radarr/package.nix index 90f60bb6d22c8..2d56b03d11b54 100644 --- a/pkgs/by-name/ra/radarr/package.nix +++ b/pkgs/by-name/ra/radarr/package.nix @@ -196,6 +196,7 @@ buildDotnetModule { maintainers = with lib.maintainers; [ purcell nyanloutre + karaolidis ]; mainProgram = "Radarr"; # platforms inherited from dotnet-sdk. diff --git a/pkgs/by-name/ra/radicale/package.nix b/pkgs/by-name/ra/radicale/package.nix index 184764fd31c99..5cf9545e8bb0b 100644 --- a/pkgs/by-name/ra/radicale/package.nix +++ b/pkgs/by-name/ra/radicale/package.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pname = "radicale"; - version = "3.6.0"; + version = "3.6.1"; pyproject = true; src = fetchFromGitHub { owner = "Kozea"; repo = "Radicale"; tag = "v${finalAttrs.version}"; - hash = "sha256-FzCNmmlQeka+Z7h1Dp631coKPF7gc0LOWnyca994bgs="; + hash = "sha256-NPebEqLSDsR+FSA3vM0k8JJ8ciIDaRs34z4DBvr5GOE="; }; build-system = with python3.pkgs; [ diff --git a/pkgs/by-name/ra/radicle-explorer/package.nix b/pkgs/by-name/ra/radicle-explorer/package.nix index 75a993bf3aec7..3a268662b20a6 100644 --- a/pkgs/by-name/ra/radicle-explorer/package.nix +++ b/pkgs/by-name/ra/radicle-explorer/package.nix @@ -75,7 +75,7 @@ lib.fix ( # radicle-httpd using a more limited sparse checkout we need to carry a # separate hash. src = radicle-httpd.src.override { - hash = "sha256-Zt9RiuloWmb1eL6f2Gotvy+FMTUvSokOEGOIBrBeO/E="; + hash = "sha256-8lMUPt2eVlspMlRxUjOvjtCsd/EXg0IDSVjXxMVzbe4="; sparseCheckout = [ ]; }; diff --git a/pkgs/by-name/ra/radicle-httpd/package.nix b/pkgs/by-name/ra/radicle-httpd/package.nix index befead34f38fb..2546734433e8b 100644 --- a/pkgs/by-name/ra/radicle-httpd/package.nix +++ b/pkgs/by-name/ra/radicle-httpd/package.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "radicle-httpd"; - version = "0.23.0"; + version = "0.24.0"; env.RADICLE_VERSION = finalAttrs.version; @@ -25,12 +25,12 @@ rustPlatform.buildRustPackage (finalAttrs: { repo = "z4V1sjrXqjvFdnCUbxPFqd5p4DtH5"; tag = "releases/${finalAttrs.version}"; sparseCheckout = [ "radicle-httpd" ]; - hash = "sha256-OpDW6qJOHN4f4smhc1vNO0DRzJW6114gQV4K1ZNicag="; + hash = "sha256-749hFe7GJz/YUmocW5MO7uKWLTo3W4wJYSXdIURcRtg="; }; sourceRoot = "${finalAttrs.src.name}/radicle-httpd"; - cargoHash = "sha256-m/2pP1mCU4SvPXU3qWOpbh3H/ykTOGgERYcP8Iu5DDs="; + cargoHash = "sha256-6uHukSsNnnk11tudFnNvNd+ZXmwGxMSYArsiaCaabWk="; nativeBuildInputs = [ asciidoctor diff --git a/pkgs/by-name/ra/radicle-node/package.nix b/pkgs/by-name/ra/radicle-node/package.nix index ff4638e104d5e..4cad77577500e 100644 --- a/pkgs/by-name/ra/radicle-node/package.nix +++ b/pkgs/by-name/ra/radicle-node/package.nix @@ -14,17 +14,23 @@ stdenv, xdg-utils, versionCheckHook, + + version ? "1.6.1", + srcHash ? "sha256-7kwtWuYdYG3MDHThCkY5OZmx4pWaQXMYoOlJszmV2rM=", + cargoHash ? "sha256-59RyfSUJNoQ7EtQK3OSYOIO/YVEjeeM9ovbojHFX4pI=", + updateScript ? ./update.sh, }: rustPlatform.buildRustPackage (finalAttrs: { + inherit version cargoHash; + pname = "radicle-node"; - version = "1.6.1"; src = fetchFromRadicle { seed = "seed.radicle.xyz"; repo = "z3gqcJUoA1n9HaHKufZs5FCSGazv5"; tag = "releases/${finalAttrs.version}"; - hash = "sha256-7kwtWuYdYG3MDHThCkY5OZmx4pWaQXMYoOlJszmV2rM="; + hash = srcHash; leaveDotGit = true; postFetch = '' git -C $out rev-parse HEAD > $out/.git_head @@ -33,8 +39,6 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; }; - cargoHash = "sha256-59RyfSUJNoQ7EtQK3OSYOIO/YVEjeeM9ovbojHFX4pI="; - env.RADICLE_VERSION = finalAttrs.version; nativeBuildInputs = [ @@ -112,34 +116,40 @@ rustPlatform.buildRustPackage (finalAttrs: { done ''; - passthru.updateScript = ./update.sh; - passthru.tests = { - basic = - runCommand "radicle-node-basic-test" - { - nativeBuildInputs = [ - jq - openssh - finalAttrs.finalPackage - ]; - } - '' - set -e - export RAD_HOME="$PWD/.radicle" - mkdir -p "$RAD_HOME/keys" - ssh-keygen -t ed25519 -N "" -f "$RAD_HOME/keys/radicle" > /dev/null - jq -n '.node.alias |= "nix"' > "$RAD_HOME/config.json" - - rad config > /dev/null - rad debug | jq -e ' - (.sshVersion | contains("${openssh.version}")) - and - (.gitVersion | contains("${gitMinimal.version}")) - ' - - touch $out - ''; - nixos-run = nixosTests.radicle; + passthru = { + inherit updateScript; + tests = { + basic = + runCommand "radicle-node-basic-test" + { + nativeBuildInputs = [ + jq + openssh + finalAttrs.finalPackage + ]; + } + '' + set -e + export RAD_HOME="$PWD/.radicle" + mkdir -p "$RAD_HOME/keys" + ssh-keygen -t ed25519 -N "" -f "$RAD_HOME/keys/radicle" > /dev/null + jq -n '.node.alias |= "nix"' > "$RAD_HOME/config.json" + + rad config > /dev/null + rad debug | jq -e ' + (.sshVersion | contains("${openssh.version}")) + and + (.gitVersion | contains("${gitMinimal.version}")) + ' + + touch $out + ''; + nixos-run = nixosTests.radicle.extendNixOS { + module = { + services.radicle.package = finalAttrs.finalPackage; + }; + }; + }; }; meta = { diff --git a/pkgs/by-name/ra/radicle-node/unstable.nix b/pkgs/by-name/ra/radicle-node/unstable.nix new file mode 100644 index 0000000000000..2f2fd8f30a349 --- /dev/null +++ b/pkgs/by-name/ra/radicle-node/unstable.nix @@ -0,0 +1,8 @@ +{ radicle-node }: + +radicle-node.override { + version = "1.7.0-rc.1"; + srcHash = "sha256-eq7rUzTbmPb0pRfcFnWP4vrbCTbXW9N4BleDCMUnLH8="; + cargoHash = "sha256-OkgWdu+7FY1tq0bjMbhjqjlJT9ZUgR8i12LhqyFJi+A="; + updateScript = ./update-unstable.sh; +} diff --git a/pkgs/by-name/ra/radicle-node/update-unstable.sh b/pkgs/by-name/ra/radicle-node/update-unstable.sh new file mode 100755 index 0000000000000..217b0c1d0677b --- /dev/null +++ b/pkgs/by-name/ra/radicle-node/update-unstable.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils gnugrep common-updater-scripts nix-update + +version=$(list-git-tags | grep -oP '^releases/\K\d+\.\d+\.\d+.*' | sort -rV | head -1) +nix-update --version="$version" radicle-node-unstable --override-filename pkgs/by-name/ra/radicle-node/unstable.nix diff --git a/pkgs/by-name/ra/railway/package.nix b/pkgs/by-name/ra/railway/package.nix index 68a2a98ae8aaf..bcaf95a3d2823 100644 --- a/pkgs/by-name/ra/railway/package.nix +++ b/pkgs/by-name/ra/railway/package.nix @@ -7,16 +7,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "railway"; - version = "4.30.3"; + version = "4.30.4"; src = fetchFromGitHub { owner = "railwayapp"; repo = "cli"; rev = "v${finalAttrs.version}"; - hash = "sha256-0GEEF5YNOfzycFfvl3NCcV+sNZ+mEPxWeuYQQVHjYVQ="; + hash = "sha256-XzCgfjjpm79wpRGzVmXwd8cX1R9KqtjMac7EhfIpqh0="; }; - cargoHash = "sha256-dP4YslHIlhtla0Y42qs1j8yyOGK7Ta8tc1Yr7+xl8S0="; + cargoHash = "sha256-I+fz459knRi0MNPxNpRMhYSVbe7oTRI8j9AHyTJ9Tlk="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/ra/rainfrog/package.nix b/pkgs/by-name/ra/rainfrog/package.nix index 6d5cc8e2e5680..b9e3bdda76242 100644 --- a/pkgs/by-name/ra/rainfrog/package.nix +++ b/pkgs/by-name/ra/rainfrog/package.nix @@ -7,7 +7,7 @@ rainfrog, }: let - version = "0.3.16"; + version = "0.3.17"; in rustPlatform.buildRustPackage { inherit version; @@ -17,10 +17,10 @@ rustPlatform.buildRustPackage { owner = "achristmascarl"; repo = "rainfrog"; tag = "v${version}"; - hash = "sha256-Bz1YNR3/RnCZgU4rZWU6ATclkuUamYE3Umja4qXlmXk="; + hash = "sha256-26pB4A1RR2d++Bh9u6IkNrJ552y6KALTxv1NwRzQ+UE="; }; - cargoHash = "sha256-qpUUInE0XmyAXWZcqXNyNHy5SDKR+M7DG2YRNlr8rug="; + cargoHash = "sha256-AeRh4xozRZs7IK7ez63DuglE+WUm3F3Gl4ohq1W/ZSg="; passthru = { tests.version = testers.testVersion { diff --git a/pkgs/by-name/ra/rancher/package.nix b/pkgs/by-name/ra/rancher/package.nix index 7993c5e89e023..3728875805376 100644 --- a/pkgs/by-name/ra/rancher/package.nix +++ b/pkgs/by-name/ra/rancher/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "rancher"; - version = "2.13.2"; + version = "2.13.3"; src = fetchFromGitHub { owner = "rancher"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-5nGUxdhMhhwDaVRwURis3FElMonwoe8h6M09EDwf+Bc="; + hash = "sha256-/bax1qW79DelgeOpp6PuQ7jNsB/Z82T7vxmlO5DmxtQ="; }; env.CGO_ENABLED = 0; @@ -25,7 +25,7 @@ buildGoModule (finalAttrs: { "-static" ]; - vendorHash = "sha256-CQkM7zC5RPCguGp6dxBSjnDkWe11hp5v6QwZ6kRAXQE="; + vendorHash = "sha256-9PpU28Uy/cQgQZT2MSA/kNh2+PFSDcGxkSWpBHUpKCg="; postInstall = '' mv $out/bin/cli $out/bin/rancher diff --git a/pkgs/by-name/ra/rapidraw/package.nix b/pkgs/by-name/ra/rapidraw/package.nix index 0db473243c874..b77102168e81d 100644 --- a/pkgs/by-name/ra/rapidraw/package.nix +++ b/pkgs/by-name/ra/rapidraw/package.nix @@ -42,13 +42,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rapidraw"; - version = "1.4.12"; + version = "1.5.0"; src = fetchFromGitHub { owner = "CyberTimon"; repo = "RapidRAW"; tag = "v${finalAttrs.version}"; - hash = "sha256-esNw3JmQZ0Qbqtwno5SREVwIxR7DBi50GS9BCjgNGuA="; + hash = "sha256-PzPw7TJQK6ojsdw8cypS/drtc/ec93IYGIjTEdpIraI="; fetchSubmodules = true; # darwin/linux hash mismatch in rawler submodule @@ -58,11 +58,11 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; }; - cargoHash = "sha256-F5fN14dv8iFUub3bYci+MC8fuyLLZKuoF9W1cfJ7NLo="; + cargoHash = "sha256-cgqNGft6LK5XNGv1CDLw5v+m8a9xmu7albfoGJnkE34="; npmDeps = fetchNpmDeps { inherit (finalAttrs) src; - hash = "sha256-jenSEANarab/oQnC80NoM1jWmvdeXF3bJ9I/vOGcBb0="; + hash = "sha256-4PbNSM4BIMOpmPcys/Vt5gzy/Pu9L6rPcG0lGnTDvGo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ra/rattler-build/package.nix b/pkgs/by-name/ra/rattler-build/package.nix index bc7f19c122547..a6b4cdbf67c8a 100644 --- a/pkgs/by-name/ra/rattler-build/package.nix +++ b/pkgs/by-name/ra/rattler-build/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rattler-build"; - version = "0.57.2"; + version = "0.58.0"; src = fetchFromGitHub { owner = "prefix-dev"; repo = "rattler-build"; tag = "v${finalAttrs.version}"; - hash = "sha256-N8sNK/twsDQQt4WQh+4jB6yUX7Aj7kyIt3T0vabzv6U="; + hash = "sha256-PQXPAovUYOzPdMzK1Pu2TcQT+8LTXtJrlSII7uwORLI="; }; - cargoHash = "sha256-3uGrCDvaKZCusdHtqyAQ+9T6K6ZWovgBB4z/ZsrviU0="; + cargoHash = "sha256-h/0zlZj4+GD8tYcr9Ta1g6JAILK4LbM5an448+VrVHE="; doCheck = false; # test requires network access diff --git a/pkgs/by-name/ra/raycast/package.nix b/pkgs/by-name/ra/raycast/package.nix index 5c9abf3bb91b2..514c2b8f21560 100644 --- a/pkgs/by-name/ra/raycast/package.nix +++ b/pkgs/by-name/ra/raycast/package.nix @@ -12,19 +12,19 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "raycast"; - version = "1.104.3"; + version = "1.104.6"; src = { aarch64-darwin = fetchurl { name = "Raycast.dmg"; url = "https://releases.raycast.com/releases/${finalAttrs.version}/download?build=arm"; - hash = "sha256-+8ZVBZlOVaeH1m2TX2f+56hlXXZSifS4y+7qSNW6nlY="; + hash = "sha256-edtUZhgMpxUNPjMCxhVo1sDCrfpXi8bPjvRMblsI/KA="; }; x86_64-darwin = fetchurl { name = "Raycast.dmg"; url = "https://releases.raycast.com/releases/${finalAttrs.version}/download?build=x86_64"; - hash = "sha256-qGiZNBdtA24Hm8SXbYoNlcMlijHOQ1isSZAzCk0PVq8="; + hash = "sha256-1Mc8zqOLaP5kq2yPkEP4mE4X58OIRrrw13KtIclxVoM="; }; } .${stdenvNoCC.system} or (throw "raycast: ${stdenvNoCC.system} is unsupported."); diff --git a/pkgs/by-name/ra/raze/package.nix b/pkgs/by-name/ra/raze/package.nix index 37d5249f89e55..cdb4f7735c976 100644 --- a/pkgs/by-name/ra/raze/package.nix +++ b/pkgs/by-name/ra/raze/package.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: { mv $out/bin/raze $out/share/raze makeWrapper $out/share/raze/raze $out/bin/raze \ --set LD_LIBRARY_PATH ${lib.makeLibraryPath [ vulkan-loader ]} - install -Dm644 ../source/platform/posix/org.zdoom.Raze.256.png $out/share/pixmaps/org.zdoom.Raze.png + install -Dm644 ../source/platform/posix/org.zdoom.Raze.256.png $out/share/icons/hicolor/256x256/apps/org.zdoom.Raze.png install -Dm644 ../source/platform/posix/org.zdoom.Raze.desktop $out/share/applications/org.zdoom.Raze.desktop install -Dm644 ../soundfont/raze.sf2 $out/share/raze/soundfonts/raze.sf2 ''; diff --git a/pkgs/by-name/rc/rclone-ui/package.nix b/pkgs/by-name/rc/rclone-ui/package.nix index 44ccca867e5c4..8fe408e1d7ced 100644 --- a/pkgs/by-name/rc/rclone-ui/package.nix +++ b/pkgs/by-name/rc/rclone-ui/package.nix @@ -20,26 +20,26 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rclone-ui"; - version = "3.4.2"; + version = "3.4.3"; src = fetchFromGitHub { owner = "rclone-ui"; repo = "rclone-ui"; tag = "v${finalAttrs.version}"; - hash = "sha256-aDwtRZGs2JhD2xbzVR3wDdSIjWied9BKknt5WETefvU="; + hash = "sha256-YKlznqgKePx6x6P+1nE6sZwYSRZwvpAvMSDjd+MKCvg="; }; npmDeps = fetchNpmDeps { name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps"; inherit (finalAttrs) src; forceGitDeps = true; - hash = "sha256-iyO9Eg+rWV3T50uWyrPHjGcvREnMgSyr0Gq8dxOMPWg="; + hash = "sha256-SW2bWKM/H3fuRD0Q0Sctbpk13bfpMawU+HohJxfWg+E="; }; cargoRoot = "src-tauri"; buildAndTestSubdir = finalAttrs.cargoRoot; - cargoHash = "sha256-sCsH+jjHMR3zsPoFfDq2vVuTc8PvYuR/3ZY5bcW7X0o="; + cargoHash = "sha256-toq1lscvDvVyQP0oPtf4IeNpxBTxrqJa8JH3cC3iQzk="; # Disable tauri bundle updater, can be removed when #389107 is merged patches = [ ./remove_updater.patch ]; diff --git a/pkgs/by-name/re/reaction/add-support-for-macos.patch b/pkgs/by-name/re/reaction/add-support-for-macos.patch new file mode 100644 index 0000000000000..f68e0d6258730 --- /dev/null +++ b/pkgs/by-name/re/reaction/add-support-for-macos.patch @@ -0,0 +1,24 @@ +From dc51d7d432eeb408551ae84c6b08d172efbf4649 Mon Sep 17 00:00:00 2001 +From: ppom +Date: Tue, 17 Feb 2026 12:00:00 +0100 +Subject: [PATCH] Add support for macOS + +--- + src/concepts/plugin.rs | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/concepts/plugin.rs b/src/concepts/plugin.rs +index c5bc330..8c3c142 100644 +--- a/src/concepts/plugin.rs ++++ b/src/concepts/plugin.rs +@@ -1,5 +1,7 @@ + use std::{collections::BTreeMap, io::Error, path, process::Stdio}; + ++#[cfg(target_os = "macos")] ++use std::os::darwin::fs::MetadataExt; + #[cfg(target_os = "freebsd")] + use std::os::freebsd::fs::MetadataExt; + #[cfg(target_os = "illumos")] +-- +GitLab + diff --git a/pkgs/by-name/re/reaction/package.nix b/pkgs/by-name/re/reaction/package.nix index e5780fb044cf2..b8a693d4349a3 100644 --- a/pkgs/by-name/re/reaction/package.nix +++ b/pkgs/by-name/re/reaction/package.nix @@ -1,26 +1,34 @@ { lib, stdenv, - nixosTests, + callPackage, rustPlatform, fetchFromGitLab, + versionCheckHook, installShellFiles, nix-update-script, + + nixosTests, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "reaction"; - version = "2.2.1"; + version = "2.3.0"; src = fetchFromGitLab { domain = "framagit.org"; owner = "ppom"; repo = "reaction"; tag = "v${finalAttrs.version}"; - hash = "sha256-81i0bkrf86adQWxeZgIoZp/zQQbRJwPqQqZci0ANRFw="; + hash = "sha256-OvNJsR9W5MlicqUpr1aOLJ7pI7H7guq1vAlC/hh1Q2o="; }; - cargoHash = "sha256-Bf9XmlY0IMPY4Convftd0Hv8mQbYoiE8WrkkAeaS6Z8="; + patches = [ + # remove patch in next tagged version + ./add-support-for-macos.patch + ]; + + cargoHash = "sha256-BOFZlVBKf6fjW1L1J8u7Vf+fzNJHlEtQI6YafDjlZ4U="; nativeBuildInputs = [ installShellFiles ]; @@ -40,13 +48,13 @@ rustPlatform.buildRustPackage (finalAttrs: { # flaky and fails in hydra "--skip=concepts::config::tests::merge_config_distinct_concurrency" ]; + cargoTestFlags = [ # Skip integration tests for the same reason "--lib" ]; postInstall = '' - installBin $releaseDir/ip46tables $releaseDir/nft46 installManPage $releaseDir/reaction*.1 installShellCompletion --cmd reaction \ --bash $releaseDir/reaction.bash \ @@ -60,17 +68,20 @@ rustPlatform.buildRustPackage (finalAttrs: { versionCheckProgramArg = "--version"; doInstallCheck = true; - passthru.updateScript = nix-update-script { }; - passthru.tests = { inherit (nixosTests) reaction reaction-firewall; }; + passthru = { + inherit (callPackage ./plugins { }) mkReactionPlugin plugins; + updateScript = nix-update-script { }; + tests = nixosTests.reaction; + }; meta = { + changelog = "https://framagit.org/ppom/reaction/-/releases/v${finalAttrs.version}"; description = "Scan logs and take action: an alternative to fail2ban"; homepage = "https://framagit.org/ppom/reaction"; - changelog = "https://framagit.org/ppom/reaction/-/releases/v${finalAttrs.version}"; license = lib.licenses.agpl3Plus; mainProgram = "reaction"; maintainers = with lib.maintainers; [ ppom ]; - teams = [ lib.teams.ngi ]; platforms = lib.platforms.unix; + teams = [ lib.teams.ngi ]; }; }) diff --git a/pkgs/by-name/re/reaction/plugins/default.nix b/pkgs/by-name/re/reaction/plugins/default.nix new file mode 100644 index 0000000000000..c6a7fa1246998 --- /dev/null +++ b/pkgs/by-name/re/reaction/plugins/default.nix @@ -0,0 +1,37 @@ +{ + lib, + rustPlatform, + callPackage, + reaction, +}: +{ + # NOTE: plugins are binaries, so no special integration with the derivation is required + # mkReactionPlugin is meant for only official plugins living in the reaction source tree + mkReactionPlugin = + name: extra: + rustPlatform.buildRustPackage ( + { + pname = name; + inherit (reaction) version src cargoHash; + buildAndTestSubdir = "plugins/${name}"; + + meta = { + changelog = "https://framagit.org/ppom/reaction/-/releases/v${reaction.version}"; + description = "Official reaction plugin ${name}"; + homepage = "https://framagit.org/ppom/reaction"; + license = lib.licenses.agpl3Plus; + mainProgram = name; + maintainers = with lib.maintainers; [ ppom ]; + platforms = lib.platforms.unix; + teams = [ lib.teams.ngi ]; + }; + } + // extra + ); + + # capture all plugins except default.nix (this file) + plugins = lib.removeAttrs (lib.packagesFromDirectoryRecursive { + inherit callPackage; + directory = ./.; + }) [ "default" ]; +} diff --git a/pkgs/by-name/re/reaction/plugins/reaction-plugin-ipset.nix b/pkgs/by-name/re/reaction/plugins/reaction-plugin-ipset.nix new file mode 100644 index 0000000000000..23ae70ee4f57d --- /dev/null +++ b/pkgs/by-name/re/reaction/plugins/reaction-plugin-ipset.nix @@ -0,0 +1,14 @@ +{ + ipset, + pkg-config, + rustPlatform, + reaction, + ... +}: +reaction.mkReactionPlugin "reaction-plugin-ipset" { + buildInputs = [ ipset ]; + nativeBuildInputs = [ + rustPlatform.bindgenHook + pkg-config + ]; +} diff --git a/pkgs/by-name/re/reaction/plugins/reaction-plugin-virtual.nix b/pkgs/by-name/re/reaction/plugins/reaction-plugin-virtual.nix new file mode 100644 index 0000000000000..049a966132850 --- /dev/null +++ b/pkgs/by-name/re/reaction/plugins/reaction-plugin-virtual.nix @@ -0,0 +1,5 @@ +{ + reaction, + ... +}: +reaction.mkReactionPlugin "reaction-plugin-virtual" { } diff --git a/pkgs/by-name/re/reaper-go/package.nix b/pkgs/by-name/re/reaper-go/package.nix index 7943f2020afe8..fc2e946e0f2eb 100644 --- a/pkgs/by-name/re/reaper-go/package.nix +++ b/pkgs/by-name/re/reaper-go/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "reaper-go"; - version = "0.2.6"; + version = "3.0.0"; src = fetchFromGitHub { owner = "ghostsecurity"; repo = "reaper"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZSHG4pQTo+Z05MvBqFoscMaZuezScTuszOF8hn4UZXs="; + hash = "sha256-HPY0K+VC3XCYOMz+J1Nhz1+cNkbxCFeA161vblzE63M="; }; - vendorHash = "sha256-Kn/anDDHWfapWB/ZHu4MRmEQ7Nn8hjUMS+LWK9Dx/g4="; + vendorHash = "sha256-INK3esHVaUFrnCxd/U5s2AjYzUYDxI4OpFXskpzwOSU="; ldflags = [ "-s" diff --git a/pkgs/by-name/re/redmine/Gemfile.lock b/pkgs/by-name/re/redmine/Gemfile.lock index 4b962c0cd4cdf..c91336ba1aea1 100644 --- a/pkgs/by-name/re/redmine/Gemfile.lock +++ b/pkgs/by-name/re/redmine/Gemfile.lock @@ -123,9 +123,9 @@ GEM doorkeeper-i18n (5.2.8) doorkeeper (>= 5.2) drb (2.2.3) - erb (6.0.1) + erb (6.0.2) erubi (1.13.1) - faraday (2.14.0) + faraday (2.14.1) faraday-net_http (>= 2.0, < 3.5) json logger @@ -150,8 +150,9 @@ GEM activesupport (>= 6.0.0) railties (>= 6.0.0) io-console (0.8.2) - irb (1.16.0) + irb (1.17.0) pp (>= 0.6.0) + prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) json (2.18.1) @@ -177,14 +178,14 @@ GEM mime-types (3.7.0) logger mime-types-data (~> 3.2025, >= 3.2025.0507) - mime-types-data (3.2026.0203) + mime-types-data (3.2026.0224) mini_magick (5.2.0) benchmark logger mini_mime (1.1.5) mini_portile2 (2.8.9) minitest (5.27.0) - mocha (3.0.1) + mocha (3.0.2) ruby2_keywords (>= 0.0.5) multi_xml (0.8.1) bigdecimal (>= 3.1, < 5) @@ -216,7 +217,7 @@ GEM snaky_hash (~> 2.0, >= 2.0.3) version_gem (~> 1.1, >= 1.1.9) parallel (1.27.0) - parser (3.3.10.1) + parser (3.3.10.2) ast (~> 2.4.1) racc pg (1.5.9) @@ -236,7 +237,7 @@ GEM puma (7.2.0) nio4r (~> 2.0) racc (1.8.1) - rack (3.2.4) + rack (3.2.5) rack-session (2.1.1) base64 (>= 0.1.0) rack (>= 3.0.0) @@ -262,8 +263,8 @@ GEM activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.2) - loofah (~> 2.21) + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) railties (7.2.3) actionpack (= 7.2.3) @@ -287,7 +288,7 @@ GEM htmlentities rbpdf-font (~> 1.19.0) rbpdf-font (1.19.1) - rdoc (7.1.0) + rdoc (7.2.0) erb psych (>= 4.0.0) tsort @@ -345,7 +346,7 @@ GEM crass (~> 1.0.2) nokogiri (>= 1.12.0) securerandom (0.4.1) - selenium-webdriver (4.40.0) + selenium-webdriver (4.41.0) base64 (~> 0.2) logger (~> 1.4) rexml (~> 3.2, >= 3.2.5) @@ -396,7 +397,7 @@ GEM xpath (3.2.0) nokogiri (~> 1.8) yard (0.9.38) - zeitwerk (2.7.4) + zeitwerk (2.7.5) PLATFORMS ruby diff --git a/pkgs/by-name/re/redmine/gemset.nix b/pkgs/by-name/re/redmine/gemset.nix index 4938f8069f3f0..65b2eea0c704c 100644 --- a/pkgs/by-name/re/redmine/gemset.nix +++ b/pkgs/by-name/re/redmine/gemset.nix @@ -550,10 +550,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1rcpq49pyaiclpjp3c3qjl25r95hqvin2q2dczaynaj7qncxvv18"; + sha256 = "0ar4nmvk1sk7drjigqyh9nnps3mxg625b8chfk42557p8i6jdrlz"; type = "gem"; }; - version = "6.0.1"; + version = "6.0.2"; }; erubi = { groups = [ "default" ]; @@ -578,10 +578,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1ka175ci0q9ylpcy651pjj580diplkaskycn4n7jcmbyv7jwz6c6"; + sha256 = "077n5ss3z3ds4vj54w201kd12smai853dp9c9n7ii7g3q7nwwg54"; type = "gem"; }; - version = "2.14.0"; + version = "2.14.1"; }; faraday-net_http = { dependencies = [ "net-http" ]; @@ -750,6 +750,7 @@ irb = { dependencies = [ "pp" + "prism" "rdoc" "reline" ]; @@ -761,10 +762,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "01h8bdksg0cr8bw5dhlhr29ix33rp822jmshy6rdqz4lmk4mdgia"; + sha256 = "1bishrxfn2anwlagw8rzly7i2yicjnr947f48nh638yqjgdlv30n"; type = "gem"; }; - version = "1.16.0"; + version = "1.17.0"; }; json = { groups = [ @@ -927,10 +928,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0bradmf21c9g4z6f3hvqmnf6i2sbgp0630y2j5rq8a7h79lksdal"; + sha256 = "1zg5cyzhkdzkygspl676h8pad83l6gmwykvcd4snjzxkd00jx85y"; type = "gem"; }; - version = "3.2026.0203"; + version = "3.2026.0224"; }; mini_magick = { dependencies = [ @@ -993,10 +994,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0sblxmlf7m0wpz71vdjygjn53cfw42j0mmjp4zx6rpz3b5cjry3l"; + sha256 = "1y1dx5crlx7ppshzv7qqfj0mgpvzyxc0f107mvsvywcb3m9jk01x"; type = "gem"; }; - version = "3.0.1"; + version = "3.0.2"; }; multi_xml = { dependencies = [ "bigdecimal" ]; @@ -1182,10 +1183,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1256ws3w3gnfqj7r3yz2i9y1y7k38fhjphxpybkyb4fds8jsgxh6"; + sha256 = "0mwk9syajzdradzqzp3agf03d0cazqwbfd1439nxpkmxli5chq3g"; type = "gem"; }; - version = "3.3.10.1"; + version = "3.3.10.2"; }; pg = { groups = [ "default" ]; @@ -1229,6 +1230,7 @@ prism = { groups = [ "default" + "development" "test" ]; platforms = [ ]; @@ -1319,10 +1321,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1xmnrk076sqymilydqgyzhkma3hgqhcv8xhy7ks479l2a3vvcx2x"; + sha256 = "1lyn3rh71rlf50p44xmsbha0pip4c95004j8kc9pm7xpq1s0kgac"; type = "gem"; }; - version = "3.2.4"; + version = "3.2.5"; }; rack-session = { dependencies = [ @@ -1411,10 +1413,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0q55i6mpad20m2x1lg5pkqfpbmmapk0sjsrvr1sqgnj2hb5f5z1m"; + sha256 = "128y5g3fyi8fds41jasrr4va1jrs7hcamzklk1523k7rxb64bc98"; type = "gem"; }; - version = "1.6.2"; + version = "1.7.0"; }; railties = { dependencies = [ @@ -1546,10 +1548,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0qvky4s2fx5xbaz1brxanalqbcky3c7xbqd6dicpih860zgrjj29"; + sha256 = "14iiyb4yi1chdzrynrk74xbhmikml3ixgdayjma3p700singfl46"; type = "gem"; }; - version = "7.1.0"; + version = "7.2.0"; }; regexp_parser = { groups = [ @@ -1841,10 +1843,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0nsys7ghl99zn2n4zjw3bi697qqnm6pmmi7aaafln79whnlpmvqn"; + sha256 = "08nxpr0lxn95ml19n0vy6dnw1gnhq9n1b0za5h18dwawsly1ghfd"; type = "gem"; }; - version = "4.40.0"; + version = "4.41.0"; }; simplecov = { dependencies = [ @@ -2198,9 +2200,9 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "12zcvhzfnlghzw03czy2ifdlyfpq0kcbqcmxqakfkbxxavrr1vrb"; + sha256 = "1pbkiwwla5gldgb3saamn91058nl1sq1344l5k36xsh9ih995nnq"; type = "gem"; }; - version = "2.7.4"; + version = "2.7.5"; }; } diff --git a/pkgs/by-name/re/redmine/package.nix b/pkgs/by-name/re/redmine/package.nix index 6bb71a66e369f..a226ae68009a1 100644 --- a/pkgs/by-name/re/redmine/package.nix +++ b/pkgs/by-name/re/redmine/package.nix @@ -4,7 +4,7 @@ stdenvNoCC, fetchurl, bundlerEnv, - ruby_3_3, + ruby_3_4, makeWrapper, nixosTests, openssl, @@ -19,7 +19,7 @@ let rubyEnv = bundlerEnv { name = "redmine-env-${version}"; - ruby = ruby_3_3; + ruby = ruby_3_4; gemdir = ./.; groups = [ "development" diff --git a/pkgs/by-name/re/redpanda-client/package.nix b/pkgs/by-name/re/redpanda-client/package.nix index 79b5216b99144..a5ec91abb183a 100644 --- a/pkgs/by-name/re/redpanda-client/package.nix +++ b/pkgs/by-name/re/redpanda-client/package.nix @@ -7,12 +7,12 @@ stdenv, }: let - version = "25.3.7"; + version = "25.3.8"; src = fetchFromGitHub { owner = "redpanda-data"; repo = "redpanda"; rev = "v${version}"; - sha256 = "sha256-AHAxkIXDbND/IjVHqQAAM/ZzzypV0RF+JAtFLq81Cmg="; + sha256 = "sha256-u2V820cjduk6V99Kpsr8YADee07ivos8XIK1ZRXCrN4="; }; in buildGoModule rec { diff --git a/pkgs/by-name/re/reef/package.nix b/pkgs/by-name/re/reef/package.nix index dd4254f4557d4..446cbd5102acd 100644 --- a/pkgs/by-name/re/reef/package.nix +++ b/pkgs/by-name/re/reef/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "reef"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "ZStud"; repo = "reef"; tag = "v${finalAttrs.version}"; - hash = "sha256-FP7cnqYIICb4JCYk9ytvSp4yxW+xW2SUVqhELdTGLZQ="; + hash = "sha256-ytQ/nLfqdVkdpyVVOzQuVd8Ina0DUQJjLAtMgkn1KLU="; }; - cargoHash = "sha256-UmazwJqsWXQK3bniDLyNCLXHrgrF3iHRPugOAkRzhv8="; + cargoHash = "sha256-v/UCabpSt5weUH1+spbQFC4MCOozLXhmN/pEUZCVH84="; postInstall = '' install -Dm644 fish/functions/*.fish -t $out/share/fish/vendor_functions.d/ diff --git a/pkgs/by-name/re/reflex/package.nix b/pkgs/by-name/re/reflex/package.nix index 8b78033659c16..c3c696cff75c3 100644 --- a/pkgs/by-name/re/reflex/package.nix +++ b/pkgs/by-name/re/reflex/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "reflex"; - version = "0.3.1"; + version = "0.3.2"; src = fetchFromGitHub { owner = "cespare"; repo = "reflex"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-/2qVm2xpSFVspA16rkiIw/qckxzXQp/1EGOl0f9KljY="; + sha256 = "sha256-qc33ppo+RdhztgCUKPSbVFWlz5FTCEExVHkUre+MR+o="; }; - vendorHash = "sha256-JCtVYDHbhH2i7tGNK1jvgHCjU6gMMkNhQ2ZnlTeqtmA="; + vendorHash = "sha256-QCdhZmuxWUAwCwoLLWqEP6zoBBGh5OpDTz4uLIY0xAg="; ldflags = [ "-s" diff --git a/pkgs/by-name/re/remnote/package.nix b/pkgs/by-name/re/remnote/package.nix index 3fb368b3d7dc7..ff3aad016449c 100644 --- a/pkgs/by-name/re/remnote/package.nix +++ b/pkgs/by-name/re/remnote/package.nix @@ -20,7 +20,7 @@ appimageTools.wrapType2 { install -Dm444 ${appimageContents}/remnote.desktop -t $out/share/applications substituteInPlace $out/share/applications/remnote.desktop \ --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=remnote %u' - install -Dm444 ${appimageContents}/remnote.png -t $out/share/pixmaps + install -Dm444 ${appimageContents}/remnote.png -t $out/share/icons/hicolor/512x512/apps ''; passthru.updateScript = writeScript "update.sh" '' diff --git a/pkgs/by-name/re/renovate/package.nix b/pkgs/by-name/re/renovate/package.nix index a10a023eb4463..16b0d3cc88357 100644 --- a/pkgs/by-name/re/renovate/package.nix +++ b/pkgs/by-name/re/renovate/package.nix @@ -13,6 +13,7 @@ nixosTests, nix-update-script, yq-go, + cctools, }: let nodejs = nodejs_24; @@ -41,7 +42,10 @@ stdenv.mkDerivation (finalAttrs: { python3 yq-go ] - ++ lib.optional stdenv.hostPlatform.isDarwin xcbuild; + ++ lib.optional stdenv.hostPlatform.isDarwin [ + xcbuild + cctools # contains libtool, required by better-sqlite3 + ]; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; diff --git a/pkgs/by-name/re/repath-studio/package.nix b/pkgs/by-name/re/repath-studio/package.nix index ebf0e5855aa38..2fe1a2dcfdd36 100644 --- a/pkgs/by-name/re/repath-studio/package.nix +++ b/pkgs/by-name/re/repath-studio/package.nix @@ -17,6 +17,8 @@ replaceVars, vulkan-loader, + + nixosTests, }: buildNpmPackage (finalAttrs: { pname = "repath-studio"; @@ -67,53 +69,6 @@ buildNpmPackage (finalAttrs: { --replace-fail ":shadow-git-inject/version" '"v${finalAttrs.version}"' ''; - passthru = { - # this was taken and adapted from "logseq" package's nixpkgs derivation - mavenRepo = stdenv.mkDerivation { - name = "repath-studio-${finalAttrs.version}-maven-deps"; - inherit (finalAttrs) src patches; - - nativeBuildInputs = [ clojure ]; - - buildPhase = '' - runHook preBuild - - export HOME="$(mktemp -d)" - mkdir -p "$out" - - # -P -> resolve all normal deps - # -M:alias -> resolve extra-deps of the listed aliases - clj -Sdeps "{:mvn/local-repo \"$out\"}" -P -M:dev:cljs - - runHook postBuild - ''; - - # copied from buildMavenPackage - # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside - installPhase = '' - runHook preInstall - - find $out -type f \( \ - -name \*.lastUpdated \ - -o -name resolver-status.properties \ - -o -name _remote.repositories \) \ - -delete - - runHook postInstall - ''; - - dontFixup = true; - - outputHash = "sha256-ytS7JiQUC7U0vxuQddxQfDnm0Pt4stkRBfiIlbOpeTk="; - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - }; - - clojureWithCache = writeShellScriptBin "clojure" '' - exec ${lib.getExe' clojure "clojure"} -Sdeps '{:mvn/local-repo "${finalAttrs.passthru.mavenRepo}"}' "$@" - ''; - }; - buildPhase = '' runHook preBuild @@ -189,7 +144,55 @@ buildNpmPackage (finalAttrs: { }) ]; - passthru.updateScript = ./update.sh; + passthru = { + # this was taken and adapted from "logseq" package's nixpkgs derivation + mavenRepo = stdenv.mkDerivation { + name = "repath-studio-${finalAttrs.version}-maven-deps"; + inherit (finalAttrs) src patches; + + nativeBuildInputs = [ clojure ]; + + buildPhase = '' + runHook preBuild + + export HOME="$(mktemp -d)" + mkdir -p "$out" + + # -P -> resolve all normal deps + # -M:alias -> resolve extra-deps of the listed aliases + clj -Sdeps "{:mvn/local-repo \"$out\"}" -P -M:dev:cljs + + runHook postBuild + ''; + + # copied from buildMavenPackage + # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside + installPhase = '' + runHook preInstall + + find $out -type f \( \ + -name \*.lastUpdated \ + -o -name resolver-status.properties \ + -o -name _remote.repositories \) \ + -delete + + runHook postInstall + ''; + + dontFixup = true; + + outputHash = "sha256-ytS7JiQUC7U0vxuQddxQfDnm0Pt4stkRBfiIlbOpeTk="; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + }; + + clojureWithCache = writeShellScriptBin "clojure" '' + exec ${lib.getExe' clojure "clojure"} -Sdeps '{:mvn/local-repo "${finalAttrs.passthru.mavenRepo}"}' "$@" + ''; + + updateScript = ./update.sh; + tests = { inherit (nixosTests) repath-studio; }; + }; meta = { changelog = "https://github.com/repath-studio/repath-studio/blob/v${finalAttrs.src.rev}/CHANGELOG.md"; diff --git a/pkgs/by-name/re/repomix/package.nix b/pkgs/by-name/re/repomix/package.nix index 9b6bd1f9107a1..4fc768fda4fee 100644 --- a/pkgs/by-name/re/repomix/package.nix +++ b/pkgs/by-name/re/repomix/package.nix @@ -8,16 +8,16 @@ buildNpmPackage rec { pname = "repomix"; - version = "1.11.1"; + version = "1.12.0"; src = fetchFromGitHub { owner = "yamadashy"; repo = "repomix"; tag = "v${version}"; - hash = "sha256-LmQtgVrWZQFGTxU6Sz6RjPQqVERDWc4A7r6PS0Y7xYc="; + hash = "sha256-ymceZ6HUtHfsJrUc1g2OprO5cNjCzL1QYn4QbZ2rFo4="; }; - npmDepsHash = "sha256-C/b/RFMuI5HeVHH24GFupJU1x7Kinoq6tocVHgsWw1w="; + npmDepsHash = "sha256-DJH7ogNZNqqnA1M9n0v6Oj5FcSHaOifAyCVjibN/2fU="; nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; diff --git a/pkgs/by-name/re/rerun/package.nix b/pkgs/by-name/re/rerun/package.nix index a9e67738e49a5..ad90483170ed5 100644 --- a/pkgs/by-name/re/rerun/package.nix +++ b/pkgs/by-name/re/rerun/package.nix @@ -35,7 +35,7 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "rerun"; - version = "0.29.2"; + version = "0.30.0"; outputs = [ "out" @@ -46,7 +46,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "rerun-io"; repo = "rerun"; tag = finalAttrs.version; - hash = "sha256-ftASIRaQ/SCymow5Ow0Y6KPbhmtpNQxjG38scGEnXxY="; + hash = "sha256-ZSAcKb6MZUGVOn8a9nEGT3hYr0zRuZ3R53+hNgYBc4Q="; }; # The path in `build.rs` is wrong for some reason, so we patch it to make the passthru tests work @@ -55,7 +55,7 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail '"rerun_sdk/rerun_cli/rerun"' '"rerun_sdk/rerun"' ''; - cargoHash = "sha256-HRQ2798GUJ8y23DhGUVGok/dEf02Uj0mY0pGBWY3AuY="; + cargoHash = "sha256-QGDmJJaYCeaLKONvIA+vt5lolMLRr/fEhui1xxVkpEM="; cargoBuildFlags = [ "--package" diff --git a/pkgs/by-name/re/resources/package.nix b/pkgs/by-name/re/resources/package.nix index 8d17c5910e339..8a365331f98c9 100644 --- a/pkgs/by-name/re/resources/package.nix +++ b/pkgs/by-name/re/resources/package.nix @@ -23,18 +23,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "resources"; - version = "1.10.0"; + version = "1.10.1-1"; src = fetchFromGitHub { owner = "nokyan"; repo = "resources"; tag = "v${finalAttrs.version}"; - hash = "sha256-e8iUBmEqDlqwczpkkS9lI+oflyc95IxPhd8c9Vsw1LQ="; + hash = "sha256-NjzHGz90MhdjBHP88+qBI/5usCpPPrukSaVHoOJJXSI="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-6xIyLNblcTzB3V/LfbJkEEVB5KiR/RZccFG1l1ahlr0="; + hash = "sha256-wATJxWemn5VxRsRat5I4uEnymsfMM6AX+hP422cUtBo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/re/resterm/package.nix b/pkgs/by-name/re/resterm/package.nix index 17d05dbf3a333..43a6089d7f2d7 100644 --- a/pkgs/by-name/re/resterm/package.nix +++ b/pkgs/by-name/re/resterm/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "resterm"; - version = "0.23.3"; + version = "0.23.6"; src = fetchFromGitHub { owner = "unkn0wn-root"; repo = "resterm"; tag = "v${finalAttrs.version}"; - sha256 = "sha256-FS+pStcAuoslrso1kmriyKhr2I8MdvvUnH262hMKLEg="; + sha256 = "sha256-MVcLyPPnQIn0IZcGOoELRSQkI+BEIXSZfWeeZv6AILI="; }; - vendorHash = "sha256-UnjH2d0w+ttIE2QTsYvpvNVYT6m9d0TGcrIhNE0SjTI="; + vendorHash = "sha256-AjckKD6NScBa8w9nWMdVExuNadz3vHnK854XXg3nj84="; # modernc.org/libc (via modernc.org/sqlite) tries to read /etc/protocols modPostBuild = '' diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/by-name/re/rethinkdb/package.nix similarity index 85% rename from pkgs/servers/nosql/rethinkdb/default.nix rename to pkgs/by-name/re/rethinkdb/package.nix index f6842768af6a5..c3891fa615519 100644 --- a/pkgs/servers/nosql/rethinkdb/default.nix +++ b/pkgs/by-name/re/rethinkdb/package.nix @@ -1,27 +1,29 @@ { lib, - stdenv, + clangStdenv, fetchurl, which, m4, - protobuf, + protobuf_21, boost, zlib, curl, openssl, icu, jemalloc, - libtool, + cctools, python3Packages, makeWrapper, }: - -stdenv.mkDerivation rec { +let + stdenv = clangStdenv; +in +stdenv.mkDerivation (finalAttrs: { pname = "rethinkdb"; version = "2.4.4"; src = fetchurl { - url = "https://download.rethinkdb.com/repository/raw/dist/${pname}-${version}.tgz"; + url = "https://download.rethinkdb.com/repository/raw/dist/rethinkdb-${finalAttrs.version}.tgz"; hash = "sha256-UJEjdgK2KDDbLLParKarNGMjI3QeZxDC8N5NhPRCcR8="; }; @@ -44,7 +46,7 @@ stdenv.mkDerivation rec { makeFlags = [ "rethinkdb" ]; buildInputs = [ - protobuf + protobuf_21 boost zlib curl @@ -52,7 +54,7 @@ stdenv.mkDerivation rec { icu ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) jemalloc - ++ lib.optional stdenv.hostPlatform.isDarwin libtool; + ++ lib.optional stdenv.hostPlatform.isDarwin cctools; nativeBuildInputs = [ which @@ -84,4 +86,4 @@ stdenv.mkDerivation rec { thoughtpolice ]; }; -} +}) diff --git a/pkgs/by-name/rn/rng-tools/package.nix b/pkgs/by-name/rn/rng-tools/package.nix index 05138f7654229..7d82d6399b642 100644 --- a/pkgs/by-name/rn/rng-tools/package.nix +++ b/pkgs/by-name/rn/rng-tools/package.nix @@ -110,7 +110,6 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ johnazoidberg - c0bw3b ]; }; }) diff --git a/pkgs/by-name/rs/rss-glx/cstddef.patch b/pkgs/by-name/rs/rss-glx/cstddef.patch deleted file mode 100644 index 8bec510b04050..0000000000000 --- a/pkgs/by-name/rs/rss-glx/cstddef.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git i/src/Implicit/impSurface.h w/src/Implicit/impSurface.h -index 41fab81..027587f 100644 ---- i/src/Implicit/impSurface.h -+++ w/src/Implicit/impSurface.h -@@ -25,6 +25,7 @@ - #ifdef WIN32 - #include - #endif -+#include - #include - #include - diff --git a/pkgs/by-name/rs/rss-glx/package.nix b/pkgs/by-name/rs/rss-glx/package.nix deleted file mode 100644 index 251ee7607aa11..0000000000000 --- a/pkgs/by-name/rs/rss-glx/package.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - autoconf, - pkg-config, - libx11, - libxext, - libGLU, - libGL, - imagemagick6, - libtiff, - bzip2, -}: - -stdenv.mkDerivation rec { - version = "0.9.1"; - pname = "rss-glx"; - - src = fetchurl { - url = "mirror://sourceforge/rss-glx/rss-glx_${version}.tar.bz2"; - sha256 = "1aikafjqrfmv23jnrrm5d56dg6injh4l67zjdxzdapv9chw7g3cg"; - }; - - nativeBuildInputs = [ - autoconf - pkg-config - ]; - buildInputs = [ - libGLU - libGL - libx11 - libxext - imagemagick6 - libtiff - bzip2 - ]; - - patches = [ - ./cstddef.patch - ]; - - env.NIX_CFLAGS_COMPILE = "-I${imagemagick6.dev}/include/ImageMagick"; - - meta = { - description = "Really Slick Screensavers Port to GLX"; - longDescription = '' - This package currently contains all of the screensavers from the - original collection, plus a few others. - ''; - license = lib.licenses.gpl2Only; - platforms = lib.platforms.linux; - }; -} diff --git a/pkgs/by-name/rt/rt-tests/package.nix b/pkgs/by-name/rt/rt-tests/package.nix index cc41defc7b029..fb7008dcacc02 100644 --- a/pkgs/by-name/rt/rt-tests/package.nix +++ b/pkgs/by-name/rt/rt-tests/package.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "rt-tests"; - version = "2.9"; + version = "2.10"; src = fetchurl { url = "https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/snapshot/rt-tests-${finalAttrs.version}.tar.gz"; - sha256 = "sha256-Zmb0RqGvS4bHy+6Krs3of1WUWOqJMOH0FHAXIqlteys="; + sha256 = "sha256-LHlihC7otuP/yXXiZ0XdQ4gSpyGKX6qVvGoouWq7CyM="; }; env.NIX_CFLAGS_COMPILE = "-Wno-error=format-overflow"; diff --git a/pkgs/by-name/ru/ruff/package.nix b/pkgs/by-name/ru/ruff/package.nix index 70a260c757216..d9950ba56618a 100644 --- a/pkgs/by-name/ru/ruff/package.nix +++ b/pkgs/by-name/ru/ruff/package.nix @@ -16,18 +16,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruff"; - version = "0.15.1"; + version = "0.15.3"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ruff"; tag = finalAttrs.version; - hash = "sha256-Bj4ATRVYrKqigISNiDvgjUw4MLMwfgdID8MqaiVxz0g="; + hash = "sha256-xeZk044anJ21uQwV3VN1QOvav+soYVdArpEw/rr8Xsw="; }; cargoBuildFlags = [ "--package=ruff" ]; - cargoHash = "sha256-IF60aGv56Kh+wDYyN7XzLBywepvAxv2HMqSOz+Su2b4="; + cargoHash = "sha256-16Ao1y0pFWxGjHkGi4VCIA9msvA5Tka8wvok8o3g6rc="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/ru/rumdl/package.nix b/pkgs/by-name/ru/rumdl/package.nix index 01559bb72e1d8..f9aea3ccffbf8 100644 --- a/pkgs/by-name/ru/rumdl/package.nix +++ b/pkgs/by-name/ru/rumdl/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rumdl"; - version = "0.1.26"; + version = "0.1.28"; src = fetchFromGitHub { owner = "rvben"; repo = "rumdl"; tag = "v${finalAttrs.version}"; - hash = "sha256-+GWsVsDhHTWYP3JkNkEfYp9qU53TCKAjkvsZXpGeB8k="; + hash = "sha256-cf55SEIeN8aGHfz9mcsqaW+uh9KXId+17v4X4t2KHgU="; }; - cargoHash = "sha256-8XsHhXutb+W39OxVgKtFaE+34YTsj+DXNElnFS3DqAU="; + cargoHash = "sha256-IE7FDdSIIvYKhXBp6+EaNX3Y8tewU06ufiPUaOU/oIs="; cargoBuildFlags = [ "--bin=rumdl" diff --git a/pkgs/by-name/ru/runpodctl/package.nix b/pkgs/by-name/ru/runpodctl/package.nix index c1b278e2e0d21..9565f9eed3335 100644 --- a/pkgs/by-name/ru/runpodctl/package.nix +++ b/pkgs/by-name/ru/runpodctl/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "runpodctl"; - version = "1.14.15"; + version = "2.0.0"; src = fetchFromGitHub { owner = "runpod"; repo = "runpodctl"; rev = "v${finalAttrs.version}"; - hash = "sha256-D1B5j1HYSXDgr1vW8kHzCohu3HiDljTEhQhzfa5q/Us="; + hash = "sha256-NvGv4B/FT137fVrj67wPe2CZHIxcADjbPHAOK2T8vIw="; }; - vendorHash = "sha256-/0kNURJHIRS1thqEe8d+SAsm8NPOEJa//g9tyswrvFg="; + vendorHash = "sha256-UVM3eDtgysyoLHS21wUqqR7jOB64gClGyIytrNLcQn8="; postInstall = '' rm $out/bin/docs # remove the docs binary diff --git a/pkgs/by-name/ru/rustic/package.nix b/pkgs/by-name/ru/rustic/package.nix index e4e306e5589dc..f2c76c47c080f 100644 --- a/pkgs/by-name/ru/rustic/package.nix +++ b/pkgs/by-name/ru/rustic/package.nix @@ -5,23 +5,26 @@ rustPlatform, installShellFiles, nix-update-script, + tzdata, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "rustic"; - version = "0.10.3"; + version = "0.11.0"; src = fetchFromGitHub { owner = "rustic-rs"; repo = "rustic"; tag = "v${finalAttrs.version}"; - hash = "sha256-MYl6tcCpWsyU38YSXpK3uFaDpS351ct89JIXhvpVu+Q="; + hash = "sha256-2xSQ+nbP7/GsIWvj9sgG+jgIIIesfEW8T9z5Tijd90E="; }; - cargoHash = "sha256-RIkOyx1paYKeytNPAcD402hBQi36gys+6lMnmoR24L8="; + cargoHash = "sha256-4yiWIlibYldr3qny0KRRIHBqHCx6R9gDiiheGkJrwEY="; nativeBuildInputs = [ installShellFiles ]; + nativeCheckInputs = [ tzdata ]; + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd rustic \ --bash <($out/bin/rustic completions bash) \ @@ -29,6 +32,13 @@ rustPlatform.buildRustPackage (finalAttrs: { --zsh <($out/bin/rustic completions zsh) ''; + # We set TZDIR to avoid this warning during unit tests: + # > [WARN] could not find zoneinfo, concatenated tzdata or bundled time zone database + # This warning causes the check phase to fail. + preCheck = '' + export TZDIR=${tzdata}/share/zoneinfo + ''; + passthru.updateScript = nix-update-script { }; meta = { diff --git a/pkgs/by-name/ry/ryokucha/package.nix b/pkgs/by-name/ry/ryokucha/package.nix index 35ab71b0111b2..8edb6dd23a808 100644 --- a/pkgs/by-name/ry/ryokucha/package.nix +++ b/pkgs/by-name/ry/ryokucha/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ryokucha"; - version = "0.3.1"; + version = "0.4.0"; src = fetchFromGitHub { owner = "ryonakano"; repo = "ryokucha"; rev = finalAttrs.version; - hash = "sha256-bmN8ZiFjUXtWMrZz7BJtO/9TMjcc4d3x8EpFvhvsewY="; + hash = "sha256-imKZSbNZHKIbLtD9E0D+AaKTvGSz8u2/2dJR0cpn/fo="; }; outputs = [ diff --git a/pkgs/by-name/s7/s7/package.nix b/pkgs/by-name/s7/s7/package.nix index 1f6f75f1a1db7..a0b8cc669ff33 100644 --- a/pkgs/by-name/s7/s7/package.nix +++ b/pkgs/by-name/s7/s7/package.nix @@ -26,14 +26,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "s7"; - version = "11.7-unstable-2026-02-20"; + version = "11.7-unstable-2026-02-27"; src = fetchFromGitLab { domain = "cm-gitlab.stanford.edu"; owner = "bil"; repo = "s7"; - rev = "d4abc485036d30b65bc80ef041690a1d1fc371c8"; - hash = "sha256-nJskuS4WM58na0ohsNppqKiOLa98TInXkaWvPzhctoY="; + rev = "762eed4ddfc1134f8b18b74a0cc39434a65bc64c"; + hash = "sha256-3ww14LOWres0HA/4TRNMmNFkaFVqXBOrpsJgFv6qaYY="; }; buildInputs = diff --git a/pkgs/by-name/sa/saga/package.nix b/pkgs/by-name/sa/saga/package.nix index d69310d26e7fa..7d105488af7fd 100644 --- a/pkgs/by-name/sa/saga/package.nix +++ b/pkgs/by-name/sa/saga/package.nix @@ -43,11 +43,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "saga"; - version = "9.11.1"; + version = "9.11.3"; src = fetchurl { url = "mirror://sourceforge/saga-gis/saga-${finalAttrs.version}.tar.gz"; - hash = "sha256-cNk6/IcgqLgOrw2LaeM97pydFwLmDL6Mr169pjBNYDE="; + hash = "sha256-eBjsmF0hzaDRpC3xbuQhbxFKN2r6IQgqwG2/KshjChA="; }; sourceRoot = "saga-${finalAttrs.version}/saga-gis"; diff --git a/pkgs/by-name/sa/sandhole/package.nix b/pkgs/by-name/sa/sandhole/package.nix index 42869ae30c8e7..c2858bb892128 100644 --- a/pkgs/by-name/sa/sandhole/package.nix +++ b/pkgs/by-name/sa/sandhole/package.nix @@ -8,16 +8,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "sandhole"; - version = "0.9.0"; + version = "0.9.1"; src = fetchFromGitHub { owner = "EpicEric"; repo = "sandhole"; tag = "v${finalAttrs.version}"; - hash = "sha256-gIKBqHGwIvskxHCKG91HHO1/AwoRb3+NNpgFDNo0Yfc="; + hash = "sha256-HsTH3/j3S5pZ+StGElMjkBoqWKsixAP/TDWpPTO/h3M="; }; - cargoHash = "sha256-FNtJK3OlkL8dWSdIPd9EI7/RS2sG6BRlnPjDkpBApJM="; + cargoHash = "sha256-pGA1Q5gx1xNRpH3DGkJndLZkhm6ws52EBQKlIpWNOMo="; # All integration tests require networking. postPatch = '' diff --git a/pkgs/by-name/sc/scala-cli/sources.json b/pkgs/by-name/sc/scala-cli/sources.json index 87495f60d6827..7044d85a02806 100644 --- a/pkgs/by-name/sc/scala-cli/sources.json +++ b/pkgs/by-name/sc/scala-cli/sources.json @@ -1,21 +1,21 @@ { - "version": "1.12.2", + "version": "1.12.3", "assets": { "aarch64-darwin": { "asset": "scala-cli-aarch64-apple-darwin.gz", - "sha256": "1vr9gn70nisyiynglaq29l3rqfxn68lga5x3h5ycwl15ybkmv8wc" + "sha256": "036q4jxc0sx01qb7bfm1r1jfimkzjaijkdqh1yxbxc5vvna2pd34" }, "aarch64-linux": { "asset": "scala-cli-aarch64-pc-linux.gz", - "sha256": "14dmwmf5w7f58bi5hyb607ybjpajh2y37k3d6gw3kri2ww5lg1r6" + "sha256": "0avzzyvf59l4d63pl80wqfiw2l8gdfphz85a000ig3mfqqz3hrrg" }, "x86_64-darwin": { "asset": "scala-cli-x86_64-apple-darwin.gz", - "sha256": "0yf81yd1a9mfyiikyrjqhc8nanr932b1inyxdfwqba9vhc6r29b3" + "sha256": "05xrq0gr13l337a7bjrz13f5kjbh1fv2w97lli9fqsyn4sghchrv" }, "x86_64-linux": { "asset": "scala-cli-x86_64-pc-linux.gz", - "sha256": "00p8i6fb8czy1pfn8yjjzrl9mcn28mx5yjz0k3fc292ag2dly46q" + "sha256": "022psrs9xhfpdx52fjygfxkn7mwpdvp8dbsvdn7v1km2gpdmvxdx" } } } diff --git a/pkgs/by-name/sc/scalingo/package.nix b/pkgs/by-name/sc/scalingo/package.nix index ededdfe455060..5deee66cbb841 100644 --- a/pkgs/by-name/sc/scalingo/package.nix +++ b/pkgs/by-name/sc/scalingo/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "scalingo"; - version = "1.43.2"; + version = "1.43.3"; src = fetchFromGitHub { owner = "scalingo"; repo = "cli"; rev = version; - hash = "sha256-QyHZrRlbM2V6blk4KtYlyURjM1KjWj/l9X8td7nfHbs="; + hash = "sha256-2MKlE1NFllMgZM5Nq1SNB55PgkDiAJXdNZjmcfIgie4="; }; vendorHash = null; diff --git a/pkgs/by-name/sc/scdl/package.nix b/pkgs/by-name/sc/scdl/package.nix index 564390ad48920..9dc31eb0a0e7b 100644 --- a/pkgs/by-name/sc/scdl/package.nix +++ b/pkgs/by-name/sc/scdl/package.nix @@ -7,25 +7,22 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "scdl"; - version = "2.12.4"; + version = "3.0.4"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-5+3ok7UcJEdUW45bdPGkkvk+k/NYIpEi0URNuQ6e0vk="; + hash = "sha256-r7cvsoKTWE0W/pbjmbaGqra9+qb1MDxf2B5C/rdrCdU="; }; build-system = [ python3Packages.setuptools ]; dependencies = with python3Packages; [ + curl-cffi docopt-ng mutagen - termcolor - requests - tqdm - pathvalidate soundcloud-v2 - filelock + yt-dlp ]; # Ensure ffmpeg is available in $PATH: diff --git a/pkgs/by-name/sc/schemacrawler/package.nix b/pkgs/by-name/sc/schemacrawler/package.nix index 5400e483b1cb0..8d321fb4002a3 100644 --- a/pkgs/by-name/sc/schemacrawler/package.nix +++ b/pkgs/by-name/sc/schemacrawler/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "schemacrawler"; - version = "17.6.2"; + version = "17.6.3"; src = fetchzip { url = "https://github.com/schemacrawler/SchemaCrawler/releases/download/v${finalAttrs.version}/schemacrawler-${finalAttrs.version}-bin.zip"; - hash = "sha256-brG+HDSNX0Mfqdh7ALAu3CO6IWEkY/4d/gpuCUjX9jw="; + hash = "sha256-yWp2UJ0kwSebYj8jYGPODIJrmrPhmDzavhoJsVfYQWw="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/sc/scotch/package.nix b/pkgs/by-name/sc/scotch/package.nix index cdc572cbae56d..732e70d4dc78c 100644 --- a/pkgs/by-name/sc/scotch/package.nix +++ b/pkgs/by-name/sc/scotch/package.nix @@ -10,6 +10,7 @@ xz, zlib, mpi, + mpiCheckPhaseHook, withPtScotch ? false, testers, pkgsMusl ? { }, # default to empty set to avoid CI fails with allowVariants = false @@ -18,14 +19,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "scotch"; - version = "7.0.10"; + version = "7.0.11"; src = fetchFromGitLab { domain = "gitlab.inria.fr"; owner = "scotch"; repo = "scotch"; - rev = "v${finalAttrs.version}"; - hash = "sha256-qeMgTkoM/RDsZa0T6hmrDLbLuSeR8WNxllyHSlkMVzA="; + tag = "v${finalAttrs.version}"; + hash = "sha256-ljz4Xu3ztxhx8c+gRYABG85T9SuauQc4UsVHPmREvkk="; }; outputs = [ @@ -39,8 +40,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "BUILD_PTSCOTCH" withPtScotch) # Prefix Scotch version of MeTiS routines (lib.cmakeBool "SCOTCH_METIS_PREFIX" true) - # building tests is broken with SCOTCH_METIS_PREFIX enabled, at least since 7.0.9 - (lib.cmakeBool "ENABLE_TESTS" false) + (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) ]; nativeBuildInputs = [ @@ -60,6 +60,14 @@ stdenv.mkDerivation (finalAttrs: { mpi ]; + nativeCheckInputs = lib.optionals withPtScotch [ + mpiCheckPhaseHook + ]; + + __darwinAllowLocalNetworking = withPtScotch; + + doCheck = true; + # SCOTCH provide compatibility with Metis/Parmetis interface. # We install the metis compatible headers to subdirectory to # avoid conflict with metis/parmetis. diff --git a/pkgs/by-name/sc/scss-lint/package.nix b/pkgs/by-name/sc/scss-lint/package.nix index 9957fe44cfcd2..99050ed45ac44 100644 --- a/pkgs/by-name/sc/scss-lint/package.nix +++ b/pkgs/by-name/sc/scss-lint/package.nix @@ -16,7 +16,6 @@ bundlerApp { homepage = "https://github.com/brigade/scss-lint"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ - lovek323 nicknovitski ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/sd/sd/package.nix b/pkgs/by-name/sd/sd/package.nix index ae1ed8ccc5157..4fa27641f1f00 100644 --- a/pkgs/by-name/sd/sd/package.nix +++ b/pkgs/by-name/sd/sd/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "sd"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "chmln"; repo = "sd"; rev = "v${finalAttrs.version}"; - hash = "sha256-hC4VKEgrAVuqOX7b24XhtrxrnJW5kmlX4E6QbY9H8OA="; + hash = "sha256-HK53+1oH3EJm4Tg6BhLtG575FlBREb0OCetIQuCsBNc="; }; - cargoHash = "sha256-KbEw09tTsUl9BLQsL7lW4VQq6D9E4lBiZf3Jrthst2Y="; + cargoHash = "sha256-iOCIX7hq8RqRihVQrVoU2qCTSziuJePxsexkDSCZS9c="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/sd/sdcv/package.nix b/pkgs/by-name/sd/sdcv/package.nix index 5fc3ce0d999de..6545f22be100f 100644 --- a/pkgs/by-name/sd/sdcv/package.nix +++ b/pkgs/by-name/sd/sdcv/package.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "https://dushistov.github.io/sdcv/"; description = "Console version of StarDict"; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; license = lib.licenses.gpl2; platforms = lib.platforms.unix; mainProgram = "sdcv"; diff --git a/pkgs/by-name/sd/sdl3/package.nix b/pkgs/by-name/sd/sdl3/package.nix index b61ee3d47ba28..d9cd79bf5dc97 100644 --- a/pkgs/by-name/sd/sdl3/package.nix +++ b/pkgs/by-name/sd/sdl3/package.nix @@ -70,7 +70,7 @@ assert lib.assertMsg (ibusSupport -> dbusSupport) "SDL3 requires dbus support to stdenv.mkDerivation (finalAttrs: { pname = "sdl3"; - version = "3.4.0"; + version = "3.4.2"; outputs = [ "lib" @@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "libsdl-org"; repo = "SDL"; tag = "release-${finalAttrs.version}"; - hash = "sha256-/A1y/NaZVebzI58F4TlwtDwuzlcA33Y1YuZqd5lz/Sk="; + hash = "sha256-ev0QiKyj0O6gtk7cK/V0X5Noft0Zo/fMS+oM6emwynE="; }; postPatch = @@ -172,6 +172,7 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "SDL_ALSA" alsaSupport) (lib.cmakeBool "SDL_DBUS" dbusSupport) + (lib.cmakeBool "SDL_HIDAPI_LIBUSB" libusbSupport) (lib.cmakeBool "SDL_IBUS" ibusSupport) (lib.cmakeBool "SDL_JACK" jackSupport) (lib.cmakeBool "SDL_KMSDRM" drmSupport) @@ -182,6 +183,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "SDL_SNDIO" sndioSupport) (lib.cmakeBool "SDL_TEST_LIBRARY" true) (lib.cmakeBool "SDL_TRAY_DUMMY" (!traySupport)) + (lib.cmakeBool "SDL_VULKAN" vulkanSupport) (lib.cmakeBool "SDL_WAYLAND" waylandSupport) (lib.cmakeBool "SDL_WAYLAND_LIBDECOR" libdecorSupport) (lib.cmakeBool "SDL_X11" x11Support) @@ -198,11 +200,7 @@ stdenv.mkDerivation (finalAttrs: { && !(stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAndroid) && !(x11Support || waylandSupport) )) - ] - ++ lib.optional (libusbSupport != stdenv.hostPlatform.isLinux) ( - lib.cmakeBool "SDL_HIDAPI_LIBUSB" libusbSupport - ) - ++ lib.optional (!vulkanSupport) (lib.cmakeBool "SDL_VULKAN" vulkanSupport); + ]; doCheck = true; diff --git a/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix b/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix index 39743975c2b62..a88bf89318718 100644 --- a/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix +++ b/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "sdl_gamecontrollerdb"; - version = "0-unstable-2026-02-18"; + version = "0-unstable-2026-02-26"; src = fetchFromGitHub { owner = "mdqinc"; repo = "SDL_GameControllerDB"; - rev = "a050623bb0e35e3e0ba635c48faddecf42ff225c"; - hash = "sha256-yZiM3ykAII6PK4PCvu+knyHLg7orbCT9eYGvZWuU1F4="; + rev = "23873434e9ce207ff2622a4161e70f78263dbcc7"; + hash = "sha256-WBMHjEDj5y0sVNqASZbn0cICJ1IwKD6N39WXeUQ9tn8="; }; dontBuild = true; diff --git a/pkgs/by-name/se/search-vulns/package.nix b/pkgs/by-name/se/search-vulns/package.nix index b669d34839ac0..29f15ffb29e48 100644 --- a/pkgs/by-name/se/search-vulns/package.nix +++ b/pkgs/by-name/se/search-vulns/package.nix @@ -6,14 +6,14 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pname = "search-vulns"; - version = "1.0.4"; + version = "1.0.5"; pyproject = true; src = fetchFromGitHub { owner = "ra1nb0rn"; repo = "search_vulns"; tag = "v${finalAttrs.version}"; - hash = "sha256-lQyd5FmiBlno+BEXou70XOAv1hkwxIs0BCoNESYjjZM="; + hash = "sha256-Or0B6ENoSpaoYwUsd2jrDKr5gHjORMxvTQzlkoNkPdw="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/se/secretspec/package.nix b/pkgs/by-name/se/secretspec/package.nix index 8040cf5e544b5..8e292a168802a 100644 --- a/pkgs/by-name/se/secretspec/package.nix +++ b/pkgs/by-name/se/secretspec/package.nix @@ -9,14 +9,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "secretspec"; - version = "0.7.0"; + version = "0.7.2"; src = fetchCrate { inherit (finalAttrs) pname version; - hash = "sha256-ik4ieQifB5MFvyr6cmcwvcyr3HyUB5aHpVIhnpVB1i8="; + hash = "sha256-2rg6A0TitVf5Q9+DdtDNt0YaUyVSCzAuAJX87RTCbpU="; }; - cargoHash = "sha256-3xaJySTsGPjU8sDL7j0biEdpcrNuOspdf41iHH6BE4o="; + cargoHash = "sha256-uOx1vXrQUmjtBM3fg56wBhrOZCYbrex8gHAvhXTkDzw="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ dbus ]; diff --git a/pkgs/by-name/se/seqkit/package.nix b/pkgs/by-name/se/seqkit/package.nix index a80e06257097e..05bbf1e077e43 100644 --- a/pkgs/by-name/se/seqkit/package.nix +++ b/pkgs/by-name/se/seqkit/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "seqkit"; - version = "2.12.0"; + version = "2.13.0"; src = fetchFromGitHub { owner = "shenwei356"; repo = "seqkit"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-9+eu4M58nG/tOdEW7fO8f+dMJewMjQsWfzH/KpSBDB8="; + sha256 = "sha256-IZhQHB96uFQGfAqCJiT4EdkDT605EHu7eSQa/i4d3hQ="; }; - vendorHash = "sha256-TsL7iYZoxCGR2gl2YlNCnmssVui8TLKN8JTtLAzgvH4="; + vendorHash = "sha256-HDyytwFIfvDGMmcMVH0F2NAttygTUu8PS4RvKK0TzLE="; meta = { description = "Cross-platform and ultrafast toolkit for FASTA/Q file manipulation"; diff --git a/pkgs/by-name/se/serigy/package.nix b/pkgs/by-name/se/serigy/package.nix index 1ecf855b9d082..0975334597825 100644 --- a/pkgs/by-name/se/serigy/package.nix +++ b/pkgs/by-name/se/serigy/package.nix @@ -14,21 +14,16 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "serigy"; - version = "1.1"; + version = "2.0.0"; pyproject = false; # uses meson src = fetchFromGitHub { owner = "CleoMenezesJr"; repo = "Serigy"; tag = finalAttrs.version; - hash = "sha256-1PlGR7aX7Ekrbe7+Qm0E1h6yl6CzdIcV2R3MSIIeH6o="; + hash = "sha256-0Dc/Y0GYXMNFQ1rWCQaCZzN1Z8lMwdj0wO47pLUV5mM="; }; - postPatch = '' - substituteInPlace src/setup_dialog.py \ - --replace-fail "flatpak run io.github.cleomenezesjr.Serigy" "serigy" - ''; - nativeBuildInputs = [ meson ninja diff --git a/pkgs/by-name/se/serverpod_cli/package.nix b/pkgs/by-name/se/serverpod_cli/package.nix index 51d03f98c9526..243834b204211 100644 --- a/pkgs/by-name/se/serverpod_cli/package.nix +++ b/pkgs/by-name/se/serverpod_cli/package.nix @@ -14,7 +14,7 @@ buildDartApplication rec { src = fetchFromGitHub { owner = "serverpod"; repo = "serverpod"; - rev = version; + tag = version; hash = "sha256-4vpZiqvzhcAziElfzssw4bLYTO5/dhai3C8LEpn0eAo="; }; @@ -50,7 +50,7 @@ buildDartApplication rec { passthru.updateScript = ./update.sh; - meta = with lib; { + meta = { mainProgram = "serverpod"; homepage = "https://serverpod.dev"; description = "Command line tools for Serverpod"; @@ -63,7 +63,7 @@ buildDartApplication rec { and you can host your server anywhere. ''; changelog = "https://raw.githubusercontent.com/serverpod/serverpod/${version}/CHANGELOG.md"; - license = licenses.bsd3; + license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ KristijanZic ]; }; } diff --git a/pkgs/by-name/se/servo/package.nix b/pkgs/by-name/se/servo/package.nix index 24e7cea50f6bc..7ce62bf3273f2 100644 --- a/pkgs/by-name/se/servo/package.nix +++ b/pkgs/by-name/se/servo/package.nix @@ -69,13 +69,13 @@ in rustPlatform.buildRustPackage (finalAttrs: { pname = "servo"; - version = "0.0.4"; + version = "0.0.5"; src = fetchFromGitHub { owner = "servo"; repo = "servo"; tag = "v${finalAttrs.version}"; - hash = "sha256-KKZDz0NTIEx1NpTjDtrZdZD2RLxtZYarwn54RbPPeCA="; + hash = "sha256-XBaILyWIM1BecnJrkoFy4Q/zf7+n65Mv/wOxT4OheiU="; # Breaks reproducibility depending on whether the picked commit # has other ref-names or not, which may change over time, i.e. with # "ref-names: HEAD -> main" as long this commit is the branch HEAD @@ -85,7 +85,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; }; - cargoHash = "sha256-huQ3dq5tTLN53fOhj458aH00jFnt6CWZQhJ9MogktJM="; + cargoHash = "sha256-iGS56vh4tgpJDLoXp7ou0/4+9onb3W3MEBzjcEOXjsw="; # set `HOME` to a temp dir for write access # Fix invalid option errors during linking (https://github.com/mozilla/nixpkgs-mozilla/commit/c72ff151a3e25f14182569679ed4cd22ef352328) diff --git a/pkgs/by-name/se/seventeenlands/package.nix b/pkgs/by-name/se/seventeenlands/package.nix index e610b5b13af77..f870186fb663a 100644 --- a/pkgs/by-name/se/seventeenlands/package.nix +++ b/pkgs/by-name/se/seventeenlands/package.nix @@ -5,12 +5,12 @@ }: python3.pkgs.buildPythonApplication (finalAttrs: { pname = "seventeenlands"; - version = "0.1.43"; + version = "0.1.44"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-oTF4dtMKhx2YR80goKTcyq2P0mxAKLE2Ze5HbMNvyGg="; + hash = "sha256-yz+HGovKIuu3Ou1jo+aNJPiNiERVZvsTtiy9tVhySwI="; }; # No tests @@ -18,7 +18,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pythonImportsCheck = [ "seventeenlands" ]; - build-system = with python3.pkgs; [ setuptools ]; + build-system = with python3.pkgs; [ hatchling ]; dependencies = with python3.pkgs; [ python-dateutil diff --git a/pkgs/by-name/sh/shattered-pixel-dungeon/deps.json b/pkgs/by-name/sh/shattered-pixel-dungeon/deps.json index bd67d4f5150ff..7c7f6cd5a330b 100644 --- a/pkgs/by-name/sh/shattered-pixel-dungeon/deps.json +++ b/pkgs/by-name/sh/shattered-pixel-dungeon/deps.json @@ -1,73 +1,14 @@ { "!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.", "!version": 1, - "https://central.sonatype.com/repository/maven-snapshots/com/badlogicgames": { - "gdx#gdx-backend-lwjgl3/1.13.6-20251003.170113-33/SNAPSHOT": { - "jar": "sha256-T2/VHXjfySwA+IjO2Bm0h29WvyoJsKyLmx2lkkBVJRw=", - "module": "sha256-JNBWxVhzTj4LFBGT/kZc36chXJ2uqwaUtcMUGQFLn2I=", - "pom": "sha256-P7DA/UDAWmA+/t4H3EJkktKK/e9+pX0gH4fpljqZXWQ=" - }, - "gdx#gdx-freetype-platform/1.13.6-20251003.170113-34/SNAPSHOT": { - "pom": "sha256-kTnggHqjEcoBlUTM+K15WHCqKodiKvGPrgnTHuTKU4o=" - }, - "gdx#gdx-freetype-platform/1.13.6-20251003.170113-34/SNAPSHOT/natives-desktop": { - "jar": "sha256-oHueMYiUcjnj/Ub6rxlyvLcqXRCVNlqGlV27aYHBqAs=" - }, - "gdx#gdx-freetype/1.13.6-20251003.170113-34/SNAPSHOT": { - "jar": "sha256-S6xHm1D4e5bWdtozqD1fwHe86HZAfnZ6KhzlIxXFf7s=", - "module": "sha256-gqUIFknNKRsg9HMnX0Gis0IEvIpJW8kphcjtwCAoLo4=", - "pom": "sha256-wi92v9kAtTv++AZjKT3wJYBeISF98NLNy26X9kEVFSk=" - }, - "gdx#gdx-platform/1.13.6-20251003.170113-33/SNAPSHOT": { - "pom": "sha256-UW0w1+UTHDD4HaYruY6QVmd/ur/0vHS4wYDZ5hDCEuQ=" - }, - "gdx#gdx-platform/1.13.6-20251003.170113-33/SNAPSHOT/natives-desktop": { - "jar": "sha256-yBteE7BAK+MEG1e43PjmQZy03S6LIcvJt4W41bGp34s=" - }, - "gdx#gdx/1.13.6-20251003.170113-33/SNAPSHOT": { - "jar": "sha256-GUbkm354hjSxjlPFsfQmTQi5FDcGEQUEry+avKWhsxI=", - "module": "sha256-t9BpvisJ2P37hHmwRUGxAKbCwhH6faZXL9AZ9V4T8Hw=", - "pom": "sha256-aDtJJZT/VHJyxd5RKFrQbc32IFT2wk9R7LeDvhBt8v4=" - }, - "gdx/gdx-backend-lwjgl3/1.13.6-SNAPSHOT/maven-metadata": { - "xml": { - "groupId": "com.badlogicgames.gdx", - "lastUpdated": "20251003191628" - } - }, - "gdx/gdx-freetype-platform/1.13.6-SNAPSHOT/maven-metadata": { - "xml": { - "groupId": "com.badlogicgames.gdx", - "lastUpdated": "20251003191640" - } - }, - "gdx/gdx-freetype/1.13.6-SNAPSHOT/maven-metadata": { - "xml": { - "groupId": "com.badlogicgames.gdx", - "lastUpdated": "20251003191639" - } - }, - "gdx/gdx-platform/1.13.6-SNAPSHOT/maven-metadata": { - "xml": { - "groupId": "com.badlogicgames.gdx", - "lastUpdated": "20251010022949" - } - }, - "gdx/gdx/1.13.6-SNAPSHOT/maven-metadata": { - "xml": { - "groupId": "com.badlogicgames.gdx", - "lastUpdated": "20251003191624" - } - } - }, "https://plugins.gradle.org/m2/org": { - "beryx#badass-runtime-plugin/1.13.1": { - "jar": "sha256-IW3RL1SacHD31B2wTupXAaF5Z0mzVerAzkMVLs0DGBc=", - "module": "sha256-Jf4I7QwECTJuc38vDJ/7BhyFQihl53ATdMOVyjpy9PA=", - "pom": "sha256-qZgenE/Me3hqUL+/IW93EBgs27ECjqsGiavMYeS37XI=" + "beryx#badass-runtime-plugin/2.0.1": { + "jar": "sha256-qc8YDAVtxs/vU2XOjloPJml5eJr7CUdlERPRyqm2UhQ=", + "module": "sha256-Y1r26XwZhilpzegxJvdwltB8i536+fk+x2sQYCukbcY=", + "pom": "sha256-l6xBsi4rPVcN9UXfSjFHmkVqH5O0bMl27Jo/WdHw/Ak=" }, - "beryx/runtime#org.beryx.runtime.gradle.plugin/1.13.1": { - "pom": "sha256-7SsiPX22wuiujLyvq8E96b0kKfwfNMtEFVh0jJCBu+U=" + "beryx/runtime#org.beryx.runtime.gradle.plugin/2.0.1": { + "pom": "sha256-Jm5jyHX+OFPIobK4qpMSMU2uK+ceihR2Z/mSnRwc1tQ=" }, "slf4j#slf4j-api/1.7.32": { "jar": "sha256-NiT4R0wa9G11+YvAl9eGSjI8gbOAiqQ2iabhxgHAJ74=", @@ -78,11 +19,38 @@ } }, "https://repo.maven.apache.org/maven2": { + "com/badlogicgames/gdx#gdx-backend-lwjgl3/1.14.0": { + "jar": "sha256-3pV68nyhyv+3eO2hqNMbmDXcc/AEcB0WduyjOWMHICA=", + "module": "sha256-GJYW7PSrxbXLJMt1Xwc+IsogkUv4ojCdFdJ/fnpoyOU=", + "pom": "sha256-S+xaAWtXxkg0Rruzr4XV0V9f4gedhSpnTcVLMOWd9pY=" + }, + "com/badlogicgames/gdx#gdx-freetype-platform/1.14.0": { + "pom": "sha256-qQmd0nb4AW2O5i/+TUneaeGohmjS2crXrGc7PvSbKM0=" + }, + "com/badlogicgames/gdx#gdx-freetype-platform/1.14.0/natives-desktop": { + "jar": "sha256-SFwrJdkZBLlBQ0Bm+BAgBpJHMMLCONBIcq5goC63Ofc=" + }, + "com/badlogicgames/gdx#gdx-freetype/1.14.0": { + "jar": "sha256-Pr/nUymeEYNLyIzzxMDCzIucJDWsA+VgsKh2QlZYK7Q=", + "module": "sha256-fUf8X7lgc5I5ddUqrgMuACcJ144JKU/wOK6K3R7W44A=", + "pom": "sha256-Rtq9qlQ6ZRDgUGOMNmphRdkGkbIaBiEf+rSbICMyQiw=" + }, "com/badlogicgames/gdx#gdx-jnigen-loader/2.5.2": { "jar": "sha256-34HyPP1nhcUtNeEI7qo5MPVZ1NJ3CmEC51ynv6b58no=", "module": "sha256-jwtii5G9Ez24XxUuFZMprPf0tmeDvR32AcNZfcJRIiQ=", "pom": "sha256-i0dgu2bbPz+ZuEBj7z6ZDWOhzZx81XSlatf07kvRdoc=" }, + "com/badlogicgames/gdx#gdx-platform/1.14.0": { + "pom": "sha256-2Ps74A82eRr6thqFkeVCr7qkkQEHoFdUnMlwBu2NoRs=" + }, + "com/badlogicgames/gdx#gdx-platform/1.14.0/natives-desktop": { + "jar": "sha256-qKjJzM9endUYJWs8315raJpdaWoU4EYK9bDLxR218vE=" + }, + "com/badlogicgames/gdx#gdx/1.14.0": { + "jar": "sha256-owWJXpFfxfWUg95dOZokoMpi/hFQFf/oIQw249ZPgSY=", + "module": "sha256-xJCoyufsdrraEiLaEyJl5fqyyyzc3q51IXrIhkmUWyU=", + "pom": "sha256-CiUFNinRwfRgZMN7orOC0MRmQstKTssVF3jbNXEKmgw=" + }, "com/badlogicgames/gdx-controllers#gdx-controllers-core/2.2.4": { "jar": "sha256-BNpnYnsaNkbvjyFMkdKWdCp8BVl9vCFnqqsJy9zHdHA=", "module": "sha256-dxOP5TsOdeRf4dOROsublicWFxCuVPJUR0sizmp6pIA=", diff --git a/pkgs/by-name/sh/shattered-pixel-dungeon/package.nix b/pkgs/by-name/sh/shattered-pixel-dungeon/package.nix index c37d7606ae92d..c08c929b27f00 100644 --- a/pkgs/by-name/sh/shattered-pixel-dungeon/package.nix +++ b/pkgs/by-name/sh/shattered-pixel-dungeon/package.nix @@ -6,13 +6,13 @@ callPackage ./generic.nix rec { pname = "shattered-pixel-dungeon"; - version = "3.2.5"; + version = "3.3.5"; src = fetchFromGitHub { owner = "00-Evan"; repo = "shattered-pixel-dungeon"; tag = "v${version}"; - hash = "sha256-ltCKM46nzZZVJqHzo3V0Igyd4q+uD95fuLMWCi18jbQ="; + hash = "sha256-NxeDF0bfQJsJiWkAD8ynjtezPZZ5TaU0ih1t2uVtXVU="; }; patches = [ ]; diff --git a/pkgs/by-name/sh/shishi/package.nix b/pkgs/by-name/sh/shishi/package.nix index 71b3c96b2477f..7b826ca7bba04 100644 --- a/pkgs/by-name/sh/shishi/package.nix +++ b/pkgs/by-name/sh/shishi/package.nix @@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.gnu.org/software/shishi/"; description = "Implementation of the Kerberos 5 network security system"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/si/sif/package.nix b/pkgs/by-name/si/sif/package.nix index f4393743b56b0..407b062fac860 100644 --- a/pkgs/by-name/si/sif/package.nix +++ b/pkgs/by-name/si/sif/package.nix @@ -7,16 +7,16 @@ buildGoModule { pname = "sif"; - version = "0-unstable-2026-02-13"; + version = "0-unstable-2026-02-23"; src = fetchFromGitHub { owner = "vmfunc"; repo = "sif"; - rev = "03bfe70cff2249cef6e52679aba3d411916a4dd1"; - hash = "sha256-tIV9h5kaXq4CKDDexSxiDXcWD2l510qXt5BBxwFV8Nw="; + rev = "fef7806ac22938a480cc35e429f6862b758928a5"; + hash = "sha256-mLz6CXpxbo7zQTgOxJJ7tvvCi/X2LWS+87iGDKhXeo4="; }; - vendorHash = "sha256-kbFNnPf8A4dtTnk/XBArgM6yOE2gbW6mXR5oevkQ6Ms="; + vendorHash = "sha256-svuWF0mUfUBKpigY34A7Iio3d4LIR1wj2ks4KGUv0wE="; subPackages = [ "cmd/sif" ]; diff --git a/pkgs/by-name/si/signal-desktop/package.nix b/pkgs/by-name/si/signal-desktop/package.nix index 1b7554e31d491..a5594d081bcb5 100644 --- a/pkgs/by-name/si/signal-desktop/package.nix +++ b/pkgs/by-name/si/signal-desktop/package.nix @@ -55,13 +55,13 @@ let ''; }); - version = "7.90.0"; + version = "8.0.0"; src = fetchFromGitHub { owner = "signalapp"; repo = "Signal-Desktop"; tag = "v${version}"; - hash = "sha256-MkvIv9ohFtu4e3IK4hciWC32xiw18/kdm7pHEc436Bc="; + hash = "sha256-7Z9VoqNYTrAdIAeXVijJofThYuMMcDTVykwdWrpOmX0="; }; sticker-creator = stdenv.mkDerivation (finalAttrs: { @@ -72,8 +72,8 @@ let pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname src version; inherit pnpm; - fetcherVersion = 1; - hash = "sha256-m/JxsKnVhcya7dUz1MBMQKwEdqoV3xQiGOoT4egh3K4="; + fetcherVersion = 3; + hash = "sha256-WbdYcI5y01gdS9AIzy4VZZ6eFaTHaVPscTawLSsHzlc="; }; strictDeps = true; @@ -160,18 +160,18 @@ stdenv.mkDerivation (finalAttrs: { patches ; inherit pnpm; - fetcherVersion = 1; + fetcherVersion = 3; hash = if withAppleEmojis then - "sha256-sXDAAbrRFgOT+wRZqHAjEudmcUdBEbpkPWJpiB+MqDw=" + "sha256-BsHBdN9pk3Fi6HRJuMmMD9QU/iie2m1jZy/zSsIO6Q8=" else - "sha256-uEXm4lFTJ7U9I/I1UiETy1fIHzAPP7tr9SsPQ5lWsFw="; + "sha256-3HLBKd2KzGWUuhIWCPx2teub9isYMHKYw0cgPVOueQI="; }; env = { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; SIGNAL_ENV = "production"; - SOURCE_DATE_EPOCH = 1771441806; + SOURCE_DATE_EPOCH = 1772057792; } // lib.optionalAttrs stdenv.hostPlatform.isDarwin { # Disable code signing during local macOS builds. diff --git a/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix b/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix index d753e1d9d9380..de9a54cbacadd 100644 --- a/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix +++ b/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix @@ -27,8 +27,8 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; inherit pnpm; # may be different than top-level pnpm - fetcherVersion = 1; - hash = "sha256-regaYG+SDvIgdnHQVR1GG1A1FSBXpzFfLuyTEdMt1kQ="; + fetcherVersion = 3; + hash = "sha256-/EcPuqTXXGw1dEN6l1x84cUGyx890/rujjT+zJouIvM="; }; cargoRoot = "deps/extension"; diff --git a/pkgs/by-name/si/signalbackup-tools/package.nix b/pkgs/by-name/si/signalbackup-tools/package.nix index 40f710c881400..feaaa9d28d450 100644 --- a/pkgs/by-name/si/signalbackup-tools/package.nix +++ b/pkgs/by-name/si/signalbackup-tools/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "signalbackup-tools"; - version = "20260217"; + version = "20260218-1"; src = fetchFromGitHub { owner = "bepaald"; repo = "signalbackup-tools"; tag = finalAttrs.version; - hash = "sha256-Pd9Hqepm/vxUSKePymi2V6UG8UB3Aj0Jz/UORdYn1J8="; + hash = "sha256-axwER9LrgKxt8jVYPn3DsIJ4lW6zadLvfGXySYqs7J4="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/si/simdjson/package.nix b/pkgs/by-name/si/simdjson/package.nix index be514078a9441..78f94baca2eb1 100644 --- a/pkgs/by-name/si/simdjson/package.nix +++ b/pkgs/by-name/si/simdjson/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "simdjson"; - version = "4.2.4"; + version = "4.3.1"; src = fetchFromGitHub { owner = "simdjson"; repo = "simdjson"; tag = "v${finalAttrs.version}"; - hash = "sha256-TTZcdnD7XT5n39n7rSlA81P3pid+5ek0noxjXAGbb64="; + hash = "sha256-SSNbVBGul8NogDfFHR2gZ80d1CNRrBjZBC+7kxItnFo="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/si/sing-box/package.nix b/pkgs/by-name/si/sing-box/package.nix index 460ae92cb25b8..6e6abaf07cb6f 100644 --- a/pkgs/by-name/si/sing-box/package.nix +++ b/pkgs/by-name/si/sing-box/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "sing-box"; - version = "1.12.22"; + version = "1.12.23"; src = fetchFromGitHub { owner = "SagerNet"; repo = "sing-box"; tag = "v${finalAttrs.version}"; - hash = "sha256-dLgvI3E5zQWNHxIIUi1WLs62rc3A3lwDpHjq1n09KXM="; + hash = "sha256-GzZgsRvbSpppTFY7Jm+56nCi5auDzV34i0K7fKOMafk="; }; vendorHash = "sha256-CSAXPvXMUwD08fsp66vr1pA4Wxy0rY2cEJU1Pl0mdUA="; @@ -36,6 +36,8 @@ buildGoModule (finalAttrs: { "cmd/sing-box" ]; + env.CGO_ENABLED = 0; + nativeBuildInputs = [ installShellFiles ]; ldflags = [ diff --git a/pkgs/by-name/si/sioyek/package.nix b/pkgs/by-name/si/sioyek/package.nix index 62604e8ee377f..a030634214b31 100644 --- a/pkgs/by-name/si/sioyek/package.nix +++ b/pkgs/by-name/si/sioyek/package.nix @@ -15,13 +15,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "sioyek"; - version = "2.0.0-unstable-2026-02-12"; + version = "2.0.0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "ahrm"; repo = "sioyek"; - rev = "7b2b26547da4b644d646686a53b087d26ac7413f"; - hash = "sha256-5ObudXMbUD37LbbtGKW9SDxPHaZx6QBMh+66fyY3NGo="; + rev = "b526a54a98e16275b118dfba73171177008d6970"; + hash = "sha256-/ZYSiSuEGrbaWU7ZYXQl5ztL5AMGhOkDFyR2ftfEuVw="; }; buildInputs = [ diff --git a/pkgs/by-name/si/siyuan/package.nix b/pkgs/by-name/si/siyuan/package.nix index 90818ab0739f1..b5e30f38e30fd 100644 --- a/pkgs/by-name/si/siyuan/package.nix +++ b/pkgs/by-name/si/siyuan/package.nix @@ -36,20 +36,20 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "siyuan"; - version = "3.5.5"; + version = "3.5.8"; src = fetchFromGitHub { owner = "siyuan-note"; repo = "siyuan"; rev = "v${finalAttrs.version}"; - hash = "sha256-iGwREddg5Pzr6fM/YTYj28g+p8tkQa9EiM6py94UlSc="; + hash = "sha256-mXDro4m2QZEUcljpQNC5JqhVbRZgBVU1Wfiq1JtS0B0="; }; kernel = buildGoModule { name = "${finalAttrs.pname}-${finalAttrs.version}-kernel"; inherit (finalAttrs) src; sourceRoot = "${finalAttrs.src.name}/kernel"; - vendorHash = "sha256-4yqUUP6b2KL+xLKQTiTPqIISyqdIsHpf+p1jsG/kquI="; + vendorHash = "sha256-i7eq8RDbuv+FzreClW8JFocUs7R8A02cOZ8NaAGBMfA="; patches = [ (replaceVars ./set-pandoc-path.patch { @@ -100,7 +100,7 @@ stdenv.mkDerivation (finalAttrs: { ; pnpm = pnpm_9; fetcherVersion = 1; - hash = "sha256-i11Hr/KA7Q27Z26AOmc6GNwSW/ZcwSyaNtNBJii5r2A="; + hash = "sha256-GLwREEnDf3NIbQsX+LA/n6zZYvTlyiJaozfKyk04go8="; }; sourceRoot = "${finalAttrs.src.name}/app"; diff --git a/pkgs/by-name/si/sizelint/package.nix b/pkgs/by-name/si/sizelint/package.nix index f42f6c1c7b210..7bac1c3ef04c7 100644 --- a/pkgs/by-name/si/sizelint/package.nix +++ b/pkgs/by-name/si/sizelint/package.nix @@ -7,18 +7,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "sizelint"; - version = "0.1.4"; + version = "0.1.5"; src = fetchFromGitHub { owner = "a-kenji"; repo = "sizelint"; tag = "v${finalAttrs.version}"; - hash = "sha256-1k1+7fVWhflEKyhOlb7kMn2xqeAM6Y5N9uHtOJvVn4A="; + hash = "sha256-m8Pd7Bnz++5k6J4stbKVd8Y596Y+52xbF0zFJVhdfzI="; }; nativeCheckInputs = [ git ]; - cargoHash = "sha256-Z+pmlp/0LlKfc4QLosePw7TdLFYe6AnAVOJSw2DzlfI="; + cargoHash = "sha256-7cDZrRNTGPdzbvVNt3/HTp7PgoH2txX26RCxdpeo4dM="; meta = { description = "Lint your file tree based on file sizes"; diff --git a/pkgs/by-name/sk/skim/package.nix b/pkgs/by-name/sk/skim/package.nix index cedda3d8e2d2c..690a0e99ba3e2 100644 --- a/pkgs/by-name/sk/skim/package.nix +++ b/pkgs/by-name/sk/skim/package.nix @@ -12,7 +12,7 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "skim"; - version = "3.4.0"; + version = "3.5.0"; outputs = [ "out" @@ -24,14 +24,14 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "skim-rs"; repo = "skim"; tag = "v${finalAttrs.version}"; - hash = "sha256-s0aC+gHqxX/SEiWsqB4mgl27eZ65RtVmgXX/veus1IQ="; + hash = "sha256-Jm0mrxhjjggnfgp0mnau/LI0HwA8A9NkLIwm/ongI/s="; }; postPatch = '' sed -i -e "s|expand(':h:h')|'$out'|" plugin/skim.vim ''; - cargoHash = "sha256-Y3WQlzzciYVqVjq0UtAb+4wZwKXLOUpYozriG/w5lJI="; + cargoHash = "sha256-AU7Mkyjq3I6RmVlYz6A/AEgEyL0q1LwmagYT9v3j60U="; nativeBuildInputs = [ installShellFiles ]; nativeCheckInputs = [ diff --git a/pkgs/by-name/sl/slade-unstable/package.nix b/pkgs/by-name/sl/slade-unstable/package.nix index 14eebfe9310eb..3377d07a6a2ca 100644 --- a/pkgs/by-name/sl/slade-unstable/package.nix +++ b/pkgs/by-name/sl/slade-unstable/package.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation { pname = "slade"; - version = "3.2.11-unstable-2026-02-18"; + version = "3.2.12-unstable-2026-02-21"; src = fetchFromGitHub { owner = "sirjuddington"; repo = "SLADE"; - rev = "3615810ce2aee36909fb0a1a1e8a605edc2caf81"; - hash = "sha256-/70LynJvcrjM4ztudaPp2pv6hPy+TQXwafwLj0n7T8E="; + rev = "030cab09eb2108c65b47c088d1ce97d27e671b9a"; + hash = "sha256-dU08yoHikQsGO9yEhFoRvWE1C38ZQ1W/f7DmJyrAijQ="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/sn/snes9x/glslang-include-cstdint.patch b/pkgs/by-name/sn/snes9x/glslang-include-cstdint.patch new file mode 100644 index 0000000000000..d6bc643e1eb2a --- /dev/null +++ b/pkgs/by-name/sn/snes9x/glslang-include-cstdint.patch @@ -0,0 +1,10 @@ +--- a/external/glslang/SPIRV/SpvBuilder.h ++++ b/external/glslang/SPIRV/SpvBuilder.h +@@ -61,6 +61,7 @@ + #include "spirv.hpp" + #include "spvIR.h" + ++#include + #include + #include + #include diff --git a/pkgs/by-name/sn/snes9x/package.nix b/pkgs/by-name/sn/snes9x/package.nix index 316d8a8dc1bd5..76eca8ac9e59e 100644 --- a/pkgs/by-name/sn/snes9x/package.nix +++ b/pkgs/by-name/sn/snes9x/package.nix @@ -42,6 +42,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-INMVyB3alwmsApO7ToAaUWgh7jlg2MeLxqHCEnUO88U="; }; + patches = [ + ./glslang-include-cstdint.patch + ]; + nativeBuildInputs = [ pkg-config python3 diff --git a/pkgs/by-name/sn/snipe-it/package.nix b/pkgs/by-name/sn/snipe-it/package.nix index 8aa1372804ece..358c77fcbdd5e 100644 --- a/pkgs/by-name/sn/snipe-it/package.nix +++ b/pkgs/by-name/sn/snipe-it/package.nix @@ -21,7 +21,7 @@ php.buildComposerProject2 (finalAttrs: { hash = "sha256-NqQqpgSrYimZximHdAZw1ul2wQloZvEiMpQ9R6Uko3k="; }; - vendorHash = "sha256-0psoi/aX6ReJuiEoQMj0EmVNhDM76nlQYxsb4paPSdE="; + vendorHash = "sha256-rhBgVwhom9zizC3u/edhZMnsBYVtXNg8FdZLM8nXgl8="; postInstall = '' snipe_it_out="$out/share/php/snipe-it" diff --git a/pkgs/by-name/so/socat/musl.patch b/pkgs/by-name/so/socat/musl.patch deleted file mode 100644 index 9ec957b4d8c2c..0000000000000 --- a/pkgs/by-name/so/socat/musl.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 8be51b7c3520fd2dbd1ba2e917a499c90822817f Mon Sep 17 00:00:00 2001 -From: Alyssa Ross -Date: Tue, 27 Jan 2026 10:46:19 +0100 -Subject: [PATCH] Fix build for musl -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -musl's struct msghdr includes padding members, so using undesignated -initializers as was previously being done ended up initializing the -wrong members: - - gcc -O -D_GNU_SOURCE -Wall -Wno-parentheses -DHAVE_CONFIG_H -I. -I. -c -o xio-netlink.o xio-netlink.c - xio-netlink.c: In function ‘xio_netlink_mtu’: - xio-netlink.c:33:59: error: initialization of ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion] - 33 | ct msghdr rtmsg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 }; - | ^~~~ - xio-netlink.c:33:59: note: (near initialization for ‘rtmsg.__pad1’) - make: *** [: xio-netlink.o] Error 1 ---- - xio-netlink.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/xio-netlink.c b/xio-netlink.c -index 533d78c..b0c5c3c 100644 ---- a/xio-netlink.c -+++ b/xio-netlink.c -@@ -30,7 +30,12 @@ int xio_netlink_mtu( - struct nlmsghdr buf[8192/sizeof(struct nlmsghdr)]; - struct iovec iov = { buf, sizeof(buf) }; - struct sockaddr_nl sa; -- struct msghdr rtmsg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 }; -+ struct msghdr rtmsg = { -+ .msg_name = &sa, -+ .msg_namelen = sizeof(sa), -+ .msg_iov = &iov, -+ .msg_iovlen = 1, -+ }; - struct nlmsghdr *nh; - - Info2("Setting interface %d MTU to %u using netlink", interface_index, mtu); - -base-commit: 8834d6cc7e0d7b04cd31f9f7d0cb3e06913b0323 --- -2.52.0 - diff --git a/pkgs/by-name/so/socat/package.nix b/pkgs/by-name/so/socat/package.nix index e80b57df9f072..40f1308046a3b 100644 --- a/pkgs/by-name/so/socat/package.nix +++ b/pkgs/by-name/so/socat/package.nix @@ -11,17 +11,13 @@ stdenv.mkDerivation rec { pname = "socat"; - version = "1.8.1.0"; + version = "1.8.1.1"; src = fetchurl { url = "http://www.dest-unreach.org/socat/download/socat-${version}.tar.bz2"; - hash = "sha256-kfIi7mVVkDZgDCUFuZms6+1IuJnw4uU64cnDHWmGtqQ="; + hash = "sha256-Xrxja39CcFP5iAZpZSFlOmFMfgZGSRA1PL9U4jJ63Bs="; }; - patches = [ - ./musl.patch - ]; - postPatch = '' patchShebangs test.sh substituteInPlace test.sh \ diff --git a/pkgs/by-name/so/sonarr/package.nix b/pkgs/by-name/so/sonarr/package.nix index a9b51634a9b9f..7e4e03b2b966b 100644 --- a/pkgs/by-name/so/sonarr/package.nix +++ b/pkgs/by-name/so/sonarr/package.nix @@ -141,39 +141,35 @@ buildDotnetModule { ]; # Skip manual, integration, automation and platform-dependent tests. - dotnetTestFlags = [ - "--filter:${ - lib.concatStringsSep "&" ( - [ - "TestCategory!=ManualTest" - "TestCategory!=IntegrationTest" - "TestCategory!=AutomationTest" - - # setgid tests - "FullyQualifiedName!=NzbDrone.Mono.Test.DiskProviderTests.DiskProviderFixture.should_preserve_setgid_on_set_folder_permissions" - "FullyQualifiedName!=NzbDrone.Mono.Test.DiskProviderTests.DiskProviderFixture.should_clear_setgid_on_set_folder_permissions" - - # we do not set application data directory during tests (i.e. XDG data directory) - "FullyQualifiedName!=NzbDrone.Mono.Test.DiskProviderTests.FreeSpaceFixture.should_return_free_disk_space" - - # attempts to read /etc/*release and fails since it does not exist - "FullyQualifiedName!=NzbDrone.Mono.Test.EnvironmentInfo.ReleaseFileVersionAdapterFixture.should_get_version_info" - - # fails to start test dummy because it cannot locate .NET runtime for some reason - "FullyQualifiedName!=NzbDrone.Common.Test.ProcessProviderFixture.Should_be_able_to_start_process" - "FullyQualifiedName!=NzbDrone.Common.Test.ProcessProviderFixture.kill_all_should_kill_all_process_with_name" - - # makes real HTTP requests - "FullyQualifiedName!~NzbDrone.Core.Test.TvTests.RefreshEpisodeServiceFixture" - "FullyQualifiedName!~NzbDrone.Core.Test.UpdateTests.UpdatePackageProviderFixture" - ] - ++ lib.optionals stdenvNoCC.buildPlatform.isDarwin [ - # fails on macOS - "FullyQualifiedName!~NzbDrone.Core.Test.Http.HttpProxySettingsProviderFixture" - "FullyQualifiedName!=NzbDrone.Common.Test.ServiceFactoryFixture.event_handlers_should_be_unique" - ] - ) - }" + testFilters = [ + "TestCategory!=ManualTest" + "TestCategory!=IntegrationTest" + "TestCategory!=AutomationTest" + + # makes real HTTP requests + "FullyQualifiedName!~NzbDrone.Core.Test.UpdateTests.UpdatePackageProviderFixture" + "FullyQualifiedName!~NzbDrone.Core.Test.TvTests.RefreshEpisodeServiceFixture" + ] + ++ lib.optionals stdenvNoCC.buildPlatform.isDarwin [ + # fails on macOS + "FullyQualifiedName!~NzbDrone.Core.Test.Http.HttpProxySettingsProviderFixture" + ]; + + disabledTests = [ + # setgid tests + "NzbDrone.Mono.Test.DiskProviderTests.DiskProviderFixture.should_preserve_setgid_on_set_folder_permissions" + "NzbDrone.Mono.Test.DiskProviderTests.DiskProviderFixture.should_clear_setgid_on_set_folder_permissions" + + # we do not set application data directory during tests (i.e. XDG data directory) + "NzbDrone.Mono.Test.DiskProviderTests.FreeSpaceFixture.should_return_free_disk_space" + "NzbDrone.Common.Test.ServiceFactoryFixture.event_handlers_should_be_unique" + + # attempts to read /etc/*release and fails since it does not exist + "NzbDrone.Mono.Test.EnvironmentInfo.ReleaseFileVersionAdapterFixture.should_get_version_info" + + # fails to start test dummy because it cannot locate .NET runtime for some reason + "NzbDrone.Common.Test.ProcessProviderFixture.Should_be_able_to_start_process" + "NzbDrone.Common.Test.ProcessProviderFixture.kill_all_should_kill_all_process_with_name" ]; passthru = { @@ -203,6 +199,7 @@ buildDotnetModule { purcell tie niklaskorz + karaolidis ]; mainProgram = "Sonarr"; # platforms inherited from dotnet-sdk. diff --git a/pkgs/by-name/so/soplex/package.nix b/pkgs/by-name/so/soplex/package.nix index a2ba3d64af889..911ff41f4fcb2 100644 --- a/pkgs/by-name/so/soplex/package.nix +++ b/pkgs/by-name/so/soplex/package.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Sequential object-oriented simPlex"; license = with lib.licenses; [ asl20 ]; mainProgram = "soplex"; - maintainers = with lib.maintainers; [ david-r-cox ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/sp/spacectl/package.nix b/pkgs/by-name/sp/spacectl/package.nix index d424fd98811c0..ad9b93c331562 100644 --- a/pkgs/by-name/sp/spacectl/package.nix +++ b/pkgs/by-name/sp/spacectl/package.nix @@ -9,13 +9,13 @@ buildGoModule (finalAttrs: { pname = "spacectl"; - version = "1.18.3"; + version = "1.18.4"; src = fetchFromGitHub { owner = "spacelift-io"; repo = "spacectl"; rev = "v${finalAttrs.version}"; - hash = "sha256-1ucdKSIbShaH4o7kixY2x4t+raW24HBuJij2hdVmfAM="; + hash = "sha256-9CsC9xkMz8BfIegahQ1cpSODqL1yl10Lncn8RdceWcU="; }; vendorHash = "sha256-f/09XZiaYNUZzKM0jITFdUmKt8UQy90K4PGhC6ZupCk="; diff --git a/pkgs/by-name/sp/sparrow/package.nix b/pkgs/by-name/sp/sparrow/package.nix index 8a98dd2172eeb..4086c3ccd2129 100644 --- a/pkgs/by-name/sp/sparrow/package.nix +++ b/pkgs/by-name/sp/sparrow/package.nix @@ -25,7 +25,7 @@ let pname = "sparrow"; - version = "2.2.3"; + version = "2.4.0"; openjdk = zulu25.override { enableJavaFX = true; }; @@ -41,8 +41,8 @@ let url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/sparrowwallet-${version}-${sparrowArch}.tar.gz"; hash = { - x86_64-linux = "sha256-MsERgfJGpxRkQm4Ww30Tc95kThjlgI+nO4bq2zNGdeU="; - aarch64-linux = "sha256-31x4Ck/+Fa6CvBb6o9ncVH99Zeh0DUVv/hqVN31ysHk="; + x86_64-linux = "sha256-9rkyTEi+KvFDvMCSNkedxX9lYZPZvGwCClLz87DXrKc="; + aarch64-linux = "sha256-TvVJQVSkroZfl3VH5hxHpbMw5SZMN1rqROSDKhVV2x4="; } ."${stdenvNoCC.hostPlatform.system}"; @@ -73,12 +73,12 @@ let manifest = fetchurl { url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-manifest.txt"; - hash = "sha256-qPIllqFqe84BSIcYYYa+rKJvSpN/QnomHnsOoTxlyl4="; + hash = "sha256-hPgRK1pMnhpAOWFO+bySXgE7I1rJf1MVrA5FdIkSgu4="; }; manifestSignature = fetchurl { url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-manifest.txt.asc"; - hash = "sha256-PpruG9l7MhI30b6dd96KAkkQvyMNuh36GtmEdYaRgac="; + hash = "sha256-suHr5oM0QVVGQnv8zqFBAuHCUs3Ss1O9U3wx9Exmy7U="; }; publicKey = ./publickey.asc; @@ -177,6 +177,8 @@ let # Delete unneeded native libs. rm -fR com.sparrowwallet.merged.module/com/sun/jna/freebsd-x86-64 + rm -fR com.sparrowwallet.merged.module/com/sun/jna/dragonflybsd-x86-64 + rm -fR com.sparrowwallet.merged.module/com/sun/jna/freebsd-aarch64 rm -fR com.sparrowwallet.merged.module/com/sun/jna/freebsd-x86 rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-arm rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-armel diff --git a/pkgs/by-name/sp/spdx-license-list-data/package.nix b/pkgs/by-name/sp/spdx-license-list-data/package.nix index b625a21f4c05c..10b0dc7bb5ed0 100644 --- a/pkgs/by-name/sp/spdx-license-list-data/package.nix +++ b/pkgs/by-name/sp/spdx-license-list-data/package.nix @@ -56,7 +56,6 @@ stdenvNoCC.mkDerivation (finalAttrs: { license = lib.licenses.cc0; maintainers = with lib.maintainers; [ oxzi - c0bw3b ]; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/sp/spedread/package.nix b/pkgs/by-name/sp/spedread/package.nix index 50aa4bff1cdc2..6601c650c69ab 100644 --- a/pkgs/by-name/sp/spedread/package.nix +++ b/pkgs/by-name/sp/spedread/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "spedread"; - version = "2.6.2"; + version = "2.7.0"; src = fetchFromGitHub { owner = "Darazaki"; repo = "Spedread"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZGIW0FmrVgjoUKjbF6wTxihVu3QMD7BpfZY6YOyfXlg="; + hash = "sha256-3Ykucgw2LkW22gn4nroCO22CbfLB9DGeyyv+PS3fv2U="; }; postPatch = '' diff --git a/pkgs/by-name/sp/spicedb-zed/package.nix b/pkgs/by-name/sp/spicedb-zed/package.nix index 32874cdf14552..426f44c06d905 100644 --- a/pkgs/by-name/sp/spicedb-zed/package.nix +++ b/pkgs/by-name/sp/spicedb-zed/package.nix @@ -8,19 +8,22 @@ buildGoModule (finalAttrs: { pname = "zed"; - version = "0.30.2"; + version = "0.35.0"; src = fetchFromGitHub { owner = "authzed"; repo = "zed"; tag = "v${finalAttrs.version}"; - hash = "sha256-ftSgp0zxUmSTJ7lFHxFdebKrCKbsRocDkfabVpyQ5Kg="; + hash = "sha256-DeqfzI5+UPsR358QnummTp/cYCr2bIotB2tB/NYYd1M="; }; - vendorHash = "sha256-2AkknaufRhv79c9WQtcW5oSwMptkR+FB+1/OJazyGSM="; + vendorHash = "sha256-LnmY5GikIHgOBi0hWO5B5FyBymKSZZQMK5VnDj5Ge84="; ldflags = [ "-X 'github.com/jzelinskie/cobrautil/v2.Version=${finalAttrs.src.tag}'" ]; + # Version test expects '(devel)' but version is being set to the package version + checkFlags = [ "--skip=TestGetClientVersion" ]; + preCheck = '' export NO_COLOR=true ''; diff --git a/pkgs/by-name/sp/spicedb/package.nix b/pkgs/by-name/sp/spicedb/package.nix index 4ad3f3d363397..85ca54ef16ef0 100644 --- a/pkgs/by-name/sp/spicedb/package.nix +++ b/pkgs/by-name/sp/spicedb/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "spicedb"; - version = "1.48.0"; + version = "1.49.1"; src = fetchFromGitHub { owner = "authzed"; repo = "spicedb"; tag = "v${finalAttrs.version}"; - hash = "sha256-m0Om+Wil8ig6t8w5IDmfrx8N/Uugn3PayoFJD0xq9OQ="; + hash = "sha256-FqgNtHh2eDy48uFWMmqjpVnrGHBUEM+CG3ukkPhEOqY="; }; - vendorHash = "sha256-kA4Smkc88vYgR4B7DdqQc5dkzywDXTbYwmRRZYDcg0c="; + vendorHash = "sha256-wK5GDMkWesWRO5J2M5ambZShAw7b4U0+/lmAgXn8Ags="; ldflags = [ "-X 'github.com/jzelinskie/cobrautil/v2.Version=${finalAttrs.src.tag}'" diff --git a/pkgs/by-name/sp/spicetify-cli/package.nix b/pkgs/by-name/sp/spicetify-cli/package.nix index 7965d0295d981..a55d4ab8437b8 100644 --- a/pkgs/by-name/sp/spicetify-cli/package.nix +++ b/pkgs/by-name/sp/spicetify-cli/package.nix @@ -7,13 +7,13 @@ }: buildGoModule (finalAttrs: { pname = "spicetify-cli"; - version = "2.42.10"; + version = "2.42.11"; src = fetchFromGitHub { owner = "spicetify"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-n05g7b2XziajUxjygLz8QXgor5mPneYeqmAfoiCGhGE="; + hash = "sha256-b8mk6yRM958NPU888aryAgoghEHtiVcHFNCp4J0F+qg="; }; vendorHash = "sha256-uuvlu5yocqnDh6OO5a4Ngp5SahqURc/14fcg1Kr9sec="; diff --git a/pkgs/by-name/sp/spire/package.nix b/pkgs/by-name/sp/spire/package.nix index c2566041e2390..2f0770f2a841d 100644 --- a/pkgs/by-name/sp/spire/package.nix +++ b/pkgs/by-name/sp/spire/package.nix @@ -2,6 +2,7 @@ lib, buildGoModule, fetchFromGitHub, + nixosTests, openssl, }: @@ -85,6 +86,10 @@ buildGoModule (finalAttrs: { runHook postInstallCheck ''; + passthru.tests = { + inherit (nixosTests) spire; + }; + meta = { description = "SPIFFE Runtime Environment"; homepage = "https://spiffe.io/"; diff --git a/pkgs/by-name/sp/spotatui/package.nix b/pkgs/by-name/sp/spotatui/package.nix new file mode 100644 index 0000000000000..fcfb1f38127e0 --- /dev/null +++ b/pkgs/by-name/sp/spotatui/package.nix @@ -0,0 +1,56 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, + pkg-config, + alsa-lib, + openssl, + pipewire, + + withPipewireVisualizer ? true, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "spotatui"; + version = "0.36.2"; + + src = fetchFromGitHub { + owner = "LargeModGames"; + repo = "spotatui"; + tag = "v${finalAttrs.version}"; + hash = "sha256-E8VIMQUGKWAauN/GTGMOdvHsghhO4E0wVdE9lIk6zEc="; + }; + + cargoHash = "sha256-nHOLOlAZfp2k0nMAywTJT+TiTkUeybRVu+PkADBY22w="; + + nativeBuildInputs = [ pkg-config ] ++ lib.optional withPipewireVisualizer rustPlatform.bindgenHook; + + buildInputs = [ + alsa-lib + openssl + ] + ++ lib.optional withPipewireVisualizer pipewire; + + buildNoDefaultFeatures = true; + buildFeatures = [ + "discord-rpc" + "mpris" + "streaming" + "telemetry" + ] + ++ lib.optional withPipewireVisualizer "audio-viz"; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Fully standalone Spotify client for the terminal"; + homepage = "https://github.com/LargeModGames/spotatui"; + changelog = "https://github.com/LargeModGames/spotatui/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.lordmzte ]; + mainProgram = "spotatui"; + + # macOS is supported by upstream, but the package maintainer has no way to test this. + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/sp/spotify/darwin.nix b/pkgs/by-name/sp/spotify/darwin.nix index 6f9ff6906db78..a44e694a70e29 100644 --- a/pkgs/by-name/sp/spotify/darwin.nix +++ b/pkgs/by-name/sp/spotify/darwin.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { inherit pname; - version = "1.2.78.418"; + version = "1.2.84.476"; src = # WARNING: This Wayback Machine URL redirects to the closest timestamp. @@ -20,13 +20,13 @@ stdenv.mkDerivation { # https://web.archive.org/web/*/https://download.scdn.co/Spotify.dmg if stdenv.hostPlatform.isAarch64 then (fetchurl { - url = "https://web.archive.org/web/20251212105149/https://download.scdn.co/SpotifyARM64.dmg"; - hash = "sha256-/rrThZOpjzaHPX1raDe5X8PqtJeTI4GDS5sXSfthXTQ="; + url = "https://web.archive.org/web/20260228212834/https://download.scdn.co/SpotifyARM64.dmg"; + hash = "sha256-Zj5qATaW1QPTInC/Y/jZx2xq5eHG/OQixpj8DWUpEXY="; }) else (fetchurl { - url = "https://web.archive.org/web/20251212105140/https://download.scdn.co/Spotify.dmg"; - hash = "sha256-N2tQTS9vHp93cRI0c5riVZ/8FSaq3ovDqh5K9aU6jV0="; + url = "https://web.archive.org/web/20260228213541/https://download.scdn.co/Spotify.dmg"; + hash = "sha256-4Lm4g0gAQ3EA7Sj2wDTbjEXRxcNoGWHLvdEx/57nry4="; }); nativeBuildInputs = [ undmg ]; diff --git a/pkgs/by-name/sp/spotify/linux.nix b/pkgs/by-name/sp/spotify/linux.nix index 4cd35891eed70..84527870ec55b 100644 --- a/pkgs/by-name/sp/spotify/linux.nix +++ b/pkgs/by-name/sp/spotify/linux.nix @@ -52,7 +52,9 @@ pname, meta, harfbuzz, + libayatana-indicator, libayatana-appindicator, + ayatana-ido, libdbusmenu, libGL, # High-DPI support: Spotify's --force-device-scale-factor argument @@ -79,7 +81,9 @@ let glib gtk3 harfbuzz + libayatana-indicator libayatana-appindicator + ayatana-ido libdbusmenu libdrm libgcrypt @@ -119,7 +123,7 @@ stdenv.mkDerivation (finalAttrs: { # If an update breaks things, one of those might have valuable info: # https://aur.archlinux.org/packages/spotify/ # https://community.spotify.com/t5/Desktop-Linux - version = "1.2.74.477.g3be53afe"; + version = "1.2.82.428.g0ac8be2b"; # To get the latest stable revision: # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' @@ -127,7 +131,7 @@ stdenv.mkDerivation (finalAttrs: { # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' # More examples of api usage: # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py - rev = "89"; + rev = "92"; # fetch from snapcraft instead of the debian repository most repos fetch from. # That is a bit more cumbersome. But the debian repository only keeps the last @@ -140,7 +144,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { name = "spotify-${finalAttrs.version}-${finalAttrs.rev}.snap"; url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${finalAttrs.rev}.snap"; - hash = "sha512-mn1w/Ylt9weFgV67tB435CoF2/4V+F6gu1LUXY07J6m5nxi1PCewHNFm8/11qBRO/i7mpMwhcRXaiv0HkFAjYA=="; + hash = "sha512-/9lB4gLotYvM2QkHt8cKS8P4IXrBVzgoXEk4bWR3GQum0OnJqK/qCC9evmCZ7PAqbbyh5/8vSblM+QXXXiQiMA=="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/sr/src-cli/package.nix b/pkgs/by-name/sr/src-cli/package.nix index af8b1332cef43..972fc9716b510 100644 --- a/pkgs/by-name/sr/src-cli/package.nix +++ b/pkgs/by-name/sr/src-cli/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "src-cli"; - version = "6.12.0"; + version = "7.0.0"; src = fetchFromGitHub { owner = "sourcegraph"; repo = "src-cli"; rev = version; - hash = "sha256-9LAThwBnW4JB7qOz7A4M/JLcjGqNyvKgXOQjdVgvsiU="; + hash = "sha256-YwbZohw90RgEVpKtek4Wt2/nPhPSavKsHLmUH3ytQmw="; }; vendorHash = "sha256-z4Clm+WdwMcdO+tMLqUQx6tNiGJ+ZSK+Zt0JKwrQdVk="; diff --git a/pkgs/by-name/st/step-kms-plugin/package.nix b/pkgs/by-name/st/step-kms-plugin/package.nix index e062319932047..ffc71c4757335 100644 --- a/pkgs/by-name/st/step-kms-plugin/package.nix +++ b/pkgs/by-name/st/step-kms-plugin/package.nix @@ -48,7 +48,7 @@ buildGoModule rec { description = "Step plugin to manage keys and certificates on cloud KMSs and HSMs"; homepage = "https://smallstep.com/cli/"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ qbit ]; + maintainers = [ ]; mainProgram = "step-kms-plugin"; }; } diff --git a/pkgs/by-name/st/stevenblack-blocklist/package.nix b/pkgs/by-name/st/stevenblack-blocklist/package.nix index 003b62c8e1422..55be833edd3d7 100644 --- a/pkgs/by-name/st/stevenblack-blocklist/package.nix +++ b/pkgs/by-name/st/stevenblack-blocklist/package.nix @@ -6,13 +6,13 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "stevenblack-blocklist"; - version = "3.16.59"; + version = "3.16.63"; src = fetchFromGitHub { owner = "StevenBlack"; repo = "hosts"; tag = finalAttrs.version; - hash = "sha256-gPG7wu3K0wLwpV0nPJt7sIrLP3PrgOS/4POM5zwerVs="; + hash = "sha256-PYB4Dns88vYz7Yo3BOrtEez4IGPBvh1SbHECRO8Hfvc="; }; outputs = [ diff --git a/pkgs/by-name/st/stfl/package.nix b/pkgs/by-name/st/stfl/package.nix index ef8e8b5b191af..7334b5ba4d7da 100644 --- a/pkgs/by-name/st/stfl/package.nix +++ b/pkgs/by-name/st/stfl/package.nix @@ -61,7 +61,7 @@ stdenv.mkDerivation { meta = { homepage = "https://web.archive.org/web/20211113222004/http://www.clifford.at/stfl/"; description = "Library which implements a curses-based widget set for text terminals"; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; license = lib.licenses.lgpl3; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/st/stoat-desktop/package.nix b/pkgs/by-name/st/stoat-desktop/package.nix index 2d4a06437c510..fd798a974b68b 100644 --- a/pkgs/by-name/st/stoat-desktop/package.nix +++ b/pkgs/by-name/st/stoat-desktop/package.nix @@ -20,20 +20,19 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "stoat-desktop"; - version = "1.2.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "stoatchat"; repo = "for-desktop"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-Q1FKQBxtlrGmdfx7gLd0aQx/5Pqd4atFdMykxK997Rw="; + hash = "sha256-vMXnBniA0wyoK7Pe13h/yHtf8ky59ts4VQb9k7KuUCE="; }; postPatch = '' # Disable auto-updates - substituteInPlace src/main.ts \ - --replace-fail "updateElectronApp();" "" + sed -i '/updateElectronApp([^)]*)/d' src/main.ts ''; strictDeps = true; diff --git a/pkgs/by-name/st/streamripper/package.nix b/pkgs/by-name/st/streamripper/package.nix index 0ce9845ea31ef..907acb61087c9 100644 --- a/pkgs/by-name/st/streamripper/package.nix +++ b/pkgs/by-name/st/streamripper/package.nix @@ -35,6 +35,13 @@ stdenv.mkDerivation rec { patch = "873964-http"; hash = "sha256-D6koUCbnJHtRuq2zZy9VrxymuGXN1COacbQhphgB8qo="; }) + # fix build with gcc 15 + (fetchDebianPatch { + inherit pname version; + debianRevision = "4"; + patch = "1097944-gcc15"; + hash = "sha256-yBFDxd2sNlavQDmg/MCORFdpJY8p1Lzo131T4sBby5g="; + }) # fix SR_ERROR_INVALID_METADATA caused by HTTP chunking # (https://sourceforge.net/p/streamripper/bugs/193/#6a82) (fetchpatch { @@ -57,5 +64,6 @@ stdenv.mkDerivation rec { description = "Application that lets you record streaming mp3 to your hard drive"; license = lib.licenses.gpl2; mainProgram = "streamripper"; + maintainers = with lib.maintainers; [ cybershadow ]; }; } diff --git a/pkgs/by-name/st/stress-ng/package.nix b/pkgs/by-name/st/stress-ng/package.nix index a5cc5f2ddb86b..47390ba365968 100644 --- a/pkgs/by-name/st/stress-ng/package.nix +++ b/pkgs/by-name/st/stress-ng/package.nix @@ -95,7 +95,6 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/ColinIanKing/stress-ng/raw/V${finalAttrs.version}/debian/changelog"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ - c0bw3b dbeley ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/st/stripe-cli/package.nix b/pkgs/by-name/st/stripe-cli/package.nix index f1da78fc47896..efd9a32418ce2 100644 --- a/pkgs/by-name/st/stripe-cli/package.nix +++ b/pkgs/by-name/st/stripe-cli/package.nix @@ -12,7 +12,7 @@ buildGoModule (finalAttrs: { pname = "stripe-cli"; - version = "1.31.0"; + version = "1.37.1"; # required for tests __darwinAllowLocalNetworking = true; @@ -21,7 +21,7 @@ buildGoModule (finalAttrs: { owner = "stripe"; repo = "stripe-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-fvemd1yo8WOWob/l3TU9lHcFc7OAI/oaX5XEK38vDwo="; + hash = "sha256-ItaJ+REOgOeJdeqJ3amZqNK38TssILOOp3ddxiEHS9c="; }; vendorHash = "sha256-EDdRgApJ7gv/4ma/IfaHi+jjpTPegsUfqHbvoFMn048="; diff --git a/pkgs/by-name/st/stuntrally/package.nix b/pkgs/by-name/st/stuntrally/package.nix index d24d33ed54f2b..f95558204b651 100644 --- a/pkgs/by-name/st/stuntrally/package.nix +++ b/pkgs/by-name/st/stuntrally/package.nix @@ -51,6 +51,11 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace src/vdrift/paths.cpp \ --replace-fail "@GAME_DATA_DIR@" "$out/share/stuntrally3/data" \ --replace-fail "@GAME_CONFIG_DIR@" "$out/share/stuntrally3/config" + + # Fix build with boost 1.89 + substituteInPlace CMake/AddMissingTargets.cmake --replace-fail \ + 'find_package(Boost REQUIRED COMPONENTS system thread filesystem)' \ + 'find_package(Boost REQUIRED COMPONENTS thread filesystem)' ''; strictDeps = true; diff --git a/pkgs/by-name/su/sunshine/package.nix b/pkgs/by-name/su/sunshine/package.nix index 7b04ae09ef6b7..49006ab1c7d1a 100644 --- a/pkgs/by-name/su/sunshine/package.nix +++ b/pkgs/by-name/su/sunshine/package.nix @@ -55,8 +55,10 @@ udevCheckHook, cudaSupport ? config.cudaSupport, cudaPackages ? { }, + apple-sdk_15, }: let + inherit (stdenv.hostPlatform) isDarwin isLinux; stdenv' = if cudaSupport then cudaPackages.backendStdenv else stdenv; in stdenv'.mkDerivation (finalAttrs: { @@ -92,11 +94,10 @@ stdenv'.mkDerivation (finalAttrs: { ''; }; - postPatch = # remove upstream dependency on systemd and udev + postPatch = # don't look for npm since we build webui separately '' - substituteInPlace cmake/packaging/linux.cmake \ - --replace-fail 'find_package(Systemd)' "" \ - --replace-fail 'find_package(Udev)' "" + substituteInPlace cmake/targets/common.cmake \ + --replace-fail 'find_program(NPM npm REQUIRED)' "" '' # use system boost instead of FetchContent. # FETCH_CONTENT_BOOST_USED prevents Simple-Web-Server from re-finding boost @@ -105,10 +106,11 @@ stdenv'.mkDerivation (finalAttrs: { --replace-fail 'set(BOOST_VERSION "1.87.0")' 'set(BOOST_VERSION "${boost.version}")' echo 'set(FETCH_CONTENT_BOOST_USED TRUE)' >> cmake/dependencies/Boost_Sunshine.cmake '' - # don't look for npm since we build webui separately - + '' - substituteInPlace cmake/targets/common.cmake \ - --replace-fail 'find_program(NPM npm REQUIRED)' "" + # remove upstream dependency on systemd and udev + + lib.optionalString isLinux '' + substituteInPlace cmake/packaging/linux.cmake \ + --replace-fail 'find_package(Systemd)' "" \ + --replace-fail 'find_package(Udev)' "" substituteInPlace packaging/linux/dev.lizardbyte.app.Sunshine.desktop \ --subst-var-by PROJECT_NAME 'Sunshine' \ @@ -128,6 +130,8 @@ stdenv'.mkDerivation (finalAttrs: { pkg-config python3 makeWrapper + ] + ++ lib.optionals isLinux [ wayland-scanner # Avoid fighting upstream's usage of vendored ffmpeg libraries autoPatchelfHook @@ -139,6 +143,14 @@ stdenv'.mkDerivation (finalAttrs: { ]; buildInputs = [ + boost + curl + miniupnpc + nlohmann_json + openssl + libopus + ] + ++ lib.optionals isLinux [ avahi libevdev libpulseaudio @@ -148,16 +160,12 @@ stdenv'.mkDerivation (finalAttrs: { libxrandr libxtst libxi - openssl - libopus - boost libdrm wayland libffi libevdev libcap libdrm - curl pcre pcre2 libuuid @@ -176,15 +184,16 @@ stdenv'.mkDerivation (finalAttrs: { svt-av1 libappindicator libnotify - miniupnpc - nlohmann_json ] ++ lib.optionals cudaSupport [ cudaPackages.cudatoolkit cudaPackages.cuda_cudart + ] + ++ lib.optionals isDarwin [ + apple-sdk_15 ]; - runtimeDependencies = [ + runtimeDependencies = lib.optionals isLinux [ avahi libgbm libxrandr @@ -194,20 +203,28 @@ stdenv'.mkDerivation (finalAttrs: { cmakeFlags = [ "-Wno-dev" - # upstream tries to use systemd and udev packages to find these directories in FHS; set the paths explicitly instead - (lib.cmakeBool "UDEV_FOUND" true) - (lib.cmakeBool "SYSTEMD_FOUND" true) - (lib.cmakeFeature "UDEV_RULES_INSTALL_DIR" "lib/udev/rules.d") - (lib.cmakeFeature "SYSTEMD_USER_UNIT_INSTALL_DIR" "lib/systemd/user") - (lib.cmakeFeature "SYSTEMD_MODULES_LOAD_DIR" "lib/modules-load.d") (lib.cmakeBool "BOOST_USE_STATIC" false) (lib.cmakeBool "BUILD_DOCS" false) (lib.cmakeFeature "SUNSHINE_PUBLISHER_NAME" "nixpkgs") (lib.cmakeFeature "SUNSHINE_PUBLISHER_WEBSITE" "https://nixos.org") (lib.cmakeFeature "SUNSHINE_PUBLISHER_ISSUE_URL" "https://github.com/NixOS/nixpkgs/issues") ] + # upstream tries to use systemd and udev packages to find these directories in FHS; set the paths explicitly instead + ++ lib.optionals isLinux [ + (lib.cmakeBool "UDEV_FOUND" true) + (lib.cmakeBool "SYSTEMD_FOUND" true) + (lib.cmakeFeature "UDEV_RULES_INSTALL_DIR" "lib/udev/rules.d") + (lib.cmakeFeature "SYSTEMD_USER_UNIT_INSTALL_DIR" "lib/systemd/user") + (lib.cmakeFeature "SYSTEMD_MODULES_LOAD_DIR" "lib/modules-load.d") + ] ++ lib.optionals (!cudaSupport) [ (lib.cmakeBool "SUNSHINE_ENABLE_CUDA" false) + ] + ++ lib.optionals isDarwin [ + (lib.cmakeFeature "CMAKE_CXX_STANDARD" "23") + (lib.cmakeFeature "OPENSSL_ROOT_DIR" "${openssl.dev}") + (lib.cmakeFeature "SUNSHINE_ASSETS_DIR" "sunshine/assets") + (lib.cmakeBool "SUNSHINE_BUILD_HOMEBREW" true) ]; env = { @@ -235,7 +252,7 @@ stdenv'.mkDerivation (finalAttrs: { runHook postInstall ''; - postInstall = '' + postInstall = lib.optionalString isLinux '' install -Dm644 ../packaging/linux/dev.lizardbyte.app.Sunshine.desktop $out/share/applications/dev.lizardbyte.app.Sunshine.desktop ''; @@ -245,12 +262,14 @@ stdenv'.mkDerivation (finalAttrs: { --set LD_LIBRARY_PATH ${lib.makeLibraryPath [ vulkan-loader ]} ''; - doInstallCheck = true; + doInstallCheck = isLinux; - nativeInstallCheckInputs = [ udevCheckHook ]; + nativeInstallCheckInputs = lib.optionals isLinux [ udevCheckHook ]; passthru = { - tests.sunshine = nixosTests.sunshine; + tests = lib.optionalAttrs isLinux { + sunshine = nixosTests.sunshine; + }; updateScript = ./updater.sh; }; @@ -259,7 +278,10 @@ stdenv'.mkDerivation (finalAttrs: { homepage = "https://github.com/LizardByte/Sunshine"; license = lib.licenses.gpl3Only; mainProgram = "sunshine"; - maintainers = with lib.maintainers; [ devusb ]; - platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + devusb + anish + ]; + platforms = lib.platforms.linux ++ lib.platforms.darwin; }; }) diff --git a/pkgs/by-name/su/super-productivity/package.nix b/pkgs/by-name/su/super-productivity/package.nix index 2ad9ab51c95be..6646c5140edde 100644 --- a/pkgs/by-name/su/super-productivity/package.nix +++ b/pkgs/by-name/su/super-productivity/package.nix @@ -18,7 +18,7 @@ let in buildNpmPackage rec { pname = "super-productivity"; - version = "17.1.8"; + version = "17.2.1"; inherit nodejs; @@ -26,7 +26,7 @@ buildNpmPackage rec { owner = "johannesjo"; repo = "super-productivity"; tag = "v${version}"; - hash = "sha256-76rgW97ElM/6Sy3JwmrqA+nV5ONWqYBoK1uK+UEYf24="; + hash = "sha256-yt3HXOhpy2uzzpFInZbTHCWA9LfHB2bqEFCHzHwIv70="; postFetch = '' find $out -name package-lock.json -exec ${lib.getExe npm-lockfile-fix} -r {} \; @@ -69,7 +69,7 @@ buildNpmPackage rec { dontInstall = true; outputHashMode = "recursive"; - hash = "sha256-epDGYONJgLJsNG0f6GiIbXwoPdjAsLGGQa0giPiBMYs="; + hash = "sha256-hNmM8Ln0klZBnC5TwtL7Bog82MlC4D0sCb9+uMqB0D0="; } ); diff --git a/pkgs/by-name/su/super/package.nix b/pkgs/by-name/su/super/package.nix index 24888acb0dc51..3d6a5d7b48cdc 100644 --- a/pkgs/by-name/su/super/package.nix +++ b/pkgs/by-name/su/super/package.nix @@ -7,16 +7,16 @@ }: buildGoModule (finalAttrs: { pname = "super"; - version = "0.1.0"; + version = "0.2.0"; src = fetchFromGitHub { owner = "brimdata"; repo = "super"; tag = "v${finalAttrs.version}"; - hash = "sha256-wgduBXtLnvCTV/8JgCOeD8QutIqW5m9vCJZEbsxKxwY="; + hash = "sha256-MAlBVY2O9T1j+N/kSgEw3onnIicrhOoa2vqnGEiXCdg="; }; - vendorHash = "sha256-yGmQmxr2RzpOOwS7qpdBJysJpsgeWDNFBOws1FQQoM8="; + vendorHash = "sha256-EkQatync50uz4dSVrX0lIAh4FaEMRR6UTsYZATi+kNw="; ldflags = [ "-s" diff --git a/pkgs/by-name/su/supertux/package.nix b/pkgs/by-name/su/supertux/package.nix index ad73a29dfeca8..49d2eee585297 100644 --- a/pkgs/by-name/su/supertux/package.nix +++ b/pkgs/by-name/su/supertux/package.nix @@ -55,6 +55,10 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace external/discord-sdk/CMakeLists.txt --replace-fail \ 'cmake_minimum_required (VERSION 3.2.0)' \ 'cmake_minimum_required (VERSION 4.0)' + # Fix build with boost 1.89. + substituteInPlace CMakeLists.txt --replace-fail \ + 'find_package(Boost REQUIRED COMPONENTS filesystem system date_time locale)' \ + 'find_package(Boost REQUIRED COMPONENTS filesystem date_time locale)' ''; nativeBuildInputs = [ diff --git a/pkgs/by-name/sw/swaybg/package.nix b/pkgs/by-name/sw/swaybg/package.nix index 30d4c6178dec0..40b3455a359fd 100644 --- a/pkgs/by-name/sw/swaybg/package.nix +++ b/pkgs/by-name/sw/swaybg/package.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "swaybg"; - version = "1.2.1"; + version = "1.2.2"; src = fetchFromGitHub { owner = "swaywm"; repo = "swaybg"; tag = "v${finalAttrs.version}"; - hash = "sha256-IJcPSBJErf8Dy9YhYAc9eg/llgaaLZCQSB0Brof+kpg="; + hash = "sha256-ByocNDqkv1ufN3Rr5yrfGkN5zS+Cw1e8QLQ+5opc1K4="; }; strictDeps = true; diff --git a/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/package.nix new file mode 100644 index 0000000000000..4d75701fbadc3 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/package.nix @@ -0,0 +1,55 @@ +{ + lib, + stdenv, + swift, + swiftpmHook, + swiftPackages, +}: + +swiftPackages.stdenv.mkDerivation (finalAttrs: { + name = "swift-cxx-interop-test"; + + src = ./src; + + nativeBuildInputs = [ + swift + swiftpmHook + ]; + + postBuild = '' + make + ''; + + postInstall = '' + cp SwiftToCxxInteropTest "$out/bin/SwiftToCxxInteropTest" + ''; + + installCheckPhase = '' + runHook preInstallCheck + + "$out/bin/${finalAttrs.meta.mainProgram}" | grep 'Hello, Swift!' + "$out/bin/SwiftToCxxInteropTest" | grep 'Hello, C++!' + + runHook postInstallCheck + ''; + + doInstallCheck = true; + +# env = { +# # Gross hack copied from `protoc-gen-swift` :( +# LD_LIBRARY_PATH = lib.optionalString stdenv.hostPlatform.isLinux ( +# lib.makeLibraryPath [ +# swiftPackages.Dispatch +# ] +# ); +# }; + + meta = { + inherit (swift.meta) + team + platforms + ; + license = lib.licenses.mit; + mainProgram = "CxxInteropTest"; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/.gitignore b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/.gitignore new file mode 100644 index 0000000000000..3b29812086f28 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/.gitignore @@ -0,0 +1,9 @@ +.DS_Store +/.build +/Packages +/*.xcodeproj +xcuserdata/ +DerivedData/ +.swiftpm/config/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Makefile b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Makefile new file mode 100644 index 0000000000000..b52eecf91d66c --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Makefile @@ -0,0 +1,10 @@ +.PHONY: all +all: SwiftToCxxInteropTest + +SwiftStruct.o Check-SwiftStruct.h: Sources/SwiftStruct.swift + swiftc -parse-as-library -emit-clang-header-path Check-SwiftStruct.h -module-name Check -cxx-interoperability-mode=default $^ -c -o SwiftStruct.o + +main.o: Check-SwiftStruct.h + +SwiftToCxxInteropTest: main.o SwiftStruct.o + clang++ $^ -o $@ diff --git a/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Package.swift b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Package.swift new file mode 100644 index 0000000000000..e7cd000a6ffae --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Package.swift @@ -0,0 +1,19 @@ +// swift-tools-version: 5.10 + +import PackageDescription + +let package = Package( + name: "CxxInteropTest", + products: [ + .executable(name: "CxxInteropTest", targets: ["CxxInteropTest"]), + ], + targets: [ + .executableTarget( + name: "CxxInteropTest", + path: "Sources", + swiftSettings: [ + .interoperabilityMode(.Cxx), + ] + ) + ] +) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Sources/SwiftStruct.swift b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Sources/SwiftStruct.swift new file mode 100644 index 0000000000000..cdadd6b97f344 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Sources/SwiftStruct.swift @@ -0,0 +1,9 @@ +import CxxStdlib + +public struct SwiftStruct { + public let hello: std.string + + public init(hello: std.string) { + self.hello = hello + } +} diff --git a/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Sources/main.swift b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Sources/main.swift new file mode 100644 index 0000000000000..1e89c7a148672 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/Sources/main.swift @@ -0,0 +1,3 @@ +let swiftStruct = SwiftStruct(hello: "Hello, Swift!") +let cxxHello = swiftStruct.hello +print(String(cxxHello)) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/main.cpp b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/main.cpp new file mode 100644 index 0000000000000..24d12e48c9cae --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/cx/cxx-interop-test/src/main.cpp @@ -0,0 +1,8 @@ +#include + +#include "Check-SwiftStruct.h" + +int main() { + auto swiftStruct = Check::SwiftStruct::init("Hello, C++!"); + std::cout << swiftStruct.getHello() << std::endl; +} diff --git a/pkgs/by-name/sw/swiftPackages/by-name/fe/fetchSwiftPMDeps/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/fe/fetchSwiftPMDeps/package.nix new file mode 100644 index 0000000000000..a24f372a6c431 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/fe/fetchSwiftPMDeps/package.nix @@ -0,0 +1,136 @@ +# Fetches a package based on its metadata from `Package.resolved` +{ + lib, + cacert, + jq, + nix-prefetch-git, + nix, + stdenvNoCC, +}: + +{ + name ? if args ? pname && args ? version then "${args.pname}-${args.version}" else "swiftpm-deps", + hash ? (throw "fetchSwiftPMDeps requires a `hash` value to be set for ${name}"), + nativeBuildInputs ? [ ], + ... +}@args: + +let + removedArgs = [ + "name" + "pname" + "version" + "nativeBuildInputs" + "hash" + ]; +in + +stdenvNoCC.mkDerivation ( + { + name = "${name}-vendor"; + + impureEnvVars = lib.fetchers.proxyImpureEnvVars; + + strictDeps = true; + + nativeBuildInputs = [ + cacert + jq + nix-prefetch-git + ] + ++ nativeBuildInputs; + + buildPhase = '' + runHook preBuild + + resolved=$PWD/Package.resolved + + # Convert version 1 to version 2 because its pins `schema` differs. + # Version 3 has the same pins schema, so it is already compatible. + if [ "$(jq --raw-output '.version' < "$resolved")" = "1" ]; then + resolved_tmp=$(mktemp) + trap "rm -- '$resolved_tmp'" EXIT + jq ' + { + pins: [ + .object.pins[] | { + identity: .package, + kind: "remoteSourceControl", + location: .repositoryURL, + state: .state + } + ], + version: 2 + } + ' < "$resolved" > "$resolved_tmp" + resolved=$resolved_tmp + fi + + if [ -n "$(jq --raw-output '.pins[] | select(.kind != "remoteSourceControl")' < "$resolved")" ]; then + echo "Only Git-based dependencies are supported by fetchSwiftPMDeps" + exit 1 + fi + + mkdir -p "$out" + + jq --raw-output0 '.pins[] | select(.kind == "remoteSourceControl")' < "$resolved" | while IFS= read -d "" pin; do + url=$(jq --raw-output '.location' <<< "$pin") + name=$(basename "$url" .git) + rev=$(jq --raw-output '.state.revision' <<< "$pin") + nix-prefetch-git --builder --quiet --fetch-submodules --url "$url" --rev "$rev" --out "$out/Packages/$name" + done + + # SwiftPM uses workspace-state.json to determine whether it needs to fetch dependencies. + # Generate it to prevent that from happening. + jq --compact-output --sort-keys ' + { + "object": { + "artifacts": [ ], + "dependencies": [ .pins[] | + { + "basedOn": { + "basedOn": null, + "packageRef": { + "identity": .identity, + "kind": .kind, + "location": .location, + "name": .location | sub("\\.git$"; "") | split("/")[-1] + }, + "state": { + "checkoutState": .state, + "name": "sourceControlCheckout" + }, + "subpath": .location | sub("\\.git$"; "") | split("/")[-1] + }, + "packageRef": { + "identity": .identity, + "kind": .kind, + "location": .location, + "name": .location | sub("\\.git$"; "") | split("/")[-1] + }, + "state": { + "name": "edited", + "path": null + }, + "subpath": .location | sub("\\.git$"; "") | split("/")[-1] + } + ], + "prebuilts": [ ], + }, + "version": 7 + } + ' < "$resolved" > "$out/workspace-state.json" + + runHook postBuild + ''; + + dontConfigure = true; + dontInstall = true; + dontFixup = true; + + outputHash = hash; + outputHashAlgo = if hash == "" then "sha256" else null; + outputHashMode = "recursive"; + } + // builtins.removeAttrs args removedArgs +) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/ll/llvmPackages/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/ll/llvmPackages/package.nix new file mode 100644 index 0000000000000..4b5428c89eb6b --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/ll/llvmPackages/package.nix @@ -0,0 +1,69 @@ +# Swift needs to be built against the matching tag from the LLVM fork in the swiftlang repo. +# Ideally, it would build against upstream LLVM, but it depends on APIs that have not been upstreamed. +# For example: https://github.com/swiftlang/llvm-project/blob/901f89886dcd5d1eaf07c8504d58c90f37b0cfdf/clang/include/clang/AST/StableHash.h + +{ + lib, + fetchFromGitHub, + generateSplicesForMkScope, + llvmPackages_19, # Needs to match the `llvmVersion` of the fork. + swift_release, +}: + +let + swiftLlvmVersion = "17.0.0"; # From https://github.com/swiftlang/swift/blob/swift-$swiftVersion-RELEASE/utils/build_swift/build_swift/defaults.py#L51 + llvmVersion = "19.1.5"; # From https://github.com/swiftlang/llvm-project/blob/swift-$swiftVersion-RELEASE/cmake/Modules/LLVMVersion.cmake +in +(llvmPackages_19.override { + officialRelease.version = llvmVersion; + + monorepoSrc = fetchFromGitHub { + owner = "swiftlang"; + repo = "llvm-project"; + tag = "swift-${swift_release}-RELEASE"; + hash = "sha256-5Nb8rQmk6onrc4wKW/kT38FsYsWTqMBWtsHYZLA/0Po="; + }; + + otherSplices = generateSplicesForMkScope [ + "swiftPackages" + "llvmPackages" + ]; + + patchesFn = + patches: + patches + // { + # Updated patch that also prevents Clang from trying to copy `clang-deps-launcher.py` to `${llvm}/bin`. + "clang/gnu-install-dirs.patch" = [ { path = ./patches; } ]; + }; +}).overrideScope + ( + _: prev: { + version = swiftLlvmVersion; + release_version = llvmVersion; + + libclang = prev.libclang.overrideAttrs (old: { + postInstall = (old.postInstall or "") + '' + moveToOutput bin/clang-deps-launcher.py "$python" + ''; + }); + + libllvm = + let + # The Swift build system expects to link statically against LLVM. Trying to link to the `libLLVM` shared + # library causes `swift-frontend` to crash during the build on Linux. + staticLibllvm = prev.libllvm.override { enableSharedLibraries = false; }; + in + staticLibllvm.overrideAttrs (old: { + patches = (old.patches or [ ]) ++ [ + # Ensure the LLVM module cache is in a writable location during builds. + ./patches/llvm/module-cache.patch + ]; + doCheck = false; # TODO: fix fork-specific tests that fail due to, e.g., not finding `libLLVM.dylib` during the test + postInstall = (old.postInstall or [ ]) + '' + # Swift relies on LLVM’s private `config.h` for feature checks (e.g., for `unistd.h`). + cp include/llvm/Config/config.h "$dev/include/llvm/Config/config.h" + ''; + }); + } + ) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/ll/llvmPackages/patches/clang/gnu-install-dirs.patch b/pkgs/by-name/sw/swiftPackages/by-name/ll/llvmPackages/patches/clang/gnu-install-dirs.patch new file mode 100644 index 0000000000000..56fe048df79d2 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/ll/llvmPackages/patches/clang/gnu-install-dirs.patch @@ -0,0 +1,95 @@ +diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake +index 75b0080f6..c895b884c 100644 +--- a/cmake/modules/AddClang.cmake ++++ b/cmake/modules/AddClang.cmake +@@ -119,8 +119,8 @@ macro(add_clang_library name) + install(TARGETS ${lib} + COMPONENT ${lib} + ${export_to_clangtargets} +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + + if (NOT LLVM_ENABLE_IDE) +diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt +index e6ae4e19e..5ef01aea2 100644 +--- a/lib/Headers/CMakeLists.txt ++++ b/lib/Headers/CMakeLists.txt +@@ -337,6 +337,7 @@ set(llvm_libc_wrapper_files + + include(GetClangResourceDir) + get_clang_resource_dir(output_dir PREFIX ${LLVM_LIBRARY_OUTPUT_INTDIR}/.. SUBDIR include) ++set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR}/include) + set(out_files) + set(generated_files) + +diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt +index b5b6d2807..6b592d255 100644 +--- a/tools/libclang/CMakeLists.txt ++++ b/tools/libclang/CMakeLists.txt +@@ -246,7 +246,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS}) + COMPONENT + libclang-python-bindings + DESTINATION +- "lib${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") ++ "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") + endforeach() + if(NOT LLVM_ENABLE_IDE) + add_custom_target(libclang-python-bindings) +diff --git a/tools/scan-build-py/CMakeLists.txt b/tools/scan-build-py/CMakeLists.txt +index 3aca22c0b..3115353e3 100644 +--- a/tools/scan-build-py/CMakeLists.txt ++++ b/tools/scan-build-py/CMakeLists.txt +@@ -88,7 +88,7 @@ foreach(lib ${LibScanbuild}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}) + install(FILES lib/libscanbuild/${lib} +- DESTINATION lib/libscanbuild ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild" + COMPONENT scan-build-py) + endforeach() + +@@ -106,7 +106,7 @@ foreach(resource ${LibScanbuildResources}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}) + install(FILES lib/libscanbuild/resources/${resource} +- DESTINATION lib/libscanbuild/resources ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild/resources" + COMPONENT scan-build-py) + endforeach() + +@@ -122,7 +122,7 @@ foreach(lib ${LibEar}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib}) + install(FILES lib/libear/${lib} +- DESTINATION lib/libear ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libear" + COMPONENT scan-build-py) + endforeach() + +diff --git a/clang/tools/clang-scan-deps/CMakeLists.txt b/clang/tools/clang-scan-deps/CMakeLists.txt +index d0ab60b890..7cec331b68 100644 +--- a/tools/clang-scan-deps/CMakeLists.txt ++++ b/tools/clang-scan-deps/CMakeLists.txt +@@ -36,17 +36,9 @@ + ${CLANG_SCAN_DEPS_LIB_DEPS} + ) + +-add_custom_command(OUTPUT ${LLVM_TOOLS_BINARY_DIR}/clang-deps-launcher.py +- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/clang-deps-launcher.py +- COMMAND ${CMAKE_COMMAND} -E copy_if_different +- "${CMAKE_CURRENT_SOURCE_DIR}/clang-deps-launcher.py" +- "${LLVM_TOOLS_BINARY_DIR}/clang-deps-launcher.py" +- COMMENT "Copy clang-deps-launcher.py..." +- ) +- +-add_custom_target(clang-deps-launcher ALL DEPENDS ${LLVM_TOOLS_BINARY_DIR}/clang-deps-launcher.py) ++add_custom_target(clang-deps-launcher ALL DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/clang-deps-launcher.py) + install( +- FILES ${LLVM_TOOLS_BINARY_DIR}/clang-deps-launcher.py ++ FILES ${CMAKE_CURRENT_SOURCE_DIR}/clang-deps-launcher.py + DESTINATION bin + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE + COMPONENT clang-deps-launcher) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/ll/llvmPackages/patches/llvm/module-cache.patch b/pkgs/by-name/sw/swiftPackages/by-name/ll/llvmPackages/patches/llvm/module-cache.patch new file mode 100644 index 0000000000000..d140f1eb5587d --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/ll/llvmPackages/patches/llvm/module-cache.patch @@ -0,0 +1,35 @@ +The compiler fails if LLVM modules are enabled and it cannot write its module +cache. This patch detects and rejects the fake, non-existant $HOME used in Nix +builds. + +We could simply return false in `cache_directory`, but that completely disables +module caching, and may unnecessarily slow down builds. Instead, let it use a +a `module-cache` folder at the top of the build. + +diff --git a/lib/Support/Unix/Path.inc b/lib/Support/Unix/Path.inc +index 660b3a6a3fe0..92fad8a72534 100644 +--- a/lib/Support/Unix/Path.inc ++++ b/lib/Support/Unix/Path.inc +@@ -1431,6 +1431,9 @@ bool user_config_directory(SmallVectorImpl &result) { + if (!home_directory(result)) { + return false; + } ++ if (std::equal(result.begin(), result.end(), "/homeless-shelter")) { ++ return false; ++ } + append(result, ".config"); + return true; + } +@@ -1452,6 +1455,12 @@ bool cache_directory(SmallVectorImpl &result) { + if (!home_directory(result)) { + return false; + } ++ if (const char *NixBuildTop = getenv("NIX_BUILD_TOP")) { ++ result.clear(); ++ result.append(NixBuildTop, NixBuildTop + strlen(NixBuildTop)); ++ append(result, "module-cache"); ++ return true; ++ } + append(result, ".cache"); + return true; + } diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sd/sdk/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sd/sdk/package.nix new file mode 100644 index 0000000000000..72e0d8c4eeadb --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sd/sdk/package.nix @@ -0,0 +1,87 @@ +{ + lib, + apple-sdk_26, + buildPackages, + llvmPackages_current, + stdenv, + stdlib, + swift, + getBuildHost, + getHostTarget, + writers, +}: + +let + cc = getBuildHost stdenv.cc; + inherit (cc) bintools targetPrefix; + + llvmBintools = getBuildHost llvmPackages_current.bintools-unwrapped; + + artifactName = "swift-${lib.getVersion swift}_nixpkgs${lib.version}"; + artifactPath = stdenv.hostPlatform.swift.triple; + + info = { + artifacts = { + "${artifactName}" = { + type = "swiftSDK"; + inherit (swift) version; + variants = [ + { + path = artifactPath; + # supportedTriples = [ stdenv.buildPlatform.config ]; + } + ]; + }; + }; + schemaVersion = "1.0"; + }; + + swiftSdk = { + schemaVersion = "4.0"; + targetTriples = { + "${stdenv.hostPlatform.swift.triple}" = { + toolsetPaths = [ "toolset.json" ]; + sdkRootPath = apple-sdk_26.sdkroot; + swiftResourcesPath = "${lib.getLib (getHostTarget stdlib)}/lib/swift"; + }; + }; + }; + + toolset = { + schemaVersion = "1.0"; + swiftCompiler = { + path = lib.getExe' (getBuildHost swift) "swiftc"; + extraCLIOptions = [ ]; + }; + cCompiler = { + path = lib.getExe' cc "${targetPrefix}clang"; + extraCLIOptions = [ ]; + }; + cxxCompiler = { + path = lib.getExe' cc "${targetPrefix}clang++"; + extraCLIOptions = [ ]; + }; + linker = { + path = lib.getExe' cc.bintools "ld"; + extraCLIOptions = [ ]; + }; + librarian = { + path = lib.getExe' llvmBintools ( + if stdenv.hostPlatform.isDarwin then "llvm-libtool-darwin" else "llvm-ar" + ); + extraCLIOptions = [ ]; + }; + }; +in +stdenv.mkDerivation { + pname = "sdk"; + version = lib.getVersion swift; + # name = "sdk-${lib.getVersion swift}.artifactbundle"; + + buildCommand = '' + mkdir -p "$out/${artifactName}.artifactbundle/${artifactPath}" + ln -s ${lib.escapeShellArg (writers.writeJSON "info.json" info)} "$out/${artifactName}.artifactbundle/info.json" + ln -s ${lib.escapeShellArg (writers.writeJSON "swift-sdk.json" swiftSdk)} "$out/${artifactName}.artifactbundle/${artifactPath}/swift-sdk.json" + ln -s ${lib.escapeShellArg (writers.writeJSON "toolset.json" toolset)} "$out/${artifactName}.artifactbundle/${artifactPath}/toolset.json" + ''; +} diff --git a/pkgs/by-name/sw/swiftPackages/by-name/st/stdlib/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/st/stdlib/package.nix new file mode 100644 index 0000000000000..14b914200835e --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/st/stdlib/package.nix @@ -0,0 +1,66 @@ +{ + lib, + makeSetupHook, + stdenv, + swiftc, +}: + +let + swiftPlatform = stdenv.hostPlatform.swift.platform; + libraryExtension = stdenv.hostPlatform.extensions.library; +in +(swiftc.override { + stdlib = null; + swiftComponents = [ + "back-deployment" + "sdk-overlay" + "static-mirror-lib" + "swift-remote-mirror" + "swift-remote-mirror-headers" + "stdlib" + ]; +}).overrideAttrs + (old: { + pname = "stdlib"; + + outputs = [ + "out" + "dev" + ]; + + postInstall = '' + moveToOutput "lib/swift/${swiftPlatform}" "''${!outputLib}" + + # Static libraries, Swift modules, and shims are only needed for development. + moveToOutput "lib/swift/${swiftPlatform}/*.swiftmodule" "''${!outputDev}" + moveToOutput "lib/swift/_InternalSwiftStaticMirror" "''${!outputDev}" + moveToOutput "lib/swift/embedded" "''${!outputDev}" + moveToOutput "lib/swift/module.modulemap" "''${!outputDev}" + moveToOutput "lib/swift/shims" "''${!outputDev}" + moveToOutput "lib/swift_static" "''${!outputDev}" + + # Move libraries out of `lib/swift/`, so ld-wrapper will find them automatically. + mv -v "''${!outputLib}/lib/swift/${swiftPlatform}"/*${libraryExtension} "''${!outputLib}/lib" + rmdir "''${!outputLib}/lib/swift/${swiftPlatform}" "''${!outputLib}/lib/swift" + + # Install C++ interop libraries and headers + cp -v lib/swift/${swiftPlatform}/libswiftCxx*.a "''${!outputDev}/lib" + cp -rv lib/swift/${swiftPlatform}/Cxx*.swiftmodule lib/swift/${swiftPlatform}/libcxx* "''${!outputDev}/lib/swift/${swiftPlatform}" + + mkdir -p "''${!outputDev}/include/swiftToCxx" + cp -v ../lib/PrintAsClang/{_SwiftCxxInteroperability.h,_SwiftStdlibCxxOverlay.h,experimental-interoperability-version.json} \ + "''${!outputDev}/include/swiftToCxx" + + mkdir -p "''${!outputDev}/nix-support" + cat < "''${!outputDev}/nix-support/setup-hook" + export NIX_SWIFT_STDLIB_\${lib.replaceString "-" "_" stdenv.hostPlatform.config}_RUNTIME_PATH="''${!outputDev}" + EOF + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Back-deployment libraries are installed as part of the compiler component, so install them manually. + cp -rv lib/swift/macosx/libswiftCompatibility*.a "''${!outputDev}/lib" + # Install `Span`-compatibility back-deployment library. + mkdir -p "''${!outputLib}/lib/swift-6.2/macosx" + cp -v lib/swift-6.2/macosx/libswiftCompatibilitySpan.dylib "''${!outputLib}/lib/swift-6.2/macosx/libswiftCompatibilitySpan.dylib" + ''; + }) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/st/stdlib/setup-hook.sh b/pkgs/by-name/sw/swiftPackages/by-name/st/stdlib/setup-hook.sh new file mode 100644 index 0000000000000..394e6affe7318 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/st/stdlib/setup-hook.sh @@ -0,0 +1 @@ +export NIX_SWIFT_STDLIB_@triple@_RUNTIME_PATH=@lib@/lib diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-argument-parser/files/ArgumentParserConfig.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-argument-parser/files/ArgumentParserConfig.cmake new file mode 100644 index 0000000000000..d2fa30ba8493c --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-argument-parser/files/ArgumentParserConfig.cmake @@ -0,0 +1,5 @@ +add_library(ArgumentParser @buildType@ IMPORTED) +set_target_properties(ArgumentParser PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}ArgumentParser${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/lib/swift/@swiftPlatform@;@include@/lib/swift_static/@swiftPlatform@" +) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-argument-parser/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-argument-parser/package.nix new file mode 100644 index 0000000000000..3cc1427760d3e --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-argument-parser/package.nix @@ -0,0 +1,73 @@ +{ + lib, + fetchFromGitHub, + cmake, + llvm_libtool, + ninja, + swift-no-swift-driver, + stdenv, +}: + +let + swiftPlatform = stdenv.hostPlatform.swift.platform; +in + +# Swift Argument Parser is a dependency to both Swift Compiler Driver and SwiftPM. +# It must be built with CMake and use Swift without swift-driver to avoid dependency cycles. +stdenv.mkDerivation (finalAttrs: { + pname = "swift-argument-parser"; + version = "1.7.0"; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitHub { + owner = "apple"; + repo = "swift-argument-parser"; + tag = finalAttrs.version; + hash = "sha256-1J68vCB4P9MBznK4cPX9TzLQId+r5//45M3C8G6zg+c="; + }; + + patches = [ + # Install libSwiftArgumentParserToolInfo.a and its module as well. + ./patches/0001-install-argument-parser-tool-info.patch + ]; + + strictDeps = true; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift-no-swift-driver + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvm_libtool ]; + + __structuredAttrs = true; + + postInstall = '' + moveToOutput lib/swift "''${!outputDev}" + moveToOutput lib/swift_static "''${!outputDev}" + + # Install CMake config file for the Swift Argument Parser library. + mkdir -p "''${!outputDev}/lib/cmake/ArgumentParser" + substitute ${./files/ArgumentParserConfig.cmake} "''${!outputDev}/lib/cmake/ArgumentParser/ArgumentParserConfig.cmake" \ + --replace-fail '@buildType@' ${if stdenv.hostPlatform.isStatic then "STATIC" else "SHARED"} \ + --replace-fail '@include@' "''${!outputDev}" \ + --replace-fail '@lib@' "''${!outputLib}" \ + --replace-fail '@swiftPlatform@' ${swiftPlatform} + ''; + + meta = { + homepage = "https://github.com/apple/swift-argument-parser"; + description = "Type-safe argument parsing for Swift"; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-argument-parser/patches/0001-install-argument-parser-tool-info.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-argument-parser/patches/0001-install-argument-parser-tool-info.patch new file mode 100644 index 0000000000000..d5e3859a79e93 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-argument-parser/patches/0001-install-argument-parser-tool-info.patch @@ -0,0 +1,22 @@ +From afdddf3098f0cd0a7340609950df4f9471a12c61 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 28 Feb 2026 13:32:37 -0500 +Subject: [PATCH] install-argument-parser-tool-info + +--- + Sources/ArgumentParserToolInfo/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Sources/ArgumentParserToolInfo/CMakeLists.txt b/Sources/ArgumentParserToolInfo/CMakeLists.txt +index b82adb7..478f89d 100644 +--- a/Sources/ArgumentParserToolInfo/CMakeLists.txt ++++ b/Sources/ArgumentParserToolInfo/CMakeLists.txt +@@ -7,4 +7,5 @@ target_compile_options(ArgumentParserToolInfo PRIVATE + $<$:-enable-testing>) + + ++_install_target(ArgumentParserToolInfo) + set_property(GLOBAL APPEND PROPERTY ArgumentParser_EXPORTS ArgumentParserToolInfo) +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-asn1/files/SwiftASN1Config.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-asn1/files/SwiftASN1Config.cmake new file mode 100644 index 0000000000000..ddcb6b154d6d4 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-asn1/files/SwiftASN1Config.cmake @@ -0,0 +1,5 @@ +add_library(SwiftASN1 @buildType@ IMPORTED) +set_target_properties(SwiftASN1 PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}SwiftASN1${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/lib/swift/@swiftPlatform@" +) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-asn1/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-asn1/package.nix new file mode 100644 index 0000000000000..e8e16c36e1bd8 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-asn1/package.nix @@ -0,0 +1,68 @@ +{ + lib, + fetchFromGitHub, + cmake, + ninja, + swift, + stdenv, +}: + +# Swift-ASN1 is a dependency of SwiftPM. It must be built with CMake to avoid dependency cycles. +stdenv.mkDerivation (finalAttrs: { + pname = "swift-asn1"; + version = "1.5.1"; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitHub { + owner = "apple"; + repo = "swift-asn1"; + tag = finalAttrs.version; + hash = "sha256-K9w13dGuw05eNIznbuWB+De067ZotX3yALc5Fit7geQ="; + }; + + postPatch = '' + substituteInPlace cmake/modules/SwiftSupport.cmake \ + --replace-fail 'ARCHIVE DESTINATION lib/''${swift}/''${swift_os}' 'ARCHIVE DESTINATION ''${CMAKE_INSTALL_LIBDIR}' \ + --replace-fail 'LIBRARY DESTINATION lib/''${swift}/''${swift_os}' 'LIBRARY DESTINATION ''${CMAKE_INSTALL_LIBDIR}' \ + --replace-fail 'RUNTIME DESTINATION bin' 'RUNTIME DESTINATION ''${CMAKE_INSTALL_BINDIR}' + ''; + + strictDeps = true; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift + ]; + + __structuredAttrs = true; + + postInstall = '' + moveToOutput lib/swift "''${!outputDev}" + moveToOutput lib/swift_static "''${!outputDev}" + + # Install CMake config file for the SwiftASN1 library. + mkdir -p mkdir -p "''${!outputDev}/lib/cmake/SwiftASN1" + substitute ${./files/SwiftASN1Config.cmake} "''${!outputDev}/lib/cmake/SwiftASN1/SwiftASN1Config.cmake" \ + --replace-fail '@buildType@' ${if stdenv.hostPlatform.isStatic then "STATIC" else "SHARED"} \ + --replace-fail '@include@' "''${!outputDev}" \ + --replace-fail '@lib@' "''${!outputLib}" \ + --replace-fail '@swiftPlatform@' ${stdenv.hostPlatform.swift.platform} + ''; + + meta = { + homepage = "https://github.com/apple/swift-asn1"; + description = "An implementation of ASN.1 for Swift"; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/extra-bins/copypng b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/extra-bins/copypng new file mode 100755 index 0000000000000..e62fa08a4642d --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/extra-bins/copypng @@ -0,0 +1,64 @@ +#!/usr/bin/env bash + +set -eu -o pipefail + +compress=false +optimize="" + +declare -a files=() + +echo "All args: $@" + +for arg in "${@}"; do + echo "Got arg: $arg" + test -n "$arg" && continue # Sometimes xcbuild passes empty arguments + case "$arg" in + -strip-PNG-text) + echo "Removing text chunks" + optimize="--strip tEXt,iTXt,zTXt" + ;; + -skip-PNGs) + echo "Not actually compressing" + compress=false + ;; + -compress) + echo "Actually in fact compressing" + compress=true + ;; + -*) + echo "warning: unrecognized option $1." >&2 + ;; + *) + echo "Adding $1 to files" + files+=("$(realpath "$1")") + ;; + esac +done + +echo "Got: ${files[@]} with length ${#files[@]}" + +case "${#files[@]}" in + 0) + echo "error: missing source and destination files" >&2 + exit 1 + ;; + 1) + echo "error: missing destination files" >&2 + exit 1 + ;; + 2) + source=${files[0]} + dest=${files[1]} + ;; + *) + echo "warning: ignoring extra files passed to \`copypng\`" + source=${files[0]} + dest=${files[1]} + ;; +esac + +if $compress; then + @oxipng@/bin/oxipng $optimize "$source" --force --out "$dest" +else + @coreutils@/bin/cp "$source" "$dest" +fi diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/extra-bins/tiffutil b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/extra-bins/tiffutil new file mode 100755 index 0000000000000..86bdb10641db0 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/extra-bins/tiffutil @@ -0,0 +1,77 @@ +#!/usr/bin/env bash + +set -eux -o pipefail + +compression="" +cmd=copy +outfile="" + +declare -a files=() + +while [ "$#" -gt 0 ]; do + test -z "$1" && continue # Sometimes xcbuild passes empty arguments + case "$1" in + -none) + compression="" + ;; + -lzw) + compression="-c lzw" + ;; + -packbits) + compression="-c packbits" + ;; + -cat) + cmd=cat + ;; + -catnosizecheck) + echo "warning: size checks are not implemented" >&2 + cmd=cat + ;; + -cathidpicheck) + echo "warning: DPI guidelines checks are not implemented" >&2 + cmd=cat + ;; + -extract) + shift + index=$1 + shift + file=$(realpath "$1") + files+=("$file,$index") + ;; + -info|-verboseinfo|-dump) + cmd=info + ;; + -out) + shift + outfile=$(realpath "$1") + ;; + *) + files+=("$(realpath "$1")") + ;; + esac + shift +done + +echo "Files: ${files[@]}" +case "${#files[@]},$cmd" in + 0,*) + echo "error: missing source and destination files" >&2 + exit 1 + ;; + 1,*) + echo "Got one file, yay" + ;; + *,copy|*,info) + echo "error: too many input files specified" + exit 1 + ;; +esac + +case $cmd in + cat|copy) + @libtiff@/bin/tiffcp $compression "${files[@]}" "$outfile" + ;; + info) + @libtiff@/bin/tiffinfo "${files[@]}" + ;; +esac diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/files/SwiftBuildConfig.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/files/SwiftBuildConfig.cmake new file mode 100644 index 0000000000000..e3eccaa4f08bb --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/files/SwiftBuildConfig.cmake @@ -0,0 +1,11 @@ +add_library(SwiftBuild::SwiftBuild @buildType@ IMPORTED) +set_target_properties(SwiftBuild::SwiftBuild PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}SwiftBuild${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/include;@include@/lib/swift/@swiftPlatform@" +) + +add_library(SwiftBuild::SWBBuildService @buildType@ IMPORTED) +set_target_properties(SwiftBuild::SWBBuildService PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}SWBBuildService${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/include;@include@/lib/swift/@swiftPlatform@" +) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/package.nix new file mode 100644 index 0000000000000..5088db2e5f689 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/package.nix @@ -0,0 +1,161 @@ +{ + lib, + cmake, + coreutils, + darwin, + diffutils, + fetchFromGitHub, + gnused, + libiconv, + libtiff, + llvmPackages_current, + llvm_libtool, + ninja, + oxipng, + replaceVars, + sqlite, + stdenv, + stdenvNoCC, + swift, + swift-argument-parser, + swift-driver, + swift-llbuild, + swift-system, + swift-tools-support-core, + swift_release, + xcbuild, +}: + +let + graphics_cmds = stdenvNoCC.mkDerivation { + pname = "graphics_cmds"; + version = "1"; + + buildCommand = '' + install -m755 -D ${replaceVars ./extra-bins/copypng { inherit coreutils oxipng; }} "$out/bin/copypng" + install -m755 -D ${replaceVars ./extra-bins/tiffutil { inherit libtiff; }} "$out/bin/tiffutil" + ''; + }; + + swiftPlatform = stdenv.hostPlatform.swift.platform; +in + +# Swift Build is a dependency of SwiftPM. It must be built with CMake to avoid dependency cycles. +stdenv.mkDerivation (finalAttrs: { + pname = "swift-build"; + version = swift_release; + + outputs = [ + "out" + "dev" + "lib" + ]; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-build"; + tag = "swift-${finalAttrs.version}-RELEASE"; + hash = "sha256-uwxnn9B/79mCyceKDIdM+iqxKoCHh8dgEijU4NM2MnM="; + }; + + patches = [ + # Remove as many impure paths as possible. + (replaceVars ./patches/0001-replace-impure-paths.patch { + xcrun = if stdenv.hostPlatform.isDarwin then xcbuild.xcrun else "/not-supported"; + inherit graphics_cmds; + coreutils = lib.getBin coreutils; + diffutils = lib.getBin diffutils; + gnused = lib.getBin gnused; + libiconv = lib.getBin libiconv; + libtool = lib.getBin llvm_libtool; + llvm = lib.getBin llvmPackages_current.llvm; + shell_cmds = if stdenv.hostPlatform.isDarwin then lib.getBin darwin.shell_cmds else "/not-supported"; + sigtool = lib.getBin darwin.sigtool; + }) + # Swift Build checks whether the SDK is Xcode by looking at the `DEVELOPER_DIR` path for Xcode. + # Have it treat store paths as being Xcode SDKs so that the nixpkgs SDK is treated as a Darwin platform. + (replaceVars ./patches/0002-treat-nixpkgs-sdk-as-xcode.patch { + store-dir = builtins.storeDir; + }) + # Don’t look in the build directory for bundles. Look only in the store. + ./patches/0003-find-bundles-in-store.patch + ]; + + # FIXME: Make this a patch + postPatch = '' + # Allow Swift Build to find `SWBBuildServiceBundle` in `$out/libexec`. + substituteInPlace Sources/SwiftBuild/SWBBuildServiceConnection.swift \ + --replace-fail 'Bundle(for: SWBBuildServiceConnection.self).bundleURL.deletingLastPathComponent()' 'URL(filePath: "@lib@/libexec")' \ + --replace-fail 'Bundle.main.executableURL?.deletingLastPathComponent()' '.some(URL(filePath: "@lib@/libexec"))?' \ + --replace-fail '@lib@' "''${!outputLib}" + + # Use the path to `swift` to find the plugin server binary + substituteInPlace Sources/SWBCore/Settings/Settings.swift \ + --replace-fail '\(toolchain.path.str)/usr/bin/swift-plugin-server' ${lib.getExe' swift.swiftc "swift-plugin-server"} + ''; + + strictDeps = true; + + cmakeFlags = [ + # The CMake hook doesn’t set `${CMAKE_INSTALL_DATADIR}` to a store path, so it needs to be specified manually. + (lib.cmakeFeature "CMAKE_INSTALL_DATADIR" "${placeholder "lib"}/share") + ]; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift + ]; + + buildInputs = [ + sqlite + swift-argument-parser + swift-driver + swift-llbuild + swift-system + swift-tools-support-core + ]; + + # Needed for `fixDarwinDylibNames` to work. + env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-headerpad_max_install_names"; + + postInstall = '' + mkdir -p "''${!outputLib}/libexec" + mv "''${!outputBin}/bin/SWBBuildServiceBundle" "''${!outputLib}/libexec/SWBBuildServiceBundle" + + # Install the swiftmodules. + mkdir -p "''${!outputDev}/lib/swift/${swiftPlatform}" + cp -v swift/*.swiftmodule "''${!outputDev}/lib/swift/${swiftPlatform}" + + # Install the C module + mkdir -p "''${!outputDev}/include" + cp -v "$NIX_BUILD_TOP/$sourceRoot/Sources/SWBCLibc/include"/*.h "''${!outputDev}/include" + cp -v "$NIX_BUILD_TOP/$sourceRoot/Sources/SWBCSupport"/*.h "''${!outputDev}/include" + cat \ + "$NIX_BUILD_TOP/$sourceRoot/Sources/SWBCLibc/include/module.modulemap" \ + "$NIX_BUILD_TOP/$sourceRoot/Sources/SWBCSupport/module.modulemap" \ + > "''${!outputDev}/include/module.modulemap" + + # Install CMake config file for the Swift Build library. + mkdir -p mkdir -p "''${!outputDev}/lib/cmake/SwiftBuild" + substitute ${./files/SwiftBuildConfig.cmake} "''${!outputDev}/lib/cmake/SwiftBuild/SwiftBuildConfig.cmake" \ + --replace-fail '@buildType@' ${if stdenv.hostPlatform.isStatic then "STATIC" else "SHARED"} \ + --replace-fail '@include@' "''${!outputDev}" \ + --replace-fail '@lib@' "''${!outputLib}" \ + --replace-fail '@swiftPlatform@' ${swiftPlatform} + ''; + + __structuredAttrs = true; + + meta = { + homepage = "https://github.com/apple/swift-build"; + description = "High-level build system based on llvbuild"; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/patches/0001-replace-impure-paths.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/patches/0001-replace-impure-paths.patch new file mode 100644 index 0000000000000..910ca80b25e31 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/patches/0001-replace-impure-paths.patch @@ -0,0 +1,1090 @@ +From 10f011cf8753c2175456a850b51c9968b2908081 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Tue, 9 Dec 2025 20:57:45 -0500 +Subject: [PATCH] replace-impure-paths + +--- + Plugins/run-xcodebuild/run-xcodebuild.swift | 2 +- + Sources/SWBAndroidPlatform/Plugin.swift | 2 +- + Sources/SWBBuildService/Messages.swift | 2 +- + .../CommandLineToolSpec.swift | 2 +- + .../SpecImplementations/Tools/CodeSign.swift | 2 +- + .../SpecImplementations/Tools/TouchTool.swift | 2 +- + Sources/SWBCore/Specs/CoreBuildSystem.xcspec | 2 +- + .../SWBCore/Specs/NativeBuildSystem.xcspec | 10 ++-- + Sources/SWBGenericUnixPlatform/Plugin.swift | 4 +- + .../SWBTaskExecution/BuildDescription.swift | 4 +- + .../TaskActions/CopyTiffTaskAction.swift | 2 +- + .../EmbedSwiftStdLibTaskAction.swift | 2 +- + Sources/SWBTestSupport/CoreBasedTests.swift | 6 +-- + Sources/SWBTestSupport/FSUtilities.swift | 4 +- + .../SWBTestSupport/LibraryGeneration.swift | 4 +- + Sources/SWBTestSupport/Xcode.swift | 2 +- + .../Specs/CodeSign.xcspec | 2 +- + Sources/SWBUtil/Signatures.swift | 2 +- + .../CoreQualificationTester.swift | 2 +- + Tests/SWBCoreTests/CommandLineSpecTests.swift | 2 +- + .../CodeSignTaskConstructionTests.swift | 48 +++++++++---------- + .../MergeableLibraryTests.swift | 10 ++-- + .../PlatformTaskConstructionTests.swift | 8 ++-- + .../PostprocessingTaskConstructionTests.swift | 4 +- + .../SwiftTaskConstructionTests.swift | 6 +-- + .../TaskConstructionTests.swift | 26 +++++----- + .../UnitTestTaskConstructionTests.swift | 12 ++--- + .../WatchTaskConstructionTests.swift | 12 ++--- + .../SignatureCollectionActionTests.swift | 4 +- + Tests/SWBUtilTests/MiscTests.swift | 2 +- + Tests/SWBUtilTests/SignaturesTests.swift | 4 +- + .../SwiftBuildTests/BuildOperationTests.swift | 16 +++---- + 32 files changed, 106 insertions(+), 106 deletions(-) + +diff --git a/Plugins/run-xcodebuild/run-xcodebuild.swift b/Plugins/run-xcodebuild/run-xcodebuild.swift +index 710a84a..c83982d 100644 +--- a/Plugins/run-xcodebuild/run-xcodebuild.swift ++++ b/Plugins/run-xcodebuild/run-xcodebuild.swift +@@ -39,7 +39,7 @@ struct RunXcodebuild: CommandPlugin { + } + + let process = Process() +- process.executableURL = URL(fileURLWithPath: "/usr/bin/xcrun") ++ process.executableURL = URL(fileURLWithPath: "@xcrun@/bin/xcrun") + process.arguments = ["xcodebuild"] + args.remainingArguments + process.environment = ProcessInfo.processInfo.environment.merging(["XCBBUILDSERVICE_PATH": buildServiceURL.path()]) { _, new in new } + try await process.run() +diff --git a/Sources/SWBAndroidPlatform/Plugin.swift b/Sources/SWBAndroidPlatform/Plugin.swift +index 117e7c6..6014cad 100644 +--- a/Sources/SWBAndroidPlatform/Plugin.swift ++++ b/Sources/SWBAndroidPlatform/Plugin.swift +@@ -118,7 +118,7 @@ struct AndroidPlatformExtension: PlatformInfoExtension { + "GENERATE_TEXT_BASED_STUBS": "NO", + "GENERATE_INTERMEDIATE_TEXT_BASED_STUBS": "NO", + +- "CHOWN": "/usr/bin/chown", ++ "CHOWN": "@coreutils@/bin/chown", + + "LIBTOOL": .plString(host.imageFormat.executableName(basename: "llvm-lib")), + "AR": .plString(host.imageFormat.executableName(basename: "llvm-ar")), +diff --git a/Sources/SWBBuildService/Messages.swift b/Sources/SWBBuildService/Messages.swift +index 070b5d3..47c7c3b 100644 +--- a/Sources/SWBBuildService/Messages.swift ++++ b/Sources/SWBBuildService/Messages.swift +@@ -192,7 +192,7 @@ extension SetSessionWorkspaceContainerPathRequest: PIFProvidingRequest { + try fs.createDirectory(dir, recursive: true) + let pifPath = dir.join(Foundation.UUID().description + ".json") + let argument = isProject ? "-project" : "-workspace" +- let result = try await Process.getOutput(url: URL(fileURLWithPath: "/usr/bin/xcrun"), arguments: ["xcodebuild", "-dumpPIF", pifPath.str, argument, path.str], currentDirectoryURL: URL(fileURLWithPath: containerPath.dirname.str, isDirectory: true), environment: Environment.current.addingContents(of: [.developerDir: session.core.developerPath.path.str])) ++ let result = try await Process.getOutput(url: URL(fileURLWithPath: "@xcrun@/bin/xcrun"), arguments: ["xcodebuild", "-dumpPIF", pifPath.str, argument, path.str], currentDirectoryURL: URL(fileURLWithPath: containerPath.dirname.str, isDirectory: true), environment: Environment.current.addingContents(of: [.developerDir: session.core.developerPath.path.str])) + if !result.exitStatus.isSuccess { + throw StubError.error("Could not dump PIF for '\(path.str)': \(String(decoding: result.stderr, as: UTF8.self))") + } +diff --git a/Sources/SWBCore/SpecImplementations/CommandLineToolSpec.swift b/Sources/SWBCore/SpecImplementations/CommandLineToolSpec.swift +index 116a390..66d030f 100644 +--- a/Sources/SWBCore/SpecImplementations/CommandLineToolSpec.swift ++++ b/Sources/SWBCore/SpecImplementations/CommandLineToolSpec.swift +@@ -246,7 +246,7 @@ extension DiscoveredCommandLineToolSpecInfo { + if !toolPath.isAbsolute { + throw StubError.error("\(toolPath.str) is not absolute") + } +- return try await producer.discoveredCommandLineToolSpecInfo(delegate, toolPath.basename, ["/usr/bin/what", "-q", toolPath.str]) { executionResult in ++ return try await producer.discoveredCommandLineToolSpecInfo(delegate, toolPath.basename, ["@shell_cmds@/bin/what", "-q", toolPath.str]) { executionResult in + let outputString = String(decoding: executionResult.stdout, as: UTF8.self).trimmingCharacters(in: .whitespacesAndNewlines) + let lines = Set(outputString.split(separator: "\n").map(String.init)) // version info is printed once per architecture slice, but we never expect them to differ + return try construct(AppleGenericVersionInfo(string: lines.only ?? outputString)) +diff --git a/Sources/SWBCore/SpecImplementations/Tools/CodeSign.swift b/Sources/SWBCore/SpecImplementations/Tools/CodeSign.swift +index d8d7ead..ea8fb21 100644 +--- a/Sources/SWBCore/SpecImplementations/Tools/CodeSign.swift ++++ b/Sources/SWBCore/SpecImplementations/Tools/CodeSign.swift +@@ -20,7 +20,7 @@ public final class CodesignToolSpec : CommandLineToolSpec, SpecIdentifierType, @ + public override func computeExecutablePath(_ cbc: CommandBuildContext) -> String { + var codesign = Path(cbc.scope.evaluate(BuiltinMacros.CODESIGN)) + if codesign.isEmpty { +- codesign = Path("/usr/bin/codesign") ++ codesign = Path("@sigtool@/bin/codesign") + } + if !codesign.isAbsolute { + codesign = resolveExecutablePath(cbc, codesign) +diff --git a/Sources/SWBCore/SpecImplementations/Tools/TouchTool.swift b/Sources/SWBCore/SpecImplementations/Tools/TouchTool.swift +index e6997b7..9644d09 100644 +--- a/Sources/SWBCore/SpecImplementations/Tools/TouchTool.swift ++++ b/Sources/SWBCore/SpecImplementations/Tools/TouchTool.swift +@@ -45,7 +45,7 @@ final class TouchToolSpec : CommandLineToolSpec, SpecIdentifierType, @unchecked + // FIXME: Need to properly quote the path here, or generally handle this better + commandLine = [commandShellPath, "/c", "copy /b \"\(input.absolutePath.str)\" +,,"] + } else { +- commandLine = ["/usr/bin/touch", "-c", input.absolutePath.str] ++ commandLine = ["@coreutils@/bin/touch", "-c", input.absolutePath.str] + } + + delegate.createTask(type: self, ruleInfo: ["Touch", input.absolutePath.str], commandLine: commandLine, environment: EnvironmentBindings(), workingDirectory: cbc.producer.defaultWorkingDirectory, inputs: [delegate.createNode(input.absolutePath)], outputs: outputs, mustPrecede: [], action: delegate.taskActionCreationDelegate.createDeferredExecutionTaskActionIfRequested(userPreferences: cbc.producer.userPreferences), execDescription: resolveExecutionDescription(cbc, delegate, lookup: outputFileOverride), enableSandboxing: enableSandboxing) +diff --git a/Sources/SWBCore/Specs/CoreBuildSystem.xcspec b/Sources/SWBCore/Specs/CoreBuildSystem.xcspec +index 467e061..cee7bd1 100644 +--- a/Sources/SWBCore/Specs/CoreBuildSystem.xcspec ++++ b/Sources/SWBCore/Specs/CoreBuildSystem.xcspec +@@ -3176,7 +3176,7 @@ For more information on mergeable libraries, see [Configuring your project to us + { + Name = "JAVA_COMPILER"; + Type = Path; +- DefaultValue = "/usr/bin/javac"; ++ DefaultValue = "javac"; + }, + { + Name = "JAVA_ARCHIVE_CLASSES"; +diff --git a/Sources/SWBCore/Specs/NativeBuildSystem.xcspec b/Sources/SWBCore/Specs/NativeBuildSystem.xcspec +index b4fcfa8..79f4b99 100644 +--- a/Sources/SWBCore/Specs/NativeBuildSystem.xcspec ++++ b/Sources/SWBCore/Specs/NativeBuildSystem.xcspec +@@ -823,23 +823,23 @@ When `GENERATE_INFOPLIST_FILE` is enabled, sets the value of the [CFBundleExecut + }, + { Name = ICONV; + Type = Path; +- DefaultValue = "/usr/bin/iconv"; ++ DefaultValue = "@libiconv@/bin/iconv"; + }, + { Name = SED; + Type = Path; +- DefaultValue = "/usr/bin/sed"; ++ DefaultValue = "@gnused@/bin/sed"; + }, + { Name = CHOWN; + Type = Path; +- DefaultValue = "/usr/sbin/chown"; ++ DefaultValue = "@coreutils@/bin/chown"; + }, + { Name = CHMOD; + Type = Path; +- DefaultValue = "/bin/chmod"; ++ DefaultValue = "@coreutils@/bin/chmod"; + }, + { Name = DIFF; + Type = Path; +- DefaultValue = "/usr/bin/diff"; ++ DefaultValue = "@diffutils@/bin/diff"; + }, + + // Utility settings +diff --git a/Sources/SWBGenericUnixPlatform/Plugin.swift b/Sources/SWBGenericUnixPlatform/Plugin.swift +index 632a4ca..5b18fc4 100644 +--- a/Sources/SWBGenericUnixPlatform/Plugin.swift ++++ b/Sources/SWBGenericUnixPlatform/Plugin.swift +@@ -120,8 +120,8 @@ struct GenericUnixSDKRegistryExtension: SDKRegistryExtension { + "GENERATE_TEXT_BASED_STUBS": "NO", + "GENERATE_INTERMEDIATE_TEXT_BASED_STUBS": "NO", + +- "CHOWN": "/usr/bin/chown", +- "AR": "llvm-ar", ++ "CHOWN": "@coreutils@/bin/chown", ++ "AR": "@llvm@/bin/llvm-ar", + ] + default: + defaultProperties = [:] +diff --git a/Sources/SWBTaskExecution/BuildDescription.swift b/Sources/SWBTaskExecution/BuildDescription.swift +index 53aae73..15fc1ea 100644 +--- a/Sources/SWBTaskExecution/BuildDescription.swift ++++ b/Sources/SWBTaskExecution/BuildDescription.swift +@@ -896,7 +896,7 @@ package final class BuildDescriptionBuilder { + + var commandLine = commandLine + if bypassActualTasks { +- commandLine = [ByteString(encodingAsUTF8: "/usr/bin/true")] + commandLine ++ commandLine = [ByteString(encodingAsUTF8: "@coreutils@/bin/true")] + commandLine + } + + // Add the command definition. +@@ -976,7 +976,7 @@ package final class BuildDescriptionBuilder { + func addCustomCommand(_ task: any PlannedTask, tool: String, inputs: [any PlannedNode], outputs: [any PlannedNode], deps: DependencyDataStyle? = nil, allowMissingInputs: Bool, alwaysOutOfDate: Bool, description: [String]) throws { + // Honor `bypassActualTasks`. + if bypassActualTasks { +- try addSubprocessCommand(task, inputs: inputs, outputs: outputs, description: description, commandLine: ["/usr/bin/true"], allowMissingInputs: allowMissingInputs, alwaysOutOfDate: alwaysOutOfDate, isUnsafeToInterrupt: false) ++ try addSubprocessCommand(task, inputs: inputs, outputs: outputs, description: description, commandLine: ["@coreutils@/bin/true"], allowMissingInputs: allowMissingInputs, alwaysOutOfDate: alwaysOutOfDate, isUnsafeToInterrupt: false) + return + } + +diff --git a/Sources/SWBTaskExecution/TaskActions/CopyTiffTaskAction.swift b/Sources/SWBTaskExecution/TaskActions/CopyTiffTaskAction.swift +index df1675a..9e4b37c 100644 +--- a/Sources/SWBTaskExecution/TaskActions/CopyTiffTaskAction.swift ++++ b/Sources/SWBTaskExecution/TaskActions/CopyTiffTaskAction.swift +@@ -141,7 +141,7 @@ public final class CopyTiffTaskAction: TaskAction { + + // If we have a compression argument, pass through tiffutil. + if let compression = options.compression { +- let tiffutilCommand = ["/usr/bin/tiffutil", "-\(compression)", input.str, "-out", output.str] ++ let tiffutilCommand = ["@graphics_cmds@/bin/tiffutil", "-\(compression)", input.str, "-out", output.str] + + let processDelegate = TaskProcessDelegate(outputDelegate: outputDelegate) + do { +diff --git a/Sources/SWBTaskExecution/TaskActions/EmbedSwiftStdLibTaskAction.swift b/Sources/SWBTaskExecution/TaskActions/EmbedSwiftStdLibTaskAction.swift +index 40509fc..e2a3ae6 100644 +--- a/Sources/SWBTaskExecution/TaskActions/EmbedSwiftStdLibTaskAction.swift ++++ b/Sources/SWBTaskExecution/TaskActions/EmbedSwiftStdLibTaskAction.swift +@@ -847,7 +847,7 @@ public final class EmbedSwiftStdLibTaskAction: TaskAction { + // Codesign the Swift libraries in $build_dir/$frameworks + // but not the libraries in $build_dir/$unsigned_frameworks. + if codeSignIdentity != nil && !swiftLibs.isEmpty { +- let codesign = Path(self.effectiveEnvironment["CODESIGN"] ?? "/usr/bin/codesign") ++ let codesign = Path(self.effectiveEnvironment["CODESIGN"] ?? "@sigtool@/bin/codesign") + + // Swift libraries that are up-to-date get codesigned anyway + // (in case options changed or a previous build was incomplete). +diff --git a/Sources/SWBTestSupport/CoreBasedTests.swift b/Sources/SWBTestSupport/CoreBasedTests.swift +index ff76cf5..4d3ea5c 100644 +--- a/Sources/SWBTestSupport/CoreBasedTests.swift ++++ b/Sources/SWBTestSupport/CoreBasedTests.swift +@@ -227,9 +227,9 @@ extension CoreBasedTests { + package var libtoolPath: Path { + get async throws { + let (core, defaultToolchain) = try await coreAndToolchain() +- let fallbacklibtool = Path("/usr/bin/libtool") ++ let fallbacklibtool = Path("@libtool@/bin/libtool") + return try #require(defaultToolchain.executableSearchPaths.findExecutable(operatingSystem: core.hostOperatingSystem, basename: "libtool") +- ?? defaultToolchain.executableSearchPaths.findExecutable(operatingSystem: core.hostOperatingSystem, basename: "llvm-ar") ++ ?? defaultToolchain.executableSearchPaths.findExecutable(operatingSystem: core.hostOperatingSystem, basename: "@llvm@/bin/llvm-ar") + ?? (localFS.exists(fallbacklibtool) ? fallbacklibtool : nil), "couldn't find libtool in default toolchain") + } + } +@@ -238,7 +238,7 @@ extension CoreBasedTests { + package var llvmlibPath: Path { + get async throws { + let (core, defaultToolchain) = try await coreAndToolchain() +- let fallbacklibtool = Path("/usr/bin/llvm-lib") ++ let fallbacklibtool = Path("@llvm@/bin/llvm-lib") + return try #require(defaultToolchain.executableSearchPaths.findExecutable(operatingSystem: core.hostOperatingSystem, basename: "llvm-lib") ?? (localFS.exists(fallbacklibtool) ? fallbacklibtool : nil), "couldn't find llvm-lib in default toolchain") + } + } +diff --git a/Sources/SWBTestSupport/FSUtilities.swift b/Sources/SWBTestSupport/FSUtilities.swift +index e95573a..972df55 100644 +--- a/Sources/SWBTestSupport/FSUtilities.swift ++++ b/Sources/SWBTestSupport/FSUtilities.swift +@@ -325,9 +325,9 @@ package extension FSProxy { + + if self === localFS { + if !shallow { +- _ = try await runProcess(["/usr/bin/codesign", "-s", "-", binary.join(path.basenameWithoutSuffix).str]) ++ _ = try await runProcess(["@sigtool@/bin/codesign", "-s", "-", binary.join(path.basenameWithoutSuffix).str]) + } +- _ = try await runProcess(["/usr/bin/codesign", "-s", "-", (shallow ? path : contents).str]) ++ _ = try await runProcess(["@sigtool@/bin/codesign", "-s", "-", (shallow ? path : contents).str]) + } else { + try await writeFileContents(contents.join("_CodeSignature/CodeSignature")) { $0 <<< "signature" } + } +diff --git a/Sources/SWBTestSupport/LibraryGeneration.swift b/Sources/SWBTestSupport/LibraryGeneration.swift +index 1a23807..3f750f3 100644 +--- a/Sources/SWBTestSupport/LibraryGeneration.swift ++++ b/Sources/SWBTestSupport/LibraryGeneration.swift +@@ -87,7 +87,7 @@ extension InstalledXcode { + let linkArgs = [["-sdk", platform.sdkName, "clang", "-dynamiclib", "-target", target], targetVariantArgs, linkerArgs, ["-L" + swiftRuntimeLibraryDirectoryPath(name: platform.sdkName), "-L/usr/lib/swift", "-o", machoPath.str, objectPath.str]].reduce([], +) + _ = try await xcrun(linkArgs, workingDirectory: workingDirectory) + if needSigned { +- _ = try await runProcessWithDeveloperDirectory(["/usr/bin/codesign", "-s", "-", machoPath.str]) ++ _ = try await runProcessWithDeveloperDirectory(["@sigtool@/bin/codesign", "-s", "-", machoPath.str]) + } + return machoPath + } +@@ -178,7 +178,7 @@ extension InstalledXcode { + } else { + _ = try await xcrun(["-sdk", platform.sdkName, "clang", "-dynamiclib", "-target", target] + targetVariantArgs + linkerArgs + ["-o", machoPath.str, objectPath.str]) + if needSigned { +- _ = try await runProcessWithDeveloperDirectory(["/usr/bin/codesign", "-s", "-", machoPath.str]) ++ _ = try await runProcessWithDeveloperDirectory(["@sigtool@/bin/codesign", "-s", "-", machoPath.str]) + } + machos.append(machoPath) + } +diff --git a/Sources/SWBTestSupport/Xcode.swift b/Sources/SWBTestSupport/Xcode.swift +index 969fc92..087816c 100644 +--- a/Sources/SWBTestSupport/Xcode.swift ++++ b/Sources/SWBTestSupport/Xcode.swift +@@ -32,7 +32,7 @@ package struct InstalledXcode: Sendable { + } + + package func xcrun(_ args: [String], workingDirectory: Path? = nil, redirectStderr: Bool = true) async throws -> String { +- return try await runProcessWithDeveloperDirectory(["/usr/bin/xcrun"] + args, workingDirectory: workingDirectory, overrideDeveloperDirectory: self.developerDirPath.str, redirectStderr: redirectStderr) ++ return try await runProcessWithDeveloperDirectory(["@xcrun@/bin/xcrun"] + args, workingDirectory: workingDirectory, overrideDeveloperDirectory: self.developerDirPath.str, redirectStderr: redirectStderr) + } + + package func productBuildVersion() throws -> ProductBuildVersion { +diff --git a/Sources/SWBUniversalPlatform/Specs/CodeSign.xcspec b/Sources/SWBUniversalPlatform/Specs/CodeSign.xcspec +index 02ec3dd..51629c9 100644 +--- a/Sources/SWBUniversalPlatform/Specs/CodeSign.xcspec ++++ b/Sources/SWBUniversalPlatform/Specs/CodeSign.xcspec +@@ -17,7 +17,7 @@ + Description = "Code-sign a framework, application, or other built target."; + ExecDescription = "Sign $(InputFileName)"; + ProgressDescription = "Signing product"; +- ExecPath = "/usr/bin/codesign"; ++ ExecPath = "@sigtool@/bin/codesign"; + // codesign is currently not safe to interrupt, tracked by 20712615. + IsUnsafeToInterrupt = YES; + CommandOutputParser = ( +diff --git a/Sources/SWBUtil/Signatures.swift b/Sources/SWBUtil/Signatures.swift +index eb3c1e2..180dcc6 100644 +--- a/Sources/SWBUtil/Signatures.swift ++++ b/Sources/SWBUtil/Signatures.swift +@@ -140,7 +140,7 @@ public struct CodeSignatureInfo: Codable, Sendable { + + static public func invokeCodesignVerification(for path: String, treatUnsignedAsError: Bool) async throws { + #if os(macOS) +- let executionResult = try await Process.getOutput(url: URL(filePath: "/usr/bin/codesign"), arguments: ["-vvvv", path]) ++ let executionResult = try await Process.getOutput(url: URL(filePath: "@sigtool@/bin/codesign"), arguments: ["-vvvv", path]) + let stdoutContent = String(data: executionResult.stdout, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "" + let stderrContent = String(data: executionResult.stderr, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "" + +diff --git a/Sources/SwiftBuildTestSupport/CoreQualificationTester.swift b/Sources/SwiftBuildTestSupport/CoreQualificationTester.swift +index 8495d9f..1e4dd60 100644 +--- a/Sources/SwiftBuildTestSupport/CoreQualificationTester.swift ++++ b/Sources/SwiftBuildTestSupport/CoreQualificationTester.swift +@@ -326,7 +326,7 @@ extension FileContentsCheckingResult { + let plist: PropertyListItem? + switch destination { + case .signed: +- let bytes = try await Array(xcode.xcrun(["/usr/bin/codesign", "-a", slice.arch, "-d", "--entitlements", ":-", binaryPath.str], redirectStderr: false).utf8) ++ let bytes = try await Array(xcode.xcrun(["@sigtool@/bin/codesign", "-a", slice.arch, "-d", "--entitlements", ":-", binaryPath.str], redirectStderr: false).utf8) + plist = try !bytes.isEmpty ? PropertyList.fromBytes(bytes) : nil + case .simulated: + // xcrun otool-classic [-arch arch] -X -s __TEXT __entitlements +diff --git a/Tests/SWBCoreTests/CommandLineSpecTests.swift b/Tests/SWBCoreTests/CommandLineSpecTests.swift +index 77813bc..03df67f 100644 +--- a/Tests/SWBCoreTests/CommandLineSpecTests.swift ++++ b/Tests/SWBCoreTests/CommandLineSpecTests.swift +@@ -1721,7 +1721,7 @@ import SWBMacro + let commandShellPath = try #require(getEnvironmentVariable("ComSpec"), "Can't determine path to cmd.exe because the ComSpec environment variable is not set") + task.checkCommandLine([commandShellPath, "/c", "copy /b \"\(Path.root.join("tmp/input").str)\" +,,"]) + } else { +- task.checkCommandLine(["/usr/bin/touch", "-c", Path.root.join("tmp/input").str]) ++ task.checkCommandLine(["@coreutils@/bin/touch", "-c", Path.root.join("tmp/input").str]) + } + #expect(task.execDescription == "Touch input") + } +diff --git a/Tests/SWBTaskConstructionTests/CodeSignTaskConstructionTests.swift b/Tests/SWBTaskConstructionTests/CodeSignTaskConstructionTests.swift +index 33972fe..838b3d0 100644 +--- a/Tests/SWBTaskConstructionTests/CodeSignTaskConstructionTests.swift ++++ b/Tests/SWBTaskConstructionTests/CodeSignTaskConstructionTests.swift +@@ -572,7 +572,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_LIBRARY_VALIDATION": "YES", "ENABLE_HARDENED_RUNTIME": "YES", "CODE_SIGN_RESTRICT": "YES"]), runDestination: .macOS) { results in + results.checkTarget("macOSFramework") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "-o", "library,restrict,runtime", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "-o", "library,restrict,runtime", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) + } + } + +@@ -583,7 +583,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_LIBRARY_VALIDATION": "NO", "ENABLE_HARDENED_RUNTIME": "NO", "CODE_SIGN_RESTRICT": "NO"]), runDestination: .macOS) { results in + results.checkTarget("macOSFramework") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) + } + } + +@@ -594,7 +594,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_LIBRARY_VALIDATION": "NO", "ENABLE_HARDENED_RUNTIME": "NO", "CODE_SIGN_RESTRICT": "YES", "OTHER_CODE_SIGN_FLAGS": "-o library,restrict"]), runDestination: .macOS) { results in + results.checkTarget("macOSFramework") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "-o", "library,restrict", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "-o", "library,restrict", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) + } + } + +@@ -605,7 +605,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_LIBRARY_VALIDATION": "NO", "ENABLE_HARDENED_RUNTIME": "NO", "CODE_SIGN_RESTRICT": "NO", "OTHER_CODE_SIGN_FLAGS": "-o library,restrict,runtime"]), runDestination: .macOS) { results in + results.checkTarget("macOSFramework") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "-o", "library,restrict,runtime", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "-o", "library,restrict,runtime", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) + } + } + +@@ -616,7 +616,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_LIBRARY_VALIDATION": "NO", "ENABLE_HARDENED_RUNTIME": "NO", "CODE_SIGN_RESTRICT": "NO", "OTHER_CODE_SIGN_FLAGS": "-o library,restrict,runtime", "DISABLE_FREEFORM_CODE_SIGN_OPTION_FLAGS": "YES"]), runDestination: .macOS) { results in + results.checkTarget("macOSFramework") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) + } + } + +@@ -630,7 +630,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_LIBRARY_VALIDATION": "YES", "ENABLE_HARDENED_RUNTIME": "YES", "CODE_SIGN_RESTRICT": "YES", "OTHER_CODE_SIGN_FLAGS": "--options kill,hard,host,expires,linker-signed"]), runDestination: .macOS) { results in // ignore-unacceptable-language; codesign tool option + results.checkTarget("macOSFramework") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "--options", "expires,hard,host,kill,library,linker-signed,restrict,runtime", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) // ignore-unacceptable-language; codesign tool option ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--options", "expires,hard,host,kill,library,linker-signed,restrict,runtime", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) // ignore-unacceptable-language; codesign tool option + } + } + +@@ -641,7 +641,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_LIBRARY_VALIDATION": "NO", "ENABLE_HARDENED_RUNTIME": "NO", "CODE_SIGN_RESTRICT": "YES", "OTHER_CODE_SIGN_FLAGS": "--options kill,hard,host,expires,linker-signed"]), runDestination: .macOS) { results in // ignore-unacceptable-language; codesign tool option + results.checkTarget("macOSFramework") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "--options", "expires,hard,host,kill,linker-signed,restrict", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) // ignore-unacceptable-language; codesign tool option ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--options", "expires,hard,host,kill,linker-signed,restrict", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) // ignore-unacceptable-language; codesign tool option + } + } + +@@ -892,7 +892,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_HARDENED_RUNTIME": "YES"]), runDestination: .macCatalyst, fs: fs) { results in + results.checkTarget("App") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "3ACDE4E702E4", "-o", "runtime", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "3ACDE4E702E4", "-o", "runtime", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) + } + results.checkNoDiagnostics() + } +@@ -900,7 +900,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["OTHER_CODE_SIGN_FLAGS": "-o library,restrict,runtime"]), runDestination: .macCatalyst, fs: fs) { results in + results.checkTarget("App") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "3ACDE4E702E4", "-o", "library,restrict,runtime", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "3ACDE4E702E4", "-o", "library,restrict,runtime", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) + } + results.checkNoDiagnostics() + } +@@ -908,7 +908,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_LIBRARY_VALIDATION": "YES", "ENABLE_HARDENED_RUNTIME": "YES", "CODE_SIGN_RESTRICT": "YES"]), runDestination: .iOS, fs: fs) { results in + results.checkTarget("App") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "-o", "library,restrict,runtime", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "-o", "library,restrict,runtime", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) + } + results.checkNoDiagnostics() + } +@@ -916,7 +916,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_HARDENED_RUNTIME": "YES"]), runDestination: .iOS, fs: fs) { results in + results.checkTarget("App") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "-o", "runtime", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "-o", "runtime", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) + } + results.checkNoDiagnostics() + } +@@ -924,7 +924,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_HARDENED_RUNTIME": "YES"]), runDestination: .macOS, fs: fs) { results in + results.checkTarget("macOSFramework") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "3ACDE4E702E4", "-o", "runtime", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "3ACDE4E702E4", "-o", "runtime", "--entitlements", .suffix("macOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/macOSFramework.framework/Versions/A"]) + } + results.checkNoDiagnostics() + } +@@ -932,7 +932,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_HARDENED_RUNTIME": "YES"]), runDestination: .watchOS, fs: fs) { results in + results.checkTarget("watchOSFramework") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "-o", "runtime", "--entitlements", .suffix("watchOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/watchOSFramework.framework"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "-o", "runtime", "--entitlements", .suffix("watchOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/watchOSFramework.framework"]) + } + results.checkNoDiagnostics() + } +@@ -942,7 +942,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_HARDENED_RUNTIME": "YES"]), runDestination: .iOSSimulator, fs: fs) { results in + results.checkTarget("App") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) + } + results.checkNoDiagnostics() + } +@@ -950,7 +950,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_LIBRARY_VALIDATION": "YES", "ENABLE_HARDENED_RUNTIME": "YES", "CODE_SIGN_RESTRICT": "YES"]), runDestination: .iOSSimulator, fs: fs) { results in + results.checkTarget("App") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "-o", "library,restrict", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "-o", "library,restrict", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) + } + results.checkNoDiagnostics() + } +@@ -958,7 +958,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["OTHER_CODE_SIGN_FLAGS": "-o runtime"]), runDestination: .iOSSimulator, fs: fs) { results in + results.checkTarget("App") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) + } + results.checkNoDiagnostics() + } +@@ -966,7 +966,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["OTHER_CODE_SIGN_FLAGS": "-o library,restrict,runtime"]), runDestination: .iOSSimulator, fs: fs) { results in + results.checkTarget("App") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "-o", "library,restrict", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "-o", "library,restrict", "--entitlements", .suffix("App.app.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Applications/App.app"]) + } + results.checkNoDiagnostics() + } +@@ -974,7 +974,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["ENABLE_HARDENED_RUNTIME": "YES"]), runDestination: .watchOSSimulator, fs: fs) { results in + results.checkTarget("watchOSFramework") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", .suffix("watchOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/watchOSFramework.framework"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", .suffix("watchOSFramework.framework.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/Library/Frameworks/watchOSFramework.framework"]) + } + results.checkNoDiagnostics() + } +@@ -1019,7 +1019,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["LAUNCH_CONSTRAINT_SELF": "/tmp/SelfLaunchConstraint.plist"]), runDestination: .macOS) { results in + results.checkTarget("Tool") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "--launch-constraint-self", .suffix("SelfLaunchConstraint.plist"), "/tmp/aProject.dst/usr/local/bin/Tool"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "--launch-constraint-self", .suffix("SelfLaunchConstraint.plist"), "/tmp/aProject.dst/usr/local/bin/Tool"]) + } + } + } +@@ -1028,7 +1028,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["LAUNCH_CONSTRAINT_PARENT": "/tmp/ParentLaunchConstraint.plist"]), runDestination: .macOS) { results in + results.checkTarget("Tool") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "--launch-constraint-parent", .suffix("ParentLaunchConstraint.plist"), "/tmp/aProject.dst/usr/local/bin/Tool"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "--launch-constraint-parent", .suffix("ParentLaunchConstraint.plist"), "/tmp/aProject.dst/usr/local/bin/Tool"]) + } + } + } +@@ -1038,7 +1038,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["LAUNCH_CONSTRAINT_RESPONSIBLE": "/tmp/ResponsibleLaunchConstraint.plist"]), runDestination: .macOS) { results in + results.checkTarget("Tool") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "--launch-constraint-responsible", .suffix("ResponsibleLaunchConstraint.plist"), "/tmp/aProject.dst/usr/local/bin/Tool"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "--launch-constraint-responsible", .suffix("ResponsibleLaunchConstraint.plist"), "/tmp/aProject.dst/usr/local/bin/Tool"]) + } + } + } +@@ -1047,7 +1047,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["LAUNCH_CONSTRAINT_SELF": "/tmp/SelfLaunchConstraint.plist", "LAUNCH_CONSTRAINT_PARENT": "/tmp/ParentLaunchConstraint.plist", "LAUNCH_CONSTRAINT_RESPONSIBLE": "/tmp/ResponsibleLaunchConstraint.plist"]), runDestination: .macOS) { results in + results.checkTarget("Tool") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "--launch-constraint-self", .suffix("SelfLaunchConstraint.plist"), "--launch-constraint-parent", .suffix("ParentLaunchConstraint.plist"), "--launch-constraint-responsible", .suffix("ResponsibleLaunchConstraint.plist"), "/tmp/aProject.dst/usr/local/bin/Tool"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "--launch-constraint-self", .suffix("SelfLaunchConstraint.plist"), "--launch-constraint-parent", .suffix("ParentLaunchConstraint.plist"), "--launch-constraint-responsible", .suffix("ResponsibleLaunchConstraint.plist"), "/tmp/aProject.dst/usr/local/bin/Tool"]) + } + } + } +@@ -1091,7 +1091,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["LIBRARY_LOAD_CONSTRAINT": "/tmp/LibraryLoadConstraint.plist"]), runDestination: .macOS, systemInfo: SystemInfo(operatingSystemVersion: Version(14), productBuildVersion: "99A98", nativeArchitecture: "arm64")) { results in + results.checkTarget("Tool") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "--library-constraint", .suffix("LibraryLoadConstraint.plist"), "/tmp/aProject.dst/usr/local/bin/Tool"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "--library-constraint", .suffix("LibraryLoadConstraint.plist"), "/tmp/aProject.dst/usr/local/bin/Tool"]) + } + } + } +@@ -1100,7 +1100,7 @@ fileprivate struct CodeSignTaskConstructionTests: CoreBasedTests { + await tester.checkBuild(BuildParameters(action: .install, configuration: "Release", overrides: ["LIBRARY_LOAD_CONSTRAINT": "/tmp/LibraryLoadConstraint.plist"]), runDestination: .macOS, systemInfo: SystemInfo(operatingSystemVersion: Version(13), productBuildVersion: "99A98", nativeArchitecture: "arm64")) { results in + results.checkTarget("Tool") { target in + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in +- task.checkCommandLineMatches(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/usr/local/bin/Tool"]) ++ task.checkCommandLineMatches(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", .suffix("Tool.xcent"), "--generate-entitlement-der", "/tmp/aProject.dst/usr/local/bin/Tool"]) + } + } + } +diff --git a/Tests/SWBTaskConstructionTests/MergeableLibraryTests.swift b/Tests/SWBTaskConstructionTests/MergeableLibraryTests.swift +index 4584f5d..edc83b1 100644 +--- a/Tests/SWBTaskConstructionTests/MergeableLibraryTests.swift ++++ b/Tests/SWBTaskConstructionTests/MergeableLibraryTests.swift +@@ -289,7 +289,7 @@ fileprivate struct MergeableLibraryTests: CoreBasedTests { + let signedDir = String("\(FWK_FULL_PRODUCT_NAME)/\(FWK_CONTENTS_DIR_SUBPATH)".dropLast()) // Chop off the trailing '/' + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemPattern(.suffix(signedDir))) { task in + task.checkRuleInfo(["CodeSign", "\(BUILT_PRODUCTS_DIR)/\(FULL_PRODUCT_NAME)/\(FWK_CONTENTS_DIR_SUBPATH)\(reexportedBinariesDirectoryName)/\(signedDir)"]) +- task.checkCommandLineContains(["/usr/bin/codesign", "--preserve-metadata=identifier,entitlements,flags", "\(BUILT_PRODUCTS_DIR)/\(FULL_PRODUCT_NAME)/\(FWK_CONTENTS_DIR_SUBPATH)\(reexportedBinariesDirectoryName)/\(signedDir)"]) ++ task.checkCommandLineContains(["@sigtool@/bin/codesign", "--preserve-metadata=identifier,entitlements,flags", "\(BUILT_PRODUCTS_DIR)/\(FULL_PRODUCT_NAME)/\(FWK_CONTENTS_DIR_SUBPATH)\(reexportedBinariesDirectoryName)/\(signedDir)"]) + results.checkTaskFollows(task, [.matchTarget(target), .matchRuleType("Copy"), .matchRuleItemBasename(FWK_FULL_PRODUCT_NAME)]) + } + } +@@ -303,7 +303,7 @@ fileprivate struct MergeableLibraryTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename(DYLIB_FULL_PRODUCT_NAME)) { task in + task.checkRuleInfo(["CodeSign", "\(BUILT_PRODUCTS_DIR)/\(FULL_PRODUCT_NAME)/\(FWK_CONTENTS_DIR_SUBPATH)\(reexportedBinariesDirectoryName)/\(DYLIB_FULL_PRODUCT_NAME)"]) +- task.checkCommandLineContains(["/usr/bin/codesign", "--preserve-metadata=identifier,entitlements,flags", "\(BUILT_PRODUCTS_DIR)/\(FULL_PRODUCT_NAME)/\(FWK_CONTENTS_DIR_SUBPATH)\(reexportedBinariesDirectoryName)/\(DYLIB_FULL_PRODUCT_NAME)"]) ++ task.checkCommandLineContains(["@sigtool@/bin/codesign", "--preserve-metadata=identifier,entitlements,flags", "\(BUILT_PRODUCTS_DIR)/\(FULL_PRODUCT_NAME)/\(FWK_CONTENTS_DIR_SUBPATH)\(reexportedBinariesDirectoryName)/\(DYLIB_FULL_PRODUCT_NAME)"]) + results.checkTaskFollows(task, [.matchTarget(target), .matchRuleType("Copy"), .matchRuleItemBasename(DYLIB_FULL_PRODUCT_NAME)]) + } + } +@@ -732,7 +732,7 @@ fileprivate struct MergeableLibraryTests: CoreBasedTests { + let signedDir = String("\(FWK_FULL_PRODUCT_NAME)/\(FWK_CONTENTS_DIR_SUBPATH)".dropLast()) // Chop off the trailing '/' + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemPattern(.suffix(signedDir))) { task in + task.checkRuleInfo(["CodeSign", "\(BUILT_PRODUCTS_DIR)/\(FULL_PRODUCT_NAME)/\(FWK_CONTENTS_DIR_SUBPATH)\(reexportedBinariesDirectoryName)/\(signedDir)"]) +- task.checkCommandLineContains(["/usr/bin/codesign", "--preserve-metadata=identifier,entitlements,flags", "\(BUILT_PRODUCTS_DIR)/\(FULL_PRODUCT_NAME)/\(FWK_CONTENTS_DIR_SUBPATH)\(reexportedBinariesDirectoryName)/\(signedDir)"]) ++ task.checkCommandLineContains(["@sigtool@/bin/codesign", "--preserve-metadata=identifier,entitlements,flags", "\(BUILT_PRODUCTS_DIR)/\(FULL_PRODUCT_NAME)/\(FWK_CONTENTS_DIR_SUBPATH)\(reexportedBinariesDirectoryName)/\(signedDir)"]) + results.checkTaskFollows(task, [.matchTarget(target), .matchRuleType("Copy"), .matchRuleItemBasename(FWK_FULL_PRODUCT_NAME)]) + } + } +@@ -1113,7 +1113,7 @@ fileprivate struct MergeableLibraryTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("FwkTarget.framework")) { task in + task.checkRuleInfo(["CodeSign", "\(SYMROOT)/Config-iphoneos/\(targetName).framework/\(reexportedBinariesDirectoryName)/FwkTarget.framework"]) +- task.checkCommandLineContains(["/usr/bin/codesign", "--preserve-metadata=identifier,entitlements,flags", "\(SYMROOT)/Config-iphoneos/\(targetName).framework/\(reexportedBinariesDirectoryName)/FwkTarget.framework"]) ++ task.checkCommandLineContains(["@sigtool@/bin/codesign", "--preserve-metadata=identifier,entitlements,flags", "\(SYMROOT)/Config-iphoneos/\(targetName).framework/\(reexportedBinariesDirectoryName)/FwkTarget.framework"]) + results.checkTaskFollows(task, [.matchTarget(target), .matchRuleType("Copy"), .matchRuleItemBasename("FwkTarget.framework")]) + } + +@@ -2242,7 +2242,7 @@ fileprivate struct MergeableLibraryTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemPattern(.suffix("\(reexportedBinariesDirectoryName)/\(fwkTargetName).framework"))) { task in + task.checkRuleInfo(["CodeSign", "\(SYMROOT)/Config-iphoneos/\(targetName).app/\(reexportedBinariesDirectoryName)/\(fwkTargetName).framework"]) +- task.checkCommandLineContains(["/usr/bin/codesign", "--preserve-metadata=identifier,entitlements,flags", "\(SYMROOT)/Config-iphoneos/\(targetName).app/\(reexportedBinariesDirectoryName)/\(fwkTargetName).framework"]) ++ task.checkCommandLineContains(["@sigtool@/bin/codesign", "--preserve-metadata=identifier,entitlements,flags", "\(SYMROOT)/Config-iphoneos/\(targetName).app/\(reexportedBinariesDirectoryName)/\(fwkTargetName).framework"]) + results.checkTaskFollows(task, [.matchTarget(target), .matchRuleType("Copy"), .matchRuleItemPattern(.suffix("\(reexportedBinariesDirectoryName)/\(fwkTargetName).framework"))]) + } + } +diff --git a/Tests/SWBTaskConstructionTests/PlatformTaskConstructionTests.swift b/Tests/SWBTaskConstructionTests/PlatformTaskConstructionTests.swift +index f2e561d..5a11f29 100644 +--- a/Tests/SWBTaskConstructionTests/PlatformTaskConstructionTests.swift ++++ b/Tests/SWBTaskConstructionTests/PlatformTaskConstructionTests.swift +@@ -191,7 +191,7 @@ fileprivate struct PlatformTaskConstructionTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("FwkTarget.framework")) { task in + task.checkRuleInfo(["CodeSign", "\(SRCROOT)/build/Debug-iphoneos/AppTarget.app/Frameworks/FwkTarget.framework"]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-iphoneos/AppTarget.app/Frameworks/FwkTarget.framework"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-iphoneos/AppTarget.app/Frameworks/FwkTarget.framework"]) + task.checkInputs([ + .path("\(SRCROOT)/build/Debug-iphoneos/AppTarget.app/Frameworks/FwkTarget.framework"), + .path("\(SRCROOT)/build/Debug-iphoneos/AppTarget.app/Frameworks/FwkTarget.framework"), +@@ -211,7 +211,7 @@ fileprivate struct PlatformTaskConstructionTests: CoreBasedTests { + // There should be a codesign task for the app. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("AppTarget.app")) { task in + #expect(task.ruleInfo[1] == "\(SRCROOT)/build/Debug-iphoneos/AppTarget.app") +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-iphoneos/AppTarget.build/AppTarget.app.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-iphoneos/AppTarget.app"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-iphoneos/AppTarget.build/AppTarget.app.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-iphoneos/AppTarget.app"]) + task.checkEnvironment([ + "CODESIGN_ALLOCATE": .equal("codesign_allocate"), + ], exact: true) +@@ -322,7 +322,7 @@ fileprivate struct PlatformTaskConstructionTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("FwkTarget.framework")) { task in + task.checkRuleInfo(["CodeSign", "\(SRCROOT)/build/Debug-iphonesimulator/AppTarget.app/Frameworks/FwkTarget.framework"]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-iphonesimulator/AppTarget.app/Frameworks/FwkTarget.framework"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-iphonesimulator/AppTarget.app/Frameworks/FwkTarget.framework"]) + task.checkInputs([ + .path("\(SRCROOT)/build/Debug-iphonesimulator/AppTarget.app/Frameworks/FwkTarget.framework"), + .path("\(SRCROOT)/build/Debug-iphonesimulator/AppTarget.app/Frameworks/FwkTarget.framework"), +@@ -346,7 +346,7 @@ fileprivate struct PlatformTaskConstructionTests: CoreBasedTests { + // There should be a codesign task for the app. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("AppTarget.app")) { task in + #expect(task.ruleInfo[1] == "\(SRCROOT)/build/Debug-iphonesimulator/AppTarget.app") +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-iphonesimulator/AppTarget.build/AppTarget.app.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-iphonesimulator/AppTarget.app"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-iphonesimulator/AppTarget.build/AppTarget.app.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-iphonesimulator/AppTarget.app"]) + } + + // There should be one product validation task. +diff --git a/Tests/SWBTaskConstructionTests/PostprocessingTaskConstructionTests.swift b/Tests/SWBTaskConstructionTests/PostprocessingTaskConstructionTests.swift +index 85fd06e..d5d7251 100644 +--- a/Tests/SWBTaskConstructionTests/PostprocessingTaskConstructionTests.swift ++++ b/Tests/SWBTaskConstructionTests/PostprocessingTaskConstructionTests.swift +@@ -75,7 +75,7 @@ fileprivate struct PostprocessingTaskConstructionTests: CoreBasedTests { + let suffix = buildVariant == "normal" ? "" : "_\(buildVariant)" + + task.checkRuleInfo(["SetOwnerAndGroup", "exampleUser:exampleGroup", "/tmp/aProject.dst/usr/local/lib/Library\(suffix).dylib"]) +- task.checkCommandLine(["/usr/sbin/chown", "-RH", "exampleUser:exampleGroup", "/tmp/aProject.dst/usr/local/lib/Library\(suffix).dylib"]) ++ task.checkCommandLine(["@coreutils@/bin/chown", "-RH", "exampleUser:exampleGroup", "/tmp/aProject.dst/usr/local/lib/Library\(suffix).dylib"]) + + task.checkInputs([ + .path("/tmp/aProject.dst/usr/local/lib/Library\(suffix).dylib"), +@@ -117,7 +117,7 @@ fileprivate struct PostprocessingTaskConstructionTests: CoreBasedTests { + results.checkTarget("Framework") { target in + results.checkTask(.matchTarget(target), .matchRuleType("SetOwnerAndGroup")) { task in + task.checkRuleInfo(["SetOwnerAndGroup", "exampleUser:exampleGroup", "/tmp/aProject.dst/Library/Frameworks/Framework.framework"]) +- task.checkCommandLine(["/usr/sbin/chown", "-RH", "exampleUser:exampleGroup", "/tmp/aProject.dst/Library/Frameworks/Framework.framework"]) ++ task.checkCommandLine(["@coreutils@/bin/chown", "-RH", "exampleUser:exampleGroup", "/tmp/aProject.dst/Library/Frameworks/Framework.framework"]) + + task.checkInputs([ + .path("/tmp/aProject.dst/Library/Frameworks/Framework.framework"), +diff --git a/Tests/SWBTaskConstructionTests/SwiftTaskConstructionTests.swift b/Tests/SWBTaskConstructionTests/SwiftTaskConstructionTests.swift +index 1d901c0..c184bd2 100644 +--- a/Tests/SWBTaskConstructionTests/SwiftTaskConstructionTests.swift ++++ b/Tests/SWBTaskConstructionTests/SwiftTaskConstructionTests.swift +@@ -181,7 +181,7 @@ fileprivate struct SwiftTaskConstructionTests: CoreBasedTests { + // Create a fake codesign_allocate tool so it can be found in the executable search paths. + let fs = PseudoFS() + try await fs.writeFileContents(swiftCompilerPath) { $0 <<< "binary" } +- try await fs.writeFileContents(core.developerPath.path.join("Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate")) { $0 <<< "binary" } ++ try await fs.writeFileContents(core.developerPath.path.join("Toolchains/XcodeDefault.xctoolchain@sigtool@/bin/codesign_allocate")) { $0 <<< "binary" } + + // NOTE: The toolchain cannot be set normally and must be passed in as an override. + var overrides = ["TOOLCHAINS": toolchainIdentifier] +@@ -437,7 +437,7 @@ fileprivate struct SwiftTaskConstructionTests: CoreBasedTests { + .name("CopySwiftStdlib \(SRCROOT)/build/Debug/AppTarget.app"),]) + + task.checkEnvironment([ +- "CODESIGN_ALLOCATE": .equal(core.developerPath.path.join("Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate").str), ++ "CODESIGN_ALLOCATE": .equal(core.developerPath.path.join("Toolchains/XcodeDefault.xctoolchain@sigtool@/bin/codesign_allocate").str), + "DEVELOPER_DIR": .equal(core.developerPath.path.str), + "SDKROOT": .equal(core.loadSDK(.macOS).path.str), + // This is coming from our overrides in unit test infrastructure. +@@ -448,7 +448,7 @@ fileprivate struct SwiftTaskConstructionTests: CoreBasedTests { + // There should be a product 'Touch' task. + results.checkTask(.matchTarget(target), .matchRuleType("Touch")) { task in + task.checkRuleInfo(["Touch", "\(SRCROOT)/build/Debug/AppTarget.app"]) +- task.checkCommandLine(["/usr/bin/touch", "-c", "\(SRCROOT)/build/Debug/AppTarget.app"]) ++ task.checkCommandLine(["@coreutils@/bin/touch", "-c", "\(SRCROOT)/build/Debug/AppTarget.app"]) + } + + results.checkTask(.matchTarget(target), .matchRuleType("RegisterExecutionPolicyException")) { task in +diff --git a/Tests/SWBTaskConstructionTests/TaskConstructionTests.swift b/Tests/SWBTaskConstructionTests/TaskConstructionTests.swift +index 4f9a3e5..ee50974 100644 +--- a/Tests/SWBTaskConstructionTests/TaskConstructionTests.swift ++++ b/Tests/SWBTaskConstructionTests/TaskConstructionTests.swift +@@ -960,7 +960,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + // There should be a chown and chmod task. + results.checkTask(.matchTarget(target), .matchRuleType("SetOwnerAndGroup")) { task in + task.checkRuleInfo(["SetOwnerAndGroup", "exampleUser:exampleGroup", "/tmp/aProject.dst/Applications/AppTarget.app"]) +- task.checkCommandLine(["/usr/sbin/chown", "-RH", "exampleUser:exampleGroup", "/tmp/aProject.dst/Applications/AppTarget.app"]) ++ task.checkCommandLine(["@coreutils@/bin/chown", "-RH", "exampleUser:exampleGroup", "/tmp/aProject.dst/Applications/AppTarget.app"]) + + task.checkInputs([ + .path("/tmp/aProject.dst/Applications/AppTarget.app"), +@@ -996,7 +996,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + // There should be a chown task targeting the file in the the ALTERNATE_PERMISSIONS_FILES build setting. + results.checkTask(.matchTarget(target), .matchRuleType("SetOwner")) { task in + task.checkRuleInfo(["SetOwner", "fooOwner", "/tmp/aProject.dst/Applications/AlternatePermissions.txt"]) +- task.checkCommandLine(["/usr/sbin/chown", "-RH", "fooOwner", "/tmp/aProject.dst/Applications/AlternatePermissions.txt"]) ++ task.checkCommandLine(["@coreutils@/bin/chown", "-RH", "fooOwner", "/tmp/aProject.dst/Applications/AlternatePermissions.txt"]) + + task.checkInputs([ + .path("/tmp/aProject.dst/Applications/AlternatePermissions.txt"), +@@ -1056,7 +1056,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + + // There should be three codesign tasks (one for the copied FW, one for the copied dylib, one for the app), two of which should be re-signing tasks. + results.checkTask(.matchTarget(target), .matchRule(["CodeSign", "/tmp/aProject.dst/Applications/AppTarget.app/Contents/Frameworks/FWToCopy.framework/Versions/A"])) { task in +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "/tmp/aProject.dst/Applications/AppTarget.app/Contents/Frameworks/FWToCopy.framework/Versions/A"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "/tmp/aProject.dst/Applications/AppTarget.app/Contents/Frameworks/FWToCopy.framework/Versions/A"]) + task.checkInputs([ + .path("/tmp/aProject.dst/Applications/AppTarget.app/Contents/Frameworks/FWToCopy.framework"), + .path("/tmp/aProject.dst/Applications/AppTarget.app/Contents/Frameworks/FWToCopy.framework/Versions/A"), +@@ -1077,7 +1077,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + ]) + } + results.checkTask(.matchTarget(target), .matchRule(["CodeSign", "/tmp/aProject.dst/Applications/AppTarget.app/Contents/Frameworks/libdynamic.dylib"])) { task in +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "/tmp/aProject.dst/Applications/AppTarget.app/Contents/Frameworks/libdynamic.dylib"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "/tmp/aProject.dst/Applications/AppTarget.app/Contents/Frameworks/libdynamic.dylib"]) + task.checkInputs([ + .path("/tmp/aProject.dst/Applications/AppTarget.app/Contents/Frameworks/libdynamic.dylib"), + .path("/tmp/aProject.dst/Applications/AppTarget.app/Contents/Frameworks/libdynamic.dylib"), +@@ -1095,7 +1095,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + ]) + } + results.checkTask(.matchTarget(target), .matchRule(["CodeSign", "/tmp/aProject.dst/Applications/AppTarget.app"])) { task in +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Release/AppTarget.build/AppTarget.app.xcent", "--generate-entitlement-der", "/tmp/aProject.dst/Applications/AppTarget.app"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Release/AppTarget.build/AppTarget.app.xcent", "--generate-entitlement-der", "/tmp/aProject.dst/Applications/AppTarget.app"]) + task.checkInputs([ + .path("/tmp/aProject.dst/Applications/AppTarget.app"), + .path("/tmp/aProject.dst/Applications/AppTarget.app"), +@@ -4167,7 +4167,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + // There should be two code signing tasks, one for the library and one for the product. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("libclang_rt.asan_osx_dynamic.dylib")) { task in + task.checkRuleInfo([.equal("CodeSign"), .equal("\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.asan_osx_dynamic.dylib")]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.asan_osx_dynamic.dylib"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.asan_osx_dynamic.dylib"]) + task.checkInputs([ + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/Frameworks/libclang_rt.asan_osx_dynamic.dylib"), + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/Frameworks/libclang_rt.asan_osx_dynamic.dylib"), +@@ -4178,7 +4178,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("\(targetName).app")) { task in + task.checkRuleInfo([.equal("CodeSign"), .equal("\(SRCROOT)/build/Debug/\(targetName).app")]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/AppTarget.build/AppTarget.app.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/AppTarget.build/AppTarget.app.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app"]) + } + } + +@@ -4225,7 +4225,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + // There should be one code signing task for the ASan library. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("libclang_rt.asan_osx_dynamic.dylib")) { task in + task.checkRuleInfo([.equal("CodeSign"), .equal("\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.asan_osx_dynamic.dylib")]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.asan_osx_dynamic.dylib"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.asan_osx_dynamic.dylib"]) + task.checkInputs([ + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/Frameworks/libclang_rt.asan_osx_dynamic.dylib"), + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/Frameworks/libclang_rt.asan_osx_dynamic.dylib"), +@@ -4238,7 +4238,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + // There should be one code signing task for the TSan library. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("libclang_rt.tsan_osx_dynamic.dylib")) { task in + task.checkRuleInfo([.equal("CodeSign"), .equal("\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib")]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib"]) + task.checkInputs([ + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib"), + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib"), +@@ -4301,7 +4301,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + // There should be two code signing tasks, one for the library and one for the product. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("libclang_rt.tsan_osx_dynamic.dylib")) { task in + task.checkRuleInfo([.equal("CodeSign"), .equal("\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib")]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib"]) + task.checkInputs([ + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib"), + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib"), +@@ -4312,7 +4312,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("\(targetName).app")) { task in + task.checkRuleInfo([.equal("CodeSign"), .equal("\(SRCROOT)/build/Debug/\(targetName).app")]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/AppTarget.build/AppTarget.app.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/AppTarget.build/AppTarget.app.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app"]) + } + } + +@@ -4356,7 +4356,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + // There should be two code signing tasks, one for the library and one for the product. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("libclang_rt.ubsan_osx_dynamic.dylib")) { task in + task.checkRuleInfo([.equal("CodeSign"), .equal("\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.ubsan_osx_dynamic.dylib")]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.ubsan_osx_dynamic.dylib"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--timestamp=none", "--preserve-metadata=identifier,entitlements,flags", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app/Contents/Frameworks/libclang_rt.ubsan_osx_dynamic.dylib"]) + task.checkInputs([ + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/Frameworks/libclang_rt.ubsan_osx_dynamic.dylib"), + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/Frameworks/libclang_rt.ubsan_osx_dynamic.dylib"), +@@ -4367,7 +4367,7 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("\(targetName).app")) { task in + task.checkRuleInfo([.equal("CodeSign"), .equal("\(SRCROOT)/build/Debug/\(targetName).app")]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/AppTarget.build/AppTarget.app.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/AppTarget.build/AppTarget.app.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/\(targetName).app"]) + } + } + +diff --git a/Tests/SWBTaskConstructionTests/UnitTestTaskConstructionTests.swift b/Tests/SWBTaskConstructionTests/UnitTestTaskConstructionTests.swift +index 761146f..95bfcb7 100644 +--- a/Tests/SWBTaskConstructionTests/UnitTestTaskConstructionTests.swift ++++ b/Tests/SWBTaskConstructionTests/UnitTestTaskConstructionTests.swift +@@ -657,7 +657,7 @@ fileprivate struct UnitTestTaskConstructionTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("UnitTestTargetOne.xctest")) { task in + task.checkRuleInfo(["CodeSign", "\(SRCROOT)/build/Debug/AppTarget.app/Contents/PlugIns/UnitTestTargetOne.xctest"]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UnitTestTargetOne.build/UnitTestTargetOne.xctest.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/AppTarget.app/Contents/PlugIns/UnitTestTargetOne.xctest"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UnitTestTargetOne.build/UnitTestTargetOne.xctest.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/AppTarget.app/Contents/PlugIns/UnitTestTargetOne.xctest"]) + task.checkInputs([ + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/PlugIns/UnitTestTargetOne.xctest"), + .path("\(SRCROOT)/build/Debug/AppTarget.app/Contents/PlugIns/UnitTestTargetOne.xctest"), +@@ -843,7 +843,7 @@ fileprivate struct UnitTestTaskConstructionTests: CoreBasedTests { + results.checkTask(.matchTarget(target), .matchRuleType("ProcessProductPackagingDER")) { _ in } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("UnitTestTargetOne.xctest")) { task in + task.checkRuleInfo(["CodeSign", "\(SRCROOT)/build/UninstalledProducts/macosx/UnitTestTargetOne.xctest"]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UnitTestTargetOne.build/UnitTestTargetOne.xctest.xcent", "--generate-entitlement-der", "\(SRCROOT)/build/UninstalledProducts/macosx/UnitTestTargetOne.xctest"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UnitTestTargetOne.build/UnitTestTargetOne.xctest.xcent", "--generate-entitlement-der", "\(SRCROOT)/build/UninstalledProducts/macosx/UnitTestTargetOne.xctest"]) + task.checkInputs([ + .path("\(SRCROOT)/build/UninstalledProducts/macosx/UnitTestTargetOne.xctest"), + .path("\(SRCROOT)/build/UninstalledProducts/macosx/UnitTestTargetOne.xctest"), +@@ -2515,7 +2515,7 @@ fileprivate struct UnitTestTaskConstructionTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("UITestTarget.xctest")) { task in + task.checkRuleInfo(["CodeSign", "\(SRCROOT)/build/Debug/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UITestTarget.build/UITestTarget.xctest.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UITestTarget.build/UITestTarget.xctest.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"]) + task.checkInputs(contain: [ + .path("\(SRCROOT)/build/Debug/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"), + .path("\(SRCROOT)/build/Debug/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"), +@@ -2535,7 +2535,7 @@ fileprivate struct UnitTestTaskConstructionTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("UITestTarget-Runner.app")) { task in + task.checkRuleInfo(["CodeSign", "\(SRCROOT)/build/Debug/UITestTarget-Runner.app"]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UITestTarget.build/UITestTarget.xctest.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/UITestTarget-Runner.app"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UITestTarget.build/UITestTarget.xctest.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug/UITestTarget-Runner.app"]) + task.checkInputs(contain: ([[ + .path("\(SRCROOT)/build/Debug/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"), + .path("\(SRCROOT)/build/Debug/UITestTarget-Runner.app"), +@@ -2689,7 +2689,7 @@ fileprivate struct UnitTestTaskConstructionTests: CoreBasedTests { + results.checkTask(.matchTarget(target), .matchRuleType("ProcessProductPackagingDER"), .matchRuleItemPattern(.suffix(".xcent"))) { _ in } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("UITestTarget.xctest")) { task in + task.checkRuleInfo(["CodeSign", "\(SRCROOT)/build/UninstalledProducts/macosx/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UITestTarget.build/UITestTarget.xctest.xcent", "--generate-entitlement-der", "\(SRCROOT)/build/UninstalledProducts/macosx/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UITestTarget.build/UITestTarget.xctest.xcent", "--generate-entitlement-der", "\(SRCROOT)/build/UninstalledProducts/macosx/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"]) + task.checkInputs(contain: [ + .path("\(SRCROOT)/build/UninstalledProducts/macosx/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"), + .path("\(SRCROOT)/build/UninstalledProducts/macosx/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"), +@@ -2709,7 +2709,7 @@ fileprivate struct UnitTestTaskConstructionTests: CoreBasedTests { + } + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign"), .matchRuleItemBasename("UITestTarget-Runner.app")) { task in + task.checkRuleInfo(["CodeSign", "\(SRCROOT)/build/UninstalledProducts/macosx/UITestTarget-Runner.app"]) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UITestTarget.build/UITestTarget.xctest.xcent", "--generate-entitlement-der", "\(SRCROOT)/build/UninstalledProducts/macosx/UITestTarget-Runner.app"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "-", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug/UITestTarget.build/UITestTarget.xctest.xcent", "--generate-entitlement-der", "\(SRCROOT)/build/UninstalledProducts/macosx/UITestTarget-Runner.app"]) + task.checkInputs(contain: ([[ + .path("\(SRCROOT)/build/UninstalledProducts/macosx/UITestTarget-Runner.app/Contents/PlugIns/UITestTarget.xctest"), + .path("\(SRCROOT)/build/UninstalledProducts/macosx/UITestTarget-Runner.app"), +diff --git a/Tests/SWBTaskConstructionTests/WatchTaskConstructionTests.swift b/Tests/SWBTaskConstructionTests/WatchTaskConstructionTests.swift +index db2a64f..7319fdd 100644 +--- a/Tests/SWBTaskConstructionTests/WatchTaskConstructionTests.swift ++++ b/Tests/SWBTaskConstructionTests/WatchTaskConstructionTests.swift +@@ -296,7 +296,7 @@ fileprivate struct WatchTaskConstructionTests: CoreBasedTests { + // There should be one codesign task. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in + #expect(task.ruleInfo[1] == "\(SRCROOT)/build/Debug-watchos/Watchable WatchKit Extension.appex") +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-watchos/\(target.target.name).build/\(target.target.name).appex.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-watchos/\(target.target.name).appex"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-watchos/\(target.target.name).build/\(target.target.name).appex.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-watchos/\(target.target.name).appex"]) + task.checkEnvironment([ + "CODESIGN_ALLOCATE": .equal("codesign_allocate"), + ], exact: true) +@@ -384,7 +384,7 @@ fileprivate struct WatchTaskConstructionTests: CoreBasedTests { + // There should be one codesign task. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in + #expect(task.ruleInfo[1] == builtWatchAppPath) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-watchos/Watchable WatchKit App.build/Watchable WatchKit App.app.xcent", "--timestamp=none", "--generate-entitlement-der", builtWatchAppPath]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-watchos/Watchable WatchKit App.build/Watchable WatchKit App.app.xcent", "--timestamp=none", "--generate-entitlement-der", builtWatchAppPath]) + task.checkEnvironment([ + "CODESIGN_ALLOCATE": .equal("codesign_allocate"), + ], exact: true) +@@ -490,7 +490,7 @@ fileprivate struct WatchTaskConstructionTests: CoreBasedTests { + // There should be one codesign task. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in + #expect(task.ruleInfo[1] == builtHostIOSAppPath) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-iphoneos/Watchable.build/Watchable.app.xcent", "--timestamp=none", "--generate-entitlement-der", builtHostIOSAppPath]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-iphoneos/Watchable.build/Watchable.app.xcent", "--timestamp=none", "--generate-entitlement-der", builtHostIOSAppPath]) + task.checkEnvironment([ + "CODESIGN_ALLOCATE": .equal("codesign_allocate"), + ], exact: true) +@@ -599,7 +599,7 @@ fileprivate struct WatchTaskConstructionTests: CoreBasedTests { + // There should be one codesign task. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in + #expect(task.ruleInfo[1] == "\(SRCROOT)/build/Debug-watchsimulator/Watchable WatchKit Extension.appex") +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-watchsimulator/Watchable WatchKit Extension.build/Watchable WatchKit Extension.appex.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-watchsimulator/Watchable WatchKit Extension.appex"]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-watchsimulator/Watchable WatchKit Extension.build/Watchable WatchKit Extension.appex.xcent", "--timestamp=none", "--generate-entitlement-der", "\(SRCROOT)/build/Debug-watchsimulator/Watchable WatchKit Extension.appex"]) + task.checkEnvironment([ + "CODESIGN_ALLOCATE": .equal("codesign_allocate"), + ], exact: true) +@@ -667,7 +667,7 @@ fileprivate struct WatchTaskConstructionTests: CoreBasedTests { + // There should be one codesign task. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in + #expect(task.ruleInfo[1] == builtWatchAppPath) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-watchsimulator/Watchable WatchKit App.build/Watchable WatchKit App.app.xcent", "--timestamp=none", "--generate-entitlement-der", builtWatchAppPath]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-watchsimulator/Watchable WatchKit App.build/Watchable WatchKit App.app.xcent", "--timestamp=none", "--generate-entitlement-der", builtWatchAppPath]) + task.checkEnvironment([ + "CODESIGN_ALLOCATE": .equal("codesign_allocate"), + ], exact: true) +@@ -768,7 +768,7 @@ fileprivate struct WatchTaskConstructionTests: CoreBasedTests { + // There should be one codesign task. + results.checkTask(.matchTarget(target), .matchRuleType("CodeSign")) { task in + #expect(task.ruleInfo[1] == builtHostIOSAppPath) +- task.checkCommandLine(["/usr/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-iphonesimulator/Watchable.build/Watchable.app.xcent", "--timestamp=none", "--generate-entitlement-der", builtHostIOSAppPath]) ++ task.checkCommandLine(["@sigtool@/bin/codesign", "--force", "--sign", "105DE4E702E4", "--entitlements", "\(SRCROOT)/build/aProject.build/Debug-iphonesimulator/Watchable.build/Watchable.app.xcent", "--timestamp=none", "--generate-entitlement-der", builtHostIOSAppPath]) + task.checkEnvironment([ + "CODESIGN_ALLOCATE": .equal("codesign_allocate"), + ], exact: true) +diff --git a/Tests/SWBTaskExecutionTests/SignatureCollectionActionTests.swift b/Tests/SWBTaskExecutionTests/SignatureCollectionActionTests.swift +index 3c11b2c..1842a9f 100644 +--- a/Tests/SWBTaskExecutionTests/SignatureCollectionActionTests.swift ++++ b/Tests/SWBTaskExecutionTests/SignatureCollectionActionTests.swift +@@ -107,7 +107,7 @@ fileprivate struct SignatureCollectionActionTests { + let bundlePath = rootPath.join("test.bundle") + try fs.copy(Path(Bundle.module.bundlePath), to: bundlePath) + +- let codesignTool = URL(fileURLWithPath: "/usr/bin/codesign") ++ let codesignTool = URL(fileURLWithPath: "@sigtool@/bin/codesign") + let codesignResult = try await Process.run(url: codesignTool, arguments: ["--remove-signature", bundlePath.str]) + #expect(codesignResult.isSuccess) + +@@ -162,7 +162,7 @@ fileprivate struct SignatureCollectionActionTests { + let bundlePath = rootPath.join("test.bundle") + try fs.copy(Path(Bundle.module.bundlePath), to: bundlePath) + +- let codesignTool = URL(fileURLWithPath: "/usr/bin/codesign") ++ let codesignTool = URL(fileURLWithPath: "@sigtool@/bin/codesign") + let codesignResult = try await Process.run(url: codesignTool, arguments: ["--remove-signature", bundlePath.str]) + #expect(codesignResult.isSuccess) + +diff --git a/Tests/SWBUtilTests/MiscTests.swift b/Tests/SWBUtilTests/MiscTests.swift +index f93094a..2ff6572 100644 +--- a/Tests/SWBUtilTests/MiscTests.swift ++++ b/Tests/SWBUtilTests/MiscTests.swift +@@ -62,7 +62,7 @@ import SWBUtil + let path = try await xcode.compileFramework(path: tmpDir, platform: .iOS, infoLookup: Lookup(), archs: ["arm64"], useSwift: false) + #expect(!pbxcp_path_is_code_signed(path), "binary was unexpectedly code signed") + +- _ = try await runProcess(["/usr/bin/codesign", "-s", "-", path.str]) ++ _ = try await runProcess(["@sigtool@/bin/codesign", "-s", "-", path.str]) + #expect(pbxcp_path_is_code_signed(path), "binary was unexpectedly NOT code signed") + } + } +diff --git a/Tests/SWBUtilTests/SignaturesTests.swift b/Tests/SWBUtilTests/SignaturesTests.swift +index ca93d8f..c853bd2 100644 +--- a/Tests/SWBUtilTests/SignaturesTests.swift ++++ b/Tests/SWBUtilTests/SignaturesTests.swift +@@ -28,7 +28,7 @@ fileprivate struct SignaturesTests { + try await fs.writePlist(bundlePath.join("Info.plist"), .plDict([:])) + try fs.write(bundlePath.join("test"), contents: "#!/bin/bash", atomically: true) + +- let codesignTool = URL(fileURLWithPath: "/usr/bin/codesign") ++ let codesignTool = URL(fileURLWithPath: "@sigtool@/bin/codesign") + + // Set-up the ad-hoc signed bundle for testing. + let codesignSigningResult = try await Process.run(url: codesignTool, arguments: ["-s", "-", "-i", "test-ident", bundlePath.str]) +@@ -48,7 +48,7 @@ fileprivate struct SignaturesTests { + try await fs.writePlist(bundlePath.join("Info.plist"), .plDict([:])) + try fs.write(bundlePath.join("test"), contents: "#!/bin/bash", atomically: true) + +- let codesignTool = URL(fileURLWithPath: "/usr/bin/codesign") ++ let codesignTool = URL(fileURLWithPath: "@sigtool@/bin/codesign") + + // Set-up the ad-hoc signed bundle for testing. + let codesignSigningResult = try await Process.run(url: codesignTool, arguments: ["-s", "-", bundlePath.str]) +diff --git a/Tests/SwiftBuildTests/BuildOperationTests.swift b/Tests/SwiftBuildTests/BuildOperationTests.swift +index 077da08..6a14464 100644 +--- a/Tests/SwiftBuildTests/BuildOperationTests.swift ++++ b/Tests/SwiftBuildTests/BuildOperationTests.swift +@@ -213,7 +213,7 @@ fileprivate struct BuildOperationTests: CoreBasedTests { + buildPhases: [ + TestShellScriptBuildPhase( + name: "A.Script", originalObjectID: "A.Script", contents: (OutputByteStream() +- <<< "/usr/bin/touch ${SCRIPT_OUTPUT_FILE_0}" ++ <<< "@coreutils@/bin/touch ${SCRIPT_OUTPUT_FILE_0}" + ).bytes.asString, inputs: [], outputs: ["$(DERIVED_FILE_DIR)/stamp"]) + ], + dependencies: ["B"] +@@ -228,7 +228,7 @@ fileprivate struct BuildOperationTests: CoreBasedTests { + // This task will be up-to-date after the first build + TestShellScriptBuildPhase( + name: "B.Once", originalObjectID: "B.Once", +- contents: "/usr/bin/touch ${SCRIPT_OUTPUT_FILE_0}", ++ contents: "@coreutils@/bin/touch ${SCRIPT_OUTPUT_FILE_0}", + inputs: [], outputs: ["$(DERIVED_FILE_DIR)/stamp"]), + // This task will always run. + TestShellScriptBuildPhase( +@@ -1260,7 +1260,7 @@ fileprivate struct BuildOperationTests: CoreBasedTests { + "PRODUCT_NAME": "$(TARGET_NAME)", + "USE_HEADERMAP": "NO", + // We run a task which will never finish. +- "CC": "/usr/bin/yes", ++ "CC": "@coreutils@/bin/yes", + ])], + buildPhases: [ + TestSourcesBuildPhase([TestBuildFile("foo.c")]), +@@ -1331,7 +1331,7 @@ fileprivate struct BuildOperationTests: CoreBasedTests { + "PRODUCT_NAME": "$(TARGET_NAME)", + "USE_HEADERMAP": "NO", + // We run a task which will never finish. +- "CC": "/usr/bin/yes", ++ "CC": "@coreutils@/bin/yes", + ])], + buildPhases: [ + TestSourcesBuildPhase([TestBuildFile("foo.c")]), +@@ -1403,7 +1403,7 @@ fileprivate struct BuildOperationTests: CoreBasedTests { + "PRODUCT_NAME": "$(TARGET_NAME)", + "USE_HEADERMAP": "NO", + // We run a task which will never finish. +- "CC": "/usr/bin/yes", ++ "CC": "@coreutils@/bin/yes", + ])], + buildPhases: [ + TestSourcesBuildPhase([TestBuildFile("foo.c")]), +@@ -1485,7 +1485,7 @@ fileprivate struct BuildOperationTests: CoreBasedTests { + "PRODUCT_NAME": "$(TARGET_NAME)", + "USE_HEADERMAP": "NO", + // We run a task which will never finish. +- "CC": "/usr/bin/yes", ++ "CC": "@coreutils@/bin/yes", + ])], + buildPhases: [ + TestSourcesBuildPhase([TestBuildFile("foo.c")]), +@@ -1565,7 +1565,7 @@ fileprivate struct BuildOperationTests: CoreBasedTests { + "PRODUCT_NAME": "$(TARGET_NAME)", + "USE_HEADERMAP": "NO", + // We run a task which will never finish. +- "CC": "/usr/bin/yes", ++ "CC": "@coreutils@/bin/yes", + ])], + buildPhases: [ + TestSourcesBuildPhase([TestBuildFile("foo.c")]), +@@ -1724,7 +1724,7 @@ fileprivate struct BuildOperationTests: CoreBasedTests { + "PRODUCT_NAME": "$(TARGET_NAME)", + "USE_HEADERMAP": "NO", + // We run a task which will never finish. +- "CC": "/usr/bin/yes", ++ "CC": "@coreutils@/bin/yes", + ])], + buildPhases: [ + TestSourcesBuildPhase([TestBuildFile("foo.c")]), +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/patches/0002-treat-nixpkgs-sdk-as-xcode.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/patches/0002-treat-nixpkgs-sdk-as-xcode.patch new file mode 100644 index 0000000000000..8e6a921ac3e56 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/patches/0002-treat-nixpkgs-sdk-as-xcode.patch @@ -0,0 +1,49 @@ +From 0e17f25cf6827dfa94ad37590964d4f7b1d23625 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Tue, 9 Dec 2025 21:03:16 -0500 +Subject: [PATCH] treat-nixpkgs-sdk-as-xcode + +--- + Sources/SWBCore/Core.swift | 4 ++-- + Sources/SWBTestSupport/SkippedTestSupport.swift | 3 ++- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Sources/SWBCore/Core.swift b/Sources/SWBCore/Core.swift +index 8a19a5e..7ab64fd 100644 +--- a/Sources/SWBCore/Core.swift ++++ b/Sources/SWBCore/Core.swift +@@ -267,7 +267,7 @@ public final class Core: Sendable { + + switch developerPath { + case .xcode(let path): +- toolchainPaths.append((path.join("Toolchains"), strict: path.str.hasSuffix(".app/Contents/Developer"))) ++ toolchainPaths.append((path.join("Toolchains"), strict: path.str.hasSuffix(".app/Contents/Developer") || path.str.hasPrefix("@store-dir@"))) + case .swiftToolchain(let path, xcodeDeveloperPath: let xcodeDeveloperPath): + if hostOperatingSystem == .windows { + toolchainPaths.append((path.join("Toolchains"), strict: true)) +@@ -275,7 +275,7 @@ public final class Core: Sendable { + toolchainPaths.append((path, strict: true)) + } + if let xcodeDeveloperPath { +- toolchainPaths.append((xcodeDeveloperPath.join("Toolchains"), strict: xcodeDeveloperPath.str.hasSuffix(".app/Contents/Developer"))) ++ toolchainPaths.append((xcodeDeveloperPath.join("Toolchains"), strict: xcodeDeveloperPath.str.hasSuffix(".app/Contents/Developer") || path.str.hasPrefix("@store-dir@"))) + } + } + +diff --git a/Sources/SWBTestSupport/SkippedTestSupport.swift b/Sources/SWBTestSupport/SkippedTestSupport.swift +index 1db4090..08e3109 100644 +--- a/Sources/SWBTestSupport/SkippedTestSupport.swift ++++ b/Sources/SWBTestSupport/SkippedTestSupport.swift +@@ -148,7 +148,8 @@ extension Trait where Self == Testing.ConditionTrait { + /// Constructs a condition trait that causes a test to be disabled if the developer directory is pointing at an Xcode developer directory. + package static var skipXcodeToolchain: Self { + disabled("This test is incompatible with Xcode toolchains.", { +- try await ConditionTraitContext.shared.getCore().developerPath.path.str.contains(".app/Contents/Developer") ++ let core = try await ConditionTraitContext.shared.getCore() ++ return core.developerPath.path.str.contains(".app/Contents/Developer") || core.developerPath.path.str.hasPrefix("@store-dir@") + }) + } + +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/patches/0003-find-bundles-in-store.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/patches/0003-find-bundles-in-store.patch new file mode 100644 index 0000000000000..b2d8e2467e056 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/patches/0003-find-bundles-in-store.patch @@ -0,0 +1,48 @@ +From a60ea4fbf21654eac779eece5c6d304e0f7b64c8 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 09:40:18 -0500 +Subject: [PATCH] find-bundles-in-store + +--- + Sources/CMakeLists.txt | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt +index c0d0304..9df123e 100644 +--- a/Sources/CMakeLists.txt ++++ b/Sources/CMakeLists.txt +@@ -24,18 +24,17 @@ function(SwiftBuild_Bundle) + ${CMAKE_COMMAND} -E copy_if_different ${BundleXCSpecs_FILES} "${CMAKE_BINARY_DIR}/share/pm/SwiftBuild_${BundleXCSpecs_MODULE}.resources/") + + +- file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/share/pm/SwiftBuild_${BundleXCSpecs_MODULE}.resources" _SWIFT_BUILD_RESOURCE_BUNDLE_BUILD_PATH) ++ file(TO_NATIVE_PATH "${CMAKE_INSTALL_DATADIR}/pm/SwiftBuild_${BundleXCSpecs_MODULE}.resources" _SWIFT_BUILD_RESOURCE_BUNDLE_BUILD_PATH) + file(CONFIGURE + OUTPUT "${CMAKE_BINARY_DIR}/resource_accessors/SwiftBuild_${BundleXCSpecs_MODULE}_resource_bundle_accessor.swift" + CONTENT [[ + import Foundation + extension Foundation.Bundle { + static let module: Bundle = { +- let mainPath = Bundle.main.bundleURL.appendingPathComponent("SwiftBuild_@BundleXCSpecs_MODULE@.resources").path +- let buildPath = #"@_SWIFT_BUILD_RESOURCE_BUNDLE_BUILD_PATH@"# ++ let mainPath = #"@_SWIFT_BUILD_RESOURCE_BUNDLE_BUILD_PATH@"# + let preferredBundle = Bundle(path: mainPath) +- guard let bundle = preferredBundle ?? Bundle(path: buildPath) else { +- Swift.fatalError("could not load resource bundle: from \(mainPath) or \(buildPath)") ++ guard let bundle = preferredBundle else { ++ Swift.fatalError("could not load resource bundle: from \(mainPath)") + } + return bundle + }() +@@ -48,7 +47,7 @@ function(SwiftBuild_Bundle) + + install(DIRECTORY + "${CMAKE_BINARY_DIR}/share/pm/SwiftBuild_${BundleXCSpecs_MODULE}.resources/" +- DESTINATION share/pm/SwiftBuild_${BundleXCSpecs_MODULE}.resources/) ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/pm/SwiftBuild_${BundleXCSpecs_MODULE}.resources/) + endfunction() + + add_subdirectory(SWBCSupport) +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-certificates/files/SwiftCertificatesConfig.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-certificates/files/SwiftCertificatesConfig.cmake new file mode 100644 index 0000000000000..702338ff038b4 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-certificates/files/SwiftCertificatesConfig.cmake @@ -0,0 +1,5 @@ +add_library(X509 @buildType@ IMPORTED) +set_target_properties(X509 PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}X509${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/lib/swift/@swiftPlatform@" +) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-certificates/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-certificates/package.nix new file mode 100644 index 0000000000000..d661755d764bc --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-certificates/package.nix @@ -0,0 +1,72 @@ +{ + lib, + cmake, + fetchFromGitHub, + ninja, + stdenv, + swift, + swift-asn1, + swift-crypto, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "swift-certificates"; + version = "1.18.0"; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitHub { + owner = "apple"; + repo = "swift-certificates"; + tag = finalAttrs.version; + hash = "sha256-xBttgGkFBOiZqJEDKZrYyG0yRtH+1JPPMOeJnopQCI4="; + }; + + postPatch = '' + substituteInPlace cmake/modules/SwiftSupport.cmake \ + --replace-fail 'ARCHIVE DESTINATION lib/''${swift}/''${swift_os}' 'ARCHIVE DESTINATION ''${CMAKE_INSTALL_LIBDIR}' \ + --replace-fail 'LIBRARY DESTINATION lib/''${swift}/''${swift_os}' 'LIBRARY DESTINATION ''${CMAKE_INSTALL_LIBDIR}' \ + --replace-fail 'RUNTIME DESTINATION bin' 'RUNTIME DESTINATION ''${CMAKE_INSTALL_BINDIR}' \ + --replace-fail ' DESTINATION lib' "DESTINATION ''${!outputInclude}/lib" + ''; + + strictDeps = true; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift + ]; + + buildInputs = [ + swift-asn1 + swift-crypto + ]; + + postInstall = '' + # Install CMake config file for the Swift Certificates library. + mkdir -p mkdir -p "''${!outputDev}/lib/cmake/SwiftCertificates" + substitute ${./files/SwiftCertificatesConfig.cmake} "''${!outputDev}/lib/cmake/SwiftCertificates/SwiftCertificatesConfig.cmake" \ + --replace-fail '@buildType@' ${if stdenv.hostPlatform.isStatic then "STATIC" else "SHARED"} \ + --replace-fail '@include@' "''${!outputDev}" \ + --replace-fail '@lib@' "''${!outputLib}" \ + --replace-fail '@swiftPlatform@' ${stdenv.hostPlatform.swift.platform} + ''; + + __structuredAttrs = true; + + meta = { + homepage = "https://github.com/apple/swift-certificates"; + description = "An implementation of X.509 for Swift"; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-cmark/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-cmark/package.nix new file mode 100644 index 0000000000000..0e8c8b21a3364 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-cmark/package.nix @@ -0,0 +1,41 @@ +{ + lib, + cmake, + fetchFromGitHub, + ninja, + stdenv, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "swift-cmark"; + version = "0.7.1"; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-cmark"; + tag = finalAttrs.version; + hash = "sha256-8Q65DBWL5QfBmqBIEFWBBNCGXe91Yt++uv7BsMgBW9U="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + ninja + ]; + + __structuredAttrs = true; + + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + + meta = { + description = "CommonMark parsing and rendering library"; + homepage = "https://github.com/swiftlang/swift-cmark"; + platforms = lib.platforms.unix ++ lib.platforms.windows ++ lib.platforms.wasi; + license = [ + lib.licenses.bsd2 + lib.licenses.mit + ]; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-collections/files/SwiftCollectionsConfig.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-collections/files/SwiftCollectionsConfig.cmake new file mode 100644 index 0000000000000..e6f24c8a7ac4d --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-collections/files/SwiftCollectionsConfig.cmake @@ -0,0 +1,22 @@ +set(CollectionModules + _RopeModule + BasicContainers + BitCollections + Collections + ContainersPreview + DequeModule + HashTreeCollections + HeapModule + InternalCollectionsUtilities + OrderedCollections + TrailingElementsModule +) + +foreach(CollectionModule ${CollectionModules}) + add_library(SwiftCollections::${CollectionModule} @buildType@ IMPORTED) + set_target_properties(SwiftCollections::${CollectionModule} PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}${CollectionModule}${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/lib/swift/@swiftPlatform@" + ) +endforeach() + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-collections/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-collections/package.nix new file mode 100644 index 0000000000000..4256b46db71b8 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-collections/package.nix @@ -0,0 +1,66 @@ +{ + lib, + fetchFromGitHub, + cmake, + ninja, + swift, + stdenv, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "swift-collections"; + version = "1.3.0"; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitHub { + owner = "apple"; + repo = "swift-collections"; + tag = finalAttrs.version; + hash = "sha256-Bhfmf02JbmEdM1TFdM8UGxlouR8kr61WlU1uI2v67v8="; + }; + + postPatch = '' + substituteInPlace cmake/modules/SwiftSupport.cmake \ + --replace-fail ' DESTINATION lib' "DESTINATION ''${!outputDev}/lib" \ + --replace-fail 'lib/''${swift}/''${COLLECTIONS_PLATFORM}$<$:/''${COLLECTIONS_ARCH}>' \''${CMAKE_INSTALL_LIBDIR} + ''; + + strictDeps = true; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift + ]; + + postInstall = '' + moveToOutput lib/swift "''${!outputDev}" + moveToOutput lib/swift_static "''${!outputDev}" + + # Install CMake config file for the Swift Collections library. + mkdir -p mkdir -p "''${!outputDev}/lib/cmake/SwiftCollections" + substitute ${./files/SwiftCollectionsConfig.cmake} "''${!outputDev}/lib/cmake/SwiftCollections/SwiftCollectionsConfig.cmake" \ + --replace-fail '@buildType@' ${if stdenv.hostPlatform.isStatic then "STATIC" else "SHARED"} \ + --replace-fail '@include@' "''${!outputDev}" \ + --replace-fail '@lib@' "''${!outputLib}" \ + --replace-fail '@swiftPlatform@' ${stdenv.hostPlatform.swift.platform} + ''; + + __structuredAttrs = true; + + meta = { + homepage = "https://github.com/apple/swift-collections"; + description = "Commonly used data structures for Swift"; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-corelibs-libdispatch/files/dispatchConfig.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-corelibs-libdispatch/files/dispatchConfig.cmake new file mode 100644 index 0000000000000..949867bc15cf3 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-corelibs-libdispatch/files/dispatchConfig.cmake @@ -0,0 +1,13 @@ +add_library(BlocksRuntime SHARED IMPORTED) +set_property(TARGET BlocksRuntime PROPERTY IMPORTED_LOCATION "@out@/lib/libBlocksRuntime@dylibExt@") + +add_library(dispatch SHARED IMPORTED) +set_property(TARGET dispatch PROPERTY IMPORTED_LOCATION "@out@/lib/libdispatch@dylibExt@") + +set_target_properties(dispatch PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "@dev@/include" + INTERFACE_LINK_LIBRARIES "BlocksRuntime" +) + +add_library(swiftDispatch SHARED IMPORTED) +set_property(TARGET swiftDispatch PROPERTY IMPORTED_LOCATION "@out@/lib/libswiftDispatch@dylibExt@") diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-corelibs-libdispatch/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-corelibs-libdispatch/package.nix new file mode 100644 index 0000000000000..d2ca09bd6946e --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-corelibs-libdispatch/package.nix @@ -0,0 +1,82 @@ +{ + lib, + cmake, + fetchFromGitHub, + fetchpatch2, + lld, + ninja, + stdenv, + swift, + swift-corelibs-libdispatch, + swift_release, + useSwift ? true, +}: + +let + swift-corelibs-libdispatch-no-overlay = swift-corelibs-libdispatch.override { useSwift = false; }; +in +stdenv.mkDerivation (finalAttrs: { + pname = "swift-corelibs-libdispatch${lib.optionalString useSwift "-swift-overlay"}"; + version = swift_release; + + outputs = [ + "out" + "dev" + "man" + ]; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-corelibs-libdispatch"; + tag = "swift-${finalAttrs.version}-RELEASE"; + hash = "sha256-Tu2G9FAP4q1xgM1n9q17T6VrqJ3tv8RezyUex38yNds="; + }; + + patches = [ + # Fixes `implicit conversion changes signedness` error. + (fetchpatch2 { + url = "https://github.com/swiftlang/swift-corelibs-libdispatch/commit/38872e2d44d66d2fb94186988509defc734888a5.patch?full_index=1"; + hash = "sha256-BXTv79ej93CBrHtEzHDu+3WkIfzEctwyqBoPkNQQkAA="; + }) + ]; + + strictDeps = true; + + # The Swift overlay is built separately using the no-overlay derivation as a base. + cmakeFlags = [ (lib.cmakeBool "ENABLE_SWIFT" useSwift) ]; + + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isWindows "-fuse-ld=lld"; + + nativeBuildInputs = [ + cmake + ninja + ] + ++ lib.optionals useSwift [ swift ] + ++ lib.optionals stdenv.hostPlatform.isWindows [ lld ]; + + postInstall = '' + # Provide a CMake module. This is primarily used to glue together parts of + # the Swift toolchain. Modifying the CMake config to do this for us is + # otherwise more trouble. + mkdir -p "''${!outputDev}/lib/cmake/dispatch" + export dylibExt="${stdenv.hostPlatform.extensions.sharedLibrary}" + substituteAll ${./files/dispatchConfig.cmake} "''${!outputDev}/lib/cmake/dispatch/dispatchConfig.cmake" + '' + + lib.optionalString useSwift '' + rm "''${!outputLib}/lib"/*"$dylibExt" + for dylib in ${lib.escapeShellArg (lib.getLib swift-corelibs-libdispatch-no-overlay)}/lib/*"$dylibExt"; do + ln -s "$dylib" "''${!outputLib}/lib/$(basename "$dylib")" + done + ''; + + __structuredAttrs = true; + + meta = { + description = "Grand Central Dispatch"; + homepage = "https://github.com/swiftlang/swift-corelibs-libdispatch"; + platforms = lib.platforms.freebsd ++ lib.platforms.linux ++ lib.platforms.windows; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ cmm ]; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-corelibs-xctest/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-corelibs-xctest/package.nix new file mode 100644 index 0000000000000..7d8561bf74e74 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-corelibs-xctest/package.nix @@ -0,0 +1,63 @@ +{ + lib, + cmake, + fetchFromGitHub, + ninja, + stdenv, + swift-no-testing, + swift_release, +}: + +# FIXME: fix outputs to match other builds +# Build with CMake instead of SwiftPM to avoid SwiftPM and XCTest mutually depending on each other. +stdenv.mkDerivation (finalAttrs: { + pname = "swift-corelibs-xctest"; + version = swift_release; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-corelibs-xctest"; + tag = "swift-${finalAttrs.version}-RELEASE"; + hash = "sha256-BbzY1kZUaHu7O29c8J7xDuelik6lhqmfSSskvvPZ7R4="; + }; + + strictDeps = true; + + cmakeFlags = [ (lib.cmakeBool "USE_FOUNDATION_FRAMEWORK" true) ]; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift-no-testing + ]; + + postInstall = '' + dylib_name=libXCTest${stdenv.hostPlatform.extensions.library} + dylib_path="''${!outputLib}/lib/swift/${stdenv.hostPlatform.swift.platform}" + mv "$dylib_path/$dylib_name" "''${!outputLib}/lib/$dylib_name" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + install_name_tool "''${!outputLib}/lib/$dylib_name" \ + -change "$dylib_path/$dylib_name" "''${!outputLib}/lib/$dylib_name" + ''; + + __structuredAttrs = true; + + meta = { + description = "Framework for writing unit tests in Swift"; + homepage = "https://github.com/swiftlang/swift-corelibs-xctest"; + platforms = with lib.platforms; darwin ++ linux ++ windows; + license = lib.licenses.asl20; + maintainers = lib.teams.swift.members; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-crypto/files/SwiftCryptoConfig.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-crypto/files/SwiftCryptoConfig.cmake new file mode 100644 index 0000000000000..b7a7b36566f79 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-crypto/files/SwiftCryptoConfig.cmake @@ -0,0 +1,5 @@ +add_library(Crypto @buildType@ IMPORTED) +set_target_properties(Crypto PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}Crypto${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/lib/swift/@swiftPlatform@;@include@/lib/swift_static/@swiftPlatform@" +) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-crypto/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-crypto/package.nix new file mode 100644 index 0000000000000..8bd174a428c25 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-crypto/package.nix @@ -0,0 +1,83 @@ +{ + lib, + cmake, + fetchFromGitHub, + ninja, + stdenv, + swift, + swift-asn1, +}: + +let + swiftPlatform = stdenv.hostPlatform.swift.platform; +in + +stdenv.mkDerivation (finalAttrs: { + pname = "swift-crypto"; + version = "4.2.0"; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitHub { + owner = "apple"; + repo = "swift-crypto"; + tag = finalAttrs.version; + hash = "sha256-fdWNuaECRf317rhqTyB7xUTxncYQAd9NwfH3ZGtOflA="; + }; + + patches = [ + # Install _CryptoExtras and CryptoBoringWrapper + ./patches/0001-install-missing-modules.patch + ]; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace-fail '/usr/bin/ar' '$ENV{AR}' \ + --replace-fail '/usr/bin/ranlib' '$ENV{RANLIB}' + + substituteInPlace cmake/modules/SwiftSupport.cmake \ + --replace-fail 'ARCHIVE DESTINATION lib/''${swift}/''${swift_os}' 'ARCHIVE DESTINATION ''${CMAKE_INSTALL_LIBDIR}' \ + --replace-fail 'LIBRARY DESTINATION lib/''${swift}/''${swift_os}' 'LIBRARY DESTINATION ''${CMAKE_INSTALL_LIBDIR}' \ + --replace-fail 'RUNTIME DESTINATION bin' 'RUNTIME DESTINATION ''${CMAKE_INSTALL_BINDIR}' \ + ''; + + strictDeps = true; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift + ]; + + buildInputs = [ (lib.getInclude swift-asn1) ]; + + postInstall = '' + moveToOutput lib/swift "''${!outputDev}" + moveToOutput lib/swift_static "''${!outputDev}" + + # Install CMake config file for the Swift Crypto library. + mkdir -p mkdir -p "''${!outputDev}/lib/cmake/SwiftCrypto" + substitute ${./files/SwiftCryptoConfig.cmake} "''${!outputDev}/lib/cmake/SwiftCrypto/SwiftCryptoConfig.cmake" \ + --replace-fail '@buildType@' ${if stdenv.hostPlatform.isStatic then "STATIC" else "SHARED"} \ + --replace-fail '@include@' "''${!outputDev}" \ + --replace-fail '@lib@' "''${!outputLib}" \ + --replace-fail '@swiftPlatform@' ${swiftPlatform} + ''; + + __structuredAttrs = true; + + meta = { + homepage = "https://github.com/apple/swift-crypto"; + description = "Open-source implementation of most of CryptoKit for Swift"; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-crypto/patches/0001-install-missing-modules.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-crypto/patches/0001-install-missing-modules.patch new file mode 100644 index 0000000000000..d49beb69853b8 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-crypto/patches/0001-install-missing-modules.patch @@ -0,0 +1,64 @@ +From fad5e514f44a546b9f41d68f8a99d1a9beab2066 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Thu, 18 Dec 2025 20:58:24 -0500 +Subject: [PATCH] install-missing-modules + +--- + Sources/CMakeLists.txt | 1 + + Sources/CryptoBoringWrapper/CMakeLists.txt | 1 + + Sources/CryptoExtras/CMakeLists.txt | 1 + + Sources/_CryptoExtras/CMakeLists.txt | 13 +++++++++++++ + 4 files changed, 16 insertions(+) + create mode 100644 Sources/_CryptoExtras/CMakeLists.txt + +diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt +index 4616a1f..caf7440 100644 +--- a/Sources/CMakeLists.txt ++++ b/Sources/CMakeLists.txt +@@ -19,3 +19,4 @@ add_subdirectory(CXKCPShims) + add_subdirectory(CryptoBoringWrapper) + add_subdirectory(Crypto) + add_subdirectory(CryptoExtras) ++add_subdirectory(_CryptoExtras) +diff --git a/Sources/CryptoBoringWrapper/CMakeLists.txt b/Sources/CryptoBoringWrapper/CMakeLists.txt +index 980f33c..0c852bf 100644 +--- a/Sources/CryptoBoringWrapper/CMakeLists.txt ++++ b/Sources/CryptoBoringWrapper/CMakeLists.txt +@@ -36,4 +36,5 @@ target_compile_options(CryptoBoringWrapper PRIVATE ${SWIFT_CRYPTO_COMPILE_OPTION + set_target_properties(CryptoBoringWrapper PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + ++_install_target(CryptoBoringWrapper) + set_property(GLOBAL APPEND PROPERTY SWIFT_CRYPTO_EXPORTS CryptoBoringWrapper) +diff --git a/Sources/CryptoExtras/CMakeLists.txt b/Sources/CryptoExtras/CMakeLists.txt +index e081070..89ce053 100644 +--- a/Sources/CryptoExtras/CMakeLists.txt ++++ b/Sources/CryptoExtras/CMakeLists.txt +@@ -102,4 +102,5 @@ target_link_options(CryptoExtras PRIVATE + set_target_properties(CryptoExtras PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + ++_install_target(CryptoExtras) + set_property(GLOBAL APPEND PROPERTY SWIFT_CRYPTO_EXPORTS CryptoExtras) +diff --git a/Sources/_CryptoExtras/CMakeLists.txt b/Sources/_CryptoExtras/CMakeLists.txt +new file mode 100644 +index 0000000..5e6c283 +--- /dev/null ++++ b/Sources/_CryptoExtras/CMakeLists.txt +@@ -0,0 +1,13 @@ ++add_library(_CryptoExtras STATIC ++ Exports.swift ++) ++ ++target_link_libraries(_CryptoExtras PUBLIC ++ CryptoExtras) ++ ++ ++set_target_properties(_CryptoExtras PROPERTIES ++ INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) ++ ++_install_target(_CryptoExtras) ++set_property(GLOBAL APPEND PROPERTY SWIFT_CRYPTO_EXPORTS _CryptoExtras) +-- +2.50.1 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-docc/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-docc/package.nix new file mode 100644 index 0000000000000..94788a6a76a6d --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-docc/package.nix @@ -0,0 +1,45 @@ +{ + lib, + fetchFromGitHub, + fetchSwiftPMDeps, + stdenv, + swift, + swiftpmHook, + swift_release, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "swift-docc"; + version = swift_release; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-docc"; + tag = "swift-${finalAttrs.version}-RELEASE"; + hash = "sha256-zu70RyYvnfhW3DdovSeLFXTNmdHrhdnSYCN8RisSkt8="; + }; + + postPatch = '' + substituteInPlace Package.swift \ + --replace-fail '.macOS(.v12)' ".macOS(\"$MACOSX_DEPLOYMENT_TARGET\")" + ''; + + swiftpmDeps = fetchSwiftPMDeps { + inherit (finalAttrs) pname version src; + hash = "sha256-q3PZjzn2Zweyv5q2c4WgSe11FTp6EO3qxR/Qu3fOm6I="; + }; + + nativeBuildInputs = [ + swift + swiftpmHook + ]; + + meta = { + description = "Documentation compiler for Swift"; + mainProgram = "docc"; + homepage = "https://github.com/apple/swift-docc"; + platforms = with lib.platforms; linux ++ darwin; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/files/SwiftDriverConfig.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/files/SwiftDriverConfig.cmake new file mode 100644 index 0000000000000..f7424acb0421c --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/files/SwiftDriverConfig.cmake @@ -0,0 +1,5 @@ +add_library(SwiftDriver @buildType@ IMPORTED) +set_target_properties(SwiftDriver PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}SwiftDriver${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/lib/swift/@swiftPlatform@" +) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/package.nix new file mode 100644 index 0000000000000..0304010c5de37 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/package.nix @@ -0,0 +1,92 @@ +{ + lib, + cmake, + fetchFromGitHub, + llvm_libtool, + ninja, + stdenv, + swift-argument-parser, + swift-llbuild, + swift-no-swift-driver, + swift-tools-support-core, + swift_release, +}: + +let + swiftPlatform = stdenv.hostPlatform.swift.platform; +in + +# Swift Driver is a dependency of SwiftPM. +# It must be built with CMake to avoid dependency cycles. It can’t be built with swift-driver for obvious reasons. +stdenv.mkDerivation (finalAttrs: { + pname = "swift-driver"; + version = swift_release; + + outputs = [ + "out" + "dev" + "lib" + ]; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-driver"; + tag = "swift-${finalAttrs.version}-RELEASE"; + hash = "sha256-CZYqUadpAsAUnCTZElobZS9nlMfCuHiMnac3o0k7hnI="; + }; + + patches = [ + ./patches/0001-gnu-install-dirs.patch + # Adjust the built libraries to match the way SwiftPM would build the Swift Compiler Driver. + ./patches/0002-match-swiftpm-products.patch + # Resolve any symlinks when adding rpaths. This is helpful to avoid pulling in the whole Swift closure when only + # the stdlib is needed. + ./patches/0003-resolve-rpath-symlinks.patch + ]; + + strictDeps = true; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift-no-swift-driver + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvm_libtool ]; + + buildInputs = [ + swift-argument-parser + swift-llbuild + swift-tools-support-core + ]; + + env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-headerpad_max_install_names"; + + postInstall = '' + # Install the swiftmodule. + mkdir -p "''${!outputDev}/lib/swift/${swiftPlatform}" + cp -v swift/*.swiftmodule "''${!outputDev}/lib/swift/${swiftPlatform}" + + # Install CMake config file for the Swift Compiler Driver library. + mkdir -p mkdir -p "''${!outputDev}/lib/cmake/SwiftDriver" + substitute ${./files/SwiftDriverConfig.cmake} "''${!outputDev}/lib/cmake/SwiftDriver/SwiftDriverConfig.cmake" \ + --replace-fail '@buildType@' ${if stdenv.hostPlatform.isStatic then "STATIC" else "SHARED"} \ + --replace-fail '@include@' "''${!outputDev}" \ + --replace-fail '@lib@' "''${!outputLib}" \ + --replace-fail '@swiftPlatform@' ${swiftPlatform} + ''; + + __structuredAttrs = true; + + meta = { + mainProgram = "swift-driver"; + homepage = "https://github.com/apple/swift-driver"; + description = "Swift compiler driver written in Swift"; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/patches/0001-gnu-install-dirs.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/patches/0001-gnu-install-dirs.patch new file mode 100644 index 0000000000000..eea414f76b88e --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/patches/0001-gnu-install-dirs.patch @@ -0,0 +1,83 @@ +From a470f47717b35974f7cc434b4daf357d0e55ef92 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Tue, 9 Dec 2025 18:15:16 -0500 +Subject: [PATCH] gnu-install-dirs + +--- + Package.resolved | 8 ++++---- + Sources/SwiftDriver/CMakeLists.txt | 6 +++--- + Sources/SwiftDriverExecution/CMakeLists.txt | 6 +++--- + Sources/SwiftOptions/CMakeLists.txt | 6 +++--- + 4 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/Package.resolved b/Package.resolved +index 6b40c340..ea13f2a0 100644 +--- a/Package.resolved ++++ b/Package.resolved +@@ -14,8 +14,8 @@ + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-llbuild.git", + "state" : { +- "branch" : "release/6.2", +- "revision" : "1cc35cca995f017009c4909dc3caff4c17f55105" ++ "branch" : "release/6.2.1", ++ "revision" : "d80e185b78cef06757a180a2729b84260c1422a5" + } + }, + { +@@ -32,8 +32,8 @@ + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-tools-support-core.git", + "state" : { +- "branch" : "release/6.2", +- "revision" : "e765e49105c0c93254627b13852df0e3eed94b63" ++ "branch" : "release/6.2.1", ++ "revision" : "5a993c8848487c934d53ffceef8e1cad0a241dc1" + } + } + ], +diff --git a/Sources/SwiftDriver/CMakeLists.txt b/Sources/SwiftDriver/CMakeLists.txt +index d6594845..fb30f2bf 100644 +--- a/Sources/SwiftDriver/CMakeLists.txt ++++ b/Sources/SwiftDriver/CMakeLists.txt +@@ -140,6 +140,6 @@ set_target_properties(SwiftDriver PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS SwiftDriver +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/SwiftDriverExecution/CMakeLists.txt b/Sources/SwiftDriverExecution/CMakeLists.txt +index c42a4dec..91c9bc12 100644 +--- a/Sources/SwiftDriverExecution/CMakeLists.txt ++++ b/Sources/SwiftDriverExecution/CMakeLists.txt +@@ -26,6 +26,6 @@ set_target_properties(SwiftDriverExecution PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS SwiftDriverExecution +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/SwiftOptions/CMakeLists.txt b/Sources/SwiftOptions/CMakeLists.txt +index c6262682..d4dbbcc3 100644 +--- a/Sources/SwiftOptions/CMakeLists.txt ++++ b/Sources/SwiftOptions/CMakeLists.txt +@@ -25,6 +25,6 @@ set_target_properties(SwiftOptions PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS SwiftOptions +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/patches/0002-match-swiftpm-products.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/patches/0002-match-swiftpm-products.patch new file mode 100644 index 0000000000000..1cca6ec1f87fa --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/patches/0002-match-swiftpm-products.patch @@ -0,0 +1,82 @@ +From 5e61679e7fdbe8b243637bd00099221d9d078989 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Tue, 9 Dec 2025 18:15:16 -0500 +Subject: [PATCH] match-swiftpm-products + +--- + Package.resolved | 6 +++--- + Sources/SwiftDriverExecution/CMakeLists.txt | 7 +------ + Sources/SwiftOptions/CMakeLists.txt | 7 +------ + 3 files changed, 5 insertions(+), 15 deletions(-) + +diff --git a/Package.resolved b/Package.resolved +index ea13f2a0..9433b807 100644 +--- a/Package.resolved ++++ b/Package.resolved +@@ -14,8 +14,8 @@ + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-llbuild.git", + "state" : { +- "branch" : "release/6.2.1", +- "revision" : "d80e185b78cef06757a180a2729b84260c1422a5" ++ "branch" : "release/6.2", ++ "revision" : "073dff55529d7c4ecbd615ab5f5ac52ae5b380da" + } + }, + { +@@ -32,7 +32,7 @@ + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-tools-support-core.git", + "state" : { +- "branch" : "release/6.2.1", ++ "branch" : "release/6.2", + "revision" : "5a993c8848487c934d53ffceef8e1cad0a241dc1" + } + } +diff --git a/Sources/SwiftDriverExecution/CMakeLists.txt b/Sources/SwiftDriverExecution/CMakeLists.txt +index 91c9bc12..17adca61 100644 +--- a/Sources/SwiftDriverExecution/CMakeLists.txt ++++ b/Sources/SwiftDriverExecution/CMakeLists.txt +@@ -6,7 +6,7 @@ + # See http://swift.org/LICENSE.txt for license information + # See http://swift.org/CONTRIBUTORS.txt for Swift project authors + +-add_library(SwiftDriverExecution ++add_library(SwiftDriverExecution STATIC + llbuild.swift + MultiJobExecutor.swift + SwiftDriverExecutor.swift) +@@ -24,8 +24,3 @@ set_property(GLOBAL APPEND PROPERTY SWIFTDRIVER_EXPORTS SwiftDriverExecution) + # NOTE: workaround for CMake not setting up include flags yet + set_target_properties(SwiftDriverExecution PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) +- +-install(TARGETS SwiftDriverExecution +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/SwiftOptions/CMakeLists.txt b/Sources/SwiftOptions/CMakeLists.txt +index d4dbbcc3..4dea39d6 100644 +--- a/Sources/SwiftOptions/CMakeLists.txt ++++ b/Sources/SwiftOptions/CMakeLists.txt +@@ -6,7 +6,7 @@ + # See http://swift.org/LICENSE.txt for license information + # See http://swift.org/CONTRIBUTORS.txt for Swift project authors + +-add_library(SwiftOptions ++add_library(SwiftOptions STATIC + DriverKind.swift + Option.swift + OptionTable.swift +@@ -23,8 +23,3 @@ set_property(GLOBAL APPEND PROPERTY SWIFTDRIVER_EXPORTS SwiftOptions) + # NOTE: workaround for CMake not setting up include flags yet + set_target_properties(SwiftOptions PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) +- +-install(TARGETS SwiftOptions +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/patches/0003-resolve-rpath-symlinks.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/patches/0003-resolve-rpath-symlinks.patch new file mode 100644 index 0000000000000..d8b072413c6bf --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-driver/patches/0003-resolve-rpath-symlinks.patch @@ -0,0 +1,97 @@ +From dd71fc52239b02ce61d74366ce7057e22b463a37 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sun, 1 Feb 2026 16:17:12 -0500 +Subject: [PATCH] resolve-rpath-symlinks + +--- + Sources/SwiftDriver/Driver/Driver.swift | 2 +- + .../Jobs/GenericUnixToolchain+LinkerSupport.swift | 5 ++++- + Sources/SwiftDriver/Jobs/Toolchain+LinkerSupport.swift | 5 ++++- + Sources/SwiftDriver/Utilities/VirtualPath.swift | 2 +- + swift | 1 + + 5 files changed, 11 insertions(+), 4 deletions(-) + create mode 120000 swift + +diff --git a/Sources/SwiftDriver/Driver/Driver.swift b/Sources/SwiftDriver/Driver/Driver.swift +index db11ab3c..9564bb43 100644 +--- a/Sources/SwiftDriver/Driver/Driver.swift ++++ b/Sources/SwiftDriver/Driver/Driver.swift +@@ -1805,7 +1805,7 @@ extension Driver { + } + + switch driverName { +- case "swift": ++ case "swift", "swift-driver": + return .interactive + case "swiftc": + return .batch +diff --git a/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift b/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift +index fa2bd813..9410f2b3 100644 +--- a/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift ++++ b/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift +@@ -13,6 +13,7 @@ + import SwiftOptions + + import func TSCBasic.lookupExecutablePath ++import func TSCBasic.resolveSymlinks + import struct TSCBasic.AbsolutePath + + extension GenericUnixToolchain { +@@ -169,7 +170,9 @@ extension GenericUnixToolchain { + commandLine.appendFlag(.Xlinker) + commandLine.appendFlag("-rpath") + commandLine.appendFlag(.Xlinker) +- commandLine.appendPath(path) ++ try fileSystem.resolvingVirtualPath(path) { path in ++ try commandLine.appendPath(TSCBasic.resolveSymlinks(path)) ++ } + } + } + +diff --git a/Sources/SwiftDriver/Jobs/Toolchain+LinkerSupport.swift b/Sources/SwiftDriver/Jobs/Toolchain+LinkerSupport.swift +index ab4cfe0f..8280ba95 100644 +--- a/Sources/SwiftDriver/Jobs/Toolchain+LinkerSupport.swift ++++ b/Sources/SwiftDriver/Jobs/Toolchain+LinkerSupport.swift +@@ -12,6 +12,7 @@ + + import SwiftOptions + ++import func TSCBasic.resolveSymlinks + import protocol TSCBasic.FileSystem + + extension Toolchain { +@@ -178,7 +179,9 @@ extension DarwinToolchain { + ) + for path in try rpaths.paths(runtimeLibraryPaths: runtimePaths) { + commandLine.appendFlag("-rpath") +- commandLine.appendPath(path) ++ try fileSystem.resolvingVirtualPath(path) { path in ++ try commandLine.appendPath(TSCBasic.resolveSymlinks(path)) ++ } + } + } + +diff --git a/Sources/SwiftDriver/Utilities/VirtualPath.swift b/Sources/SwiftDriver/Utilities/VirtualPath.swift +index 66514785..d0da8b82 100644 +--- a/Sources/SwiftDriver/Utilities/VirtualPath.swift ++++ b/Sources/SwiftDriver/Utilities/VirtualPath.swift +@@ -693,7 +693,7 @@ enum FileSystemError: Swift.Error { + } + + extension TSCBasic.FileSystem { +- private func resolvingVirtualPath( ++ internal func resolvingVirtualPath( + _ path: VirtualPath, + apply f: (AbsolutePath) throws -> T + ) throws -> T { +diff --git a/swift b/swift +new file mode 120000 +index 00000000..05aa5194 +--- /dev/null ++++ b/swift +@@ -0,0 +1 @@ ++/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-driver +\ No newline at end of file +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-format/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-format/package.nix new file mode 100644 index 0000000000000..6c5a4fbb049c0 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-format/package.nix @@ -0,0 +1,40 @@ +{ + lib, + fetchFromGitHub, + fetchSwiftPMDeps, + swift, + swiftpmHook, + stdenv, + swift_release, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "swift-format"; + version = swift_release; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-format"; + tag = "swift-${finalAttrs.version}-RELEASE"; + hash = "sha256-01lnZFaFAcjWN9Hn0y60gEANz7RbYRvjESysYqB9iSo="; + }; + + postPatch = + # Fix the deployment target or compiling code using XCTest fails. + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace Package.swift \ + --replace-fail '.macOS("13.0")' ".macOS(\"$MACOSX_DEPLOYMENT_TARGET\")" + ''; + + strictDeps = true; + + swiftpmDeps = fetchSwiftPMDeps { + inherit (finalAttrs) pname version src; + hash = lib.fakeHash; + }; + + nativeBuildInputs = [ + swift + swiftpmHook + ]; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-llbuild/files/LLBuildConfig.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-llbuild/files/LLBuildConfig.cmake new file mode 100644 index 0000000000000..fb0aeb47c94c5 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-llbuild/files/LLBuildConfig.cmake @@ -0,0 +1,11 @@ +add_library(llbuild STATIC IMPORTED) +set_target_properties(llbuild PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_STATIC_LIBRARY_PREFIX}llbuild${CMAKE_STATIC_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/include" +) + +add_library(llbuildSwift @buildType@ IMPORTED) +set_target_properties(llbuildSwift PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}llbuildSwift${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/include;@include@/lib/swift/@swiftPlatform@" +) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-llbuild/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-llbuild/package.nix new file mode 100644 index 0000000000000..e1ec6ef28e4f2 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-llbuild/package.nix @@ -0,0 +1,109 @@ +{ + lib, + cmake, + fetchFromGitHub, + fixDarwinDylibNames, + ncurses, + ninja, + sqlite, + stdenv, + swift-no-swift-driver, + swift_release, +}: + +let + swiftPlatform = stdenv.hostPlatform.swift.platform; +in + +# LLBuild is a dependency to both Swift Compiler Driver and SwiftPM. +# It must be built with CMake and use Swift without swift-driver to avoid dependency cycles. +stdenv.mkDerivation (finalAttrs: { + pname = "swift-llbuild"; + version = swift_release; + + outputs = [ + "out" + "dev" + "lib" + ]; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-llbuild"; + tag = "swift-${finalAttrs.version}-RELEASE"; + hash = "sha256-nZdiFXYrUiTSlSl6lxNFVpD2x8KGC4OVUUvJSOqH7gU="; + }; + + patches = [ ./patches/0001-gnu-install-dirs.patch ]; + + postPatch = '' + # Disable performance tests, which require XCTest.framework. XCTest.framework is not available. + substituteInPlace CMakeLists.txt --replace-fail 'add_subdirectory(perftests)' "" + + # Disable building the framework on Darwin, which we don’t use. + substituteInPlace products/libllbuild/CMakeLists.txt \ + --replace-fail 'if(''${CMAKE_SYSTEM_NAME} MATCHES "Darwin")' "if(FALSE)" + + # Use ncurses instead of curses + grep -rl 'curses)' -Z | while IFS= read -d "" file; do + substituteInPlace "$file" --replace-fail 'curses)' 'ncurses)' + done + ''; + + strictDeps = true; + + cmakeFlags = [ + # Defaults to not building shared libs. + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + # Swift bindings are needed to build swift-driver. + (lib.cmakeFeature "LLBUILD_SUPPORT_BINDINGS" "Swift") + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Defaults to the `buildPlatform` architecture if this is not set. + (lib.cmakeFeature "CMAKE_OSX_ARCHITECTURES" stdenv.hostPlatform.darwinArch) + ]; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift-no-swift-driver + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]; + + buildInputs = [ + ncurses + sqlite + ]; + + postInstall = '' + # Install the module map for the `llbuild` module. + mkdir -p "''${!outputDev}/include" + cp -v "$NIX_BUILD_TOP/$sourceRoot/products/libllbuild/include/module.modulemap" "''${!outputDev}/include" + + # Install the swiftmodule (needed to use `llbuildSwift`). + mkdir -p "''${!outputDev}/lib/swift/${swiftPlatform}" + cp -v products/llbuildSwift/llbuildSwift.swiftmodule "''${!outputDev}/lib/swift/${swiftPlatform}" + + # Install CMake config file for llbuild and llbuildSwift. + mkdir -p mkdir -p "''${!outputDev}/lib/cmake/LLBuild" + substitute ${./files/LLBuildConfig.cmake} "''${!outputDev}/lib/cmake/LLBuild/LLBuildConfig.cmake" \ + --replace-fail '@buildType@' ${if stdenv.hostPlatform.isStatic then "STATIC" else "SHARED"} \ + --replace-fail '@include@' "''${!outputDev}" \ + --replace-fail '@lib@' "''${!outputLib}" \ + --replace-fail '@swiftPlatform@' ${swiftPlatform} + ''; + + __structuredAttrs = true; + + meta = { + homepage = "https://github.com/swift/swift-llbuild"; + description = "Low-level build system used by SwiftPM and Xcode"; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-llbuild/patches/0001-gnu-install-dirs.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-llbuild/patches/0001-gnu-install-dirs.patch new file mode 100644 index 0000000000000..126c7a4ee6bd2 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-llbuild/patches/0001-gnu-install-dirs.patch @@ -0,0 +1,61 @@ +From ff5456f94260823fb9c7f1af728123019b31dc3b Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 6 Dec 2025 20:09:51 -0500 +Subject: [PATCH] gnu-install-dirs + +--- + products/libllbuild/CMakeLists.txt | 10 +++++----- + products/llbuildSwift/CMakeLists.txt | 6 +++--- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/products/libllbuild/CMakeLists.txt b/products/libllbuild/CMakeLists.txt +index dcf5d40b..30db822d 100644 +--- a/products/libllbuild/CMakeLists.txt ++++ b/products/libllbuild/CMakeLists.txt +@@ -40,21 +40,21 @@ include_directories(BEFORE + ${CMAKE_CURRENT_SOURCE_DIR}/include) + + install(DIRECTORY include/ +- DESTINATION include ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + COMPONENT libllbuild + FILES_MATCHING + PATTERN "*.h") + + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/ +- DESTINATION include ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + COMPONENT libllbuild + FILES_MATCHING + PATTERN "*.h") + + install(TARGETS libllbuild +- ARCHIVE DESTINATION lib${LLBUILD_LIBDIR_SUFFIX} +- LIBRARY DESTINATION lib${LLBUILD_LIBDIR_SUFFIX} +- RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT libllbuild) + set_property(GLOBAL APPEND PROPERTY LLBuild_EXPORTS libllbuild) + +diff --git a/products/llbuildSwift/CMakeLists.txt b/products/llbuildSwift/CMakeLists.txt +index fe12e7f3..cd0a4f64 100644 +--- a/products/llbuildSwift/CMakeLists.txt ++++ b/products/llbuildSwift/CMakeLists.txt +@@ -62,9 +62,9 @@ set_target_properties(llbuildSwift PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR};${PROJECT_SOURCE_DIR}/products/libllbuild/include") + + install(TARGETS llbuildSwift +- ARCHIVE DESTINATION lib/swift/pm/llbuild COMPONENT libllbuildSwift +- LIBRARY DESTINATION lib/swift/pm/llbuild COMPONENT libllbuildSwift +- RUNTIME DESTINATION bin COMPONENT libllbuildSwift) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT libllbuildSwift ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT libllbuildSwift ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT libllbuildSwift) + set_property(GLOBAL APPEND PROPERTY LLBuild_EXPORTS llbuildSwift) + + # Add install target. +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0001-gnu-install-dirs.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0001-gnu-install-dirs.patch new file mode 100644 index 0000000000000..120c491121fba --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0001-gnu-install-dirs.patch @@ -0,0 +1,362 @@ +From c2a2c93ec7ba8541dd51688728fbd11ffda7556f Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 19 Dec 2025 20:12:12 -0500 +Subject: [PATCH] gnu-install-dirs + +--- + Sources/Basics/CMakeLists.txt | 6 +++--- + Sources/Build/CMakeLists.txt | 6 +++--- + Sources/Commands/CMakeLists.txt | 6 +++--- + Sources/CoreCommands/CMakeLists.txt | 6 +++--- + Sources/DriverSupport/CMakeLists.txt | 6 +++--- + Sources/PackageCollections/CMakeLists.txt | 6 +++--- + Sources/PackageCollectionsModel/CMakeLists.txt | 6 +++--- + Sources/PackageCollectionsSigning/CMakeLists.txt | 6 +++--- + Sources/PackageGraph/CMakeLists.txt | 6 +++--- + Sources/PackageLoading/CMakeLists.txt | 6 +++--- + Sources/PackageModel/CMakeLists.txt | 6 +++--- + Sources/PackageModelSyntax/CMakeLists.txt | 6 +++--- + Sources/PackageRegistryCommand/CMakeLists.txt | 6 +++--- + Sources/QueryEngine/CMakeLists.txt | 6 +++--- + Sources/SPMBuildCore/CMakeLists.txt | 6 +++--- + Sources/SourceControl/CMakeLists.txt | 6 +++--- + Sources/SwiftSDKCommand/CMakeLists.txt | 6 +++--- + Sources/Workspace/CMakeLists.txt | 6 +++--- + Sources/_AsyncFileSystem/CMakeLists.txt | 6 +++--- + Sources/swift-experimental-sdk/CMakeLists.txt | 2 +- + Sources/swift-package/CMakeLists.txt | 2 +- + Sources/swift-run/CMakeLists.txt | 2 +- + Sources/swift-sdk/CMakeLists.txt | 2 +- + Sources/swift-test/CMakeLists.txt | 2 +- + 24 files changed, 62 insertions(+), 62 deletions(-) + +diff --git a/Sources/Basics/CMakeLists.txt b/Sources/Basics/CMakeLists.txt +index e2910d09b..2f523dedb 100644 +--- a/Sources/Basics/CMakeLists.txt ++++ b/Sources/Basics/CMakeLists.txt +@@ -97,7 +97,7 @@ target_link_options(Basics PRIVATE + "$<$:SHELL:-Xlinker -framework -Xlinker Security>") + + install(TARGETS Basics +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS Basics) +diff --git a/Sources/Build/CMakeLists.txt b/Sources/Build/CMakeLists.txt +index 495bd7a87..9b32067ff 100644 +--- a/Sources/Build/CMakeLists.txt ++++ b/Sources/Build/CMakeLists.txt +@@ -49,7 +49,7 @@ set_target_properties(Build PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS Build +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS Build) +diff --git a/Sources/Commands/CMakeLists.txt b/Sources/Commands/CMakeLists.txt +index c62c7424e..5efcc760d 100644 +--- a/Sources/Commands/CMakeLists.txt ++++ b/Sources/Commands/CMakeLists.txt +@@ -80,6 +80,6 @@ set_target_properties(Commands PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS Commands +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/CoreCommands/CMakeLists.txt b/Sources/CoreCommands/CMakeLists.txt +index 54bc10b2b..dbaadcb3f 100644 +--- a/Sources/CoreCommands/CMakeLists.txt ++++ b/Sources/CoreCommands/CMakeLists.txt +@@ -29,6 +29,6 @@ set_target_properties(CoreCommands PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS CoreCommands +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/DriverSupport/CMakeLists.txt b/Sources/DriverSupport/CMakeLists.txt +index 1044df0e9..29234574c 100644 +--- a/Sources/DriverSupport/CMakeLists.txt ++++ b/Sources/DriverSupport/CMakeLists.txt +@@ -18,7 +18,7 @@ target_link_libraries(DriverSupport PUBLIC + SwiftDriver) + + install(TARGETS DriverSupport +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS DriverSupport) +diff --git a/Sources/PackageCollections/CMakeLists.txt b/Sources/PackageCollections/CMakeLists.txt +index 63eb94c2f..4f3c183e4 100644 +--- a/Sources/PackageCollections/CMakeLists.txt ++++ b/Sources/PackageCollections/CMakeLists.txt +@@ -56,6 +56,6 @@ if(NOT APPLE) + endif() + + install(TARGETS PackageCollections +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/PackageCollectionsModel/CMakeLists.txt b/Sources/PackageCollectionsModel/CMakeLists.txt +index 9f98827a5..c99c5d81c 100644 +--- a/Sources/PackageCollectionsModel/CMakeLists.txt ++++ b/Sources/PackageCollectionsModel/CMakeLists.txt +@@ -20,6 +20,6 @@ if(NOT APPLE) + endif() + + install(TARGETS PackageCollectionsModel +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/PackageCollectionsSigning/CMakeLists.txt b/Sources/PackageCollectionsSigning/CMakeLists.txt +index 5f3d69abe..7390bb783 100644 +--- a/Sources/PackageCollectionsSigning/CMakeLists.txt ++++ b/Sources/PackageCollectionsSigning/CMakeLists.txt +@@ -36,6 +36,6 @@ if(NOT APPLE) + endif() + + install(TARGETS PackageCollectionsSigning +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/PackageGraph/CMakeLists.txt b/Sources/PackageGraph/CMakeLists.txt +index 46bd6580f..4e7a5e04d 100644 +--- a/Sources/PackageGraph/CMakeLists.txt ++++ b/Sources/PackageGraph/CMakeLists.txt +@@ -51,7 +51,7 @@ set_target_properties(PackageGraph PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS PackageGraph +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageGraph) +diff --git a/Sources/PackageLoading/CMakeLists.txt b/Sources/PackageLoading/CMakeLists.txt +index 476588dbf..f363cd12d 100644 +--- a/Sources/PackageLoading/CMakeLists.txt ++++ b/Sources/PackageLoading/CMakeLists.txt +@@ -36,7 +36,7 @@ set_target_properties(PackageLoading PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS PackageLoading +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageLoading) +diff --git a/Sources/PackageModel/CMakeLists.txt b/Sources/PackageModel/CMakeLists.txt +index 48ff3b9ba..3c2e305a9 100644 +--- a/Sources/PackageModel/CMakeLists.txt ++++ b/Sources/PackageModel/CMakeLists.txt +@@ -75,7 +75,7 @@ set_target_properties(PackageModel PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS PackageModel +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageModel) +diff --git a/Sources/PackageModelSyntax/CMakeLists.txt b/Sources/PackageModelSyntax/CMakeLists.txt +index 02142c690..70dcf942c 100644 +--- a/Sources/PackageModelSyntax/CMakeLists.txt ++++ b/Sources/PackageModelSyntax/CMakeLists.txt +@@ -39,7 +39,7 @@ set_target_properties(PackageModelSyntax PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS PackageModelSyntax +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageModelSyntax) +diff --git a/Sources/PackageRegistryCommand/CMakeLists.txt b/Sources/PackageRegistryCommand/CMakeLists.txt +index 92c7785ed..a62300a1a 100644 +--- a/Sources/PackageRegistryCommand/CMakeLists.txt ++++ b/Sources/PackageRegistryCommand/CMakeLists.txt +@@ -34,6 +34,6 @@ if(NOT APPLE) + endif() + + install(TARGETS PackageRegistryCommand +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/QueryEngine/CMakeLists.txt b/Sources/QueryEngine/CMakeLists.txt +index 869c52c45..36d71c89c 100644 +--- a/Sources/QueryEngine/CMakeLists.txt ++++ b/Sources/QueryEngine/CMakeLists.txt +@@ -27,6 +27,6 @@ if(NOT APPLE) + endif() + + install(TARGETS QueryEngine +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/SPMBuildCore/CMakeLists.txt b/Sources/SPMBuildCore/CMakeLists.txt +index eaf92ddd1..ed7f25ca9 100644 +--- a/Sources/SPMBuildCore/CMakeLists.txt ++++ b/Sources/SPMBuildCore/CMakeLists.txt +@@ -40,7 +40,7 @@ target_link_libraries(SPMBuildCore PUBLIC + + + install(TARGETS SPMBuildCore +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS SPMBuildCore) +diff --git a/Sources/SourceControl/CMakeLists.txt b/Sources/SourceControl/CMakeLists.txt +index 8e1377d9b..e660bae2d 100644 +--- a/Sources/SourceControl/CMakeLists.txt ++++ b/Sources/SourceControl/CMakeLists.txt +@@ -22,7 +22,7 @@ set_target_properties(SourceControl PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS SourceControl +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS SourceControl) +diff --git a/Sources/SwiftSDKCommand/CMakeLists.txt b/Sources/SwiftSDKCommand/CMakeLists.txt +index 4dcfa36a2..ccca0ac3b 100644 +--- a/Sources/SwiftSDKCommand/CMakeLists.txt ++++ b/Sources/SwiftSDKCommand/CMakeLists.txt +@@ -29,6 +29,6 @@ set_target_properties(SwiftSDKCommand PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS SwiftSDKCommand +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/Workspace/CMakeLists.txt b/Sources/Workspace/CMakeLists.txt +index cdc939112..78b79ac25 100644 +--- a/Sources/Workspace/CMakeLists.txt ++++ b/Sources/Workspace/CMakeLists.txt +@@ -62,6 +62,6 @@ set_target_properties(Workspace PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS Workspace +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/_AsyncFileSystem/CMakeLists.txt b/Sources/_AsyncFileSystem/CMakeLists.txt +index adf09b29c..ad2ce7c4a 100644 +--- a/Sources/_AsyncFileSystem/CMakeLists.txt ++++ b/Sources/_AsyncFileSystem/CMakeLists.txt +@@ -24,8 +24,8 @@ set_target_properties(_AsyncFileSystem PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS _AsyncFileSystem +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS _AsyncFileSystem) +diff --git a/Sources/swift-experimental-sdk/CMakeLists.txt b/Sources/swift-experimental-sdk/CMakeLists.txt +index edad12be8..f07bd15a7 100644 +--- a/Sources/swift-experimental-sdk/CMakeLists.txt ++++ b/Sources/swift-experimental-sdk/CMakeLists.txt +@@ -15,4 +15,4 @@ target_compile_options(swift-experimental-sdk PRIVATE + -parse-as-library) + + install(TARGETS swift-experimental-sdk +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/swift-package/CMakeLists.txt b/Sources/swift-package/CMakeLists.txt +index 3468bdefc..4b4a8d190 100644 +--- a/Sources/swift-package/CMakeLists.txt ++++ b/Sources/swift-package/CMakeLists.txt +@@ -16,4 +16,4 @@ target_compile_options(swift-package PRIVATE + -parse-as-library) + + install(TARGETS swift-package +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/swift-run/CMakeLists.txt b/Sources/swift-run/CMakeLists.txt +index 9c609f84e..719a2228a 100644 +--- a/Sources/swift-run/CMakeLists.txt ++++ b/Sources/swift-run/CMakeLists.txt +@@ -15,4 +15,4 @@ target_compile_options(swift-run PRIVATE + -parse-as-library) + + install(TARGETS swift-run +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/swift-sdk/CMakeLists.txt b/Sources/swift-sdk/CMakeLists.txt +index ee3be128b..4ed4a522a 100644 +--- a/Sources/swift-sdk/CMakeLists.txt ++++ b/Sources/swift-sdk/CMakeLists.txt +@@ -15,4 +15,4 @@ target_compile_options(swift-sdk PRIVATE + -parse-as-library) + + install(TARGETS swift-sdk +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/swift-test/CMakeLists.txt b/Sources/swift-test/CMakeLists.txt +index 79c910294..ef2305587 100644 +--- a/Sources/swift-test/CMakeLists.txt ++++ b/Sources/swift-test/CMakeLists.txt +@@ -15,4 +15,4 @@ target_compile_options(swift-test PRIVATE + -parse-as-library) + + install(TARGETS swift-test +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0002-darwin-swift-corelibs-xctest.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0002-darwin-swift-corelibs-xctest.patch new file mode 100644 index 0000000000000..a4ede816fbedb --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0002-darwin-swift-corelibs-xctest.patch @@ -0,0 +1,429 @@ +From e685fdc9189083175f3135a198ba881ef4dfbaf7 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:57:10 -0500 +Subject: [PATCH] darwin-swift-corelibs-xctest + +--- + .../Commands/Utilities/TestingSupport.swift | 65 ---- + .../Utilities/TestingSupport.swift.orig | 319 ++++++++++++++++++ + 2 files changed, 319 insertions(+), 65 deletions(-) + create mode 100644 Sources/Commands/Utilities/TestingSupport.swift.orig + +diff --git a/Sources/Commands/Utilities/TestingSupport.swift b/Sources/Commands/Utilities/TestingSupport.swift +index 81b329613..536babca5 100644 +--- a/Sources/Commands/Utilities/TestingSupport.swift ++++ b/Sources/Commands/Utilities/TestingSupport.swift +@@ -29,46 +29,6 @@ import func TSCBasic.withTemporaryFile + /// Note: In the long term this should be factored into a reusable module that + /// can run and report results on tests from both CLI and libSwiftPM API. + enum TestingSupport { +- /// Locates XCTestHelper tool inside the libexec directory and bin directory. +- /// Note: It is a fatalError if we are not able to locate the tool. +- /// +- /// - Returns: Path to XCTestHelper tool. +- static func xctestHelperPath(swiftCommandState: SwiftCommandState) throws -> AbsolutePath { +- var triedPaths = [AbsolutePath]() +- +- func findXCTestHelper(swiftBuildPath: AbsolutePath) -> AbsolutePath? { +- // XCTestHelper tool is installed in libexec. +- let maybePath = swiftBuildPath.parentDirectory.parentDirectory.appending( +- components: "libexec", "swift", "pm", "swiftpm-xctest-helper" +- ) +- if swiftCommandState.fileSystem.isFile(maybePath) { +- return maybePath +- } else { +- triedPaths.append(maybePath) +- return nil +- } +- } +- +- if let firstCLIArgument = CommandLine.arguments.first { +- let runningSwiftBuildPath = try AbsolutePath(validating: firstCLIArgument, relativeTo: swiftCommandState.originalWorkingDirectory) +- if let xctestHelperPath = findXCTestHelper(swiftBuildPath: runningSwiftBuildPath) { +- return xctestHelperPath +- } +- } +- +- // This will be true during swiftpm development or when using swift.org toolchains. +- let xcodePath = try AsyncProcess.checkNonZeroExit(args: "/usr/bin/xcode-select", "--print-path").spm_chomp() +- let installedSwiftBuildPath = try AsyncProcess.checkNonZeroExit( +- args: "/usr/bin/xcrun", "--find", "swift-build", +- environment: ["DEVELOPER_DIR": xcodePath] +- ).spm_chomp() +- if let xctestHelperPath = findXCTestHelper(swiftBuildPath: try AbsolutePath(validating: installedSwiftBuildPath)) { +- return xctestHelperPath +- } +- +- throw InternalError("XCTestHelper binary not found, tried \(triedPaths.map { $0.pathString }.joined(separator: ", "))") +- } +- + static func getTestSuites( + in testProducts: [BuiltTestProduct], + swiftCommandState: SwiftCommandState, +@@ -112,30 +72,6 @@ enum TestingSupport { + ) throws -> [TestSuite] { + // Run the correct tool. + var args = [String]() +- #if os(macOS) +- let data: String = try withTemporaryFile { tempFile in +- args = [try Self.xctestHelperPath(swiftCommandState: swiftCommandState).pathString, path.pathString, tempFile.path.pathString] +- let env = try Self.constructTestEnvironment( +- toolchain: try swiftCommandState.getTargetToolchain(), +- destinationBuildParameters: swiftCommandState.buildParametersForTest( +- enableCodeCoverage: enableCodeCoverage, +- shouldSkipBuilding: shouldSkipBuilding, +- experimentalTestOutput: experimentalTestOutput +- ).productsBuildParameters, +- sanitizers: sanitizers, +- library: .xctest +- ) +- try Self.runProcessWithExistenceCheck( +- path: path, +- fileSystem: swiftCommandState.fileSystem, +- args: args, +- env: env +- ) +- +- // Read the temporary file's content. +- return try swiftCommandState.fileSystem.readFileContents(AbsolutePath(tempFile.path)) +- } +- #else + let env = try Self.constructTestEnvironment( + toolchain: try swiftCommandState.getTargetToolchain(), + destinationBuildParameters: swiftCommandState.buildParametersForTest( +@@ -152,7 +88,6 @@ enum TestingSupport { + args: args, + env: env + ) +- #endif + // Parse json and return TestSuites. + return try TestSuite.parse(jsonString: data, context: args.joined(separator: " ")) + } +diff --git a/Sources/Commands/Utilities/TestingSupport.swift.orig b/Sources/Commands/Utilities/TestingSupport.swift.orig +new file mode 100644 +index 000000000..81b329613 +--- /dev/null ++++ b/Sources/Commands/Utilities/TestingSupport.swift.orig +@@ -0,0 +1,319 @@ ++//===----------------------------------------------------------------------===// ++// ++// This source file is part of the Swift open source project ++// ++// Copyright (c) 2022 Apple Inc. and the Swift project authors ++// Licensed under Apache License v2.0 with Runtime Library Exception ++// ++// See http://swift.org/LICENSE.txt for license information ++// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors ++// ++//===----------------------------------------------------------------------===// ++ ++import Basics ++import CoreCommands ++import PackageModel ++import SPMBuildCore ++import TSCUtility ++import Workspace ++ ++import struct TSCBasic.FileSystemError ++import class Basics.AsyncProcess ++import var TSCBasic.stderrStream ++import var TSCBasic.stdoutStream ++import func TSCBasic.withTemporaryFile ++ ++/// Internal helper functionality for the SwiftTestTool command and for the ++/// plugin support. ++/// ++/// Note: In the long term this should be factored into a reusable module that ++/// can run and report results on tests from both CLI and libSwiftPM API. ++enum TestingSupport { ++ /// Locates XCTestHelper tool inside the libexec directory and bin directory. ++ /// Note: It is a fatalError if we are not able to locate the tool. ++ /// ++ /// - Returns: Path to XCTestHelper tool. ++ static func xctestHelperPath(swiftCommandState: SwiftCommandState) throws -> AbsolutePath { ++ var triedPaths = [AbsolutePath]() ++ ++ func findXCTestHelper(swiftBuildPath: AbsolutePath) -> AbsolutePath? { ++ // XCTestHelper tool is installed in libexec. ++ let maybePath = swiftBuildPath.parentDirectory.parentDirectory.appending( ++ components: "libexec", "swift", "pm", "swiftpm-xctest-helper" ++ ) ++ if swiftCommandState.fileSystem.isFile(maybePath) { ++ return maybePath ++ } else { ++ triedPaths.append(maybePath) ++ return nil ++ } ++ } ++ ++ if let firstCLIArgument = CommandLine.arguments.first { ++ let runningSwiftBuildPath = try AbsolutePath(validating: firstCLIArgument, relativeTo: swiftCommandState.originalWorkingDirectory) ++ if let xctestHelperPath = findXCTestHelper(swiftBuildPath: runningSwiftBuildPath) { ++ return xctestHelperPath ++ } ++ } ++ ++ // This will be true during swiftpm development or when using swift.org toolchains. ++ let xcodePath = try AsyncProcess.checkNonZeroExit(args: "/usr/bin/xcode-select", "--print-path").spm_chomp() ++ let installedSwiftBuildPath = try AsyncProcess.checkNonZeroExit( ++ args: "/usr/bin/xcrun", "--find", "swift-build", ++ environment: ["DEVELOPER_DIR": xcodePath] ++ ).spm_chomp() ++ if let xctestHelperPath = findXCTestHelper(swiftBuildPath: try AbsolutePath(validating: installedSwiftBuildPath)) { ++ return xctestHelperPath ++ } ++ ++ throw InternalError("XCTestHelper binary not found, tried \(triedPaths.map { $0.pathString }.joined(separator: ", "))") ++ } ++ ++ static func getTestSuites( ++ in testProducts: [BuiltTestProduct], ++ swiftCommandState: SwiftCommandState, ++ enableCodeCoverage: Bool, ++ shouldSkipBuilding: Bool, ++ experimentalTestOutput: Bool, ++ sanitizers: [Sanitizer] ++ ) throws -> [AbsolutePath: [TestSuite]] { ++ let testSuitesByProduct = try testProducts ++ .map {( ++ $0.bundlePath, ++ try Self.getTestSuites( ++ fromTestAt: $0.bundlePath, ++ swiftCommandState: swiftCommandState, ++ enableCodeCoverage: enableCodeCoverage, ++ shouldSkipBuilding: shouldSkipBuilding, ++ experimentalTestOutput: experimentalTestOutput, ++ sanitizers: sanitizers ++ ) ++ )} ++ return try Dictionary(throwingUniqueKeysWithValues: testSuitesByProduct) ++ } ++ ++ /// Runs the corresponding tool to get tests JSON and create TestSuite array. ++ /// On macOS, we use the swiftpm-xctest-helper tool bundled with swiftpm. ++ /// On Linux, XCTest can dump the json using `--dump-tests-json` mode. ++ /// ++ /// - Parameters: ++ /// - path: Path to the XCTest bundle(macOS) or executable(Linux). ++ /// ++ /// - Throws: TestError, SystemError, TSCUtility.Error ++ /// ++ /// - Returns: Array of TestSuite ++ static func getTestSuites( ++ fromTestAt path: AbsolutePath, ++ swiftCommandState: SwiftCommandState, ++ enableCodeCoverage: Bool, ++ shouldSkipBuilding: Bool, ++ experimentalTestOutput: Bool, ++ sanitizers: [Sanitizer] ++ ) throws -> [TestSuite] { ++ // Run the correct tool. ++ var args = [String]() ++ #if os(macOS) ++ let data: String = try withTemporaryFile { tempFile in ++ args = [try Self.xctestHelperPath(swiftCommandState: swiftCommandState).pathString, path.pathString, tempFile.path.pathString] ++ let env = try Self.constructTestEnvironment( ++ toolchain: try swiftCommandState.getTargetToolchain(), ++ destinationBuildParameters: swiftCommandState.buildParametersForTest( ++ enableCodeCoverage: enableCodeCoverage, ++ shouldSkipBuilding: shouldSkipBuilding, ++ experimentalTestOutput: experimentalTestOutput ++ ).productsBuildParameters, ++ sanitizers: sanitizers, ++ library: .xctest ++ ) ++ try Self.runProcessWithExistenceCheck( ++ path: path, ++ fileSystem: swiftCommandState.fileSystem, ++ args: args, ++ env: env ++ ) ++ ++ // Read the temporary file's content. ++ return try swiftCommandState.fileSystem.readFileContents(AbsolutePath(tempFile.path)) ++ } ++ #else ++ let env = try Self.constructTestEnvironment( ++ toolchain: try swiftCommandState.getTargetToolchain(), ++ destinationBuildParameters: swiftCommandState.buildParametersForTest( ++ enableCodeCoverage: enableCodeCoverage, ++ shouldSkipBuilding: shouldSkipBuilding ++ ).productsBuildParameters, ++ sanitizers: sanitizers, ++ library: .xctest ++ ) ++ args = [path.description, "--dump-tests-json"] ++ let data = try Self.runProcessWithExistenceCheck( ++ path: path, ++ fileSystem: swiftCommandState.fileSystem, ++ args: args, ++ env: env ++ ) ++ #endif ++ // Parse json and return TestSuites. ++ return try TestSuite.parse(jsonString: data, context: args.joined(separator: " ")) ++ } ++ ++ /// Run a process and throw a more specific error if the file doesn't exist. ++ @discardableResult ++ private static func runProcessWithExistenceCheck( ++ path: AbsolutePath, ++ fileSystem: FileSystem, ++ args: [String], ++ env: Environment ++ ) throws -> String { ++ do { ++ return try AsyncProcess.checkNonZeroExit(arguments: args, environment: env) ++ } catch { ++ // If the file doesn't exist, throw a more specific error. ++ if !fileSystem.exists(path) { ++ throw FileSystemError(.noEntry, path) ++ } ++ throw error ++ } ++ } ++ ++ /// Creates the environment needed to test related tools. ++ static func constructTestEnvironment( ++ toolchain: UserToolchain, ++ destinationBuildParameters buildParameters: BuildParameters, ++ sanitizers: [Sanitizer], ++ library: TestingLibrary ++ ) throws -> Environment { ++ var env = Environment.current ++ ++ // If the standard output or error stream is NOT a TTY, set the NO_COLOR ++ // environment variable. This environment variable is a de facto ++ // standard used to inform downstream processes not to add ANSI escape ++ // codes to their output. SEE: https://www.no-color.org ++ if !stdoutStream.isTTY || !stderrStream.isTTY { ++ env["NO_COLOR"] = "1" ++ } ++ ++ // Add the code coverage related variables. ++ if buildParameters.testingParameters.enableCodeCoverage { ++ // Defines the path at which the profraw files will be written on test execution. ++ // ++ // `%Nm` will create a pool of N profraw files and append the data from each execution ++ // in one of the files. The runtime takes care of selecting a raw profile from the pool, ++ // locking it, and updating it before the program exits. If N is not specified, it is ++ // inferred to be 1. ++ // ++ // This is fine for parallel execution within a process, but for parallel tests, SwiftPM ++ // repeatedly invokes the test binary with the testcase name as the filter and the ++ // locking cannot be enforced by the runtime across the process boundaries. ++ // ++ // It's also possible that tests themselves will fork (e.g. for exit tests provided by ++ // Swift Testing), which will inherit the environment of the parent process, and so ++ // write to the same file, leading to profile data corruption. ++ // ++ // For these reasons, we unilaterally also add a %p, which will cause uniquely named ++ // files per process. ++ // ++ // These are all merged using `llvm-profdata merge` once the outer test command has ++ // completed. ++ let codecovProfile = buildParameters.buildPath.appending(components: "codecov", "\(library)%m.%p.profraw") ++ env["LLVM_PROFILE_FILE"] = codecovProfile.pathString ++ } ++ #if !os(macOS) ++ #if os(Windows) ++ if let xctestLocation = toolchain.xctestPath { ++ env.prependPath(key: .path, value: xctestLocation.pathString) ++ } ++ if let swiftTestingLocation = toolchain.swiftTestingPath { ++ env.prependPath(key: .path, value: swiftTestingLocation.pathString) ++ } ++ #endif ++ return env ++ #else ++ // Add path to swift-testing override if there is one ++ if let swiftTestingPath = toolchain.swiftTestingPath { ++ if swiftTestingPath.extension == "framework" { ++ env.appendPath(key: "DYLD_FRAMEWORK_PATH", value: swiftTestingPath.pathString) ++ } else { ++ env.appendPath(key: "DYLD_LIBRARY_PATH", value: swiftTestingPath.pathString) ++ } ++ } ++ ++ // Add the sdk platform path if we have it. ++ // Since XCTestHelper targets macOS, we need the macOS platform paths here. ++ if let sdkPlatformPaths = try? SwiftSDK.sdkPlatformPaths(for: .macOS) { ++ // appending since we prefer the user setting (if set) to the one we inject ++ for frameworkPath in sdkPlatformPaths.frameworks { ++ env.appendPath(key: "DYLD_FRAMEWORK_PATH", value: frameworkPath.pathString) ++ } ++ for libraryPath in sdkPlatformPaths.libraries { ++ env.appendPath(key: "DYLD_LIBRARY_PATH", value: libraryPath.pathString) ++ } ++ } ++ ++ // We aren't using XCTest's harness logic to run Swift Testing tests. ++ if library == .xctest { ++ env["SWIFT_TESTING_ENABLED"] = "0" ++ } ++ ++ // Fast path when no sanitizers are enabled. ++ if sanitizers.isEmpty { ++ return env ++ } ++ ++ // Get the runtime libraries. ++ var runtimes = try sanitizers.map({ sanitizer in ++ return try toolchain.runtimeLibrary(for: sanitizer).pathString ++ }) ++ ++ // Append any existing value to the front. ++ if let existingValue = env["DYLD_INSERT_LIBRARIES"], !existingValue.isEmpty { ++ runtimes.insert(existingValue, at: 0) ++ } ++ ++ env["DYLD_INSERT_LIBRARIES"] = runtimes.joined(separator: ":") ++ return env ++ #endif ++ } ++} ++ ++extension SwiftCommandState { ++ func buildParametersForTest( ++ enableCodeCoverage: Bool, ++ enableTestability: Bool? = nil, ++ shouldSkipBuilding: Bool = false, ++ experimentalTestOutput: Bool = false ++ ) throws -> (productsBuildParameters: BuildParameters, toolsBuildParameters: BuildParameters) { ++ let productsBuildParameters = buildParametersForTest( ++ modifying: try productsBuildParameters, ++ enableCodeCoverage: enableCodeCoverage, ++ enableTestability: enableTestability, ++ shouldSkipBuilding: shouldSkipBuilding, ++ experimentalTestOutput: experimentalTestOutput ++ ) ++ let toolsBuildParameters = buildParametersForTest( ++ modifying: try toolsBuildParameters, ++ enableCodeCoverage: enableCodeCoverage, ++ enableTestability: enableTestability, ++ shouldSkipBuilding: shouldSkipBuilding, ++ experimentalTestOutput: experimentalTestOutput ++ ) ++ return (productsBuildParameters, toolsBuildParameters) ++ } ++ ++ private func buildParametersForTest( ++ modifying parameters: BuildParameters, ++ enableCodeCoverage: Bool, ++ enableTestability: Bool?, ++ shouldSkipBuilding: Bool, ++ experimentalTestOutput: Bool ++ ) -> BuildParameters { ++ var parameters = parameters ++ parameters.testingParameters.enableCodeCoverage = enableCodeCoverage ++ // for test commands, we normally enable building with testability ++ // but we let users override this with a flag ++ parameters.testingParameters.explicitlyEnabledTestability = enableTestability ?? true ++ parameters.shouldSkipBuilding = shouldSkipBuilding ++ parameters.testingParameters.experimentalTestOutput = experimentalTestOutput ++ return parameters ++ } ++} +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0003-disable-sandbox.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0003-disable-sandbox.patch new file mode 100644 index 0000000000000..67b9e10016e32 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0003-disable-sandbox.patch @@ -0,0 +1,47 @@ +From cfb9b6bbdf5a27e6d31bab19f00d619196306b8e Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:57:33 -0500 +Subject: [PATCH] disable-sandbox + +--- + Sources/Basics/Sandbox.swift | 22 ++++++++++++---------- + 1 file changed, 12 insertions(+), 10 deletions(-) + +diff --git a/Sources/Basics/Sandbox.swift b/Sources/Basics/Sandbox.swift +index f24636cac..8b65b2489 100644 +--- a/Sources/Basics/Sandbox.swift ++++ b/Sources/Basics/Sandbox.swift +@@ -57,18 +57,20 @@ public enum Sandbox { + allowNetworkConnections: [SandboxNetworkPermission] = [] + ) throws -> [String] { + #if os(macOS) +- let profile = try macOSSandboxProfile( +- fileSystem: fileSystem, +- strictness: strictness, +- writableDirectories: writableDirectories, +- readOnlyDirectories: readOnlyDirectories, +- allowNetworkConnections: allowNetworkConnections +- ) +- return ["/usr/bin/sandbox-exec", "-p", profile] + command +- #else ++ let env = ProcessInfo.processInfo.environment ++ if env["NIX_BUILD_TOP"] == nil || env["IN_NIX_SHELL"] != nil { ++ let profile = try macOSSandboxProfile( ++ fileSystem: fileSystem, ++ strictness: strictness, ++ writableDirectories: writableDirectories, ++ readOnlyDirectories: readOnlyDirectories, ++ allowNetworkConnections: allowNetworkConnections ++ ) ++ return ["/usr/bin/sandbox-exec", "-p", profile] + command ++ } ++ #endif + // rdar://40235432, rdar://75636874 tracks implementing sandboxes for other platforms. + return command +- #endif + } + + /// Basic strictness level of a sandbox applied to a command line. +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0004-fix-backdeploy-rpath.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0004-fix-backdeploy-rpath.patch new file mode 100644 index 0000000000000..1fb08b92191cc --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0004-fix-backdeploy-rpath.patch @@ -0,0 +1,56 @@ +From 12a1b8652a32fedde365efd3347ae1fbd4955edb Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:57:55 -0500 +Subject: [PATCH] fix-backdeploy-rpath + +--- + Sources/Build/BuildDescription/ProductBuildDescription.swift | 5 ++--- + Sources/SPMBuildCore/Plugins/DefaultPluginScriptRunner.swift | 2 +- + Sources/_InternalTestSupport/Toolchain.swift | 2 +- + 3 files changed, 4 insertions(+), 5 deletions(-) + +diff --git a/Sources/Build/BuildDescription/ProductBuildDescription.swift b/Sources/Build/BuildDescription/ProductBuildDescription.swift +index 0ca75c458..53f42df90 100644 +--- a/Sources/Build/BuildDescription/ProductBuildDescription.swift ++++ b/Sources/Build/BuildDescription/ProductBuildDescription.swift +@@ -324,9 +324,8 @@ public final class ProductBuildDescription: SPMBuildCore.ProductBuildDescription + if macOSSupportedPlatform.version.major < 12 { + // When deploying to macOS prior to macOS 12, add an rpath to the + // back-deployed concurrency libraries. +- let backDeployedStdlib = try buildParameters.toolchain.macosSwiftStdlib +- .parentDirectory +- .parentDirectory ++ let backDeployedStdlib = try AbsolutePath(validating: "@swift-lib@") ++ .appending("lib") + .appending("swift-5.5") + .appending("macosx") + args += ["-Xlinker", "-rpath", "-Xlinker", backDeployedStdlib.pathString] +diff --git a/Sources/SPMBuildCore/Plugins/DefaultPluginScriptRunner.swift b/Sources/SPMBuildCore/Plugins/DefaultPluginScriptRunner.swift +index 38da378e0..dcf4127c8 100644 +--- a/Sources/SPMBuildCore/Plugins/DefaultPluginScriptRunner.swift ++++ b/Sources/SPMBuildCore/Plugins/DefaultPluginScriptRunner.swift +@@ -170,7 +170,7 @@ public struct DefaultPluginScriptRunner: PluginScriptRunner, Cancellable { + } + else { + // Add an `-rpath` so the Swift 5.5 fallback libraries can be found. +- let swiftSupportLibPath = self.toolchain.swiftCompilerPathForManifests.parentDirectory.parentDirectory.appending(components: "lib", "swift-5.5", "macosx") ++ let swiftSupportLibPath = try! AbsolutePath(validating: "@swift-lib@").appending(components: "lib", "swift-5.5", "macosx") + commandLine += ["-Xlinker", "-rpath", "-Xlinker", swiftSupportLibPath.pathString] + } + #endif +diff --git a/Sources/_InternalTestSupport/Toolchain.swift b/Sources/_InternalTestSupport/Toolchain.swift +index 3bbb62cb6..dc0ca4c0e 100644 +--- a/Sources/_InternalTestSupport/Toolchain.swift ++++ b/Sources/_InternalTestSupport/Toolchain.swift +@@ -74,7 +74,7 @@ extension UserToolchain { + try localFileSystem.writeFileContents(inputPath, string: "public func foo() async {}\nTask { await foo() }") + let outputPath = tmpPath.appending("foo") + let toolchainPath = self.swiftCompilerPath.parentDirectory.parentDirectory +- let backDeploymentLibPath = toolchainPath.appending(components: "lib", "swift-5.5", "macosx") ++ let backDeploymentLibPath = try! AbsolutePath(validating: "@swift-lib@").appending(components: "lib", "swift-5.5", "macosx") + try AsyncProcess.checkNonZeroExit(arguments: ["/usr/bin/xcrun", "--toolchain", toolchainPath.pathString, "swiftc", inputPath.pathString, "-Xlinker", "-rpath", "-Xlinker", backDeploymentLibPath.pathString, "-o", outputPath.pathString]) + try AsyncProcess.checkNonZeroExit(arguments: [outputPath.pathString]) + } +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0005-fix-manifest-path.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0005-fix-manifest-path.patch new file mode 100644 index 0000000000000..6b86c30d01f02 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0005-fix-manifest-path.patch @@ -0,0 +1,1279 @@ +From 6e6fd099dd7e7abd02fde9a1b48a409c4e44df1c Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:58:33 -0500 +Subject: [PATCH] fix-manifest-path + +--- + Sources/PackageModel/UserToolchain.swift | 8 + + Sources/PackageModel/UserToolchain.swift.orig | 1240 +++++++++++++++++ + 2 files changed, 1248 insertions(+) + create mode 100644 Sources/PackageModel/UserToolchain.swift.orig + +diff --git a/Sources/PackageModel/UserToolchain.swift b/Sources/PackageModel/UserToolchain.swift +index 7f21304c6..39d7333c5 100644 +--- a/Sources/PackageModel/UserToolchain.swift ++++ b/Sources/PackageModel/UserToolchain.swift +@@ -956,6 +956,14 @@ public final class UserToolchain: Toolchain { + } + } + ++ // The manifest and plugin paths should be in the store if they’re nowhere else. ++ if let storeLibraryPath = try? Basics.AbsolutePath(validating: "@out@/lib/swift/pm") { ++ return .init( ++ manifestLibraryPath: storeLibraryPath.appending("ManifestAPI"), ++ pluginLibraryPath: storeLibraryPath.appending("PluginAPI") ++ ) ++ } ++ + // we are using a SwiftPM outside a toolchain, use the compiler path to compute the location + return .init(swiftCompilerPath: swiftCompilerPath) + } +diff --git a/Sources/PackageModel/UserToolchain.swift.orig b/Sources/PackageModel/UserToolchain.swift.orig +new file mode 100644 +index 000000000..7f21304c6 +--- /dev/null ++++ b/Sources/PackageModel/UserToolchain.swift.orig +@@ -0,0 +1,1240 @@ ++//===----------------------------------------------------------------------===// ++// ++// This source file is part of the Swift open source project ++// ++// Copyright (c) 2014-2024 Apple Inc. and the Swift project authors ++// Licensed under Apache License v2.0 with Runtime Library Exception ++// ++// See http://swift.org/LICENSE.txt for license information ++// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors ++// ++//===----------------------------------------------------------------------===// ++ ++import Basics ++import Foundation ++import TSCUtility ++import enum TSCBasic.JSON ++ ++import class Basics.AsyncProcess ++ ++#if os(Windows) ++private let hostExecutableSuffix = ".exe" ++#else ++private let hostExecutableSuffix = "" ++#endif ++ ++// FIXME: This is messy and needs a redesign. ++public final class UserToolchain: Toolchain { ++ public typealias SwiftCompilers = (compile: AbsolutePath, manifest: AbsolutePath) ++ ++ /// The toolchain configuration. ++ private let configuration: ToolchainConfiguration ++ ++ /// Path of the librarian. ++ public let librarianPath: AbsolutePath ++ ++ /// Path of the `swiftc` compiler. ++ public let swiftCompilerPath: AbsolutePath ++ ++ /// An array of paths to search for headers and modules at compile time. ++ public let includeSearchPaths: [AbsolutePath] ++ ++ /// An array of paths to search for libraries at link time. ++ public let librarySearchPaths: [AbsolutePath] ++ ++ /// An array of paths to use with binaries produced by this toolchain at run time. ++ public let runtimeLibraryPaths: [AbsolutePath] ++ ++ /// Path containing Swift resources for dynamic linking. ++ public var swiftResourcesPath: AbsolutePath? { ++ swiftSDK.pathsConfiguration.swiftResourcesPath ++ } ++ ++ /// Path containing Swift resources for static linking. ++ public var swiftStaticResourcesPath: AbsolutePath? { ++ swiftSDK.pathsConfiguration.swiftStaticResourcesPath ++ } ++ ++ /// Additional flags to be passed to the build tools. ++ public var extraFlags: BuildFlags ++ ++ /// Path of the `swift` interpreter. ++ public var swiftInterpreterPath: AbsolutePath { ++ self.swiftCompilerPath.parentDirectory.appending("swift" + hostExecutableSuffix) ++ } ++ ++ private let fileSystem: any FileSystem ++ ++ /// The compilation destination object. ++ @available(*, deprecated, renamed: "swiftSDK") ++ public var destination: SwiftSDK { swiftSDK } ++ ++ /// The Swift SDK used by this toolchain. ++ public let swiftSDK: SwiftSDK ++ ++ /// The target triple that should be used for compilation. ++ @available(*, deprecated, renamed: "targetTriple") ++ public var triple: Basics.Triple { targetTriple } ++ ++ public let targetTriple: Basics.Triple ++ ++ // A version string that can be used to identify the swift compiler version ++ public let swiftCompilerVersion: String? ++ ++ /// The list of CPU architectures to build for. ++ public let architectures: [String]? ++ ++ /// Search paths from the PATH environment variable. ++ let envSearchPaths: [AbsolutePath] ++ ++ /// Only use search paths, do not fall back to `xcrun`. ++ let useXcrun: Bool ++ ++ private var _clangCompiler: AbsolutePath? ++ ++ private let environment: Environment ++ ++ public let installedSwiftPMConfiguration: InstalledSwiftPMConfiguration ++ ++ /// Returns the runtime library for the given sanitizer. ++ public func runtimeLibrary(for sanitizer: Sanitizer) throws -> AbsolutePath { ++ // FIXME: This is only for SwiftPM development time support. It is OK ++ // for now but we shouldn't need to resolve the symlink. We need to lay ++ // down symlinks to runtimes in our fake toolchain as part of the ++ // bootstrap script. ++ let swiftCompiler = try resolveSymlinks(self.swiftCompilerPath) ++ ++ let runtime = try swiftCompiler.appending( ++ RelativePath(validating: "../../lib/swift/clang/lib/darwin/libclang_rt.\(sanitizer.shortName)_osx_dynamic.dylib") ++ ) ++ ++ // Ensure that the runtime is present. ++ guard fileSystem.exists(runtime) else { ++ throw InvalidToolchainDiagnostic("Missing runtime for \(sanitizer) sanitizer") ++ } ++ ++ return runtime ++ } ++ ++ // MARK: - private utilities ++ ++ private static func lookup( ++ variable: String, ++ searchPaths: [AbsolutePath], ++ environment: Environment ++ ) -> AbsolutePath? { ++ lookupExecutablePath(filename: environment[.init(variable)], searchPaths: searchPaths) ++ } ++ ++ private static func getTool( ++ _ name: String, ++ binDirectories: [AbsolutePath], ++ fileSystem: any FileSystem ++ ) throws -> AbsolutePath { ++ let executableName = "\(name)\(hostExecutableSuffix)" ++ var toolPath: AbsolutePath? ++ ++ for dir in binDirectories { ++ let path = dir.appending(component: executableName) ++ guard fileSystem.isExecutableFile(path) else { ++ continue ++ } ++ toolPath = path ++ // Take the first match. ++ break ++ } ++ ++ guard let toolPath else { ++ throw InvalidToolchainDiagnostic("could not find CLI tool `\(name)` at any of these directories: \(binDirectories)") ++ } ++ return toolPath ++ } ++ ++ private static func findTool( ++ _ name: String, ++ envSearchPaths: [AbsolutePath], ++ useXcrun: Bool, ++ fileSystem: any FileSystem ++ ) throws -> AbsolutePath { ++ if useXcrun { ++ #if os(macOS) ++ let foundPath = try AsyncProcess.checkNonZeroExit(arguments: ["/usr/bin/xcrun", "--find", name]) ++ .spm_chomp() ++ return try AbsolutePath(validating: foundPath) ++ #endif ++ } ++ ++ return try getTool(name, binDirectories: envSearchPaths, fileSystem: fileSystem) ++ } ++ ++ private static func getTargetInfo(swiftCompiler: AbsolutePath) throws -> JSON { ++ // Call the compiler to get the target info JSON. ++ let compilerOutput: String ++ do { ++ let result = try AsyncProcess.popen(args: swiftCompiler.pathString, "-print-target-info") ++ compilerOutput = try result.utf8Output().spm_chomp() ++ } catch { ++ throw InternalError( ++ "Failed to load target info (\(error.interpolationDescription))" ++ ) ++ } ++ // Parse the compiler's JSON output. ++ do { ++ return try JSON(string: compilerOutput) ++ } catch { ++ throw InternalError( ++ "Failed to parse target info (\(error.interpolationDescription)).\nRaw compiler output: \(compilerOutput)" ++ ) ++ } ++ } ++ ++ private static func getHostTriple(targetInfo: JSON) throws -> Basics.Triple { ++ // Get the triple string from the target info. ++ let tripleString: String ++ do { ++ tripleString = try targetInfo.get("target").get("triple") ++ } catch { ++ throw InternalError( ++ "Target info does not contain a triple string (\(error.interpolationDescription)).\nTarget info: \(targetInfo)" ++ ) ++ } ++ ++ // Parse the triple string. ++ do { ++ return try Triple(tripleString) ++ } catch { ++ throw InternalError( ++ "Failed to parse triple string (\(error.interpolationDescription)).\nTriple string: \(tripleString)" ++ ) ++ } ++ } ++ ++ private static func computeRuntimeLibraryPaths(targetInfo: JSON) throws -> [AbsolutePath] { ++ var libraryPaths: [AbsolutePath] = [] ++ ++ for runtimeLibPath in (try? (try? targetInfo.get("paths"))?.getArray("runtimeLibraryPaths")) ?? [] { ++ guard case .string(let value) = runtimeLibPath else { ++ continue ++ } ++ ++ guard let path = try? AbsolutePath(validating: value) else { ++ continue ++ } ++ ++ libraryPaths.append(path) ++ } ++ ++ return libraryPaths ++ } ++ ++ private static func computeSwiftCompilerVersion(targetInfo: JSON) -> String? { ++ // Use the new swiftCompilerTag if it's there ++ if let swiftCompilerTag: String = targetInfo.get("swiftCompilerTag") { ++ return swiftCompilerTag ++ } ++ ++ // Default to the swift portion of the compilerVersion ++ let compilerVersion: String ++ do { ++ compilerVersion = try targetInfo.get("compilerVersion") ++ } catch { ++ return nil ++ } ++ ++ // Extract the swift version using regex from the description if available ++ do { ++ let regex = try Regex(#"\((swift(lang)?-[^ )]*)"#) ++ if let match = try regex.firstMatch(in: compilerVersion), match.count > 1, let substring = match[1].substring { ++ return String(substring) ++ } ++ ++ let regex2 = try Regex(#"\(.*Swift (.*)[ )]"#) ++ if let match2 = try regex2.firstMatch(in: compilerVersion), match2.count > 1, let substring = match2[1].substring { ++ return "swift-\(substring)" ++ } else { ++ return nil ++ } ++ } catch { ++ return nil ++ } ++ } ++ ++ // MARK: - public API ++ ++ public static func determineLibrarian( ++ triple: Basics.Triple, ++ binDirectories: [AbsolutePath], ++ useXcrun: Bool, ++ environment: Environment, ++ searchPaths: [AbsolutePath], ++ extraSwiftFlags: [String], ++ fileSystem: any FileSystem ++ ) throws -> AbsolutePath { ++ let variable: String = triple.isApple() ? "LIBTOOL" : "AR" ++ let tool: String = { ++ if triple.isApple() { return "libtool" } ++ if triple.isWindows() { ++ if let librarian: AbsolutePath = ++ UserToolchain.lookup( ++ variable: "AR", ++ searchPaths: searchPaths, ++ environment: environment ++ ) ++ { ++ return librarian.basename ++ } ++ // TODO(5719) handle `-Xmanifest` vs `-Xswiftc` ++ // `-use-ld=` is always joined in Swift. ++ if let ld = extraSwiftFlags.first(where: { $0.starts(with: "-use-ld=") }) { ++ let linker = String(ld.split(separator: "=").last!) ++ return linker == "lld" ? "lld-link" : linker ++ } ++ return "link" ++ } ++ return "llvm-ar" ++ }() ++ ++ if let librarian = UserToolchain.lookup( ++ variable: variable, ++ searchPaths: searchPaths, ++ environment: environment ++ ) { ++ if fileSystem.isExecutableFile(librarian) { ++ return librarian ++ } ++ } ++ ++ if let librarian = try? UserToolchain.getTool(tool, binDirectories: binDirectories, fileSystem: fileSystem) { ++ return librarian ++ } ++ if triple.isApple() || triple.isWindows() { ++ return try UserToolchain.findTool(tool, envSearchPaths: searchPaths, useXcrun: useXcrun, fileSystem: fileSystem) ++ } else { ++ if let librarian = try? UserToolchain.findTool(tool, envSearchPaths: searchPaths, useXcrun: false, fileSystem: fileSystem) { ++ return librarian ++ } ++ // Fall back to looking for binutils `ar` if `llvm-ar` can't be found. ++ if let librarian = try? UserToolchain.getTool("ar", binDirectories: binDirectories, fileSystem: fileSystem) { ++ return librarian ++ } ++ return try UserToolchain.findTool("ar", envSearchPaths: searchPaths, useXcrun: false, fileSystem: fileSystem) ++ } ++ } ++ ++ /// Determines the Swift compiler paths for compilation and manifest parsing. ++ public static func determineSwiftCompilers( ++ binDirectories: [AbsolutePath], ++ useXcrun: Bool, ++ environment: Environment, ++ searchPaths: [AbsolutePath], ++ fileSystem: any FileSystem ++ ) throws -> SwiftCompilers { ++ func validateCompiler(at path: AbsolutePath?) throws { ++ guard let path else { return } ++ guard fileSystem.isExecutableFile(path) else { ++ throw InvalidToolchainDiagnostic( ++ "could not find the `swiftc\(hostExecutableSuffix)` at expected path \(path)" ++ ) ++ } ++ } ++ ++ let lookup = { UserToolchain.lookup(variable: $0, searchPaths: searchPaths, environment: environment) } ++ // Get overrides. ++ let SWIFT_EXEC_MANIFEST = lookup("SWIFT_EXEC_MANIFEST") ++ let SWIFT_EXEC = lookup("SWIFT_EXEC") ++ ++ // Validate the overrides. ++ try validateCompiler(at: SWIFT_EXEC) ++ try validateCompiler(at: SWIFT_EXEC_MANIFEST) ++ ++ // We require there is at least one valid swift compiler, either in the ++ // bin dir or SWIFT_EXEC. ++ let resolvedBinDirCompiler: AbsolutePath ++ if let SWIFT_EXEC { ++ resolvedBinDirCompiler = SWIFT_EXEC ++ } else if let binDirCompiler = try? UserToolchain.getTool("swiftc", binDirectories: binDirectories, fileSystem: fileSystem) { ++ resolvedBinDirCompiler = binDirCompiler ++ } else { ++ // Try to lookup swift compiler on the system which is possible when ++ // we're built outside of the Swift toolchain. ++ resolvedBinDirCompiler = try UserToolchain.findTool( ++ "swiftc", ++ envSearchPaths: searchPaths, ++ useXcrun: useXcrun, ++ fileSystem: fileSystem ++ ) ++ } ++ ++ // The compiler for compilation tasks is SWIFT_EXEC or the bin dir compiler. ++ // The compiler for manifest is either SWIFT_EXEC_MANIFEST or the bin dir compiler. ++ return (compile: SWIFT_EXEC ?? resolvedBinDirCompiler, manifest: SWIFT_EXEC_MANIFEST ?? resolvedBinDirCompiler) ++ } ++ ++ /// Returns the path to clang compiler tool. ++ public func getClangCompiler() throws -> AbsolutePath { ++ // Check if we already computed. ++ if let clang = self._clangCompiler { ++ return clang ++ } ++ ++ // Check in the environment variable first. ++ if let toolPath = UserToolchain.lookup( ++ variable: "CC", ++ searchPaths: self.envSearchPaths, ++ environment: environment ++ ) { ++ self._clangCompiler = toolPath ++ return toolPath ++ } ++ ++ // Then, check the toolchain. ++ if let toolPath = try? UserToolchain.getTool( ++ "clang", ++ binDirectories: self.swiftSDK.toolset.rootPaths, ++ fileSystem: self.fileSystem ++ ) { ++ self._clangCompiler = toolPath ++ return toolPath ++ } ++ ++ // Otherwise, lookup it up on the system. ++ let toolPath = try UserToolchain.findTool( ++ "clang", ++ envSearchPaths: self.envSearchPaths, ++ useXcrun: useXcrun, ++ fileSystem: self.fileSystem ++ ) ++ self._clangCompiler = toolPath ++ return toolPath ++ } ++ ++ public func _isClangCompilerVendorApple() throws -> Bool? { ++ // Assume the vendor is Apple on macOS. ++ // FIXME: This might not be the best way to determine this. ++ #if os(macOS) ++ return true ++ #else ++ return false ++ #endif ++ } ++ ++ /// Returns the path to lldb. ++ public func getLLDB() throws -> AbsolutePath { ++ // Look for LLDB next to the compiler first. ++ if let lldbPath = try? UserToolchain.getTool( ++ "lldb", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ) { ++ return lldbPath ++ } ++ // If that fails, fall back to xcrun, PATH, etc. ++ return try UserToolchain.findTool( ++ "lldb", ++ envSearchPaths: self.envSearchPaths, ++ useXcrun: useXcrun, ++ fileSystem: self.fileSystem ++ ) ++ } ++ ++ /// Returns the path to llvm-cov tool. ++ public func getLLVMCov() throws -> AbsolutePath { ++ try UserToolchain.getTool( ++ "llvm-cov", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ) ++ } ++ ++ /// Returns the path to llvm-prof tool. ++ public func getLLVMProf() throws -> AbsolutePath { ++ try UserToolchain.getTool( ++ "llvm-profdata", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ) ++ } ++ ++ /// Returns the path to llvm-objdump tool. ++ package func getLLVMObjdump() throws -> AbsolutePath { ++ try UserToolchain.getTool( ++ "llvm-objdump", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ) ++ } ++ ++ public func getSwiftAPIDigester() throws -> AbsolutePath { ++ if let envValue = UserToolchain.lookup( ++ variable: "SWIFT_API_DIGESTER", ++ searchPaths: self.envSearchPaths, ++ environment: environment ++ ) { ++ return envValue ++ } ++ return try UserToolchain.getTool( ++ "swift-api-digester", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ++ ) ++ } ++ ++ public func getSymbolGraphExtract() throws -> AbsolutePath { ++ if let envValue = UserToolchain.lookup( ++ variable: "SWIFT_SYMBOLGRAPH_EXTRACT", ++ searchPaths: self.envSearchPaths, ++ environment: environment ++ ) { ++ return envValue ++ } ++ return try UserToolchain.getTool( ++ "swift-symbolgraph-extract", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ) ++ } ++ ++#if os(macOS) ++ public func getSwiftTestingHelper() throws -> AbsolutePath { ++ // The helper would be located in `.build/` directory when ++ // SwiftPM is built locally and `usr/libexec/swift/pm` directory in ++ // an installed version. ++ let binDirectories = self.swiftSDK.toolset.rootPaths + ++ self.swiftSDK.toolset.rootPaths.map { ++ $0.parentDirectory.appending(components: ["libexec", "swift", "pm"]) ++ } ++ ++ return try UserToolchain.getTool( ++ "swiftpm-testing-helper", ++ binDirectories: binDirectories, ++ fileSystem: self.fileSystem ++ ) ++ } ++#endif ++ ++ internal static func deriveSwiftCFlags( ++ triple: Basics.Triple, ++ swiftSDK: SwiftSDK, ++ environment: Environment, ++ fileSystem: any FileSystem ++ ) throws -> [String] { ++ var swiftCompilerFlags = swiftSDK.toolset.knownTools[.swiftCompiler]?.extraCLIOptions ?? [] ++ ++ if let linker = swiftSDK.toolset.knownTools[.linker]?.path { ++ swiftCompilerFlags += ["-ld-path=\(linker)"] ++ } ++ ++ guard let sdkDir = swiftSDK.pathsConfiguration.sdkRootPath else { ++ if triple.isWindows() { ++ // Windows uses a variable named SDKROOT to determine the root of ++ // the SDK. This is not the same value as the SDKROOT parameter ++ // in Xcode, however, the value represents a similar concept. ++ if let sdkroot = environment.windowsSDKRoot { ++ var runtime: [String] = [] ++ var xctest: [String] = [] ++ var swiftTesting: [String] = [] ++ var extraSwiftCFlags: [String] = [] ++ ++ if let settings = WindowsSDKSettings( ++ reading: sdkroot.appending("SDKSettings.plist"), ++ observabilityScope: nil, ++ filesystem: fileSystem ++ ) { ++ switch settings.defaults.runtime { ++ case .multithreadedDebugDLL: ++ runtime = ["-libc", "MDd"] ++ case .multithreadedDLL: ++ runtime = ["-libc", "MD"] ++ case .multithreadedDebug: ++ runtime = ["-libc", "MTd"] ++ case .multithreaded: ++ runtime = ["-libc", "MT"] ++ } ++ } ++ ++ // The layout of the SDK is as follows: ++ // ++ // Library/Developer/Platforms/[PLATFORM].platform/Developer/Library/-[VERSION]/... ++ // Library/Developer/Platforms/[PLATFORM].platform/Developer/SDKs/[PLATFORM].sdk/... ++ // ++ // SDKROOT points to [PLATFORM].sdk ++ let platform = sdkroot.parentDirectory.parentDirectory.parentDirectory ++ ++ if let info = WindowsPlatformInfo( ++ reading: platform.appending("Info.plist"), ++ observabilityScope: nil, ++ filesystem: fileSystem ++ ) { ++ let XCTestInstallation: AbsolutePath = ++ platform.appending("Developer") ++ .appending("Library") ++ .appending("XCTest-\(info.defaults.xctestVersion)") ++ ++ xctest = try [ ++ "-I", ++ AbsolutePath( ++ validating: "usr/lib/swift/windows", ++ relativeTo: XCTestInstallation ++ ).pathString, ++ // Migration Path ++ // ++ // Older Swift (<=5.7) installations placed the ++ // XCTest Swift module into the architecture ++ // specified directory. This was in order to match ++ // the SDK setup. However, the toolchain finally ++ // gained the ability to consult the architecture ++ // independent directory for Swift modules, allowing ++ // the merged swiftmodules. XCTest followed suit. ++ "-I", ++ AbsolutePath( ++ validating: "usr/lib/swift/windows/\(triple.archName)", ++ relativeTo: XCTestInstallation ++ ).pathString, ++ "-L", ++ AbsolutePath( ++ validating: "usr/lib/swift/windows/\(triple.archName)", ++ relativeTo: XCTestInstallation ++ ).pathString, ++ ] ++ ++ // Migration Path ++ // ++ // In order to support multiple parallel installations ++ // of an SDK, we need to ensure that we can have all the ++ // architecture variant libraries available. Prior to ++ // this getting enabled (~5.7), we always had a singular ++ // installed SDK. Prefer the new variant which has an ++ // architecture subdirectory in `bin` if available. ++ let implib = try AbsolutePath( ++ validating: "usr/lib/swift/windows/XCTest.lib", ++ relativeTo: XCTestInstallation ++ ) ++ if fileSystem.exists(implib) { ++ xctest.append(contentsOf: ["-L", implib.parentDirectory.pathString]) ++ } ++ ++ if let swiftTestingVersion = info.defaults.swiftTestingVersion { ++ let swiftTestingInstallation: AbsolutePath = ++ platform.appending("Developer") ++ .appending("Library") ++ .appending("Testing-\(swiftTestingVersion)") ++ ++ swiftTesting = try [ ++ "-I", ++ AbsolutePath( ++ validating: "usr/lib/swift/windows", ++ relativeTo: swiftTestingInstallation ++ ).pathString, ++ "-L", ++ AbsolutePath( ++ validating: "usr/lib/swift/windows/\(triple.archName)", ++ relativeTo: swiftTestingInstallation ++ ).pathString ++ ] ++ } ++ ++ extraSwiftCFlags = info.defaults.extraSwiftCFlags ?? [] ++ } ++ ++ return ["-sdk", sdkroot.pathString] + runtime + xctest + swiftTesting + extraSwiftCFlags ++ } ++ } ++ ++ return swiftCompilerFlags ++ } ++ ++ return ( ++ triple.isDarwin() || triple.isAndroid() || triple.isWASI() || triple.isWindows() ++ ? ["-sdk", sdkDir.pathString] ++ : [] ++ ) + swiftCompilerFlags ++ } ++ ++ // MARK: - initializer ++ ++ public enum SearchStrategy { ++ case `default` ++ case custom(searchPaths: [AbsolutePath], useXcrun: Bool = true) ++ } ++ ++ @available(*, deprecated, message: "use init(swiftSDK:environment:searchStrategy:customLibrariesLocation) instead") ++ public convenience init( ++ destination: SwiftSDK, ++ environment: Environment = .current, ++ searchStrategy: SearchStrategy = .default, ++ customLibrariesLocation: ToolchainConfiguration.SwiftPMLibrariesLocation? = nil ++ ) throws { ++ try self.init( ++ swiftSDK: destination, ++ environment: environment, ++ searchStrategy: searchStrategy, ++ customLibrariesLocation: customLibrariesLocation, ++ fileSystem: localFileSystem ++ ) ++ } ++ ++ public init( ++ swiftSDK: SwiftSDK, ++ environment: Environment = .current, ++ searchStrategy: SearchStrategy = .default, ++ customTargetInfo: JSON? = nil, ++ customLibrariesLocation: ToolchainConfiguration.SwiftPMLibrariesLocation? = nil, ++ customInstalledSwiftPMConfiguration: InstalledSwiftPMConfiguration? = nil, ++ fileSystem: any FileSystem = localFileSystem ++ ) throws { ++ self.swiftSDK = swiftSDK ++ self.environment = environment ++ ++ switch searchStrategy { ++ case .default: ++ // Get the search paths from PATH. ++ self.envSearchPaths = getEnvSearchPaths( ++ pathString: environment[.path], ++ currentWorkingDirectory: fileSystem.currentWorkingDirectory ++ ) ++ self.useXcrun = !(fileSystem is InMemoryFileSystem) ++ case .custom(let searchPaths, let useXcrun): ++ self.envSearchPaths = searchPaths ++ self.useXcrun = useXcrun ++ } ++ ++ let swiftCompilers = try UserToolchain.determineSwiftCompilers( ++ binDirectories: swiftSDK.toolset.rootPaths, ++ useXcrun: self.useXcrun, ++ environment: environment, ++ searchPaths: self.envSearchPaths, ++ fileSystem: fileSystem ++ ) ++ self.swiftCompilerPath = swiftCompilers.compile ++ self.architectures = swiftSDK.architectures ++ ++ if let customInstalledSwiftPMConfiguration { ++ self.installedSwiftPMConfiguration = customInstalledSwiftPMConfiguration ++ } else { ++ let path = swiftCompilerPath.parentDirectory.parentDirectory.appending(components: [ ++ "share", "pm", "config.json", ++ ]) ++ self.installedSwiftPMConfiguration = try Self.loadJSONResource( ++ config: path, ++ type: InstalledSwiftPMConfiguration.self, ++ default: InstalledSwiftPMConfiguration.default) ++ } ++ ++ // targetInfo from the compiler ++ let targetInfo = try customTargetInfo ?? Self.getTargetInfo(swiftCompiler: swiftCompilers.compile) ++ ++ // Get compiler version information from target info ++ self.swiftCompilerVersion = Self.computeSwiftCompilerVersion(targetInfo: targetInfo) ++ ++ // Get the list of runtime libraries from the target info ++ self.runtimeLibraryPaths = try Self.computeRuntimeLibraryPaths(targetInfo: targetInfo) ++ ++ // Use the triple from Swift SDK or compute the host triple from the target info ++ var triple = try swiftSDK.targetTriple ?? Self.getHostTriple(targetInfo: targetInfo) ++ ++ // Change the triple to the specified arch if there's exactly one of them. ++ // The Triple property is only looked at by the native build system currently. ++ if let architectures = self.architectures, architectures.count == 1 { ++ let components = triple.tripleString.drop(while: { $0 != "-" }) ++ triple = try Triple(architectures[0] + components) ++ } ++ ++ self.targetTriple = triple ++ ++ var swiftCompilerFlags: [String] = [] ++ var extraLinkerFlags: [String] = [] ++ ++ let swiftTestingPath: AbsolutePath? = try Self.deriveSwiftTestingPath( ++ derivedSwiftCompiler: swiftCompilers.compile, ++ swiftSDK: self.swiftSDK, ++ triple: triple, ++ environment: environment, ++ fileSystem: fileSystem ++ ) ++ ++ if triple.isMacOSX, let swiftTestingPath { ++ // Swift Testing is a framework (e.g. from CommandLineTools) so use -F. ++ if swiftTestingPath.extension == "framework" { ++ swiftCompilerFlags += ["-F", swiftTestingPath.pathString] ++ ++ // Otherwise Swift Testing is assumed to be a swiftmodule + library, so use -I and -L. ++ } else { ++ swiftCompilerFlags += [ ++ "-I", swiftTestingPath.pathString, ++ "-L", swiftTestingPath.pathString, ++ ] ++ } ++ } ++ ++ // Specify the plugin path for Swift Testing's macro plugin if such a ++ // path exists in this toolchain. ++ if let swiftTestingPluginPath = Self.deriveSwiftTestingPluginPath( ++ derivedSwiftCompiler: swiftCompilers.compile, ++ fileSystem: fileSystem ++ ) { ++ swiftCompilerFlags += ["-plugin-path", swiftTestingPluginPath.pathString] ++ } ++ ++ swiftCompilerFlags += try Self.deriveSwiftCFlags( ++ triple: triple, ++ swiftSDK: swiftSDK, ++ environment: environment, ++ fileSystem: fileSystem ++ ) ++ ++ extraLinkerFlags += swiftSDK.toolset.knownTools[.linker]?.extraCLIOptions ?? [] ++ ++ self.extraFlags = BuildFlags( ++ cCompilerFlags: swiftSDK.toolset.knownTools[.cCompiler]?.extraCLIOptions ?? [], ++ cxxCompilerFlags: swiftSDK.toolset.knownTools[.cxxCompiler]?.extraCLIOptions ?? [], ++ swiftCompilerFlags: swiftCompilerFlags, ++ linkerFlags: extraLinkerFlags, ++ xcbuildFlags: swiftSDK.toolset.knownTools[.xcbuild]?.extraCLIOptions ?? []) ++ ++ self.includeSearchPaths = swiftSDK.pathsConfiguration.includeSearchPaths ?? [] ++ self.librarySearchPaths = swiftSDK.pathsConfiguration.includeSearchPaths ?? [] ++ ++ self.librarianPath = try swiftSDK.toolset.knownTools[.librarian]?.path ?? UserToolchain.determineLibrarian( ++ triple: triple, ++ binDirectories: swiftSDK.toolset.rootPaths, ++ useXcrun: useXcrun, ++ environment: environment, ++ searchPaths: envSearchPaths, ++ extraSwiftFlags: self.extraFlags.swiftCompilerFlags, ++ fileSystem: fileSystem ++ ) ++ ++ if let sdkDir = swiftSDK.pathsConfiguration.sdkRootPath { ++ let sysrootFlags = [triple.isDarwin() ? "-isysroot" : "--sysroot", sdkDir.pathString] ++ self.extraFlags.cCompilerFlags.insert(contentsOf: sysrootFlags, at: 0) ++ } ++ ++ if triple.isWindows() { ++ if let root = environment.windowsSDKRoot { ++ if let settings = WindowsSDKSettings( ++ reading: root.appending("SDKSettings.plist"), ++ observabilityScope: nil, ++ filesystem: fileSystem ++ ) { ++ switch settings.defaults.runtime { ++ case .multithreadedDebugDLL: ++ // Defines _DEBUG, _MT, and _DLL ++ // Linker uses MSVCRTD.lib ++ self.extraFlags.cCompilerFlags += [ ++ "-D_DEBUG", ++ "-D_MT", ++ "-D_DLL", ++ "-Xclang", ++ "--dependent-lib=msvcrtd", ++ ] ++ ++ case .multithreadedDLL: ++ // Defines _MT, and _DLL ++ // Linker uses MSVCRT.lib ++ self.extraFlags.cCompilerFlags += ["-D_MT", "-D_DLL", "-Xclang", "--dependent-lib=msvcrt"] ++ ++ case .multithreadedDebug: ++ // Defines _DEBUG, and _MT ++ // Linker uses LIBCMTD.lib ++ self.extraFlags.cCompilerFlags += ["-D_DEBUG", "-D_MT", "-Xclang", "--dependent-lib=libcmtd"] ++ ++ case .multithreaded: ++ // Defines _MT ++ // Linker uses LIBCMT.lib ++ self.extraFlags.cCompilerFlags += ["-D_MT", "-Xclang", "--dependent-lib=libcmt"] ++ } ++ } ++ } ++ } ++ ++ let swiftPMLibrariesLocation = try customLibrariesLocation ?? Self.deriveSwiftPMLibrariesLocation( ++ swiftCompilerPath: swiftCompilerPath, ++ swiftSDK: swiftSDK, ++ environment: environment, ++ fileSystem: fileSystem ++ ) ++ ++ let xctestPath: AbsolutePath? ++ if case .custom(_, let useXcrun) = searchStrategy, !useXcrun { ++ xctestPath = nil ++ } else { ++ xctestPath = try Self.deriveXCTestPath( ++ swiftSDK: self.swiftSDK, ++ triple: triple, ++ environment: environment, ++ fileSystem: fileSystem ++ ) ++ } ++ ++ self.configuration = .init( ++ librarianPath: librarianPath, ++ swiftCompilerPath: swiftCompilers.manifest, ++ swiftCompilerFlags: self.extraFlags.swiftCompilerFlags, ++ swiftCompilerEnvironment: environment, ++ swiftPMLibrariesLocation: swiftPMLibrariesLocation, ++ sdkRootPath: self.swiftSDK.pathsConfiguration.sdkRootPath, ++ xctestPath: xctestPath, ++ swiftTestingPath: swiftTestingPath ++ ) ++ ++ self.fileSystem = fileSystem ++ } ++ ++ private static func deriveSwiftPMLibrariesLocation( ++ swiftCompilerPath: AbsolutePath, ++ swiftSDK: SwiftSDK, ++ environment: Environment, ++ fileSystem: any FileSystem ++ ) throws -> ToolchainConfiguration.SwiftPMLibrariesLocation? { ++ // Look for an override in the env. ++ if let pathEnvVariable = environment["SWIFTPM_CUSTOM_LIBS_DIR"] ?? environment["SWIFTPM_PD_LIBS"] { ++ if environment["SWIFTPM_PD_LIBS"] != nil { ++ print("SWIFTPM_PD_LIBS was deprecated in favor of SWIFTPM_CUSTOM_LIBS_DIR") ++ } ++ // We pick the first path which exists in an environment variable ++ // delimited by the platform specific string separator. ++ #if os(Windows) ++ let separator: Character = ";" ++ #else ++ let separator: Character = ":" ++ #endif ++ let paths = pathEnvVariable.split(separator: separator).map(String.init) ++ for pathString in paths { ++ if let path = try? AbsolutePath(validating: pathString), fileSystem.exists(path) { ++ // we found the custom one ++ return .init(root: path) ++ } ++ } ++ ++ // fail if custom one specified but not found ++ throw InternalError( ++ "Couldn't find the custom libraries location defined by SWIFTPM_CUSTOM_LIBS_DIR / SWIFTPM_PD_LIBS: \(pathEnvVariable)" ++ ) ++ } ++ ++ // FIXME: the following logic is pretty fragile, but has always been this way ++ // an alternative cloud be to force explicit locations to always be set explicitly when running in Xcode/SwiftPM ++ // debug and assert if not set but we detect that we are in this mode ++ ++ for applicationPath in swiftSDK.toolset.rootPaths { ++ // this is the normal case when using the toolchain ++ let librariesPath = applicationPath.parentDirectory.appending(components: "lib", "swift", "pm") ++ if fileSystem.exists(librariesPath) { ++ return .init(root: librariesPath) ++ } ++ ++ // this tests if we are debugging / testing SwiftPM with Xcode ++ let manifestFrameworksPath = applicationPath.appending( ++ components: "PackageFrameworks", ++ "PackageDescription.framework" ++ ) ++ let pluginFrameworksPath = applicationPath.appending(components: "PackageFrameworks", "PackagePlugin.framework") ++ if fileSystem.exists(manifestFrameworksPath), fileSystem.exists(pluginFrameworksPath) { ++ return .init( ++ manifestLibraryPath: manifestFrameworksPath, ++ pluginLibraryPath: pluginFrameworksPath ++ ) ++ } ++ ++ // this tests if we are debugging / testing SwiftPM with SwiftPM ++ if localFileSystem.exists(applicationPath.appending("swift-package")) { ++ // Newer versions of SwiftPM will emit modules to a "Modules" subdirectory, but we're also staying compatible with older versions for development. ++ let modulesPath: AbsolutePath ++ if localFileSystem.exists(applicationPath.appending("Modules")) { ++ modulesPath = applicationPath.appending("Modules") ++ } else { ++ modulesPath = applicationPath ++ } ++ ++ return .init( ++ manifestLibraryPath: applicationPath, ++ manifestModulesPath: modulesPath, ++ pluginLibraryPath: applicationPath, ++ pluginModulesPath: modulesPath ++ ) ++ } ++ } ++ ++ // we are using a SwiftPM outside a toolchain, use the compiler path to compute the location ++ return .init(swiftCompilerPath: swiftCompilerPath) ++ } ++ ++ private static func derivePluginServerPath(triple: Basics.Triple) throws -> AbsolutePath? { ++ if triple.isDarwin() { ++ let pluginServerPathFindArgs = ["/usr/bin/xcrun", "--find", "swift-plugin-server"] ++ if let path = try? AsyncProcess.checkNonZeroExit(arguments: pluginServerPathFindArgs, environment: [:]) ++ .spm_chomp() { ++ return try AbsolutePath(validating: path) ++ } ++ } ++ return .none ++ } ++ ++ private static func getWindowsPlatformInfo( ++ swiftSDK: SwiftSDK, ++ environment: Environment, ++ fileSystem: any FileSystem ++ ) -> (AbsolutePath, WindowsPlatformInfo)? { ++ let sdkRoot: AbsolutePath? = if let sdkDir = swiftSDK.pathsConfiguration.sdkRootPath { ++ sdkDir ++ } else if let sdkDir = environment.windowsSDKRoot { ++ sdkDir ++ } else { ++ nil ++ } ++ ++ guard let sdkRoot else { ++ return nil ++ } ++ ++ // The layout of the SDK is as follows: ++ // ++ // Library/Developer/Platforms/[PLATFORM].platform/Developer/Library/-[VERSION]/... ++ // Library/Developer/Platforms/[PLATFORM].platform/Developer/SDKs/[PLATFORM].sdk/... ++ // ++ // SDKROOT points to [PLATFORM].sdk ++ let platform = sdkRoot.parentDirectory.parentDirectory.parentDirectory ++ ++ guard let info = WindowsPlatformInfo( ++ reading: platform.appending("Info.plist"), ++ observabilityScope: nil, ++ filesystem: fileSystem ++ ) else { ++ return nil ++ } ++ ++ return (platform, info) ++ } ++ ++ // TODO: We should have some general utility to find tools. ++ private static func deriveXCTestPath( ++ swiftSDK: SwiftSDK, ++ triple: Basics.Triple, ++ environment: Environment, ++ fileSystem: any FileSystem ++ ) throws -> AbsolutePath? { ++ if triple.isDarwin() { ++ // XCTest is optional on macOS, for example when Xcode is not installed ++ let xctestFindArgs = ["/usr/bin/xcrun", "--sdk", "macosx", "--find", "xctest"] ++ if let path = try? AsyncProcess.checkNonZeroExit(arguments: xctestFindArgs, environment: environment) ++ .spm_chomp() ++ { ++ return try AbsolutePath(validating: path) ++ } ++ } else if triple.isWindows() { ++ if let (platform, info) = getWindowsPlatformInfo( ++ swiftSDK: swiftSDK, ++ environment: environment, ++ fileSystem: fileSystem ++ ) { ++ let xctest: AbsolutePath = ++ platform.appending("Developer") ++ .appending("Library") ++ .appending("XCTest-\(info.defaults.xctestVersion)") ++ ++ // Migration Path ++ // ++ // In order to support multiple parallel installations of an ++ // SDK, we need to ensure that we can have all the architecture ++ // variant libraries available. Prior to this getting enabled ++ // (~5.7), we always had a singular installed SDK. Prefer the ++ // new variant which has an architecture subdirectory in `bin` ++ // if available. ++ switch triple.arch { ++ case .x86_64: // amd64 x86_64 x86_64h ++ let path: AbsolutePath = ++ xctest.appending("usr") ++ .appending("bin64") ++ if fileSystem.exists(path) { ++ return path ++ } ++ ++ case .x86: // i386 i486 i586 i686 i786 i886 i986 ++ let path: AbsolutePath = ++ xctest.appending("usr") ++ .appending("bin32") ++ if fileSystem.exists(path) { ++ return path ++ } ++ ++ case .arm: // armv7 and many more ++ let path: AbsolutePath = ++ xctest.appending("usr") ++ .appending("bin32a") ++ if fileSystem.exists(path) { ++ return path ++ } ++ ++ case .aarch64: // aarch6 arm64 ++ let path: AbsolutePath = ++ xctest.appending("usr") ++ .appending("bin64a") ++ if fileSystem.exists(path) { ++ return path ++ } ++ ++ default: ++ // Fallback to the old-style layout. We should really ++ // report an error in this case - this architecture is ++ // unavailable. ++ break ++ } ++ ++ // Assume that we are in the old-style layout. ++ return xctest.appending("usr") ++ .appending("bin") ++ } ++ } ++ return nil ++ } ++ ++ /// Find the swift-testing path if it is within a path that will need extra search paths. ++ private static func deriveSwiftTestingPath( ++ derivedSwiftCompiler: Basics.AbsolutePath, ++ swiftSDK: SwiftSDK, ++ triple: Basics.Triple, ++ environment: Environment, ++ fileSystem: any FileSystem ++ ) throws -> AbsolutePath? { ++ if triple.isDarwin() { ++ // If this is CommandLineTools all we need to add is a frameworks path. ++ if let frameworksPath = try? AbsolutePath( ++ validating: "../../Library/Developer/Frameworks", ++ relativeTo: resolveSymlinks(derivedSwiftCompiler).parentDirectory ++ ), fileSystem.exists(frameworksPath.appending("Testing.framework")) { ++ return frameworksPath ++ } ++ ++ guard let toolchainLibDir = try? toolchainLibDir(swiftCompilerPath: derivedSwiftCompiler) else { ++ return nil ++ } ++ ++ let testingLibDir = toolchainLibDir.appending(components: ["swift", "macosx", "testing"]) ++ if fileSystem.exists(testingLibDir) { ++ return testingLibDir ++ } ++ } else if triple.isWindows() { ++ guard let (platform, info) = getWindowsPlatformInfo( ++ swiftSDK: swiftSDK, ++ environment: environment, ++ fileSystem: fileSystem ++ ) else { ++ return nil ++ } ++ ++ guard let swiftTestingVersion = info.defaults.swiftTestingVersion else { ++ return nil ++ } ++ ++ let swiftTesting: AbsolutePath = ++ platform.appending("Developer") ++ .appending("Library") ++ .appending("Testing-\(swiftTestingVersion)") ++ ++ let binPath: AbsolutePath? = switch triple.arch { ++ case .x86_64: // amd64 x86_64 x86_64h ++ swiftTesting.appending("usr") ++ .appending("bin64") ++ case .x86: // i386 i486 i586 i686 i786 i886 i986 ++ swiftTesting.appending("usr") ++ .appending("bin32") ++ case .arm: // armv7 and many more ++ swiftTesting.appending("usr") ++ .appending("bin32a") ++ case .aarch64: // aarch6 arm64 ++ swiftTesting.appending("usr") ++ .appending("bin64a") ++ default: ++ nil ++ } ++ ++ if let path = binPath, fileSystem.exists(path) { ++ return path ++ } ++ } ++ ++ return nil ++ } ++ ++ /// Derive the plugin path needed to locate the Swift Testing macro plugin, ++ /// if such a path exists in the toolchain of the specified compiler. ++ /// ++ /// - Parameters: ++ /// - derivedSwiftCompiler: The derived path of the Swift compiler to use ++ /// when deriving the Swift Testing plugin path. ++ /// - fileSystem: The file system instance to use when validating the path ++ /// to return. ++ /// ++ /// - Returns: A path to the directory containing Swift Testing's macro ++ /// plugin, or `nil` if the path does not exist or cannot be determined. ++ /// ++ /// The path returned is a directory containing a library, suitable for ++ /// passing to a client compiler via the `-plugin-path` flag. ++ private static func deriveSwiftTestingPluginPath( ++ derivedSwiftCompiler: Basics.AbsolutePath, ++ fileSystem: any FileSystem ++ ) -> AbsolutePath? { ++ guard let toolchainLibDir = try? toolchainLibDir(swiftCompilerPath: derivedSwiftCompiler) else { ++ return nil ++ } ++ ++ if let pluginsPath = try? AbsolutePath(validating: "swift/host/plugins/testing", relativeTo: toolchainLibDir), fileSystem.exists(pluginsPath) { ++ return pluginsPath ++ } ++ ++ return nil ++ } ++ ++ public var sdkRootPath: AbsolutePath? { ++ configuration.sdkRootPath ++ } ++ ++ public var swiftCompilerEnvironment: Environment { ++ configuration.swiftCompilerEnvironment ++ } ++ ++ public var swiftCompilerFlags: [String] { ++ configuration.swiftCompilerFlags ++ } ++ ++ public var swiftCompilerPathForManifests: AbsolutePath { ++ configuration.swiftCompilerPath ++ } ++ ++ public var swiftPMLibrariesLocation: ToolchainConfiguration.SwiftPMLibrariesLocation { ++ configuration.swiftPMLibrariesLocation ++ } ++ ++ public var xctestPath: AbsolutePath? { ++ configuration.xctestPath ++ } ++ ++ public var swiftTestingPath: AbsolutePath? { ++ configuration.swiftTestingPath ++ } ++ ++ private static func loadJSONResource( ++ config: AbsolutePath, type: T.Type, `default`: T ++ ) ++ throws -> T ++ { ++ if localFileSystem.exists(config) { ++ return try JSONDecoder.makeWithDefaults().decode( ++ path: config, ++ fileSystem: localFileSystem, ++ as: type) ++ } ++ ++ return `default` ++ } ++} ++ ++extension Environment { ++ fileprivate var windowsSDKRoot: AbsolutePath? { ++ if let SDKROOT = self["SDKROOT"], let sdkDir = try? AbsolutePath(validating: SDKROOT) { ++ return sdkDir ++ } ++ return nil ++ } ++} +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0006-nix-build-caches.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0006-nix-build-caches.patch new file mode 100644 index 0000000000000..e88a620d07219 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0006-nix-build-caches.patch @@ -0,0 +1,741 @@ +From 8fff950abd83330c2cca09bbd79240b933c7ebc4 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:58:44 -0500 +Subject: [PATCH] nix-build-caches + +--- + .../FileSystem/FileSystem+Extensions.swift | 6 + + .../FileSystem+Extensions.swift.orig | 697 ++++++++++++++++++ + 2 files changed, 703 insertions(+) + create mode 100644 Sources/Basics/FileSystem/FileSystem+Extensions.swift.orig + +diff --git a/Sources/Basics/FileSystem/FileSystem+Extensions.swift b/Sources/Basics/FileSystem/FileSystem+Extensions.swift +index 5f9674b2e..49f83e175 100644 +--- a/Sources/Basics/FileSystem/FileSystem+Extensions.swift ++++ b/Sources/Basics/FileSystem/FileSystem+Extensions.swift +@@ -12,6 +12,7 @@ + + import struct Foundation.Data + import class Foundation.FileManager ++import class Foundation.ProcessInfo + import struct Foundation.UUID + + import struct TSCBasic.ByteString +@@ -245,6 +246,11 @@ extension FileSystem { + /// SwiftPM cache directory under user's caches directory (if exists) + public var swiftPMCacheDirectory: AbsolutePath { + get throws { ++ let env = ProcessInfo.processInfo.environment ++ // Set up the caches in the build environment for Nix-managed builds ++ if let nixBuildTop = env["NIX_BUILD_TOP"] { ++ return try! AbsolutePath(validating: nixBuildTop).appending("swiftpm-cache") ++ } + if let path = self.idiomaticUserCacheDirectory { + return path.appending("org.swift.swiftpm") + } else { +diff --git a/Sources/Basics/FileSystem/FileSystem+Extensions.swift.orig b/Sources/Basics/FileSystem/FileSystem+Extensions.swift.orig +new file mode 100644 +index 000000000..5f9674b2e +--- /dev/null ++++ b/Sources/Basics/FileSystem/FileSystem+Extensions.swift.orig +@@ -0,0 +1,697 @@ ++//===----------------------------------------------------------------------===// ++// ++// This source file is part of the Swift open source project ++// ++// Copyright (c) 2020-2024 Apple Inc. and the Swift project authors ++// Licensed under Apache License v2.0 with Runtime Library Exception ++// ++// See http://swift.org/LICENSE.txt for license information ++// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors ++// ++//===----------------------------------------------------------------------===// ++ ++import struct Foundation.Data ++import class Foundation.FileManager ++import struct Foundation.UUID ++ ++import struct TSCBasic.ByteString ++import struct TSCBasic.FileInfo ++import class TSCBasic.FileLock ++import enum TSCBasic.FileMode ++import protocol TSCBasic.FileSystem ++import enum TSCBasic.FileSystemAttribute ++import var TSCBasic.localFileSystem ++import protocol TSCBasic.WritableByteStream ++ ++public typealias FileSystem = TSCBasic.FileSystem ++public let localFileSystem = TSCBasic.localFileSystem ++ ++// MARK: - Custom path ++ ++extension FileSystem { ++ /// Check whether the given path exists and is accessible. ++ public func exists(_ path: AbsolutePath, followSymlink: Bool) -> Bool { ++ self.exists(path.underlying, followSymlink: followSymlink) ++ } ++ ++ /// exists override with default value. ++ public func exists(_ path: AbsolutePath) -> Bool { ++ self.exists(path.underlying) ++ } ++ ++ /// Check whether the given path is accessible and a directory. ++ public func isDirectory(_ path: AbsolutePath) -> Bool { ++ self.isDirectory(path.underlying) ++ } ++ ++ /// Check whether the given path is accessible and a file. ++ public func isFile(_ path: AbsolutePath) -> Bool { ++ self.isFile(path.underlying) ++ } ++ ++ /// Check whether the given path is an accessible and executable file. ++ public func isExecutableFile(_ path: AbsolutePath) -> Bool { ++ self.isExecutableFile(path.underlying) ++ } ++ ++ /// Check whether the given path is accessible and is a symbolic link. ++ public func isSymlink(_ path: AbsolutePath) -> Bool { ++ self.isSymlink(path.underlying) ++ } ++ ++ /// Check whether the given path is accessible and readable. ++ public func isReadable(_ path: AbsolutePath) -> Bool { ++ self.isReadable(path.underlying) ++ } ++ ++ /// Check whether the given path is accessible and writable. ++ public func isWritable(_ path: AbsolutePath) -> Bool { ++ self.isWritable(path.underlying) ++ } ++ ++ /// Returns `true` if a given path has a quarantine attribute applied if when file system supports this attribute. ++ /// Returns `false` if such attribute is not applied or it isn't supported. ++ public func hasAttribute(_ name: FileSystemAttribute, _ path: AbsolutePath) -> Bool { ++ self.hasAttribute(name, path.underlying) ++ } ++ ++ /// Get the contents of the given directory, in an undefined order. ++ public func getDirectoryContents(_ path: AbsolutePath) throws -> [String] { ++ try self.getDirectoryContents(path.underlying) ++ } ++ ++ /// Get the current working directory (similar to `getcwd(3)`), which can be ++ /// different for different (virtualized) implementations of a FileSystem. ++ /// The current working directory can be empty if e.g. the directory became ++ /// unavailable while the current process was still working in it. ++ /// This follows the POSIX `getcwd(3)` semantics. ++ public var currentWorkingDirectory: AbsolutePath? { ++ self.currentWorkingDirectory.flatMap { AbsolutePath($0) } ++ } ++ ++ /// Change the current working directory. ++ /// - Parameters: ++ /// - path: The path to the directory to change the current working directory to. ++ public func changeCurrentWorkingDirectory(to path: AbsolutePath) throws { ++ try self.changeCurrentWorkingDirectory(to: path.underlying) ++ } ++ ++ /// Get the home directory of current user ++ public var homeDirectory: AbsolutePath { ++ get throws { ++ try AbsolutePath(self.homeDirectory) ++ } ++ } ++ ++ /// Get the caches directory of current user ++ public var cachesDirectory: AbsolutePath? { ++ self.cachesDirectory.flatMap { AbsolutePath($0) } ++ } ++ ++ /// Get the temp directory ++ public var tempDirectory: AbsolutePath { ++ get throws { ++ try AbsolutePath(self.tempDirectory) ++ } ++ } ++ ++ /// Create the given directory. ++ public func createDirectory(_ path: AbsolutePath) throws { ++ try self.createDirectory(path.underlying) ++ } ++ ++ /// Create the given directory. ++ /// ++ /// - recursive: If true, create missing parent directories if possible. ++ public func createDirectory(_ path: AbsolutePath, recursive: Bool) throws { ++ try self.createDirectory(path.underlying, recursive: recursive) ++ } ++ ++ /// Creates a symbolic link of the source path at the target path ++ /// - Parameters: ++ /// - path: The path at which to create the link. ++ /// - destination: The path to which the link points to. ++ /// - relative: If `relative` is true, the symlink contents will be a relative path, otherwise it will be ++ /// absolute. ++ public func createSymbolicLink(_ path: AbsolutePath, pointingAt destination: AbsolutePath, relative: Bool) throws { ++ try self.createSymbolicLink(path.underlying, pointingAt: destination.underlying, relative: relative) ++ } ++ ++ /// Get the contents of a file. ++ /// ++ /// - Returns: The file contents as bytes, or nil if missing. ++ public func readFileContents(_ path: AbsolutePath) throws -> ByteString { ++ try self.readFileContents(path.underlying) ++ } ++ ++ /// Write the contents of a file. ++ public func writeFileContents(_ path: AbsolutePath, bytes: ByteString) throws { ++ try self.writeFileContents(path.underlying, bytes: bytes) ++ } ++ ++ /// Write the contents of a file. ++ public func writeFileContents(_ path: AbsolutePath, bytes: ByteString, atomically: Bool) throws { ++ try self.writeFileContents(path.underlying, bytes: bytes, atomically: atomically) ++ } ++ ++ /// Write to a file from a stream producer. ++ public func writeFileContents(_ path: AbsolutePath, body: (WritableByteStream) -> Void) throws { ++ try self.writeFileContents(path.underlying, body: body) ++ } ++ ++ /// Recursively deletes the file system entity at `path`. ++ /// ++ /// If there is no file system entity at `path`, this function does nothing (in particular, this is not considered ++ /// to be an error). ++ public func removeFileTree(_ path: AbsolutePath) throws { ++ try self.removeFileTree(path.underlying) ++ } ++ ++ /// Change file mode. ++ public func chmod(_ mode: FileMode, path: AbsolutePath, options: Set) throws { ++ try self.chmod(mode, path: path.underlying, options: options) ++ } ++ ++ // Change file mode. ++ public func chmod(_ mode: FileMode, path: AbsolutePath) throws { ++ try self.chmod(mode, path: path.underlying) ++ } ++ ++ /// Returns the file info of the given path. ++ /// ++ /// The method throws if the underlying stat call fails. ++ public func getFileInfo(_ path: AbsolutePath) throws -> FileInfo { ++ try self.getFileInfo(path.underlying) ++ } ++ ++ /// Copy a file or directory. ++ public func copy(from source: AbsolutePath, to destination: AbsolutePath) throws { ++ try self.copy(from: source.underlying, to: destination.underlying) ++ } ++ ++ /// Move a file or directory. ++ public func move(from source: AbsolutePath, to destination: AbsolutePath) throws { ++ try self.move(from: source.underlying, to: destination.underlying) ++ } ++ ++ /// Execute the given block while holding the lock. ++ public func withLock(on path: AbsolutePath, type: FileLock.LockType, blocking: Bool = true, _ body: () throws -> T) throws -> T { ++ try self.withLock(on: path.underlying, type: type, blocking: blocking, body) ++ } ++ ++ /// Execute the given block while holding the lock. ++ public func withLock(on path: AbsolutePath, type: FileLock.LockType, blocking: Bool = true, _ body: () async throws -> T) async throws -> T { ++ return try await FileLock.withLock(fileToLock: path.underlying, type: type, blocking: blocking, body: body) ++ } ++ ++ /// Returns any known item replacement directories for a given path. These may be used by platform-specific ++ /// libraries to handle atomic file system operations, such as deletion. ++ func itemReplacementDirectories(for path: AbsolutePath) throws -> [AbsolutePath] { ++ return try self.itemReplacementDirectories(for: path.underlying).compactMap { AbsolutePath($0) } ++ } ++} ++ ++// MARK: - user level ++ ++extension FileSystem { ++ /// SwiftPM directory under user's home directory (~/.swiftpm) ++ /// or under $XDG_CONFIG_HOME/swiftpm if the environmental variable is defined ++ public var dotSwiftPM: AbsolutePath { ++ get throws { ++ if let configurationDirectory = Environment.current["XDG_CONFIG_HOME"] { ++ return try AbsolutePath(validating: configurationDirectory).appending("swiftpm") ++ } else { ++ return try self.homeDirectory.appending(".swiftpm") ++ } ++ } ++ } ++ ++ private var idiomaticSwiftPMDirectory: AbsolutePath? { ++ get throws { ++ try FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask).first ++ .flatMap { try AbsolutePath(validating: $0.path) }?.appending("org.swift.swiftpm") ++ } ++ } ++} ++ ++// MARK: - cache ++ ++extension FileSystem { ++ private var idiomaticUserCacheDirectory: AbsolutePath? { ++ // in TSC: FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask) ++ self.cachesDirectory ++ } ++ ++ /// SwiftPM cache directory under user's caches directory (if exists) ++ public var swiftPMCacheDirectory: AbsolutePath { ++ get throws { ++ if let path = self.idiomaticUserCacheDirectory { ++ return path.appending("org.swift.swiftpm") ++ } else { ++ return try self.dotSwiftPMCachesDirectory ++ } ++ } ++ } ++ ++ private var dotSwiftPMCachesDirectory: AbsolutePath { ++ get throws { ++ try self.dotSwiftPM.appending("cache") ++ } ++ } ++} ++ ++extension FileSystem { ++ public func getOrCreateSwiftPMCacheDirectory() throws -> AbsolutePath { ++ let idiomaticCacheDirectory = try self.swiftPMCacheDirectory ++ // Create idiomatic if necessary ++ if !self.exists(idiomaticCacheDirectory) { ++ try self.createDirectory(idiomaticCacheDirectory, recursive: true) ++ } ++ // Create ~/.swiftpm if necessary ++ if !self.exists(try self.dotSwiftPM) { ++ try self.createDirectory(self.dotSwiftPM, recursive: true) ++ } ++ // Create ~/.swiftpm/cache symlink if necessary ++ // locking ~/.swiftpm to protect from concurrent access ++ try self.withLock(on: self.dotSwiftPM, type: .exclusive) { ++ if !self.exists(try self.dotSwiftPMCachesDirectory, followSymlink: false) { ++ try self.createSymbolicLink( ++ dotSwiftPMCachesDirectory, ++ pointingAt: idiomaticCacheDirectory, ++ relative: false ++ ) ++ } ++ } ++ return idiomaticCacheDirectory ++ } ++} ++ ++extension FileSystem { ++ private var dotSwiftPMInstalledBinsDir: AbsolutePath { ++ get throws { ++ try self.dotSwiftPM.appending("bin") ++ } ++ } ++ ++ public func getOrCreateSwiftPMInstalledBinariesDirectory() throws -> AbsolutePath { ++ let idiomaticInstalledBinariesDirectory = try self.dotSwiftPMInstalledBinsDir ++ // Create idiomatic if necessary ++ if !self.exists(idiomaticInstalledBinariesDirectory) { ++ try self.createDirectory(idiomaticInstalledBinariesDirectory, recursive: true) ++ } ++ // Create ~/.swiftpm if necessary ++ if !self.exists(try self.dotSwiftPM) { ++ try self.createDirectory(self.dotSwiftPM, recursive: true) ++ } ++ // Create ~/.swiftpm/bin symlink if necessary ++ // locking ~/.swiftpm to protect from concurrent access ++ try self.withLock(on: self.dotSwiftPM, type: .exclusive) { ++ if !self.exists(try self.dotSwiftPMInstalledBinsDir, followSymlink: false) { ++ try self.createSymbolicLink( ++ self.dotSwiftPMInstalledBinsDir, ++ pointingAt: idiomaticInstalledBinariesDirectory, ++ relative: false ++ ) ++ } ++ } ++ return idiomaticInstalledBinariesDirectory ++ } ++} ++ ++// MARK: - configuration ++ ++extension FileSystem { ++ /// SwiftPM config directory under user's config directory (if exists) ++ public var swiftPMConfigurationDirectory: AbsolutePath { ++ get throws { ++ if let path = try self.idiomaticSwiftPMDirectory { ++ return path.appending("configuration") ++ } else { ++ return try self.dotSwiftPMConfigurationDirectory ++ } ++ } ++ } ++ ++ private var dotSwiftPMConfigurationDirectory: AbsolutePath { ++ get throws { ++ try self.dotSwiftPM.appending("configuration") ++ } ++ } ++} ++ ++extension FileSystem { ++ public func getOrCreateSwiftPMConfigurationDirectory(warningHandler: @escaping (String) -> Void) throws ++ -> AbsolutePath ++ { ++ let idiomaticConfigurationDirectory = try self.swiftPMConfigurationDirectory ++ ++ // temporary 5.6, remove on next version: transition from previous configuration location ++ if !self.exists(idiomaticConfigurationDirectory) { ++ try self.createDirectory(idiomaticConfigurationDirectory, recursive: true) ++ } ++ ++ let handleExistingFiles = { (configurationFiles: [AbsolutePath]) in ++ for file in configurationFiles { ++ let destination = idiomaticConfigurationDirectory.appending(component: file.basename) ++ if !self.exists(destination) { ++ try self.copy(from: file, to: destination) ++ } else { ++ // Only emit a warning if source and destination file differ in their contents. ++ let srcContents = try? self.readFileContents(file) ++ let dstContents = try? self.readFileContents(destination) ++ if srcContents != dstContents { ++ warningHandler( ++ "Usage of \(file) has been deprecated. Please delete it and use the new \(destination) instead." ++ ) ++ } ++ } ++ } ++ } ++ ++ // in the case where ~/.swiftpm/configuration is not the idiomatic location (eg on macOS where its ++ // /Users//Library/org.swift.swiftpm/configuration) ++ if try idiomaticConfigurationDirectory != self.dotSwiftPMConfigurationDirectory { ++ // copy the configuration files from old location (eg /Users//Library/org.swift.swiftpm) to new one ++ // (eg /Users//Library/org.swift.swiftpm/configuration) ++ // but leave them there for backwards compatibility (eg older xcode) ++ let oldConfigDirectory = idiomaticConfigurationDirectory.parentDirectory ++ if self.exists(oldConfigDirectory, followSymlink: false) && self.isDirectory(oldConfigDirectory) { ++ let configurationFiles = try self.getDirectoryContents(oldConfigDirectory) ++ .map { oldConfigDirectory.appending(component: $0) } ++ .filter { ++ self.isFile($0) && !self.isSymlink($0) && $0 ++ .extension != "lock" && ((try? self.readFileContents($0)) ?? []).count > 0 ++ } ++ try handleExistingFiles(configurationFiles) ++ } ++ // in the case where ~/.swiftpm/configuration is the idiomatic location (eg on Linux) ++ } else { ++ // copy the configuration files from old location (~/.swiftpm/config) to new one (~/.swiftpm/configuration) ++ // but leave them there for backwards compatibility (eg older toolchain) ++ let oldConfigDirectory = try self.dotSwiftPM.appending("config") ++ if self.exists(oldConfigDirectory, followSymlink: false) && self.isDirectory(oldConfigDirectory) { ++ let configurationFiles = try self.getDirectoryContents(oldConfigDirectory) ++ .map { oldConfigDirectory.appending(component: $0) } ++ .filter { ++ self.isFile($0) && !self.isSymlink($0) && $0 ++ .extension != "lock" && ((try? self.readFileContents($0)) ?? []).count > 0 ++ } ++ try handleExistingFiles(configurationFiles) ++ } ++ } ++ // ~temporary 5.6 migration ++ ++ // Create idiomatic if necessary ++ if !self.exists(idiomaticConfigurationDirectory) { ++ try self.createDirectory(idiomaticConfigurationDirectory, recursive: true) ++ } ++ // Create ~/.swiftpm if necessary ++ if !self.exists(try self.dotSwiftPM) { ++ try self.createDirectory(self.dotSwiftPM, recursive: true) ++ } ++ // Create ~/.swiftpm/configuration symlink if necessary ++ // locking ~/.swiftpm to protect from concurrent access ++ try self.withLock(on: self.dotSwiftPM, type: .exclusive) { ++ if !self.exists(try self.dotSwiftPMConfigurationDirectory, followSymlink: false) { ++ try self.createSymbolicLink( ++ dotSwiftPMConfigurationDirectory, ++ pointingAt: idiomaticConfigurationDirectory, ++ relative: false ++ ) ++ } ++ } ++ ++ return idiomaticConfigurationDirectory ++ } ++} ++ ++// MARK: - security ++ ++extension FileSystem { ++ /// SwiftPM security directory under user's security directory (if exists) ++ public var swiftPMSecurityDirectory: AbsolutePath { ++ get throws { ++ if let path = try self.idiomaticSwiftPMDirectory { ++ return path.appending("security") ++ } else { ++ return try self.dotSwiftPMSecurityDirectory ++ } ++ } ++ } ++ ++ private var dotSwiftPMSecurityDirectory: AbsolutePath { ++ get throws { ++ try self.dotSwiftPM.appending("security") ++ } ++ } ++} ++ ++extension FileSystem { ++ public func getOrCreateSwiftPMSecurityDirectory() throws -> AbsolutePath { ++ let idiomaticSecurityDirectory = try self.swiftPMSecurityDirectory ++ ++ // temporary 5.6, remove on next version: transition from ~/.swiftpm/security to idiomatic location + symbolic ++ // link ++ if try idiomaticSecurityDirectory != self.dotSwiftPMSecurityDirectory && ++ self.exists(try self.dotSwiftPMSecurityDirectory) && ++ self.isDirectory(try self.dotSwiftPMSecurityDirectory) ++ { ++ try self.removeFileTree(self.dotSwiftPMSecurityDirectory) ++ } ++ // ~temporary 5.6 migration ++ ++ // Create idiomatic if necessary ++ if !self.exists(idiomaticSecurityDirectory) { ++ try self.createDirectory(idiomaticSecurityDirectory, recursive: true) ++ } ++ // Create ~/.swiftpm if necessary ++ if !self.exists(try self.dotSwiftPM) { ++ try self.createDirectory(self.dotSwiftPM, recursive: true) ++ } ++ // Create ~/.swiftpm/security symlink if necessary ++ // locking ~/.swiftpm to protect from concurrent access ++ try self.withLock(on: self.dotSwiftPM, type: .exclusive) { ++ if !self.exists(try self.dotSwiftPMSecurityDirectory, followSymlink: false) { ++ try self.createSymbolicLink( ++ dotSwiftPMSecurityDirectory, ++ pointingAt: idiomaticSecurityDirectory, ++ relative: false ++ ) ++ } ++ } ++ return idiomaticSecurityDirectory ++ } ++} ++ ++// MARK: - Swift SDKs ++ ++private let swiftSDKsDirectoryName = "swift-sdks" ++ ++extension FileSystem { ++ /// Path to Swift SDKs directory (if exists) ++ public var swiftSDKsDirectory: AbsolutePath { ++ get throws { ++ if let path = try idiomaticSwiftPMDirectory { ++ return path.appending(component: swiftSDKsDirectoryName) ++ } else { ++ return try dotSwiftPMSwiftSDKsDirectory ++ } ++ } ++ } ++ ++ private var dotSwiftPMSwiftSDKsDirectory: AbsolutePath { ++ get throws { ++ try dotSwiftPM.appending(component: swiftSDKsDirectoryName) ++ } ++ } ++ ++ public func getSharedSwiftSDKsDirectory(explicitDirectory: AbsolutePath?) throws -> AbsolutePath { ++ if let explicitDirectory { ++ // Create the explicit SDKs path if necessary ++ if !exists(explicitDirectory) { ++ try createDirectory(explicitDirectory, recursive: true) ++ } ++ return explicitDirectory ++ } else { ++ return try swiftSDKsDirectory ++ } ++ } ++ ++ public func getOrCreateSwiftPMSwiftSDKsDirectory() throws -> AbsolutePath { ++ let idiomaticSwiftSDKDirectory = try swiftSDKsDirectory ++ ++ // Create idiomatic if necessary ++ if !exists(idiomaticSwiftSDKDirectory) { ++ try createDirectory(idiomaticSwiftSDKDirectory, recursive: true) ++ } ++ // Create ~/.swiftpm if necessary ++ if !exists(try dotSwiftPM) { ++ try createDirectory(dotSwiftPM, recursive: true) ++ } ++ // Create ~/.swiftpm/swift-sdks symlink if necessary ++ // locking ~/.swiftpm to protect from concurrent access ++ try withLock(on: dotSwiftPM, type: .exclusive) { ++ if !exists(try dotSwiftPMSwiftSDKsDirectory, followSymlink: false) { ++ try createSymbolicLink( ++ dotSwiftPMSwiftSDKsDirectory, ++ pointingAt: idiomaticSwiftSDKDirectory, ++ relative: false ++ ) ++ } ++ } ++ return idiomaticSwiftSDKDirectory ++ } ++} ++ ++// MARK: - Utilities ++ ++extension FileSystem { ++ @_disfavoredOverload ++ public func readFileContents(_ path: AbsolutePath) throws -> Data { ++ try Data(self.readFileContents(path).contents) ++ } ++ ++ @_disfavoredOverload ++ public func readFileContents(_ path: AbsolutePath) throws -> String { ++ try String(decoding: self.readFileContents(path), as: UTF8.self) ++ } ++ ++ public func writeFileContents(_ path: AbsolutePath, data: Data) throws { ++ try self._writeFileContents(path, bytes: .init(data)) ++ } ++ ++ public func writeFileContents(_ path: AbsolutePath, string: String) throws { ++ try self._writeFileContents(path, bytes: .init(encodingAsUTF8: string)) ++ } ++ ++ private func _writeFileContents(_ path: AbsolutePath, bytes: ByteString) throws { ++ // using the "body" variant since it creates the directory first ++ // we should probably fix TSC to be consistent about this behavior ++ try self.writeFileContents(path, body: { $0.send(bytes) }) ++ } ++} ++ ++extension FileSystem { ++ /// Write bytes to the path if the given contents are different. ++ public func writeIfChanged(path: AbsolutePath, string: String) throws { ++ try writeIfChanged(path: path, bytes: .init(encodingAsUTF8: string)) ++ } ++ ++ public func writeIfChanged(path: AbsolutePath, data: Data) throws { ++ try writeIfChanged(path: path, bytes: .init(data)) ++ } ++ ++ /// Write bytes to the path if the given contents are different. ++ public func writeIfChanged(path: AbsolutePath, bytes: ByteString) throws { ++ try createDirectory(path.parentDirectory, recursive: true) ++ ++ // Return if the contents are same. ++ if isFile(path), try readFileContents(path) == bytes { ++ return ++ } ++ ++ try writeFileContents(path, bytes: bytes) ++ } ++} ++ ++extension FileSystem { ++ public func forceCreateDirectory(at path: AbsolutePath) throws { ++ try self.createDirectory(path.parentDirectory, recursive: true) ++ if self.exists(path) { ++ try self.removeFileTree(path) ++ } ++ try self.createDirectory(path, recursive: true) ++ } ++} ++ ++extension FileSystem { ++ public func stripFirstLevel(of path: AbsolutePath) throws { ++ let topLevelDirectories = try self.getDirectoryContents(path) ++ .map { path.appending(component: $0) } ++ .filter { self.isDirectory($0) } ++ ++ guard topLevelDirectories.count == 1, let rootDirectory = topLevelDirectories.first else { ++ throw StringError("stripFirstLevel requires single top level directory") ++ } ++ ++ let tempDirectory = path.parentDirectory.appending(component: UUID().uuidString) ++ try self.move(from: rootDirectory, to: tempDirectory) ++ ++ let rootContents = try self.getDirectoryContents(tempDirectory) ++ for entry in rootContents { ++ try self.move(from: tempDirectory.appending(component: entry), to: path.appending(component: entry)) ++ } ++ ++ try self.removeFileTree(tempDirectory) ++ } ++} ++ ++// MARK: - Locking ++ ++extension FileLock { ++ public static func prepareLock( ++ fileToLock: AbsolutePath, ++ at lockFilesDirectory: AbsolutePath? = nil ++ ) throws -> FileLock { ++ return try Self.prepareLock(fileToLock: fileToLock.underlying, at: lockFilesDirectory?.underlying) ++ } ++} ++ ++/// Convenience initializers for testing purposes. ++extension InMemoryFileSystem { ++ /// Create a new file system with the given files, provided as a map from ++ /// file path to contents. ++ public convenience init(files: [String: ByteString]) { ++ self.init() ++ ++ for (path, contents) in files { ++ let path = try! AbsolutePath(validating: path) ++ try! createDirectory(path.parentDirectory, recursive: true) ++ try! writeFileContents(path, bytes: contents) ++ } ++ } ++ ++ /// Create a new file system with an empty file at each provided path. ++ public convenience init(emptyFiles files: String...) { ++ self.init(emptyFiles: files) ++ } ++ ++ /// Create a new file system with an empty file at each provided path. ++ public convenience init(emptyFiles files: [String]) { ++ self.init() ++ self.createEmptyFiles(at: .root, files: files) ++ } ++} ++ ++extension FileSystem { ++ public func createEmptyFiles(at root: AbsolutePath, files: String...) { ++ self.createEmptyFiles(at: root, files: files) ++ } ++ ++ public func createEmptyFiles(at root: AbsolutePath, files: [String]) { ++ do { ++ try createDirectory(root, recursive: true) ++ for path in files { ++ let path = try AbsolutePath(validating: String(path.dropFirst()), relativeTo: root) ++ try createDirectory(path.parentDirectory, recursive: true) ++ try writeFileContents(path, bytes: "") ++ } ++ } catch { ++ fatalError("Failed to create empty files: \(error)") ++ } ++ } ++} ++ ++extension FileSystem { ++ /// Do a deep enumeration, passing each file to block ++ public func enumerate(directory: AbsolutePath, block: (AbsolutePath) throws -> ()) throws { ++ for file in try getDirectoryContents(directory) { ++ let path = directory.appending(file) ++ if isDirectory(path) { ++ try enumerate(directory: path, block: block) ++ } else { ++ try block(path) ++ } ++ } ++ } ++} +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0007-nix-pkgconfig-vars.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0007-nix-pkgconfig-vars.patch new file mode 100644 index 0000000000000..bf31324946324 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0007-nix-pkgconfig-vars.patch @@ -0,0 +1,606 @@ +From ae3d68846a30673365376fc81f97f1642162b295 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:59:18 -0500 +Subject: [PATCH] nix-pkgconfig-vars + +--- + Sources/PackageLoading/PkgConfig.swift | 17 +- + Sources/PackageLoading/PkgConfig.swift.orig | 557 ++++++++++++++++++++ + 2 files changed, 567 insertions(+), 7 deletions(-) + create mode 100644 Sources/PackageLoading/PkgConfig.swift.orig + +diff --git a/Sources/PackageLoading/PkgConfig.swift b/Sources/PackageLoading/PkgConfig.swift +index 21e0c514e..eaf9c803c 100644 +--- a/Sources/PackageLoading/PkgConfig.swift ++++ b/Sources/PackageLoading/PkgConfig.swift +@@ -131,14 +131,17 @@ public struct PkgConfig { + + private static var envSearchPaths: [Basics.AbsolutePath] { + get throws { +- if let configPath = Environment.current["PKG_CONFIG_PATH"] { +- #if os(Windows) +- return try configPath.split(separator: ";").map({ try AbsolutePath(validating: String($0)) }) +- #else +- return try configPath.split(separator: ":").map({ try AbsolutePath(validating: String($0)) }) +- #endif ++ var result: [Basics.AbsolutePath] = [] ++ for envVar in ["PKG_CONFIG_PATH", "PKG_CONFIG_PATH_FOR_TARGET"] { ++ if let configPath = Environment.current[EnvironmentKey(envVar)] { ++ #if os(Windows) ++ result += try configPath.split(separator: ";").map({ try Basics.AbsolutePath(validating: String($0)) }) ++ #else ++ result += try configPath.split(separator: ":").map({ try Basics.AbsolutePath(validating: String($0)) }) ++ #endif ++ } + } +- return [] ++ return result + } + } + } +diff --git a/Sources/PackageLoading/PkgConfig.swift.orig b/Sources/PackageLoading/PkgConfig.swift.orig +new file mode 100644 +index 000000000..21e0c514e +--- /dev/null ++++ b/Sources/PackageLoading/PkgConfig.swift.orig +@@ -0,0 +1,557 @@ ++//===----------------------------------------------------------------------===// ++// ++// This source file is part of the Swift open source project ++// ++// Copyright (c) 2014-2021 Apple Inc. and the Swift project authors ++// Licensed under Apache License v2.0 with Runtime Library Exception ++// ++// See http://swift.org/LICENSE.txt for license information ++// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors ++// ++//===----------------------------------------------------------------------===// ++ ++import Basics ++import Foundation ++import OrderedCollections ++import TSCUtility ++import TSCBasic ++ ++import class Basics.AsyncProcess ++ ++/// Information on an individual `pkg-config` supported package. ++public struct PkgConfig { ++ /// The name of the package. ++ public let name: String ++ ++ /// The path to the definition file. ++ public let pcFile: Basics.AbsolutePath ++ ++ /// The list of C compiler flags in the definition. ++ public let cFlags: [String] ++ ++ /// The list of libraries to link. ++ public let libs: [String] ++ ++ /// Load the information for the named package. ++ /// ++ /// It will search `fileSystem` for the pkg config file in the following order: ++ /// * Paths defined in `PKG_CONFIG_PATH` environment variable ++ /// * Paths defined in `additionalSearchPaths` argument ++ /// * Built-in search paths (see `PCFileFinder.searchPaths`) ++ /// ++ /// - parameter name: Name of the pkg config file (without file extension). ++ /// - parameter additionalSearchPaths: Additional paths to search for pkg config file. ++ /// - parameter fileSystem: The file system to use ++ /// ++ /// - throws: PkgConfigError ++ public init( ++ name: String, ++ additionalSearchPaths: [Basics.AbsolutePath]? = .none, ++ brewPrefix: Basics.AbsolutePath? = .none, ++ sysrootDir: Basics.AbsolutePath? = .none, ++ fileSystem: FileSystem, ++ observabilityScope: ObservabilityScope ++ ) throws { ++ try self.init( ++ name: name, ++ additionalSearchPaths: additionalSearchPaths ?? [], ++ brewPrefix: brewPrefix, ++ sysrootDir: sysrootDir, ++ loadingContext: LoadingContext(), ++ fileSystem: fileSystem, ++ observabilityScope: observabilityScope ++ ) ++ } ++ ++ private init( ++ name: String, ++ additionalSearchPaths: [Basics.AbsolutePath], ++ brewPrefix: Basics.AbsolutePath?, ++ sysrootDir: Basics.AbsolutePath?, ++ loadingContext: LoadingContext, ++ fileSystem: FileSystem, ++ observabilityScope: ObservabilityScope ++ ) throws { ++ loadingContext.pkgConfigStack.append(name) ++ ++ if let path = try? Basics.AbsolutePath(validating: name) { ++ guard fileSystem.isFile(path) else { throw PkgConfigError.couldNotFindConfigFile(name: name) } ++ self.name = path.basenameWithoutExt ++ self.pcFile = path ++ } else { ++ self.name = name ++ let pkgFileFinder = PCFileFinder(brewPrefix: brewPrefix) ++ self.pcFile = try pkgFileFinder.locatePCFile( ++ name: name, ++ customSearchPaths: try PkgConfig.envSearchPaths + additionalSearchPaths, ++ fileSystem: fileSystem, ++ observabilityScope: observabilityScope ++ ) ++ } ++ ++ var parser = try PkgConfigParser(pcFile: pcFile, fileSystem: fileSystem, sysrootDir: Environment.current["PKG_CONFIG_SYSROOT_DIR"]) ++ try parser.parse() ++ ++ func getFlags(from dependencies: [String]) throws -> (cFlags: [String], libs: [String]) { ++ var cFlags = [String]() ++ var libs = [String]() ++ ++ for dep in dependencies { ++ if let index = loadingContext.pkgConfigStack.firstIndex(of: dep) { ++ observabilityScope.emit(warning: "circular dependency detected while parsing \(loadingContext.pkgConfigStack[0]): \(loadingContext.pkgConfigStack[index.. ")) -> \(dep)") ++ continue ++ } ++ ++ // FIXME: This is wasteful, we should be caching the PkgConfig result. ++ let pkg = try PkgConfig( ++ name: dep, ++ additionalSearchPaths: additionalSearchPaths, ++ brewPrefix: brewPrefix, ++ sysrootDir: sysrootDir, ++ loadingContext: loadingContext, ++ fileSystem: fileSystem, ++ observabilityScope: observabilityScope ++ ) ++ ++ cFlags += pkg.cFlags ++ libs += pkg.libs ++ } ++ ++ return (cFlags: cFlags, libs: libs) ++ } ++ ++ let dependencyFlags = try getFlags(from: parser.dependencies) ++ let privateDependencyFlags = try getFlags(from: parser.privateDependencies) ++ ++ self.cFlags = parser.cFlags + dependencyFlags.cFlags + privateDependencyFlags.cFlags ++ self.libs = parser.libs + dependencyFlags.libs ++ ++ loadingContext.pkgConfigStack.removeLast(); ++ } ++ ++ private static var envSearchPaths: [Basics.AbsolutePath] { ++ get throws { ++ if let configPath = Environment.current["PKG_CONFIG_PATH"] { ++ #if os(Windows) ++ return try configPath.split(separator: ";").map({ try AbsolutePath(validating: String($0)) }) ++ #else ++ return try configPath.split(separator: ":").map({ try AbsolutePath(validating: String($0)) }) ++ #endif ++ } ++ return [] ++ } ++ } ++} ++ ++extension PkgConfig { ++ /// Information to track circular dependencies and other PkgConfig issues ++ public class LoadingContext { ++ public init() { ++ pkgConfigStack = [String]() ++ } ++ ++ public var pkgConfigStack: [String] ++ } ++} ++ ++ ++/// Parser for the `pkg-config` `.pc` file format. ++/// ++/// See: https://www.freedesktop.org/wiki/Software/pkg-config/ ++// This is only internal so it can be unit tested. ++internal struct PkgConfigParser { ++ public let pcFile: Basics.AbsolutePath ++ private let fileSystem: FileSystem ++ public private(set) var variables = [String: String]() ++ public private(set) var dependencies = [String]() ++ public private(set) var privateDependencies = [String]() ++ public private(set) var cFlags = [String]() ++ public private(set) var libs = [String]() ++ public private(set) var sysrootDir: String? ++ ++ public init(pcFile: Basics.AbsolutePath, fileSystem: FileSystem, sysrootDir: String?) throws { ++ guard fileSystem.isFile(pcFile) else { ++ throw StringError("invalid pcfile \(pcFile)") ++ } ++ self.pcFile = pcFile ++ self.fileSystem = fileSystem ++ self.sysrootDir = sysrootDir ++ } ++ ++ // Compress repeated path separators to one. ++ private func compressPathSeparators(_ value: String) -> String { ++ let components = value.components(separatedBy: "/").filter { !$0.isEmpty }.joined(separator: "/") ++ if value.hasPrefix("/") { ++ return "/" + components ++ } else { ++ return components ++ } ++ } ++ ++ // Trim duplicate sysroot prefixes, matching the approach of pkgconf ++ private func trimDuplicateSysroot(_ value: String) -> String { ++ // If sysroot has been applied more than once, remove the first instance. ++ // pkgconf makes this check after variable expansion to handle rare .pc ++ // files which expand ${pc_sysrootdir} directly: ++ // https://github.com/pkgconf/pkgconf/issues/123 ++ // ++ // For example: ++ // /sysroot/sysroot/remainder -> /sysroot/remainder ++ // ++ // However, pkgconf's algorithm searches for an additional sysrootdir anywhere in ++ // the string after the initial prefix, rather than looking for two sysrootdir prefixes ++ // directly next to each other: ++ // ++ // /sysroot/filler/sysroot/remainder -> /filler/sysroot/remainder ++ // ++ // It might seem more logical not to strip sysroot in this case, as it is not a double ++ // prefix, but for compatibility trimDuplicateSysroot is faithful to pkgconf's approach ++ // in the functions `pkgconf_tuple_parse` and `should_rewrite_sysroot`. ++ ++ // Only trim if sysroot is defined with a meaningful value ++ guard let sysrootDir, sysrootDir != "/" else { ++ return value ++ } ++ ++ // Only trim absolute paths starting with sysroot ++ guard value.hasPrefix("/"), value.hasPrefix(sysrootDir) else { ++ return value ++ } ++ ++ // If sysroot appears multiple times, trim the prefix ++ // N.B. sysroot can appear anywhere in the remainder ++ // of the value, mirroring pkgconf's logic ++ let pathSuffix = value.dropFirst(sysrootDir.count) ++ if pathSuffix.contains(sysrootDir) { ++ return String(pathSuffix) ++ } else { ++ return value ++ } ++ } ++ ++ // Apply sysroot to generated paths, matching the approach of pkgconf ++ private func applySysroot(_ value: String) -> String { ++ // The two main pkg-config implementations handle sysroot differently: ++ // ++ // `pkg-config` (freedesktop.org) prepends sysroot after variable expansion, when in creates the compiler flag lists ++ // `pkgconf` prepends sysroot to variables when they are defined, so sysroot is included when they are expanded ++ // ++ // pkg-config's method skips single character compiler flags, such as '-I' and '-L', and has special cases for longer options. ++ // It does not handle spaces between the flags and their values properly, and prepends sysroot multiple times in some cases, ++ // such as when the .pc file uses the sysroot_dir variable directly or has been rewritten to hard-code the sysroot prefix. ++ // ++ // pkgconf's method handles spaces correctly, although it also requires extra checks to ensure that sysroot is not applied ++ // more than once. ++ // ++ // In 2024 pkg-config is the more popular option according to Homebrew installation statistics, but the major Linux distributions ++ // have generally switched to pkgconf. ++ // ++ // We will use pkgconf's method here as it seems more robust than pkg-config's, and pkgconf's greater popularity on Linux ++ // means libraries developed there may depend on the specific way it handles .pc files. ++ ++ if value.hasPrefix("/"), let sysrootDir, !value.hasPrefix(sysrootDir) { ++ return compressPathSeparators(trimDuplicateSysroot(sysrootDir + value)) ++ } else { ++ return compressPathSeparators(trimDuplicateSysroot(value)) ++ } ++ } ++ ++ public mutating func parse() throws { ++ func removeComment(line: String) -> String { ++ if let commentIndex = line.firstIndex(of: "#") { ++ return String(line[line.startIndex.. [String] { ++ let operators = ["=", "<", ">", "<=", ">="] ++ let separators = [" ", ","] ++ ++ // Look at a char at an index if present. ++ func peek(idx: Int) -> Character? { ++ guard idx <= depString.count - 1 else { return nil } ++ return depString[depString.index(depString.startIndex, offsetBy: idx)] ++ } ++ ++ // This converts the string which can be separated by comma or spaces ++ // into an array of string. ++ func tokenize() -> [String] { ++ var tokens = [String]() ++ var token = "" ++ for (idx, char) in depString.enumerated() { ++ // Encountered a separator, use the token. ++ if separators.contains(String(char)) { ++ // If next character is a space skip. ++ if let peeked = peek(idx: idx+1), peeked == " " { continue } ++ // Append to array of tokens and reset token variable. ++ tokens.append(token) ++ token = "" ++ } else { ++ token += String(char) ++ } ++ } ++ // Append the last collected token if present. ++ if !token.isEmpty { tokens += [token] } ++ return tokens ++ } ++ ++ var deps = [String]() ++ var it = tokenize().makeIterator() ++ while let arg = it.next() { ++ // If we encounter an operator then we need to skip the next token. ++ if operators.contains(arg) { ++ // We should have a version number next, skip. ++ guard it.next() != nil else { ++ throw PkgConfigError.parsingError(""" ++ Expected version number after \(deps.last.debugDescription) \(arg) in \"\(depString)\" in \ ++ \(pcFile) ++ """) ++ } ++ } else if !arg.isEmpty { ++ // Otherwise it is a dependency. ++ deps.append(arg) ++ } ++ } ++ return deps ++ } ++ ++ /// Perform variable expansion on the line by processing the each fragment ++ /// of the string until complete. ++ /// ++ /// Variables occur in form of ${variableName}, we search for a variable ++ /// linearly in the string and if found, lookup the value of the variable in ++ /// our dictionary and replace the variable name with its value. ++ private func resolveVariables(_ line: String) throws -> String { ++ // Returns variable name, start index and end index of a variable in a string if present. ++ // We make sure it of form ${name} otherwise it is not a variable. ++ func findVariable(_ fragment: String) ++ -> (name: String, startIndex: String.Index, endIndex: String.Index)? { ++ guard let dollar = fragment.firstIndex(of: "$"), ++ dollar != fragment.endIndex && fragment[fragment.index(after: dollar)] == "{", ++ let variableEndIndex = fragment.firstIndex(of: "}") ++ else { return nil } ++ return (String(fragment[fragment.index(dollar, offsetBy: 2).. [String] { ++ var splits = [String]() ++ var fragment = [Character]() ++ ++ func saveFragment() { ++ if !fragment.isEmpty { ++ splits.append(String(fragment)) ++ fragment.removeAll() ++ } ++ } ++ ++ var it = line.makeIterator() ++ // Indicates if we're in a quoted fragment, we shouldn't append quote. ++ var inQuotes = false ++ while let char = it.next() { ++ if char == "\"" { ++ inQuotes = !inQuotes ++ } else if char == "\\" { ++ if let next = it.next() { ++#if os(Windows) ++ if ![" ", "\\"].contains(next) { fragment.append("\\") } ++#endif ++ fragment.append(next) ++ } ++ } else if char == " " && !inQuotes { ++ saveFragment() ++ } else { ++ fragment.append(char) ++ } ++ } ++ guard !inQuotes else { ++ throw PkgConfigError.parsingError( ++ "Text ended before matching quote was found in line: \(line) file: \(pcFile)") ++ } ++ saveFragment() ++ return splits ++ } ++} ++ ++// This is only internal so it can be unit tested. ++internal struct PCFileFinder { ++ /// Cached results of locations `pkg-config` will search for `.pc` files ++ /// FIXME: This shouldn't use a static variable, since the first lookup ++ /// will cache the result of whatever `brewPrefix` was passed in. It is ++ /// also not threadsafe. ++ public private(set) static var pkgConfigPaths: [Basics.AbsolutePath]? // FIXME: @testable(internal) ++ private static var shouldEmitPkgConfigPathsDiagnostic = false ++ ++ /// The built-in search path list. ++ /// ++ /// By default, this is combined with the search paths inferred from ++ /// `pkg-config` itself. ++ static let searchPaths = [ ++ try? Basics.AbsolutePath(validating: "/usr/local/lib/pkgconfig"), ++ try? AbsolutePath(validating: "/usr/local/share/pkgconfig"), ++ try? AbsolutePath(validating: "/usr/lib/pkgconfig"), ++ try? AbsolutePath(validating: "/usr/share/pkgconfig"), ++ ].compactMap({ $0 }) ++ ++ /// Get search paths from `pkg-config` itself to locate `.pc` files. ++ /// ++ /// This is needed because on Linux machines, the search paths can be different ++ /// from the standard locations that we are currently searching. ++ private init(pkgConfigPath: String) { ++ if PCFileFinder.pkgConfigPaths == nil { ++ do { ++ let searchPaths = try AsyncProcess.checkNonZeroExit(args: ++ pkgConfigPath, "--variable", "pc_path", "pkg-config" ++ ).spm_chomp() ++ ++#if os(Windows) ++ PCFileFinder.pkgConfigPaths = try searchPaths.split(separator: ";").map({ try AbsolutePath(validating: String($0)) }) ++#else ++ PCFileFinder.pkgConfigPaths = try searchPaths.split(separator: ":").map({ try AbsolutePath(validating: String($0)) }) ++#endif ++ } catch { ++ PCFileFinder.shouldEmitPkgConfigPathsDiagnostic = true ++ PCFileFinder.pkgConfigPaths = [] ++ } ++ } ++ } ++ ++ public init(brewPrefix: Basics.AbsolutePath?) { ++ self.init(pkgConfigPath: brewPrefix?.appending(components: "bin", "pkg-config").pathString ?? "pkg-config") ++ } ++ ++ public init(pkgConfig: Basics.AbsolutePath? = .none) { ++ self.init(pkgConfigPath: pkgConfig?.pathString ?? "pkg-config") ++ } ++ ++ /// Reset the cached `pkgConfigPaths` property, so that it will be evaluated ++ /// again when instantiating a `PCFileFinder()`. This is intended only for ++ /// use by testing. This is a temporary workaround for the use of a static ++ /// variable by this class. ++ internal static func resetCachedPkgConfigPaths() { ++ PCFileFinder.pkgConfigPaths = nil ++ } ++ ++ public func locatePCFile( ++ name: String, ++ customSearchPaths: [Basics.AbsolutePath], ++ fileSystem: FileSystem, ++ observabilityScope: ObservabilityScope ++ ) throws -> Basics.AbsolutePath { ++ // FIXME: We should consider building a registry for all items in the ++ // search paths, which is likely to be substantially more efficient if ++ // we end up searching for a reasonably sized number of packages. ++ for path in OrderedSet(customSearchPaths + PCFileFinder.pkgConfigPaths! + PCFileFinder.searchPaths) { ++ let pcFile = path.appending(component: name + ".pc") ++ if fileSystem.isFile(pcFile) { ++ return pcFile ++ } ++ } ++ if PCFileFinder.shouldEmitPkgConfigPathsDiagnostic { ++ PCFileFinder.shouldEmitPkgConfigPathsDiagnostic = false ++ observabilityScope.emit(warning: "failed to retrieve search paths with pkg-config; maybe pkg-config is not installed") ++ } ++ throw PkgConfigError.couldNotFindConfigFile(name: name) ++ } ++} ++ ++internal enum PkgConfigError: Swift.Error, CustomStringConvertible { ++ case couldNotFindConfigFile(name: String) ++ case parsingError(String) ++ case prohibitedFlags(String) ++ ++ public var description: String { ++ switch self { ++ case .couldNotFindConfigFile(let name): ++ return "couldn't find pc file for \(name)" ++ case .parsingError(let error): ++ return "parsing error(s): \(error)" ++ case .prohibitedFlags(let flags): ++ return "prohibited flag(s): \(flags)" ++ } ++ } ++} +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0008-set-compiler-vendor.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0008-set-compiler-vendor.patch new file mode 100644 index 0000000000000..3865df422c798 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0008-set-compiler-vendor.patch @@ -0,0 +1,50 @@ +From 3419fcca9fe35906d79d6bb5e1538875db042590 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:59:36 -0500 +Subject: [PATCH] set-compiler-vendor + +--- + Sources/PackageModel/UserToolchain.swift | 6 ------ + Sources/PackageModel/UserToolchain.swift.orig | 8 ++++++++ + 2 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/Sources/PackageModel/UserToolchain.swift b/Sources/PackageModel/UserToolchain.swift +index 39d7333c5..b63997bad 100644 +--- a/Sources/PackageModel/UserToolchain.swift ++++ b/Sources/PackageModel/UserToolchain.swift +@@ -409,13 +409,7 @@ public final class UserToolchain: Toolchain { + } + + public func _isClangCompilerVendorApple() throws -> Bool? { +- // Assume the vendor is Apple on macOS. +- // FIXME: This might not be the best way to determine this. +- #if os(macOS) +- return true +- #else + return false +- #endif + } + + /// Returns the path to lldb. +diff --git a/Sources/PackageModel/UserToolchain.swift.orig b/Sources/PackageModel/UserToolchain.swift.orig +index 7f21304c6..39d7333c5 100644 +--- a/Sources/PackageModel/UserToolchain.swift.orig ++++ b/Sources/PackageModel/UserToolchain.swift.orig +@@ -956,6 +956,14 @@ public final class UserToolchain: Toolchain { + } + } + ++ // The manifest and plugin paths should be in the store if they’re nowhere else. ++ if let storeLibraryPath = try? Basics.AbsolutePath(validating: "@out@/lib/swift/pm") { ++ return .init( ++ manifestLibraryPath: storeLibraryPath.appending("ManifestAPI"), ++ pluginLibraryPath: storeLibraryPath.appending("PluginAPI") ++ ) ++ } ++ + // we are using a SwiftPM outside a toolchain, use the compiler path to compute the location + return .init(swiftCompilerPath: swiftCompilerPath) + } +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0009-add-missing-libraries.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0009-add-missing-libraries.patch new file mode 100644 index 0000000000000..41063b6b0beda --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-package-manager/patches/0009-add-missing-libraries.patch @@ -0,0 +1,37 @@ +From 030d725652dd84cb3314dc0c9b9d9a27cb80b764 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:59:57 -0500 +Subject: [PATCH] add-missing-libraries + +--- + Sources/PackageSigning/CMakeLists.txt | 1 + + Sources/SwiftBuildSupport/CMakeLists.txt | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/Sources/PackageSigning/CMakeLists.txt b/Sources/PackageSigning/CMakeLists.txt +index 13a7b8cd5..d00c7d01e 100644 +--- a/Sources/PackageSigning/CMakeLists.txt ++++ b/Sources/PackageSigning/CMakeLists.txt +@@ -21,6 +21,7 @@ target_link_libraries(PackageSigning PUBLIC + Basics + Crypto + PackageModel ++ SwiftASN1 + TSCBasic + TSCUtility + X509) +diff --git a/Sources/SwiftBuildSupport/CMakeLists.txt b/Sources/SwiftBuildSupport/CMakeLists.txt +index 3bd426bbf..2beb6d457 100644 +--- a/Sources/SwiftBuildSupport/CMakeLists.txt ++++ b/Sources/SwiftBuildSupport/CMakeLists.txt +@@ -19,6 +19,7 @@ add_library(SwiftBuildSupport STATIC + PIFBuilder.swift + SwiftBuildSystem.swift) + target_link_libraries(SwiftBuildSupport PUBLIC ++ ArgumentParser + Build + DriverSupport + TSCBasic +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-syntax/files/SwiftSyntaxConfig.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-syntax/files/SwiftSyntaxConfig.cmake new file mode 100644 index 0000000000000..6632a6a464e5f --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-syntax/files/SwiftSyntaxConfig.cmake @@ -0,0 +1,23 @@ +set(SyntaxModules + SwiftBasicFormat + SwiftCompilerPluginMessageHandling + SwiftDiagnostics + SwiftIDEUtils + SwiftIfConfig + SwiftLexicalLookup + SwiftOperators + SwiftParser + SwiftParserDiagnostics + SwiftSyntax + SwiftSyntaxBuilder + SwiftSyntaxMacroExpansion + SwiftSyntaxMacros +) + +foreach(SyntaxModule ${SyntaxModules}) + add_library(SwiftSyntax::${SyntaxModule} @buildType@ IMPORTED) + set_target_properties(SwiftSyntax::${SyntaxModule} PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}${SyntaxModule}${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/lib/swift/host" + ) +endforeach() diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-syntax/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-syntax/package.nix new file mode 100644 index 0000000000000..efc3ac1056279 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-syntax/package.nix @@ -0,0 +1,76 @@ +{ + lib, + fetchFromGitHub, + stdenv, + cmake, + ninja, + swift-no-testing, + swift_release, +}: + +# The build for Swift Syntax extracts the shared libraries from the compiler, which will be re-linked against this +# derivation. This allows macro-based packages to use the libraries from the compiler. +#stdenvNoCC.mkDerivation +stdenv.mkDerivation (finalAttrs: { + pname = "swift-syntax"; + version = swift_release; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-syntax"; + tag = "swift-${finalAttrs.version}-RELEASE"; + hash = "sha256-DMMVJQj590RGGBkTgA89u01ZP2B8kbJTmfu+oxzYPds="; + }; + + patches = [ ./patches/0001-gnu-install-dirs.patch ]; + + strictDeps = true; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + cmakeFlags = [ + # Defaults to static, but we want shared libraries by default. + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + # Build and install the modules. + (lib.cmakeBool "SWIFTSYNTAX_EMIT_MODULE" true) + ]; + + nativeBuildInputs = [ + cmake + ninja + swift-no-testing + ]; + + postBuild = '' + # This library is inexplicably not built, but it’s part of the install target. + ninja libSwiftCompilerPlugin${stdenv.hostPlatform.extensions.library} + ''; + + postInstall = '' + moveToOutput lib/swift/host "$dev" + + # Install CMake config file for the Swift Collections library. + mkdir -p mkdir -p "''${!outputDev}/lib/cmake/SwiftSyntax" + substitute ${./files/SwiftSyntaxConfig.cmake} "''${!outputDev}/lib/cmake/SwiftSyntax/SwiftSyntaxConfig.cmake" \ + --replace-fail '@buildType@' ${if stdenv.hostPlatform.isStatic then "STATIC" else "SHARED"} \ + --replace-fail '@include@' "''${!outputDev}" \ + --replace-fail '@lib@' "''${!outputLib}" + ''; + + __structuredAttrs = true; + + meta = { + homepage = "https://github.com/swiftlang/swift-syntax"; + description = "Swift libraries for parsing Swift source code"; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-syntax/patches/0001-gnu-install-dirs.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-syntax/patches/0001-gnu-install-dirs.patch new file mode 100644 index 0000000000000..a57a008b33155 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-syntax/patches/0001-gnu-install-dirs.patch @@ -0,0 +1,36 @@ +From fa08f0527d1ec76369852dfe8d5d2fd9d3feee8d Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 26 Dec 2025 11:39:45 -0500 +Subject: [PATCH] gnu-install-dirs + +--- + cmake/modules/AddSwiftHostLibrary.cmake | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/cmake/modules/AddSwiftHostLibrary.cmake b/cmake/modules/AddSwiftHostLibrary.cmake +index d2f7bc69..4f89a61d 100644 +--- a/cmake/modules/AddSwiftHostLibrary.cmake ++++ b/cmake/modules/AddSwiftHostLibrary.cmake +@@ -184,15 +184,15 @@ function(add_swift_syntax_library name) + # Install this target + install(TARGETS ${target} + EXPORT SwiftSyntaxTargets +- ARCHIVE DESTINATION lib/${SWIFT_HOST_LIBRARIES_SUBDIRECTORY} +- LIBRARY DESTINATION lib/${SWIFT_HOST_LIBRARIES_SUBDIRECTORY} +- RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) + + # Install the module files. + install( + DIRECTORY ${module_base} +- DESTINATION lib/${SWIFT_HOST_LIBRARIES_SUBDIRECTORY} ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/../lib/${SWIFT_HOST_LIBRARIES_SUBDIRECTORY} + FILES_MATCHING PATTERN "*.swiftinterface" + ) + else() +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-system/files/SwiftSystemConfig.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-system/files/SwiftSystemConfig.cmake new file mode 100644 index 0000000000000..0d006e86d1f02 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-system/files/SwiftSystemConfig.cmake @@ -0,0 +1,5 @@ +add_library(SwiftSystem::SystemPackage STATIC IMPORTED) +set_target_properties(SwiftSystem::SystemPackage PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_STATIC_LIBRARY_PREFIX}SystemPackage${CMAKE_STATIC_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/include;@include@/lib/swift_static/@swiftPlatform@" +) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-system/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-system/package.nix new file mode 100644 index 0000000000000..4eea3914e44f9 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-system/package.nix @@ -0,0 +1,61 @@ +{ + lib, + fetchFromGitHub, + cmake, + ninja, + swift, + stdenv, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "swift-system"; + version = "1.6.4"; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitHub { + owner = "apple"; + repo = "swift-system"; + tag = finalAttrs.version; + hash = "sha256-bfxm2WS+4qcgSzheWTvRloDAIIIHzPZ8SaAZq9bWmSc="; + }; + + patches = [ ./patches/0001-gnu-install-dirs.patch ]; + + strictDeps = true; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift + ]; + + postInstall = '' + moveToOutput lib/swift "''${!outputDev}" + moveToOutput lib/swift_static "''${!outputDev}" + + # Install CMake config file for Swift System. + mkdir -p mkdir -p "''${!outputDev}/lib/cmake/SwiftSystem" + substitute ${./files/SwiftSystemConfig.cmake} "''${!outputDev}/lib/cmake/SwiftSystem/SwiftSystemConfig.cmake" \ + --replace-fail '@include@' "''${!outputDev}" \ + --replace-fail '@lib@' "''${!outputLib}" \ + --replace-fail '@swiftPlatform@' ${stdenv.hostPlatform.swift.platform} + ''; + + __structuredAttrs = true; + + meta = { + homepage = "https://github.com/apple/swift-system"; + description = "Low-level APIs and types for Swift"; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-system/patches/0001-gnu-install-dirs.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-system/patches/0001-gnu-install-dirs.patch new file mode 100644 index 0000000000000..aa9bdeb78adc0 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-system/patches/0001-gnu-install-dirs.patch @@ -0,0 +1,23 @@ +From ab44a593012e8092bd17c63aba77641993624f12 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Wed, 17 Dec 2025 20:59:10 -0500 +Subject: [PATCH] gnu-install-dirs + +--- + Sources/CSystem/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Sources/CSystem/CMakeLists.txt b/Sources/CSystem/CMakeLists.txt +index faf730e..0860dbc 100644 +--- a/Sources/CSystem/CMakeLists.txt ++++ b/Sources/CSystem/CMakeLists.txt +@@ -16,5 +16,5 @@ install(FILES + include/CSystemLinux.h + include/CSystemWindows.h + include/module.modulemap +- DESTINATION include/CSystem) ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + set_property(GLOBAL APPEND PROPERTY SWIFT_SYSTEM_EXPORTS CSystem) +-- +2.50.1 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-testing/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-testing/package.nix new file mode 100644 index 0000000000000..b04d7ba47b118 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-testing/package.nix @@ -0,0 +1,66 @@ +{ + lib, + cmake, + fetchFromGitHub, + ninja, + stdenv, + swift-no-testing, + swift-syntax, + swift_release, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "swift-testing"; + version = swift_release; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-testing"; + tag = "swift-${finalAttrs.version}-RELEASE"; + hash = "sha256-HgvwoAbUeFTVnrOTNVIgFRLOpGyCQHRgQqulHQ1LYnQ="; + }; + + patches = [ ./patches/0001-gnu-install-dirs.patch ]; + + postPatch = '' + # Need to reference $include, so this can’t be substituted by `replaceVars`. + substituteInPlace CMakeLists.txt --replace-fail '@include@' "''${!outputInclude}" + ''; + + strictDeps = true; + + cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) ]; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift-no-testing + ]; + + buildInputs = [ swift-syntax ]; + + postInstall = '' + install -D -t "''${!outputDev}/lib/swift/host/plugins/testing" \ + lib/swift/host/plugins/testing/libTestingMacros${stdenv.hostPlatform.extensions.sharedLibrary} + ''; + + __structuredAttrs = true; + + meta = { + description = "Modern testing package for Swift"; + homepage = "https://github.com/swiftlang/swift-testing"; + platforms = with lib.platforms; darwin ++ linux ++ windows; + license = lib.licenses.asl20; + maintainers = lib.teams.swift.members; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-testing/patches/0001-gnu-install-dirs.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-testing/patches/0001-gnu-install-dirs.patch new file mode 100644 index 0000000000000..caa75758e8c8f --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-testing/patches/0001-gnu-install-dirs.patch @@ -0,0 +1,27 @@ +From 6d92a130bca4f066211e405ee733ea22eed54e37 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 26 Dec 2025 21:20:40 -0500 +Subject: [PATCH] gnu-install-dirs + +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 38aeda61..2499a8db 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,8 +51,8 @@ include(PlatformInfo) + include(SwiftModuleInstallation) + + option(SwiftTesting_INSTALL_NESTED_SUBDIR "Install libraries under a platform and architecture subdirectory" NO) +-set(SwiftTesting_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}/swift$<$>:_static>/${SwiftTesting_PLATFORM_SUBDIR}$<$,$>>:/testing>$<$:/${SwiftTesting_ARCH_SUBDIR}>") +-set(SwiftTesting_INSTALL_SWIFTMODULEDIR "${CMAKE_INSTALL_LIBDIR}/swift$<$>:_static>/${SwiftTesting_PLATFORM_SUBDIR}$<$,$>>:/testing>") ++set(SwiftTesting_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}") ++set(SwiftTesting_INSTALL_SWIFTMODULEDIR "@include@/lib/swift$<$>:_static>/${SwiftTesting_PLATFORM_SUBDIR}$<$,$>>:/testing>") + + add_compile_options($<$:-no-toolchain-stdlib-rpath>) + +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-tools-support-core/files/TSCConfig.cmake b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-tools-support-core/files/TSCConfig.cmake new file mode 100644 index 0000000000000..3e41fa0727d11 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-tools-support-core/files/TSCConfig.cmake @@ -0,0 +1,11 @@ +add_library(TSCBasic @buildType@ IMPORTED) +set_target_properties(TSCBasic PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}SwiftToolsSupport${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/include;@include@/lib/swift/@swiftPlatform@" +) + +add_library(TSCUtility @buildType@ IMPORTED) +set_target_properties(TSCUtility PROPERTIES + IMPORTED_LOCATION "@lib@/lib/${CMAKE_@buildType@_LIBRARY_PREFIX}SwiftToolsSupport${CMAKE_@buildType@_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "@include@/include;@include@/lib/swift/@swiftPlatform@" +) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-tools-support-core/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-tools-support-core/package.nix new file mode 100644 index 0000000000000..3f6b6af12c154 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-tools-support-core/package.nix @@ -0,0 +1,85 @@ +{ + lib, + cmake, + fetchFromGitHub, + llvm_libtool, + ninja, + stdenv, + swift-no-swift-driver, + swift_release, +}: + +let + swiftPlatform = stdenv.hostPlatform.swift.platform; +in + +# Swift Tools Support Core is a dependency to both Swift Compiler Driver and SwiftPM. +# It must be built with CMake and use Swift without swift-driver to avoid dependency cycles. +stdenv.mkDerivation (finalAttrs: { + pname = "swift-tools-support-core"; + version = swift_release; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-tools-support-core"; + tag = "swift-${finalAttrs.version}-RELEASE"; + hash = "sha256-mV+z5sdG/maUzXUhK1vMtsnLCclcjqyXSMO6J2FjBEg="; + }; + + patches = [ + # Match the dynamic library structure of the SwiftPM build when using CMake. + ./patches/0001-build-SwiftToolsSupport.patch + ]; + + postPatch = '' + # Disable using XCTest framework properties that aren’t provided by swift-corelibs-xctest. + substituteInPlace "Sources/TSCTestSupport/XCTestCasePerf.swift" \ + --replace-fail '#if canImport(Darwin)' '#if false' + ''; + + strictDeps = true; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift-no-swift-driver + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvm_libtool ]; + + postInstall = '' + # Install the swiftmodule. + mkdir -p "''${!outputDev}/lib/swift/${swiftPlatform}" + cp -v swift/*.swiftmodule "''${!outputDev}/lib/swift/${swiftPlatform}" + + # Install the C module + mkdir -p "''${!outputDev}/include" + cp -v "$NIX_BUILD_TOP/$sourceRoot/Sources/TSCclibc/include"/* "''${!outputDev}/include" + + # Install CMake config file for the SwiftSupportTools library. + mkdir -p mkdir -p "''${!outputDev}/lib/cmake/TSC" + substitute ${./files/TSCConfig.cmake} "''${!outputDev}/lib/cmake/TSC/TSCConfig.cmake" \ + --replace-fail '@buildType@' ${if stdenv.hostPlatform.isStatic then "STATIC" else "SHARED"} \ + --replace-fail '@include@' "''${!outputDev}" \ + --replace-fail '@lib@' "''${!outputLib}" \ + --replace-fail '@swiftPlatform@' ${swiftPlatform} + ''; + + __structuredAttrs = true; + + meta = { + homepage = "https://github.com/swift/swift-tools-support-core"; + description = "Common infrastructure code used by SwiftPM and llbuild"; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-tools-support-core/patches/0001-build-SwiftToolsSupport.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-tools-support-core/patches/0001-build-SwiftToolsSupport.patch new file mode 100644 index 0000000000000..e829a41f92637 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-tools-support-core/patches/0001-build-SwiftToolsSupport.patch @@ -0,0 +1,108 @@ +From 2e4200e2586b2389f2214506bfe5e06102060f15 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Mon, 8 Dec 2025 17:40:01 -0500 +Subject: [PATCH] build SwiftToolsSupport + +--- + Sources/TSCBasic/CMakeLists.txt | 7 +------ + Sources/TSCUtility/CMakeLists.txt | 25 +++++++++++++------------ + Sources/TSCclibc/CMakeLists.txt | 6 ++---- + 3 files changed, 16 insertions(+), 22 deletions(-) + +diff --git a/Sources/TSCBasic/CMakeLists.txt b/Sources/TSCBasic/CMakeLists.txt +index d8b85ea..ebb8cbe 100644 +--- a/Sources/TSCBasic/CMakeLists.txt ++++ b/Sources/TSCBasic/CMakeLists.txt +@@ -6,7 +6,7 @@ + # See http://swift.org/LICENSE.txt for license information + # See http://swift.org/CONTRIBUTORS.txt for Swift project authors + +-add_library(TSCBasic ++add_library(TSCBasic STATIC + Await.swift + ByteString.swift + CStringArray.swift +@@ -69,9 +69,4 @@ target_link_libraries(TSCBasic PRIVATE + set_target_properties(TSCBasic PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + +-install(TARGETS TSCBasic +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) +- + set_property(GLOBAL APPEND PROPERTY TSC_EXPORTS TSCBasic) +diff --git a/Sources/TSCUtility/CMakeLists.txt b/Sources/TSCUtility/CMakeLists.txt +index 8e0a232..78e4558 100644 +--- a/Sources/TSCUtility/CMakeLists.txt ++++ b/Sources/TSCUtility/CMakeLists.txt +@@ -6,7 +6,7 @@ + # See http://swift.org/LICENSE.txt for license information + # See http://swift.org/CONTRIBUTORS.txt for Swift project authors + +-add_library(TSCUtility ++add_library(SwiftToolsSupport + Archiver.swift + ArgumentParser.swift + ArgumentParserShellCompletion.swift +@@ -42,29 +42,30 @@ add_library(TSCUtility + dlopen.swift + misc.swift + ) +-target_link_libraries(TSCUtility PUBLIC +- TSCBasic) +-target_link_libraries(TSCUtility PRIVATE ++target_link_libraries(SwiftToolsSupport PUBLIC ++ $) ++target_link_libraries(SwiftToolsSupport PRIVATE + TSCclibc + ${CMAKE_DL_LIBS} + Threads::Threads) + + if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) + if(CMAKE_SYSTEM_NAME STREQUAL OpenBSD OR CMAKE_SYSTEM_NAME STREQUAL FreeBSD) +- target_link_directories(TSCUtility PRIVATE /usr/local/lib) ++ target_link_directories(SwiftToolsSupport PRIVATE /usr/local/lib) + endif() + if(Foundation_FOUND) +- target_link_libraries(TSCUtility PUBLIC ++ target_link_libraries(SwiftToolsSupport PUBLIC + FoundationNetworking) + endif() + endif() + # NOTE(compnerd) workaround for CMake not setting up include flags yet +-set_target_properties(TSCUtility PROPERTIES ++set_target_properties(SwiftToolsSupport PROPERTIES ++ Swift_MODULE_NAME TSCUtility + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + +-install(TARGETS TSCUtility +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++install(TARGETS SwiftToolsSupport ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + +-set_property(GLOBAL APPEND PROPERTY TSC_EXPORTS TSCUtility) ++set_property(GLOBAL APPEND PROPERTY TSC_EXPORTS SwiftToolsSupport) +diff --git a/Sources/TSCclibc/CMakeLists.txt b/Sources/TSCclibc/CMakeLists.txt +index e28860c..8048c24 100644 +--- a/Sources/TSCclibc/CMakeLists.txt ++++ b/Sources/TSCclibc/CMakeLists.txt +@@ -14,9 +14,7 @@ target_compile_definitions(TSCclibc PRIVATE + "$<$:_GNU_SOURCE>") + set_target_properties(TSCclibc PROPERTIES POSITION_INDEPENDENT_CODE YES) + +-if(NOT BUILD_SHARED_LIBS) +- install(TARGETS TSCclibc +- ARCHIVE DESTINATION lib) +-endif() ++install(TARGETS TSCclibc ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") + + set_property(GLOBAL APPEND PROPERTY TSC_EXPORTS TSCclibc) +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swift/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift/package.nix new file mode 100644 index 0000000000000..f903cea1c61e6 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swift/package.nix @@ -0,0 +1,190 @@ +{ + lib, + callPackage, + stdenvNoCC, + stdlib, + swift-corelibs-xctest, + swift-driver, + swift-testing, + swift_release, + swiftc, +}@args: + +let + getBuildHost = lib.mapAttrs (_: pkg: pkg.__spliced.buildHost or pkg); + getHostTarget = lib.mapAttrs (_: pkg: pkg.__spliced.hostTarget or pkg); + + buildHostPackages = getBuildHost args; + hostTargetPackages = getHostTarget args; + + inherit (buildHostPackages) + swiftc + + swift-corelibs-xctest + swift-driver + swift-testing + ; + + inherit (hostTargetPackages) stdlib; + + stdlibDevPath = lib.escapeShellArg (lib.getDev stdlib); + + includeTesting = swiftc.supportsMacros && swift-testing != null; + swiftPlatform = stdenvNoCC.hostPlatform.swift.platform; +in +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "swift" + lib.removePrefix "swiftc" (lib.getName swiftc); + version = swift_release; + + inherit (swiftc) outputs; + + # swiftcOutputs = lib.genAttrs swiftc.outputs (output: lib.getOutput output swiftc); + + strictDeps = true; + + # Will effectively be `buildInputs` when swift is put in `nativeBuildInputs`. + depsTargetTargetPropagated = lib.optionals (stdlib != null) [ + # Propagate the stdlib to make sure the linker wrapper will pick up the dynamic and static libraries. + stdlib + ]; + + # Will effectively be `nativeBuildInputs` when swift is put in `nativeBuildInputs`. + propagatedBuildInputs = lib.optionals includeTesting [ + swift-corelibs-xctest + swift-testing + ]; + + buildCommand = '' + recordPropagatedDependencies + '' + + lib.concatMapStringsSep "\n" ( + output: + let + outputPath = lib.escapeShellArg (lib.getOutput output swiftc); + in + # Special handling is needed to set up $out/bin for swift-driver. The stdlib also needs linked. + if output == "out" then + '' + # Set up `bin` so that `swift-driver` can be added to it later. + mkdir -p "$out/bin" + for file in ${outputPath}/bin/*; do + dest_file=$out/bin/$(basename "$file") + if [[ -L "$file" && "$(basename "$(readlink -f "$file")")" = swift-frontend ]]; then + ln -s swift-frontend "$dest_file" + else + ln -s "$file" "$dest_file" + fi + done + + # Set up `lib` so that the stdlib can be symlinked into it when it’s a separate derivation. + mkdir -p "$out/lib" + for file in ${outputPath}/lib/*; do + dname=$(basename "$file") + if [[ "$dname" =~ ^swift ]]; then + mkdir -p "$out/lib/$dname" + for f in "$file"/*; do + ln -s "$f" "$out/lib/$dname/$(basename "$f")" + done + else + ln -s "$file" "$out/lib/$(basename "$file")" + fi + done + + # Symlink any other files and folders. + for file in ${outputPath}/*; do + dname=$(basename "$file") + if [ ! -e "$out/$dname" ]; then + ln -s "$file" "$out/$dname" + fi + done + '' + + lib.optionalString (stdlib != null) '' + # `swift-frontend` expects to find everything relative to its location after resolving symlinks. + # It’s easier to copy it instead of patching Swift to work with this. + rm "$out/bin/swift-frontend" + cp ${outputPath}/bin/swift-frontend "$out/bin/swift-frontend" + # Set up the stdlib and Swift compiler libs. These are together under the same lib folder in the toolchain. + for file in ${stdlibDevPath}/lib/*; do + dname=$(basename "$file") + if [ -d "$file" ]; then + mkdir -p "$out/lib/$dname" + for f in "$file"/*; do + ln -s "$f" "$out/lib/$dname/$(basename "$f")" + done + else + ln -s "$file" "$out/lib/$dname" + fi + done + '' + # Propagated inputs in $dev/nix-support have to be substituted to use this derivation instead of swiftc. + else if output == "dev" then + '' + mkdir -p "$dev/nix-support" + for file in ${outputPath}/nix-support/*; do + dest_file=$dev/nix-support/$(basename "$file") + cat "$file" >> "$dest_file" + substituteInPlace "$dev/nix-support/$(basename "$file")" \ + ${lib.concatStringsSep " " ( + lib.zipListsWith ( + swiftcOutput: output: + "--replace-quiet ${lib.escapeShellArg (lib.getOutput swiftcOutput swiftc)} ${placeholder output}" + ) swiftc.outputs finalAttrs.outputs + )} + done + + # Set up the include folder so that stdlib headers can also be symlinked into them. + mkdir -p "$dev/include/swift" + for file in ${outputPath}/include/*; do + dname=$(basename "$file") + if [ "$dname" = "swift" ]; then + for f in "$file"/*; do + ln -s "$f" "$dev/include/$dname/$(basename "$f")" + done + else + ln -s "$file" "$dev/include/$dname" + fi + done + '' + + lib.optionalString (stdlib != null) '' + # Link any headers installed to `$dev/include` from the stdlib. + mkdir -p "$dev/include/swift" + for file in ${stdlibDevPath}/include/swift/*; do + ln -s "$file" "$dev/include/swift/$(basename "$file")" + done + '' + else + '' + ln -s ${outputPath} ${placeholder output} + '' + ) finalAttrs.outputs + + lib.optionalString (swift-driver != null) ( + '' + ln -s ${lib.escapeShellArg (lib.getExe swift-driver)} "$out/bin/swift-driver" + ln -s ${lib.escapeShellArg (lib.getExe' swift-driver "swift-help")} "$out/bin/swift-help" + for exe in swift swiftc; do + mv "$out/bin/$exe" "$out/bin/$exe-legacy-driver" + ln -s swift-driver "$out/bin/$exe" + done + '' + + lib.optionalString (stdlib != null) '' + # `swift-driver` expects to find everything relative to its location after resolving symlinks. + # It’s easier to copy it instead of patching Swift to work with this. + rm "$out/bin/swift-driver" + cp ${lib.escapeShellArg (lib.getExe swift-driver)} "$out/bin/swift-driver" + '' + ); + + __structuredAttrs = true; + + passthru = { + inherit swiftc swift-driver; + }; + + meta = { + description = "Swift Programming Language"; + homepage = "https://github.com/swiftlang/swift"; + inherit (swiftc.meta) platforms; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/package.nix new file mode 100644 index 0000000000000..b7c3e7ae0b56f --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/package.nix @@ -0,0 +1,459 @@ +{ + lib, + apple-sdk_14, + apple-sdk_26, + cmake, + darwin, + fetchFromGitHub, + fetchpatch2, + libedit, + llvm_libtool, + libffi, + libuuid, + libxml2, + llvmPackages, + ninja_1_11, + perl, + python3, + replaceVars, + stdenv, + stdlib, + swift-cmark, + swift-corelibs-libdispatch, + swift-syntax, + swift_release, + swift-bootstrap ? null, + xcbuild, + srcOnly, + xz, + zlib, + zstd, + + # This matches _SWIFT_DEFAULT_COMPONENTS, with specific components disabled. + swiftComponents ? [ + "autolink-driver" + # "clang-builtin-headers" + # "clang-resource-dir-symlink" + "compiler" + "compiler-swift-syntax-lib" + # "dev" + "editor-integration" + # "llvm-toolchain-dev-tools" + "license" + "sdk-overlay" + (if stdenv.hostPlatform.isDarwin then "sourcekit-xpc-service" else "sourcekit-inproc") + # "stdlib-experimental" + "swift-syntax-lib" + # "testsuite-tools" + "toolchain-dev-tools" + "toolchain-tools" + # "tools" + ] + ++ lib.optionals (stdlib == null) [ + "back-deployment" + "sdk-overlay" + "static-mirror-lib" + "stdlib" + "swift-remote-mirror" + "swift-remote-mirror-headers" + ], +}@args: + +let + getBuildHost = lib.mapAttrs (_: pkg: pkg.__spliced.buildHost or pkg); + getHostTarget = lib.mapAttrs (_: pkg: pkg.__spliced.hostTarget or pkg); + + # SDK versions past 14.x don’t work with the c++-based bootstrap compiler due to unconditionally exposing macros. + apple-sdk = if bootstrapStage == 2 then apple-sdk_26 else apple-sdk_14; + # These are different because the 14.4 SDK is only good enough for building Swift. Using it when building other + # packages good enough for building Swift usually results in `swift-frontend` crashes. + propagated-sdk = if bootstrapStage > 0 then apple-sdk_26 else apple-sdk_14; + + buildHostPackages = getBuildHost args; + hostTargetPackages = getHostTarget args; + + swift-driver = swift-bootstrap.swift-driver or null; + + inherit (buildHostPackages.llvmPackages) + clang + clang-unwrapped + llvm + ; + + inherit (hostTargetPackages) + stdlib + + swift-cmark + swift-corelibs-libdispatch + + xz + zlib + zstd + ; + + inherit (hostTargetPackages.llvmPackages) + libclang + libllvm + ; + + # https://github.com/NixOS/nixpkgs/issues/327836 + # Fail to build with ninja 1.12 when NIX_BUILD_CORES is low (Hydra or Github Actions). + # Can reproduce using `nix --option cores 2 build -f . swiftPackages.swift-unwrapped`. + # Until we find out the exact cause, follow [swift upstream][1], pin ninja to version + # 1.11.1. + # [1]: https://github.com/swiftlang/swift/pull/72989 + ninja = ninja_1_11; + + inherit (darwin) sigtool; + + # Swift requires three bootstrap stages (in addition to the bootstrapping it does on its own). + # - Stage 0 builds a minimal Swift compiler using only C++. + # - Stage 1 builds a Swift compiler using the stage 0 Swift compiler. Features needed to build macros are enabled. + # - Stage 2 builds a full Swift compiler using the stage 1 compiler. + bootstrapStage = + if swift-bootstrap == null then + 0 + else if lib.hasSuffix "cxx_bootstrap" (lib.getName swift-bootstrap) then + 1 + else + 2; + + doCheck = bootstrapStage > 0; + + dylibExt = stdenv.hostPlatform.extensions.sharedLibrary; + + isNotSwiftSyntax = if bootstrapStage == 0 then c: !lib.hasInfix "swift-syntax" c else _: true; + + swiftComponents' = lib.filter isNotSwiftSyntax swiftComponents; + + swiftPlatform = stdenv.hostPlatform.swift.platform; + + swift-experimental-string-processing = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-experimental-string-processing"; + tag = "swift-${swift_release}-RELEASE"; + hash = "sha256-WtLLqdvYTmLWSS5q42b8yXFrJcC+dUy4uTuCeIflRFs="; + }; + + swift-syntax = srcOnly { + inherit (hostTargetPackages.swift-syntax) + name + version + src + patches + stdenv + ; + }; +in + +stdenv.mkDerivation (finalAttrs: { + pname = + "swiftc" + + lib.optionalString (bootstrapStage == 0) "-cxx_bootstrap" + + lib.optionalString (bootstrapStage == 1) "-bootstrap"; + version = swift_release; + + outputs = [ + "out" + # "lib" + "dev" + "doc" + "man" + ]; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift"; + tag = "swift-${swift_release}-RELEASE"; + hash = "sha256-apbBe/TMzq0+1XLkaTOj5NaYzLQ81i+vU+O7VSEJrKo="; + }; + + postUnpack = lib.optionalString (bootstrapStage >= 1) '' + ln -s ${lib.escapeShellArg swift-experimental-string-processing} "$NIX_BUILD_TOP/swift-experimental-string-processing" + ln -s ${lib.escapeShellArg swift-syntax} "$NIX_BUILD_TOP/swift-syntax" + ''; + + patches = [ + # ClangImporter needs help finding the location of libc++. + ./patches/0001-clang-importer-libcxx.patch + # Find the location of libc++ from `nix-support` instead of probing for it. + ./patches/0002-cmake-libcxx-flags.patch + # Backport linking against an external swift-cmark. + # From https://github.com/swiftlang/swift/pull/70791. + ./patches/0003-cmark-build-revamp.patch + # ClangImporter needs help dealing with separate glibc and libstdc++ paths on Linux. + ./patches/0004-linux-fix-libc-paths.patch + # Resolve any symlinks when adding rpaths. This is helpful to avoid pulling in the whole Swift closure when only + # the stdlib is needed. + ./patches/0005-resolve-rpath-symlinks.patch + # Fix compilation errors when building the SIL module during bootstrap. + # error: field has incomplete type 'clang::DeclContext::all_lookups_iterator' + # error: field has incomplete type 'clang::DeclContext::ddiag_iterator' + ./patches/0006-sil-missing-headers.patch + # Use libLTO.dylib from the LLVM built for Swift + (replaceVars ./patches/0007-specify-liblto-path.patch { + libllvm_path = lib.getLib libllvm; + }) + # Use libdispatch from nixpkgs instead of building it in-tree + ./patches/0010-use-nixpkgs-libdispatch.patch + # Fix missing when building against libstdc++ 15 + (fetchpatch2 { + url = "https://github.com/swiftlang/swift/commit/a5c727125e952839c373fe47e9f9e359db3d4d38.patch"; + hash = "sha256-004zzB93Kr/kghQCxJ9gFDkWksvtML0ZDsV9d+tEKq0="; + }) + ] + ++ lib.optionals (bootstrapStage < 2) [ + # Revert optimizer changes that cause the C++-based bootstrap compiler to be unable to compile functions with + # infinite loops that return from the loop. This doesn’t affect the later stages, so it’s applied conditionally. + # https://github.com/swiftlang/swift/pull/79186 + ./patches/0008-revert-optimizer-changes.patch + # Work around a compiler crash by partially reverting https://github.com/swiftlang/swift/pull/80920. + ./patches/0009-siloptimizer-bootstrap-workaround.patch + ]; + + postPatch = '' + # Need to reference $lib, so this can’t be substituted by `replaceVars`. The bootstrap compilers use their own + # stdlib, but the final compiler uses the separately built one. + # substituteInPlace lib/Frontend/CompilerInvocation.cpp \ + # --replace-fail '@lib@' ${if stdlib != null then lib.getLib stdlib else ''"''${!outputLib}"''} + + # Swift doesn’t really _need_ LLVM’s build folder. It only needs to find a built LLVM, which we can provide. + substituteInPlace cmake/modules/SwiftSharedCMakeConfig.cmake \ + --replace-fail "precondition_translate_flag(LLVM_BUILD_LIBRARY_DIR LLVM_LIBRARY_DIR)" "" + + # Fix the path to LLVM’s CMake modules. + substituteInPlace lib/Basic/CMakeLists.txt \ + --replace-fail \''${LLVM_MAIN_SRC_DIR}/cmake/modules ${lib.escapeShellArg (lib.getDev libllvm)}/lib/cmake/llvm + + # Find `features.json` in Clang’s $out not LLVM’s. + substituteInPlace lib/Option/CMakeLists.txt \ + --replace-fail \''${LLVM_BINARY_DIR} ${lib.escapeShellArg (lib.getBin clang-unwrapped)} + + # Make sure Swift can find Clang’s resource dir during the build. + substituteInPlace stdlib/public/SwiftShims/swift/shims/CMakeLists.txt \ + --replace-fail \ + 'set(clang_headers_location "''${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/''${CLANG_VERSION${lib.optionalString (lib.versionAtLeast finalAttrs.version "6.0") "_MAJOR"}}")' \ + 'set(clang_headers_location "${lib.getBin clang}/resource-root")' + + # Use absolute path references for `dlopen`. + substituteInPlace stdlib/public/RuntimeModule/Compression.swift \ + --replace-fail liblzma${dylibExt} ${lib.escapeShellArg (lib.getLib xz)}/lib/liblzma${dylibExt} \ + --replace-fail libz${dylibExt} ${lib.escapeShellArg (lib.getLib zlib)}/lib/libz${dylibExt} \ + --replace-fail libzstd${dylibExt} ${lib.escapeShellArg (lib.getLib zstd)}/lib/libzstd${dylibExt} + + # Make sure Swift uses the external macro plugin server built with the compiler. + substituteInPlace lib/Driver/DarwinToolChains.cpp \ + --replace-fail 'basePath, "usr", "bin", "swift-plugin-server"' "\"$out/bin/swift-plugin-server\"" + '' + + lib.optionalString stdenv.targetPlatform.isDarwin '' + # Swift sets the deployment target to 10.9 for some components, but nixpkgs only supports newer ones. + # Overriding it eliminates errors due to -Wunguarded-availability. + # substituteInPlace CMakeLists.txt \ + # --replace-fail 'COMPATIBILITY_MINIMUM_DEPLOYMENT_VERSION_OSX "10.9"' 'COMPATIBILITY_MINIMUM_DEPLOYMENT_VERSION_OSX "${stdenv.targetPlatform.darwinMinVersion}"' + + # Only build the runtime for the target architecture. Universal builds aren’t really supported in nixpkgs, + # and the dylibs in the SDK aren’t built as universal. Use `grep` to assert the change was made. + sed -i cmake/modules/SwiftConfigureSDK.cmake \ + -e 's/^\( *\)remove_sdk_unsupported_archs(.*$/\1set(SWIFT_SDK_''${prefix}_ARCHITECTURES "${stdenv.targetPlatform.darwinArch}")/' + grep -q 'set(SWIFT_SDK_''${prefix}_ARCHITECTURES "${stdenv.targetPlatform.darwinArch}")' cmake/modules/SwiftConfigureSDK.cmake + ''; + + dontFixCmake = true; + + cmakeFlags = [ + (lib.cmakeFeature "BOOTSTRAPPING_MODE" "HOSTTOOLS") # "BOOTSTRAPPING${lib.optionalString stdenv.hostPlatform.isDarwin "-WITH-HOSTLIBS"}") + (lib.cmakeOptionType "list" "SWIFT_INSTALL_COMPONENTS" (lib.concatStringsSep ";" swiftComponents')) + # Needs to be disabled in stage 0 to enable the C++ bootstrap. + (lib.cmakeBool "SWIFT_ENABLE_SWIFT_IN_SWIFT" (bootstrapStage > 0)) + # Swift installs its dylibs to `$lib/lib/swift/host` instead of `$lib/lib`. + (lib.cmakeFeature "CMAKE_INSTALL_NAME_DIR" "${placeholder "out"}/lib/swift/host") + # Make Swift use Clang from nixpkgs instead of building its own. + (lib.cmakeBool "SWIFT_PREBUILT_CLANG" true) + (lib.cmakeFeature "SWIFT_NATIVE_CLANG_TOOLS_PATH" "${lib.getBin clang}/bin") + (lib.cmakeFeature "SWIFT_NATIVE_LLVM_TOOLS_PATH" "${lib.getBin llvm}/bin") + # Swift expects to find these relative to `$src`, but it only actually needs their final build products. + # Instead of being built in the Swift derivation, they’re built separately. This tells CMake how to find them. + (lib.cmakeFeature "Clang_DIR" "${lib.getDev libclang}/lib/cmake/clang") + (lib.cmakeFeature "LLVM_DIR" "${lib.getDev libllvm}/lib/cmake/llvm") + (lib.cmakeFeature "cmark-gfm_DIR" "${swift-cmark.out}/lib/cmake") + # Swift defaults to 10.13, which is too old. Set the deployment target to the minimum supported in nixpkgs. + (lib.cmakeFeature "SWIFT_DARWIN_DEPLOYMENT_VERSION_OSX" stdenv.hostPlatform.darwinMinVersion) + (lib.cmakeFeature "SWIFT_HOST_TRIPLE" stdenv.hostPlatform.swift.triple) + # Tests should only be built when building a regular compiler. The bootstrap compiler is not functional enough. + (lib.cmakeBool "SWIFT_INCLUDE_TESTS" (doCheck && bootstrapStage != 2)) + ] + ++ lib.optionals (bootstrapStage == 1) [ + # Work around crashes in ownership verifier in the bootstrap compiler. + # See https://github.com/swiftlang/swift/issues/84552#issuecomment-3409245634 + "-DCMAKE_Swift_FLAGS=-Xfrontend -disable-sil-ownership-verifier" + ] + ++ lib.optionals (bootstrapStage >= 1) [ + # These features are needed for the final build due to using unguarded macros in the SDK required to build it. + (lib.cmakeBool "SWIFT_BUILD_SWIFT_SYNTAX" true) + (lib.cmakeBool "SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY" true) + (lib.cmakeBool "SWIFT_ENABLE_EXPERIMENTAL_OBSERVATION" true) + (lib.cmakeBool "SWIFT_ENABLE_EXPERIMENTAL_STRING_PROCESSING" true) + ] + ++ lib.optionals (bootstrapStage >= 2) [ + # Build Swift with LTO for better performance. Thin LTO is used instead of full LTO because full LTO is too slow. + # (lib.cmakeFeature "SWIFT_TOOLS_ENABLE_LTO" "thin") + # (lib.cmakeFeature "SWIFT_STDLIB_ENABLE_LTO" "thin") + # Enable the remaining features + (lib.cmakeBool "SWIFT_ENABLE_BACKTRACING" true) + (lib.cmakeBool "SWIFT_ENABLE_EXPERIMENTAL_CXX_INTEROP" true) + (lib.cmakeBool "SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING" true) + (lib.cmakeBool "SWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED" true) + (lib.cmakeBool "SWIFT_ENABLE_EXPERIMENTAL_PARSER_VALIDATION" true) + (lib.cmakeBool "SWIFT_ENABLE_EXPERIMENTAL_POINTER_BOUNDS" true) + (lib.cmakeBool "SWIFT_ENABLE_EXPERIMENTAL_RUNTIME_MODULE" true) + (lib.cmakeBool "SWIFT_ENABLE_SYNCHRONIZATION" true) + (lib.cmakeBool "SWIFT_ENABLE_VOLATILE" true) + (lib.cmakeBool "SWIFT_ENABLE_RUNTIME_MODULE" true) + (lib.cmakeBool "SWIFT_STDLIB_ENABLE_STRICT_AVAILABILITY" true) + ]; + + env = { + # Swift uses `-apple.macosx` triples instead of `-apple-darwin`, which causes tons of warnings. + NIX_CC_WRAPPER_SUPPRESS_TARGET_WARNING = true; + # Swift compiles some of its stdlib for older deployment targets. + NIX_CFLAGS_COMPILE = "-Wno-error=unguarded-availability"; + }; + + preConfigure = + lib.optionalString stdenv.hostPlatform.isDarwin '' + # `env.NIX_LDFLAGS` can’t be done conditionally because all obvious conditions cause infinite recursions. + if [ $NIX_APPLE_SDK_VERSION -lt 260000 ]; then + # Swift 6.2 needs to weakly link against `swift_coroFrameAlloc`, which is only in the 26.0 SDK. + # Unfortunately, the 26.0 SDK uses unguarded macros, so the C++ bootstrap compiler has to use the 14.4 SDK. + NIX_LDFLAGS+=" -undefined dynamic_lookup" + fi + '' + + lib.optionalString (swift-driver != null) '' + appendToVar cmakeFlags "-DSWIFT_EARLY_SWIFT_DRIVER_BUILD:PATH=${lib.escapeShellArg (lib.getBin swift-driver)}/bin" + '' + + lib.optionalString (bootstrapStage >= 1) '' + appendToVar cmakeFlags "-DSWIFT_PATH_TO_STRING_PROCESSING_SOURCE:PATH=$NIX_BUILD_TOP/swift-experimental-string-processing" + appendToVar cmakeFlags "-DSWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE:PATH=$NIX_BUILD_TOP/swift-syntax" + ''; + + # postConfigure = + # # Link the final compiler against the separate stdlib instead of building it with the compiler. + # lib.optionalString (stdlib != null) '' + # stdlibDir=lib/swift/${stdenv.hostPlatform.swift.platform} + # mkdir -p "$stdlibDir" + # for dylib in ${lib.escapeShellArg (lib.getLib stdlib)}/lib/*; do + # ln -s "$dylib" "$stdlibDir/$(basename "$dylib")" + # done + # + # for module in ${lib.escapeShellArg (lib.getDev stdlib)}/lib/swift/${stdenv.hostPlatform.swift.platform}/*; do + # ln -s "$module" "$stdlibDir/$(basename "$module")" + # done + # ''; + + strictDeps = true; + + ninjaFlags = swiftComponents'; + # ninjaFlags = lib.optionals (bootstrapStage >= 1) [ + # "all" + # "swift-syntax-lib" # `swift-syntax-lib` doesn’t seem to be included in the `all` target for some reason. + # ]; + + nativeBuildInputs = [ + cmake + ninja + perl # For pod2man + python3 + swift-bootstrap + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + llvm_libtool + sigtool + xcbuild + ]; + + buildInputs = [ + libedit + libffi + libllvm + libxml2 + swift-cmark.out + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libuuid + (swift-corelibs-libdispatch.override { useSwift = false; }) + ]; + + inherit doCheck; + + postInstall = '' + # Swift has a separate resource root from Clang, but locates the Clang + # resource root via subdir or symlink. + # + # NOTE: We don't symlink directly here, because that'd add a run-time dep + # on the full Clang compiler to every Swift executable. The copy here is + # just copying the 3 symlinks inside to smaller closures. + mkdir -p "''${!outputLib}/lib/swift/clang" + cp -P ${lib.escapeShellArg (lib.getBin clang)}/resource-root/* "''${!outputLib}/lib/swift/clang/" + + # Swift 6 installs private Swift Syntax dylibs to $lib/lib/swift/host/compiler, which `CMAKE_INSTALL_NAME_DIR` + # mangles to the wrong paths. + # Fix up the install names of all the dylibs generated by the build process. fixupDarwinDylibNames doesn’t work. + while IFS= read -d "" dylib; do + dylib_name=$(basename "$dylib") + echo "$dylib: fixing dylib" + install_name_tool "$dylib" -id "$dylib" + done < <(find "''${!outputLib}/lib/swift/host/compiler" -name '*.dylib' -print0) + readarray -t -d "" args < <( + find "''${!outputLib}/lib/swift/host/compiler" -name '*.dylib' \ + -printf "-change\0''${!outputLib}/lib/swift/host/%f\0%p\0" + ) + for output in out lib; do + while IFS= read -d "" exe; do + if [[ "$exe" != *.a ]] && LC_ALL=C isMachO "$exe"; then + res=$(install_name_tool "$exe" "''${args[@]}" 2>&1) + if [[ "$res" =~ invalidate ]]; then codesign -s - -f "$exe"; fi + fi + done < <(find "''${!output}" -type f -print0) + done + '' + # Swift installs some back-deployment and stdlib components as part of the compiler component. Delete them. + + lib.optionalString (stdlib != null) '' + rm -rf "''${!outputLib}/lib/swift/${swiftPlatform}" + rm -rf "''${!outputLib}/lib/swift-6.2" + rm -rf "''${!outputLib}/lib/swift_static" + '' + # Remove early Swift Driver from `$out/bin`. It will be supplied by the `swift` derivation. + + lib.optionalString (swift-driver != null) '' + declare -a swiftDriverFiles=( + swift + swift-driver + swift-help + swift-legacy-driver + swiftc + swiftc-legacy-driver + ) + for file in "''${swiftDriverFiles[@]}"; do + rm "''${!outputBin}/bin/$file" + done + ln -s swift-frontend "''${!outputBin}/bin/swift" + ln -s swift-frontend "''${!outputBin}/bin/swiftc" + ''; + + # Will effectively be `buildInputs` when swift is put in `nativeBuildInputs`. + depsTargetTargetPropagated = lib.optionals stdenv.targetPlatform.isDarwin [ propagated-sdk ]; + + __structuredAttrs = true; + + passthru.supportsMacros = bootstrapStage > 1; + + meta = { + description = "Swift Programming Language"; + homepage = "https://github.com/swiftlang/swift"; + platforms = lib.platforms.darwin ++ lib.platforms.linux ++ lib.platforms.windows; + badPlatforms = [ lib.systems.inspect.patterns.is32bit ]; + license = lib.licenses.asl20; + teams = [ lib.teams.swift ]; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0001-clang-importer-libcxx.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0001-clang-importer-libcxx.patch new file mode 100644 index 0000000000000..53714022bdf72 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0001-clang-importer-libcxx.patch @@ -0,0 +1,47 @@ +From bcc09367f2b53da9654a074b374e5732dbbc2ce2 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sun, 4 Jan 2026 14:37:05 -0500 +Subject: [PATCH] clang-importer-libcxx + +--- + lib/ClangImporter/ClangImporter.cpp | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git a/lib/ClangImporter/ClangImporter.cpp b/lib/ClangImporter/ClangImporter.cpp +index 47361b38a0f..8b7b93b9175 100644 +--- a/lib/ClangImporter/ClangImporter.cpp ++++ b/lib/ClangImporter/ClangImporter.cpp +@@ -565,6 +565,30 @@ void importer::getNormalInvocationArguments( + } + + if (LangOpts.EnableCXXInterop) { ++ // Ensure the libc++ headers are available. ++ if (auto nixCC = ::getenv("NIX_CC")) { ++ llvm::BumpPtrAllocator allocator; ++ llvm::StringSaver saver(allocator); ++ ++ // Treat `libcxx-cxxflags` as a response file for Clang. Because Clang ++ // expects response files to be expanded already at this point, it has ++ // to be expanded manually. ++ llvm::SmallString<256> path = StringRef(nixCC); ++ llvm::sys::path::append(path, "nix-support", "libcxx-cxxflags"); ++ if (auto buffer = llvm::vfs::getRealFileSystem()->getBufferForFile(path)) { ++ auto contents = (*buffer)->getMemBufferRef().getBuffer(); ++ llvm::SmallVector args; ++#if _WIN32 ++ llvm::cl::TokenizeWindowsCommandLineNoCopy(contents, saver, args); ++#else ++ llvm::cl::TokenizeGNUCommandLine(contents, saver, args); ++#endif ++ for (auto arg : args) { ++ invocationArgStrs.push_back(arg); ++ } ++ } ++ } ++ + if (auto path = getCxxShimModuleMapPath(searchPathOpts, LangOpts, triple)) { + invocationArgStrs.push_back((Twine("-fmodule-map-file=") + *path).str()); + } +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0002-cmake-libcxx-flags.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0002-cmake-libcxx-flags.patch new file mode 100644 index 0000000000000..2050b1fbdfee9 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0002-cmake-libcxx-flags.patch @@ -0,0 +1,68 @@ +From 031612d5be2e17c41fdb83a546ba1d5ce585208e Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sun, 4 Jan 2026 14:37:22 -0500 +Subject: [PATCH] cmake-libcxx-flags + +On Darwin, the SDK is a directory of stubs, and libc++ lives separately. +We need to patch the CMake files in several places to make the build for +C++ interop succeed. The required flags can be read from cc-wrapper +support files. +--- + SwiftCompilerSources/CMakeLists.txt | 17 +++++------------ + cmake/modules/SwiftConfigureSDK.cmake | 12 ++++++++++++ + 2 files changed, 17 insertions(+), 12 deletions(-) + +diff --git a/SwiftCompilerSources/CMakeLists.txt b/SwiftCompilerSources/CMakeLists.txt +index f3841892244..aa2112e68a2 100644 +--- a/SwiftCompilerSources/CMakeLists.txt ++++ b/SwiftCompilerSources/CMakeLists.txt +@@ -68,18 +68,11 @@ set(SWIFT_COMPILER_SOURCES_SDK_FLAGS_default) + if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_DARWIN_PLATFORMS) + set(sdk_path "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${SWIFT_HOST_VARIANT_ARCH}_PATH}") + list(APPEND SWIFT_COMPILER_SOURCES_SDK_FLAGS_default "-sdk" "${sdk_path}") +- if(NOT EXISTS "${sdk_path}/usr/include/c++") +- # Darwin SDKs in Xcode 12 or older do not include libc++, which prevents clang from finding libc++ when invoked +- # from ClangImporter. This results in build errors. To workaround this, let's explicitly pass the path to libc++ +- # to clang. +- message(WARNING "Building with an outdated Darwin SDK: libc++ missing from the ${SWIFT_HOST_VARIANT_SDK} SDK. Will use libc++ from the toolchain.") +- get_filename_component(absolute_libcxx_path "${CMAKE_C_COMPILER}/../../include/c++/v1" REALPATH) +- if (EXISTS "${absolute_libcxx_path}") +- list(APPEND SWIFT_COMPILER_SOURCES_SDK_FLAGS_default "-Xcc" "-isystem" "-Xcc" "${absolute_libcxx_path}") +- else() +- message(ERROR "libc++ not found in the toolchain.") +- endif() +- endif() ++ file(READ "$ENV{NIX_CC}/nix-support/libcxx-cxxflags" nix_libcxx_cxxflags) ++ separate_arguments(nix_libcxx_cxxflags) ++ foreach(nix_libcxx_cxxflag ${nix_libcxx_cxxflags}) ++ set(sdk_option ${sdk_option} "-Xcc" "${nix_libcxx_cxxflag}") ++ endforeach() + elseif(BOOTSTRAPPING_MODE STREQUAL "CROSSCOMPILE") + list(APPEND SWIFT_COMPILER_SOURCES_SDK_FLAGS_default "-sdk" "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${SWIFT_HOST_VARIANT_ARCH}_PATH}") + endif() +diff --git a/cmake/modules/SwiftConfigureSDK.cmake b/cmake/modules/SwiftConfigureSDK.cmake +index c7d403552bd..d4fa3597acd 100644 +--- a/cmake/modules/SwiftConfigureSDK.cmake ++++ b/cmake/modules/SwiftConfigureSDK.cmake +@@ -282,6 +282,18 @@ macro(configure_sdk_darwin + # Add this to the list of known SDKs. + list(APPEND SWIFT_CONFIGURED_SDKS "${prefix}") + ++ set(cxx_overlay_opt "") ++ if("${prefix}" STREQUAL "OSX") ++ file(READ "$ENV{NIX_CC}/nix-support/libcxx-cxxflags" nix_libcxx_cxxflags) ++ separate_arguments(nix_libcxx_cxxflags) ++ foreach(nix_libcxx_cxxflag ${nix_libcxx_cxxflags}) ++ set(cxx_overlay_opt ${cxx_overlay_opt} "-Xcc" "${nix_libcxx_cxxflag}") ++ endforeach() ++ endif() ++ set(SWIFT_SDK_${prefix}_CXX_OVERLAY_SWIFT_COMPILE_FLAGS ++ ${cxx_overlay_opt} ++ CACHE STRING "Extra flags for compiling the C++ overlay") ++ + _report_sdk("${prefix}") + endmacro() + +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0003-cmark-build-revamp.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0003-cmark-build-revamp.patch new file mode 100644 index 0000000000000..91b9f6f57a99b --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0003-cmark-build-revamp.patch @@ -0,0 +1,58 @@ +From e2399cc780162ec385fa9fbde945a04e65b78688 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sun, 4 Jan 2026 14:38:01 -0500 +Subject: [PATCH] cmark-build-revamp + +--- + cmake/modules/SwiftSharedCMakeConfig.cmake | 28 ---------------------- + 1 file changed, 28 deletions(-) + +diff --git a/cmake/modules/SwiftSharedCMakeConfig.cmake b/cmake/modules/SwiftSharedCMakeConfig.cmake +index ff552d65a90..3bbd6a13262 100644 +--- a/cmake/modules/SwiftSharedCMakeConfig.cmake ++++ b/cmake/modules/SwiftSharedCMakeConfig.cmake +@@ -198,33 +198,6 @@ macro(swift_common_standalone_build_config_clang product) + include_directories(${CLANG_INCLUDE_DIRS}) + endmacro() + +-macro(swift_common_standalone_build_config_cmark product) +- set(${product}_PATH_TO_CMARK_SOURCE "${${product}_PATH_TO_CMARK_SOURCE}" +- CACHE PATH "Path to CMark source code.") +- set(${product}_PATH_TO_CMARK_BUILD "${${product}_PATH_TO_CMARK_BUILD}" +- CACHE PATH "Path to the directory where CMark was built.") +- set(${product}_CMARK_LIBRARY_DIR "${${product}_CMARK_LIBRARY_DIR}" CACHE PATH +- "Path to the directory where CMark was installed.") +- get_filename_component(PATH_TO_CMARK_BUILD "${${product}_PATH_TO_CMARK_BUILD}" +- ABSOLUTE) +- get_filename_component(CMARK_MAIN_SRC_DIR "${${product}_PATH_TO_CMARK_SOURCE}" +- ABSOLUTE) +- get_filename_component(CMARK_LIBRARY_DIR "${${product}_CMARK_LIBRARY_DIR}" +- ABSOLUTE) +- +- set(CMARK_MAIN_INCLUDE_DIR "${CMARK_MAIN_SRC_DIR}/src/include") +- set(CMARK_BUILD_INCLUDE_DIR "${PATH_TO_CMARK_BUILD}/src") +- +- file(TO_CMAKE_PATH "${CMARK_MAIN_INCLUDE_DIR}" CMARK_MAIN_INCLUDE_DIR) +- file(TO_CMAKE_PATH "${CMARK_BUILD_INCLUDE_DIR}" CMARK_BUILD_INCLUDE_DIR) +- +- include_directories("${CMARK_MAIN_INCLUDE_DIR}" +- "${CMARK_BUILD_INCLUDE_DIR}") +- +- include(${PATH_TO_CMARK_BUILD}/src/cmarkTargets.cmake) +- add_definitions(-DCMARK_STATIC_DEFINE) +-endmacro() +- + # Common cmake project config for standalone builds. + # + # Parameters: +@@ -235,7 +208,6 @@ macro(swift_common_standalone_build_config product) + swift_common_standalone_build_config_llvm(${product}) + if(SWIFT_INCLUDE_TOOLS) + swift_common_standalone_build_config_clang(${product}) +- swift_common_standalone_build_config_cmark(${product}) + endif() + + # Enable groups for IDE generators (Xcode and MSVC). +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0004-linux-fix-libc-paths.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0004-linux-fix-libc-paths.patch new file mode 100644 index 0000000000000..c4be4e04e0fc6 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0004-linux-fix-libc-paths.patch @@ -0,0 +1,87 @@ +From b8a0d5a28fbb80be6fe000103cb6c9068541c601 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sun, 4 Jan 2026 14:38:42 -0500 +Subject: [PATCH] linux-fix-libc-paths + +This code injects an LLVM modulemap for glibc and libstdc++ by +overriding specific VFS paths. In order to do that, it needs to know the +actual locations of glibc and libstdc++, but it only searches `-sysroot` +and fails. Here we patch it to also consider `-idirafter` and `-isystem` +as added by cc-wrapper. +--- + lib/ClangImporter/ClangIncludePaths.cpp | 38 +++++++++++++++++++++++-- + 1 file changed, 36 insertions(+), 2 deletions(-) + +diff --git a/lib/ClangImporter/ClangIncludePaths.cpp b/lib/ClangImporter/ClangIncludePaths.cpp +index 948b99876f0..7e43c2d1409 100644 +--- a/lib/ClangImporter/ClangIncludePaths.cpp ++++ b/lib/ClangImporter/ClangIncludePaths.cpp +@@ -144,6 +144,7 @@ ClangImporter::createClangDriver( + /// \return a path without dots (`../`, './'). + static std::optional findFirstIncludeDir( + const llvm::opt::InputArgList &args, ++ const llvm::opt::ArgList &DriverArgs, + const ArrayRef expectedFileNames, + const llvm::IntrusiveRefCntPtr &vfs) { + // C++ stdlib paths are added as `-internal-isystem`. +@@ -154,6 +155,39 @@ static std::optional findFirstIncludeDir( + args.getAllArgValues( + clang::driver::options::OPT_internal_externc_isystem)); + ++ // Nix adds the C stdlib include path using `-idirafter`. ++ llvm::append_range(includeDirs, ++ DriverArgs.getAllArgValues( ++ clang::driver::options::OPT_idirafter)); ++ // Nix adds the C++ stdlib include path using `-cxx-isystem`. ++ llvm::append_range(includeDirs, ++ DriverArgs.getAllArgValues( ++ clang::driver::options::OPT_cxx_isystem)); ++ ++ // Get the libc path and flags from the wrapper. ++ if (auto nixCC = ::getenv("NIX_CC")) { ++ llvm::BumpPtrAllocator allocator; ++ llvm::StringSaver saver(allocator); ++ ++ // Treat `libc-cflags` as a response file for Clang. Because Clang ++ // expects response files to be expanded already at this point, it has ++ // to be expanded manually. ++ for (auto flagsDir : {"libc-cflags", "libcxx-cxxflags"}) { ++ llvm::SmallString<256> path = StringRef(nixCC); ++ llvm::sys::path::append(path, "nix-support", flagsDir); ++ if (auto buffer = llvm::vfs::getRealFileSystem()->getBufferForFile(path)) { ++ auto contents = (*buffer)->getMemBufferRef().getBuffer(); ++ llvm::SmallVector args; ++#if _WIN32 ++ llvm::cl::TokenizeWindowsCommandLineNoCopy(contents, saver, args); ++#else ++ llvm::cl::TokenizeGNUCommandLine(contents, saver, args); ++#endif ++ llvm::append_range(includeDirs, args); ++ } ++ } ++ } ++ + for (const auto &includeDir : includeDirs) { + Path dir(includeDir); + bool allExpectedExist = true; +@@ -221,7 +255,7 @@ getLibcFileMapping(const ASTContext &ctx, StringRef modulemapFileName, + // modulemap are present. + Path libcDir; + if (auto dir = findFirstIncludeDir( +- parsedIncludeArgs, {"inttypes.h", "unistd.h", "stdint.h"}, vfs)) { ++ parsedIncludeArgs, clangDriverArgs, {"inttypes.h", "unistd.h", "stdint.h"}, vfs)) { + libcDir = dir.value(); + } else { + if (!suppressDiagnostic) +@@ -302,7 +336,7 @@ static void getLibStdCxxFileMapping( + return; + + Path cxxStdlibDir; +- if (auto dir = findFirstIncludeDir(parsedStdlibArgs, ++ if (auto dir = findFirstIncludeDir(parsedStdlibArgs, clangDriverArgs, + {"cstdlib", "string", "vector"}, vfs)) { + cxxStdlibDir = dir.value(); + } else { +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0005-resolve-rpath-symlinks.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0005-resolve-rpath-symlinks.patch new file mode 100644 index 0000000000000..0db0a66255258 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0005-resolve-rpath-symlinks.patch @@ -0,0 +1,85 @@ +From 4c3dc91a681512bd2630e1bfcfa0bab43b521d32 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sun, 1 Feb 2026 16:14:09 -0500 +Subject: [PATCH] resolve-rpath-symlinks + +--- + lib/Driver/DarwinToolChains.cpp | 15 ++++++++++++--- + lib/Driver/UnixToolChains.cpp | 7 ++++++- + 2 files changed, 18 insertions(+), 4 deletions(-) + +diff --git a/lib/Driver/DarwinToolChains.cpp b/lib/Driver/DarwinToolChains.cpp +index 7d4d7d61071..013c0a53ad2 100644 +--- a/lib/Driver/DarwinToolChains.cpp ++++ b/lib/Driver/DarwinToolChains.cpp +@@ -39,6 +39,8 @@ + #include "llvm/Support/Program.h" + #include "llvm/Support/VersionTuple.h" + ++#include ++ + using namespace swift; + using namespace swift::driver; + using namespace llvm::opt; +@@ -149,9 +151,13 @@ static void addLinkRuntimeLibRPath(const ArgList &Args, + + SmallString<128> ClangLibraryPath; + TC.getClangLibraryPath(Args, ClangLibraryPath); +- ++ ++ char pathBuf[4096]; ++ if(readlink(ClangLibraryPath.c_str(), pathBuf, sizeof(pathBuf)) < 0) { abort(); } ++ std::string pathString(pathBuf); ++ + Arguments.push_back("-rpath"); +- Arguments.push_back(Args.MakeArgString(ClangLibraryPath)); ++ Arguments.push_back(Args.MakeArgString(pathString)); + } + + static void addLinkSanitizerLibArgsForDarwin(const ArgList &Args, +@@ -426,9 +432,12 @@ toolchains::Darwin::addArgsToLinkStdlib(ArgStringList &Arguments, + // optional behaviour so that people downloading snapshot toolchains for + // testing new stdlibs will be able to link to the stdlib bundled in + // that toolchain. ++ char pathBuf[4096]; + for (auto path : RuntimeLibPaths) { ++ if (readlink(path.c_str(), pathBuf, sizeof(pathBuf)) < 0) { abort(); } ++ std::string pathString(pathBuf); + Arguments.push_back("-rpath"); +- Arguments.push_back(context.Args.MakeArgString(path)); ++ Arguments.push_back(context.Args.MakeArgString(pathBuf)); + } + } else if (!tripleRequiresRPathForSwiftLibrariesInOS(getTriple()) || + context.Args.hasArg(options::OPT_no_stdlib_rpath)) { +diff --git a/lib/Driver/UnixToolChains.cpp b/lib/Driver/UnixToolChains.cpp +index 33e61b82145..05febb13cad 100644 +--- a/lib/Driver/UnixToolChains.cpp ++++ b/lib/Driver/UnixToolChains.cpp +@@ -37,6 +37,8 @@ + #include "llvm/Support/Process.h" + #include "llvm/Support/Program.h" + ++#include ++ + using namespace swift; + using namespace swift::driver; + using namespace llvm::opt; +@@ -221,11 +223,14 @@ toolchains::GenericUnix::constructInvocation(const DynamicLinkJobAction &job, + /*Shared=*/!(staticExecutable || staticStdlib)); + + if (addRuntimeRPath(getTriple(), context.Args)) { ++ char pathBuf[4096]; + for (auto path : RuntimeLibPaths) { ++ if (readlink(path.c_str(), pathBuf, sizeof(pathBuf)) < 0) { abort(); } ++ std::string pathString(pathBuf); + Arguments.push_back("-Xlinker"); + Arguments.push_back("-rpath"); + Arguments.push_back("-Xlinker"); +- Arguments.push_back(context.Args.MakeArgString(path)); ++ Arguments.push_back(context.Args.MakeArgString(pathString)); + } + } + +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0006-sil-missing-headers.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0006-sil-missing-headers.patch new file mode 100644 index 0000000000000..b46f98e4fbfb9 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0006-sil-missing-headers.patch @@ -0,0 +1,29 @@ +From 4b47fbf51e3d49ab520bba333c52faf9583feeb7 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sun, 4 Jan 2026 14:46:08 -0500 +Subject: [PATCH] sil-missing-headers + +Fix compilation errors when building the SIL module during bootstrap. + + error: field has incomplete type 'clang::DeclContext::all_lookups_iterator' + error: field has incomplete type 'clang::DeclContext::ddiag_iterator' +--- + include/swift/AST/ASTBridging.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/swift/AST/ASTBridging.h b/include/swift/AST/ASTBridging.h +index 115d6849866..deeb500e3b3 100644 +--- a/include/swift/AST/ASTBridging.h ++++ b/include/swift/AST/ASTBridging.h +@@ -24,6 +24,8 @@ + #ifdef USED_IN_CPP_SOURCE + #include "swift/AST/Attr.h" + #include "swift/AST/Decl.h" ++#include "clang/AST/DeclLookups.h" ++#include "clang/AST/DependentDiagnostic.h" + #endif + + SWIFT_BEGIN_NULLABILITY_ANNOTATIONS +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0007-specify-liblto-path.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0007-specify-liblto-path.patch new file mode 100644 index 0000000000000..f4154dfbf65b0 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0007-specify-liblto-path.patch @@ -0,0 +1,44 @@ +From 3e8019c6c279ee0ec1567d0c55b722828f898cb7 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sun, 4 Jan 2026 14:47:06 -0500 +Subject: [PATCH] specify-liblto-path + +--- + cmake/modules/UnixCompileRules.cmake | 2 +- + lib/Driver/DarwinToolChains.cpp | 7 ++----- + 2 files changed, 3 insertions(+), 6 deletions(-) + +diff --git a/cmake/modules/UnixCompileRules.cmake b/cmake/modules/UnixCompileRules.cmake +index 06a597b5ebb..e9086801408 100644 +--- a/cmake/modules/UnixCompileRules.cmake ++++ b/cmake/modules/UnixCompileRules.cmake +@@ -18,7 +18,7 @@ set(CMAKE_CXX_ARCHIVE_FINISH "") + # just-built bitcode format. So let's instead ask ar/ranlib/libtool to use the + # just-built libLTO.dylib from the toolchain that we're using to build. + if(APPLE AND SWIFT_NATIVE_CLANG_TOOLS_PATH) +- set(liblto_path "${SWIFT_NATIVE_CLANG_TOOLS_PATH}/../lib/libLTO.dylib") ++ set(liblto_path "@libllvm_path@/lib/libLTO.dylib") + + set(CMAKE_C_ARCHIVE_CREATE "${CMAKE_COMMAND} -E env LIBLTO_PATH=${liblto_path} crs ") + set(CMAKE_C_ARCHIVE_APPEND "${CMAKE_COMMAND} -E env LIBLTO_PATH=${liblto_path} qs ") +diff --git a/lib/Driver/DarwinToolChains.cpp b/lib/Driver/DarwinToolChains.cpp +index 013c0a53ad2..9fb12e65454 100644 +--- a/lib/Driver/DarwinToolChains.cpp ++++ b/lib/Driver/DarwinToolChains.cpp +@@ -276,11 +276,8 @@ void toolchains::Darwin::addLTOLibArgs(ArgStringList &Arguments, + Arguments.push_back("-lto_library"); + Arguments.push_back(context.Args.MakeArgString(context.OI.LibLTOPath)); + } else { +- // Check for relative libLTO.dylib. This would be the expected behavior in an +- // Xcode toolchain. +- StringRef P = llvm::sys::path::parent_path(getDriver().getSwiftProgramPath()); +- llvm::SmallString<128> LibLTOPath(P); +- llvm::sys::path::remove_filename(LibLTOPath); // Remove '/bin' ++ // Use the LTO dylib from the LLVM built for Swift. ++ llvm::SmallString<128> LibLTOPath("@libllvm_path@"); + llvm::sys::path::append(LibLTOPath, "lib"); + llvm::sys::path::append(LibLTOPath, "libLTO.dylib"); + if (llvm::sys::fs::exists(LibLTOPath)) { +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0008-revert-optimizer-changes.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0008-revert-optimizer-changes.patch new file mode 100644 index 0000000000000..8958481fe22ed --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0008-revert-optimizer-changes.patch @@ -0,0 +1,981 @@ +From 401d33ef3c31aa7a924f33c36b9c3fe34e9cdea5 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sun, 4 Jan 2026 14:40:44 -0500 +Subject: [PATCH] revert-optimizer-changes + +We need to restore several optimizations that were removed to Swift +because otherwise the C++-only bootstrap driver will crash when building +Swift Compiler Driver and its dependencies for early-swift-driver. +--- + .../swift/SILOptimizer/PassManager/Passes.def | 2 + + .../swift/SILOptimizer/Utils/InstOptUtils.h | 5 + + .../Mandatory/PredictableMemOpt.cpp | 820 ++++++++++++++++++ + lib/SILOptimizer/PassManager/PassPipeline.cpp | 2 +- + 4 files changed, 828 insertions(+), 1 deletion(-) + +diff --git a/include/swift/SILOptimizer/PassManager/Passes.def b/include/swift/SILOptimizer/PassManager/Passes.def +index c9a500bbb66..b97790ba1f3 100644 +--- a/include/swift/SILOptimizer/PassManager/Passes.def ++++ b/include/swift/SILOptimizer/PassManager/Passes.def +@@ -381,6 +381,8 @@ LEGACY_PASS(PerformanceConstantPropagation, "performance-constant-propagation", + "Constant Propagation for Performance without Diagnostics") + LEGACY_PASS(PerformanceDiagnostics, "performance-diagnostics", + "Constant Propagation for Performance without Diagnostics") ++LEGACY_PASS(PredictableMemoryAccessOptimizations, "predictable-memaccess-opts", ++ "Predictable Memory Access Optimizations for Diagnostics") + LEGACY_PASS(PredictableDeadAllocationElimination, "predictable-deadalloc-elim", + "Eliminate dead temporary allocations after diagnostics") + LEGACY_PASS(RedundantPhiElimination, "redundant-phi-elimination", +diff --git a/include/swift/SILOptimizer/Utils/InstOptUtils.h b/include/swift/SILOptimizer/Utils/InstOptUtils.h +index d48e78938da..71805e93abf 100644 +--- a/include/swift/SILOptimizer/Utils/InstOptUtils.h ++++ b/include/swift/SILOptimizer/Utils/InstOptUtils.h +@@ -592,6 +592,11 @@ bool tryEliminateOnlyOwnershipUsedForwardingInst( + IntegerLiteralInst *optimizeBuiltinCanBeObjCClass(BuiltinInst *bi, + SILBuilder &builder); + ++/// Performs "predictable" memory access optimizations. ++/// ++/// See the PredictableMemoryAccessOptimizations pass. ++bool optimizeMemoryAccesses(SILFunction *fn); ++ + /// Performs "predictable" dead allocation optimizations. + /// + /// See the PredictableDeadAllocationElimination pass. +diff --git a/lib/SILOptimizer/Mandatory/PredictableMemOpt.cpp b/lib/SILOptimizer/Mandatory/PredictableMemOpt.cpp +index 20e0211c91b..8f57ce653c0 100644 +--- a/lib/SILOptimizer/Mandatory/PredictableMemOpt.cpp ++++ b/lib/SILOptimizer/Mandatory/PredictableMemOpt.cpp +@@ -41,6 +41,7 @@ using namespace swift; + static llvm::cl::opt EnableAggressiveExpansionBlocking( + "enable-aggressive-expansion-blocking", llvm::cl::init(false)); + ++STATISTIC(NumLoadPromoted, "Number of loads promoted"); + STATISTIC(NumLoadTakePromoted, "Number of load takes promoted"); + STATISTIC(NumDestroyAddrPromoted, "Number of destroy_addrs promoted"); + STATISTIC(NumAllocRemoved, "Number of allocations completely removed"); +@@ -496,6 +497,12 @@ struct AvailableValueDataflowFixup: AvailableValueFixup { + // Clears insertedInsts. + void verifyOwnership(DeadEndBlocks &deBlocks); + ++ // Fix ownership of inserted instructions and delete dead instructions. ++ // ++ // Clears insertedInsts. ++ void fixupOwnership(InstructionDeleter &deleter, ++ DeadEndBlocks &deBlocks); ++ + // Deletes all insertedInsts without fixing ownership. + // Clears insertedInsts. + void deleteInsertedInsts(InstructionDeleter &deleter); +@@ -542,6 +549,32 @@ void AvailableValueDataflowFixup::verifyOwnership(DeadEndBlocks &deBlocks) { + insertedInsts.clear(); + } + ++// In OptimizationMode::PreserveAlloc, delete any inserted instructions that are ++// still dead and fix ownership of any live inserted copies or casts ++// (mark_dependence). ++void AvailableValueDataflowFixup::fixupOwnership(InstructionDeleter &deleter, ++ DeadEndBlocks &deBlocks) { ++ for (auto *inst : insertedInsts) { ++ if (inst->isDeleted()) ++ continue; ++ ++ deleter.deleteIfDead(inst); ++ } ++ auto *function = const_cast(deBlocks.getFunction()); ++ OSSALifetimeCompletion completion(function, /*DomInfo*/ nullptr, deBlocks); ++ for (auto *inst : insertedInsts) { ++ if (inst->isDeleted()) ++ continue; ++ ++ // If any inserted instruction was not removed, complete its lifetime. ++ for (auto result : inst->getResults()) { ++ completion.completeOSSALifetime( ++ result, OSSALifetimeCompletion::Boundary::Liveness); ++ } ++ } ++ insertedInsts.clear(); ++} ++ + void AvailableValueDataflowFixup:: + deleteInsertedInsts(InstructionDeleter &deleter) { + for (auto *inst : insertedInsts) { +@@ -561,6 +594,11 @@ struct AvailableValueAggregationFixup: AvailableValueFixup { + /// The list of phi nodes inserted by the SSA updater. + SmallVector insertedPhiNodes; + ++ /// A set of copy_values whose lifetime we balanced while inserting phi ++ /// nodes. This means that these copy_value must be skipped in ++ /// addMissingDestroysForCopiedValues. ++ SmallPtrSet copyValueProcessedWithPhiNodes; ++ + AvailableValueAggregationFixup(DeadEndBlocks &deadEndBlocks) + : deadEndBlocks(deadEndBlocks) {} + +@@ -572,12 +610,29 @@ struct AvailableValueAggregationFixup: AvailableValueFixup { + SILInstruction *availableAtInst, + bool isFullyAvailable); + ++ /// Call this after mergeSingleValueCopies() or mergeAggregateCopies(). ++ void fixupOwnership(SILInstruction *load, SILValue newVal) { ++ addHandOffCopyDestroysForPhis(load, newVal); ++ ++ // TODO: use OwnershipLifetimeCompletion instead. ++ addMissingDestroysForCopiedValues(load, newVal); ++ ++ insertedInsts.clear(); ++ insertedPhiNodes.clear(); ++ copyValueProcessedWithPhiNodes.clear(); ++ } ++ + private: + /// As a result of us using the SSA updater, insert hand off copy/destroys at + /// each phi and make sure that intermediate phis do not leak by inserting + /// destroys along paths that go through the intermediate phi that do not also + /// go through the. + void addHandOffCopyDestroysForPhis(SILInstruction *load, SILValue newVal); ++ ++ /// If as a result of us copying values, we may have unconsumed destroys, find ++ /// the appropriate location and place the values there. Only used when ++ /// ownership is enabled. ++ void addMissingDestroysForCopiedValues(SILInstruction *load, SILValue newVal); + }; + + // For OptimizationMode::PreserveAlloc, insert copies at the available value's +@@ -663,6 +718,406 @@ SILValue AvailableValueAggregationFixup::mergeCopies( + .emitCopyValueOperation(availableAtInst->getLoc(), result); + } + ++ ++namespace { ++ ++class PhiNodeCopyCleanupInserter { ++ llvm::SmallMapVector incomingValues; ++ ++ /// Map from index -> (incomingValueIndex, copy). ++ /// ++ /// We are going to stable_sort this array using the indices of ++ /// incomingValueIndex. This will ensure that we always visit in ++ /// insertion order our incoming values (since the indices we are ++ /// sorting by are the count of incoming values we have seen so far ++ /// when we see the incoming value) and maintain the internal ++ /// insertion sort within our range as well. This ensures that we ++ /// visit our incoming values in visitation order and that within ++ /// their own values, also visit them in visitation order with ++ /// respect to each other. ++ SmallFrozenMultiMap copiesToCleanup; ++ ++ /// The lifetime frontier that we use to compute lifetime endpoints ++ /// when emitting cleanups. ++ ValueLifetimeAnalysis::Frontier lifetimeFrontier; ++ ++public: ++ PhiNodeCopyCleanupInserter() = default; ++ ++ void trackNewCleanup(SILValue incomingValue, CopyValueInst *copy) { ++ auto entry = std::make_pair(incomingValue, incomingValues.size()); ++ auto iter = incomingValues.insert(entry); ++ // If we did not succeed, then iter.first.second is the index of ++ // incoming value. Otherwise, it will be nextIndex. ++ copiesToCleanup.insert(iter.first->second, copy); ++ } ++ ++ void emit(DeadEndBlocks &deadEndBlocks) &&; ++}; ++ ++} // end anonymous namespace ++ ++static SILInstruction * ++getNonPhiBlockIncomingValueDef(SILValue incomingValue, ++ SingleValueInstruction *phiCopy) { ++ assert(isa(phiCopy)); ++ auto *phiBlock = phiCopy->getParent(); ++ if (phiBlock == incomingValue->getParentBlock()) { ++ return nullptr; ++ } ++ ++ if (auto *cvi = dyn_cast(incomingValue)) { ++ return cvi; ++ } ++ ++ assert(isa(incomingValue)); ++ ++ // Otherwise, our copy_value may not be post-dominated by our phi. To ++ // work around that, we need to insert destroys along the other ++ // paths. So set base to the first instruction in our argument's block, ++ // so we can insert destroys for our base. ++ return &*incomingValue->getParentBlock()->begin(); ++} ++ ++static bool ++terminatorHasAnyKnownPhis(TermInst *ti, ++ ArrayRef insertedPhiNodesSorted) { ++ for (auto succArgList : ti->getSuccessorBlockArgumentLists()) { ++ if (llvm::any_of(succArgList, [&](SILArgument *arg) { ++ return binary_search(insertedPhiNodesSorted, ++ cast(arg)); ++ })) { ++ return true; ++ } ++ } ++ ++ return false; ++} ++ ++void PhiNodeCopyCleanupInserter::emit(DeadEndBlocks &deadEndBlocks) && { ++ // READ THIS: We are being very careful here to avoid allowing for ++ // non-determinism to enter here. ++ // ++ // 1. First we create a list of indices of our phi node data. Then we use a ++ // stable sort those indices into the order in which our phi node cleanups ++ // would be in if we compared just using incomingValues. We use a stable ++ // sort here to ensure that within the same "cohort" of values, our order ++ // is insertion order. ++ // ++ // 2. We go through the list of phiNodeCleanupStates in insertion order. We ++ // also maintain a set of already visited base values. When we visit the ++ // first phiNodeCleanupState for a specific phi, we process the phi ++ // then. This ensures that we always process the phis in insertion order as ++ // well. ++ copiesToCleanup.setFrozen(); ++ ++ for (auto keyValue : copiesToCleanup.getRange()) { ++ unsigned incomingValueIndex = keyValue.first; ++ auto copies = keyValue.second; ++ ++ SILValue incomingValue = ++ std::next(incomingValues.begin(), incomingValueIndex)->first; ++ SingleValueInstruction *phiCopy = copies.front(); ++ auto *insertPt = getNonPhiBlockIncomingValueDef(incomingValue, phiCopy); ++ auto loc = RegularLocation::getAutoGeneratedLocation(); ++ ++ // Before we do anything, see if we have a single cleanup state. In such a ++ // case, we could have that we have a phi node as an incoming value and a ++ // copy_value in that same block. In such a case, we want to just insert the ++ // copy and continue. This means that ++ // cleanupState.getNonPhiBlockIncomingValueDef() should always return a ++ // non-null value in the code below. ++ if (copies.size() == 1 && isa(incomingValue) && !insertPt) { ++ SILBasicBlock *phiBlock = phiCopy->getParent(); ++ SILBuilderWithScope builder(phiBlock->getTerminator()); ++ builder.createDestroyValue(loc, incomingValue); ++ continue; ++ } ++ ++ // Otherwise, we know that we have for this incomingValue, multiple ++ // potential insert pts that we need to handle at the same time with our ++ // lifetime query. Lifetime extend our base over these copy_value uses. ++ assert(lifetimeFrontier.empty()); ++ auto *def = getNonPhiBlockIncomingValueDef(incomingValue, phiCopy); ++ assert(def && "Should never have a nullptr here since we handled all of " ++ "the single block cases earlier"); ++ ValueLifetimeAnalysis analysis(def, copies); ++ bool foundCriticalEdges = !analysis.computeFrontier( ++ lifetimeFrontier, ValueLifetimeAnalysis::DontModifyCFG, &deadEndBlocks); ++ (void)foundCriticalEdges; ++ assert(!foundCriticalEdges); ++ ++ while (!lifetimeFrontier.empty()) { ++ auto *insertPoint = lifetimeFrontier.pop_back_val(); ++ SILBuilderWithScope builder(insertPoint); ++ builder.createDestroyValue(loc, incomingValue); ++ } ++ } ++} ++ ++void AvailableValueAggregationFixup::addHandOffCopyDestroysForPhis( ++ SILInstruction *load, SILValue newVal) { ++ assert(isa(load) || isa(load)); ++ ++ if (insertedPhiNodes.empty()) ++ return; ++ ++ SmallVector leakingBlocks; ++ SmallVector, 8> incomingValues; ++ auto loc = RegularLocation::getAutoGeneratedLocation(); ++ ++#ifndef NDEBUG ++ LLVM_DEBUG(llvm::dbgs() << "Inserted Phis!\n"); ++ for (auto *phi : insertedPhiNodes) { ++ LLVM_DEBUG(llvm::dbgs() << "Phi: " << *phi); ++ } ++#endif ++ ++ // Before we begin, identify the offset for all phis that are intermediate ++ // phis inserted by the SSA updater. We are taking advantage of the fact that ++ // the SSA updater just constructs the web without knowledge of ownership. So ++ // if a phi node is only used by another phi node that we inserted, then we ++ // have an intermediate phi node. ++ // ++ // TODO: There should be a better way of doing this than doing a copy + sort. ++ SmallVector insertedPhiNodesSorted; ++ llvm::copy(insertedPhiNodes, std::back_inserter(insertedPhiNodesSorted)); ++ llvm::sort(insertedPhiNodesSorted); ++ ++ SmallBitVector intermediatePhiOffsets(insertedPhiNodes.size()); ++ for (unsigned i : indices(insertedPhiNodes)) { ++ if (TermInst *termInst = ++ insertedPhiNodes[i]->getSingleUserOfType()) { ++ // Only set the value if we find termInst has a successor with a phi node ++ // in our insertedPhiNodes. ++ if (terminatorHasAnyKnownPhis(termInst, insertedPhiNodesSorted)) { ++ intermediatePhiOffsets.set(i); ++ } ++ } ++ } ++ ++ // First go through all of our phi nodes doing the following: ++ // ++ // 1. If any of the phi node have a copy_value as an operand, we know that the ++ // copy_value does not dominate our final definition since otherwise the ++ // SSA updater would not have inserted a phi node here. In such a case ++ // since we may not have that the copy_value is post-dominated by the phi, ++ // we need to insert a copy_value at the phi to allow for post-domination ++ // and then use the ValueLifetimeChecker to determine the rest of the ++ // frontier for the base value. ++ // ++ // 2. If our phi node is used by another phi node, we run into a similar ++ // problem where we could have that our original phi node does not dominate ++ // our final definition (since the SSA updater would not have inserted the ++ // phi) and may not be strongly control dependent on our phi. To work ++ // around this problem, we insert at the phi a copy_value to allow for the ++ // phi to post_dominate its copy and then extend the lifetime of the phied ++ // value over that copy. ++ // ++ // As an extra complication to this, when we insert compensating releases for ++ // any copy_values from (1), we need to insert the destroy_value on "base ++ // values" (either a copy_value or the first instruction of a phi argument's ++ // block) /after/ we have found all of the base_values to ensure that if the ++ // same base value is used by multiple phis, we do not insert too many destroy ++ // value. ++ // ++ // NOTE: At first glance one may think that such a problem could not occur ++ // with phi nodes as well. Sadly if we allow for double backedge loops, it is ++ // possible (there may be more cases). ++ PhiNodeCopyCleanupInserter cleanupInserter; ++ ++ for (unsigned i : indices(insertedPhiNodes)) { ++ auto *phi = insertedPhiNodes[i]; ++ ++ // If our phi is not owned, continue. No fixes are needed. ++ if (phi->getOwnershipKind() != OwnershipKind::Owned) ++ continue; ++ ++ LLVM_DEBUG(llvm::dbgs() << "Visiting inserted phi: " << *phi); ++ // Otherwise, we have a copy_value that may not be strongly control ++ // equivalent with our phi node. In such a case, we need to use ++ // ValueLifetimeAnalysis to lifetime extend the copy such that we can ++ // produce a new copy_value at the phi. We insert destroys along the ++ // frontier. ++ leakingBlocks.clear(); ++ incomingValues.clear(); ++ ++ phi->getIncomingPhiValues(incomingValues); ++ unsigned phiIndex = phi->getIndex(); ++ for (auto pair : incomingValues) { ++ SILValue value = pair.second; ++ ++ // If we had a non-trivial type with non-owned ownership, we will not see ++ // a copy_value, so skip them here. ++ if (value->getOwnershipKind() != OwnershipKind::Owned) ++ continue; ++ ++ // Otherwise, value should be from a copy_value or a phi node. ++ assert(isa(value) || isa(value)); ++ ++ // If we have a copy_value, remove it from the inserted insts set so we ++ // skip it when we start processing insertedInstrs. ++ if (auto *cvi = dyn_cast(value)) { ++ copyValueProcessedWithPhiNodes.insert(cvi); ++ ++ // Then check if our termInst is in the same block as our copy_value. In ++ // such a case, we can just use the copy_value as our phi's value ++ // without needing to worry about any issues around control equivalence. ++ if (pair.first == cvi->getParent()) ++ continue; ++ } else { ++ assert(isa(value)); ++ } ++ ++ // Otherwise, insert a copy_value instruction right before the phi. We use ++ // that for our actual phi. ++ auto *termInst = pair.first->getTerminator(); ++ SILBuilderWithScope builder(termInst); ++ CopyValueInst *phiCopy = builder.createCopyValue(loc, value); ++ termInst->setOperand(phiIndex, phiCopy); ++ ++ // Now that we know our base, phi, phiCopy for this specific incoming ++ // value, append it to the phiNodeCleanupState so we can insert ++ // destroy_values late after we visit all insertedPhiNodes. ++ cleanupInserter.trackNewCleanup(value, phiCopy); ++ } ++ ++ // Then see if our phi is an intermediate phi. If it is an intermediate phi, ++ // we know that this is not the phi node that is post-dominated by the ++ // load_borrow and that we will lifetime extend it via the child ++ // phi. Instead, we need to just ensure that our phi arg does not leak onto ++ // its set of post-dominating paths, subtracting from that set the path ++ // through our terminator use. ++ if (intermediatePhiOffsets[i]) { ++ continue; ++ } ++ ++ // If we reach this point, then we know that we are a phi node that actually ++ // dominates our user so we need to lifetime extend it over the ++ // load_borrow. Thus insert copy_value along the incoming edges and then ++ // lifetime extend the phi node over the load_borrow. ++ // ++ // The linear lifetime checker doesn't care if the passed in load is ++ // actually a user of our copy_value. What we care about is that the load is ++ // guaranteed to be in the block where we have reformed the tuple in a ++ // consuming manner. This means if we add it as the consuming use of the ++ // copy, we can find the leaking places if any exist. ++ // ++ // Then perform the linear lifetime check. If we succeed, continue. We have ++ // no further work to do. ++ auto *loadOperand = &load->getAllOperands()[0]; ++ LinearLifetimeChecker checker(&deadEndBlocks); ++ bool consumedInLoop = checker.completeConsumingUseSet( ++ phi, loadOperand, [&](SILBasicBlock::iterator iter) { ++ SILBuilderWithScope builder(iter); ++ builder.emitDestroyValueOperation(loc, phi); ++ }); ++ ++ // Ok, we found some leaking blocks and potentially that our load is ++ // "consumed" inside a different loop in the loop nest from cvi. If we are ++ // consumed in the loop, then our visit should have inserted all of the ++ // necessary destroys for us by inserting the destroys on the loop ++ // boundaries. So, continue. ++ // ++ // NOTE: This includes cases where due to an infinite loop, we did not ++ // insert /any/ destroys since the loop has no boundary in a certain sense. ++ if (consumedInLoop) { ++ continue; ++ } ++ ++ // Otherwise, we need to insert one last destroy after the load for our phi. ++ auto next = std::next(load->getIterator()); ++ SILBuilderWithScope builder(next); ++ builder.emitDestroyValueOperation( ++ RegularLocation::getAutoGeneratedLocation(), phi); ++ } ++ ++ // Alright! In summary, we just lifetime extended all of our phis, ++ // lifetime extended them to the load block, and inserted phi copies ++ // at all of our intermediate phi nodes. Now we need to cleanup and ++ // insert all of the compensating destroy_value that we need. ++ std::move(cleanupInserter).emit(deadEndBlocks); ++ ++ // Clear the phi node array now that we are done. ++ insertedPhiNodes.clear(); ++} ++ ++// TODO: use standard lifetime completion ++void AvailableValueAggregationFixup::addMissingDestroysForCopiedValues( ++ SILInstruction *load, SILValue newVal) { ++ assert(load->getFunction()->hasOwnership() && ++ "We assume this is only called if we have ownership"); ++ ++ SmallVector leakingBlocks; ++ auto loc = RegularLocation::getAutoGeneratedLocation(); ++ ++ for (auto *inst : insertedInsts) { ++ // Otherwise, see if this is a load [copy]. It if it a load [copy], then we ++ // know that the load [copy] must be in the load block meaning we can just ++ // put a destroy_value /after/ the load_borrow to ensure that the value ++ // lives long enough for us to copy_value it or a derived value for the ++ // begin_borrow. ++ if (auto *li = dyn_cast(inst)) { ++ if (li->getOwnershipQualifier() == LoadOwnershipQualifier::Copy) { ++ assert(li->getParent() == load->getParent()); ++ auto next = std::next(load->getIterator()); ++ SILBuilderWithScope builder(next); ++ builder.emitDestroyValueOperation( ++ RegularLocation::getAutoGeneratedLocation(), li); ++ continue; ++ } ++ } ++ ++ // Our copy_value may have been unset above if it was used by a phi ++ // (implying it does not dominate our final user). ++ auto *cvi = dyn_cast(inst); ++ if (!cvi) ++ continue; ++ ++ // If we already handled this copy_value above when handling phi nodes, just ++ // continue. ++ if (copyValueProcessedWithPhiNodes.count(cvi)) ++ continue; ++ ++ // Clear our state. ++ leakingBlocks.clear(); ++ ++ // The linear lifetime checker doesn't care if the passed in load is ++ // actually a user of our copy_value. What we care about is that the load is ++ // guaranteed to be in the block where we have reformed the tuple in a ++ // consuming manner. This means if we add it as the consuming use of the ++ // copy, we can find the leaking places if any exist. ++ // ++ // Then perform the linear lifetime check. If we succeed, continue. We have ++ // no further work to do. ++ auto *loadOperand = &load->getAllOperands()[0]; ++ LinearLifetimeChecker checker(&deadEndBlocks); ++ bool consumedInLoop = checker.completeConsumingUseSet( ++ cvi, loadOperand, [&](SILBasicBlock::iterator iter) { ++ SILBuilderWithScope builder(iter); ++ builder.emitDestroyValueOperation(loc, cvi); ++ }); ++ ++ // Ok, we found some leaking blocks and potentially that our load is ++ // "consumed" inside a different loop in the loop nest from cvi. If we are ++ // consumed in the loop, then our visit should have inserted all of the ++ // necessary destroys for us by inserting the destroys on the loop ++ // boundaries. So, continue. ++ // ++ // NOTE: This includes cases where due to an infinite loop, we did not ++ // insert /any/ destroys since the loop has no boundary in a certain sense. ++ if (consumedInLoop) { ++ continue; ++ } ++ ++ // Otherwise, we need to insert one last destroy after the load for our phi. ++ auto next = std::next(load->getIterator()); ++ SILBuilderWithScope builder(next); ++ builder.emitDestroyValueOperation( ++ RegularLocation::getAutoGeneratedLocation(), cvi); ++ } ++} ++ + //===----------------------------------------------------------------------===// + // Available Value Aggregation + //===----------------------------------------------------------------------===// +@@ -735,6 +1190,15 @@ public: + return expectedOwnership == AvailableValueExpectedOwnership::Copy; + } + ++ /// Given a load_borrow that we have aggregated a new value for, fixup the ++ /// reference counts of the intermediate copies and phis to ensure that all ++ /// forwarding operations in the CFG are strongly control equivalent (i.e. run ++ /// the same number of times). ++ void fixupOwnership(SILInstruction *load, SILValue newVal) { ++ assert(isa(load) || isa(load)); ++ ownershipFixup.fixupOwnership(load, newVal); ++ } ++ + private: + SILValue aggregateFullyAvailableValue(SILType loadTy, unsigned firstElt); + SILValue aggregateTupleSubElts(TupleType *tt, SILType loadTy, +@@ -1071,6 +1535,11 @@ public: + ownershipFixup.verifyOwnership(deBlocks); + } + ++ void fixupOwnership(InstructionDeleter &deleter, ++ DeadEndBlocks &deBlocks) { ++ ownershipFixup.fixupOwnership(deleter, deBlocks); ++ } ++ + void deleteInsertedInsts(InstructionDeleter &deleter) { + ownershipFixup.deleteInsertedInsts(deleter); + } +@@ -1788,6 +2257,10 @@ bool AvailableValueDataflowContext::hasEscapedAt(SILInstruction *I) { + return HasAnyEscape; + } + ++//===----------------------------------------------------------------------===// ++// Optimize loads ++//===----------------------------------------------------------------------===// ++ + static SILType getMemoryType(AllocationInst *memory) { + // Compute the type of the memory object. + if (auto *abi = dyn_cast(memory)) { +@@ -1801,6 +2274,286 @@ static SILType getMemoryType(AllocationInst *memory) { + return cast(memory)->getElementType(); + } + ++namespace { ++ ++/// This performs load promotion and deletes synthesized allocations if all ++/// loads can be removed. ++class OptimizeAllocLoads { ++ ++ SILModule &Module; ++ ++ /// This is either an alloc_box or alloc_stack instruction. ++ AllocationInst *TheMemory; ++ ++ /// This is the SILType of the memory object. ++ SILType MemoryType; ++ ++ /// The number of primitive subelements across all elements of this memory ++ /// value. ++ unsigned NumMemorySubElements; ++ ++ SmallVectorImpl &Uses; ++ ++ InstructionDeleter &deleter; ++ ++ DeadEndBlocks &deadEndBlocks; ++ ++ /// A structure that we use to compute our available values. ++ AvailableValueDataflowContext DataflowContext; ++ ++public: ++ OptimizeAllocLoads(AllocationInst *memory, ++ SmallVectorImpl &uses, ++ DeadEndBlocks &deadEndBlocks, ++ InstructionDeleter &deleter) ++ : Module(memory->getModule()), TheMemory(memory), ++ MemoryType(getMemoryType(memory)), ++ NumMemorySubElements(getNumSubElements( ++ MemoryType, *memory->getFunction(), ++ TypeExpansionContext(*memory->getFunction()))), ++ Uses(uses), deleter(deleter), deadEndBlocks(deadEndBlocks), ++ DataflowContext(TheMemory, NumMemorySubElements, ++ OptimizationMode::PreserveAlloc, uses, ++ deleter, deadEndBlocks) {} ++ ++ bool optimize(); ++ ++private: ++ bool optimizeLoadUse(SILInstruction *inst); ++ bool promoteLoadCopy(LoadInst *li); ++ bool promoteLoadBorrow(LoadBorrowInst *lbi); ++ bool promoteCopyAddr(CopyAddrInst *cai); ++}; ++ ++} // end anonymous namespace ++ ++/// If we are able to optimize \p Inst, return the source address that ++/// instruction is loading from. If we can not optimize \p Inst, then just ++/// return an empty SILValue. ++static SILValue tryFindSrcAddrForLoad(SILInstruction *i) { ++ // We can always promote a load_borrow. ++ if (auto *lbi = dyn_cast(i)) ++ return lbi->getOperand(); ++ ++ // We only handle load [copy], load [trivial], load and copy_addr right ++ // now. Notably we do not support load [take] when promoting loads. ++ if (auto *li = dyn_cast(i)) ++ if (li->getOwnershipQualifier() != LoadOwnershipQualifier::Take) ++ return li->getOperand(); ++ ++ // If this is a CopyAddr, verify that the element type is loadable. If not, ++ // we can't explode to a load. ++ auto *cai = dyn_cast(i); ++ if (!cai || !cai->getSrc()->getType().isLoadable(*cai->getFunction())) ++ return SILValue(); ++ return cai->getSrc(); ++} ++ ++/// At this point, we know that this element satisfies the definitive init ++/// requirements, so we can try to promote loads to enable SSA-based dataflow ++/// analysis. We know that accesses to this element only access this element, ++/// cross element accesses have been scalarized. ++/// ++/// This returns true if the load has been removed from the program. ++bool OptimizeAllocLoads::promoteLoadCopy(LoadInst *li) { ++ // Note that we intentionally don't support forwarding of weak pointers, ++ // because the underlying value may drop be deallocated at any time. We would ++ // have to prove that something in this function is holding the weak value ++ // live across the promoted region and that isn't desired for a stable ++ // diagnostics pass this like one. ++ ++ // First attempt to find a source addr for our "load" instruction. If we fail ++ // to find a valid value, just return. ++ SILValue srcAddr = tryFindSrcAddrForLoad(li); ++ if (!srcAddr) ++ return false; ++ ++ SmallVector availableValues; ++ auto loadInfo = DataflowContext.computeAvailableValues(srcAddr, li, availableValues); ++ if (!loadInfo.has_value()) ++ return false; ++ ++ // Aggregate together all of the subelements into something that has the same ++ // type as the load did, and emit smaller loads for any subelements that were ++ // not available. We are "propagating" a +1 available value from the store ++ // points. ++ AvailableValueAggregator agg(li, availableValues, Uses, deadEndBlocks, ++ AvailableValueExpectedOwnership::Copy); ++ SILValue newVal = agg.aggregateValues(loadInfo->loadType, li->getOperand(), ++ loadInfo->firstElt); ++ ++ LLVM_DEBUG(llvm::dbgs() << " *** Promoting load: " << *li); ++ LLVM_DEBUG(llvm::dbgs() << " To value: " << *newVal); ++ ++NumLoadPromoted; ++ ++ // If we inserted any copies, we created the copies at our stores. We know ++ // that in our load block, we will reform the aggregate as appropriate at the ++ // load implying that the value /must/ be fully consumed. If we promoted a +0 ++ // value, we created dominating destroys along those paths. Thus any leaking ++ // blocks that we may have can be found by performing a linear lifetime check ++ // over all copies that we found using the load as the "consuming uses" (just ++ // for the purposes of identifying the consuming block). ++ agg.fixupOwnership(li, newVal); ++ ++ // Now that we have fixed up all of our missing destroys, insert the copy ++ // value for our actual load, in case the load was in an inner loop, and RAUW. ++ newVal = SILBuilderWithScope(li).emitCopyValueOperation(li->getLoc(), newVal); ++ ++ li->replaceAllUsesWith(newVal); ++ ++ SILValue addr = li->getOperand(); ++ deleter.forceDelete(li); ++ if (auto *addrI = addr->getDefiningInstruction()) ++ deleter.deleteIfDead(addrI); ++ return true; ++} ++ ++bool OptimizeAllocLoads::promoteCopyAddr(CopyAddrInst *cai) { ++ // Note that we intentionally don't support forwarding of weak pointers, ++ // because the underlying value may drop be deallocated at any time. We would ++ // have to prove that something in this function is holding the weak value ++ // live across the promoted region and that isn't desired for a stable ++ // diagnostics pass this like one. ++ ++ // First attempt to find a source addr for our "load" instruction. If we fail ++ // to find a valid value, just return. ++ SILValue srcAddr = tryFindSrcAddrForLoad(cai); ++ if (!srcAddr) ++ return false; ++ ++ SmallVector availableValues; ++ auto result = DataflowContext.computeAvailableValues(srcAddr, cai, ++ availableValues); ++ if (!result.has_value()) ++ return false; ++ ++ // Ok, we have some available values. If we have a copy_addr, explode it now, ++ // exposing the load operation within it. Subsequent optimization passes will ++ // see the load and propagate the available values into it. ++ DataflowContext.explodeCopyAddr(cai); ++ ++ // This is removing the copy_addr, but explodeCopyAddr takes care of ++ // removing the instruction from Uses for us, so we return false. ++ return false; ++} ++ ++/// At this point, we know that this element satisfies the definitive init ++/// requirements, so we can try to promote loads to enable SSA-based dataflow ++/// analysis. We know that accesses to this element only access this element, ++/// cross element accesses have been scalarized. ++/// ++/// This returns true if the load has been removed from the program. ++bool OptimizeAllocLoads::promoteLoadBorrow(LoadBorrowInst *lbi) { ++ // Note that we intentionally don't support forwarding of weak pointers, ++ // because the underlying value may drop be deallocated at any time. We would ++ // have to prove that something in this function is holding the weak value ++ // live across the promoted region and that isn't desired for a stable ++ // diagnostics pass this like one. ++ ++ // First attempt to find a source addr for our "load" instruction. If we fail ++ // to find a valid value, just return. ++ SILValue srcAddr = tryFindSrcAddrForLoad(lbi); ++ if (!srcAddr) ++ return false; ++ ++ SmallVector availableValues; ++ auto loadInfo = DataflowContext.computeAvailableValues(srcAddr, lbi, ++ availableValues); ++ if (!loadInfo.has_value()) ++ return false; ++ ++ // Bail if the load_borrow has reborrows. In this case it's not so easy to ++ // find the insertion points for the destroys. ++ if (!lbi->getUsersOfType().empty()) { ++ return false; ++ } ++ ++ ++NumLoadPromoted; ++ ++ // Aggregate together all of the subelements into something that has the same ++ // type as the load did, and emit smaller loads for any subelements that were ++ // not available. We are "propagating" a +1 available value from the store ++ // points. ++ AvailableValueAggregator agg(lbi, availableValues, Uses, deadEndBlocks, ++ AvailableValueExpectedOwnership::Borrow); ++ SILValue newVal = agg.aggregateValues(loadInfo->loadType, lbi->getOperand(), ++ loadInfo->firstElt); ++ ++ LLVM_DEBUG(llvm::dbgs() << " *** Promoting load: " << *lbi); ++ LLVM_DEBUG(llvm::dbgs() << " To value: " << *newVal); ++ ++ // If we inserted any copies, we created the copies at our ++ // stores. We know that in our load block, we will reform the ++ // aggregate as appropriate, will borrow the value there and give us ++ // a whole pristine new value. Now in this routine, we go through ++ // all of the copies and phis that we inserted and ensure that: ++ // ++ // 1. Phis are always strongly control equivalent to the copies that ++ // produced their incoming values. ++ // ++ // 2. All intermediate copies are properly lifetime extended to the ++ // load block and all leaking blocks are filled in as appropriate ++ // with destroy_values. ++ agg.fixupOwnership(lbi, newVal); ++ ++ // Now that we have fixed up the lifetimes of all of our incoming copies so ++ // that they are alive over the load point, copy, borrow newVal and insert ++ // destroy_value after the end_borrow and then RAUW. ++ SILBuilderWithScope builder(lbi); ++ SILValue copiedVal = builder.emitCopyValueOperation(lbi->getLoc(), newVal); ++ newVal = builder.createBeginBorrow(lbi->getLoc(), copiedVal); ++ ++ for (auto *ebi : lbi->getUsersOfType()) { ++ auto next = std::next(ebi->getIterator()); ++ SILBuilderWithScope(next).emitDestroyValueOperation(ebi->getLoc(), ++ copiedVal); ++ } ++ ++ lbi->replaceAllUsesWith(newVal); ++ ++ SILValue addr = lbi->getOperand(); ++ deleter.forceDelete(lbi); ++ if (auto *addrI = addr->getDefiningInstruction()) ++ deleter.deleteIfDead(addrI); ++ return true; ++} ++ ++bool OptimizeAllocLoads::optimize() { ++ bool changed = false; ++ ++ // If we've successfully checked all of the definitive initialization ++ // requirements, try to promote loads. This can explode copy_addrs, so the ++ // use list may change size. ++ for (unsigned i = 0; i != Uses.size(); ++i) { ++ auto &use = Uses[i]; ++ // Ignore entries for instructions that got expanded along the way. ++ if (use.Inst && use.Kind == PMOUseKind::Load) { ++ if (optimizeLoadUse(use.Inst)) { ++ changed = true; ++ Uses[i].Inst = nullptr; // remove entry if load got deleted. ++ } ++ } ++ } ++ return changed; ++} ++ ++bool OptimizeAllocLoads::optimizeLoadUse(SILInstruction *inst) { ++ // After replacing load uses with promoted values, fixup ownership for copies ++ // or casts inserted during dataflow. ++ SWIFT_DEFER { DataflowContext.fixupOwnership(deleter, deadEndBlocks); }; ++ ++ if (auto *cai = dyn_cast(inst)) ++ return promoteCopyAddr(cai); ++ ++ if (auto *lbi = dyn_cast(inst)) ++ return promoteLoadBorrow(lbi); ++ ++ if (auto *li = dyn_cast(inst)) ++ return promoteLoadCopy(li); ++ ++ return false; ++} ++ + //===----------------------------------------------------------------------===// + // Optimize dead allocation: + // Fully promote each access +@@ -2453,6 +3206,49 @@ static AllocationInst *getOptimizableAllocation(SILInstruction *i) { + return alloc; + } + ++bool swift::optimizeMemoryAccesses(SILFunction *fn) { ++ if (!fn->hasOwnership()) { ++ return false; ++ } ++ ++ bool changed = false; ++ DeadEndBlocks deadEndBlocks(fn); ++ InstructionDeleter deleter; ++ for (auto &bb : *fn) { ++ for (SILInstruction &inst : bb.deletableInstructions()) { ++ // First see if i is an allocation that we can optimize. If not, skip it. ++ AllocationInst *alloc = getOptimizableAllocation(&inst); ++ if (!alloc) { ++ continue; ++ } ++ ++ LLVM_DEBUG(llvm::dbgs() ++ << "*** PMO Optimize Memory Accesses looking at: " << *alloc); ++ PMOMemoryObjectInfo memInfo(alloc); ++ ++ // Set up the datastructure used to collect the uses of the allocation. ++ SmallVector uses; ++ ++ // Walk the use list of the pointer, collecting them. If we are not able ++ // to optimize, skip this value. *NOTE* We may still scalarize values ++ // inside the value. ++ if (!collectPMOElementUsesFrom(memInfo, uses)) { ++ // Avoid advancing this iterator until after collectPMOElementUsesFrom() ++ // runs. It creates and deletes instructions other than alloc. ++ continue; ++ } ++ OptimizeAllocLoads optimizeAllocLoads(alloc, uses, deadEndBlocks, ++ deleter); ++ changed |= optimizeAllocLoads.optimize(); ++ ++ // Move onto the next instruction. We know this is safe since we do not ++ // eliminate allocations here. ++ } ++ } ++ ++ return changed; ++} ++ + bool swift::eliminateDeadAllocations(SILFunction *fn, DominanceInfo *domInfo) { + if (!fn->hasOwnership()) { + return false; +@@ -2498,6 +3294,26 @@ bool swift::eliminateDeadAllocations(SILFunction *fn, DominanceInfo *domInfo) { + + namespace { + ++class PredictableMemoryAccessOptimizations : public SILFunctionTransform { ++ /// The entry point to the transformation. ++ /// ++ /// FIXME: This pass should not need to rerun on deserialized ++ /// functions. Nothing should have changed in the upstream pipeline after ++ /// deserialization. However, rerunning does improve some benchmarks. This ++ /// either indicates that this pass missing some opportunities the first time, ++ /// or has a pass order dependency on other early passes. ++ void run() override { ++ auto *func = getFunction(); ++ if (!func->hasOwnership()) ++ return; ++ ++ LLVM_DEBUG(llvm::dbgs() << "Looking at: " << func->getName() << "\n"); ++ // TODO: Can we invalidate here just instructions? ++ if (optimizeMemoryAccesses(func)) ++ invalidateAnalysis(SILAnalysis::InvalidationKind::FunctionBody); ++ } ++}; ++ + class PredictableDeadAllocationElimination : public SILFunctionTransform { + void run() override { + auto *func = getFunction(); +@@ -2516,6 +3332,10 @@ class PredictableDeadAllocationElimination : public SILFunctionTransform { + + } // end anonymous namespace + ++SILTransform *swift::createPredictableMemoryAccessOptimizations() { ++ return new PredictableMemoryAccessOptimizations(); ++} ++ + SILTransform *swift::createPredictableDeadAllocationElimination() { + return new PredictableDeadAllocationElimination(); + } +diff --git a/lib/SILOptimizer/PassManager/PassPipeline.cpp b/lib/SILOptimizer/PassManager/PassPipeline.cpp +index 92a084c2df5..620718451e7 100644 +--- a/lib/SILOptimizer/PassManager/PassPipeline.cpp ++++ b/lib/SILOptimizer/PassManager/PassPipeline.cpp +@@ -206,7 +206,7 @@ static void addMandatoryDiagnosticOptPipeline(SILPassPipelinePlan &P) { + + // Promote loads as necessary to ensure we have enough SSA formation to emit + // SSA based diagnostics. +- P.addMandatoryRedundantLoadElimination(); ++ P.addPredictableMemoryAccessOptimizations(); + + // This phase performs optimizations necessary for correct interoperation of + // Swift os log APIs with C os_log ABIs. +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0009-siloptimizer-bootstrap-workaround.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0009-siloptimizer-bootstrap-workaround.patch new file mode 100644 index 0000000000000..e4966de5b15c4 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0009-siloptimizer-bootstrap-workaround.patch @@ -0,0 +1,34 @@ +From 91f0142a4a86f4c293c42ea27288ceaf525125dc Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sun, 4 Jan 2026 14:44:49 -0500 +Subject: [PATCH] siloptimizer-bootstrap-workaround +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Restore the SimplifyCFG optimization when bootstrapping. Even though +it’s buggy, it’s needed to build later stages of the bootstrap. +--- + lib/SILOptimizer/Transforms/SimplifyCFG.cpp | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/lib/SILOptimizer/Transforms/SimplifyCFG.cpp b/lib/SILOptimizer/Transforms/SimplifyCFG.cpp +index f4781b4ca5c..ef99a41d864 100644 +--- a/lib/SILOptimizer/Transforms/SimplifyCFG.cpp ++++ b/lib/SILOptimizer/Transforms/SimplifyCFG.cpp +@@ -3322,12 +3322,6 @@ static bool splitBBArguments(SILFunction &Fn) { + } + + bool SimplifyCFG::run() { +-#ifndef SWIFT_ENABLE_SWIFT_IN_SWIFT +- // This pass results in verification failures when Swift sources are not +- // enabled. +- LLVM_DEBUG(llvm::dbgs() << "SimplifyCFG disabled in C++-only Swift compiler\n"); +- return false; +-#endif //!SWIFT_ENABLE_SWIFT_IN_SWIFT + LLVM_DEBUG(llvm::dbgs() << "### Run SimplifyCFG on " << Fn.getName() << '\n'); + + // Disable some expensive optimizations if the function is huge. +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0010-use-nixpkgs-libdispatch.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0010-use-nixpkgs-libdispatch.patch new file mode 100644 index 0000000000000..e771b6e786adf --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftc/patches/0010-use-nixpkgs-libdispatch.patch @@ -0,0 +1,70 @@ +From eee18cc29cea4d650d1298e347f90c787260fa0a Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 13 Feb 2026 20:51:47 -0500 +Subject: [PATCH] use-nixpkgs-libdispatch + +--- + CMakeLists.txt | 10 ++-------- + stdlib/cmake/modules/StdlibOptions.cmake | 3 --- + stdlib/public/Concurrency/CMakeLists.txt | 3 --- + 3 files changed, 2 insertions(+), 14 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e4cbfb844e0..c6ea0234823 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -853,12 +853,6 @@ if(SWIFT_ENABLE_DISPATCH AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") + if(SWIFT_INCLUDE_TOOLS AND SWIFT_BUILD_SOURCEKIT) + set(SWIFT_BUILD_HOST_DISPATCH TRUE) + endif() +- +- if(SWIFT_BUILD_HOST_DISPATCH) +- if(NOT EXISTS "${SWIFT_PATH_TO_LIBDISPATCH_SOURCE}") +- message(SEND_ERROR "SourceKit requires libdispatch on non-Darwin hosts. Please specify SWIFT_PATH_TO_LIBDISPATCH_SOURCE") +- endif() +- endif() + endif() + + file(STRINGS "utils/availability-macros.def" SWIFT_STDLIB_AVAILABILITY_DEFINITIONS) +@@ -1492,8 +1486,8 @@ if (LLVM_ENABLE_DOXYGEN) + message(STATUS "Doxygen: enabled") + endif() + +-if(SWIFT_ENABLE_DISPATCH) +- include(Libdispatch) ++if(SWIFT_ENABLE_DISPATCH AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") ++ find_package(dispatch) + endif() + + # Add all of the subdirectories, where we actually do work. +diff --git a/stdlib/cmake/modules/StdlibOptions.cmake b/stdlib/cmake/modules/StdlibOptions.cmake +index 24d1b836211..b3a105180ce 100644 +--- a/stdlib/cmake/modules/StdlibOptions.cmake ++++ b/stdlib/cmake/modules/StdlibOptions.cmake +@@ -221,9 +221,6 @@ if (SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY) + + if (SWIFT_ENABLE_DISPATCH) + set(SWIFT_CONCURRENCY_USES_DISPATCH TRUE) +- if (NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT EXISTS "${SWIFT_PATH_TO_LIBDISPATCH_SOURCE}") +- message(SEND_ERROR "Concurrency requires libdispatch on non-Darwin hosts. Please specify SWIFT_PATH_TO_LIBDISPATCH_SOURCE") +- endif() + endif() + + if(SWIFT_CONCURRENCY_USES_DISPATCH) +diff --git a/stdlib/public/Concurrency/CMakeLists.txt b/stdlib/public/Concurrency/CMakeLists.txt +index d3a5011058c..fb037e40bbb 100644 +--- a/stdlib/public/Concurrency/CMakeLists.txt ++++ b/stdlib/public/Concurrency/CMakeLists.txt +@@ -25,9 +25,6 @@ set(swift_concurrency_incorporate_object_libraries_so swiftThreading) + + if("${SWIFT_CONCURRENCY_GLOBAL_EXECUTOR}" STREQUAL "dispatch") + if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") +- include_directories(AFTER +- ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE}) +- + # FIXME: we can't rely on libdispatch having been built for the + # target at this point in the process. Currently, we're relying + # on soft-linking. +-- +2.51.2 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/package.nix new file mode 100644 index 0000000000000..525c784f5b2c8 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/package.nix @@ -0,0 +1,114 @@ +{ + lib, + cmake, + fetchFromGitHub, + ninja, + replaceVars, + sqlite, + stdenv, + swift, + swift-argument-parser, + swift-asn1, + swift-build, + swift-certificates, + swift-collections, + swift-crypto, + swift-driver, + swift-llbuild, + swift-syntax, + swift-system, + swift-tools-support-core, + swift_release, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "swiftpm"; + version = swift_release; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitHub { + owner = "swiftlang"; + repo = "swift-package-manager"; + tag = "swift-${finalAttrs.version}-RELEASE"; + hash = "sha256-RIJLOoyDWWseBdDbJ5fluoZVq11jOdlV1yjq+m5xIws="; + }; + + patches = [ + ./patches/0001-gnu-install-dirs.patch + # Use swift-corelibs-xctest even on Darwin (because XCTest.framework is not available in nixpkgs). + ./patches/0002-darwin-swift-corelibs-xctest.patch + # SwiftPM tries to use `sandbox-exec` for sandboxing, which will fail when it is run in the Nix sandbox. + ./patches/0003-disable-sandbox.patch + # Look for the Swift Concurrency backdeploy dylib in the `lib` output of Swift instead of the main toolchain. + (replaceVars ./patches/0004-fix-backdeploy-rpath.patch { + swift-lib = lib.getLib swift; + }) + # SwiftPM falls back to looking for manifests and plugins in the Swift compiler location. Find them in $out. + ./patches/0005-fix-manifest-path.patch + # Silence warnings about not finding the cache folder when building packages by moving it to $NIX_BUILD_TOP. + ./patches/0006-nix-build-caches.patch + # SwiftPM does its own `.pc` parsing, so it avoids the `pkg-config` wrapper used in nixpkgs to support + # cross-compilation. This patch adds support for `"PKG_CONFIG_PATH_FOR_TARGET` to SwiftPM. + ./patches/0007-nix-pkgconfig-vars.patch + # SwiftPM assumes that you are using Apple Clang on macOS, but nixpkgs builds Clang from upstream LLVM. + # This effectively disables using `-index-store-path`, which isn’t supported by LLVM’s Clang. + ./patches/0008-set-compiler-vendor.patch + # A couple of required libraries are missing from the `CMakeLists.txt` files. + ./patches/0009-add-missing-libraries.patch + ]; + + postPatch = '' + # Need to reference $out, so this can’t be substituted by `replaceVars`. + substituteInPlace Sources/PackageModel/UserToolchain.swift \ + --replace-fail '@out@' "$out" + + # Replace hardcoded references to `xcrun` with `PATH`-based references. + find Sources -name '*.swift' -exec sed -i '{}' -e 's|/usr/bin/xcrun|xcrun|g' \; + + # Set the deployment target when building package manifests to one supported in nixpkgs. + substituteInPlace Sources/PackageLoading/ManifestLoader.swift \ + --replace-fail '.tripleString(forPlatformVersion: version)' ".tripleString(forPlatformVersion: \"$MACOSX_DEPLOYMENT_TARGET\")" + ''; + + strictDeps = true; + + preConfigure = '' + appendToVar cmakeFlags -DCMAKE_Swift_COMPILER_TARGET=${stdenv.hostPlatform.swift.triple} + appendToVar cmakeFlags -DCMAKE_Swift_FLAGS=-module-cache-path\ "$NIX_BUILD_TOP/module-cache" + ''; + + nativeBuildInputs = [ + cmake + ninja + swift + ]; + + buildInputs = [ + sqlite + swift-argument-parser + swift-asn1 + swift-build + swift-certificates + swift-collections + swift-crypto + swift-driver + swift-llbuild + swift-syntax + swift-system + swift-tools-support-core + ]; + + __structuredAttrs = true; + + meta = { + description = "Package Manager for the Swift Programming Language"; + homepage = "https://github.com/swiftlang/swift-package-manager"; + inherit (swift.meta) platforms; + license = lib.licenses.asl20; + maintainers = lib.teams.swift.members; + }; +}) diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0001-gnu-install-dirs.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0001-gnu-install-dirs.patch new file mode 100644 index 0000000000000..5f9962ee221f1 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0001-gnu-install-dirs.patch @@ -0,0 +1,362 @@ +From fe7e0fc59243f371418f5f223071486882f60dbd Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 19 Dec 2025 20:12:12 -0500 +Subject: [PATCH] gnu-install-dirs + +--- + Sources/Basics/CMakeLists.txt | 6 +++--- + Sources/Build/CMakeLists.txt | 6 +++--- + Sources/Commands/CMakeLists.txt | 6 +++--- + Sources/CoreCommands/CMakeLists.txt | 6 +++--- + Sources/DriverSupport/CMakeLists.txt | 6 +++--- + Sources/PackageCollections/CMakeLists.txt | 6 +++--- + Sources/PackageCollectionsModel/CMakeLists.txt | 6 +++--- + Sources/PackageCollectionsSigning/CMakeLists.txt | 6 +++--- + Sources/PackageGraph/CMakeLists.txt | 6 +++--- + Sources/PackageLoading/CMakeLists.txt | 6 +++--- + Sources/PackageModel/CMakeLists.txt | 6 +++--- + Sources/PackageModelSyntax/CMakeLists.txt | 6 +++--- + Sources/PackageRegistryCommand/CMakeLists.txt | 6 +++--- + Sources/QueryEngine/CMakeLists.txt | 6 +++--- + Sources/SPMBuildCore/CMakeLists.txt | 6 +++--- + Sources/SourceControl/CMakeLists.txt | 6 +++--- + Sources/SwiftSDKCommand/CMakeLists.txt | 6 +++--- + Sources/Workspace/CMakeLists.txt | 6 +++--- + Sources/_AsyncFileSystem/CMakeLists.txt | 6 +++--- + Sources/swift-experimental-sdk/CMakeLists.txt | 2 +- + Sources/swift-package/CMakeLists.txt | 2 +- + Sources/swift-run/CMakeLists.txt | 2 +- + Sources/swift-sdk/CMakeLists.txt | 2 +- + Sources/swift-test/CMakeLists.txt | 2 +- + 24 files changed, 62 insertions(+), 62 deletions(-) + +diff --git a/Sources/Basics/CMakeLists.txt b/Sources/Basics/CMakeLists.txt +index e2910d09b..2f523dedb 100644 +--- a/Sources/Basics/CMakeLists.txt ++++ b/Sources/Basics/CMakeLists.txt +@@ -97,7 +97,7 @@ target_link_options(Basics PRIVATE + "$<$:SHELL:-Xlinker -framework -Xlinker Security>") + + install(TARGETS Basics +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS Basics) +diff --git a/Sources/Build/CMakeLists.txt b/Sources/Build/CMakeLists.txt +index 495bd7a87..9b32067ff 100644 +--- a/Sources/Build/CMakeLists.txt ++++ b/Sources/Build/CMakeLists.txt +@@ -49,7 +49,7 @@ set_target_properties(Build PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS Build +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS Build) +diff --git a/Sources/Commands/CMakeLists.txt b/Sources/Commands/CMakeLists.txt +index c62c7424e..5efcc760d 100644 +--- a/Sources/Commands/CMakeLists.txt ++++ b/Sources/Commands/CMakeLists.txt +@@ -80,6 +80,6 @@ set_target_properties(Commands PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS Commands +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/CoreCommands/CMakeLists.txt b/Sources/CoreCommands/CMakeLists.txt +index 54bc10b2b..dbaadcb3f 100644 +--- a/Sources/CoreCommands/CMakeLists.txt ++++ b/Sources/CoreCommands/CMakeLists.txt +@@ -29,6 +29,6 @@ set_target_properties(CoreCommands PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS CoreCommands +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/DriverSupport/CMakeLists.txt b/Sources/DriverSupport/CMakeLists.txt +index 1044df0e9..29234574c 100644 +--- a/Sources/DriverSupport/CMakeLists.txt ++++ b/Sources/DriverSupport/CMakeLists.txt +@@ -18,7 +18,7 @@ target_link_libraries(DriverSupport PUBLIC + SwiftDriver) + + install(TARGETS DriverSupport +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS DriverSupport) +diff --git a/Sources/PackageCollections/CMakeLists.txt b/Sources/PackageCollections/CMakeLists.txt +index 63eb94c2f..4f3c183e4 100644 +--- a/Sources/PackageCollections/CMakeLists.txt ++++ b/Sources/PackageCollections/CMakeLists.txt +@@ -56,6 +56,6 @@ if(NOT APPLE) + endif() + + install(TARGETS PackageCollections +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/PackageCollectionsModel/CMakeLists.txt b/Sources/PackageCollectionsModel/CMakeLists.txt +index 9f98827a5..c99c5d81c 100644 +--- a/Sources/PackageCollectionsModel/CMakeLists.txt ++++ b/Sources/PackageCollectionsModel/CMakeLists.txt +@@ -20,6 +20,6 @@ if(NOT APPLE) + endif() + + install(TARGETS PackageCollectionsModel +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/PackageCollectionsSigning/CMakeLists.txt b/Sources/PackageCollectionsSigning/CMakeLists.txt +index 5f3d69abe..7390bb783 100644 +--- a/Sources/PackageCollectionsSigning/CMakeLists.txt ++++ b/Sources/PackageCollectionsSigning/CMakeLists.txt +@@ -36,6 +36,6 @@ if(NOT APPLE) + endif() + + install(TARGETS PackageCollectionsSigning +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/PackageGraph/CMakeLists.txt b/Sources/PackageGraph/CMakeLists.txt +index 46bd6580f..4e7a5e04d 100644 +--- a/Sources/PackageGraph/CMakeLists.txt ++++ b/Sources/PackageGraph/CMakeLists.txt +@@ -51,7 +51,7 @@ set_target_properties(PackageGraph PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS PackageGraph +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageGraph) +diff --git a/Sources/PackageLoading/CMakeLists.txt b/Sources/PackageLoading/CMakeLists.txt +index 476588dbf..f363cd12d 100644 +--- a/Sources/PackageLoading/CMakeLists.txt ++++ b/Sources/PackageLoading/CMakeLists.txt +@@ -36,7 +36,7 @@ set_target_properties(PackageLoading PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS PackageLoading +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageLoading) +diff --git a/Sources/PackageModel/CMakeLists.txt b/Sources/PackageModel/CMakeLists.txt +index 5d2ffa9d7..4e4975f3b 100644 +--- a/Sources/PackageModel/CMakeLists.txt ++++ b/Sources/PackageModel/CMakeLists.txt +@@ -75,7 +75,7 @@ set_target_properties(PackageModel PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS PackageModel +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageModel) +diff --git a/Sources/PackageModelSyntax/CMakeLists.txt b/Sources/PackageModelSyntax/CMakeLists.txt +index 02142c690..70dcf942c 100644 +--- a/Sources/PackageModelSyntax/CMakeLists.txt ++++ b/Sources/PackageModelSyntax/CMakeLists.txt +@@ -39,7 +39,7 @@ set_target_properties(PackageModelSyntax PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS PackageModelSyntax +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageModelSyntax) +diff --git a/Sources/PackageRegistryCommand/CMakeLists.txt b/Sources/PackageRegistryCommand/CMakeLists.txt +index 92c7785ed..a62300a1a 100644 +--- a/Sources/PackageRegistryCommand/CMakeLists.txt ++++ b/Sources/PackageRegistryCommand/CMakeLists.txt +@@ -34,6 +34,6 @@ if(NOT APPLE) + endif() + + install(TARGETS PackageRegistryCommand +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/QueryEngine/CMakeLists.txt b/Sources/QueryEngine/CMakeLists.txt +index 869c52c45..36d71c89c 100644 +--- a/Sources/QueryEngine/CMakeLists.txt ++++ b/Sources/QueryEngine/CMakeLists.txt +@@ -27,6 +27,6 @@ if(NOT APPLE) + endif() + + install(TARGETS QueryEngine +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/SPMBuildCore/CMakeLists.txt b/Sources/SPMBuildCore/CMakeLists.txt +index eaf92ddd1..ed7f25ca9 100644 +--- a/Sources/SPMBuildCore/CMakeLists.txt ++++ b/Sources/SPMBuildCore/CMakeLists.txt +@@ -40,7 +40,7 @@ target_link_libraries(SPMBuildCore PUBLIC + + + install(TARGETS SPMBuildCore +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS SPMBuildCore) +diff --git a/Sources/SourceControl/CMakeLists.txt b/Sources/SourceControl/CMakeLists.txt +index 8e1377d9b..e660bae2d 100644 +--- a/Sources/SourceControl/CMakeLists.txt ++++ b/Sources/SourceControl/CMakeLists.txt +@@ -22,7 +22,7 @@ set_target_properties(SourceControl PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS SourceControl +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS SourceControl) +diff --git a/Sources/SwiftSDKCommand/CMakeLists.txt b/Sources/SwiftSDKCommand/CMakeLists.txt +index 4dcfa36a2..ccca0ac3b 100644 +--- a/Sources/SwiftSDKCommand/CMakeLists.txt ++++ b/Sources/SwiftSDKCommand/CMakeLists.txt +@@ -29,6 +29,6 @@ set_target_properties(SwiftSDKCommand PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS SwiftSDKCommand +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/Workspace/CMakeLists.txt b/Sources/Workspace/CMakeLists.txt +index d0b033eb1..7c9003b1e 100644 +--- a/Sources/Workspace/CMakeLists.txt ++++ b/Sources/Workspace/CMakeLists.txt +@@ -61,6 +61,6 @@ set_target_properties(Workspace PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS Workspace +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/_AsyncFileSystem/CMakeLists.txt b/Sources/_AsyncFileSystem/CMakeLists.txt +index adf09b29c..ad2ce7c4a 100644 +--- a/Sources/_AsyncFileSystem/CMakeLists.txt ++++ b/Sources/_AsyncFileSystem/CMakeLists.txt +@@ -24,8 +24,8 @@ set_target_properties(_AsyncFileSystem PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) + + install(TARGETS _AsyncFileSystem +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION bin) ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + + set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS _AsyncFileSystem) +diff --git a/Sources/swift-experimental-sdk/CMakeLists.txt b/Sources/swift-experimental-sdk/CMakeLists.txt +index edad12be8..f07bd15a7 100644 +--- a/Sources/swift-experimental-sdk/CMakeLists.txt ++++ b/Sources/swift-experimental-sdk/CMakeLists.txt +@@ -15,4 +15,4 @@ target_compile_options(swift-experimental-sdk PRIVATE + -parse-as-library) + + install(TARGETS swift-experimental-sdk +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/swift-package/CMakeLists.txt b/Sources/swift-package/CMakeLists.txt +index 3468bdefc..4b4a8d190 100644 +--- a/Sources/swift-package/CMakeLists.txt ++++ b/Sources/swift-package/CMakeLists.txt +@@ -16,4 +16,4 @@ target_compile_options(swift-package PRIVATE + -parse-as-library) + + install(TARGETS swift-package +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/swift-run/CMakeLists.txt b/Sources/swift-run/CMakeLists.txt +index 9c609f84e..719a2228a 100644 +--- a/Sources/swift-run/CMakeLists.txt ++++ b/Sources/swift-run/CMakeLists.txt +@@ -15,4 +15,4 @@ target_compile_options(swift-run PRIVATE + -parse-as-library) + + install(TARGETS swift-run +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/swift-sdk/CMakeLists.txt b/Sources/swift-sdk/CMakeLists.txt +index ee3be128b..4ed4a522a 100644 +--- a/Sources/swift-sdk/CMakeLists.txt ++++ b/Sources/swift-sdk/CMakeLists.txt +@@ -15,4 +15,4 @@ target_compile_options(swift-sdk PRIVATE + -parse-as-library) + + install(TARGETS swift-sdk +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +diff --git a/Sources/swift-test/CMakeLists.txt b/Sources/swift-test/CMakeLists.txt +index 79c910294..ef2305587 100644 +--- a/Sources/swift-test/CMakeLists.txt ++++ b/Sources/swift-test/CMakeLists.txt +@@ -15,4 +15,4 @@ target_compile_options(swift-test PRIVATE + -parse-as-library) + + install(TARGETS swift-test +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +-- +2.50.1 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0002-darwin-swift-corelibs-xctest.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0002-darwin-swift-corelibs-xctest.patch new file mode 100644 index 0000000000000..3a6f5a24f7af0 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0002-darwin-swift-corelibs-xctest.patch @@ -0,0 +1,429 @@ +From ae7bca53d949e7bcfb2ef8c70742d2abd767cece Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:57:10 -0500 +Subject: [PATCH] darwin-swift-corelibs-xctest + +--- + .../Commands/Utilities/TestingSupport.swift | 65 ---- + .../Utilities/TestingSupport.swift.orig | 319 ++++++++++++++++++ + 2 files changed, 319 insertions(+), 65 deletions(-) + create mode 100644 Sources/Commands/Utilities/TestingSupport.swift.orig + +diff --git a/Sources/Commands/Utilities/TestingSupport.swift b/Sources/Commands/Utilities/TestingSupport.swift +index 81b329613..536babca5 100644 +--- a/Sources/Commands/Utilities/TestingSupport.swift ++++ b/Sources/Commands/Utilities/TestingSupport.swift +@@ -29,46 +29,6 @@ import func TSCBasic.withTemporaryFile + /// Note: In the long term this should be factored into a reusable module that + /// can run and report results on tests from both CLI and libSwiftPM API. + enum TestingSupport { +- /// Locates XCTestHelper tool inside the libexec directory and bin directory. +- /// Note: It is a fatalError if we are not able to locate the tool. +- /// +- /// - Returns: Path to XCTestHelper tool. +- static func xctestHelperPath(swiftCommandState: SwiftCommandState) throws -> AbsolutePath { +- var triedPaths = [AbsolutePath]() +- +- func findXCTestHelper(swiftBuildPath: AbsolutePath) -> AbsolutePath? { +- // XCTestHelper tool is installed in libexec. +- let maybePath = swiftBuildPath.parentDirectory.parentDirectory.appending( +- components: "libexec", "swift", "pm", "swiftpm-xctest-helper" +- ) +- if swiftCommandState.fileSystem.isFile(maybePath) { +- return maybePath +- } else { +- triedPaths.append(maybePath) +- return nil +- } +- } +- +- if let firstCLIArgument = CommandLine.arguments.first { +- let runningSwiftBuildPath = try AbsolutePath(validating: firstCLIArgument, relativeTo: swiftCommandState.originalWorkingDirectory) +- if let xctestHelperPath = findXCTestHelper(swiftBuildPath: runningSwiftBuildPath) { +- return xctestHelperPath +- } +- } +- +- // This will be true during swiftpm development or when using swift.org toolchains. +- let xcodePath = try AsyncProcess.checkNonZeroExit(args: "/usr/bin/xcode-select", "--print-path").spm_chomp() +- let installedSwiftBuildPath = try AsyncProcess.checkNonZeroExit( +- args: "/usr/bin/xcrun", "--find", "swift-build", +- environment: ["DEVELOPER_DIR": xcodePath] +- ).spm_chomp() +- if let xctestHelperPath = findXCTestHelper(swiftBuildPath: try AbsolutePath(validating: installedSwiftBuildPath)) { +- return xctestHelperPath +- } +- +- throw InternalError("XCTestHelper binary not found, tried \(triedPaths.map { $0.pathString }.joined(separator: ", "))") +- } +- + static func getTestSuites( + in testProducts: [BuiltTestProduct], + swiftCommandState: SwiftCommandState, +@@ -112,30 +72,6 @@ enum TestingSupport { + ) throws -> [TestSuite] { + // Run the correct tool. + var args = [String]() +- #if os(macOS) +- let data: String = try withTemporaryFile { tempFile in +- args = [try Self.xctestHelperPath(swiftCommandState: swiftCommandState).pathString, path.pathString, tempFile.path.pathString] +- let env = try Self.constructTestEnvironment( +- toolchain: try swiftCommandState.getTargetToolchain(), +- destinationBuildParameters: swiftCommandState.buildParametersForTest( +- enableCodeCoverage: enableCodeCoverage, +- shouldSkipBuilding: shouldSkipBuilding, +- experimentalTestOutput: experimentalTestOutput +- ).productsBuildParameters, +- sanitizers: sanitizers, +- library: .xctest +- ) +- try Self.runProcessWithExistenceCheck( +- path: path, +- fileSystem: swiftCommandState.fileSystem, +- args: args, +- env: env +- ) +- +- // Read the temporary file's content. +- return try swiftCommandState.fileSystem.readFileContents(AbsolutePath(tempFile.path)) +- } +- #else + let env = try Self.constructTestEnvironment( + toolchain: try swiftCommandState.getTargetToolchain(), + destinationBuildParameters: swiftCommandState.buildParametersForTest( +@@ -152,7 +88,6 @@ enum TestingSupport { + args: args, + env: env + ) +- #endif + // Parse json and return TestSuites. + return try TestSuite.parse(jsonString: data, context: args.joined(separator: " ")) + } +diff --git a/Sources/Commands/Utilities/TestingSupport.swift.orig b/Sources/Commands/Utilities/TestingSupport.swift.orig +new file mode 100644 +index 000000000..81b329613 +--- /dev/null ++++ b/Sources/Commands/Utilities/TestingSupport.swift.orig +@@ -0,0 +1,319 @@ ++//===----------------------------------------------------------------------===// ++// ++// This source file is part of the Swift open source project ++// ++// Copyright (c) 2022 Apple Inc. and the Swift project authors ++// Licensed under Apache License v2.0 with Runtime Library Exception ++// ++// See http://swift.org/LICENSE.txt for license information ++// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors ++// ++//===----------------------------------------------------------------------===// ++ ++import Basics ++import CoreCommands ++import PackageModel ++import SPMBuildCore ++import TSCUtility ++import Workspace ++ ++import struct TSCBasic.FileSystemError ++import class Basics.AsyncProcess ++import var TSCBasic.stderrStream ++import var TSCBasic.stdoutStream ++import func TSCBasic.withTemporaryFile ++ ++/// Internal helper functionality for the SwiftTestTool command and for the ++/// plugin support. ++/// ++/// Note: In the long term this should be factored into a reusable module that ++/// can run and report results on tests from both CLI and libSwiftPM API. ++enum TestingSupport { ++ /// Locates XCTestHelper tool inside the libexec directory and bin directory. ++ /// Note: It is a fatalError if we are not able to locate the tool. ++ /// ++ /// - Returns: Path to XCTestHelper tool. ++ static func xctestHelperPath(swiftCommandState: SwiftCommandState) throws -> AbsolutePath { ++ var triedPaths = [AbsolutePath]() ++ ++ func findXCTestHelper(swiftBuildPath: AbsolutePath) -> AbsolutePath? { ++ // XCTestHelper tool is installed in libexec. ++ let maybePath = swiftBuildPath.parentDirectory.parentDirectory.appending( ++ components: "libexec", "swift", "pm", "swiftpm-xctest-helper" ++ ) ++ if swiftCommandState.fileSystem.isFile(maybePath) { ++ return maybePath ++ } else { ++ triedPaths.append(maybePath) ++ return nil ++ } ++ } ++ ++ if let firstCLIArgument = CommandLine.arguments.first { ++ let runningSwiftBuildPath = try AbsolutePath(validating: firstCLIArgument, relativeTo: swiftCommandState.originalWorkingDirectory) ++ if let xctestHelperPath = findXCTestHelper(swiftBuildPath: runningSwiftBuildPath) { ++ return xctestHelperPath ++ } ++ } ++ ++ // This will be true during swiftpm development or when using swift.org toolchains. ++ let xcodePath = try AsyncProcess.checkNonZeroExit(args: "/usr/bin/xcode-select", "--print-path").spm_chomp() ++ let installedSwiftBuildPath = try AsyncProcess.checkNonZeroExit( ++ args: "/usr/bin/xcrun", "--find", "swift-build", ++ environment: ["DEVELOPER_DIR": xcodePath] ++ ).spm_chomp() ++ if let xctestHelperPath = findXCTestHelper(swiftBuildPath: try AbsolutePath(validating: installedSwiftBuildPath)) { ++ return xctestHelperPath ++ } ++ ++ throw InternalError("XCTestHelper binary not found, tried \(triedPaths.map { $0.pathString }.joined(separator: ", "))") ++ } ++ ++ static func getTestSuites( ++ in testProducts: [BuiltTestProduct], ++ swiftCommandState: SwiftCommandState, ++ enableCodeCoverage: Bool, ++ shouldSkipBuilding: Bool, ++ experimentalTestOutput: Bool, ++ sanitizers: [Sanitizer] ++ ) throws -> [AbsolutePath: [TestSuite]] { ++ let testSuitesByProduct = try testProducts ++ .map {( ++ $0.bundlePath, ++ try Self.getTestSuites( ++ fromTestAt: $0.bundlePath, ++ swiftCommandState: swiftCommandState, ++ enableCodeCoverage: enableCodeCoverage, ++ shouldSkipBuilding: shouldSkipBuilding, ++ experimentalTestOutput: experimentalTestOutput, ++ sanitizers: sanitizers ++ ) ++ )} ++ return try Dictionary(throwingUniqueKeysWithValues: testSuitesByProduct) ++ } ++ ++ /// Runs the corresponding tool to get tests JSON and create TestSuite array. ++ /// On macOS, we use the swiftpm-xctest-helper tool bundled with swiftpm. ++ /// On Linux, XCTest can dump the json using `--dump-tests-json` mode. ++ /// ++ /// - Parameters: ++ /// - path: Path to the XCTest bundle(macOS) or executable(Linux). ++ /// ++ /// - Throws: TestError, SystemError, TSCUtility.Error ++ /// ++ /// - Returns: Array of TestSuite ++ static func getTestSuites( ++ fromTestAt path: AbsolutePath, ++ swiftCommandState: SwiftCommandState, ++ enableCodeCoverage: Bool, ++ shouldSkipBuilding: Bool, ++ experimentalTestOutput: Bool, ++ sanitizers: [Sanitizer] ++ ) throws -> [TestSuite] { ++ // Run the correct tool. ++ var args = [String]() ++ #if os(macOS) ++ let data: String = try withTemporaryFile { tempFile in ++ args = [try Self.xctestHelperPath(swiftCommandState: swiftCommandState).pathString, path.pathString, tempFile.path.pathString] ++ let env = try Self.constructTestEnvironment( ++ toolchain: try swiftCommandState.getTargetToolchain(), ++ destinationBuildParameters: swiftCommandState.buildParametersForTest( ++ enableCodeCoverage: enableCodeCoverage, ++ shouldSkipBuilding: shouldSkipBuilding, ++ experimentalTestOutput: experimentalTestOutput ++ ).productsBuildParameters, ++ sanitizers: sanitizers, ++ library: .xctest ++ ) ++ try Self.runProcessWithExistenceCheck( ++ path: path, ++ fileSystem: swiftCommandState.fileSystem, ++ args: args, ++ env: env ++ ) ++ ++ // Read the temporary file's content. ++ return try swiftCommandState.fileSystem.readFileContents(AbsolutePath(tempFile.path)) ++ } ++ #else ++ let env = try Self.constructTestEnvironment( ++ toolchain: try swiftCommandState.getTargetToolchain(), ++ destinationBuildParameters: swiftCommandState.buildParametersForTest( ++ enableCodeCoverage: enableCodeCoverage, ++ shouldSkipBuilding: shouldSkipBuilding ++ ).productsBuildParameters, ++ sanitizers: sanitizers, ++ library: .xctest ++ ) ++ args = [path.description, "--dump-tests-json"] ++ let data = try Self.runProcessWithExistenceCheck( ++ path: path, ++ fileSystem: swiftCommandState.fileSystem, ++ args: args, ++ env: env ++ ) ++ #endif ++ // Parse json and return TestSuites. ++ return try TestSuite.parse(jsonString: data, context: args.joined(separator: " ")) ++ } ++ ++ /// Run a process and throw a more specific error if the file doesn't exist. ++ @discardableResult ++ private static func runProcessWithExistenceCheck( ++ path: AbsolutePath, ++ fileSystem: FileSystem, ++ args: [String], ++ env: Environment ++ ) throws -> String { ++ do { ++ return try AsyncProcess.checkNonZeroExit(arguments: args, environment: env) ++ } catch { ++ // If the file doesn't exist, throw a more specific error. ++ if !fileSystem.exists(path) { ++ throw FileSystemError(.noEntry, path) ++ } ++ throw error ++ } ++ } ++ ++ /// Creates the environment needed to test related tools. ++ static func constructTestEnvironment( ++ toolchain: UserToolchain, ++ destinationBuildParameters buildParameters: BuildParameters, ++ sanitizers: [Sanitizer], ++ library: TestingLibrary ++ ) throws -> Environment { ++ var env = Environment.current ++ ++ // If the standard output or error stream is NOT a TTY, set the NO_COLOR ++ // environment variable. This environment variable is a de facto ++ // standard used to inform downstream processes not to add ANSI escape ++ // codes to their output. SEE: https://www.no-color.org ++ if !stdoutStream.isTTY || !stderrStream.isTTY { ++ env["NO_COLOR"] = "1" ++ } ++ ++ // Add the code coverage related variables. ++ if buildParameters.testingParameters.enableCodeCoverage { ++ // Defines the path at which the profraw files will be written on test execution. ++ // ++ // `%Nm` will create a pool of N profraw files and append the data from each execution ++ // in one of the files. The runtime takes care of selecting a raw profile from the pool, ++ // locking it, and updating it before the program exits. If N is not specified, it is ++ // inferred to be 1. ++ // ++ // This is fine for parallel execution within a process, but for parallel tests, SwiftPM ++ // repeatedly invokes the test binary with the testcase name as the filter and the ++ // locking cannot be enforced by the runtime across the process boundaries. ++ // ++ // It's also possible that tests themselves will fork (e.g. for exit tests provided by ++ // Swift Testing), which will inherit the environment of the parent process, and so ++ // write to the same file, leading to profile data corruption. ++ // ++ // For these reasons, we unilaterally also add a %p, which will cause uniquely named ++ // files per process. ++ // ++ // These are all merged using `llvm-profdata merge` once the outer test command has ++ // completed. ++ let codecovProfile = buildParameters.buildPath.appending(components: "codecov", "\(library)%m.%p.profraw") ++ env["LLVM_PROFILE_FILE"] = codecovProfile.pathString ++ } ++ #if !os(macOS) ++ #if os(Windows) ++ if let xctestLocation = toolchain.xctestPath { ++ env.prependPath(key: .path, value: xctestLocation.pathString) ++ } ++ if let swiftTestingLocation = toolchain.swiftTestingPath { ++ env.prependPath(key: .path, value: swiftTestingLocation.pathString) ++ } ++ #endif ++ return env ++ #else ++ // Add path to swift-testing override if there is one ++ if let swiftTestingPath = toolchain.swiftTestingPath { ++ if swiftTestingPath.extension == "framework" { ++ env.appendPath(key: "DYLD_FRAMEWORK_PATH", value: swiftTestingPath.pathString) ++ } else { ++ env.appendPath(key: "DYLD_LIBRARY_PATH", value: swiftTestingPath.pathString) ++ } ++ } ++ ++ // Add the sdk platform path if we have it. ++ // Since XCTestHelper targets macOS, we need the macOS platform paths here. ++ if let sdkPlatformPaths = try? SwiftSDK.sdkPlatformPaths(for: .macOS) { ++ // appending since we prefer the user setting (if set) to the one we inject ++ for frameworkPath in sdkPlatformPaths.frameworks { ++ env.appendPath(key: "DYLD_FRAMEWORK_PATH", value: frameworkPath.pathString) ++ } ++ for libraryPath in sdkPlatformPaths.libraries { ++ env.appendPath(key: "DYLD_LIBRARY_PATH", value: libraryPath.pathString) ++ } ++ } ++ ++ // We aren't using XCTest's harness logic to run Swift Testing tests. ++ if library == .xctest { ++ env["SWIFT_TESTING_ENABLED"] = "0" ++ } ++ ++ // Fast path when no sanitizers are enabled. ++ if sanitizers.isEmpty { ++ return env ++ } ++ ++ // Get the runtime libraries. ++ var runtimes = try sanitizers.map({ sanitizer in ++ return try toolchain.runtimeLibrary(for: sanitizer).pathString ++ }) ++ ++ // Append any existing value to the front. ++ if let existingValue = env["DYLD_INSERT_LIBRARIES"], !existingValue.isEmpty { ++ runtimes.insert(existingValue, at: 0) ++ } ++ ++ env["DYLD_INSERT_LIBRARIES"] = runtimes.joined(separator: ":") ++ return env ++ #endif ++ } ++} ++ ++extension SwiftCommandState { ++ func buildParametersForTest( ++ enableCodeCoverage: Bool, ++ enableTestability: Bool? = nil, ++ shouldSkipBuilding: Bool = false, ++ experimentalTestOutput: Bool = false ++ ) throws -> (productsBuildParameters: BuildParameters, toolsBuildParameters: BuildParameters) { ++ let productsBuildParameters = buildParametersForTest( ++ modifying: try productsBuildParameters, ++ enableCodeCoverage: enableCodeCoverage, ++ enableTestability: enableTestability, ++ shouldSkipBuilding: shouldSkipBuilding, ++ experimentalTestOutput: experimentalTestOutput ++ ) ++ let toolsBuildParameters = buildParametersForTest( ++ modifying: try toolsBuildParameters, ++ enableCodeCoverage: enableCodeCoverage, ++ enableTestability: enableTestability, ++ shouldSkipBuilding: shouldSkipBuilding, ++ experimentalTestOutput: experimentalTestOutput ++ ) ++ return (productsBuildParameters, toolsBuildParameters) ++ } ++ ++ private func buildParametersForTest( ++ modifying parameters: BuildParameters, ++ enableCodeCoverage: Bool, ++ enableTestability: Bool?, ++ shouldSkipBuilding: Bool, ++ experimentalTestOutput: Bool ++ ) -> BuildParameters { ++ var parameters = parameters ++ parameters.testingParameters.enableCodeCoverage = enableCodeCoverage ++ // for test commands, we normally enable building with testability ++ // but we let users override this with a flag ++ parameters.testingParameters.explicitlyEnabledTestability = enableTestability ?? true ++ parameters.shouldSkipBuilding = shouldSkipBuilding ++ parameters.testingParameters.experimentalTestOutput = experimentalTestOutput ++ return parameters ++ } ++} +-- +2.50.1 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0003-disable-sandbox.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0003-disable-sandbox.patch new file mode 100644 index 0000000000000..97adb8fbd3c18 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0003-disable-sandbox.patch @@ -0,0 +1,47 @@ +From ba494434187ba751e52547a6a0f0c7a323a4eb46 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:57:33 -0500 +Subject: [PATCH] disable-sandbox + +--- + Sources/Basics/Sandbox.swift | 22 ++++++++++++---------- + 1 file changed, 12 insertions(+), 10 deletions(-) + +diff --git a/Sources/Basics/Sandbox.swift b/Sources/Basics/Sandbox.swift +index f24636cac..8b65b2489 100644 +--- a/Sources/Basics/Sandbox.swift ++++ b/Sources/Basics/Sandbox.swift +@@ -57,18 +57,20 @@ public enum Sandbox { + allowNetworkConnections: [SandboxNetworkPermission] = [] + ) throws -> [String] { + #if os(macOS) +- let profile = try macOSSandboxProfile( +- fileSystem: fileSystem, +- strictness: strictness, +- writableDirectories: writableDirectories, +- readOnlyDirectories: readOnlyDirectories, +- allowNetworkConnections: allowNetworkConnections +- ) +- return ["/usr/bin/sandbox-exec", "-p", profile] + command +- #else ++ let env = ProcessInfo.processInfo.environment ++ if env["NIX_BUILD_TOP"] == nil || env["IN_NIX_SHELL"] != nil { ++ let profile = try macOSSandboxProfile( ++ fileSystem: fileSystem, ++ strictness: strictness, ++ writableDirectories: writableDirectories, ++ readOnlyDirectories: readOnlyDirectories, ++ allowNetworkConnections: allowNetworkConnections ++ ) ++ return ["/usr/bin/sandbox-exec", "-p", profile] + command ++ } ++ #endif + // rdar://40235432, rdar://75636874 tracks implementing sandboxes for other platforms. + return command +- #endif + } + + /// Basic strictness level of a sandbox applied to a command line. +-- +2.50.1 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0004-fix-backdeploy-rpath.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0004-fix-backdeploy-rpath.patch new file mode 100644 index 0000000000000..7a0e4aa60d459 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0004-fix-backdeploy-rpath.patch @@ -0,0 +1,56 @@ +From a6e175040d74cc8b74077f689690e043572d8616 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:57:55 -0500 +Subject: [PATCH] fix-backdeploy-rpath + +--- + Sources/Build/BuildDescription/ProductBuildDescription.swift | 5 ++--- + Sources/SPMBuildCore/Plugins/DefaultPluginScriptRunner.swift | 2 +- + Sources/_InternalTestSupport/Toolchain.swift | 2 +- + 3 files changed, 4 insertions(+), 5 deletions(-) + +diff --git a/Sources/Build/BuildDescription/ProductBuildDescription.swift b/Sources/Build/BuildDescription/ProductBuildDescription.swift +index 0ca75c458..53f42df90 100644 +--- a/Sources/Build/BuildDescription/ProductBuildDescription.swift ++++ b/Sources/Build/BuildDescription/ProductBuildDescription.swift +@@ -324,9 +324,8 @@ public final class ProductBuildDescription: SPMBuildCore.ProductBuildDescription + if macOSSupportedPlatform.version.major < 12 { + // When deploying to macOS prior to macOS 12, add an rpath to the + // back-deployed concurrency libraries. +- let backDeployedStdlib = try buildParameters.toolchain.macosSwiftStdlib +- .parentDirectory +- .parentDirectory ++ let backDeployedStdlib = try AbsolutePath(validating: "@swift-lib@") ++ .appending("lib") + .appending("swift-5.5") + .appending("macosx") + args += ["-Xlinker", "-rpath", "-Xlinker", backDeployedStdlib.pathString] +diff --git a/Sources/SPMBuildCore/Plugins/DefaultPluginScriptRunner.swift b/Sources/SPMBuildCore/Plugins/DefaultPluginScriptRunner.swift +index 38da378e0..dcf4127c8 100644 +--- a/Sources/SPMBuildCore/Plugins/DefaultPluginScriptRunner.swift ++++ b/Sources/SPMBuildCore/Plugins/DefaultPluginScriptRunner.swift +@@ -170,7 +170,7 @@ public struct DefaultPluginScriptRunner: PluginScriptRunner, Cancellable { + } + else { + // Add an `-rpath` so the Swift 5.5 fallback libraries can be found. +- let swiftSupportLibPath = self.toolchain.swiftCompilerPathForManifests.parentDirectory.parentDirectory.appending(components: "lib", "swift-5.5", "macosx") ++ let swiftSupportLibPath = try! AbsolutePath(validating: "@swift-lib@").appending(components: "lib", "swift-5.5", "macosx") + commandLine += ["-Xlinker", "-rpath", "-Xlinker", swiftSupportLibPath.pathString] + } + #endif +diff --git a/Sources/_InternalTestSupport/Toolchain.swift b/Sources/_InternalTestSupport/Toolchain.swift +index 3bbb62cb6..dc0ca4c0e 100644 +--- a/Sources/_InternalTestSupport/Toolchain.swift ++++ b/Sources/_InternalTestSupport/Toolchain.swift +@@ -74,7 +74,7 @@ extension UserToolchain { + try localFileSystem.writeFileContents(inputPath, string: "public func foo() async {}\nTask { await foo() }") + let outputPath = tmpPath.appending("foo") + let toolchainPath = self.swiftCompilerPath.parentDirectory.parentDirectory +- let backDeploymentLibPath = toolchainPath.appending(components: "lib", "swift-5.5", "macosx") ++ let backDeploymentLibPath = try! AbsolutePath(validating: "@swift-lib@").appending(components: "lib", "swift-5.5", "macosx") + try AsyncProcess.checkNonZeroExit(arguments: ["/usr/bin/xcrun", "--toolchain", toolchainPath.pathString, "swiftc", inputPath.pathString, "-Xlinker", "-rpath", "-Xlinker", backDeploymentLibPath.pathString, "-o", outputPath.pathString]) + try AsyncProcess.checkNonZeroExit(arguments: [outputPath.pathString]) + } +-- +2.50.1 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0005-fix-manifest-path.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0005-fix-manifest-path.patch new file mode 100644 index 0000000000000..80cedc98350a2 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0005-fix-manifest-path.patch @@ -0,0 +1,1279 @@ +From e84c153791c0763017ee9aed371d7234e0e55da4 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:58:33 -0500 +Subject: [PATCH] fix-manifest-path + +--- + Sources/PackageModel/UserToolchain.swift | 8 + + Sources/PackageModel/UserToolchain.swift.orig | 1240 +++++++++++++++++ + 2 files changed, 1248 insertions(+) + create mode 100644 Sources/PackageModel/UserToolchain.swift.orig + +diff --git a/Sources/PackageModel/UserToolchain.swift b/Sources/PackageModel/UserToolchain.swift +index 7f21304c6..39d7333c5 100644 +--- a/Sources/PackageModel/UserToolchain.swift ++++ b/Sources/PackageModel/UserToolchain.swift +@@ -956,6 +956,14 @@ public final class UserToolchain: Toolchain { + } + } + ++ // The manifest and plugin paths should be in the store if they’re nowhere else. ++ if let storeLibraryPath = try? Basics.AbsolutePath(validating: "@out@/lib/swift/pm") { ++ return .init( ++ manifestLibraryPath: storeLibraryPath.appending("ManifestAPI"), ++ pluginLibraryPath: storeLibraryPath.appending("PluginAPI") ++ ) ++ } ++ + // we are using a SwiftPM outside a toolchain, use the compiler path to compute the location + return .init(swiftCompilerPath: swiftCompilerPath) + } +diff --git a/Sources/PackageModel/UserToolchain.swift.orig b/Sources/PackageModel/UserToolchain.swift.orig +new file mode 100644 +index 000000000..7f21304c6 +--- /dev/null ++++ b/Sources/PackageModel/UserToolchain.swift.orig +@@ -0,0 +1,1240 @@ ++//===----------------------------------------------------------------------===// ++// ++// This source file is part of the Swift open source project ++// ++// Copyright (c) 2014-2024 Apple Inc. and the Swift project authors ++// Licensed under Apache License v2.0 with Runtime Library Exception ++// ++// See http://swift.org/LICENSE.txt for license information ++// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors ++// ++//===----------------------------------------------------------------------===// ++ ++import Basics ++import Foundation ++import TSCUtility ++import enum TSCBasic.JSON ++ ++import class Basics.AsyncProcess ++ ++#if os(Windows) ++private let hostExecutableSuffix = ".exe" ++#else ++private let hostExecutableSuffix = "" ++#endif ++ ++// FIXME: This is messy and needs a redesign. ++public final class UserToolchain: Toolchain { ++ public typealias SwiftCompilers = (compile: AbsolutePath, manifest: AbsolutePath) ++ ++ /// The toolchain configuration. ++ private let configuration: ToolchainConfiguration ++ ++ /// Path of the librarian. ++ public let librarianPath: AbsolutePath ++ ++ /// Path of the `swiftc` compiler. ++ public let swiftCompilerPath: AbsolutePath ++ ++ /// An array of paths to search for headers and modules at compile time. ++ public let includeSearchPaths: [AbsolutePath] ++ ++ /// An array of paths to search for libraries at link time. ++ public let librarySearchPaths: [AbsolutePath] ++ ++ /// An array of paths to use with binaries produced by this toolchain at run time. ++ public let runtimeLibraryPaths: [AbsolutePath] ++ ++ /// Path containing Swift resources for dynamic linking. ++ public var swiftResourcesPath: AbsolutePath? { ++ swiftSDK.pathsConfiguration.swiftResourcesPath ++ } ++ ++ /// Path containing Swift resources for static linking. ++ public var swiftStaticResourcesPath: AbsolutePath? { ++ swiftSDK.pathsConfiguration.swiftStaticResourcesPath ++ } ++ ++ /// Additional flags to be passed to the build tools. ++ public var extraFlags: BuildFlags ++ ++ /// Path of the `swift` interpreter. ++ public var swiftInterpreterPath: AbsolutePath { ++ self.swiftCompilerPath.parentDirectory.appending("swift" + hostExecutableSuffix) ++ } ++ ++ private let fileSystem: any FileSystem ++ ++ /// The compilation destination object. ++ @available(*, deprecated, renamed: "swiftSDK") ++ public var destination: SwiftSDK { swiftSDK } ++ ++ /// The Swift SDK used by this toolchain. ++ public let swiftSDK: SwiftSDK ++ ++ /// The target triple that should be used for compilation. ++ @available(*, deprecated, renamed: "targetTriple") ++ public var triple: Basics.Triple { targetTriple } ++ ++ public let targetTriple: Basics.Triple ++ ++ // A version string that can be used to identify the swift compiler version ++ public let swiftCompilerVersion: String? ++ ++ /// The list of CPU architectures to build for. ++ public let architectures: [String]? ++ ++ /// Search paths from the PATH environment variable. ++ let envSearchPaths: [AbsolutePath] ++ ++ /// Only use search paths, do not fall back to `xcrun`. ++ let useXcrun: Bool ++ ++ private var _clangCompiler: AbsolutePath? ++ ++ private let environment: Environment ++ ++ public let installedSwiftPMConfiguration: InstalledSwiftPMConfiguration ++ ++ /// Returns the runtime library for the given sanitizer. ++ public func runtimeLibrary(for sanitizer: Sanitizer) throws -> AbsolutePath { ++ // FIXME: This is only for SwiftPM development time support. It is OK ++ // for now but we shouldn't need to resolve the symlink. We need to lay ++ // down symlinks to runtimes in our fake toolchain as part of the ++ // bootstrap script. ++ let swiftCompiler = try resolveSymlinks(self.swiftCompilerPath) ++ ++ let runtime = try swiftCompiler.appending( ++ RelativePath(validating: "../../lib/swift/clang/lib/darwin/libclang_rt.\(sanitizer.shortName)_osx_dynamic.dylib") ++ ) ++ ++ // Ensure that the runtime is present. ++ guard fileSystem.exists(runtime) else { ++ throw InvalidToolchainDiagnostic("Missing runtime for \(sanitizer) sanitizer") ++ } ++ ++ return runtime ++ } ++ ++ // MARK: - private utilities ++ ++ private static func lookup( ++ variable: String, ++ searchPaths: [AbsolutePath], ++ environment: Environment ++ ) -> AbsolutePath? { ++ lookupExecutablePath(filename: environment[.init(variable)], searchPaths: searchPaths) ++ } ++ ++ private static func getTool( ++ _ name: String, ++ binDirectories: [AbsolutePath], ++ fileSystem: any FileSystem ++ ) throws -> AbsolutePath { ++ let executableName = "\(name)\(hostExecutableSuffix)" ++ var toolPath: AbsolutePath? ++ ++ for dir in binDirectories { ++ let path = dir.appending(component: executableName) ++ guard fileSystem.isExecutableFile(path) else { ++ continue ++ } ++ toolPath = path ++ // Take the first match. ++ break ++ } ++ ++ guard let toolPath else { ++ throw InvalidToolchainDiagnostic("could not find CLI tool `\(name)` at any of these directories: \(binDirectories)") ++ } ++ return toolPath ++ } ++ ++ private static func findTool( ++ _ name: String, ++ envSearchPaths: [AbsolutePath], ++ useXcrun: Bool, ++ fileSystem: any FileSystem ++ ) throws -> AbsolutePath { ++ if useXcrun { ++ #if os(macOS) ++ let foundPath = try AsyncProcess.checkNonZeroExit(arguments: ["/usr/bin/xcrun", "--find", name]) ++ .spm_chomp() ++ return try AbsolutePath(validating: foundPath) ++ #endif ++ } ++ ++ return try getTool(name, binDirectories: envSearchPaths, fileSystem: fileSystem) ++ } ++ ++ private static func getTargetInfo(swiftCompiler: AbsolutePath) throws -> JSON { ++ // Call the compiler to get the target info JSON. ++ let compilerOutput: String ++ do { ++ let result = try AsyncProcess.popen(args: swiftCompiler.pathString, "-print-target-info") ++ compilerOutput = try result.utf8Output().spm_chomp() ++ } catch { ++ throw InternalError( ++ "Failed to load target info (\(error.interpolationDescription))" ++ ) ++ } ++ // Parse the compiler's JSON output. ++ do { ++ return try JSON(string: compilerOutput) ++ } catch { ++ throw InternalError( ++ "Failed to parse target info (\(error.interpolationDescription)).\nRaw compiler output: \(compilerOutput)" ++ ) ++ } ++ } ++ ++ private static func getHostTriple(targetInfo: JSON) throws -> Basics.Triple { ++ // Get the triple string from the target info. ++ let tripleString: String ++ do { ++ tripleString = try targetInfo.get("target").get("triple") ++ } catch { ++ throw InternalError( ++ "Target info does not contain a triple string (\(error.interpolationDescription)).\nTarget info: \(targetInfo)" ++ ) ++ } ++ ++ // Parse the triple string. ++ do { ++ return try Triple(tripleString) ++ } catch { ++ throw InternalError( ++ "Failed to parse triple string (\(error.interpolationDescription)).\nTriple string: \(tripleString)" ++ ) ++ } ++ } ++ ++ private static func computeRuntimeLibraryPaths(targetInfo: JSON) throws -> [AbsolutePath] { ++ var libraryPaths: [AbsolutePath] = [] ++ ++ for runtimeLibPath in (try? (try? targetInfo.get("paths"))?.getArray("runtimeLibraryPaths")) ?? [] { ++ guard case .string(let value) = runtimeLibPath else { ++ continue ++ } ++ ++ guard let path = try? AbsolutePath(validating: value) else { ++ continue ++ } ++ ++ libraryPaths.append(path) ++ } ++ ++ return libraryPaths ++ } ++ ++ private static func computeSwiftCompilerVersion(targetInfo: JSON) -> String? { ++ // Use the new swiftCompilerTag if it's there ++ if let swiftCompilerTag: String = targetInfo.get("swiftCompilerTag") { ++ return swiftCompilerTag ++ } ++ ++ // Default to the swift portion of the compilerVersion ++ let compilerVersion: String ++ do { ++ compilerVersion = try targetInfo.get("compilerVersion") ++ } catch { ++ return nil ++ } ++ ++ // Extract the swift version using regex from the description if available ++ do { ++ let regex = try Regex(#"\((swift(lang)?-[^ )]*)"#) ++ if let match = try regex.firstMatch(in: compilerVersion), match.count > 1, let substring = match[1].substring { ++ return String(substring) ++ } ++ ++ let regex2 = try Regex(#"\(.*Swift (.*)[ )]"#) ++ if let match2 = try regex2.firstMatch(in: compilerVersion), match2.count > 1, let substring = match2[1].substring { ++ return "swift-\(substring)" ++ } else { ++ return nil ++ } ++ } catch { ++ return nil ++ } ++ } ++ ++ // MARK: - public API ++ ++ public static func determineLibrarian( ++ triple: Basics.Triple, ++ binDirectories: [AbsolutePath], ++ useXcrun: Bool, ++ environment: Environment, ++ searchPaths: [AbsolutePath], ++ extraSwiftFlags: [String], ++ fileSystem: any FileSystem ++ ) throws -> AbsolutePath { ++ let variable: String = triple.isApple() ? "LIBTOOL" : "AR" ++ let tool: String = { ++ if triple.isApple() { return "libtool" } ++ if triple.isWindows() { ++ if let librarian: AbsolutePath = ++ UserToolchain.lookup( ++ variable: "AR", ++ searchPaths: searchPaths, ++ environment: environment ++ ) ++ { ++ return librarian.basename ++ } ++ // TODO(5719) handle `-Xmanifest` vs `-Xswiftc` ++ // `-use-ld=` is always joined in Swift. ++ if let ld = extraSwiftFlags.first(where: { $0.starts(with: "-use-ld=") }) { ++ let linker = String(ld.split(separator: "=").last!) ++ return linker == "lld" ? "lld-link" : linker ++ } ++ return "link" ++ } ++ return "llvm-ar" ++ }() ++ ++ if let librarian = UserToolchain.lookup( ++ variable: variable, ++ searchPaths: searchPaths, ++ environment: environment ++ ) { ++ if fileSystem.isExecutableFile(librarian) { ++ return librarian ++ } ++ } ++ ++ if let librarian = try? UserToolchain.getTool(tool, binDirectories: binDirectories, fileSystem: fileSystem) { ++ return librarian ++ } ++ if triple.isApple() || triple.isWindows() { ++ return try UserToolchain.findTool(tool, envSearchPaths: searchPaths, useXcrun: useXcrun, fileSystem: fileSystem) ++ } else { ++ if let librarian = try? UserToolchain.findTool(tool, envSearchPaths: searchPaths, useXcrun: false, fileSystem: fileSystem) { ++ return librarian ++ } ++ // Fall back to looking for binutils `ar` if `llvm-ar` can't be found. ++ if let librarian = try? UserToolchain.getTool("ar", binDirectories: binDirectories, fileSystem: fileSystem) { ++ return librarian ++ } ++ return try UserToolchain.findTool("ar", envSearchPaths: searchPaths, useXcrun: false, fileSystem: fileSystem) ++ } ++ } ++ ++ /// Determines the Swift compiler paths for compilation and manifest parsing. ++ public static func determineSwiftCompilers( ++ binDirectories: [AbsolutePath], ++ useXcrun: Bool, ++ environment: Environment, ++ searchPaths: [AbsolutePath], ++ fileSystem: any FileSystem ++ ) throws -> SwiftCompilers { ++ func validateCompiler(at path: AbsolutePath?) throws { ++ guard let path else { return } ++ guard fileSystem.isExecutableFile(path) else { ++ throw InvalidToolchainDiagnostic( ++ "could not find the `swiftc\(hostExecutableSuffix)` at expected path \(path)" ++ ) ++ } ++ } ++ ++ let lookup = { UserToolchain.lookup(variable: $0, searchPaths: searchPaths, environment: environment) } ++ // Get overrides. ++ let SWIFT_EXEC_MANIFEST = lookup("SWIFT_EXEC_MANIFEST") ++ let SWIFT_EXEC = lookup("SWIFT_EXEC") ++ ++ // Validate the overrides. ++ try validateCompiler(at: SWIFT_EXEC) ++ try validateCompiler(at: SWIFT_EXEC_MANIFEST) ++ ++ // We require there is at least one valid swift compiler, either in the ++ // bin dir or SWIFT_EXEC. ++ let resolvedBinDirCompiler: AbsolutePath ++ if let SWIFT_EXEC { ++ resolvedBinDirCompiler = SWIFT_EXEC ++ } else if let binDirCompiler = try? UserToolchain.getTool("swiftc", binDirectories: binDirectories, fileSystem: fileSystem) { ++ resolvedBinDirCompiler = binDirCompiler ++ } else { ++ // Try to lookup swift compiler on the system which is possible when ++ // we're built outside of the Swift toolchain. ++ resolvedBinDirCompiler = try UserToolchain.findTool( ++ "swiftc", ++ envSearchPaths: searchPaths, ++ useXcrun: useXcrun, ++ fileSystem: fileSystem ++ ) ++ } ++ ++ // The compiler for compilation tasks is SWIFT_EXEC or the bin dir compiler. ++ // The compiler for manifest is either SWIFT_EXEC_MANIFEST or the bin dir compiler. ++ return (compile: SWIFT_EXEC ?? resolvedBinDirCompiler, manifest: SWIFT_EXEC_MANIFEST ?? resolvedBinDirCompiler) ++ } ++ ++ /// Returns the path to clang compiler tool. ++ public func getClangCompiler() throws -> AbsolutePath { ++ // Check if we already computed. ++ if let clang = self._clangCompiler { ++ return clang ++ } ++ ++ // Check in the environment variable first. ++ if let toolPath = UserToolchain.lookup( ++ variable: "CC", ++ searchPaths: self.envSearchPaths, ++ environment: environment ++ ) { ++ self._clangCompiler = toolPath ++ return toolPath ++ } ++ ++ // Then, check the toolchain. ++ if let toolPath = try? UserToolchain.getTool( ++ "clang", ++ binDirectories: self.swiftSDK.toolset.rootPaths, ++ fileSystem: self.fileSystem ++ ) { ++ self._clangCompiler = toolPath ++ return toolPath ++ } ++ ++ // Otherwise, lookup it up on the system. ++ let toolPath = try UserToolchain.findTool( ++ "clang", ++ envSearchPaths: self.envSearchPaths, ++ useXcrun: useXcrun, ++ fileSystem: self.fileSystem ++ ) ++ self._clangCompiler = toolPath ++ return toolPath ++ } ++ ++ public func _isClangCompilerVendorApple() throws -> Bool? { ++ // Assume the vendor is Apple on macOS. ++ // FIXME: This might not be the best way to determine this. ++ #if os(macOS) ++ return true ++ #else ++ return false ++ #endif ++ } ++ ++ /// Returns the path to lldb. ++ public func getLLDB() throws -> AbsolutePath { ++ // Look for LLDB next to the compiler first. ++ if let lldbPath = try? UserToolchain.getTool( ++ "lldb", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ) { ++ return lldbPath ++ } ++ // If that fails, fall back to xcrun, PATH, etc. ++ return try UserToolchain.findTool( ++ "lldb", ++ envSearchPaths: self.envSearchPaths, ++ useXcrun: useXcrun, ++ fileSystem: self.fileSystem ++ ) ++ } ++ ++ /// Returns the path to llvm-cov tool. ++ public func getLLVMCov() throws -> AbsolutePath { ++ try UserToolchain.getTool( ++ "llvm-cov", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ) ++ } ++ ++ /// Returns the path to llvm-prof tool. ++ public func getLLVMProf() throws -> AbsolutePath { ++ try UserToolchain.getTool( ++ "llvm-profdata", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ) ++ } ++ ++ /// Returns the path to llvm-objdump tool. ++ package func getLLVMObjdump() throws -> AbsolutePath { ++ try UserToolchain.getTool( ++ "llvm-objdump", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ) ++ } ++ ++ public func getSwiftAPIDigester() throws -> AbsolutePath { ++ if let envValue = UserToolchain.lookup( ++ variable: "SWIFT_API_DIGESTER", ++ searchPaths: self.envSearchPaths, ++ environment: environment ++ ) { ++ return envValue ++ } ++ return try UserToolchain.getTool( ++ "swift-api-digester", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ++ ) ++ } ++ ++ public func getSymbolGraphExtract() throws -> AbsolutePath { ++ if let envValue = UserToolchain.lookup( ++ variable: "SWIFT_SYMBOLGRAPH_EXTRACT", ++ searchPaths: self.envSearchPaths, ++ environment: environment ++ ) { ++ return envValue ++ } ++ return try UserToolchain.getTool( ++ "swift-symbolgraph-extract", ++ binDirectories: [self.swiftCompilerPath.parentDirectory], ++ fileSystem: self.fileSystem ++ ) ++ } ++ ++#if os(macOS) ++ public func getSwiftTestingHelper() throws -> AbsolutePath { ++ // The helper would be located in `.build/` directory when ++ // SwiftPM is built locally and `usr/libexec/swift/pm` directory in ++ // an installed version. ++ let binDirectories = self.swiftSDK.toolset.rootPaths + ++ self.swiftSDK.toolset.rootPaths.map { ++ $0.parentDirectory.appending(components: ["libexec", "swift", "pm"]) ++ } ++ ++ return try UserToolchain.getTool( ++ "swiftpm-testing-helper", ++ binDirectories: binDirectories, ++ fileSystem: self.fileSystem ++ ) ++ } ++#endif ++ ++ internal static func deriveSwiftCFlags( ++ triple: Basics.Triple, ++ swiftSDK: SwiftSDK, ++ environment: Environment, ++ fileSystem: any FileSystem ++ ) throws -> [String] { ++ var swiftCompilerFlags = swiftSDK.toolset.knownTools[.swiftCompiler]?.extraCLIOptions ?? [] ++ ++ if let linker = swiftSDK.toolset.knownTools[.linker]?.path { ++ swiftCompilerFlags += ["-ld-path=\(linker)"] ++ } ++ ++ guard let sdkDir = swiftSDK.pathsConfiguration.sdkRootPath else { ++ if triple.isWindows() { ++ // Windows uses a variable named SDKROOT to determine the root of ++ // the SDK. This is not the same value as the SDKROOT parameter ++ // in Xcode, however, the value represents a similar concept. ++ if let sdkroot = environment.windowsSDKRoot { ++ var runtime: [String] = [] ++ var xctest: [String] = [] ++ var swiftTesting: [String] = [] ++ var extraSwiftCFlags: [String] = [] ++ ++ if let settings = WindowsSDKSettings( ++ reading: sdkroot.appending("SDKSettings.plist"), ++ observabilityScope: nil, ++ filesystem: fileSystem ++ ) { ++ switch settings.defaults.runtime { ++ case .multithreadedDebugDLL: ++ runtime = ["-libc", "MDd"] ++ case .multithreadedDLL: ++ runtime = ["-libc", "MD"] ++ case .multithreadedDebug: ++ runtime = ["-libc", "MTd"] ++ case .multithreaded: ++ runtime = ["-libc", "MT"] ++ } ++ } ++ ++ // The layout of the SDK is as follows: ++ // ++ // Library/Developer/Platforms/[PLATFORM].platform/Developer/Library/-[VERSION]/... ++ // Library/Developer/Platforms/[PLATFORM].platform/Developer/SDKs/[PLATFORM].sdk/... ++ // ++ // SDKROOT points to [PLATFORM].sdk ++ let platform = sdkroot.parentDirectory.parentDirectory.parentDirectory ++ ++ if let info = WindowsPlatformInfo( ++ reading: platform.appending("Info.plist"), ++ observabilityScope: nil, ++ filesystem: fileSystem ++ ) { ++ let XCTestInstallation: AbsolutePath = ++ platform.appending("Developer") ++ .appending("Library") ++ .appending("XCTest-\(info.defaults.xctestVersion)") ++ ++ xctest = try [ ++ "-I", ++ AbsolutePath( ++ validating: "usr/lib/swift/windows", ++ relativeTo: XCTestInstallation ++ ).pathString, ++ // Migration Path ++ // ++ // Older Swift (<=5.7) installations placed the ++ // XCTest Swift module into the architecture ++ // specified directory. This was in order to match ++ // the SDK setup. However, the toolchain finally ++ // gained the ability to consult the architecture ++ // independent directory for Swift modules, allowing ++ // the merged swiftmodules. XCTest followed suit. ++ "-I", ++ AbsolutePath( ++ validating: "usr/lib/swift/windows/\(triple.archName)", ++ relativeTo: XCTestInstallation ++ ).pathString, ++ "-L", ++ AbsolutePath( ++ validating: "usr/lib/swift/windows/\(triple.archName)", ++ relativeTo: XCTestInstallation ++ ).pathString, ++ ] ++ ++ // Migration Path ++ // ++ // In order to support multiple parallel installations ++ // of an SDK, we need to ensure that we can have all the ++ // architecture variant libraries available. Prior to ++ // this getting enabled (~5.7), we always had a singular ++ // installed SDK. Prefer the new variant which has an ++ // architecture subdirectory in `bin` if available. ++ let implib = try AbsolutePath( ++ validating: "usr/lib/swift/windows/XCTest.lib", ++ relativeTo: XCTestInstallation ++ ) ++ if fileSystem.exists(implib) { ++ xctest.append(contentsOf: ["-L", implib.parentDirectory.pathString]) ++ } ++ ++ if let swiftTestingVersion = info.defaults.swiftTestingVersion { ++ let swiftTestingInstallation: AbsolutePath = ++ platform.appending("Developer") ++ .appending("Library") ++ .appending("Testing-\(swiftTestingVersion)") ++ ++ swiftTesting = try [ ++ "-I", ++ AbsolutePath( ++ validating: "usr/lib/swift/windows", ++ relativeTo: swiftTestingInstallation ++ ).pathString, ++ "-L", ++ AbsolutePath( ++ validating: "usr/lib/swift/windows/\(triple.archName)", ++ relativeTo: swiftTestingInstallation ++ ).pathString ++ ] ++ } ++ ++ extraSwiftCFlags = info.defaults.extraSwiftCFlags ?? [] ++ } ++ ++ return ["-sdk", sdkroot.pathString] + runtime + xctest + swiftTesting + extraSwiftCFlags ++ } ++ } ++ ++ return swiftCompilerFlags ++ } ++ ++ return ( ++ triple.isDarwin() || triple.isAndroid() || triple.isWASI() || triple.isWindows() ++ ? ["-sdk", sdkDir.pathString] ++ : [] ++ ) + swiftCompilerFlags ++ } ++ ++ // MARK: - initializer ++ ++ public enum SearchStrategy { ++ case `default` ++ case custom(searchPaths: [AbsolutePath], useXcrun: Bool = true) ++ } ++ ++ @available(*, deprecated, message: "use init(swiftSDK:environment:searchStrategy:customLibrariesLocation) instead") ++ public convenience init( ++ destination: SwiftSDK, ++ environment: Environment = .current, ++ searchStrategy: SearchStrategy = .default, ++ customLibrariesLocation: ToolchainConfiguration.SwiftPMLibrariesLocation? = nil ++ ) throws { ++ try self.init( ++ swiftSDK: destination, ++ environment: environment, ++ searchStrategy: searchStrategy, ++ customLibrariesLocation: customLibrariesLocation, ++ fileSystem: localFileSystem ++ ) ++ } ++ ++ public init( ++ swiftSDK: SwiftSDK, ++ environment: Environment = .current, ++ searchStrategy: SearchStrategy = .default, ++ customTargetInfo: JSON? = nil, ++ customLibrariesLocation: ToolchainConfiguration.SwiftPMLibrariesLocation? = nil, ++ customInstalledSwiftPMConfiguration: InstalledSwiftPMConfiguration? = nil, ++ fileSystem: any FileSystem = localFileSystem ++ ) throws { ++ self.swiftSDK = swiftSDK ++ self.environment = environment ++ ++ switch searchStrategy { ++ case .default: ++ // Get the search paths from PATH. ++ self.envSearchPaths = getEnvSearchPaths( ++ pathString: environment[.path], ++ currentWorkingDirectory: fileSystem.currentWorkingDirectory ++ ) ++ self.useXcrun = !(fileSystem is InMemoryFileSystem) ++ case .custom(let searchPaths, let useXcrun): ++ self.envSearchPaths = searchPaths ++ self.useXcrun = useXcrun ++ } ++ ++ let swiftCompilers = try UserToolchain.determineSwiftCompilers( ++ binDirectories: swiftSDK.toolset.rootPaths, ++ useXcrun: self.useXcrun, ++ environment: environment, ++ searchPaths: self.envSearchPaths, ++ fileSystem: fileSystem ++ ) ++ self.swiftCompilerPath = swiftCompilers.compile ++ self.architectures = swiftSDK.architectures ++ ++ if let customInstalledSwiftPMConfiguration { ++ self.installedSwiftPMConfiguration = customInstalledSwiftPMConfiguration ++ } else { ++ let path = swiftCompilerPath.parentDirectory.parentDirectory.appending(components: [ ++ "share", "pm", "config.json", ++ ]) ++ self.installedSwiftPMConfiguration = try Self.loadJSONResource( ++ config: path, ++ type: InstalledSwiftPMConfiguration.self, ++ default: InstalledSwiftPMConfiguration.default) ++ } ++ ++ // targetInfo from the compiler ++ let targetInfo = try customTargetInfo ?? Self.getTargetInfo(swiftCompiler: swiftCompilers.compile) ++ ++ // Get compiler version information from target info ++ self.swiftCompilerVersion = Self.computeSwiftCompilerVersion(targetInfo: targetInfo) ++ ++ // Get the list of runtime libraries from the target info ++ self.runtimeLibraryPaths = try Self.computeRuntimeLibraryPaths(targetInfo: targetInfo) ++ ++ // Use the triple from Swift SDK or compute the host triple from the target info ++ var triple = try swiftSDK.targetTriple ?? Self.getHostTriple(targetInfo: targetInfo) ++ ++ // Change the triple to the specified arch if there's exactly one of them. ++ // The Triple property is only looked at by the native build system currently. ++ if let architectures = self.architectures, architectures.count == 1 { ++ let components = triple.tripleString.drop(while: { $0 != "-" }) ++ triple = try Triple(architectures[0] + components) ++ } ++ ++ self.targetTriple = triple ++ ++ var swiftCompilerFlags: [String] = [] ++ var extraLinkerFlags: [String] = [] ++ ++ let swiftTestingPath: AbsolutePath? = try Self.deriveSwiftTestingPath( ++ derivedSwiftCompiler: swiftCompilers.compile, ++ swiftSDK: self.swiftSDK, ++ triple: triple, ++ environment: environment, ++ fileSystem: fileSystem ++ ) ++ ++ if triple.isMacOSX, let swiftTestingPath { ++ // Swift Testing is a framework (e.g. from CommandLineTools) so use -F. ++ if swiftTestingPath.extension == "framework" { ++ swiftCompilerFlags += ["-F", swiftTestingPath.pathString] ++ ++ // Otherwise Swift Testing is assumed to be a swiftmodule + library, so use -I and -L. ++ } else { ++ swiftCompilerFlags += [ ++ "-I", swiftTestingPath.pathString, ++ "-L", swiftTestingPath.pathString, ++ ] ++ } ++ } ++ ++ // Specify the plugin path for Swift Testing's macro plugin if such a ++ // path exists in this toolchain. ++ if let swiftTestingPluginPath = Self.deriveSwiftTestingPluginPath( ++ derivedSwiftCompiler: swiftCompilers.compile, ++ fileSystem: fileSystem ++ ) { ++ swiftCompilerFlags += ["-plugin-path", swiftTestingPluginPath.pathString] ++ } ++ ++ swiftCompilerFlags += try Self.deriveSwiftCFlags( ++ triple: triple, ++ swiftSDK: swiftSDK, ++ environment: environment, ++ fileSystem: fileSystem ++ ) ++ ++ extraLinkerFlags += swiftSDK.toolset.knownTools[.linker]?.extraCLIOptions ?? [] ++ ++ self.extraFlags = BuildFlags( ++ cCompilerFlags: swiftSDK.toolset.knownTools[.cCompiler]?.extraCLIOptions ?? [], ++ cxxCompilerFlags: swiftSDK.toolset.knownTools[.cxxCompiler]?.extraCLIOptions ?? [], ++ swiftCompilerFlags: swiftCompilerFlags, ++ linkerFlags: extraLinkerFlags, ++ xcbuildFlags: swiftSDK.toolset.knownTools[.xcbuild]?.extraCLIOptions ?? []) ++ ++ self.includeSearchPaths = swiftSDK.pathsConfiguration.includeSearchPaths ?? [] ++ self.librarySearchPaths = swiftSDK.pathsConfiguration.includeSearchPaths ?? [] ++ ++ self.librarianPath = try swiftSDK.toolset.knownTools[.librarian]?.path ?? UserToolchain.determineLibrarian( ++ triple: triple, ++ binDirectories: swiftSDK.toolset.rootPaths, ++ useXcrun: useXcrun, ++ environment: environment, ++ searchPaths: envSearchPaths, ++ extraSwiftFlags: self.extraFlags.swiftCompilerFlags, ++ fileSystem: fileSystem ++ ) ++ ++ if let sdkDir = swiftSDK.pathsConfiguration.sdkRootPath { ++ let sysrootFlags = [triple.isDarwin() ? "-isysroot" : "--sysroot", sdkDir.pathString] ++ self.extraFlags.cCompilerFlags.insert(contentsOf: sysrootFlags, at: 0) ++ } ++ ++ if triple.isWindows() { ++ if let root = environment.windowsSDKRoot { ++ if let settings = WindowsSDKSettings( ++ reading: root.appending("SDKSettings.plist"), ++ observabilityScope: nil, ++ filesystem: fileSystem ++ ) { ++ switch settings.defaults.runtime { ++ case .multithreadedDebugDLL: ++ // Defines _DEBUG, _MT, and _DLL ++ // Linker uses MSVCRTD.lib ++ self.extraFlags.cCompilerFlags += [ ++ "-D_DEBUG", ++ "-D_MT", ++ "-D_DLL", ++ "-Xclang", ++ "--dependent-lib=msvcrtd", ++ ] ++ ++ case .multithreadedDLL: ++ // Defines _MT, and _DLL ++ // Linker uses MSVCRT.lib ++ self.extraFlags.cCompilerFlags += ["-D_MT", "-D_DLL", "-Xclang", "--dependent-lib=msvcrt"] ++ ++ case .multithreadedDebug: ++ // Defines _DEBUG, and _MT ++ // Linker uses LIBCMTD.lib ++ self.extraFlags.cCompilerFlags += ["-D_DEBUG", "-D_MT", "-Xclang", "--dependent-lib=libcmtd"] ++ ++ case .multithreaded: ++ // Defines _MT ++ // Linker uses LIBCMT.lib ++ self.extraFlags.cCompilerFlags += ["-D_MT", "-Xclang", "--dependent-lib=libcmt"] ++ } ++ } ++ } ++ } ++ ++ let swiftPMLibrariesLocation = try customLibrariesLocation ?? Self.deriveSwiftPMLibrariesLocation( ++ swiftCompilerPath: swiftCompilerPath, ++ swiftSDK: swiftSDK, ++ environment: environment, ++ fileSystem: fileSystem ++ ) ++ ++ let xctestPath: AbsolutePath? ++ if case .custom(_, let useXcrun) = searchStrategy, !useXcrun { ++ xctestPath = nil ++ } else { ++ xctestPath = try Self.deriveXCTestPath( ++ swiftSDK: self.swiftSDK, ++ triple: triple, ++ environment: environment, ++ fileSystem: fileSystem ++ ) ++ } ++ ++ self.configuration = .init( ++ librarianPath: librarianPath, ++ swiftCompilerPath: swiftCompilers.manifest, ++ swiftCompilerFlags: self.extraFlags.swiftCompilerFlags, ++ swiftCompilerEnvironment: environment, ++ swiftPMLibrariesLocation: swiftPMLibrariesLocation, ++ sdkRootPath: self.swiftSDK.pathsConfiguration.sdkRootPath, ++ xctestPath: xctestPath, ++ swiftTestingPath: swiftTestingPath ++ ) ++ ++ self.fileSystem = fileSystem ++ } ++ ++ private static func deriveSwiftPMLibrariesLocation( ++ swiftCompilerPath: AbsolutePath, ++ swiftSDK: SwiftSDK, ++ environment: Environment, ++ fileSystem: any FileSystem ++ ) throws -> ToolchainConfiguration.SwiftPMLibrariesLocation? { ++ // Look for an override in the env. ++ if let pathEnvVariable = environment["SWIFTPM_CUSTOM_LIBS_DIR"] ?? environment["SWIFTPM_PD_LIBS"] { ++ if environment["SWIFTPM_PD_LIBS"] != nil { ++ print("SWIFTPM_PD_LIBS was deprecated in favor of SWIFTPM_CUSTOM_LIBS_DIR") ++ } ++ // We pick the first path which exists in an environment variable ++ // delimited by the platform specific string separator. ++ #if os(Windows) ++ let separator: Character = ";" ++ #else ++ let separator: Character = ":" ++ #endif ++ let paths = pathEnvVariable.split(separator: separator).map(String.init) ++ for pathString in paths { ++ if let path = try? AbsolutePath(validating: pathString), fileSystem.exists(path) { ++ // we found the custom one ++ return .init(root: path) ++ } ++ } ++ ++ // fail if custom one specified but not found ++ throw InternalError( ++ "Couldn't find the custom libraries location defined by SWIFTPM_CUSTOM_LIBS_DIR / SWIFTPM_PD_LIBS: \(pathEnvVariable)" ++ ) ++ } ++ ++ // FIXME: the following logic is pretty fragile, but has always been this way ++ // an alternative cloud be to force explicit locations to always be set explicitly when running in Xcode/SwiftPM ++ // debug and assert if not set but we detect that we are in this mode ++ ++ for applicationPath in swiftSDK.toolset.rootPaths { ++ // this is the normal case when using the toolchain ++ let librariesPath = applicationPath.parentDirectory.appending(components: "lib", "swift", "pm") ++ if fileSystem.exists(librariesPath) { ++ return .init(root: librariesPath) ++ } ++ ++ // this tests if we are debugging / testing SwiftPM with Xcode ++ let manifestFrameworksPath = applicationPath.appending( ++ components: "PackageFrameworks", ++ "PackageDescription.framework" ++ ) ++ let pluginFrameworksPath = applicationPath.appending(components: "PackageFrameworks", "PackagePlugin.framework") ++ if fileSystem.exists(manifestFrameworksPath), fileSystem.exists(pluginFrameworksPath) { ++ return .init( ++ manifestLibraryPath: manifestFrameworksPath, ++ pluginLibraryPath: pluginFrameworksPath ++ ) ++ } ++ ++ // this tests if we are debugging / testing SwiftPM with SwiftPM ++ if localFileSystem.exists(applicationPath.appending("swift-package")) { ++ // Newer versions of SwiftPM will emit modules to a "Modules" subdirectory, but we're also staying compatible with older versions for development. ++ let modulesPath: AbsolutePath ++ if localFileSystem.exists(applicationPath.appending("Modules")) { ++ modulesPath = applicationPath.appending("Modules") ++ } else { ++ modulesPath = applicationPath ++ } ++ ++ return .init( ++ manifestLibraryPath: applicationPath, ++ manifestModulesPath: modulesPath, ++ pluginLibraryPath: applicationPath, ++ pluginModulesPath: modulesPath ++ ) ++ } ++ } ++ ++ // we are using a SwiftPM outside a toolchain, use the compiler path to compute the location ++ return .init(swiftCompilerPath: swiftCompilerPath) ++ } ++ ++ private static func derivePluginServerPath(triple: Basics.Triple) throws -> AbsolutePath? { ++ if triple.isDarwin() { ++ let pluginServerPathFindArgs = ["/usr/bin/xcrun", "--find", "swift-plugin-server"] ++ if let path = try? AsyncProcess.checkNonZeroExit(arguments: pluginServerPathFindArgs, environment: [:]) ++ .spm_chomp() { ++ return try AbsolutePath(validating: path) ++ } ++ } ++ return .none ++ } ++ ++ private static func getWindowsPlatformInfo( ++ swiftSDK: SwiftSDK, ++ environment: Environment, ++ fileSystem: any FileSystem ++ ) -> (AbsolutePath, WindowsPlatformInfo)? { ++ let sdkRoot: AbsolutePath? = if let sdkDir = swiftSDK.pathsConfiguration.sdkRootPath { ++ sdkDir ++ } else if let sdkDir = environment.windowsSDKRoot { ++ sdkDir ++ } else { ++ nil ++ } ++ ++ guard let sdkRoot else { ++ return nil ++ } ++ ++ // The layout of the SDK is as follows: ++ // ++ // Library/Developer/Platforms/[PLATFORM].platform/Developer/Library/-[VERSION]/... ++ // Library/Developer/Platforms/[PLATFORM].platform/Developer/SDKs/[PLATFORM].sdk/... ++ // ++ // SDKROOT points to [PLATFORM].sdk ++ let platform = sdkRoot.parentDirectory.parentDirectory.parentDirectory ++ ++ guard let info = WindowsPlatformInfo( ++ reading: platform.appending("Info.plist"), ++ observabilityScope: nil, ++ filesystem: fileSystem ++ ) else { ++ return nil ++ } ++ ++ return (platform, info) ++ } ++ ++ // TODO: We should have some general utility to find tools. ++ private static func deriveXCTestPath( ++ swiftSDK: SwiftSDK, ++ triple: Basics.Triple, ++ environment: Environment, ++ fileSystem: any FileSystem ++ ) throws -> AbsolutePath? { ++ if triple.isDarwin() { ++ // XCTest is optional on macOS, for example when Xcode is not installed ++ let xctestFindArgs = ["/usr/bin/xcrun", "--sdk", "macosx", "--find", "xctest"] ++ if let path = try? AsyncProcess.checkNonZeroExit(arguments: xctestFindArgs, environment: environment) ++ .spm_chomp() ++ { ++ return try AbsolutePath(validating: path) ++ } ++ } else if triple.isWindows() { ++ if let (platform, info) = getWindowsPlatformInfo( ++ swiftSDK: swiftSDK, ++ environment: environment, ++ fileSystem: fileSystem ++ ) { ++ let xctest: AbsolutePath = ++ platform.appending("Developer") ++ .appending("Library") ++ .appending("XCTest-\(info.defaults.xctestVersion)") ++ ++ // Migration Path ++ // ++ // In order to support multiple parallel installations of an ++ // SDK, we need to ensure that we can have all the architecture ++ // variant libraries available. Prior to this getting enabled ++ // (~5.7), we always had a singular installed SDK. Prefer the ++ // new variant which has an architecture subdirectory in `bin` ++ // if available. ++ switch triple.arch { ++ case .x86_64: // amd64 x86_64 x86_64h ++ let path: AbsolutePath = ++ xctest.appending("usr") ++ .appending("bin64") ++ if fileSystem.exists(path) { ++ return path ++ } ++ ++ case .x86: // i386 i486 i586 i686 i786 i886 i986 ++ let path: AbsolutePath = ++ xctest.appending("usr") ++ .appending("bin32") ++ if fileSystem.exists(path) { ++ return path ++ } ++ ++ case .arm: // armv7 and many more ++ let path: AbsolutePath = ++ xctest.appending("usr") ++ .appending("bin32a") ++ if fileSystem.exists(path) { ++ return path ++ } ++ ++ case .aarch64: // aarch6 arm64 ++ let path: AbsolutePath = ++ xctest.appending("usr") ++ .appending("bin64a") ++ if fileSystem.exists(path) { ++ return path ++ } ++ ++ default: ++ // Fallback to the old-style layout. We should really ++ // report an error in this case - this architecture is ++ // unavailable. ++ break ++ } ++ ++ // Assume that we are in the old-style layout. ++ return xctest.appending("usr") ++ .appending("bin") ++ } ++ } ++ return nil ++ } ++ ++ /// Find the swift-testing path if it is within a path that will need extra search paths. ++ private static func deriveSwiftTestingPath( ++ derivedSwiftCompiler: Basics.AbsolutePath, ++ swiftSDK: SwiftSDK, ++ triple: Basics.Triple, ++ environment: Environment, ++ fileSystem: any FileSystem ++ ) throws -> AbsolutePath? { ++ if triple.isDarwin() { ++ // If this is CommandLineTools all we need to add is a frameworks path. ++ if let frameworksPath = try? AbsolutePath( ++ validating: "../../Library/Developer/Frameworks", ++ relativeTo: resolveSymlinks(derivedSwiftCompiler).parentDirectory ++ ), fileSystem.exists(frameworksPath.appending("Testing.framework")) { ++ return frameworksPath ++ } ++ ++ guard let toolchainLibDir = try? toolchainLibDir(swiftCompilerPath: derivedSwiftCompiler) else { ++ return nil ++ } ++ ++ let testingLibDir = toolchainLibDir.appending(components: ["swift", "macosx", "testing"]) ++ if fileSystem.exists(testingLibDir) { ++ return testingLibDir ++ } ++ } else if triple.isWindows() { ++ guard let (platform, info) = getWindowsPlatformInfo( ++ swiftSDK: swiftSDK, ++ environment: environment, ++ fileSystem: fileSystem ++ ) else { ++ return nil ++ } ++ ++ guard let swiftTestingVersion = info.defaults.swiftTestingVersion else { ++ return nil ++ } ++ ++ let swiftTesting: AbsolutePath = ++ platform.appending("Developer") ++ .appending("Library") ++ .appending("Testing-\(swiftTestingVersion)") ++ ++ let binPath: AbsolutePath? = switch triple.arch { ++ case .x86_64: // amd64 x86_64 x86_64h ++ swiftTesting.appending("usr") ++ .appending("bin64") ++ case .x86: // i386 i486 i586 i686 i786 i886 i986 ++ swiftTesting.appending("usr") ++ .appending("bin32") ++ case .arm: // armv7 and many more ++ swiftTesting.appending("usr") ++ .appending("bin32a") ++ case .aarch64: // aarch6 arm64 ++ swiftTesting.appending("usr") ++ .appending("bin64a") ++ default: ++ nil ++ } ++ ++ if let path = binPath, fileSystem.exists(path) { ++ return path ++ } ++ } ++ ++ return nil ++ } ++ ++ /// Derive the plugin path needed to locate the Swift Testing macro plugin, ++ /// if such a path exists in the toolchain of the specified compiler. ++ /// ++ /// - Parameters: ++ /// - derivedSwiftCompiler: The derived path of the Swift compiler to use ++ /// when deriving the Swift Testing plugin path. ++ /// - fileSystem: The file system instance to use when validating the path ++ /// to return. ++ /// ++ /// - Returns: A path to the directory containing Swift Testing's macro ++ /// plugin, or `nil` if the path does not exist or cannot be determined. ++ /// ++ /// The path returned is a directory containing a library, suitable for ++ /// passing to a client compiler via the `-plugin-path` flag. ++ private static func deriveSwiftTestingPluginPath( ++ derivedSwiftCompiler: Basics.AbsolutePath, ++ fileSystem: any FileSystem ++ ) -> AbsolutePath? { ++ guard let toolchainLibDir = try? toolchainLibDir(swiftCompilerPath: derivedSwiftCompiler) else { ++ return nil ++ } ++ ++ if let pluginsPath = try? AbsolutePath(validating: "swift/host/plugins/testing", relativeTo: toolchainLibDir), fileSystem.exists(pluginsPath) { ++ return pluginsPath ++ } ++ ++ return nil ++ } ++ ++ public var sdkRootPath: AbsolutePath? { ++ configuration.sdkRootPath ++ } ++ ++ public var swiftCompilerEnvironment: Environment { ++ configuration.swiftCompilerEnvironment ++ } ++ ++ public var swiftCompilerFlags: [String] { ++ configuration.swiftCompilerFlags ++ } ++ ++ public var swiftCompilerPathForManifests: AbsolutePath { ++ configuration.swiftCompilerPath ++ } ++ ++ public var swiftPMLibrariesLocation: ToolchainConfiguration.SwiftPMLibrariesLocation { ++ configuration.swiftPMLibrariesLocation ++ } ++ ++ public var xctestPath: AbsolutePath? { ++ configuration.xctestPath ++ } ++ ++ public var swiftTestingPath: AbsolutePath? { ++ configuration.swiftTestingPath ++ } ++ ++ private static func loadJSONResource( ++ config: AbsolutePath, type: T.Type, `default`: T ++ ) ++ throws -> T ++ { ++ if localFileSystem.exists(config) { ++ return try JSONDecoder.makeWithDefaults().decode( ++ path: config, ++ fileSystem: localFileSystem, ++ as: type) ++ } ++ ++ return `default` ++ } ++} ++ ++extension Environment { ++ fileprivate var windowsSDKRoot: AbsolutePath? { ++ if let SDKROOT = self["SDKROOT"], let sdkDir = try? AbsolutePath(validating: SDKROOT) { ++ return sdkDir ++ } ++ return nil ++ } ++} +-- +2.50.1 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0006-nix-build-caches.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0006-nix-build-caches.patch new file mode 100644 index 0000000000000..2e6a14edf88dd --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0006-nix-build-caches.patch @@ -0,0 +1,741 @@ +From bd6ffcdfa69955cdbca17ea62e2584841458228e Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:58:44 -0500 +Subject: [PATCH] nix-build-caches + +--- + .../FileSystem/FileSystem+Extensions.swift | 6 + + .../FileSystem+Extensions.swift.orig | 697 ++++++++++++++++++ + 2 files changed, 703 insertions(+) + create mode 100644 Sources/Basics/FileSystem/FileSystem+Extensions.swift.orig + +diff --git a/Sources/Basics/FileSystem/FileSystem+Extensions.swift b/Sources/Basics/FileSystem/FileSystem+Extensions.swift +index 5f9674b2e..49f83e175 100644 +--- a/Sources/Basics/FileSystem/FileSystem+Extensions.swift ++++ b/Sources/Basics/FileSystem/FileSystem+Extensions.swift +@@ -12,6 +12,7 @@ + + import struct Foundation.Data + import class Foundation.FileManager ++import class Foundation.ProcessInfo + import struct Foundation.UUID + + import struct TSCBasic.ByteString +@@ -245,6 +246,11 @@ extension FileSystem { + /// SwiftPM cache directory under user's caches directory (if exists) + public var swiftPMCacheDirectory: AbsolutePath { + get throws { ++ let env = ProcessInfo.processInfo.environment ++ // Set up the caches in the build environment for Nix-managed builds ++ if let nixBuildTop = env["NIX_BUILD_TOP"] { ++ return try! AbsolutePath(validating: nixBuildTop).appending("swiftpm-cache") ++ } + if let path = self.idiomaticUserCacheDirectory { + return path.appending("org.swift.swiftpm") + } else { +diff --git a/Sources/Basics/FileSystem/FileSystem+Extensions.swift.orig b/Sources/Basics/FileSystem/FileSystem+Extensions.swift.orig +new file mode 100644 +index 000000000..5f9674b2e +--- /dev/null ++++ b/Sources/Basics/FileSystem/FileSystem+Extensions.swift.orig +@@ -0,0 +1,697 @@ ++//===----------------------------------------------------------------------===// ++// ++// This source file is part of the Swift open source project ++// ++// Copyright (c) 2020-2024 Apple Inc. and the Swift project authors ++// Licensed under Apache License v2.0 with Runtime Library Exception ++// ++// See http://swift.org/LICENSE.txt for license information ++// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors ++// ++//===----------------------------------------------------------------------===// ++ ++import struct Foundation.Data ++import class Foundation.FileManager ++import struct Foundation.UUID ++ ++import struct TSCBasic.ByteString ++import struct TSCBasic.FileInfo ++import class TSCBasic.FileLock ++import enum TSCBasic.FileMode ++import protocol TSCBasic.FileSystem ++import enum TSCBasic.FileSystemAttribute ++import var TSCBasic.localFileSystem ++import protocol TSCBasic.WritableByteStream ++ ++public typealias FileSystem = TSCBasic.FileSystem ++public let localFileSystem = TSCBasic.localFileSystem ++ ++// MARK: - Custom path ++ ++extension FileSystem { ++ /// Check whether the given path exists and is accessible. ++ public func exists(_ path: AbsolutePath, followSymlink: Bool) -> Bool { ++ self.exists(path.underlying, followSymlink: followSymlink) ++ } ++ ++ /// exists override with default value. ++ public func exists(_ path: AbsolutePath) -> Bool { ++ self.exists(path.underlying) ++ } ++ ++ /// Check whether the given path is accessible and a directory. ++ public func isDirectory(_ path: AbsolutePath) -> Bool { ++ self.isDirectory(path.underlying) ++ } ++ ++ /// Check whether the given path is accessible and a file. ++ public func isFile(_ path: AbsolutePath) -> Bool { ++ self.isFile(path.underlying) ++ } ++ ++ /// Check whether the given path is an accessible and executable file. ++ public func isExecutableFile(_ path: AbsolutePath) -> Bool { ++ self.isExecutableFile(path.underlying) ++ } ++ ++ /// Check whether the given path is accessible and is a symbolic link. ++ public func isSymlink(_ path: AbsolutePath) -> Bool { ++ self.isSymlink(path.underlying) ++ } ++ ++ /// Check whether the given path is accessible and readable. ++ public func isReadable(_ path: AbsolutePath) -> Bool { ++ self.isReadable(path.underlying) ++ } ++ ++ /// Check whether the given path is accessible and writable. ++ public func isWritable(_ path: AbsolutePath) -> Bool { ++ self.isWritable(path.underlying) ++ } ++ ++ /// Returns `true` if a given path has a quarantine attribute applied if when file system supports this attribute. ++ /// Returns `false` if such attribute is not applied or it isn't supported. ++ public func hasAttribute(_ name: FileSystemAttribute, _ path: AbsolutePath) -> Bool { ++ self.hasAttribute(name, path.underlying) ++ } ++ ++ /// Get the contents of the given directory, in an undefined order. ++ public func getDirectoryContents(_ path: AbsolutePath) throws -> [String] { ++ try self.getDirectoryContents(path.underlying) ++ } ++ ++ /// Get the current working directory (similar to `getcwd(3)`), which can be ++ /// different for different (virtualized) implementations of a FileSystem. ++ /// The current working directory can be empty if e.g. the directory became ++ /// unavailable while the current process was still working in it. ++ /// This follows the POSIX `getcwd(3)` semantics. ++ public var currentWorkingDirectory: AbsolutePath? { ++ self.currentWorkingDirectory.flatMap { AbsolutePath($0) } ++ } ++ ++ /// Change the current working directory. ++ /// - Parameters: ++ /// - path: The path to the directory to change the current working directory to. ++ public func changeCurrentWorkingDirectory(to path: AbsolutePath) throws { ++ try self.changeCurrentWorkingDirectory(to: path.underlying) ++ } ++ ++ /// Get the home directory of current user ++ public var homeDirectory: AbsolutePath { ++ get throws { ++ try AbsolutePath(self.homeDirectory) ++ } ++ } ++ ++ /// Get the caches directory of current user ++ public var cachesDirectory: AbsolutePath? { ++ self.cachesDirectory.flatMap { AbsolutePath($0) } ++ } ++ ++ /// Get the temp directory ++ public var tempDirectory: AbsolutePath { ++ get throws { ++ try AbsolutePath(self.tempDirectory) ++ } ++ } ++ ++ /// Create the given directory. ++ public func createDirectory(_ path: AbsolutePath) throws { ++ try self.createDirectory(path.underlying) ++ } ++ ++ /// Create the given directory. ++ /// ++ /// - recursive: If true, create missing parent directories if possible. ++ public func createDirectory(_ path: AbsolutePath, recursive: Bool) throws { ++ try self.createDirectory(path.underlying, recursive: recursive) ++ } ++ ++ /// Creates a symbolic link of the source path at the target path ++ /// - Parameters: ++ /// - path: The path at which to create the link. ++ /// - destination: The path to which the link points to. ++ /// - relative: If `relative` is true, the symlink contents will be a relative path, otherwise it will be ++ /// absolute. ++ public func createSymbolicLink(_ path: AbsolutePath, pointingAt destination: AbsolutePath, relative: Bool) throws { ++ try self.createSymbolicLink(path.underlying, pointingAt: destination.underlying, relative: relative) ++ } ++ ++ /// Get the contents of a file. ++ /// ++ /// - Returns: The file contents as bytes, or nil if missing. ++ public func readFileContents(_ path: AbsolutePath) throws -> ByteString { ++ try self.readFileContents(path.underlying) ++ } ++ ++ /// Write the contents of a file. ++ public func writeFileContents(_ path: AbsolutePath, bytes: ByteString) throws { ++ try self.writeFileContents(path.underlying, bytes: bytes) ++ } ++ ++ /// Write the contents of a file. ++ public func writeFileContents(_ path: AbsolutePath, bytes: ByteString, atomically: Bool) throws { ++ try self.writeFileContents(path.underlying, bytes: bytes, atomically: atomically) ++ } ++ ++ /// Write to a file from a stream producer. ++ public func writeFileContents(_ path: AbsolutePath, body: (WritableByteStream) -> Void) throws { ++ try self.writeFileContents(path.underlying, body: body) ++ } ++ ++ /// Recursively deletes the file system entity at `path`. ++ /// ++ /// If there is no file system entity at `path`, this function does nothing (in particular, this is not considered ++ /// to be an error). ++ public func removeFileTree(_ path: AbsolutePath) throws { ++ try self.removeFileTree(path.underlying) ++ } ++ ++ /// Change file mode. ++ public func chmod(_ mode: FileMode, path: AbsolutePath, options: Set) throws { ++ try self.chmod(mode, path: path.underlying, options: options) ++ } ++ ++ // Change file mode. ++ public func chmod(_ mode: FileMode, path: AbsolutePath) throws { ++ try self.chmod(mode, path: path.underlying) ++ } ++ ++ /// Returns the file info of the given path. ++ /// ++ /// The method throws if the underlying stat call fails. ++ public func getFileInfo(_ path: AbsolutePath) throws -> FileInfo { ++ try self.getFileInfo(path.underlying) ++ } ++ ++ /// Copy a file or directory. ++ public func copy(from source: AbsolutePath, to destination: AbsolutePath) throws { ++ try self.copy(from: source.underlying, to: destination.underlying) ++ } ++ ++ /// Move a file or directory. ++ public func move(from source: AbsolutePath, to destination: AbsolutePath) throws { ++ try self.move(from: source.underlying, to: destination.underlying) ++ } ++ ++ /// Execute the given block while holding the lock. ++ public func withLock(on path: AbsolutePath, type: FileLock.LockType, blocking: Bool = true, _ body: () throws -> T) throws -> T { ++ try self.withLock(on: path.underlying, type: type, blocking: blocking, body) ++ } ++ ++ /// Execute the given block while holding the lock. ++ public func withLock(on path: AbsolutePath, type: FileLock.LockType, blocking: Bool = true, _ body: () async throws -> T) async throws -> T { ++ return try await FileLock.withLock(fileToLock: path.underlying, type: type, blocking: blocking, body: body) ++ } ++ ++ /// Returns any known item replacement directories for a given path. These may be used by platform-specific ++ /// libraries to handle atomic file system operations, such as deletion. ++ func itemReplacementDirectories(for path: AbsolutePath) throws -> [AbsolutePath] { ++ return try self.itemReplacementDirectories(for: path.underlying).compactMap { AbsolutePath($0) } ++ } ++} ++ ++// MARK: - user level ++ ++extension FileSystem { ++ /// SwiftPM directory under user's home directory (~/.swiftpm) ++ /// or under $XDG_CONFIG_HOME/swiftpm if the environmental variable is defined ++ public var dotSwiftPM: AbsolutePath { ++ get throws { ++ if let configurationDirectory = Environment.current["XDG_CONFIG_HOME"] { ++ return try AbsolutePath(validating: configurationDirectory).appending("swiftpm") ++ } else { ++ return try self.homeDirectory.appending(".swiftpm") ++ } ++ } ++ } ++ ++ private var idiomaticSwiftPMDirectory: AbsolutePath? { ++ get throws { ++ try FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask).first ++ .flatMap { try AbsolutePath(validating: $0.path) }?.appending("org.swift.swiftpm") ++ } ++ } ++} ++ ++// MARK: - cache ++ ++extension FileSystem { ++ private var idiomaticUserCacheDirectory: AbsolutePath? { ++ // in TSC: FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask) ++ self.cachesDirectory ++ } ++ ++ /// SwiftPM cache directory under user's caches directory (if exists) ++ public var swiftPMCacheDirectory: AbsolutePath { ++ get throws { ++ if let path = self.idiomaticUserCacheDirectory { ++ return path.appending("org.swift.swiftpm") ++ } else { ++ return try self.dotSwiftPMCachesDirectory ++ } ++ } ++ } ++ ++ private var dotSwiftPMCachesDirectory: AbsolutePath { ++ get throws { ++ try self.dotSwiftPM.appending("cache") ++ } ++ } ++} ++ ++extension FileSystem { ++ public func getOrCreateSwiftPMCacheDirectory() throws -> AbsolutePath { ++ let idiomaticCacheDirectory = try self.swiftPMCacheDirectory ++ // Create idiomatic if necessary ++ if !self.exists(idiomaticCacheDirectory) { ++ try self.createDirectory(idiomaticCacheDirectory, recursive: true) ++ } ++ // Create ~/.swiftpm if necessary ++ if !self.exists(try self.dotSwiftPM) { ++ try self.createDirectory(self.dotSwiftPM, recursive: true) ++ } ++ // Create ~/.swiftpm/cache symlink if necessary ++ // locking ~/.swiftpm to protect from concurrent access ++ try self.withLock(on: self.dotSwiftPM, type: .exclusive) { ++ if !self.exists(try self.dotSwiftPMCachesDirectory, followSymlink: false) { ++ try self.createSymbolicLink( ++ dotSwiftPMCachesDirectory, ++ pointingAt: idiomaticCacheDirectory, ++ relative: false ++ ) ++ } ++ } ++ return idiomaticCacheDirectory ++ } ++} ++ ++extension FileSystem { ++ private var dotSwiftPMInstalledBinsDir: AbsolutePath { ++ get throws { ++ try self.dotSwiftPM.appending("bin") ++ } ++ } ++ ++ public func getOrCreateSwiftPMInstalledBinariesDirectory() throws -> AbsolutePath { ++ let idiomaticInstalledBinariesDirectory = try self.dotSwiftPMInstalledBinsDir ++ // Create idiomatic if necessary ++ if !self.exists(idiomaticInstalledBinariesDirectory) { ++ try self.createDirectory(idiomaticInstalledBinariesDirectory, recursive: true) ++ } ++ // Create ~/.swiftpm if necessary ++ if !self.exists(try self.dotSwiftPM) { ++ try self.createDirectory(self.dotSwiftPM, recursive: true) ++ } ++ // Create ~/.swiftpm/bin symlink if necessary ++ // locking ~/.swiftpm to protect from concurrent access ++ try self.withLock(on: self.dotSwiftPM, type: .exclusive) { ++ if !self.exists(try self.dotSwiftPMInstalledBinsDir, followSymlink: false) { ++ try self.createSymbolicLink( ++ self.dotSwiftPMInstalledBinsDir, ++ pointingAt: idiomaticInstalledBinariesDirectory, ++ relative: false ++ ) ++ } ++ } ++ return idiomaticInstalledBinariesDirectory ++ } ++} ++ ++// MARK: - configuration ++ ++extension FileSystem { ++ /// SwiftPM config directory under user's config directory (if exists) ++ public var swiftPMConfigurationDirectory: AbsolutePath { ++ get throws { ++ if let path = try self.idiomaticSwiftPMDirectory { ++ return path.appending("configuration") ++ } else { ++ return try self.dotSwiftPMConfigurationDirectory ++ } ++ } ++ } ++ ++ private var dotSwiftPMConfigurationDirectory: AbsolutePath { ++ get throws { ++ try self.dotSwiftPM.appending("configuration") ++ } ++ } ++} ++ ++extension FileSystem { ++ public func getOrCreateSwiftPMConfigurationDirectory(warningHandler: @escaping (String) -> Void) throws ++ -> AbsolutePath ++ { ++ let idiomaticConfigurationDirectory = try self.swiftPMConfigurationDirectory ++ ++ // temporary 5.6, remove on next version: transition from previous configuration location ++ if !self.exists(idiomaticConfigurationDirectory) { ++ try self.createDirectory(idiomaticConfigurationDirectory, recursive: true) ++ } ++ ++ let handleExistingFiles = { (configurationFiles: [AbsolutePath]) in ++ for file in configurationFiles { ++ let destination = idiomaticConfigurationDirectory.appending(component: file.basename) ++ if !self.exists(destination) { ++ try self.copy(from: file, to: destination) ++ } else { ++ // Only emit a warning if source and destination file differ in their contents. ++ let srcContents = try? self.readFileContents(file) ++ let dstContents = try? self.readFileContents(destination) ++ if srcContents != dstContents { ++ warningHandler( ++ "Usage of \(file) has been deprecated. Please delete it and use the new \(destination) instead." ++ ) ++ } ++ } ++ } ++ } ++ ++ // in the case where ~/.swiftpm/configuration is not the idiomatic location (eg on macOS where its ++ // /Users//Library/org.swift.swiftpm/configuration) ++ if try idiomaticConfigurationDirectory != self.dotSwiftPMConfigurationDirectory { ++ // copy the configuration files from old location (eg /Users//Library/org.swift.swiftpm) to new one ++ // (eg /Users//Library/org.swift.swiftpm/configuration) ++ // but leave them there for backwards compatibility (eg older xcode) ++ let oldConfigDirectory = idiomaticConfigurationDirectory.parentDirectory ++ if self.exists(oldConfigDirectory, followSymlink: false) && self.isDirectory(oldConfigDirectory) { ++ let configurationFiles = try self.getDirectoryContents(oldConfigDirectory) ++ .map { oldConfigDirectory.appending(component: $0) } ++ .filter { ++ self.isFile($0) && !self.isSymlink($0) && $0 ++ .extension != "lock" && ((try? self.readFileContents($0)) ?? []).count > 0 ++ } ++ try handleExistingFiles(configurationFiles) ++ } ++ // in the case where ~/.swiftpm/configuration is the idiomatic location (eg on Linux) ++ } else { ++ // copy the configuration files from old location (~/.swiftpm/config) to new one (~/.swiftpm/configuration) ++ // but leave them there for backwards compatibility (eg older toolchain) ++ let oldConfigDirectory = try self.dotSwiftPM.appending("config") ++ if self.exists(oldConfigDirectory, followSymlink: false) && self.isDirectory(oldConfigDirectory) { ++ let configurationFiles = try self.getDirectoryContents(oldConfigDirectory) ++ .map { oldConfigDirectory.appending(component: $0) } ++ .filter { ++ self.isFile($0) && !self.isSymlink($0) && $0 ++ .extension != "lock" && ((try? self.readFileContents($0)) ?? []).count > 0 ++ } ++ try handleExistingFiles(configurationFiles) ++ } ++ } ++ // ~temporary 5.6 migration ++ ++ // Create idiomatic if necessary ++ if !self.exists(idiomaticConfigurationDirectory) { ++ try self.createDirectory(idiomaticConfigurationDirectory, recursive: true) ++ } ++ // Create ~/.swiftpm if necessary ++ if !self.exists(try self.dotSwiftPM) { ++ try self.createDirectory(self.dotSwiftPM, recursive: true) ++ } ++ // Create ~/.swiftpm/configuration symlink if necessary ++ // locking ~/.swiftpm to protect from concurrent access ++ try self.withLock(on: self.dotSwiftPM, type: .exclusive) { ++ if !self.exists(try self.dotSwiftPMConfigurationDirectory, followSymlink: false) { ++ try self.createSymbolicLink( ++ dotSwiftPMConfigurationDirectory, ++ pointingAt: idiomaticConfigurationDirectory, ++ relative: false ++ ) ++ } ++ } ++ ++ return idiomaticConfigurationDirectory ++ } ++} ++ ++// MARK: - security ++ ++extension FileSystem { ++ /// SwiftPM security directory under user's security directory (if exists) ++ public var swiftPMSecurityDirectory: AbsolutePath { ++ get throws { ++ if let path = try self.idiomaticSwiftPMDirectory { ++ return path.appending("security") ++ } else { ++ return try self.dotSwiftPMSecurityDirectory ++ } ++ } ++ } ++ ++ private var dotSwiftPMSecurityDirectory: AbsolutePath { ++ get throws { ++ try self.dotSwiftPM.appending("security") ++ } ++ } ++} ++ ++extension FileSystem { ++ public func getOrCreateSwiftPMSecurityDirectory() throws -> AbsolutePath { ++ let idiomaticSecurityDirectory = try self.swiftPMSecurityDirectory ++ ++ // temporary 5.6, remove on next version: transition from ~/.swiftpm/security to idiomatic location + symbolic ++ // link ++ if try idiomaticSecurityDirectory != self.dotSwiftPMSecurityDirectory && ++ self.exists(try self.dotSwiftPMSecurityDirectory) && ++ self.isDirectory(try self.dotSwiftPMSecurityDirectory) ++ { ++ try self.removeFileTree(self.dotSwiftPMSecurityDirectory) ++ } ++ // ~temporary 5.6 migration ++ ++ // Create idiomatic if necessary ++ if !self.exists(idiomaticSecurityDirectory) { ++ try self.createDirectory(idiomaticSecurityDirectory, recursive: true) ++ } ++ // Create ~/.swiftpm if necessary ++ if !self.exists(try self.dotSwiftPM) { ++ try self.createDirectory(self.dotSwiftPM, recursive: true) ++ } ++ // Create ~/.swiftpm/security symlink if necessary ++ // locking ~/.swiftpm to protect from concurrent access ++ try self.withLock(on: self.dotSwiftPM, type: .exclusive) { ++ if !self.exists(try self.dotSwiftPMSecurityDirectory, followSymlink: false) { ++ try self.createSymbolicLink( ++ dotSwiftPMSecurityDirectory, ++ pointingAt: idiomaticSecurityDirectory, ++ relative: false ++ ) ++ } ++ } ++ return idiomaticSecurityDirectory ++ } ++} ++ ++// MARK: - Swift SDKs ++ ++private let swiftSDKsDirectoryName = "swift-sdks" ++ ++extension FileSystem { ++ /// Path to Swift SDKs directory (if exists) ++ public var swiftSDKsDirectory: AbsolutePath { ++ get throws { ++ if let path = try idiomaticSwiftPMDirectory { ++ return path.appending(component: swiftSDKsDirectoryName) ++ } else { ++ return try dotSwiftPMSwiftSDKsDirectory ++ } ++ } ++ } ++ ++ private var dotSwiftPMSwiftSDKsDirectory: AbsolutePath { ++ get throws { ++ try dotSwiftPM.appending(component: swiftSDKsDirectoryName) ++ } ++ } ++ ++ public func getSharedSwiftSDKsDirectory(explicitDirectory: AbsolutePath?) throws -> AbsolutePath { ++ if let explicitDirectory { ++ // Create the explicit SDKs path if necessary ++ if !exists(explicitDirectory) { ++ try createDirectory(explicitDirectory, recursive: true) ++ } ++ return explicitDirectory ++ } else { ++ return try swiftSDKsDirectory ++ } ++ } ++ ++ public func getOrCreateSwiftPMSwiftSDKsDirectory() throws -> AbsolutePath { ++ let idiomaticSwiftSDKDirectory = try swiftSDKsDirectory ++ ++ // Create idiomatic if necessary ++ if !exists(idiomaticSwiftSDKDirectory) { ++ try createDirectory(idiomaticSwiftSDKDirectory, recursive: true) ++ } ++ // Create ~/.swiftpm if necessary ++ if !exists(try dotSwiftPM) { ++ try createDirectory(dotSwiftPM, recursive: true) ++ } ++ // Create ~/.swiftpm/swift-sdks symlink if necessary ++ // locking ~/.swiftpm to protect from concurrent access ++ try withLock(on: dotSwiftPM, type: .exclusive) { ++ if !exists(try dotSwiftPMSwiftSDKsDirectory, followSymlink: false) { ++ try createSymbolicLink( ++ dotSwiftPMSwiftSDKsDirectory, ++ pointingAt: idiomaticSwiftSDKDirectory, ++ relative: false ++ ) ++ } ++ } ++ return idiomaticSwiftSDKDirectory ++ } ++} ++ ++// MARK: - Utilities ++ ++extension FileSystem { ++ @_disfavoredOverload ++ public func readFileContents(_ path: AbsolutePath) throws -> Data { ++ try Data(self.readFileContents(path).contents) ++ } ++ ++ @_disfavoredOverload ++ public func readFileContents(_ path: AbsolutePath) throws -> String { ++ try String(decoding: self.readFileContents(path), as: UTF8.self) ++ } ++ ++ public func writeFileContents(_ path: AbsolutePath, data: Data) throws { ++ try self._writeFileContents(path, bytes: .init(data)) ++ } ++ ++ public func writeFileContents(_ path: AbsolutePath, string: String) throws { ++ try self._writeFileContents(path, bytes: .init(encodingAsUTF8: string)) ++ } ++ ++ private func _writeFileContents(_ path: AbsolutePath, bytes: ByteString) throws { ++ // using the "body" variant since it creates the directory first ++ // we should probably fix TSC to be consistent about this behavior ++ try self.writeFileContents(path, body: { $0.send(bytes) }) ++ } ++} ++ ++extension FileSystem { ++ /// Write bytes to the path if the given contents are different. ++ public func writeIfChanged(path: AbsolutePath, string: String) throws { ++ try writeIfChanged(path: path, bytes: .init(encodingAsUTF8: string)) ++ } ++ ++ public func writeIfChanged(path: AbsolutePath, data: Data) throws { ++ try writeIfChanged(path: path, bytes: .init(data)) ++ } ++ ++ /// Write bytes to the path if the given contents are different. ++ public func writeIfChanged(path: AbsolutePath, bytes: ByteString) throws { ++ try createDirectory(path.parentDirectory, recursive: true) ++ ++ // Return if the contents are same. ++ if isFile(path), try readFileContents(path) == bytes { ++ return ++ } ++ ++ try writeFileContents(path, bytes: bytes) ++ } ++} ++ ++extension FileSystem { ++ public func forceCreateDirectory(at path: AbsolutePath) throws { ++ try self.createDirectory(path.parentDirectory, recursive: true) ++ if self.exists(path) { ++ try self.removeFileTree(path) ++ } ++ try self.createDirectory(path, recursive: true) ++ } ++} ++ ++extension FileSystem { ++ public func stripFirstLevel(of path: AbsolutePath) throws { ++ let topLevelDirectories = try self.getDirectoryContents(path) ++ .map { path.appending(component: $0) } ++ .filter { self.isDirectory($0) } ++ ++ guard topLevelDirectories.count == 1, let rootDirectory = topLevelDirectories.first else { ++ throw StringError("stripFirstLevel requires single top level directory") ++ } ++ ++ let tempDirectory = path.parentDirectory.appending(component: UUID().uuidString) ++ try self.move(from: rootDirectory, to: tempDirectory) ++ ++ let rootContents = try self.getDirectoryContents(tempDirectory) ++ for entry in rootContents { ++ try self.move(from: tempDirectory.appending(component: entry), to: path.appending(component: entry)) ++ } ++ ++ try self.removeFileTree(tempDirectory) ++ } ++} ++ ++// MARK: - Locking ++ ++extension FileLock { ++ public static func prepareLock( ++ fileToLock: AbsolutePath, ++ at lockFilesDirectory: AbsolutePath? = nil ++ ) throws -> FileLock { ++ return try Self.prepareLock(fileToLock: fileToLock.underlying, at: lockFilesDirectory?.underlying) ++ } ++} ++ ++/// Convenience initializers for testing purposes. ++extension InMemoryFileSystem { ++ /// Create a new file system with the given files, provided as a map from ++ /// file path to contents. ++ public convenience init(files: [String: ByteString]) { ++ self.init() ++ ++ for (path, contents) in files { ++ let path = try! AbsolutePath(validating: path) ++ try! createDirectory(path.parentDirectory, recursive: true) ++ try! writeFileContents(path, bytes: contents) ++ } ++ } ++ ++ /// Create a new file system with an empty file at each provided path. ++ public convenience init(emptyFiles files: String...) { ++ self.init(emptyFiles: files) ++ } ++ ++ /// Create a new file system with an empty file at each provided path. ++ public convenience init(emptyFiles files: [String]) { ++ self.init() ++ self.createEmptyFiles(at: .root, files: files) ++ } ++} ++ ++extension FileSystem { ++ public func createEmptyFiles(at root: AbsolutePath, files: String...) { ++ self.createEmptyFiles(at: root, files: files) ++ } ++ ++ public func createEmptyFiles(at root: AbsolutePath, files: [String]) { ++ do { ++ try createDirectory(root, recursive: true) ++ for path in files { ++ let path = try AbsolutePath(validating: String(path.dropFirst()), relativeTo: root) ++ try createDirectory(path.parentDirectory, recursive: true) ++ try writeFileContents(path, bytes: "") ++ } ++ } catch { ++ fatalError("Failed to create empty files: \(error)") ++ } ++ } ++} ++ ++extension FileSystem { ++ /// Do a deep enumeration, passing each file to block ++ public func enumerate(directory: AbsolutePath, block: (AbsolutePath) throws -> ()) throws { ++ for file in try getDirectoryContents(directory) { ++ let path = directory.appending(file) ++ if isDirectory(path) { ++ try enumerate(directory: path, block: block) ++ } else { ++ try block(path) ++ } ++ } ++ } ++} +-- +2.50.1 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0007-nix-pkgconfig-vars.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0007-nix-pkgconfig-vars.patch new file mode 100644 index 0000000000000..b48abeea84a89 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0007-nix-pkgconfig-vars.patch @@ -0,0 +1,606 @@ +From 423810ce1f91cf01e2ee94bf8b81e14f4b306dd9 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:59:18 -0500 +Subject: [PATCH] nix-pkgconfig-vars + +--- + Sources/PackageLoading/PkgConfig.swift | 17 +- + Sources/PackageLoading/PkgConfig.swift.orig | 557 ++++++++++++++++++++ + 2 files changed, 567 insertions(+), 7 deletions(-) + create mode 100644 Sources/PackageLoading/PkgConfig.swift.orig + +diff --git a/Sources/PackageLoading/PkgConfig.swift b/Sources/PackageLoading/PkgConfig.swift +index 21e0c514e..eaf9c803c 100644 +--- a/Sources/PackageLoading/PkgConfig.swift ++++ b/Sources/PackageLoading/PkgConfig.swift +@@ -131,14 +131,17 @@ public struct PkgConfig { + + private static var envSearchPaths: [Basics.AbsolutePath] { + get throws { +- if let configPath = Environment.current["PKG_CONFIG_PATH"] { +- #if os(Windows) +- return try configPath.split(separator: ";").map({ try AbsolutePath(validating: String($0)) }) +- #else +- return try configPath.split(separator: ":").map({ try AbsolutePath(validating: String($0)) }) +- #endif ++ var result: [Basics.AbsolutePath] = [] ++ for envVar in ["PKG_CONFIG_PATH", "PKG_CONFIG_PATH_FOR_TARGET"] { ++ if let configPath = Environment.current[EnvironmentKey(envVar)] { ++ #if os(Windows) ++ result += try configPath.split(separator: ";").map({ try Basics.AbsolutePath(validating: String($0)) }) ++ #else ++ result += try configPath.split(separator: ":").map({ try Basics.AbsolutePath(validating: String($0)) }) ++ #endif ++ } + } +- return [] ++ return result + } + } + } +diff --git a/Sources/PackageLoading/PkgConfig.swift.orig b/Sources/PackageLoading/PkgConfig.swift.orig +new file mode 100644 +index 000000000..21e0c514e +--- /dev/null ++++ b/Sources/PackageLoading/PkgConfig.swift.orig +@@ -0,0 +1,557 @@ ++//===----------------------------------------------------------------------===// ++// ++// This source file is part of the Swift open source project ++// ++// Copyright (c) 2014-2021 Apple Inc. and the Swift project authors ++// Licensed under Apache License v2.0 with Runtime Library Exception ++// ++// See http://swift.org/LICENSE.txt for license information ++// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors ++// ++//===----------------------------------------------------------------------===// ++ ++import Basics ++import Foundation ++import OrderedCollections ++import TSCUtility ++import TSCBasic ++ ++import class Basics.AsyncProcess ++ ++/// Information on an individual `pkg-config` supported package. ++public struct PkgConfig { ++ /// The name of the package. ++ public let name: String ++ ++ /// The path to the definition file. ++ public let pcFile: Basics.AbsolutePath ++ ++ /// The list of C compiler flags in the definition. ++ public let cFlags: [String] ++ ++ /// The list of libraries to link. ++ public let libs: [String] ++ ++ /// Load the information for the named package. ++ /// ++ /// It will search `fileSystem` for the pkg config file in the following order: ++ /// * Paths defined in `PKG_CONFIG_PATH` environment variable ++ /// * Paths defined in `additionalSearchPaths` argument ++ /// * Built-in search paths (see `PCFileFinder.searchPaths`) ++ /// ++ /// - parameter name: Name of the pkg config file (without file extension). ++ /// - parameter additionalSearchPaths: Additional paths to search for pkg config file. ++ /// - parameter fileSystem: The file system to use ++ /// ++ /// - throws: PkgConfigError ++ public init( ++ name: String, ++ additionalSearchPaths: [Basics.AbsolutePath]? = .none, ++ brewPrefix: Basics.AbsolutePath? = .none, ++ sysrootDir: Basics.AbsolutePath? = .none, ++ fileSystem: FileSystem, ++ observabilityScope: ObservabilityScope ++ ) throws { ++ try self.init( ++ name: name, ++ additionalSearchPaths: additionalSearchPaths ?? [], ++ brewPrefix: brewPrefix, ++ sysrootDir: sysrootDir, ++ loadingContext: LoadingContext(), ++ fileSystem: fileSystem, ++ observabilityScope: observabilityScope ++ ) ++ } ++ ++ private init( ++ name: String, ++ additionalSearchPaths: [Basics.AbsolutePath], ++ brewPrefix: Basics.AbsolutePath?, ++ sysrootDir: Basics.AbsolutePath?, ++ loadingContext: LoadingContext, ++ fileSystem: FileSystem, ++ observabilityScope: ObservabilityScope ++ ) throws { ++ loadingContext.pkgConfigStack.append(name) ++ ++ if let path = try? Basics.AbsolutePath(validating: name) { ++ guard fileSystem.isFile(path) else { throw PkgConfigError.couldNotFindConfigFile(name: name) } ++ self.name = path.basenameWithoutExt ++ self.pcFile = path ++ } else { ++ self.name = name ++ let pkgFileFinder = PCFileFinder(brewPrefix: brewPrefix) ++ self.pcFile = try pkgFileFinder.locatePCFile( ++ name: name, ++ customSearchPaths: try PkgConfig.envSearchPaths + additionalSearchPaths, ++ fileSystem: fileSystem, ++ observabilityScope: observabilityScope ++ ) ++ } ++ ++ var parser = try PkgConfigParser(pcFile: pcFile, fileSystem: fileSystem, sysrootDir: Environment.current["PKG_CONFIG_SYSROOT_DIR"]) ++ try parser.parse() ++ ++ func getFlags(from dependencies: [String]) throws -> (cFlags: [String], libs: [String]) { ++ var cFlags = [String]() ++ var libs = [String]() ++ ++ for dep in dependencies { ++ if let index = loadingContext.pkgConfigStack.firstIndex(of: dep) { ++ observabilityScope.emit(warning: "circular dependency detected while parsing \(loadingContext.pkgConfigStack[0]): \(loadingContext.pkgConfigStack[index.. ")) -> \(dep)") ++ continue ++ } ++ ++ // FIXME: This is wasteful, we should be caching the PkgConfig result. ++ let pkg = try PkgConfig( ++ name: dep, ++ additionalSearchPaths: additionalSearchPaths, ++ brewPrefix: brewPrefix, ++ sysrootDir: sysrootDir, ++ loadingContext: loadingContext, ++ fileSystem: fileSystem, ++ observabilityScope: observabilityScope ++ ) ++ ++ cFlags += pkg.cFlags ++ libs += pkg.libs ++ } ++ ++ return (cFlags: cFlags, libs: libs) ++ } ++ ++ let dependencyFlags = try getFlags(from: parser.dependencies) ++ let privateDependencyFlags = try getFlags(from: parser.privateDependencies) ++ ++ self.cFlags = parser.cFlags + dependencyFlags.cFlags + privateDependencyFlags.cFlags ++ self.libs = parser.libs + dependencyFlags.libs ++ ++ loadingContext.pkgConfigStack.removeLast(); ++ } ++ ++ private static var envSearchPaths: [Basics.AbsolutePath] { ++ get throws { ++ if let configPath = Environment.current["PKG_CONFIG_PATH"] { ++ #if os(Windows) ++ return try configPath.split(separator: ";").map({ try AbsolutePath(validating: String($0)) }) ++ #else ++ return try configPath.split(separator: ":").map({ try AbsolutePath(validating: String($0)) }) ++ #endif ++ } ++ return [] ++ } ++ } ++} ++ ++extension PkgConfig { ++ /// Information to track circular dependencies and other PkgConfig issues ++ public class LoadingContext { ++ public init() { ++ pkgConfigStack = [String]() ++ } ++ ++ public var pkgConfigStack: [String] ++ } ++} ++ ++ ++/// Parser for the `pkg-config` `.pc` file format. ++/// ++/// See: https://www.freedesktop.org/wiki/Software/pkg-config/ ++// This is only internal so it can be unit tested. ++internal struct PkgConfigParser { ++ public let pcFile: Basics.AbsolutePath ++ private let fileSystem: FileSystem ++ public private(set) var variables = [String: String]() ++ public private(set) var dependencies = [String]() ++ public private(set) var privateDependencies = [String]() ++ public private(set) var cFlags = [String]() ++ public private(set) var libs = [String]() ++ public private(set) var sysrootDir: String? ++ ++ public init(pcFile: Basics.AbsolutePath, fileSystem: FileSystem, sysrootDir: String?) throws { ++ guard fileSystem.isFile(pcFile) else { ++ throw StringError("invalid pcfile \(pcFile)") ++ } ++ self.pcFile = pcFile ++ self.fileSystem = fileSystem ++ self.sysrootDir = sysrootDir ++ } ++ ++ // Compress repeated path separators to one. ++ private func compressPathSeparators(_ value: String) -> String { ++ let components = value.components(separatedBy: "/").filter { !$0.isEmpty }.joined(separator: "/") ++ if value.hasPrefix("/") { ++ return "/" + components ++ } else { ++ return components ++ } ++ } ++ ++ // Trim duplicate sysroot prefixes, matching the approach of pkgconf ++ private func trimDuplicateSysroot(_ value: String) -> String { ++ // If sysroot has been applied more than once, remove the first instance. ++ // pkgconf makes this check after variable expansion to handle rare .pc ++ // files which expand ${pc_sysrootdir} directly: ++ // https://github.com/pkgconf/pkgconf/issues/123 ++ // ++ // For example: ++ // /sysroot/sysroot/remainder -> /sysroot/remainder ++ // ++ // However, pkgconf's algorithm searches for an additional sysrootdir anywhere in ++ // the string after the initial prefix, rather than looking for two sysrootdir prefixes ++ // directly next to each other: ++ // ++ // /sysroot/filler/sysroot/remainder -> /filler/sysroot/remainder ++ // ++ // It might seem more logical not to strip sysroot in this case, as it is not a double ++ // prefix, but for compatibility trimDuplicateSysroot is faithful to pkgconf's approach ++ // in the functions `pkgconf_tuple_parse` and `should_rewrite_sysroot`. ++ ++ // Only trim if sysroot is defined with a meaningful value ++ guard let sysrootDir, sysrootDir != "/" else { ++ return value ++ } ++ ++ // Only trim absolute paths starting with sysroot ++ guard value.hasPrefix("/"), value.hasPrefix(sysrootDir) else { ++ return value ++ } ++ ++ // If sysroot appears multiple times, trim the prefix ++ // N.B. sysroot can appear anywhere in the remainder ++ // of the value, mirroring pkgconf's logic ++ let pathSuffix = value.dropFirst(sysrootDir.count) ++ if pathSuffix.contains(sysrootDir) { ++ return String(pathSuffix) ++ } else { ++ return value ++ } ++ } ++ ++ // Apply sysroot to generated paths, matching the approach of pkgconf ++ private func applySysroot(_ value: String) -> String { ++ // The two main pkg-config implementations handle sysroot differently: ++ // ++ // `pkg-config` (freedesktop.org) prepends sysroot after variable expansion, when in creates the compiler flag lists ++ // `pkgconf` prepends sysroot to variables when they are defined, so sysroot is included when they are expanded ++ // ++ // pkg-config's method skips single character compiler flags, such as '-I' and '-L', and has special cases for longer options. ++ // It does not handle spaces between the flags and their values properly, and prepends sysroot multiple times in some cases, ++ // such as when the .pc file uses the sysroot_dir variable directly or has been rewritten to hard-code the sysroot prefix. ++ // ++ // pkgconf's method handles spaces correctly, although it also requires extra checks to ensure that sysroot is not applied ++ // more than once. ++ // ++ // In 2024 pkg-config is the more popular option according to Homebrew installation statistics, but the major Linux distributions ++ // have generally switched to pkgconf. ++ // ++ // We will use pkgconf's method here as it seems more robust than pkg-config's, and pkgconf's greater popularity on Linux ++ // means libraries developed there may depend on the specific way it handles .pc files. ++ ++ if value.hasPrefix("/"), let sysrootDir, !value.hasPrefix(sysrootDir) { ++ return compressPathSeparators(trimDuplicateSysroot(sysrootDir + value)) ++ } else { ++ return compressPathSeparators(trimDuplicateSysroot(value)) ++ } ++ } ++ ++ public mutating func parse() throws { ++ func removeComment(line: String) -> String { ++ if let commentIndex = line.firstIndex(of: "#") { ++ return String(line[line.startIndex.. [String] { ++ let operators = ["=", "<", ">", "<=", ">="] ++ let separators = [" ", ","] ++ ++ // Look at a char at an index if present. ++ func peek(idx: Int) -> Character? { ++ guard idx <= depString.count - 1 else { return nil } ++ return depString[depString.index(depString.startIndex, offsetBy: idx)] ++ } ++ ++ // This converts the string which can be separated by comma or spaces ++ // into an array of string. ++ func tokenize() -> [String] { ++ var tokens = [String]() ++ var token = "" ++ for (idx, char) in depString.enumerated() { ++ // Encountered a separator, use the token. ++ if separators.contains(String(char)) { ++ // If next character is a space skip. ++ if let peeked = peek(idx: idx+1), peeked == " " { continue } ++ // Append to array of tokens and reset token variable. ++ tokens.append(token) ++ token = "" ++ } else { ++ token += String(char) ++ } ++ } ++ // Append the last collected token if present. ++ if !token.isEmpty { tokens += [token] } ++ return tokens ++ } ++ ++ var deps = [String]() ++ var it = tokenize().makeIterator() ++ while let arg = it.next() { ++ // If we encounter an operator then we need to skip the next token. ++ if operators.contains(arg) { ++ // We should have a version number next, skip. ++ guard it.next() != nil else { ++ throw PkgConfigError.parsingError(""" ++ Expected version number after \(deps.last.debugDescription) \(arg) in \"\(depString)\" in \ ++ \(pcFile) ++ """) ++ } ++ } else if !arg.isEmpty { ++ // Otherwise it is a dependency. ++ deps.append(arg) ++ } ++ } ++ return deps ++ } ++ ++ /// Perform variable expansion on the line by processing the each fragment ++ /// of the string until complete. ++ /// ++ /// Variables occur in form of ${variableName}, we search for a variable ++ /// linearly in the string and if found, lookup the value of the variable in ++ /// our dictionary and replace the variable name with its value. ++ private func resolveVariables(_ line: String) throws -> String { ++ // Returns variable name, start index and end index of a variable in a string if present. ++ // We make sure it of form ${name} otherwise it is not a variable. ++ func findVariable(_ fragment: String) ++ -> (name: String, startIndex: String.Index, endIndex: String.Index)? { ++ guard let dollar = fragment.firstIndex(of: "$"), ++ dollar != fragment.endIndex && fragment[fragment.index(after: dollar)] == "{", ++ let variableEndIndex = fragment.firstIndex(of: "}") ++ else { return nil } ++ return (String(fragment[fragment.index(dollar, offsetBy: 2).. [String] { ++ var splits = [String]() ++ var fragment = [Character]() ++ ++ func saveFragment() { ++ if !fragment.isEmpty { ++ splits.append(String(fragment)) ++ fragment.removeAll() ++ } ++ } ++ ++ var it = line.makeIterator() ++ // Indicates if we're in a quoted fragment, we shouldn't append quote. ++ var inQuotes = false ++ while let char = it.next() { ++ if char == "\"" { ++ inQuotes = !inQuotes ++ } else if char == "\\" { ++ if let next = it.next() { ++#if os(Windows) ++ if ![" ", "\\"].contains(next) { fragment.append("\\") } ++#endif ++ fragment.append(next) ++ } ++ } else if char == " " && !inQuotes { ++ saveFragment() ++ } else { ++ fragment.append(char) ++ } ++ } ++ guard !inQuotes else { ++ throw PkgConfigError.parsingError( ++ "Text ended before matching quote was found in line: \(line) file: \(pcFile)") ++ } ++ saveFragment() ++ return splits ++ } ++} ++ ++// This is only internal so it can be unit tested. ++internal struct PCFileFinder { ++ /// Cached results of locations `pkg-config` will search for `.pc` files ++ /// FIXME: This shouldn't use a static variable, since the first lookup ++ /// will cache the result of whatever `brewPrefix` was passed in. It is ++ /// also not threadsafe. ++ public private(set) static var pkgConfigPaths: [Basics.AbsolutePath]? // FIXME: @testable(internal) ++ private static var shouldEmitPkgConfigPathsDiagnostic = false ++ ++ /// The built-in search path list. ++ /// ++ /// By default, this is combined with the search paths inferred from ++ /// `pkg-config` itself. ++ static let searchPaths = [ ++ try? Basics.AbsolutePath(validating: "/usr/local/lib/pkgconfig"), ++ try? AbsolutePath(validating: "/usr/local/share/pkgconfig"), ++ try? AbsolutePath(validating: "/usr/lib/pkgconfig"), ++ try? AbsolutePath(validating: "/usr/share/pkgconfig"), ++ ].compactMap({ $0 }) ++ ++ /// Get search paths from `pkg-config` itself to locate `.pc` files. ++ /// ++ /// This is needed because on Linux machines, the search paths can be different ++ /// from the standard locations that we are currently searching. ++ private init(pkgConfigPath: String) { ++ if PCFileFinder.pkgConfigPaths == nil { ++ do { ++ let searchPaths = try AsyncProcess.checkNonZeroExit(args: ++ pkgConfigPath, "--variable", "pc_path", "pkg-config" ++ ).spm_chomp() ++ ++#if os(Windows) ++ PCFileFinder.pkgConfigPaths = try searchPaths.split(separator: ";").map({ try AbsolutePath(validating: String($0)) }) ++#else ++ PCFileFinder.pkgConfigPaths = try searchPaths.split(separator: ":").map({ try AbsolutePath(validating: String($0)) }) ++#endif ++ } catch { ++ PCFileFinder.shouldEmitPkgConfigPathsDiagnostic = true ++ PCFileFinder.pkgConfigPaths = [] ++ } ++ } ++ } ++ ++ public init(brewPrefix: Basics.AbsolutePath?) { ++ self.init(pkgConfigPath: brewPrefix?.appending(components: "bin", "pkg-config").pathString ?? "pkg-config") ++ } ++ ++ public init(pkgConfig: Basics.AbsolutePath? = .none) { ++ self.init(pkgConfigPath: pkgConfig?.pathString ?? "pkg-config") ++ } ++ ++ /// Reset the cached `pkgConfigPaths` property, so that it will be evaluated ++ /// again when instantiating a `PCFileFinder()`. This is intended only for ++ /// use by testing. This is a temporary workaround for the use of a static ++ /// variable by this class. ++ internal static func resetCachedPkgConfigPaths() { ++ PCFileFinder.pkgConfigPaths = nil ++ } ++ ++ public func locatePCFile( ++ name: String, ++ customSearchPaths: [Basics.AbsolutePath], ++ fileSystem: FileSystem, ++ observabilityScope: ObservabilityScope ++ ) throws -> Basics.AbsolutePath { ++ // FIXME: We should consider building a registry for all items in the ++ // search paths, which is likely to be substantially more efficient if ++ // we end up searching for a reasonably sized number of packages. ++ for path in OrderedSet(customSearchPaths + PCFileFinder.pkgConfigPaths! + PCFileFinder.searchPaths) { ++ let pcFile = path.appending(component: name + ".pc") ++ if fileSystem.isFile(pcFile) { ++ return pcFile ++ } ++ } ++ if PCFileFinder.shouldEmitPkgConfigPathsDiagnostic { ++ PCFileFinder.shouldEmitPkgConfigPathsDiagnostic = false ++ observabilityScope.emit(warning: "failed to retrieve search paths with pkg-config; maybe pkg-config is not installed") ++ } ++ throw PkgConfigError.couldNotFindConfigFile(name: name) ++ } ++} ++ ++internal enum PkgConfigError: Swift.Error, CustomStringConvertible { ++ case couldNotFindConfigFile(name: String) ++ case parsingError(String) ++ case prohibitedFlags(String) ++ ++ public var description: String { ++ switch self { ++ case .couldNotFindConfigFile(let name): ++ return "couldn't find pc file for \(name)" ++ case .parsingError(let error): ++ return "parsing error(s): \(error)" ++ case .prohibitedFlags(let flags): ++ return "prohibited flag(s): \(flags)" ++ } ++ } ++} +-- +2.50.1 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0008-set-compiler-vendor.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0008-set-compiler-vendor.patch new file mode 100644 index 0000000000000..0eb64dfc3b995 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0008-set-compiler-vendor.patch @@ -0,0 +1,50 @@ +From 9d0a0f13012d87bc3a91e021132027582532a92c Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:59:36 -0500 +Subject: [PATCH] set-compiler-vendor + +--- + Sources/PackageModel/UserToolchain.swift | 6 ------ + Sources/PackageModel/UserToolchain.swift.orig | 8 ++++++++ + 2 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/Sources/PackageModel/UserToolchain.swift b/Sources/PackageModel/UserToolchain.swift +index 39d7333c5..b63997bad 100644 +--- a/Sources/PackageModel/UserToolchain.swift ++++ b/Sources/PackageModel/UserToolchain.swift +@@ -409,13 +409,7 @@ public final class UserToolchain: Toolchain { + } + + public func _isClangCompilerVendorApple() throws -> Bool? { +- // Assume the vendor is Apple on macOS. +- // FIXME: This might not be the best way to determine this. +- #if os(macOS) +- return true +- #else + return false +- #endif + } + + /// Returns the path to lldb. +diff --git a/Sources/PackageModel/UserToolchain.swift.orig b/Sources/PackageModel/UserToolchain.swift.orig +index 7f21304c6..39d7333c5 100644 +--- a/Sources/PackageModel/UserToolchain.swift.orig ++++ b/Sources/PackageModel/UserToolchain.swift.orig +@@ -956,6 +956,14 @@ public final class UserToolchain: Toolchain { + } + } + ++ // The manifest and plugin paths should be in the store if they’re nowhere else. ++ if let storeLibraryPath = try? Basics.AbsolutePath(validating: "@out@/lib/swift/pm") { ++ return .init( ++ manifestLibraryPath: storeLibraryPath.appending("ManifestAPI"), ++ pluginLibraryPath: storeLibraryPath.appending("PluginAPI") ++ ) ++ } ++ + // we are using a SwiftPM outside a toolchain, use the compiler path to compute the location + return .init(swiftCompilerPath: swiftCompilerPath) + } +-- +2.50.1 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0009-add-missing-libraries.patch b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0009-add-missing-libraries.patch new file mode 100644 index 0000000000000..7308e172cdafa --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpm/patches/0009-add-missing-libraries.patch @@ -0,0 +1,37 @@ +From 9e1e1beea700d92270e0cada04d4b76986ab0ae3 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Sat, 13 Dec 2025 22:59:57 -0500 +Subject: [PATCH] add-missing-libraries + +--- + Sources/PackageSigning/CMakeLists.txt | 1 + + Sources/SwiftBuildSupport/CMakeLists.txt | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/Sources/PackageSigning/CMakeLists.txt b/Sources/PackageSigning/CMakeLists.txt +index 13a7b8cd5..d00c7d01e 100644 +--- a/Sources/PackageSigning/CMakeLists.txt ++++ b/Sources/PackageSigning/CMakeLists.txt +@@ -21,6 +21,7 @@ target_link_libraries(PackageSigning PUBLIC + Basics + Crypto + PackageModel ++ SwiftASN1 + TSCBasic + TSCUtility + X509) +diff --git a/Sources/SwiftBuildSupport/CMakeLists.txt b/Sources/SwiftBuildSupport/CMakeLists.txt +index 3bd426bbf..2beb6d457 100644 +--- a/Sources/SwiftBuildSupport/CMakeLists.txt ++++ b/Sources/SwiftBuildSupport/CMakeLists.txt +@@ -19,6 +19,7 @@ add_library(SwiftBuildSupport STATIC + PIFBuilder.swift + SwiftBuildSystem.swift) + target_link_libraries(SwiftBuildSupport PUBLIC ++ ArgumentParser + Build + DriverSupport + TSCBasic +-- +2.50.1 + diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpmHook/package.nix b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpmHook/package.nix new file mode 100644 index 0000000000000..83df041e584ad --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpmHook/package.nix @@ -0,0 +1,39 @@ +{ + lib, + cctools, + jq, + llvm_libtool, + makeSetupHook, + stdenv, + stdenvNoCC, + swiftpm, +}: + +let + vtool = stdenvNoCC.mkDerivation { + pname = "cctools-vtool"; + version = lib.getVersion cctools; + + buildCommand = '' + mkdir -p "$out/bin" + ln -s ${lib.getExe' cctools "vtool"} "$out/bin/vtool" + ''; + }; +in +makeSetupHook { + name = "${lib.getName swiftpm}-hook-${lib.getVersion swiftpm}"; + propagatedBuildInputs = [ + swiftpm.out + ] + ++ lib.optionals stdenvNoCC.hostPlatform.isDarwin [ + # SwiftPM requires these tools for builds on Darwin. + # It also requires xcrun, which is already part of the Darwin stdenv. + llvm_libtool + vtool + ]; + substitutions = { + inherit (stdenvNoCC.hostPlatform.extensions) sharedLibrary; + swiftPlatform = stdenv.hostPlatform.swift.platform; + jq = lib.getExe jq; + }; +} ./setup-hook.sh diff --git a/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpmHook/setup-hook.sh b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpmHook/setup-hook.sh new file mode 100644 index 0000000000000..1fed0a94ec272 --- /dev/null +++ b/pkgs/by-name/sw/swiftPackages/by-name/sw/swiftpmHook/setup-hook.sh @@ -0,0 +1,209 @@ +# shellcheck shell=bash + +swiftpm_addCVars() { + swiftLibDir='.*/lib/swift\(_static\)?/\(host\|@swiftPlatform@\)\(/plugins\|/plugins/testing\|/testing\)?$' + while IFS= read -d "" d; do + # Avoid adding paths that have already been added + if [[ "${swiftpmFlags-}" =~ \ $d\ ]]; then + continue + fi + # Only add the folder if it actually contains Swift modules. + if [ -n "$(ls "$d"/*.swiftmodule)" ]; then + appendToVar swiftpmFlags -Xswiftc -I -Xswiftc "$d" + fi + # Compiler plugins + if [[ "$d" =~ plugins(/testing)?$ && -n "$(ls "$d"/*@sharedLibrary@)" ]]; then + appendToVar swiftpmFlags -Xswiftc -plugin-path -Xswiftc "$d" + fi + done < <(find "$1" -type d -and -regex "$swiftLibDir" -print0) +} + +addEnvHooks "$targetOffset" swiftpm_addCVars + +swiftpmUnpackDeps() { + echo "Unpacking SwiftPM dependencies" + + # Set up `workspace-state.json`. Local packages must be added now, or SwiftPM will try to fetch their dependencies. + mkdir -p "$NIX_BUILD_TOP/$sourceRoot/.build" + @jq@ -s --sort-keys ' + { + "object": { + "artifacts": [ ], + "dependencies": ( + (.[0] | .object.dependencies) + + [ .[1] | .dependencies[] | select(.fileSystem) | .[][] | + { + "basedOn": null, + "packageRef": { + "identity": .identity, + "kind": "fileSystem", + "location": .path, + "name": .path | sub("\\.git$"; "") | split("/")[-1] + }, + "state": { + "name": "fileSystem", + "path": .path + }, + "subpath": .identity + } + ] + ), + "prebuilts": [ ], + }, + "version": 7 + } + ' "$swiftpmDeps/workspace-state.json" <(swift-package dump-package --package-path "$NIX_BUILD_TOP/$sourceRoot") \ + > "$NIX_BUILD_TOP/$sourceRoot/.build/workspace-state.json~" + mv "$NIX_BUILD_TOP/$sourceRoot/.build/workspace-state.json~" "$NIX_BUILD_TOP/$sourceRoot/.build/workspace-state.json" + + # The closest thing to vendoring SwiftPM supports is setting up a dependencies as edited at `Packages`. + ln -s "$swiftpmDeps/Packages" "$NIX_BUILD_TOP/$sourceRoot/Packages" +} + +appendToVar postUnpackHooks swiftpmUnpackDeps + +# Build using 'swift-build'. +swiftpmBuildPhase() { + runHook preBuild + + local buildCores=1 + if [ "${enableParallelBuilding-1}" ]; then + buildCores="$NIX_BUILD_CORES" + fi + + local flagsArray=( + -j "$buildCores" + -c "${swiftpmBuildConfig-release}" + -Xswiftc -module-cache-path -Xswiftc "$NIX_BUILD_TOP/module-cache" + ) + concatTo flagsArray swiftpmFlags swiftpmFlagsArray + + echoCmd 'SwiftPM flags' "${flagsArray[@]}" + TERM=dumb swift-build --disable-sandbox "${flagsArray[@]}" + + runHook postBuild +} + +if [ -z "${dontUseSwiftpmBuild-}" ] && [ -z "${buildPhase-}" ]; then + buildPhase=swiftpmBuildPhase +fi + +# Check using 'swift-test'. +swiftpmCheckPhase() { + runHook preCheck + + local buildCores=1 + if [ "${enableParallelBuilding-1}" ]; then + buildCores="$NIX_BUILD_CORES" + fi + + local flagsArray=( + -j "$buildCores" + -c "${swiftpmBuildConfig-release}" + ) + concatTo flagsArray swiftpmFlags swiftpmFlagsArray + + echoCmd 'check flags' "${flagsArray[@]}" + TERM=dumb swift test "${flagsArray[@]}" + + runHook postCheck +} + +if [ -z "${dontUseSwiftpmCheck-}" ] && [ -z "${checkPhase-}" ]; then + checkPhase=swiftpmCheckPhase +fi + +# Helper used to find the binary output path. +# Useful for performing the installPhase of swiftpm packages. +swiftpmBinPath() { + local flagsArray=( + -c "${swiftpmBuildConfig-release}" + ) + concatTo flagsArray swiftpmFlags swiftpmFlagsArray + + swift-build --show-bin-path "${flagsArray[@]}" +} + +# TODO: Only use install_name_tool on Darwin, support static libraries +swiftpmInstallPhase() { + runHook preInstall + + local products=$(swiftpmBinPath) + while IFS= read -d "" exe; do + install -D -m 755 "$products/$exe" "${!outputBin}/bin/$exe" + done < <(swift-package dump-package | @jq@ --raw-output0 '.products[] | select(.type | has("executable")) | .name') + + local libsToInstall=() + local modulesToInstall=() + + while IFS= read -d "" library; do + if [ -e "$products/lib$library@sharedLibrary@" ]; then + install_name_tool "$products/lib$library@sharedLibrary@" \ + -id "${!outputLib}/lib/lib$library@sharedLibrary@" + appendToVar libsToInstall "$products/lib$library@sharedLibrary@" + fi + if [ -e "$products/$library.swiftmodule" ]; then + appendToVar modulesToInstall "$products/$library.swiftmodule" + fi + if [ -e "$products/Modules/$library.swiftmodule" ]; then + appendToVar modulesToInstall "$products/Modules/$library.swiftmodule" + fi + done < <(swift-package dump-package | @jq@ --raw-output0 '.products[] | select(.type | has("library")) | .name') + + if [ -n "${libsToInstall}" ]; then + install -D -t "${!outputLib}/lib" "${libsToInstall[@]}" + # Only install modules if there are any library products. + if [ -n "${modulesToInstall}" ]; then + install -D -t "${!outputInclude}/lib/swift/@swiftPlatform@" "${modulesToInstall[@]}" + fi + fi + + runHook postInstall +} + +if [ -z "${dontUseSwiftpmInstall-}" ] && [ -z "${installPhase-}" ]; then + installPhase=swiftpmInstallPhase +fi + +# Based on CMake’s setup-hook +makeSwiftPMFindLibs() { + local -A swiftpmLibFlags + isystem_seen= + iframework_seen= + for flag in ${NIX_CFLAGS_COMPILE-}; do + if test -n "$isystem_seen" && test -d "$flag"; then + isystem_seen= + swiftpmLibFlags["${flag}"]="-Xcc -isystem -Xcc" + elif test -n "$iframework_seen" && test -d "$flag"; then + iframework_seen= + swiftpmLibFlags["${flag}"]="-Xcc -iframework -Xcc" + else + isystem_seen= + iframework_seen= + case $flag in + -I*) + swiftpmLibFlags["${flag:2}"]="-Xcc -I -Xcc" + ;; + -L*) + swiftpmLibFlags["${flag:2}"]="-Xlinker -L -Xlinker" + ;; + -F*) + swiftpmLibFlags["${flag:2}"]="-Xcc -F -Xcc" + ;; + -isystem) + isystem_seen=1 + ;; + -iframework) + iframework_seen=1 + ;; + esac + fi + done + for flag in "${!swiftpmLibFlags[@]}"; do + appendToVar swiftpmFlags ${swiftpmLibFlags["${flag}"]} "$flag" + done +} + +# not using setupHook, because it could be a setupHook adding additional +# include flags to NIX_CFLAGS_COMPILE +postHooks+=(makeSwiftPMFindLibs) diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/src/.gitignore b/pkgs/by-name/sw/switch-to-configuration-ng/.gitignore similarity index 100% rename from pkgs/by-name/sw/switch-to-configuration-ng/src/.gitignore rename to pkgs/by-name/sw/switch-to-configuration-ng/.gitignore diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/src/Cargo.lock b/pkgs/by-name/sw/switch-to-configuration-ng/Cargo.lock similarity index 100% rename from pkgs/by-name/sw/switch-to-configuration-ng/src/Cargo.lock rename to pkgs/by-name/sw/switch-to-configuration-ng/Cargo.lock diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/src/Cargo.toml b/pkgs/by-name/sw/switch-to-configuration-ng/Cargo.toml similarity index 100% rename from pkgs/by-name/sw/switch-to-configuration-ng/src/Cargo.toml rename to pkgs/by-name/sw/switch-to-configuration-ng/Cargo.toml diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/README.md b/pkgs/by-name/sw/switch-to-configuration-ng/README.md index 4111f131f089c..b0f6cf9f08c5c 100644 --- a/pkgs/by-name/sw/switch-to-configuration-ng/README.md +++ b/pkgs/by-name/sw/switch-to-configuration-ng/README.md @@ -9,6 +9,5 @@ For more information on what happens during a switch, see [what-happens-during-a ``` cd ./pkgs/by-name/sw/switch-to-configuration-ng nix-shell ../../../.. -A switch-to-configuration-ng -cd ./src cargo build ``` diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/src/build.rs b/pkgs/by-name/sw/switch-to-configuration-ng/build.rs similarity index 100% rename from pkgs/by-name/sw/switch-to-configuration-ng/src/build.rs rename to pkgs/by-name/sw/switch-to-configuration-ng/build.rs diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/package.nix b/pkgs/by-name/sw/switch-to-configuration-ng/package.nix index e398f86e79a53..cffc771405f41 100644 --- a/pkgs/by-name/sw/switch-to-configuration-ng/package.nix +++ b/pkgs/by-name/sw/switch-to-configuration-ng/package.nix @@ -12,9 +12,9 @@ rustPlatform.buildRustPackage { pname = "switch-to-configuration"; version = "0.1.0"; - src = ./src; + src = builtins.filterSource (name: _: !(lib.hasSuffix ".nix" name)) ./.; - cargoLock.lockFile = ./src/Cargo.lock; + cargoLock.lockFile = ./Cargo.lock; nativeBuildInputs = [ pkg-config ]; buildInputs = [ dbus ]; diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/src/src/main.rs b/pkgs/by-name/sw/switch-to-configuration-ng/src/main.rs similarity index 100% rename from pkgs/by-name/sw/switch-to-configuration-ng/src/src/main.rs rename to pkgs/by-name/sw/switch-to-configuration-ng/src/main.rs diff --git a/pkgs/by-name/sy/syft/package.nix b/pkgs/by-name/sy/syft/package.nix index 339d811c17387..db03a49d5a6f4 100644 --- a/pkgs/by-name/sy/syft/package.nix +++ b/pkgs/by-name/sy/syft/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "syft"; - version = "1.41.2"; + version = "1.42.1"; src = fetchFromGitHub { owner = "anchore"; repo = "syft"; tag = "v${finalAttrs.version}"; - hash = "sha256-8sGNBf6Mq3V9lJsJ6Q7xwBK7VKBHbxdGdmxlBuGFsuM="; + hash = "sha256-RJGDpjhOP4mToIQN6CRGb9HmWYQLWYlHAi6P9tCmQXo="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -29,7 +29,7 @@ buildGoModule (finalAttrs: { # hash mismatch with darwin proxyVendor = true; - vendorHash = "sha256-3GQ9Ky7U+/SNpvFH9A1eWuqEX/P55+49yXbnYWfCM9Q="; + vendorHash = "sha256-+SoFbJa0toHEJaOYYbukgrBvIhfVUmaibzYFEDt+3cQ="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/sy/symbolicator/package.nix b/pkgs/by-name/sy/symbolicator/package.nix index 37bf8ac5e53bb..804d553708012 100644 --- a/pkgs/by-name/sy/symbolicator/package.nix +++ b/pkgs/by-name/sy/symbolicator/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "symbolicator"; - version = "26.2.0"; + version = "26.2.1"; src = fetchFromGitHub { owner = "getsentry"; repo = "symbolicator"; rev = finalAttrs.version; - hash = "sha256-bRqAOmUtTpI9aX8eNKsgng6fGAl5yy1INCIsqtywSv4="; + hash = "sha256-CuG/rfwuJeKibsYWo1lNDcJkuKXMrXSv8hk+hIjYy74="; fetchSubmodules = true; }; - cargoHash = "sha256-ViFUvOL8J4xKO0HAUDmiYHBuyhMY1S7YhmdpG6fuinE="; + cargoHash = "sha256-YddQ3E6YlcFkoQEglTNJ1lK6ivxJYtwhouFT32kV1hI="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/sy/syncthing-macos/package.nix b/pkgs/by-name/sy/syncthing-macos/package.nix index 61a93cf2b8aea..245b0a166c12f 100644 --- a/pkgs/by-name/sy/syncthing-macos/package.nix +++ b/pkgs/by-name/sy/syncthing-macos/package.nix @@ -3,15 +3,16 @@ fetchurl, stdenv, undmg, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "syncthing-macos"; - version = "1.30.0-1"; + version = "2.0.14-1"; src = fetchurl { url = "https://github.com/syncthing/syncthing-macos/releases/download/v${finalAttrs.version}/Syncthing-${finalAttrs.version}.dmg"; - hash = "sha256-9kerr89PZ90fQwxPfqrSlujuLYY9THv6Ne/cUErt3YU="; + hash = "sha256-5BjYwS2xcANqEXWadbppUwIGNd1UTQjzhWIAyATwWEU="; }; nativeBuildInputs = [ undmg ]; @@ -27,6 +28,8 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; + updateScript = nix-update-script { extraArgs = [ "--use-github-releases" ]; }; + meta = { description = "Official frugal and native macOS Syncthing application bundle"; homepage = "https://github.com/syncthing/syncthing-macos"; diff --git a/pkgs/by-name/sy/synergy/include_cstdint.patch b/pkgs/by-name/sy/synergy/include_cstdint.patch new file mode 100644 index 0000000000000..e597751c1b3a7 --- /dev/null +++ b/pkgs/by-name/sy/synergy/include_cstdint.patch @@ -0,0 +1,12 @@ +diff --git a/src/lib/server/InputFilter.cpp b/src/lib/server/InputFilter.cpp +index da29f5b..65c500f 100755 +--- a/src/lib/server/InputFilter.cpp ++++ b/src/lib/server/InputFilter.cpp +@@ -26,6 +26,7 @@ + + #include + #include ++#include + + // ----------------------------------------------------------------------------- + // Input Filter Condition Classes diff --git a/pkgs/by-name/sy/synergy/package.nix b/pkgs/by-name/sy/synergy/package.nix index 37e95f1340e1e..4d7917d4f9f32 100644 --- a/pkgs/by-name/sy/synergy/package.nix +++ b/pkgs/by-name/sy/synergy/package.nix @@ -42,6 +42,10 @@ stdenv.mkDerivation (finalAttrs: { patches = [ # Without this OpenSSL from nixpkgs is not detected ./darwin-non-static-openssl.patch + + # This missing include broke the build on GCC 15 + # This can be removed once we switch to a newer version + ./include_cstdint.patch ]; postPatch = '' diff --git a/pkgs/by-name/sy/syslogng/package.nix b/pkgs/by-name/sy/syslogng/package.nix index 602eb80a297bd..35e58e18ab5b5 100644 --- a/pkgs/by-name/sy/syslogng/package.nix +++ b/pkgs/by-name/sy/syslogng/package.nix @@ -65,13 +65,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "syslog-ng"; - version = "4.10.2"; + version = "4.11.0"; src = fetchFromGitHub { owner = "syslog-ng"; repo = "syslog-ng"; tag = "syslog-ng-${finalAttrs.version}"; - hash = "sha256-hUaDeJBW3jgXRD9uy4yzQsMm0QpprNeQZL8jjP2NOGs="; + hash = "sha256-7t1Q3qaPMp36siQALmeB27G6hfsql+kepERGB0yPsVU="; fetchSubmodules = true; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/sy/systemc/package.nix b/pkgs/by-name/sy/systemc/package.nix index 9437afcafed4e..d96306d3256e1 100644 --- a/pkgs/by-name/sy/systemc/package.nix +++ b/pkgs/by-name/sy/systemc/package.nix @@ -31,6 +31,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://systemc.org/"; license = lib.licenses.asl20; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ amiloradovsky ]; + maintainers = [ ]; }; }) diff --git a/pkgs/by-name/sy/systemd-manager-tui/package.nix b/pkgs/by-name/sy/systemd-manager-tui/package.nix index 041348f7afe02..1c65394dcd138 100644 --- a/pkgs/by-name/sy/systemd-manager-tui/package.nix +++ b/pkgs/by-name/sy/systemd-manager-tui/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "systemd-manager-tui"; - version = "1.2.2"; + version = "1.2.4"; src = fetchFromGitHub { owner = "Matheus-git"; repo = "systemd-manager-tui"; tag = "v${finalAttrs.version}"; - hash = "sha256-hPsHsa4eY7kOxKj9YiDK3uQyVOp2/JcR53ygFZXrkO4="; + hash = "sha256-cai+5DugKSupFZASNg4QelB3sPi4MvTy5YkA0hB13wo="; }; - cargoHash = "sha256-/8QN/QU6Ayx8FAI4bwaWqOoL9fYIT5m65908zXpm3gk="; + cargoHash = "sha256-y3RoekDMK+COaC0zuSTD6l/Ugl81qLG/3VSWYTDRA5o="; meta = { homepage = "https://github.com/Matheus-git/systemd-manager-tui"; diff --git a/pkgs/by-name/ta/tana/package.nix b/pkgs/by-name/ta/tana/package.nix index c2d2da7757047..b2aa35d6544fa 100644 --- a/pkgs/by-name/ta/tana/package.nix +++ b/pkgs/by-name/ta/tana/package.nix @@ -62,7 +62,7 @@ let stdenv.cc.cc stdenv.cc.libc ]; - version = "1.510.1"; + version = "1.511.5"; in stdenv.mkDerivation { pname = "tana"; @@ -70,7 +70,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://github.com/tanainc/tana-desktop-releases/releases/download/v${version}/tana_${version}_amd64.deb"; - hash = "sha256-EMrcQuMbVBdX/HaDixMwBjRBS5cL+123JEu0S7ZjRas="; + hash = "sha256-AUnA7Q7cq0z8TeTQF2/3aT6WHypZQ+7J9UjfkMJYnoA="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/td/tdarr/package.nix b/pkgs/by-name/td/tdarr/package.nix new file mode 100644 index 0000000000000..dec4a5163a383 --- /dev/null +++ b/pkgs/by-name/td/tdarr/package.nix @@ -0,0 +1,35 @@ +{ + lib, + symlinkJoin, + tdarr-server, + tdarr-node, +}: + +symlinkJoin { + name = "tdarr-${tdarr-server.version}"; + pname = "tdarr"; + inherit (tdarr-server) version; + + paths = [ + tdarr-server + tdarr-node + ]; + + passthru = { + server = tdarr-server; + node = tdarr-node; + }; + + meta = { + description = "Distributed transcode automation using FFmpeg/HandBrake (includes both server and node)"; + homepage = "https://tdarr.io"; + license = lib.licenses.unfree; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + maintainers = with lib.maintainers; [ mistyttm ]; + }; +} diff --git a/pkgs/by-name/te/tea/package.nix b/pkgs/by-name/te/tea/package.nix index dc76c05afd7cc..f77e8190609aa 100644 --- a/pkgs/by-name/te/tea/package.nix +++ b/pkgs/by-name/te/tea/package.nix @@ -4,28 +4,40 @@ fetchFromGitea, installShellFiles, stdenv, + writableTmpDirAsHomeHook, }: buildGoModule (finalAttrs: { pname = "tea"; - version = "0.11.1"; + version = "0.12.0"; src = fetchFromGitea { domain = "gitea.com"; owner = "gitea"; repo = "tea"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-bphXaE5qPNzqn+PlzESZadpwbS6KryJEnL7hH/CBoTI="; + sha256 = "sha256-yaktVULY9eGRyWVqbwjZSo5d9DhHJMycfdEwZgxaLnw="; }; - vendorHash = "sha256-Y9YDwfubT+RR1v6BTFD+A8GP2ArQaIIoMJmak+Vcx88="; + vendorHash = "sha256-u4GTrdxmsfxC8s0LwQbsbky/zk1pW5VNSp4+7ZCIxzY="; ldflags = [ - "-X code.gitea.io/tea/cmd.Version=${finalAttrs.version}" + "-s" + "-w" + "-X code.gitea.io/tea/modules/version.Version=${finalAttrs.version}" + "-X code.gitea.io/tea/modules/version.Tags=nixpkgs" + "-X code.gitea.io/tea/modules/version.SDK=0.23.2" + ]; + + checkFlags = [ + # requires a git repository + "-skip=TestRepoFromPath_Worktree" ]; nativeBuildInputs = [ installShellFiles ]; + nativeCheckInputs = [ writableTmpDirAsHomeHook ]; + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd tea \ --bash <($out/bin/tea completion bash) \ diff --git a/pkgs/by-name/te/teams-for-linux/package.nix b/pkgs/by-name/te/teams-for-linux/package.nix index 36bf68443b6df..08e70c0540c01 100644 --- a/pkgs/by-name/te/teams-for-linux/package.nix +++ b/pkgs/by-name/te/teams-for-linux/package.nix @@ -16,16 +16,16 @@ buildNpmPackage rec { pname = "teams-for-linux"; - version = "2.7.7"; + version = "2.7.9"; src = fetchFromGitHub { owner = "IsmaelMartinez"; repo = "teams-for-linux"; tag = "v${version}"; - hash = "sha256-ID5TQ0eHfsfS2Zma++HtKe2BitxCW4bB69UMJVTbc2c="; + hash = "sha256-4RHmalNBwRskChwooJ7anD9X49443WNW46QGHkzAEFQ="; }; - npmDepsHash = "sha256-3oJVRbdQpOWv3LHcUY8gaXl4g13NTkcOfTg/MrEeHqQ="; + npmDepsHash = "sha256-zE57TD25sV5EGwYLBBuJe6z4VpVQEAEZ4G0C88nF8yI="; nativeBuildInputs = [ makeWrapper diff --git a/pkgs/by-name/te/teleport_17/package.nix b/pkgs/by-name/te/teleport_17/package.nix index f7b43dc6ef116..16967f5c6fc67 100644 --- a/pkgs/by-name/te/teleport_17/package.nix +++ b/pkgs/by-name/te/teleport_17/package.nix @@ -7,11 +7,11 @@ }: buildTeleport { - version = "17.7.16"; - hash = "sha256-xO1L4MRGf9OF+wm/9P5IccltO+zvijM8vP5JQwmqLSQ="; - vendorHash = "sha256-BhQOvjSe8URmKWxKPemn/klgLoBFKfWXCYMp82QzaOE="; - cargoHash = "sha256-EnIdf/3idwoQGJd6edQtWaXzVC1Gkwf8X2w2Zq80KGA="; - pnpmHash = "sha256-0BOnrrzX33UncHPM6vc8UWP5GoU7xCDV9FGqBLVYTtM="; + version = "17.7.19"; + hash = "sha256-2bQEW3HllZvMofumLSgvZvWqrlRV6fK9uB3QTJD6x3w="; + vendorHash = "sha256-GUnX3TnHjZyqNsIDIy5Du6jRURWnYBsNb2zWEGl1tzQ="; + cargoHash = "sha256-opLo7UmZzxrVxYZOwn4v4G5lhHFp5GrdOZe7uIb97q0="; + pnpmHash = "sha256-mcv9Paybeu9RnNfzj1v0043UX2WhfgMpmWjVxQX7Fzc="; wasm-bindgen-cli = wasm-bindgen-cli_0_2_95; inherit buildGoModule withRdpClient extPatches; diff --git a/pkgs/by-name/te/teleport_18/package.nix b/pkgs/by-name/te/teleport_18/package.nix index f79b949817726..a2d8fee6a7082 100644 --- a/pkgs/by-name/te/teleport_18/package.nix +++ b/pkgs/by-name/te/teleport_18/package.nix @@ -1,19 +1,19 @@ { buildTeleport, - buildGoModule, + buildGo125Module, wasm-bindgen-cli_0_2_99, withRdpClient ? true, extPatches ? [ ], }: buildTeleport { - version = "18.6.6"; - hash = "sha256-I5tnWOnQrcOwhK2SCtkhvR/PkTWxfk0R0yDGJwyxh9E="; - vendorHash = "sha256-sXBCfzVjffSyPDIxmAWFp1WINmMPV1HRx9O6JkOgqLM="; - pnpmHash = "sha256-/MJL/VPQxijOyvboUl4+sctAP+5YA4R0luOqmMe8f94="; - cargoHash = "sha256-tp+xxa+sYQpvgD2Yv/W0hegRpUubBeFpdngRyByNxJc="; + version = "18.7.0"; + hash = "sha256-1AzIZ2jbYncpUStIrKgP6jhkJ42HDoXfhEv5hJdyDnA="; + vendorHash = "sha256-p600z/Fm3y5KG8fDItIc/Xq4O0/DWHjcmrh5qJmCy1I="; + pnpmHash = "sha256-/sLG0yfMIguj+yzr3bDj1AoPvDEva6ETjyKcqm4Fvks="; + cargoHash = "sha256-SfVoh4HnHSOz1haPPV7a/RyA6LFjLRe78Mn2fVdVyEA="; wasm-bindgen-cli = wasm-bindgen-cli_0_2_99; - buildGoModule = buildGoModule; + buildGoModule = buildGo125Module; inherit withRdpClient extPatches; } diff --git a/pkgs/by-name/te/tempo/package.nix b/pkgs/by-name/te/tempo/package.nix index bf05e44aca2a9..a47afa496694a 100644 --- a/pkgs/by-name/te/tempo/package.nix +++ b/pkgs/by-name/te/tempo/package.nix @@ -7,14 +7,14 @@ buildGoModule (finalAttrs: { pname = "tempo"; - version = "2.10.0"; + version = "2.10.1"; src = fetchFromGitHub { owner = "grafana"; repo = "tempo"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-ciiJg8PdvifYGalfo/V8RFTKkZ8pHM9RlwfGRKeRAhU="; + hash = "sha256-XhtG3+0Xy7Bi3RuY5MNcHB7Hp6lXjzksdGu7eztXmnU="; }; vendorHash = null; diff --git a/pkgs/by-name/te/temporal_capi/package.nix b/pkgs/by-name/te/temporal_capi/package.nix index 1913a182cad9f..008f648509152 100644 --- a/pkgs/by-name/te/temporal_capi/package.nix +++ b/pkgs/by-name/te/temporal_capi/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "temporal_capi"; - version = "0.1.2"; + version = "0.2.0"; src = fetchFromGitHub { owner = "boa-dev"; repo = "temporal"; tag = "v${finalAttrs.version}"; - hash = "sha256-JmNYoskoQZewmWAU/SUBdjKdN+pnpMdLZUVv+jysS5A="; + hash = "sha256-RPbyl45Rl0a0c954m6c6449HQFPtbyAsDC19W8rRVnc="; }; - cargoHash = "sha256-jIPbroAtS7D/l4QJtGCgXNa7QaQLdsF4Gh9O4NaRBCw="; + cargoHash = "sha256-i5vsQ12J1T9Pe2x7WCdrOLzsSKEDtSfDn/pqEDOd6aE="; postPatch = '' # Force crate-type to include staticlib diff --git a/pkgs/by-name/te/terraform-config-inspect/package.nix b/pkgs/by-name/te/terraform-config-inspect/package.nix index ea79eb61742e2..302b1d434ae54 100644 --- a/pkgs/by-name/te/terraform-config-inspect/package.nix +++ b/pkgs/by-name/te/terraform-config-inspect/package.nix @@ -7,13 +7,13 @@ }: buildGoModule { pname = "terraform-config-inspect"; - version = "0-unstable-2026-02-10"; + version = "0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "hashicorp"; repo = "terraform-config-inspect"; - rev = "f4be3ba97d948a481dfaf17efe961b135d80741b"; - hash = "sha256-KvjlgxcJExMdtWyaM+rMbSrY4X4sjtYEauZA6Tj3pn0="; + rev = "813a9753022088a8e29290e3ba8806131a3329c2"; + hash = "sha256-kjX7tSU5p5kssqIDnxuLyfmUul8UH83Aeq7ftN0HJCM="; }; vendorHash = "sha256-iYrSk9JqxvhYSJuSv/nhZep41gRr644ZzGFWXMGQgyc="; diff --git a/pkgs/by-name/te/terragrunt/package.nix b/pkgs/by-name/te/terragrunt/package.nix index e34b438929126..424d29c7cb58c 100644 --- a/pkgs/by-name/te/terragrunt/package.nix +++ b/pkgs/by-name/te/terragrunt/package.nix @@ -7,13 +7,13 @@ }: buildGoModule (finalAttrs: { pname = "terragrunt"; - version = "0.99.1"; + version = "0.99.4"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = "terragrunt"; tag = "v${finalAttrs.version}"; - hash = "sha256-WbFXCFzBKnjj5SN84LHNps5grHtreS+gv6b17bu6o4U="; + hash = "sha256-PuAV0RtWTdFM96LVL6i+RMrRF+H0HujgHtTCsrvyCoo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/te/tev/package.nix b/pkgs/by-name/te/tev/package.nix index d313199cb6837..a851e34dcb65e 100644 --- a/pkgs/by-name/te/tev/package.nix +++ b/pkgs/by-name/te/tev/package.nix @@ -24,14 +24,14 @@ stdenv.mkDerivation rec { pname = "tev"; - version = "2.8.2"; + version = "2.9.0"; src = fetchFromGitHub { owner = "Tom94"; repo = "tev"; tag = "v${version}"; fetchSubmodules = true; - hash = "sha256-XNy4VO9sdh1RoqYPPuE/NaiYRaxbtPd7M6YhaIzH2ho="; + hash = "sha256-833iKblvIwMADXvzpJS8z2y+3b0puvyw3IFilrlylk8="; }; postPatch = lib.optionalString stdenv.hostPlatform.isLinux ( diff --git a/pkgs/by-name/tf/tfswitch/package.nix b/pkgs/by-name/tf/tfswitch/package.nix index 5c056637231cc..9a7558ff38236 100644 --- a/pkgs/by-name/tf/tfswitch/package.nix +++ b/pkgs/by-name/tf/tfswitch/package.nix @@ -5,16 +5,16 @@ }: buildGoModule (finalAttrs: { pname = "tfswitch"; - version = "1.13.0"; + version = "1.14.0"; src = fetchFromGitHub { owner = "warrensbox"; repo = "terraform-switcher"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-rS7VJQdRzrEK1ZlpmdbAf32vKuyK9I0tflDIC1Nb2OY="; + sha256 = "sha256-PIGKrDeavUL7J44nLhHRHw/R3FBA6aKn2HJxtiCWZuQ="; }; - vendorHash = "sha256-JJnXleHt7lRnKHBh4Lx71Jb0RRCdUOqzrNHbZ17T5Co="; + vendorHash = "sha256-DywtJ/XXHLATM216wNM999zfqT0qndWnlBrUTreTa7Y="; # Disable tests since it requires network access and relies on the # presence of release.hashicorp.com diff --git a/pkgs/by-name/th/theharvester/package.nix b/pkgs/by-name/th/theharvester/package.nix index a82aab714acf6..13b49f446d5e8 100644 --- a/pkgs/by-name/th/theharvester/package.nix +++ b/pkgs/by-name/th/theharvester/package.nix @@ -75,7 +75,6 @@ python3.pkgs.buildPythonApplication (finalAttrs: { changelog = "https://github.com/laramies/theHarvester/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.gpl2Only; maintainers = with lib.maintainers; [ - c0bw3b fab treemo ]; diff --git a/pkgs/by-name/ti/tidal-hifi/package.nix b/pkgs/by-name/ti/tidal-hifi/package.nix index 92c6c5f395a3a..23236cb515dd0 100644 --- a/pkgs/by-name/ti/tidal-hifi/package.nix +++ b/pkgs/by-name/ti/tidal-hifi/package.nix @@ -219,7 +219,6 @@ buildNpmPackage (finalAttrs: { license = lib.licenses.mit; maintainers = with lib.maintainers; [ gerg-l - qbit spikespaz ]; # `castlabs-electron` doesn't have a distribution for `aarch64-linux`. diff --git a/pkgs/by-name/ti/tigerbeetle/package.nix b/pkgs/by-name/ti/tigerbeetle/package.nix index 4e3cd89630da4..d2a4c7581d825 100644 --- a/pkgs/by-name/ti/tigerbeetle/package.nix +++ b/pkgs/by-name/ti/tigerbeetle/package.nix @@ -10,14 +10,14 @@ let platform = if stdenvNoCC.hostPlatform.isDarwin then "universal-macos" else stdenvNoCC.hostPlatform.system; hash = builtins.getAttr platform { - "universal-macos" = "sha256-QKp57vN1ilcItu7zVab3p+VbFhnQxrtT8O/UwQj4YY8="; - "x86_64-linux" = "sha256-mpLKxgHwLyQOffODSOgOddwwPDd+hY46AxNVAwe5MQA="; - "aarch64-linux" = "sha256-rzoOkWauDZcJ0U2NmNTDPuBJCNJ6s9qyfJIrNbPNQMA="; + "universal-macos" = "sha256-93ELKDCjdEPnQO71CiwoeiVfNNVPbMAyXxeOG+1DY1E="; + "x86_64-linux" = "sha256-+5Ldd6APomJQZdahEywOGthmUyb89wpQrWrQ8pSU1yk="; + "aarch64-linux" = "sha256-VfJ8VthOi038zZSu7MwbOOP8FdTZnoYSU65TLZYyUSs="; }; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "tigerbeetle"; - version = "0.16.73"; + version = "0.16.74"; src = fetchzip { url = "https://github.com/tigerbeetle/tigerbeetle/releases/download/${finalAttrs.version}/tigerbeetle-${platform}.zip"; diff --git a/pkgs/by-name/ti/tinfoil-cli/package.nix b/pkgs/by-name/ti/tinfoil-cli/package.nix index ad19f85b376ae..ffae4f9c7464e 100644 --- a/pkgs/by-name/ti/tinfoil-cli/package.nix +++ b/pkgs/by-name/ti/tinfoil-cli/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "tinfoil-cli"; - version = "0.10.3"; + version = "0.12.0"; src = fetchFromGitHub { owner = "tinfoilsh"; repo = "tinfoil-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-1nzMNX3Xe30JFRWHmh0k+vtW1wgGqlB4ZHS9ucYyslY="; + hash = "sha256-EAC6FGYTTLq2/VeDLLV+o03/mVaEi3WTICERZoWJ8tI="; }; - vendorHash = "sha256-8YzNHlimaUVyrUp8pzWtfpSLDp7PxJ95/qi0ir6TSl8="; + vendorHash = "sha256-5ENb7Wb6iUX0vd/k46sQCs8fZvprlRHS+QGHrUboXGU="; # The attestation test requires internet access checkFlags = [ "-skip=TestAttestationVerifySEV" ]; @@ -31,7 +31,7 @@ buildGoModule (finalAttrs: { description = "Command-line interface for making verified HTTP requests to Tinfoil enclaves and validating attestation documents"; homepage = "https://github.com/tinfoilsh/tinfoil-cli"; changelog = "https://github.com/tinfoilsh/tinfoil-cli/releases/tag/v${finalAttrs.version}"; - license = lib.licenses.gpl3Only; + license = lib.licenses.agpl3Plus; maintainers = [ lib.maintainers.haylin ]; mainProgram = "tinfoil"; }; diff --git a/pkgs/by-name/ti/tirith/package.nix b/pkgs/by-name/ti/tirith/package.nix index bfd823ef656e6..fe8cc7c0de5ad 100644 --- a/pkgs/by-name/ti/tirith/package.nix +++ b/pkgs/by-name/ti/tirith/package.nix @@ -8,15 +8,15 @@ }: rustPlatform.buildRustPackage (final: { pname = "tirith"; - version = "0.1.9"; + version = "0.2.1"; src = fetchFromGitHub { owner = "sheeki03"; repo = "tirith"; tag = "v${final.version}"; - hash = "sha256-HrYpcVmHBNPB4I+Luq9EwZ003M5TU2FVHhP8CmRRi2I="; + hash = "sha256-zm39lMApUtSrIcXZ7JGeR6ayqtg7dljfRGBYi8zH4UI="; }; - cargoHash = "sha256-RxKK9jnIRsvj2fOVq1cv0B4SSb5EwvBk5eIUGC2H7dY="; + cargoHash = "sha256-1363uY+um9U2zT2ss7Ysm8SOb2zf1SuRbc43P1bVlls="; cargoBuildFlags = [ "-p" diff --git a/pkgs/by-name/tl/tlaplus-toolbox/package.nix b/pkgs/by-name/tl/tlaplus-toolbox/package.nix index 91c37dbb1f8a8..a2b6303402c32 100644 --- a/pkgs/by-name/tl/tlaplus-toolbox/package.nix +++ b/pkgs/by-name/tl/tlaplus-toolbox/package.nix @@ -60,6 +60,9 @@ stdenv.mkDerivation (finalAttrs: { patchelf --set-interpreter ${bintools.dynamicLinker} \ "$(find "$out/libexec/toolbox" -name jspawnhelper)" + # Populate gappsWrapperArgs now instead of in a preFixupPhase. + gappsWrapperArgsHook + makeShellWrapper $out/libexec/toolbox/toolbox $out/bin/tla-toolbox \ --chdir "$out/libexec/toolbox" \ --add-flags "-data ~/.tla-toolbox" \ diff --git a/pkgs/by-name/tm/tmux/package.nix b/pkgs/by-name/tm/tmux/package.nix index 35a49b04d0090..d3907e4b164ec 100644 --- a/pkgs/by-name/tm/tmux/package.nix +++ b/pkgs/by-name/tm/tmux/package.nix @@ -16,6 +16,8 @@ withUtempter ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isMusl, libutempter, withSixel ? true, + versionCheckHook, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -30,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "tmux"; repo = "tmux"; - rev = finalAttrs.version; + tag = finalAttrs.version; hash = "sha256-VwOyR9YYhA/uyVRJbspNrKkJWJGYFFktwPnnwnIJ97s="; }; @@ -64,6 +66,10 @@ stdenv.mkDerivation (finalAttrs: { echo "${finalAttrs.passthru.terminfo}" >> $out/nix-support/propagated-user-env-packages ''; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "-V"; + doInstallCheck = true; + passthru = { terminfo = runCommand "tmux-terminfo" { nativeBuildInputs = [ ncurses ]; } ( if stdenv.hostPlatform.isDarwin then @@ -81,10 +87,12 @@ stdenv.mkDerivation (finalAttrs: { ln -sv ${ncurses}/share/terminfo/t/{tmux,tmux-256color,tmux-direct} $out/share/terminfo/t '' ); + updateScript = nix-update-script { }; }; meta = { homepage = "https://tmux.github.io/"; + downloadPage = "https://github.com/tmux/tmux"; description = "Terminal multiplexer"; longDescription = '' tmux is intended to be a modern, BSD-licensed alternative to programs such as GNU screen. Major features include: @@ -103,6 +111,7 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.unix; mainProgram = "tmux"; maintainers = with lib.maintainers; [ + ethancedwards8 fpletz ]; }; diff --git a/pkgs/by-name/tm/tmuxp/package.nix b/pkgs/by-name/tm/tmuxp/package.nix index 3c6e682aea088..2ec3ee4d4d0fb 100644 --- a/pkgs/by-name/tm/tmuxp/package.nix +++ b/pkgs/by-name/tm/tmuxp/package.nix @@ -7,12 +7,12 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "tmuxp"; - version = "1.56.0"; + version = "1.64.0"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-6Nc6JHNZM6OUgoOfpD4wCDUlLAb2kLBplm1IjuVG/q8="; + hash = "sha256-jx5duGqxgXqDHfc74mZ6YZlxdW16bYJ3KD5hRReJmCw="; }; build-system = with python3Packages; [ diff --git a/pkgs/by-name/to/tokstat/package.nix b/pkgs/by-name/to/tokstat/package.nix index e7688e83a8829..a0639ea7256dc 100644 --- a/pkgs/by-name/to/tokstat/package.nix +++ b/pkgs/by-name/to/tokstat/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "tokstat"; - version = "0.6.0"; + version = "0.7.0"; src = fetchFromGitHub { owner = "pbek"; repo = "tokstat"; tag = "v${finalAttrs.version}"; - hash = "sha256-K1RV+FvRL8oWHsdaLLpzFIcGU/6ex5SxSf90vMhwoEc="; + hash = "sha256-JXjQiPhkkSJh4oWVqTq3lJdVYaknPDCnZ7L+K1vVb/4="; }; - cargoHash = "sha256-5Q+99lYln459PTQhXpMneoUP1WQYHo4tSjm1cYMLbjk="; + cargoHash = "sha256-WtKyq09GRQvPvvw1bfGYCKxQpW6MRR2DOWJ/tC+QJuA="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/to/tombi/package.nix b/pkgs/by-name/to/tombi/package.nix index fb55ddd68a45a..690726f692ef8 100644 --- a/pkgs/by-name/to/tombi/package.nix +++ b/pkgs/by-name/to/tombi/package.nix @@ -9,19 +9,19 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "tombi"; - version = "0.7.31"; + version = "0.7.33"; src = fetchFromGitHub { owner = "tombi-toml"; repo = "tombi"; tag = "v${finalAttrs.version}"; - hash = "sha256-1md4NoDoqTcIPXzMK9IdYk8PCf0jcZIUcOViAm7N+90="; + hash = "sha256-MNzz4mgHiKdmrkKwh2E6XlQK2jelEnjoFHolpZJxjw0="; }; # Tests relies on the presence of network doCheck = false; cargoBuildFlags = [ "--package tombi-cli" ]; - cargoHash = "sha256-a7+M+KOYD3SboIzg1kmNV+kehHsae0/+C6hneBeRFGo="; + cargoHash = "sha256-5EZNL5aBdS+1TI4Gx2AQw6Di+5rYQBR3ukexSnFFIcs="; postPatch = '' substituteInPlace Cargo.toml \ diff --git a/pkgs/by-name/to/tor-browser/package.nix b/pkgs/by-name/to/tor-browser/package.nix index ea88637845107..407888bb80b85 100644 --- a/pkgs/by-name/to/tor-browser/package.nix +++ b/pkgs/by-name/to/tor-browser/package.nix @@ -102,7 +102,7 @@ let ++ lib.optionals mediaSupport [ ffmpeg_7 ] ); - version = "15.0.6"; + version = "15.0.7"; sources = { x86_64-linux = fetchurl { @@ -112,7 +112,7 @@ let "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" ]; - hash = "sha256-ARHkr311mk4mIK+MruEiFLVa2tuJyrjl35moYDmROMo="; + hash = "sha256-/zUA3o9zPdZ/MZan5Uc2puGN+S8QvB42QtXDo8MucVM="; }; i686-linux = fetchurl { @@ -122,7 +122,7 @@ let "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" ]; - hash = "sha256-yO+iALaU5dqdk0fWKqpcCProNIqi5ilnfZpcga3JTWI="; + hash = "sha256-GZ2MT8bSVMKLwgTZGYYegdW94e6mJ97+oMBeZJMlHvY="; }; }; diff --git a/pkgs/by-name/to/tor/package.nix b/pkgs/by-name/to/tor/package.nix index 2778700d8ad26..034771bef7f84 100644 --- a/pkgs/by-name/to/tor/package.nix +++ b/pkgs/by-name/to/tor/package.nix @@ -85,7 +85,9 @@ stdenv.mkDerivation (finalAttrs: { # cross compiles correctly but needs the following lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--disable-tool-name-check" ]; - NIX_CFLAGS_LINK = lib.optionalString stdenv.cc.isGNU "-lgcc_s"; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_LINK = "-lgcc_s"; + }; postPatch = '' substituteInPlace contrib/client-tools/torify \ diff --git a/pkgs/by-name/tr/traccar/package.nix b/pkgs/by-name/tr/traccar/package.nix index ee4be825df21e..15e7f4ca3a339 100644 --- a/pkgs/by-name/tr/traccar/package.nix +++ b/pkgs/by-name/tr/traccar/package.nix @@ -6,13 +6,13 @@ }: stdenvNoCC.mkDerivation rec { pname = "traccar"; - version = "6.11.1"; + version = "6.12.0"; nativeBuildInputs = [ pkgs.makeWrapper ]; src = fetchzip { stripRoot = false; url = "https://github.com/traccar/traccar/releases/download/v${version}/traccar-other-${version}.zip"; - hash = "sha256-IYdcLOTGPoAs8Rg5WcYOMctOiY7icpvoVKLF7BhMTBY="; + hash = "sha256-eLKOasVojfsqjNhbcF4SYz/EUFJqj+ikBrd0XttwLTQ="; }; installPhase = '' diff --git a/pkgs/by-name/tr/traefik/package.nix b/pkgs/by-name/tr/traefik/package.nix index a5dda5631657f..e906a1a2284bb 100644 --- a/pkgs/by-name/tr/traefik/package.nix +++ b/pkgs/by-name/tr/traefik/package.nix @@ -8,16 +8,16 @@ buildGo125Module (finalAttrs: { pname = "traefik"; - version = "3.6.8"; + version = "3.6.9"; # Archive with static assets for webui src = fetchzip { url = "https://github.com/traefik/traefik/releases/download/v${finalAttrs.version}/traefik-v${finalAttrs.version}.src.tar.gz"; - hash = "sha256-tZSU4DER94BTPrn1wxfew/xoADtvtRAu3O1O7dR3s+c="; + hash = "sha256-FM4SdiEB1hY064qDZD0BaKezmvzsGd85uIE49u4fx70="; stripRoot = false; }; - vendorHash = "sha256-ZvAVsyET2g9Y+N7pPn+JG8th2I385wgp5hTgEG9d26o="; + vendorHash = "sha256-rousXyjb2WcXNG6wG7Ddd8qanarrEKcdQO/8C4PS4Bs="; proxyVendor = true; diff --git a/pkgs/by-name/tr/transgui/package.nix b/pkgs/by-name/tr/transgui/package.nix index 0add18952d723..2b5a6958a8ee2 100644 --- a/pkgs/by-name/tr/transgui/package.nix +++ b/pkgs/by-name/tr/transgui/package.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "transgui"; - version = "5.18.0-unstable-2024-10-03"; + version = "5.18.0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "transmission-remote-gui"; repo = "transgui"; - rev = "8854357ece266e749e8981a93c8002465a93d8f2"; - hash = "sha256-8ycivjjPeXBdPbqNNlO2hcre6T9sFhqg6vUfCREtd8k="; + rev = "da71b860d4920f7ab847a48bd8d804725ddbad7b"; + hash = "sha256-ZrzC0Pnf4HXC/XqOCzPfhAhfUvuchW2CgX3izfQAALo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/tr/travis/Gemfile b/pkgs/by-name/tr/travis/Gemfile deleted file mode 100644 index 3da9975913e83..0000000000000 --- a/pkgs/by-name/tr/travis/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "travis" -gem "pry", "~> 0.11.0" diff --git a/pkgs/by-name/tr/travis/Gemfile.lock b/pkgs/by-name/tr/travis/Gemfile.lock deleted file mode 100644 index 91df15a9bb658..0000000000000 --- a/pkgs/by-name/tr/travis/Gemfile.lock +++ /dev/null @@ -1,71 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - activesupport (5.2.4.3) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - addressable (2.7.0) - public_suffix (>= 2.0.2, < 5.0) - coderay (1.1.3) - concurrent-ruby (1.1.6) - ethon (0.12.0) - ffi (>= 1.3.0) - faraday (1.0.1) - multipart-post (>= 1.2, < 3) - faraday_middleware (1.0.0) - faraday (~> 1.0) - ffi (1.13.1) - gh (0.17.0) - activesupport (~> 5.0) - addressable (~> 2.4) - faraday (~> 1.0) - faraday_middleware (~> 1.0) - multi_json (~> 1.0) - net-http-persistent (~> 2.9) - net-http-pipeline - highline (2.0.3) - i18n (1.8.3) - concurrent-ruby (~> 1.0) - json (2.3.0) - launchy (2.4.3) - addressable (~> 2.3) - method_source (0.9.2) - minitest (5.14.1) - multi_json (1.14.1) - multipart-post (2.1.1) - net-http-persistent (2.9.4) - net-http-pipeline (1.0.1) - pry (0.11.3) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - public_suffix (4.0.5) - pusher-client (0.6.2) - json - websocket (~> 1.0) - thread_safe (0.3.6) - travis (1.9.1) - faraday (~> 1.0) - faraday_middleware (~> 1.0) - gh (~> 0.13) - highline (~> 2.0) - json (~> 2.3) - launchy (~> 2.1, < 2.5.0) - pusher-client (~> 0.4) - typhoeus (~> 0.6, >= 0.6.8) - typhoeus (0.8.0) - ethon (>= 0.8.0) - tzinfo (1.2.7) - thread_safe (~> 0.1) - websocket (1.2.8) - -PLATFORMS - ruby - -DEPENDENCIES - pry (~> 0.11.0) - travis - -BUNDLED WITH - 2.1.4 diff --git a/pkgs/by-name/tr/travis/gemset.nix b/pkgs/by-name/tr/travis/gemset.nix deleted file mode 100644 index f304f77cc785b..0000000000000 --- a/pkgs/by-name/tr/travis/gemset.nix +++ /dev/null @@ -1,297 +0,0 @@ -{ - activesupport = { - dependencies = [ - "concurrent-ruby" - "i18n" - "minitest" - "tzinfo" - ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "02fdawr3wyvpzpja3r7mvb8lmn2mm5jdw502bx3ncr2sy2nw1kx6"; - type = "gem"; - }; - version = "5.2.4.3"; - }; - addressable = { - dependencies = [ "public_suffix" ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy"; - type = "gem"; - }; - version = "2.7.0"; - }; - coderay = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; - type = "gem"; - }; - version = "1.1.3"; - }; - concurrent-ruby = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl"; - type = "gem"; - }; - version = "1.1.6"; - }; - ethon = { - dependencies = [ "ffi" ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0gggrgkcq839mamx7a8jbnp2h7x2ykfn34ixwskwb0lzx2ak17g9"; - type = "gem"; - }; - version = "0.12.0"; - }; - faraday = { - dependencies = [ "multipart-post" ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0wwks9652xwgjm7yszcq5xr960pjypc07ivwzbjzpvy9zh2fw6iq"; - type = "gem"; - }; - version = "1.0.1"; - }; - faraday_middleware = { - dependencies = [ "faraday" ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0jik2kgfinwnfi6fpp512vlvs0mlggign3gkbpkg5fw1jr9his0r"; - type = "gem"; - }; - version = "1.0.0"; - }; - ffi = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "12lpwaw82bb0rm9f52v1498bpba8aj2l2q359mkwbxsswhpga5af"; - type = "gem"; - }; - version = "1.13.1"; - }; - gh = { - dependencies = [ - "activesupport" - "addressable" - "faraday" - "faraday_middleware" - "multi_json" - "net-http-persistent" - "net-http-pipeline" - ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1nj2dm2pahfa4d39y8csvjv5l3hpsm6yjq2y96vj2bqgg0qs26bj"; - type = "gem"; - }; - version = "0.17.0"; - }; - highline = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d"; - type = "gem"; - }; - version = "2.0.3"; - }; - i18n = { - dependencies = [ "concurrent-ruby" ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "10nq1xjqvkhngiygji831qx9bryjwws95r4vrnlq9142bzkg670s"; - type = "gem"; - }; - version = "1.8.3"; - }; - json = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn"; - type = "gem"; - }; - version = "2.3.0"; - }; - launchy = { - dependencies = [ "addressable" ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2"; - type = "gem"; - }; - version = "2.4.3"; - }; - method_source = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; - type = "gem"; - }; - version = "0.9.2"; - }; - minitest = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "09bz9nsznxgaf06cx3b5z71glgl0hdw469gqx3w7bqijgrb55p5g"; - type = "gem"; - }; - version = "5.14.1"; - }; - multi_json = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr"; - type = "gem"; - }; - version = "1.14.1"; - }; - multipart-post = { - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj"; - type = "gem"; - }; - version = "2.1.1"; - }; - net-http-persistent = { - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1y9fhaax0d9kkslyiqi1zys6cvpaqx9a0y0cywp24rpygwh4s9r4"; - type = "gem"; - }; - version = "2.9.4"; - }; - net-http-pipeline = { - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0bxjy33yhxwsbnld8xj3zv64ibgfjn9rjpiqkyd5ipmz50pww8v9"; - type = "gem"; - }; - version = "1.0.1"; - }; - pry = { - dependencies = [ - "coderay" - "method_source" - ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g"; - type = "gem"; - }; - version = "0.11.3"; - }; - public_suffix = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0vywld400fzi17cszwrchrzcqys4qm6sshbv73wy5mwcixmrgg7g"; - type = "gem"; - }; - version = "4.0.5"; - }; - pusher-client = { - dependencies = [ - "json" - "websocket" - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "18ymxz34gmg7jff3h0nyzp5vdg5i06dbdxlrdl2nq4hf14qwj1f4"; - type = "gem"; - }; - version = "0.6.2"; - }; - thread_safe = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; - type = "gem"; - }; - version = "0.3.6"; - }; - travis = { - dependencies = [ - "faraday" - "faraday_middleware" - "gh" - "highline" - "json" - "launchy" - "pusher-client" - "typhoeus" - ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1yizj5nqvyrfbyiv1kfwc33dylhsmk5l007z06djj152v04z63i3"; - type = "gem"; - }; - version = "1.9.1"; - }; - typhoeus = { - dependencies = [ "ethon" ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "03x3fxjsnhgayl4s96h0a9975awlvx2v9nmx2ba0cnliglyczdr8"; - type = "gem"; - }; - version = "0.8.0"; - }; - tzinfo = { - dependencies = [ "thread_safe" ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r"; - type = "gem"; - }; - version = "1.2.7"; - }; - websocket = { - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0f11rcn4qgffb1rq4kjfwi7di79w8840x9l74pkyif5arp0mb08x"; - type = "gem"; - }; - version = "1.2.8"; - }; -} diff --git a/pkgs/by-name/tr/travis/package.nix b/pkgs/by-name/tr/travis/package.nix deleted file mode 100644 index 06d571221be6b..0000000000000 --- a/pkgs/by-name/tr/travis/package.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - lib, - bundlerEnv, - ruby, - bundlerUpdateScript, -}: - -bundlerEnv { - inherit ruby; - pname = "travis"; - gemdir = ./.; - - passthru.updateScript = bundlerUpdateScript "travis"; - - meta = { - description = "CLI and Ruby client library for Travis CI"; - mainProgram = "travis"; - homepage = "https://github.com/travis-ci/travis.rb"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ - zimbatm - nicknovitski - ]; - }; -} diff --git a/pkgs/by-name/tr/treefmt/package.nix b/pkgs/by-name/tr/treefmt/package.nix index 6bbd713ef43f5..a7d898037fb1a 100644 --- a/pkgs/by-name/tr/treefmt/package.nix +++ b/pkgs/by-name/tr/treefmt/package.nix @@ -8,16 +8,16 @@ }: buildGoModule (finalAttrs: { pname = "treefmt"; - version = "2.4.0"; + version = "2.4.1"; src = fetchFromGitHub { owner = "numtide"; repo = "treefmt"; rev = "v${finalAttrs.version}"; - hash = "sha256-Okwwu5ls3BwLtm8qaq+QX3P+6uwuodV82F3j38tuszk="; + hash = "sha256-OhzmgeSTlbChglTAEk7lefVwH1zrfJTc9eroihpPveg="; }; - vendorHash = "sha256-fiBpyhbkzyhv7i4iHDTsgFcC/jx6onOzGP/YMcUAe9I="; + vendorHash = "sha256-mpUFtc7LBRXevid9KzhCj9RxTUSeNO1XIPVWWvqPS9s="; subPackages = [ "." ]; diff --git a/pkgs/by-name/tr/trellis/package.nix b/pkgs/by-name/tr/trellis/package.nix index 303a6594383a2..f479210e23656 100644 --- a/pkgs/by-name/tr/trellis/package.nix +++ b/pkgs/by-name/tr/trellis/package.nix @@ -8,30 +8,30 @@ }: let - rev = "488f4e71073062de314c55a037ede7cf03a3324c"; + rev = "e821bcbecdc997d71766836a200e16b27535a835"; # git describe --tags - realVersion = "1.2.1-14-g${builtins.substring 0 7 rev}"; + realVersion = "1.4-12-g${builtins.substring 0 7 rev}"; main_src = fetchFromGitHub { owner = "YosysHQ"; repo = "prjtrellis"; inherit rev; - hash = "sha256-Blbu+0rlM/3izbF0XCvkNpSAND0IclWEwK7anzyrpvw="; + hash = "sha256-RyCZTdiF8kFBNGWJnwALjF0fXrZm3OvSM0sdL6ljlYU="; name = "trellis"; }; database_src = fetchFromGitHub { owner = "YosysHQ"; repo = "prjtrellis-db"; - rev = "35d900a94ff0db152679a67bf6e4fbf40ebc34aa"; - hash = "sha256-r6viR8y9ZjURGNbsa0/YY8lzy9kGzjuu408ntxwpqm0="; + rev = "015e0330630d7c238c0e4f2cdd9c8157eb78c54a"; + hash = "sha256-1VpxI0RHZSiWdQPCgsEWQ3hqzy5F1YV7ZOGL3kK18XM="; name = "trellis-database"; }; in stdenv.mkDerivation { pname = "trellis"; - version = "unstable-2022-09-14"; + version = "unstable-2025-01-30"; srcs = [ main_src @@ -52,7 +52,6 @@ stdenv.mkDerivation { preConfigure = '' rmdir database && ln -sfv ${database_src} ./database - cd libtrellis ''; diff --git a/pkgs/by-name/tr/trivy/package.nix b/pkgs/by-name/tr/trivy/package.nix index 7946b892bab22..2a61ab21df216 100644 --- a/pkgs/by-name/tr/trivy/package.nix +++ b/pkgs/by-name/tr/trivy/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "trivy"; - version = "0.69.0"; + version = "0.69.1"; src = fetchFromGitHub { owner = "aquasecurity"; repo = "trivy"; tag = "v${finalAttrs.version}"; - hash = "sha256-auCbZmVr7LzYrw+IOpXBZPUs2YmcPAzr5fo12vSyHeM="; + hash = "sha256-0BzqkLT4puBfBweu+3WIEepkpzr0LyHXL7/DrhjyxNs="; }; # Hash mismatch on across Linux and Darwin diff --git a/pkgs/by-name/tr/trufflehog/package.nix b/pkgs/by-name/tr/trufflehog/package.nix index 8f329e5c9b40a..525af247ba67e 100644 --- a/pkgs/by-name/tr/trufflehog/package.nix +++ b/pkgs/by-name/tr/trufflehog/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "trufflehog"; - version = "3.93.3"; + version = "3.93.4"; src = fetchFromGitHub { owner = "trufflesecurity"; repo = "trufflehog"; tag = "v${finalAttrs.version}"; - hash = "sha256-mUzfTztg3QG13HrYAa7m6bCZkl9gsPS3Nmqlw4YvueQ="; + hash = "sha256-ef6BfZKr0XtNK/vWNIzEzAUnrZX8dRxdFcrEedroZyA="; }; vendorHash = "sha256-U3pznVPh/nQ4YZ5y94VF+UeISXDaWJ/gTNrY8wqq2gQ="; diff --git a/pkgs/by-name/ty/ty/package.nix b/pkgs/by-name/ty/ty/package.nix index 04c464032b92d..c078c7b1c2a78 100644 --- a/pkgs/by-name/ty/ty/package.nix +++ b/pkgs/by-name/ty/ty/package.nix @@ -14,14 +14,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ty"; - version = "0.0.18"; + version = "0.0.19"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ty"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-GinkBZcRD9vxEHSGDoZb/TkpSPmPYoYOQ0tmrP8zJ+c="; + hash = "sha256-KBpbkwmbUzuNDcoUyf4Osz5HSW21d6gBu2mOqdOH+ng="; }; # For Darwin platforms, remove the integration test for file notifications, @@ -35,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoBuildFlags = [ "--package=ty" ]; - cargoHash = "sha256-3GCPejBOyLRZpanFrXHlaLWImMUEmoSejCazzG5sVfo="; + cargoHash = "sha256-L0jCIlmHHra0ofsbWZykL6KoYWuwSaUBDXKh49AfKKM="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/ty/typesetter/package.nix b/pkgs/by-name/ty/typesetter/package.nix index 02aca9cf31bae..89a0607f62d24 100644 --- a/pkgs/by-name/ty/typesetter/package.nix +++ b/pkgs/by-name/ty/typesetter/package.nix @@ -30,18 +30,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "typesetter"; - version = "0.10.1"; + version = "0.11.1"; src = fetchFromCodeberg { owner = "haydn"; repo = "typesetter"; tag = "v${finalAttrs.version}"; - hash = "sha256-YrncwcyknOCukfmQmyFzEAy/bWct6K67CThi8Rzy4rE="; + hash = "sha256-sBcCO/OTM7/0gFcWsC0cO4dwVdHT5kxAHGWYANdF5IA="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-kV4KDiNHKCnzQtJVDhMEHEqwPuR5CV3LRcCDVUb5nKo="; + hash = "sha256-BzVlJ2T4XilUyOHtaE1jiGoqnbOc8uCwIR0UqSVzo1Q="; }; strictDeps = true; diff --git a/pkgs/by-name/tz/tzdata/package.nix b/pkgs/by-name/tz/tzdata/package.nix index a92873e965c44..d48799ea21484 100644 --- a/pkgs/by-name/tz/tzdata/package.nix +++ b/pkgs/by-name/tz/tzdata/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "."; - patches = lib.optionals stdenv.hostPlatform.isWindows [ + patches = lib.optionals (stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isCygwin) [ ./0001-Add-exe-extension-for-MS-Windows-binaries.patch ]; @@ -61,6 +61,19 @@ stdenv.mkDerivation (finalAttrs: { "CFLAGS+=-DHAVE_STRUCT_STAT_ST_CTIM=0" "CFLAGS+=-DHAVE_SYMLINK=0" "CFLAGS+=-DRESERVE_STD_EXT_IDS" + # sys/stat.h does exist on Windows for us + "CFLAGS+=-DHAVE_SYS_STAT_H=1" + # It is called st_ctime on windows, this forces that + # choice + "CFLAGS+=-DHAVE_STRUCT_STAT_ST_CTIM=0" + "CFLAGS+=-DHAVE_MEMPCPY=1" + "CFLAGS+=-DHAVE_GETRESUID=0" + "CFLAGS+=-DHAVE_GETEUID=0" + "CFLAGS+=-DHAVE_FCHMOD=0" + ] + ++ lib.optionals stdenv.hostPlatform.isCygwin [ + "CFLAGS+=-DHAVE_GETRESUID=0" + "CFLAGS+=-DHAVE_ISSETUGID=1" ] ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ "CFLAGS+=-DNETBSD_INSPIRED=0" diff --git a/pkgs/by-name/ua/uasm/package.nix b/pkgs/by-name/ua/uasm/package.nix index dc05c0b564d85..00fd015ef5786 100644 --- a/pkgs/by-name/ua/uasm/package.nix +++ b/pkgs/by-name/ua/uasm/package.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "Terraspace"; - repo = "uasm"; + repo = "UASM"; tag = "v${finalAttrs.version}r"; hash = "sha256-HaiK2ogE71zwgfhWL7fesMrNZYnh8TV/kE3ZIS0l85w="; }; @@ -20,22 +20,53 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; makefile = - if stdenv.hostPlatform.isDarwin then "Makefile-OSX-Clang-64.mak" else "Makefile-Linux-GCC-64.mak"; - - makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; + if stdenv.hostPlatform.isDarwin then + "Makefile-OSX-Clang-64.mak" + else if stdenv.hostPlatform.isWindows then + "Makefile-DOS-GCC.mak" + else + "Makefile-Linux-GCC-64.mak"; # Needed for compiling with GCC > 13 - env.CFLAGS = "-std=c99 -Wno-incompatible-pointer-types -Wno-implicit-function-declaration -Wno-int-conversion"; + env.NIX_CFLAGS_COMPILE = lib.escapeShellArgs [ + "-std=c99" + "-Wno-incompatible-pointer-types" + "-Wno-int-conversion" + "-Wno-implicit-function-declaration" + ]; installPhase = '' runHook preInstall - install -Dt "$out/bin" -m0755 GccUnixR/uasm - install -Dt "$out/share/doc/uasm" -m0644 {Readme,History}.txt Doc/* + ${ + if stdenv.hostPlatform.isWindows then + '' + install -Dm0755 DJGPPr/hjwasm.exe "$out/bin/hjwasm.exe" + install -Dm0755 DJGPPr/hjwasm.exe "$out/bin/uasm.exe" + '' + else + '' + install -Dt "$out/bin" -m0755 GccUnixR/uasm + '' + } + install -Dt "$out/share/doc/${finalAttrs.pname}" -m0644 {Readme,History}.txt Doc/* runHook postInstall ''; + outputs = [ + "out" + "doc" + ]; + + postPatch = '' + substituteInPlace Makefile-DOS-GCC.mak \ + --replace-fail "gcc.exe" "${stdenv.cc.targetPrefix}cc" + + substituteInPlace Makefile-Linux-GCC-64.mak \ + --replace-fail "CC = gcc" "CC=${stdenv.cc.targetPrefix}cc" + ''; + passthru.tests.version = testers.testVersion { package = uasm; command = "uasm -h"; @@ -46,8 +77,11 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.terraspace.co.uk/uasm.html"; description = "Free MASM-compatible assembler based on JWasm"; mainProgram = "uasm"; - platforms = lib.platforms.unix; - maintainers = [ lib.maintainers.zane ]; + platforms = lib.platforms.unix ++ lib.platforms.windows; + maintainers = with lib.maintainers; [ + zane + ccicnce113424 + ]; license = lib.licenses.watcom; broken = stdenv.hostPlatform.isDarwin; }; diff --git a/pkgs/by-name/ud/udiskie/package.nix b/pkgs/by-name/ud/udiskie/package.nix index 25e1aeb6db651..38dc7ce6849ff 100644 --- a/pkgs/by-name/ud/udiskie/package.nix +++ b/pkgs/by-name/ud/udiskie/package.nix @@ -17,7 +17,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "udiskie"; - version = "2.6.1"; + version = "2.6.2"; pyproject = true; @@ -25,7 +25,7 @@ python3Packages.buildPythonApplication (finalAttrs: { owner = "coldfix"; repo = "udiskie"; tag = "v${finalAttrs.version}"; - hash = "sha256-1/qQS2bAxoHbWWmMkDoV5QNSUVYCQfer6lWM9ptG+Vk="; + hash = "sha256-8+Fo3rECMPq7FdmZgrnE0/dz15fuLjd7EDVwLZwfgn0="; }; patches = [ diff --git a/pkgs/by-name/ud/udisks/package.nix b/pkgs/by-name/ud/udisks/package.nix index d78bd7c072b21..bcbb9d4505063 100644 --- a/pkgs/by-name/ud/udisks/package.nix +++ b/pkgs/by-name/ud/udisks/package.nix @@ -42,13 +42,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "udisks"; - version = "2.11.0"; + version = "2.11.1"; src = fetchFromGitHub { owner = "storaged-project"; repo = "udisks"; tag = "udisks-${finalAttrs.version}"; - hash = "sha256-G3qE4evcn5gtsd8Lrj6vjxCsAl/2LCdqdtaqLFFadMw="; + hash = "sha256-FZr5AhAxvMbaonYIClHgxsoHaGR2nIClK65IEaYxMeA="; }; outputs = [ diff --git a/pkgs/by-name/uf/ufoai/package.nix b/pkgs/by-name/uf/ufoai/package.nix index 751fccaaab982..b245e5c92b778 100644 --- a/pkgs/by-name/uf/ufoai/package.nix +++ b/pkgs/by-name/uf/ufoai/package.nix @@ -30,12 +30,21 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "1drhh08cqqkwv1yz3z4ngkplr23pqqrdx6cp8c3isy320gy25cvb"; }; - # Workaround build failure on -fno-common toolchains: - # ld: r_gl.h:52: multiple definition of `qglGenBuffers'; - # r_gl.h:52: first defined here - # TODO: drop once release contains upstream fix: - # https://github.com/ufoai/ufoai/commit/8a3075fffdad294e - env.NIX_CFLAGS_COMPILE = "-fcommon"; + env = { + # Workaround build failure on -fno-common toolchains: + # ld: r_gl.h:52: multiple definition of `qglGenBuffers'; + # r_gl.h:52: first defined here + # TODO: drop once release contains upstream fix: + # https://github.com/ufoai/ufoai/commit/8a3075fffdad294e + NIX_CFLAGS_COMPILE = "-fcommon"; + NIX_CFLAGS_LINK = toString [ + # to avoid occasional runtime error in finding libgcc_s.so.1 + "-lgcc_s" + # tests are underlinked against libm: + # ld: release-linux-x86_64/testall/client/sound/s_mix.c.o: undefined reference to symbol 'acos@@GLIBC_2.2.5' + "-lm" + ]; + }; preConfigure = ''tar xvf "${finalAttrs.srcData}"''; @@ -60,14 +69,6 @@ stdenv.mkDerivation (finalAttrs: { cunit ]; - NIX_CFLAGS_LINK = [ - # to avoid occasional runtime error in finding libgcc_s.so.1 - "-lgcc_s" - # tests are underlinked against libm: - # ld: release-linux-x86_64/testall/client/sound/s_mix.c.o: undefined reference to symbol 'acos@@GLIBC_2.2.5' - "-lm" - ]; - meta = { homepage = "http://ufoai.org"; description = "Squad-based tactical strategy game in the tradition of X-Com"; diff --git a/pkgs/by-name/uh/uhk-agent/package.nix b/pkgs/by-name/uh/uhk-agent/package.nix index ccdd41171b977..23f5494befe71 100644 --- a/pkgs/by-name/uh/uhk-agent/package.nix +++ b/pkgs/by-name/uh/uhk-agent/package.nix @@ -13,12 +13,12 @@ let pname = "uhk-agent"; - version = "9.0.1"; + version = "9.0.2"; src = fetchurl { url = "https://github.com/UltimateHackingKeyboard/agent/releases/download/v${version}/UHK.Agent-${version}-linux-x86_64.AppImage"; name = "${pname}-${version}.AppImage"; - sha256 = "sha256-/DgXushqByEbvbQhmzwXIdmaKWEJL40X6HpV6SUKieY="; + sha256 = "sha256-4lOyLbz5QIzO9iEyYhE32ujZql2yNQd/EIAv4VOuRlA="; }; appimageContents = appimageTools.extract { diff --git a/pkgs/by-name/ul/ultimate-doom-builder/package.nix b/pkgs/by-name/ul/ultimate-doom-builder/package.nix new file mode 100644 index 0000000000000..9ef1c4628385c --- /dev/null +++ b/pkgs/by-name/ul/ultimate-doom-builder/package.nix @@ -0,0 +1,137 @@ +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + msbuild, + mono, + libGL, + libpng, + libx11, + gtk2-x11, + makeDesktopItem, + copyDesktopItems, + unstableGitUpdater, + autoPatchelfHook, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "ultimate-doom-builder"; + version = "0-unstable-2026-02-01"; + + src = fetchFromGitHub { + owner = "jewalky"; + repo = "UltimateDoomBuilder"; + rev = "9d7a12b1164dc53964b594395f9d5d825a43ac12"; + hash = "sha256-FwGfrvF+UrmEw1lvcU4qL9OOP0n/ZmQTsIjQIxRvkmg="; + }; + + nativeBuildInputs = [ + msbuild + makeWrapper + copyDesktopItems + autoPatchelfHook + ]; + + buildInputs = [ + libGL + libpng + libx11 + gtk2-x11 + ]; + + postPatch = + let + gitCommitCount = "4291"; + gitCommitHash = "9d7a12b"; + in + '' + # Replace git-based version generation with static values since .git directory is not available. + # The build system runs git commands to get commit count and hash, then uses them in version strings. + # We disable the git Exec commands and set static PropertyGroup values instead. + for file in Source/Core/BuilderMono.csproj Source/Plugins/BuilderModes/BuilderModesMono.csproj; do + # Remove git Exec commands (they would fail without .git directory) + sed -i '/0<\/GitCommitCount>/>${gitCommitCount}<\/GitCommitCount>/g' "$file" + sed -i 's/>0<\/GitCommitHash>/>${gitCommitHash}<\/GitCommitHash>/g' "$file" + done + ''; + + buildPhase = '' + runHook preBuild + + # Won't compile without windows codepage identifier for UTF-8 + msbuild /nologo /verbosity:minimal -p:Configuration=Release /p:codepage=65001 ./BuilderMono.sln + + cp builder.sh Build/builder + chmod +x Build/builder + + # Build native library with: + # - UDB_LINUX=1 for proper mouse input handling + # - NO_SSE=1 on aarch64 to disable SSE intrinsics + $CXX -std=c++14 -O2 -shared -o Build/libBuilderNative.so -fPIC \ + -DUDB_LINUX=1 \ + ${lib.optionalString stdenv.hostPlatform.isAarch64 "-DNO_SSE=1"} \ + -I Source/Native \ + Source/Native/*.cpp \ + Source/Native/OpenGL/*.cpp \ + Source/Native/OpenGL/gl_load/*.c \ + -lX11 -ldl + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,opt,share/icons/hicolor/64x64/apps} + + cp -r Build $out/opt/UltimateDoomBuilder + + substituteInPlace $out/opt/UltimateDoomBuilder/builder --replace-fail mono ${mono}/bin/mono + substituteInPlace $out/opt/UltimateDoomBuilder/builder --replace-fail Builder.exe $out/opt/UltimateDoomBuilder/Builder.exe + + # GTK is loaded dynamically by Mono at runtime + wrapProgram $out/opt/UltimateDoomBuilder/builder \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk2-x11 ]}" + + ln -s $out/opt/UltimateDoomBuilder/builder $out/bin/ultimate-doom-builder + + cp flatpak/icons/64x64/io.github.ultimatedoombuilder.ultimatedoombuilder.png $out/share/icons/hicolor/64x64/apps/ultimate-doom-builder.png + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "ultimate-doom-builder"; + exec = "ultimate-doom-builder"; + icon = "ultimate-doom-builder"; + desktopName = "Ultimate Doom Builder"; + comment = finalAttrs.meta.description; + categories = [ + "Game" + "Development" + "Graphics" + "3DGraphics" + ]; + }) + ]; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + homepage = "https://github.com/jewalky/UltimateDoomBuilder"; + description = "Advanced Doom map editor based on Doom Builder 2 with Mono support"; + mainProgram = "ultimate-doom-builder"; + longDescription = '' + Ultimate Doom Builder is a map editor for Doom, Heretic, Hexen, and Strife. + It is a continuation of Doom Builder 2 with many new features and improvements, + including cross-platform support via Mono. + ''; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ sophronesis ]; + }; +}) diff --git a/pkgs/by-name/un/unciv/package.nix b/pkgs/by-name/un/unciv/package.nix index 94ce76af00bed..cadb846734c9f 100644 --- a/pkgs/by-name/un/unciv/package.nix +++ b/pkgs/by-name/un/unciv/package.nix @@ -12,7 +12,7 @@ nix-update-script, }: let - version = "4.19.13"; + version = "4.19.15"; desktopItem = makeDesktopItem { name = "unciv"; @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar"; - hash = "sha256-8Y7ob7uC1hXESD2QnhbAUZQMCXSyroB9a3xO2o5sogc="; + hash = "sha256-RlKoiSxW0MPPFTDq72k6CvYTHIEZ0hR8/PhW0j8ERs8="; }; dontUnpack = true; diff --git a/pkgs/by-name/un/undmg/package.nix b/pkgs/by-name/un/undmg/package.nix index 868062c3dde23..aaba98314af99 100644 --- a/pkgs/by-name/un/undmg/package.nix +++ b/pkgs/by-name/un/undmg/package.nix @@ -9,6 +9,9 @@ pkg-config, }: +let + zlib' = zlib.override { shared = true; }; +in stdenv.mkDerivation { pname = "undmg"; version = "1.1.0-unstable-2024-08-02"; @@ -23,7 +26,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - zlib + zlib' bzip2 lzfse xz diff --git a/pkgs/by-name/un/unison-ucm/package.nix b/pkgs/by-name/un/unison-ucm/package.nix index d9697be7f7165..f0adccb9387ac 100644 --- a/pkgs/by-name/un/unison-ucm/package.nix +++ b/pkgs/by-name/un/unison-ucm/package.nix @@ -14,25 +14,25 @@ stdenv.mkDerivation (finalAttrs: { pname = "unison-code-manager"; - version = "1.1.0"; + version = "1.1.1"; src = { aarch64-darwin = fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-arm64.tar.gz"; - hash = "sha256-KE2kl3N6zs/snnb/8uNHSvJLp9tdKCqQRpHvAuOuQiQ="; + hash = "sha256-8iHGuBaGaSkbQVaDEHcDUMix79O2vLQNaHNPzN9kt/8="; }; x86_64-darwin = fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos-x64.tar.gz"; - hash = "sha256-eoN8VXN1LfKU7sLN6C5B9Eu2tepcxe0B1gcClVIzdxA="; + hash = "sha256-f6vMtvg2B7Ui/fJmEAFRl4SxphbWXIup3dOiOncFYmY="; }; aarch64-linux = fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux-arm64.tar.gz"; - hash = "sha256-x8mP0iZIe9w0bCXHnccGa3kfOMCVq6NZUhnL0hqBl2M="; + hash = "sha256-kqqSFYKoP8c8oJaoVwLeFhMIuFY2a1ulUPpZeGV5FMY="; }; x86_64-linux = fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux-x64.tar.gz"; - hash = "sha256-JucU3VrCK+cOkbWzPdp7u3LMa+I72y/W2QqOuwFLN3U="; + hash = "sha256-8si1oemPDPHdWUGSUXEslih5K6z/cdLijwymN31N2Ng="; }; } .${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); diff --git a/pkgs/by-name/un/units/package.nix b/pkgs/by-name/un/units/package.nix index 5aa090f309604..5ba2a282eaf67 100644 --- a/pkgs/by-name/un/units/package.nix +++ b/pkgs/by-name/un/units/package.nix @@ -14,11 +14,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "units"; - version = "2.25"; + version = "2.26"; src = fetchurl { url = "mirror://gnu/units/units-${finalAttrs.version}.tar.gz"; - hash = "sha256-Nu30OsALTWMEuuqROH5lqwURi/Zckh9z07CIKOWm7As="; + hash = "sha256-TEP3pJ/iIS7kM9PAdVoKGTXbNUl8Sla/n2jF9xiHPFQ="; }; # Until upstream updates their code to work with GCC 15. diff --git a/pkgs/by-name/un/unpaper/package.nix b/pkgs/by-name/un/unpaper/package.nix index ce818f072032b..0d17029347435 100644 --- a/pkgs/by-name/un/unpaper/package.nix +++ b/pkgs/by-name/un/unpaper/package.nix @@ -17,6 +17,7 @@ # tests nixosTests, + python3Packages, }: stdenv.mkDerivation (finalAttrs: { @@ -45,6 +46,21 @@ stdenv.mkDerivation (finalAttrs: { ffmpeg-headless ]; + nativeCheckInputs = with python3Packages; [ + pytest + pytest-xdist + pillow + ]; + + doCheck = true; + + # Tests take quite a long time + # Using pytest-xdist, we launch multiple workers + # Restrict to max 6 to avoid having a large number of idlers + preCheck = '' + mesonCheckFlagsArray+=(--test-args "--numprocesses=auto --maxprocesses=6") + ''; + passthru.tests = { inherit (nixosTests) paperless; }; diff --git a/pkgs/by-name/ur/url-parser/package.nix b/pkgs/by-name/ur/url-parser/package.nix index e738edb616385..b5aa5b0ca5757 100644 --- a/pkgs/by-name/ur/url-parser/package.nix +++ b/pkgs/by-name/ur/url-parser/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "url-parser"; - version = "2.1.13"; + version = "2.1.14"; src = fetchFromGitHub { owner = "thegeeklab"; repo = "url-parser"; tag = "v${finalAttrs.version}"; - hash = "sha256-/eu3smf3CeAO+cwhKTL0DB7UVJJ4AJjFjZbNyBbwIZg="; + hash = "sha256-jTytdeIAU59DjtFT2eOx9Tf1hZcWYRVOD577mAfx2Ag="; }; - vendorHash = "sha256-bcMcooi5dYWs5bIOwSC/rOeb3+FBSFnWjaflTeaA4OU="; + vendorHash = "sha256-cs1dPW2AYdSM786Ei7Zle/audU2o866vDIhpOzWdMkI="; ldflags = [ "-s" diff --git a/pkgs/by-name/us/usbkvm/package.nix b/pkgs/by-name/us/usbkvm/package.nix index 76ec6030d3d72..c8f630572862d 100644 --- a/pkgs/by-name/us/usbkvm/package.nix +++ b/pkgs/by-name/us/usbkvm/package.nix @@ -17,11 +17,11 @@ }: let - version = "0.3.0"; + version = "0.3.1"; src = fetchzip { url = "https://github.com/carrotIndustries/usbkvm/releases/download/v${version}/usbkvm-v${version}.tar.gz"; - hash = "sha256-urexPODXU69QfSRHtJVpoDx/6mbPcv6EQ3mR0VRHNiY="; + hash = "sha256-xTBrUI6U6W//Sb1UrIGAWHEeT7LToz7znBW0B4Rs520="; }; ms-tools-lib = buildGoModule { diff --git a/pkgs/by-name/uu/uutils-acl/package.nix b/pkgs/by-name/uu/uutils-acl/package.nix index b87b44ebfeb61..5a4e89dbb369b 100644 --- a/pkgs/by-name/uu/uutils-acl/package.nix +++ b/pkgs/by-name/uu/uutils-acl/package.nix @@ -7,16 +7,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uutils-acl"; - version = "0.0.1-unstable-2026-02-19"; + version = "0.0.1-unstable-2026-02-24"; src = fetchFromGitHub { owner = "uutils"; repo = "acl"; - rev = "c417e350e7280a6ac41e26d8d658fc78e8abaf97"; - hash = "sha256-H/yYSAfV0o5Qt/KdGMqGhvUYXq5JRx4fReMuK1tHFAQ="; + rev = "b3e1a9ea9f9eaab2b9a877fba5b6b00e1a170341"; + hash = "sha256-6sopMhh1swsoORjnFTzMB0Q8SqtIjRTHxGfFyw6L7rM="; }; - cargoHash = "sha256-p0JDeNLKkjmGsZ9fF/9Xm+0pc00pzY8pgWb4B82D6vE="; + cargoHash = "sha256-dfJibUOjSsxY5cfwy6khc5IXWA/AtoAZAmzCledB59s="; + + cargoBuildFlags = [ "--workspace" ]; checkFlags = [ # Operation not supported diff --git a/pkgs/by-name/uu/uutils-hostname/package.nix b/pkgs/by-name/uu/uutils-hostname/package.nix index e3abcfc6bb5b9..df57f96f061cd 100644 --- a/pkgs/by-name/uu/uutils-hostname/package.nix +++ b/pkgs/by-name/uu/uutils-hostname/package.nix @@ -7,16 +7,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uutils-hostname"; - version = "0-unstable-2026-02-17"; + version = "0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "uutils"; repo = "hostname"; - rev = "c047799a57c09ee3878d78dc9134248747e6f677"; - hash = "sha256-41+QCRWJ1kUDkGxuTs8M+l96VhPtq25VPEqI58Arn7A="; + rev = "b5efd550762655d4483d70fbc54f5829a8f94a11"; + hash = "sha256-ipjI6E5x3ORr5H1YQA7NvoTk894fQWLiMdjnb7iaubc="; }; - cargoHash = "sha256-gt1cC06Viu0trXL1+0/EToybSAJwFL3KVSltqUtpGj0="; + cargoHash = "sha256-wR8nRDljztDLdxVFb2pdy4wfqw3zWj3mHUpKrAPCFrw="; + + cargoBuildFlags = [ "--package uu_hostname" ]; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; diff --git a/pkgs/by-name/uu/uutils-login/package.nix b/pkgs/by-name/uu/uutils-login/package.nix index e9f4b825d6605..fdb71539edbba 100644 --- a/pkgs/by-name/uu/uutils-login/package.nix +++ b/pkgs/by-name/uu/uutils-login/package.nix @@ -7,16 +7,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uutils-login"; - version = "0-unstable-2026-02-17"; + version = "0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "uutils"; repo = "login"; - rev = "71120650e42e1cfcbe0cb0c09d3e6c6bacdf49db"; - hash = "sha256-5SYFlltBoSMmX0IsdNRs6jRV5J3xNFYupH+X3TgNTUA="; + rev = "85c14bdfff7668421c1b59bbab7ed9046bf9a5de"; + hash = "sha256-ntqv4Woc7X4jrw4/LUG2nOEhaBtTQh0wEFV97Jaan14="; }; - cargoHash = "sha256-iCS3n7nd5qVjTcMoTubQFl15ZY2cf0w91OBqtckNb44="; + cargoHash = "sha256-uACq1EnUs3fbV2x8QGYx1mKCr+rWfzNOgFx5eJi8cQ4="; + + cargoBuildFlags = [ "--workspace" ]; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; diff --git a/pkgs/by-name/uu/uutils-procps/package.nix b/pkgs/by-name/uu/uutils-procps/package.nix index 1b8d9dbf58434..e1ac27b280c8f 100644 --- a/pkgs/by-name/uu/uutils-procps/package.nix +++ b/pkgs/by-name/uu/uutils-procps/package.nix @@ -10,16 +10,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uutils-procps"; - version = "0.0.1-unstable-2026-02-17"; + version = "0.0.1-unstable-2026-02-24"; src = fetchFromGitHub { owner = "uutils"; repo = "procps"; - rev = "ad3e29a72a1b9b55d7acbad4b100716f45f3e64c"; - hash = "sha256-ARXGzA/56ErO2YxxiNq9KRsXtqWU50//sxSt+4emK1k="; + rev = "4ebf73c7129c4ef637f2551690e8d72b861ff4f0"; + hash = "sha256-ycL56wDB9KmKSSKF7m4otRyvmd1ifRoLW8h3FK/hIx4="; }; - cargoHash = "sha256-QWz6Hr3nuE4ZIMM81pR4K2bjefWV5mlnu/HYcHDwToE="; + cargoHash = "sha256-aZ7Qc9enkhNh88M2DFsVdY2YX2ghSZi5dLoQP1EG/RY="; + + cargoBuildFlags = [ "--workspace" ]; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/uu/uutils-tar/package.nix b/pkgs/by-name/uu/uutils-tar/package.nix index 860c569509e3e..1528ce19f730f 100644 --- a/pkgs/by-name/uu/uutils-tar/package.nix +++ b/pkgs/by-name/uu/uutils-tar/package.nix @@ -7,16 +7,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uutils-tar"; - version = "0-unstable-2026-02-17"; + version = "0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "uutils"; repo = "tar"; - rev = "1dd0e21169bb23bf07daaabb9686bcae93944679"; - hash = "sha256-kMOwClmliGlIMX+fK7TCD5pczHANoziug2MDb5+Pqew="; + rev = "364a54f557ffdbf501c742741b8f461ce2e4ce3d"; + hash = "sha256-7J2elCASjyLZFCT1mwJXRrk9qvvEy51WpLz4o4jw6nQ="; }; - cargoHash = "sha256-s8BHAfc6L0RyK8xX8C2exjjOUAULt1xnrSkt4T/qruE="; + cargoHash = "sha256-gWBn7ffsDdHkeCZGIMToK3wlj4Nf+2ibdNnC87M2E5Q="; + + cargoBuildFlags = [ "--workspace" ]; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; diff --git a/pkgs/by-name/uu/uutils-util-linux/package.nix b/pkgs/by-name/uu/uutils-util-linux/package.nix index 4b515a88ae393..da12808feea2c 100644 --- a/pkgs/by-name/uu/uutils-util-linux/package.nix +++ b/pkgs/by-name/uu/uutils-util-linux/package.nix @@ -10,13 +10,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uutils-util-linux"; - version = "0.0.1-unstable-2026-02-17"; + version = "0.0.1-unstable-2026-02-24"; src = fetchFromGitHub { owner = "uutils"; repo = "util-linux"; - rev = "1c5ba7734946561957fad3f68a1b72df7efeff80"; - hash = "sha256-Bh0QViZv9lJjBume+42L26Kll4/B+MS+XhLaeIo52NM="; + rev = "93a60ee39a2f697a5a21a631de1101cd1d36ba67"; + hash = "sha256-3/wSuZ/J0uoBfzpWSXQWBasyNpTIipXPfxhuJsAjBNA="; }; postPatch = '' @@ -29,7 +29,7 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail '"cut"' '"${lib.getExe' coreutils "cut"}"' ''; - cargoHash = "sha256-BBJBd635Z7j20LVJIv/zYWJZpmeICRXni38VoVSzjgE="; + cargoHash = "sha256-eLoL1CpsqOWoHzT0NxOeio43XtvQDUj6MiKgdC8QQHc="; nativeBuildInputs = [ pkg-config @@ -42,6 +42,8 @@ rustPlatform.buildRustPackage (finalAttrs: { export NIX_LDFLAGS="$NIX_LDFLAGS -lsmartcols -lmount" ''; + cargoBuildFlags = [ "--workspace" ]; + checkFlags = [ # Operation not supported "--skip=common::util::tests::test_compare_xattrs" diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix index 68045d93623f2..38b3d07f983cb 100644 --- a/pkgs/by-name/uv/uv/package.nix +++ b/pkgs/by-name/uv/uv/package.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uv"; - version = "0.10.4"; + version = "0.10.6"; src = fetchFromGitHub { owner = "astral-sh"; repo = "uv"; tag = finalAttrs.version; - hash = "sha256-+6u8rmTLwZlEvbnF7Ng/06uYcs6HJGAEyOhEwzYVHVE="; + hash = "sha256-KOoAj5v0k9SDsiFmjjaiLMRGn+VELulF//Rvv62U7CU="; }; - cargoHash = "sha256-jpaOD98n0FBnYzexDiLhtHLRLmzSOZN38KKzcc+o5WQ="; + cargoHash = "sha256-IY1Js0PrUjYX4pqUQY44BX41YGpjxCY5tceRaoiiz0o="; buildInputs = [ rust-jemalloc-sys diff --git a/pkgs/by-name/uw/uwsm/package.nix b/pkgs/by-name/uw/uwsm/package.nix index 216ea9e87055d..42a395edfa13b 100644 --- a/pkgs/by-name/uw/uwsm/package.nix +++ b/pkgs/by-name/uw/uwsm/package.nix @@ -29,13 +29,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "uwsm"; - version = "0.26.1"; + version = "0.26.4"; src = fetchFromGitHub { owner = "Vladimir-csp"; repo = "uwsm"; tag = "v${finalAttrs.version}"; - hash = "sha256-HyclcItaSsBhzyYM9sgloSG6TBWvsUkRs+oIPezvO0E="; + hash = "sha256-hsuLerOQONc2CMywQWKO8wbFMf2lVQlF0eEx3O6oD7s="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix index c53931a32c537..fc69a29158194 100644 --- a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix +++ b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix @@ -9,12 +9,12 @@ let generator = pkgsBuildBuild.buildGoModule rec { pname = "v2ray-domain-list-community"; - version = "20260219092429"; + version = "20260227093604"; src = fetchFromGitHub { owner = "v2fly"; repo = "domain-list-community"; rev = version; - hash = "sha256-jwOUYhPAUA5/CapQWdh/5pCCHe8RoLyfsPZSKWcasFo="; + hash = "sha256-6lHX9CyTP7PLMND5p8iDnWLi/pb9iRwZVCZaWBTsczo="; }; vendorHash = "sha256-9tXv+rDBowxDN9gH4zHCr4TRbic4kijco3Y6bojJKRk="; meta = { diff --git a/pkgs/by-name/v2/v2ray/package.nix b/pkgs/by-name/v2/v2ray/package.nix index de8fa3ee80c14..2996816b6d290 100644 --- a/pkgs/by-name/v2/v2ray/package.nix +++ b/pkgs/by-name/v2/v2ray/package.nix @@ -16,18 +16,18 @@ buildGoModule (finalAttrs: { pname = "v2ray-core"; - version = "5.45.1"; + version = "5.46.0"; src = fetchFromGitHub { owner = "v2fly"; repo = "v2ray-core"; rev = "v${finalAttrs.version}"; - hash = "sha256-PPuUbVNan9Qrx2Oc1mH07dekAqPw15wD2DNz2gQZ1AU="; + hash = "sha256-wKA3Xeh9pBb/eBB6AIiQB4tfi+M261a5meO1pzceYN4="; }; # `nix-update` doesn't support `vendorHash` yet. # https://github.com/Mic92/nix-update/pull/95 - vendorHash = "sha256-CTdGbi1LSe67XGNPXkKQLr6UuuJQCfbq2DTgSR3Tc9A="; + vendorHash = "sha256-q2cgUDulpR42aSJfmyq1wlIgGjFWSDPIGmu+V9Qv71Y="; ldflags = [ "-s" diff --git a/pkgs/by-name/va/vacuum-tube/package.nix b/pkgs/by-name/va/vacuum-tube/package.nix index 6583a69b40d67..b3bd4f523ae22 100644 --- a/pkgs/by-name/va/vacuum-tube/package.nix +++ b/pkgs/by-name/va/vacuum-tube/package.nix @@ -10,16 +10,16 @@ buildNpmPackage rec { pname = "vacuum-tube"; - version = "1.5.7"; + version = "1.5.8"; src = fetchFromGitHub { owner = "shy1132"; repo = "VacuumTube"; tag = "v${version}"; - hash = "sha256-P+bsC3Re+KMLQWJw6pgcn3cfBURqsMXGfQMFM3zmz14="; + hash = "sha256-R8Rk+GbSrqODHbAaCpF5x8z7t0VRY+uoUZmIwfOuMVw="; }; - npmDepsHash = "sha256-D8rBbV/w3jGbBktwoypMx1twKx62h6kH3dVi/y9sOZw="; + npmDepsHash = "sha256-RT0w4FjZlWJbUjYz5w+H+3sJJq05R+jqsJxAhLwPak4="; makeCacheWritable = true; env = { diff --git a/pkgs/by-name/va/vala-lint/package.nix b/pkgs/by-name/va/vala-lint/package.nix index cc8d84a97415e..937013fe0edd8 100644 --- a/pkgs/by-name/va/vala-lint/package.nix +++ b/pkgs/by-name/va/vala-lint/package.nix @@ -10,19 +10,19 @@ pkg-config, vala, gettext, - wrapGAppsHook3, - unstableGitUpdater, + wrapGAppsNoGuiHook, + nix-update-script, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "vala-lint"; - version = "0-unstable-2025-08-03"; + version = "0.1.0"; src = fetchFromGitHub { owner = "vala-lang"; repo = "vala-lint"; - rev = "a1d1a7bc0f740920e592fd788a836c402fd9825c"; - sha256 = "sha256-63T+wLdnGtVBxKkkkj7gJx0ebApam922Z+cmk2R7Ys0="; + rev = finalAttrs.version; + hash = "sha256-63T+wLdnGtVBxKkkkj7gJx0ebApam922Z+cmk2R7Ys0="; }; nativeBuildInputs = [ @@ -31,7 +31,7 @@ stdenv.mkDerivation { ninja pkg-config vala - wrapGAppsHook3 + wrapGAppsNoGuiHook ]; buildInputs = [ @@ -42,9 +42,7 @@ stdenv.mkDerivation { doCheck = true; passthru = { - updateScript = unstableGitUpdater { - url = "https://github.com/vala-lang/vala-lint.git"; - }; + updateScript = nix-update-script { }; }; meta = { @@ -59,4 +57,4 @@ stdenv.mkDerivation { teams = [ lib.teams.pantheon ]; mainProgram = "io.elementary.vala-lint"; }; -} +}) diff --git a/pkgs/by-name/va/valdi/package.nix b/pkgs/by-name/va/valdi/package.nix index d36d6d38e1276..c43ebd9b4dc13 100644 --- a/pkgs/by-name/va/valdi/package.nix +++ b/pkgs/by-name/va/valdi/package.nix @@ -6,18 +6,18 @@ buildNpmPackage rec { pname = "valdi"; - version = "1.0.5"; + version = "1.0.7"; src = fetchFromGitHub { owner = "Snapchat"; repo = "Valdi"; - rev = "592fc9d13065022fc7da1f0c07928f1764062074"; - hash = "sha256-B0j4R07M9/nTf0RxnKEfv84B5Xh41cWLz9VgV9O4+VA="; + rev = "57fba0055df5351fa5019168fa164b6e80ed7816"; + hash = "sha256-vduG/WPhh6zRC5JACav2FPQQZHhdFHfo3wsnncgfFvE="; }; sourceRoot = "${src.name}/npm_modules/cli"; - npmDepsHash = "sha256-LGgyMdhDQ4UwdtENZT/89yiQawn8SxKdth/p7evDAgk="; + npmDepsHash = "sha256-h1DuH8HE5T7mEBQKlegbqkvRQSx3yEFJhcNVHh5Uo6Y="; meta = { description = "Cross-platform UI framework CLI by Snapchat"; diff --git a/pkgs/by-name/va/valkey/package.nix b/pkgs/by-name/va/valkey/package.nix index fbaafb427ebb9..b11bcdfa49600 100644 --- a/pkgs/by-name/va/valkey/package.nix +++ b/pkgs/by-name/va/valkey/package.nix @@ -25,13 +25,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "valkey"; - version = "9.0.2"; + version = "9.0.3"; src = fetchFromGitHub { owner = "valkey-io"; repo = "valkey"; rev = finalAttrs.version; - hash = "sha256-r0EbZn2j5QsKnt3PDq0+kTi49OyPQDtIyL8zhKkTP1M="; + hash = "sha256-cic4XBRFcSyttaMK6grzmi/RmrZiLRnYjMwGiU9teMw="; }; patches = lib.optional useSystemJemalloc ./use_system_jemalloc.patch; diff --git a/pkgs/by-name/va/vals/package.nix b/pkgs/by-name/va/vals/package.nix index d8a9d4917341c..383c6381c453c 100644 --- a/pkgs/by-name/va/vals/package.nix +++ b/pkgs/by-name/va/vals/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "vals"; - version = "0.43.3"; + version = "0.43.5"; src = fetchFromGitHub { rev = "v${finalAttrs.version}"; owner = "helmfile"; repo = "vals"; - sha256 = "sha256-lwUfDzgdYjrbRaIPs04DsQ31AbkBfbG6IRk9wMSed2s="; + sha256 = "sha256-QioyZTYmTN1S/XvIkWVUelD+Pm3O//gwicj5sT7/YcY="; }; - vendorHash = "sha256-+g6bUv2FwwDiQQMSSzMxTcbdlAeYT71ADJGwjaG92cE="; + vendorHash = "sha256-PLUicPdMsn2MG2j/v/pnMNyUQhLGwu5qtS0nPKwI8UI="; proxyVendor = true; diff --git a/pkgs/by-name/ve/vendir/package.nix b/pkgs/by-name/ve/vendir/package.nix index efc783505bba0..0045297c65738 100644 --- a/pkgs/by-name/ve/vendir/package.nix +++ b/pkgs/by-name/ve/vendir/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "vendir"; - version = "0.45.0"; + version = "0.45.2"; src = fetchFromGitHub { owner = "vmware-tanzu"; repo = "carvel-vendir"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-UURZta+iEMlHf2vnosGrmuic5WrIZ4kf0qFILPwkH2Q="; + sha256 = "sha256-2qcaAuLevtP5pouFuENiKneTJs0/k7ftDaFuKjVVIow="; }; vendorHash = null; diff --git a/pkgs/by-name/ve/verilator/package.nix b/pkgs/by-name/ve/verilator/package.nix index 6e416d440fad0..8d572f3cce97a 100644 --- a/pkgs/by-name/ve/verilator/package.nix +++ b/pkgs/by-name/ve/verilator/package.nix @@ -103,7 +103,6 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ thoughtpolice - amiloradovsky ]; }; }) diff --git a/pkgs/by-name/ve/versatiles/package.nix b/pkgs/by-name/ve/versatiles/package.nix index 2e2d5d55d79ed..671f04710fd1c 100644 --- a/pkgs/by-name/ve/versatiles/package.nix +++ b/pkgs/by-name/ve/versatiles/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "versatiles"; - version = "3.6.2"; + version = "3.7.0"; src = fetchFromGitHub { owner = "versatiles-org"; repo = "versatiles-rs"; tag = "v${finalAttrs.version}"; - hash = "sha256-OK+rcnWxr1s4kGsXJ8u1WK7VWzfGO7LhD/HYg9Cy1u8="; + hash = "sha256-EskBVrMBn0km6oWSbgluG+4hdTek4MWDbEoEYdVj6/o="; }; - cargoHash = "sha256-/8Nnau4zkEY6oTYh08/XiN2rQ5M/bTMYyZTVD6UjAgU="; + cargoHash = "sha256-dStQIMT8+lszEmh8r/mBHgpK5kLeLWlFpkUX9Vqsn2g="; __darwinAllowLocalNetworking = true; diff --git a/pkgs/by-name/ve/vesktop/package.nix b/pkgs/by-name/ve/vesktop/package.nix index d6d66ae126705..02c902c4a8b56 100644 --- a/pkgs/by-name/ve/vesktop/package.nix +++ b/pkgs/by-name/ve/vesktop/package.nix @@ -87,12 +87,6 @@ stdenv.mkDerivation (finalAttrs: { ELECTRON_SKIP_BINARY_DOWNLOAD = 1; }; - # disable code signing on macos - # https://github.com/electron-userland/electron-builder/blob/77f977435c99247d5db395895618b150f5006e8f/docs/code-signing.md#how-to-disable-code-signing-during-the-build-process-on-macos - postConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' - export CSC_IDENTITY_AUTO_DISCOVERY=false - ''; - # electron builds must be writable preBuild = '' # Validate electron version matches upstream package.json @@ -119,7 +113,8 @@ stdenv.mkDerivation (finalAttrs: { --dir \ -c.asarUnpack="**/*.node" \ -c.electronDist=${if stdenv.hostPlatform.isDarwin then "." else "electron-dist"} \ - -c.electronVersion=${electron.version} + -c.electronVersion=${electron.version} \ + ${lib.optionalString stdenv.hostPlatform.isDarwin "-c.mac.identity=null"} # disable code signing on macos, https://github.com/electron-userland/electron-builder/blob/77f977435c99247d5db395895618b150f5006e8f/docs/code-signing.md#how-to-disable-code-signing-during-the-build-process-on-macos runHook postBuild ''; diff --git a/pkgs/by-name/vi/vikunja-desktop/package.nix b/pkgs/by-name/vi/vikunja-desktop/package.nix index ab466cabed165..e7a0985d9496b 100644 --- a/pkgs/by-name/vi/vikunja-desktop/package.nix +++ b/pkgs/by-name/vi/vikunja-desktop/package.nix @@ -15,12 +15,12 @@ let executableName = "vikunja-desktop"; - version = "1.1.0"; + version = "2.1.0"; src = fetchFromGitHub { owner = "go-vikunja"; repo = "vikunja"; rev = "v${version}"; - hash = "sha256-xxfn3UoKreRDRC5GR7pLL8gkBLe6VmBYdps9eFc5c3g="; + hash = "sha256-R9PNhH5s3W9c1qHYmV9H5CkBvUtUFU+yzF+eEU2ybdo="; }; in stdenv.mkDerivation (finalAttrs: { @@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmInstallFlags ; fetcherVersion = 1; - hash = "sha256-mzrck/JdfN3Qu+xhf/iM4HFamVmQkVSwUwU2KBK5XsA="; + hash = "sha256-yiVlEr1gi2g3m+hkYfDv6qd/wRlwwknM6lAaIeR58Ok="; }; env = { diff --git a/pkgs/by-name/vi/vikunja/package.nix b/pkgs/by-name/vi/vikunja/package.nix index b88b3d9d4a6c6..07e9c54248495 100644 --- a/pkgs/by-name/vi/vikunja/package.nix +++ b/pkgs/by-name/vi/vikunja/package.nix @@ -14,12 +14,12 @@ }: let - version = "1.1.0"; + version = "2.1.0"; src = fetchFromGitHub { owner = "go-vikunja"; repo = "vikunja"; rev = "v${version}"; - hash = "sha256-xxfn3UoKreRDRC5GR7pLL8gkBLe6VmBYdps9eFc5c3g="; + hash = "sha256-R9PNhH5s3W9c1qHYmV9H5CkBvUtUFU+yzF+eEU2ybdo="; }; frontend = stdenv.mkDerivation (finalAttrs: { @@ -37,7 +37,7 @@ let ; pnpm = pnpm_10; fetcherVersion = 1; - hash = "sha256-NrysokKNmKAUdiC0o4qEPvsHr7KH7mMrcrEjxwmgb+g="; + hash = "sha256-oY8DXJFFwLBjUno3EithLhmnA8hTksq4xgMSSOGtwuo="; }; nativeBuildInputs = [ @@ -97,7 +97,7 @@ buildGoModule { mage ]; - vendorHash = "sha256-PV6WlJlG839FtWUR6QONMuuBnmo+AA53xmUNbodQdzk="; + vendorHash = "sha256-VLy5yybeueVEjb9SijYPQnXoTz7lxBksHTzBxt+TdG4="; inherit frontend; @@ -142,11 +142,14 @@ buildGoModule { }; meta = { - changelog = "https://kolaente.dev/vikunja/api/src/tag/v${version}/CHANGELOG.md"; + changelog = "https://github.com/go-vikunja/vikunja/blob/v${version}/CHANGELOG.md"; description = "Todo-app to organize your life"; homepage = "https://vikunja.io/"; license = lib.licenses.agpl3Plus; - maintainers = with lib.maintainers; [ leona ]; + maintainers = with lib.maintainers; [ + leona + adamcstephens + ]; mainProgram = "vikunja"; platforms = lib.platforms.linux; }; diff --git a/pkgs/by-name/vi/vips/package.nix b/pkgs/by-name/vi/vips/package.nix index e7270aa523f2f..369d923d8d108 100644 --- a/pkgs/by-name/vi/vips/package.nix +++ b/pkgs/by-name/vi/vips/package.nix @@ -46,6 +46,10 @@ withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages, + withDevDoc ? + !stdenv.hostPlatform.isDarwin + && !stdenv.hostPlatform.isFreeBSD + && !(stdenv.hostPlatform.isRiscV && stdenv.isLinux), # passthru testers, @@ -62,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: { "man" "dev" ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isFreeBSD) [ "devdoc" ]; + ++ lib.optionals withDevDoc [ "devdoc" ]; src = fetchFromGitHub { owner = "libvips"; @@ -87,7 +91,7 @@ stdenv.mkDerivation (finalAttrs: { ninja pkg-config ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isFreeBSD) [ + ++ lib.optionals withDevDoc [ gi-docgen ]; @@ -135,9 +139,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonEnable "spng" false) # we want to use libpng (lib.mesonEnable "introspection" withIntrospection) ] - ++ lib.optional (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isFreeBSD) ( - lib.mesonBool "docs" true - ) + ++ lib.optional withDevDoc (lib.mesonBool "docs" true) ++ lib.optional (imagemagick == null) (lib.mesonEnable "magick" false); postFixup = '' diff --git a/pkgs/by-name/vk/vkdt/package.nix b/pkgs/by-name/vk/vkdt/package.nix index 02935d80b1f31..22ab9fb1b9e7f 100644 --- a/pkgs/by-name/vk/vkdt/package.nix +++ b/pkgs/by-name/vk/vkdt/package.nix @@ -30,11 +30,11 @@ stdenv.mkDerivation rec { pname = "vkdt"; - version = "0.9.1"; + version = "1.0.0"; src = fetchurl { url = "https://github.com/hanatos/vkdt/releases/download/${version}/vkdt-${version}.tar.xz"; - hash = "sha256-+oVPZRI01IxMSPXOjvUXJutYXftQM7GxwVLG8wqoaY4="; + hash = "sha256-oLJ5IlWOJoe2vUBaI9nyAhfjuw/lF63ZCdhMSF5D0pE="; }; cargoRoot = "src/pipe/modules/i-raw/rawloader-c"; @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version; inherit src cargoRoot; - hash = "sha256-DTC9I4y01bofjgjuGn5asyxhin1yrO6JlASGZtq8z60="; + hash = "sha256-8+gJVe9A1w9VlQpKjVnO/ZX44GKvh4yXKlGf4HqyW2M="; }; strictDeps = true; @@ -81,6 +81,7 @@ stdenv.mkDerivation rec { makeFlags = [ "DESTDIR=$(out)" "prefix=" + "VKDT_USE_MCRAW=false" # TODO: support mcraw ]; passthru.tests.version = testers.testVersion { diff --git a/pkgs/by-name/vo/vodozemac-bindings-cpp/package.nix b/pkgs/by-name/vo/vodozemac-bindings-cpp/package.nix new file mode 100644 index 0000000000000..2162086118ae0 --- /dev/null +++ b/pkgs/by-name/vo/vodozemac-bindings-cpp/package.nix @@ -0,0 +1,44 @@ +{ + lib, + stdenv, + fetchgit, + cargo, + perl, + rustPlatform, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "vodozemac-bindings-cpp"; + version = "0.2.1"; + + src = fetchgit { + url = "https://iron.lily-is.land/diffusion/VB/vodozemac-bindings.git"; + tag = "v${finalAttrs.version}"; + hash = "sha256-j6s+O3s6xSIZ+6aWI3itVwL4OU4qhoXos1R2NMBrJdo="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-RyZGR6VxWH98ujydPFbuzKZil+1pxk4qD6EuaCnN1Y8="; + }; + + makeFlags = [ + "-C" + "cpp" + "PREFIX=${placeholder "out"}" + ]; + + nativeBuildInputs = [ + cargo + perl + rustPlatform.cargoSetupHook + ]; + + meta = { + description = "C++ bindings for the vodozemac cryptographic library."; + homepage = "https://iron.lily-is.land/diffusion/VB/"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ fgaz ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/vo/volt/package.nix b/pkgs/by-name/vo/volt/package.nix new file mode 100644 index 0000000000000..ae6a213f27240 --- /dev/null +++ b/pkgs/by-name/vo/volt/package.nix @@ -0,0 +1,27 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "volt"; + version = "1.5.1"; + + src = fetchFromGitHub { + owner = "hqnna"; + repo = "volt"; + tag = "v${finalAttrs.version}"; + hash = "sha256-P14jLoONO3eFJ6DzHigAkZXZ++gcBHpJuK7+sVcBARM="; + }; + + cargoHash = "sha256-3E4fZRxB+kF4fW7WCl+sLkDaQt0Z0tgGfzixvSNZP1c="; + + meta = { + description = "Ergonomic terminal settings editor for the Amp coding agent"; + homepage = "https://github.com/hqnna/volt"; + license = lib.licenses.blueOak100; + maintainers = with lib.maintainers; [ qweered ]; + mainProgram = "volt"; + }; +}) diff --git a/pkgs/by-name/vu/vultisig-cli/missing-hashes.json b/pkgs/by-name/vu/vultisig-cli/missing-hashes.json new file mode 100644 index 0000000000000..c28e4d7e3cbb0 --- /dev/null +++ b/pkgs/by-name/vu/vultisig-cli/missing-hashes.json @@ -0,0 +1,102 @@ +{ + "@cbor-extract/cbor-extract-darwin-arm64@npm:2.2.0": "2afcf196ab307e62aa2b9f04aed2c9e0b43273026570b58b939de87260d9d103b7ea84f5e286156a9221a7a0f15f3af0e526fb63d6870da673f82d112f34f1fd", + "@cbor-extract/cbor-extract-darwin-x64@npm:2.2.0": "c29b029f193e991a3818ed91a2c64ef75d5b15c233cbe49786c26cd4e2be14bee233bc28c7011b701b948eaa6b660067efb2d9beb2093f156c168a411e3e3d8c", + "@cbor-extract/cbor-extract-linux-arm64@npm:2.2.0": "f765393fe73a17fb408ea30e4ad9741d95bd618beead9f29bfc33ec5e3a3aedcd9a6ddef554a2653a6b78e6df23227274a38ff07e71a902099e79f244059d40a", + "@cbor-extract/cbor-extract-linux-arm@npm:2.2.0": "3fe99173edf6eee34db1ae08811223ef04c4d886ac22af229f2d7ffe2b6551fabd08415575b6dd3562a10457634b6d94d0616570bd193a571cb63e329563740e", + "@cbor-extract/cbor-extract-linux-x64@npm:2.2.0": "7473f817acf0452cbd219fc862daac4b6dc28a3b3e593dedc71690203b2f2300fca9fef3a7a50f6dc4fc143c97f2cf76a44d3ab8bdd9d4a0257c7984351650f0", + "@cbor-extract/cbor-extract-win32-x64@npm:2.2.0": "903080fb6a7c5d50de0448ae63d486719161859a38701b5f9ef4e542757b090ac83745ce74369ef35ffdf493fad830ed76b93f8318b610dc121bd444e5fc3efd", + "@esbuild/aix-ppc64@npm:0.24.2": "ca6158daab73d9effd7d769bd5a43e276dc40f63ccceafd6684dc0c819b8fc21b958e129a50646d09a0cd9bc727b768e4b107d5296c5927695b2d4632a027ee0", + "@esbuild/aix-ppc64@npm:0.25.10": "e1a113d75c27f15756d18dc2a9257f07068c7b37a00ed3848c0d903f3e66f2df23156993fca7523422cf5be10417747a1e4faa2e93196f011faab606938174e5", + "@esbuild/android-arm64@npm:0.24.2": "87719c3dbbc471d33b17d20caf266fb0ceea6d015ae4b6fcef19a47a92db3a221ffdec2275ade3b286d02a5daa26264535e67581f450a45d517fb045aeee96c3", + "@esbuild/android-arm64@npm:0.25.10": "a2dd6b7ba7d3ab2b669bdc45dc7e306671ecbd89b251d3ad73191fc18fe07080525beadf0a9ead65f96d623d4e37172b2516dc1ce7ddc3c3224299926615b2a1", + "@esbuild/android-arm@npm:0.24.2": "7cf85e172a3b798918c8b1c235c4c7a05c39e6319e6f957c29b8525a757cda90571a6d7e4a89ae423ac8ac9198b630b54ee467aa2faf96d0ecbacef1eb45e7d6", + "@esbuild/android-arm@npm:0.25.10": "0d7b4d970f4793252396ca9b737a2c5b485a5f051827ba1cbcce23a76e9bb7bc6f73be3b5ebed73a15aca915534917d13aeef0ce14d214026a36f0f334eadb14", + "@esbuild/android-x64@npm:0.24.2": "51c53be0f70d1a26c5487e8b1791ed9a004b05f64b63dc206a86aa3b0cfd5840f8a066601405c473138ee8d622ff08169e4de64ea92d2faabcfe74bb93349c91", + "@esbuild/android-x64@npm:0.25.10": "a2e49c045ea189ca6020a8c1baced2db4cf105848c1cc922931c8e3a11b26f1143078d3ee5c088bfbccab8e564039a5b6962513e45b41572614607dced92b03f", + "@esbuild/darwin-arm64@npm:0.24.2": "1c7ecf78a19fa1a604aa02f22080254f77a3d6bd361f1118363797e3a7bd501e0aecdc64e0a6ec81243ca7b3192e7e13ce8592810270b9b1d8bfeb236ee603ef", + "@esbuild/darwin-arm64@npm:0.25.10": "a96d0821aa97cd0ce2fa35b525896fc9d878b492832be8a0cd22bdbb081d11209574e48ef8ce29f51a88a9cea33c5f6a8b4409bd0801eddeac5ef4ad4db2d88a", + "@esbuild/darwin-x64@npm:0.24.2": "d85383245dac9cac3fe001b76aac184fc685beacbcfad3cde892544ff0b6d03d4ae8a2794c88998fa738baf8b282c82a58999db1a732f9df93571548d39d88c0", + "@esbuild/darwin-x64@npm:0.25.10": "0f358404778b8f36a2676181f8840139d7e5723a76e54683f0ada3d72572d8c864bc76084e1d23dd5605896329857ad15b598dedd141d160b64669253bfaee82", + "@esbuild/freebsd-arm64@npm:0.24.2": "e25cec613b1c84fe418c1c2583713eb7d08df3e6fa9f516d02b26fb5b22ae1a41fd5ac6b8932dd94dcf0cf393f98f3226033c3f81903f71209d7117791d7cd79", + "@esbuild/freebsd-arm64@npm:0.25.10": "f82928e4a4beb95da3379b98c5088d017113c02e3f2ab54867e4f6974b21b25c68ed793cbb3e9a99a510fd58ad3c5dbc1f7ca5bd4ce6adc99627a25fc722178b", + "@esbuild/freebsd-x64@npm:0.24.2": "41a7349e01cf6e79a6e46a79acf3e5610082dc944c851320138bf0b3df4415c9b2c01c6f7f7df906f9a8b6e964325fa2e2cb96f57ea18d29d01d8851fcd6c4d6", + "@esbuild/freebsd-x64@npm:0.25.10": "08c9d830e43a3be5fdb4525d940b0cd069bd7e7e1f4d53a5475411351c07891343b3c009f37d47e10ae3bafcb9ed52b4b5bd5e7dbd0505723add21a09c08dae6", + "@esbuild/linux-arm64@npm:0.24.2": "d67ef17ef8bdd1957b517702a40aad4065531e4584a87d001e47b653761fe5fbbb768936e1862ee4ab19f3ec91477e41e0de43d6edadb4b40a7197202fb94838", + "@esbuild/linux-arm64@npm:0.25.10": "1b6f5a1ef9aef52210832f5dd4d55ddd0a880dfc0f832106374b56c5cd8fbb865d7d711bdd6ff7c94a0cc42a7c3e6cf91118bf5c4187cfbbe1eb4d1807afca37", + "@esbuild/linux-arm@npm:0.24.2": "481f1d0d7d2240fdf3fcd8fce78e456421602013d5614d5b53e94e0dc2071132c96b20382178a458bdc43e6555c2aae19b7e6c0d1abe756724448825de983aaa", + "@esbuild/linux-arm@npm:0.25.10": "023383ebb145fa2f93de674713c7e4725df2b3c910f43bc1b5488a3b1169005d46fcbcf84234aace04c799ee569ea7671f92205e42dda52bc9954e48b47d7a1d", + "@esbuild/linux-ia32@npm:0.24.2": "e9df249f3aa60d9ebee8f8b3c128451275872f67305c4c6557e9eb20c200db12b2818cbc351d21b75291a7a6802f3741365a0e1ec07d69a2ca68bf38d6838cb7", + "@esbuild/linux-ia32@npm:0.25.10": "130136f141d0388ec249fa314848906fb8b45e554324b8a07c13b5bc2e7da94c6fc7ebd037af6b69655a542ec52515ea8f8bc3bfe6dfc0dab8bdf9954debfb0d", + "@esbuild/linux-loong64@npm:0.24.2": "16607333cb6f9cdfb2b3a51fa24626335bd5586932a00f57149204cf2507af10d54c19f50eeb9c918ad58533e11ca88a025abd565af7e11c0788057bbb7342f1", + "@esbuild/linux-loong64@npm:0.25.10": "0e076ba5ea9b2e6ad00c27b8ee530621ef4c356aba6d8c873f9f7c50fa2f54bd75f4bef57d209fc0af011c9748c64e9d5e281f13456fa9c8b71f79467bfc71ad", + "@esbuild/linux-mips64el@npm:0.24.2": "63d5e5deb24da70b9801b902b2b8a8c4fb6ab347812366936fb3990b8bb1f449a6d99772799d53eae5db631a025a1e0b468b6aabd559a5abb01b39bb0d1fb1c7", + "@esbuild/linux-mips64el@npm:0.25.10": "dc3ef7a524ef0d78030f088263735026c97e7be45f56a610c8849fca8c36b10969558bffb6c21b6d8a5819a33450e529e44c1a71a6fccb0ce69f23b01273bbc3", + "@esbuild/linux-ppc64@npm:0.24.2": "52b4a0d90b477f546948c17f56a4e93b165bb26ddd9ae675dc65f10e3c46d63d73f46718ecb21ff36064f41dfdf33c38318720bc5649d8be25a59cc239a94648", + "@esbuild/linux-ppc64@npm:0.25.10": "60088ee09f940e169e2073ee77972f22af78c9c1df9a8e7db45e3c3f9176d5ffd8006a4102f34783c7f3629e9c153797d9f493063e9bdedf6f676018cbe6445e", + "@esbuild/linux-riscv64@npm:0.24.2": "9fd54cb6aa458cb49d35aebcbe11c689935207530036ec9465f381e5a27e06220b39633c3f2fd7ba110274f529593c0f4dcd1e644f14913009ba8c13a0c13904", + "@esbuild/linux-riscv64@npm:0.25.10": "3f194dfe0f2725d9a41b0ab127238ef271d0689f31a05ecae25d6df3aa8275261d6ba073373236fac3c6c8af2a4556736a8025e80d8a719a049d22b23c99464c", + "@esbuild/linux-s390x@npm:0.24.2": "c20ffbd6abe60c9c1a96c3542ce62d3e5d764af976a865451824db4714318328c6222502d49c7892a72b0a5c1bab68c876bda31a0e61f9656a5953e1b31da594", + "@esbuild/linux-s390x@npm:0.25.10": "926a04be26ebf794dae6a6185e04f39d246b04f1b5cb40b41f5228228a87e3a785cfb6493f405a0dc7d9b6a96d9417453fdc291b7fb4bc4aaf785eaa44cf1806", + "@esbuild/linux-x64@npm:0.24.2": "7ec13e71530f3369442b9c05c823bdfca6bf5f030b130f633bee5d14cd13d8c1b910a8dcfb6d38c4702a4e599d6097fc37cc2901710dfb2bd67f19aa7c918b75", + "@esbuild/linux-x64@npm:0.25.10": "ebe641e7b96af7dcefe629b4f34a4da9cd0b282e42e8efd0311c2ed631a40a143bb96eda5592b209c4eab295f45b2e3395c69412edb40d5689ffaa01aa276409", + "@esbuild/netbsd-arm64@npm:0.24.2": "8a8f7db39d45dda39086bd475cd7d115ea0aee441b27536ba7bc8cb11c6725a426a36d7bf6ee996c66a0022a7bde4f599ab38f70689718a93cb6759f1cbedee1", + "@esbuild/netbsd-arm64@npm:0.25.10": "11f85ed4ade5c38fe8f2f3e78ee5c302a4f90d48a6bf93cf8917b13d52b03671c7742294785165cc70611eb0b085a4e9aa5a0f487f8e15f80200ff450549e19e", + "@esbuild/netbsd-x64@npm:0.24.2": "e62792054a12e9e8866dcf8410b37f84e133e7d1e63fb4b0944e1733692a37d373f1afc0a3472b49ee8a3e349ec43c2e212918d091879585c676ae12da8c4386", + "@esbuild/netbsd-x64@npm:0.25.10": "322482debb21160769f7ee293c3e84e44293bb7c734082fac2857277038ab1087763a553697b8f20dc3a03b7a397936396cde8150c1cc6a0ad62941e7ee86845", + "@esbuild/openbsd-arm64@npm:0.24.2": "cd53a64693906fd586882b42f3c763598f13ed3c87e483cbdf1ed64f2b3431e6bafb1a65e9fed84e28f06a11289acfc6f23a345af88bbbb3ed04f93aa263bb8c", + "@esbuild/openbsd-arm64@npm:0.25.10": "4c68206360952d04fbafe32d3f4cf420f15c0a150f914d398746f1cf8241073fe9422cc0cc0de8b0b98b8158879dc5fd322eb8454d936457eab3dc9ba131584d", + "@esbuild/openbsd-x64@npm:0.24.2": "8c3d2639c11a1c63b1e2d8d946463108ffbe282f719d7db6a68f72b2437a46138b13612f95c836e51b835f48c473f312883e75eadbce393006bc16a9d7be344d", + "@esbuild/openbsd-x64@npm:0.25.10": "70328d84e7954932d0fcd282bc2a16fdd31a899ef23f5214221e64bfebd80222b03a7629d9af55fea220df6a41cd51d0c068618f443dc37ad717dc6601a9445b", + "@esbuild/openharmony-arm64@npm:0.25.10": "ca11e8c30cddd7603235cf05185678f6aad7c40eccd8ef57a207325b8553e5481503cda7ae35d777eb5020b9426f2d13332aba147732a9abe0f5b3964a6c0d17", + "@esbuild/sunos-x64@npm:0.24.2": "c6bac82fd781898c24518e262aa366562a0291ed7d4d206c4d58c68763b13e817c7caba2b8fdf643c2cf35b84fdfc7810a6d5a74ecdaa3d6b1834a920ccc7eec", + "@esbuild/sunos-x64@npm:0.25.10": "46c205aa7a15d7b5d13553300f3d36593e7119a320672ac3c092f5a67db6cb91f9c59a235dfbe2947bd99f7653bb3be325a33c3474a00b90d39856ef9b05af48", + "@esbuild/win32-arm64@npm:0.24.2": "543bafd1eb7bf526647b9a242bfd766d1ea240a822516dce45c45c23cb9dfa37e56f3bafe9b505328ac7ffc30593356aeb43aeb78eb8180290cd6d630e561bb2", + "@esbuild/win32-arm64@npm:0.25.10": "ca2d057a874607013788fd3a161e8e25fcfb777a7aa6edd68662cff3869d1566541d61caab9b11e16515e2192673bf70c00f5efc38f67d1305f76b55bbe8febd", + "@esbuild/win32-ia32@npm:0.24.2": "78ae4f6ab854533866ebef7b3b280ea4d4c8e5c01bab93e9c1e27b34761835d592cf9120a26aab88919f05a14f10d5507d43303f61d5a63281f15c955e6d75e6", + "@esbuild/win32-ia32@npm:0.25.10": "fa5efade9e9a1a01e65223f22304dd71a3d005a2b394309a652bb231bdbc14fe937ec7bf0ce1e117fed182731430e055828616d1c10abee2dfc80aee50fee13e", + "@esbuild/win32-x64@npm:0.24.2": "832ec82bb96896ef19e4de1c155ece318182844c6ad3a4506e470165035bb940c380aa5fab5febd68e3a8321e29e7e61382b5b61d25962ef7bd864d1a00b966a", + "@esbuild/win32-x64@npm:0.25.10": "0f2cb29b001bf4a71035b37d42bcaeb48baef5a6b07be2c024593a18dcec87cd5829a0cc17acc7128cd251bd6232bdbd04d967d9c2bd7db9c1978effffe31671", + "@oxc-resolver/binding-android-arm-eabi@npm:11.9.0": "a8b497d32c3b910ce4dbb6c1fc41a9f2e206e3678f43ad7a3225faf397040fe9c8e145482dbf9b3cc153d552848ffa36ef4a77923d7aeb543f02fd86aeab2395", + "@oxc-resolver/binding-android-arm64@npm:11.9.0": "a8e0875a84ebd3080aeba57e292ca4fd6a6cf5248dfe4faad20f809dfc2e6aacf83fb492dc89f70ba1988d91813e70486b1e8f41f552e9099038ca2cf8648d53", + "@oxc-resolver/binding-darwin-arm64@npm:11.9.0": "46e2298cbedf98d7e060866c86fe995e281448d9413eb14870007c2c92037ea3ce12462ab33c5c357ef68b9a794a60e385cc275486bcb5204d263d88d6273239", + "@oxc-resolver/binding-darwin-x64@npm:11.9.0": "1f111c317f87e76b42d2e958a9381d9dbe9d4a776fd12f90e50849ad7e67649f0a5460d117fbc942fa5d77d20c90e255cc4eb55412474a616e4b8284ee2bcce4", + "@oxc-resolver/binding-freebsd-x64@npm:11.9.0": "1ddb4e027eaa9d8eed578c1601f27c849542fbac51d8c83d2bd8b551bec70cc42035587ccda83d66f8a5dcb8c9190335327a013fef2c4c5b2076fee9f3a34310", + "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.9.0": "744ee80d3e16b7b04b409ab4f068f5c1759e62f139efe3b58d8c3e866c2951b0aeed0dbc445a3cfc8a41f238178b07ed1f3043c2d637a99e2a0d36fefe2133c2", + "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.9.0": "ea3a3eb9686a1f273940a9fe2b4c03fe38e6ed2820c8b31a2c7567c4698a46048098584188697674df5b41f17fee938b9c5316cee04381ba04c20c6f79de1cc4", + "@oxc-resolver/binding-linux-arm64-gnu@npm:11.9.0": "55a5b39380e6de59a7c3783dd9a6c92e23c6fc92304d358f3257ca86e4ef33fa6f616e028a769c460e325943edb01bcc105639b6743cbe73f343f8af32a4561d", + "@oxc-resolver/binding-linux-arm64-musl@npm:11.9.0": "cc30df5ea8769a3a09fd38608f575d158b9eba6a0d78b1be8b6965ed48f41860d4eb08ce037560c431e8fa94142715cfd32974bb3829c110b8243c5a864c5999", + "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.9.0": "f135db606c4111069530170e141cf9404bf3d2bcdc4f990ff5fec49a776a23379a3f5c7ef17a8569e531d7fd10edd87e0b17fd00764add13fcb8da50e5befc64", + "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.9.0": "77e6f46548ac1a28ba467c297a6995f4f9dcf2b0ceee189ec9495ec5d2139860946a8f6ca366d02675c2522fdcf8d4daadaa649238f8c60d7d95ccc884ab39e3", + "@oxc-resolver/binding-linux-riscv64-musl@npm:11.9.0": "32b934585f116d713fd88adc40b261ef3cfb935dc977ed9a41ebb7268fc6e658827e0ceb604118619766620945c17ad61ca32e723df00d11aaf138649a563e51", + "@oxc-resolver/binding-linux-s390x-gnu@npm:11.9.0": "9a38b80189f41c54814df8df225c98dc248ec8f545b5dc9688d4b4d019d9a36f49c332084714a42c258a7d0b46a55912cffbade9ced927bd73ad03773cd6dbb0", + "@oxc-resolver/binding-linux-x64-gnu@npm:11.9.0": "bc8396a899fbbd93be90274ab54e6f04f0316af044b4c8da4013bd521aed1a08fa14fd4fb9a794db67bca4a9c5c7f549960c73e337cd90503359fac430d0c058", + "@oxc-resolver/binding-linux-x64-musl@npm:11.9.0": "50204fe87a9c431ba20ba68851f9f2bec2518a69c7bd16b64ce1187233684e9d90731b122d5529de9bdb2789557589d88de8c19e8fe777afa1f0ee4e5055f2a2", + "@oxc-resolver/binding-wasm32-wasi@npm:11.9.0": "db5ffa78a885f13c56992925d585dab662391410e68777fb93af3c9e575474458c2fae019f69400a81b0cef2379b591df2971f8ffe08a54b6856a3e07787eec2", + "@oxc-resolver/binding-win32-arm64-msvc@npm:11.9.0": "2530c6d12e5355ecf1fe91b4a3408b29da189099048bf37c89a63bbf8c70a87b8a3a861b8a72c68a47f18a1f51f6f30710e30913daa32d8ed974a7b803702247", + "@oxc-resolver/binding-win32-ia32-msvc@npm:11.9.0": "752a4c5df465f413194bf827b156712ae97fba7573181a2039ffc4bb3a8b652bd51ef6c0ee2553e664e63e6142375ca983fec10380f0cf5f4e464f71f99642f6", + "@oxc-resolver/binding-win32-x64-msvc@npm:11.9.0": "b37816aa7f7dbbc6125e9432cc214be5132ae9bf97adac2759700ad15ca23cbf91d7f53fa4e894084db49204c1c071e1e6cc2a976c8881cbcdceb21b0dfddc0c", + "@rollup/rollup-android-arm-eabi@npm:4.52.4": "f05e8f49b55b9ef8ffbb825ec7521aedc307f30efe46c16479aa1afd572f238d4fa9d8546b80223cd87195df04c409ab947e2740528b4e7622a75834f038508c", + "@rollup/rollup-android-arm64@npm:4.52.4": "b71706dfe398a58aa2b0d0051c713f1c52e1b368a3e17efa2356cf0b32573aec9a846303803a9de45ff07e3d6e0473f8a3050f3aee820d58b8c34abee393c4e7", + "@rollup/rollup-darwin-arm64@npm:4.52.4": "5dbd1250d61fceabf48ea2ab10976a6f4c3268c5d479af38bf0544d1d9e8638bf60dfd82254b67005ee7a1912d6f589491d34ed6a7e676f2bd2cb1a946560c6a", + "@rollup/rollup-darwin-x64@npm:4.52.4": "8f380b5379bee854c9b00906ac6a65cc7623b52063ae221d23e767117ec46c505f11a7089c09946fa7d0773d9728c754c82aec74f75770591745d8eac0bf0167", + "@rollup/rollup-freebsd-arm64@npm:4.52.4": "e187e6e1e1db3367c72772224ed5f5de48bfc6e106140b4b20ee737928b97494dfa4a254deb12fc61982bc29b40a27cb813289fa2a4197a0fcfada0d763a72de", + "@rollup/rollup-freebsd-x64@npm:4.52.4": "6436f07da6faba1d70d82b7d9abc2c92a10a4db465d153da092bcf1440fe7fd07d8575db555d51a8cbc4d36b21cb48f9a321b5aa56febbdbf70137dbbe883e75", + "@rollup/rollup-linux-arm-gnueabihf@npm:4.52.4": "432fa13b7925ca3327ed5ed6622f1025aa2515fea6f8b3ed60ad4fe4926ea65b9edac57fc602d96561e50a141a55fef1f21f7be1f8be31f0fd6ace3a81e861b3", + "@rollup/rollup-linux-arm-musleabihf@npm:4.52.4": "05dd27127ad1cfecb99a7dcbe75285ba0839d59499cc383fa1f83e2f7141f470c04997c9493dfe5233fde6a77dfb64d35ec142068958992db400fefc3f5b11db", + "@rollup/rollup-linux-arm64-gnu@npm:4.52.4": "dfbb12c24e47f16a0fee518f83b3bdf076c939094b9fbc0cc53003c8e4f13427404e0c5d400929d689e50396c55cc138259ac245f22fefcf6a59511c3d82398f", + "@rollup/rollup-linux-arm64-musl@npm:4.52.4": "567e31b91ba937e1f4edbaacd4fcd3a6b3eaa04eac9a9c0a1b523b6b62854f6fb664cc03b858c96d3454445dd3b0d9f7fc812c92b6f2ff5af957d3dec102f6dd", + "@rollup/rollup-linux-loong64-gnu@npm:4.52.4": "4a136776a875255cee922299a2b12f4695e3ae20ec06fd3b787f61f846a1b8726588ab5f378e1605b37b5f7d48c2ca062a23348194e3588ed961b10a170e0b0c", + "@rollup/rollup-linux-ppc64-gnu@npm:4.52.4": "e933600fb4cf9964cb18741aac508761d8c23209b4236cceb4d944c2dcf8df8f3d7b9041eb6a2c7c96112b601aeb41d51cc84ff96e79035b6a9361954cb0cc65", + "@rollup/rollup-linux-riscv64-gnu@npm:4.52.4": "282d676206f8d64728b170d55959a9c67ec43161d7545802052a40b01b1a75a13547307f4940e9b0ea31d2c4ce7893427d1157a7b970a599b56e59d2d2d58dc0", + "@rollup/rollup-linux-riscv64-musl@npm:4.52.4": "ec926b01e338d632be3be5636c873f799491f428ee5bb890bec539ac1f25dcc82b3772882b9f4df4c7fe01112e840adbf2ac7bceb8f202828de9141d9f81697d", + "@rollup/rollup-linux-s390x-gnu@npm:4.52.4": "4f7ab450a19d40f9830312324b5a154252dccdd23b84b36bdd6aad2f85c3080694eb6d1220e345dc95f8e598f0808c56ad90b71be593fe801b23b75c4317f86a", + "@rollup/rollup-linux-x64-gnu@npm:4.52.4": "4fe512b8683e6f24951121a5402beddf7918a6598e710a258775da78cc203e80c0dc266833c41fdb56654e5c8b9837a3ab5ed0851f090049c253c4c4c3a9a8e3", + "@rollup/rollup-linux-x64-musl@npm:4.52.4": "8725b1059c94451da32b40c226e1dcd344b2b05870fe6ff9cd248783f2aa47544312fe763a8469d1068c88146b483a36c7d8fa52482d060c4719ee8abae2396b", + "@rollup/rollup-openharmony-arm64@npm:4.52.4": "d1bdc31c89f66a5200623752c520fc2f1288580130a314d3b5e7f612ad339b510fa51bdd9e3915649681cc49f1904b792dd24fe3c719332741e7f74d559e6db3", + "@rollup/rollup-win32-arm64-msvc@npm:4.52.4": "5e3c4087ef03f4d21beea081b422f939ef5aef91e9fd7312f76ca2a6a3867fb7499e3b648b20fd1a3e84afbe501a27adfa6cc6bce6795274b8d361833be87958", + "@rollup/rollup-win32-ia32-msvc@npm:4.52.4": "5e049bc12b1ad44643f273069fb13e1f56fce6ce88b1185a26a96c7b6e6e298f45045e99fd1e8057b0542d940f36c9b176b6ab30a370a04df308e227611233db", + "@rollup/rollup-win32-x64-gnu@npm:4.52.4": "795de059e4cdcc94bfae05803df783035faae42c9350c9f040a53306615fbec41a5fb5e9db3572fad67c80c9f805059be6cee53e9f904f4ef24f241be0dace7a", + "@rollup/rollup-win32-x64-msvc@npm:4.52.4": "8bdaab594db83cd530c73c57e922e13ab6dad661c9f36e821d5b30f2c1ed5bbb394ee931400b969da3af20d1e99b45bc1a5c30953235ed93df37cf3a48dad47c", + "dmg-license@npm:1.0.11": "feef35cfb45270a72daadcca9584be5cb840f924448b9d4e543fcd61f1b6d471151049f277c91de1d8b003fad6203d0176066a5f427a01df5fb073402cb8c8b7", + "iconv-corefoundation@npm:1.1.7": "bc6f08ac421e5e92ed20f3825f123fd705e036612b2b6aa687958de753c06f32e54f0203ef55540869e3ee189eaea15e43a2757f3a90e555c4dd512c9422da43" +} diff --git a/pkgs/by-name/vu/vultisig-cli/package.nix b/pkgs/by-name/vu/vultisig-cli/package.nix new file mode 100644 index 0000000000000..725b2390e0274 --- /dev/null +++ b/pkgs/by-name/vu/vultisig-cli/package.nix @@ -0,0 +1,82 @@ +{ + lib, + stdenv, + fetchFromGitHub, + nodejs, + yarn-berry, + makeWrapper, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "vultisig-cli"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "vultisig"; + repo = "vultisig-sdk"; + tag = "v${finalAttrs.version}"; + hash = "sha256-vpWoKxdiUSSI8xGYXmnduJnB3zB3jpBMxz+9eGXJgvM="; + }; + + missingHashes = ./missing-hashes.json; + + offlineCache = yarn-berry.fetchYarnBerryDeps { + inherit (finalAttrs) src missingHashes; + hash = "sha256-ZJfLfaTvJKyCh4FtOs7IyZskBBjrJLjI0/9hphclFvU="; + }; + + nativeBuildInputs = [ + nodejs + yarn-berry + yarn-berry.yarnBerryConfigHook + makeWrapper + ]; + + # Skip electron binary download; not needed for the CLI + env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + + buildPhase = '' + runHook preBuild + + # Build workspace dependencies needed by the CLI at runtime (SDK must come first) + YARN_IGNORE_PATH=1 yarn workspace @vultisig/sdk build:platform:node + YARN_IGNORE_PATH=1 yarn workspace @vultisig/sdk build:types + YARN_IGNORE_PATH=1 yarn workspace @vultisig/rujira build + YARN_IGNORE_PATH=1 yarn workspace @vultisig/cli build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/vultisig-cli + + cp -r node_modules $out/lib/vultisig-cli/ + cp -r clients/cli/dist $out/lib/vultisig-cli/ + cp clients/cli/package.json $out/lib/vultisig-cli/ + + # Remove broken symlinks (workspace packages that point into the monorepo) + find $out/lib/vultisig-cli/node_modules -type l ! -exec test -e {} \; -delete + + # Copy built workspace packages that the CLI needs at runtime + mkdir -p $out/lib/vultisig-cli/node_modules/@vultisig + cp -rL packages/sdk $out/lib/vultisig-cli/node_modules/@vultisig/sdk + cp -rL packages/rujira $out/lib/vultisig-cli/node_modules/@vultisig/rujira + + mkdir -p $out/bin + makeWrapper ${lib.getExe nodejs} $out/bin/vultisig \ + --add-flags "$out/lib/vultisig-cli/dist/index.js" + + runHook postInstall + ''; + + meta = { + description = "Command-line wallet for Vultisig - multi-chain MPC wallet management"; + homepage = "https://vultisig.com"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ RaghavSood ]; + mainProgram = "vultisig"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/vu/vunnel/package.nix b/pkgs/by-name/vu/vunnel/package.nix index e3efa1b482eff..4d1fea61386c4 100644 --- a/pkgs/by-name/vu/vunnel/package.nix +++ b/pkgs/by-name/vu/vunnel/package.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pname = "vunnel"; - version = "0.48.0"; + version = "0.55.1"; pyproject = true; src = fetchFromGitHub { owner = "anchore"; repo = "vunnel"; tag = "v${finalAttrs.version}"; - hash = "sha256-D0/DoYmmLeAvGnr6ljE8p0B6dmFi4UHwcWCQRb85OkM="; + hash = "sha256-D3f+r+FGcdetE8kwSddVRE9qQ+LiwUHaJaUqUS086cs="; leaveDotGit = true; }; @@ -55,6 +55,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: { sqlalchemy xsdata xxhash + yardstick zstandard ] ++ xsdata.optional-dependencies.cli diff --git a/pkgs/by-name/wa/warmup-s3-archives/package.nix b/pkgs/by-name/wa/warmup-s3-archives/package.nix new file mode 100644 index 0000000000000..eb936ee9541b4 --- /dev/null +++ b/pkgs/by-name/wa/warmup-s3-archives/package.nix @@ -0,0 +1,33 @@ +{ + lib, + stdenv, + fetchFromGitLab, + rustPlatform, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "warmup-s3-archives"; + version = "1.0.0"; + + src = fetchFromGitLab { + owner = "philipmw"; + repo = "warmup-s3-archives"; + tag = "v${finalAttrs.version}"; + hash = "sha256-TJluuylxxFc66NidXCHxZdQN2VNv2QjFodUDXIQolZQ="; + }; + + cargoHash = "sha256-cPjjSYDsMsZO3Wj9wbAhSACbJGDINrE70cj+Lj4QYQE="; + + passthru.updateScript = nix-update-script { }; + + meta = { + homepage = "https://gitlab.com/philipmw/warmup-s3-archives"; + changelog = "https://gitlab.com/philipmw/warmup-s3-archives/-/releases/v${finalAttrs.version}"; + description = "A warmup program that facilitates restoring archived objects from Amazon S3 Glacier storage classes"; + mainProgram = "warmup-s3-archives"; + platforms = lib.platforms.all; + license = lib.licenses.isc; + maintainers = [ lib.maintainers.pmw ]; + }; +}) diff --git a/pkgs/by-name/wa/waybar-lyric/package.nix b/pkgs/by-name/wa/waybar-lyric/package.nix index bc7d6bf6476de..777715da44979 100644 --- a/pkgs/by-name/wa/waybar-lyric/package.nix +++ b/pkgs/by-name/wa/waybar-lyric/package.nix @@ -9,13 +9,13 @@ }: buildGoModule (finalAttrs: { pname = "waybar-lyric"; - version = "0.14.3"; + version = "0.15.0"; src = fetchFromGitHub { owner = "Nadim147c"; repo = "waybar-lyric"; tag = "v${finalAttrs.version}"; - hash = "sha256-bpc0AF/PcdmkVr791uT2PxgV59wTAAtFMFtKHKwtkQI="; + hash = "sha256-2zK0dQtqjbZJYqTOnDtTxnoXeW+zOhWK7RcinhZ5ob4="; }; vendorHash = "sha256-TeAZDSiww9/v3uQl8THJZdN/Ffp+FsZ3TsRStE3ndKA="; diff --git a/pkgs/by-name/wa/wayscriber/package.nix b/pkgs/by-name/wa/wayscriber/package.nix index cc5d03d237f70..061a99b1eaddf 100644 --- a/pkgs/by-name/wa/wayscriber/package.nix +++ b/pkgs/by-name/wa/wayscriber/package.nix @@ -10,20 +10,20 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "wayscriber"; - version = "0.9.10"; + version = "0.9.11"; src = fetchFromGitHub { owner = "devmobasa"; repo = "wayscriber"; tag = "v${finalAttrs.version}"; - hash = "sha256-0SMBVBt5TI7Pj/y8O5AqOI/36LWd40FCJPlqh56TOMk="; + hash = "sha256-HoIa1uVk5Z+kmDxpFJl3Yjek1BVJvWrSdA4L3rJEv6o="; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ pango libxkbcommon ]; - cargoHash = "sha256-xErqo+kPj47SQfUIm8OrQABqydsi4f+/NBnmvMluuVc="; + cargoHash = "sha256-vpJeFO363fFyoHcF0JYru4nhC5um2jmZscdTC/S/egQ="; passthru.updateScript = nix-update-script { }; meta = { diff --git a/pkgs/by-name/wa/waytrogen/package.nix b/pkgs/by-name/wa/waytrogen/package.nix index d765581fd2052..09087a41a91d0 100644 --- a/pkgs/by-name/wa/waytrogen/package.nix +++ b/pkgs/by-name/wa/waytrogen/package.nix @@ -18,18 +18,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "waytrogen"; - version = "0.8.0"; + version = "0.9.1"; src = fetchFromGitHub { owner = "nikolaizombie1"; repo = "waytrogen"; tag = finalAttrs.version; - hash = "sha256-zFRSWAVyTWvH6nxiacQbrrLRlu0Xac53XFaA6FcSf6M="; + hash = "sha256-airVCuwwh+FujJqBHXnRcwooUJWO/mrANbmzX9HciIM="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-/QCDxno0xZ9hLq0U6FNAZX7x+Kx5xaMtT/mR/GrNavs="; + hash = "sha256-FHLyVgBrTWOWyfILm7Gv9B6/WudvrwCNKoRJybKJBTM="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/we/weathr/package.nix b/pkgs/by-name/we/weathr/package.nix new file mode 100644 index 0000000000000..693d018b22ce8 --- /dev/null +++ b/pkgs/by-name/we/weathr/package.nix @@ -0,0 +1,41 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + versionCheckHook, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "weathr"; + version = "1.4.0"; + + src = fetchFromGitHub { + owner = "veirt"; + repo = "weathr"; + tag = "v${finalAttrs.version}"; + hash = "sha256-BaG8K17RNuswtGx74CEBzMKjFMaNW0RZ5FjM3EfSVTE="; + }; + + cargoHash = "sha256-xIjFleANgzoTS+4Yky+mvtX1IeU6IdaH1YuB8W8bYIo="; + + # These test fail due to internet access requirement + checkFlags = [ + "--skip=test_cache_invalidation" + "--skip=test_weather_client_integration_cache_behavior" + "--skip=test_weather_client_integration_cache_invalidation" + "--skip=test_weather_client_integration_realistic_weather_ranges" + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + meta = { + description = "Terminal weather app with ascii animation"; + homepage = "https://github.com/veirt/weathr"; + license = with lib.licenses; [ gpl3Plus ]; + maintainers = with lib.maintainers; [ + sudo-mac + phanirithvij + ]; + mainProgram = "weathr"; + }; +}) diff --git a/pkgs/by-name/we/weaver/package.nix b/pkgs/by-name/we/weaver/package.nix index 796a0c3998663..218d5028b1504 100644 --- a/pkgs/by-name/we/weaver/package.nix +++ b/pkgs/by-name/we/weaver/package.nix @@ -3,30 +3,68 @@ stdenv, rustPlatform, fetchFromGitHub, + fetchNpmDeps, testers, installShellFiles, + pkg-config, + openssl, + nodejs, + npmHooks, + python3, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "weaver"; - version = "0.20.0"; + version = "0.21.2"; src = fetchFromGitHub { owner = "open-telemetry"; repo = "weaver"; tag = "v${finalAttrs.version}"; - hash = "sha256-cZWxXcU5yn1ShLWVMZznVNBmhx5npUGc3lJuuchb/FA="; + hash = "sha256-LMDJg3IKrKRPDkprwlWmBVeaZeI2dZht0eHv7eVGqjo="; }; - cargoHash = "sha256-4ezcHKXmEmnkRG6/Pt0ENUlkga7SesMfI52txEH9ph0="; + cargoHash = "sha256-EzY7OtgPDxT3g2ISV0VZTKa9kLqtKJZH4zT9v2xN/s8="; + + postPatch = '' + # Remove build.rs to build UI separately. + rm build.rs + ''; + + npmDeps = fetchNpmDeps { + name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps"; + inherit (finalAttrs) src; + sourceRoot = "${finalAttrs.src.name}/ui"; + hash = "sha256-VOL2BLTfJ1nM2L3IZpixOuAaBUHVJX032MGb3+eousY="; + }; + npmRoot = "ui"; + + buildInputs = [ openssl ]; + + nativeBuildInputs = [ + installShellFiles + pkg-config + nodejs + npmHooks.npmConfigHook + python3 + ]; + + env = { + CXXFLAGS = "-std=c++20"; + OPENSSL_NO_VENDOR = true; + }; + + preBuild = '' + pushd ui + npm run build + popd + ''; checkFlags = [ # Skip tests requiring network "--skip=test_cli_interface" ]; - nativeBuildInputs = [ installShellFiles ]; - postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd ${finalAttrs.meta.mainProgram} \ --bash <($out/bin/${finalAttrs.meta.mainProgram} completion bash) \ diff --git a/pkgs/by-name/we/websurfx/package.nix b/pkgs/by-name/we/websurfx/package.nix index 54b3890cd6431..e4c87df7c08bb 100644 --- a/pkgs/by-name/we/websurfx/package.nix +++ b/pkgs/by-name/we/websurfx/package.nix @@ -6,7 +6,7 @@ pkg-config, }: let - version = "1.24.47"; + version = "1.24.51"; in rustPlatform.buildRustPackage { pname = "websurfx"; @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage { owner = "neon-mmd"; repo = "websurfx"; tag = "v${version}"; - hash = "sha256-CIGq1uQl5RcxzoX7mnruFDNlgP5RlVLT6/e2ClGaQGE="; + hash = "sha256-uIEYc5cP7LcqyubLhLXsGr8nhIzJrwzw1rKXF6KJMw8="; }; nativeBuildInputs = [ @@ -27,7 +27,7 @@ rustPlatform.buildRustPackage { openssl ]; - cargoHash = "sha256-8zp8qsD2D9wSaeXY2JQuP4evXFDASOwMeOYe3HbHYp4="; + cargoHash = "sha256-4rdYL84feUo/xeOMot58Jw8/wWnOtNXqDEQ/mOXhrRs="; postPatch = '' substituteInPlace src/handler.rs \ diff --git a/pkgs/by-name/wh/whois/package.nix b/pkgs/by-name/wh/whois/package.nix index c95394a97f820..4503732b86814 100644 --- a/pkgs/by-name/wh/whois/package.nix +++ b/pkgs/by-name/wh/whois/package.nix @@ -11,14 +11,14 @@ }: stdenv.mkDerivation (finalAttrs: { - version = "5.6.5"; + version = "5.6.6"; pname = "whois"; src = fetchFromGitHub { owner = "rfc1036"; repo = "whois"; rev = "v${finalAttrs.version}"; - hash = "sha256-zCaM3fMittoEzuMRELqc1ES8QPgZRXVjyHUfMsS5tJA="; + hash = "sha256-RKiXQJoyy3wd/KXphhgjikdmIHl8nmjEzibjk5FKpBQ="; }; patches = [ diff --git a/pkgs/by-name/wi/wireshark/package.nix b/pkgs/by-name/wi/wireshark/package.nix index 5293c378af7ef..fe93c80535cd5 100644 --- a/pkgs/by-name/wi/wireshark/package.nix +++ b/pkgs/by-name/wi/wireshark/package.nix @@ -59,7 +59,7 @@ in stdenv.mkDerivation (finalAttrs: { pname = "wireshark-${if withQt then "qt" else "cli"}"; - version = "4.6.3"; + version = "4.6.4"; outputs = [ "out" @@ -70,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: { repo = "wireshark"; owner = "wireshark"; tag = "v${finalAttrs.version}"; - hash = "sha256-DthYkAW6UYnsDLQf2h3jgJB8RZoasjREWV1NTtZv7PQ="; + hash = "sha256-h254dXxloBC5xQYcpeaLlAj2Ip4eQWHYSPPJLkIwQZw="; }; patches = [ diff --git a/pkgs/by-name/wy/wyoming-faster-whisper/package.nix b/pkgs/by-name/wy/wyoming-faster-whisper/package.nix index 47447bc6bccdc..65ddaad791258 100644 --- a/pkgs/by-name/wy/wyoming-faster-whisper/package.nix +++ b/pkgs/by-name/wy/wyoming-faster-whisper/package.nix @@ -6,14 +6,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "wyoming-faster-whisper"; - version = "2.5.0"; + version = "3.1.0"; pyproject = true; src = fetchFromGitHub { owner = "rhasspy"; repo = "wyoming-faster-whisper"; tag = "v${finalAttrs.version}"; - hash = "sha256-MKB6gZdGdAYoNK8SRiDHG8xtMZ5mXdaSn+bH4T6o/K4="; + hash = "sha256-p1FCyj/D7ndKJD1/V5YzhT0xlkg61DSx2m3DCELmPO8="; }; build-system = with python3Packages; [ @@ -25,18 +25,33 @@ python3Packages.buildPythonApplication (finalAttrs: { "wyoming" ]; + pythonRemoveDeps = [ + # https://github.com/rhasspy/wyoming-faster-whisper/pull/81 + "requests" + ]; + dependencies = with python3Packages; [ faster-whisper wyoming ]; - optional-dependencies = { - transformers = - with python3Packages; - [ - transformers - ] - ++ transformers.optional-dependencies.torch; + optional-dependencies = with python3Packages; { + transformers = [ + transformers + ] + ++ transformers.optional-dependencies.torch; + sherpa = [ + sherpa-onnx + ]; + onnx_asr = [ + onnx-asr + ] + ++ onnx-asr.optional-dependencies.cpu + ++ onnx-asr.optional-dependencies.hub; + zeroconf = [ + wyoming + ] + ++ wyoming.optional-dependencies.zeroconf; }; pythonImportsCheck = [ diff --git a/pkgs/by-name/x2/x265/package.nix b/pkgs/by-name/x2/x265/package.nix index 9edaa146ad44c..80ef96001f7c8 100644 --- a/pkgs/by-name/x2/x265/package.nix +++ b/pkgs/by-name/x2/x265/package.nix @@ -15,9 +15,7 @@ numactl, # Multi bit-depth support (8bit+10bit+12bit): - multibitdepthSupport ? ( - stdenv.hostPlatform.is64bit && !(stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) - ), + multibitdepthSupport ? stdenv.hostPlatform.is64bit, # Other options: cliSupport ? true, # Build standalone CLI application diff --git a/pkgs/by-name/xb/xbill/package.nix b/pkgs/by-name/xb/xbill/package.nix index a8c1ba2c4aa21..20185d4007aa1 100644 --- a/pkgs/by-name/xb/xbill/package.nix +++ b/pkgs/by-name/xb/xbill/package.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: { motif ]; - NIX_CFLAGS_LINK = "-lXpm"; + env.NIX_CFLAGS_LINK = "-lXpm"; configureFlags = [ "--with-x" diff --git a/pkgs/by-name/xc/xclicker/package.nix b/pkgs/by-name/xc/xclicker/package.nix index 85281bd0d8c9a..6b27a7c5bb9d0 100644 --- a/pkgs/by-name/xc/xclicker/package.nix +++ b/pkgs/by-name/xc/xclicker/package.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "robiot"; repo = "xclicker"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-zVbOfqh21+/41N3FcAFajcZCrQ8iNqedZjgNQO0Zj04="; }; @@ -39,12 +39,12 @@ stdenv.mkDerivation (finalAttrs: { runHook preInstall install -Dm755 ./src/xclicker $out/bin/xclicker install -Dm644 $src/assets/xclicker.desktop $out/share/applications/xclicker.desktop - install -Dm644 $src/assets/icon.png $out/share/pixmaps/xclicker.png + install -Dm644 $src/assets/icon.png $out/share/icons/hicolor/256x256/apps/xclicker.png runHook postInstall ''; meta = { - changelog = "https://github.com/robiot/xclicker/releases/tag/${finalAttrs.src.rev}"; + changelog = "https://github.com/robiot/xclicker/releases/tag/${finalAttrs.src.tag}"; description = "Fast gui autoclicker for x11 linux desktops"; homepage = "https://xclicker.xyz/"; license = lib.licenses.gpl3Only; diff --git a/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix index 890b03153145f..a69f9f60f8a8d 100644 --- a/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix +++ b/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "xdg-desktop-portal-cosmic"; - version = "1.0.7"; + version = "1.0.8"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/xd/xdp-tools/package.nix b/pkgs/by-name/xd/xdp-tools/package.nix index ce762a3b47114..b6e9b7532cc9b 100644 --- a/pkgs/by-name/xd/xdp-tools/package.nix +++ b/pkgs/by-name/xd/xdp-tools/package.nix @@ -17,13 +17,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "xdp-tools"; - version = "1.6.1"; + version = "1.6.2"; src = fetchFromGitHub { owner = "xdp-project"; repo = "xdp-tools"; rev = "v${finalAttrs.version}"; - hash = "sha256-KIUuAaWmU5BsmLsp8T3S2hSF4p7BJ506luS82RpmOKs="; + hash = "sha256-CtXJAYR4T/4NyJlgvdc1E9JBIVWY7lN5gtyTUfmAkp8="; }; outputs = [ diff --git a/pkgs/by-name/xf/xf86-input-wacom/package.nix b/pkgs/by-name/xf/xf86-input-wacom/package.nix index 306e44f8765c7..3fe647d34c529 100644 --- a/pkgs/by-name/xf/xf86-input-wacom/package.nix +++ b/pkgs/by-name/xf/xf86-input-wacom/package.nix @@ -26,14 +26,20 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "linuxwacom"; repo = "xf86-input-wacom"; - rev = "xf86-input-wacom-${finalAttrs.version}"; - sha256 = "sha256-12m9PL28NnqIwNpGHOFqjJaNrzBaagdG3Sp/jSLpgkE="; + tag = "xf86-input-wacom-${finalAttrs.version}"; + hash = "sha256-12m9PL28NnqIwNpGHOFqjJaNrzBaagdG3Sp/jSLpgkE="; }; + preConfigure = '' + # See VERFILE in git-version-gen + echo ${finalAttrs.version} > version + ''; + nativeBuildInputs = [ autoreconfHook pkg-config udevCheckHook + util-macros ]; buildInputs = [ @@ -45,7 +51,6 @@ stdenv.mkDerivation (finalAttrs: { libxrender ncurses udev - util-macros pixman xorgproto xorg-server @@ -59,6 +64,8 @@ stdenv.mkDerivation (finalAttrs: { "--with-xorg-conf-dir=${placeholder "out"}/share/X11/xorg.conf.d" ]; + strictDeps = true; + meta = { maintainers = with lib.maintainers; [ moni ]; description = "Wacom digitizer driver for X11"; diff --git a/pkgs/by-name/xk/xk6/package.nix b/pkgs/by-name/xk/xk6/package.nix index 90608d3a9aa41..4d67427913eb6 100644 --- a/pkgs/by-name/xk/xk6/package.nix +++ b/pkgs/by-name/xk/xk6/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "xk6"; - version = "1.3.4"; + version = "1.3.5"; src = fetchFromGitHub { owner = "grafana"; repo = "xk6"; tag = "v${version}"; - hash = "sha256-XW5BB2vkamL4tEqE8HcjZxEZ08OyF4PuBJ8AsUJ8or8="; + hash = "sha256-jx93bHypu01dmUzDleqgTmEZr7f97qaNxLu3j/GKmiY="; }; vendorHash = null; diff --git a/pkgs/by-name/xm/xmagnify/package.nix b/pkgs/by-name/xm/xmagnify/package.nix index 91cec22ef2a65..8e08eb4f0cca2 100644 --- a/pkgs/by-name/xm/xmagnify/package.nix +++ b/pkgs/by-name/xm/xmagnify/package.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Tiny screen magnifier for X11"; homepage = "https://gitlab.com/amiloradovsky/magnify"; license = lib.licenses.mit; # or GPL2+, optionally - maintainers = with lib.maintainers; [ amiloradovsky ]; + maintainers = [ ]; mainProgram = "magnify"; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/xq/xq-xml/package.nix b/pkgs/by-name/xq/xq-xml/package.nix index 1289d346ce2cb..8ae50c91c5c66 100644 --- a/pkgs/by-name/xq/xq-xml/package.nix +++ b/pkgs/by-name/xq/xq-xml/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "xq"; - version = "1.3.0"; + version = "1.4.0"; src = fetchFromGitHub { owner = "sibprogrammer"; repo = "xq"; rev = "v${finalAttrs.version}"; - hash = "sha256-KLpf4db3D+SQzbitc9ROO+k/VHggWpwZmwwhV3QVNiE="; + hash = "sha256-6iC5YhCppzlyp6o+Phq98gQj4LjQx/5pt2+ejOvGvTE="; }; - vendorHash = "sha256-LKkYA0wZ+MQ67Gox2e+iuWSgbxF0daJj7RWLA6C+v+I="; + vendorHash = "sha256-EYAFp9+tiE0hgTWewmai6LcCJiuR+lOU74IlYBeUEf0="; ldflags = [ "-s" diff --git a/pkgs/by-name/xt/xterm/package.nix b/pkgs/by-name/xt/xterm/package.nix index 46480e4700fd7..a43c046ee57fd 100644 --- a/pkgs/by-name/xt/xterm/package.nix +++ b/pkgs/by-name/xt/xterm/package.nix @@ -24,14 +24,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "xterm"; - version = "406"; + version = "407"; src = fetchurl { urls = [ "https://invisible-island.net/archives/xterm/${finalAttrs.pname}-${finalAttrs.version}.tgz" "https://invisible-mirror.net/archives/xterm/${finalAttrs.pname}-${finalAttrs.version}.tgz" ]; - hash = "sha256-Bm6y1mQwiX/h2t0nFVTM2uM9d8USEmp1j8TeN7EUh5k="; + hash = "sha256-ITbrpTAGiht1Zau/F4IydPXO+3/jYYNVy8idxVyLe2o="; }; patches = [ ./sixel-256.support.patch ]; diff --git a/pkgs/by-name/xv/xv/package.nix b/pkgs/by-name/xv/xv/package.nix index 3902d3f52657c..bf72576467806 100644 --- a/pkgs/by-name/xv/xv/package.nix +++ b/pkgs/by-name/xv/xv/package.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "xv"; - version = "6.1.0"; + version = "6.2.0"; src = fetchFromGitHub { owner = "jasper-software"; repo = "xv"; rev = "v${version}"; - sha256 = "sha256-bq9xEGQRzWZ3/Unu49q6EW9/XSCgpalyXn4l4Mg255g="; + sha256 = "sha256-LylTpHTifH/n2vAPlLQooVM3Oox2BJ9eoQYx3USQ/No="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/xv/xvidcore/package.nix b/pkgs/by-name/xv/xvidcore/package.nix index 622b9e4b67142..57e100c0b3069 100644 --- a/pkgs/by-name/xv/xvidcore/package.nix +++ b/pkgs/by-name/xv/xvidcore/package.nix @@ -73,9 +73,7 @@ stdenv.mkDerivation (finalAttrs: { description = "MPEG-4 video codec for PC"; homepage = "https://www.xvid.com/"; license = lib.licenses.gpl2; - maintainers = with lib.maintainers; [ - lovek323 - ]; + maintainers = [ ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/ya/yad/package.nix b/pkgs/by-name/ya/yad/package.nix index 8f4a653ebc2b7..f00413203b783 100644 --- a/pkgs/by-name/ya/yad/package.nix +++ b/pkgs/by-name/ya/yad/package.nix @@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { - homepage = "https://sourceforge.net/projects/yad-dialog/"; + homepage = "https://github.com/v1cont/yad"; description = "GUI dialog tool for shell scripts"; longDescription = '' Yad (yet another dialog) is a GUI dialog tool for shell scripts. It is a diff --git a/pkgs/by-name/ya/yaml-language-server/package.nix b/pkgs/by-name/ya/yaml-language-server/package.nix index 6f2c85e904e0a..56301c6bf5702 100644 --- a/pkgs/by-name/ya/yaml-language-server/package.nix +++ b/pkgs/by-name/ya/yaml-language-server/package.nix @@ -5,16 +5,16 @@ }: buildNpmPackage (finalAttrs: { pname = "yaml-language-server"; - version = "1.20.0"; + version = "1.21.0"; src = fetchFromGitHub { owner = "redhat-developer"; repo = "yaml-language-server"; tag = finalAttrs.version; - hash = "sha256-vfg+Ej2/uqlbkV+qQGjJE83yIeA34YLLsgD7gFeu4LU="; + hash = "sha256-kZo47yQ1p8GGYVQ9TMTuvVuFJtk6rEBkQpu1jHaKEik="; }; - npmDepsHash = "sha256-H1wJ37X6MGvXQVUjmrYklpPnUdmoEDR9nrlmghZ5jnU="; + npmDepsHash = "sha256-UZWCVRv9Lv3MYR2AMdTIg6rslN/ajAp9g8+7QWS+0QQ="; strictDeps = true; diff --git a/pkgs/by-name/ya/yaookctl/package.nix b/pkgs/by-name/ya/yaookctl/package.nix index 868fb32ebf123..87ef4af2c23ca 100644 --- a/pkgs/by-name/ya/yaookctl/package.nix +++ b/pkgs/by-name/ya/yaookctl/package.nix @@ -6,13 +6,13 @@ }: python3.pkgs.buildPythonApplication { pname = "yaookctl"; - version = "0-unstable-2026-02-05"; + version = "0-unstable-2026-02-25"; src = fetchFromGitLab { owner = "yaook"; repo = "yaookctl"; - rev = "c0e3f92cbf15fdf985ac7dba9ed9edb320bda8f1"; - hash = "sha256-TUAKHK/kxQHFpOGYP56lv4PmnfpkXFUY60BBZusV7b8="; + rev = "60758d872c6444a840de1263f94418ddc91a7005"; + hash = "sha256-f9pIY0/Be0zBb0flTT16e/4HzMwiJb557FqyMW9Q0rc="; }; pyproject = true; diff --git a/pkgs/by-name/ya/yazi/plugins/chmod/default.nix b/pkgs/by-name/ya/yazi/plugins/chmod/default.nix index 3eee44ca7ac57..5138920721c42 100644 --- a/pkgs/by-name/ya/yazi/plugins/chmod/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/chmod/default.nix @@ -5,13 +5,13 @@ }: mkYaziPlugin { pname = "chmod.yazi"; - version = "25.12.29-unstable-2025-12-29"; + version = "26.1.22-unstable-2026-02-27"; src = fetchFromGitHub { owner = "yazi-rs"; repo = "plugins"; - rev = "517619af126f25f3da096ff156ce46b561b54be3"; - hash = "sha256-j7fsUmx2nK4Tyj5KCamcCmfs99K6duV+okf8NvzccsI="; + rev = "0897e20d41b79a5ec8e80e645b041bb950547a0b"; + hash = "sha256-tHOHWFH9E7aGrmHb8bUD1sLGU0OIdTjQ2p4SbJVfh/s="; }; meta = { diff --git a/pkgs/by-name/ya/yazi/plugins/drag/default.nix b/pkgs/by-name/ya/yazi/plugins/drag/default.nix index 372dbdc125b24..54d6277a8e8e0 100644 --- a/pkgs/by-name/ya/yazi/plugins/drag/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/drag/default.nix @@ -5,13 +5,13 @@ }: mkYaziPlugin { pname = "drag.yazi"; - version = "0-unstable-2025-08-29"; + version = "0-unstable-2026-02-21"; src = fetchFromGitHub { owner = "Joao-Queiroga"; repo = "drag.yazi"; - rev = "27606689cb82c56a19c052a7b7935cd9b1466bab"; - hash = "sha256-ITkZjpwWXni4tQpDhUiVvtPrEkAo6RISgCH594NgpYE="; + rev = "3dff129c52b30d8c08015e6f4ef8f2c07b299d4b"; + hash = "sha256-nmFlh+zW3aOU+YjbfrAWQ7A6FlGaTDnq2N2gOZ5yzzc="; }; meta = { diff --git a/pkgs/by-name/ya/yazi/plugins/git/default.nix b/pkgs/by-name/ya/yazi/plugins/git/default.nix index 735c1a2753ef1..7123d4b3f2c06 100644 --- a/pkgs/by-name/ya/yazi/plugins/git/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/git/default.nix @@ -5,13 +5,13 @@ }: mkYaziPlugin { pname = "git.yazi"; - version = "25.12.29-unstable-2026-01-26"; + version = "26.1.22-unstable-2026-02-27"; src = fetchFromGitHub { owner = "yazi-rs"; repo = "plugins"; - rev = "e07bf41442a7f6fdd003069f380e1ae469a86211"; - hash = "sha256-aC8DUZpzNHEf9MW3tX3XcDYY/mWClAHkw+nZaxDQHp8="; + rev = "0897e20d41b79a5ec8e80e645b041bb950547a0b"; + hash = "sha256-tHOHWFH9E7aGrmHb8bUD1sLGU0OIdTjQ2p4SbJVfh/s="; }; meta = { diff --git a/pkgs/by-name/ya/yazi/plugins/gitui/default.nix b/pkgs/by-name/ya/yazi/plugins/gitui/default.nix index 112d5f73e28a4..a38bdebc0fd3f 100644 --- a/pkgs/by-name/ya/yazi/plugins/gitui/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/gitui/default.nix @@ -6,22 +6,15 @@ mkYaziPlugin { pname = "gitui.yazi"; - version = "0-unstable-2025-05-26"; + version = "0-unstable-2026-02-24"; src = fetchFromGitHub { owner = "gclarkjr5"; repo = "gitui.yazi"; - rev = "397e9cf9cff536a43e746d72e0e81fd5c3050d2d"; - hash = "sha256-Bo16/5XuSxRhN6URwTBxuw0FTMHLF3nV1UDBQQJFHMM="; + rev = "b3362f54db9c0da51b1d4fb2fe8315a0dada7274"; + hash = "sha256-lNj5dH6LDvl9TlA7/+bnDrRMlpOE0bCW3umrW3gBpP8="; }; - installPhase = '' - runHook preInstall - cp -r . $out - mv $out/init.lua $out/main.lua - runHook postInstall - ''; - meta = { description = "Plugin for Yazi to manage git repos with gitui"; homepage = "https://github.com/gclarkjr5/gitui.yazi"; diff --git a/pkgs/by-name/ya/yazi/plugins/mactag/default.nix b/pkgs/by-name/ya/yazi/plugins/mactag/default.nix index b6bee235b86f0..62cda1f820312 100644 --- a/pkgs/by-name/ya/yazi/plugins/mactag/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/mactag/default.nix @@ -5,13 +5,13 @@ }: mkYaziPlugin { pname = "mactag.yazi"; - version = "25.12.29-unstable-2025-12-29"; + version = "26.1.22-unstable-2026-02-27"; src = fetchFromGitHub { owner = "yazi-rs"; repo = "plugins"; - rev = "517619af126f25f3da096ff156ce46b561b54be3"; - hash = "sha256-j7fsUmx2nK4Tyj5KCamcCmfs99K6duV+okf8NvzccsI="; + rev = "0897e20d41b79a5ec8e80e645b041bb950547a0b"; + hash = "sha256-tHOHWFH9E7aGrmHb8bUD1sLGU0OIdTjQ2p4SbJVfh/s="; }; meta = { diff --git a/pkgs/by-name/ya/yazi/plugins/mediainfo/default.nix b/pkgs/by-name/ya/yazi/plugins/mediainfo/default.nix index f0d8629268b59..09c5d46e08adc 100644 --- a/pkgs/by-name/ya/yazi/plugins/mediainfo/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/mediainfo/default.nix @@ -5,13 +5,13 @@ }: mkYaziPlugin { pname = "mediainfo.yazi"; - version = "25.5.31-unstable-2026-02-12"; + version = "25.5.31-unstable-2026-02-22"; src = fetchFromGitHub { owner = "boydaihungst"; repo = "mediainfo.yazi"; - rev = "8ab04b24595e0ba14a815d0596baa6c70986ccc4"; - hash = "sha256-6mYZba/fF5G81FqAB4dJ7hLwIV7GFh+/yA0eyX+vB6Q="; + rev = "20ecff6dd154da4c6e28fc7f754e865fd5f9d1b3"; + hash = "sha256-br8UDDPxVe4ZfoHIURD2zzjmyUImhKak0DYwCF9r2vw="; }; meta = { diff --git a/pkgs/by-name/ya/yazi/plugins/rsync/default.nix b/pkgs/by-name/ya/yazi/plugins/rsync/default.nix index 3ee1b393b3c80..e590ae34f574d 100644 --- a/pkgs/by-name/ya/yazi/plugins/rsync/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/rsync/default.nix @@ -5,12 +5,12 @@ }: mkYaziPlugin { pname = "rsync.yazi"; - version = "0-unstable-2025-10-23"; + version = "0-unstable-2026-02-28"; src = fetchFromGitHub { owner = "GianniBYoung"; repo = "rsync.yazi"; - rev = "14d28283f49b39593a2763d7457e0dacb78f7597"; - hash = "sha256-LT+4NKiCkiF72RG9g/tOjS6F+Wc4tY3vtnHNHPxbn1w="; + rev = "c094a5ce2dc2ebdb37f97a6f1f15af6c14c06402"; + hash = "sha256-SqN3jDwHtsVDqawJyYHWdndi9IaCKPJH9+d7ffX9H7c="; }; meta = { diff --git a/pkgs/by-name/yg/yggdrasil/package.nix b/pkgs/by-name/yg/yggdrasil/package.nix index 13eed9ff34e14..049afee9bb997 100644 --- a/pkgs/by-name/yg/yggdrasil/package.nix +++ b/pkgs/by-name/yg/yggdrasil/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "yggdrasil"; - version = "0.5.12"; + version = "0.5.13"; src = fetchFromGitHub { owner = "yggdrasil-network"; repo = "yggdrasil-go"; rev = "v${finalAttrs.version}"; - hash = "sha256-NlNQnYmK//p35pj2MInD6RVsajM/bGDhOuzOZZYoWRw="; + hash = "sha256-L4eNrytAklblRrAQPf4zzgvrtHaZWmpTMcOLwkKMPCc="; }; - vendorHash = "sha256-xZpUWIR3xTjhhNSwPoHx7GLUgcZJrWfF0FMExlluBmg="; + vendorHash = "sha256-z09K/ZDw9mM7lfqeyZzi0WRSedzgKED0Sywf1kJXlDk="; subPackages = [ "cmd/genkeys" diff --git a/pkgs/by-name/yo/youki/package.nix b/pkgs/by-name/yo/youki/package.nix index f57102b12194f..c429e7544ec96 100644 --- a/pkgs/by-name/yo/youki/package.nix +++ b/pkgs/by-name/yo/youki/package.nix @@ -13,13 +13,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "youki"; - version = "0.5.7"; + version = "0.6.0"; src = fetchFromGitHub { owner = "containers"; repo = "youki"; rev = "v${finalAttrs.version}"; - hash = "sha256-b2R9/ADoZfRSu1Qh7hImR1Y+ZX15Uhk7JFwD8ipec6o="; + hash = "sha256-O5tk/W2Bybq+6aY7FX/AcJtBKWEYI2Ywk7vYLqvuFos="; }; nativeBuildInputs = [ @@ -53,7 +53,7 @@ rustPlatform.buildRustPackage (finalAttrs: { "youki" ]; - cargoHash = "sha256-R/1wE7twjMwlSns7ZV5nr8PZ/OzghcslvU+0Ic/oamQ="; + cargoHash = "sha256-QOugjSoJVqeiRfpzyuD6nFsBUdlfJLvbXavXFyiHWSo="; meta = { description = "Container runtime written in Rust"; diff --git a/pkgs/by-name/yt/yt-dlp/package.nix b/pkgs/by-name/yt/yt-dlp/package.nix index a0fc4b4227b54..768b0b6df5580 100644 --- a/pkgs/by-name/yt/yt-dlp/package.nix +++ b/pkgs/by-name/yt/yt-dlp/package.nix @@ -1,5 +1,6 @@ { lib, + stdenvNoCC, python3Packages, atomicparsley, deno, @@ -13,6 +14,7 @@ javascriptSupport ? true, rtmpSupport ? true, withAlias ? false, # Provides bin/youtube-dl for backcompat + withSecretStorage ? !stdenvNoCC.hostPlatform.isDarwin, nix-update-script, }: @@ -51,7 +53,10 @@ python3Packages.buildPythonApplication rec { ]; # expose optional-dependencies, but provide all features - dependencies = lib.concatAttrValues optional-dependencies; + dependencies = + optional-dependencies.default + ++ optional-dependencies.curl-cffi + ++ lib.optionals withSecretStorage optional-dependencies.secretstorage; optional-dependencies = { default = with python3Packages; [ diff --git a/pkgs/by-name/yt/ytdownloader/package.nix b/pkgs/by-name/yt/ytdownloader/package.nix index 341edc43421e7..e84b12db4615c 100644 --- a/pkgs/by-name/yt/ytdownloader/package.nix +++ b/pkgs/by-name/yt/ytdownloader/package.nix @@ -70,7 +70,7 @@ buildNpmPackage rec { --add-flags $out/lib/node_modules/ytdownloader/main.js \ --prefix PATH : ${lib.makeBinPath [ ffmpeg-headless ]} - install -Dm444 assets/images/icon.png $out/share/pixmaps/ytdownloader.png + install -Dm444 assets/images/icon.png $out/share/icons/hicolor/512x512/apps/ytdownloader.png ''; meta = { diff --git a/pkgs/by-name/yu/yubikey-manager/package.nix b/pkgs/by-name/yu/yubikey-manager/package.nix index 3eb8a6065979e..88e7a318aed93 100644 --- a/pkgs/by-name/yu/yubikey-manager/package.nix +++ b/pkgs/by-name/yu/yubikey-manager/package.nix @@ -5,6 +5,8 @@ python3Packages, installShellFiles, procps, + + buildPackages, }: python3Packages.buildPythonPackage rec { @@ -43,12 +45,26 @@ python3Packages.buildPythonPackage rec { postInstall = '' installManPage man/ykman.1 - - installShellCompletion --cmd ykman \ - --bash <(_YKMAN_COMPLETE=bash_source "$out/bin/ykman") \ - --zsh <(_YKMAN_COMPLETE=zsh_source "$out/bin/ykman") \ - --fish <(_YKMAN_COMPLETE=fish_source "$out/bin/ykman") \ - ''; + '' + + ( + let + compOpts = + x: + if stdenv.buildPlatform.canExecute python3Packages.stdenv.hostPlatform then + "--${x} <(_YKMAN_COMPLETE=${x}_source ${placeholder "out"}/bin/ykman)" + else + ''--${x} <(_YKMAN_COMPLETE=${x}_source PYTHONPATH= "${buildPackages.yubikey-manager}/bin/ykman")''; + in + '' + installShellCompletion --cmd ykman ${ + lib.strings.concatMapStringsSep " " compOpts [ + "bash" + "zsh" + "fish" + ] + } + '' + ); nativeCheckInputs = with python3Packages; [ astroid diff --git a/pkgs/by-name/za/zapret/package.nix b/pkgs/by-name/za/zapret/package.nix index c9a1d137c7381..706d78dc71349 100644 --- a/pkgs/by-name/za/zapret/package.nix +++ b/pkgs/by-name/za/zapret/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "zapret"; - version = "72.9"; + version = "72.10"; src = fetchFromGitHub { owner = "bol-van"; @@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: { ''; tag = "v${finalAttrs.version}"; - hash = "sha256-w2HpEoEAhdk1tOS8IM3K56FqpMW2VgqB+iwISCNB7n4="; + hash = "sha256-m9MKyOwAUeH8LZ1GgbuYdHdNTrI3mJ7+Q9R9JT5y2gY="; }; buildInputs = [ diff --git a/pkgs/by-name/za/zapzap/package.nix b/pkgs/by-name/za/zapzap/package.nix index 0ba38ef59de90..b3b2fa1dd18b4 100644 --- a/pkgs/by-name/za/zapzap/package.nix +++ b/pkgs/by-name/za/zapzap/package.nix @@ -7,14 +7,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "zapzap"; - version = "6.2.10.1"; + version = "6.3.2"; pyproject = true; src = fetchFromGitHub { owner = "rafatosta"; repo = "zapzap"; tag = finalAttrs.version; - hash = "sha256-dNHDR9sZWPetdwpS5u0UCn5sCkDMEw5YoE4QBerU2Sg="; + hash = "sha256-PWs6W22ksZmPu3H3Yk535t0J4rfwGov5XaKMJBCXIIA="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/zd/zdoom/package.nix b/pkgs/by-name/zd/zdoom/package.nix index 44994bececb18..395b59635d4c6 100644 --- a/pkgs/by-name/zd/zdoom/package.nix +++ b/pkgs/by-name/zd/zdoom/package.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { sourceRoot = "."; - NIX_CFLAGS_LINK = [ + env.NIX_CFLAGS_LINK = toString [ "-lopenal" "-lfluidsynth" ]; diff --git a/pkgs/by-name/ze/zeal/package.nix b/pkgs/by-name/ze/zeal/package.nix index 5a751dced519e..fd4a94ab4185f 100644 --- a/pkgs/by-name/ze/zeal/package.nix +++ b/pkgs/by-name/ze/zeal/package.nix @@ -14,17 +14,15 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "zeal"; - version = "0.7.2"; + version = "0.8.0"; src = fetchFromGitHub { owner = "zealdocs"; repo = "zeal"; - rev = "v${finalAttrs.version}"; - hash = "sha256-9tlo7+namWNWrWVQNqaOvtK4NQIdb0p8qvFrrbUamOo="; + tag = "v${finalAttrs.version}"; + hash = "sha256-13BscKZU/wzjstEQ8ffTGFJaDXO+p8IxNqNsyoEjQUc="; }; - patches = [ ./qt6_10.patch ]; - nativeBuildInputs = [ cmake extra-cmake-modules diff --git a/pkgs/by-name/ze/zeal/qt6_10.patch b/pkgs/by-name/ze/zeal/qt6_10.patch deleted file mode 100644 index 574c063a3b755..0000000000000 --- a/pkgs/by-name/ze/zeal/qt6_10.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/src/libs/ui/docsetsdialog.cpp b/src/libs/ui/docsetsdialog.cpp -index 8c9fe63..5c73480 100644 ---- a/src/libs/ui/docsetsdialog.cpp -+++ b/src/libs/ui/docsetsdialog.cpp -@@ -360,7 +360,7 @@ void DocsetsDialog::downloadCompleted() - QTemporaryFile *tmpFile = m_tmpFiles[docsetName]; - if (!tmpFile) { - tmpFile = new QTemporaryFile(QStringLiteral("%1/%2.XXXXXX.tmp").arg(Core::Application::cacheLocation(), docsetName), this); -- tmpFile->open(); -+ (void)tmpFile->open(); - m_tmpFiles.insert(docsetName, tmpFile); - } - -@@ -403,7 +403,7 @@ void DocsetsDialog::downloadProgress(qint64 received, qint64 total) - QTemporaryFile *tmpFile = m_tmpFiles[docsetName]; - if (!tmpFile) { - tmpFile = new QTemporaryFile(QStringLiteral("%1/%2.XXXXXX.tmp").arg(Core::Application::cacheLocation(), docsetName), this); -- tmpFile->open(); -+ (void)tmpFile->open(); - m_tmpFiles.insert(docsetName, tmpFile); - } - -diff --git a/src/libs/ui/qxtglobalshortcut/CMakeLists.txt b/src/libs/ui/qxtglobalshortcut/CMakeLists.txt -index 476c2f5..f49da88 100644 ---- a/src/libs/ui/qxtglobalshortcut/CMakeLists.txt -+++ b/src/libs/ui/qxtglobalshortcut/CMakeLists.txt -@@ -42,6 +42,7 @@ elseif(UNIX AND X11_FOUND) - find_package(Qt5 COMPONENTS X11Extras REQUIRED) - target_link_libraries(QxtGlobalShortcut Qt5::X11Extras) - else() -+ find_package(Qt6 REQUIRED COMPONENTS GuiPrivate) - target_link_libraries(QxtGlobalShortcut Qt${QT_VERSION_MAJOR}::GuiPrivate) - endif() - diff --git a/pkgs/by-name/ze/zenmap/package.nix b/pkgs/by-name/ze/zenmap/package.nix index 4167ae9484086..cdd955ed9427b 100644 --- a/pkgs/by-name/ze/zenmap/package.nix +++ b/pkgs/by-name/ze/zenmap/package.nix @@ -50,7 +50,7 @@ python3Packages.buildPythonApplication { ''; postInstall = '' # Icons - install -Dm 644 "zenmapCore/data/pixmaps/zenmap.png" -t "$out/share/pixmaps/" + install -Dm 644 "zenmapCore/data/pixmaps/zenmap.png" -t "$out/share/icons/hicolor/256x256/apps" # Desktop-files for application install -Dm 644 "install_scripts/unix/zenmap.desktop" -t "$out/share/applications/" install -Dm 644 "install_scripts/unix/zenmap-root.desktop" -t "$out/share/applications/" diff --git a/pkgs/by-name/ze/zensical/package.nix b/pkgs/by-name/ze/zensical/package.nix index 70ecee9965392..27d11cfe010f4 100644 --- a/pkgs/by-name/ze/zensical/package.nix +++ b/pkgs/by-name/ze/zensical/package.nix @@ -8,7 +8,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "zensical"; - version = "0.0.23"; + version = "0.0.24"; pyproject = true; # We fetch from PyPi, because GitHub repo does not contain all sources. @@ -16,12 +16,12 @@ python3Packages.buildPythonApplication (finalAttrs: { # We could combine sources, but then nix-update won't work. src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-XE/DqvB135nYz0G58lZuTViBgNmolJMBTTYH3+UKxLw="; + hash = "sha256-tdmeIlMpv0+YyAIr3woO6ViML62ntN8be4lvzGKzfsM="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-cS8gxMPRpMMHwrjqXjyxBl4dbwll01Y+G4eOBZ3/vdM="; + hash = "sha256-oBg9wq/hJPvAIpl6IEJKVAWnUIVO6L+3q+L5z9UtvKg="; }; nativeBuildInputs = with rustPlatform; [ diff --git a/pkgs/by-name/ze/zeroad-data/package.nix b/pkgs/by-name/ze/zeroad-data/package.nix index 3f78a9b42ccbb..3e93179627212 100644 --- a/pkgs/by-name/ze/zeroad-data/package.nix +++ b/pkgs/by-name/ze/zeroad-data/package.nix @@ -11,11 +11,10 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://releases.wildfiregames.com/0ad-${finalAttrs.version}-unix-data.tar.xz"; - hash = "sha256-g34tbd8TiwJfwCAXJF11gaS7hP2UtCwOYF0yG3AXqZg="; + hash = "sha256-6ESzCuIQLEfgpP/y8ODvBboM67GJCqcidvoSRXw5Um8="; }; installPhase = '' - rm binaries/data/tools/fontbuilder/fonts/*.txt mkdir -p $out/share/0ad cp -r binaries/data $out/share/0ad/ ''; diff --git a/pkgs/by-name/ze/zeroad-unwrapped/package.nix b/pkgs/by-name/ze/zeroad-unwrapped/package.nix index 6e4a62bbbb37d..56a64a60e0e5a 100644 --- a/pkgs/by-name/ze/zeroad-unwrapped/package.nix +++ b/pkgs/by-name/ze/zeroad-unwrapped/package.nix @@ -3,11 +3,12 @@ lib, perl, fetchurl, + fetchpatch, python3, fmt_9, libidn, pkg-config, - spidermonkey_115, + spidermonkey_128, boost, icu, libxml2, @@ -38,15 +39,30 @@ }: # You can find more instructions on how to build 0ad here: -# https://trac.wildfiregames.com/wiki/BuildInstructions - +# https://gitea.wildfiregames.com/0ad/0ad/wiki/BuildInstructions + +let + # When updating 0 A.D., check for necessary SpiderMonkey patches here: + # https://gitea.wildfiregames.com/0ad/0ad/src/branch/main/libraries/source/spidermonkey/patches + spidermonkey = spidermonkey_128.overrideAttrs (old: { + # Fix segfault during GUI GC (fixed in v140) + # https://bugzilla.mozilla.org/show_bug.cgi?id=1982134 + patches = old.patches or [ ] ++ [ + (fetchpatch { + name = "fix-extra-gc-tracing.patch"; + url = "https://github.com/mozilla-firefox/firefox/commit/bf1994b05baea60f84309475cd544fe89acf82f2.patch"; + hash = "sha256-3sTcZb34yHheqK7O9aHSwMife3uJnf3us+0sPJ2NzKs="; + }) + ]; + }); +in stdenv.mkDerivation (finalAttrs: { pname = "0ad"; - version = "0.27.1"; + version = "0.28.0"; src = fetchurl { url = "https://releases.wildfiregames.com/0ad-${finalAttrs.version}-unix-build.tar.xz"; - hash = "sha256-oKU1XutZaNJPKDdwc2FQ2XTa/sugd1TUZicH3BcBa/s="; + hash = "sha256-J+IXdV73apIv5Y2/WT2W5Utu0jddI/VIw1YZqmvVpCo="; }; nativeBuildInputs = [ @@ -56,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - spidermonkey_115 + spidermonkey boost icu libxml2 @@ -87,18 +103,20 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optional withEditor wxGTK32; - env.NIX_CFLAGS_COMPILE = toString [ - "-I${xorgproto}/include" - "-I${libx11.dev}/include" - "-I${libxcursor.dev}/include" - "-I${SDL2}/include/SDL2" - "-I${fmt_9.dev}/include" - "-I${nvidia-texture-tools.dev}/include" - ]; + env = { + NIX_CFLAGS_COMPILE = toString [ + "-I${xorgproto}/include" + "-I${libx11.dev}/include" + "-I${libxcursor.dev}/include" + "-I${SDL2}/include/SDL2" + "-I${fmt_9.dev}/include" + "-I${nvidia-texture-tools.dev}/include" + ]; - NIX_CFLAGS_LINK = toString [ - "-L${nvidia-texture-tools.lib}/lib/static" - ]; + NIX_CFLAGS_LINK = toString [ + "-L${nvidia-texture-tools.lib}/lib/static" + ]; + }; patches = [ ./rootdir_env.patch diff --git a/pkgs/by-name/ze/zeroad-unwrapped/rootdir_env.patch b/pkgs/by-name/ze/zeroad-unwrapped/rootdir_env.patch index 95463c7e2df46..c4dc16e076e5b 100644 --- a/pkgs/by-name/ze/zeroad-unwrapped/rootdir_env.patch +++ b/pkgs/by-name/ze/zeroad-unwrapped/rootdir_env.patch @@ -1,10 +1,13 @@ diff --git a/source/ps/GameSetup/Paths.cpp b/source/ps/GameSetup/Paths.cpp -index 474364e..bf084b4 100644 +index 4a692713..c393e7d5 100644 --- a/source/ps/GameSetup/Paths.cpp +++ b/source/ps/GameSetup/Paths.cpp -@@ -155,32 +155,8 @@ Paths::Paths(const CmdLineArgs& args) +@@ -166,34 +166,9 @@ Paths::Paths(const CmdLineArgs& args) + } + - /*static*/ OsPath Paths::Root(const OsPath& argv0) +-/*static*/ OsPath Paths::Root(const OsPath& argv0) ++/*static*/ OsPath Paths::Root([[maybe_unused]] const OsPath& argv0) { -#if OS_ANDROID - return OsPath("/sdcard/0ad"); // TODO: this is kind of bogus @@ -32,8 +35,7 @@ index 474364e..bf084b4 100644 - return pathname; - -#endif -+ UNUSED2(argv0); + return OsPath(getenv("ZEROAD_ROOTDIR")); } - /*static*/ OsPath Paths::RootData(const OsPath& argv0) + /*static*/ OsPath Paths::RootData([[maybe_unused]] const OsPath& argv0) diff --git a/pkgs/by-name/zi/zint-qt/package.nix b/pkgs/by-name/zi/zint-qt/package.nix index f3fa6fceaacd7..a920c04ce2315 100644 --- a/pkgs/by-name/zi/zint-qt/package.nix +++ b/pkgs/by-name/zi/zint-qt/package.nix @@ -58,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: { postInstall = lib.optionalString withGUI '' install -Dm644 -t $out/share/applications $src/zint-qt.desktop - install -Dm644 -t $out/share/pixmaps $src/zint-qt.png + install -Dm644 -t $out/share/icons/hicolor/48x48/apps $src/zint-qt.png install -Dm644 -t $out/share/icons/hicolor/scalable/apps $src/frontend_qt/images/scalable/zint-qt.svg ''; diff --git a/pkgs/by-name/zo/zoneminder/package.nix b/pkgs/by-name/zo/zoneminder/package.nix index 825ba7a6a92d3..a2eb9719205ed 100644 --- a/pkgs/by-name/zo/zoneminder/package.nix +++ b/pkgs/by-name/zo/zoneminder/package.nix @@ -2,7 +2,6 @@ stdenv, lib, fetchFromGitHub, - fetchpatch, fetchurl, cmake, makeWrapper, @@ -84,24 +83,17 @@ let in stdenv.mkDerivation rec { pname = "zoneminder"; - version = "1.36.36"; + version = "1.36.38"; src = fetchFromGitHub { owner = "ZoneMinder"; repo = "zoneminder"; tag = version; - hash = "sha256-q+LpM8JSjcroGa04CqQ7PUU/WvZ9YCVhGOhwBAhOFY0="; + hash = "sha256-c/Q+h0ntJ4XUuvgrLSlWfue4GL4nGARgmXt0En334Y4="; fetchSubmodules = true; }; patches = [ - # Fix building against FFmpeg 8.0 - # https://github.com/ZoneMinder/zoneminder/pull/4466 - (fetchpatch { - url = "https://github.com/peat-psuwit/zoneminder/commit/15241687e9ccd97d7866cc7245324472ff6c7f0e.patch"; - hash = "sha256-DXeoYOMI3Hcpwshg6wiBxaoTPOswLVV3Weq3Mh5Vaw0="; - }) - ./default-to-http-1dot1.patch ./0001-Don-t-use-file-timestamp-in-cache-filename.patch ]; diff --git a/pkgs/by-name/zs/zsv/package.nix b/pkgs/by-name/zs/zsv/package.nix index d944db6054fbe..fcc68c152be91 100644 --- a/pkgs/by-name/zs/zsv/package.nix +++ b/pkgs/by-name/zs/zsv/package.nix @@ -2,8 +2,8 @@ lib, stdenv, fetchFromGitHub, - perl, jq, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { @@ -13,25 +13,25 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "liquidaty"; repo = "zsv"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-6Gc9RDrQmayTnCoFHYN8B3gdqR3CPyyLWtO31WpnJ3o="; }; - nativeBuildInputs = [ perl ]; - buildInputs = [ jq ]; configureFlags = [ "--jq-prefix=${lib.getLib jq}" ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "World's fastest (simd) CSV parser, with an extensible CLI"; mainProgram = "zsv"; homepage = "https://github.com/liquidaty/zsv"; changelog = "https://github.com/liquidaty/zsv/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; - maintainers = [ ]; + maintainers = with lib.maintainers; [ chillcicada ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix index 965a83747ae27..0308a3135396e 100644 --- a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix +++ b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix @@ -86,7 +86,7 @@ stdenv.mkDerivation rec { homepage = "https://developer-old.gnome.org/ORBit2/"; description = "CORBA 2.4-compliant Object Request Broker"; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; longDescription = '' ORBit2 is a CORBA 2.4-compliant Object Request Broker (ORB) featuring diff --git a/pkgs/desktops/lomiri/services/biometryd/default.nix b/pkgs/desktops/lomiri/services/biometryd/default.nix index e02025cb850df..db01da04bb958 100644 --- a/pkgs/desktops/lomiri/services/biometryd/default.nix +++ b/pkgs/desktops/lomiri/services/biometryd/default.nix @@ -2,10 +2,10 @@ stdenv, lib, fetchFromGitLab, + fetchpatch, gitUpdater, testers, - # https://gitlab.com/ubports/development/core/biometryd/-/issues/8 - boost186, + boost, cmake, cmake-extras, dbus, @@ -39,6 +39,15 @@ stdenv.mkDerivation (finalAttrs: { "dev" ]; + patches = [ + # Remove when version > 0.4.0 + (fetchpatch { + name = "0001-biometryd-Fix-compatibility-with-Boost-1.87.patch"; + url = "https://gitlab.com/ubports/development/core/biometryd/-/commit/8def6dfb18ee56971f0f64e3622af2a5a39ab0f6.patch"; + hash = "sha256-PddZRML4Gc+s4aNeOyZwJJjmPSixMGFVFNcrO9dNDSI="; + }) + ]; + postPatch = '' # Substitute systemd's prefix in pkg-config call substituteInPlace data/CMakeLists.txt \ @@ -66,7 +75,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - boost186 + boost cmake-extras dbus dbus-cpp diff --git a/pkgs/desktops/lomiri/services/lomiri-polkit-agent/1001-Fix-compat-with-libnotify-0.8.8.patch b/pkgs/desktops/lomiri/services/lomiri-polkit-agent/1001-Fix-compat-with-libnotify-0.8.8.patch new file mode 100644 index 0000000000000..a741c5442cd0d --- /dev/null +++ b/pkgs/desktops/lomiri/services/lomiri-polkit-agent/1001-Fix-compat-with-libnotify-0.8.8.patch @@ -0,0 +1,36 @@ +From df28165c0955ab963aeda41ffda86651115f4efb Mon Sep 17 00:00:00 2001 +From: OPNA2608 +Date: Tue, 24 Feb 2026 21:04:37 +0100 +Subject: [PATCH] tests/authentication-test.cpp: Fix compat with libnotify + 0.8.8 + +--- + tests/authentication-test.cpp | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/tests/authentication-test.cpp b/tests/authentication-test.cpp +index 8c74867..2fee42d 100644 +--- a/tests/authentication-test.cpp ++++ b/tests/authentication-test.cpp +@@ -245,12 +245,16 @@ TEST_F(AuthenticationTest, BasicRequest) + EXPECT_EQ("Cancel", dialogs[0].actions[3]); + + /* Hints */ +-#if (NOTIFY_VERSION_MAJOR >= 0) && (NOTIFY_VERSION_MINOR >= 8) ++#if NOTIFY_CHECK_VERSION(0, 8, 0) ++#if NOTIFY_CHECK_VERSION(0, 8, 8) ++ EXPECT_EQ(4, dialogs[0].hints.size()); ++#else + EXPECT_EQ(3, dialogs[0].hints.size()); ++#endif // NOTIFY_CHECK_VERSION(0, 8, 8) + EXPECT_NE(dialogs[0].hints.end(), dialogs[0].hints.find("sender-pid")); + #else + EXPECT_EQ(2, dialogs[0].hints.size()); +-#endif ++#endif // NOTIFY_CHECK_VERSION(0, 8, 0) + EXPECT_NE(dialogs[0].hints.end(), dialogs[0].hints.find("x-lomiri-snap-decisions")); + EXPECT_NE(dialogs[0].hints.end(), dialogs[0].hints.find("x-lomiri-private-menu-model")); + +-- +2.51.2 + diff --git a/pkgs/desktops/lomiri/services/lomiri-polkit-agent/default.nix b/pkgs/desktops/lomiri/services/lomiri-polkit-agent/default.nix index 468d847f14690..daea4403b05b6 100644 --- a/pkgs/desktops/lomiri/services/lomiri-polkit-agent/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-polkit-agent/default.nix @@ -27,6 +27,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-JKU2lm5wco9aC2cu3lgJ9OfGAzKQO/wQXFPEdb9Uz3Y="; }; + patches = [ + # Remove when https://gitlab.com/ubports/development/core/lomiri-polkit-agent/-/merge_requests/17 merged & in release + ./1001-Fix-compat-with-libnotify-0.8.8.patch + ]; + strictDeps = true; nativeBuildInputs = [ diff --git a/pkgs/desktops/lomiri/services/lomiri-telephony-service/default.nix b/pkgs/desktops/lomiri/services/lomiri-telephony-service/default.nix index 0c387ce96abba..6675c88c140bd 100644 --- a/pkgs/desktops/lomiri/services/lomiri-telephony-service/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-telephony-service/default.nix @@ -8,6 +8,7 @@ ayatana-indicator-messages, bash, cmake, + ctestCheckHook, dbus, dbus-glib, dbus-test-runner, @@ -111,6 +112,7 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeCheckInputs = [ + ctestCheckHook dbus-test-runner dconf gnome-keyring @@ -124,27 +126,6 @@ stdenv.mkDerivation (finalAttrs: { # These rely on libphonenumber reformatting inputs to certain results # Seem to be broken for a small amount of numbers, maybe libphonenumber version change? (lib.cmakeBool "SKIP_QML_TESTS" true) - (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" ( - lib.concatStringsSep ";" [ - # Exclude tests - "-E" - (lib.strings.escapeShellArg "(${ - lib.concatStringsSep "|" [ - # Flaky, randomly failing to launch properly & stuck until test timeout - # https://gitlab.com/ubports/development/core/lomiri-telephony-service/-/issues/70 - "^HandlerTest" - "^OfonoAccountEntryTest" - "^TelepathyHelperSetupTest" - "^AuthHandlerTest" - "^ChatManagerTest" - "^AccountEntryTest" - "^AccountEntryFactoryTest" - "^PresenceRequestTest" - "^CallEntryTest" - ] - })") - ] - )) ]; env.NIX_CFLAGS_COMPILE = toString [ @@ -158,6 +139,25 @@ stdenv.mkDerivation (finalAttrs: { # Starts & talks to D-Bus services, breaks with parallelism enableParallelChecking = false; + disabledTests = [ + # Flaky, randomly failing to launch properly & stuck until test timeout + # https://gitlab.com/ubports/development/core/lomiri-telephony-service/-/issues/70 + "AccountEntryTest" + "AccountEntryFactoryTest" + "AuthHandlerTest" + "CallEntryTest" + "ChatManagerTest" + "HandlerTest" + "OfonoAccountEntryTest" + "PresenceRequestTest" + "TelepathyHelperSetupTest" + + # Failing most of the time since libnotify 0.8.8 + # https://gitlab.com/ubports/development/core/lomiri-telephony-service/-/issues/75 + "ApproverTest" + "MessagingMenuTest" + ]; + preCheck = '' export QT_QPA_PLATFORM=minimal export QT_PLUGIN_PATH=${ diff --git a/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix b/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix index ef3ef0f8b044e..a19023f42b5d4 100644 --- a/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix @@ -76,6 +76,14 @@ stdenv.mkDerivation (finalAttrs: { # Tests run in parallel to other builds, don't suck up cores substituteInPlace tests/headers/compile_headers.py \ --replace-fail 'max_workers=multiprocessing.cpu_count()' "max_workers=1" + '' + # https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/merge_requests/31 + # Too simple to bother with fetchpatch + + '' + substituteInPlace CMakeLists.txt \ + --replace-fail \ + 'find_package(Boost COMPONENTS filesystem iostreams regex system REQUIRED)' \ + 'find_package(Boost COMPONENTS filesystem iostreams regex REQUIRED)' ''; strictDeps = true; diff --git a/pkgs/development/beam-modules/expert/default.nix b/pkgs/development/beam-modules/expert/default.nix index 057994457b85a..a04d967638eb0 100644 --- a/pkgs/development/beam-modules/expert/default.nix +++ b/pkgs/development/beam-modules/expert/default.nix @@ -6,13 +6,13 @@ fetchMixDeps, }: let - version = "0.1.0-rc.2"; + version = "0.1.0-rc.5"; src = fetchFromGitHub { owner = "elixir-lang"; repo = "expert"; tag = "v${version}"; - hash = "sha256-5BGI0bLGCvYyMT4GNHLalin1jg9UW6qtFC7B8OssHCc="; + hash = "sha256-7e8zi3AFHESXyxTA0/YRmzR4L4tl19L0LHKaEM1l0P4="; }; engineDeps = fetchMixDeps { @@ -62,7 +62,7 @@ mixRelease rec { meta = { homepage = "https://github.com/elixir-lang/expert"; - changelog = "https://github.com/elixir-lang/expert/releases/tag/v${version}"; + changelog = "https://github.com/elixir-lang/expert/blob/v${version}/CHANGELOG.md"; description = "Official Elixir Language Server Protocol implementation"; longDescription = '' Expert is the official language server implementation for the Elixir programming language. diff --git a/pkgs/development/beam-modules/hex/default.nix b/pkgs/development/beam-modules/hex/default.nix index 75d44154d76e7..3c7b65477ad2f 100644 --- a/pkgs/development/beam-modules/hex/default.nix +++ b/pkgs/development/beam-modules/hex/default.nix @@ -18,13 +18,13 @@ let self: stdenv.mkDerivation rec { pname = "hex"; - version = "2.3.1"; + version = "2.3.2"; src = fetchFromGitHub { owner = "hexpm"; repo = "hex"; rev = "v${version}"; - sha256 = "sha256-1LFWyxXR33qsvbzkBfUVgcT1/w1FuQDy3PBsRscyTpk="; + sha256 = "sha256-HdoH9tODOR0WDpQK1pkdV8+c7qp2f1c8UWQem86gS18="; }; setupHook = writeText "setupHook.sh" '' diff --git a/pkgs/development/beam-modules/rebar3-release.nix b/pkgs/development/beam-modules/rebar3-release.nix index 11d1ebfd3ab42..e1af791cfa5a7 100644 --- a/pkgs/development/beam-modules/rebar3-release.nix +++ b/pkgs/development/beam-modules/rebar3-release.nix @@ -74,7 +74,9 @@ let inherit src; - env.REBAR_IGNORE_DEPS = beamDeps != [ ]; + env = (attrs.env or { }) // { + REBAR_IGNORE_DEPS = beamDeps != [ ]; + }; configurePhase = '' runHook preConfigure diff --git a/pkgs/development/compilers/dart/source/default.nix b/pkgs/development/compilers/dart/source/default.nix index 135bb642370c7..8afe8b6a2962e 100644 --- a/pkgs/development/compilers/dart/source/default.nix +++ b/pkgs/development/compilers/dart/source/default.nix @@ -4,7 +4,7 @@ callPackage, cacert, curlMinimal, - dart, + dart-bin, debug ? false, fetchurl, gn, @@ -126,7 +126,7 @@ let cp --recursive sdk $out ''; in -dart.overrideAttrs (oldAttrs: { +dart-bin.overrideAttrs (oldAttrs: { inherit version src; nativeBuildInputs = [ @@ -172,7 +172,7 @@ dart.overrideAttrs (oldAttrs: { export PATH=$PWD/.bin-tools:$PATH '' + '' - ln --symbolic ${buildPackages.dart} tools/sdks/dart-sdk + ln --symbolic ${buildPackages.dart-bin} tools/sdks/dart-sdk ln --symbolic --force ${lib.getExe buildPackages.gn} buildtools/gn mkdir --parents buildtools/ninja ln --symbolic --force ${lib.getExe buildPackages.samurai} buildtools/ninja/ninja @@ -247,9 +247,11 @@ dart.overrideAttrs (oldAttrs: { runHook postInstall ''; - passthru.updateScript = writeShellScript "update-dart" '' - ${lib.getExe nix-update} --version=$(${lib.getExe curlMinimal} --fail --location --silent https://storage.googleapis.com/dart-archive/channels/stable/release/latest/VERSION | ${lib.getExe jq} --raw-output .version) - ''; + passthru = oldAttrs.passthru // { + updateScript = writeShellScript "update-dart" '' + ${lib.getExe nix-update} --version=$(${lib.getExe curlMinimal} --fail --location --silent https://storage.googleapis.com/dart-archive/channels/stable/release/latest/VERSION | ${lib.getExe jq} --raw-output .version) + ''; + }; meta = oldAttrs.meta // { platforms = [ diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index f7461b01739d4..2c886bf529fc8 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -4,6 +4,7 @@ fetchzip, fetchFromGitHub, dart, + dart-bin, lib, stdenv, runCommand, @@ -57,14 +58,14 @@ let in ( if lib.versionAtLeast version "3.41" then - (dart.overrideAttrs (oldAttrs: { + (dart-bin.overrideAttrs (oldAttrs: { version = dartVersion; src = oldAttrs.src.overrideAttrs (_: { inherit hash; }); })) else - (dart.overrideAttrs (_: { + (dart-bin.overrideAttrs (_: { # This overrideAttrs is used to replace the version in src.url version = dartVersion; __intentionallyOverridingVersion = true; diff --git a/pkgs/development/compilers/ghc/9.8.4-binary.nix b/pkgs/development/compilers/ghc/9.8.4-binary.nix index 7c2c75a3795fe..1542f1c0111c8 100644 --- a/pkgs/development/compilers/ghc/9.8.4-binary.nix +++ b/pkgs/development/compilers/ghc/9.8.4-binary.nix @@ -346,6 +346,15 @@ stdenv.mkDerivation { # calls install-strip ... dontBuild = true; + # GHC tries to remove xattrs when installing to work around Gatekeeper + # (see https://gitlab.haskell.org/ghc/ghc/-/issues/17418). This step normally + # succeeds in nixpkgs because xattrs are not allowed in the store, but it + # can fail when a file has the `com.apple.provenance` xattr, and it can’t be + # modified (such as target of the symlink to `libiconv.dylib`). + # The `com.apple.provenance` xattr is a new feature of macOS as of macOS 13. + # See: https://eclecticlight.co/2023/03/13/ventura-has-changed-app-quarantine-with-a-new-xattr/ + makeFlags = lib.optionals stdenv.buildPlatform.isDarwin [ "XATTR=/does-not-exist" ]; + # Patch scripts to include runtime dependencies in $PATH. postInstall = '' for i in "$out/bin/"*; do diff --git a/pkgs/development/compilers/llvm/common/lldb/default.nix b/pkgs/development/compilers/llvm/common/lldb/default.nix index ac4c4fbacd7f0..e146f1d896b8b 100644 --- a/pkgs/development/compilers/llvm/common/lldb/default.nix +++ b/pkgs/development/compilers/llvm/common/lldb/default.nix @@ -156,15 +156,24 @@ stdenv.mkDerivation ( fi ''; - postInstall = '' - wrapProgram $out/bin/lldb --prefix PYTHONPATH : ''${!outputLib}/${python3.sitePackages}/ - - # Editor support - # vscode: - install -D ../tools/${vscodeExt.name}/package.json $out/share/vscode/extensions/llvm-org.${vscodeExt.name}-${vscodeExt.version}/package.json - mkdir -p $out/share/vscode/extensions/llvm-org.${vscodeExt.name}-${vscodeExt.version}/bin - ln -s $out/bin/*${vscodeExt.name} $out/share/vscode/extensions/llvm-org.${vscodeExt.name}-${vscodeExt.version}/bin - ''; + postInstall = + let + # Needed after https://github.com/llvm/llvm-project/commit/5f0f0fcd62227fb864203acc1a57e3ebf7a254a3 + packageJsonPath = + if lib.versionAtLeast release_version "22" then + "../tools/${vscodeExt.name}/extension/package.json" + else + "../tools/${vscodeExt.name}/package.json"; + in + '' + wrapProgram $out/bin/lldb --prefix PYTHONPATH : ''${!outputLib}/${python3.sitePackages}/ + + # Editor support + # vscode: + install -D ${packageJsonPath} $out/share/vscode/extensions/llvm-org.${vscodeExt.name}-${vscodeExt.version}/package.json + mkdir -p $out/share/vscode/extensions/llvm-org.${vscodeExt.name}-${vscodeExt.version}/bin + ln -s $out/bin/*${vscodeExt.name} $out/share/vscode/extensions/llvm-org.${vscodeExt.name}-${vscodeExt.version}/bin + ''; passthru.vscodeExtName = vscodeExt.name; passthru.vscodeExtPublisher = "llvm"; diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index fecdaa3aac1e9..cdcd015d2f670 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -28,9 +28,9 @@ let "21.1.8".officialRelease.sha256 = "sha256-pgd8g9Yfvp7abjCCKSmIn1smAROjqtfZaJkaUkBSKW0="; "22.1.0-rc3".officialRelease.sha256 = "sha256-vGG7lDdDFW427lS384Bl7Pt9QFgK1XVxLmtm878xmxU="; "23.0.0-git".gitRelease = { - rev = "23374f95ed1362cfcabcb1a1a95bc81fc58b70b9"; - rev-version = "23.0.0-unstable-2026-02-15"; - sha256 = "sha256-CbB+5bFRwbz/k7USBD+h3d0FFGMt58lW7lG3tyeEEyQ="; + rev = "610b40706ff74d2e7785937ed03baa364652dc61"; + rev-version = "23.0.0-unstable-2026-02-23"; + sha256 = "sha256-0ap9AFwouOuhVqeRzLaS7mYkBBCGFIakNbgv/VVrRns="; }; } // llvmVersions; diff --git a/pkgs/development/compilers/ocaml/4.14.nix b/pkgs/development/compilers/ocaml/4.14.nix index e7dc4d2f5d414..ff658b382de35 100644 --- a/pkgs/development/compilers/ocaml/4.14.nix +++ b/pkgs/development/compilers/ocaml/4.14.nix @@ -1,6 +1,6 @@ import ./generic.nix { major_version = "4"; minor_version = "14"; - patch_version = "2"; - sha256 = "sha256-eBn2hpPjKUb5M1jfRqjqb1FyImgfzG98uWIUIWz+x2Q="; + patch_version = "3"; + sha256 = "sha256-pdWDuPurnqe/bPly75w45/7ay/9tt6NOMQURXTQ+sGk="; } diff --git a/pkgs/development/compilers/open-watcom/wrapper.nix b/pkgs/development/compilers/open-watcom/wrapper.nix index f82502c306e66..21aade8878e86 100644 --- a/pkgs/development/compilers/open-watcom/wrapper.nix +++ b/pkgs/development/compilers/open-watcom/wrapper.nix @@ -58,7 +58,8 @@ let name = "${open-watcom.passthru.prettyName}-${open-watcom.version}"; in symlinkJoin { - inherit name; + inherit (open-watcom) version; + pname = open-watcom.passthru.prettyName; paths = [ open-watcom ]; diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index ff2d0782ce61d..8b816b08f9b20 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -458,6 +458,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "https://www.rust-lang.org/"; description = "Safe, concurrent, practical language"; + mainProgram = "rustc"; teams = [ lib.teams.rust ]; license = [ lib.licenses.mit diff --git a/pkgs/development/coq-modules/TypedExtraction/default.nix b/pkgs/development/coq-modules/TypedExtraction/default.nix new file mode 100644 index 0000000000000..ab5c95a7c01f5 --- /dev/null +++ b/pkgs/development/coq-modules/TypedExtraction/default.nix @@ -0,0 +1,127 @@ +{ + lib, + mkCoqDerivation, + which, + coq, + stdlib, + metarocq, + version ? null, + single ? false, +}: + +let + pname = "TypedExtraction"; + repo = "rocq-typed-extraction"; + owner = "peregrine-project"; + domain = "github.com"; + + inherit version; + defaultVersion = + let + case = coq: mr: out: { + cases = [ + coq + mr + ]; + inherit out; + }; + in + lib.switch + [ + coq.coq-version + metarocq.version + ] + [ + (case "9.1" (lib.versions.range "1.4" "1.4.1") "0.2.0") + ] + null; + release = { + "0.2.0".sha256 = "sha256-rgg39X45IXjcnejBhh8N7wMiH+gHQrfO8pBbFEWOGVI="; + }; + releaseRev = v: "v${v}"; + + packages = { + "common" = [ ]; + "elm" = [ + "common" + ]; + "rust" = [ + "common" + ]; + "plugin" = [ + "elm" + "rust" + ]; + "all" = [ + "plugin" + ]; + }; + + typedextraction_ = + package: + let + typedextraction-deps = lib.optionals (package != "single") ( + map typedextraction_ packages.${package} + ); + pkgpath = if package == "single" then "./" else "./${package}"; + pname = if package == "all" then "TypedExtraction" else "TypedExtraction-${package}"; + pkgallMake = '' + mkdir all + echo "all:" > all/Makefile + echo "install:" >> all/Makefile + ''; + derivation = ( + mkCoqDerivation ( + { + inherit + version + pname + defaultVersion + release + releaseRev + repo + owner + ; + + mlPlugin = true; + propagatedBuildInputs = [ + stdlib + coq.ocamlPackages.findlib + metarocq + ] + ++ typedextraction-deps; + + patchPhase = '' + patchShebangs ./configure.sh + patchShebangs ./plugin/process_extraction.sh + ''; + + configurePhase = + lib.optionalString (package == "all") pkgallMake + + '' + touch ${pkgpath}/_config + '' + + lib.optionalString (package == "single") '' + ./configure.sh local + ''; + + preBuild = '' + cd ${pkgpath} + ''; + + meta = { + homepage = "https://peregrine-project.github.io/"; + description = "A framework for extracting Rocq programs to Rust and Elm"; + maintainers = with lib.maintainers; [ _4ever2 ]; + license = lib.licenses.mit; + }; + } + // lib.optionalAttrs (package != "single") { + passthru = lib.mapAttrs (package: deps: typedextraction_ package) packages; + } + ) + ); + in + derivation; +in +typedextraction_ (if single then "single" else "all") diff --git a/pkgs/development/coq-modules/coqprime/default.nix b/pkgs/development/coq-modules/coqprime/default.nix index e42edfdcb7ddb..ae9ea4e08a192 100644 --- a/pkgs/development/coq-modules/coqprime/default.nix +++ b/pkgs/development/coq-modules/coqprime/default.nix @@ -14,6 +14,10 @@ mkCoqDerivation { defaultVersion = with lib.versions; lib.switch coq.coq-version [ + { + case = range "8.20" "9.1"; + out = "8.20"; + } { case = range "8.14" "8.20"; out = "8.18"; @@ -36,6 +40,7 @@ mkCoqDerivation { } ] null; + release."8.20".sha256 = "sha256-bwQPgxCVm6iFRJjNplPtUJqRfr6vXPaWs7OxLNnMjs8="; release."8.18".sha256 = "sha256-KObBEYerWhIStmq90G3vs9K5LUEOfB2SPxirwLiWQ6E="; release."8.17".sha256 = "sha256-D878t/PijVCopRKHYqfwdNvt3arGlI8yxbK/vI6qZUY="; release."8.15".sha256 = "sha256:1zr2q52r08na8265019pj9spcz982ivixk6cnzk6l1srn2g328gv"; diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 487158b53c387..78cab79157da4 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -112,10 +112,12 @@ with haskellLib; ( let # !!! Use cself/csuper inside for the actual overrides - cabalInstallOverlay = cself: csuper: { - Cabal = cself.Cabal_3_16_1_0; - Cabal-syntax = cself.Cabal-syntax_3_16_1_0; - }; + cabalInstallOverlay = + cself: csuper: + lib.optionalAttrs (lib.versionOlder csuper.ghc.version "9.14") { + Cabal = cself.Cabal_3_16_1_0; + Cabal-syntax = cself.Cabal-syntax_3_16_1_0; + }; in { cabal-install = diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix index 922a1bb72554d..e3ccdf381d5f2 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.14.x.nix @@ -74,6 +74,10 @@ with haskellLib; # Version upgrades # + parallel = doDistribute self.parallel_3_3_0_0; + tagged = doDistribute self.tagged_0_8_10; + unordered-containers = doDistribute self.unordered-containers_0_2_21; + # # Jailbreaks # @@ -81,10 +85,46 @@ with haskellLib; primitive = doJailbreak (dontCheck super.primitive); # base <4.22 and a lot of dependencies on packages not yet working. splitmix = doJailbreak super.splitmix; # base <4.22 + # https://github.com/haskellari/indexed-traversable/issues/49 + indexed-traversable = doJailbreak super.indexed-traversable; + # https://github.com/haskellari/indexed-traversable/issues/50 + indexed-traversable-instances = doJailbreak super.indexed-traversable-instances; + # https://github.com/haskellari/these/issues/211 + these = doJailbreak super.these; + # https://github.com/haskellari/these/issues/207 + semialign = doJailbreak super.semialign; + # https://github.com/haskellari/time-compat/issues/48 + time-compat = doJailbreak super.time-compat; + # https://github.com/haskell-hvr/uuid/issues/95 + uuid-types = doJailbreak super.uuid-types; + # https://github.com/haskellari/qc-instances/issues/110 + quickcheck-instances = doJailbreak super.quickcheck-instances; + # https://github.com/haskell/aeson/issues/1155 + text-iso8601 = doJailbreak super.text-iso8601; + aeson = doJailbreak super.aeson; + + # https://github.com/well-typed/cborg/issues/373 + cborg = doJailbreak super.cborg; + serialise = doJailbreak ( + appendPatches [ + # This removes support for older versions of time (think GHC 8.6) and, in doing so, + # drops a Cabal flag that prevents jailbreak from working + (pkgs.fetchpatch { + name = "serialise-no-old-time.patch"; + url = "https://github.com/well-typed/cborg/commit/308afc2795062f847171463958e5e1bbd9c03381.patch"; + hash = "sha256-Gutu9c+houcwAvq2Z+ZQUQbNK+u+OCJRZfKBtx8/V4c="; + relative = "serialise"; + }) + ] super.serialise + ); + # https://github.com/sjakobi/newtype-generics/pull/28/files newtype-generics = warnAfterVersion "0.6.2" (doJailbreak super.newtype-generics); # # Test suite issues # + + # Fails to compile with GHC 9.14 https://github.com/snoyberg/mono-traversable/pull/261 + mono-traversable = dontCheck super.mono-traversable; } diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index c9844fc81fdbd..b7b9353f9ea80 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -17855,7 +17855,7 @@ self: { badPlatforms = lib.platforms.darwin; hydraPlatforms = lib.platforms.none; } - ) { inherit (pkgs) pfstools; }; + ) { pfstools = null; }; HERA = callPackage ( { diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index 9842c79a67414..70998a96e822c 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -181,10 +181,12 @@ let nativeBuildInputs = [ buildPackages.cabal2nix-unwrapped ]; preferLocalBuild = true; allowSubstitutes = false; - LANG = "en_US.UTF-8"; - LOCALE_ARCHIVE = pkgs.lib.optionalString ( - buildPlatform.libc == "glibc" - ) "${buildPackages.glibcLocales}/lib/locale/locale-archive"; + env = { + LANG = "en_US.UTF-8"; + } + // lib.optionalAttrs (buildPlatform.libc == "glibc") { + LOCALE_ARCHIVE = "${buildPackages.glibcLocales}/lib/locale/locale-archive"; + }; } '' export HOME="$TMP" diff --git a/pkgs/development/idris-modules/idris-wrapper.nix b/pkgs/development/idris-modules/idris-wrapper.nix index 8aee1bf9fa697..5dee53a894fed 100644 --- a/pkgs/development/idris-modules/idris-wrapper.nix +++ b/pkgs/development/idris-modules/idris-wrapper.nix @@ -8,7 +8,12 @@ }: symlinkJoin { - inherit (idris-no-deps) name src meta; + inherit (idris-no-deps) + pname + version + src + meta + ; paths = [ idris-no-deps ]; nativeBuildInputs = [ makeWrapper ]; postBuild = '' diff --git a/pkgs/development/idris-modules/with-packages.nix b/pkgs/development/idris-modules/with-packages.nix index 4dd4d4a836c2f..3e46ae162968b 100644 --- a/pkgs/development/idris-modules/with-packages.nix +++ b/pkgs/development/idris-modules/with-packages.nix @@ -13,7 +13,7 @@ let in lib.appendToName "with-packages" (symlinkJoin { - inherit (idris) name; + inherit (idris) pname version; paths = paths ++ [ idris ]; diff --git a/pkgs/development/interpreters/erlang/28.nix b/pkgs/development/interpreters/erlang/28.nix index 067dcf56a9e92..ae428c1f22c22 100644 --- a/pkgs/development/interpreters/erlang/28.nix +++ b/pkgs/development/interpreters/erlang/28.nix @@ -1,6 +1,6 @@ genericBuilder: genericBuilder { - version = "28.3.2"; - hash = "sha256-+x5n8JjALeW4tTxLfN37976Gp/5HOuLKXuIrlkOo4G0="; + version = "28.3.3"; + hash = "sha256-UGV1q5TiGK3/t6cXXGWf9pZO2kWxQVpFluTJTibczPk="; } diff --git a/pkgs/development/interpreters/lua-5/build-luarocks-package.nix b/pkgs/development/interpreters/lua-5/build-luarocks-package.nix index d17547eff73a5..bc79b674b4720 100644 --- a/pkgs/development/interpreters/lua-5/build-luarocks-package.nix +++ b/pkgs/development/interpreters/lua-5/build-luarocks-package.nix @@ -27,6 +27,9 @@ # These are added to nativeBuildInputs when doCheck = true. nativeCheckInputs ? [ ], + # Rockspec `build_dependencies` generated by `luarocks nix`). + nativeBuildInputs ? [ ], + # propagate build dependencies so in case we have A -> B -> C, # C can import package A propagated by B propagatedBuildInputs ? [ ], @@ -101,6 +104,7 @@ let wrapLua luarocks_bootstrap ] + ++ nativeBuildInputs ++ lib.optionals self.doCheck self.nativeCheckInputs; inherit diff --git a/pkgs/development/interpreters/php/8.2.nix b/pkgs/development/interpreters/php/8.2.nix deleted file mode 100644 index ecf54354a8b70..0000000000000 --- a/pkgs/development/interpreters/php/8.2.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ callPackage, ... }@_args: - -let - base = callPackage ./generic.nix ( - _args - // { - version = "8.2.30"; - hash = "sha256-EEggtsj8lZ3eSzNCE19CvavyRuhpGKFjgaF9hEfIZvo="; - } - ); -in -base.withExtensions ( - { all, ... }: - with all; - [ - bcmath - calendar - curl - ctype - dom - exif - fileinfo - filter - ftp - gd - gettext - gmp - iconv - imap - intl - ldap - mbstring - mysqli - mysqlnd - opcache - openssl - pcntl - pdo - pdo_mysql - pdo_odbc - pdo_pgsql - pdo_sqlite - pgsql - posix - readline - session - simplexml - sockets - soap - sodium - sysvsem - sqlite3 - tokenizer - xmlreader - xmlwriter - zip - zlib - ] -) diff --git a/pkgs/development/interpreters/php/8.3.nix b/pkgs/development/interpreters/php/8.3.nix deleted file mode 100644 index 5421559bc7f21..0000000000000 --- a/pkgs/development/interpreters/php/8.3.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ callPackage, ... }@_args: - -let - base = callPackage ./generic.nix ( - _args - // { - version = "8.3.30"; - hash = "sha256-gAt7btULc8jueETuXy98xhL6p4daCqfEUp6O1YZqUDA="; - } - ); -in -base.withExtensions ( - { all, ... }: - with all; - [ - bcmath - calendar - curl - ctype - dom - exif - fileinfo - filter - ftp - gd - gettext - gmp - iconv - imap - intl - ldap - mbstring - mysqli - mysqlnd - opcache - openssl - pcntl - pdo - pdo_mysql - pdo_odbc - pdo_pgsql - pdo_sqlite - pgsql - posix - readline - session - simplexml - sockets - soap - sodium - sysvsem - sqlite3 - tokenizer - xmlreader - xmlwriter - zip - zlib - ] -) diff --git a/pkgs/development/interpreters/php/8.4.nix b/pkgs/development/interpreters/php/8.4.nix deleted file mode 100644 index 3b1fcbd893c90..0000000000000 --- a/pkgs/development/interpreters/php/8.4.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ callPackage, ... }@_args: - -let - base = callPackage ./generic.nix ( - _args - // { - version = "8.4.18"; - hash = "sha256-WGsy2Szrz7yklcX2rRozZAVT0KnAv9LmcVM02VnPmFg="; - } - ); -in -base.withExtensions ( - { all, ... }: - with all; - [ - bcmath - calendar - curl - ctype - dom - exif - fileinfo - filter - ftp - gd - gettext - gmp - iconv - intl - ldap - mbstring - mysqli - mysqlnd - opcache - openssl - pcntl - pdo - pdo_mysql - pdo_odbc - pdo_pgsql - pdo_sqlite - pgsql - posix - readline - session - simplexml - sockets - soap - sodium - sysvsem - sqlite3 - tokenizer - xmlreader - xmlwriter - zip - zlib - ] -) diff --git a/pkgs/development/interpreters/php/8.5.nix b/pkgs/development/interpreters/php/8.5.nix deleted file mode 100644 index 6eecaf1b72cd7..0000000000000 --- a/pkgs/development/interpreters/php/8.5.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ callPackage, ... }@_args: - -let - base = callPackage ./generic.nix ( - _args - // { - version = "8.5.3"; - hash = "sha256-/F7KvBg862TZ/KPc04e9KbK2dEgyavmY/eADEkkWgjs="; - } - ); -in -base.withExtensions ( - { all, ... }: - with all; - [ - bcmath - calendar - curl - ctype - dom - exif - fileinfo - filter - ftp - gd - gettext - gmp - iconv - intl - ldap - mbstring - mysqli - mysqlnd - openssl - pcntl - pdo - pdo_mysql - pdo_odbc - pdo_pgsql - pdo_sqlite - pgsql - posix - readline - session - simplexml - sockets - soap - sodium - sysvsem - sqlite3 - tokenizer - xmlreader - xmlwriter - zip - zlib - ] -) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index ba59bef5f8024..4bc90e463d7ce 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -1,4 +1,5 @@ { + lib, callPackage, stdenv, llvmPackages, @@ -6,16 +7,81 @@ }: let - commonArgs = { - stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv; - pcre2 = pcre2.override { - withJitSealloc = false; # See https://bugs.php.net/bug.php?id=78927 and https://bugs.php.net/bug.php?id=78630 - }; - }; + mkPhp = + { version, hash }: + let + base = callPackage ./generic.nix { + stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv; + pcre2 = pcre2.override { + withJitSealloc = false; # See https://bugs.php.net/bug.php?id=78927 and https://bugs.php.net/bug.php?id=78630 + }; + inherit version hash; + }; + in + base.withExtensions ( + { all, ... }: + with all; + [ + bcmath + calendar + curl + ctype + dom + exif + fileinfo + filter + ftp + gd + gettext + gmp + iconv + intl + ldap + mbstring + mysqli + mysqlnd + openssl + pcntl + pdo + pdo_mysql + pdo_odbc + pdo_pgsql + pdo_sqlite + pgsql + posix + readline + session + simplexml + sockets + soap + sodium + sysvsem + sqlite3 + tokenizer + xmlreader + xmlwriter + zip + zlib + ] + ++ lib.optionals (lib.versionOlder version "8.4") [ all.imap ] + ++ lib.optionals (lib.versionOlder version "8.5") [ all.opcache ] + ); in { - php82 = callPackage ./8.2.nix commonArgs; - php83 = callPackage ./8.3.nix commonArgs; - php84 = callPackage ./8.4.nix commonArgs; - php85 = callPackage ./8.5.nix commonArgs; + php82 = mkPhp { + version = "8.2.30"; + hash = "sha256-EEggtsj8lZ3eSzNCE19CvavyRuhpGKFjgaF9hEfIZvo="; + }; + php83 = mkPhp { + version = "8.3.30"; + hash = "sha256-gAt7btULc8jueETuXy98xhL6p4daCqfEUp6O1YZqUDA="; + }; + php84 = mkPhp { + version = "8.4.18"; + hash = "sha256-WGsy2Szrz7yklcX2rRozZAVT0KnAv9LmcVM02VnPmFg="; + }; + php85 = mkPhp { + version = "8.5.3"; + hash = "sha256-/F7KvBg862TZ/KPc04e9KbK2dEgyavmY/eADEkkWgjs="; + }; } diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix index d1891d56fabf2..b40972d7696ff 100644 --- a/pkgs/development/interpreters/php/generic.nix +++ b/pkgs/development/interpreters/php/generic.nix @@ -382,14 +382,14 @@ let jq ] } - new_version=$(curl --silent "https://www.php.net/releases/active" | jq --raw-output '."${lib.versions.major version}"."${lib.versions.majorMinor version}".version') + new_version=$(curl --silent "https://www.php.net/releases/active.php" | jq --raw-output '."${lib.versions.major version}"."${lib.versions.majorMinor version}".version') update-source-version "$UPDATE_NIX_ATTR_PATH.unwrapped" "$new_version" "--file=$1" ''; in [ script # Passed as an argument so that update.nix can ensure it does not become a store path. - (./. + "/${lib.versions.majorMinor version}.nix") + ./default.nix ]; buildEnv = mkBuildEnv { } [ ]; withExtensions = mkWithExtensions { } [ ]; diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index 216f5807ea7d4..d8a31321a80cc 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -170,7 +170,16 @@ stdenv.mkDerivation { ++ lib.optional ( lib.versionOlder version "1.88" && stdenv.hostPlatform.isDarwin ) ./darwin-no-system-python.patch - ++ lib.optional (lib.versionOlder version "1.88") ./cmake-paths-173.patch + ++ lib.optionals (lib.versionOlder version "1.88") [ + ./cmake-paths-173.patch + # A typo in a template fails with clang >= 19 and gcc >= 15 + (fetchpatch { + url = "https://github.com/boostorg/thread/commit/49ccf9c30a0ca556873dbf64b12b0d741d1b3e66.patch"; + relative = "include"; + sha256 = "sha256-O1dH8H1kPZvj4ol47TvlW7+MIejy7uggcIOnZ2t8/UI="; + }) + ] + ++ lib.optional (lib.versionAtLeast version "1.88") ./cmake-paths-188.patch ++ lib.optional (version == "1.77.0") (fetchpatch { url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch"; diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 6310aff338aa0..4c6484e4bfeeb 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -151,7 +151,7 @@ withVorbis ? withHeadlessDeps, # Vorbis de/encoding, native encoder exists withVpl ? withFullDeps && stdenv.hostPlatform.isLinux, # Hardware acceleration via intel libvpl withVpx ? withHeadlessDeps && stdenv.buildPlatform == stdenv.hostPlatform, # VP8 & VP9 de/encoding - withVulkan ? withHeadlessDeps && !stdenv.hostPlatform.isDarwin, + withVulkan ? withHeadlessDeps, withVvenc ? withFullDeps && lib.versionAtLeast version "7.1", # H.266/VVC encoding withWebp ? withHeadlessDeps, # WebP encoder withWhisper ? withFullDeps && lib.versionAtLeast version "8.0", # Whisper speech recognition diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 9b2946d019fba..f81091318eb28 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -33,6 +33,7 @@ libpng ? null, libidn2, bison, + gettext, python3Minimal, }: @@ -237,6 +238,7 @@ stdenv.mkDerivation ( depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ bison + gettext python3Minimal ] ++ extraNativeBuildInputs; diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index 49c0852c3236e..eaf7cf401709e 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -177,7 +177,6 @@ stdenv.mkDerivation (finalAttrs: { description = "Middleware layer between C libraries and language bindings"; homepage = "https://gi.readthedocs.io/"; maintainers = with lib.maintainers; [ - lovek323 artturin ]; teams = [ lib.teams.gnome ]; diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix index 25e5492ef71a8..9420a6a203ab2 100644 --- a/pkgs/development/libraries/librdf/redland.nix +++ b/pkgs/development/libraries/librdf/redland.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation rec { ]; # Fix broken DT_NEEDED in lib/redland/librdf_storage_sqlite.so. - NIX_CFLAGS_LINK = "-lraptor2"; + env.NIX_CFLAGS_LINK = "-lraptor2"; doCheck = false; # fails 1 out of 17 tests with a segmentation fault diff --git a/pkgs/development/libraries/libsoup/3.x.nix b/pkgs/development/libraries/libsoup/3.x.nix index 7147c118426f1..81a11f4cc0da3 100644 --- a/pkgs/development/libraries/libsoup/3.x.nix +++ b/pkgs/development/libraries/libsoup/3.x.nix @@ -2,7 +2,6 @@ stdenv, lib, fetchurl, - fetchpatch, glib, meson, ninja, @@ -38,19 +37,6 @@ stdenv.mkDerivation rec { hash = "sha256-Ue0K4G+dWkD0Af9Fni5fZS+aUQt3MOE1nuZtFNSHJ0A="; }; - patches = [ - (fetchpatch { - name = "soup-init-use-libdl-instead-of-gmodule-in-soup2_is_loaded.patch"; - url = "https://gitlab.gnome.org/GNOME/libsoup/-/commit/2316e56a5502ac4c41ef4ff56a3266e680aca129.patch"; - hash = "sha256-6TOM6sygVPpBWjTNgFG37JFbJDl0t2f9Iwidvh/isa4="; - }) - (fetchpatch { - name = "CVE-2025-11021.patch"; - url = "https://gitlab.gnome.org/GNOME/libsoup/-/commit/9e1a427d2f047439d0320defe1593e6352595788.patch"; - hash = "sha256-08WiDnqg4//y8uPhIcV6svWdpRo27FmW+6DHy4OEZk8="; - }) - ]; - depsBuildBuild = [ pkg-config ]; diff --git a/pkgs/development/libraries/mesa/common.nix b/pkgs/development/libraries/mesa/common.nix index 9eaa4a2ab272b..84d4e018aefb5 100644 --- a/pkgs/development/libraries/mesa/common.nix +++ b/pkgs/development/libraries/mesa/common.nix @@ -5,14 +5,14 @@ # nix build .#legacyPackages.x86_64-darwin.mesa .#legacyPackages.aarch64-darwin.mesa rec { pname = "mesa"; - version = "26.0.0"; + version = "26.0.1"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "mesa"; repo = "mesa"; rev = "mesa-${version}"; - hash = "sha256-CUJi0qWmxjC6MxmXDKrza6bOjYwbh//NcTTI2Z165lI="; + hash = "sha256-t9IDsEikGvQWxJ7SCIwRGUaoxtlG0s633J1/dmrIr6c="; }; meta = { diff --git a/pkgs/development/libraries/mesa/darwin.nix b/pkgs/development/libraries/mesa/darwin.nix index 83f3e16bf4ad9..5e7743f117b6d 100644 --- a/pkgs/development/libraries/mesa/darwin.nix +++ b/pkgs/development/libraries/mesa/darwin.nix @@ -3,8 +3,12 @@ lib, stdenv, fetchFromGitLab, + apple-sdk_26, bison, + darwinMinVersionHook, flex, + glslang, + libpng, libxml2, llvmPackages, meson, @@ -15,8 +19,30 @@ libxext, libx11, libxcb, + libxshmfence, + spirv-llvm-translator, + spirv-tools, zlib, + eglPlatforms ? [ + "macos" + "x11" + ], + galliumDrivers ? [ + "llvmpipe" # software renderer + "softpipe" # older software renderer + ], + vulkanDrivers ? [ + "kosmickrisp" # Vulkan on Metal + ], + vulkanLayers ? [ + "anti-lag" + "intel-nullhw" + "overlay" + "screenshot" + "vram-report-limit" + ], }: + let common = import ./common.nix { inherit lib fetchFromGitLab; }; in @@ -28,6 +54,11 @@ stdenv.mkDerivation { meta ; + patches = [ + # Required to build KosmicKrisp + ./opencl.patch + ]; + outputs = [ "out" "dev" @@ -36,6 +67,9 @@ stdenv.mkDerivation { nativeBuildInputs = [ bison flex + # Use bin output from glslang to not propagate the dev output at + # the build time with the host glslang. + (lib.getBin glslang) meson ninja pkg-config @@ -46,12 +80,21 @@ stdenv.mkDerivation { ]; buildInputs = [ + apple-sdk_26 # KosmicKrisp requires Metal 4 to build, but … + (darwinMinVersionHook "15.0") # … it supports back to Metal 3.2, which requires macOS 15. + libpng libxml2 # should be propagated from libllvm + llvmPackages.libclang + llvmPackages.libclc llvmPackages.libllvm + python3Packages.python # for shebang + spirv-llvm-translator + spirv-tools libx11 libxext libxfixes libxcb + libxshmfence zlib ]; @@ -60,10 +103,30 @@ stdenv.mkDerivation { mesonFlags = [ "--sysconfdir=/etc" "--datadir=${placeholder "out"}/share" + + # What to build + (lib.mesonOption "platforms" (lib.concatStringsSep "," eglPlatforms)) + (lib.mesonOption "gallium-drivers" (lib.concatStringsSep "," galliumDrivers)) + (lib.mesonOption "vulkan-drivers" (lib.concatStringsSep "," vulkanDrivers)) + (lib.mesonOption "vulkan-layers" (lib.concatStringsSep "," vulkanLayers)) + + # Disable glvnd on Darwin (lib.mesonEnable "glvnd" false) + (lib.mesonEnable "gbm" false) + (lib.mesonBool "libgbm-external" false) + + # Needed for KosmicKrisp + (lib.mesonOption "clang-libdir" "${lib.getLib llvmPackages.libclang}/lib") (lib.mesonEnable "llvm" true) + (lib.mesonEnable "shared-llvm" true) + (lib.mesonEnable "spirv-tools" true) + + # Needed for Apple GLX support + (lib.mesonOption "glx" "dri") ]; + mesonBuildType = "release"; + passthru = { # needed to pass evaluation of bad platforms driverLink = throw "driverLink not supported on darwin"; diff --git a/pkgs/development/libraries/ngtcp2/default.nix b/pkgs/development/libraries/ngtcp2/default.nix index b05d452fa04d1..ef64f8584f54e 100644 --- a/pkgs/development/libraries/ngtcp2/default.nix +++ b/pkgs/development/libraries/ngtcp2/default.nix @@ -41,7 +41,10 @@ stdenv.mkDerivation (finalAttrs: { # This works in the dynamic case where the targets have the same name, but not here where they're suffixed with `_static`. # Also, the examples depend on Linux-specific APIs, so we avoid them on FreeBSD/Cygwin too. (lib.cmakeBool "ENABLE_LIB_ONLY" ( - stdenv.hostPlatform.isStatic || stdenv.hostPlatform.isFreeBSD || stdenv.hostPlatform.isCygwin + stdenv.hostPlatform.isStatic + || stdenv.hostPlatform.isFreeBSD + || stdenv.hostPlatform.isCygwin + || stdenv.hostPlatform.isWindows )) (lib.cmakeBool "ENABLE_SHARED_LIB" (!stdenv.hostPlatform.isStatic)) (lib.cmakeBool "ENABLE_STATIC_LIB" stdenv.hostPlatform.isStatic) @@ -58,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/ngtcp2/ngtcp2/releases/tag/v${finalAttrs.version}"; description = "Implementation of the QUIC protocol (RFC9000)"; license = lib.licenses.mit; - platforms = lib.platforms.unix; + platforms = lib.platforms.unix ++ lib.platforms.windows; maintainers = with lib.maintainers; [ izorkin ]; }; }) diff --git a/pkgs/development/libraries/ngtcp2/gnutls.nix b/pkgs/development/libraries/ngtcp2/gnutls.nix index 17e1f569f8c66..62b03f8b230e9 100644 --- a/pkgs/development/libraries/ngtcp2/gnutls.nix +++ b/pkgs/development/libraries/ngtcp2/gnutls.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "ngtcp2"; - version = "1.20.0"; + version = "1.21.0"; src = fetchFromGitHub { owner = "ngtcp2"; repo = "ngtcp2"; rev = "v${version}"; - hash = "sha256-8enkRWmPLZXBtlD9v8N7zuZB+Fv+igl30W7q2UqI2ZE="; + hash = "sha256-8dfktmiiwJ0CVB5BCNBLmTYuUG9Y9Ik2esJNmynJvCU="; }; outputs = [ diff --git a/pkgs/development/libraries/nvidia-vaapi-driver/default.nix b/pkgs/development/libraries/nvidia-vaapi-driver/default.nix index bc0275b695e7b..3100315733244 100644 --- a/pkgs/development/libraries/nvidia-vaapi-driver/default.nix +++ b/pkgs/development/libraries/nvidia-vaapi-driver/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "nvidia-vaapi-driver"; - version = "0.0.15"; + version = "0.0.16"; src = fetchFromGitHub { owner = "elFarto"; repo = "nvidia-vaapi-driver"; rev = "v${version}"; - sha256 = "sha256-q51ChAPcTKgYtMzcesKDDDeZRg0/+bSlA4VxsLKn/BA="; + sha256 = "sha256-9Gwr13j+JjU3BlN/8E3dKGmBj79rtR9rrZuOa1aYyYI="; }; patches = [ diff --git a/pkgs/development/libraries/pangomm/2.42.nix b/pkgs/development/libraries/pangomm/2.42.nix index ee82d7458730e..7353f68357abe 100644 --- a/pkgs/development/libraries/pangomm/2.42.nix +++ b/pkgs/development/libraries/pangomm/2.42.nix @@ -67,7 +67,6 @@ stdenv.mkDerivation rec { lgpl21 ]; maintainers = with lib.maintainers; [ - lovek323 raskin ]; platforms = lib.platforms.unix; diff --git a/pkgs/development/libraries/pangomm/2.48.nix b/pkgs/development/libraries/pangomm/2.48.nix index bcaee631a0058..3cc2d8a93b28c 100644 --- a/pkgs/development/libraries/pangomm/2.48.nix +++ b/pkgs/development/libraries/pangomm/2.48.nix @@ -61,7 +61,6 @@ stdenv.mkDerivation rec { homepage = "https://www.pango.org/"; license = lib.licenses.lgpl21Plus; maintainers = with lib.maintainers; [ - lovek323 raskin ]; teams = [ lib.teams.gnome ]; diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix index c572f36ced931..7e2c5f652a14c 100644 --- a/pkgs/development/libraries/pangomm/default.nix +++ b/pkgs/development/libraries/pangomm/default.nix @@ -56,7 +56,6 @@ stdenv.mkDerivation rec { lgpl21 ]; maintainers = with lib.maintainers; [ - lovek323 raskin ]; platforms = lib.platforms.unix; diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index 7e59defa4f05e..cb42d9d3ce0e7 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -20,6 +20,7 @@ pkgsBuildTarget, pkgsBuildBuild, + expat, libxdamage, libxcomposite, xrandr, @@ -357,6 +358,7 @@ qtModule ( harfbuzz icu + expat libevent ffmpeg_7 ] diff --git a/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh index c70bf22759de1..f2cbd39ac6cd7 100644 --- a/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh +++ b/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh @@ -1,13 +1,13 @@ if [[ -n "${__nix_qtbase-}" ]]; then # Throw an error if a different version of Qt was already set up. - if [[ "$__nix_qtbase" != "@out@" ]]; then + if [[ "$__nix_qtbase" != "@qtbaseOut@" ]]; then echo >&2 "Error: detected mismatched Qt dependencies:" - echo >&2 " @out@" + echo >&2 " @qtbaseOut@" echo >&2 " $__nix_qtbase" exit 1 fi else # Only set up Qt once. - __nix_qtbase="@out@" + __nix_qtbase="@qtbaseOut@" qtPluginPrefix=@qtPluginPrefix@ qtQmlPrefix=@qtQmlPrefix@ @@ -16,7 +16,7 @@ else # Only set up Qt once. . @fix_qt_module_paths@ # Build tools are often confused if QMAKE is unset. - export QMAKE=@out@/bin/qmake + export QMAKE=@qtbaseOut@/bin/qmake export QMAKEPATH= diff --git a/pkgs/development/libraries/qt-6/modules/qtbase/default.nix b/pkgs/development/libraries/qt-6/modules/qtbase/default.nix index 040041f93b3c8..710c572ac59cf 100644 --- a/pkgs/development/libraries/qt-6/modules/qtbase/default.nix +++ b/pkgs/development/libraries/qt-6/modules/qtbase/default.nix @@ -321,6 +321,13 @@ stdenv.mkDerivation { moveToOutput "mkspecs/modules" "$dev" fixQtModulePaths "$dev/mkspecs/modules" fixQtBuiltinPaths "$out" '*.pr?' + + # @out@ would be automagically replaced inside makeSetupHook by the output of that derivation, + # but we need it to be the output of this derivation. + # Use a different placeholder and explicitly substitute this + # to keep compatibility with __structuredAttrs and avoid substituteAll. + substituteInPlace "''${!outputDev}/nix-support/setup-hook" \ + --replace-fail "@qtbaseOut@" $out '' + lib.optionalString stdenv.hostPlatform.isLinux '' # FIXME: not sure why this isn't added automatically? diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix index 5756580d16807..d59d4fcb5c57e 100644 --- a/pkgs/development/libraries/wlroots/default.nix +++ b/pkgs/development/libraries/wlroots/default.nix @@ -27,6 +27,7 @@ libliftoff, libdisplay-info, lcms2, + evdev-proto, nixosTests, testers, @@ -88,7 +89,6 @@ let libliftoff libdisplay-info libGL - libcap libxkbcommon libgbm pixman @@ -102,10 +102,18 @@ let libxcb-render-util libxcb-wm ] + ++ lib.optional stdenv.hostPlatform.isLinux libcap + ++ lib.optional stdenv.hostPlatform.isFreeBSD evdev-proto ++ lib.optional finalAttrs.enableXWayland xwayland ++ extraBuildInputs; - mesonFlags = lib.optional (!finalAttrs.enableXWayland) "-Dxwayland=disabled"; + mesonFlags = [ + (lib.mesonEnable "xwayland" finalAttrs.enableXWayland) + ] + # The other allocator, udmabuf, is a linux-specific API + ++ lib.optionals (!stdenv.hostPlatform.isLinux) [ + (lib.mesonOption "allocators" "gbm") + ]; postFixup = '' # Install ALL example programs to $examples: @@ -136,7 +144,7 @@ let inherit (finalAttrs.src.meta) homepage; changelog = "https://gitlab.freedesktop.org/wlroots/wlroots/-/tags/${version}"; license = lib.licenses.mit; - platforms = lib.platforms.linux; + platforms = lib.platforms.linux ++ lib.platforms.freebsd; maintainers = with lib.maintainers; [ synthetica wineee diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix index dfcc51cb6e302..d7323462e13fe 100644 --- a/pkgs/development/lua-modules/generated-packages.nix +++ b/pkgs/development/lua-modules/generated-packages.nix @@ -814,15 +814,15 @@ final: prev: { }: buildLuarocksPackage { pname = "fzf-lua"; - version = "0.0.2484-1"; + version = "0.0.2516-1"; knownRockspec = (fetchurl { - url = "mirror://luarocks/fzf-lua-0.0.2484-1.rockspec"; - sha256 = "04cqaymz0h7wkv3mb0wzxzzmv3px380431fjrcyaxs8ppy5kdqqz"; + url = "mirror://luarocks/fzf-lua-0.0.2516-1.rockspec"; + sha256 = "0w4f1srklkg3jarl6nyp0inp31sl3ha7vz46jfiw632kkxwsmbnl"; }).outPath; src = fetchzip { - url = "https://github.com/ibhagwan/fzf-lua/archive/b2c0603216adb92c6bba81053bc996d7ae95b77a.zip"; - sha256 = "0qqh74dbr88y4m9hvmd5v743iapz4f7d6k0s0afcwpy7mjsfvkgd"; + url = "https://github.com/ibhagwan/fzf-lua/archive/29ee11c06e1b8c354cc5a3212e6d24c9b8ed4f22.zip"; + sha256 = "1fv0jwyw8lic4zbz0wmvlj9j5xs07f9pr18wr74h0zc1brr8y9c9"; }; disabled = luaOlder "5.1"; @@ -906,15 +906,15 @@ final: prev: { }: buildLuarocksPackage { pname = "grug-far.nvim"; - version = "1.6.60-1"; + version = "1.6.61-1"; knownRockspec = (fetchurl { - url = "mirror://luarocks/grug-far.nvim-1.6.60-1.rockspec"; - sha256 = "1p58vc0kaacrxgpcfsb2xbqgj4ndh1k2fjiv2c79pxb7kmyajj9g"; + url = "mirror://luarocks/grug-far.nvim-1.6.61-1.rockspec"; + sha256 = "1ray8bpww38rnbmxhs6sd62j5gxhv3d6xjmh0fpgdw0cmbsvb3qz"; }).outPath; src = fetchzip { - url = "https://github.com/MagicDuck/grug-far.nvim/archive/14babc9b4520184d9696ef282eb7ac20687d4373.zip"; - sha256 = "0qki472ri9h9y2n4q62kr4f2bpjdbmh67ljyxvps95y2czy3a4my"; + url = "https://github.com/MagicDuck/grug-far.nvim/archive/9370422e5cdd55321c0b8c4880082c5fd4e52e99.zip"; + sha256 = "1isd7jgm8wsc05fqp2srgyk3ikqsdb271x17dv8yky9p1j20gq52"; }; disabled = luaOlder "5.1"; @@ -937,15 +937,15 @@ final: prev: { }: buildLuarocksPackage { pname = "haskell-tools.nvim"; - version = "7.0.1-1"; + version = "7.0.3-1"; knownRockspec = (fetchurl { - url = "mirror://luarocks/haskell-tools.nvim-7.0.1-1.rockspec"; - sha256 = "0iy3c8zdj5m0mcj11vw91458dgh4g7y7yz3pc312gbbjq89pi07h"; + url = "mirror://luarocks/haskell-tools.nvim-7.0.3-1.rockspec"; + sha256 = "0zmarh3ypsfnh22zm3mqr4padjkzmlz622jnm2s5n5xkvfqjc4q8"; }).outPath; src = fetchzip { - url = "https://github.com/mrcjkb/haskell-tools.nvim/archive/v7.0.1.zip"; - sha256 = "0ibd2cdmfagmdi0v0m0l4yssnx9pfvw0cgs0gz0zlb403jsgm394"; + url = "https://github.com/mrcjkb/haskell-tools.nvim/archive/v7.0.3.zip"; + sha256 = "0hdd2qnhy0vki0qcj7xzs29xla0a1ccwmym163py45lhwlgnjxvw"; }; disabled = luaOlder "5.1"; @@ -2593,17 +2593,17 @@ final: prev: { }: buildLuarocksPackage { pname = "luaexpat"; - version = "1.4.1-1"; + version = "1.5.2-1"; knownRockspec = (fetchurl { - url = "mirror://luarocks/luaexpat-1.4.1-1.rockspec"; - sha256 = "1abwd385x7wnza7qqz5s4aj6m2l1c23pjmbgnpq73q0s17pn1h0c"; + url = "mirror://luarocks/luaexpat-1.5.2-1.rockspec"; + sha256 = "0wdbph2c92zmvvyp3q669rbjy1xjm7jy1i13lin8b636vswykw6p"; }).outPath; src = fetchFromGitHub { owner = "lunarmodules"; repo = "luaexpat"; - tag = "1.4.1"; - hash = "sha256-SnI+a7555R/EFFdnrvJohP6uzwQiMNQPqgp0jxAI178="; + tag = "1.5.2"; + hash = "sha256-PudxKlN4WKUUK/h6ekVNSa/C453CnLh3TxCncXIOiw8="; }; disabled = luaOlder "5.1"; @@ -2811,7 +2811,6 @@ final: prev: { luaposix = callPackage ( { - bit32, buildLuarocksPackage, fetchurl, fetchzip, @@ -2820,19 +2819,18 @@ final: prev: { }: buildLuarocksPackage { pname = "luaposix"; - version = "34.1.1-1"; + version = "36.3-1"; knownRockspec = (fetchurl { - url = "mirror://luarocks/luaposix-34.1.1-1.rockspec"; - sha256 = "0hx6my54axjcb3bklr991wji374qq6mwa3ily6dvb72vi2534nwz"; + url = "mirror://luarocks/luaposix-36.3-1.rockspec"; + sha256 = "0jwah6b1bxzck29zxbg479zm1sqmg7vafh7rrkfpibdbwnq01yzb"; }).outPath; src = fetchzip { - url = "http://github.com/luaposix/luaposix/archive/v34.1.1.zip"; - sha256 = "0863r8c69yx92lalj174qdhavqmcs2cdimjim6k55qj9yn78v9zl"; + url = "http://github.com/luaposix/luaposix/archive/v36.3.zip"; + sha256 = "0k05mpscsqx1yd5vy126brzc35xk55nck0g7m91vrbvvq3bcg824"; }; - disabled = luaOlder "5.1" || luaAtLeast "5.4"; - propagatedBuildInputs = [ bit32 ]; + disabled = luaOlder "5.1" || luaAtLeast "5.5"; meta = { homepage = "http://github.com/luaposix/luaposix/"; @@ -3335,15 +3333,15 @@ final: prev: { }: buildLuarocksPackage { pname = "luautf8"; - version = "0.2.0-1"; + version = "0.2.1-1"; knownRockspec = (fetchurl { - url = "mirror://luarocks/luautf8-0.2.0-1.rockspec"; - sha256 = "13lm2d7nc0igy739f3b9jrn4i4m373dqwkw41x0zzp0cm0v1c09m"; + url = "mirror://luarocks/luautf8-0.2.1-1.rockspec"; + sha256 = "0g4xkcikxd2n9scrlbjbdk9a1bbli6s5yw9l4n4b0ss49wgnmc2y"; }).outPath; src = fetchurl { - url = "https://github.com/starwing/luautf8/archive/refs/tags/0.2.0.tar.gz"; - sha256 = "0cmj4cp3sp3h2084qrix60vhrcg2xp56scn5qvsn8s5qjkci377p"; + url = "https://github.com/starwing/luautf8/archive/refs/tags/0.2.1.tar.gz"; + sha256 = "15455lyvjh5f6fgx41458nk7gak6q76k3aqjfp1xibk0v5f0flpa"; }; disabled = luaOlder "5.1"; @@ -3848,8 +3846,8 @@ final: prev: { src = fetchFromGitHub { owner = "leafo"; repo = "moonscript"; - rev = "74e1e55cef028f7a1ef5dc80c116cea4cec45545"; - hash = "sha256-iUQO3u16eB8ZhnTKwFt4gi8Y/U36ApQHTu1gWCALIb0="; + rev = "7b7899741c6c1e971e436d36c9aabb56f51dc3d5"; + hash = "sha256-iFPbO5h5EU4KDW0BN6JhRCT9vqEzv4ozsZETbbXaqUM="; }; disabled = luaOlder "5.1"; @@ -4645,21 +4643,21 @@ final: prev: { }: buildLuarocksPackage { pname = "rustaceanvim"; - version = "8.0.1-2"; + version = "8.0.3-2"; knownRockspec = (fetchurl { - url = "mirror://luarocks/rustaceanvim-8.0.1-2.rockspec"; - sha256 = "0z68k6amqdk5nrj8zrz5a0084nmrx9y4lhr85996ln07877ah2hc"; + url = "mirror://luarocks/rustaceanvim-8.0.3-2.rockspec"; + sha256 = "0a8w3j7wibrj94cb10x2nnvkcjs2cn8vag1mnrh32f2cr6cwjg0y"; }).outPath; src = fetchzip { - url = "https://github.com/mrcjkb/rustaceanvim/archive/refs/tags/v8.0.1.zip"; - sha256 = "1sizi01bll3bqgaf6fva5grsp5nlvmp5mj57qkbsm75iyj2cz1dp"; + url = "https://github.com/mrcjkb/rustaceanvim/archive/refs/tags/v8.0.3.zip"; + sha256 = "1gq26185qagx9p3al6zamsbpkvfy1kgg4yks7jxxnmhz4ydylbmg"; }; disabled = lua.luaversion != "5.1"; meta = { - homepage = "https://github.com/mrcjkb/rustaceanvim/archive/refs/tags/v8.0.1.zip"; + homepage = "https://github.com/mrcjkb/rustaceanvim/archive/refs/tags/v8.0.3.zip"; description = "🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim"; maintainers = with lib.maintainers; [ mrcjkb ]; license.fullName = "GPL-2.0-only"; @@ -5287,7 +5285,6 @@ final: prev: { buildLuarocksPackage, fetchFromGitHub, fetchurl, - luaAtLeast, luaOlder, }: buildLuarocksPackage { @@ -5305,7 +5302,7 @@ final: prev: { hash = "sha256-4il5mmRLtuyCJ2Nm1tKv2hXk7rmiq7Fppx9LMbjkne0="; }; - disabled = luaOlder "5.1" || luaAtLeast "5.5"; + disabled = luaOlder "5.1"; meta = { homepage = "http://manoelcampos.github.io/xml2lua/"; diff --git a/pkgs/development/lua-modules/nfd/default.nix b/pkgs/development/lua-modules/nfd/default.nix index 16e29d6cffcfc..0336fdce6c640 100644 --- a/pkgs/development/lua-modules/nfd/default.nix +++ b/pkgs/development/lua-modules/nfd/default.nix @@ -15,8 +15,8 @@ buildLuarocksPackage { src = fetchFromGitHub { owner = "Vexatos"; repo = "nativefiledialog"; - rev = "2f74a5758e8df9b27158d444953697bc13fe90d8"; - sha256 = "1f52mb0s9zrpsqjp10bx92wzqmy1lq7fg1fk1nd6xmv57kc3b1qv"; + rev = "bea4560b9269bdc142fef946ccd8682450748958"; + hash = "sha256-veCLHTmZU4puZW0NHeWFZa80XKc6w6gxVLjyBmTrejg="; fetchSubmodules = true; }; @@ -36,7 +36,7 @@ buildLuarocksPackage { ''; doInstallCheck = true; - installCheckInputs = [ lua.pkgs.busted ]; + nativeInstallCheckInputs = [ lua.pkgs.busted ]; installCheckPhase = '' busted lua/spec/ ''; diff --git a/pkgs/development/lua-modules/nfd/zenity.patch b/pkgs/development/lua-modules/nfd/zenity.patch index 59a91e0e546c3..5a16ad62a9183 100644 --- a/pkgs/development/lua-modules/nfd/zenity.patch +++ b/pkgs/development/lua-modules/nfd/zenity.patch @@ -1,13 +1,13 @@ diff --git a/lua/Makefile.linux b/lua/Makefile.linux -index 9f5aa68..77660d4 100644 +index 7afda4c..87b4a11 100644 --- a/lua/Makefile.linux +++ b/lua/Makefile.linux -@@ -37,5 +37,5 @@ nfd_zenity.o: src/nfd_zenity.c +@@ -37,5 +37,5 @@ clean: clean: rm nfd_common.o nfd_gtk.o nfd_wrap_lua.o nfd.so --install: nfd.so -- cp nfd.so $(INST_LIBDIR) +-install: nfd.so nfd_zenity.so +- cp nfd.so nfd_zenity.so $(INST_LIBDIR) +install: + cp nfd*.so $(INST_LIBDIR) diff --git a/lua/nfd-scm-1.rockspec b/lua/nfd-scm-1.rockspec diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index 2214cef83526c..f74de4b66ad52 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -17,6 +17,7 @@ fetchurl, fzf, glib, + glibcLocalesUtf8, gmp, gnulib, gnum4, @@ -50,6 +51,7 @@ tree-sitter, unbound, unzip, + util-linux, versionCheckHook, vimPlugins, yajl, @@ -450,7 +452,7 @@ in # ld: symbol(s) not found for architecture arm64 # clang-16: error: linker command failed with exit code 1 (use -v to see invocation) - meta.broken = stdenv.hostPlatform.isDarwin; + meta.broken = stdenv.hostPlatform.isDarwin || luaAtLeast "5.5"; }); lua-subprocess = prev.lua-subprocess.overrideAttrs { @@ -603,13 +605,17 @@ in }; }); - luaposix = prev.luaposix.overrideAttrs (_: { + luaposix = prev.luaposix.overrideAttrs (old: { externalDeps = [ { name = "CRYPT"; dep = libxcrypt; } ]; + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ + final.bit32 + final.std-normalize + ]; }); luaprompt = prev.luaprompt.overrideAttrs (old: { @@ -840,10 +846,6 @@ in ''; }); - nfd = prev.nfd.overrideAttrs { - strictDeps = false; - }; - nlua = prev.nlua.overrideAttrs { # patchShebang removes the nvim in nlua's shebang so we hardcode one @@ -871,7 +873,14 @@ in }; orgmode = prev.orgmode.overrideAttrs { - strictDeps = false; + doCheck = stdenv.hostPlatform.isLinux; + nativeCheckInputs = [ + neovim-unwrapped + glibcLocalesUtf8 # the tests run "vim.cmd.language('en_US.utf-8')" + writableTmpDirAsHomeHook + util-linux # for uuidgen + ]; + # Patch in tree-sitter-orgmode dependency postPatch = '' substituteInPlace lua/orgmode/config/init.lua \ @@ -882,6 +891,32 @@ in "require('orgmode.utils.treesitter.install').reinstall()" \ "pcall(function() vim.treesitter.language.add('org', { path = '${final.tree-sitter-orgmode}/lib/lua/${final.tree-sitter-orgmode.lua.luaversion}/parser/org.so'}) end)" ''; + + preCheck = ''LUA_PATH="lua/?.lua;lua/?/init.lua;$LUA_PATH"''; + + checkPhase = '' + runHook preCheck + + # bypass the download of plenary + substituteInPlace tests/minimal_init.lua --replace-fail \ + "plenary = 'https://github.com/nvim-lua/plenary.nvim.git'," \ + "" + + # remove failing tests + rm tests/plenary/colors/colors_spec.lua # colors depend on neovim version usually + rm tests/plenary/capture/capture_spec.lua # because clipboard not available + + # not sure why yet + rm tests/plenary/ui/mappings/date_spec.lua \ + tests/plenary/capture/templates_spec.lua + + # bypass upstream launcher that interacts with network + nvim --headless -i NONE \ + -u test/minimal_init.vim --cmd "set rtp+=${vimPlugins.plenary-nvim}" \ + -c "PlenaryBustedDirectory tests { sequential = true, minimal_init = './tests/minimal_init.lua' }" + + runHook postCheck + ''; }; plenary-nvim = prev.plenary-nvim.overrideAttrs { @@ -928,6 +963,7 @@ in rest-nvim = prev.rest-nvim.overrideAttrs { strictDeps = false; + meta.broken = luaAtLeast "5.5"; }; rocks-dev-nvim = prev.rocks-dev-nvim.overrideAttrs { @@ -1009,9 +1045,11 @@ in # we override 'luarocks test' because otherwise neovim doesn't find/loldd the plenary plugin checkPhase = '' + runHook preCheck nvim --headless -i NONE \ -u test/minimal_init.vim --cmd "set rtp+=${vimPlugins.plenary-nvim}" \ -c "PlenaryBustedDirectory test/auto/ { sequential = true, minimal_init = './test/minimal_init.vim' }" + runHook postCheck ''; }; @@ -1038,6 +1076,10 @@ in cargo rustPlatform.cargoSetupHook ]; + + meta = old.meta // { + broken = luaAtLeast "5.5"; + }; }); tl = prev.tl.overrideAttrs (old: { @@ -1067,51 +1109,17 @@ in }); tree-sitter-http = prev.tree-sitter-http.overrideAttrs (old: { - strictDeps = false; - propagatedBuildInputs = - let - # HACK: luarocks-nix puts rockspec build dependencies in the nativeBuildInputs, - # but that doesn't seem to work - lua = lib.head old.propagatedBuildInputs; - in - old.propagatedBuildInputs - ++ [ - lua.pkgs.luarocks-build-treesitter-parser - tree-sitter - ]; - nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ + tree-sitter writableTmpDirAsHomeHook ]; }); tree-sitter-norg = prev.tree-sitter-norg.overrideAttrs (old: { - propagatedBuildInputs = - let - # HACK: luarocks-nix puts rockspec build dependencies in the nativeBuildInputs, - # but that doesn't seem to work - lua = lib.head old.propagatedBuildInputs; - in - old.propagatedBuildInputs - ++ [ - lua.pkgs.luarocks-build-treesitter-parser-cpp - ]; - meta.broken = lua.luaversion != "5.1"; }); tree-sitter-orgmode = prev.tree-sitter-orgmode.overrideAttrs (old: { - strictDeps = false; - propagatedBuildInputs = - let - # HACK: luarocks-nix puts rockspec build dependencies in the nativeBuildInputs, - # but that doesn't seem to work - lua = lib.head old.propagatedBuildInputs; - in - old.propagatedBuildInputs - ++ [ - lua.pkgs.luarocks-build-treesitter-parser - ]; nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ writableTmpDirAsHomeHook tree-sitter @@ -1132,5 +1140,9 @@ in ''; }); + xml2lua = prev.xml2lua.overrideAttrs { + meta.broken = luaAtLeast "5.5"; + }; + # keep-sorted end } diff --git a/pkgs/development/misc/h3/default.nix b/pkgs/development/misc/h3/default.nix index ea7dc1db013ff..a18ab9a553f79 100644 --- a/pkgs/development/misc/h3/default.nix +++ b/pkgs/development/misc/h3/default.nix @@ -56,7 +56,7 @@ in }; h3_4 = generic { - version = "4.3.0"; - hash = "sha256-DUILKZ1QvML6qg+WdOxir6zRsgTvk+En6yjeFf6MQBg="; + version = "4.4.1"; + hash = "sha256-tKonXauTJiOb5DV56tOmnvba7eNYcWTnOvCSokheVsY="; }; } diff --git a/pkgs/development/misc/msp430/newlib.nix b/pkgs/development/misc/msp430/newlib.nix index b7a88a99de176..7c8b761585e29 100644 --- a/pkgs/development/misc/msp430/newlib.nix +++ b/pkgs/development/misc/msp430/newlib.nix @@ -6,7 +6,8 @@ }: stdenvNoCC.mkDerivation { - name = "msp430-${newlib.name}"; + pname = "msp430-${newlib.pname}"; + inherit (newlib) version; inherit newlib; inherit msp430GccSupport; diff --git a/pkgs/development/ocaml-modules/curl/default.nix b/pkgs/development/ocaml-modules/curl/default.nix new file mode 100644 index 0000000000000..4750685328b72 --- /dev/null +++ b/pkgs/development/ocaml-modules/curl/default.nix @@ -0,0 +1,34 @@ +{ + buildDunePackage, + pkg-config, + dune-configurator, + fetchurl, + lib, + curl, +}: + +buildDunePackage (finalAttrs: { + pname = "curl"; + version = "0.10.0"; + minimalOCamlVersion = "4.11"; + src = fetchurl { + url = "https://github.com/ygrek/ocurl/releases/download/${finalAttrs.version}/curl-${finalAttrs.version}.tbz"; + hash = "sha256-wU4hX9p/lCkqdY2a6Q97y8IVZMkZGQBkAR/M3PehKRQ="; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ dune-configurator ]; + propagatedBuildInputs = [ + curl + ]; + + checkInputs = [ ]; + doCheck = true; + + meta = { + description = "Bindings to libcurl"; + homepage = "https://ygrek.org/p/ocurl/"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vog ]; + }; +}) diff --git a/pkgs/development/ocaml-modules/curl/lwt.nix b/pkgs/development/ocaml-modules/curl/lwt.nix new file mode 100644 index 0000000000000..2bed9772d809a --- /dev/null +++ b/pkgs/development/ocaml-modules/curl/lwt.nix @@ -0,0 +1,23 @@ +{ + buildDunePackage, + curl, + lib, + lwt, +}: + +buildDunePackage (finalAttrs: { + pname = "curl_lwt"; + inherit (curl) version src; + + propagatedBuildInputs = [ + curl + lwt + ]; + + checkInputs = [ ]; + doCheck = true; + + meta = curl.meta // { + description = "Bindings to libcurl (lwt variant)"; + }; +}) diff --git a/pkgs/development/ocaml-modules/earlybird/default.nix b/pkgs/development/ocaml-modules/earlybird/default.nix index 50f7e67c30b3d..0e9ee6d94c9de 100644 --- a/pkgs/development/ocaml-modules/earlybird/default.nix +++ b/pkgs/development/ocaml-modules/earlybird/default.nix @@ -2,6 +2,7 @@ lib, fetchFromGitHub, buildDunePackage, + ocaml, cmdliner, dap, fmt, @@ -55,5 +56,6 @@ buildDunePackage (finalAttrs: { description = "OCaml debug adapter"; license = lib.licenses.mit; maintainers = [ lib.maintainers.romildo ]; + broken = ocaml.version == "4.14.3"; }; }) diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix index 1463cbf355b91..0a6729d8ad34e 100644 --- a/pkgs/development/ocaml-modules/elpi/default.nix +++ b/pkgs/development/ocaml-modules/elpi/default.nix @@ -18,7 +18,7 @@ coqPackages, version ? if lib.versionAtLeast ocaml.version "4.13" then - "3.4.2" + "3.4.5" else if lib.versionAtLeast ocaml.version "4.08" then "1.20.0" else @@ -34,6 +34,9 @@ in let fetched = coqPackages.metaFetch { + release."3.4.5".sha256 = "sha256-cck6XqC98Z9lb3CYS8K/aB1WOckjAyXzZ14vX41nJvI="; + release."3.4.4".sha256 = "sha256-SvNNAyBYIkSMv3rhx0wVu2JjHdGYUOqaFzZKGBMMebs="; + release."3.4.3".sha256 = "sha256-2bzUzUO/Ps1uxHHIzQx0pULme9upYxBBggenxaQrd+I="; release."3.4.2".sha256 = "sha256-w7GjKYZrVrfezJN0NLmzpVm6CFGVKxXszHADFGCw5cc="; release."3.4.1".sha256 = "sha256-3rQPw91dHAqp61KTHk1UOEqh5syWrZZ1V1/1eE8cyI8="; release."3.3.0".sha256 = "sha256:963f95eea48b8f853cca9cbe4db49f22343c58e88dc961bc1da303356ef50dcd"; diff --git a/pkgs/development/ocaml-modules/extlib/1.7.7.nix b/pkgs/development/ocaml-modules/extlib/1.7.7.nix index 0e4f326e177c1..643e05972142b 100644 --- a/pkgs/development/ocaml-modules/extlib/1.7.7.nix +++ b/pkgs/development/ocaml-modules/extlib/1.7.7.nix @@ -1,3 +1,4 @@ +# nixpkgs-update: no auto update # Older version of extlib for Haxe 4.0 and 4.1. # May be replaceable by the next extlib + extlib-base64 release. { diff --git a/pkgs/development/ocaml-modules/gdal/default.nix b/pkgs/development/ocaml-modules/gdal/default.nix new file mode 100644 index 0000000000000..4dc5e7b71a4fc --- /dev/null +++ b/pkgs/development/ocaml-modules/gdal/default.nix @@ -0,0 +1,34 @@ +{ + buildDunePackage, + ctypes-foreign, + fetchurl, + gdal, + lib, +}: + +buildDunePackage (finalAttrs: { + pname = "gdal"; + version = "0.11.0"; + src = fetchurl { + url = "https://github.com/ocaml-gdal/ocaml-gdal/archive/refs/tags/v${finalAttrs.version}.tar.gz"; + hash = "sha256-fW6bX4cv8eW2dsbv0SaeQwRpuPWB0mGzokQVjCaA8Z8="; + }; + postPatch = '' + substituteInPlace src/lib.ml \ + --replace-fail '"libgdal.so"' '"${gdal}/lib/libgdal.so"' + ''; + + propagatedBuildInputs = [ + ctypes-foreign + gdal + ]; + + doCheck = true; + + meta = { + description = "OCaml GDAL and OGR bindings"; + homepage = "https://github.com/ocaml-gdal/ocaml-gdal"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vog ]; + }; +}) diff --git a/pkgs/development/ocaml-modules/luv/default.nix b/pkgs/development/ocaml-modules/luv/default.nix index d055fa2108926..207d1a1aea3eb 100644 --- a/pkgs/development/ocaml-modules/luv/default.nix +++ b/pkgs/development/ocaml-modules/luv/default.nix @@ -1,3 +1,5 @@ +# nixpkgs-update: no auto update +# haxe depends on specific version of luv { lib, buildDunePackage, diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix index b0dcac2f2f42c..170f0e3fa8736 100644 --- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix @@ -52,17 +52,15 @@ let ]; in -buildDunePackage { - version = "6.0.0-unstable-2025-08-11"; +buildDunePackage (finalAttrs: { + version = "7.0.0"; pname = "ocsigenserver"; - minimalOCamlVersion = "4.08"; - src = fetchFromGitHub { owner = "ocsigen"; repo = "ocsigenserver"; - rev = "0d3c74d71fbdf738d1e45a98814b7ebdd1efe6c1"; - hash = "sha256-KEHTw4cCPRJSE4SAnUFWzeoiEz8y9nUQFpaFiNxAsiU="; + tag = finalAttrs.version; + hash = "sha256-J2XBelpRWJGeIF9RdC9+icJI1hc6Oe0k1w25QHZz0zs="; }; nativeBuildInputs = [ @@ -110,8 +108,7 @@ buildDunePackage { A full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages. ''; license = lib.licenses.lgpl21Only; - inherit (ocaml.meta) platforms; maintainers = [ lib.maintainers.gal_bolle ]; }; -} +}) diff --git a/pkgs/development/ocaml-modules/ocurl/default.nix b/pkgs/development/ocaml-modules/ocurl/default.nix index 625e59ff5bb5c..aed74a0360bf0 100644 --- a/pkgs/development/ocaml-modules/ocurl/default.nix +++ b/pkgs/development/ocaml-modules/ocurl/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { createFindlibDestdir = true; meta = { - description = "OCaml bindings to libcurl"; + description = "OCaml bindings to libcurl (deprecated)"; license = lib.licenses.mit; homepage = "http://ygrek.org.ua/p/ocurl/"; maintainers = with lib.maintainers; [ diff --git a/pkgs/development/ocaml-modules/pgx/default.nix b/pkgs/development/ocaml-modules/pgx/default.nix new file mode 100644 index 0000000000000..97ae2ff1d30a3 --- /dev/null +++ b/pkgs/development/ocaml-modules/pgx/default.nix @@ -0,0 +1,45 @@ +{ + alcotest, + buildDunePackage, + camlp-streams, + fetchurl, + hex, + ipaddr, + lib, + ppx_compare, + ppx_custom_printf, + ppx_sexp_conv, + re, + uuidm, +}: + +buildDunePackage (finalAttrs: { + pname = "pgx"; + version = "2.3"; + minimalOCamlVersion = "4.08"; + src = fetchurl { + url = "https://github.com/pgx-ocaml/pgx/archive/refs/tags/${finalAttrs.version}.tar.gz"; + hash = "sha256-Rp9PXsWI4cBc1YHD7uqKATrRt5tgNJowbaAFg1aeVKM="; + }; + + propagatedBuildInputs = [ + camlp-streams + hex + ipaddr + ppx_compare + ppx_custom_printf + ppx_sexp_conv + re + uuidm + ]; + + checkInputs = [ alcotest ]; + doCheck = true; + + meta = { + description = "Pure-OCaml PostgreSQL client library"; + homepage = "https://github.com/pgx-ocaml/pgx"; + license = lib.licenses.lgpl2Only; + maintainers = [ lib.maintainers.vog ]; + }; +}) diff --git a/pkgs/development/ocaml-modules/pgx/eio.nix b/pkgs/development/ocaml-modules/pgx/eio.nix new file mode 100644 index 0000000000000..18a0f2126b65b --- /dev/null +++ b/pkgs/development/ocaml-modules/pgx/eio.nix @@ -0,0 +1,29 @@ +{ + alcotest, + base64, + buildDunePackage, + eio, + eio_main, + pgx, +}: + +buildDunePackage (finalAttrs: { + pname = "pgx_eio"; + inherit (pgx) version src; + + propagatedBuildInputs = [ + eio + pgx + ]; + + checkInputs = [ + alcotest + base64 + eio_main + ]; + doCheck = true; + + meta = pgx.meta // { + description = "Pgx using Eio for IO"; + }; +}) diff --git a/pkgs/development/ocaml-modules/pgx/lwt.nix b/pkgs/development/ocaml-modules/pgx/lwt.nix new file mode 100644 index 0000000000000..55531389c5350 --- /dev/null +++ b/pkgs/development/ocaml-modules/pgx/lwt.nix @@ -0,0 +1,23 @@ +{ + buildDunePackage, + logs, + lwt, + pgx, +}: + +buildDunePackage (finalAttrs: { + pname = "pgx_lwt"; + inherit (pgx) version src; + + propagatedBuildInputs = [ + logs + lwt + pgx + ]; + + doCheck = true; + + meta = pgx.meta // { + description = "Pgx using Lwt for IO"; + }; +}) diff --git a/pkgs/development/ocaml-modules/pgx/lwt_unix.nix b/pkgs/development/ocaml-modules/pgx/lwt_unix.nix new file mode 100644 index 0000000000000..b9fdb01d85c5f --- /dev/null +++ b/pkgs/development/ocaml-modules/pgx/lwt_unix.nix @@ -0,0 +1,24 @@ +{ + alcotest-lwt, + base64, + buildDunePackage, + pgx, + pgx_lwt, +}: + +buildDunePackage (finalAttrs: { + pname = "pgx_lwt_unix"; + inherit (pgx) version src; + + propagatedBuildInputs = [ pgx_lwt ]; + + checkInputs = [ + alcotest-lwt + base64 + ]; + doCheck = true; + + meta = pgx.meta // { + description = "Pgx using Lwt and Unix libraries for IO"; + }; +}) diff --git a/pkgs/development/ocaml-modules/smtml/default.nix b/pkgs/development/ocaml-modules/smtml/default.nix index 145b26cfab013..bc1f9d6ec47f5 100644 --- a/pkgs/development/ocaml-modules/smtml/default.nix +++ b/pkgs/development/ocaml-modules/smtml/default.nix @@ -5,6 +5,7 @@ ocaml, fetchFromGitHub, menhir, + bitwuzla-cxx, bos, cmdliner, dolmen_model, @@ -47,6 +48,7 @@ buildDunePackage (finalAttrs: { ]; propagatedBuildInputs = [ + bitwuzla-cxx bos cmdliner dolmen_model diff --git a/pkgs/development/ocaml-modules/stdcompat/default.nix b/pkgs/development/ocaml-modules/stdcompat/default.nix index 25abe8fa96791..6409fb8fc2e5c 100644 --- a/pkgs/development/ocaml-modules/stdcompat/default.nix +++ b/pkgs/development/ocaml-modules/stdcompat/default.nix @@ -16,6 +16,8 @@ buildDunePackage rec { sha256 = "sha256-RSJ9AgUEmt23QZCk60ETIXmkJhG7knQe+s8wNxxIHm4="; }; + patches = [ ./ocaml-4_14_3.patch ]; + # Otherwise ./configure script will run and create files conflicting with dune. dontConfigure = true; diff --git a/pkgs/development/ocaml-modules/stdcompat/ocaml-4_14_3.patch b/pkgs/development/ocaml-modules/stdcompat/ocaml-4_14_3.patch new file mode 100644 index 0000000000000..eda0a82833303 --- /dev/null +++ b/pkgs/development/ocaml-modules/stdcompat/ocaml-4_14_3.patch @@ -0,0 +1,20 @@ +diff --git a/tools/compiler_version.ml b/tools/compiler_version.ml +index f675a20..c3e7912 100644 +--- a/tools/compiler_version.ml ++++ b/tools/compiler_version.ml +@@ -81,6 +81,7 @@ let v4_13_1 = mk 4 13 1 + let v4_14_0 = mk 4 14 0 + let v4_14_1 = mk 4 14 1 + let v4_14_2 = mk 4 14 2 ++let v4_14_3 = mk 4 14 3 + let v5_0_0 = mk 5 0 0 + let v5_1_0 = mk 5 1 0 + let v5_1_1 = mk 5 1 1 +@@ -127,6 +128,7 @@ let known_versions = + v4_14_0; + v4_14_1; + v4_14_2; ++ v4_14_3; + v5_0_0; + v5_1_0; + v5_1_1; diff --git a/pkgs/development/perl-modules/ImageExifTool/default.nix b/pkgs/development/perl-modules/ImageExifTool/default.nix index b2c9435cf7d22..938de51ee0957 100644 --- a/pkgs/development/perl-modules/ImageExifTool/default.nix +++ b/pkgs/development/perl-modules/ImageExifTool/default.nix @@ -12,13 +12,13 @@ buildPerlPackage rec { pname = "Image-ExifTool"; - version = "13.39"; + version = "13.52"; src = fetchFromGitHub { owner = "exiftool"; repo = "exiftool"; tag = version; - hash = "sha256-GPm3HOt7fNMbXRrV5V+ykJAfhww1O6NrD0l/7hA2i28="; + hash = "sha256-vsIktUk93fA8lqmphl2xk0Hqgh7VJ08LCP98NnD2o/Q="; }; postPatch = '' diff --git a/pkgs/development/python-modules/a2a-sdk/default.nix b/pkgs/development/python-modules/a2a-sdk/default.nix index 960b7d04ee197..c640fcb4bdf43 100644 --- a/pkgs/development/python-modules/a2a-sdk/default.nix +++ b/pkgs/development/python-modules/a2a-sdk/default.nix @@ -33,14 +33,14 @@ buildPythonPackage (finalAttrs: { pname = "a2a-sdk"; - version = "0.3.23"; + version = "0.3.24"; pyproject = true; src = fetchFromGitHub { owner = "a2aproject"; repo = "a2a-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-F7tu+coSNNrLT36DFaHdoFe7hBG5lA69O5ktnxfJlZI="; + hash = "sha256-NnLyLCoUFzTp9ji8OE+JxtCHMzy0Ri3uPLoN2HyAjxU="; }; build-system = [ diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix index 832648bceda26..6638dade8bdaa 100644 --- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix +++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix @@ -7,13 +7,13 @@ buildPythonPackage (finalAttrs: { pname = "adafruit-platformdetect"; - version = "3.87.0"; + version = "3.88.0"; pyproject = true; src = fetchPypi { pname = "adafruit_platformdetect"; inherit (finalAttrs) version; - hash = "sha256-RUkhGgTxydSCICkhBevVhaFYDYNTZye+jOLiHwyBFIY="; + hash = "sha256-3CGI3bNIv9KgKpUzJjKUzA8XYr2fazsghmVH2YggzXE="; }; build-system = [ setuptools-scm ]; diff --git a/pkgs/development/python-modules/adblock/default.nix b/pkgs/development/python-modules/adblock/default.nix index 075c73e566cb4..325032dac931c 100644 --- a/pkgs/development/python-modules/adblock/default.nix +++ b/pkgs/development/python-modules/adblock/default.nix @@ -60,7 +60,7 @@ buildPythonPackage rec { libiconv ]; - PSL_PATH = "${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"; + env.PSL_PATH = "${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"; nativeCheckInputs = [ pytestCheckHook diff --git a/pkgs/development/python-modules/aioairctrl/default.nix b/pkgs/development/python-modules/aioairctrl/default.nix index 4a1de2c77dfba..133027b1b5272 100644 --- a/pkgs/development/python-modules/aioairctrl/default.nix +++ b/pkgs/development/python-modules/aioairctrl/default.nix @@ -10,12 +10,12 @@ buildPythonPackage rec { pname = "aioairctrl"; - version = "0.2.5"; + version = "0.2.6"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-BPUV79S2A0F6vZA2pd3XNLpmRHTp6RSoNXPcI+OJRbk="; + hash = "sha256-mQNgkgQ83GOSc0g0ATctlr4ZeB7g8iGd4qTZfyoO8DM="; }; build-system = [ diff --git a/pkgs/development/python-modules/aiohomematic-config/default.nix b/pkgs/development/python-modules/aiohomematic-config/default.nix new file mode 100644 index 0000000000000..a5da572ad6cbc --- /dev/null +++ b/pkgs/development/python-modules/aiohomematic-config/default.nix @@ -0,0 +1,45 @@ +{ + aiohomematic, + buildPythonPackage, + fetchFromGitHub, + lib, + pydantic, + pytest-asyncio, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "aiohomematic-config"; + version = "2026.2.10"; + pyproject = true; + + src = fetchFromGitHub { + owner = "sukramj"; + repo = "aiohomematic-config"; + tag = finalAttrs.version; + hash = "sha256-gb6cxo2gTQU95G76YE46/U1O0Tmj1CRq0+lMLkDQzfg="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohomematic + pydantic + ]; + + pythonImportsCheck = [ "aiohomematic_config" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/sukramj/aiohomematic-config/blob/${finalAttrs.src.tag}/changelog.md"; + description = "Presentation-layer library for Homematic device configuration UI"; + homepage = "https://github.com/sukramj/aiohomematic-config"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +}) diff --git a/pkgs/development/python-modules/aiohomematic/default.nix b/pkgs/development/python-modules/aiohomematic/default.nix index 0a6a6a4987427..cab013487cebf 100644 --- a/pkgs/development/python-modules/aiohomematic/default.nix +++ b/pkgs/development/python-modules/aiohomematic/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "aiohomematic"; - version = "2026.2.0"; + version = "2026.2.27"; pyproject = true; src = fetchFromGitHub { owner = "SukramJ"; repo = "aiohomematic"; tag = version; - hash = "sha256-HMKrXFhs3s0wV+39/xMIQT77gkLPg9m21iTKlypfZLA="; + hash = "sha256-BwEW1U9ARTZ5QQh3XZ1J1zh9/pDCtp4PG6FGAYdxGBg="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/aiosendspin/default.nix b/pkgs/development/python-modules/aiosendspin/default.nix index 2a07a632890f5..f9c5f4a92c0fc 100644 --- a/pkgs/development/python-modules/aiosendspin/default.nix +++ b/pkgs/development/python-modules/aiosendspin/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "aiosendspin"; - version = "3.0.1"; + version = "2.1.0"; pyproject = true; src = fetchFromGitHub { owner = "Sendspin"; repo = "aiosendspin"; tag = version; - hash = "sha256-Z0hQyJayA/8OR6nkKxd1HfjskX+WBBkBl7l8rleV+fo="; + hash = "sha256-9VhNtfXH2r/cGkscz51PIK2/66pPOGv0S0IpO0wFvO4="; }; # https://github.com/Sendspin/aiosendspin/blob/1.2.0/pyproject.toml#L7 @@ -55,6 +55,9 @@ buildPythonPackage rec { "aiosendspin" ]; + # needs manual compat testing with music-assistant (sendspin provider) + passthru.skipBulkUpdate = true; # nixpkgs-update: no auto update + meta = { changelog = "https://github.com/Sendspin/aiosendspin/releases/tag/${src.tag}"; description = "Async Python library implementing the Sendspin Protocol"; diff --git a/pkgs/development/python-modules/aiotools/default.nix b/pkgs/development/python-modules/aiotools/default.nix new file mode 100644 index 0000000000000..407f8a55725c9 --- /dev/null +++ b/pkgs/development/python-modules/aiotools/default.nix @@ -0,0 +1,45 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools-scm, + async-lru, + pytestCheckHook, + pytest-asyncio, +}: + +buildPythonPackage (finalAttrs: { + pname = "aiotools"; + version = "2.2.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "achimnol"; + repo = "aiotools"; + tag = finalAttrs.version; + hash = "sha256-uIG3JPqep4NGtZa7Qo8SOK9Ca1GNKyuBasFtwR9oG8U="; + }; + + build-system = [ + setuptools-scm + ]; + + dependencies = [ + async-lru + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + ]; + + pythonImportsCheck = [ "aiotools" ]; + + meta = { + description = "Idiomatic asyncio utilities"; + homepage = "https://github.com/achimnol/aiotools"; + changelog = "https://github.com/achimnol/aiotools/blob/${finalAttrs.src.tag}/CHANGES.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ robertjakub ]; + }; +}) diff --git a/pkgs/development/python-modules/amaranth-soc/default.nix b/pkgs/development/python-modules/amaranth-soc/default.nix index 0823af52f1514..c6c00ed1ee690 100644 --- a/pkgs/development/python-modules/amaranth-soc/default.nix +++ b/pkgs/development/python-modules/amaranth-soc/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "amaranth-soc"; - version = "0.1a-unstable-2026-01-28"; + version = "0.1a-unstable-2026-02-24"; pyproject = true; # from `pdm show` realVersion = @@ -22,8 +22,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "amaranth-lang"; repo = "amaranth-soc"; - rev = "12a83ad650ae88fcc1b0821a4bb6f4bbf7e19707"; - hash = "sha256-qW2Uie4E/PeIHjTCEnnZwBO3mv4UBMH+vlYK+fHFh+Q="; + rev = "a585f4c6465c220076bfb029c5d991761a9ae128"; + hash = "sha256-h/+/qsktufQBYlVdBmWIPH1sqQzxsaPCW9bRZRNqCD0="; }; build-system = [ pdm-backend ]; diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix index 7cb4809d8ce4f..e53ddc829b018 100644 --- a/pkgs/development/python-modules/approvaltests/default.nix +++ b/pkgs/development/python-modules/approvaltests/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "approvaltests"; - version = "17.1.0"; + version = "17.1.1"; pyproject = true; src = fetchFromGitHub { owner = "approvals"; repo = "ApprovalTests.Python"; tag = "v${version}"; - hash = "sha256-lMuYRwLBtOXUD8hDIFIaGx3yQW2kNUX3PqhhXXUma8c="; + hash = "sha256-G5DcD1Xw3al9JOBPhGwmMttifPYTDjEQrcS2H3AXbiU="; }; postPatch = '' diff --git a/pkgs/development/python-modules/atproto/default.nix b/pkgs/development/python-modules/atproto/default.nix index 8d6ffc08b5099..055acdf93f842 100644 --- a/pkgs/development/python-modules/atproto/default.nix +++ b/pkgs/development/python-modules/atproto/default.nix @@ -36,7 +36,7 @@ buildPythonPackage rec { hash = "sha256-0NogKxYO+lCtNhK2ZWwRLQTV7rHU5Oz+lnE4awsoPsM="; }; - POETRY_DYNAMIC_VERSIONING_BYPASS = version; + env.POETRY_DYNAMIC_VERSIONING_BYPASS = version; build-system = [ poetry-core diff --git a/pkgs/development/python-modules/azure-kusto-data/default.nix b/pkgs/development/python-modules/azure-kusto-data/default.nix index 678d5bfa09e3d..ca49b4406394f 100644 --- a/pkgs/development/python-modules/azure-kusto-data/default.nix +++ b/pkgs/development/python-modules/azure-kusto-data/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "azure-kusto-data"; - version = "6.0.1"; + version = "6.0.2"; pyproject = true; src = fetchFromGitHub { owner = "Azure"; repo = "azure-kusto-python"; tag = "v${version}"; - hash = "sha256-ZwPF6YLb2w+Thds36UeQdx64SJqKHFXSQVv39YYQOHA="; + hash = "sha256-jg8VueMohp7z45va5Z+cF0Hz+RMW4Vd5AchJX/wngLc="; }; sourceRoot = "${src.name}/${pname}"; diff --git a/pkgs/development/python-modules/azure-kusto-ingest/default.nix b/pkgs/development/python-modules/azure-kusto-ingest/default.nix index e6bef7142123f..b711107e7f05e 100644 --- a/pkgs/development/python-modules/azure-kusto-ingest/default.nix +++ b/pkgs/development/python-modules/azure-kusto-ingest/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "azure-kusto-ingest"; - version = "6.0.1"; + version = "6.0.2"; pyproject = true; src = fetchFromGitHub { owner = "Azure"; repo = "azure-kusto-python"; tag = "v${version}"; - hash = "sha256-ZwPF6YLb2w+Thds36UeQdx64SJqKHFXSQVv39YYQOHA="; + hash = "sha256-jg8VueMohp7z45va5Z+cF0Hz+RMW4Vd5AchJX/wngLc="; }; sourceRoot = "${src.name}/${pname}"; diff --git a/pkgs/development/python-modules/b2sdk/default.nix b/pkgs/development/python-modules/b2sdk/default.nix index ba6469bfdc560..74bb155da240d 100644 --- a/pkgs/development/python-modules/b2sdk/default.nix +++ b/pkgs/development/python-modules/b2sdk/default.nix @@ -4,8 +4,8 @@ fetchFromGitHub, logfury, annotated-types, - packaging, - pdm-backend, + hatchling, + hatch-vcs, pytest-lazy-fixtures, pytest-mock, pytest-timeout, @@ -14,27 +14,30 @@ pythonOlder, requests, responses, + tenacity, tqdm, typing-extensions, }: buildPythonPackage rec { pname = "b2sdk"; - version = "2.10.2"; + version = "2.10.3"; pyproject = true; src = fetchFromGitHub { owner = "Backblaze"; repo = "b2-sdk-python"; tag = "v${version}"; - hash = "sha256-RWHD1ARPSKHmGKY0xdCBn3Qj4GxAfn4o8eacMQ5RT1k="; + hash = "sha256-Gu4MRfjNWuwEFn13U49dEndWA/HNPwrQdX9VEz1ny+M="; }; - build-system = [ pdm-backend ]; + build-system = [ + hatchling + hatch-vcs + ]; dependencies = [ annotated-types - packaging logfury requests ] @@ -46,6 +49,7 @@ buildPythonPackage rec { pytest-timeout pytestCheckHook responses + tenacity tqdm ]; diff --git a/pkgs/development/python-modules/backrefs/default.nix b/pkgs/development/python-modules/backrefs/default.nix index fb1c6ef011f08..b2325309e232c 100644 --- a/pkgs/development/python-modules/backrefs/default.nix +++ b/pkgs/development/python-modules/backrefs/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "backrefs"; - version = "6.1"; + version = "6.2"; pyproject = true; src = fetchFromGitHub { owner = "facelessuser"; repo = "backrefs"; tag = version; - hash = "sha256-MeQsEKHIB7WnITMUtRP4vLLr2DjvrorKHKWxgd07qko="; + hash = "sha256-y0scI6FBvjuvWLx1V3AHiGhtLB2Mk7jCx4hEjOv+ETA="; }; build-system = [ diff --git a/pkgs/development/python-modules/bandit/default.nix b/pkgs/development/python-modules/bandit/default.nix index 97b691c7e2a61..dfeb34ed0fb56 100644 --- a/pkgs/development/python-modules/bandit/default.nix +++ b/pkgs/development/python-modules/bandit/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "bandit"; - version = "1.9.3"; + version = "1.9.4"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-reS5t3hvie9vxzRKUrNFWMrsXadMuQNzrtAd6IRy93Q="; + hash = "sha256-tYnl3ir+cL1NU/oMHaYZn0CFr2Zv3gDooDTxUqUs1ig="; }; build-system = [ pbr ]; diff --git a/pkgs/development/python-modules/banks/default.nix b/pkgs/development/python-modules/banks/default.nix index 9798a2f50f931..2bb4a2189891e 100644 --- a/pkgs/development/python-modules/banks/default.nix +++ b/pkgs/development/python-modules/banks/default.nix @@ -29,7 +29,7 @@ buildPythonPackage (finalAttrs: { hash = "sha256-wa3refEIYQIPmtl8NGtoyg2PTY3zQt6R4EgXUbcUgrk="; }; - SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + env.SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/bimmer-connected/default.nix b/pkgs/development/python-modules/bimmer-connected/default.nix index 7ffc85411b0a2..bb1e96e450999 100644 --- a/pkgs/development/python-modules/bimmer-connected/default.nix +++ b/pkgs/development/python-modules/bimmer-connected/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { setuptools ]; - PBR_VERSION = version; + env.PBR_VERSION = version; dependencies = [ httpx diff --git a/pkgs/development/python-modules/bitsandbytes/default.nix b/pkgs/development/python-modules/bitsandbytes/default.nix index 4d33e8f943c08..29b135fb27fa2 100644 --- a/pkgs/development/python-modules/bitsandbytes/default.nix +++ b/pkgs/development/python-modules/bitsandbytes/default.nix @@ -163,11 +163,14 @@ buildPythonPackage { (lib.cmakeFeature "CMAKE_HIP_ARCHITECTURES" (builtins.concatStringsSep ";" rocmGpuTargets)) ]; - CUDA_HOME = lib.optionalString cudaSupport "${cuda-native-redist}"; - NVCC_PREPEND_FLAGS = lib.optionals cudaSupport [ - "-I${cuda-native-redist}/include" - "-L${cuda-native-redist}/lib" - ]; + + env = lib.optionalAttrs cudaSupport { + CUDA_HOME = cuda-native-redist; + NVCC_PREPEND_FLAGS = toString [ + "-I${cuda-native-redist}/include" + "-L${cuda-native-redist}/lib" + ]; + }; preBuild = '' make -j $NIX_BUILD_CORES diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index 5916ef1d00157..eaf3691b90a2e 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -358,13 +358,13 @@ buildPythonPackage (finalAttrs: { pname = "boto3-stubs"; - version = "1.42.54"; + version = "1.42.59"; pyproject = true; src = fetchPypi { pname = "boto3_stubs"; inherit (finalAttrs) version; - hash = "sha256-FyLqGLkG2KASEqy+IT4LpWboU+M9cwfNTZTnSAiUIUU="; + hash = "sha256-Sm/FIFYO5qLLngW9/NRdTgfZ+5HPSD3706Wrh+/muGA="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/botorch/default.nix b/pkgs/development/python-modules/botorch/default.nix index 71f90ae67c074..fb297754b3301 100644 --- a/pkgs/development/python-modules/botorch/default.nix +++ b/pkgs/development/python-modules/botorch/default.nix @@ -27,16 +27,16 @@ pythonAtLeast, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "botorch"; - version = "0.16.1"; + version = "0.17.0"; pyproject = true; src = fetchFromGitHub { owner = "meta-pytorch"; repo = "botorch"; - tag = "v${version}"; - hash = "sha256-8tmNw1Qa3lXxvndljRijGNN5RMjsYlT8zFFau23yp1U="; + tag = "v${finalAttrs.version}"; + hash = "sha256-NDdXsmVdrTEXMXXVf89EkGXVOYnEcXwtzarB5niTNaw="; }; build-system = [ @@ -102,10 +102,10 @@ buildPythonPackage rec { requiredSystemFeatures = [ "big-parallel" ]; meta = { - changelog = "https://github.com/meta-pytorch/botorch/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/meta-pytorch/botorch/blob/${finalAttrs.src.tag}/CHANGELOG.md"; description = "Bayesian Optimization in PyTorch"; homepage = "https://botorch.org"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ veprbl ]; }; -} +}) diff --git a/pkgs/development/python-modules/btrsync/default.nix b/pkgs/development/python-modules/btrsync/default.nix new file mode 100644 index 0000000000000..4662f578f343d --- /dev/null +++ b/pkgs/development/python-modules/btrsync/default.nix @@ -0,0 +1,38 @@ +{ + lib, + fetchFromGitHub, + buildPythonPackage, + setuptools, + btrfs-progs, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "btrsync"; + version = "0.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "andreittr"; + repo = "btrsync"; + tag = "v${version}"; + hash = "sha256-1LpHO70Yli9VG1UeqPZWM2qUMUbSbdgNP/r7FhUY/h4="; + }; + + build-system = [ setuptools ]; + + propagatedBuildInputs = [ btrfs-progs ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "btrsync" ]; + + meta = { + description = "Btrfs replication made easy"; + homepage = "https://github.com/andreittr/btrsync"; + changelog = "https://github.com/andreittr/btrsync/blob/${src.tag}/CHANGELOG.md"; + license = lib.licenses.gpl3Only; + mainProgram = "btrsync"; + maintainers = with lib.maintainers; [ bcyran ]; + }; +} diff --git a/pkgs/development/python-modules/bundlewrap/default.nix b/pkgs/development/python-modules/bundlewrap/default.nix index 14b3f5ab212e8..3efefe5656e46 100644 --- a/pkgs/development/python-modules/bundlewrap/default.nix +++ b/pkgs/development/python-modules/bundlewrap/default.nix @@ -8,7 +8,6 @@ librouteros, mako, packaging, - passlib, pyyaml, requests, setuptools, @@ -19,14 +18,14 @@ buildPythonPackage (finalAttrs: { pname = "bundlewrap"; - version = "4.24.0"; + version = "5.0.2"; pyproject = true; src = fetchFromGitHub { owner = "bundlewrap"; repo = "bundlewrap"; tag = finalAttrs.version; - hash = "sha256-ayLceqYZC4cNuz9C6v2+W2TuiGWQeLMssbvwZ0N0n78="; + hash = "sha256-kU76WvT4VE/78HTMjByoDHgkrg/5MlS5vnc6z6lAANw="; }; build-system = [ setuptools ]; @@ -37,7 +36,6 @@ buildPythonPackage (finalAttrs: { jinja2 mako packaging - passlib pyyaml requests tomlkit diff --git a/pkgs/development/python-modules/caldav/default.nix b/pkgs/development/python-modules/caldav/default.nix index 48fe9f81e0baa..4403aff4125f1 100644 --- a/pkgs/development/python-modules/caldav/default.nix +++ b/pkgs/development/python-modules/caldav/default.nix @@ -16,6 +16,8 @@ hatch-vcs, proxy-py, pyfakefs, + python-dateutil, + pyyaml, toPythonModule, tzlocal, vobject, @@ -25,14 +27,14 @@ buildPythonPackage rec { pname = "caldav"; - version = "2.2.3"; + version = "2.2.6"; pyproject = true; src = fetchFromGitHub { owner = "python-caldav"; repo = "caldav"; tag = "v${version}"; - hash = "sha256-v+r52YBrtE/FgUxOQoN0uLDmDOjJM7OvKQE1vZ49F+A="; + hash = "sha256-xtxWDlYESIwkow/YdjaUAkJ/x2jdUyhqfSRycJVLncY="; }; build-system = [ @@ -47,6 +49,8 @@ buildPythonPackage rec { icalendar icalendar-searcher recurring-ical-events + python-dateutil + pyyaml ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/carbon/default.nix b/pkgs/development/python-modules/carbon/default.nix index 7ea88b54262f4..86efd5ce79ff7 100644 --- a/pkgs/development/python-modules/carbon/default.nix +++ b/pkgs/development/python-modules/carbon/default.nix @@ -29,7 +29,7 @@ buildPythonPackage rec { # Carbon-s default installation is /opt/graphite. This env variable ensures # carbon is installed as a regular Python module. - GRAPHITE_NO_PREFIX = "True"; + env.GRAPHITE_NO_PREFIX = "True"; postPatch = '' substituteInPlace setup.py \ diff --git a/pkgs/development/python-modules/cassandra-driver/default.nix b/pkgs/development/python-modules/cassandra-driver/default.nix index bd577244aadf9..d4a86bc566a71 100644 --- a/pkgs/development/python-modules/cassandra-driver/default.nix +++ b/pkgs/development/python-modules/cassandra-driver/default.nix @@ -66,7 +66,7 @@ buildPythonPackage rec { ++ lib.concatAttrValues optional-dependencies; # This is used to determine the version of cython that can be used - CASS_DRIVER_ALLOWED_CYTHON_VERSION = cython.version; + env.CASS_DRIVER_ALLOWED_CYTHON_VERSION = cython.version; preBuild = '' export CASS_DRIVER_BUILD_CONCURRENCY=$NIX_BUILD_CORES diff --git a/pkgs/development/python-modules/certbot-dns-wedos/default.nix b/pkgs/development/python-modules/certbot-dns-wedos/default.nix new file mode 100644 index 0000000000000..a34d525163e38 --- /dev/null +++ b/pkgs/development/python-modules/certbot-dns-wedos/default.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + acme, + certbot, + setuptools, + requests, + pytz, +}: + +buildPythonPackage rec { + pname = "certbot-dns-wedos"; + version = "2.4"; + pyproject = true; + + src = fetchPypi { + inherit version; + pname = "certbot_dns_wedos"; + hash = "sha256-Sle3hoBLwVPF30caCyYtt3raY5Gs9ekg0DthvHxvB4E="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + certbot + acme + requests + pytz + ]; + + pythonImportsCheck = [ "certbot_dns_wedos" ]; + + meta = { + description = "Wedos DNS Authenticator plugin for Certbot"; + homepage = "https://github.com/clazzor/certbot-dns-wedos"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.tsandrini ]; + }; +} diff --git a/pkgs/development/python-modules/claude-agent-sdk/default.nix b/pkgs/development/python-modules/claude-agent-sdk/default.nix index cdae500e20384..3f7177a39da87 100644 --- a/pkgs/development/python-modules/claude-agent-sdk/default.nix +++ b/pkgs/development/python-modules/claude-agent-sdk/default.nix @@ -13,14 +13,14 @@ buildPythonPackage (finalAttrs: { pname = "claude-agent-sdk"; - version = "0.1.39"; + version = "0.1.44"; pyproject = true; src = fetchFromGitHub { owner = "anthropics"; repo = "claude-agent-sdk-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-Us2YNfm2WOZVAgNMLhH8ZIWqdSwD2wGHqFQxukDVT+Q="; + hash = "sha256-YRXSQsJYNhwV43x1iQbnwm23Hllr/SXl8Fv91/AWh8Y="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/cogapp/default.nix b/pkgs/development/python-modules/cogapp/default.nix index 84eeceeeb9c90..1c45e6152ee37 100644 --- a/pkgs/development/python-modules/cogapp/default.nix +++ b/pkgs/development/python-modules/cogapp/default.nix @@ -29,6 +29,6 @@ buildPythonPackage rec { homepage = "https://nedbatchelder.com/code/cog"; changelog = "https://github.com/nedbat/cog/blob/${src.tag}/CHANGELOG.rst"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/cohere/default.nix b/pkgs/development/python-modules/cohere/default.nix index bad029613fe82..dacb16c3f1d5a 100644 --- a/pkgs/development/python-modules/cohere/default.nix +++ b/pkgs/development/python-modules/cohere/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "cohere"; - version = "5.20.5"; + version = "5.20.7"; pyproject = true; src = fetchFromGitHub { owner = "cohere-ai"; repo = "cohere-python"; tag = version; - hash = "sha256-eVifLH1IG3O4OlXWkKV6nS4UB1W5cbQPGkrxuz8IF7Q="; + hash = "sha256-oHYCQBJhBc4fWnXW1OyXdm+Ni46kIo9UoO84cKZHKgo="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/concurrent-log-handler/default.nix b/pkgs/development/python-modules/concurrent-log-handler/default.nix index a87f8f0feed4f..18315cc61f858 100644 --- a/pkgs/development/python-modules/concurrent-log-handler/default.nix +++ b/pkgs/development/python-modules/concurrent-log-handler/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "concurrent-log-handler"; - version = "0.9.28"; + version = "0.9.29"; pyproject = true; src = fetchPypi { pname = "concurrent_log_handler"; inherit version; - hash = "sha256-TMJ5abNCAjm9FTd5Jm9A2XE+zoFOMSt6p1POYsbqzbg="; + hash = "sha256-vDenbT84TL9KmPaT69dwVD7cD0zVxqtrxw6eHX1YImU="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/cppe/default.nix b/pkgs/development/python-modules/cppe/default.nix index 63c05e7998a7d..5bbaffa08e053 100644 --- a/pkgs/development/python-modules/cppe/default.nix +++ b/pkgs/development/python-modules/cppe/default.nix @@ -42,7 +42,9 @@ buildPythonPackage { buildInputs = [ pybind11 ] ++ lib.optional stdenv.cc.isClang llvmPackages.openmp; - NIX_CFLAGS_LINK = lib.optional stdenv.cc.isClang "-lomp"; + env = lib.optionalAttrs stdenv.cc.isClang { + NIX_CFLAGS_LINK = "-lomp"; + }; hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow"; diff --git a/pkgs/development/python-modules/crewai/default.nix b/pkgs/development/python-modules/crewai/default.nix index 1f49c26e19262..3b938347e5e7a 100644 --- a/pkgs/development/python-modules/crewai/default.nix +++ b/pkgs/development/python-modules/crewai/default.nix @@ -35,28 +35,47 @@ uv, # tests - pytestCheckHook, + a2a-sdk, + aiocache, + anthropic, + boto3, + google-genai, pytest-asyncio, + pytest-recording, pytest-xdist, + pytestCheckHook, qdrant-client, vcrpy, versionCheckHook, writableTmpDirAsHomeHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "crewai"; - version = "1.8.1"; + version = "1.9.3"; pyproject = true; src = fetchFromGitHub { owner = "crewAIInc"; repo = "crewAI"; - tag = version; - hash = "sha256-MQx1FOh2bwbkDbvR6aP5z071xwbGT8bxK9OjhskdVyI="; + tag = finalAttrs.version; + hash = "sha256-bhpmR8sGDTjHw9JBa5oz4vHEF3gJT/fvvoCvPfYkJEQ="; }; - sourceRoot = "${src.name}/lib/crewai"; + postPatch = '' + substituteInPlace ../../conftest.py \ + --replace-fail \ + "import vcr.stubs.httpx_stubs as httpx_stubs" \ + "import vcr.stubs.httpcore_stubs as httpx_stubs" \ + --replace-fail \ + "def _patched_make_vcr_request(httpx_request: Any, **kwargs: Any) -> Any:" \ + "def _patched_make_vcr_request(httpx_request: Any, request_body: Any = None, **kwargs: Any) -> Any:" \ + --replace-fail \ + "raw_body = httpx_request.read()" \ + "raw_body = request_body if request_body is not None else httpx_request.read()" + ''; + + sourceRoot = "${finalAttrs.src.name}/lib/crewai"; build-system = [ hatchling ]; @@ -148,6 +167,16 @@ buildPythonPackage rec { # Tests requiring crewai-tools "tests/agents/test_lite_agent.py" + + # Tests requiring crewai-files + "tests/llms/test_multimodal.py" + "tests/llms/test_multimodal_integration.py" + "tests/test_agent_multimodal.py" + "tests/test_crew_multimodal.py" + "tests/test_flow_multimodal.py" + "tests/tools/agent_tools/test_read_file_tool.py" + "tests/utilities/test_file_store.py" + "tests/utilities/test_files.py" ]; disabledTests = [ @@ -425,16 +454,64 @@ buildPythonPackage rec { "test_supports_function_calling_false" # Tests requiring network + "test_agent_events_have_event_ids" + "test_agent_kickoff_async_delegates_to_a2a" + "test_agent_kickoff_returns_lite_agent_output" + "test_agent_kickoff_with_failed_a2a_endpoint" "test_agent_max_iterations_stops_loop" + "test_agent_without_a2a_works_normally" + "test_agent_without_tools_no_thought_in_output" + "test_anthropic_agent_with_native_tool_calling" + "test_anthropic_streaming_emits_tool_call_events" + "test_crew_completed_after_started" + "test_crew_events_have_event_ids" + "test_crew_memory_with_google_vertex_embedder" + "test_crew_parent_is_method" + "test_fetch_agent_card" + "test_flow_events_have_ids" + "test_gemini_agent_with_native_tool_calling" + "test_gemini_streaming_emits_tool_call_events" + "test_gemini_streaming_multiple_tool_calls_unique_ids" + "test_llm_events_have_parent" + "test_max_usage_count_limit_enforced_in_native_tool_calling" + "test_max_usage_count_tracked_in_native_tool_calling" + "test_method_parent_is_flow" + "test_native_tool_calling_error_handling" + "test_openai_agent_with_native_tool_calling" + "test_openai_native_tool_calling_token_usage" + "test_openai_streaming_emits_tool_call_events" + "test_polling_completes_task" + "test_second_crew_after_first" + "test_send_message_and_get_response" + "test_simple_task_clean_output" + "test_streaming_completes_task" + "test_streaming_distinguishes_text_and_tool_calls" "test_task_output_includes_messages" + "test_task_parent_is_crew" + "test_tasks_have_correct_crew_parents" + "test_tool_call_event_accumulates_arguments" + "test_tool_call_events_have_consistent_tool_id" + "test_tool_usage_increments_after_successful_execution" + "test_two_crews_have_different_ids" # Not work with nixpkgs-review "test_concurrent_ainvoke_calls" + + # Tests requiring missing dependency azure-ai-inference + "test_azure_agent_with_native_tool_calling" + "test_azure_agent_kickoff_with_tools_mocked" + "test_azure_streaming_emits_tool_call_events" ]; nativeCheckInputs = [ + a2a-sdk + aiocache + anthropic + boto3 + google-genai pytestCheckHook pytest-asyncio + pytest-recording pytest-xdist qdrant-client vcrpy @@ -449,10 +526,10 @@ buildPythonPackage rec { meta = { description = "Framework for orchestrating role-playing, autonomous AI agents"; homepage = "https://github.com/crewAIInc/crewAI"; - changelog = "https://github.com/crewAIInc/crewAI/releases/tag/${src.tag}"; + changelog = "https://github.com/crewAIInc/crewAI/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ liberodark ]; platforms = lib.platforms.linux; mainProgram = "crewai"; }; -} +}) diff --git a/pkgs/development/python-modules/cucumber-expressions/default.nix b/pkgs/development/python-modules/cucumber-expressions/default.nix index 1624c6f45fd2d..757b5eded4bd6 100644 --- a/pkgs/development/python-modules/cucumber-expressions/default.nix +++ b/pkgs/development/python-modules/cucumber-expressions/default.nix @@ -9,18 +9,23 @@ buildPythonPackage rec { pname = "cucumber-expressions"; - version = "18.1.0"; + version = "19.0.0"; pyproject = true; src = fetchFromGitHub { owner = "cucumber"; repo = "cucumber-expressions"; tag = "v${version}"; - hash = "sha256-X/ukgf5+Tn0G9E40W8KsVfo3f0NYEOnYWag4IXmHjY8="; + hash = "sha256-0KuHvByHYx7/mjySfWIKp1+ZYw+XNO25eoo5DhPcUsY="; }; sourceRoot = "${src.name}/python"; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.9.0,<0.10.0" uv_build + ''; + build-system = [ uv-build ]; pythonImportsCheck = [ "cucumber_expressions" ]; diff --git a/pkgs/development/python-modules/cucumber-tag-expressions/default.nix b/pkgs/development/python-modules/cucumber-tag-expressions/default.nix index c470b58b890b8..745250882b326 100644 --- a/pkgs/development/python-modules/cucumber-tag-expressions/default.nix +++ b/pkgs/development/python-modules/cucumber-tag-expressions/default.nix @@ -5,27 +5,30 @@ pytestCheckHook, pytest-html, pyyaml, - setuptools, - setuptools-scm, + uv-build, }: buildPythonPackage rec { pname = "cucumber-tag-expressions"; - version = "7.0.0"; + version = "9.1.0"; pyproject = true; src = fetchFromGitHub { owner = "cucumber"; repo = "tag-expressions"; tag = "v${version}"; - hash = "sha256-U8x7c4NeP9GdwormQD79RWcAA2B39Yvrf/Zk0xTUtNA="; + hash = "sha256-jkuez7C3YDGmv484Lmc5PszVbnVXkcC12RryvTJkxxg="; }; sourceRoot = "${src.name}/python"; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.10.0,<0.11.0" uv_build + ''; + build-system = [ - setuptools - setuptools-scm + uv-build ]; nativeCheckInputs = [ @@ -35,6 +38,7 @@ buildPythonPackage rec { ]; meta = { + changelog = "https://github.com/cucumber/tag-expressions/blob/${src.tag}/CHANGELOG.md"; homepage = "https://github.com/cucumber/tag-expressions"; description = "Provides tag-expression parser for cucumber/behave"; license = lib.licenses.mit; diff --git a/pkgs/development/python-modules/cython/0.nix b/pkgs/development/python-modules/cython/0.nix index a54ebfa8b1562..53d0847d1d908 100644 --- a/pkgs/development/python-modules/cython/0.nix +++ b/pkgs/development/python-modules/cython/0.nix @@ -58,7 +58,7 @@ buildPythonPackage rec { ncurses ]; - LC_ALL = "en_US.UTF-8"; + env.LC_ALL = "en_US.UTF-8"; patches = [ # backport Cython 3.0 trashcan support (https://github.com/cython/cython/pull/2842) to 0.X series. diff --git a/pkgs/development/python-modules/dalle-mini/default.nix b/pkgs/development/python-modules/dalle-mini/default.nix deleted file mode 100644 index 9c227162d3512..0000000000000 --- a/pkgs/development/python-modules/dalle-mini/default.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - fetchpatch, - - # dependencies - einops, - emoji, - flax, - ftfy, - jax, - jaxlib, - orbax-checkpoint, - pillow, - pydantic, - transformers, - unidecode, - wandb, -}: - -buildPythonPackage rec { - pname = "dalle-mini"; - version = "0.1.5"; - pyproject = true; - - src = fetchPypi { - inherit pname version; - hash = "sha256-k4XILjNNz0FPcAzwPEeqe5Lj24S2Y139uc9o/1IUS1c="; - }; - - # Fix incompatibility with the latest JAX versions - # See https://github.com/borisdayma/dalle-mini/pull/338 - patches = [ - (fetchpatch { - url = "https://github.com/borisdayma/dalle-mini/pull/338/commits/22ffccf03f3e207731a481e3e42bdb564ceebb69.patch"; - hash = "sha256-LIOyfeq/oVYukG+1rfy5PjjsJcjADCjn18x/hVmLkPY="; - }) - ]; - - pythonRelaxDeps = [ - "transformers" - "jax" - "flax" - ]; - - pythonRemoveDeps = [ - "orbax" - ]; - - dependencies = [ - einops - emoji - flax - ftfy - jax - jaxlib - orbax-checkpoint - pillow - pydantic - transformers - unidecode - wandb - ]; - - doCheck = false; # no upstream tests - - pythonImportsCheck = [ "dalle_mini" ]; - - meta = { - description = "Generate images from a text prompt"; - homepage = "https://github.com/borisdayma/dalle-mini"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ r-burns ]; - }; -} diff --git a/pkgs/development/python-modules/devpi-common/default.nix b/pkgs/development/python-modules/devpi-common/default.nix index 3afa306d79133..9612d04024aa9 100644 --- a/pkgs/development/python-modules/devpi-common/default.nix +++ b/pkgs/development/python-modules/devpi-common/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, lazy, packaging-legacy, pytestCheckHook, @@ -12,17 +12,20 @@ nix-update-script, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "devpi-common"; - version = "4.1.0"; + version = "4.1.1"; pyproject = true; - src = fetchPypi { - pname = "devpi-common"; - inherit version; - hash = "sha256-WNf3YeP+f9/kScSmqeI1DU3fvrZssPbSCAJRQpQwMNM="; + src = fetchFromGitHub { + owner = "devpi"; + repo = "devpi"; + tag = "common-${finalAttrs.version}"; + hash = "sha256-YFY2iLnORzFxnfGYU2kCpJL8CZi+lALIkL1bRpfd4NE="; }; + sourceRoot = "${finalAttrs.src.name}/common"; + build-system = [ setuptools setuptools-changelog-shortener @@ -44,11 +47,12 @@ buildPythonPackage rec { meta = { homepage = "https://github.com/devpi/devpi"; description = "Utilities jointly used by devpi-server and devpi-client"; - changelog = "https://github.com/devpi/devpi/blob/common-${version}/common/CHANGELOG"; + changelog = "https://github.com/devpi/devpi/blob/common-${finalAttrs.version}/common/CHANGELOG"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ + confus lewo makefu ]; }; -} +}) diff --git a/pkgs/development/python-modules/devpi-ldap/default.nix b/pkgs/development/python-modules/devpi-ldap/default.nix index cbb78585c1daf..d5cb45aa89954 100644 --- a/pkgs/development/python-modules/devpi-ldap/default.nix +++ b/pkgs/development/python-modules/devpi-ldap/default.nix @@ -6,18 +6,18 @@ ldap3, mock, pytest-cov-stub, - pytest-flake8, pytestCheckHook, pythonOlder, pythonAtLeast, pyyaml, setuptools, + setuptools-changelog-shortener, webtest, }: -buildPythonPackage { +buildPythonPackage (finalAttrs: { pname = "devpi-ldap"; - version = "2.1.1-unstable-2023-11-28"; + version = "2.1.1-unstable-2026-01-22"; pyproject = true; # build-system broken for 3.14, package incompatible <3.13 @@ -26,11 +26,14 @@ buildPythonPackage { src = fetchFromGitHub { owner = "devpi"; repo = "devpi-ldap"; - rev = "281a21d4e8d11bfec7dca2cf23fa39660a6d5796"; - hash = "sha256-vwX0bOb2byN3M6iBk0tZJy8H39fjwBYvA0Nxi7OTzFQ="; + rev = "5846e66a9206079c16321bd0f65c565ebe32be5f"; + hash = "sha256-2LpreWmG6WMRrc5L7ylSej5Ce6VhfNDAW2eoJ76D49o="; }; - build-system = [ setuptools ]; + build-system = [ + setuptools + setuptools-changelog-shortener + ]; dependencies = [ devpi-server @@ -42,7 +45,6 @@ buildPythonPackage { devpi-server mock pytest-cov-stub - pytest-flake8 pytestCheckHook webtest ]; @@ -52,8 +54,8 @@ buildPythonPackage { meta = { description = "LDAP authentication for devpi-server"; homepage = "https://github.com/devpi/devpi-ldap"; - changelog = "https://github.com/devpi/devpi-ldap/blob/main/CHANGELOG.rst"; + changelog = "https://github.com/devpi/devpi-ldap/blob/${finalAttrs.src.rev}/CHANGELOG.rst"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ confus ]; }; -} +}) diff --git a/pkgs/development/python-modules/dissect-fve/default.nix b/pkgs/development/python-modules/dissect-fve/default.nix index 3928c194c7ecf..4060621d69b71 100644 --- a/pkgs/development/python-modules/dissect-fve/default.nix +++ b/pkgs/development/python-modules/dissect-fve/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "dissect-fve"; - version = "4.5"; + version = "4.6"; pyproject = true; src = fetchFromGitHub { owner = "fox-it"; repo = "dissect.fve"; tag = version; - hash = "sha256-Lg29WJfXvjdhGtkZowzXgH9zzockoGkei1s9hgLr/gg="; + hash = "sha256-VNkMqnv0LFvqVIQzk086o4UDH3bcK3HgF0HdYmhpNgY="; }; build-system = [ diff --git a/pkgs/development/python-modules/dissect-ntfs/default.nix b/pkgs/development/python-modules/dissect-ntfs/default.nix index 57751da636af5..2e2513c2d1eb9 100644 --- a/pkgs/development/python-modules/dissect-ntfs/default.nix +++ b/pkgs/development/python-modules/dissect-ntfs/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "dissect-ntfs"; - version = "3.15"; + version = "3.16"; pyproject = true; src = fetchFromGitHub { owner = "fox-it"; repo = "dissect.ntfs"; tag = version; - hash = "sha256-dd0AGkOXd+7VB6RIGiLoq1AFi4Uns1axW4V8MN8W7ao="; + hash = "sha256-5B27K6HPxSgdYLp0rJ1ld37xS3JXGqGlS/nlx4HBsVY="; }; build-system = [ diff --git a/pkgs/development/python-modules/django-annoying/default.nix b/pkgs/development/python-modules/django-annoying/default.nix index 5ececfb350419..efc39512ad25e 100644 --- a/pkgs/development/python-modules/django-annoying/default.nix +++ b/pkgs/development/python-modules/django-annoying/default.nix @@ -28,7 +28,7 @@ buildPythonPackage (finalAttrs: { six ]; - DJANGO_SETTINGS_MODULE = "tests.settings"; + env.DJANGO_SETTINGS_MODULE = "tests.settings"; nativeCheckInputs = [ pytest-django diff --git a/pkgs/development/python-modules/django-anymail/default.nix b/pkgs/development/python-modules/django-anymail/default.nix index 4301eee23da08..157506501cb29 100644 --- a/pkgs/development/python-modules/django-anymail/default.nix +++ b/pkgs/development/python-modules/django-anymail/default.nix @@ -2,11 +2,14 @@ lib, boto3, buildPythonPackage, + cryptography, django, fetchFromGitHub, hatchling, + idna, mock, - python, + pytest-django, + pytestCheckHook, requests, responses, urllib3, @@ -28,24 +31,43 @@ buildPythonPackage rec { dependencies = [ django + idna requests urllib3 ]; + optional-dependencies = { + amazon-ses = [ boto3 ]; + postal = [ cryptography ]; + sendgrid = [ cryptography ]; + # not packaged + # resend = [ svix ]; + # uts46 = [ uts46 ]; + }; + nativeCheckInputs = [ mock responses + pytest-django + pytestCheckHook ] ++ optional-dependencies.amazon-ses; - optional-dependencies = { - amazon-ses = [ boto3 ]; - }; + disabledTestMarks = [ "live" ]; + + disabledTests = [ + # misrecognized as a fixture due to function name starting with test_ + "test_file_content" + ]; + + disabledTestPaths = [ + # likely guessed mime type mismatch + "tests/test_resend_backend.py::ResendBackendStandardEmailTests::test_attachments" + ]; - checkPhase = '' - runHook preCheck - CONTINUOUS_INTEGRATION=1 ${python.interpreter} runtests.py - runHook postCheck + preCheck = '' + export CONTINOUS_INTEGRATION=1 + export DJANGO_SETTINGS_MODULE=tests.test_settings.settings_${lib.versions.major django.version}_0 ''; pythonImportsCheck = [ "anymail" ]; diff --git a/pkgs/development/python-modules/django-cacheops/default.nix b/pkgs/development/python-modules/django-cacheops/default.nix index c6a046b2cd323..f0c7d41d02a59 100644 --- a/pkgs/development/python-modules/django-cacheops/default.nix +++ b/pkgs/development/python-modules/django-cacheops/default.nix @@ -54,7 +54,7 @@ buildPythonPackage rec { redisTestHook ]; - DJANGO_SETTINGS_MODULE = "tests.settings"; + env.DJANGO_SETTINGS_MODULE = "tests.settings"; meta = { description = "Slick ORM cache with automatic granular event-driven invalidation for Django"; diff --git a/pkgs/development/python-modules/django-celery-email/default.nix b/pkgs/development/python-modules/django-celery-email/default.nix index 258db03a52a14..368dce09ba1e7 100644 --- a/pkgs/development/python-modules/django-celery-email/default.nix +++ b/pkgs/development/python-modules/django-celery-email/default.nix @@ -28,7 +28,7 @@ buildPythonPackage rec { celery ]; - DJANGO_SETTINGS_MODULE = "tests.settings"; + env.DJANGO_SETTINGS_MODULE = "tests.settings"; nativeCheckInputs = [ pytest-django diff --git a/pkgs/development/python-modules/django-ckeditor/default.nix b/pkgs/development/python-modules/django-ckeditor/default.nix index 1c05c28ba54d5..d33dae8bcff64 100644 --- a/pkgs/development/python-modules/django-ckeditor/default.nix +++ b/pkgs/development/python-modules/django-ckeditor/default.nix @@ -31,7 +31,7 @@ buildPythonPackage rec { pillow ]; - DJANGO_SETTINGS_MODULE = "ckeditor_demo.settings"; + env.DJANGO_SETTINGS_MODULE = "ckeditor_demo.settings"; checkInputs = [ django-extensions diff --git a/pkgs/development/python-modules/django-currentuser/default.nix b/pkgs/development/python-modules/django-currentuser/default.nix index edee115866a81..dff62ccdc31eb 100644 --- a/pkgs/development/python-modules/django-currentuser/default.nix +++ b/pkgs/development/python-modules/django-currentuser/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "django-currentuser"; - version = "0.9.0"; + version = "0.10.0"; pyproject = true; src = fetchFromGitHub { owner = "zsoldosp"; repo = "django-currentuser"; tag = "v${version}"; - hash = "sha256-pfgsVsWM/aehZZAQzjL1fdsqWlfnquOniu76UoLPREI="; + hash = "sha256-1fg1KRu685hnAyHCOKKqvwU/K8Sm4D7/TRKLBI2tBu0="; }; build-system = [ diff --git a/pkgs/development/python-modules/django-hierarkey/default.nix b/pkgs/development/python-modules/django-hierarkey/default.nix index f7bcb1f949382..f366fb3fa58c7 100644 --- a/pkgs/development/python-modules/django-hierarkey/default.nix +++ b/pkgs/development/python-modules/django-hierarkey/default.nix @@ -39,7 +39,7 @@ buildPythonPackage rec { pytestCheckHook ]; - DJANGO_SETTINGS_MODULE = "tests.settings"; + env.DJANGO_SETTINGS_MODULE = "tests.settings"; enabledTestPaths = [ "tests" ]; diff --git a/pkgs/development/python-modules/django-pydantic-field/default.nix b/pkgs/development/python-modules/django-pydantic-field/default.nix index 124b6b8e9bdaa..2d420c755a63b 100644 --- a/pkgs/development/python-modules/django-pydantic-field/default.nix +++ b/pkgs/development/python-modules/django-pydantic-field/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "django-pydantic-field"; - version = "0.5.2"; + version = "0.5.4"; pyproject = true; src = fetchFromGitHub { owner = "surenkov"; repo = "django-pydantic-field"; tag = "v${version}"; - hash = "sha256-BqQurRjtA9AxvagmMIt+QjKKVdyFo+LVgn/vYS6+Ayc="; + hash = "sha256-pnB6kYfN67102Z3R41BHIWnWoJQgd/ixyT+bbtY9PC8="; }; postPatch = '' diff --git a/pkgs/development/python-modules/django-sekizai/default.nix b/pkgs/development/python-modules/django-sekizai/default.nix index 36c9ce04a0ec5..f32a2a9f9cc76 100644 --- a/pkgs/development/python-modules/django-sekizai/default.nix +++ b/pkgs/development/python-modules/django-sekizai/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "sekizai" ]; - DJANGO_SETTINGS_MODULE = "tests.settings"; + env.DJANGO_SETTINGS_MODULE = "tests.settings"; meta = { description = "Define placeholders where your blocks get rendered and append to those blocks"; diff --git a/pkgs/development/python-modules/django-stubs/default.nix b/pkgs/development/python-modules/django-stubs/default.nix index 575840c15ca37..d601c1a6063b8 100644 --- a/pkgs/development/python-modules/django-stubs/default.nix +++ b/pkgs/development/python-modules/django-stubs/default.nix @@ -28,6 +28,11 @@ buildPythonPackage rec { hash = "sha256-42FluS2fmfgj4qk2u+Z/7TGhXY4WKUc0cI00go6rnGc="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.9.9,<0.10.0" "uv_build>=0.9.9" + ''; + build-system = [ uv-build ]; dependencies = [ diff --git a/pkgs/development/python-modules/django-tinymce/default.nix b/pkgs/development/python-modules/django-tinymce/default.nix index 82d7e0b063746..9e66148afb6b3 100644 --- a/pkgs/development/python-modules/django-tinymce/default.nix +++ b/pkgs/development/python-modules/django-tinymce/default.nix @@ -23,7 +23,7 @@ buildPythonPackage rec { dependencies = [ django ]; - DJANGO_SETTINGS_MODULE = "tests.settings"; + env.DJANGO_SETTINGS_MODULE = "tests.settings"; checkInputs = [ pytest-django diff --git a/pkgs/development/python-modules/djmail/default.nix b/pkgs/development/python-modules/djmail/default.nix index 432e09e41aeee..27884eac344da 100644 --- a/pkgs/development/python-modules/djmail/default.nix +++ b/pkgs/development/python-modules/djmail/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { nativeBuildInputs = [ glibcLocales ]; - LC_ALL = "en_US.UTF-8"; + env.LC_ALL = "en_US.UTF-8"; propagatedBuildInputs = [ celery diff --git a/pkgs/development/python-modules/doc8/default.nix b/pkgs/development/python-modules/doc8/default.nix index b0eb3ef93ea41..3ed87d5f50819 100644 --- a/pkgs/development/python-modules/doc8/default.nix +++ b/pkgs/development/python-modules/doc8/default.nix @@ -23,6 +23,8 @@ buildPythonPackage rec { hash = "sha256-EmetMnWJcfvPmRRCQXo5Nce8nlJVDnNiLg5WulXqHUA="; }; + pythonRelaxDeps = [ "docutils" ]; + build-system = [ setuptools-scm wheel @@ -40,6 +42,10 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; + pytestFlags = [ + "-Wignore::PendingDeprecationWarning" + ]; + pythonImportsCheck = [ "doc8" ]; meta = { diff --git a/pkgs/development/python-modules/dogpile-cache/default.nix b/pkgs/development/python-modules/dogpile-cache/default.nix index 0f0c8c5a4c1eb..a68fcad4bdb3c 100644 --- a/pkgs/development/python-modules/dogpile-cache/default.nix +++ b/pkgs/development/python-modules/dogpile-cache/default.nix @@ -6,6 +6,7 @@ pytestCheckHook, mako, decorator, + stdenv, stevedore, typing-extensions, }: @@ -34,6 +35,19 @@ buildPythonPackage rec { mako ]; + disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ + # AssertionError: != 'some value 1' + "test_expire_override" + # flaky + "test_get_value_plus_created_long_create" + "test_get_value_plus_created_registry_safe_cache_quick" + "test_get_value_plus_created_registry_safe_cache_slow" + "test_get_value_plus_created_registry_unsafe_cache" + "test_quick" + "test_return_while_in_progress" + "test_slow" + ]; + meta = { description = "Caching front-end based on the Dogpile lock"; homepage = "https://github.com/sqlalchemy/dogpile.cache"; diff --git a/pkgs/development/python-modules/ducc0/default.nix b/pkgs/development/python-modules/ducc0/default.nix index 7262ba256ab8c..61e02af2b93df 100644 --- a/pkgs/development/python-modules/ducc0/default.nix +++ b/pkgs/development/python-modules/ducc0/default.nix @@ -30,8 +30,10 @@ buildPythonPackage rec { substituteInPlace pyproject.toml --replace-fail '"pybind11>=2.13.6", ' "" ''; - DUCC0_USE_NANOBIND = ""; - DUCC0_OPTIMIZATION = "portable"; + env = { + DUCC0_USE_NANOBIND = ""; + DUCC0_OPTIMIZATION = "portable"; + }; build-system = [ cmake diff --git a/pkgs/development/python-modules/egauge-async/default.nix b/pkgs/development/python-modules/egauge-async/default.nix new file mode 100644 index 0000000000000..efc63ec440dc2 --- /dev/null +++ b/pkgs/development/python-modules/egauge-async/default.nix @@ -0,0 +1,55 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + uv-dynamic-versioning, + httpx, + pytest-asyncio, + pytest-mock, + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "egauge-async"; + version = "0.4.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "neggert"; + repo = "egauge-async"; + tag = "v${finalAttrs.version}"; + hash = "sha256-VESByB7TwB8jjvRMeNGIzJYurKGS4OqDYTw9f1QTyX8="; + }; + + build-system = [ + hatchling + uv-dynamic-versioning + ]; + + dependencies = [ + httpx + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytest-mock + pytestCheckHook + ]; + + disabledTestMarks = [ + "integration" + ]; + + pythonImportsCheck = [ + "egauge_async" + ]; + + meta = { + description = "Async client for eGauge energy monitor"; + homepage = "https://github.com/neggert/egauge-async"; + changelog = "https://github.com/neggert/egauge-async/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ jamiemagee ]; + }; +}) diff --git a/pkgs/development/python-modules/emailthreads/default.nix b/pkgs/development/python-modules/emailthreads/default.nix index 21eced43f96c5..fdb06f2436cc1 100644 --- a/pkgs/development/python-modules/emailthreads/default.nix +++ b/pkgs/development/python-modules/emailthreads/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { nativeCheckInputs = [ unittestCheckHook ]; - PKGVER = version; + env.PKGVER = version; meta = { homepage = "https://github.com/emersion/python-emailthreads"; diff --git a/pkgs/development/python-modules/eyed3/default.nix b/pkgs/development/python-modules/eyed3/default.nix index 033ead5438079..56fdbb9cc5943 100644 --- a/pkgs/development/python-modules/eyed3/default.nix +++ b/pkgs/development/python-modules/eyed3/default.nix @@ -39,7 +39,7 @@ buildPythonPackage rec { downloadPage = "https://github.com/nicfit/eyeD3"; homepage = "https://eyed3.nicfit.net/"; license = lib.licenses.gpl2; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; longDescription = '' eyeD3 is a Python module and command line program for processing ID3 diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix index c15988dbd5c42..7a5549113695d 100644 --- a/pkgs/development/python-modules/faker/default.nix +++ b/pkgs/development/python-modules/faker/default.nix @@ -48,6 +48,6 @@ buildPythonPackage rec { mainProgram = "faker"; homepage = "http://faker.rtfd.org"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/fastapi-sso/default.nix b/pkgs/development/python-modules/fastapi-sso/default.nix index 73598fa3fc107..b4eda6492b348 100644 --- a/pkgs/development/python-modules/fastapi-sso/default.nix +++ b/pkgs/development/python-modules/fastapi-sso/default.nix @@ -17,14 +17,14 @@ buildPythonPackage (finalAttrs: { pname = "fastapi-sso"; - version = "0.20.0"; + version = "0.21.0"; pyproject = true; src = fetchFromGitHub { owner = "tomasvotava"; repo = "fastapi-sso"; tag = finalAttrs.version; - hash = "sha256-bj6csovJSVhzVaPfktJ68cOgULVifT1Ql14SL+paVG0="; + hash = "sha256-5CtblFFKf1b7ja5zF6oTtdKvUdWR9cQypiK4XzMVA5s="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/fastgit/default.nix b/pkgs/development/python-modules/fastgit/default.nix index 1e2dba6e7bf48..aa04f08132c72 100644 --- a/pkgs/development/python-modules/fastgit/default.nix +++ b/pkgs/development/python-modules/fastgit/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "fastgit"; - version = "0.0.2"; + version = "0.0.3"; pyproject = true; src = fetchFromGitHub { owner = "AnswerDotAI"; repo = "fastgit"; tag = finalAttrs.version; - hash = "sha256-l843vKDC3RZGMhmnvPxAQPkvXPGQwmuqe310j/2e2pM="; + hash = "sha256-Ta4gL6iqUJ/eYHPMhFV73AQ5UOAR9l7Tqpt3jRRUNR0="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/fava/default.nix b/pkgs/development/python-modules/fava/default.nix index 0c2db1d6bb9b5..7f83827ad604d 100644 --- a/pkgs/development/python-modules/fava/default.nix +++ b/pkgs/development/python-modules/fava/default.nix @@ -58,12 +58,6 @@ buildPythonPackage { patches = [ ./dont-compile-frontend.patch - # https://github.com/beancount/fava/pull/2176 - (fetchpatch2 { - name = "fix-have-excel-replacement.patch"; - url = "https://github.com/beancount/fava/commit/36eba34495d189cd391fae0276aa1b6c94940203.patch?full_index=1"; - hash = "sha256-XSkzygnq8eHkIcp1TT7J3NdcLCIwUxDoyipO4M9M3nE="; - }) ]; postPatch = '' diff --git a/pkgs/development/python-modules/fing-agent-api/default.nix b/pkgs/development/python-modules/fing-agent-api/default.nix new file mode 100644 index 0000000000000..87f76998a570c --- /dev/null +++ b/pkgs/development/python-modules/fing-agent-api/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + httpx, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "fing-agent-api"; + version = "1.0.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "fingltd"; + repo = "fing-agent-pyapi"; + tag = finalAttrs.version; + hash = "sha256-tkFTkWYvWw/x2k+jT6lu/Takacm6aDX4hn8thnGZf5g="; + }; + + build-system = [ setuptools ]; + + dependencies = [ httpx ]; + + # upstream has no tests + doCheck = false; + + pythonImportsCheck = [ "fing_agent_api" ]; + + meta = { + changelog = "https://github.com/fingltd/fing-agent-pyapi/releases/tag/${finalAttrs.version}"; + description = "Python library for interacting with the Fingbox local APIs"; + homepage = "https://github.com/fingltd/fing-agent-pyapi"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ jamiemagee ]; + }; +}) diff --git a/pkgs/development/python-modules/fints/4.nix b/pkgs/development/python-modules/fints/4.nix new file mode 100644 index 0000000000000..089e022842ebb --- /dev/null +++ b/pkgs/development/python-modules/fints/4.nix @@ -0,0 +1,53 @@ +{ + lib, + buildPythonPackage, + setuptools, + fetchFromGitHub, + bleach, + mt-940, + pretix-banktool, + requests, + sepaxml, + pytestCheckHook, + pytest-mock, +}: + +buildPythonPackage rec { + version = "4.2.4"; + pname = "fints"; + pyproject = true; + + src = fetchFromGitHub { + owner = "raphaelm"; + repo = "python-fints"; + tag = "v${version}"; + hash = "sha256-la5vpWBoZ7hZsAyjjCqHpFfOykDVosI/S9amox1dmzY="; + }; + + pythonRemoveDeps = [ "enum-tools" ]; + + build-system = [ setuptools ]; + + dependencies = [ + bleach + mt-940 + requests + sepaxml + ]; + + __darwinAllowLocalNetworking = true; + + pythonImportsCheck = [ "fints" ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-mock + ]; + + meta = { + homepage = "https://github.com/raphaelm/python-fints/"; + description = "Pure-python FinTS (formerly known as HBCI) implementation"; + license = lib.licenses.lgpl3Only; + inherit (pretix-banktool.meta) maintainers; + }; +} diff --git a/pkgs/development/python-modules/fints/default.nix b/pkgs/development/python-modules/fints/default.nix index ecd12bedf238f..ff1fd5cd52a33 100644 --- a/pkgs/development/python-modules/fints/default.nix +++ b/pkgs/development/python-modules/fints/default.nix @@ -4,6 +4,7 @@ setuptools, fetchFromGitHub, bleach, + lxml, mt-940, requests, sepaxml, @@ -12,7 +13,7 @@ }: buildPythonPackage rec { - version = "4.2.4"; + version = "5.0.0"; pname = "fints"; pyproject = true; @@ -20,7 +21,7 @@ buildPythonPackage rec { owner = "raphaelm"; repo = "python-fints"; tag = "v${version}"; - hash = "sha256-la5vpWBoZ7hZsAyjjCqHpFfOykDVosI/S9amox1dmzY="; + hash = "sha256-ll2+PtcGQiY5nbQTKVetd2ecDBVSXgzWP4Vzzri1Trs="; }; pythonRemoveDeps = [ "enum-tools" ]; @@ -29,6 +30,7 @@ buildPythonPackage rec { dependencies = [ bleach + lxml mt-940 requests sepaxml diff --git a/pkgs/development/python-modules/firecrawl-py/default.nix b/pkgs/development/python-modules/firecrawl-py/default.nix index 3055d73165b5a..efc8e3752b312 100644 --- a/pkgs/development/python-modules/firecrawl-py/default.nix +++ b/pkgs/development/python-modules/firecrawl-py/default.nix @@ -3,6 +3,7 @@ aiohttp, buildPythonPackage, fetchFromGitHub, + httpx, nest-asyncio, pydantic, python-dotenv, @@ -11,24 +12,25 @@ websockets, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "firecrawl-py"; - version = "2.7.0"; + version = "2.8.0"; pyproject = true; src = fetchFromGitHub { owner = "mendableai"; repo = "firecrawl"; - tag = "v${version}"; - hash = "sha256-l42FfMrkqeFuAB4Sibxe4J+lifePSu2naIySEUGPQW0="; + tag = "v${finalAttrs.version}"; + hash = "sha256-7dB3jdp5jkRiNx63C5sjs3t85fuz5vzurfvYY5jWQyU="; }; - sourceRoot = "${src.name}/apps/python-sdk"; + sourceRoot = "${finalAttrs.src.name}/apps/python-sdk"; build-system = [ setuptools ]; dependencies = [ aiohttp + httpx nest-asyncio pydantic python-dotenv @@ -44,8 +46,8 @@ buildPythonPackage rec { meta = { description = "Turn entire websites into LLM-ready markdown or structured data. Scrape, crawl and extract with a single API"; homepage = "https://firecrawl.dev"; - changelog = "https://github.com/mendableai/firecrawl/releases/tag/${src.tag}"; + changelog = "https://github.com/mendableai/firecrawl/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/fish-audio-sdk/default.nix b/pkgs/development/python-modules/fish-audio-sdk/default.nix new file mode 100644 index 0000000000000..dc0f2e355d530 --- /dev/null +++ b/pkgs/development/python-modules/fish-audio-sdk/default.nix @@ -0,0 +1,59 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + httpx, + httpx-ws, + ormsgpack, + pydantic, + typing-extensions, + pytestCheckHook, + pytest-asyncio, + pytest-cov-stub, +}: + +buildPythonPackage (finalAttrs: { + pname = "fish-audio-sdk"; + version = "1.2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "fishaudio"; + repo = "fish-audio-python"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Ht3lVuJE1wv+Ky/q5quhO8C4mkw6EO4LkO/wSevRUhg="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + httpx + httpx-ws + ormsgpack + pydantic + typing-extensions + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + pytest-cov-stub + ]; + + # tests require network access and a valid API key + doCheck = false; + + pythonImportsCheck = [ + "fishaudio" + "fish_audio_sdk" + ]; + + meta = { + description = "Official Python library for the Fish Audio API"; + homepage = "https://github.com/fishaudio/fish-audio-python"; + changelog = "https://github.com/fishaudio/fish-audio-python/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +}) diff --git a/pkgs/development/python-modules/flashinfer/default.nix b/pkgs/development/python-modules/flashinfer/default.nix index 5882d0ee8164d..2e1119edc3906 100644 --- a/pkgs/development/python-modules/flashinfer/default.nix +++ b/pkgs/development/python-modules/flashinfer/default.nix @@ -87,7 +87,7 @@ buildPythonPackage rec { export MAX_JOBS="$NIX_BUILD_CORES" ''; - FLASHINFER_CUDA_ARCH_LIST = lib.concatStringsSep ";" torch.cudaCapabilities; + env.FLASHINFER_CUDA_ARCH_LIST = lib.concatStringsSep ";" torch.cudaCapabilities; pythonRemoveDeps = [ "nvidia-cudnn-frontend" diff --git a/pkgs/development/python-modules/flatbuffers/default.nix b/pkgs/development/python-modules/flatbuffers/default.nix index db0405cc34d11..3c36197b7f3d2 100644 --- a/pkgs/development/python-modules/flatbuffers/default.nix +++ b/pkgs/development/python-modules/flatbuffers/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { # flatbuffers needs VERSION environment variable for setting the correct # version, otherwise it uses the current date. - VERSION = version; + env.VERSION = version; pythonImportsCheck = [ "flatbuffers" ]; diff --git a/pkgs/development/python-modules/flet/default.nix b/pkgs/development/python-modules/flet/default.nix index b89bb04671d60..0e0a22f36ea9a 100644 --- a/pkgs/development/python-modules/flet/default.nix +++ b/pkgs/development/python-modules/flet/default.nix @@ -86,6 +86,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "flet" ]; meta = { + broken = true; description = "Framework that enables you to easily build realtime web, mobile, and desktop apps in Python"; homepage = "https://flet.dev/"; changelog = "https://github.com/flet-dev/flet/releases/tag/v${version}"; diff --git a/pkgs/development/python-modules/fluss-api/default.nix b/pkgs/development/python-modules/fluss-api/default.nix new file mode 100644 index 0000000000000..4187db6364455 --- /dev/null +++ b/pkgs/development/python-modules/fluss-api/default.nix @@ -0,0 +1,37 @@ +{ + lib, + aiohttp, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "fluss-api"; + version = "0.1.9.20"; + pyproject = true; + + src = fetchFromGitHub { + owner = "fluss"; + repo = "Fluss_Python_Library"; + tag = "v${finalAttrs.version}"; + hash = "sha256-g5LZWlz8QZWUb6UFyY1wQIHqC2lCTpCsaWgrkPCoDOw="; + }; + + build-system = [ setuptools ]; + + dependencies = [ aiohttp ]; + + # upstream has no tests + doCheck = false; + + pythonImportsCheck = [ "fluss_api" ]; + + meta = { + description = "Fluss+ API Client"; + homepage = "https://github.com/fluss/Fluss_Python_Library"; + changelog = "https://github.com/fluss/Fluss_Python_Library/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +}) diff --git a/pkgs/development/python-modules/forecast-solar/default.nix b/pkgs/development/python-modules/forecast-solar/default.nix index 4965722508e0d..f8edb6cee3cdb 100644 --- a/pkgs/development/python-modules/forecast-solar/default.nix +++ b/pkgs/development/python-modules/forecast-solar/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "forecast-solar"; - version = "4.2.0"; + version = "5.0.0"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "forecast_solar"; tag = "v${version}"; - hash = "sha256-ZBkuhONvn1/QpD+ml3HJinMIdg1HFpVj5KZAlUt/qR4="; + hash = "sha256-gFa1jq4Dq6fWqL/3eY+OGcJU+T+R6TZs8CX1ynnW+pU="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/fressnapftracker/default.nix b/pkgs/development/python-modules/fressnapftracker/default.nix new file mode 100644 index 0000000000000..5f41c7fd723e4 --- /dev/null +++ b/pkgs/development/python-modules/fressnapftracker/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + httpx, + pydantic, + pytest-asyncio, + pytest-cov-stub, + pytest-mock, + pytestCheckHook, + respx, +}: + +buildPythonPackage (finalAttrs: { + pname = "fressnapftracker"; + version = "0.2.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "eifinger"; + repo = "fressnapftracker"; + tag = "v${finalAttrs.version}"; + hash = "sha256-gJsE/1HnUXEDa5Y7eLtHexx+G00MGQDZJu3pui9OeMM="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + httpx + pydantic + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytest-cov-stub + pytest-mock + pytestCheckHook + respx + ]; + + pythonImportsCheck = [ "fressnapftracker" ]; + + meta = { + description = "Asynchronous Python client for the Fressnapf Tracker GPS API"; + homepage = "https://github.com/eifinger/fressnapftracker"; + changelog = "https://github.com/eifinger/fressnapftracker/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +}) diff --git a/pkgs/development/python-modules/fs/default.nix b/pkgs/development/python-modules/fs/default.nix index 61ecabf3b9252..27f9a6d79850a 100644 --- a/pkgs/development/python-modules/fs/default.nix +++ b/pkgs/development/python-modules/fs/default.nix @@ -54,7 +54,7 @@ buildPythonPackage rec { glibcLocales ]; - LC_ALL = "en_US.utf-8"; + env.LC_ALL = "en_US.utf-8"; preCheck = '' HOME=$(mktemp -d) @@ -91,7 +91,7 @@ buildPythonPackage rec { homepage = "https://github.com/PyFilesystem/pyfilesystem2"; changelog = "https://github.com/PyFilesystem/pyfilesystem2/blob/v${version}/CHANGELOG.md"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/development/python-modules/fspath/default.nix b/pkgs/development/python-modules/fspath/default.nix new file mode 100644 index 0000000000000..ba113cea68c9a --- /dev/null +++ b/pkgs/development/python-modules/fspath/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + six, +}: + +buildPythonPackage (finalAttrs: { + pname = "fspath"; + version = "20230629"; + pyproject = true; + + src = fetchFromGitHub { + owner = "return42"; + repo = "fspath"; + tag = finalAttrs.version; + hash = "sha256-OtJ6PODEYEiUnJriTAKTThSsEtiF7sjMFEu7wFqRR54="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + six + ]; + + pythonImportsCheck = [ "fspath" ]; + + meta = { + description = "Handling path names and executables more comfortable"; + homepage = "https://github.com/return42/fspath"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ skohtv ]; + }; +}) diff --git a/pkgs/development/python-modules/fugashi/default.nix b/pkgs/development/python-modules/fugashi/default.nix index ee674751a5514..240c346ffdf1d 100644 --- a/pkgs/development/python-modules/fugashi/default.nix +++ b/pkgs/development/python-modules/fugashi/default.nix @@ -56,6 +56,6 @@ buildPythonPackage rec { homepage = "https://github.com/polm/fugashi"; changelog = "https://github.com/polm/fugashi/releases/tag/${src.tag}"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ laurent-f1z1 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/gb-io/default.nix b/pkgs/development/python-modules/gb-io/default.nix index 75241018e2b0b..605aa918382bb 100644 --- a/pkgs/development/python-modules/gb-io/default.nix +++ b/pkgs/development/python-modules/gb-io/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "gb-io"; - version = "0.3.8"; + version = "0.4.0"; pyproject = true; src = fetchFromGitHub { owner = "althonos"; repo = "gb-io.py"; rev = "v${version}"; - hash = "sha256-ArJTK6YcuyExIMBUYBxpr7TpKeVMF6Nk4ObAZLuOgJA="; + hash = "sha256-6owaHSOVahgOG1gvN4Tox8c49qGzQ4lG1n8GKwEnCRk="; }; cargoDeps = rustPlatform.fetchCargoVendor { @@ -27,7 +27,7 @@ buildPythonPackage rec { src sourceRoot ; - hash = "sha256-3mgvT8b4tpoUScs5yk6IbGBUJ/czu3XSdFXhfT/c5S8="; + hash = "sha256-ZUvcbVwhV2P8AvsuVoaPWUW5G9VaEvx3mt4kub0xHRk="; }; sourceRoot = src.name; diff --git a/pkgs/development/python-modules/google-air-quality-api/default.nix b/pkgs/development/python-modules/google-air-quality-api/default.nix new file mode 100644 index 0000000000000..a8125736d2daa --- /dev/null +++ b/pkgs/development/python-modules/google-air-quality-api/default.nix @@ -0,0 +1,64 @@ +{ + lib, + aiohttp, + aioresponses, + buildPythonPackage, + fetchFromGitHub, + mashumaro, + poetry-core, + poetry-dynamic-versioning, + pytest-aiohttp, + pytest-asyncio, + pytest-cov-stub, + pytestCheckHook, + syrupy, + time-machine, +}: + +buildPythonPackage (finalAttrs: { + pname = "google-air-quality-api"; + version = "3.0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Thomas55555"; + repo = "python-google-air-quality-api"; + tag = finalAttrs.version; + hash = "sha256-hgdK7Rrw/iELRE+vSuwsRUzLDT8qE2Dhxqd4bAgxays="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail 'version = "0.0.0"' 'version = "${finalAttrs.version}"' + ''; + + build-system = [ + poetry-core + poetry-dynamic-versioning + ]; + + dependencies = [ + aiohttp + mashumaro + ]; + + nativeCheckInputs = [ + aioresponses + pytest-aiohttp + pytest-asyncio + pytest-cov-stub + pytestCheckHook + syrupy + time-machine + ]; + + pythonImportsCheck = [ "google_air_quality_api" ]; + + meta = { + changelog = "https://github.com/Thomas55555/python-google-air-quality-api/releases/tag/${finalAttrs.version}"; + description = "Python client library for the Google Air Quality API"; + homepage = "https://github.com/Thomas55555/python-google-air-quality-api"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +}) diff --git a/pkgs/development/python-modules/google-cloud-spanner/default.nix b/pkgs/development/python-modules/google-cloud-spanner/default.nix index 01ec7cad5d8ee..b8ada5017686a 100644 --- a/pkgs/development/python-modules/google-cloud-spanner/default.nix +++ b/pkgs/development/python-modules/google-cloud-spanner/default.nix @@ -33,14 +33,14 @@ buildPythonPackage rec { pname = "google-cloud-spanner"; - version = "3.62.0"; + version = "3.58.0"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "python-spanner"; tag = "v${version}"; - hash = "sha256-3WmfDwbdhYY1xaA5RnrAuD1+EDrJ3KMBsonQkuFkgcA="; + hash = "sha256-bIagQjQv+oatIo8mkA8t5wP9igMnorkiudgyWkVnJcg="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/google-cloud-storage-control/default.nix b/pkgs/development/python-modules/google-cloud-storage-control/default.nix index d02438fd87d71..ba371f2ec0e26 100644 --- a/pkgs/development/python-modules/google-cloud-storage-control/default.nix +++ b/pkgs/development/python-modules/google-cloud-storage-control/default.nix @@ -16,14 +16,14 @@ buildPythonPackage (finalAttrs: { pname = "google-cloud-storage-control"; - version = "1.9.0"; + version = "1.10.0"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "google-cloud-python"; tag = "google-cloud-storage-control-v${finalAttrs.version}"; - hash = "sha256-5xQ4p9xi/6Y8oi7dWo+fdVT8X8U7UGmdKtSsoEanRso="; + hash = "sha256-dgQdfHyGHwdEaJllbz97J/xW4Y0LrpE6ad6LRdax1G4="; }; sourceRoot = "${finalAttrs.src.name}/packages/google-cloud-storage-control"; diff --git a/pkgs/development/python-modules/gotify/default.nix b/pkgs/development/python-modules/gotify/default.nix index ff964c5b4e301..31f2f3a79e20b 100644 --- a/pkgs/development/python-modules/gotify/default.nix +++ b/pkgs/development/python-modules/gotify/default.nix @@ -66,5 +66,7 @@ buildPythonPackage rec { maintainers = [ lib.maintainers.joblade ]; + # https://github.com/d-k-bo/python-gotify/issues/6 + broken = lib.versionAtLeast gotify-server.version "2.9.0"; }; } diff --git a/pkgs/development/python-modules/gpytorch/default.nix b/pkgs/development/python-modules/gpytorch/default.nix index 1e2eb55fe82bb..41df6ade307c9 100644 --- a/pkgs/development/python-modules/gpytorch/default.nix +++ b/pkgs/development/python-modules/gpytorch/default.nix @@ -20,7 +20,7 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "gpytorch"; version = "1.15.1"; pyproject = true; @@ -28,10 +28,18 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "cornellius-gp"; repo = "gpytorch"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-ftiAY02K0EwVQZufk8xR+/21A+2ONWchuWPF3a5lRW0="; }; + # AttributeError: module 'numpy' has no attribute 'trapz' + postPatch = '' + substituteInPlace gpytorch/kernels/spectral_mixture_kernel.py \ + --replace-fail \ + "np.trapz(emp_spect, freq)" \ + "np.trapezoid(emp_spect, freq)" + ''; + build-system = [ setuptools setuptools-scm @@ -73,8 +81,8 @@ buildPythonPackage rec { description = "Highly efficient and modular implementation of Gaussian Processes, with GPU acceleration"; homepage = "https://gpytorch.ai"; downloadPage = "https://github.com/cornellius-gp/gpytorch"; - changelog = "https://github.com/cornellius-gp/gpytorch/releases/tag/${src.tag}"; + changelog = "https://github.com/cornellius-gp/gpytorch/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ veprbl ]; }; -} +}) diff --git a/pkgs/development/python-modules/greenplanet-energy-api/default.nix b/pkgs/development/python-modules/greenplanet-energy-api/default.nix new file mode 100644 index 0000000000000..f712f3ba3a0a6 --- /dev/null +++ b/pkgs/development/python-modules/greenplanet-energy-api/default.nix @@ -0,0 +1,47 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + aiohttp, + pytest-asyncio, + pytest-cov, + aioresponses, + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "greenplanet-energy-api"; + version = "0.1.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "petschni"; + repo = "greenplanet-energy-api"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Ffmb4UUVfFhSNAy3Fq+3ERYSfD09JnrR8rKUV0sXjNI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytest-cov + aioresponses + pytestCheckHook + ]; + + pythonImportsCheck = [ "greenplanet_energy_api" ]; + + meta = { + description = "Async Python library for querying the Green Planet Energy API"; + homepage = "https://github.com/petschni/greenplanet-energy-api"; + changelog = "https://github.com/petschni/greenplanet-energy-api/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +}) diff --git a/pkgs/development/python-modules/grpcio/default.nix b/pkgs/development/python-modules/grpcio/default.nix index 722d3990eafe0..a7c59f6a2c4f7 100644 --- a/pkgs/development/python-modules/grpcio/default.nix +++ b/pkgs/development/python-modules/grpcio/default.nix @@ -64,10 +64,12 @@ buildPythonPackage rec { unset AR ''; - GRPC_BUILD_WITH_BORING_SSL_ASM = ""; - GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1; - GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1; - GRPC_PYTHON_BUILD_SYSTEM_CARES = 1; + env = { + GRPC_BUILD_WITH_BORING_SSL_ASM = ""; + GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1; + GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1; + GRPC_PYTHON_BUILD_SYSTEM_CARES = 1; + }; # does not contain any tests doCheck = false; diff --git a/pkgs/development/python-modules/guidata/default.nix b/pkgs/development/python-modules/guidata/default.nix index edb94e014924e..e0466e7b83f84 100644 --- a/pkgs/development/python-modules/guidata/default.nix +++ b/pkgs/development/python-modules/guidata/default.nix @@ -2,6 +2,7 @@ lib, stdenv, buildPythonPackage, + pythonAtLeast, fetchFromGitHub, # build-system @@ -30,16 +31,19 @@ buildPythonPackage rec { pname = "guidata"; - version = "3.13.4"; + version = "3.14.2"; pyproject = true; src = fetchFromGitHub { owner = "PlotPyStack"; repo = "guidata"; tag = "v${version}"; - hash = "sha256-JuYxPkKeOQOzoDiyk50IhAiICUcKptyD5RUx4DaiOOI="; + hash = "sha256-iUfZX51Ef1PY7roy9ER8hG34BAhCLs3Sagoasd5BT3E="; }; + # https://github.com/PlotPyStack/guidata/issues/97 + disabled = pythonAtLeast "3.14"; + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/gvm-tools/default.nix b/pkgs/development/python-modules/gvm-tools/default.nix index 9fc6cdff22d81..9489582917987 100644 --- a/pkgs/development/python-modules/gvm-tools/default.nix +++ b/pkgs/development/python-modules/gvm-tools/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "gvm-tools"; - version = "25.4.6"; + version = "25.4.7"; pyproject = true; src = fetchFromGitHub { owner = "greenbone"; repo = "gvm-tools"; tag = "v${finalAttrs.version}"; - hash = "sha256-cx2eGE+oEZXLi9Zw769jzQAUwEUOavh4lSfYNn7aBsM="; + hash = "sha256-4RcpnQpWTwOXzaUYLToR2S3KVJ9q7Pdecge3s6L8sd8="; }; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/h3/default.nix b/pkgs/development/python-modules/h3/default.nix index 7f90dca936563..a7655bc2ae8e3 100644 --- a/pkgs/development/python-modules/h3/default.nix +++ b/pkgs/development/python-modules/h3/default.nix @@ -14,17 +14,17 @@ stdenv, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "h3"; - version = "4.4.1"; + version = "4.4.2"; pyproject = true; # pypi version does not include tests src = fetchFromGitHub { owner = "uber"; repo = "h3-py"; - tag = "v${version}"; - hash = "sha256-ugYx8FJUxfrJHfzRxyjaOlG/Z0KhKglRHTgKKBHzUGQ="; + tag = "v${finalAttrs.version}"; + hash = "sha256-+2cf/m+8BEEjNgIyuYmLDD7wsmc3Bg8QXaIjC0Px+Qk="; }; dontConfigure = true; @@ -75,9 +75,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "h3" ]; meta = { + changelog = "https://github.com/uber/h3-py/blob/${finalAttrs.src.rev}/CHANGELOG.md"; homepage = "https://github.com/uber/h3-py"; description = "Hierarchical hexagonal geospatial indexing system"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.kalbasit ]; }; -} +}) diff --git a/pkgs/development/python-modules/hcs-utils/default.nix b/pkgs/development/python-modules/hcs-utils/default.nix index fdbf4f48199b8..b66e11bc5f27e 100644 --- a/pkgs/development/python-modules/hcs-utils/default.nix +++ b/pkgs/development/python-modules/hcs-utils/default.nix @@ -40,6 +40,6 @@ buildPythonPackage { description = "Library collecting some useful snippets"; homepage = "https://gitlab.com/hcs/hcs_utils"; license = lib.licenses.isc; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/hdfury/default.nix b/pkgs/development/python-modules/hdfury/default.nix index a656d8124a529..c9e621f040263 100644 --- a/pkgs/development/python-modules/hdfury/default.nix +++ b/pkgs/development/python-modules/hdfury/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "hdfury"; - version = "1.5.0"; + version = "1.6.0"; pyproject = true; src = fetchFromGitHub { owner = "glenndehaan"; repo = "python-hdfury"; tag = finalAttrs.version; - hash = "sha256-UVJgmCwsvtx/Zq2qqTI8E1DmC4ayoWWI7duaommUQ2I="; + hash = "sha256-ndJpxFebSsfXQ1aUe20Ajbgks3gA3KXo8kY5FaJ/BW0="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/homelink-integration-api/default.nix b/pkgs/development/python-modules/homelink-integration-api/default.nix new file mode 100644 index 0000000000000..d04373fa31812 --- /dev/null +++ b/pkgs/development/python-modules/homelink-integration-api/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + aiofiles, + aiohttp, + boto3, + paho-mqtt, + pyopenssl, + python-decouple, +}: + +buildPythonPackage (finalAttrs: { + pname = "homelink-integration-api"; + version = "0.0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Gentex-Corporation"; + repo = "homelink-integration-api"; + tag = "v${finalAttrs.version}"; + hash = "sha256-ELEqx41JSAmXBEowwJ1tYPZV40hMjswaHQonD+1IG5E="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiofiles + aiohttp + boto3 + paho-mqtt + pyopenssl + python-decouple + ]; + + # upstream tests require network access and AWS credentials + doCheck = false; + + pythonImportsCheck = [ "homelink" ]; + + meta = { + description = "API to interact with Homelink cloud for MQTT-enabled smart home platforms"; + homepage = "https://github.com/Gentex-Corporation/homelink-integration-api"; + changelog = "https://github.com/Gentex-Corporation/homelink-integration-api/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +}) diff --git a/pkgs/development/python-modules/huggingface-hub/0.nix b/pkgs/development/python-modules/huggingface-hub/0.nix new file mode 100644 index 0000000000000..1ca7b24da37f8 --- /dev/null +++ b/pkgs/development/python-modules/huggingface-hub/0.nix @@ -0,0 +1,124 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + filelock, + fsspec, + hf-xet, + packaging, + pyyaml, + requests, + tqdm, + typing-extensions, + + # optional-dependencies + # cli + inquirerpy, + # inference + aiohttp, + # torch + torch, + safetensors, + # hf_transfer + hf-transfer, + # fastai + toml, + fastai, + fastcore, + # tensorflow + tensorflow, + pydot, + graphviz, + # tensorflow-testing + keras, + + # tests + versionCheckHook, +}: + +buildPythonPackage rec { + pname = "huggingface-hub"; + version = "0.36.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "huggingface"; + repo = "huggingface_hub"; + tag = "v${version}"; + hash = "sha256-cUp5Mm8vgJI/0N/9inQVedGWRde8lioduFoccq6b7UE="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + filelock + fsspec + hf-xet + packaging + pyyaml + requests + tqdm + typing-extensions + ]; + + optional-dependencies = { + all = [ + + ]; + cli = [ + inquirerpy + ]; + inference = [ + aiohttp + ]; + torch = [ + torch + safetensors + ] + ++ safetensors.optional-dependencies.torch; + hf_transfer = [ + hf-transfer + ]; + fastai = [ + toml + fastai + fastcore + ]; + tensorflow = [ + tensorflow + pydot + graphviz + ]; + tensorflow-testing = [ + tensorflow + keras + ]; + hf_xet = [ + hf-xet + ]; + }; + + nativeCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = "version"; + + pythonImportsCheck = [ "huggingface_hub" ]; + + meta = { + description = "Download and publish models and other files on the huggingface.co hub"; + mainProgram = "hf"; + homepage = "https://github.com/huggingface/huggingface_hub"; + changelog = "https://github.com/huggingface/huggingface_hub/releases/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + GaetanLepage + osbm + ]; + }; +} diff --git a/pkgs/development/python-modules/human-readable/default.nix b/pkgs/development/python-modules/human-readable/default.nix index 9e0b2be29335e..8ffc8fea7778d 100644 --- a/pkgs/development/python-modules/human-readable/default.nix +++ b/pkgs/development/python-modules/human-readable/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "human-readable"; - version = "2.0.0"; + version = "2.0.1"; src = fetchPypi { pname = "human_readable"; inherit version; - hash = "sha256-VuuUReVgzPoGlZCK4uyLAIG4bUnroaCDO8CuD0TWxOk="; + hash = "sha256-7Iky53uBlvvQ+UQLI8gP+glk6nb/llg29gT0HuSLWU8="; }; pyproject = true; diff --git a/pkgs/development/python-modules/hyperpyyaml/default.nix b/pkgs/development/python-modules/hyperpyyaml/default.nix index 68c77bf378d78..0c9ebca661662 100644 --- a/pkgs/development/python-modules/hyperpyyaml/default.nix +++ b/pkgs/development/python-modules/hyperpyyaml/default.nix @@ -40,6 +40,8 @@ buildPythonPackage rec { pythonImportsCheck = [ "hyperpyyaml" ]; meta = { + # https://github.com/speechbrain/HyperPyYAML/pull/32 + broken = lib.versionAtLeast ruamel-yaml.version "0.19"; description = "Extensions to YAML syntax for better python interaction"; homepage = "https://github.com/speechbrain/HyperPyYAML"; changelog = "https://github.com/speechbrain/HyperPyYAML/releases/tag/${src.tag}"; diff --git a/pkgs/development/python-modules/i-pi/default.nix b/pkgs/development/python-modules/i-pi/default.nix index 32bccc45e3859..75423165e6213 100644 --- a/pkgs/development/python-modules/i-pi/default.nix +++ b/pkgs/development/python-modules/i-pi/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "i-pi"; - version = "3.1.8"; + version = "3.1.10"; pyproject = true; src = fetchFromGitHub { owner = "i-pi"; repo = "i-pi"; tag = "v${version}"; - hash = "sha256-EiCKx1Hv7Aan8iMtSnjI28iUtyUTMIzxCUO97C0w00I="; + hash = "sha256-UhDXdwtzhIiWSLZS2GYgFYN2SDkvyDVFHnm43hROXY0="; }; build-system = [ diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index 7cbd712f09112..2955c1739b180 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "iamdata"; - version = "0.1.202602241"; + version = "0.1.202602261"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-iPKGnuyzPG9fRipdcJFWrWuen02f6xHr1NyUdBFyQiI="; + hash = "sha256-C2ubZ7R6tN9P27aRDeHJ94frgN/ZRpDSxGCS/qYrJqo="; }; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/icalendar-searcher/default.nix b/pkgs/development/python-modules/icalendar-searcher/default.nix index 10925aecbec38..7745937d5720d 100644 --- a/pkgs/development/python-modules/icalendar-searcher/default.nix +++ b/pkgs/development/python-modules/icalendar-searcher/default.nix @@ -1,10 +1,10 @@ { buildPythonPackage, fetchFromGitHub, + hatch-vcs, + hatchling, icalendar, lib, - poetry-core, - poetry-dynamic-versioning, pyicu, pytestCheckHook, recurring-ical-events, @@ -12,19 +12,19 @@ buildPythonPackage rec { pname = "icalendar-searcher"; - version = "1.0.4"; + version = "1.0.5"; pyproject = true; src = fetchFromGitHub { owner = "python-caldav"; repo = "icalendar-searcher"; tag = "v${version}"; - hash = "sha256-CHW1++VHoTfNw5GkRfDDTERZGA/RJxc8iME8OPx1q/o="; + hash = "sha256-x11gdW6FuSCktMGtPxTg39C98J0/0C7F07jIHN0ewbY="; }; build-system = [ - poetry-core - poetry-dynamic-versioning + hatch-vcs + hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/ifcopenshell/default.nix b/pkgs/development/python-modules/ifcopenshell/default.nix index 37988bb8452e2..09a67f05d5422 100644 --- a/pkgs/development/python-modules/ifcopenshell/default.nix +++ b/pkgs/development/python-modules/ifcopenshell/default.nix @@ -130,7 +130,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "ifcopenshell" ]; - PYTHONUSERBASE = "."; + env.PYTHONUSERBASE = "."; # We still build with python to generate ifcopenshell_wrapper.py and ifcopenshell_wrapper.so cmakeFlags = [ diff --git a/pkgs/development/python-modules/impacket/default.nix b/pkgs/development/python-modules/impacket/default.nix index e7282ace1c1e3..4aca3c0794f08 100644 --- a/pkgs/development/python-modules/impacket/default.nix +++ b/pkgs/development/python-modules/impacket/default.nix @@ -14,8 +14,27 @@ setuptools, pytestCheckHook, six, + writeText, }: +let + opensslConf = writeText "openssl.conf" '' + openssl_conf = openssl_init + + [openssl_init] + providers = provider_sect + + [provider_sect] + default = default_sect + legacy = legacy_sect + + [default_sect] + activate = 1 + + [legacy_sect] + activate = 1 + ''; +in buildPythonPackage rec { pname = "impacket"; version = "0.13.0"; @@ -46,7 +65,12 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - pythonImportsCheck = [ "impacket" ]; + makeWrapperArgs = [ "--set-default OPENSSL_CONF ${opensslConf}" ]; + + pythonImportsCheck = [ + "impacket" + "impacket.msada_guids" + ]; disabledTestPaths = [ # Skip all RPC related tests diff --git a/pkgs/development/python-modules/instructor/default.nix b/pkgs/development/python-modules/instructor/default.nix index 76988306ffbc9..f659c39047c9d 100644 --- a/pkgs/development/python-modules/instructor/default.nix +++ b/pkgs/development/python-modules/instructor/default.nix @@ -24,22 +24,23 @@ fastapi, google-genai, google-generativeai, + jsonref, pytest-asyncio, pytestCheckHook, python-dotenv, redis, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "instructor"; - version = "1.14.4"; + version = "1.14.5"; pyproject = true; src = fetchFromGitHub { owner = "jxnl"; repo = "instructor"; - tag = "v${version}"; - hash = "sha256-6NYS6nY9phIY9fWEp0X3fC90uFedaot2xzZynzGnZSE="; + tag = "v${finalAttrs.version}"; + hash = "sha256-MxFHCjtIUESuvDkNvEEcZdWXTLAxGFH9ZJ1wx8E4N14="; }; build-system = [ hatchling ]; @@ -69,6 +70,7 @@ buildPythonPackage rec { fastapi google-genai google-generativeai + jsonref pytest-asyncio pytestCheckHook python-dotenv @@ -84,6 +86,9 @@ buildPythonPackage rec { "test_partial" "test_provider_invalid_type_raises_error" + # instructor.core.exceptions.ConfigurationError: response_model must be a Pydantic BaseModel subclass, got type + "test_openai_schema_raises_error" + # Requires unpackaged `vertexai` "test_json_preserves_description_of_non_english_characters_in_json_mode" @@ -113,9 +118,9 @@ buildPythonPackage rec { meta = { description = "Structured outputs for llm"; homepage = "https://github.com/jxnl/instructor"; - changelog = "https://github.com/jxnl/instructor/releases/tag/${src.tag}"; + changelog = "https://github.com/jxnl/instructor/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ mic92 ]; mainProgram = "instructor"; }; -} +}) diff --git a/pkgs/development/python-modules/ipadic/default.nix b/pkgs/development/python-modules/ipadic/default.nix index 66ede8df31002..1a1bcd7743d30 100644 --- a/pkgs/development/python-modules/ipadic/default.nix +++ b/pkgs/development/python-modules/ipadic/default.nix @@ -34,6 +34,6 @@ buildPythonPackage rec { description = "Contemporary Written Japanese dictionary"; homepage = "https://github.com/polm/ipadic-py"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ laurent-f1z1 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/jax/default.nix b/pkgs/development/python-modules/jax/default.nix index 97876cc1148f6..d310e737c433e 100644 --- a/pkgs/development/python-modules/jax/default.nix +++ b/pkgs/development/python-modules/jax/default.nix @@ -64,7 +64,7 @@ buildPythonPackage rec { # The version is automatically set to ".dev" if this variable is not set. # https://github.com/google/jax/commit/e01f2617b85c5bdffc5ffb60b3d8d8ca9519a1f3 - JAX_RELEASE = "1"; + env.JAX_RELEASE = "1"; dependencies = [ jaxlib diff --git a/pkgs/development/python-modules/kaldi-active-grammar/default.nix b/pkgs/development/python-modules/kaldi-active-grammar/default.nix index 192e48ab78f16..38c00df1b2db3 100644 --- a/pkgs/development/python-modules/kaldi-active-grammar/default.nix +++ b/pkgs/development/python-modules/kaldi-active-grammar/default.nix @@ -34,8 +34,10 @@ buildPythonPackage rec { sha256 = "sha256-VyVshIEVp/ep4Ih7Kj66GF02JEZ4nwgJOtgR2DarzdY="; }; - KALDI_BRANCH = "foo"; - KALDIAG_SETUP_RAW = "1"; + env = { + KALDI_BRANCH = "foo"; + KALDIAG_SETUP_RAW = "1"; + }; patches = [ # Makes sure scikit-build doesn't try to build the dependencies for us diff --git a/pkgs/development/python-modules/keyring/default.nix b/pkgs/development/python-modules/keyring/default.nix index f08c690823ef5..ad1c10a1b2ce7 100644 --- a/pkgs/development/python-modules/keyring/default.nix +++ b/pkgs/development/python-modules/keyring/default.nix @@ -81,7 +81,6 @@ buildPythonPackage rec { license = lib.licenses.mit; mainProgram = "keyring"; maintainers = with lib.maintainers; [ - lovek323 dotlambda ]; platforms = lib.platforms.unix; diff --git a/pkgs/development/python-modules/langchain-anthropic/default.nix b/pkgs/development/python-modules/langchain-anthropic/default.nix index 669f951cf82bd..f925977727d50 100644 --- a/pkgs/development/python-modules/langchain-anthropic/default.nix +++ b/pkgs/development/python-modules/langchain-anthropic/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "langchain-anthropic"; - version = "1.3.1"; + version = "1.3.3"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-anthropic==${version}"; - hash = "sha256-6zyigILq3aRT6CNzOlSGWE8MJUZIN5LUbsb/Xuev1so="; + hash = "sha256-vQ2h92oP3gpSEu3HjQUF+1KWX9gm4Q7osTynu77UlvA="; }; sourceRoot = "${src.name}/libs/partners/anthropic"; diff --git a/pkgs/development/python-modules/langchain-google-genai/default.nix b/pkgs/development/python-modules/langchain-google-genai/default.nix index e69f012c8b6bc..73d6afc62d6b1 100644 --- a/pkgs/development/python-modules/langchain-google-genai/default.nix +++ b/pkgs/development/python-modules/langchain-google-genai/default.nix @@ -29,14 +29,14 @@ buildPythonPackage rec { pname = "langchain-google-genai"; - version = "4.2.0"; + version = "4.2.1"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain-google"; tag = "libs/genai/v${version}"; - hash = "sha256-1WL5pasYHKzXRbOGo910SP3YP6eg00aFoOd7RTwV++A="; + hash = "sha256-aNmYj5eOWDgHYlSLElwQXQByQg8gHqiybM19JQlkluk="; }; sourceRoot = "${src.name}/libs/genai"; diff --git a/pkgs/development/python-modules/langgraph-checkpoint-mongodb/default.nix b/pkgs/development/python-modules/langgraph-checkpoint-mongodb/default.nix index db21b3b8fad74..f16e5a605c152 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint-mongodb/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint-mongodb/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + gitUpdater, # build-system hatchling, @@ -12,24 +13,28 @@ pymongo, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langgraph-checkpoint-mongodb"; - version = "0.11.0"; + version = "0.3.1"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain-mongodb"; - tag = "libs/langchain-mongodb/v${version}"; - hash = "sha256-dO0dASjyNMxnbxZ/ry8lcJxedPdrv6coYiTjOcaT8/0="; + tag = "libs/langgraph-checkpoint-mongodb/v${finalAttrs.version}"; + hash = "sha256-vCiZ6Mp6aHmSEkLbeM6qTLJaxH0uoAdq80olTT5saX0="; }; - sourceRoot = "${src.name}/libs/langgraph-checkpoint-mongodb"; + sourceRoot = "${finalAttrs.src.name}/libs/langgraph-checkpoint-mongodb"; build-system = [ hatchling ]; + pythonRelaxDeps = [ + "pymongo" + ]; + dependencies = [ langgraph-checkpoint langchain-mongodb @@ -41,14 +46,22 @@ buildPythonPackage rec { # Connection refused (to localhost:27017) for all tests doCheck = false; + passthru = { + # python updater script sets the wrong tag + skipBulkUpdate = true; + updateScript = gitUpdater { + rev-prefix = "libs/langgraph-checkpoint-mongodb/v"; + }; + }; + # no pythonImportsCheck as this package does not provide any direct imports pythonImportsCheck = [ "langgraph.checkpoint.mongodb" ]; meta = { description = "Integrations between MongoDB, Atlas, LangChain, and LangGraph"; homepage = "https://github.com/langchain-ai/langchain-mongodb/tree/main/libs/langgraph-checkpoint-mongodb"; - changelog = "https://github.com/langchain-ai/langchain-mongodb/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain-mongodb/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/langgraph-checkpoint/default.nix b/pkgs/development/python-modules/langgraph-checkpoint/default.nix index a2b12587dc51c..4d1eb363635c6 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { pname = "langgraph-checkpoint"; - version = "3.0.1"; + version = "4.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langgraph"; tag = "checkpoint==${version}"; - hash = "sha256-3hh1KyEIsp9JzhaJW1ycp179FGpggPYzg6OwnD/cTBM="; + hash = "sha256-IE9Y+kFkDN49SuwvTNwa2kK+Hig18sJPZmZCqHUP3DM="; }; sourceRoot = "${src.name}/libs/checkpoint"; diff --git a/pkgs/development/python-modules/langgraph-store-mongodb/default.nix b/pkgs/development/python-modules/langgraph-store-mongodb/default.nix index cda323bee18d9..953906a2e0a97 100644 --- a/pkgs/development/python-modules/langgraph-store-mongodb/default.nix +++ b/pkgs/development/python-modules/langgraph-store-mongodb/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, # build-system hatchling, @@ -11,19 +12,19 @@ langchain-mongodb, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langgraph-store-mongodb"; - version = "0.11.0"; + version = "0.2.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain-mongodb"; - tag = "libs/langchain-mongodb/v${version}"; - hash = "sha256-dO0dASjyNMxnbxZ/ry8lcJxedPdrv6coYiTjOcaT8/0="; + tag = "libs/langgraph-store-mongodb/v${finalAttrs.version}"; + hash = "sha256-IXISxo3mC0/FkjGdHTmin6z/fk71ecto+L+VZ6VFdeE="; }; - sourceRoot = "${src.name}/libs/langgraph-store-mongodb"; + sourceRoot = "${finalAttrs.src.name}/libs/langgraph-store-mongodb"; build-system = [ hatchling @@ -40,11 +41,22 @@ buildPythonPackage rec { pythonImportsCheck = [ "langgraph.store.mongodb" ]; + # updater script selects wrong tag + passthru = { + skipBulkUpdate = true; + updateScript = nix-update-script { + extraArgs = [ + "-vr" + "libs/langgraph-store-mongodb/v(.*)" + ]; + }; + }; + meta = { description = "Integrations between MongoDB, Atlas, LangChain, and LangGraph"; homepage = "https://github.com/langchain-ai/langchain-mongodb/tree/main/libs/langgraph-store-mongodb"; - changelog = "https://github.com/langchain-ai/langchain-mongodb/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain-mongodb/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/laspy/default.nix b/pkgs/development/python-modules/laspy/default.nix index 8f6d531dc69ae..b7f9fce11cef4 100644 --- a/pkgs/development/python-modules/laspy/default.nix +++ b/pkgs/development/python-modules/laspy/default.nix @@ -1,34 +1,40 @@ { lib, buildPythonPackage, - fetchPypi, - numpy, + fetchFromGitHub, + + # build-system + hatchling, + + # depenencies laszip, lazrs, - setuptools, + numpy, + + # tests pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "laspy"; version = "2.7.0"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-9W/rVEXnXW/xLugUqrajUzkpDnUmT/J3xr9VPzAlo/U="; + src = fetchFromGitHub { + owner = "laspy"; + repo = "laspy"; + tag = finalAttrs.version; + hash = "sha256-/wvwUE+lzBgAZVtLB05Fpuq0ElajMxWqCIa1Y3sjB5k="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ hatchling ]; - propagatedBuildInputs = [ + dependencies = [ numpy laszip lazrs # much faster laz reading, see https://laspy.readthedocs.io/en/latest/installation.html#laz-support ]; - nativeCheckInputs = [ pytestCheckHook ]; - pythonImportsCheck = [ "laspy" # `laspy` supports multiple backends and detects them dynamically. @@ -37,13 +43,17 @@ buildPythonPackage rec { "lazrs" ]; + nativeCheckInputs = [ + pytestCheckHook + ]; + meta = { description = "Interface for reading/modifying/creating .LAS LIDAR files"; mainProgram = "laspy"; homepage = "https://github.com/laspy/laspy"; - changelog = "https://github.com/laspy/laspy/blob/${version}/CHANGELOG.md"; + changelog = "https://github.com/laspy/laspy/blob/${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.bsd2; maintainers = with lib.maintainers; [ matthewcroughan ]; teams = [ lib.teams.geospatial ]; }; -} +}) diff --git a/pkgs/development/python-modules/laszip/default.nix b/pkgs/development/python-modules/laszip/default.nix index fa9a57c1d9db9..50bc114b7f7ec 100644 --- a/pkgs/development/python-modules/laszip/default.nix +++ b/pkgs/development/python-modules/laszip/default.nix @@ -1,42 +1,31 @@ { lib, - stdenv, buildPythonPackage, fetchFromGitHub, - fetchpatch, + + # build-system scikit-build-core, pybind11, cmake, - laszip, ninja, + + # buildInputs + laszip, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "laszip-python"; - version = "0.2.3"; + version = "0.3.0"; pyproject = true; src = fetchFromGitHub { owner = "tmontaigu"; repo = "laszip-python"; - rev = version; - hash = "sha256-MiPzL9TDCf1xnCv7apwdfcpkFnBRi4PO/atTQxqL8cw="; + tag = finalAttrs.version; + hash = "sha256-fg9Joe5iDNT4w2j+zQuQIoxyAYpCAgLwhuqsBsJn6lU="; }; - patches = [ - # Removes depending on the cmake and ninja PyPI packages, since we can pass - # in the tools directly, and scikit-build-core can use them. - # https://github.com/tmontaigu/laszip-python/pull/9 - (fetchpatch { - name = "remove-cmake-ninja-pypi-dependencies.patch"; - url = "https://github.com/tmontaigu/laszip-python/commit/17e648d04945fa2d095d6d74d58c790a4fcde84a.patch"; - hash = "sha256-k58sS1RqVzT1WPh2OVt/D4Y045ODtj6U3bUjegd44VY="; - }) - ]; - - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-std=c++17"; - - nativeBuildInputs = [ + build-system = [ cmake ninja pybind11 @@ -55,8 +44,8 @@ buildPythonPackage rec { meta = { description = "Unofficial bindings between Python and LASzip made using pybind11"; homepage = "https://github.com/tmontaigu/laszip-python"; - changelog = "https://github.com/tmontaigu/laszip-python/blob/${src.rev}/Changelog.md"; + changelog = "https://github.com/tmontaigu/laszip-python/blob/${finalAttrs.src.tag}/Changelog.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ matthewcroughan ]; }; -} +}) diff --git a/pkgs/development/python-modules/lerobot/default.nix b/pkgs/development/python-modules/lerobot/default.nix index 90730adc27694..187fac569c01a 100644 --- a/pkgs/development/python-modules/lerobot/default.nix +++ b/pkgs/development/python-modules/lerobot/default.nix @@ -58,6 +58,7 @@ buildPythonPackage (finalAttrs: { pythonRelaxDeps = [ "av" "datasets" + "diffusers" "draccus" "gymnasium" "huggingface-hub" @@ -104,6 +105,17 @@ buildPythonPackage (finalAttrs: { ]; disabledTests = [ + # TypeError: only 0-dimensional arrays can be converted to Python scalars + "test_add_frame" + "test_add_frame_state_numpy" + "test_data_consistency_across_episodes" + "test_delta_timestamps_query_returns_correct_values" + "test_episode_boundary_integrity" + "test_from_lerobot_dataset" + "test_statistics_metadata_validation" + "test_task_indexing_and_validation" + "test_to_lerobot_dataset" + # RuntimeError: OpenCVCamera(/build/source/tests/artifacts/cameras/image_480x270.png) read failed "test_async_read" "test_fourcc_with_camer" diff --git a/pkgs/development/python-modules/libarchive-c/default.nix b/pkgs/development/python-modules/libarchive-c/default.nix index 9501f9bc7cbc6..964032a0981a7 100644 --- a/pkgs/development/python-modules/libarchive-c/default.nix +++ b/pkgs/development/python-modules/libarchive-c/default.nix @@ -30,7 +30,7 @@ buildPythonPackage rec { }) ]; - LC_ALL = "en_US.UTF-8"; + env.LC_ALL = "en_US.UTF-8"; postPatch = '' substituteInPlace libarchive/ffi.py --replace-fail \ diff --git a/pkgs/development/python-modules/libtmux/default.nix b/pkgs/development/python-modules/libtmux/default.nix index ccdf1b16b6b5e..5c7494c57dc07 100644 --- a/pkgs/development/python-modules/libtmux/default.nix +++ b/pkgs/development/python-modules/libtmux/default.nix @@ -11,16 +11,16 @@ tmux, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "libtmux"; - version = "0.53.0"; + version = "0.53.1"; pyproject = true; src = fetchFromGitHub { owner = "tmux-python"; repo = "libtmux"; - tag = "v${version}"; - hash = "sha256-lGi5hjq1lcZtotCbNmwE0tPqwwEj5c9CJLx78eibg6Y="; + tag = "v${finalAttrs.version}"; + hash = "sha256-mI6oqZ4FiWG8Xe70XV3JAm4Ula1r8JnNKLSVbs2QrGw="; }; postPatch = '' @@ -63,8 +63,8 @@ buildPythonPackage rec { meta = { description = "Typed scripting library / ORM / API wrapper for tmux"; homepage = "https://libtmux.git-pull.com/"; - changelog = "https://github.com/tmux-python/libtmux/raw/${src.tag}/CHANGES"; + changelog = "https://github.com/tmux-python/libtmux/raw/${finalAttrs.src.tag}/CHANGES"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ otavio ]; }; -} +}) diff --git a/pkgs/development/python-modules/linuxdoc/default.nix b/pkgs/development/python-modules/linuxdoc/default.nix new file mode 100644 index 0000000000000..9e394c43e7c92 --- /dev/null +++ b/pkgs/development/python-modules/linuxdoc/default.nix @@ -0,0 +1,41 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + fspath, + docutils, + sphinx, +}: + +buildPythonPackage (finalAttrs: { + pname = "linuxdoc"; + version = "20240924"; + pyproject = true; + + src = fetchFromGitHub { + owner = "return42"; + repo = "linuxdoc"; + tag = finalAttrs.version; + hash = "sha256-UOOIl+HWI7bK6iWrADTgrGvom++178yPYmyI+qTwVlg="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + fspath + docutils + sphinx + ]; + + pythonImportsCheck = [ "linuxdoc" ]; + + meta = { + description = "Sphinx-doc extensions for sophisticated C developer"; + homepage = "https://github.com/return42/linuxdoc"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ skohtv ]; + }; +}) diff --git a/pkgs/development/python-modules/litecli/default.nix b/pkgs/development/python-modules/litecli/default.nix new file mode 100644 index 0000000000000..b271b24c4a7f0 --- /dev/null +++ b/pkgs/development/python-modules/litecli/default.nix @@ -0,0 +1,55 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + setuptools-scm, + click, + pygments, + prompt-toolkit, + sqlparse, + configobj, + cli-helpers, +}: + +buildPythonPackage rec { + pname = "litecli"; + version = "1.17.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "dbcli"; + repo = "litecli"; + tag = "v${version}"; + hash = "sha256-YSPNtDL5rNgRh5lJBKfL1jjWemlmf3eesBMSLyJVRLY="; + }; + + build-system = [ + setuptools + setuptools-scm + ]; + + dependencies = [ + click + pygments + prompt-toolkit + sqlparse + configobj + cli-helpers + ]; + + doCheck = true; + + pythonImportsCheck = [ + "litecli" + ]; + + meta = { + description = "CLI for SQLite Databases with auto-completion and syntax highlighting"; + homepage = "https://github.com/dbcli/litecli"; + changelog = "https://github.com/dbcli/litecli/releases/tag/v${version}"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ nullstring1 ]; + mainProgram = "litecli"; + }; +} diff --git a/pkgs/development/python-modules/llama-index-vector-stores-milvus/default.nix b/pkgs/development/python-modules/llama-index-vector-stores-milvus/default.nix index 4f6a0b1675208..774c551d7eba0 100644 --- a/pkgs/development/python-modules/llama-index-vector-stores-milvus/default.nix +++ b/pkgs/development/python-modules/llama-index-vector-stores-milvus/default.nix @@ -9,13 +9,13 @@ buildPythonPackage (finalAttrs: { pname = "llama-index-vector-stores-milvus"; - version = "0.9.6"; + version = "1.0.0"; pyproject = true; src = fetchPypi { pname = "llama_index_vector_stores_milvus"; inherit (finalAttrs) version; - hash = "sha256-bTisWTmlcOAkBof1T77k4f9sX6otKNJTd6PzjSygfis="; + hash = "sha256-u3IqnwF1fe4gkdbsO9n9+wNp/nMdUnTguVeXqaUymUM="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/logboth/default.nix b/pkgs/development/python-modules/logboth/default.nix index 6e4ced1405efe..3bb9a7552a162 100644 --- a/pkgs/development/python-modules/logboth/default.nix +++ b/pkgs/development/python-modules/logboth/default.nix @@ -5,16 +5,16 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "logboth"; - version = "0.1.0"; + version = "0.2.0"; pyproject = true; src = fetchFromGitLab { owner = "zehkira"; repo = "logboth"; - tag = "v${version}"; - hash = "sha256-z62atvFYrRqjcGQbTlWadoG1TPrNl8WwDBclzhqQtPA="; + tag = "v${finalAttrs.version}"; + hash = "sha256-R4FrZK8yxCZ5BFBFp/Fj/WyWa6+rIM6GHl3HZGgp5TI="; }; build-system = [ setuptools ]; @@ -35,4 +35,4 @@ buildPythonPackage rec { license = lib.licenses.bsd0; maintainers = with lib.maintainers; [ aleksana ]; }; -} +}) diff --git a/pkgs/development/python-modules/lunatone-rest-api-client/default.nix b/pkgs/development/python-modules/lunatone-rest-api-client/default.nix index 2f3329615a745..88bf20c2da588 100644 --- a/pkgs/development/python-modules/lunatone-rest-api-client/default.nix +++ b/pkgs/development/python-modules/lunatone-rest-api-client/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "lunatone-rest-api-client"; - version = "0.7.0"; + version = "0.7.2"; pyproject = true; src = fetchFromGitLab { owner = "lunatone-public"; repo = "lunatone-rest-api-client"; tag = "v${version}"; - hash = "sha256-Hw4sH2CYhE205iDc8QWvg9LJVHJSpqI1ziJZoQyXFts="; + hash = "sha256-x9L65L5wEbJMOGlNBoQfPjS8/Ijr+fzaISoDD+cMWzU="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/magika/default.nix b/pkgs/development/python-modules/magika/default.nix index a1846e289f695..0cf1c3bcc49d0 100644 --- a/pkgs/development/python-modules/magika/default.nix +++ b/pkgs/development/python-modules/magika/default.nix @@ -26,7 +26,7 @@ let in buildPythonPackage (finalAttrs: { pname = "magika"; - version = "1.0.1"; + version = "1.0.2"; pyproject = true; # Use pypi tarball instead of GitHub source @@ -34,7 +34,7 @@ buildPythonPackage (finalAttrs: { # while GitHub source requires compiling magika-cli src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-MT+Mv83Jp+VcJChicyMKJzK4mCXlipPeK1dlMTk7g5g="; + hash = "sha256-jtkS2PFNBE9D/b0X1r0svdbouCRuib5J9s1UcFNjZnc="; }; postPatch = '' diff --git a/pkgs/development/python-modules/mail-parser/default.nix b/pkgs/development/python-modules/mail-parser/default.nix index 5f31ca8d35c5d..c56abff52667e 100644 --- a/pkgs/development/python-modules/mail-parser/default.nix +++ b/pkgs/development/python-modules/mail-parser/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { hash = "sha256-wwLUD/k26utugK/Yx9eXYEdSOvrk0Cy6RkXGDnzZ+fE="; }; - LC_ALL = "en_US.utf-8"; + env.LC_ALL = "en_US.utf-8"; nativeBuildInputs = [ glibcLocales ]; diff --git a/pkgs/development/python-modules/manga-ocr/default.nix b/pkgs/development/python-modules/manga-ocr/default.nix index 5e4d9ac98decc..5cc8af9b270db 100644 --- a/pkgs/development/python-modules/manga-ocr/default.nix +++ b/pkgs/development/python-modules/manga-ocr/default.nix @@ -52,6 +52,6 @@ buildPythonPackage rec { homepage = "https://github.com/kha-white/manga-ocr"; changelog = "https://github.com/kha-white/manga-ocr/releases/tag/${src.tag}"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ laurent-f1z1 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/manim/default.nix b/pkgs/development/python-modules/manim/default.nix index be20a1abbe51e..c30af66c430eb 100644 --- a/pkgs/development/python-modules/manim/default.nix +++ b/pkgs/development/python-modules/manim/default.nix @@ -188,13 +188,13 @@ in buildPythonPackage (finalAttrs: { pname = "manim"; pyproject = true; - version = "0.20.0"; + version = "0.20.1"; src = fetchFromGitHub { owner = "ManimCommunity"; repo = "manim"; tag = "v${finalAttrs.version}"; - hash = "sha256-sn33kI0AswuvE653hWmke+7+qdJo5COzPaL8Y2aGbsU="; + hash = "sha256-rfPqKPbxT8UsxSin4DquDjPMAUEYmKixx2fBlr5mz8U="; }; build-system = [ diff --git a/pkgs/development/python-modules/markdown/default.nix b/pkgs/development/python-modules/markdown/default.nix index 226b2465b6125..b3b8bb6651db2 100644 --- a/pkgs/development/python-modules/markdown/default.nix +++ b/pkgs/development/python-modules/markdown/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "markdown"; - version = "3.10.1"; + version = "3.10.2"; pyproject = true; src = fetchFromGitHub { owner = "Python-Markdown"; repo = "markdown"; tag = version; - hash = "sha256-WBkWB91wq4er+SDMW2pbl6PYCxIE/rzuqREc4Jy0wDE="; + hash = "sha256-iZ+52xXtpn59HIcG2LTHHV0AMAz5N72np6s8+EOy8MQ="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/mathutils/default.nix b/pkgs/development/python-modules/mathutils/default.nix index 8703e0104cd81..d1dfe06b8fcd6 100644 --- a/pkgs/development/python-modules/mathutils/default.nix +++ b/pkgs/development/python-modules/mathutils/default.nix @@ -1,42 +1,50 @@ { lib, buildPythonPackage, - fetchFromGitLab, - pythonAtLeast, + fetchPypi, # build-system setuptools, + + # nativeBuildInputs + pkg-config, + + # buildInputs + eigen, }: -buildPythonPackage { +buildPythonPackage (finalAttrs: { pname = "mathutils"; - version = "3.3.0"; + version = "5.1.0"; pyproject = true; - src = fetchFromGitLab { - owner = "ideasman42"; - repo = "blender-mathutils"; - rev = "d63d623a9e580a567eb6acb7dbed7cad0e4f8c28"; - hash = "sha256-c28kt2ADw4wHNLN0CBPcJU/kqm6g679QRaICk4WwaBc="; + # No tags on GitLab + src = fetchPypi { + inherit (finalAttrs) pname version; + hash = "sha256-sXGvnWtUoSE4yd6tT1kwo/qvkjh8xf+qgvGPvuFVQWg="; }; - # error: implicit declaration of function ‘_PyLong_AsInt’; did you mean ‘PyLong_AsInt’? [-Wimplicit-function-declaration] - # https://github.com/python/cpython/issues/108444 - postPatch = lib.optionalString (pythonAtLeast "3.13") '' - substituteInPlace src/generic/py_capi_utils.{c,h} \ - --replace-fail "_PyLong_AsInt" "PyLong_AsInt" - ''; - build-system = [ setuptools ]; + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + eigen + ]; + pythonImportsCheck = [ "mathutils" ]; + # no tests + doCheck = false; + meta = { description = "General math utilities library providing Matrix, Vector, Quaternion, Euler and Color classes, written in C for speed"; homepage = "https://gitlab.com/ideasman42/blender-mathutils"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ autra ]; }; -} +}) diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix index d07dfb2c02545..3f737f14eef7c 100644 --- a/pkgs/development/python-modules/matplotlib/default.nix +++ b/pkgs/development/python-modules/matplotlib/default.nix @@ -204,7 +204,6 @@ buildPythonPackage rec { bsd0 ]; maintainers = with lib.maintainers; [ - lovek323 veprbl ]; }; diff --git a/pkgs/development/python-modules/mautrix/default.nix b/pkgs/development/python-modules/mautrix/default.nix index 69caaedc11267..d90a1b89fbdc9 100644 --- a/pkgs/development/python-modules/mautrix/default.nix +++ b/pkgs/development/python-modules/mautrix/default.nix @@ -8,6 +8,7 @@ attrs, yarl, # optional deps + base58, python-magic, python-olm, unpaddedbase64, @@ -46,6 +47,7 @@ buildPythonPackage rec { optional-dependencies = { detect_mimetype = [ python-magic ]; encryption = [ + base58 python-olm unpaddedbase64 pycryptodome diff --git a/pkgs/development/python-modules/meep/default.nix b/pkgs/development/python-modules/meep/default.nix index fe4a2e3a1315f..78ee091ecfd88 100644 --- a/pkgs/development/python-modules/meep/default.nix +++ b/pkgs/development/python-modules/meep/default.nix @@ -36,13 +36,13 @@ assert !lapack.isILP64; buildPythonPackage rec { pname = "meep"; - version = "1.31.0"; + version = "1.32.0"; src = fetchFromGitHub { owner = "NanoComp"; repo = "meep"; tag = "v${version}"; - hash = "sha256-x5OMdV/LJfklcK1KlYS0pdotsXP/SYzF7AOW5DlJvq0="; + hash = "sha256-XyGs4U8r3ZaqCq2ArMeeI/wFmJEig8iBaPytf7QIehw="; }; pyproject = false; diff --git a/pkgs/development/python-modules/mitmproxy/default.nix b/pkgs/development/python-modules/mitmproxy/default.nix index 18986c0ad7c01..04289631d194c 100644 --- a/pkgs/development/python-modules/mitmproxy/default.nix +++ b/pkgs/development/python-modules/mitmproxy/default.nix @@ -1,6 +1,6 @@ { lib, - aioquic, + aioquic_1_2, argon2-cffi, asgiref, bcrypt, @@ -24,6 +24,7 @@ pyparsing, pyperclip, pytest-asyncio, + pytest-cov-stub, pytest-timeout, pytest-xdist, pytestCheckHook, @@ -50,19 +51,23 @@ buildPythonPackage rec { }; pythonRelaxDeps = [ - "urwid" - "zstandard" - # requested by maintainer "brotli" # just keep those "typing-extensions" + + "urwid" + "asgiref" + "pyparsing" + "ruamel.yaml" + "tornado" + "wsproto" ]; build-system = [ setuptools ]; dependencies = [ - aioquic + aioquic_1_2 argon2-cffi asgiref brotli @@ -92,6 +97,7 @@ buildPythonPackage rec { nativeCheckInputs = [ hypothesis pytest-asyncio + pytest-cov-stub pytest-timeout pytest-xdist pytestCheckHook @@ -100,6 +106,12 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; + postPatch = '' + # Rename to fix pytest exception + substituteInPlace pyproject.toml \ + --replace-warn "[tool.pytest.individual_coverage]" "[tool.mitmproxy.individual_coverage]" + ''; + preCheck = '' export HOME=$(mktemp -d) ''; diff --git a/pkgs/development/python-modules/mpd2/default.nix b/pkgs/development/python-modules/mpd2/default.nix index 79c4ed1653c26..09bd308fd74cf 100644 --- a/pkgs/development/python-modules/mpd2/default.nix +++ b/pkgs/development/python-modules/mpd2/default.nix @@ -1,32 +1,34 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, setuptools, twisted, unittestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "python-mpd2"; - version = "3.1.1"; + version = "3.1.2"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-S67DWEzEPtmUjVVZB5+vwmebBrKt4nPpCbNYJlSys/U="; + src = fetchFromGitHub { + owner = "Mic92"; + repo = "python-mpd2"; + tag = "v${finalAttrs.version}"; + hash = "sha256-3isX3e4Fu1orxuRsC3u8RxoFDQcE4XxQhf8PIHdo/e4="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; optional-dependencies = { twisted = [ twisted ]; }; - nativeCheckInputs = [ unittestCheckHook ] ++ optional-dependencies.twisted; + nativeCheckInputs = [ unittestCheckHook ] ++ finalAttrs.passthru.optional-dependencies.twisted; meta = { - changelog = "https://github.com/Mic92/python-mpd2/blob/v${version}/doc/changes.rst"; + changelog = "https://github.com/Mic92/python-mpd2/blob/${finalAttrs.src.tag}/doc/changes.rst"; description = "Python client module for the Music Player Daemon"; homepage = "https://github.com/Mic92/python-mpd2"; license = lib.licenses.lgpl3Plus; @@ -35,4 +37,4 @@ buildPythonPackage rec { hexa ]; }; -} +}) diff --git a/pkgs/development/python-modules/mpmath/default.nix b/pkgs/development/python-modules/mpmath/default.nix index d76ec52cb8bfe..a78d24afe9d20 100644 --- a/pkgs/development/python-modules/mpmath/default.nix +++ b/pkgs/development/python-modules/mpmath/default.nix @@ -39,7 +39,7 @@ buildPythonPackage rec { homepage = "https://mpmath.org/"; description = "Pure-Python library for multiprecision floating arithmetic"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; } diff --git a/pkgs/development/python-modules/musicbrainzngs/default.nix b/pkgs/development/python-modules/musicbrainzngs/default.nix index 7992af9e1fbe2..6b85437a7a1fe 100644 --- a/pkgs/development/python-modules/musicbrainzngs/default.nix +++ b/pkgs/development/python-modules/musicbrainzngs/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { buildInputs = [ pkgs.glibcLocales ]; - LC_ALL = "en_US.UTF-8"; + env.LC_ALL = "en_US.UTF-8"; preCheck = '' # Remove tests that rely on networking (breaks sandboxed builds) diff --git a/pkgs/development/python-modules/mxnet/default.nix b/pkgs/development/python-modules/mxnet/default.nix index b42ba43501fe6..5dcd11a257dd5 100644 --- a/pkgs/development/python-modules/mxnet/default.nix +++ b/pkgs/development/python-modules/mxnet/default.nix @@ -30,7 +30,7 @@ buildPythonPackage { "numpy" ]; - LD_LIBRARY_PATH = lib.makeLibraryPath [ pkgs.mxnet ]; + env.LD_LIBRARY_PATH = toString (lib.makeLibraryPath [ pkgs.mxnet ]); postPatch = '' # Required to support numpy >=1.24 where np.bool is removed in favor of just bool diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 5fc0370d38c5d..95ac1a6a3eaf9 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -159,12 +159,12 @@ in "sha256-ESsxNpqqY56rqbweQLpcLDA25i6+A59hiOB9AUk+W8k="; mypy-boto3-backup-gateway = - buildMypyBoto3Package "backup-gateway" "1.42.3" - "sha256-uKbD5VkYnYO2PKd1Lp9PAg9+5p8X+LisT+N6TsqhZRY="; + buildMypyBoto3Package "backup-gateway" "1.42.58" + "sha256-G3kwLm2IEgXNFrs8V2uCj0su2S3P72FzmWSOEYjlV4c="; mypy-boto3-batch = - buildMypyBoto3Package "batch" "1.42.47" - "sha256-A8fLv0hcx6fofnf807NJ/FjLLDwOAx3BHFG8Cmae53g="; + buildMypyBoto3Package "batch" "1.42.59" + "sha256-RYL6s/uF5iFEIEFewaq2gXX7YeKgC1EWomCRyerJZS4="; mypy-boto3-billingconductor = buildMypyBoto3Package "billingconductor" "1.42.7" @@ -255,8 +255,8 @@ in "sha256-S2NgrjralqxjjGo39TwaUSStqspnhI/E2/BLXUGP0Hc="; mypy-boto3-cloudwatch = - buildMypyBoto3Package "cloudwatch" "1.42.49" - "sha256-KNDilDGBVmsRbN4IL6LF0MqE0oisoEzVGqnt8MDQl8c="; + buildMypyBoto3Package "cloudwatch" "1.42.56" + "sha256-Z5GriV29LChx+MDWhq5a2zlBjb1GUVmW4sgKWWZNDc8="; mypy-boto3-codeartifact = buildMypyBoto3Package "codeartifact" "1.42.3" @@ -311,8 +311,8 @@ in "sha256-N9PEmvqI7Yc7AAuDdOj1iePSq7hJTgOmS+4z7GzYd98="; mypy-boto3-cognito-idp = - buildMypyBoto3Package "cognito-idp" "1.42.37" - "sha256-Njxu5vNc9GPHqBTIvUMQGYxjVSYJrqQMbgd0B2e98pQ="; + buildMypyBoto3Package "cognito-idp" "1.42.59" + "sha256-TE+BT1wJvhWsNq1nnyiX6QbT0oHVCvMa/YzChpI3gls="; mypy-boto3-cognito-sync = buildMypyBoto3Package "cognito-sync" "1.42.3" @@ -335,8 +335,8 @@ in "sha256-HQUL0R1NWP6DXQ26iS9k6lIAVdwK899fwLGH4/Z4U8Q="; mypy-boto3-connect = - buildMypyBoto3Package "connect" "1.42.52" - "sha256-eAdZIurbLHgxl+gsbD86zRSlFc18RcjDhdnTg3stJfo="; + buildMypyBoto3Package "connect" "1.42.59" + "sha256-Emsl+UKfvHGf0KKvTdTIZ5gw+NJMEom5zz+AfcJZWD8="; mypy-boto3-connect-contact-lens = buildMypyBoto3Package "connect-contact-lens" "1.42.3" @@ -347,8 +347,8 @@ in "sha256-omWYUcr7Aj6r1F1kKAmM32fn9577UeUgqesnIiBIpPQ="; mypy-boto3-connectcases = - buildMypyBoto3Package "connectcases" "1.42.42" - "sha256-3L8y44S2aXjc3E6DRz87M0b5zlbI69YBJ+V9F9k71eo="; + buildMypyBoto3Package "connectcases" "1.42.55" + "sha256-wB3bSavhTTCIvF/5myLyIHItqPvNvudCzoB2tt8g1iM="; mypy-boto3-connectparticipant = buildMypyBoto3Package "connectparticipant" "1.42.3" @@ -363,8 +363,8 @@ in "sha256-SAgpP1O6oGP8QIp6qoG4bu/axKZyVWgbdt8ZmZkrezY="; mypy-boto3-customer-profiles = - buildMypyBoto3Package "customer-profiles" "1.42.3" - "sha256-6LDJSwFvf72wMcyzeRH7wsfjaDjfYFDe4yXpl+r1Db4="; + buildMypyBoto3Package "customer-profiles" "1.42.59" + "sha256-NHIaeJHrZ8mLDNY98rGrWbBILWtol3yuRDkKT9nlvEE="; mypy-boto3-databrew = buildMypyBoto3Package "databrew" "1.42.3" @@ -431,8 +431,8 @@ in "sha256-VLjmuBf9xHv0qwv2F3l/14KptFqXVE0OmwPF/WC06NI="; mypy-boto3-dynamodb = - buildMypyBoto3Package "dynamodb" "1.42.41" - "sha256-YQLF7PJbHvSFJ0ypxq9563b2YgDNB1UV7dK5ZWX5iS0="; + buildMypyBoto3Package "dynamodb" "1.42.55" + "sha256-pEX0Oba8RTL9WSy39EREyPyPOXJxwNkIfnEvcfGW0vk="; mypy-boto3-dynamodbstreams = buildMypyBoto3Package "dynamodbstreams" "1.42.3" @@ -443,24 +443,24 @@ in "sha256-92qhSUqTiLgbtvCdi/Mmgve18mcYR00ABL+bNy7/OnY="; mypy-boto3-ec2 = - buildMypyBoto3Package "ec2" "1.42.51" - "sha256-yeQ1LX3GmyIyhwmXwFqft35S6DiMM4KtMKOJMKgLbSo="; + buildMypyBoto3Package "ec2" "1.42.58" + "sha256-6UyKkBJa2ZnDaWK7u3KFrDX5hntWPlR7+L6LqZbmA7I="; mypy-boto3-ec2-instance-connect = buildMypyBoto3Package "ec2-instance-connect" "1.42.3" "sha256-qe5aitxIPiQA2Et/+MtGVsnmWvk45Rg04/U/kR+tmK0="; mypy-boto3-ecr = - buildMypyBoto3Package "ecr" "1.42.53" - "sha256-ZabWBbalFzrpoNRS3lGLIYo/6F9q4h3xOVNmBeCqMc8="; + buildMypyBoto3Package "ecr" "1.42.57" + "sha256-HWo7KIcJDl8Ioos1tDkaNNF1dfUY9Szbh54idTI6QTc="; mypy-boto3-ecr-public = buildMypyBoto3Package "ecr-public" "1.42.3" "sha256-syjw4M02YXRXsJpM3e7OikE3sSTl/hIIJ3857PP2BII="; mypy-boto3-ecs = - buildMypyBoto3Package "ecs" "1.42.54" - "sha256-r6CsGi1xMbNm+GHE4omqt48Pc+ZD7G8xtax0k7ncjl4="; + buildMypyBoto3Package "ecs" "1.42.58" + "sha256-dgAvcfFtb7TSr7aZofmV2SRNMWCBViZ5XcI5z2f8wmQ="; mypy-boto3-efs = buildMypyBoto3Package "efs" "1.42.3" @@ -511,8 +511,8 @@ in "sha256-DyAxO4HPA98ON9Q2Sp5HF1lQNp8yecGiEaV12m0E7zM="; mypy-boto3-es = - buildMypyBoto3Package "es" "1.42.3" - "sha256-LUatoDZMYamd9x0qPkbv0WikJ0txZmQRwd8J1Hczmvg="; + buildMypyBoto3Package "es" "1.42.56" + "sha256-52bnvdPDRbC/di9xSwDaoOqyNQIPXjqooUXVbypevaw="; mypy-boto3-events = buildMypyBoto3Package "events" "1.42.3" @@ -594,8 +594,8 @@ in "sha256-Xo4t/M+9Kly33WHxtXSgww0cbNyF59k4LBeyyFSbSMw="; mypy-boto3-health = - buildMypyBoto3Package "health" "1.42.33" - "sha256-YXXZ8ceqMcyq93rfUOr7XCB2XbpMsU3/AFk9gycUEow="; + buildMypyBoto3Package "health" "1.42.59" + "sha256-ryg+TwVNMUGrKcvt565Y4BTylGnucbPVUsi/modP8mM="; mypy-boto3-healthlake = buildMypyBoto3Package "healthlake" "1.42.3" @@ -846,8 +846,8 @@ in "sha256-lyq6RaR12pc3LKJokhd+S5wSppt4hWdsHoVsQe34GMY="; mypy-boto3-marketplace-entitlement = - buildMypyBoto3Package "marketplace-entitlement" "1.42.3" - "sha256-tgsuuoZK5+zG3awUOa+7t9sOPM8xLBvHf69AGONd9MU="; + buildMypyBoto3Package "marketplace-entitlement" "1.42.58" + "sha256-vD0N5KMd6GE/UyMuhaULwwKNDy8ndKPSbW0bLo3eW5g="; mypy-boto3-marketplacecommerceanalytics = buildMypyBoto3Package "marketplacecommerceanalytics" "1.42.3" @@ -862,8 +862,8 @@ in "sha256-Z+TiVg/mjr0vTU+awHlS7GCynOeSl+IPl0n9GaLTsYE="; mypy-boto3-medialive = - buildMypyBoto3Package "medialive" "1.42.43" - "sha256-gDG9tW/b6kg1GYeKNV3rD5Jco5+Si1xrvn9VQpAkZrM="; + buildMypyBoto3Package "medialive" "1.42.56" + "sha256-MshslPZEBNOuIPrs0w2No6g8UzXNouSdRgM7WAkXlbc="; mypy-boto3-mediapackage = buildMypyBoto3Package "mediapackage" "1.42.3" @@ -886,8 +886,8 @@ in "sha256-VBsw9c9B6r3G5vJ0iVUCi4wVoFprYseRLeMWs69KpTQ="; mypy-boto3-mediatailor = - buildMypyBoto3Package "mediatailor" "1.42.10" - "sha256-4YmRgBRIz2NtTnU6aSJ+0tPAaOXsMZQY0GFTHjqtF8I="; + buildMypyBoto3Package "mediatailor" "1.42.55" + "sha256-j3ZEfGrynOyodn/Dl8D986+C/+GNkNgSNoAoXMyPhdQ="; mypy-boto3-medical-imaging = buildMypyBoto3Package "medical-imaging" "1.42.3" @@ -898,8 +898,8 @@ in "sha256-7e9/QHJJbdGyNnpxVZZCdbxdc0ncJ7a2UsBiVF629VA="; mypy-boto3-meteringmarketplace = - buildMypyBoto3Package "meteringmarketplace" "1.42.33" - "sha256-xI5F9ZZDoE7QgeXzSDoJmagTwnOtMr2jWHE6iH/7XkA="; + buildMypyBoto3Package "meteringmarketplace" "1.42.58" + "sha256-2mZV1S76X3SaxuZ8OdSpUD3wjGjY+wv0mSJgGBG/d4Q="; mypy-boto3-mgh = buildMypyBoto3Package "mgh" "1.42.3" @@ -938,8 +938,8 @@ in "sha256-BkxJ1ilQTVsOqdq63kNtKyKqxrKrEXUkg3v6EN73HR8="; mypy-boto3-neptune = - buildMypyBoto3Package "neptune" "1.42.3" - "sha256-npzoHPz/LS8q5fQOUT/niFRTZSEbOR8QquY7lt9huYE="; + buildMypyBoto3Package "neptune" "1.42.57" + "sha256-9oNjBSEUUy4OzQqYVCgujl86TOMyXCT2QMLDG3WU1Kc="; mypy-boto3-neptunedata = buildMypyBoto3Package "neptunedata" "1.42.45" @@ -966,8 +966,8 @@ in "sha256-o2X4h4K/Cf/TnZG3P5uDjdVmYJRcwPlv6DnSwdzOgc0="; mypy-boto3-opensearch = - buildMypyBoto3Package "opensearch" "1.42.13" - "sha256-NVhi7X3TpxHLoalx2LTleKBXUiWElWdr4NGdOlnuoXk="; + buildMypyBoto3Package "opensearch" "1.42.56" + "sha256-yGLOtl1C0Y4F/Q1yDUEx0nR5VcqFFpdt80Eix/DZ5ts="; mypy-boto3-opensearchserverless = buildMypyBoto3Package "opensearchserverless" "1.42.29" @@ -1070,12 +1070,12 @@ in "sha256-YrrEKl3aGz//5Z5JGapHhWtk6hBXQ4cuRQmLqGYztzg="; mypy-boto3-quicksight = - buildMypyBoto3Package "quicksight" "1.42.39" - "sha256-q7GExVZQ4fHaCZ/xcFKUg09DH079zesCaqFB9KMr+eI="; + buildMypyBoto3Package "quicksight" "1.42.55" + "sha256-N+w9coq6u6F/B69obbL/N/xL/qsEuSJJVd5WYrnD48Q="; mypy-boto3-ram = - buildMypyBoto3Package "ram" "1.42.43" - "sha256-FpciTe6Hh8CMVneGk5dBHYHsUsOU8rikKReiH90BMaY="; + buildMypyBoto3Package "ram" "1.42.59" + "sha256-jBfqP9lFktW0qJfalR0wGCuHvZv4u6XMoQR466hXLV0="; mypy-boto3-rbin = buildMypyBoto3Package "rbin" "1.42.3" @@ -1218,8 +1218,8 @@ in "sha256-WrQvNc6TJ2XrsWhBRvR4qHzEuDvvlQ/Rqg4mi4jVnIE="; mypy-boto3-securityhub = - buildMypyBoto3Package "securityhub" "1.42.3" - "sha256-4V6ZGMFF6aoKehs7dCwziC3o1J9S/yGjmdfuLMRNirc="; + buildMypyBoto3Package "securityhub" "1.42.58" + "sha256-svAuxOrTZz/fludiFZFolRVMQmS2qdaJBrfTlynb8oA="; mypy-boto3-securitylake = buildMypyBoto3Package "securitylake" "1.42.3" @@ -1394,8 +1394,8 @@ in "sha256-FEl4TtWX042gUuznqlc25HoIbMcCKhE85uuJPh8Kt+E="; mypy-boto3-wafv2 = - buildMypyBoto3Package "wafv2" "1.42.3" - "sha256-VWo+1TnWrbwmaXOwjeOIJoknL/XB5RjYGeTyL30E02Y="; + buildMypyBoto3Package "wafv2" "1.42.57" + "sha256-fCmLmGyNNPDQLK7eVKPPcimWQbodt3tgs/7F4MZW39Y="; mypy-boto3-wellarchitected = buildMypyBoto3Package "wellarchitected" "1.42.3" diff --git a/pkgs/development/python-modules/mypy-boto3/update.sh b/pkgs/development/python-modules/mypy-boto3/update.sh index 3e9b90693ad26..c1e929e2d2a9f 100755 --- a/pkgs/development/python-modules/mypy-boto3/update.sh +++ b/pkgs/development/python-modules/mypy-boto3/update.sh @@ -5,7 +5,7 @@ set -eu -o pipefail source_file=pkgs/development/python-modules/mypy-boto3/default.nix -#nix-update python312Packages.botocore-stubs --commit --build +#nix-update python3Packages.botocore-stubs --commit --build packages=( mypy-boto3-accessanalyzer @@ -385,7 +385,7 @@ for package in "${packages[@]}"; do nixfmt ${source_file} - git commit ${source_file} -m "python312Packages.${package}: ${old_version} -> ${version}" + git commit ${source_file} -m "python3Packages.${package}: ${old_version} -> ${version}" fi done diff --git a/pkgs/development/python-modules/mypyllant/default.nix b/pkgs/development/python-modules/mypyllant/default.nix index 82563845796ba..dd08f34a91ccf 100644 --- a/pkgs/development/python-modules/mypyllant/default.nix +++ b/pkgs/development/python-modules/mypyllant/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { pname = "mypyllant"; - version = "0.9.9"; + version = "0.9.10"; pyproject = true; src = fetchFromGitHub { owner = "signalkraft"; repo = "myPyllant"; tag = "v${version}"; - hash = "sha256-wvqlTlcNy/ue2yfrQyS93vfRSOTsHbvARI+7BKuUuYs="; + hash = "sha256-hsuRoh8meAlPd5+WlYkjbGhNKDLV5XsKn27zQWnrELQ="; }; build-system = [ diff --git a/pkgs/development/python-modules/nbconflux/default.nix b/pkgs/development/python-modules/nbconflux/default.nix index 660e9f80fee5d..9a6eae1e713d8 100644 --- a/pkgs/development/python-modules/nbconflux/default.nix +++ b/pkgs/development/python-modules/nbconflux/default.nix @@ -47,7 +47,7 @@ buildPythonPackage rec { rm versioneer.py ''; - JUPYTER_PATH = "${nbconvert}/share/jupyter"; + env.JUPYTER_PATH = "${nbconvert}/share/jupyter"; disabledTests = [ "test_post_to_confluence" "test_optional_components" diff --git a/pkgs/development/python-modules/nbsphinx/default.nix b/pkgs/development/python-modules/nbsphinx/default.nix index 22501d4678767..cb8470681163d 100644 --- a/pkgs/development/python-modules/nbsphinx/default.nix +++ b/pkgs/development/python-modules/nbsphinx/default.nix @@ -42,7 +42,7 @@ buildPythonPackage rec { # The package has not tests doCheck = false; - JUPYTER_PATH = "${nbconvert}/share/jupyter"; + env.JUPYTER_PATH = "${nbconvert}/share/jupyter"; pythonImportsCheck = [ "nbsphinx" ]; diff --git a/pkgs/development/python-modules/notobuilder/default.nix b/pkgs/development/python-modules/notobuilder/default.nix index 894b71e0712f3..630155548bdbb 100644 --- a/pkgs/development/python-modules/notobuilder/default.nix +++ b/pkgs/development/python-modules/notobuilder/default.nix @@ -21,14 +21,14 @@ buildPythonPackage { pname = "notobuilder"; - version = "0-unstable-2026-01-30"; + version = "0-unstable-2026-02-25"; pyproject = true; src = fetchFromGitHub { owner = "notofonts"; repo = "notobuilder"; - rev = "0fa2bd755e02d57630d1f5ff7cda965454e68022"; - hash = "sha256-ZqB/jv3KwRIiZST2Ghe3DLxnfeRDpx83LooCAdYwh5E="; + rev = "5c15f266be1f24587adad807e2f1f3ff9ff537a8"; + hash = "sha256-Tw1riTHORtIpOq8PjSspIR044TBupYgXkI8fBiBkgJI="; }; postPatch = '' diff --git a/pkgs/development/python-modules/oelint-data/default.nix b/pkgs/development/python-modules/oelint-data/default.nix index 1a5fd741a184e..7e9b34daec378 100644 --- a/pkgs/development/python-modules/oelint-data/default.nix +++ b/pkgs/development/python-modules/oelint-data/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "oelint-data"; - version = "1.4.2"; + version = "1.4.4"; pyproject = true; src = fetchFromGitHub { owner = "priv-kweihmann"; repo = "oelint-data"; tag = finalAttrs.version; - hash = "sha256-kaJ6Qalqg2jyCfgJuXpKCvj5SHYetmAobnEJ09Y9gFQ="; + hash = "sha256-gbTbGrTwdHnC0Ydqta0SJP7tujqyz5TCeLJ4tSbkAkU="; }; build-system = [ diff --git a/pkgs/development/python-modules/omitempty/default.nix b/pkgs/development/python-modules/omitempty/default.nix new file mode 100644 index 0000000000000..e5f2dbcb41683 --- /dev/null +++ b/pkgs/development/python-modules/omitempty/default.nix @@ -0,0 +1,34 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "omitempty"; + version = "0.1.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "bfontaine"; + repo = "omitempty"; + tag = finalAttrs.version; + hash = "sha256-XQ887ArfxXnPJcCksgS5Zkg9VAfGRxu0wapewsnqdpY="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "omitempty" ]; + + # Tests are outdated + doCheck = false; + + meta = { + description = "Go's omitempty for Python"; + homepage = "https://github.com/bfontaine/omitempty"; + changelog = "https://github.com/bfontaine/omitempty/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/development/python-modules/openusd/default.nix b/pkgs/development/python-modules/openusd/default.nix index 301ad84fa7d2b..f38cc9c48a4fc 100644 --- a/pkgs/development/python-modules/openusd/default.nix +++ b/pkgs/development/python-modules/openusd/default.nix @@ -24,8 +24,8 @@ numpy, opencolorio, openimageio, + openshadinglanguage, opensubdiv, - osl, ptex, pyopengl, pyqt6, @@ -79,7 +79,7 @@ buildPythonPackage rec { }) ]; - env.OSL_LOCATION = "${osl}"; + env.OSL_LOCATION = lib.optionalString withOsl "${openshadinglanguage}"; cmakeFlags = [ "-DPXR_BUILD_ALEMBIC_PLUGIN=ON" @@ -131,7 +131,7 @@ buildPythonPackage rec { libx11 libxt ] - ++ lib.optionals withOsl [ osl ] + ++ lib.optionals withOsl [ openshadinglanguage ] ++ lib.optionals withUsdView [ qt6.qtbase ] ++ lib.optionals (withUsdView && stdenv.hostPlatform.isLinux) [ qt6.qtwayland ]; diff --git a/pkgs/development/python-modules/osc-placement/default.nix b/pkgs/development/python-modules/osc-placement/default.nix index 7bd7c332499ee..ae479cbf1b3f9 100644 --- a/pkgs/development/python-modules/osc-placement/default.nix +++ b/pkgs/development/python-modules/osc-placement/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "osc-placement"; - version = "4.7.0"; + version = "4.8.0"; pyproject = true; src = fetchFromGitHub { owner = "openstack"; repo = "osc-placement"; tag = version; - hash = "sha256-OLvi/eIgEEUoZKxowU7On5m2OkRsCEsU/Me7rPruIdM="; + hash = "sha256-txxLtg3fDrkPqU0k/PlwvpJJBzVLtJXz82mhPWo+rKc="; }; env.PBR_VERSION = version; diff --git a/pkgs/development/python-modules/osc/default.nix b/pkgs/development/python-modules/osc/default.nix index 20a28afd26a29..66107e0999f38 100644 --- a/pkgs/development/python-modules/osc/default.nix +++ b/pkgs/development/python-modules/osc/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "osc"; - version = "1.23.0"; + version = "1.24.0"; format = "setuptools"; src = fetchFromGitHub { owner = "openSUSE"; repo = "osc"; rev = version; - hash = "sha256-FcoFWNiuSdU5qGNGJACxD9RpDDw1D9yRzVGVaXy39GY="; + hash = "sha256-EPt+HTvDhBEs1sf1yrG+aawRcP1yd/+kY4OTeVHHFt4="; }; buildInputs = [ bashInteractive ]; # needed for bash-completion helper diff --git a/pkgs/development/python-modules/oslo-log/default.nix b/pkgs/development/python-modules/oslo-log/default.nix index c72df54a7976b..c221fb175b4c3 100644 --- a/pkgs/development/python-modules/oslo-log/default.nix +++ b/pkgs/development/python-modules/oslo-log/default.nix @@ -37,7 +37,7 @@ buildPythonPackage rec { # Manually set version because prb wants to get it from the git upstream repository (and we are # installing from tarball instead) - PBR_VERSION = version; + env.PBR_VERSION = version; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/papis/default.nix b/pkgs/development/python-modules/papis/default.nix index f5309900eb5c0..6fbfbac761cce 100644 --- a/pkgs/development/python-modules/papis/default.nix +++ b/pkgs/development/python-modules/papis/default.nix @@ -126,6 +126,10 @@ buildPythonPackage (finalAttrs: { "test_yaml_unicode_dump" # FileNotFoundError: Command not found: 'init' "test_git_cli" + ] + ++ lib.optionals withOptDeps [ + # Require network access + "test_csl_style_download" ]; meta = { diff --git a/pkgs/development/python-modules/paver/default.nix b/pkgs/development/python-modules/paver/default.nix index 3d18bdbfb804b..5259b70f5937d 100644 --- a/pkgs/development/python-modules/paver/default.nix +++ b/pkgs/development/python-modules/paver/default.nix @@ -46,6 +46,6 @@ buildPythonPackage rec { mainProgram = "paver"; homepage = "https://github.com/paver/paver"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/picosvg/default.nix b/pkgs/development/python-modules/picosvg/default.nix index 6af46f01526db..0d4d98f8eae6f 100644 --- a/pkgs/development/python-modules/picosvg/default.nix +++ b/pkgs/development/python-modules/picosvg/default.nix @@ -44,11 +44,6 @@ buildPythonPackage rec { # a few tests are failing on aarch64 doCheck = !stdenv.hostPlatform.isAarch64; - disabledTests = [ - # test fixtures need to be regenerated after skia-pathops update - "test_topicosvg" - ]; - meta = { description = "Tool to simplify SVGs"; mainProgram = "picosvg"; diff --git a/pkgs/development/python-modules/pinecone-client/default.nix b/pkgs/development/python-modules/pinecone-client/default.nix index 4d08354b6eebf..dabbfa6bf441a 100644 --- a/pkgs/development/python-modules/pinecone-client/default.nix +++ b/pkgs/development/python-modules/pinecone-client/default.nix @@ -1,49 +1,37 @@ { lib, buildPythonPackage, - dnspython, + certifi, fetchFromGitHub, - loguru, - numpy, - poetry-core, - python-dateutil, - pyyaml, - requests, - setuptools, - tqdm, - typing-extensions, + hatchling, + orjson, pinecone-plugin-assistant, pinecone-plugin-interface, + python-dateutil, + typing-extensions, urllib3, }: buildPythonPackage rec { pname = "pinecone-client"; - version = "8.0.0"; + version = "8.1.0"; pyproject = true; src = fetchFromGitHub { owner = "pinecone-io"; repo = "pinecone-python-client"; tag = "v${version}"; - hash = "sha256-4oj1TBVykWvPtmfdRUgRojTds9bCWj9XOrcNRzUspKA="; + hash = "sha256-rXsCaH8SbMttBQWfF8Gy6hz+PVboxkLJZCs0/o6lAEI="; }; - build-system = [ - setuptools - poetry-core - ]; + build-system = [ hatchling ]; dependencies = [ - dnspython - loguru - numpy - python-dateutil + certifi + orjson pinecone-plugin-assistant pinecone-plugin-interface - pyyaml - requests - tqdm + python-dateutil typing-extensions urllib3 ]; @@ -54,7 +42,7 @@ buildPythonPackage rec { description = "Pinecone python client"; homepage = "https://www.pinecone.io/"; changelog = "https://github.com/pinecone-io/pinecone-python-client/releases/tag/${src.tag}"; - license = lib.licenses.mit; + license = lib.licenses.asl20; maintainers = with lib.maintainers; [ happysalada ]; }; } diff --git a/pkgs/development/python-modules/pinecone-plugin-assistant/default.nix b/pkgs/development/python-modules/pinecone-plugin-assistant/default.nix index 73184a3a1572c..e21032893ab74 100644 --- a/pkgs/development/python-modules/pinecone-plugin-assistant/default.nix +++ b/pkgs/development/python-modules/pinecone-plugin-assistant/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "pinecone-plugin-assistant"; - version = "3.0.1"; + version = "3.0.2"; pyproject = true; src = fetchPypi { pname = "pinecone_plugin_assistant"; inherit version; - hash = "sha256-awDpTvG/Ve1gHSMW7m9x+W+TvyFVJ3qCZjg5XhCQ3eM="; + hash = "sha256-BBY68oKteJW1gauJ+FDtE55N3OpyAQyt+kxXN1nVyJY="; }; build-system = [ diff --git a/pkgs/development/python-modules/piper-phonemize/default.nix b/pkgs/development/python-modules/piper-phonemize/default.nix index 159e39bb38f67..f3a9e40531ae8 100644 --- a/pkgs/development/python-modules/piper-phonemize/default.nix +++ b/pkgs/development/python-modules/piper-phonemize/default.nix @@ -2,6 +2,7 @@ lib, stdenv, buildPythonPackage, + espeak-ng, onnxruntime-native, piper-phonemize-native, pybind11, @@ -18,9 +19,9 @@ buildPythonPackage { ]; buildInputs = [ + espeak-ng onnxruntime-native piper-phonemize-native - piper-phonemize-native.espeak-ng ]; # coredump in onnxruntime::logging::Logger& onnxruntime::logging::LoggingManager::DefaultLogger() diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix index 9dd75f4828307..bc76cec9ef894 100644 --- a/pkgs/development/python-modules/plotly/default.nix +++ b/pkgs/development/python-modules/plotly/default.nix @@ -48,10 +48,28 @@ buildPythonPackage rec { hash = "sha256-7rMatpaZvHuNPpiXR5eUHultqNnLER1iW+GR3dwgkyo="; }; + patches = [ + # https://numpy.org/devdocs/release/2.4.0-notes.html#removed-interpolation-parameter-from-quantile-and-percentile-functions + # Upstream PR: https://github.com/plotly/plotly.py/pull/5505 + ./numpy-2.4-percentile-interpolation.patch + + # https://numpy.org/devdocs/release/2.4.0-notes.html#removed-numpy-in1d + # Upstream PR: https://github.com/plotly/plotly.py/pull/5522 + ./numpy-2.4-in1d.patch + ]; + postPatch = '' substituteInPlace pyproject.toml \ --replace-fail '"hatch", ' "" \ --replace-fail "jupyter_packaging~=0.10.0" jupyter_packaging + + # `pytest_ignore_collect` takes only `collection_path` starting with + # pytest 9. Most of the paths referenced in `plotly/conftest.py` + # don't exist anymore and wouldn't be collected anyway, so we can just + # remove the file. + # https://docs.pytest.org/en/latest/deprecations.html#py-path-local-arguments-for-hooks-replaced-with-pathlib-path + # Upstream PR: https://github.com/plotly/plotly.py/pull/5521 + rm plotly/conftest.py ''; env.SKIP_NPM = true; diff --git a/pkgs/development/python-modules/plotly/numpy-2.4-in1d.patch b/pkgs/development/python-modules/plotly/numpy-2.4-in1d.patch new file mode 100644 index 0000000000000..b6229478184d0 --- /dev/null +++ b/pkgs/development/python-modules/plotly/numpy-2.4-in1d.patch @@ -0,0 +1,38 @@ +From 9531e7ff00be577560f2cebf6739343646d3c770 Mon Sep 17 00:00:00 2001 +From: Tom Hunze +Date: Mon, 23 Feb 2026 19:21:45 +0100 +Subject: [PATCH] Use `np.isin` instead of `np.in1d` to fix numpy 2.4 test + compatibility + +https://numpy.org/devdocs/release/2.4.0-notes.html#removed-numpy-in1d +--- + tests/test_optional/test_px/test_px.py | 2 +- + tests/test_optional/test_px/test_px_functions.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/test_optional/test_px/test_px.py b/tests/test_optional/test_px/test_px.py +index 6c65925a727..a74c4680540 100644 +--- a/tests/test_optional/test_px/test_px.py ++++ b/tests/test_optional/test_px/test_px.py +@@ -36,7 +36,7 @@ def test_custom_data_scatter(backend): + ) + for data in fig.data: + assert np.all( +- np.in1d(data.customdata[:, 1], iris.get_column("petal_width").to_numpy()) ++ np.isin(data.customdata[:, 1], iris.get_column("petal_width").to_numpy()) + ) + # Hover and custom data, no repeated arguments + fig = px.scatter( +diff --git a/tests/test_optional/test_px/test_px_functions.py b/tests/test_optional/test_px/test_px_functions.py +index 0814898f89d..8220ec7a33a 100644 +--- a/tests/test_optional/test_px/test_px_functions.py ++++ b/tests/test_optional/test_px/test_px_functions.py +@@ -307,7 +307,7 @@ def test_sunburst_treemap_with_path_color(constructor): + fig = px.sunburst( + df.to_native(), path=path, color="sectors", color_discrete_map=cmap + ) +- assert np.all(np.in1d(fig.data[0].marker.colors, list(cmap.values()))) ++ assert np.all(np.isin(fig.data[0].marker.colors, list(cmap.values()))) + + # Numerical column in path + df = ( diff --git a/pkgs/development/python-modules/plotly/numpy-2.4-percentile-interpolation.patch b/pkgs/development/python-modules/plotly/numpy-2.4-percentile-interpolation.patch new file mode 100644 index 0000000000000..d5d945e473a47 --- /dev/null +++ b/pkgs/development/python-modules/plotly/numpy-2.4-percentile-interpolation.patch @@ -0,0 +1,17 @@ +diff --git a/plotly/figure_factory/_violin.py b/plotly/figure_factory/_violin.py +index 55924e692..e89db0e11 100644 +--- a/plotly/figure_factory/_violin.py ++++ b/plotly/figure_factory/_violin.py +@@ -17,9 +17,9 @@ def calc_stats(data): + x = np.asarray(data, float) + vals_min = np.min(x) + vals_max = np.max(x) +- q2 = np.percentile(x, 50, interpolation="linear") +- q1 = np.percentile(x, 25, interpolation="lower") +- q3 = np.percentile(x, 75, interpolation="higher") ++ q2 = np.percentile(x, 50, method="linear") ++ q1 = np.percentile(x, 25, method="lower") ++ q3 = np.percentile(x, 75, method="higher") + iqr = q3 - q1 + whisker_dist = 1.5 * iqr + diff --git a/pkgs/development/python-modules/powerfox/default.nix b/pkgs/development/python-modules/powerfox/default.nix index f0f5e545d7c89..9e4955312ae4a 100644 --- a/pkgs/development/python-modules/powerfox/default.nix +++ b/pkgs/development/python-modules/powerfox/default.nix @@ -16,14 +16,14 @@ buildPythonPackage (finalAttrs: { pname = "powerfox"; - version = "2.1.0"; + version = "2.1.1"; pyproject = true; src = fetchFromGitHub { owner = "klaasnicolaas"; repo = "python-powerfox"; tag = "v${finalAttrs.version}"; - hash = "sha256-JsvLa5zZ6E+d5l4sIngp0KvZlN8BgBxllk9Md19kZLY="; + hash = "sha256-+X88QkvyA4wrkxtGfSwQF5UMl7wpdOKKvbZrn9z/uCE="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/ppdeep/default.nix b/pkgs/development/python-modules/ppdeep/default.nix index c93a619a9a9a8..f7bfb8ebce903 100644 --- a/pkgs/development/python-modules/ppdeep/default.nix +++ b/pkgs/development/python-modules/ppdeep/default.nix @@ -7,12 +7,12 @@ buildPythonPackage (finalAttrs: { pname = "ppdeep"; - version = "20260218"; + version = "20260221"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-Jp9jwVhfWA6AFsMef3N/FDot34RA5bDK88oZLONTKis="; + hash = "sha256-i+H0Fkt60vfEClGmZNMXZwHkCy+cG5bRju/68G3+/5Q="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pproxy/default.nix b/pkgs/development/python-modules/pproxy/default.nix index 8e33dff6f88ef..39b9f9f582ea3 100644 --- a/pkgs/development/python-modules/pproxy/default.nix +++ b/pkgs/development/python-modules/pproxy/default.nix @@ -18,8 +18,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "qwj"; repo = "python-proxy"; - rev = "7fccf8dd62204f34b0aa3a70fc568fd6ddff7728"; - sha256 = "sha256-bOqDdNiaZ5MRi/UeF0hJwMs+rfQBKRsTmXrZ6ieIguo="; + tag = version; + hash = "sha256-DWxbU2LtXzec1T175cMVJuWuhnxWYhe0FH67stMyOTM="; }; nativeBuildInputs = [ setuptools ]; @@ -58,6 +58,6 @@ buildPythonPackage rec { mainProgram = "pproxy"; homepage = "https://github.com/qwj/python-proxy"; license = lib.licenses.mit; - maintainers = [ ]; + maintainers = [ lib.maintainers.ryand56 ]; }; } diff --git a/pkgs/development/python-modules/price-parser/default.nix b/pkgs/development/python-modules/price-parser/default.nix index 4b9b5b1ca7b04..ea5066b7ad5d8 100644 --- a/pkgs/development/python-modules/price-parser/default.nix +++ b/pkgs/development/python-modules/price-parser/default.nix @@ -2,9 +2,9 @@ lib, buildPythonPackage, fetchFromGitHub, + hatchling, gitUpdater, pytestCheckHook, - setuptools, pytest-cov-stub, attrs, }: @@ -21,7 +21,7 @@ buildPythonPackage rec { hash = "sha256-1aMWRyrmvilON+crWibrREIN2Rf3hCzewI+vmRppvrg="; }; - build-system = [ setuptools ]; + build-system = [ hatchling ]; dependencies = [ attrs ]; diff --git a/pkgs/development/python-modules/prosemirror/default.nix b/pkgs/development/python-modules/prosemirror/default.nix index 4586fb355b1ae..da6efe02f287c 100644 --- a/pkgs/development/python-modules/prosemirror/default.nix +++ b/pkgs/development/python-modules/prosemirror/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "prosemirror"; - version = "0.5.2"; + version = "0.6.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-cZwqoKQ+B7d07R20dXTiDsiBIYYTyaWa2SnGs8o8Hl8="; + hash = "sha256-7sRaTzXQPdtYcAGZKSZGw0szS7rThaIWefx6jRgc0nI="; }; build-system = [ diff --git a/pkgs/development/python-modules/psd-tools/default.nix b/pkgs/development/python-modules/psd-tools/default.nix index 40cdf546bc367..b3e112a032674 100644 --- a/pkgs/development/python-modules/psd-tools/default.nix +++ b/pkgs/development/python-modules/psd-tools/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "psd-tools"; - version = "1.12.1"; + version = "1.12.2"; pyproject = true; src = fetchFromGitHub { owner = "psd-tools"; repo = "psd-tools"; tag = "v${version}"; - hash = "sha256-FmxxLa9KasDE5hl/Hi6fRMnmUKawpm04fHJf7yXJmSI="; + hash = "sha256-YasCeRl9oF0ES1E9D7WXCOFTGKhQZltu7EPu6llndrM="; }; build-system = [ diff --git a/pkgs/development/python-modules/psycopg/default.nix b/pkgs/development/python-modules/psycopg/default.nix index 021393718212e..caa8eb862cc2c 100644 --- a/pkgs/development/python-modules/psycopg/default.nix +++ b/pkgs/development/python-modules/psycopg/default.nix @@ -134,12 +134,6 @@ buildPythonPackage rec { sphinxRoot = "../docs"; - # Introduce this file necessary for the docs build via environment var - LIBPQ_DOCS_FILE = fetchurl { - url = "https://raw.githubusercontent.com/postgres/postgres/496a1dc44bf1261053da9b3f7e430769754298b4/doc/src/sgml/libpq.sgml"; - hash = "sha256-JwtCngkoi9pb0pqIdNgukY8GbG5pUDZvrGAHZqjFOw4"; - }; - inherit patches; # only move to sourceRoot after patching, makes patching easier @@ -185,6 +179,11 @@ buildPythonPackage rec { ++ optional-dependencies.pool; env = { + # Introduce this file necessary for the docs build via environment var + LIBPQ_DOCS_FILE = fetchurl { + url = "https://raw.githubusercontent.com/postgres/postgres/496a1dc44bf1261053da9b3f7e430769754298b4/doc/src/sgml/libpq.sgml"; + hash = "sha256-JwtCngkoi9pb0pqIdNgukY8GbG5pUDZvrGAHZqjFOw4"; + }; postgresqlEnableTCP = 1; PGUSER = "psycopg"; PGDATABASE = "psycopg"; @@ -226,6 +225,7 @@ buildPythonPackage rec { "refcount" "timing" "flakey" + "slow" ]; postCheck = '' diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix index 345291fefba1c..24032e6f67239 100644 --- a/pkgs/development/python-modules/publicsuffixlist/default.nix +++ b/pkgs/development/python-modules/publicsuffixlist/default.nix @@ -11,12 +11,12 @@ buildPythonPackage (finalAttrs: { pname = "publicsuffixlist"; - version = "1.0.2.20260220"; + version = "1.0.2.20260226"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-bqycplhOPDTD+3/ixsunRNE9d6J4BUpscrdEQG/CEP0="; + hash = "sha256-WbtWjyBMejYyqBsKArES1s6qvizbWdCnAVQQPpAs4HM="; }; postPatch = '' diff --git a/pkgs/development/python-modules/py-cid/default.nix b/pkgs/development/python-modules/py-cid/default.nix index f60f46f4c2f61..5bec95829c63b 100644 --- a/pkgs/development/python-modules/py-cid/default.nix +++ b/pkgs/development/python-modules/py-cid/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "py-cid"; - version = "0.4.0"; + version = "0.5.0"; pyproject = true; src = fetchFromGitHub { owner = "ipld"; repo = "py-cid"; tag = "v${version}"; - hash = "sha256-IYjk7sajHFWgsOMxwk1tWvKtTfPN8vHoNeENQed7MiU="; + hash = "sha256-ufApwZW+MJHPiiEG/E221KTlOqwNN8icb9fcn/cX1AQ="; }; pythonRelaxDeps = [ "base58" ]; diff --git a/pkgs/development/python-modules/py-iam-expand/default.nix b/pkgs/development/python-modules/py-iam-expand/default.nix index 4b0ee718f0d3a..0a8d9c1087d89 100644 --- a/pkgs/development/python-modules/py-iam-expand/default.nix +++ b/pkgs/development/python-modules/py-iam-expand/default.nix @@ -7,16 +7,16 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "py-iam-expand"; - version = "0.2.0"; + version = "0.3.0"; pyproject = true; src = fetchFromGitHub { owner = "prowler-cloud"; repo = "py-iam-expand"; - tag = version; - hash = "sha256-P6PWf7qkc/8/BeRycYgvFApIaUrbhKq4h718Nrs817U="; + tag = finalAttrs.version; + hash = "sha256-qe3eph3bvVy6Yql76e/OecHAXggp/KNLG1k0iWy4K1w="; }; build-system = [ poetry-core ]; @@ -30,8 +30,8 @@ buildPythonPackage rec { meta = { description = "Module to expand and deobfuscate AWS IAM actions"; homepage = "https://github.com/prowler-cloud/py-iam-expand"; - changelog = "https://github.com/prowler-cloud/py-iam-expand/releases/tag/${src.tag}"; + changelog = "https://github.com/prowler-cloud/py-iam-expand/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/py3dtiles/default.nix b/pkgs/development/python-modules/py3dtiles/default.nix index 8a8ccfa66db1c..3363e45102b07 100644 --- a/pkgs/development/python-modules/py3dtiles/default.nix +++ b/pkgs/development/python-modules/py3dtiles/default.nix @@ -1,6 +1,5 @@ { lib, - fetchpatch2, fetchFromGitLab, addBinToPathHook, @@ -47,21 +46,17 @@ buildPythonPackage (finalAttrs: { hash = "sha256-m8c+g9XXbg9OSC+NNoQkw4RKXvNFRIPWkDjAs6oH3kc="; }; - patches = [ - # Remove in the next version - # Patch to avoid using pythonRelaxDeps - (fetchpatch2 { - url = "https://gitlab.com/py3dtiles/py3dtiles/-/commit/0f60691434b9ad4afebec29b2eedfcbbe0b8420d.patch"; - includes = [ "pyproject.toml" ]; - hash = "sha256-TLoKeltI1xxSONX0uu56HKl2fXzAp1ufunsBPRr5Pus="; - }) - ]; - build-system = [ setuptools setuptools-scm ]; + pythonRelaxDeps = [ + "mapbox_earcut" + "numba" + "numpy" + "pyzmq" + ]; dependencies = [ lz4 mapbox-earcut diff --git a/pkgs/development/python-modules/pycdlib/default.nix b/pkgs/development/python-modules/pycdlib/default.nix new file mode 100644 index 0000000000000..c70487766e366 --- /dev/null +++ b/pkgs/development/python-modules/pycdlib/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "pycdlib"; + version = "1.15.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "clalancette"; + repo = "pycdlib"; + tag = "v${version}"; + hash = "sha256-BD33nA60x6YvwkYGXPA0E6s8N/XhWaY/+tTRbFN9ai4="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + disabledTestPaths = [ + # These tests require a Fedora-patched genisoimage + "tests/integration/test_hybrid.py" + "tests/integration/test_parse.py" + "tests/tools/test_pycdlib_genisoimage.py" + ]; + + disabledTests = [ + # Timezone-dependent tests fail in the sandbox + "test_volumedescdate_new_nonzero" + "test_gmtoffset_from_tm" + "test_gmtoffset_from_tm_day_rollover" + "test_gmtoffset_from_tm_2023_rollover" + ]; + + pythonImportsCheck = [ "pycdlib" ]; + + meta = { + description = "Pure python library to read and write ISO9660 files"; + homepage = "https://github.com/clalancette/pycdlib"; + license = lib.licenses.lgpl2Only; + maintainers = with lib.maintainers; [ Enzime ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/development/python-modules/pycep-parser/default.nix b/pkgs/development/python-modules/pycep-parser/default.nix index 429be94b3019c..98e138573ee6e 100644 --- a/pkgs/development/python-modules/pycep-parser/default.nix +++ b/pkgs/development/python-modules/pycep-parser/default.nix @@ -4,13 +4,13 @@ buildPythonPackage, fetchFromGitHub, lark, - poetry-core, pytestCheckHook, regex, typing-extensions, + uv-build, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pycep-parser"; version = "0.7.0"; pyproject = true; @@ -18,13 +18,21 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "gruebel"; repo = "pycep"; - tag = version; + tag = finalAttrs.version; hash = "sha256-pEFgpLfGcJhUWfs/nG1r7GfIS045cfNh7MVQokluXmM="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ uv-build ]; - propagatedBuildInputs = [ + # We can't use pythonRelaxDeps to relax the build-system + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build~=0.9.0" "uv_build" + ''; + + pythonRelaxDeps = [ "regex" ]; + + dependencies = [ lark regex typing-extensions @@ -40,8 +48,8 @@ buildPythonPackage rec { meta = { description = "Python based Bicep parser"; homepage = "https://github.com/gruebel/pycep"; - changelog = "https://github.com/gruebel/pycep/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/gruebel/pycep/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = with lib.licenses; [ asl20 ]; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/pycontrol4/default.nix b/pkgs/development/python-modules/pycontrol4/default.nix index cfb699b9f2706..6764e6c293d99 100644 --- a/pkgs/development/python-modules/pycontrol4/default.nix +++ b/pkgs/development/python-modules/pycontrol4/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "pycontrol4"; - version = "2.0.1"; + version = "2.0.2"; pyproject = true; src = fetchFromGitHub { owner = "lawtancool"; repo = "pyControl4"; tag = "v${version}"; - hash = "sha256-CDo2tphWN62ZHz2nWa6oWWfzcPDhSLCu0B2NxEI8yMw="; + hash = "sha256-4qgyn2ekxo0pjPixfNpRqHE+jgsNQGk9fbESbUTDxMg="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pycookiecheat/default.nix b/pkgs/development/python-modules/pycookiecheat/default.nix index c6524a7b7e2d8..652806390e306 100644 --- a/pkgs/development/python-modules/pycookiecheat/default.nix +++ b/pkgs/development/python-modules/pycookiecheat/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "pycookiecheat"; - version = "0.11"; + version = "0.8.0"; pyproject = true; src = fetchFromGitHub { owner = "n8henrie"; repo = "pycookiecheat"; - tag = version; - hash = "sha256-hP4J41ctAkrC6HIeKu6ITzK3W0PB7/tCz0cjP42I/J8="; + tag = "v${version}"; + hash = "sha256-jOyTfh2ZhKW/pMU7T5tfxaM0l/g59N+mirnbc0FLPbQ="; }; pythonRelaxDeps = [ @@ -64,7 +64,7 @@ buildPythonPackage rec { meta = { description = "Borrow cookies from your browser's authenticated session for use in Python scripts"; homepage = "https://github.com/n8henrie/pycookiecheat"; - changelog = "https://github.com/n8henrie/pycookiecheat/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/n8henrie/pycookiecheat/blob/v${version}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix index 72000acad17ef..c79abd49ec1d2 100644 --- a/pkgs/development/python-modules/pycrypto/default.nix +++ b/pkgs/development/python-modules/pycrypto/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { format = "setuptools"; # Cannot build wheel otherwise (zip 1980 issue) - SOURCE_DATE_EPOCH = 315532800; + env.SOURCE_DATE_EPOCH = 315532800; # We need to have a dist-info folder, so let's create one with setuptools unpackPhase = '' diff --git a/pkgs/development/python-modules/pydo/default.nix b/pkgs/development/python-modules/pydo/default.nix index 08a23d999df06..24e51eb5e74dd 100644 --- a/pkgs/development/python-modules/pydo/default.nix +++ b/pkgs/development/python-modules/pydo/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "pydo"; - version = "0.26.0"; + version = "0.27.0"; pyproject = true; src = fetchFromGitHub { owner = "digitalocean"; repo = "pydo"; tag = "v${version}"; - hash = "sha256-BybqCYGZ6x8JhZM5UO3s+hLbAR8qKut+eOJSTbFyEUg="; + hash = "sha256-2vJ/yOOJuil1oFWIYU2yV29RG/j92kpz0ubmJpyzS4U="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/pyerfa/default.nix b/pkgs/development/python-modules/pyerfa/default.nix index 0f3da6940a6db..5ed9dab2a7703 100644 --- a/pkgs/development/python-modules/pyerfa/default.nix +++ b/pkgs/development/python-modules/pyerfa/default.nix @@ -38,7 +38,7 @@ buildPythonPackage rec { ''; # See https://github.com/liberfa/pyerfa/issues/112#issuecomment-1721197483 - NIX_CFLAGS_COMPILE = "-O2"; + env.NIX_CFLAGS_COMPILE = "-O2"; nativeCheckInputs = [ pytestCheckHook pytest-doctestplus diff --git a/pkgs/development/python-modules/pygit2/default.nix b/pkgs/development/python-modules/pygit2/default.nix index 76673d096c224..0d793e367bf82 100644 --- a/pkgs/development/python-modules/pygit2/default.nix +++ b/pkgs/development/python-modules/pygit2/default.nix @@ -50,7 +50,7 @@ buildPythonPackage rec { # Tests require certificates # https://github.com/NixOS/nixpkgs/pull/72544#issuecomment-582674047 - SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + env.SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; pythonImportsCheck = [ "pygit2" ]; diff --git a/pkgs/development/python-modules/pyhepmc/default.nix b/pkgs/development/python-modules/pyhepmc/default.nix index 28339c4574680..4e34a3bc239c9 100644 --- a/pkgs/development/python-modules/pyhepmc/default.nix +++ b/pkgs/development/python-modules/pyhepmc/default.nix @@ -38,7 +38,7 @@ buildPythonPackage rec { dontUseCmakeConfigure = true; - CMAKE_ARGS = [ "-DEXTERNAL_PYBIND11=ON" ]; + env.CMAKE_ARGS = toString [ "-DEXTERNAL_PYBIND11=ON" ]; nativeCheckInputs = [ graphviz diff --git a/pkgs/development/python-modules/pyipv8/default.nix b/pkgs/development/python-modules/pyipv8/default.nix index b9f12bf7e439a..551867d1eb855 100644 --- a/pkgs/development/python-modules/pyipv8/default.nix +++ b/pkgs/development/python-modules/pyipv8/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "pyipv8"; - version = "3.1"; + version = "3.2"; pyproject = true; src = fetchFromGitHub { owner = "tribler"; repo = "py-ipv8"; tag = version; - hash = "sha256-HamjKVuBPSicoP/GldO5kg2Eay50ti03wzeNaPAl0qI="; + hash = "sha256-lvkMWMwpKEbHcHZQ3rbG9MOS1/tufa/KphQT9iz5PcQ="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pykaleidescape/default.nix b/pkgs/development/python-modules/pykaleidescape/default.nix index 363875d0ec39d..429393391dfca 100644 --- a/pkgs/development/python-modules/pykaleidescape/default.nix +++ b/pkgs/development/python-modules/pykaleidescape/default.nix @@ -10,21 +10,21 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pykaleidescape"; - version = "2022.2.3"; + version = "1.1.3"; pyproject = true; src = fetchFromGitHub { owner = "SteveEasley"; repo = "pykaleidescape"; - tag = "v${version}"; - hash = "sha256-h5G7wV4Z+sf8Qq4GNFsp8DVDSgQgS0dLGf+DzK/egYM="; + tag = "v${finalAttrs.version}"; + hash = "sha256-IA6BefKBFMfatiaw+Ye8NdYZ6BDlR1z4L+YkZ4Iy3Wg="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ aiohttp dnspython ]; @@ -49,8 +49,8 @@ buildPythonPackage rec { meta = { description = "Module for controlling Kaleidescape devices"; homepage = "https://github.com/SteveEasley/pykaleidescape"; - changelog = "https://github.com/SteveEasley/pykaleidescape/releases/tag/${src.tag}"; + changelog = "https://github.com/SteveEasley/pykaleidescape/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/pylint-odoo/default.nix b/pkgs/development/python-modules/pylint-odoo/default.nix index 9a9bd18d59025..f8aaec5864ac1 100644 --- a/pkgs/development/python-modules/pylint-odoo/default.nix +++ b/pkgs/development/python-modules/pylint-odoo/default.nix @@ -8,14 +8,14 @@ }: buildPythonPackage rec { pname = "pylint-odoo"; - version = "10.0.0"; + version = "10.0.1"; pyproject = true; src = fetchFromGitHub { owner = "OCA"; repo = "pylint-odoo"; tag = "v${version}"; - hash = "sha256-6frC74nTM+J9O05oFGXFfyu5ol2jTzcBdH4zHgMT2u0="; + hash = "sha256-GMKgWPiX2e3WE2rW0XikRRsLhmz6u8EythB1wRakQnc="; }; pythonRelaxDeps = [ @@ -31,7 +31,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "pylint_odoo" ]; - BUILD_README = true; # Enables more tests + env.BUILD_README = true; # Enables more tests nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/pymatting/default.nix b/pkgs/development/python-modules/pymatting/default.nix index 354170c10bd0b..6daa3f4950c31 100644 --- a/pkgs/development/python-modules/pymatting/default.nix +++ b/pkgs/development/python-modules/pymatting/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "pymatting"; - version = "1.1.13"; + version = "1.1.15"; pyproject = true; src = fetchFromGitHub { owner = "pymatting"; repo = "pymatting"; tag = "v${version}"; - hash = "sha256-AzdhRZgcT+gfLPZYKJLQUW7uLyXoRy6SP2raHWd9XUY="; + hash = "sha256-rcatlQE+YgppY//ZgGY9jO5KI0ED30fLlqW9N+xRNqk="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pymicro-vad/default.nix b/pkgs/development/python-modules/pymicro-vad/default.nix index 6d625c26185f1..8c796390bf151 100644 --- a/pkgs/development/python-modules/pymicro-vad/default.nix +++ b/pkgs/development/python-modules/pymicro-vad/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "pymicro-vad"; - version = "2.0.1"; + version = "1.0.2"; pyproject = true; src = fetchFromGitHub { owner = "rhasspy"; repo = "pymicro-vad"; - tag = "v${version}"; - hash = "sha256-76/n9p+zulq8Uvqurbi9tNFkBXGchEftwqeFycY3NO0="; + tag = version; + hash = "sha256-yKy/oD6nl2qZW64+aAHZRAEFextCXT6RpMfPThB8DXE="; }; build-system = [ @@ -33,7 +33,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "pymicro_vad" ]; meta = { - changelog = "https://github.com/rhasspy/pymicro-vad/releases/tag/${src.tag}"; + changelog = "https://github.com/rhasspy/pymicro-vad/releases/tag/${version}"; description = "Self-contained voice activity detector"; homepage = "https://github.com/rhasspy/pymicro-vad"; license = lib.licenses.asl20; diff --git a/pkgs/development/python-modules/pymilvus/default.nix b/pkgs/development/python-modules/pymilvus/default.nix index 84d498e0c224c..52285d5bfdd53 100644 --- a/pkgs/development/python-modules/pymilvus/default.nix +++ b/pkgs/development/python-modules/pymilvus/default.nix @@ -9,28 +9,39 @@ setuptools-scm, # dependencies + cachetools, grpcio, # milvus-lite, (unpackaged) + orjson, pandas, protobuf, python-dotenv, - ujson, + + # optional-dependencies + azure-storage-blob, + minio, + pyarrow, + requests, + urllib3, # tests grpcio-testing, + pytest-asyncio, + pytest-benchmark, pytestCheckHook, + scipy, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pymilvus"; - version = "2.6.6"; + version = "2.6.9"; pyproject = true; src = fetchFromGitHub { owner = "milvus-io"; repo = "pymilvus"; - tag = "v${version}"; - hash = "sha256-UVpsciVM6MUyTH6VxndQHUvd+lkZQKSyckiBHhzVRS0="; + tag = "v${finalAttrs.version}"; + hash = "sha256-2PDN642i+GZG4Uxs4aA5x/jC6vm2cx4RITVqKi3KvtY="; }; build-system = [ @@ -48,41 +59,61 @@ buildPythonPackage rec { ]; dependencies = [ + cachetools grpcio # milvus-lite + orjson pandas protobuf python-dotenv setuptools - ujson ]; + optional-dependencies = { + bulk_writer = [ + azure-storage-blob + minio + pyarrow + requests + urllib3 + ]; + }; + + pythonImportsCheck = [ "pymilvus" ]; + nativeCheckInputs = [ grpcio-testing + pytest-asyncio + pytest-benchmark pytestCheckHook - # scikit-learn - ]; - - pythonImportsCheck = [ "pymilvus" ]; + scipy + ] + ++ finalAttrs.passthru.optional-dependencies.bulk_writer; disabledTests = [ - # Tries to read .git + # tries to read .git "test_get_commit" - # milvus-lite is not packaged - "test_milvus_lite" + # requires network access + "test_deadline_exceeded_shows_connecting_state" + + # mock issue in sandbox + "test_milvus_client_creates_unbound_alias" ]; disabledTestPaths = [ - # pymilvus.exceptions.MilvusException: - "examples/test_bitmap_index.py" + # requires running milvus server + "examples/" + + # tries to write to nix store + "tests/test_bulk_writer_stage.py" ]; meta = { description = "Python SDK for Milvus"; homepage = "https://github.com/milvus-io/pymilvus"; - changelog = "https://github.com/milvus-io/pymilvus/releases/tag/${src.tag}"; + changelog = "https://github.com/milvus-io/pymilvus/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ happysalada ]; }; -} +}) diff --git a/pkgs/development/python-modules/pync/default.nix b/pkgs/development/python-modules/pync/default.nix index 4a7f17dced0d2..77d23b4cb627a 100644 --- a/pkgs/development/python-modules/pync/default.nix +++ b/pkgs/development/python-modules/pync/default.nix @@ -30,6 +30,6 @@ buildPythonPackage rec { homepage = "https://pypi.python.org/pypi/pync"; license = lib.licenses.mit; platforms = lib.platforms.darwin; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/pynest2d/default.nix b/pkgs/development/python-modules/pynest2d/default.nix index 4e499fd470809..632101695f727 100644 --- a/pkgs/development/python-modules/pynest2d/default.nix +++ b/pkgs/development/python-modules/pynest2d/default.nix @@ -35,7 +35,7 @@ buildPythonPackage rec { strictDeps = true; - CLIPPER_PATH = "${clipper.out}"; + env.CLIPPER_PATH = clipper.out; postPatch = '' sed -i 's#''${Python3_SITEARCH}#${placeholder "out"}/${python.sitePackages}#' cmake/SIPMacros.cmake diff --git a/pkgs/development/python-modules/pypdf3/default.nix b/pkgs/development/python-modules/pypdf3/default.nix index 78b230965674a..2b44c409778e6 100644 --- a/pkgs/development/python-modules/pypdf3/default.nix +++ b/pkgs/development/python-modules/pypdf3/default.nix @@ -18,7 +18,7 @@ buildPythonPackage (finalAttrs: { hash = "sha256-yUbzJzQZ43JY415yJz9JkEqxVyPYenYcERXvmXmfjF8="; }; - LC_ALL = "en_US.UTF-8"; + env.LC_ALL = "en_US.UTF-8"; buildInputs = [ glibcLocales ]; checkPhase = '' diff --git a/pkgs/development/python-modules/pyportainer/default.nix b/pkgs/development/python-modules/pyportainer/default.nix index 7d35c048959ea..a52ea2d20d336 100644 --- a/pkgs/development/python-modules/pyportainer/default.nix +++ b/pkgs/development/python-modules/pyportainer/default.nix @@ -15,14 +15,14 @@ buildPythonPackage (finalAttrs: { pname = "pyportainer"; - version = "1.0.27"; + version = "1.0.29"; pyproject = true; src = fetchFromGitHub { owner = "erwindouna"; repo = "pyportainer"; tag = "v${finalAttrs.version}"; - hash = "sha256-h/z4CUPxOmcA57gkclEJdIWRFGfsG8v6VS8vNLneS3A="; + hash = "sha256-NfK6Ce99bXtI0QgObdsalpTf9MiaOBdWOp6nTrAipY4="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/pyspark/default.nix b/pkgs/development/python-modules/pyspark/default.nix index 3ad86e432a602..7e4c983803ff4 100644 --- a/pkgs/development/python-modules/pyspark/default.nix +++ b/pkgs/development/python-modules/pyspark/default.nix @@ -66,7 +66,8 @@ buildPythonPackage (finalAttrs: { pandas pyarrow ]; - pipelines = finalAttrs.optional-dependencies.connect ++ finalAttrs.optional-dependencies.sql; + pipelines = + finalAttrs.passthru.optional-dependencies.connect ++ finalAttrs.passthru.optional-dependencies.sql; sql = [ pandas pyarrow diff --git a/pkgs/development/python-modules/pysptk/default.nix b/pkgs/development/python-modules/pysptk/default.nix index a84a3f090544e..383c7fdccccbc 100644 --- a/pkgs/development/python-modules/pysptk/default.nix +++ b/pkgs/development/python-modules/pysptk/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { hash = "sha256-eLHJM4v3laQc3D/wP81GmcQBwyP1RjC7caGXEAeNCz8="; }; - PYSPTK_BUILD_VERSION = 0; + env.PYSPTK_BUILD_VERSION = 0; nativeBuildInputs = [ cython ]; diff --git a/pkgs/development/python-modules/pytest/7.nix b/pkgs/development/python-modules/pytest/7.nix index 6641f40972220..ea3b98783ba19 100644 --- a/pkgs/development/python-modules/pytest/7.nix +++ b/pkgs/development/python-modules/pytest/7.nix @@ -100,7 +100,6 @@ let homepage = "https://docs.pytest.org"; changelog = "https://github.com/pytest-dev/pytest/releases/tag/${version}"; maintainers = with lib.maintainers; [ - lovek323 madjar ]; license = lib.licenses.mit; diff --git a/pkgs/development/python-modules/python-barbicanclient/default.nix b/pkgs/development/python-modules/python-barbicanclient/default.nix index 0ee8866739181..ec3787d24efd4 100644 --- a/pkgs/development/python-modules/python-barbicanclient/default.nix +++ b/pkgs/development/python-modules/python-barbicanclient/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "python-barbicanclient"; - version = "7.2.0"; + version = "7.3.0"; pyproject = true; src = fetchFromGitHub { owner = "openstack"; repo = "python-barbicanclient"; tag = version; - hash = "sha256-HhWWUM0lK0B0ySItrT6z5QCXzStuiJzDZFoEb+WRodA="; + hash = "sha256-SFAldyA/M0rkKb2o6ePp+9ITWrUszyTz5jvCnUadufo="; }; env.PBR_VERSION = version; diff --git a/pkgs/development/python-modules/python-designateclient/default.nix b/pkgs/development/python-modules/python-designateclient/default.nix index 935c4b8939741..645a33731c75e 100644 --- a/pkgs/development/python-modules/python-designateclient/default.nix +++ b/pkgs/development/python-modules/python-designateclient/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "python-designateclient"; - version = "6.3.0"; + version = "6.4.0"; pyproject = true; src = fetchFromGitHub { owner = "openstack"; repo = "python-designateclient"; tag = version; - hash = "sha256-Upfu6FDaCRXniJLacuIt6K0qi8aOvHU0t43F3uWvhG8="; + hash = "sha256-OBvPdulj2lg2FCyMDOp1iw12MxLre0/jkMdc7syJatc="; }; env.PBR_VERSION = version; diff --git a/pkgs/development/python-modules/python-etcd/default.nix b/pkgs/development/python-modules/python-etcd/default.nix index def0b49aecaaf..c1b3fdcba3b3f 100644 --- a/pkgs/development/python-modules/python-etcd/default.nix +++ b/pkgs/development/python-modules/python-etcd/default.nix @@ -2,6 +2,7 @@ lib, stdenv, buildPythonPackage, + nix-update-script, fetchFromGitHub, setuptools, urllib3, @@ -14,16 +15,18 @@ buildPythonPackage { pname = "python-etcd"; - version = "0.5.0-unstable-2023-10-31"; + version = "0.4.5-unstable-2024-08-09"; pyproject = true; src = fetchFromGitHub { owner = "jplana"; repo = "python-etcd"; - rev = "5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5"; - hash = "sha256-eVirStLOPTbf860jfkNMWtGf+r0VygLZRjRDjBMCVKg="; + rev = "d2889f7b23feee8797657b19c404f0d4034dd03c"; + hash = "sha256-osiSeBdZBT3w9pJUBxD7cI9/2T7eiyj6M6+87T8bTj0="; }; + patches = [ ./remove-getheader-usage.patch ]; + build-system = [ setuptools ]; dependencies = [ @@ -59,6 +62,10 @@ buildPythonPackage { __darwinAllowLocalNetworking = true; + passthru.updateScript = nix-update-script { + extraArgs = [ "--version=branch" ]; + }; + meta = { description = "Python client for Etcd"; homepage = "https://github.com/jplana/python-etcd"; diff --git a/pkgs/development/python-modules/python-etcd/remove-getheader-usage.patch b/pkgs/development/python-modules/python-etcd/remove-getheader-usage.patch new file mode 100644 index 0000000000000..348aecf7b0bab --- /dev/null +++ b/pkgs/development/python-modules/python-etcd/remove-getheader-usage.patch @@ -0,0 +1,131 @@ +From 38ba4e559a38279417719440174df6ca2bc203c5 Mon Sep 17 00:00:00 2001 +From: Priyanshu Tripathi +Date: Fri, 16 Jan 2026 06:50:43 -0500 +Subject: [PATCH] fix: migrate away from deprecated `HTTPResponse.getheader()` + method + +With urllib3 v2.6.0, `HTTPResponse.getheader()` was removed with the alternative +being `HTTPResponse.headers`, a dictionary that can be queried with `headers.get()` + +See: https://github.com/urllib3/urllib3/pull/3622 +--- + src/etcd/__init__.py | 2 +- + src/etcd/client.py | 2 +- + src/etcd/tests/unit/__init__.py | 2 +- + src/etcd/tests/unit/test_client.py | 6 +++--- + src/etcd/tests/unit/test_old_request.py | 6 ------ + src/etcd/tests/unit/test_request.py | 4 ++-- + 6 files changed, 8 insertions(+), 14 deletions(-) + +diff --git a/src/etcd/__init__.py b/src/etcd/__init__.py +index d716e9b..e85918e 100644 +--- a/src/etcd/__init__.py ++++ b/src/etcd/__init__.py +@@ -61,7 +61,7 @@ class EtcdResult(object): + self.dir = True + + def parse_headers(self, response): +- headers = response.getheaders() ++ headers = response.headers + self.etcd_index = int(headers.get("x-etcd-index", 1)) + self.raft_index = int(headers.get("x-raft-index", 1)) + +diff --git a/src/etcd/client.py b/src/etcd/client.py +index a011757..5acea07 100644 +--- a/src/etcd/client.py ++++ b/src/etcd/client.py +@@ -975,7 +975,7 @@ class Client(object): + ) + + def _check_cluster_id(self, response, path): +- cluster_id = response.getheader("x-etcd-cluster-id") ++ cluster_id = response.headers.get("x-etcd-cluster-id") + if not cluster_id: + if self.version_prefix in path: + _log.warning("etcd response did not contain a cluster ID") +diff --git a/src/etcd/tests/unit/__init__.py b/src/etcd/tests/unit/__init__.py +index a1b95c4..43bc9b5 100644 +--- a/src/etcd/tests/unit/__init__.py ++++ b/src/etcd/tests/unit/__init__.py +@@ -22,7 +22,7 @@ class TestClientApiBase(unittest.TestCase): + r = mock.create_autospec(urllib3.response.HTTPResponse)() + r.status = s + r.data = data +- r.getheader.return_value = cluster_id or "abcd1234" ++ r.headers = {"x-etcd-cluster-id": cluster_id or "abcd1234"} + return r + + def _mock_api(self, status, d, cluster_id=None): +diff --git a/src/etcd/tests/unit/test_client.py b/src/etcd/tests/unit/test_client.py +index 37cdee1..64b2650 100644 +--- a/src/etcd/tests/unit/test_client.py ++++ b/src/etcd/tests/unit/test_client.py +@@ -121,7 +121,7 @@ class TestClient(TestClientApiBase): + """Verify _set_version_info makes the proper call to the server""" + data = {"etcdserver": "2.2.3", "etcdcluster": "2.3.0"} + self._mock_api(200, data) +- self.client.api_execute.return_value.getheader.return_value = None ++ self.client.api_execute.return_value.headers = {} + # Create the client and make the call. + self.client._set_version_info() + +@@ -135,7 +135,7 @@ class TestClient(TestClientApiBase): + """Ensure the version property is set on first access.""" + data = {"etcdserver": "2.2.3", "etcdcluster": "2.3.0"} + self._mock_api(200, data) +- self.client.api_execute.return_value.getheader.return_value = None ++ self.client.api_execute.return_value.headers = {} + + # Verify the version property is set + self.assertEqual("2.2.3", self.client.version) +@@ -144,7 +144,7 @@ class TestClient(TestClientApiBase): + """Ensure the cluster version property is set on first access.""" + data = {"etcdserver": "2.2.3", "etcdcluster": "2.3.0"} + self._mock_api(200, data) +- self.client.api_execute.return_value.getheader.return_value = None ++ self.client.api_execute.return_value.headers = {} + # Verify the cluster_version property is set + self.assertEqual("2.3.0", self.client.cluster_version) + +diff --git a/src/etcd/tests/unit/test_old_request.py b/src/etcd/tests/unit/test_old_request.py +index b660c24..f2a0410 100644 +--- a/src/etcd/tests/unit/test_old_request.py ++++ b/src/etcd/tests/unit/test_old_request.py +@@ -17,12 +17,6 @@ class FakeHTTPResponse(object): + "x-etcd-cluster-id": "abdef12345", + } + +- def getheaders(self): +- return self.headers +- +- def getheader(self, header): +- return self.headers[header] +- + + class TestClientRequest(unittest.TestCase): + def test_set(self): +diff --git a/src/etcd/tests/unit/test_request.py b/src/etcd/tests/unit/test_request.py +index 7685dca..1cb7fd1 100644 +--- a/src/etcd/tests/unit/test_request.py ++++ b/src/etcd/tests/unit/test_request.py +@@ -381,7 +381,7 @@ class TestClientRequest(TestClientApiInterface): + + def _mock_api(self, status, d, cluster_id=None): + resp = self._prepare_response(status, d) +- resp.getheader.return_value = cluster_id or "abcdef1234" ++ resp.headers = {"x-etcd-cluster-id": cluster_id or "abcdef1234"} + self.client.http.request_encode_body = mock.MagicMock(return_value=resp) + self.client.http.request = mock.MagicMock(return_value=resp) + +@@ -389,7 +389,7 @@ class TestClientRequest(TestClientApiInterface): + resp = self._prepare_response( + 500, {"errorCode": error_code, "message": msg, "cause": cause} + ) +- resp.getheader.return_value = cluster_id or "abcdef1234" ++ resp.headers = {"x-etcd-cluster-id": cluster_id or "abcdef1234"} + self.client.http.request_encode_body = mock.create_autospec( + self.client.http.request_encode_body, return_value=resp + ) +-- +2.51.0 + diff --git a/pkgs/development/python-modules/python-glanceclient/default.nix b/pkgs/development/python-modules/python-glanceclient/default.nix index 4ccad99c4783e..a6035fd9b3eed 100644 --- a/pkgs/development/python-modules/python-glanceclient/default.nix +++ b/pkgs/development/python-modules/python-glanceclient/default.nix @@ -9,8 +9,9 @@ keystoneauth1, requests, warlock, - oslo-utils, + openstacksdk, oslo-i18n, + oslo-utils, wrapt, pyopenssl, stestr, @@ -21,7 +22,7 @@ }: let pname = "python-glanceclient"; - version = "4.10.0"; + version = "4.11.0"; disabledTests = [ # Skip tests which require networking. @@ -51,7 +52,7 @@ buildPythonPackage { src = fetchPypi { pname = "python_glanceclient"; inherit version; - hash = "sha256-/2wtQqF2fFz6PNHSKjcy04qxE9RxrSLE7mShvTlBsQM="; + hash = "sha256-XOIRi/50YpNIBZFmF+U3vFsA/UyrP7e7iKT5JTlwVi0="; }; postPatch = '' @@ -74,10 +75,11 @@ buildPythonPackage { ]; nativeCheckInputs = [ - stestr - testscenarios ddt + openstacksdk requests-mock + stestr + testscenarios ]; checkPhase = '' diff --git a/pkgs/development/python-modules/python-gvm/default.nix b/pkgs/development/python-modules/python-gvm/default.nix index 65b81d735ad38..bf2aebbc6da1b 100644 --- a/pkgs/development/python-modules/python-gvm/default.nix +++ b/pkgs/development/python-modules/python-gvm/default.nix @@ -14,14 +14,14 @@ buildPythonPackage (finalAttrs: { pname = "python-gvm"; - version = "26.9.1"; + version = "26.10.0"; pyproject = true; src = fetchFromGitHub { owner = "greenbone"; repo = "python-gvm"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZClhWPo0Tnx62RE/YzADq2QmUnpWdPBX98IIXK0sfOA="; + hash = "sha256-8xrjgKFzSn5dThp+z36q3WLTKvIiCVGO9rlkSxa6++w="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/python-heatclient/default.nix b/pkgs/development/python-modules/python-heatclient/default.nix index f0ae95acce823..4a57db3735708 100644 --- a/pkgs/development/python-modules/python-heatclient/default.nix +++ b/pkgs/development/python-modules/python-heatclient/default.nix @@ -26,14 +26,14 @@ buildPythonPackage (finalAttrs: { pname = "python-heatclient"; - version = "5.0.0"; + version = "5.1.0"; pyproject = true; src = fetchFromGitHub { owner = "openstack"; repo = "python-heatclient"; tag = finalAttrs.version; - hash = "sha256-BpxUUQTBZLR89ks31q5BcBajIP2vcD3Oot1dsXLalX4="; + hash = "sha256-KUFpFqjFtuF9VFQ0Fn9oVQSpwsocZhKY6vWtqpefUJs="; }; env.PBR_VERSION = finalAttrs.version; diff --git a/pkgs/development/python-modules/python-ironicclient/default.nix b/pkgs/development/python-modules/python-ironicclient/default.nix index 3e65f843cef47..f9f7219795b5a 100644 --- a/pkgs/development/python-modules/python-ironicclient/default.nix +++ b/pkgs/development/python-modules/python-ironicclient/default.nix @@ -25,14 +25,14 @@ buildPythonPackage rec { pname = "python-ironicclient"; - version = "5.15.0"; + version = "6.0.0"; pyproject = true; src = fetchFromGitHub { owner = "openstack"; repo = "python-ironicclient"; tag = version; - hash = "sha256-suN1Eam+vHhpvaQ+QyEQPsbyb0D8G9m7FnAZgnhWS80="; + hash = "sha256-AbxzRpyfplR4Mk9CcaRXi+CNo08tlRIxAFxsJjrkxvY="; }; build-system = [ diff --git a/pkgs/development/python-modules/python-magnumclient/default.nix b/pkgs/development/python-modules/python-magnumclient/default.nix index 4e8ebe83e953e..1e28715cd7d02 100644 --- a/pkgs/development/python-modules/python-magnumclient/default.nix +++ b/pkgs/development/python-modules/python-magnumclient/default.nix @@ -29,14 +29,14 @@ buildPythonPackage rec { pname = "python-magnumclient"; - version = "4.9.0"; + version = "4.10.0"; pyproject = true; src = fetchFromGitHub { owner = "openstack"; repo = "python-magnumclient"; tag = version; - hash = "sha256-Ok211QgvsKqkotXrC4HwMyonLv7LzuCjs2hjruGDEvY="; + hash = "sha256-kOnx2Fsx6WK7Z3z7O6so1LOjjyPiEB0jDFzOl7WlMS0="; }; env.PBR_VERSION = version; diff --git a/pkgs/development/python-modules/python-manilaclient/default.nix b/pkgs/development/python-modules/python-manilaclient/default.nix index cf794ff891e64..106d4755dd99d 100644 --- a/pkgs/development/python-modules/python-manilaclient/default.nix +++ b/pkgs/development/python-modules/python-manilaclient/default.nix @@ -1,34 +1,33 @@ { lib, buildPythonPackage, + callPackage, + debtcollector, fetchPypi, - pbr, + keystoneauth1, openstackdocstheme, + osc-lib, oslo-config, oslo-log, oslo-serialization, oslo-utils, + pbr, prettytable, requests, setuptools, sphinxHook, sphinxcontrib-programoutput, - babel, - osc-lib, - python-keystoneclient, - debtcollector, - callPackage, }: buildPythonPackage rec { pname = "python-manilaclient"; - version = "5.7.1"; + version = "6.0.0"; pyproject = true; src = fetchPypi { pname = "python_manilaclient"; inherit version; - hash = "sha256-BdFUVnvSX7yitHSlP/GzD2jzvF8vh9B4QVVQrqYwW9Q="; + hash = "sha256-EQwsbwZzFXE+KKDH2SxlC6G8oFvdXo2bK4bJKJZfrVw="; }; build-system = [ @@ -41,17 +40,16 @@ buildPythonPackage rec { sphinxBuilders = [ "man" ]; dependencies = [ - pbr + debtcollector + keystoneauth1 + osc-lib oslo-config oslo-log oslo-serialization oslo-utils + pbr prettytable requests - babel - osc-lib - python-keystoneclient - debtcollector ]; # Checks moved to 'passthru.tests' to workaround infinite recursion diff --git a/pkgs/development/python-modules/python-manilaclient/tests.nix b/pkgs/development/python-modules/python-manilaclient/tests.nix index 6af755e27495f..47c17f976b8c7 100644 --- a/pkgs/development/python-modules/python-manilaclient/tests.nix +++ b/pkgs/development/python-modules/python-manilaclient/tests.nix @@ -1,11 +1,13 @@ { buildPythonPackage, + ddt, + fixtures, python-manilaclient, + python-openstackclient, + requests-mock, stestr, - ddt, tempest, - mock, - python-openstackclient, + testtools, }: buildPythonPackage { @@ -17,12 +19,14 @@ buildPythonPackage { dontInstall = true; nativeCheckInputs = [ + ddt + fixtures python-manilaclient + python-openstackclient + requests-mock stestr - ddt tempest - mock - python-openstackclient + testtools ]; checkPhase = '' diff --git a/pkgs/development/python-modules/python-mistralclient/default.nix b/pkgs/development/python-modules/python-mistralclient/default.nix index cd17a22591307..51ea1a97ce52d 100644 --- a/pkgs/development/python-modules/python-mistralclient/default.nix +++ b/pkgs/development/python-modules/python-mistralclient/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { pname = "python-mistralclient"; - version = "6.1.0"; + version = "6.2.0"; pyproject = true; src = fetchFromGitHub { owner = "openstack"; repo = "python-mistralclient"; tag = version; - hash = "sha256-8tB1QPaxdLdti96gOzaXuqLftmTJVM0bosJiKs+0CFs="; + hash = "sha256-FNfee7d8gTcsTdv7lxqDbniUiKQvUXHRSkAlNOCn/k4="; }; env.PBR_VERSION = version; diff --git a/pkgs/development/python-modules/python-neutronclient/default.nix b/pkgs/development/python-modules/python-neutronclient/default.nix index 65d10de5a8ca1..80fec3f47fd89 100644 --- a/pkgs/development/python-modules/python-neutronclient/default.nix +++ b/pkgs/development/python-modules/python-neutronclient/default.nix @@ -32,14 +32,14 @@ buildPythonPackage rec { pname = "python-neutronclient"; - version = "11.7.0"; + version = "11.8.0"; pyproject = true; src = fetchFromGitHub { owner = "openstack"; repo = "python-neutronclient"; tag = version; - hash = "sha256-nkKADTdqYaPMmQU8Fulc8rE5lmMwPjFonyvMNOBvulA="; + hash = "sha256-wf+ZTLaBEzQPRVQOZ6JaqH88ymgGIgtRKKdJi2UvKdM="; }; env.PBR_VERSION = version; diff --git a/pkgs/development/python-modules/python-novaclient/default.nix b/pkgs/development/python-modules/python-novaclient/default.nix index c45c8ea95b7a9..8ccc43b6825fb 100644 --- a/pkgs/development/python-modules/python-novaclient/default.nix +++ b/pkgs/development/python-modules/python-novaclient/default.nix @@ -1,35 +1,56 @@ { lib, buildPythonPackage, - fetchPypi, - ddt, - iso8601, + fetchFromGitHub, + pbr, + setuptools, + + # direct keystoneauth1, - openssl, - openstackdocstheme, + iso8601, oslo-i18n, oslo-serialization, - pbr, + oslo-utils, prettytable, + stevedore, + + # tests + stestrCheckHook, + versionCheckHook, + coverage, + fixtures, requests-mock, - setuptools, - sphinxcontrib-apidoc, - sphinxHook, - stestr, + openstacksdk, + osprofiler, + openssl, testscenarios, + testtools, + tempest, + + # docs + sphinxHook, + openstackdocstheme, + sphinxcontrib-apidoc, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "python-novaclient"; - version = "18.11.0"; + version = "18.12.0"; pyproject = true; - src = fetchPypi { - pname = "python_novaclient"; - inherit version; - hash = "sha256-CjGuIHedTNFxuynB/k5rIrnH2Xx5Zw21FJu9+sA/V9w="; + src = fetchFromGitHub { + owner = "openstack"; + repo = "python-novaclient"; + tag = finalAttrs.version; + hash = "sha256-ZVJXGGceY7tnD/rkMkZjn5zifATeLYRGEVI2iLKERJ8="; }; + patches = [ + ./fix-setup-cfg.patch + ]; + + env.PBR_VERSION = finalAttrs.version; + nativeBuildInputs = [ openstackdocstheme sphinxcontrib-apidoc @@ -38,43 +59,57 @@ buildPythonPackage rec { sphinxBuilders = [ "man" ]; - build-system = [ setuptools ]; + build-system = [ + pbr + setuptools + ]; dependencies = [ - iso8601 keystoneauth1 + iso8601 oslo-i18n oslo-serialization + oslo-utils pbr prettytable + stevedore ]; nativeCheckInputs = [ - ddt - openssl + stestrCheckHook + coverage + fixtures requests-mock - stestr + openstacksdk + osprofiler + openssl testscenarios + testtools + tempest ]; - checkPhase = '' - runHook preCheck - stestr run -e <(echo " - novaclient.tests.unit.test_shell.ParserTest.test_ambiguous_option - novaclient.tests.unit.test_shell.ParserTest.test_not_really_ambiguous_option - novaclient.tests.unit.test_shell.ShellTest.test_osprofiler - novaclient.tests.unit.test_shell.ShellTestKeystoneV3.test_osprofiler - ") - runHook postCheck - ''; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; - pythonImportsCheck = [ "novaclient" ]; + pythonImportsCheck = [ + "novaclient" + "novaclient.v2" + "novaclient.tests" + "novaclient.tests.functional" + "novaclient.tests.functional.api" + "novaclient.tests.functional.v2" + "novaclient.tests.functional.v2.legacy" + "novaclient.tests.unit" + "novaclient.tests.unit.fixture_data" + "novaclient.tests.unit.v2" + ]; meta = { description = "Client library for OpenStack Compute API"; mainProgram = "nova"; - homepage = "https://github.com/openstack/python-novaclient"; + homepage = "https://docs.openstack.org/python-novaclient/latest/"; + downloadPage = "https://github.com/openstack/python-novaclient/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; teams = [ lib.teams.openstack ]; }; -} +}) diff --git a/pkgs/development/python-modules/python-novaclient/fix-setup-cfg.patch b/pkgs/development/python-modules/python-novaclient/fix-setup-cfg.patch new file mode 100644 index 0000000000000..c3b3cd49340a1 --- /dev/null +++ b/pkgs/development/python-modules/python-novaclient/fix-setup-cfg.patch @@ -0,0 +1,21 @@ +diff --git a/setup.cfg b/setup.cfg +index d78f2950..50a0f7cd 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -25,9 +25,13 @@ classifier = + Programming Language :: Python :: 3 :: Only + Programming Language :: Python :: Implementation :: CPython + +-[files] +-packages = +- novaclient ++[options] ++packages=find: ++ ++[options.packages.find] ++exclude = ++ releasenotes ++ releasenotes.* + + [entry_points] + console_scripts = diff --git a/pkgs/development/python-modules/python-octaviaclient/default.nix b/pkgs/development/python-modules/python-octaviaclient/default.nix index 7808dd5c2c116..dd7574d829f86 100644 --- a/pkgs/development/python-modules/python-octaviaclient/default.nix +++ b/pkgs/development/python-modules/python-octaviaclient/default.nix @@ -4,14 +4,11 @@ cliff, fetchPypi, keystoneauth1, - makePythonPath, openstackdocstheme, - installer, osc-lib, oslo-serialization, oslo-utils, pbr, - python-neutronclient, requests, setuptools, sphinx, @@ -21,13 +18,13 @@ buildPythonPackage rec { pname = "python-octaviaclient"; - version = "3.12.0"; + version = "3.13.0"; pyproject = true; src = fetchPypi { pname = "python_octaviaclient"; inherit version; - hash = "sha256-5brfxkpJQousEcXl0YerzYDjrfl0XyWV0RXPTz146Y4="; + hash = "sha256-Iq1TdXMUDqrE33V+yh8H7yYPIW01NVEa6cPqFPq4Yv4="; }; # NOTE(vinetos): This explicit dependency is removed to avoid infinite recursion @@ -47,7 +44,6 @@ buildPythonPackage rec { dependencies = [ cliff keystoneauth1 - python-neutronclient osc-lib oslo-serialization oslo-utils diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix index 7da9b053ce2b7..a3df0fcee1b82 100644 --- a/pkgs/development/python-modules/python-roborock/default.nix +++ b/pkgs/development/python-modules/python-roborock/default.nix @@ -23,14 +23,14 @@ buildPythonPackage (finalAttrs: { pname = "python-roborock"; - version = "4.14.0"; + version = "4.17.1"; pyproject = true; src = fetchFromGitHub { owner = "Python-roborock"; repo = "python-roborock"; tag = "v${finalAttrs.version}"; - hash = "sha256-SpOHJ62IZOZx9gMUuj500LNF4bDfU3XS36oKpeUupUM="; + hash = "sha256-xNQJ08ENiSXLsFBofILzwzRIgDbGH6yX+CBWPEIz2qQ="; }; pythonRelaxDeps = [ "pycryptodome" ]; diff --git a/pkgs/development/python-modules/python-snap7/default.nix b/pkgs/development/python-modules/python-snap7/default.nix index 96018a9ece2f2..ea72b199d0635 100644 --- a/pkgs/development/python-modules/python-snap7/default.nix +++ b/pkgs/development/python-modules/python-snap7/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "python-snap7"; - version = "2.0.2"; + version = "2.1.0"; pyproject = true; src = fetchFromGitHub { owner = "gijzelaerr"; repo = "python-snap7"; tag = version; - hash = "sha256-mcdzgR0z2P5inK9Q+ZQhP5H8vZSaPbRCSEnt+wzG+ro="; + hash = "sha256-l7nLW7qrIloa6JlQTubXnISljsC7jkdAjye9AAUTDrw="; }; prePatch = '' diff --git a/pkgs/development/python-modules/python-uinput/default.nix b/pkgs/development/python-modules/python-uinput/default.nix index 25af52c42652d..d2598e60f84b9 100644 --- a/pkgs/development/python-modules/python-uinput/default.nix +++ b/pkgs/development/python-modules/python-uinput/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { buildInputs = [ udev ]; - NIX_CFLAGS_LINK = "-ludev"; + env.NIX_CFLAGS_LINK = "-ludev"; doCheck = false; # no tests diff --git a/pkgs/development/python-modules/python-zaqarclient/default.nix b/pkgs/development/python-modules/python-zaqarclient/default.nix index e7751e055511d..b7bfecfcb94fb 100644 --- a/pkgs/development/python-modules/python-zaqarclient/default.nix +++ b/pkgs/development/python-modules/python-zaqarclient/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "python-zaqarclient"; - version = "4.3.0"; + version = "4.4.0"; pyproject = true; src = fetchFromGitHub { owner = "openstack"; repo = "python-zaqarclient"; tag = version; - hash = "sha256-AmwICYc7l1LicP47BLS/Eib0NktX0MI24OLnUGtyn20="; + hash = "sha256-bxB6f3HgTPeMkMYg+yEzkgHBkXPb6UMuKBo9XC74O/U="; }; env.PBR_VERSION = version; diff --git a/pkgs/development/python-modules/python-zunclient/default.nix b/pkgs/development/python-modules/python-zunclient/default.nix index 41392d8365fc0..25b6b3c4f6e5b 100644 --- a/pkgs/development/python-modules/python-zunclient/default.nix +++ b/pkgs/development/python-modules/python-zunclient/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "python-zunclient"; - version = "5.3.0"; + version = "5.4.0"; pyproject = true; src = fetchFromGitHub { owner = "openstack"; repo = "python-zunclient"; tag = version; - hash = "sha256-qBpsahkVZEQwsVcNJFtRSJvvxGITauAJ6Zv8p+70hh0="; + hash = "sha256-Ps4V05obkbiy4dbPBOff3WQ1d502Ie303jAmtatNOdc="; }; env.PBR_VERSION = version; diff --git a/pkgs/development/python-modules/pytoolconfig/default.nix b/pkgs/development/python-modules/pytoolconfig/default.nix index 0f5ef30d7c151..687c05a30b15e 100644 --- a/pkgs/development/python-modules/pytoolconfig/default.nix +++ b/pkgs/development/python-modules/pytoolconfig/default.nix @@ -32,7 +32,7 @@ buildPythonPackage rec { "doc" ]; - PDM_PEP517_SCM_VERSION = version; + env.PDM_PEP517_SCM_VERSION = version; nativeBuildInputs = [ pdm-backend diff --git a/pkgs/development/python-modules/pytubefix/default.nix b/pkgs/development/python-modules/pytubefix/default.nix index 6e524411e0f87..4e2cc55af3984 100644 --- a/pkgs/development/python-modules/pytubefix/default.nix +++ b/pkgs/development/python-modules/pytubefix/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "pytubefix"; - version = "10.3.6"; + version = "10.3.8"; pyproject = true; src = fetchFromGitHub { owner = "JuanBindez"; repo = "pytubefix"; tag = "v${version}"; - hash = "sha256-GSXz89BztDOcAmAMPi3SIIDnUbvYJjnHf4DcWf1hqjY="; + hash = "sha256-XfcFpJRMcXGcGeo36QhBEi7iT6Lsf1yq2F1iz/jq7oQ="; }; patches = [ diff --git a/pkgs/development/python-modules/pywal16/default.nix b/pkgs/development/python-modules/pywal16/default.nix index 0f3021f994c71..2dd067a4eb11f 100644 --- a/pkgs/development/python-modules/pywal16/default.nix +++ b/pkgs/development/python-modules/pywal16/default.nix @@ -11,14 +11,14 @@ buildPythonPackage (finalAttrs: { pname = "pywal16"; - version = "3.8.13"; + version = "3.8.14"; pyproject = true; src = fetchFromGitHub { owner = "eylles"; repo = "pywal16"; tag = finalAttrs.version; - hash = "sha256-BKLvEmasMTcuH5olgZHzFN3DZT4lXD1FNBU8l8QGQAM="; + hash = "sha256-68HbYH4wydaM1yY8kGHNIHTOZuUQRl+9o5ZPaemTlUE="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pywlroots/default.nix b/pkgs/development/python-modules/pywlroots/default.nix deleted file mode 100644 index 51e7f71a14d93..0000000000000 --- a/pkgs/development/python-modules/pywlroots/default.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - python, - cffi, - pkg-config, - libxkbcommon, - libinput, - pixman, - udev, - wlroots, - wayland, - pywayland, - xkbcommon, - pytestCheckHook, - qtile, -}: - -buildPythonPackage rec { - pname = "pywlroots"; - version = "0.17.0"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-cssr4UBIwMvInM8bV4YwE6mXf9USSMMAzMcgAefEPbs="; - }; - - nativeBuildInputs = [ pkg-config ]; - propagatedNativeBuildInputs = [ cffi ]; - buildInputs = [ - libinput - libxkbcommon - pixman - udev - wayland - wlroots - ]; - propagatedBuildInputs = [ - cffi - pywayland - xkbcommon - ]; - nativeCheckInputs = [ pytestCheckHook ]; - - postBuild = '' - ${python.pythonOnBuildForHost.interpreter} wlroots/ffi_build.py - ''; - - pythonImportsCheck = [ "wlroots" ]; - - passthru.tests = { - inherit qtile; - }; - - meta = { - homepage = "https://github.com/flacjacket/pywlroots"; - description = "Python bindings to wlroots using cffi"; - license = lib.licenses.ncsa; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ - chvp - doronbehar - ]; - }; -} diff --git a/pkgs/development/python-modules/qdrant-client/default.nix b/pkgs/development/python-modules/qdrant-client/default.nix index a90cfeb26ef31..01b89ed344782 100644 --- a/pkgs/development/python-modules/qdrant-client/default.nix +++ b/pkgs/development/python-modules/qdrant-client/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "qdrant-client"; - version = "1.16.2"; + version = "1.17.0"; pyproject = true; src = fetchFromGitHub { owner = "qdrant"; repo = "qdrant-client"; tag = "v${version}"; - hash = "sha256-sOZDQmwiTz3lZ1lR0xJDxMmNc5QauWLJV5Ida2INibY="; + hash = "sha256-4FH1YXoHDSOs0Tg+FkxEGtLhkNYZUhdIy4L0aYcMyM8="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/qstylizer/default.nix b/pkgs/development/python-modules/qstylizer/default.nix index 027e7c90c6eb9..26e4012b189c6 100644 --- a/pkgs/development/python-modules/qstylizer/default.nix +++ b/pkgs/development/python-modules/qstylizer/default.nix @@ -28,7 +28,7 @@ buildPythonPackage rec { hash = "sha256-Is/kYkSX9fOX+pLv5g1ns2OxeLpSkaCfO2jPIbiuIxA="; }; - PBR_VERSION = version; + env.PBR_VERSION = version; build-system = [ pbr diff --git a/pkgs/development/python-modules/qualysclient/default.nix b/pkgs/development/python-modules/qualysclient/default.nix index ebd9aad0ae639..960bfdbda7925 100644 --- a/pkgs/development/python-modules/qualysclient/default.nix +++ b/pkgs/development/python-modules/qualysclient/default.nix @@ -14,21 +14,21 @@ urllib3, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "qualysclient"; - version = "0.0.4.8.3"; + version = "0.0.4.8.4"; pyproject = true; src = fetchFromGitHub { owner = "woodtechie1428"; repo = "qualysclient"; - tag = "v${version}"; - hash = "sha256-+SZICysgSC4XeXC9CCl6Yxb47V9c1eMp7KcpH8J7kK0="; + tag = "v${finalAttrs.version}"; + hash = "sha256-2m/WHxkomHBudWpFpsgXHN8n+hfLU+lf9fvxhh/3HjA="; }; postPatch = '' substituteInPlace setup.py \ - --replace-fail "version=__version__," 'version="${version}",' + --replace-fail "version=__version__," 'version="${finalAttrs.version}",' ''; build-system = [ setuptools ]; @@ -53,8 +53,8 @@ buildPythonPackage rec { meta = { description = "Python SDK for interacting with the Qualys API"; homepage = "https://qualysclient.readthedocs.io/"; - changelog = "https://github.com/woodtechie1428/qualysclient/releases/tag/v${version}"; + changelog = "https://github.com/woodtechie1428/qualysclient/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/recurring-ical-events/default.nix b/pkgs/development/python-modules/recurring-ical-events/default.nix index a92d0568b8dba..d82fe6111ad58 100644 --- a/pkgs/development/python-modules/recurring-ical-events/default.nix +++ b/pkgs/development/python-modules/recurring-ical-events/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "recurring-ical-events"; - version = "3.8.0"; + version = "3.8.1"; pyproject = true; src = fetchFromGitHub { owner = "niccokunzmann"; repo = "python-recurring-ical-events"; tag = "v${version}"; - hash = "sha256-tkfrdyY5tBTX7I2h2mQzySxkITxRBbATfPluXxQAqmE="; + hash = "sha256-34j4N8ICQzcW3/YQ1Yk8TKrcBlqg0fbx/5PnJ+fZjfE="; }; postPatch = '' diff --git a/pkgs/development/python-modules/renault-api/default.nix b/pkgs/development/python-modules/renault-api/default.nix index 35b5d5f0eb998..828e359c6d221 100644 --- a/pkgs/development/python-modules/renault-api/default.nix +++ b/pkgs/development/python-modules/renault-api/default.nix @@ -19,14 +19,14 @@ buildPythonPackage (finalAttrs: { pname = "renault-api"; - version = "0.5.3"; + version = "0.5.5"; pyproject = true; src = fetchFromGitHub { owner = "hacf-fr"; repo = "renault-api"; tag = "v${finalAttrs.version}"; - hash = "sha256-L5Ld6CyMapW2qX5YmExQzfWddQkQjSHgy7sz3OtL4TQ="; + hash = "sha256-sS1eOpWsHSR+2eHEiv74IN3q83AaTaWlN3ilTz9PwYs="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/requests-hardened/default.nix b/pkgs/development/python-modules/requests-hardened/default.nix new file mode 100644 index 0000000000000..d1078070bfc37 --- /dev/null +++ b/pkgs/development/python-modules/requests-hardened/default.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + poetry-core, + requests, + + pproxy, + pytest-socket, + pysocks, + trustme, + pytestCheckHook, +}: +buildPythonPackage rec { + pname = "requests-hardened"; + version = "1.2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "saleor"; + repo = "requests-hardened"; + tag = "v${version}"; + hash = "sha256-J4xQY2W5upJQ3hrA2hjkw8voLpxNPpekNwmyMKKAVAo="; + }; + + build-system = [ poetry-core ]; + dependencies = [ requests ]; + + nativeCheckInputs = [ + pproxy + pytest-socket + pysocks + trustme + pytestCheckHook + ]; + + pythonImportsCheck = [ "requests_hardened" ]; + + meta = { + description = "Library that adds hardened behavior to python requests"; + homepage = "https://github.com/saleor/requests-hardened"; + license = lib.licenses.bsd3; + maintainers = [ lib.maintainers.ryand56 ]; + }; +} diff --git a/pkgs/development/python-modules/rerun-sdk/default.nix b/pkgs/development/python-modules/rerun-sdk/default.nix index 452c04b67da2e..f5875901b576e 100644 --- a/pkgs/development/python-modules/rerun-sdk/default.nix +++ b/pkgs/development/python-modules/rerun-sdk/default.nix @@ -101,6 +101,7 @@ buildPythonPackage { # ConnectionError: Connection: connecting to server: transport error "test_isolated_streams" "test_send_dataframe_roundtrip" + "test_server_failed_table_creation_does_not_leak_entry" "test_server_with_dataset_files" "test_server_with_dataset_prefix" "test_server_with_multiple_datasets" diff --git a/pkgs/development/python-modules/resend/default.nix b/pkgs/development/python-modules/resend/default.nix index cc92a040a6d4d..69803e4da67a7 100644 --- a/pkgs/development/python-modules/resend/default.nix +++ b/pkgs/development/python-modules/resend/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "resend"; - version = "2.22.0"; + version = "2.23.0"; pyproject = true; src = fetchFromGitHub { owner = "resend"; repo = "resend-python"; tag = "v${version}"; - hash = "sha256-qiGpSUGzhu1jHGSc641S+m+zRmo1cwK8Ug/FgdQBo6M="; + hash = "sha256-kUcudZCIU8LNl7HgBDRJ85rPIZRBVgvbp12ZgbfAZ4k="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/roma/default.nix b/pkgs/development/python-modules/roma/default.nix index b3e65d0ace218..ca90ee49fd8b2 100644 --- a/pkgs/development/python-modules/roma/default.nix +++ b/pkgs/development/python-modules/roma/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "roma"; - version = "1.5.5"; + version = "1.5.6"; pyproject = true; src = fetchFromGitHub { owner = "naver"; repo = "roma"; tag = "v${finalAttrs.version}"; - hash = "sha256-0R8p8pQxLQqK7MTbk9J5lFtA13XJth76Glemkfj9X/E="; + hash = "sha256-ssfgEz2z9IxZpjaQTySXXZ1BSRpnlCcQG2pm/Q3G514="; }; build-system = [ diff --git a/pkgs/development/python-modules/rpmfluff/default.nix b/pkgs/development/python-modules/rpmfluff/default.nix index 920b153b55771..c09407c9219f3 100644 --- a/pkgs/development/python-modules/rpmfluff/default.nix +++ b/pkgs/development/python-modules/rpmfluff/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { sha256 = "19vnlzma8b0aghdiixk0q3wc10y6306hsnic0qvswaaiki94fss1"; }; - LC_ALL = "en_US.utf-8"; + env.LC_ALL = "en_US.utf-8"; buildInputs = [ glibcLocales ]; meta = { diff --git a/pkgs/development/python-modules/rst2ansi/default.nix b/pkgs/development/python-modules/rst2ansi/default.nix index e74e64f800a5b..f5e3fd63d1fbd 100644 --- a/pkgs/development/python-modules/rst2ansi/default.nix +++ b/pkgs/development/python-modules/rst2ansi/default.nix @@ -1,18 +1,20 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, docutils, }: -buildPythonPackage rec { +buildPythonPackage { pname = "rst2ansi"; - version = "0.1.5"; + version = "0.1.5-unstable-2025-02-12"; format = "setuptools"; - src = fetchPypi { - inherit pname version; - hash = "sha256-Gxf7mmKNQPV5M60aOqlSNGREvgaUaVCOc+lQYNoz/m8="; + src = fetchFromGitHub { + owner = "Snaipe"; + repo = "python-rst2ansi"; + rev = "3728e16f8b8b1dc338e5df90ba2c4a93ee054b3f"; + hash = "sha256-V7tl/YJcPvEgBfH334t6CU7OXKQqBqRo/zZPiOlyCmE="; }; propagatedBuildInputs = [ docutils ]; diff --git a/pkgs/development/python-modules/rucio/default.nix b/pkgs/development/python-modules/rucio/default.nix index f1549f01001f8..576bbb9cac065 100644 --- a/pkgs/development/python-modules/rucio/default.nix +++ b/pkgs/development/python-modules/rucio/default.nix @@ -40,13 +40,13 @@ }: let - version = "39.3.0"; + version = "39.3.1"; src = fetchFromGitHub { owner = "rucio"; repo = "rucio"; tag = version; - hash = "sha256-IfHxm6T3tEMT35h8Fd0nvrhBmXdcghO+01+1MjmxMCk="; + hash = "sha256-MRMMPITyjpEvWuzbeM1wTsmuHIbDDbczbFulKmOeNcU="; }; in buildPythonPackage { diff --git a/pkgs/development/python-modules/ruff/default.nix b/pkgs/development/python-modules/ruff/default.nix index d32d951c4aec5..2322db8696200 100644 --- a/pkgs/development/python-modules/ruff/default.nix +++ b/pkgs/development/python-modules/ruff/default.nix @@ -20,7 +20,7 @@ buildPythonPackage { # Do not rely on path lookup at runtime to find the ruff binary. # Use the propagated binary instead. '' - substituteInPlace python/ruff/__main__.py \ + substituteInPlace python/ruff/_find_ruff.py \ --replace-fail \ 'ruff_exe = "ruff" + sysconfig.get_config_var("EXE")' \ 'return "${lib.getExe ruff}"' diff --git a/pkgs/development/python-modules/rustworkx/default.nix b/pkgs/development/python-modules/rustworkx/default.nix index e5ec848e69462..a1b11b42e01a8 100644 --- a/pkgs/development/python-modules/rustworkx/default.nix +++ b/pkgs/development/python-modules/rustworkx/default.nix @@ -1,6 +1,7 @@ { lib, fetchFromGitHub, + fetchpatch, buildPythonPackage, rustPlatform, @@ -34,6 +35,14 @@ buildPythonPackage (finalAttrs: { hash = "sha256-aBKGJwm9EmGwLOhIx6qTuDco5uNcnwUlZf3ztFzmIGs="; }; + patches = [ + (fetchpatch { + name = "networkx-3.6-test-compat.patch"; + url = "https://github.com/Qiskit/rustworkx/commit/04780a59005d0a80bdc3e22427566aea86783eb8.patch"; + hash = "sha256-oUosh1pu/I6Zpg2Di/Gnp5SCwetgs9HDY96Q2bQ7R6M="; + }) + ]; + # Otherwise, `rust-src` is required # https://github.com/Qiskit/rustworkx/pull/1447 postPatch = '' diff --git a/pkgs/development/python-modules/sabyenc3/default.nix b/pkgs/development/python-modules/sabyenc3/default.nix index caa47fb8bde88..d43da3a342880 100644 --- a/pkgs/development/python-modules/sabyenc3/default.nix +++ b/pkgs/development/python-modules/sabyenc3/default.nix @@ -23,6 +23,6 @@ buildPythonPackage rec { description = "yEnc Decoding for Python 3"; homepage = "https://github.com/sabnzbd/sabyenc/"; license = lib.licenses.lgpl3Plus; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/samplerate/default.nix b/pkgs/development/python-modules/samplerate/default.nix index 5c2eb0e33e6ed..2812c7ba4c07c 100644 --- a/pkgs/development/python-modules/samplerate/default.nix +++ b/pkgs/development/python-modules/samplerate/default.nix @@ -18,9 +18,10 @@ # tests pytestCheckHook, + pythonAtLeast, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "samplerate"; version = "0.2.3"; pyproject = true; @@ -28,7 +29,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "tuxu"; repo = "python-samplerate"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-7FAdIqsYCapmEAYiAuoS5m/jFExXZX3hn3kwxn9NWEc="; }; @@ -37,8 +38,8 @@ buildPythonPackage rec { ./numpy-2.4-compat.patch ]; + # unvendor pybind11, libsamplerate postPatch = '' - # unvendor pybind11, libsamplerate rm -r external substituteInPlace CMakeLists.txt \ --replace-fail "add_subdirectory(external)" "find_package(pybind11 REQUIRED)" @@ -55,7 +56,7 @@ buildPythonPackage rec { buildInputs = [ libsamplerate ]; - propagatedBuildInputs = [ + dependencies = [ cffi numpy ]; @@ -68,11 +69,18 @@ buildPythonPackage rec { rm -rf samplerate ''; + disabledTests = lib.optionals (pythonAtLeast "3.14") [ + # ValueError: cannot resize an array that references or is referenced + "test_callback_with_2x" + "test_process" + "test_resize" + ]; + meta = { description = "Python bindings for libsamplerate based on CFFI and NumPy"; homepage = "https://github.com/tuxu/python-samplerate"; - changelog = "https://github.com/tuxu/python-samplerate/releases/tag/${src.tag}"; + changelog = "https://github.com/tuxu/python-samplerate/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ hexa ]; }; -} +}) diff --git a/pkgs/development/python-modules/scikit-hep-testdata/default.nix b/pkgs/development/python-modules/scikit-hep-testdata/default.nix index a792adea40de4..f85f92abc28b4 100644 --- a/pkgs/development/python-modules/scikit-hep-testdata/default.nix +++ b/pkgs/development/python-modules/scikit-hep-testdata/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "scikit-hep-testdata"; - version = "0.6.0"; + version = "0.6.2"; pyproject = true; src = fetchFromGitHub { owner = "scikit-hep"; repo = "scikit-hep-testdata"; tag = "v${version}"; - hash = "sha256-mefyBbZRHNwCApnkhB0xrTLiQl9G+JsVNEaW2PDa6AM="; + hash = "sha256-RA/A8av/KXVimktrjU4lHHMw+SokS7niB6zWhgZ4+IQ="; }; build-system = [ setuptools-scm ]; @@ -30,7 +30,7 @@ buildPythonPackage rec { requests ]; - SKHEP_DATA = 1; # install the actual root files + env.SKHEP_DATA = 1; # install the actual root files doCheck = false; # tests require networking diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix index 3bbd316e81789..6028e3bf713ce 100644 --- a/pkgs/development/python-modules/scipy/default.nix +++ b/pkgs/development/python-modules/scipy/default.nix @@ -45,14 +45,14 @@ buildPythonPackage (finalAttrs: { pname = "scipy"; - version = "1.17.0"; + version = "1.17.1"; pyproject = true; src = fetchFromGitHub { owner = "scipy"; repo = "scipy"; tag = "v${finalAttrs.version}"; - hash = "sha256-bDcM/RGfce/ZTYpTBNpKmX/7rXDqQs7rYkAmeXtzkZk="; + hash = "sha256-lFmqdbCf7pcosdZ7RFMv+8H9+ztMJbDS5g5fQs8Nws8="; fetchSubmodules = true; }; @@ -243,7 +243,7 @@ buildPythonPackage (finalAttrs: { }; }; - SCIPY_USE_G77_ABI_WRAPPER = 1; + env.SCIPY_USE_G77_ABI_WRAPPER = 1; meta = { changelog = "https://github.com/scipy/scipy/releases/tag/v${finalAttrs.version}"; diff --git a/pkgs/development/python-modules/scrapy/default.nix b/pkgs/development/python-modules/scrapy/default.nix index 0bc10158095ba..0cacbda728d83 100644 --- a/pkgs/development/python-modules/scrapy/default.nix +++ b/pkgs/development/python-modules/scrapy/default.nix @@ -98,7 +98,7 @@ buildPythonPackage rec { uvloop ]; - LC_ALL = "en_US.UTF-8"; + env.LC_ALL = "en_US.UTF-8"; pytestFlags = [ # DeprecationWarning: There is no current event loop diff --git a/pkgs/development/python-modules/seccomp/default.nix b/pkgs/development/python-modules/seccomp/default.nix index 951e4b31722ab..07c6989957ca6 100644 --- a/pkgs/development/python-modules/seccomp/default.nix +++ b/pkgs/development/python-modules/seccomp/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { format = "setuptools"; src = libseccomp.pythonsrc; - VERSION_RELEASE = version; # used by build system + env.VERSION_RELEASE = version; # used by build system nativeBuildInputs = [ cython ]; buildInputs = [ libseccomp ]; diff --git a/pkgs/development/python-modules/seekpath/default.nix b/pkgs/development/python-modules/seekpath/default.nix index b2909dea51dfd..0c06dd06c4052 100644 --- a/pkgs/development/python-modules/seekpath/default.nix +++ b/pkgs/development/python-modules/seekpath/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { hash = "sha256-mrutQCSSiiLPt0KEohZeYcQ8aw2Jhy02bEvn6Of8w6U="; }; - LC_ALL = "en_US.utf-8"; + env.LC_ALL = "en_US.utf-8"; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/shiboken2/default.nix b/pkgs/development/python-modules/shiboken2/default.nix index 998e04cc03fc0..9adee3dd41873 100644 --- a/pkgs/development/python-modules/shiboken2/default.nix +++ b/pkgs/development/python-modules/shiboken2/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation { head CMakeLists.txt ''; - CLANG_INSTALL_DIR = llvmPackages.libclang.out; + env.CLANG_INSTALL_DIR = llvmPackages.libclang.out; nativeBuildInputs = [ cmake diff --git a/pkgs/development/python-modules/sip/4.x.nix b/pkgs/development/python-modules/sip/4.x.nix index e787bf2decb93..d4a2cfadd22d3 100644 --- a/pkgs/development/python-modules/sip/4.x.nix +++ b/pkgs/development/python-modules/sip/4.x.nix @@ -62,8 +62,7 @@ buildPythonPackage rec { mainProgram = "sip"; homepage = "https://riverbankcomputing.com/"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ - lovek323 + maintainers = [ ]; platforms = lib.platforms.all; }; diff --git a/pkgs/development/python-modules/spacy-transformers/default.nix b/pkgs/development/python-modules/spacy-transformers/default.nix index 9e92c08480fec..1b3376fa3a242 100644 --- a/pkgs/development/python-modules/spacy-transformers/default.nix +++ b/pkgs/development/python-modules/spacy-transformers/default.nix @@ -3,18 +3,24 @@ callPackage, buildPythonPackage, fetchFromGitHub, - setuptools, + + # build-system cython, - spacy, + setuptools, + + # dependencies numpy, - transformers, - torch, - srsly, + spacy, spacy-alignments, + srsly, + torch, + transformers, + + # tests pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "spacy-transformers"; version = "1.3.9"; pyproject = true; @@ -22,22 +28,33 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "explosion"; repo = "spacy-transformers"; - tag = "release-v${version}"; + tag = "release-v${finalAttrs.version}"; hash = "sha256-06M/e8/+hMVQdZfqyI3qGaZY7iznMwMtblEkFR6Sro0="; }; + # ImportError: cannot import name 'BatchEncoding' from 'transformers.tokenization_utils' (unknown location) + postPatch = '' + substituteInPlace \ + spacy_transformers/data_classes.py \ + spacy_transformers/layers/transformer_model.py \ + spacy_transformers/util.py \ + --replace-fail \ + "from transformers.tokenization_utils import BatchEncoding" \ + "from transformers import BatchEncoding" + ''; + build-system = [ - setuptools cython + setuptools ]; dependencies = [ - spacy numpy - transformers - torch - srsly + spacy spacy-alignments + srsly + torch + transformers ]; nativeCheckInputs = [ pytestCheckHook ]; @@ -54,8 +71,8 @@ buildPythonPackage rec { meta = { description = "spaCy pipelines for pretrained BERT, XLNet and GPT-2"; homepage = "https://github.com/explosion/spacy-transformers"; - changelog = "https://github.com/explosion/spacy-transformers/releases/tag/${src.tag}"; + changelog = "https://github.com/explosion/spacy-transformers/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ nickcao ]; }; -} +}) diff --git a/pkgs/development/python-modules/sphinx-tabs/default.nix b/pkgs/development/python-modules/sphinx-tabs/default.nix index 6360e943dd6b9..dc2677f13bf12 100644 --- a/pkgs/development/python-modules/sphinx-tabs/default.nix +++ b/pkgs/development/python-modules/sphinx-tabs/default.nix @@ -17,9 +17,9 @@ beautifulsoup4, }: -buildPythonPackage rec { +buildPythonPackage { pname = "sphinx-tabs"; - version = "3.4.7"; + version = "3.4.7-unstable-2026-01-24"; pyproject = true; outputs = [ @@ -30,8 +30,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "executablebooks"; repo = "sphinx-tabs"; - tag = "v${version}"; - hash = "sha256-bJXm3qMT1y7NqUA0iiEUA+USTWHxdV8tbEEiDrQKk1U="; + rev = "d613cb7b6bff083227e35e9b3a4c56b24f6c6ad4"; + hash = "sha256-aYlc9bs37Mu4Beuggx0dgVdoRa+X65oDNnYg3Wa4dgc="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/sphinxcontrib-newsfeed/default.nix b/pkgs/development/python-modules/sphinxcontrib-newsfeed/default.nix index 29282610790f4..1badf4ca4d48a 100644 --- a/pkgs/development/python-modules/sphinxcontrib-newsfeed/default.nix +++ b/pkgs/development/python-modules/sphinxcontrib-newsfeed/default.nix @@ -16,6 +16,11 @@ buildPythonPackage rec { sha256 = "1d7gam3mn8v4in4p16yn3v10vps7nnaz6ilw99j4klij39dqd37p"; }; + patches = [ + # reference: https://github.com/prometheusresearch/sphinxcontrib-newsfeed/pull/7 + ./fix-for-sphinx-9.1.patch + ]; + nativeBuildInputs = [ setuptools ]; propagatedBuildInputs = [ sphinx ]; diff --git a/pkgs/development/python-modules/sphinxcontrib-newsfeed/fix-for-sphinx-9.1.patch b/pkgs/development/python-modules/sphinxcontrib-newsfeed/fix-for-sphinx-9.1.patch new file mode 100644 index 0000000000000..ce6e841a708e5 --- /dev/null +++ b/pkgs/development/python-modules/sphinxcontrib-newsfeed/fix-for-sphinx-9.1.patch @@ -0,0 +1,16 @@ +diff --git a/sphinxcontrib/newsfeed.py b/sphinxcontrib/newsfeed.py +index 2e155cd..64b30d9 100644 +--- a/sphinxcontrib/newsfeed.py ++++ b/sphinxcontrib/newsfeed.py +@@ -265,8 +265,9 @@ def process_feed(app, doctree, fromdocname): + replacement.append(section_node) + env.resolve_references(rss_item_description, docname, app.builder) + if app.builder.format == 'html': +- rss_item_description = app.builder.render_partial( +- rss_item_description)['body'] ++ rendered = app.builder.render_partial(rss_item_description) ++ # Sphinx 9.1+ changed 'body' to 'fragment' ++ rss_item_description = rendered.get('fragment', rendered.get('body', '')) + rss_item_date = meta['date'] + rss_item = RSSItem(rss_item_title, rss_item_link, + rss_item_description, rss_item_date) diff --git a/pkgs/development/python-modules/sqlalchemy/1_3.nix b/pkgs/development/python-modules/sqlalchemy/1_3.nix new file mode 100644 index 0000000000000..19f181bae1cb4 --- /dev/null +++ b/pkgs/development/python-modules/sqlalchemy/1_3.nix @@ -0,0 +1,84 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + greenlet, + + # optionals + cx-oracle, + mysqlclient, + pg8000, + psycopg2, + psycopg2cffi, + # TODO: pymssql + pymysql, + pyodbc, + + # tests + mock, + pytest-xdist, + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "sqlalchemy"; + version = "1.3.24"; + pyproject = true; + + src = fetchFromGitHub { + owner = "sqlalchemy"; + repo = "sqlalchemy"; + tag = "rel_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; + hash = "sha256-6qAjyqMVrugABHssAQuql3z1YHTAOSm5hARJuJXJJvo="; + }; + + postPatch = '' + sed -i '/tag_build = dev/d' setup.cfg + ''; + + build-system = [ setuptools ]; + + dependencies = [ greenlet ]; + + optional-dependencies = lib.fix (self: { + mssql = [ pyodbc ]; + mssql_pymysql = [ + # TODO: pymssql + ]; + mssql_pyodbc = [ pyodbc ]; + mysql = [ mysqlclient ]; + oracle = [ cx-oracle ]; + postgresql = [ psycopg2 ]; + postgresql_pg8000 = [ pg8000 ]; + postgresql_psycopg2binary = [ psycopg2 ]; + postgresql_psycopg2cffi = [ psycopg2cffi ]; + pymysql = [ pymysql ]; + }); + + nativeCheckInputs = [ + pytest-xdist + pytestCheckHook + mock + ]; + + disabledTestPaths = [ + # typing correctness, not interesting + "test/ext/mypy" + # slow and high memory usage, not interesting + "test/aaa_profiling" + ]; + + pythonImportsCheck = [ "sqlalchemy" ]; + + meta = { + changelog = "https://github.com/sqlalchemy/sqlalchemy/releases/tag/${finalAttrs.src.tag})"; + description = "Database Toolkit for Python"; + homepage = "https://github.com/sqlalchemy/sqlalchemy"; + license = lib.licenses.mit; + }; +}) diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix index f3f8e36d3e292..5a817d0d909f4 100644 --- a/pkgs/development/python-modules/sqlalchemy/default.nix +++ b/pkgs/development/python-modules/sqlalchemy/default.nix @@ -41,16 +41,16 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "sqlalchemy"; - version = "2.0.46"; + version = "2.0.47"; pyproject = true; src = fetchFromGitHub { owner = "sqlalchemy"; repo = "sqlalchemy"; - tag = "rel_${lib.replaceStrings [ "." ] [ "_" ] version}"; - hash = "sha256-R0d8ipiaj7IL6mHV4c1Kyd6hV+kn5NhZexruRQsyL8c="; + tag = "rel_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; + hash = "sha256-YtOun5R+4+NdEUacOCLFf3raFKTuTpu7kxywrfSG2s0="; }; postPatch = '' @@ -115,11 +115,9 @@ buildPythonPackage rec { }; meta = { - changelog = "https://github.com/sqlalchemy/sqlalchemy/releases/tag/rel_${ - builtins.replaceStrings [ "." ] [ "_" ] version - }"; + changelog = "https://github.com/sqlalchemy/sqlalchemy/releases/tag/${finalAttrs.src.tag}"; description = "Python SQL toolkit and Object Relational Mapper"; homepage = "http://www.sqlalchemy.org/"; license = lib.licenses.mit; }; -} +}) diff --git a/pkgs/development/python-modules/srctools/default.nix b/pkgs/development/python-modules/srctools/default.nix index 3d5b242aef707..ad7adc5476b4a 100644 --- a/pkgs/development/python-modules/srctools/default.nix +++ b/pkgs/development/python-modules/srctools/default.nix @@ -25,6 +25,17 @@ buildPythonPackage { hash = "sha256-c+NmrTntpNTEI782aoC4bNpoKpWe4cqSAkxpYS5HH30="; }; + # TODO remove when https://github.com/python/pythoncapi-compat/pull/169 is merged + # and new srctools version is released with fix + patches = [ + ./fix-tests.diff + ]; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "meson-python == 0.18.0" "meson-python >= 0.18.0" + ''; + build-system = [ meson meson-python diff --git a/pkgs/development/python-modules/srctools/fix-tests.diff b/pkgs/development/python-modules/srctools/fix-tests.diff new file mode 100644 index 0000000000000..660da62df0381 --- /dev/null +++ b/pkgs/development/python-modules/srctools/fix-tests.diff @@ -0,0 +1,13 @@ +diff --git a/src/pythoncapi-compat/tests/test_pythoncapi_compat.py b/src/pythoncapi-compat/tests/test_pythoncapi_compat.py +index 8480415..4137489 100644 +--- a/src/pythoncapi-compat/tests/test_pythoncapi_compat.py ++++ b/src/pythoncapi-compat/tests/test_pythoncapi_compat.py +@@ -21,7 +21,7 @@ except ImportError: + faulthandler = None + + # test.utils +-from utils import run_command, command_stdout ++from .utils import run_command, command_stdout + + + # Windows uses MSVC compiler \ No newline at end of file diff --git a/pkgs/development/python-modules/stdlibs/default.nix b/pkgs/development/python-modules/stdlibs/default.nix index a5bdc9309e8c2..a8f7f1b607fd5 100644 --- a/pkgs/development/python-modules/stdlibs/default.nix +++ b/pkgs/development/python-modules/stdlibs/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "stdlibs"; - version = "2025.10.28"; + version = "2026.2.26"; pyproject = true; src = fetchFromGitHub { owner = "omnilib"; repo = "stdlibs"; tag = "v${version}"; - hash = "sha256-1xdwYwkQqkPsa5yjrTUM0HxRVLJ+ZQvYwFpjIlW7jaY="; + hash = "sha256-5Brb214tglEEjsJXOvEhlaJgSYCUpOGPbHkmI9AWPoM="; }; build-system = [ flit-core ]; diff --git a/pkgs/development/python-modules/svgdigitizer/default.nix b/pkgs/development/python-modules/svgdigitizer/default.nix index 1c12a5f258bea..1e44d9a5f7d71 100644 --- a/pkgs/development/python-modules/svgdigitizer/default.nix +++ b/pkgs/development/python-modules/svgdigitizer/default.nix @@ -28,14 +28,14 @@ buildPythonPackage rec { pname = "svgdigitizer"; - version = "0.14.1"; + version = "0.14.2"; pyproject = true; src = fetchFromGitHub { owner = "echemdb"; repo = "svgdigitizer"; tag = version; - hash = "sha256-ZOR9CviQhPyJQjbLpR53ZVwaarrICg87vtzCL1nq+jE="; + hash = "sha256-7F1q0AvkeqLIoWDNNBUc/91caiQ7kdIcKOkvdAajsLI="; }; build-system = [ @@ -59,7 +59,7 @@ buildPythonPackage rec { svgwrite ]; # https://github.com/echemdb/svgdigitizer/issues/252 - MPLBACKEND = "Agg"; + env.MPLBACKEND = "Agg"; nativeCheckInputs = [ pytestCheckHook diff --git a/pkgs/development/python-modules/sympy/default.nix b/pkgs/development/python-modules/sympy/default.nix index a06f80ce2a2f8..ef1e4183e3077 100644 --- a/pkgs/development/python-modules/sympy/default.nix +++ b/pkgs/development/python-modules/sympy/default.nix @@ -36,7 +36,7 @@ buildPythonPackage rec { mainProgram = "isympy"; homepage = "https://www.sympy.org/"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; teams = [ lib.teams.sage ]; }; } diff --git a/pkgs/development/python-modules/syne-tune/default.nix b/pkgs/development/python-modules/syne-tune/default.nix index c5cbaf7fc275b..21645320fe632 100644 --- a/pkgs/development/python-modules/syne-tune/default.nix +++ b/pkgs/development/python-modules/syne-tune/default.nix @@ -36,7 +36,7 @@ ray, writableTmpDirAsHomeHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "syne-tune"; version = "0.15.0"; pyproject = true; @@ -44,17 +44,10 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "syne-tune"; repo = "syne-tune"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-UNBpfC+aLXhkbyvCG2K00yedJnpYpfldqisZ/wDPtuA="; }; - postPatch = '' - substituteInPlace syne_tune/optimizer/schedulers/synchronous/hyperband.py \ - --replace-fail 'metric_val=np.NAN' 'metric_val=np.nan' - substituteInPlace syne_tune/optimizer/schedulers/synchronous/dehb.py \ - --replace-fail 'result_failed.metric_val = np.NAN' 'result_failed.metric_val = np.nan' - ''; - build-system = [ setuptools ]; @@ -108,12 +101,12 @@ buildPythonPackage rec { writableTmpDirAsHomeHook ] ++ ray.optional-dependencies.tune - ++ optional-dependencies.blackbox-repository - ++ optional-dependencies.bore - ++ optional-dependencies.botorch - ++ optional-dependencies.gpsearchers - ++ optional-dependencies.kde - ++ optional-dependencies.sklearn; + ++ finalAttrs.passthru.optional-dependencies.blackbox-repository + ++ finalAttrs.passthru.optional-dependencies.bore + ++ finalAttrs.passthru.optional-dependencies.botorch + ++ finalAttrs.passthru.optional-dependencies.gpsearchers + ++ finalAttrs.passthru.optional-dependencies.kde + ++ finalAttrs.passthru.optional-dependencies.sklearn; disabledTests = [ # NameError: name 'HV' is not defined @@ -129,11 +122,6 @@ buildPythonPackage rec { "test_cholesky_factorization" ]; - disabledTestPaths = [ - # legacy test - "tst/schedulers/test_legacy_schedulers_api.py" - ]; - pythonImportsCheck = [ "syne_tune" ]; @@ -141,8 +129,8 @@ buildPythonPackage rec { meta = { description = "Large scale asynchronous hyperparameter and architecture optimization library"; homepage = "https://github.com/syne-tune/syne-tune"; - changelog = "https://github.com/syne-tune/syne-tune/releases/tag/${src.tag}"; + changelog = "https://github.com/syne-tune/syne-tune/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ daspk04 ]; }; -} +}) diff --git a/pkgs/development/python-modules/systembridgeconnector/default.nix b/pkgs/development/python-modules/systembridgeconnector/default.nix index 3b13e29dbce29..1f0245bc6955b 100644 --- a/pkgs/development/python-modules/systembridgeconnector/default.nix +++ b/pkgs/development/python-modules/systembridgeconnector/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "systembridgeconnector"; - version = "5.3.1"; + version = "5.4.3"; pyproject = true; src = fetchFromGitHub { owner = "timmo001"; repo = "system-bridge-connector"; tag = version; - hash = "sha256-VM5Or2IiLN+ceUyCaCRxys9B12JSaSfDwaoII2X6q/A="; + hash = "sha256-gkZRvS0abfXFEz2oRuaGJRmhFoxe92F3czNkahNdTm8="; }; build-system = [ diff --git a/pkgs/development/python-modules/systemrdl-compiler/default.nix b/pkgs/development/python-modules/systemrdl-compiler/default.nix index 70430c4777b23..fcf0e6486c15f 100644 --- a/pkgs/development/python-modules/systemrdl-compiler/default.nix +++ b/pkgs/development/python-modules/systemrdl-compiler/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "systemrdl-compiler"; - version = "1.32.1"; + version = "1.32.2"; pyproject = true; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "SystemRDL"; repo = "systemrdl-compiler"; tag = "v${version}"; - hash = "sha256-BTONBzNE9GfBeallS6P4E1ukPs2EzFa31/SpxEjXmKw="; + hash = "sha256-1Dx6WxSzGaZxwRzXR/bjfZSU7TsvTYNVN0NaK3qQ7eo="; }; build-system = [ diff --git a/pkgs/development/python-modules/tiledb/default.nix b/pkgs/development/python-modules/tiledb/default.nix index 918b13ea1a9f1..1b870af5d2c0e 100644 --- a/pkgs/development/python-modules/tiledb/default.nix +++ b/pkgs/development/python-modules/tiledb/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "tiledb"; - version = "0.36.0"; + version = "0.36.1"; pyproject = true; src = fetchFromGitHub { owner = "TileDB-Inc"; repo = "TileDB-Py"; tag = version; - hash = "sha256-zkooZuy6BAV2aR5PQ67/tiX/dARQw5WDNQVqlrs/U2s="; + hash = "sha256-LzXj6bs+DuOMDhPeXAmBuarA+eEe67LWWnhpNhR660k="; }; build-system = [ @@ -59,7 +59,7 @@ buildPythonPackage rec { pyarrow ]; - TILEDB_PATH = tiledb; + env.TILEDB_PATH = tiledb; disabled = !isPy3k; # Not bothering with python2 anymore diff --git a/pkgs/development/python-modules/tinycss/default.nix b/pkgs/development/python-modules/tinycss/default.nix index d1023487c7154..5419f93a00106 100644 --- a/pkgs/development/python-modules/tinycss/default.nix +++ b/pkgs/development/python-modules/tinycss/default.nix @@ -36,7 +36,7 @@ buildPythonPackage rec { ''; # Disable Cython tests - TINYCSS_SKIP_SPEEDUPS_TESTS = true; + env.TINYCSS_SKIP_SPEEDUPS_TESTS = true; pythonImportsCheck = [ "tinycss" ]; diff --git a/pkgs/development/python-modules/tinygrad/default.nix b/pkgs/development/python-modules/tinygrad/default.nix index 6a9b7bfffb5b1..556db2a11b835 100644 --- a/pkgs/development/python-modules/tinygrad/default.nix +++ b/pkgs/development/python-modules/tinygrad/default.nix @@ -254,6 +254,10 @@ buildPythonPackage (finalAttrs: { "test_gen_from_header" "test_struct_ordering" ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + # Exception: forward pass failed shape (2, 3, 64, 64) + "test_cast" + ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ # AssertionError: Expected 1 operations, got 3 # assert 3 == 1 diff --git a/pkgs/development/python-modules/tmb/default.nix b/pkgs/development/python-modules/tmb/default.nix index ae9bc95d14f85..2481bdb8f71ec 100644 --- a/pkgs/development/python-modules/tmb/default.nix +++ b/pkgs/development/python-modules/tmb/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { hash = "sha256-XuRhRmeTXAplb14UwISyzaqEIrFeg8/aCdMxUccMUos="; }; - VERSION = version; + env.VERSION = version; propagatedBuildInputs = [ requests ]; diff --git a/pkgs/development/python-modules/torchaudio/default.nix b/pkgs/development/python-modules/torchaudio/default.nix index 581f288a52364..4f5e02968940a 100644 --- a/pkgs/development/python-modules/torchaudio/default.nix +++ b/pkgs/development/python-modules/torchaudio/default.nix @@ -99,16 +99,19 @@ buildPythonPackage.override { inherit stdenv; } (finalAttrs: { env = { TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" torch.cudaCapabilities}"; - }; - - # https://github.com/pytorch/audio/blob/v2.1.0/docs/source/build.linux.rst#optional-build-torchaudio-with-a-custom-built-ffmpeg - FFMPEG_ROOT = symlinkJoin { - name = "ffmpeg"; - paths = [ - ffmpeg_6-full.bin - ffmpeg_6-full.dev - ffmpeg_6-full.lib - ]; + # https://github.com/pytorch/audio/blob/v2.1.0/docs/source/build.linux.rst#optional-build-torchaudio-with-a-custom-built-ffmpeg + FFMPEG_ROOT = symlinkJoin { + name = "ffmpeg"; + paths = [ + ffmpeg_6-full.bin + ffmpeg_6-full.dev + ffmpeg_6-full.lib + ]; + }; + BUILD_SOX = 0; + BUILD_KALDI = 0; + BUILD_RNNT = 0; + BUILD_CTC_DECODER = 0; }; nativeBuildInputs = [ @@ -136,11 +139,6 @@ buildPythonPackage.override { inherit stdenv; } (finalAttrs: { dependencies = [ torch ]; - BUILD_SOX = 0; - BUILD_KALDI = 0; - BUILD_RNNT = 0; - BUILD_CTC_DECODER = 0; - preConfigure = lib.optionalString rocmSupport '' export ROCM_PATH=${rocmtoolkit_joined} export PYTORCH_ROCM_ARCH="${gpuTargetString}" diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix index 541a9510dea15..0ca33fd88fe78 100644 --- a/pkgs/development/python-modules/tqdm/default.nix +++ b/pkgs/development/python-modules/tqdm/default.nix @@ -50,7 +50,7 @@ buildPythonPackage rec { # Too sensitive for on Hydra. disabledTests = [ "perf" ]; - LC_ALL = "en_US.UTF-8"; + env.LC_ALL = "en_US.UTF-8"; pythonImportsCheck = [ "tqdm" ]; diff --git a/pkgs/development/python-modules/transformers/4.nix b/pkgs/development/python-modules/transformers/4.nix new file mode 100644 index 0000000000000..273c3d60fb750 --- /dev/null +++ b/pkgs/development/python-modules/transformers/4.nix @@ -0,0 +1,208 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + filelock, + huggingface-hub, + numpy, + protobuf, + packaging, + pyyaml, + regex, + requests, + tokenizers, + safetensors, + tqdm, + + # optional-dependencies + diffusers, + scikit-learn, + tensorflow, + onnxconverter-common, + opencv4, + tf2onnx, + torch, + accelerate, + faiss, + datasets, + jax, + jaxlib, + flax, + optax, + ftfy, + onnxruntime, + onnxruntime-tools, + cookiecutter, + sagemaker, + fairscale, + optuna, + ray, + pydantic, + uvicorn, + fastapi, + starlette, + librosa, + phonemizer, + torchaudio, + pillow, + timm, + torchvision, + av, + sentencepiece, + hf-xet, +}: + +buildPythonPackage (finalAttrs: { + pname = "transformers"; + version = "4.57.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "huggingface"; + repo = "transformers"; + tag = "v${finalAttrs.version}"; + hash = "sha256-a78ornUAYlOpr30iFdq1oUiWQTm6GeT0iq8ras5i3DQ="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + filelock + huggingface-hub + numpy + packaging + pyyaml + regex + requests + tokenizers + safetensors + tqdm + ]; + + pythonRelaxDeps = [ "huggingface-hub" ]; + + optional-dependencies = + let + audio = [ + librosa + # pyctcdecode + phonemizer + # kenlm + ]; + vision = [ pillow ]; + in + { + agents = [ + diffusers + accelerate + datasets + torch + sentencepiece + opencv4 + pillow + ]; + ja = [ + # fugashi + # ipadic + # rhoknp + # sudachidict_core + # sudachipy + # unidic + # unidic_lite + ]; + sklearn = [ scikit-learn ]; + tf = [ + tensorflow + onnxconverter-common + tf2onnx + # tensorflow-text + # keras-nlp + ]; + torch = [ + torch + accelerate + ]; + retrieval = [ + faiss + datasets + ]; + flax = [ + jax + jaxlib + flax + optax + ]; + hf_xet = [ + hf-xet + ]; + tokenizers = [ tokenizers ]; + ftfy = [ ftfy ]; + onnxruntime = [ + onnxruntime + onnxruntime-tools + ]; + onnx = [ + onnxconverter-common + tf2onnx + onnxruntime + onnxruntime-tools + ]; + modelcreation = [ cookiecutter ]; + sagemaker = [ sagemaker ]; + deepspeed = [ + # deepspeed + accelerate + ]; + fairscale = [ fairscale ]; + optuna = [ optuna ]; + ray = [ ray ] ++ ray.optional-dependencies.tune; + # sigopt = [ sigopt ]; + # integrations = ray ++ optuna ++ sigopt; + serving = [ + pydantic + uvicorn + fastapi + starlette + ]; + audio = audio; + speech = [ torchaudio ] ++ audio; + torch-speech = [ torchaudio ] ++ audio; + tf-speech = audio; + flax-speech = audio; + timm = [ timm ]; + torch-vision = [ torchvision ] ++ vision; + # natten = [ natten ]; + # codecarbon = [ codecarbon ]; + video = [ + av + ]; + sentencepiece = [ + sentencepiece + protobuf + ]; + }; + + # Many tests require internet access. + doCheck = false; + + pythonImportsCheck = [ "transformers" ]; + + meta = { + broken = lib.versionAtLeast huggingface-hub.version "1.0"; + homepage = "https://github.com/huggingface/transformers"; + description = "Natural Language Processing for TensorFlow 2.0 and PyTorch"; + mainProgram = "transformers-cli"; + changelog = "https://github.com/huggingface/transformers/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + pashashocky + happysalada + ]; + }; +}) diff --git a/pkgs/development/python-modules/types-aiobotocore/default.nix b/pkgs/development/python-modules/types-aiobotocore/default.nix index 9b9c22767be05..70f2d1ae67d73 100644 --- a/pkgs/development/python-modules/types-aiobotocore/default.nix +++ b/pkgs/development/python-modules/types-aiobotocore/default.nix @@ -371,13 +371,13 @@ buildPythonPackage (finalAttrs: { pname = "types-aiobotocore"; - version = "3.1.3"; + version = "3.2.0"; pyproject = true; src = fetchPypi { pname = "types_aiobotocore"; inherit (finalAttrs) version; - hash = "sha256-4Zs7kdnaRsxftMCunlGm8C4WhgjbhMu8vCajxBnPOGo="; + hash = "sha256-eRmenLVkNS3J75h/ob/3U6N1f9wcxUOatCHm217pDqY="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/types-regex/default.nix b/pkgs/development/python-modules/types-regex/default.nix index 31474f561da80..f7730eda393e6 100644 --- a/pkgs/development/python-modules/types-regex/default.nix +++ b/pkgs/development/python-modules/types-regex/default.nix @@ -7,13 +7,13 @@ buildPythonPackage (finalAttrs: { pname = "types-regex"; - version = "2026.1.15.20260116"; + version = "2026.2.19.20260221"; pyproject = true; src = fetchPypi { pname = "types_regex"; inherit (finalAttrs) version; - hash = "sha256-cVGpvMW7+ez8z4M1xFGsqCBPWgmS4GIqr69IKHbO5Pc="; + hash = "sha256-u+fQHX/c3O2nu+Kz4TUL556ddY9h+YqnsEgczFXOZ8s="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/tyro/default.nix b/pkgs/development/python-modules/tyro/default.nix index 82c71552339d1..c7e5298da2a81 100644 --- a/pkgs/development/python-modules/tyro/default.nix +++ b/pkgs/development/python-modules/tyro/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pythonAtLeast, # build-system hatchling, @@ -23,18 +24,19 @@ pydantic, pytestCheckHook, torch, + universal-pathlib, }: buildPythonPackage rec { pname = "tyro"; - version = "1.0.5"; + version = "1.0.8"; pyproject = true; src = fetchFromGitHub { owner = "brentyi"; repo = "tyro"; tag = "v${version}"; - hash = "sha256-/6z3XDN5WdVPVfA1LckpIAUis3dNOwg5hobR2sHlocA="; + hash = "sha256-GTgbzGIIZrkMUgjqMWZVXRVhp9mcxfnDQ/dRApotjww="; }; build-system = [ hatchling ]; @@ -57,6 +59,20 @@ buildPythonPackage rec { pydantic pytestCheckHook torch + universal-pathlib + ]; + + disabledTests = lib.optionals (pythonAtLeast "3.13") [ + # Bash path completion relies on the programmable-completion builtin `compgen`, + # which is unavailable in the stdenv build shell. + "test_bash_path_completion_marker" + + # In Nix builds, the long `python -m pytest` argv[0] path gets line-wrapped in + # argparse error output, splitting `class-b` and `)` so this literal-match fails. + "test_similar_arguments_subcommands_multiple_contains_match" + + # Same wrapped-output literal-match issue as above for the cascading-args variant. + "test_similar_arguments_subcommands_multiple_contains_match_cascading" ]; pythonImportsCheck = [ "tyro" ]; diff --git a/pkgs/development/python-modules/uiprotect/default.nix b/pkgs/development/python-modules/uiprotect/default.nix index 37ef1c99419ee..20f93da2d10fa 100644 --- a/pkgs/development/python-modules/uiprotect/default.nix +++ b/pkgs/development/python-modules/uiprotect/default.nix @@ -38,14 +38,14 @@ buildPythonPackage (finalAttrs: { pname = "uiprotect"; - version = "10.1.0"; + version = "10.2.1"; pyproject = true; src = fetchFromGitHub { owner = "uilibs"; repo = "uiprotect"; tag = "v${finalAttrs.version}"; - hash = "sha256-tQeDZMukKg3xL/tGeQ7+Rm3lzNJQEcDkErbLfKnaxN8="; + hash = "sha256-4zgE5XbjCZzu+Ug66cgKy/Zqy1oyTDIVsPpyDrcra24="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/ultralytics/default.nix b/pkgs/development/python-modules/ultralytics/default.nix index b458204c39154..26e7c18b80823 100644 --- a/pkgs/development/python-modules/ultralytics/default.nix +++ b/pkgs/development/python-modules/ultralytics/default.nix @@ -34,14 +34,14 @@ buildPythonPackage (finalAttrs: { pname = "ultralytics"; - version = "8.4.15"; + version = "8.4.16"; pyproject = true; src = fetchFromGitHub { owner = "ultralytics"; repo = "ultralytics"; tag = "v${finalAttrs.version}"; - hash = "sha256-VVspIg9/d6FJwbIGR5OQ85h2UH7SykW8I3+LutsOOQw="; + hash = "sha256-pMsRs/YIogZxb6JUdDEhXG5CitMdQ8IDEU5CewE98TU="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/unidic/default.nix b/pkgs/development/python-modules/unidic/default.nix index 4680cbdc0f864..56c570af47e7c 100644 --- a/pkgs/development/python-modules/unidic/default.nix +++ b/pkgs/development/python-modules/unidic/default.nix @@ -54,6 +54,6 @@ buildPythonPackage rec { description = "Contemporary Written Japanese dictionary"; homepage = "https://github.com/polm/unidic-py"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ laurent-f1z1 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/unrardll/default.nix b/pkgs/development/python-modules/unrardll/default.nix index 2eea89693ca8e..1bacabbd16280 100644 --- a/pkgs/development/python-modules/unrardll/default.nix +++ b/pkgs/development/python-modules/unrardll/default.nix @@ -18,7 +18,9 @@ buildPythonPackage rec { buildInputs = [ unrar ]; - NIX_CFLAGS_LINK = lib.optionalString stdenv.hostPlatform.isDarwin "-headerpad_max_install_names"; + env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { + NIX_CFLAGS_LINK = "-headerpad_max_install_names"; + }; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' install_name_tool -change libunrar.so ${unrar}/lib/libunrar.so $out/lib/python*/site-packages/unrardll/unrar.*-darwin.so diff --git a/pkgs/development/python-modules/urllib3-future/default.nix b/pkgs/development/python-modules/urllib3-future/default.nix index ae83fb545672e..581405594427f 100644 --- a/pkgs/development/python-modules/urllib3-future/default.nix +++ b/pkgs/development/python-modules/urllib3-future/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "urllib3-future"; - version = "2.15.903"; + version = "2.16.900"; pyproject = true; src = fetchFromGitHub { owner = "jawah"; repo = "urllib3.future"; tag = version; - hash = "sha256-vvTTbaiDjGQX3vjln9q6Q93vZzKxKcBZEjmJSHu00vQ="; + hash = "sha256-xkeA61/OhjZd11InG7xaexZAfYA5ssGvkAv90WSJ4jg="; }; postPatch = '' diff --git a/pkgs/development/python-modules/uuid-utils/default.nix b/pkgs/development/python-modules/uuid-utils/default.nix index fff22d62d3086..ccb143283ee94 100644 --- a/pkgs/development/python-modules/uuid-utils/default.nix +++ b/pkgs/development/python-modules/uuid-utils/default.nix @@ -9,19 +9,19 @@ buildPythonPackage rec { pname = "uuid-utils"; - version = "0.14.0"; + version = "0.14.1"; pyproject = true; src = fetchFromGitHub { owner = "aminalaee"; repo = "uuid-utils"; tag = version; - hash = "sha256-zjf9+vqrDaI8PbOj+xNgMUIj6SvcJAHhCQAYbtkYpuQ="; + hash = "sha256-AcHb/wGrucsGPHEuX8TkBDqDEUrCPhXKz/YTCVu/m4I="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname src version; - hash = "sha256-JiAuJvlacQt9acOyGHxR2lV7IQPBpX/lLd/UhKGhdrI="; + hash = "sha256-Zbtu8DbQo+8/8Kt0SJmXsOU0pRLihIOV0O7QjbR8AHU="; }; nativeBuildInputs = with rustPlatform; [ diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix index 56aa5a429995f..efce4dd939c35 100644 --- a/pkgs/development/python-modules/wandb/default.nix +++ b/pkgs/development/python-modules/wandb/default.nix @@ -75,12 +75,12 @@ }: let - version = "0.24.0"; + version = "0.25.0"; src = fetchFromGitHub { owner = "wandb"; repo = "wandb"; tag = "v${version}"; - hash = "sha256-dICa/sIFEHI59gJxrvWyI9Uc3rbwXi+Xh60O/hElZh0="; + hash = "sha256-ouJHMPcWiHn2p0mFatmC28xUmjzxsoDW9WBX6FzjyDc="; }; gpu-stats = rustPlatform.buildRustPackage { @@ -90,7 +90,7 @@ let sourceRoot = "${src.name}/gpu_stats"; - cargoHash = "sha256-iZinowkbBc3nuE0uRS2zLN2y97eCMD1mp/MKVKdnXaE="; + cargoHash = "sha256-yzvXJYkQTNOScOI3yfVBH6IGZzcFduuXqW3pI5hEZGw="; checkFlags = [ # fails in sandbox diff --git a/pkgs/development/python-modules/weasyprint/default.nix b/pkgs/development/python-modules/weasyprint/default.nix index bf076964b9142..40c26569dc1d9 100644 --- a/pkgs/development/python-modules/weasyprint/default.nix +++ b/pkgs/development/python-modules/weasyprint/default.nix @@ -103,10 +103,10 @@ buildPythonPackage (finalAttrs: { "test_text_stroke" ]; - FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf"; + env.FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf"; # Set env variable explicitly for Darwin, but allow overriding when invoking directly - makeWrapperArgs = [ "--set-default FONTCONFIG_FILE ${finalAttrs.FONTCONFIG_FILE}" ]; + makeWrapperArgs = [ "--set-default FONTCONFIG_FILE ${finalAttrs.env.FONTCONFIG_FILE}" ]; pythonImportsCheck = [ "weasyprint" ]; diff --git a/pkgs/development/python-modules/weaviate-client/default.nix b/pkgs/development/python-modules/weaviate-client/default.nix index 7280abd02abac..210524d75e8a8 100644 --- a/pkgs/development/python-modules/weaviate-client/default.nix +++ b/pkgs/development/python-modules/weaviate-client/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { pname = "weaviate-client"; - version = "4.19.2"; + version = "4.20.1"; pyproject = true; disabled = pythonOlder "3.12"; @@ -36,7 +36,7 @@ buildPythonPackage rec { owner = "weaviate"; repo = "weaviate-python-client"; tag = "v${version}"; - hash = "sha256-LQLvMoj91+B4dU6z4oyxNy7eX+6C5cSL2IBCUVgZ05w="; + hash = "sha256-KnO+xXI6q5a3pJgZuDrjvWgH+civXZwWLtnEJmBWLt4="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/whichcraft/default.nix b/pkgs/development/python-modules/whichcraft/default.nix index 7c7ac4e269aea..b237513ef0f5b 100644 --- a/pkgs/development/python-modules/whichcraft/default.nix +++ b/pkgs/development/python-modules/whichcraft/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { sha256 = "11yfkzyplizdgndy34vyd5qlmr1n5mxis3a3svxmx8fnccdvknxc"; }; - LC_ALL = "en_US.utf-8"; + env.LC_ALL = "en_US.utf-8"; buildInputs = [ glibcLocales ]; nativeCheckInputs = [ pytest ]; diff --git a/pkgs/development/python-modules/xgrammar/default.nix b/pkgs/development/python-modules/xgrammar/default.nix index e62f29a55c8c2..adced646dc386 100644 --- a/pkgs/development/python-modules/xgrammar/default.nix +++ b/pkgs/development/python-modules/xgrammar/default.nix @@ -70,10 +70,12 @@ buildPythonPackage rec { writableTmpDirAsHomeHook ]; - NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isLinux (toString [ - # xgrammar hardcodes -flto=auto while using static linking, which can cause linker errors without this additional flag. - "-ffat-lto-objects" - ]); + env = lib.optionalAttrs stdenv.hostPlatform.isLinux { + NIX_CFLAGS_COMPILE = toString [ + # xgrammar hardcodes -flto=auto while using static linking, which can cause linker errors without this additional flag. + "-ffat-lto-objects" + ]; + }; disabledTests = [ # You are trying to access a gated repo. @@ -94,6 +96,11 @@ buildPythonPackage rec { "test_json_schema_converter" ]; + disabledTestPaths = [ + # Requires internet access + "tests/python/test_structural_tag_converter.py" + ]; + pythonImportsCheck = [ "xgrammar" ]; meta = { diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix index 530e58584f156..a88898dd42008 100644 --- a/pkgs/development/python-modules/xiaomi-ble/default.nix +++ b/pkgs/development/python-modules/xiaomi-ble/default.nix @@ -18,14 +18,14 @@ buildPythonPackage (finalAttrs: { pname = "xiaomi-ble"; - version = "1.6.0"; + version = "1.7.1"; pyproject = true; src = fetchFromGitHub { owner = "Bluetooth-Devices"; repo = "xiaomi-ble"; tag = "v${finalAttrs.version}"; - hash = "sha256-BSWZCugyBnyan4Hl5RxY9IhyGwELl47EQiMrHjjUTKk="; + hash = "sha256-r56WZs6GIFEbklcG4fEuOdbNzFntSy4JzKsRzANvf2g="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/yardstick/default.nix b/pkgs/development/python-modules/yardstick/default.nix new file mode 100644 index 0000000000000..315df02cd4e4c --- /dev/null +++ b/pkgs/development/python-modules/yardstick/default.nix @@ -0,0 +1,77 @@ +{ + lib, + buildPythonPackage, + click, + dataclass-wizard, + dataclasses-json, + fetchFromGitHub, + gitpython, + hatchling, + importlib-metadata, + mergedeep, + omitempty, + prompt-toolkit, + pygments, + pytest-asyncio, + pytest-cov-stub, + pytest-mock, + pytestCheckHook, + pyyaml, + requests, + tabulate, + uv-dynamic-versioning, + xxhash, + zstandard, +}: + +buildPythonPackage (finalAttrs: { + pname = "yardstick"; + version = "0.16.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "anchore"; + repo = "yardstick"; + tag = "v${finalAttrs.version}"; + hash = "sha256-4Kwgm2gmgOam7AVzlGYT3QhAyJf14h3pZohrhbzprpg="; + }; + + build-system = [ + hatchling + uv-dynamic-versioning + ]; + + dependencies = [ + click + dataclass-wizard + dataclasses-json + gitpython + importlib-metadata + mergedeep + omitempty + prompt-toolkit + pygments + pyyaml + requests + tabulate + xxhash + zstandard + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytest-cov-stub + pytest-mock + pytestCheckHook + ]; + + pythonImportsCheck = [ "yardstick" ]; + + meta = { + description = "Module to compare vulnerability scanners results"; + homepage = "https://github.com/anchore/yardstick"; + changelog = "https://github.com/anchore/yardstick/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/development/python-modules/zstd/default.nix b/pkgs/development/python-modules/zstd/default.nix index a2b7a7ed3006d..b2ad8de91863e 100644 --- a/pkgs/development/python-modules/zstd/default.nix +++ b/pkgs/development/python-modules/zstd/default.nix @@ -33,10 +33,12 @@ buildPythonPackage rec { "--library-dirs=${zstd}/lib" ]; - # Running tests via setup.py triggers an attempt to recompile with the vendored zstd - ZSTD_EXTERNAL = 1; - VERSION = zstd.version; - PKG_VERSION = version; + env = { + # Running tests via setup.py triggers an attempt to recompile with the vendored zstd + ZSTD_EXTERNAL = 1; + VERSION = zstd.version; + PKG_VERSION = version; + }; nativeCheckInputs = [ pytest ]; checkPhase = '' diff --git a/pkgs/development/rocm-modules/clr/default.nix b/pkgs/development/rocm-modules/clr/default.nix index 1a0aec24a8d3e..181102c6bd1a9 100644 --- a/pkgs/development/rocm-modules/clr/default.nix +++ b/pkgs/development/rocm-modules/clr/default.nix @@ -207,6 +207,14 @@ stdenv.mkDerivation (finalAttrs: { ln -s ${hipClang} $out/llvm ''; + # libamdhip64.so dlopens its own bare name for hipGetProcAddress symbol resolution. + # Add its own directory to its RPATH so it can find itself + # Must be in postFixup so it runs after patchelf --shrink-rpath which removes + # the apparently useless rpath + postFixup = '' + patchelf --add-rpath "$out/lib" "$out/lib/libamdhip64.so" + ''; + disallowedRequisites = [ gcc-unwrapped ]; diff --git a/pkgs/development/rocm-modules/release-attrPaths.json b/pkgs/development/rocm-modules/release-attrPaths.json index ba0e760fa06a3..f583393592488 100644 --- a/pkgs/development/rocm-modules/release-attrPaths.json +++ b/pkgs/development/rocm-modules/release-attrPaths.json @@ -218,7 +218,6 @@ "python3Packages.curated-transformers", "python3Packages.cut-cross-entropy", "python3Packages.cvxpy", - "python3Packages.dalle-mini", "python3Packages.dask-mpi", "python3Packages.dctorch", "python3Packages.deepdish", diff --git a/pkgs/development/rocq-modules/rocq-elpi/default.nix b/pkgs/development/rocq-modules/rocq-elpi/default.nix index 890395f7af27d..7a50a127796e8 100644 --- a/pkgs/development/rocq-modules/rocq-elpi/default.nix +++ b/pkgs/development/rocq-modules/rocq-elpi/default.nix @@ -17,7 +17,7 @@ let in with lib.versions; lib.switch rocq-core.rocq-version [ - (case (range "9.0" "9.1") "3.4.2") + (case (range "9.0" "9.1") "3.4.5") (case (range "9.0" "9.1") "2.0.7") ] { }; elpi = rocq-core.ocamlPackages.elpi.override { version = default-elpi-version; }; diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix index e9b6b2870376c..1882d23f0f249 100644 --- a/pkgs/development/tools/build-managers/rebar3/default.nix +++ b/pkgs/development/tools/build-managers/rebar3/default.nix @@ -123,7 +123,7 @@ let }: let pluginLibDirs = map (p: "${p}/lib/erlang/lib") (lib.unique (plugins ++ globalPlugins)); - globalPluginNames = lib.unique (map (p: p.packageName) globalPlugins); + globalPluginNames = lib.unique (map (p: p.pname) globalPlugins); rebar3Patched = ( rebar3.overrideAttrs (old: { diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix index c789c453137f5..18e241d88aec4 100644 --- a/pkgs/development/tools/build-managers/sbt/default.nix +++ b/pkgs/development/tools/build-managers/sbt/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "sbt"; - version = "1.12.2"; + version = "1.12.4"; src = fetchurl { url = "https://github.com/sbt/sbt/releases/download/v${finalAttrs.version}/sbt-${finalAttrs.version}.tgz"; - hash = "sha256-l7t331CsM+P4yH0UFcHWa7WFhvb+Ayt4CP14P5SVMfA="; + hash = "sha256-OgLUzZhn/OJZgvmxaMJF/05HjddpQV21QuW+65+fuHo="; }; postPatch = '' diff --git a/pkgs/development/tools/electron/binary/info.json b/pkgs/development/tools/electron/binary/info.json index e213931e23a1c..2f9bd5968d426 100644 --- a/pkgs/development/tools/electron/binary/info.json +++ b/pkgs/development/tools/electron/binary/info.json @@ -12,35 +12,35 @@ }, "38": { "hashes": { - "aarch64-darwin": "d8447f9e82b37a463bfb02a50dc98749fd7781de2cea2aa2f6796560256cacdd", - "aarch64-linux": "31bd0294a6f1ff00206905a642be0bd89bb595a69f7372cf6432015bcd0be324", - "armv7l-linux": "a416cde1e1b122dcb303d31255cc84bea3b2934a52ed258ae8a5051038ec3121", + "aarch64-darwin": "1fe8f6fd73eba947344e990da4d6de2cc6d2048f70db4e1148ec9ce99f14d0b7", + "aarch64-linux": "6e0e35f65b45dc8504cc6b1e7d49cdc6822c3ad83ea0f0f35a7f3adc3770eb9c", + "armv7l-linux": "0425b81fecb0de31c2b81e8a9cac60a7e1353e8d207c0b9d9deb7b4e6c1d932e", "headers": "1q0d7yi1424vr7571qsh6xi50jvvjlqgjcgm7nisp2wrlzvn9sa7", - "x86_64-darwin": "e301ebbe17f2e446e31498d2cbc3f2bd59bd82eb0114d5cfc949a392f6e67f62", - "x86_64-linux": "35375a23173b3c4379118dc021b617a4cbc395bfbc6a4cb0e23a422df0da1147" + "x86_64-darwin": "a49f611f939a951185a26e989429cae2875aaacccef9898370754cb043a0fc88", + "x86_64-linux": "02083b307d7fb74e1d19ae0df27b3382b9a9a1a65fd519d139cf82cc7de7841e" }, - "version": "38.8.1" + "version": "38.8.4" }, "39": { "hashes": { - "aarch64-darwin": "618ada5c3ea7fdd3b2405d6e2b62c895d6531b9b0e12120e26a2e20e58d68e67", - "aarch64-linux": "c1ed7b797fa534931b36cdd6a69ea6ed5de351d5cc4086aa155a8ed92fb518ed", - "armv7l-linux": "0aefd0e66439ea4eb3db3e57742ca88988bb8d694eaa9c7d332c733c373ee32d", - "headers": "0awfmgrz47ga410rv83f0zppw4vrxxdd3ya4yzd2mmpkcxr80sr9", - "x86_64-darwin": "5f51d106849b2afaa0a233f487485f0a484ac9dcb57c432feb6ae2731ed5cdfd", - "x86_64-linux": "1fddb169ed3a342ddaff1807c82c388966dbf4697349dd4902f2987152257337" + "aarch64-darwin": "cc1c92a06401d52f1cf90ae7e49427ad9dea30d312d5a716b45244154df63567", + "aarch64-linux": "0154dfe256dbef46abd34257be10cab37cb4b117a144dbbf73d22159fa28abfb", + "armv7l-linux": "aa909cf4fbf33353c406e3d8f8850ca59353246ba8d9119b15e00aa8af105113", + "headers": "1275z4rmfxd7q947ch09wmwhynizfs3q2nn5wgqbm257nyssz7x0", + "x86_64-darwin": "3653bc907606b45f2a296d4c1f249ec5f85742bfc3f4315de5874b2196e15f9f", + "x86_64-linux": "de81784fe56041b2a8549d233e2adb8776916c10fa5caa1f2d2e098a2e9b6185" }, - "version": "39.5.2" + "version": "39.7.0" }, "40": { "hashes": { - "aarch64-darwin": "4e74ea7df537403e81996b70808e0be72c03b8254155eb4936ba7bedf9b766c5", - "aarch64-linux": "07639078d1eecafc261329e2e5f6b45b63932bf363d45b5cde962c6311659b8b", - "armv7l-linux": "41ace9862c8e22385f96424d6c2600c5c7cbdb08505c9ae95f593a09c830cee6", - "headers": "0p4v176ws6cchkrb1575gx4ppa4scbj5s59cm64akqchn44lald3", - "x86_64-darwin": "ce38c8c13fc25f99bf967cc95da8e0014f25da0b4eb443f4bf24c6c5c9a201e6", - "x86_64-linux": "abb936793a7e86d49c876c142bfa3e19fe28fee0bc7a7721d2bc72f91cbc4e36" + "aarch64-darwin": "1882baecdcb4cdedb69e89cadf51fa21c4b3ba87ce0c1cfbffa10234907587cb", + "aarch64-linux": "55798f7940332aacdac97523dc0ca480e32fa14088f4894d0a4d1bbeabc26d65", + "armv7l-linux": "7d5e7848cb78659fe51d3996db559a01fbd53d143592158e3a6f774c1a202907", + "headers": "1f398chh7m54l6vq52wkcml3r71q2w7kaz1kdl1r8w5pish9gk8i", + "x86_64-darwin": "531e8bf7acb6fc1f3a6a3a8c3501a3563bbfe6bd1d49f02872bca3e71d32054a", + "x86_64-linux": "08e551dacaa253599ed1e643fbd404d89414cb278c7f96540a71bfcf0d660e07" }, - "version": "40.3.0" + "version": "40.6.1" } } diff --git a/pkgs/development/tools/electron/chromedriver/info.json b/pkgs/development/tools/electron/chromedriver/info.json index 708596572c141..a7f8760d1e980 100644 --- a/pkgs/development/tools/electron/chromedriver/info.json +++ b/pkgs/development/tools/electron/chromedriver/info.json @@ -12,35 +12,35 @@ }, "38": { "hashes": { - "aarch64-darwin": "c3d5503fe39a4917e7b584fe6792da4ef4ee77ee069ea27b0a713ec27578ae6f", - "aarch64-linux": "35ca80cc6a4f31c81c7a78d78d08ad279dc21159b980cdc92db280c3127778d7", - "armv7l-linux": "8b52966cdfa3fa55871ea531c38b6ed87e23dbee90035684fe8e232176ca8e41", + "aarch64-darwin": "01d8ac4b49466417a431cb881bbf991830d66dc818f34ff2e053405f185694f7", + "aarch64-linux": "de2b49797bd68b6fd523ec0c097cd69a8acbb4ed363e609ed234211b5a27d57f", + "armv7l-linux": "bdec3500085f4f1362242cc0beeef1f9cce1d776f6dbc0193d0b170a8477fe1e", "headers": "1q0d7yi1424vr7571qsh6xi50jvvjlqgjcgm7nisp2wrlzvn9sa7", - "x86_64-darwin": "338fbc799b8b7bee203ad7ff06a20be6a6e88b71f1045a8b29605e80aa5939e7", - "x86_64-linux": "353a0e60ec2ad62ee3f5d1a53dc2055a35c730b87b4cbf1dc8094490dfc4c15f" + "x86_64-darwin": "5d86d7cc68106fbf64660d093806cc43181c6400d72489bc0b8465d5a9ab34ae", + "x86_64-linux": "0a822adff8265eddbb64b9bca3ab381519e6522aaf7b08c648d8502606117a77" }, - "version": "38.8.1" + "version": "38.8.4" }, "39": { "hashes": { - "aarch64-darwin": "a87acdd1cb412151f71c25154dccdf26744b80471acbef03dd20cfea2e0bd2d1", - "aarch64-linux": "f18c47c5544f158eaa1a3705bbcaab7a879c1829926310ebfd876749393ed2a0", - "armv7l-linux": "74435311880444074e0fedd2a52ecdf9a18f13689e9da700f6fae4c5b553e4d5", - "headers": "0awfmgrz47ga410rv83f0zppw4vrxxdd3ya4yzd2mmpkcxr80sr9", - "x86_64-darwin": "2181b4bfb4c9e543013bd08e0d6d1e1b3b80a7d99e1589a7e75089760d1d46c2", - "x86_64-linux": "dd240f331c4ae2dd8e83aa517bc17a107f0747d62bb4321901c18ad4e48d8ea6" + "aarch64-darwin": "92f384ac74eba40b2090394910a0c8b3373ccbf5e3cfc0ccc72eed97016520ea", + "aarch64-linux": "58f4328a7cd5a5543374f912d9ceb65390323c92c97e8d04f6b1c1b2f3b538db", + "armv7l-linux": "2ee72c477e8e5be7e3314ce60f9392c354e972e1ba799195616473248d8a5a38", + "headers": "1275z4rmfxd7q947ch09wmwhynizfs3q2nn5wgqbm257nyssz7x0", + "x86_64-darwin": "db83c6321fb82f945d9d135612425d5ec9ebaa1e8de9d33759db73c8027a5851", + "x86_64-linux": "3252365a3e2dee003da7c29ba6a76fd4b1aa735a510d1f2b8c37256025ecd225" }, - "version": "39.5.2" + "version": "39.7.0" }, "40": { "hashes": { - "aarch64-darwin": "e04593e9bfade7a56aabd028fa0da4859bfa8e615d5506d8f3f83cfe4c8b9524", - "aarch64-linux": "be6f08da6125ad7b46080915a95474aecced83406410898cc9243bbd00d050c0", - "armv7l-linux": "1762ed68e2048b5a7d70823b8daa1bf6d2968695657aeaf46eeaa199668918fd", - "headers": "0p4v176ws6cchkrb1575gx4ppa4scbj5s59cm64akqchn44lald3", - "x86_64-darwin": "90aaa614c48e274488022b138f82934649aedfd5efa2115582434e64a6932ae1", - "x86_64-linux": "a146e851bc01d5a6ea4257fd7bec9673224b119addb2d44e9ae3c335a30f1764" + "aarch64-darwin": "663afbd34d0a8e74e1c362c68e26f3c0f72c05ceab595930250470a88b4b45c7", + "aarch64-linux": "0b7a7f66a8201940bd37e96b51b3e0f538fb4646c15768693e1e0baf3b4392dc", + "armv7l-linux": "fb3eda5052cd9653f29b980cd524835f299f22b5dbbcf40cc0e1f708f26b0384", + "headers": "1f398chh7m54l6vq52wkcml3r71q2w7kaz1kdl1r8w5pish9gk8i", + "x86_64-darwin": "a27f048f9feb2b28a20030f635ffa34c297a560e02a5075e4f7a05662fb68c11", + "x86_64-linux": "8d93ee3ad02500190c9a9ebbd11c721f2f266498abbe7c2795e645141e726f4f" }, - "version": "40.3.0" + "version": "40.6.1" } } diff --git a/pkgs/development/tools/electron/info.json b/pkgs/development/tools/electron/info.json index e15b04f373351..cb38230ed1129 100644 --- a/pkgs/development/tools/electron/info.json +++ b/pkgs/development/tools/electron/info.json @@ -56,10 +56,10 @@ }, "src/electron": { "args": { - "hash": "sha256-+bkx3vLrCFOeI1ybSOU/f+7rkcbxrr+kEz07XNCVrmw=", + "hash": "sha256-wiH+czPd/gMNCyfxC0+O5rte7ANTHZoI+9s3K7zdTMA=", "owner": "electron", "repo": "electron", - "tag": "v38.8.1" + "tag": "v38.8.4" }, "fetcher": "fetchFromGitHub" }, @@ -1318,10 +1318,10 @@ "fetcher": "fetchFromGitiles" } }, - "electron_yarn_hash": "sha256-hchGMv49A9KHPLIQ2v8356yg80GCwtnRcU6T/zLSLgI=", + "electron_yarn_hash": "sha256-5De4AlohrAGDEICs6+abn0j6SqToq4OuOwClLwudb6E=", "modules": "139", "node": "22.22.0", - "version": "38.8.1" + "version": "38.8.4" }, "39": { "chrome": "142.0.7444.265", @@ -1380,10 +1380,10 @@ }, "src/electron": { "args": { - "hash": "sha256-TmAZl/OLw00zZpPspdBUE7NasViq9IllCSM1NJu5UdU=", + "hash": "sha256-vsFG0duhBkf3TJGSTLEtPIxNYFavmrPklOKyNxdzbU0=", "owner": "electron", "repo": "electron", - "tag": "v39.5.2" + "tag": "v39.7.0" }, "fetcher": "fetchFromGitHub" }, @@ -2666,13 +2666,13 @@ "fetcher": "fetchFromGitiles" } }, - "electron_yarn_hash": "sha256-LJAAF+YlVgsUAmu37VSNPSRoUi9nc2pCsj0t6f7wWmQ=", + "electron_yarn_hash": "sha256-l24z99s6gwdwkAnFex/tFxLpOlN72SS0j1rWP0V3LmA=", "modules": "140", "node": "22.22.0", - "version": "39.5.2" + "version": "39.7.0" }, "40": { - "chrome": "144.0.7559.134", + "chrome": "144.0.7559.220", "chromium": { "deps": { "gn": { @@ -2681,15 +2681,15 @@ "version": "0-unstable-2025-12-01" } }, - "version": "144.0.7559.134" + "version": "144.0.7559.220" }, "chromium_npm_hash": "sha256-13sgV/5BD7QvDLBAEmoLN5vongw+S5v5znvZcctxhWc=", "deps": { "src": { "args": { - "hash": "sha256-XHmPaX372RoYLxNWadbKg0COV8Kksy9WkPQQHXvCZI4=", + "hash": "sha256-xhpHN17f2QmdgE9e7IQrjTmzhAjlnByQkWuuwwVOv4Y=", "postFetch": "rm -rf $(find $out/third_party/blink/web_tests ! -name BUILD.gn -mindepth 1 -maxdepth 1); rm -r $out/content/test/data; rm -rf $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; ", - "tag": "144.0.7559.134", + "tag": "144.0.7559.220", "url": "https://chromium.googlesource.com/chromium/src.git" }, "fetcher": "fetchFromGitiles" @@ -2728,10 +2728,10 @@ }, "src/electron": { "args": { - "hash": "sha256-3iB13q4r4YXseVZivCBhZQj8wMMe/93cOR7BJefMdQs=", + "hash": "sha256-CSkADthZGvO9akWZLwZinLtXhn9n2IIqlO+Z9mwMz/M=", "owner": "electron", "repo": "electron", - "tag": "v40.3.0" + "tag": "v40.6.1" }, "fetcher": "fetchFromGitHub" }, @@ -3065,10 +3065,10 @@ }, "src/third_party/electron_node": { "args": { - "hash": "sha256-gfSrqDkXDdfFFzA5xCKeu8twCuFto78rEcBl2fheBBs=", + "hash": "sha256-Xy0hxw1F8I0q60RJAJ4YlXwxl7t3PnMVOQM8dP3gka0=", "owner": "nodejs", "repo": "node", - "tag": "v24.13.0" + "tag": "v24.13.1" }, "fetcher": "fetchFromGitHub" }, @@ -3588,8 +3588,8 @@ }, "src/third_party/pdfium": { "args": { - "hash": "sha256-PX3jg11+zGfEIiOewgO4s9Knfw5a1shhFl8BZfioXng=", - "rev": "66c6bc40966122935d37eef739deb988581214d4", + "hash": "sha256-+0iNpsO+2NdPnFCnqEPAA70ymJo+IyB+MGLeBl6U9KE=", + "rev": "53909bbc260e7bc9fe54f2e77bb0ad653dc345fe", "url": "https://pdfium.googlesource.com/pdfium.git" }, "fetcher": "fetchFromGitiles" @@ -4007,16 +4007,16 @@ }, "src/v8": { "args": { - "hash": "sha256-7jQ1WrY2+8s0tDjl4qzaZz/xdWrePiVvuJDI00YLd9k=", - "rev": "0f9ccaeb4a88dbff7a7c86e998ceea7d6f947950", + "hash": "sha256-KfnEtvzb7S6aMxj+5fiES/+jvAwfOTi4pQ48tbK7ObA=", + "rev": "3d1baf826e1286e35d04e9991ba0a669e26d25a3", "url": "https://chromium.googlesource.com/v8/v8.git" }, "fetcher": "fetchFromGitiles" } }, - "electron_yarn_hash": "sha256-Mbi58CdqXaWIdRqdRXay9pSGpLaCQnwJjhv8cBJDUnE=", + "electron_yarn_hash": "sha256-+7UFFBC4awv3Eg7aB5fKgIysAA2QIpds7s7xN2DuoP8=", "modules": "143", - "node": "24.13.0", - "version": "40.3.0" + "node": "24.13.1", + "version": "40.6.1" } } diff --git a/pkgs/development/tools/misc/premake/5.nix b/pkgs/development/tools/misc/premake/5.nix index e5f12a79fa25f..efa213aa0fdef 100644 --- a/pkgs/development/tools/misc/premake/5.nix +++ b/pkgs/development/tools/misc/premake/5.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, # build inputs cacert, @@ -13,13 +14,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "premake5"; - version = "5.0.0-beta4"; + version = "5.0.0-beta8"; src = fetchFromGitHub { owner = "premake"; repo = "premake-core"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-sNLCyIHWDW/8jIrMFCZAqtWsh4SRugqtPR4HaoW/Vzk="; + hash = "sha256-Tl/XU9Hy/VZw59S4K478EaLgE88/oTzLCe+DoVwtlcU="; }; buildInputs = [ @@ -29,7 +30,16 @@ stdenv.mkDerivation (finalAttrs: { readline ]; - patches = [ ./no-curl-ca.patch ]; + patches = [ + # https://github.com/premake/premake-core/issues/2614 + (fetchpatch { + name = "0001-premake5-Fix-filters-using-alias-value.patch"; + url = "https://github.com/premake/premake-core/commit/d01097bb38da6855beeef7158b8b04ab1e63249b.patch"; + hash = "sha256-ZGhNUoXZbbW9ioFnAgPwypYhepoChtWF1SOCxs1WLj8="; + }) + + ./no-curl-ca.patch + ]; postPatch = '' substituteInPlace contrib/curl/premake5.lua \ --replace-fail "ca = nil" "ca = '${cacert}/etc/ssl/certs/ca-bundle.crt'" diff --git a/pkgs/development/tools/misc/premake/no-curl-ca.patch b/pkgs/development/tools/misc/premake/no-curl-ca.patch index 3004faa90c3f0..498b190e850d3 100644 --- a/pkgs/development/tools/misc/premake/no-curl-ca.patch +++ b/pkgs/development/tools/misc/premake/no-curl-ca.patch @@ -1,17 +1,8 @@ -From a26e36d55cd2447488e01b2ff4ac65e2596862cd Mon Sep 17 00:00:00 2001 -From: Ellie Hermaszewska -Date: Mon, 3 Oct 2022 16:50:33 +0800 -Subject: [PATCH] Do not set CURL_CA_BUNDLE - ---- - contrib/curl/premake5.lua | 13 ------------- - 1 file changed, 13 deletions(-) - diff --git a/contrib/curl/premake5.lua b/contrib/curl/premake5.lua -index 474f5cfa..553bbd02 100644 +index b1e32fd..26dd399 100644 --- a/contrib/curl/premake5.lua +++ b/contrib/curl/premake5.lua -@@ -36,21 +36,6 @@ project "curl-lib" +@@ -36,22 +36,6 @@ project "curl-lib" -- find the location of the ca bundle local ca = nil @@ -24,6 +15,7 @@ index 474f5cfa..553bbd02 100644 - "/usr/local/share/certs/ca-root-nss.crt", - "/etc/certs/ca-certificates.crt", - "/etc/ssl/cert.pem", +- "/etc/ssl/cacert.pem", - "/boot/system/data/ssl/CARootCertificates.pem" } do - if os.isfile(f) then - ca = f @@ -33,6 +25,3 @@ index 474f5cfa..553bbd02 100644 if ca then defines { 'CURL_CA_BUNDLE="' .. ca .. '"', 'CURL_CA_PATH="' .. path.getdirectory(ca) .. '"' } end --- -2.37.2 - diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix index 744d0d8413243..1ece2268541f8 100644 --- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix +++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix @@ -12,7 +12,7 @@ sedlex, version ? if lib.versionAtLeast ocaml.version "4.13" then - "6.2.0" + "6.3.2" else if lib.versionAtLeast ocaml.version "4.11" then "6.0.1" else @@ -22,12 +22,12 @@ buildDunePackage { pname = "js_of_ocaml-compiler"; inherit version; - minimalOCamlVersion = "4.08"; src = fetchurl { url = "https://github.com/ocsigen/js_of_ocaml/releases/download/${version}/js_of_ocaml-${version}.tbz"; hash = { + "6.3.2" = "sha256-qTr8llTsNGRwH7zg3M86i+uVCKyxLGBFd2vyzxBsq8A="; "6.2.0" = "sha256-fMZBd40bFyo1KogzPuDoxiE2WgrPzZuH44v9243Spdo="; "6.1.1" = "sha256-0x2kGq5hwCqqi01QTk6TcFIz0wPNgaB7tKxe7bA9YBQ="; "6.0.1" = "sha256-gT2+4rYuFUEEnqI6IOQFzyROJ+v6mFl4XPpT4obSxhQ="; @@ -56,5 +56,6 @@ buildDunePackage { license = lib.licenses.gpl2; maintainers = [ lib.maintainers.vbgl ]; mainProgram = "js_of_ocaml"; + broken = ocaml.version == "4.14.3" && !lib.versionAtLeast version "6.0.0"; }; } diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix index 704ea74e0ec0a..4029c36ad3f46 100644 --- a/pkgs/development/tools/ocaml/merlin/4.x.nix +++ b/pkgs/development/tools/ocaml/merlin/4.x.nix @@ -24,6 +24,7 @@ "4.14.0" = "4.19-414"; "4.14.1" = "4.19-414"; "4.14.2" = "4.19-414"; + "4.14.3" = "4.19-414"; "5.0.0" = "4.14-500"; "5.1.0" = "4.17.1-501"; "5.1.1" = "4.17.1-501"; diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix index 132b93f6d6cf0..587963907bf5d 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/grammar-sources.nix @@ -781,10 +781,10 @@ }; ghostty = { - version = "1.2-unstable-2025-11-27"; + version = "1.2-unstable-2026-01-02"; url = "github:bezhermoso/tree-sitter-ghostty"; - rev = "c2f7af6d7250f63f01401a6d84b3e353e71ff3c3"; - hash = "sha256-d9cJWhEHiAMxyNhUt7VR5IU5z/5oXn3m9aMsknexaNM="; + rev = "c14d6cb4dd36ff9dd569978491aa52e4726cbe86"; + hash = "sha256-sVPr8jR6z0G68z3ZTdlMOXWguNGbZ/5apffNefm9apU="; meta = { license = lib.licenses.mit; maintainers = with lib.maintainers; [ @@ -1679,10 +1679,10 @@ }; nim = { - version = "0.6.2-unstable-2025-07-29"; + version = "0.6.2-unstable-2026-01-11"; url = "github:alaviss/tree-sitter-nim"; - rev = "4ad352773688deb84a95eeaa9872acda5b466439"; - hash = "sha256-dinMmbD36o1QkcLk2mgycgHZ9sW5Mg6lfnxssynaj58="; + rev = "9b4ede21a6ca866d29263f6b66c070961bc622b4"; + hash = "sha256-3BHcQrLNcXe1RMkV7ECCMzzEukgTlARH3+DDo2M5b0w="; meta = { license = lib.licenses.mpl20; maintainers = with lib.maintainers; [ @@ -1933,10 +1933,10 @@ }; pkl = { - version = "0.20.0-unstable-2025-12-12"; + version = "0.20.0-unstable-2026-02-24"; url = "github:apple/tree-sitter-pkl"; - rev = "ac58931956c000d3aeefbb55a81fc3c5bd6aecf0"; - hash = "sha256-R0p9ceNjd9xnikxaCjDFwN4HkfRr+4ezVSlXqLP/YuQ="; + rev = "a02fc36f6001a22e7fdf35eaabbadb7b39c74ba5"; + hash = "sha256-t+N4oxqZpzm3qHkbjUVyGzeVS56u1oFVx0MtgTBe0bk="; meta = { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ @@ -2856,10 +2856,10 @@ }; vhdl = { - version = "1.3.1-unstable-2025-12-18"; + version = "1.3.1-unstable-2026-02-21"; url = "github:jpt13653903/tree-sitter-vhdl"; - rev = "7ae08deb5d1641aa57111342218ca1e1b3a5d539"; - hash = "sha256-IJ6Gqq+3YJlL4n4cjtCLUCZKpLVJQa81nQrLsJBCccs="; + rev = "7e0d014691c1b8c25e8fe8f30cc3ac4649df3f57"; + hash = "sha256-r3fMnexbbIniZA75ZIJ+ay39/JCCb3b3J5F6bYMK4YY="; meta = { license = lib.licenses.mit; maintainers = with lib.maintainers; [ diff --git a/pkgs/kde/misc/kirigami-addons/default.nix b/pkgs/kde/misc/kirigami-addons/default.nix index ac0709aaedd50..71c86f5c888ac 100644 --- a/pkgs/kde/misc/kirigami-addons/default.nix +++ b/pkgs/kde/misc/kirigami-addons/default.nix @@ -10,11 +10,11 @@ }: mkKdeDerivation rec { pname = "kirigami-addons"; - version = "1.11.0"; + version = "1.12.0"; src = fetchurl { url = "mirror://kde/stable/kirigami-addons/kirigami-addons-${version}.tar.xz"; - hash = "sha256-bc36Mk9xDwCIfmMhIS/IWCo8RxJFDRKdkUNbse3Y1SM="; + hash = "sha256-UTBR3/hBfaGBnWronWwhoDZUyaYIkd9g32q6E98Z0hs="; }; extraNativeBuildInputs = [ qttools ]; diff --git a/pkgs/kde/plasma/plasma-nm/0002-openvpn-binary-path.patch b/pkgs/kde/plasma/plasma-nm/0002-openvpn-binary-path.patch deleted file mode 100644 index c32e73bc2c6c2..0000000000000 --- a/pkgs/kde/plasma/plasma-nm/0002-openvpn-binary-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/vpn/openvpn/openvpnadvancedwidget.cpp b/vpn/openvpn/openvpnadvancedwidget.cpp -index 2f11ba1d..310f11b4 100644 ---- a/vpn/openvpn/openvpnadvancedwidget.cpp -+++ b/vpn/openvpn/openvpnadvancedwidget.cpp -@@ -75,7 +75,7 @@ OpenVpnAdvancedWidget::OpenVpnAdvancedWidget(const NetworkManager::VpnSetting::P - connect(m_ui->cmbProxyType, static_cast(&QComboBox::currentIndexChanged), this, &OpenVpnAdvancedWidget::proxyTypeChanged); - - // start openVPN process and get its cipher list -- const QString openVpnBinary = QStandardPaths::findExecutable("openvpn", QStringList{"/sbin", "/usr/sbin"}); -+ const QString openVpnBinary = "@openvpn@/bin/openvpn"; - const QStringList ciphersArgs(QLatin1String("--show-ciphers")); - const QStringList versionArgs(QLatin1String("--version")); - diff --git a/pkgs/kde/plasma/plasma-nm/default.nix b/pkgs/kde/plasma/plasma-nm/default.nix index e143752476b3e..edba027fc4b00 100644 --- a/pkgs/kde/plasma/plasma-nm/default.nix +++ b/pkgs/kde/plasma/plasma-nm/default.nix @@ -1,4 +1,5 @@ { + lib, mkKdeDerivation, replaceVars, pkg-config, @@ -7,13 +8,15 @@ mobile-broadband-provider-info, openconnect, openvpn, + strongswan, }: mkKdeDerivation { pname = "plasma-nm"; patches = [ - (replaceVars ./0002-openvpn-binary-path.patch { - inherit openvpn; + (replaceVars ./hardcode-paths.patch { + openvpn = lib.getExe openvpn; + ipsec = lib.getExe' strongswan "ipsec"; }) ]; diff --git a/pkgs/kde/plasma/plasma-nm/hardcode-paths.patch b/pkgs/kde/plasma/plasma-nm/hardcode-paths.patch new file mode 100644 index 0000000000000..8b70b7848a019 --- /dev/null +++ b/pkgs/kde/plasma/plasma-nm/hardcode-paths.patch @@ -0,0 +1,26 @@ +diff --git a/vpn/l2tp/l2tpipsecwidget.cpp b/vpn/l2tp/l2tpipsecwidget.cpp +index bcc92dfd6..6708128fa 100644 +--- a/vpn/l2tp/l2tpipsecwidget.cpp ++++ b/vpn/l2tp/l2tpipsecwidget.cpp +@@ -387,7 +387,7 @@ bool L2tpIpsecWidget::hasIpsecDaemon() + return true; + } + +- QString ipsecBinary = QStandardPaths::findExecutable(QStringLiteral("ipsec"), QStringList() << QStringLiteral("/sbin") << QStringLiteral("/usr/sbin")); ++ QString ipsecBinary = "@ipsec@"; + + // On some Linux distributions, ipsec executable has been renamed strongswan + if (ipsecBinary.isEmpty()) { +diff --git a/vpn/openvpn/openvpnadvancedwidget.cpp b/vpn/openvpn/openvpnadvancedwidget.cpp +index a1c2c553d..111f6138c 100644 +--- a/vpn/openvpn/openvpnadvancedwidget.cpp ++++ b/vpn/openvpn/openvpnadvancedwidget.cpp +@@ -102,7 +102,7 @@ OpenVpnAdvancedWidget::OpenVpnAdvancedWidget(const NetworkManager::VpnSetting::P + }); + + // start openVPN process and get its cipher list +- const QString openVpnBinary = QStandardPaths::findExecutable("openvpn", QStringList{"/sbin", "/usr/sbin"}); ++ const QString openVpnBinary = "@openvpn@"; + const QStringList ciphersArgs(QLatin1String("--show-ciphers")); + const QStringList versionArgs(QLatin1String("--version")); + diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsbuf/package.nix b/pkgs/os-specific/darwin/apple-source-releases/libsbuf/package.nix index 121ef395aac2a..28f94c569f783 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsbuf/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsbuf/package.nix @@ -61,7 +61,7 @@ bootstrapStdenv.mkDerivation (finalAttrs: { ./patches/0001-darwin-compatibility.patch ]; - postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + postPatch = '' substitute '${./meson.build.in}' "meson.build" --subst-var version ''; diff --git a/pkgs/os-specific/darwin/sigtool/0001-fix-build-with-gcc.patch b/pkgs/os-specific/darwin/sigtool/0001-fix-build-with-gcc.patch new file mode 100644 index 0000000000000..dfebbdfb566ed --- /dev/null +++ b/pkgs/os-specific/darwin/sigtool/0001-fix-build-with-gcc.patch @@ -0,0 +1,24 @@ +From b18ae56b1bee86808d40f89900f999e835a7e1e9 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Fri, 13 Feb 2026 19:05:02 -0500 +Subject: [PATCH] fix-build-with-gcc + +--- + emit.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/emit.h b/emit.h +index 340f314..a8a6d3b 100644 +--- a/emit.h ++++ b/emit.h +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + + namespace SigTool { + +-- +2.51.2 + diff --git a/pkgs/os-specific/darwin/sigtool/default.nix b/pkgs/os-specific/darwin/sigtool/default.nix index 226956ba1cdd0..d565bd4fb8c8c 100644 --- a/pkgs/os-specific/darwin/sigtool/default.nix +++ b/pkgs/os-specific/darwin/sigtool/default.nix @@ -17,6 +17,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-K3VSFaqcZEomF7kROJz+AwxdW1MmxxEFDaRnWnzcw54="; }; + patches = [ + # Fix missing `UINT64_C` when building with GCC on Linux + ./0001-fix-build-with-gcc.patch + ]; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ]; diff --git a/pkgs/os-specific/linux/batman-adv/version.nix b/pkgs/os-specific/linux/batman-adv/version.nix index 34e10fe371923..606d6fea7846c 100644 --- a/pkgs/os-specific/linux/batman-adv/version.nix +++ b/pkgs/os-specific/linux/batman-adv/version.nix @@ -1,14 +1,14 @@ { - version = "2025.5"; + version = "2026.0"; # To get these, run: # # ``` - # for tool in alfred batctl batman-adv; do nix-prefetch-url https://downloads.open-mesh.org/batman/releases/batman-adv-2025.5/$tool-2025.5.tar.gz --type sha256 | xargs nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri; done + # for tool in alfred batctl batman-adv; do nix-prefetch-url https://downloads.open-mesh.org/batman/releases/batman-adv-2026.0/$tool-2026.0.tar.gz --type sha256 | xargs nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri; done # ``` sha256 = { - alfred = "sha256-dcEsHDw5zbIkb2H8pdTZ9h4kD+KCcSn6t6A97vhV/+g="; - batctl = "sha256-HgvNSfku7aDXa8aDVirfNmAk4u5MGZ+kAgNva5PLsUc="; - batman-adv = "sha256-GtvoI5kelxjjB/N2bqlkBf4fKEwZvLmMZi16H6oyTDU="; + alfred = "sha256-35EVL+Mftjd6JM6TEwRFlzUQRpr5N35MycX10l4451E="; + batctl = "sha256-tLcNrmIBBuRe492x9RL2kHVpKxI0PQUhJnQDyyEqSiY="; + batman-adv = "sha256-lGHWE8T4OgojOp9wBq1tFed514nEm9NePMCNfiiG/Ko="; }; } diff --git a/pkgs/os-specific/linux/hpuefi-mod/default.nix b/pkgs/os-specific/linux/hpuefi-mod/default.nix index 1bbd762a93702..a2092b95f796e 100644 --- a/pkgs/os-specific/linux/hpuefi-mod/default.nix +++ b/pkgs/os-specific/linux/hpuefi-mod/default.nix @@ -31,7 +31,12 @@ stdenv.mkDerivation (finalAttrs: { prePatch = '' substituteInPlace "Makefile" \ - --replace depmod \# + --replace-fail depmod \# + ''; + + postPatch = '' + substituteInPlace hpuefi.h \ + --replace-fail '&((p)->flags)' '(unsigned long *)&((p)->flags)' ''; meta = { diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 0dd8cc79f6359..4a577d78ffedf 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -30,13 +30,13 @@ "lts": true }, "6.18": { - "version": "6.18.13", - "hash": "sha256:0zv8qml075jpk2i58cxp61hm3yb74mpkbkjg15n87riqzmakqb7d", - "lts": false + "version": "6.18.15", + "hash": "sha256:0w7iy9mx1b42q4qz6y9rvny7nmvpwq0mf6b9vv84w4y4qcb64wbw", + "lts": true }, "6.19": { - "version": "6.19.3", - "hash": "sha256:1glf369wfr66lmv9wmijin6idlfgijfsh0gx2qly7gpwmml4jiqf", + "version": "6.19.5", + "hash": "sha256:1yig0i2q7vn7p8g4lmkviddxi62mzhp0fv2hx3057qq9qz40bblm", "lts": false } } diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index 0ac820b9fc0e9..aead6cec94405 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -16,16 +16,16 @@ let variants = { # ./update-zen.py zen zen = { - version = "6.18.9"; # zen + version = "6.18.13"; # zen suffix = "zen1"; # zen - sha256 = "1kwb5lbm3y7nhsyx18fhpc3852v76lyl74008rjai9shr3p4zp40"; # zen + sha256 = "0x6s3pa7c6zlvr3w2fv6i15v54cy1pschvgk7b4vrzx1bcrjdxf7"; # zen isLqx = false; }; # ./update-zen.py lqx lqx = { - version = "6.18.12"; # lqx + version = "6.18.13"; # lqx suffix = "lqx1"; # lqx - sha256 = "1xyzjzd1v6s5xympivb0xkyh5fz5lbaif8lam6c8lhr2q2msybiv"; # lqx + sha256 = "0fchri8gfw9mds6kr9h76wxf9kvsg656nrp1dsba5l972rywg3qb"; # lqx isLqx = true; }; }; diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix index 11a00c6261cff..795031af1a7f5 100644 --- a/pkgs/os-specific/linux/kmod/default.nix +++ b/pkgs/os-specific/linux/kmod/default.nix @@ -87,13 +87,26 @@ stdenv.mkDerivation rec { ++ lib.optional withStatic "--enable-static"; patches = [ + # Accept multiple default kernel module dirs at build-time, instead + # of hardcoding a single /lib/modules, and adjust module search logic + # accordingly (to account for multiple default directories) ./module-dir.patch + + # Use portable implementation for basename API + # + # musl has removed the non-prototype declaration of basename from string.h + # which now results in build errors with clang-17+ compiler + # + # Implement GNU basename behavior using strchr which is portable across libcs + # + # Fixes "call to undeclared function 'basename'" error on clang+musl (fetchpatch { name = "musl.patch"; url = "https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/patch/?id=11eb9bc67c319900ab00523997323a97d2d08ad2"; hash = "sha256-CYG615elMWces6QGQRg2H/NL7W4XsG9Zvz5H+xsdFFo="; }) ] + # Force configure.ac to accept --enable-static (no other changes necessary) ++ lib.optional withStatic ./enable-static.patch; postInstall = '' diff --git a/pkgs/os-specific/linux/liquidtux/default.nix b/pkgs/os-specific/linux/liquidtux/default.nix index e604c8acd7756..5d017286e45b6 100644 --- a/pkgs/os-specific/linux/liquidtux/default.nix +++ b/pkgs/os-specific/linux/liquidtux/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, kernel, kernelModuleMakeFlags, + python3, }: stdenv.mkDerivation rec { @@ -20,7 +21,9 @@ stdenv.mkDerivation rec { hardeningDisable = [ "pic" ]; - nativeBuildInputs = kernel.moduleBuildDependencies; + nativeBuildInputs = kernel.moduleBuildDependencies ++ [ + python3 + ]; makeFlags = kernelModuleMakeFlags ++ [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" diff --git a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch index f8f3fc1ad62ce..745e7181543de 100644 --- a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch +++ b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch @@ -10,10 +10,10 @@ container, so checking early whether it exists will fail. 1 file changed, 2 insertions(+) diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index e4fccaa3a7..05e6be8874 100644 +index 6e615d280a..e16cb17c7f 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -6208,6 +6208,7 @@ static int run(int argc, char *argv[]) { +@@ -6223,6 +6223,7 @@ static int run(int argc, char *argv[]) { goto finish; } } else { @@ -21,7 +21,7 @@ index e4fccaa3a7..05e6be8874 100644 _cleanup_free_ char *p = NULL; if (arg_pivot_root_new) -@@ -6227,6 +6228,7 @@ static int run(int argc, char *argv[]) { +@@ -6242,6 +6243,7 @@ static int run(int argc, char *argv[]) { log_error_errno(r, "Unable to determine if %s looks like it has an OS tree (i.e. whether /usr/ exists): %m", arg_directory); goto finish; } diff --git a/pkgs/os-specific/linux/systemd/0005-Get-rid-of-a-useless-message-in-user-sessions.patch b/pkgs/os-specific/linux/systemd/0005-Get-rid-of-a-useless-message-in-user-sessions.patch index 8b8000c29d1e9..bee57fa30b55c 100644 --- a/pkgs/os-specific/linux/systemd/0005-Get-rid-of-a-useless-message-in-user-sessions.patch +++ b/pkgs/os-specific/linux/systemd/0005-Get-rid-of-a-useless-message-in-user-sessions.patch @@ -13,7 +13,7 @@ in containers. 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/manager.c b/src/core/manager.c -index 7938c989af..c1ae20dfc0 100644 +index a5a51023c5..22cc7bd789 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -1578,7 +1578,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) { diff --git a/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch b/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch index 6bb741e08c0e2..2ad26b56efee9 100644 --- a/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch +++ b/pkgs/os-specific/linux/systemd/0007-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch @@ -35,7 +35,7 @@ index 3a13e04a27..4fd58068a1 100644 Etc/UTC. The resulting link should lead to the corresponding binary diff --git a/src/basic/time-util.c b/src/basic/time-util.c -index 8c776960e1..2e0563bd00 100644 +index 5dd00af952..e682337ef0 100644 --- a/src/basic/time-util.c +++ b/src/basic/time-util.c @@ -1443,7 +1443,7 @@ static int get_timezones_from_zone1970_tab(char ***ret) { @@ -75,10 +75,10 @@ index 8c776960e1..2e0563bd00 100644 return -EINVAL; if (!timezone_is_valid(e, LOG_DEBUG)) diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c -index 55bd273f21..d00aa16592 100644 +index 38e3adaed6..953ad05fb5 100644 --- a/src/firstboot/firstboot.c +++ b/src/firstboot/firstboot.c -@@ -571,7 +571,7 @@ static int prompt_timezone(int rfd, sd_varlink **mute_console_link) { +@@ -576,7 +576,7 @@ static int prompt_timezone(int rfd, sd_varlink **mute_console_link) { static int process_timezone(int rfd, sd_varlink **mute_console_link) { _cleanup_close_ int pfd = -EBADF; @@ -87,7 +87,7 @@ index 55bd273f21..d00aa16592 100644 const char *e; int r; -@@ -617,12 +617,9 @@ static int process_timezone(int rfd, sd_varlink **mute_console_link) { +@@ -622,12 +622,9 @@ static int process_timezone(int rfd, sd_varlink **mute_console_link) { if (isempty(arg_timezone)) return 0; @@ -103,10 +103,10 @@ index 55bd273f21..d00aa16592 100644 return log_error_errno(r, "Failed to create /etc/localtime symlink: %m"); diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index 05e6be8874..6dc00ff416 100644 +index e16cb17c7f..ff15d9d7f2 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -1808,8 +1808,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid +@@ -1820,8 +1820,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid static const char *timezone_from_path(const char *path) { return PATH_STARTSWITH_SET( path, diff --git a/pkgs/os-specific/linux/systemd/0010-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch b/pkgs/os-specific/linux/systemd/0010-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch index 76ed16737834a..37b56151b0b22 100644 --- a/pkgs/os-specific/linux/systemd/0010-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch +++ b/pkgs/os-specific/linux/systemd/0010-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch @@ -10,7 +10,7 @@ This is needed for NixOS to use such scripts as systemd directory is immutable. 1 file changed, 1 insertion(+) diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c -index 25882970ef..599dd0a63f 100644 +index ff68f9e272..53f2ba1eee 100644 --- a/src/shutdown/shutdown.c +++ b/src/shutdown/shutdown.c @@ -329,6 +329,7 @@ static void notify_supervisor(void) { diff --git a/pkgs/os-specific/linux/systemd/0011-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch b/pkgs/os-specific/linux/systemd/0011-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch index 7e7587a897d85..e39b77a9f86c2 100644 --- a/pkgs/os-specific/linux/systemd/0011-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch +++ b/pkgs/os-specific/linux/systemd/0011-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch @@ -9,7 +9,7 @@ This is needed for NixOS to use such scripts as systemd directory is immutable. 1 file changed, 1 insertion(+) diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c -index 4fa6f16fcd..012cf16f90 100644 +index 0d128053ba..4deec9f72d 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c @@ -248,6 +248,7 @@ static int execute( diff --git a/pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch b/pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch index f1b17f5b76f73..5f2663d714250 100644 --- a/pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch +++ b/pkgs/os-specific/linux/systemd/0013-inherit-systemd-environment-when-calling-generators.patch @@ -16,10 +16,10 @@ executables that are being called from managers. 1 file changed, 8 insertions(+) diff --git a/src/core/manager.c b/src/core/manager.c -index c1ae20dfc0..c120e555a2 100644 +index 22cc7bd789..0a56da1307 100644 --- a/src/core/manager.c +++ b/src/core/manager.c -@@ -3994,9 +3994,17 @@ static int build_generator_environment(Manager *m, char ***ret) { +@@ -3996,9 +3996,17 @@ static int build_generator_environment(Manager *m, char ***ret) { * adjust generated units to that. Let's pass down some bits of information that are easy for us to * determine (but a bit harder for generator scripts to determine), as environment variables. */ diff --git a/pkgs/os-specific/linux/systemd/0015-tpm2_context_init-fix-driver-name-checking.patch b/pkgs/os-specific/linux/systemd/0015-tpm2_context_init-fix-driver-name-checking.patch index b8ab9c30c9b5e..91c6ba58515e0 100644 --- a/pkgs/os-specific/linux/systemd/0015-tpm2_context_init-fix-driver-name-checking.patch +++ b/pkgs/os-specific/linux/systemd/0015-tpm2_context_init-fix-driver-name-checking.patch @@ -27,7 +27,7 @@ filename_is_valid with path_is_valid. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c -index e089cfbc5e..35e135945b 100644 +index cf11b50695..7c5daffc23 100644 --- a/src/shared/tpm2-util.c +++ b/src/shared/tpm2-util.c @@ -741,7 +741,7 @@ int tpm2_context_new(const char *device, Tpm2Context **ret_context) { diff --git a/pkgs/os-specific/linux/systemd/0017-meson.build-do-not-create-systemdstatedir.patch b/pkgs/os-specific/linux/systemd/0017-meson.build-do-not-create-systemdstatedir.patch index 2bd396c210af3..7d9d626bef09d 100644 --- a/pkgs/os-specific/linux/systemd/0017-meson.build-do-not-create-systemdstatedir.patch +++ b/pkgs/os-specific/linux/systemd/0017-meson.build-do-not-create-systemdstatedir.patch @@ -8,10 +8,10 @@ Subject: [PATCH] meson.build: do not create systemdstatedir 1 file changed, 1 deletion(-) diff --git a/meson.build b/meson.build -index 4746146a98..c13b72af56 100644 +index 8289d8f28a..d3cf28c631 100644 --- a/meson.build +++ b/meson.build -@@ -2859,7 +2859,6 @@ install_data('LICENSE.GPL2', +@@ -2858,7 +2858,6 @@ install_data('LICENSE.GPL2', install_subdir('LICENSES', install_dir : docdir) diff --git a/pkgs/os-specific/linux/systemd/0018-meson-Don-t-link-ssh-dropins.patch b/pkgs/os-specific/linux/systemd/0018-meson-Don-t-link-ssh-dropins.patch index 2e6f9677fa4a6..00fe9ff8def37 100644 --- a/pkgs/os-specific/linux/systemd/0018-meson-Don-t-link-ssh-dropins.patch +++ b/pkgs/os-specific/linux/systemd/0018-meson-Don-t-link-ssh-dropins.patch @@ -8,7 +8,7 @@ Subject: [PATCH] meson: Don't link ssh dropins 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build -index c13b72af56..32f6e791e7 100644 +index d3cf28c631..54e17a9e2d 100644 --- a/meson.build +++ b/meson.build @@ -214,13 +214,13 @@ sshconfdir = get_option('sshconfdir') diff --git a/pkgs/os-specific/linux/systemd/0019-install-unit_file_exists_full-follow-symlinks.patch b/pkgs/os-specific/linux/systemd/0019-install-unit_file_exists_full-follow-symlinks.patch deleted file mode 100644 index b28703c2a3c50..0000000000000 --- a/pkgs/os-specific/linux/systemd/0019-install-unit_file_exists_full-follow-symlinks.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Marie Ramlow -Date: Fri, 10 Jan 2025 15:51:33 +0100 -Subject: [PATCH] install: unit_file_exists_full: follow symlinks - ---- - src/shared/install.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/shared/install.c b/src/shared/install.c -index a22c6df2f7..7e900c8bcd 100644 ---- a/src/shared/install.c -+++ b/src/shared/install.c -@@ -3227,7 +3227,7 @@ int unit_file_exists_full(RuntimeScope scope, const LookupPaths *lp, const char - &c, - lp, - name, -- /* flags= */ 0, -+ /* flags= */ SEARCH_FOLLOW_CONFIG_SYMLINKS, - ret_path ? &info : NULL, - /* changes= */ NULL, - /* n_changes= */ NULL); diff --git a/pkgs/os-specific/linux/systemd/0020-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch b/pkgs/os-specific/linux/systemd/0019-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch similarity index 100% rename from pkgs/os-specific/linux/systemd/0020-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch rename to pkgs/os-specific/linux/systemd/0019-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 77d8b46662191..080377fab8a89 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -206,13 +206,13 @@ let in stdenv.mkDerivation (finalAttrs: { inherit pname; - version = "259"; + version = "259.2"; src = fetchFromGitHub { owner = "systemd"; repo = "systemd"; rev = "v${finalAttrs.version}"; - hash = "sha256-lJUX1sWRouhEEPZoA9UjjOy5IUZYGGV8pltAU0E4Dsg="; + hash = "sha256-nyqmKZ7j6zA/heODen0j0xH8FiTSGT+E4rfaUoqPbjU="; }; # On major changes, or when otherwise required, you *must* : @@ -246,11 +246,9 @@ stdenv.mkDerivation (finalAttrs: { # if the install prefix is not /usr, but that does not work for us # because we include the config snippet manually ./0018-meson-Don-t-link-ssh-dropins.patch - - ./0019-install-unit_file_exists_full-follow-symlinks.patch ] ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isGnu) [ - ./0020-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch + ./0019-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch ]; postPatch = '' @@ -507,7 +505,6 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonEnable "libcurl" wantCurl) (lib.mesonEnable "libidn" false) (lib.mesonEnable "libidn2" withLibidn2) - (lib.mesonEnable "libiptc" false) (lib.mesonEnable "repart" withRepart) (lib.mesonEnable "sysupdate" withSysupdate) (lib.mesonEnable "sysupdated" withSysupdate) diff --git a/pkgs/os-specific/linux/xone/default.nix b/pkgs/os-specific/linux/xone/default.nix index 3193021a6f213..2ebc1fc8ca592 100644 --- a/pkgs/os-specific/linux/xone/default.nix +++ b/pkgs/os-specific/linux/xone/default.nix @@ -7,13 +7,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "xone"; - version = "0.5.5"; + version = "0.5.6"; src = fetchFromGitHub { owner = "dlundqvist"; repo = "xone"; tag = "v${finalAttrs.version}"; - hash = "sha256-2Uh09r/ubUY+QbSgm+xNaYhtHili05cQFFjPQrtNwpA="; + hash = "sha256-kMK3xfwUIphsS3AQVhKKXU90dcUKH/hqKWDaotjOeu0="; }; setSourceRoot = '' diff --git a/pkgs/os-specific/windows/mingw-w64/update.nu b/pkgs/os-specific/windows/mingw-w64/update.nu index 4862aae5e37e2..7bf26ffa38f5a 100755 --- a/pkgs/os-specific/windows/mingw-w64/update.nu +++ b/pkgs/os-specific/windows/mingw-w64/update.nu @@ -43,9 +43,9 @@ def main [] { # Extract the newest version out of the URL let new_version = $newest | split column / - | get column4.0 - | split column - | get column3.0 + | split column - + | get column2.0 | str replace .tar.bz2 "" | str trim -c v diff --git a/pkgs/pkgs-lib/formats.nix b/pkgs/pkgs-lib/formats.nix index a9be2a0e6dcd1..46a0dfcfcfe9e 100644 --- a/pkgs/pkgs-lib/formats.nix +++ b/pkgs/pkgs-lib/formats.nix @@ -1053,4 +1053,27 @@ optionalAttrs allowAliases aliases generate = name: value: pkgs.writeText name (lib.generators.toPlist { inherit escape; } value); }; + + hcl1 = + args: + let + # Helper function to recursively transform values for HCL1 canonicalization + # Rule: If an attribute value is an attribute set, wrap it in a list + transform = + value: + if isAttrs value && !isDerivation value then + # If it's an attribute set, transform it recursively and wrap in a list + [ (mapAttrs (name: transform) value) ] + else if isList value then + # If it's already a list, transform each element + map transform value + else + value; + jsonFormat = json { }; + in + jsonFormat + // { + generate = name: value: jsonFormat.generate name (mapAttrs (_: transform) value); + }; + } diff --git a/pkgs/pkgs-lib/tests/formats.nix b/pkgs/pkgs-lib/tests/formats.nix index a32db61709b59..c50a921744369 100644 --- a/pkgs/pkgs-lib/tests/formats.nix +++ b/pkgs/pkgs-lib/tests/formats.nix @@ -1080,4 +1080,70 @@ runBuildTests { ''; }; + + hcl1Atoms = shouldPass { + format = formats.hcl1 { }; + input = { + resource = { + aws_instance = { + example = { + ami = "ami-12345"; + instance_type = "t2.micro"; + }; + }; + }; + variable = { + region = { + default = "us-east-1"; + }; + }; + output = { + ip = { + value = "127.0.0.1"; + }; + }; + primitive = "just a string"; + number = 42; + enabled = true; + }; + expected = '' + { + "enabled": true, + "number": 42, + "output": [ + { + "ip": [ + { + "value": "127.0.0.1" + } + ] + } + ], + "primitive": "just a string", + "resource": [ + { + "aws_instance": [ + { + "example": [ + { + "ami": "ami-12345", + "instance_type": "t2.micro" + } + ] + } + ] + } + ], + "variable": [ + { + "region": [ + { + "default": "us-east-1" + } + ] + } + ] + } + ''; + }; } diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index d051dfb6d3d35..b740f4aebd7a6 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -1449,7 +1449,8 @@ ]; "egauge" = ps: with ps; [ - ]; # missing inputs: egauge-async + egauge-async + ]; "eheimdigital" = ps: with ps; [ eheimdigital @@ -1775,7 +1776,8 @@ ]; "fing" = ps: with ps; [ - ]; # missing inputs: fing_agent_api + fing-agent-api + ]; "fints" = ps: with ps; [ fints @@ -1797,7 +1799,8 @@ ]; "fish_audio" = ps: with ps; [ - ]; # missing inputs: fish-audio-sdk + fish-audio-sdk + ]; "fitbit" = ps: with ps; [ fitbit @@ -1874,7 +1877,8 @@ ]; "fluss" = ps: with ps; [ - ]; # missing inputs: fluss-api + fluss-api + ]; "flux" = ps: with ps; [ ]; @@ -1936,7 +1940,8 @@ ]; "fressnapf_tracker" = ps: with ps; [ - ]; # missing inputs: fressnapftracker + fressnapftracker + ]; "fritz" = ps: with ps; @@ -2060,7 +2065,8 @@ ]; "gentex_homelink" = ps: with ps; [ - ]; # missing inputs: homelink-integration-api + homelink-integration-api + ]; "geo_json_events" = ps: with ps; [ aio-geojson-generic-client @@ -2132,7 +2138,8 @@ ]; "google_air_quality" = ps: with ps; [ - ]; # missing inputs: google_air_quality_api + google-air-quality-api + ]; "google_assistant" = ps: with ps; [ aiohasupervisor @@ -2253,7 +2260,8 @@ ]; "green_planet_energy" = ps: with ps; [ - ]; # missing inputs: greenplanet-energy-api + greenplanet-energy-api + ]; "greeneye_monitor" = ps: with ps; [ greeneye-monitor @@ -7360,6 +7368,7 @@ "ecowitt" "edl21" "efergy" + "egauge" "eheimdigital" "eight_sleep" "ekeybionyx" @@ -7410,10 +7419,12 @@ "file_upload" "filesize" "filter" + "fing" "fints" "firefly_iii" "fireservicerota" "firmata" + "fish_audio" "fitbit" "fivem" "fjaraskupan" @@ -7422,6 +7433,7 @@ "flipr" "flo" "flume" + "fluss" "flux" "flux_led" "folder" @@ -7433,6 +7445,7 @@ "freebox" "freedns" "freedompro" + "fressnapf_tracker" "fritz" "fritzbox" "fritzbox_callmonitor" @@ -7449,6 +7462,7 @@ "generic_hygrostat" "generic_thermostat" "geniushub" + "gentex_homelink" "geo_json_events" "geo_location" "geo_rss_events" @@ -7464,6 +7478,7 @@ "gogogate2" "goodwe" "google" + "google_air_quality" "google_assistant" "google_assistant_sdk" "google_cloud" @@ -7484,6 +7499,7 @@ "gpslogger" "graphite" "gree" + "green_planet_energy" "greeneye_monitor" "group" "growatt_server" diff --git a/pkgs/servers/home-assistant/custom-components/browser-mod/package.nix b/pkgs/servers/home-assistant/custom-components/browser-mod/package.nix new file mode 100644 index 0000000000000..1ec3cfea2a7ab --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/browser-mod/package.nix @@ -0,0 +1,42 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + fetchNpmDeps, + nodejs, + npmHooks, +}: + +buildHomeAssistantComponent rec { + owner = "thomasloven"; + domain = "browser_mod"; + version = "2.7.4"; + + src = fetchFromGitHub { + inherit owner; + repo = "hass-browser_mod"; + tag = "v${version}"; + hash = "sha256-UFHdoIfmN0BUBRAze3mC3mgbV00rrjmKlAiBc4FuiZA="; + }; + + nativeBuildInputs = [ + nodejs + npmHooks.npmBuildHook + npmHooks.npmConfigHook + ]; + + npmDeps = fetchNpmDeps { + inherit src; + hash = "sha256-gvONQGQ91XZAygXDZnu7R/BPKa9T9l3f3EE6o39t0G0="; + }; + + npmBuildScript = "build"; + + meta = { + description = "Home Assistant integration to turn your browser into a controllable entity and media player"; + homepage = "https://github.com/thomasloven/hass-browser_mod"; + changelog = "https://github.com/thomasloven/hass-browser_mod/releases/tag/${src.tag}"; + maintainers = with lib.maintainers; [ SuperSandro2000 ]; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix b/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix index a5b710c028a64..c1097e4e0a84a 100644 --- a/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix +++ b/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "jwillemsen"; domain = "daikin_onecta"; - version = "4.4.8"; + version = "4.4.9"; src = fetchFromGitHub { owner = "jwillemsen"; repo = "daikin_onecta"; tag = "v${version}"; - hash = "sha256-NbMZGX2MchjoNwsUxs6CjQzkz1bJEucRHgpuFyVU3u0="; + hash = "sha256-Ra1KL4t3aNECQuAfdqaIOctIb0qvrk43+bAh3YlpGbM="; }; meta = { diff --git a/pkgs/servers/home-assistant/custom-components/frigate/package.nix b/pkgs/servers/home-assistant/custom-components/frigate/package.nix index 71249bf586e93..641b20bafbd4d 100644 --- a/pkgs/servers/home-assistant/custom-components/frigate/package.nix +++ b/pkgs/servers/home-assistant/custom-components/frigate/package.nix @@ -19,13 +19,13 @@ buildHomeAssistantComponent rec { owner = "blakeblackshear"; domain = "frigate"; - version = "5.14.1"; + version = "5.14.2"; src = fetchFromGitHub { owner = "blakeblackshear"; repo = "frigate-hass-integration"; tag = "v${version}"; - hash = "sha256-fiy1G/gi2nr8uh6VaC48p/uXat+Q1uiThbg3kn6jRxs="; + hash = "sha256-fgsYznTqJrEh4niyGfksnflRp1PpljrlzJBvs8gKn54="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/govee-lan/package.nix b/pkgs/servers/home-assistant/custom-components/govee-lan/package.nix deleted file mode 100644 index 723e1083df87d..0000000000000 --- a/pkgs/servers/home-assistant/custom-components/govee-lan/package.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - lib, - buildHomeAssistantComponent, - fetchFromGitHub, - fetchpatch2, - govee-led-wez, - pytest-cov-stub, - pytest-homeassistant-custom-component, - pytestCheckHook, -}: - -buildHomeAssistantComponent { - owner = "wez"; - domain = "govee_lan"; - version = "unstable-2023-06-10"; - - src = fetchFromGitHub { - owner = "wez"; - repo = "govee-lan-hass"; - rev = "18d8455510d158496f7e5d4f0286f58bd61042bb"; - hash = "sha256-ZhrxEPBEi+Z+2ZOAQ1amhO0tqvhM6tyFQgoRIVNDtXY="; - }; - - patches = [ - (fetchpatch2 { - url = "https://github.com/wez/govee-lan-hass/commit/b4cecac5ae00d95c49fcfe3bbfc405cbfc5dd84c.patch"; - hash = "sha256-+MPO4kxxE1nZ/+sIY7v8WukHMrVowgMMBVfRDw2uv8o="; - }) - ]; - - dependencies = [ - govee-led-wez - ]; - - # AttributeError: 'async_generator' object has no attribute 'config' - doCheck = false; - - nativeCheckInputs = [ - pytest-cov-stub - pytest-homeassistant-custom-component - pytestCheckHook - ]; - - meta = { - description = "Control Govee lights via the LAN API from Home Assistant"; - homepage = "https://github.com/wez/govee-lan-hass"; - maintainers = with lib.maintainers; [ SuperSandro2000 ]; - license = lib.licenses.mit; - }; -} diff --git a/pkgs/servers/home-assistant/custom-components/ha_mcp_tools/package.nix b/pkgs/servers/home-assistant/custom-components/ha_mcp_tools/package.nix index 669438df74264..3b95b0649e0d0 100644 --- a/pkgs/servers/home-assistant/custom-components/ha_mcp_tools/package.nix +++ b/pkgs/servers/home-assistant/custom-components/ha_mcp_tools/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "homeassistant-ai"; domain = "ha_mcp_tools"; - version = "6.7.0"; + version = "6.7.1"; src = fetchFromGitHub { owner = "homeassistant-ai"; repo = "ha-mcp"; tag = "v${version}"; - hash = "sha256-zHa6wfRVmLfKrbAts5Fwe9rCCk57v1GoEIBxQaDAhm0="; + hash = "sha256-CQbjPEtCos0Fi6aAaIWSRMCUQKmjYviYkvJZzbCZg6Y="; }; passthru.updateScript = nix-update-script { diff --git a/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix b/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix index 7909b8c7a1b2e..7f65f6aef3a28 100644 --- a/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix +++ b/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix @@ -4,6 +4,7 @@ buildHomeAssistantComponent, fetchFromGitHub, aiohomematic, + aiohomematic-config, aiohomematic-test-support, home-assistant, pytest-homeassistant-custom-component, @@ -13,13 +14,13 @@ buildHomeAssistantComponent rec { owner = "SukramJ"; domain = "homematicip_local"; - version = "2.2.4"; + version = "2.3.1"; src = fetchFromGitHub { owner = "SukramJ"; repo = "custom_homematic"; tag = version; - hash = "sha256-LriphFQn7kpZdPox5//uAVddlNpALMk4pucyYOnfSSs="; + hash = "sha256-Y4yV4SyMtfXkb+5mcaT0qjjEu/+jv9zJ8LtSrFcuBFg="; }; postPatch = '' @@ -31,6 +32,7 @@ buildHomeAssistantComponent rec { dependencies = [ aiohomematic + aiohomematic-config ]; nativeCheckInputs = [ diff --git a/pkgs/servers/home-assistant/custom-components/mypyllant/package.nix b/pkgs/servers/home-assistant/custom-components/mypyllant/package.nix index 2ba2941f7cc94..5a4dd545c493e 100644 --- a/pkgs/servers/home-assistant/custom-components/mypyllant/package.nix +++ b/pkgs/servers/home-assistant/custom-components/mypyllant/package.nix @@ -19,13 +19,13 @@ buildHomeAssistantComponent rec { owner = "signalkraft"; domain = "mypyllant"; - version = "0.9.11"; + version = "0.9.12"; src = fetchFromGitHub { owner = "signalkraft"; repo = "mypyllant-component"; tag = "v${version}"; - hash = "sha256-wkUz5pPO50yfWbZBa+Z+9WKIZKCJhJVn8/HlzZwSZVY="; + hash = "sha256-vXzcVua2cGQXXeug6Zy4AAeTok+BLH5k+krq3UBuQjw="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/scheduler/package.nix b/pkgs/servers/home-assistant/custom-components/scheduler/package.nix new file mode 100644 index 0000000000000..46241485bd5d5 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/scheduler/package.nix @@ -0,0 +1,31 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, +}: + +buildHomeAssistantComponent rec { + owner = "nielsfaber"; + domain = "scheduler"; + version = "3.3.8"; + + src = fetchFromGitHub { + owner = "nielsfaber"; + repo = "scheduler-component"; + tag = "v${version}"; + hash = "sha256-QN7rkNuj9IBbV2ths7ZdL/EkXFJUpjNbgJNUnAHjLBA="; + }; + + dontBuild = true; + + # has no tests + doCheck = false; + + meta = with lib; { + description = "Custom component for HA that enables the creation of scheduler entities"; + homepage = "https://github.com/nielsfaber/scheduler-component"; + changelog = "https://github.com/nielsfaber/scheduler-component/releases/tag/v${version}"; + maintainers = with maintainers; [ SuperSandro2000 ]; + license = licenses.gpl3; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix b/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix index 88885ba776ae1..453f273990196 100644 --- a/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix +++ b/pkgs/servers/home-assistant/custom-components/versatile_thermostat/package.nix @@ -10,13 +10,13 @@ buildHomeAssistantComponent rec { owner = "jmcollin78"; domain = "versatile_thermostat"; - version = "9.0.1"; + version = "9.0.2"; src = fetchFromGitHub { inherit owner; repo = domain; tag = version; - hash = "sha256-qO0m4dAYFz/WeWFfHg96LEHawrM/Se54rFfuhCSH1qU="; + hash = "sha256-TPV6VfWyFsJdHfZtRhs0XvyOpnpw+utzf3eZQL4aALY="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix index 6c79dffa15f69..6a818050dec1d 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix @@ -6,30 +6,33 @@ buildNpmPackage rec { pname = "auto-entities"; - version = "1.16.1"; + version = "2.0.0"; src = fetchFromGitHub { - owner = "thomasloven"; + owner = "Lint-Free-Technology"; repo = "lovelace-auto-entities"; tag = "v${version}"; - hash = "sha256-yMqf4LA/fBTIrrYwacUTb2fL758ZB1k471vdsHAiOj8="; + hash = "sha256-W6D9z4D00wIVmrUo9KFlttK2k013kHbWXKwbyh9bsLY="; }; - npmDepsHash = "sha256-XLhTLK08zW1BFj/PI8/61FWzoyvWi5X5sEkGlF1IuZU="; + npmDepsHash = "sha256-H9Mt5lBZAZwkGfPSRlbgPaqHETWxI7Wge7zEPLcdvgE="; installPhase = '' runHook preInstall - install -D auto-entities.js $out/auto-entities.js + install -D dist/auto-entities.js $out/auto-entities.js runHook postInstall ''; meta = { description = "Automatically populate the entities-list of lovelace cards"; - homepage = "https://github.com/thomasloven/lovelace-auto-entities"; - changelog = "https://github.com/thomasloven/lovelace-auto-entities/releases/tag/v${version}"; + homepage = "https://github.com/Lint-Free-Technology/lovelace-auto-entities"; + changelog = "https://github.com/Lint-Free-Technology/lovelace-auto-entities/releases/tag/v${version}"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ kranzes ]; + maintainers = with lib.maintainers; [ + kranzes + SuperSandro2000 + ]; }; } diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/kiosk-mode/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/kiosk-mode/package.nix new file mode 100644 index 0000000000000..3e5bc5e5381bc --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/kiosk-mode/package.nix @@ -0,0 +1,58 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, + pnpm, + nodejs, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "kiosk-mode"; + version = "10.0.1"; + + src = fetchFromGitHub { + owner = "nemesisre"; + repo = "kiosk-mode"; + tag = "v${finalAttrs.version}"; + hash = "sha256-y8ck4Y8tmZkUv35n78u+PRc+i6wF6iuhYbQJ7wQPVqE="; + }; + + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) pname version src; + fetcherVersion = 3; + hash = "sha256-4pTI5d1Mn/GtbjkOAyemxXN2k2rRj8kYS4t2C6OLVSc="; + }; + + nativeBuildInputs = [ + pnpmConfigHook + pnpm + nodejs + ]; + + buildPhase = '' + runHook preBuild + + pnpm run build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p "$out" + cp dist/* "$out" + + runHook postInstall + ''; + + meta = { + description = "Hides the Home Assistant header and/or sidebar"; + homepage = "https://github.com/NemesisRE/kiosk-mode"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ teeco123 ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/package.nix index ea1e729b323e2..ad884ec26521f 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "mushroom"; - version = "5.0.11"; + version = "5.0.12"; src = fetchFromGitHub { owner = "piitaya"; repo = "lovelace-mushroom"; rev = "v${version}"; - hash = "sha256-6TPfHpaHoM7k60A9XhitToiwn8wlNuN3deIjjPZqRwc="; + hash = "sha256-zZxUctseYDG3S8GG/xMxQWqt0yOC+1CD21XfEg7nTF4="; }; - npmDepsHash = "sha256-BaIjzW/puRi+GXtp3dJ8b/daZxafhMRxJTQQFj0Tfcw="; + npmDepsHash = "sha256-CnP5LvqUzo2jlLzFpYOVjZiZO726Nbv4uDBXAC/7KlI="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package-lock.json b/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package-lock.json new file mode 100644 index 0000000000000..bee7eddeeb3ad --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package-lock.json @@ -0,0 +1,4895 @@ +{ + "name": "scheduler-card", + "version": "4.0.13", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "scheduler-card", + "version": "4.0.13", + "license": "ISC", + "dependencies": { + "@formatjs/intl-utils": "^3.8.4", + "@mdi/js": "^7.4.47", + "fecha": "^4.2.3", + "home-assistant-js-websocket": "^8.0.1", + "lit": "^2.7.4", + "rollup": "^1.32.1", + "rollup-plugin-babel": "^4.3.3", + "rollup-plugin-commonjs": "^10.1.0", + "rollup-plugin-ignore": "^1.0.10", + "rollup-plugin-json": "^4.0.0", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-serve": "^1.0.1", + "rollup-plugin-terser": "^5.1.2", + "rollup-plugin-typescript2": "^0.31.1", + "rollup-plugin-uglify": "^6.0.3", + "rollup-plugin-visualizer": "^4.2.0", + "typescript": "^5.8.3" + }, + "devDependencies": { + "@parcel/transformer-inline-string": "^2.8.3", + "@rollup/plugin-dynamic-import-vars": "^2.1.2", + "parcel": "^2.8.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@formatjs/intl-utils": { + "version": "3.8.4", + "resolved": "https://registry.npmjs.org/@formatjs/intl-utils/-/intl-utils-3.8.4.tgz", + "integrity": "sha512-j5C6NyfKevIxsfLK8KwO1C0vvP7k1+h4A9cFpc+cr6mEwCc1sPkr17dzh0Ke6k9U5pQccAQoXdcNBl3IYa4+ZQ==", + "deprecated": "the package is rather renamed to @formatjs/ecma-abstract with some changes in functionality (primarily selectUnit is removed and we don't plan to make any further changes to this package", + "license": "MIT", + "dependencies": { + "emojis-list": "^3.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lezer/common": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.5.1.tgz", + "integrity": "sha512-6YRVG9vBkaY7p1IVxL4s44n5nUnaNnGM2/AckNgYOnxTG2kWh1vR8BMxPseWPjRNpb5VtXnMpeYAEAADoRV1Iw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@lezer/lr": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.8.tgz", + "integrity": "sha512-bPWa0Pgx69ylNlMlPvBPryqeLYQjyJjqPx+Aupm5zydLIF3NE+6MMLT8Yi23Bd9cif9VS00aUebn+6fDIGBcDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.5.1.tgz", + "integrity": "sha512-Aou5UdlSpr5whQe8AA/bZG0jMj96CoJIWbGfZ91qieWu5AWUMKw8VR/pAkQkJYvBNhmCcWnZlyyk5oze8JIqYA==", + "license": "BSD-3-Clause" + }, + "node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz", + "integrity": "sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.8.5.tgz", + "integrity": "sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.8.5.tgz", + "integrity": "sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.8.5.tgz", + "integrity": "sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.8.5.tgz", + "integrity": "sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz", + "integrity": "sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@mdi/js": { + "version": "7.4.47", + "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz", + "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==", + "license": "Apache-2.0" + }, + "node_modules/@mischnic/json-sourcemap": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz", + "integrity": "sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0", + "@lezer/lr": "^1.0.0", + "json5": "^2.2.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@parcel/bundler-default": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.16.4.tgz", + "integrity": "sha512-Nb8peNvhfm1+660CLwssWh4weY+Mv6vEGS6GPKqzJmTMw50udi0eS1YuWFzvmhSiu1KsYcUD37mqQ1LuIDtWoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/graph": "3.6.4", + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/utils": "2.16.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/cache": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.16.4.tgz", + "integrity": "sha512-+uCyeElSga2MBbmbXpIj/WVKH7TByCrKaxtHbelfKKIJpYMgEHVjO4cuc7GUfTrUAmRUS8ZGvnX7Etgq6/jQhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/fs": "2.16.4", + "@parcel/logger": "2.16.4", + "@parcel/utils": "2.16.4", + "lmdb": "2.8.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.16.4" + } + }, + "node_modules/@parcel/codeframe": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.16.4.tgz", + "integrity": "sha512-s64aMfOJoPrXhKH+Y98ahX0O8aXWvTR+uNlOaX4yFkpr4FFDnviLcGngDe/Yo4Qq2FJZ0P6dNswbJTUH9EGxkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/compressor-raw": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.16.4.tgz", + "integrity": "sha512-IK8IpNhw61B2HKgA1JhGhO9y+ZJFRZNTEmvhN1NdLdPqvgEXm2EunT+m6D9z7xeoeT6XnUKqM0eRckEdD0OXbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/config-default": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.16.4.tgz", + "integrity": "sha512-kBxuTY/5trEVnvXk92l7LVkYjNuz3SaqWymFhPjEnc8GY4ZVdcWrWdXWTB9hUhpmRYJctFCyGvM0nN05JTiM2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/bundler-default": "2.16.4", + "@parcel/compressor-raw": "2.16.4", + "@parcel/namer-default": "2.16.4", + "@parcel/optimizer-css": "2.16.4", + "@parcel/optimizer-html": "2.16.4", + "@parcel/optimizer-image": "2.16.4", + "@parcel/optimizer-svg": "2.16.4", + "@parcel/optimizer-swc": "2.16.4", + "@parcel/packager-css": "2.16.4", + "@parcel/packager-html": "2.16.4", + "@parcel/packager-js": "2.16.4", + "@parcel/packager-raw": "2.16.4", + "@parcel/packager-svg": "2.16.4", + "@parcel/packager-wasm": "2.16.4", + "@parcel/reporter-dev-server": "2.16.4", + "@parcel/resolver-default": "2.16.4", + "@parcel/runtime-browser-hmr": "2.16.4", + "@parcel/runtime-js": "2.16.4", + "@parcel/runtime-rsc": "2.16.4", + "@parcel/runtime-service-worker": "2.16.4", + "@parcel/transformer-babel": "2.16.4", + "@parcel/transformer-css": "2.16.4", + "@parcel/transformer-html": "2.16.4", + "@parcel/transformer-image": "2.16.4", + "@parcel/transformer-js": "2.16.4", + "@parcel/transformer-json": "2.16.4", + "@parcel/transformer-node": "2.16.4", + "@parcel/transformer-postcss": "2.16.4", + "@parcel/transformer-posthtml": "2.16.4", + "@parcel/transformer-raw": "2.16.4", + "@parcel/transformer-react-refresh-wrap": "2.16.4", + "@parcel/transformer-svg": "2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.16.4" + } + }, + "node_modules/@parcel/core": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.16.4.tgz", + "integrity": "sha512-a0CgrW5A5kwuSu5J1RFRoMQaMs9yagvfH2jJMYVw56+/7NRI4KOtu612SG9Y1ERWfY55ZwzyFxtLWvD6LO+Anw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.1", + "@parcel/cache": "2.16.4", + "@parcel/diagnostic": "2.16.4", + "@parcel/events": "2.16.4", + "@parcel/feature-flags": "2.16.4", + "@parcel/fs": "2.16.4", + "@parcel/graph": "3.6.4", + "@parcel/logger": "2.16.4", + "@parcel/package-manager": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/profiler": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.16.4", + "@parcel/utils": "2.16.4", + "@parcel/workers": "2.16.4", + "base-x": "^3.0.11", + "browserslist": "^4.24.5", + "clone": "^2.1.2", + "dotenv": "^16.5.0", + "dotenv-expand": "^11.0.7", + "json5": "^2.2.3", + "msgpackr": "^1.11.2", + "nullthrows": "^1.1.1", + "semver": "^7.7.1" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/core/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@parcel/diagnostic": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.16.4.tgz", + "integrity": "sha512-YN5CfX7lFd6yRLxyZT4Sj3sR6t7nnve4TdXSIqapXzQwL7Bw+sj79D95wTq2rCm3mzk5SofGxFAXul2/nG6gcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/error-overlay": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/error-overlay/-/error-overlay-2.16.4.tgz", + "integrity": "sha512-e8KYKnMsfmQnqIhsUWBUZAXlDK30wkxsAGle1tZ0gOdoplaIdVq/WjGPatHLf6igLM76c3tRn2vw8jZFput0jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/events": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.16.4.tgz", + "integrity": "sha512-slWQkBRAA7o0cN0BLEd+yCckPmlVRVhBZn5Pn6ktm4EzEtrqoMzMeJOxxH8TXaRzrQDYnTcnYIHFgXWd4kkUfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/feature-flags": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/feature-flags/-/feature-flags-2.16.4.tgz", + "integrity": "sha512-nYdx53siKPLYikHHxfzgjzzgxdrjquK6DMnuSgOTyIdRG4VHdEN0+NqKijRLuVgiUFo/dtxc2h+amwqFENMw8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/fs": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.16.4.tgz", + "integrity": "sha512-maCMOiVn7oJYZlqlfxgLne8n6tSktIT1k0AeyBp4UGWCXyeJUJ+nL7QYShFpKNLtMLeF0cEtgwRAknWzbcDS1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/feature-flags": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/types-internal": "2.16.4", + "@parcel/utils": "2.16.4", + "@parcel/watcher": "^2.0.7", + "@parcel/workers": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.16.4" + } + }, + "node_modules/@parcel/graph": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.6.4.tgz", + "integrity": "sha512-Cj9yV+/k88kFhE+D+gz0YuNRpvNOCVDskO9pFqkcQhGbsGq6kg2XpZ9V7HlYraih31xf8Vb589bZOwjKIiHixQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/feature-flags": "2.16.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/logger": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.16.4.tgz", + "integrity": "sha512-QR8QLlKo7xAy9JBpPDAh0RvluaixqPCeyY7Fvo2K7hrU3r85vBNNi06pHiPbWoDmB4x1+QoFwMaGnJOHR+/fMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/events": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/markdown-ansi": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.16.4.tgz", + "integrity": "sha512-0+oQApAVF3wMcQ6d1ZfZ0JsRzaMUYj9e4U+naj6YEsFsFGOPp+pQYKXBf1bobQeeB7cPKPT3SUHxFqced722Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/namer-default": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.16.4.tgz", + "integrity": "sha512-CE+0lFg881sJq575EXxj2lKUn81tsS5itpNUUErHxit195m3PExyAhoXM6ed/SXxwi+uv+T5FS/jjDLBNuUFDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/node-resolver-core": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.7.4.tgz", + "integrity": "sha512-b3VDG+um6IWW5CTod6M9hQsTX5mdIelKmam7mzxzgqg4j5hnycgTWqPMc9UxhYoUY/Q/PHfWepccNcKtvP5JiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.1", + "@parcel/diagnostic": "2.16.4", + "@parcel/fs": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/utils": "2.16.4", + "nullthrows": "^1.1.1", + "semver": "^7.7.1" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/node-resolver-core/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@parcel/optimizer-css": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.16.4.tgz", + "integrity": "sha512-aqdXCtmvpcXYgJFGk2DtXF34wuM2TD1fZorKMrJdKB9sSkWVRs1tq6RAXQrbi0ZPDH9wfE/9An3YdkTex7RHuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.16.4", + "browserslist": "^4.24.5", + "lightningcss": "^1.30.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-html": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-html/-/optimizer-html-2.16.4.tgz", + "integrity": "sha512-vg/R2uuSni+NYYUUV8m+5bz8p5zBv8wc/nNleoBnGuCDwn7uaUwTZ8Gt9CjZO8jjG0xCLILoc/TW+e2FF3pfgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/utils": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-image": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.16.4.tgz", + "integrity": "sha512-2RV54WnvMYr18lxSx7Zlx/DXpJwMzOiPxDnoFyvaUoYutvgHO6chtcgFgh1Bvw/PoI95vYzlTkZ8QfUOk5A0JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/utils": "2.16.4", + "@parcel/workers": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.16.4" + } + }, + "node_modules/@parcel/optimizer-svg": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svg/-/optimizer-svg-2.16.4.tgz", + "integrity": "sha512-22+BqIffCrVErg8y2XwhasbTaFNn75OKXZ3KTDBIfOSAZKLUKs1iHfDXETzTRN7cVcS+Q36/6EHd7N/RA8i1fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/utils": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-swc": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.16.4.tgz", + "integrity": "sha512-+URqwnB6u1gqaLbG1O1DDApH+UVj4WCbK9No1fdxLBxQ9a84jyli25o1kK1hYB9Nb/JMyYNnEBfvYUW6RphOxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.16.4", + "@swc/core": "^1.11.24", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/package-manager": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.16.4.tgz", + "integrity": "sha512-obWv9gZgdnkT3Kd+fBkKjhdNEY7zfOP5gVaox5i4nQstVCaVnDlMv5FwLEXwehL+WbwEcGyEGGxOHHkAFKk7Cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/fs": "2.16.4", + "@parcel/logger": "2.16.4", + "@parcel/node-resolver-core": "3.7.4", + "@parcel/types": "2.16.4", + "@parcel/utils": "2.16.4", + "@parcel/workers": "2.16.4", + "@swc/core": "^1.11.24", + "semver": "^7.7.1" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.16.4" + } + }, + "node_modules/@parcel/package-manager/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@parcel/packager-css": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.16.4.tgz", + "integrity": "sha512-rWRtfiX+VVIOZvq64jpeNUKkvWAbnokfHQsk/js1s5jD4ViNQgPcNLiRaiIANjymqL6+dQqWvGUSW2a5FAZYfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.16.4", + "lightningcss": "^1.30.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-html": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.16.4.tgz", + "integrity": "sha512-AWo5f6SSqBsg2uWOsX0gPX8hCx2iE6GYLg2Z4/cDy2mPlwDICN8/bxItEztSZFmObi+ti26eetBKRDxAUivyIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/types": "2.16.4", + "@parcel/utils": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-js": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.16.4.tgz", + "integrity": "sha512-L2o39f/fhta+hxto7w8OTUKdstY+te5BmHZREckbQm0KTBg93BG7jB0bfoxLSZF0d8uuAYIVXjzeHNqha+du1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.16.4", + "@parcel/utils": "2.16.4", + "globals": "^13.24.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-raw": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.16.4.tgz", + "integrity": "sha512-A9j60G9OmbTkEeE4WRMXCiErEprHLs9NkUlC4HXCxmSrPMOVaMaMva2LdejE3A9kujZqYtYfuc8+a+jN+Nro4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-svg": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.16.4.tgz", + "integrity": "sha512-LT9l7eInFrAZJ6w3mYzAUgDq3SIzYbbQyW46Dz26M9lJQbf6uCaATUTac3BEHegW0ikDuw4OOGHK41BVqeeusg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/types": "2.16.4", + "@parcel/utils": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-wasm": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.16.4.tgz", + "integrity": "sha512-AY96Aqu/RpmaSZK2RGkIrZWjAperDw8DAlxLAiaP1D/RPVnikZtl5BmcUt/Wz3PrzG7/q9ZVqqKkWsLmhkjXZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4" + }, + "engines": { + "node": ">=16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/plugin": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.16.4.tgz", + "integrity": "sha512-aN2VQoRGC1eB41ZCDbPR/Sp0yKOxe31oemzPx1nJzOuebK2Q6FxSrJ9Bjj9j/YCaLzDtPwelsuLOazzVpXJ6qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/types": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/profiler": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.16.4.tgz", + "integrity": "sha512-R3JhfcnoReTv2sVFHPR2xKZvs3d3IRrBl9sWmAftbIJFwT4rU70/W7IdwfaJVkD/6PzHq9mcgOh1WKL4KAxPdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/events": "2.16.4", + "@parcel/types-internal": "2.16.4", + "chrome-trace-event": "^1.0.2" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-cli": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.16.4.tgz", + "integrity": "sha512-DQx9TwcTZrDv828+tcwEi//xyW7OHTGzGX1+UEVxPp0mSzuOmDn0zfER8qNIqGr1i4D/FXhb5UJQDhGHV8mOpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "@parcel/types": "2.16.4", + "@parcel/utils": "2.16.4", + "chalk": "^4.1.2", + "term-size": "^2.2.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-dev-server": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.16.4.tgz", + "integrity": "sha512-YWvay25htQDifpDRJ0+yFh6xUxKnbfeJxYkPYyuXdxpEUhq4T0UWW0PbPCN/wFX7StgeUTXq5Poeo/+eys9m3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/codeframe": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-tracer": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.16.4.tgz", + "integrity": "sha512-JKnlXpPepak0/ZybmZn9JtyjJiDBWYrt7ZUlXQhQb0xzNcd/k+RqfwVkTKIwyFHsWtym0cwibkvsi2bWFzS7tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "@parcel/utils": "2.16.4", + "chrome-trace-event": "^1.0.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/resolver-default": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.16.4.tgz", + "integrity": "sha512-wJe9XQS0hn/t32pntQpJbls3ZL8mGVVhK9L7s7BTmZT9ufnvP2nif1psJz/nbgnP9LF6mLSk43OdMJKpoStsjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/node-resolver-core": "3.7.4", + "@parcel/plugin": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-browser-hmr": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.16.4.tgz", + "integrity": "sha512-asx7p3NjUSfibI3bC7+8+jUIGHWVk2Zuq9SjJGCGDt+auT9A4uSGljnsk1BWWPqqZ0WILubq4czSAqm0+wt4cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "@parcel/utils": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-js": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.16.4.tgz", + "integrity": "sha512-gUKmsjg+PULQBu2QbX0QKll9tXSqHPO8NrfxHwWb2lz5xDKDos1oV0I7BoMWbHhUHkoToXZrm654oGViujtVUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/utils": "2.16.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-rsc": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/runtime-rsc/-/runtime-rsc-2.16.4.tgz", + "integrity": "sha512-CHkotYE/cNiUjJmrc5FD9YhlFp1UF5wMNNJmoWaL40eBzsqcaV0sSn5V3bNapwewn3wrMYgdPgvOTHfaZaG73A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/utils": "2.16.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-service-worker": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.16.4.tgz", + "integrity": "sha512-FT0Q58bf5Re+dq5cL2XHbxqHHFZco6qtRijeVpT3TSPMRPlniMArypSytTeZzVNL7h/hxjWsNu7fRuC0yLB5hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "@parcel/utils": "2.16.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/rust": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.16.4.tgz", + "integrity": "sha512-RBMKt9rCdv6jr4vXG6LmHtxzO5TuhQvXo1kSoSIF7fURRZ81D1jzBtLxwLmfxCPsofJNqWwdhy5vIvisX+TLlQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/rust-darwin-arm64": "2.16.4", + "@parcel/rust-darwin-x64": "2.16.4", + "@parcel/rust-linux-arm-gnueabihf": "2.16.4", + "@parcel/rust-linux-arm64-gnu": "2.16.4", + "@parcel/rust-linux-arm64-musl": "2.16.4", + "@parcel/rust-linux-x64-gnu": "2.16.4", + "@parcel/rust-linux-x64-musl": "2.16.4", + "@parcel/rust-win32-x64-msvc": "2.16.4" + }, + "peerDependencies": { + "napi-wasm": "^1.1.2" + }, + "peerDependenciesMeta": { + "napi-wasm": { + "optional": true + } + } + }, + "node_modules/@parcel/rust-darwin-arm64": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/rust-darwin-arm64/-/rust-darwin-arm64-2.16.4.tgz", + "integrity": "sha512-P3Se36H9EO1fOlwXqQNQ+RsVKTGn5ztRSUGbLcT8ba6oOMmU1w7J4R810GgsCbwCuF10TJNUMkuD3Q2Sz15Q3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/rust-darwin-x64": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/rust-darwin-x64/-/rust-darwin-x64-2.16.4.tgz", + "integrity": "sha512-8aNKNyPIx3EthYpmVJevIdHmFsOApXAEYGi3HU69jTxLgSIfyEHDdGE9lEsMvhSrd/SSo4/euAtiV+pqK04wnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/rust-linux-arm-gnueabihf": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/rust-linux-arm-gnueabihf/-/rust-linux-arm-gnueabihf-2.16.4.tgz", + "integrity": "sha512-QrvqiSHaWRLc0JBHgUHVvDthfWSkA6AFN+ikV1UGENv4j2r/QgvuwJiG0VHrsL6pH5dRqj0vvngHzEgguke9DA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/rust-linux-arm64-gnu": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/rust-linux-arm64-gnu/-/rust-linux-arm64-gnu-2.16.4.tgz", + "integrity": "sha512-f3gBWQHLHRUajNZi3SMmDQiEx54RoRbXtZYQNuBQy7+NolfFcgb1ik3QhkT7xovuTF/LBmaqP3UFy0PxvR/iwQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/rust-linux-arm64-musl": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/rust-linux-arm64-musl/-/rust-linux-arm64-musl-2.16.4.tgz", + "integrity": "sha512-cwml18RNKsBwHyZnrZg4jpecXkWjaY/mCArocWUxkFXjjB97L56QWQM9W86f2/Y3HcFcnIGJwx1SDDKJrV6OIA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/rust-linux-x64-gnu": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/rust-linux-x64-gnu/-/rust-linux-x64-gnu-2.16.4.tgz", + "integrity": "sha512-0xIjQaN8hiG0F9R8coPYidHslDIrbfOS/qFy5GJNbGA3S49h61wZRBMQqa7JFW4+2T8R0J9j0SKHhLXpbLXrIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/rust-linux-x64-musl": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/rust-linux-x64-musl/-/rust-linux-x64-musl-2.16.4.tgz", + "integrity": "sha512-fYn21GIecHK9RoZPKwT9NOwxwl3Gy3RYPR6zvsUi0+hpFo19Ph9EzFXN3lT8Pi5KiwQMCU4rsLb5HoWOBM1FeA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/rust-win32-x64-msvc": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/rust-win32-x64-msvc/-/rust-win32-x64-msvc-2.16.4.tgz", + "integrity": "sha512-TcpWC3I1mJpfP2++018lgvM7UX0P8IrzNxceBTHUKEIDMwmAYrUKAQFiaU0j1Ldqk6yP8SPZD3cvphumsYpJOQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/source-map": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz", + "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": "^12.18.3 || >=14" + } + }, + "node_modules/@parcel/transformer-babel": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.16.4.tgz", + "integrity": "sha512-CMDUOQYX7+cmeyHxHSFnoPcwvXNL7rRFE+Q06uVFzsYYiVhbwGF/1J5Bx4cW3Froumqla4YTytTsEteJEybkdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.16.4", + "browserslist": "^4.24.5", + "json5": "^2.2.3", + "nullthrows": "^1.1.1", + "semver": "^7.7.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-babel/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@parcel/transformer-css": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.16.4.tgz", + "integrity": "sha512-VG/+DbDci2HKe20GFRDs65ZQf5GUFfnmZAa1BhVl/MO+ijT3XC3eoVUy5cExRkq4VLcPY4ytL0g/1T2D6x7lBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.16.4", + "browserslist": "^4.24.5", + "lightningcss": "^1.30.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-html": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.16.4.tgz", + "integrity": "sha512-w6JErYTeNS+KAzUAER18NHFIFFvxiLGd4Fht1UYcb/FDjJdLAMB/FljyEs0Rto/WAhZ2D0MuSL25HQh837R62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-image": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.16.4.tgz", + "integrity": "sha512-ZzIn3KvvRqMfcect4Dy+57C9XoQXZhpVJKBdQWMp9wM1qJEgsVgGDcaSBYCs/UYSKMRMP6Wm20pKCt408RkQzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "@parcel/utils": "2.16.4", + "@parcel/workers": "2.16.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "peerDependencies": { + "@parcel/core": "^2.16.4" + } + }, + "node_modules/@parcel/transformer-inline-string": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-inline-string/-/transformer-inline-string-2.16.4.tgz", + "integrity": "sha512-Kr5YZbN3xeb3asvle9+Nso/Tqxy0I/mdV2oQC30NuVVP+PXbOD4fC24QtORyt0V1UX93KqgmXKl7G75767FcVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-js": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.16.4.tgz", + "integrity": "sha512-FD2fdO6URwAGBPidb3x1dDgLBt972mko0LelcSU05aC/pcKaV9mbCtINbPul1MlStzkxDelhuImcCYIyerheVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.16.4", + "@parcel/workers": "2.16.4", + "@swc/helpers": "^0.5.0", + "browserslist": "^4.24.5", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.14.1", + "semver": "^7.7.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.16.4" + } + }, + "node_modules/@parcel/transformer-js/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@parcel/transformer-json": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.16.4.tgz", + "integrity": "sha512-pB3ZNqgokdkBCJ+4G0BrPYcIkyM9K1HVk0GvjzcLEFDKsoAp8BGEM68FzagFM/nVq9anYTshIaoh349GK0M/bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "json5": "^2.2.3" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-node": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-node/-/transformer-node-2.16.4.tgz", + "integrity": "sha512-7t43CPGfMJk1LqFokwxHSsRi+kKC2QvDXaMtqiMShmk50LCwn81WgzuFvNhMwf6lSiBihWupGwF3Fqksg+aisg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-postcss": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.16.4.tgz", + "integrity": "sha512-jfmh9ho03H+qwz9S1b/a/oaOmgfMovtHKYDweIGMjKULKIee3AFRqo8RZIOuUMjDuqHWK8SqQmjery4syFV3Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/utils": "2.16.4", + "clone": "^2.1.2", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^7.7.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-postcss/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@parcel/transformer-posthtml": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.16.4.tgz", + "integrity": "sha512-+GXsmGx1L25KQGQnwclgEuQe1t4QU+IoDkgN+Ikj+EnQCOWG4/ts2VpMBeqP5F18ZT4cCSRafj6317o/2lSGJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4", + "@parcel/utils": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-raw": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.16.4.tgz", + "integrity": "sha512-7WDUPq+bW11G9jKxaQIVL+NPGolV99oq/GXhpjYip0SaGaLzRCW7gEk60cftuk0O7MsDaX5jcAJm3G/AX+LJKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-react-refresh-wrap": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.16.4.tgz", + "integrity": "sha512-MiLNZrsGQJTANKKa4lzZyUbGj/en0Hms474mMdQkCBFg6GmjfmXwaMMgtTfPA3ZwSp2+3LeObCyca/f9B2gBZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/error-overlay": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/utils": "2.16.4", + "react-refresh": "^0.16.0" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-svg": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.16.4.tgz", + "integrity": "sha512-0dm4cQr/WpfQP6N0xjFtwdLTxcONDfoLgTOMk4eNUWydHipSgmLtvUk/nOc/FWkwztRScfAObtZXOiPOd3Oy9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/plugin": "2.16.4", + "@parcel/rust": "2.16.4" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.16.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/types": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.16.4.tgz", + "integrity": "sha512-ctx4mBskZHXeDVHg4OjMwx18jfYH9BzI/7yqbDQVGvd5lyA+/oVVzYdpele2J2i2sSaJ87cA8nb57GDQ8kHAqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/types-internal": "2.16.4", + "@parcel/workers": "2.16.4" + } + }, + "node_modules/@parcel/types-internal": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/types-internal/-/types-internal-2.16.4.tgz", + "integrity": "sha512-PE6Qmt5cjzBxX+6MPLiF7r+twoC+V9Skt3zyuBQ+H1c0i9o07Bbz2NKX10nvlPukfmW6Fu/1RvTLkzBZR1bU6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/feature-flags": "2.16.4", + "@parcel/source-map": "^2.1.1", + "utility-types": "^3.11.0" + } + }, + "node_modules/@parcel/utils": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.16.4.tgz", + "integrity": "sha512-lkmxQHcHyOWZLbV8t+h2CGZIkPiBurLm/TS5wNT7+tq0qt9KbVwL7FP2K93TbXhLMGTmpI79Bf3qKniPM167Mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/codeframe": "2.16.4", + "@parcel/diagnostic": "2.16.4", + "@parcel/logger": "2.16.4", + "@parcel/markdown-ansi": "2.16.4", + "@parcel/rust": "2.16.4", + "@parcel/source-map": "^2.1.1", + "chalk": "^4.1.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/@parcel/workers": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.16.4.tgz", + "integrity": "sha512-dkBEWqnHXDZnRbTZouNt4uEGIslJT+V0c8OH1MPOfjISp1ucD6/u9ET8k9d/PxS9h1hL53og0SpBuuSEPLDl6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/diagnostic": "2.16.4", + "@parcel/logger": "2.16.4", + "@parcel/profiler": "2.16.4", + "@parcel/types-internal": "2.16.4", + "@parcel/utils": "2.16.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.16.4" + } + }, + "node_modules/@rollup/plugin-dynamic-import-vars": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-dynamic-import-vars/-/plugin-dynamic-import-vars-2.1.5.tgz", + "integrity": "sha512-Mymi24fd9hlRifdZV/jYIFj1dn99F34imiYu3KzlAcgBcRi3i9SucgW/VRo5SQ9K4NuQ7dCep6pFWgNyhRdFHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "astring": "^1.8.5", + "estree-walker": "^2.0.2", + "fast-glob": "^3.2.12", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@swc/core": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.11.tgz", + "integrity": "sha512-iLmLTodbYxU39HhMPaMUooPwO/zqJWvsqkrXv1ZI38rMb048p6N7qtAtTp37sw9NzSrvH6oli8EdDygo09IZ/w==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.25" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.15.11", + "@swc/core-darwin-x64": "1.15.11", + "@swc/core-linux-arm-gnueabihf": "1.15.11", + "@swc/core-linux-arm64-gnu": "1.15.11", + "@swc/core-linux-arm64-musl": "1.15.11", + "@swc/core-linux-x64-gnu": "1.15.11", + "@swc/core-linux-x64-musl": "1.15.11", + "@swc/core-win32-arm64-msvc": "1.15.11", + "@swc/core-win32-ia32-msvc": "1.15.11", + "@swc/core-win32-x64-msvc": "1.15.11" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.17" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.11.tgz", + "integrity": "sha512-QoIupRWVH8AF1TgxYyeA5nS18dtqMuxNwchjBIwJo3RdwLEFiJq6onOx9JAxHtuPwUkIVuU2Xbp+jCJ7Vzmgtg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.11.tgz", + "integrity": "sha512-S52Gu1QtPSfBYDiejlcfp9GlN+NjTZBRRNsz8PNwBgSE626/FUf2PcllVUix7jqkoMC+t0rS8t+2/aSWlMuQtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.11.tgz", + "integrity": "sha512-lXJs8oXo6Z4yCpimpQ8vPeCjkgoHu5NoMvmJZ8qxDyU99KVdg6KwU9H79vzrmB+HfH+dCZ7JGMqMF//f8Cfvdg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.11.tgz", + "integrity": "sha512-chRsz1K52/vj8Mfq/QOugVphlKPWlMh10V99qfH41hbGvwAU6xSPd681upO4bKiOr9+mRIZZW+EfJqY42ZzRyA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.11.tgz", + "integrity": "sha512-PYftgsTaGnfDK4m6/dty9ryK1FbLk+LosDJ/RJR2nkXGc8rd+WenXIlvHjWULiBVnS1RsjHHOXmTS4nDhe0v0w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.11.tgz", + "integrity": "sha512-DKtnJKIHiZdARyTKiX7zdRjiDS1KihkQWatQiCHMv+zc2sfwb4Glrodx2VLOX4rsa92NLR0Sw8WLcPEMFY1szQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.11.tgz", + "integrity": "sha512-mUjjntHj4+8WBaiDe5UwRNHuEzLjIWBTSGTw0JT9+C9/Yyuh4KQqlcEQ3ro6GkHmBGXBFpGIj/o5VMyRWfVfWw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.11.tgz", + "integrity": "sha512-ZkNNG5zL49YpaFzfl6fskNOSxtcZ5uOYmWBkY4wVAvgbSAQzLRVBp+xArGWh2oXlY/WgL99zQSGTv7RI5E6nzA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.11.tgz", + "integrity": "sha512-6XnzORkZCQzvTQ6cPrU7iaT9+i145oLwnin8JrfsLG41wl26+5cNQ2XV3zcbrnFEV6esjOceom9YO1w9mGJByw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.11.tgz", + "integrity": "sha512-IQ2n6af7XKLL6P1gIeZACskSxK8jWtoKpJWLZmdXTDj1MGzktUy4i+FvpdtxFmJWNavRWH1VmTr6kAubRDHeKw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.18", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.18.tgz", + "integrity": "sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@swc/types": { + "version": "0.1.25", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz", + "integrity": "sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz", + "integrity": "sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/resolve": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", + "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "node_modules/@yarn-tool/resolve-package": { + "version": "1.0.47", + "resolved": "https://registry.npmjs.org/@yarn-tool/resolve-package/-/resolve-package-1.0.47.tgz", + "integrity": "sha512-Zaw58gQxjQceJqhqybJi1oUDaORT8i2GTgwICPs8v/X/Pkx35FXQba69ldHVg5pQZ6YLKpROXgyHvBaCJOFXiA==", + "license": "ISC", + "dependencies": { + "pkg-dir": "< 6 >= 5", + "tslib": "^2", + "upath2": "^3.1.13" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "dev": true, + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/base-x": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", + "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001770", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz", + "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "license": "MIT" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/home-assistant-js-websocket": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/home-assistant-js-websocket/-/home-assistant-js-websocket-8.2.0.tgz", + "integrity": "sha512-B163iuvC1hsObkbSXm89JfjjOguyQXSQeQsGf6KQblUj9QwMgFkQt13TiCYjeFFTMzhQ8Qj3/gKx/6MnSeYUqA==", + "license": "Apache-2.0" + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "license": "MIT" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "license": "MIT", + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/lightningcss": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", + "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.31.1", + "lightningcss-darwin-arm64": "1.31.1", + "lightningcss-darwin-x64": "1.31.1", + "lightningcss-freebsd-x64": "1.31.1", + "lightningcss-linux-arm-gnueabihf": "1.31.1", + "lightningcss-linux-arm64-gnu": "1.31.1", + "lightningcss-linux-arm64-musl": "1.31.1", + "lightningcss-linux-x64-gnu": "1.31.1", + "lightningcss-linux-x64-musl": "1.31.1", + "lightningcss-win32-arm64-msvc": "1.31.1", + "lightningcss-win32-x64-msvc": "1.31.1" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", + "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", + "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", + "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", + "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", + "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", + "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", + "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", + "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", + "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", + "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", + "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss/node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/lmdb": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.8.5.tgz", + "integrity": "sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "msgpackr": "^1.9.5", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.1.1", + "ordered-binary": "^1.4.1", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "2.8.5", + "@lmdb/lmdb-darwin-x64": "2.8.5", + "@lmdb/lmdb-linux-arm": "2.8.5", + "@lmdb/lmdb-linux-arm64": "2.8.5", + "@lmdb/lmdb-linux-x64": "2.8.5", + "@lmdb/lmdb-win32-x64": "2.8.5" + } + }, + "node_modules/lmdb/node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true, + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/msgpackr": { + "version": "1.11.8", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.8.tgz", + "integrity": "sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, + "node_modules/msgpackr-extract/node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz", + "integrity": "sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp-build-optional-packages/node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "license": "MIT" + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "dev": true, + "license": "MIT" + }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/ordered-binary": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.1.tgz", + "integrity": "sha512-QkCdPooczexPLiXIrbVOPYkR3VO3T6v2OyKRkR1Xbhpy7/LAVXwahnRCgRp78Oe/Ehf0C/HATAxfSr6eA1oX+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parcel": { + "version": "2.16.4", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.16.4.tgz", + "integrity": "sha512-RQlrqs4ujYNJpTQi+dITqPKNhRWEqpjPd1YBcGp50Wy3FcJHpwu0/iRm7XWz2dKU/Bwp2qCcVYPIeEDYi2uOUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/config-default": "2.16.4", + "@parcel/core": "2.16.4", + "@parcel/diagnostic": "2.16.4", + "@parcel/events": "2.16.4", + "@parcel/feature-flags": "2.16.4", + "@parcel/fs": "2.16.4", + "@parcel/logger": "2.16.4", + "@parcel/package-manager": "2.16.4", + "@parcel/reporter-cli": "2.16.4", + "@parcel/reporter-dev-server": "2.16.4", + "@parcel/reporter-tracer": "2.16.4", + "@parcel/utils": "2.16.4", + "chalk": "^4.1.2", + "commander": "^12.1.0", + "get-port": "^4.2.0" + }, + "bin": { + "parcel": "lib/bin.js" + }, + "engines": { + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-network-drive": { + "version": "1.0.21", + "resolved": "https://registry.npmjs.org/path-is-network-drive/-/path-is-network-drive-1.0.21.tgz", + "integrity": "sha512-B1PzE3CgxNKY0/69Urjw3KNi4K+4q4IBsvq02TwURsdNLZj2YUn0HGw2o26IrGV4YUffg7IHZiwKJ/EDhXMQyg==", + "license": "ISC", + "dependencies": { + "tslib": "^2" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-strip-sep": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/path-strip-sep/-/path-strip-sep-1.0.18.tgz", + "integrity": "sha512-IGC/vjHigvKV9RsE4ArZiGNkqNrb0tk1j/HO0TS49duEUqGSy1y464XhCWyTLFwqe7w7wFsdCX9fqUmAHoUaxA==", + "license": "ISC", + "dependencies": { + "tslib": "^2" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "license": "MIT", + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react-refresh": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.16.0.tgz", + "integrity": "sha512-FPvF2XxTSikpJxcr+bHut2H4gJ17+18Uy20D5/F+SKzFap62R3cM5wH6b8WN3LyGSYeQilLEcJcR1fjBSI2S1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true, + "license": "MIT" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "1.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", + "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" + }, + "bin": { + "rollup": "dist/bin/rollup" + } + }, + "node_modules/rollup-plugin-babel": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", + "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "rollup-pluginutils": "^2.8.1" + }, + "peerDependencies": { + "@babel/core": "7 || ^7.0.0-rc.2", + "rollup": ">=0.60.0 <3" + } + }, + "node_modules/rollup-plugin-commonjs": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz", + "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs.", + "license": "MIT", + "dependencies": { + "estree-walker": "^0.6.1", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" + }, + "peerDependencies": { + "rollup": ">=1.12.0" + } + }, + "node_modules/rollup-plugin-commonjs/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "license": "MIT" + }, + "node_modules/rollup-plugin-commonjs/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/rollup-plugin-ignore": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/rollup-plugin-ignore/-/rollup-plugin-ignore-1.0.10.tgz", + "integrity": "sha512-VsbnfwwaTv2Dxl2onubetX/3RnSnplNnjdix0hvF8y2YpqdzlZrjIq6zkcuVJ08XysS8zqW3gt3ORBndFDgsrg==", + "license": "MIT" + }, + "node_modules/rollup-plugin-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-json/-/rollup-plugin-json-4.0.0.tgz", + "integrity": "sha512-hgb8N7Cgfw5SZAkb3jf0QXii6QX/FOkiIq2M7BAQIEydjHvTyxXHQiIzZaTFgx1GK0cRCHOCBHIyEkkLdWKxow==", + "deprecated": "This module has been deprecated and is no longer maintained. Please use @rollup/plugin-json.", + "license": "MIT", + "dependencies": { + "rollup-pluginutils": "^2.5.0" + } + }, + "node_modules/rollup-plugin-node-resolve": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve.", + "license": "MIT", + "dependencies": { + "@types/resolve": "0.0.8", + "builtin-modules": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" + }, + "peerDependencies": { + "rollup": ">=1.11.0" + } + }, + "node_modules/rollup-plugin-serve": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-serve/-/rollup-plugin-serve-1.1.1.tgz", + "integrity": "sha512-H0VarZRtFR0lfiiC9/P8jzCDvtFf1liOX4oSdIeeYqUCKrmFA7vNiQ0rg2D+TuoP7leaa/LBR8XBts5viF6lnw==", + "license": "MIT", + "dependencies": { + "mime": "^2", + "opener": "1" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", + "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.5.5", + "jest-worker": "^24.9.0", + "rollup-pluginutils": "^2.8.2", + "serialize-javascript": "^4.0.0", + "terser": "^4.6.2" + }, + "peerDependencies": { + "rollup": ">=0.66.0 <3" + } + }, + "node_modules/rollup-plugin-typescript2": { + "version": "0.31.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.31.2.tgz", + "integrity": "sha512-hRwEYR1C8xDGVVMFJQdEVnNAeWRvpaY97g5mp3IeLnzhNXzSVq78Ye/BJ9PAaUfN4DXa/uDnqerifMOaMFY54Q==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^4.1.2", + "@yarn-tool/resolve-package": "^1.0.40", + "find-cache-dir": "^3.3.2", + "fs-extra": "^10.0.0", + "resolve": "^1.20.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "rollup": ">=1.26.3", + "typescript": ">=2.4.0" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "license": "MIT", + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/rollup-plugin-uglify": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-6.0.4.tgz", + "integrity": "sha512-ddgqkH02klveu34TF0JqygPwZnsbhHVI6t8+hGTcYHngPkQb5MIHI0XiztXIN/d6V9j+efwHAqEL7LspSxQXGw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "jest-worker": "^24.0.0", + "serialize-javascript": "^2.1.2", + "uglify-js": "^3.4.9" + }, + "peerDependencies": { + "rollup": ">=0.66.0 <2" + } + }, + "node_modules/rollup-plugin-uglify/node_modules/serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", + "license": "BSD-3-Clause" + }, + "node_modules/rollup-plugin-visualizer": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-4.2.2.tgz", + "integrity": "sha512-10/TsugsaQL5rdynl0lrklBngTtkRBESZdxUJy+3fN+xKqNdg5cr7JQU1OoPx4p5mhQ+nspa6EvX3qc8SsBvnA==", + "license": "MIT", + "dependencies": { + "nanoid": "^3.1.22", + "open": "^7.4.2", + "source-map": "^0.7.3", + "yargs": "^16.2.0" + }, + "bin": { + "rollup-plugin-visualizer": "bin/cli.js" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "rollup": ">=1.20.0" + } + }, + "node_modules/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "license": "MIT", + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "license": "MIT" + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "license": "BSD-2-Clause", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "license": "BSD-2-Clause", + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/upath2": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/upath2/-/upath2-3.1.20.tgz", + "integrity": "sha512-g+t9q+MrIsX60eJzF4I/YNYmRmrT0HJnnEaenbUy/FFO1lY04YQoiJ/qS4Ou+a+D9WUPxN0cVUYXkkX9b1EAMw==", + "license": "ISC", + "dependencies": { + "@types/node": "*", + "path-is-network-drive": "^1.0.21", + "path-strip-sep": "^1.0.18", + "tslib": "^2" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package.nix new file mode 100644 index 0000000000000..47a362f0979ff --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package.nix @@ -0,0 +1,44 @@ +{ + lib, + buildNpmPackage, + fetchFromGitHub, +}: + +buildNpmPackage rec { + pname = "scheduler-card"; + version = "4.0.13"; + + src = fetchFromGitHub { + owner = "nielsfaber"; + repo = "scheduler-card"; + tag = "v${version}"; + hash = "sha256-VeuIn9C+xnfB8wSPTCHP/MxFsr1HrIUlHk186QWDXv0="; + }; + + postPatch = '' + cp ${./package-lock.json} package-lock.json + ''; + + npmDepsHash = "sha256-RiCOUJlFHhMWLAXkT+nwPBnVE77cU+6s0YRbyUqpRYI="; + + npmBuildScript = "rollup"; + + installPhase = '' + runHook preInstall + + mkdir $out + cp -v dist/scheduler-card.js* $out/ + + runHook postInstall + ''; + + passthru.entrypoint = "scheduler-card.js"; + + meta = with lib; { + description = "HA Lovelace card for control of scheduler entities"; + homepage = "https://github.com/nielsfaber/scheduler-card"; + changelog = "https://github.com/nielsfaber/scheduler-card/releases/tag/v${version}"; + maintainers = with maintainers; [ SuperSandro2000 ]; + license = licenses.isc; + }; +} diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index a6248758b42e4..1e12fb4de4fdb 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -41,6 +41,7 @@ let environment_canada = getComponentDeps "camera"; esphome = getComponentDeps "camera"; fan = getComponentDeps "conversation"; + fish_audio = getComponentDeps "tts"; foscam = getComponentDeps "camera"; freebox = getComponentDeps "camera"; fully_kiosk = getComponentDeps "camera"; diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix index 0fdcd9c680abc..7fb86808a605a 100644 --- a/pkgs/servers/http/apache-httpd/2.4.nix +++ b/pkgs/servers/http/apache-httpd/2.4.nix @@ -164,6 +164,6 @@ stdenv.mkDerivation rec { homepage = "https://httpd.apache.org/"; license = lib.licenses.asl20; platforms = lib.platforms.linux ++ lib.platforms.darwin; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; }; } diff --git a/pkgs/servers/mir/common.nix b/pkgs/servers/mir/common.nix index fa19b6d35f012..b9e7c4e3a3f60 100644 --- a/pkgs/servers/mir/common.nix +++ b/pkgs/servers/mir/common.nix @@ -96,6 +96,14 @@ stdenv.mkDerivation ( substituteInPlace src/platform/graphics/CMakeLists.txt \ --replace-fail "/usr/include/drm/drm_fourcc.h" "${lib.getDev libdrm}/include/libdrm/drm_fourcc.h" \ --replace-fail "/usr/include/libdrm/drm_fourcc.h" "${lib.getDev libdrm}/include/libdrm/drm_fourcc.h" + '' + # Boost.System was deprecated & dropped + + lib.optionalString (lib.strings.versionOlder version "2.23.0") '' + substituteInPlace \ + tests/CMakeLists.txt \ + tests/unit-tests/CMakeLists.txt \ + tests/mir_test_framework/CMakeLists.txt \ + --replace-fail 'Boost::system' "" ''; strictDeps = true; diff --git a/pkgs/servers/mir/default.nix b/pkgs/servers/mir/default.nix index 4671f0ddca2c5..86e5c791a886f 100644 --- a/pkgs/servers/mir/default.nix +++ b/pkgs/servers/mir/default.nix @@ -110,6 +110,23 @@ in ]; hash = "sha256-gzLVQW9Z6y+s2D7pKtp0ondQrjkzZ5iUYhGDPqFXD5M="; }) + + # Drop deprecated & removed Boost.System + # Remove when version > 2.22.2 + (fetchpatch { + name = "0301-mir-Disable-boost_system.patch"; + url = "https://github.com/canonical/mir/commit/0261aa6ce700311ee2b8723294451cdade1bc219.patch"; + excludes = [ + # hunk errors + "tests/CMakeLists.txt" + "tests/mir_test_framework/CMakeLists.txt" + "tests/unit-tests/CMakeLists.txt" + + # doesn't exist + "tests/window_management_tests/CMakeLists.txt" + ]; + hash = "sha256-UqClQFHzA1th2P7NH67dMJtncw8n/ey9RlPD5Z3VPk0="; + }) ]; }; } diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-metricsdrilldown-app/default.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-metricsdrilldown-app/default.nix index e4ff1e9545d09..7f29e12830541 100644 --- a/pkgs/servers/monitoring/grafana/plugins/grafana-metricsdrilldown-app/default.nix +++ b/pkgs/servers/monitoring/grafana/plugins/grafana-metricsdrilldown-app/default.nix @@ -2,8 +2,8 @@ grafanaPlugin { pname = "grafana-metricsdrilldown-app"; - version = "1.0.31"; - zipHash = "sha256-DNWeFchied8MME9dZNp776RtGnzBe1iTZbFGWCKBWHM="; + version = "1.0.32"; + zipHash = "sha256-fBzvEEMVSC9jPuYUREousvfUVeTJUMq4XCmrK10L19A="; meta = { description = "Queryless experience for browsing Prometheus-compatible metrics. Quickly find related metrics without writing PromQL queries"; license = lib.licenses.agpl3Only; diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-pyroscope-app/default.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-pyroscope-app/default.nix index a9a32cc387248..1c7d31c58877e 100644 --- a/pkgs/servers/monitoring/grafana/plugins/grafana-pyroscope-app/default.nix +++ b/pkgs/servers/monitoring/grafana/plugins/grafana-pyroscope-app/default.nix @@ -2,8 +2,8 @@ grafanaPlugin { pname = "grafana-pyroscope-app"; - version = "1.16.0"; - zipHash = "sha256-wsDzFq5i4Nsud/tAuX5Lg7vxRR7ndDhAcD/zhrAEct8="; + version = "1.17.0"; + zipHash = "sha256-C8c4d74fWn6kKM8OR5bYRVbPHKFXzDLzLomJVjPChno="; meta = { description = "Integrate seamlessly with Pyroscope, the open-source continuous profiling platform, providing a smooth, query-less experience for browsing and analyzing profiling data"; license = lib.licenses.agpl3Only; diff --git a/pkgs/servers/monitoring/grafana/plugins/victoriametrics-logs-datasource/default.nix b/pkgs/servers/monitoring/grafana/plugins/victoriametrics-logs-datasource/default.nix index 3151b1fd92a01..7bca75ac0eb18 100644 --- a/pkgs/servers/monitoring/grafana/plugins/victoriametrics-logs-datasource/default.nix +++ b/pkgs/servers/monitoring/grafana/plugins/victoriametrics-logs-datasource/default.nix @@ -2,8 +2,8 @@ grafanaPlugin { pname = "victoriametrics-logs-datasource"; - version = "0.24.1"; - zipHash = "sha256-/I1X86KY9flUjHwYnxLIyT2Gwzrgypa2Vt5K9MFWUXM="; + version = "0.26.2"; + zipHash = "sha256-m/ckiKhlrHNlbkXjvqXbNYogoI6QyEa1thBQmga5V/4="; meta = { description = "Grafana datasource for VictoriaLogs"; license = lib.licenses.asl20; diff --git a/pkgs/servers/monitoring/grafana/plugins/victoriametrics-metrics-datasource/default.nix b/pkgs/servers/monitoring/grafana/plugins/victoriametrics-metrics-datasource/default.nix index 9b0863cd6c8bd..39247c2016423 100644 --- a/pkgs/servers/monitoring/grafana/plugins/victoriametrics-metrics-datasource/default.nix +++ b/pkgs/servers/monitoring/grafana/plugins/victoriametrics-metrics-datasource/default.nix @@ -2,8 +2,8 @@ grafanaPlugin { pname = "victoriametrics-metrics-datasource"; - version = "0.21.0"; - zipHash = "sha256-S+MKGEIZ3dq2sN8yxR/Cuos/AXV66aXololLY7BaJco="; + version = "0.22.0"; + zipHash = "sha256-wawH2b95KX7KXIJot4tThTB1tT0XKzUjFsL2hzM5TX8="; meta = { description = "VictoriaMetrics metrics datasource for Grafana"; license = lib.licenses.agpl3Only; diff --git a/pkgs/servers/nextcloud/packages/32.json b/pkgs/servers/nextcloud/packages/32.json index 9b9d9349d0dd4..b50f81c96f662 100644 --- a/pkgs/servers/nextcloud/packages/32.json +++ b/pkgs/servers/nextcloud/packages/32.json @@ -10,9 +10,9 @@ ] }, "calendar": { - "hash": "sha256-bj84s8bIDZp1/Buz2/5UPPMoM4FX5O3POr7NSX0aLsI=", - "url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.2.0/calendar-v6.2.0.tar.gz", - "version": "6.2.0", + "hash": "sha256-DCitIgvlHfRGYqLJXhQ6UOY5vVmhbUiUQfBXkysc5Ps=", + "url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.2.1/calendar-v6.2.1.tar.gz", + "version": "6.2.1", "description": "A Calendar app for Nextcloud. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Like Contacts, Talk, Tasks, Deck and Circles\n* 🌐 **WebCal Support!** Want to see your favorite team's matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 **Search!** Find your events at ease\n* ☑️ **Tasks!** See tasks or Deck cards with a due date directly in the calendar\n* 🔈 **Talk rooms!** Create an associated Talk room when booking a meeting with just one click\n* 📆 **Appointment booking** Send people a link so they can book an appointment with you [using this app](https://apps.nextcloud.com/apps/appointments)\n* 📎 **Attachments!** Add, upload and view event attachments\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", "homepage": "https://github.com/nextcloud/calendar/", "licenses": [ @@ -30,9 +30,9 @@ ] }, "contacts": { - "hash": "sha256-ZbyDJDx/SCPMsdY2JT/kyrqbzxFxTm+5ZoSnrfANwzE=", - "url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.3.3/contacts-v8.3.3.tar.gz", - "version": "8.3.3", + "hash": "sha256-h92B++PEJlGZn1wGjbOg1NFrVVFPpt3OocJZEqiAzZc=", + "url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.3.4/contacts-v8.3.4.tar.gz", + "version": "8.3.4", "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.", "homepage": "https://github.com/nextcloud/contacts#readme", "licenses": [ @@ -160,9 +160,9 @@ ] }, "integration_openai": { - "hash": "sha256-OimO9pyuv2O+NCvImAoarr8/aQr313duHmItr82PQLQ=", - "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v3.10.0/integration_openai-v3.10.0.tar.gz", - "version": "3.10.0", + "hash": "sha256-91/93BQyZVUrE21krXBTLp1nbdyoNxfDyDODf2hgdIM=", + "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v3.10.1/integration_openai-v3.10.1.tar.gz", + "version": "3.10.1", "description": "⚠️ The smart pickers have been removed from this app\nas they are now included in the [Assistant app](https://apps.nextcloud.com/apps/assistant).\n\nThis app implements:\n\n* Text generation providers: Free prompt, Summarize, Headline, Context Write, Chat, and Reformulate (using any available large language model)\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n* An image generation provider\n\n⚠️ Context Write, Summarize, Headline and Reformulate have mainly been tested with OpenAI.\nThey might work when connecting to other services, without any guarantee.\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance or [Ollama](https://ollama.com/) instance\nor to any service that implements an API similar to the OpenAI one, for example:\n[IONOS AI Model Hub](https://docs.ionos.com/cloud/ai/ai-model-hub), [Plusserver](https://www.plusserver.com/en/ai-platform/) or [MistralAI](https://mistral.ai).\n\n⚠️ This app is mainly tested with OpenAI. We do not guarantee it works perfectly\nwith other services that implement OpenAI-compatible APIs with slight differences.\n\n## Improve AI task pickup speed\n\nTo avoid task processing execution delay, setup at 4 background job workers in the main server (where Nextcloud is installed). The setup process is documented here: https://docs.nextcloud.com/server/latest/admin_manual/ai/overview.html#improve-ai-task-pickup-speed\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be run on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be run on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be ran on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via the OpenAI API: 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text-To-Speech via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be ran on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n* The training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/integration_openai", "licenses": [ @@ -180,9 +180,9 @@ ] }, "mail": { - "hash": "sha256-K1BPRiSHe3QMb8qiEqybXiVHA5WrExdK+OTDyyrdZ+E=", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v5.7.0/mail-v5.7.0.tar.gz", - "version": "5.7.0", + "hash": "sha256-Aq+ISmrPNlH42KNqkxAqoTEgML2l36lhsAMS0GUYb+c=", + "url": "https://github.com/nextcloud-releases/mail/releases/download/v5.7.1/mail-v5.7.1.tar.gz", + "version": "5.7.1", "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://www.horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/mail#readme", "licenses": [ @@ -190,11 +190,11 @@ ] }, "music": { - "hash": "sha256-XxrpVge6T3vP9aAj9ZpxEaQMRvKYkTSt2fEREudbt2U=", - "url": "https://github.com/owncloud/music/releases/download/v2.5.1/music_2.5.1_for_nextcloud.tar.gz", - "version": "2.5.1", + "hash": "sha256-n1HsKmkXL8YSQywGlt3f9lqSDBYcxi3VWO8K9b0PZqY=", + "url": "https://github.com/nc-music/music/releases/download/v3.0.0/nc-music-3.0.0.tar.gz", + "version": "3.0.0", "description": "A stand-alone music player app and a \"lite\" player for the Files app\n\n- On modern browsers, supports audio types .mp3, .ogg, .m4a, .m4b, .flac, .wav, and more\n- Playlist support with import from .m3u, .m3u8, .pls, and .wpl files\n- Show lyrics from the file metadata or .lrc files\n- Browse by artists, albums, genres, or folders\n- Gapless play\n- Filter the shown content with the search function\n- Advanced search to freely use and combine dozens of search criteria\n- Play internet radio and podcast channels\n- Setup Last.fm connection to scrobble plays and/or see background information on artists, albums, and songs\n- Control with media control keys on the keyboard or OS\n- The app can handle libraries consisting of thousands of albums and tens of thousands of songs\n- Includes a server backend compatible with the Subsonic and Ampache protocols, allowing playback and browsing of your library on dozens of external apps on Android, iOS, Windows, Linux, etc.\n- Widget for the Nextcloud Dashboard", - "homepage": "https://github.com/owncloud/music", + "homepage": "https://github.com/nc-music/music", "licenses": [ "agpl" ] @@ -240,9 +240,9 @@ ] }, "onlyoffice": { - "hash": "sha256-lAe1J2QKsEWS4l4QOiISDi9iyVCEyO8tS94aNMjUUR4=", - "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.12.0/onlyoffice.tar.gz", - "version": "9.12.0", + "hash": "sha256-est6QHoBQRX1ounlwifjgELJ4f0wHz+FCMc8pMQ///s=", + "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.13.0/onlyoffice.tar.gz", + "version": "9.13.0", "description": "The ONLYOFFICE app for Nextcloud brings powerful document editing and collaboration tools directly to your Nextcloud environment. With this integration, you can seamlessly create, edit, and co-author text documents, spreadsheets, presentations, and PDFs, as well as build and fill out PDF forms.\n\nCollaborate with your team in real time, make use of Track Changes, version history, comments, integrated chat, and more. Work together on files with federated cloud sharing. Flexible access permissions allow you to control who can view, edit, or comment, ensuring secure role-based collaboration tailored to your needs. Documents can also be protected with watermarks, password settings, and encryption for added security.\n\nThe app offers support for over 50 file formats, including DOCX, XLSX, PPTX, PDF, RTF, TXT, CSV, ODT, ODS, ODP, EPUB, FB2, HTML, HWP, HWPX, Pages, Numbers, Keynote, etc. Seamless desktop and mobile app integration means you'll have access to your Nextcloud files wherever you go.\n\nFurthermore, you can seamlessly connect any AI assistant, including local ones, directly to the editors to work faster and more efficient. This allows you to leverage various AI models for tasks like chatbot interactions, translations, OCR, and more.\n\nWhether you’re working with internal teams or external collaborators, the ONLYOFFICE app for Nextcloud enhances productivity, simplifies workflows, and ensures your files remain secure.", "homepage": "https://www.onlyoffice.com", "licenses": [ @@ -250,10 +250,10 @@ ] }, "phonetrack": { - "hash": "sha256-2DO4bK1FlTaVS1xve/oU4xNnrA8j9mq7IuOcZPszJOY=", - "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.0.0/phonetrack-1.0.0.tar.gz", - "version": "1.0.0", - "description": "# PhoneTrack Nextcloud application\n\n📱 PhoneTrack is a Nextcloud application to track and store mobile device's locations.\n\n🗺 It receives information from mobile phone's logging apps and displays it dynamically on a map.\n\n🌍 Help us to translate this app on [PhoneTrack Crowdin project](https://crowdin.com/project/phonetrack).\n\n⚒ Check out other ways to help in the [contribution guidelines](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CONTRIBUTING.md).\n\nHow to use PhoneTrack :\n\n- Create a tracking session.\n- Give the logging link\\* to the mobile devices. Choose the [logging method](https://gitlab.com/eneiluj/phonetrack-oc/wikis/userdoc#logging-methods) you prefer.\n- Watch the session's devices location in real time (or not) in PhoneTrack or share it with public pages.\n\n(\\*) Don't forget to set the device name in the link (rather than in the logging app settings). Replace \"yourname\" with the desired device name.\nSetting the device name in logging app settings only works with Owntracks, Traccar and OpenGTS.\n\nOn PhoneTrack main page, while watching a session, you can :\n\n- 📍 Display location history\n- ⛛ Filter points\n- ✎ Manually edit/add/delete points\n- ✎ Edit devices (rename, change colour/shape, move to another session)\n- ⛶ Define geofencing zones for devices\n- ⚇ Define proximity alerts for device pairs\n- 🖧 Share a session to other Nextcloud users or with a public link (read-only)\n- 🔗 Generate public share links with optional restrictions (filters, device name, last positions only, geofencing simplification)\n- 🖫 Import/export a session in GPX format (one file with one track per device or one file per device)\n- 🗠 Display sessions statistics\n- 🔒 [Reserve a device name](https://gitlab.com/eneiluj/phonetrack-oc/wikis/userdoc#device-name-reservation) to make sure only authorised user can log with this name\n- 🗓 Toggle session auto export and auto purge (daily/weekly/monthly)\n- ◔ Choose what to do when point number quota is reached (block logging or delete oldest point)\n\nPublic page and public filtered page work like main page except there is only one session displayed, everything is read-only and there is no need to be logged in.\n\nThis app is tested on Nextcloud 17 with Firefox 57+ and Chromium.\n\nThis app is compatible with theming colours and accessibility themes !\n\nThis app is under development.\n\n## Install\n\nSee the [AdminDoc](https://gitlab.com/eneiluj/phonetrack-oc/wikis/admindoc) for installation details.\n\nCheck [CHANGELOG](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CHANGELOG.md#change-log) file to see what's new and what's coming in next release.\n\nCheck [AUTHORS](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/AUTHORS.md#authors) file to see complete list of authors.\n\n## Known issues\n\n- PhoneTrack **now works** with Nextcloud group restriction activated. See [admindoc](https://gitlab.com/eneiluj/phonetrack-oc/wikis/admindoc#issue-with-phonetrack-restricted-to-some-groups-in-nextcloud).\n\nAny feedback will be appreciated.\n\n\n\n## Donation\n\nI develop this app during my free time.\n\n* [Donate with Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66PALMY8SF5JE) (you don't need a paypal account)\n* [Donate with Liberapay : ![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/eneiluj/donate)", + "hash": "sha256-+JPK8Eh7RFHMreCdlA1F1jBUD04Fw0R952TBHOUXDQ0=", + "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.0.1/phonetrack-1.0.1.tar.gz", + "version": "1.0.1", + "description": "# PhoneTrack Nextcloud application\n\n📱 PhoneTrack is a Nextcloud application to track and store mobile device's locations.\n\n🗺 It receives information from mobile phone's logging apps and displays it dynamically on a map.\n\n🌍 Help us to translate this app on [PhoneTrack Crowdin project](https://crowdin.com/project/phonetrack).\n\n⚒ Check out other ways to help in the [contribution guidelines](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CONTRIBUTING.md).\n\nHow to use PhoneTrack :\n\n- Create a tracking session.\n- Give the logging link\\* to the mobile devices. Choose the [logging method](https://github.com/julien-nc/phonetrack/blob/main/doc/user.md#logging-methods) you prefer.\n- Watch the session's devices location in real time (or not) in PhoneTrack or share it with public pages.\n\n(\\*) Don't forget to set the device name in the link (rather than in the logging app settings). Replace \"yourname\" with the desired device name.\nSetting the device name in logging app settings only works with Owntracks, Traccar and OpenGTS.\n\nOn PhoneTrack main page, while watching a session, you can :\n\n- 📍 Display location history\n- ⛛ Filter points\n- ✎ Manually edit/add/delete points\n- ✎ Edit devices (rename, change colour/shape, move to another session)\n- ⛶ Define geofencing zones for devices\n- ⚇ Define proximity alerts for device pairs\n- 🖧 Share a session to other Nextcloud users or with a public link (read-only)\n- 🔗 Generate public share links with optional restrictions (filters, device name, last positions only, geofencing simplification)\n- 🖫 Import/export a session in GPX format (one file with one track per device or one file per device)\n- 🗠 Display sessions statistics\n- 🔒 [Reserve a device name](https://github.com/julien-nc/phonetrack/blob/main/doc/user.md#device-name-reservation) to make sure only authorized user can log with this name\n- 🗓 Toggle session auto export and auto purge (daily/weekly/monthly)\n- ◔ Choose what to do when point number quota is reached (block logging or delete oldest point)\n\nPublic page and public filtered page work like main page except there is only one session displayed, everything is read-only and there is no need to be logged in.\n\nThis app is under development.\n\n## Install\n\nSee the [AdminDoc](https://gitlab.com/eneiluj/phonetrack-oc/wikis/admindoc) for installation details.\n\nCheck [CHANGELOG](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CHANGELOG.md#change-log) file to see what's new and what's coming in next release.\n\nCheck [AUTHORS](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/AUTHORS.md#authors) file to see complete list of authors.\n\n## Known issues\n\n- PhoneTrack **now works** with Nextcloud group restriction activated. See [admindoc](https://github.com/julien-nc/phonetrack/blob/main/doc/admin.md#issue-with-phonetrack-restricted-to-some-groups-in-nextcloud).\n\nAny feedback will be appreciated.\n\n\n\n## Donation\n\nI develop this app during my free time.\n\n* [Donate with Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66PALMY8SF5JE) (you don't need a paypal account)\n* [Donate with Liberapay : ![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/eneiluj/donate)", "homepage": "https://github.com/julien-nc/phonetrack", "licenses": [ "agpl" @@ -440,9 +440,9 @@ ] }, "whiteboard": { - "hash": "sha256-thJL8fZCh7pIOt+GZT5TNVlVshyaxkPufIcHUdiVeRY=", - "url": "https://github.com/nextcloud-releases/whiteboard/releases/download/v1.5.6/whiteboard-v1.5.6.tar.gz", - "version": "1.5.6", + "hash": "sha256-h+CuftR+iLuRuEVVccp89fA34JYSbCkwobjBytwgwg0=", + "url": "https://github.com/nextcloud-releases/whiteboard/releases/download/v1.5.7/whiteboard-v1.5.7.tar.gz", + "version": "1.5.7", "description": "The official whiteboard app for Nextcloud. It allows users to create and share whiteboards with other users and collaborate in real-time.\n\n**Whiteboard requires a separate collaboration server to work.** Please see the [documentation](https://github.com/nextcloud/whiteboard?tab=readme-ov-file#backend) on how to install it.\n\n- 🎨 Drawing shapes, writing text, connecting elements\n- 📝 Real-time collaboration\n- 🖼️ Add images with drag and drop\n- 📊 Easily add mermaid diagrams\n- ✨ Use the Smart Picker to embed other elements from Nextcloud\n- 📦 Image export\n- 💪 Strong foundation: We use Excalidraw as our base library", "homepage": "https://github.com/nextcloud/whiteboard", "licenses": [ diff --git a/pkgs/servers/nextcloud/packages/33.json b/pkgs/servers/nextcloud/packages/33.json index a77e34d8efc30..58229b7a3b975 100644 --- a/pkgs/servers/nextcloud/packages/33.json +++ b/pkgs/servers/nextcloud/packages/33.json @@ -10,9 +10,9 @@ ] }, "calendar": { - "hash": "sha256-bj84s8bIDZp1/Buz2/5UPPMoM4FX5O3POr7NSX0aLsI=", - "url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.2.0/calendar-v6.2.0.tar.gz", - "version": "6.2.0", + "hash": "sha256-DCitIgvlHfRGYqLJXhQ6UOY5vVmhbUiUQfBXkysc5Ps=", + "url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.2.1/calendar-v6.2.1.tar.gz", + "version": "6.2.1", "description": "A Calendar app for Nextcloud. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Like Contacts, Talk, Tasks, Deck and Circles\n* 🌐 **WebCal Support!** Want to see your favorite team's matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 **Search!** Find your events at ease\n* ☑️ **Tasks!** See tasks or Deck cards with a due date directly in the calendar\n* 🔈 **Talk rooms!** Create an associated Talk room when booking a meeting with just one click\n* 📆 **Appointment booking** Send people a link so they can book an appointment with you [using this app](https://apps.nextcloud.com/apps/appointments)\n* 📎 **Attachments!** Add, upload and view event attachments\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", "homepage": "https://github.com/nextcloud/calendar/", "licenses": [ @@ -30,9 +30,9 @@ ] }, "contacts": { - "hash": "sha256-ZbyDJDx/SCPMsdY2JT/kyrqbzxFxTm+5ZoSnrfANwzE=", - "url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.3.3/contacts-v8.3.3.tar.gz", - "version": "8.3.3", + "hash": "sha256-jeE+tqP1fXW2mFMgoVTtR07DhzTO2rIbPkL38VzZRNM=", + "url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.4.0/contacts-v8.4.0.tar.gz", + "version": "8.4.0", "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.", "homepage": "https://github.com/nextcloud/contacts#readme", "licenses": [ @@ -130,9 +130,9 @@ ] }, "groupfolders": { - "hash": "sha256-TndRnnxX9hE1HtnTAy4vMx22S8J2CKXRUjFdQT+lyrg=", - "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v21.0.5/groupfolders-v21.0.5.tar.gz", - "version": "21.0.5", + "hash": "sha256-5V0gBRz6Q8HS3MxbsU+O7bRwv+765dS2SIbOnFVVERE=", + "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v21.0.6/groupfolders-v21.0.6.tar.gz", + "version": "21.0.6", "description": "Team Folders (formerly \"Group Folders\") allows administrators to create and manage shared folders that are accessible\n\t\t\tto selected teams within Nextcloud.\n\n\t\t\tAdmins can configure folders from the Team Folders section in the admin settings, where they can grant access to one\n\t\t\tor more teams, set custom permissions (such as read, write, and sharing rights), and assign storage quotas to each\n\t\t\tfolder.\n\n\t\t\tAs of Hub 10/Nextcloud 31, admins must be members of a team to assign it a Team Folder. The app supports advanced\n\t\t\tfeatures such as quota management, granular access control, and integration with Nextcloud’s trash and versioning\n\t\t\tsystems.", "homepage": "https://github.com/nextcloud/groupfolders", "licenses": [ @@ -160,9 +160,9 @@ ] }, "integration_openai": { - "hash": "sha256-qZMEllnKm4TAS810/WaDCUEXLbLN8yEVXIXw7p2zx2s=", - "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v4.2.0/integration_openai-v4.2.0.tar.gz", - "version": "4.2.0", + "hash": "sha256-emtbwOr5kqgslq3ISSTxdfDKP80rvfWj7gygfYpj7E4=", + "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v4.3.0/integration_openai-v4.3.0.tar.gz", + "version": "4.3.0", "description": "⚠️ The smart pickers have been removed from this app\nas they are now included in the [Assistant app](https://apps.nextcloud.com/apps/assistant).\n\nThis app implements:\n\n* Text generation providers: Free prompt, Summarize, Headline, Context Write, Chat, and Reformulate (using any available large language model)\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n* An image generation provider\n\n⚠️ Context Write, Summarize, Headline and Reformulate have mainly been tested with OpenAI.\nThey might work when connecting to other services, without any guarantee.\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance or [Ollama](https://ollama.com/) instance\nor to any service that implements an API similar to the OpenAI one, for example:\n[IONOS AI Model Hub](https://docs.ionos.com/cloud/ai/ai-model-hub), [Plusserver](https://www.plusserver.com/en/ai-platform/) or [MistralAI](https://mistral.ai).\n\n⚠️ This app is mainly tested with OpenAI. We do not guarantee it works perfectly\nwith other services that implement OpenAI-compatible APIs with slight differences.\n\n## Improve AI task pickup speed\n\nTo avoid task processing execution delay, setup at 4 background job workers in the main server (where Nextcloud is installed). The setup process is documented here: https://docs.nextcloud.com/server/latest/admin_manual/ai/overview.html#improve-ai-task-pickup-speed\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be run on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be run on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be ran on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via the OpenAI API: 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text-To-Speech via the OpenAI API: 🔴\n\nNegative:\n* The software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be ran on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n* The training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/integration_openai", "licenses": [ @@ -180,15 +180,25 @@ ] }, "mail": { - "hash": "sha256-K1BPRiSHe3QMb8qiEqybXiVHA5WrExdK+OTDyyrdZ+E=", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v5.7.0/mail-v5.7.0.tar.gz", - "version": "5.7.0", + "hash": "sha256-Aq+ISmrPNlH42KNqkxAqoTEgML2l36lhsAMS0GUYb+c=", + "url": "https://github.com/nextcloud-releases/mail/releases/download/v5.7.1/mail-v5.7.1.tar.gz", + "version": "5.7.1", "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://www.horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/mail#readme", "licenses": [ "agpl" ] }, + "music": { + "hash": "sha256-n1HsKmkXL8YSQywGlt3f9lqSDBYcxi3VWO8K9b0PZqY=", + "url": "https://github.com/nc-music/music/releases/download/v3.0.0/nc-music-3.0.0.tar.gz", + "version": "3.0.0", + "description": "A stand-alone music player app and a \"lite\" player for the Files app\n\n- On modern browsers, supports audio types .mp3, .ogg, .m4a, .m4b, .flac, .wav, and more\n- Playlist support with import from .m3u, .m3u8, .pls, and .wpl files\n- Show lyrics from the file metadata or .lrc files\n- Browse by artists, albums, genres, or folders\n- Gapless play\n- Filter the shown content with the search function\n- Advanced search to freely use and combine dozens of search criteria\n- Play internet radio and podcast channels\n- Setup Last.fm connection to scrobble plays and/or see background information on artists, albums, and songs\n- Control with media control keys on the keyboard or OS\n- The app can handle libraries consisting of thousands of albums and tens of thousands of songs\n- Includes a server backend compatible with the Subsonic and Ampache protocols, allowing playback and browsing of your library on dozens of external apps on Android, iOS, Windows, Linux, etc.\n- Widget for the Nextcloud Dashboard", + "homepage": "https://github.com/nc-music/music", + "licenses": [ + "agpl" + ] + }, "nextpod": { "hash": "sha256-aMdPr3EKTZLfCBMHwzfMf6rY0vE9a5DBHPtZH3Nh2w0=", "url": "https://github.com/pbek/nextcloud-nextpod/releases/download/v0.7.10/nextpod-nc.tar.gz", @@ -219,11 +229,21 @@ "agpl" ] }, + "onlyoffice": { + "hash": "sha256-YBg/rrXPZyd0pqaOez/GjfraCqS7kwNTAXjIwBvExLM=", + "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v10.0.0/onlyoffice.tar.gz", + "version": "10.0.0", + "description": "The ONLYOFFICE app for Nextcloud brings powerful document editing and collaboration tools directly to your Nextcloud environment. With this integration, you can seamlessly create, edit, and co-author text documents, spreadsheets, presentations, and PDFs, as well as build and fill out PDF forms.\n\nCollaborate with your team in real time, make use of Track Changes, version history, comments, integrated chat, and more. Work together on files with federated cloud sharing. Flexible access permissions allow you to control who can view, edit, or comment, ensuring secure role-based collaboration tailored to your needs. Documents can also be protected with watermarks, password settings, and encryption for added security.\n\nThe app offers support for over 50 file formats, including DOCX, XLSX, PPTX, PDF, RTF, TXT, CSV, ODT, ODS, ODP, EPUB, FB2, HTML, HWP, HWPX, Pages, Numbers, Keynote, etc. Seamless desktop and mobile app integration means you'll have access to your Nextcloud files wherever you go.\n\nFurthermore, you can seamlessly connect any AI assistant, including local ones, directly to the editors to work faster and more efficient. This allows you to leverage various AI models for tasks like chatbot interactions, translations, OCR, and more.\n\nWhether you’re working with internal teams or external collaborators, the ONLYOFFICE app for Nextcloud enhances productivity, simplifies workflows, and ensures your files remain secure.", + "homepage": "https://www.onlyoffice.com", + "licenses": [ + "agpl" + ] + }, "phonetrack": { - "hash": "sha256-2DO4bK1FlTaVS1xve/oU4xNnrA8j9mq7IuOcZPszJOY=", - "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.0.0/phonetrack-1.0.0.tar.gz", - "version": "1.0.0", - "description": "# PhoneTrack Nextcloud application\n\n📱 PhoneTrack is a Nextcloud application to track and store mobile device's locations.\n\n🗺 It receives information from mobile phone's logging apps and displays it dynamically on a map.\n\n🌍 Help us to translate this app on [PhoneTrack Crowdin project](https://crowdin.com/project/phonetrack).\n\n⚒ Check out other ways to help in the [contribution guidelines](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CONTRIBUTING.md).\n\nHow to use PhoneTrack :\n\n- Create a tracking session.\n- Give the logging link\\* to the mobile devices. Choose the [logging method](https://gitlab.com/eneiluj/phonetrack-oc/wikis/userdoc#logging-methods) you prefer.\n- Watch the session's devices location in real time (or not) in PhoneTrack or share it with public pages.\n\n(\\*) Don't forget to set the device name in the link (rather than in the logging app settings). Replace \"yourname\" with the desired device name.\nSetting the device name in logging app settings only works with Owntracks, Traccar and OpenGTS.\n\nOn PhoneTrack main page, while watching a session, you can :\n\n- 📍 Display location history\n- ⛛ Filter points\n- ✎ Manually edit/add/delete points\n- ✎ Edit devices (rename, change colour/shape, move to another session)\n- ⛶ Define geofencing zones for devices\n- ⚇ Define proximity alerts for device pairs\n- 🖧 Share a session to other Nextcloud users or with a public link (read-only)\n- 🔗 Generate public share links with optional restrictions (filters, device name, last positions only, geofencing simplification)\n- 🖫 Import/export a session in GPX format (one file with one track per device or one file per device)\n- 🗠 Display sessions statistics\n- 🔒 [Reserve a device name](https://gitlab.com/eneiluj/phonetrack-oc/wikis/userdoc#device-name-reservation) to make sure only authorised user can log with this name\n- 🗓 Toggle session auto export and auto purge (daily/weekly/monthly)\n- ◔ Choose what to do when point number quota is reached (block logging or delete oldest point)\n\nPublic page and public filtered page work like main page except there is only one session displayed, everything is read-only and there is no need to be logged in.\n\nThis app is tested on Nextcloud 17 with Firefox 57+ and Chromium.\n\nThis app is compatible with theming colours and accessibility themes !\n\nThis app is under development.\n\n## Install\n\nSee the [AdminDoc](https://gitlab.com/eneiluj/phonetrack-oc/wikis/admindoc) for installation details.\n\nCheck [CHANGELOG](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CHANGELOG.md#change-log) file to see what's new and what's coming in next release.\n\nCheck [AUTHORS](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/AUTHORS.md#authors) file to see complete list of authors.\n\n## Known issues\n\n- PhoneTrack **now works** with Nextcloud group restriction activated. See [admindoc](https://gitlab.com/eneiluj/phonetrack-oc/wikis/admindoc#issue-with-phonetrack-restricted-to-some-groups-in-nextcloud).\n\nAny feedback will be appreciated.\n\n\n\n## Donation\n\nI develop this app during my free time.\n\n* [Donate with Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66PALMY8SF5JE) (you don't need a paypal account)\n* [Donate with Liberapay : ![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/eneiluj/donate)", + "hash": "sha256-+JPK8Eh7RFHMreCdlA1F1jBUD04Fw0R952TBHOUXDQ0=", + "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.0.1/phonetrack-1.0.1.tar.gz", + "version": "1.0.1", + "description": "# PhoneTrack Nextcloud application\n\n📱 PhoneTrack is a Nextcloud application to track and store mobile device's locations.\n\n🗺 It receives information from mobile phone's logging apps and displays it dynamically on a map.\n\n🌍 Help us to translate this app on [PhoneTrack Crowdin project](https://crowdin.com/project/phonetrack).\n\n⚒ Check out other ways to help in the [contribution guidelines](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CONTRIBUTING.md).\n\nHow to use PhoneTrack :\n\n- Create a tracking session.\n- Give the logging link\\* to the mobile devices. Choose the [logging method](https://github.com/julien-nc/phonetrack/blob/main/doc/user.md#logging-methods) you prefer.\n- Watch the session's devices location in real time (or not) in PhoneTrack or share it with public pages.\n\n(\\*) Don't forget to set the device name in the link (rather than in the logging app settings). Replace \"yourname\" with the desired device name.\nSetting the device name in logging app settings only works with Owntracks, Traccar and OpenGTS.\n\nOn PhoneTrack main page, while watching a session, you can :\n\n- 📍 Display location history\n- ⛛ Filter points\n- ✎ Manually edit/add/delete points\n- ✎ Edit devices (rename, change colour/shape, move to another session)\n- ⛶ Define geofencing zones for devices\n- ⚇ Define proximity alerts for device pairs\n- 🖧 Share a session to other Nextcloud users or with a public link (read-only)\n- 🔗 Generate public share links with optional restrictions (filters, device name, last positions only, geofencing simplification)\n- 🖫 Import/export a session in GPX format (one file with one track per device or one file per device)\n- 🗠 Display sessions statistics\n- 🔒 [Reserve a device name](https://github.com/julien-nc/phonetrack/blob/main/doc/user.md#device-name-reservation) to make sure only authorized user can log with this name\n- 🗓 Toggle session auto export and auto purge (daily/weekly/monthly)\n- ◔ Choose what to do when point number quota is reached (block logging or delete oldest point)\n\nPublic page and public filtered page work like main page except there is only one session displayed, everything is read-only and there is no need to be logged in.\n\nThis app is under development.\n\n## Install\n\nSee the [AdminDoc](https://gitlab.com/eneiluj/phonetrack-oc/wikis/admindoc) for installation details.\n\nCheck [CHANGELOG](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CHANGELOG.md#change-log) file to see what's new and what's coming in next release.\n\nCheck [AUTHORS](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/AUTHORS.md#authors) file to see complete list of authors.\n\n## Known issues\n\n- PhoneTrack **now works** with Nextcloud group restriction activated. See [admindoc](https://github.com/julien-nc/phonetrack/blob/main/doc/admin.md#issue-with-phonetrack-restricted-to-some-groups-in-nextcloud).\n\nAny feedback will be appreciated.\n\n\n\n## Donation\n\nI develop this app during my free time.\n\n* [Donate with Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66PALMY8SF5JE) (you don't need a paypal account)\n* [Donate with Liberapay : ![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/eneiluj/donate)", "homepage": "https://github.com/julien-nc/phonetrack", "licenses": [ "agpl" @@ -390,9 +410,9 @@ ] }, "whiteboard": { - "hash": "sha256-thJL8fZCh7pIOt+GZT5TNVlVshyaxkPufIcHUdiVeRY=", - "url": "https://github.com/nextcloud-releases/whiteboard/releases/download/v1.5.6/whiteboard-v1.5.6.tar.gz", - "version": "1.5.6", + "hash": "sha256-h+CuftR+iLuRuEVVccp89fA34JYSbCkwobjBytwgwg0=", + "url": "https://github.com/nextcloud-releases/whiteboard/releases/download/v1.5.7/whiteboard-v1.5.7.tar.gz", + "version": "1.5.7", "description": "The official whiteboard app for Nextcloud. It allows users to create and share whiteboards with other users and collaborate in real-time.\n\n**Whiteboard requires a separate collaboration server to work.** Please see the [documentation](https://github.com/nextcloud/whiteboard?tab=readme-ov-file#backend) on how to install it.\n\n- 🎨 Drawing shapes, writing text, connecting elements\n- 📝 Real-time collaboration\n- 🖼️ Add images with drag and drop\n- 📊 Easily add mermaid diagrams\n- ✨ Use the Smart Picker to embed other elements from Nextcloud\n- 📦 Image export\n- 💪 Strong foundation: We use Excalidraw as our base library", "homepage": "https://github.com/nextcloud/whiteboard", "licenses": [ diff --git a/pkgs/servers/nosql/influxdb2/combined.nix b/pkgs/servers/nosql/influxdb2/combined.nix deleted file mode 100644 index 285c94d01580c..0000000000000 --- a/pkgs/servers/nosql/influxdb2/combined.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - buildEnv, - influxdb2-server, - influxdb2-cli, -}: -buildEnv { - name = "influxdb2"; - paths = [ - influxdb2-server - influxdb2-cli - ]; -} diff --git a/pkgs/servers/sql/percona-server/8_0.nix b/pkgs/servers/sql/percona-server/8_0.nix index 27d6c1bbdd765..d174dea84b5e9 100644 --- a/pkgs/servers/sql/percona-server/8_0.nix +++ b/pkgs/servers/sql/percona-server/8_0.nix @@ -43,11 +43,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "percona-server"; - version = "8.0.44-35"; + version = "8.0.45-36"; src = fetchurl { url = "https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-Server-${finalAttrs.version}/source/tarball/percona-server-${finalAttrs.version}.tar.gz"; - hash = "sha256-4eiNKzXzc5TAhsdIKQvyhQknsOiVSSkbZXDFY+qInYE="; + hash = "sha256-E3zbJKH1uK+9H+84RXuY6tjXPjzHPCKjxvrMlKs4cd4="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/sql/percona-server/8_4.nix b/pkgs/servers/sql/percona-server/8_4.nix index 00146c43365d9..f6b53c26db14e 100644 --- a/pkgs/servers/sql/percona-server/8_4.nix +++ b/pkgs/servers/sql/percona-server/8_4.nix @@ -50,11 +50,11 @@ assert !(withJemalloc && withTcmalloc); stdenv.mkDerivation (finalAttrs: { pname = "percona-server"; - version = "8.4.6-6"; + version = "8.4.7-7"; src = fetchurl { url = "https://downloads.percona.com/downloads/Percona-Server-${lib.versions.majorMinor finalAttrs.version}/Percona-Server-${finalAttrs.version}/source/tarball/percona-server-${finalAttrs.version}.tar.gz"; - hash = "sha256-q01k+/TzvT7h52bqn9icc6VMlrUUjMDNKz0UdTyAWjU="; + hash = "sha256-5UBegcT25a1QUt4QQ6LlKWB7UGBnfQG6PK/Hxp9GYaY="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/sql/postgresql/ext/pg_partman.nix b/pkgs/servers/sql/postgresql/ext/pg_partman.nix index a60c33d93521f..d6e3c2654d252 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_partman.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_partman.nix @@ -7,13 +7,13 @@ postgresqlBuildExtension (finalAttrs: { pname = "pg_partman"; - version = "5.4.1"; + version = "5.4.2"; src = fetchFromGitHub { owner = "pgpartman"; repo = "pg_partman"; tag = "v${finalAttrs.version}"; - hash = "sha256-giWjH4HM6qCoYGvFGyv+RjaSA4ggPHVBK7eNLBESPN4="; + hash = "sha256-H4RhswglzLG89wm4QKA+H0HLMb21gzorV1pOURkpqt0="; }; meta = { diff --git a/pkgs/servers/sql/postgresql/ext/vectorchord/package.nix b/pkgs/servers/sql/postgresql/ext/vectorchord/package.nix index 7eef0c06e74bf..62b8cb1c7b913 100644 --- a/pkgs/servers/sql/postgresql/ext/vectorchord/package.nix +++ b/pkgs/servers/sql/postgresql/ext/vectorchord/package.nix @@ -12,16 +12,16 @@ buildPgrxExtension (finalAttrs: { cargo-pgrx = cargo-pgrx_0_16_0; pname = "vectorchord"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "tensorchord"; repo = "vectorchord"; tag = finalAttrs.version; - hash = "sha256-+BOuiinbKPZZaDl9aYsIoZPgvLZ4FA6Rb4/W+lAz4so="; + hash = "sha256-8Gk5/wIGu5/t8EKeG9Wna7yUWKiuCOC9yjJFo2euF/I="; }; - cargoHash = "sha256-kwe2x7OTjpdPonZsvnR1C/89D5W/R5JswYF79YcSFEA="; + cargoHash = "sha256-o7NZEH3NCf/T81kL7jDa4HHGWsyTkLXXhq4KQR2/PGM="; # Include upgrade scripts in the final package # https://github.com/tensorchord/VectorChord/blob/0.5.0/crates/make/src/main.rs#L366 diff --git a/pkgs/servers/web-apps/lemmy/pin.json b/pkgs/servers/web-apps/lemmy/pin.json index c427d821544e6..4c49167c48aac 100644 --- a/pkgs/servers/web-apps/lemmy/pin.json +++ b/pkgs/servers/web-apps/lemmy/pin.json @@ -4,5 +4,5 @@ "serverHash": "sha256-8j18F0I7GnZ4OxIvWM9N4CEe9TnRJKAqukb1160ygv8=", "serverCargoHash": "sha256-8I3ZoMhfxdfhOF/cmtNZew3QgjuIgKLbuftS9Y7FHhw=", "uiHash": "sha256-vynfOAi7sRBJbA9y/2RULq79PP0YkgvlUZz6jOxPlhs=", - "uiPNPMDepsHash": "sha256-tuarUG1uKx6Q1O+rF6DHyK8MEseF9lKk34qtRWWScAg=" + "uiPNPMDepsHash": "sha256-UOovErxC060rAVTERdNdZRg+zP2RHL6Hii8RqVe5ye8=" } diff --git a/pkgs/servers/web-apps/lemmy/ui.nix b/pkgs/servers/web-apps/lemmy/ui.nix index 072baf48648ef..787000960efe0 100644 --- a/pkgs/servers/web-apps/lemmy/ui.nix +++ b/pkgs/servers/web-apps/lemmy/ui.nix @@ -43,7 +43,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_9; - fetcherVersion = 1; + fetcherVersion = 3; hash = pinData.uiPNPMDepsHash; }; diff --git a/pkgs/servers/web-apps/szurubooru/server.nix b/pkgs/servers/web-apps/szurubooru/server.nix index 910b9fc6a538b..575ccc977009b 100644 --- a/pkgs/servers/web-apps/szurubooru/server.nix +++ b/pkgs/servers/web-apps/szurubooru/server.nix @@ -21,17 +21,6 @@ let }; doCheck = false; }); - - sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { - version = "1.3.23"; - src = fetchPypi { - pname = "SQLAlchemy"; - inherit version; - sha256 = "sha256-b8ozZyV4Zm9lfBMVUsTviXnBYG5JT3jNUZl0LfsmkYs="; - }; - - doCheck = false; - }); }) ]; @@ -65,7 +54,7 @@ python.pkgs.buildPythonApplication { pyrfc3339 pytz pyyaml - sqlalchemy + sqlalchemy_1_3 yt-dlp ]; diff --git a/pkgs/shells/fish/plugins/exercism-cli-fish-wrapper.nix b/pkgs/shells/fish/plugins/exercism-cli-fish-wrapper.nix index 78bad9ad165f0..63f604d0d3bbc 100644 --- a/pkgs/shells/fish/plugins/exercism-cli-fish-wrapper.nix +++ b/pkgs/shells/fish/plugins/exercism-cli-fish-wrapper.nix @@ -6,13 +6,13 @@ }: buildFishPlugin { pname = "exercism-cli-fish-wrapper"; - version = "0-unstable-2026-01-06"; + version = "0-unstable-2026-02-23"; src = fetchFromGitHub { owner = "glennj"; repo = "exercism-cli-fish-wrapper"; - rev = "2b154d6363e16b60a3132ef93d5e1a2311209fa5"; - hash = "sha256-k0escPVR+5FqnxYzZPSsY7y927GhtWAEEOdURqN8aSk="; + rev = "e81fe4cfd74864628e6244ef17d60ecfc1e5bcb0"; + hash = "sha256-bBAK3Ka0X1ilWIQjNkDA7fLht2jQfMWSIY/Fw4VVXbw="; }; passthru.updateScript = unstableGitUpdater { }; diff --git a/pkgs/stdenv/cygwin/make-bootstrap-tools-cross.nix b/pkgs/stdenv/cygwin/make-bootstrap-tools-cross.nix new file mode 100644 index 0000000000000..c133be97d600c --- /dev/null +++ b/pkgs/stdenv/cygwin/make-bootstrap-tools-cross.nix @@ -0,0 +1,30 @@ +{ + system ? builtins.currentSystem, +}: + +let + inherit (releaseLib) lib; + releaseLib = import ../../top-level/release-lib.nix { + # We're not using any functions from release-lib.nix that look at + # supportedSystems. + supportedSystems = [ ]; + }; + + make = + crossSystem: + import ./make-bootstrap-tools.nix { + pkgs = releaseLib.pkgsForCross crossSystem system; + }; +in +lib.mapAttrs (n: make) ( + with lib.systems.examples; + { + # NOTE: Only add platforms for which there are files in `./bootstrap-files` + # or for which you plan to request the tarball upload soon. See the + # maintainers/scripts/bootstrap-files/README.md + # on how to request an upload. + # Sort following the sorting in `./default.nix` `bootstrapFiles` argument. + + x86_64-pc-cygwin = x86_64-cygwin; + } +) diff --git a/pkgs/stdenv/cygwin/make-bootstrap-tools.nix b/pkgs/stdenv/cygwin/make-bootstrap-tools.nix new file mode 100644 index 0000000000000..2252288d1f233 --- /dev/null +++ b/pkgs/stdenv/cygwin/make-bootstrap-tools.nix @@ -0,0 +1,92 @@ +{ + pkgs ? import ../../.. { }, +}: +let + inherit (pkgs) runCommand; + # splicing doesn't seem to work right here + inherit (pkgs.buildPackages) dumpnar rsync nukeReferences; + + unpacked = + let + inherit (pkgs) + bashNonInteractive + binutils-unwrapped + bzip2 + coreutils + curl + diffutils + file + findutils + gawk + gcc-unwrapped + gitMinimal # for fetchgit (newlib-cygwin) + gnugrep + gnumake + gnused + gnutar + gzip + patch + xz + ; + + inherit (pkgs.cygwin) + newlib-cygwin + w32api + ; + + in + runCommand "unpacked" + { + nativeBuildInputs = [ nukeReferences ]; + # The result should not contain any references (store paths) so + # that we can safely copy them out of the store and to other + # locations in the store. + allowedReferences = [ ]; + strictDeps = true; + } + '' + mkdir -p "$out"/{bin,include,lib,libexec} + cp -d "${bashNonInteractive}"/bin/* "$out"/bin/ + cp -d "${binutils-unwrapped}"/bin/* "$out"/bin/ + cp -d "${bzip2}"/bin/* "$out"/bin/ + cp -d "${coreutils}"/bin/* "$out"/bin/ + cp -d "${curl}"/bin/* "$out"/bin/ + cp -d "${diffutils}"/bin/* "$out"/bin/ + cp -d "${file}"/bin/* "$out"/bin/ + cp -d "${findutils}"/bin/* "$out"/bin/ + cp -d "${gawk}"/bin/* "$out"/bin/ + cp -d "${gcc-unwrapped}"/bin/* "$out"/bin/ + cp -rd ${gcc-unwrapped}/include/* $out/include/ + cp -rd ${gcc-unwrapped}/lib/* $out/lib/ + cp -rd ${gcc-unwrapped}/libexec/* $out/libexec/ + cp -frd ${gcc-unwrapped.lib}/bin/* $out/bin/ + cp -rd ${gcc-unwrapped.lib}/lib/* $out/lib/ + cp -d "${gitMinimal}"/bin/* "$out"/bin/ + cp -d "${gnugrep}"/bin/* "$out"/bin/ + cp -d "${gnumake}"/bin/* "$out"/bin/ + cp -d "${gnused}"/bin/* "$out"/bin/ + cp -d "${gnutar}"/bin/* "$out"/bin/ + (shopt -s dotglob; cp -d "${gzip}"/bin/* "$out"/bin/) + cp -rd ${newlib-cygwin.dev}/include/* $out/include/ + cp -rd ${newlib-cygwin}/lib/* "$out"/lib/ + cp -d "${patch}"/bin/* "$out"/bin/ + cp -d "${w32api}"/lib/w32api/lib{advapi,shell,user,kernel}32.a "$out"/lib/ + cp -d "${xz}"/bin/* "$out"/bin/ + + chmod -R +w "$out" + + find "$out" -type l -print0 | while read -d $'\0' link; do + [[ -L "$link" && -e "$link" ]] || continue + [[ $(realpath "$link") != "$out"* ]] || continue + cp "$link" "$link"~ + mv "$link"~ "$link" + done + + find "$out" -print0 | xargs -0 nuke-refs -e "$out" + ''; +in +{ + unpack = runCommand "unpack.nar.xz" { + nativeBuildInputs = [ dumpnar ]; + } "dumpnar ${unpacked} | xz -9 -e -T $NIX_BUILD_CORES >$out"; +} diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index cfc08ba9847f6..27f8c854ec7e3 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -10,10 +10,8 @@ let inherit (lib) all - attrNames attrValues concatMapStrings - concatMapStringsSep concatStrings filter findFirst @@ -26,7 +24,8 @@ let optionalString isAttrs isString - mapAttrs + warn + foldl' ; inherit (lib.lists) @@ -49,15 +48,17 @@ let inherit (builtins) getEnv - trace ; + inherit (import ./problems.nix { inherit lib; }) + problemsType + genCheckProblems + ; + checkProblems = genCheckProblems config; + # If we're in hydra, we can dispense with the more verbose error # messages and make problems easier to spot. inHydra = config.inHydra or false; - # Allow the user to opt-into additional warnings, e.g. - # import { config = { showDerivationWarnings = [ "maintainerless" ]; }; } - showWarnings = config.showDerivationWarnings; getNameWithVersion = attrs: attrs.name or "${attrs.pname or "«name-missing»"}-${attrs.version or "«version-missing»"}"; @@ -118,21 +119,6 @@ let hasUnfreeLicense = attrs: attrs ? meta.license && isUnfree attrs.meta.license; - hasNoMaintainers = - # To get usable output, we want to avoid flagging "internal" derivations. - # Because we do not have a way to reliably decide between internal or - # external derivation, some heuristics are required to decide. - # - # If `outputHash` is defined, the derivation is a FOD, such as the output of a fetcher. - # If `description` is not defined, the derivation is probably not a package. - # Simply checking whether `meta` is defined is insufficient, - # as some fetchers and trivial builders do define meta. - attrs: - (!attrs ? outputHash) - && (attrs ? meta.description) - && (attrs.meta.maintainers or [ ] == [ ]) - && (attrs.meta.teams or [ ] == [ ]); - isMarkedBroken = attrs: attrs.meta.broken or false; # Allow granular checks to allow only some broken packages @@ -317,7 +303,7 @@ let ${concatStrings (map (output: " - ${output}\n") missingOutputs)} ''; - metaTypes = + metaType = let types = import ./meta-types.nix { inherit lib; }; inherit (types) @@ -329,13 +315,14 @@ let any listOf bool + record ; platforms = listOf (union [ str (attrsOf any) ]); # see lib.meta.platformMatch in - { + record { # These keys are documented description = str; mainProgram = str; @@ -374,6 +361,8 @@ let unfree = bool; unsupported = bool; insecure = bool; + # This is checked in more detail further down + problems = problemsType; timeout = int; knownVulnerabilities = listOf str; badPlatforms = platforms; @@ -404,34 +393,7 @@ let identifiers = attrs; }; - # Map attrs directly to the verify function for performance - metaTypes' = mapAttrs (_: t: t.verify) metaTypes; - - checkMetaAttr = - k: v: - if metaTypes ? ${k} then - if metaTypes'.${k} v then - [ ] - else - [ - "key 'meta.${k}' has invalid value; expected ${metaTypes.${k}.name}, got\n ${ - toPretty { indent = " "; } v - }" - ] - else - [ - "key 'meta.${k}' is unrecognized; expected one of: \n [${ - concatMapStringsSep ", " (x: "'${x}'") (attrNames metaTypes) - }]" - ]; - - checkMeta = meta: concatMap (attr: checkMetaAttr attr meta.${attr}) (attrNames meta); - - metaInvalid = - if config.checkMeta then - meta: !all (attr: metaTypes ? ${attr} && metaTypes'.${attr} meta.${attr}) (attrNames meta) - else - meta: false; + metaInvalid = if config.checkMeta then meta: !metaType.verify meta else meta: false; checkOutputsToInstall = if config.checkMeta then @@ -447,7 +409,7 @@ let # e.g brokenness or license. # # Return { valid: "yes", "warn" or "no" } and additionally - # { reason: String; errormsg: String, remediation: String } if it is not valid, where + # { reason: String; msg: String, remediation: String } if it is not valid, where # reason is one of "unfree", "blocklisted", "broken", "insecure", ... # !!! reason strings are hardcoded into OfBorg, make sure to keep them in sync # Along with a boolean flag for each reason @@ -458,8 +420,8 @@ let if metaInvalid (attrs.meta or { }) then { reason = "unknown-meta"; - errormsg = "has an invalid meta attrset:${ - concatMapStrings (x: "\n - " + x) (checkMeta attrs.meta) + msg = "has an invalid meta attrset:${ + concatMapStrings (x: "\n - " + x) (metaType.errors "${getName attrs}.meta" attrs.meta) }\n"; remediation = ""; } @@ -468,7 +430,7 @@ let else if checkOutputsToInstall attrs then { reason = "broken-outputs"; - errormsg = "has invalid meta.outputsToInstall"; + msg = "has invalid meta.outputsToInstall"; remediation = remediateOutputsToInstall attrs; } @@ -476,25 +438,25 @@ let else if hasDeniedUnfreeLicense attrs && !(hasAllowlistedLicense attrs) then { reason = "unfree"; - errormsg = "has an unfree license (‘${showLicense attrs.meta.license}’)"; + msg = "has an unfree license (‘${showLicense attrs.meta.license}’)"; remediation = remediate_allowlist "Unfree" (remediate_predicate "allowUnfreePredicate" attrs); } else if hasBlocklistedLicense attrs then { reason = "blocklisted"; - errormsg = "has a blocklisted license (‘${showLicense attrs.meta.license}’)"; + msg = "has a blocklisted license (‘${showLicense attrs.meta.license}’)"; remediation = ""; } else if hasDeniedNonSourceProvenance attrs then { reason = "non-source"; - errormsg = "contains elements not built from source (‘${showSourceType attrs.meta.sourceProvenance}’)"; + msg = "contains elements not built from source (‘${showSourceType attrs.meta.sourceProvenance}’)"; remediation = remediate_allowlist "NonSource" (remediate_predicate "allowNonSourcePredicate" attrs); } else if hasDeniedBroken attrs then { reason = "broken"; - errormsg = "is marked as broken"; + msg = "is marked as broken"; remediation = remediate_allowlist "Broken" ""; } else if hasUnsupportedPlatform attrs && !allowUnsupportedSystem then @@ -506,7 +468,7 @@ let in { reason = "unsupported"; - errormsg = '' + msg = '' is not available on the requested hostPlatform: hostPlatform.system = "${hostPlatform.system}" package.meta.platforms = ${toPretty' (attrs.meta.platforms or [ ])} @@ -517,24 +479,12 @@ let else if hasDisallowedInsecure attrs then { reason = "insecure"; - errormsg = "is marked as insecure"; + msg = "is marked as insecure"; remediation = remediate_insecure attrs; } else null; - # Please also update the type in /pkgs/top-level/config.nix alongside this. - checkWarnings = - attrs: - if hasNoMaintainers attrs then - { - reason = "maintainerless"; - errormsg = "has no maintainers or teams"; - remediation = ""; - } - else - null; - # Helper functions and declarations to handle identifiers, extracted to reduce allocations hasAllCPEParts = cpeParts: @@ -695,54 +645,64 @@ let && ((config.checkMetaRecursively or false) -> all (d: d.meta.available or true) references); }; - validYes = { - valid = "yes"; - handled = true; - }; + handle = + { + attrs, + meta, + warnings ? [ ], + error ? null, + }: + let + withError = + if isNull error then + true + else + let + msg = + "Refusing to evaluate package '${getNameWithVersion attrs}' in ${pos_str meta} because it ${error.msg}" + + lib.optionalString (!inHydra && error.remediation != "") "\n${error.remediation}"; + in + if config ? handleEvalIssue then config.handleEvalIssue error.reason msg else throw msg; + + giveWarning = + acc: warning: + let + msg = + "Package '${getNameWithVersion attrs}' in ${pos_str meta} ${warning.msg}" + + lib.optionalString (!inHydra && warning.remediation != "") " ${warning.remediation}"; + in + warn msg acc; + in + # Give all warnings first, then error if any + builtins.seq (foldl' giveWarning null warnings) withError; assertValidity = { meta, attrs }: let invalid = checkValidity attrs; - warning = checkWarnings attrs; + problems = checkProblems attrs; in if isNull invalid then - if isNull warning then - validYes + if isNull problems then + { + valid = "yes"; + handled = true; + } else - let - msg = - if inHydra then - "Warning while evaluating ${getNameWithVersion attrs}: «${warning.reason}»: ${warning.errormsg}" - else - "Package ${getNameWithVersion attrs} in ${pos_str meta} ${warning.errormsg}, continuing anyway." - + (optionalString (warning.remediation != "") "\n${warning.remediation}"); - - handled = if elem warning.reason showWarnings then trace msg true else true; - in - warning - // { - valid = "warn"; - handled = handled; + { + valid = if isNull problems.error then "warn" else "no"; + handled = handle { + inherit attrs meta; + inherit (problems) error warnings; + }; } else - let - msg = - if inHydra then - "Failed to evaluate ${getNameWithVersion attrs}: «${invalid.reason}»: ${invalid.errormsg}" - else - '' - Package ‘${getNameWithVersion attrs}’ in ${pos_str meta} ${invalid.errormsg}, refusing to evaluate. - - '' - + invalid.remediation; - - handled = if config ? handleEvalIssue then config.handleEvalIssue invalid.reason msg else throw msg; - in - invalid - // { + { valid = "no"; - handled = handled; + handled = handle { + inherit attrs meta; + error = invalid; + }; }; in diff --git a/pkgs/stdenv/generic/meta-types.nix b/pkgs/stdenv/generic/meta-types.nix index a51ae2b127113..6e432d1ed609a 100644 --- a/pkgs/stdenv/generic/meta-types.nix +++ b/pkgs/stdenv/generic/meta-types.nix @@ -5,23 +5,47 @@ # TODO: add a method to the module system types # see https://github.com/NixOS/nixpkgs/pull/273935#issuecomment-1854173100 let - inherit (builtins) + inherit (lib) isString isInt isAttrs isList all any + attrNames attrValues + concatMap isFunction isBool concatStringsSep + concatMapStringsSep isFloat + elem + mapAttrs ; isTypeDef = t: isAttrs t && t ? name && isString t.name && t ? verify && isFunction t.verify; - in lib.fix (self: { + + /* + `errors type "" value` gives a list of string error messages, + each prefixed with ": ", for why `value` is not of type `type` + + Only use this if `type.verify value` is false + + Types can override this by specifying their own `type.errors = ctx: value:` attribute + + This is intentionally not tied into `type.verify`, + in order to keep the successful path as fast as possible with minimal allocations + */ + errors = + t: + t.errors or (ctx: v: [ + "${ctx}: Invalid value; expected ${t.name}, got\n ${ + lib.generators.toPretty { indent = " "; } v + }" + ]); + string = { name = "string"; verify = isString; @@ -69,6 +93,14 @@ lib.fix (self: { verify = # attrsOf can be optimised to just isAttrs if t == self.any then isAttrs else attrs: isAttrs attrs && all verify (attrValues attrs); + errors = + ctx: attrs: + if !isAttrs attrs then + self.errors self.attrs ctx attrs + else + concatMap ( + name: lib.optionals (!verify attrs.${name}) (self.errors t "${ctx}.${name}" attrs.${name}) + ) (attrNames attrs); }; listOf = @@ -82,6 +114,19 @@ lib.fix (self: { verify = # listOf can be optimised to just isList if t == self.any then isList else v: isList v && all verify v; + errors = + ctx: v: + if !isList v then + self.errors self.list ctx v + else + lib.concatMap ({ valid, errors }: errors) ( + lib.filter ({ valid, errors }: !valid) ( + lib.imap0 (i: el: { + valid = verify el; + errors = self.errors t "${ctx}.${toString i}" el; + }) v + ) + ); }; union = @@ -95,4 +140,41 @@ lib.fix (self: { name = "union<${concatStringsSep "," (map (t: t.name) types)}>"; verify = v: any (func: func v) funcs; }; + + enum = + values: + assert isList values && all isString values; + { + name = "enum<${concatStringsSep "," values}>"; + verify = v: isString v && elem v values; + }; + + record = + fields: + assert isAttrs fields && all isTypeDef (attrValues fields); + let + # Map attrs directly to the verify function for performance + fieldVerifiers = mapAttrs (_: t: t.verify) fields; + in + { + name = "record"; + verify = v: isAttrs v && all (k: fieldVerifiers ? ${k} && fieldVerifiers.${k} v.${k}) (attrNames v); + errors = + ctx: v: + if !isAttrs v then + self.errors self.attrs ctx v + else + concatMap ( + k: + if fieldVerifiers ? ${k} then + lib.optionals (!fieldVerifiers.${k} v.${k}) (self.errors fields.${k} "${ctx}.${k}" v.${k}) + else + [ + "${ctx}: key '${k}' is unrecognized; expected one of: \n [${ + concatMapStringsSep ", " (x: "'${x}'") (attrNames fields) + }]" + ] + ) (attrNames v); + }; + }) diff --git a/pkgs/stdenv/generic/problems.nix b/pkgs/stdenv/generic/problems.nix new file mode 100644 index 0000000000000..08d4b6e30ec05 --- /dev/null +++ b/pkgs/stdenv/generic/problems.nix @@ -0,0 +1,515 @@ +/* + This file implements everything around meta.problems, including: + - automaticProblems: Which problems get added automatically based on some condition + - configOptions: Module system options for config.problems + - problemsType: The check for meta.problems + - genHandlerSwitch: The logic to determine the handler for a specific problem based on config.problems + - genCheckProblems: The logic to determine which problems need to be handled and how the messages should look like + + There are tests to cover pretty much this entire file, so please run them when making changes ;) + + nix-build -A tests.problems +*/ + +{ lib }: + +rec { + + inherit (lib.strings) + escapeNixIdentifier + ; + + inherit (lib) + any + listToAttrs + concatStringsSep + optionalString + getName + optionalAttrs + pipe + isString + filterAttrs + mapAttrs + partition + elemAt + max + foldl' + elem + filter + concatMapStringsSep + optional + optionals + concatLists + all + attrNames + attrValues + length + mapAttrsToList + groupBy + subtractLists + genAttrs + ; + + handlers = rec { + # Ordered from less to more + levels = [ + "ignore" + "warn" + "error" + ]; + + lessThan = + a: b: + if a == "error" then + false + else if a == "warn" then + b == "error" + else + b != "ignore"; + + max = a: b: if lessThan a b then b else a; + }; + + # TODO: Combine this and automaticProblems into a `{ removal = { manual = true; ... }; ... }` structure for less error-prone changes + kinds = rec { + # Automatic and manual problem kinds + known = map (problem: problem.kindName) automaticProblems ++ manual; + # Problem kinds that are currently allowed to be specified in `meta.problems` + manual = [ + "removal" + "deprecated" + ]; + # Problem kinds that are currently only allowed to be specified once + unique = [ + "removal" + ]; + + # Same thing but a set with null values (comes in handy at times) + manual' = genAttrs manual (k: null); + unique' = genAttrs unique (k: null); + }; + + automaticProblems = [ + { + kindName = "maintainerless"; + condition = + # To get usable output, we want to avoid flagging "internal" derivations. + # Because we do not have a way to reliably decide between internal or + # external derivation, some heuristics are required to decide. + # + # If `outputHash` is defined, the derivation is a FOD, such as the output of a fetcher. + # If `description` is not defined, the derivation is probably not a package. + # Simply checking whether `meta` is defined is insufficient, + # as some fetchers and trivial builders do define meta. + attrs: + # Order of checks optimised for short-circuiting the common case of having maintainers + (attrs.meta.maintainers or [ ] == [ ]) + && (attrs.meta.teams or [ ] == [ ]) + && (!attrs ? outputHash) + && (attrs ? meta.description); + value.message = "This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute."; + } + ]; + + genAutomaticProblems = + attrs: + listToAttrs ( + map (problem: lib.nameValuePair problem.kindName problem.value) ( + filter (problem: problem.condition attrs) automaticProblems + ) + ); + + # A module system type for Nixpkgs config + configOptions = + let + types = lib.types; + handlerType = types.enum handlers.levels; + problemKindType = types.enum kinds.known; + in + { + handlers = lib.mkOption { + type = with types; attrsOf (attrsOf handlerType); + default = { }; + description = '' + Specify how to handle packages with problems. + Each key has the format `packageName.problemName`, each value is one of "error", "warn" or "ignore". + + This option takes precedence over anything in `problems.matchers`. + + Package names are taken from `lib.getName`, which looks at the `pname` first and falls back to extracting the "pname" part from the `name` attribute. + + See Installing packages with problems in the NixOS manual. + ''; + }; + + matchers = lib.mkOption { + type = types.listOf ( + types.submodule ( + { config, ... }: + { + options = { + package = lib.mkOption { + type = types.nullOr types.str; + description = "Match problems of packages with this name"; + default = null; + }; + name = lib.mkOption { + type = types.nullOr types.str; + description = "Match problems with this problem name"; + default = null; + }; + kind = lib.mkOption { + type = types.nullOr problemKindType; + description = "Match problems of this problem kind"; + default = null; + }; + handler = lib.mkOption { + type = handlerType; + description = "Specify the handler for matched problems"; + }; + + # Temporary hack to get assertions in submodules, see global assertions below + assertions = lib.mkOption { + type = types.listOf types.anything; + default = [ ]; + internal = true; + }; + }; + config = { + assertions = + # Using optional because otherwise message would be evaluated even when assertion is true + ( + optional (config.package != null && config.name != null) { + assertion = false; + # TODO: Does it really matter if we let people specify this? Maybe not, so consider removing this assertion + message = '' + There is a problems.matchers with `package = "${config.package}"` and `name = "${config.name}". Use the following instead: + problems.handlers.${escapeNixIdentifier config.package}.${escapeNixIdentifier config.name} = "${config.handler}"; + ''; + } + ); + }; + } + ) + ); + default = [ ]; + description = '' + A more powerful and less ergonomic version of `problems.handlers`. + Each value is a matcher, that may match onto certain properties of a problem and specify a handler for them. + + If multiple matchers match a problem, the handler with the highest severity (error > warn > ignore) will be used. + Values in `problems.handlers` always take precedence over matchers. + + Any matchers must not contain both a `package` and `name` field, for this should be handled by using `problems.handlers` instead. + ''; + example = [ + { + kind = "maintainerless"; + handler = "warn"; + } + { + package = "myPackageICareAbout"; + handler = "error"; + } + ]; + }; + }; + + # The type for meta.problems + problemsType = + let + types = import ./meta-types.nix { inherit lib; }; + inherit (types) + str + listOf + attrsOf + record + enum + ; + kindType = enum kinds.manual; + subRecord = record { + kind = kindType; + message = str; + urls = listOf str; + }; + simpleType = attrsOf subRecord; + in + { + name = "problems"; + verify = + v: + v == { } + || + simpleType.verify v + && all (problem: problem ? message) (attrValues v) + && ( + let + kindGroups = groupBy (kind: kind) (mapAttrsToList (name: problem: problem.kind or name) v); + in + all (kind: kinds.manual' ? ${kind} && (kinds.unique' ? ${kind} -> length kindGroups.${kind} == 1)) ( + attrNames kindGroups + ) + ); + errors = + ctx: v: + let + kindGroups = groupBy (attrs: attrs.kind) ( + mapAttrsToList (name: problem: { + inherit name; + explicit = problem ? kind; + kind = problem.kind or name; + }) v + ); + in + if !simpleType.verify v then + types.errors simpleType ctx v + else + concatLists ( + mapAttrsToList (name: p: optional (!p ? message) "${ctx}.${name}: `.message` not specified") v + ) + ++ concatLists ( + mapAttrsToList ( + kind: kindGroup: + optionals (!kinds.manual' ? ${kind}) ( + map ( + el: + "${ctx}.${el.name}: Problem kind ${kind}, inferred from the problem name, is invalid; expected ${kindType.name}. You can specify an explicit problem kind with `${ctx}.${el.name}.kind`" + ) (filter (el: !el.explicit) kindGroup) + ) + ++ + optional (kinds.unique' ? ${kind} && length kindGroup > 1) + "${ctx}: Problem kind ${kind} should be unique, but is used for these problems: ${ + concatMapStringsSep ", " (el: el.name) kindGroup + }" + ) kindGroups + ); + }; + + /* + Construct a structure as follows, with the invariant that a more specific path always has a stricter handler, forming a lattice. + E.g. if `packageSpecific.foo.nameFallback.kindFallback == "warn"`, then `packageFallback.nameFallback.kindFallback` must be "ignore". + + packageSpecific. = { + nameSpecific. = { + kindSpecific. = ; + kindFallback = ; + }; + nameFallback = { + kindSpecific. = ; + kindFallback = ; + }; + }; + packageFallback = { + nameSpecific. = { + kindSpecific. = ; + kindFallback = ; + }; + nameFallback = { + kindSpecific. = ; + kindFallback = ; + }; + }; + + Returns both the structure itself for inspection and a function that can query it with very few allocations/lookups + + This allows collapsing arbitrarily many problem handlers/matchers into a predictable structure that can be queried in a predictable and fast way + */ + genHandlerSwitch = + config: + let + constraints = + # matchers have low priority + map (m: m // { priority = 0; }) config.problems.matchers + # handlers have higher priority + ++ concatLists ( + mapAttrsToList ( + package: forPackage: + mapAttrsToList (name: handler: { + inherit package name handler; + kind = null; + priority = 1; + }) forPackage + ) config.problems.handlers + ); + + getHandler = + list: + (foldl' + (acc: el: { + priority = max acc.priority el.priority; + handler = + if acc.priority == el.priority then + handlers.max acc.handler el.handler + else if acc.priority > el.priority then + acc.handler + else + el.handler; + }) + { + priority = 0; + handler = "ignore"; + } + list + ).handler; + + identOrder = [ + "kind" + "name" + "package" + ]; + + doLevel = + index: + let + ident = elemAt identOrder index; + nextLevel = if index + 1 == length identOrder then getHandler else doLevel (index + 1); + in + list: + let + # Partition all matchers into ident-specific (.wrong) and -unspecific (.right) ones + parted = partition (m: isNull m.${ident}) list; + # We only use the unspecific ones to compute the fallback + fallback = nextLevel parted.right; + specific = pipe parted.wrong [ + (groupBy (m: m.${ident})) + # For ident-specific handlers, the unspecific ones also apply + (mapAttrs (package: handlers: nextLevel (handlers ++ parted.right))) + # Memory optimisation: Don't need a specific handler if it would end up the same as the fallback + (filterAttrs (name: res: res != fallback)) + ]; + in + # Optimisation in case it's always the same handler, + # can propagate up for the entire switch to just be a string + if specific == { } && isString fallback then + fallback + else + { + "${ident}Fallback" = fallback; + "${ident}Specific" = specific; + }; + switch = doLevel 0 constraints; + in + { + inherit switch; + handlerForProblem = + if isString switch then + pname: name: kind: + switch + else + pname: name: kind: + let + switch' = switch.kindSpecific.${kind} or switch.kindFallback; + in + if isString switch' then + switch' + else + let + switch'' = switch'.nameSpecific.${name} or switch'.nameFallback; + in + if isString switch'' then + switch'' + else + switch''.packageSpecific.${pname} or switch''.packageFallback; + }; + + genCheckProblems = + config: + let + # This is here so that it gets cached for a (checkProblems config) thunk + inherit (genHandlerSwitch config) + handlerForProblem + ; + in + attrs: + let + pname = getName attrs; + manualProblems = attrs.meta.problems or { }; + in + if + # Fast path for when there's no problem that needs to be handled + # No automatic problems that needs handling + all ( + problem: + problem.condition attrs -> handlerForProblem pname problem.kindName problem.kindName == "ignore" + ) automaticProblems + && ( + # No manual problems + manualProblems == { } + # Or all manual problems are ignored + || all (name: handlerForProblem pname name (manualProblems.${name}.kind or name) == "ignore") ( + attrNames manualProblems + ) + ) + then + null + else + # Slow path, only here we actually figure out which problems we need to handle + let + problems = attrs.meta.problems or { } // genAutomaticProblems attrs; + problemsToHandle = filter (v: v.handler != "ignore") ( + mapAttrsToList (name: problem: rec { + inherit name; + # Kind falls back to the name + kind = problem.kind or name; + handler = handlerForProblem pname name kind; + inherit problem; + }) problems + ); + in + processProblems pname problemsToHandle; + + processProblems = + pname: problemsToHandle: + let + grouped = groupBy (v: v.handler) problemsToHandle; + + warnProblems = grouped.warn or [ ]; + errorProblems = grouped.error or [ ]; + + # assert annotatedProblems != [ ]; + fullMessage = + v: + "${v.name}${optionalString (v.kind != v.name) " (kind \"${v.kind}\")"}: " + + "${v.problem.message}${ + optionalString (v.problem.urls or [ ] != [ ]) " (${concatStringsSep ", " v.problem.urls})" + }"; + + warnings = map (x: { + reason = "problem"; + msg = "has the following problem: ${fullMessage x}"; + remediation = "See https://nixos.org/manual/nixpkgs/unstable#sec-problems"; # TODO: Add remediation, maybe just link to docs to keep it small + }) warnProblems; + + error = + if errorProblems == [ ] then + null + else + { + msg = '' + has problems: + ${concatMapStringsSep "\n" (x: "- ${fullMessage x}") errorProblems} + ''; + ## TODO: Add mention of problem.matchers, or maybe better link to docs of that + remediation = '' + See also https://nixos.org/manual/nixpkgs/unstable#sec-problems + To allow evaluation regardless, use: + - Nixpkgs import: import nixpkgs { config = ; } + - NixOS: nixpkgs.config = ; + - nix-* commands: Put below code in ~/.config/nixpkgs/config.nix + + { + problems.handlers = { + ${concatMapStringsSep "\n " ( + problem: + ''${escapeNixIdentifier pname}.${escapeNixIdentifier problem.name} = "warn"; # or "ignore"'' + ) errorProblems} + }; + } + ''; + }; + in + { + inherit error warnings; + }; + +} diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index efcd4963136df..acd0982ed5f89 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -187,6 +187,11 @@ in texlive = recurseIntoAttrs (callPackage ./texlive { }); + # TODO: Temporarily disabled recursion so we can see the performance comparison in the PR, + # which only runs if there's exactly the same packages before and after, and this would add packages + #problems = recurseIntoAttrs (callPackage ./problems { }); + problems = callPackage ./problems { }; + cuda = callPackage ./cuda { }; trivial-builders = callPackage ../build-support/trivial-builders/test/default.nix { }; diff --git a/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/default.nix b/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/default.nix new file mode 100644 index 0000000000000..496c562890a56 --- /dev/null +++ b/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/default.nix @@ -0,0 +1,24 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers = { + "a"."deprecated" = "error"; + "a"."removal" = "error"; + "a"."maintainerless" = "error"; + }; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.description = "Some package"; + meta.problems = { + deprecated.message = "Package is deprecated and replaced by b."; + removal.message = "Package will be removed."; + }; + meta.maintainers = [ ]; +} diff --git a/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/expected-stderr b/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/expected-stderr new file mode 100644 index 0000000000000..35fc25e10a989 --- /dev/null +++ b/pkgs/test/problems/cases/deprecated-and-removal-and-maintainerless-error/expected-stderr @@ -0,0 +1,20 @@ +(stack trace truncated; use '--show-trace' to show the full, detailed trace) + +error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:18 because it has problems: +- deprecated: Package is deprecated and replaced by b. +- maintainerless: This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute. +- removal: Package will be removed. + +See also https://nixos.org/manual/nixpkgs/unstable#sec-problems +To allow evaluation regardless, use: +- Nixpkgs import: import nixpkgs { config = ; } +- NixOS: nixpkgs.config = ; +- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix + + { + problems.handlers = { + a.deprecated = "warn"; # or "ignore" + a.maintainerless = "warn"; # or "ignore" + a.removal = "warn"; # or "ignore" + }; + } diff --git a/pkgs/test/problems/cases/deprecated-and-removal-error/default.nix b/pkgs/test/problems/cases/deprecated-and-removal-error/default.nix new file mode 100644 index 0000000000000..20a18cc17c78e --- /dev/null +++ b/pkgs/test/problems/cases/deprecated-and-removal-error/default.nix @@ -0,0 +1,22 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers = { + "a"."deprecated" = "error"; + "a"."removal" = "error"; + }; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.problems = { + deprecated.message = "Package is deprecated and replaced by b"; + removal.message = "Package will be removed"; + }; + meta.maintainers = [ "hello" ]; +} diff --git a/pkgs/test/problems/cases/deprecated-and-removal-error/expected-stderr b/pkgs/test/problems/cases/deprecated-and-removal-error/expected-stderr new file mode 100644 index 0000000000000..f23f10373fc36 --- /dev/null +++ b/pkgs/test/problems/cases/deprecated-and-removal-error/expected-stderr @@ -0,0 +1,18 @@ +(stack trace truncated; use '--show-trace' to show the full, detailed trace) + +error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:16 because it has problems: +- deprecated: Package is deprecated and replaced by b +- removal: Package will be removed + +See also https://nixos.org/manual/nixpkgs/unstable#sec-problems +To allow evaluation regardless, use: +- Nixpkgs import: import nixpkgs { config = ; } +- NixOS: nixpkgs.config = ; +- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix + + { + problems.handlers = { + a.deprecated = "warn"; # or "ignore" + a.removal = "warn"; # or "ignore" + }; + } diff --git a/pkgs/test/problems/cases/deprecated-error/default.nix b/pkgs/test/problems/cases/deprecated-error/default.nix new file mode 100644 index 0000000000000..405d394bd893f --- /dev/null +++ b/pkgs/test/problems/cases/deprecated-error/default.nix @@ -0,0 +1,20 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers = { + "a"."deprecated" = "error"; + }; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.problems.deprecated = { + message = "Package is deprecated and replaced by b"; + }; + meta.maintainers = [ "hello" ]; +} diff --git a/pkgs/test/problems/cases/deprecated-error/expected-stderr b/pkgs/test/problems/cases/deprecated-error/expected-stderr new file mode 100644 index 0000000000000..6eba972e87757 --- /dev/null +++ b/pkgs/test/problems/cases/deprecated-error/expected-stderr @@ -0,0 +1,16 @@ +(stack trace truncated; use '--show-trace' to show the full, detailed trace) + +error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:15 because it has problems: +- deprecated: Package is deprecated and replaced by b + +See also https://nixos.org/manual/nixpkgs/unstable#sec-problems +To allow evaluation regardless, use: +- Nixpkgs import: import nixpkgs { config = ; } +- NixOS: nixpkgs.config = ; +- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix + + { + problems.handlers = { + a.deprecated = "warn"; # or "ignore" + }; + } diff --git a/pkgs/test/problems/cases/deprecated-ignore/default.nix b/pkgs/test/problems/cases/deprecated-ignore/default.nix new file mode 100644 index 0000000000000..0ce36d2948423 --- /dev/null +++ b/pkgs/test/problems/cases/deprecated-ignore/default.nix @@ -0,0 +1,18 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers = { + "a"."deprecated" = "ignore"; + }; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.problems.deprecated.message = "Package is deprecated and is replaced by b."; + meta.maintainers = [ "hello" ]; +} diff --git a/pkgs/test/problems/cases/deprecated-ignore/expected-stderr b/pkgs/test/problems/cases/deprecated-ignore/expected-stderr new file mode 100644 index 0000000000000..c255c1d5a32bd --- /dev/null +++ b/pkgs/test/problems/cases/deprecated-ignore/expected-stderr @@ -0,0 +1 @@ +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/cases/deprecated-warn/default.nix b/pkgs/test/problems/cases/deprecated-warn/default.nix new file mode 100644 index 0000000000000..bcafc3e96f6a7 --- /dev/null +++ b/pkgs/test/problems/cases/deprecated-warn/default.nix @@ -0,0 +1,18 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers = { + "a"."deprecated" = "warn"; + }; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.problems.deprecated.message = "Package a is deprecated and superseeded by b."; + meta.maintainers = [ "hello" ]; +} diff --git a/pkgs/test/problems/cases/deprecated-warn/expected-stderr b/pkgs/test/problems/cases/deprecated-warn/expected-stderr new file mode 100644 index 0000000000000..c0cd1ab06bb68 --- /dev/null +++ b/pkgs/test/problems/cases/deprecated-warn/expected-stderr @@ -0,0 +1,2 @@ +evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:15 has the following problem: deprecated: Package a is deprecated and superseeded by b. See https://nixos.org/manual/nixpkgs/unstable#sec-problems +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/cases/invalid-kind-error/default.nix b/pkgs/test/problems/cases/invalid-kind-error/default.nix new file mode 100644 index 0000000000000..acb4d9e8b43ec --- /dev/null +++ b/pkgs/test/problems/cases/invalid-kind-error/default.nix @@ -0,0 +1,15 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config.checkMeta = true; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.problems = { + invalid.message = "No maintainers"; + }; +} diff --git a/pkgs/test/problems/cases/invalid-kind-error/expected-stderr b/pkgs/test/problems/cases/invalid-kind-error/expected-stderr new file mode 100644 index 0000000000000..dbe13602c3f89 --- /dev/null +++ b/pkgs/test/problems/cases/invalid-kind-error/expected-stderr @@ -0,0 +1,4 @@ +(stack trace truncated; use '--show-trace' to show the full, detailed trace) + +error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:11 because it has an invalid meta attrset: + - a.meta.problems.invalid: Problem kind invalid, inferred from the problem name, is invalid; expected enum. You can specify an explicit problem kind with `a.meta.problems.invalid.kind` diff --git a/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/default.nix b/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/default.nix new file mode 100644 index 0000000000000..6c58ecf5599cc --- /dev/null +++ b/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/default.nix @@ -0,0 +1,24 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers = { + "a"."maintainerless" = "warn"; + "a"."deprecated" = "warn"; + "a"."removal" = "warn"; + }; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.description = "Some package"; + meta.maintainers = [ ]; + meta.problems = { + removal.message = "Package to be removed."; + deprecated.message = "Package will be deprecated."; + }; +} diff --git a/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/expected-stderr b/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/expected-stderr new file mode 100644 index 0000000000000..2170efd4cddb8 --- /dev/null +++ b/pkgs/test/problems/cases/maintainerless-and-removal-and-deprecated-warn/expected-stderr @@ -0,0 +1,4 @@ +evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:18 has the following problem: deprecated: Package will be deprecated. See https://nixos.org/manual/nixpkgs/unstable#sec-problems +evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:18 has the following problem: maintainerless: This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute. See https://nixos.org/manual/nixpkgs/unstable#sec-problems +evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:18 has the following problem: removal: Package to be removed. See https://nixos.org/manual/nixpkgs/unstable#sec-problems +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/cases/maintainerless-and-removal-warn/default.nix b/pkgs/test/problems/cases/maintainerless-and-removal-warn/default.nix new file mode 100644 index 0000000000000..7d672a89f7c58 --- /dev/null +++ b/pkgs/test/problems/cases/maintainerless-and-removal-warn/default.nix @@ -0,0 +1,20 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers = { + "a"."maintainerless" = "warn"; + "a"."removal" = "warn"; + }; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.description = "Some package"; + meta.maintainers = [ ]; + meta.problems.removal.message = "Package will be removed."; +} diff --git a/pkgs/test/problems/cases/maintainerless-and-removal-warn/expected-stderr b/pkgs/test/problems/cases/maintainerless-and-removal-warn/expected-stderr new file mode 100644 index 0000000000000..0a6a99fd9d14d --- /dev/null +++ b/pkgs/test/problems/cases/maintainerless-and-removal-warn/expected-stderr @@ -0,0 +1,3 @@ +evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:17 has the following problem: maintainerless: This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute. See https://nixos.org/manual/nixpkgs/unstable#sec-problems +evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:17 has the following problem: removal: Package will be removed. See https://nixos.org/manual/nixpkgs/unstable#sec-problems +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/cases/maintainerless-error/default.nix b/pkgs/test/problems/cases/maintainerless-error/default.nix new file mode 100644 index 0000000000000..e925b45e08624 --- /dev/null +++ b/pkgs/test/problems/cases/maintainerless-error/default.nix @@ -0,0 +1,18 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers = { + "a"."maintainerless" = "error"; + }; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.description = "Some package"; + meta.maintainers = [ ]; +} diff --git a/pkgs/test/problems/cases/maintainerless-error/expected-stderr b/pkgs/test/problems/cases/maintainerless-error/expected-stderr new file mode 100644 index 0000000000000..9d98ce9e40fb4 --- /dev/null +++ b/pkgs/test/problems/cases/maintainerless-error/expected-stderr @@ -0,0 +1,16 @@ +(stack trace truncated; use '--show-trace' to show the full, detailed trace) + +error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:16 because it has problems: +- maintainerless: This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute. + +See also https://nixos.org/manual/nixpkgs/unstable#sec-problems +To allow evaluation regardless, use: +- Nixpkgs import: import nixpkgs { config = ; } +- NixOS: nixpkgs.config = ; +- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix + + { + problems.handlers = { + a.maintainerless = "warn"; # or "ignore" + }; + } diff --git a/pkgs/test/problems/cases/maintainerless-ignore/default.nix b/pkgs/test/problems/cases/maintainerless-ignore/default.nix new file mode 100644 index 0000000000000..8531510073d40 --- /dev/null +++ b/pkgs/test/problems/cases/maintainerless-ignore/default.nix @@ -0,0 +1,17 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers = { + "a"."maintainerless" = "ignore"; + }; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.maintainers = [ ]; +} diff --git a/pkgs/test/problems/cases/maintainerless-ignore/expected-stderr b/pkgs/test/problems/cases/maintainerless-ignore/expected-stderr new file mode 100644 index 0000000000000..c255c1d5a32bd --- /dev/null +++ b/pkgs/test/problems/cases/maintainerless-ignore/expected-stderr @@ -0,0 +1 @@ +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/cases/maintainerless-warn/default.nix b/pkgs/test/problems/cases/maintainerless-warn/default.nix new file mode 100644 index 0000000000000..abaf4c5c2b165 --- /dev/null +++ b/pkgs/test/problems/cases/maintainerless-warn/default.nix @@ -0,0 +1,18 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers = { + "a"."maintainerless" = "warn"; + }; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.description = "Some package"; + meta.maintainers = [ ]; +} diff --git a/pkgs/test/problems/cases/maintainerless-warn/expected-stderr b/pkgs/test/problems/cases/maintainerless-warn/expected-stderr new file mode 100644 index 0000000000000..70a9385eec00a --- /dev/null +++ b/pkgs/test/problems/cases/maintainerless-warn/expected-stderr @@ -0,0 +1,2 @@ +evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:16 has the following problem: maintainerless: This package has no declared maintainer, i.e. an empty `meta.maintainers` and `meta.teams` attribute. See https://nixos.org/manual/nixpkgs/unstable#sec-problems +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/cases/no-message/default.nix b/pkgs/test/problems/cases/no-message/default.nix new file mode 100644 index 0000000000000..bc89ad823f5da --- /dev/null +++ b/pkgs/test/problems/cases/no-message/default.nix @@ -0,0 +1,22 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + checkMeta = true; + problems.matchers = [ + { + package = "a"; + handler = "error"; + } + ]; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.description = "Some package"; + meta.problems.removal = { }; +} diff --git a/pkgs/test/problems/cases/no-message/expected-stderr b/pkgs/test/problems/cases/no-message/expected-stderr new file mode 100644 index 0000000000000..d40bf1e172801 --- /dev/null +++ b/pkgs/test/problems/cases/no-message/expected-stderr @@ -0,0 +1,4 @@ +(stack trace truncated; use '--show-trace' to show the full, detailed trace) + +error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:20 because it has an invalid meta attrset: + - a.meta.problems.removal: `.message` not specified diff --git a/pkgs/test/problems/cases/no-problems-description/default.nix b/pkgs/test/problems/cases/no-problems-description/default.nix new file mode 100644 index 0000000000000..66a201eab4031 --- /dev/null +++ b/pkgs/test/problems/cases/no-problems-description/default.nix @@ -0,0 +1,19 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.matchers = [ + { + package = "a"; + handler = "error"; + } + ]; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; +} diff --git a/pkgs/test/problems/cases/no-problems-description/expected-stderr b/pkgs/test/problems/cases/no-problems-description/expected-stderr new file mode 100644 index 0000000000000..c255c1d5a32bd --- /dev/null +++ b/pkgs/test/problems/cases/no-problems-description/expected-stderr @@ -0,0 +1 @@ +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/cases/no-problems-fod/default.nix b/pkgs/test/problems/cases/no-problems-fod/default.nix new file mode 100644 index 0000000000000..5b7cb9fdb2028 --- /dev/null +++ b/pkgs/test/problems/cases/no-problems-fod/default.nix @@ -0,0 +1,21 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.matchers = [ + { + package = "a"; + handler = "error"; + } + ]; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.description = "Some package"; + outputHash = pkgs.lib.fakeHash; +} diff --git a/pkgs/test/problems/cases/no-problems-fod/expected-stderr b/pkgs/test/problems/cases/no-problems-fod/expected-stderr new file mode 100644 index 0000000000000..c255c1d5a32bd --- /dev/null +++ b/pkgs/test/problems/cases/no-problems-fod/expected-stderr @@ -0,0 +1 @@ +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/cases/no-problems-team-maintainer/default.nix b/pkgs/test/problems/cases/no-problems-team-maintainer/default.nix new file mode 100644 index 0000000000000..605bf0c2f6962 --- /dev/null +++ b/pkgs/test/problems/cases/no-problems-team-maintainer/default.nix @@ -0,0 +1,21 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.matchers = [ + { + package = "a"; + handler = "error"; + } + ]; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.teams = [ "hello" ]; + meta.description = "Some package"; +} diff --git a/pkgs/test/problems/cases/no-problems-team-maintainer/expected-stderr b/pkgs/test/problems/cases/no-problems-team-maintainer/expected-stderr new file mode 100644 index 0000000000000..c255c1d5a32bd --- /dev/null +++ b/pkgs/test/problems/cases/no-problems-team-maintainer/expected-stderr @@ -0,0 +1 @@ +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/cases/no-problems/default.nix b/pkgs/test/problems/cases/no-problems/default.nix new file mode 100644 index 0000000000000..2780c964ae4bc --- /dev/null +++ b/pkgs/test/problems/cases/no-problems/default.nix @@ -0,0 +1,21 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.matchers = [ + { + package = "a"; + handler = "error"; + } + ]; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.maintainers = [ "hello" ]; + meta.description = "Some package"; +} diff --git a/pkgs/test/problems/cases/no-problems/expected-stderr b/pkgs/test/problems/cases/no-problems/expected-stderr new file mode 100644 index 0000000000000..c255c1d5a32bd --- /dev/null +++ b/pkgs/test/problems/cases/no-problems/expected-stderr @@ -0,0 +1 @@ +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/cases/non-attrs-problem/default.nix b/pkgs/test/problems/cases/non-attrs-problem/default.nix new file mode 100644 index 0000000000000..167630e49314a --- /dev/null +++ b/pkgs/test/problems/cases/non-attrs-problem/default.nix @@ -0,0 +1,21 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + checkMeta = true; + problems.matchers = [ + { + package = "a"; + handler = "error"; + } + ]; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.problems.florp = true; +} diff --git a/pkgs/test/problems/cases/non-attrs-problem/expected-stderr b/pkgs/test/problems/cases/non-attrs-problem/expected-stderr new file mode 100644 index 0000000000000..f4abb09ff9943 --- /dev/null +++ b/pkgs/test/problems/cases/non-attrs-problem/expected-stderr @@ -0,0 +1,5 @@ +(stack trace truncated; use '--show-trace' to show the full, detailed trace) + +error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:19 because it has an invalid meta attrset: + - a.meta.problems.florp: Invalid value; expected attrs, got + true diff --git a/pkgs/test/problems/cases/package-name-matcher/default.nix b/pkgs/test/problems/cases/package-name-matcher/default.nix new file mode 100644 index 0000000000000..570c9f6f389c3 --- /dev/null +++ b/pkgs/test/problems/cases/package-name-matcher/default.nix @@ -0,0 +1,20 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.matchers = [ + { + package = "a"; + name = "b"; + handler = "error"; + } + ]; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; +} diff --git a/pkgs/test/problems/cases/package-name-matcher/expected-stderr b/pkgs/test/problems/cases/package-name-matcher/expected-stderr new file mode 100644 index 0000000000000..9e38189c515f7 --- /dev/null +++ b/pkgs/test/problems/cases/package-name-matcher/expected-stderr @@ -0,0 +1,5 @@ +(stack trace truncated; use '--show-trace' to show the full, detailed trace) + +error: Failed assertions: +- There is a problems.matchers with `package = "a"` and `name = "b". Use the following instead: + problems.handlers.a.b = "error"; diff --git a/pkgs/test/problems/cases/problem-urls/default.nix b/pkgs/test/problems/cases/problem-urls/default.nix new file mode 100644 index 0000000000000..1674e046caf9c --- /dev/null +++ b/pkgs/test/problems/cases/problem-urls/default.nix @@ -0,0 +1,28 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.matchers = [ + { + package = "a"; + handler = "error"; + } + ]; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.maintainers = [ "hello" ]; + meta.description = "Some package"; + meta.problems.removal = { + message = "Removed because of XYZ."; + urls = [ + "https://example.com" + "https://anotherexample.com" + ]; + }; +} diff --git a/pkgs/test/problems/cases/problem-urls/expected-stderr b/pkgs/test/problems/cases/problem-urls/expected-stderr new file mode 100644 index 0000000000000..e27b57297ef0e --- /dev/null +++ b/pkgs/test/problems/cases/problem-urls/expected-stderr @@ -0,0 +1,16 @@ +(stack trace truncated; use '--show-trace' to show the full, detailed trace) + +error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:20 because it has problems: +- removal: Removed because of XYZ. (https://example.com, https://anotherexample.com) + +See also https://nixos.org/manual/nixpkgs/unstable#sec-problems +To allow evaluation regardless, use: +- Nixpkgs import: import nixpkgs { config = ; } +- NixOS: nixpkgs.config = ; +- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix + + { + problems.handlers = { + a.removal = "warn"; # or "ignore" + }; + } diff --git a/pkgs/test/problems/cases/removal-error/default.nix b/pkgs/test/problems/cases/removal-error/default.nix new file mode 100644 index 0000000000000..5fd17d5186125 --- /dev/null +++ b/pkgs/test/problems/cases/removal-error/default.nix @@ -0,0 +1,17 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers.a.removal = "error"; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.problems = { + removal.message = "This package has been abandoned upstream and will be removed."; + }; +} diff --git a/pkgs/test/problems/cases/removal-error/expected-stderr b/pkgs/test/problems/cases/removal-error/expected-stderr new file mode 100644 index 0000000000000..9d60a973e552d --- /dev/null +++ b/pkgs/test/problems/cases/removal-error/expected-stderr @@ -0,0 +1,16 @@ +(stack trace truncated; use '--show-trace' to show the full, detailed trace) + +error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:13 because it has problems: +- removal: This package has been abandoned upstream and will be removed. + +See also https://nixos.org/manual/nixpkgs/unstable#sec-problems +To allow evaluation regardless, use: +- Nixpkgs import: import nixpkgs { config = ; } +- NixOS: nixpkgs.config = ; +- nix-* commands: Put below code in ~/.config/nixpkgs/config.nix + + { + problems.handlers = { + a.removal = "warn"; # or "ignore" + }; + } diff --git a/pkgs/test/problems/cases/removal-ignore/default.nix b/pkgs/test/problems/cases/removal-ignore/default.nix new file mode 100644 index 0000000000000..0cccb8873b276 --- /dev/null +++ b/pkgs/test/problems/cases/removal-ignore/default.nix @@ -0,0 +1,17 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { + problems.handlers = { + "a"."removal" = "ignore"; + }; + }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.problems.removal.message = "To be removed"; +} diff --git a/pkgs/test/problems/cases/removal-ignore/expected-stderr b/pkgs/test/problems/cases/removal-ignore/expected-stderr new file mode 100644 index 0000000000000..c255c1d5a32bd --- /dev/null +++ b/pkgs/test/problems/cases/removal-ignore/expected-stderr @@ -0,0 +1 @@ +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/cases/removal-twice-error/default.nix b/pkgs/test/problems/cases/removal-twice-error/default.nix new file mode 100644 index 0000000000000..7898a9ae30eec --- /dev/null +++ b/pkgs/test/problems/cases/removal-twice-error/default.nix @@ -0,0 +1,22 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config.checkMeta = true; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.description = "Some package"; + meta.problems = { + removal = { + message = "This package has been abandoned upstream and will be removed"; + }; + removal2 = { + kind = "removal"; + message = "This package has been abandoned upstream and will be removed2"; + }; + }; +} diff --git a/pkgs/test/problems/cases/removal-twice-error/expected-stderr b/pkgs/test/problems/cases/removal-twice-error/expected-stderr new file mode 100644 index 0000000000000..86177f4c31f48 --- /dev/null +++ b/pkgs/test/problems/cases/removal-twice-error/expected-stderr @@ -0,0 +1,4 @@ +(stack trace truncated; use '--show-trace' to show the full, detailed trace) + +error: Refusing to evaluate package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:12 because it has an invalid meta attrset: + - a.meta.problems: Problem kind removal should be unique, but is used for these problems: removal, removal2 diff --git a/pkgs/test/problems/cases/removal-warn/default.nix b/pkgs/test/problems/cases/removal-warn/default.nix new file mode 100644 index 0000000000000..60475d75591a5 --- /dev/null +++ b/pkgs/test/problems/cases/removal-warn/default.nix @@ -0,0 +1,14 @@ +{ nixpkgs }: +let + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ ]; + config = { }; + }; +in +pkgs.stdenvNoCC.mkDerivation { + pname = "a"; + version = "0"; + meta.maintainers = [ "hello" ]; + meta.problems.removal.message = "Package to be removed."; +} diff --git a/pkgs/test/problems/cases/removal-warn/expected-stderr b/pkgs/test/problems/cases/removal-warn/expected-stderr new file mode 100644 index 0000000000000..619e727b9f1be --- /dev/null +++ b/pkgs/test/problems/cases/removal-warn/expected-stderr @@ -0,0 +1,2 @@ +evaluation warning: Package 'a-0' in /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-default.nix:11 has the following problem: removal: Package to be removed. See https://nixos.org/manual/nixpkgs/unstable#sec-problems +warning: you did not specify '--add-root'; the result might be removed by the garbage collector diff --git a/pkgs/test/problems/default.nix b/pkgs/test/problems/default.nix new file mode 100644 index 0000000000000..1e2ce5108bbe6 --- /dev/null +++ b/pkgs/test/problems/default.nix @@ -0,0 +1,60 @@ +{ + lib, + nix, + runCommand, + removeReferencesTo, + path, + gitMinimal, +}: +let + nixpkgs = lib.cleanSource path; + unitResult = import ./unit.nix { inherit lib; }; +in +assert lib.assertMsg (unitResult == [ ]) + "problems/unit.nix failing: ${lib.generators.toPretty { } unitResult}"; +lib.mapAttrs ( + name: _: + let + nixFile = "${./cases + "/${name}/default.nix"}"; + result = runCommand "test-problems-${name}" { nativeBuildInputs = [ removeReferencesTo ]; } '' + export NIX_STATE_DIR=$(mktemp -d) + mkdir $out + + command=( + # FIXME: Using this version because it doesn't print a trace by default + # Probably should have some regex-style error matching instead + "${lib.getBin nix}/bin/nix-instantiate" + ${nixFile} + # Readonly mode because we don't need to write anything to the store + "--readonly-mode" + "--arg" + "nixpkgs" + "${nixpkgs}" + ) + + echo "''${command[*]@Q}" > $out/command + echo "Running ''${command[*]@Q}" + set +e + "''${command[@]}" >$out/stdout 2>$out/stderr + set +e + echo "$?" > $out/code + echo "Command exited with code $(<$out/code)" + remove-references-to -t ${nixFile} $out/stderr + if grep '(stack trace truncated.*)' $out/stderr; then + sed -i -n '/(stack trace truncated.*)/,$ p' $out/stderr + fi + sed -i 's/^ //' $out/stderr + ''; + checker = runCommand "test-problems-check-${name}" { } '' + if ! PAGER=cat ${lib.getExe gitMinimal} diff --no-index ${ + ./cases + "/${name}/expected-stderr" + } ${result}/stderr ; then + echo "Output of $(< ${result}/command) does not match what was expected. To adapt:" + echo "cp ${result}/stderr ${lib.path.removePrefix path ./cases + "/${name}/expected-stderr"}" + exit 1 + fi + touch $out + ''; + in + checker +) (builtins.readDir ./cases) diff --git a/pkgs/test/problems/unit.nix b/pkgs/test/problems/unit.nix new file mode 100644 index 0000000000000..073ddaa12cfa5 --- /dev/null +++ b/pkgs/test/problems/unit.nix @@ -0,0 +1,153 @@ +{ lib }: +let + p = import ../../stdenv/generic/problems.nix { inherit lib; }; + + genHandlerTest = + let + slowReference = + config: package: name: kind: + # Try to find an explicit handler + (config.problems.handlers.${package} or { }).${name} + # Fall back, iterating through the matchers + or (lib.pipe config.problems.matchers [ + # Find matches + (lib.filter ( + matcher: + (matcher.name != null -> name == matcher.name) + && (matcher.kind != null -> kind == matcher.kind) + && (matcher.package != null -> package == matcher.package) + )) + # Extract handler level + (map (matcher: matcher.handler)) + # Take the strongest matched handler level + (lib.foldl' p.handlers.max "ignore") + ]); + + genValue = + f: + map + ( + package: + map + ( + name: + map (kind: f package name kind) [ + "k1" + "k2" + "k3" + ] + ) + [ + "n1" + "n2" + "n3" + ] + ) + [ + "p1" + "p2" + "p3" + ]; + + in + v: { + expr = genValue (p.genHandlerSwitch { problems = v; }).handlerForProblem; + expected = genValue (slowReference { + problems = v; + }); + }; +in +lib.runTests { + testHandlersLessThan = + let + levels = p.handlers.levels; + slowReference = + a: b: + lib.lists.findFirstIndex (v: v == a) (abort "Shouldn't happen") levels + < lib.lists.findFirstIndex (v: v == b) (abort "Shouldn't happen") levels; + + genValue = + f: + lib.genList ( + i: lib.genList (j: f (lib.elemAt levels i) (lib.elemAt levels j)) (lib.length levels) + ) (lib.length levels); + in + { + expr = genValue p.handlers.lessThan; + expected = genValue slowReference; + }; + + testHandlerEmpty = genHandlerTest { + matchers = [ ]; + handlers = { }; + }; + + testHandlerNameSpecificHandlers = genHandlerTest { + matchers = [ ]; + handlers.p1.n1 = "error"; + handlers.p1.n2 = "warn"; + handlers.p1.n3 = "ignore"; + }; + + testHandlerPackageSpecificHandlers = genHandlerTest { + matchers = [ ]; + handlers.p1.n1 = "error"; + handlers.p2.n1 = "warn"; + handlers.p3.n1 = "ignore"; + }; + + testHandlersOverrideMatchers = genHandlerTest { + matchers = [ + { + package = "p1"; + name = "n1"; + kind = null; + handler = "error"; + } + ]; + handlers.p1.n1 = "warn"; + }; + + testMatchersDefault = genHandlerTest { + matchers = [ + # Everything should warn by default + { + package = null; + name = null; + kind = null; + handler = "warn"; + } + ]; + handlers = { }; + }; + + testMatchersComplicated = genHandlerTest { + matchers = [ + { + package = "p1"; + name = null; + kind = null; + handler = "warn"; + } + { + package = "p1"; + name = "n1"; + kind = null; + handler = "error"; + } + { + package = "p1"; + name = null; + kind = "k1"; + handler = "error"; + } + { + package = "p1"; + name = "n2"; + kind = "k2"; + handler = "error"; + } + ]; + handlers = { }; + }; +} diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix index 0bfe40708a633..c1c75403d5fa5 100644 --- a/pkgs/tools/graphics/gnuplot/default.nix +++ b/pkgs/tools/graphics/gnuplot/default.nix @@ -128,7 +128,7 @@ stdenv.mkDerivation rec { description = "Portable command-line driven graphing utility for many platforms"; platforms = lib.platforms.linux ++ lib.platforms.darwin; license = lib.licenses.gnuplot; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; mainProgram = "gnuplot"; }; } diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix deleted file mode 100644 index a5ffd9d2d8598..0000000000000 --- a/pkgs/tools/graphics/pfstools/default.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - cmake, - pkg-config, - wrapQtAppsHook, - openexr, - zlib, - imagemagick6, - libGLU, - libGL, - libglut, - fftwFloat, - fftw, - gsl, - libexif, - perl, - qtbase, - netpbm, - enableUnfree ? false, - opencv, -}: - -stdenv.mkDerivation rec { - pname = "pfstools"; - version = "2.2.0"; - - src = fetchurl { - url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tgz"; - sha256 = "sha256-m/aESYVmMibCGZjutDwmGsuOSziRuakbcpVUQGKJ18o="; - }; - - outputs = [ - "out" - "dev" - "man" - ]; - - cmakeFlags = [ "-DWITH_MATLAB=false" ]; - - preConfigure = '' - sed -e 's|#include( ''${PROJECT_SRC_DIR}/cmake/FindNETPBM.cmake )|include( ''${PROJECT_SOURCE_DIR}/cmake/FindNETPBM.cmake )|' -i CMakeLists.txt - - rm cmake/FindNETPBM.cmake - echo "SET(NETPBM_LIBRARY `find ${lib.getLib netpbm} -name "*${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake - echo "SET(NETPBM_LIBRARIES `find ${lib.getLib netpbm} -name "*${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake - echo "SET(NETPBM_INCLUDE_DIR ${lib.getDev netpbm}/include/netpbm)" >> cmake/FindNETPBM.cmake - echo "INCLUDE(FindPackageHandleStandardArgs)" >> cmake/FindNETPBM.cmake - echo "FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETPBM DEFAULT_MSG NETPBM_LIBRARY NETPBM_INCLUDE_DIR)" >> cmake/FindNETPBM.cmake - ''; - - nativeBuildInputs = [ - cmake - pkg-config - wrapQtAppsHook - ]; - buildInputs = [ - openexr - zlib - imagemagick6 - fftwFloat - fftw - gsl - libexif - perl - qtbase - netpbm - ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libGLU - libGL - libglut - ] - ++ lib.optional enableUnfree (opencv.override { enableUnfree = true; }); - - patches = [ - ./glut.patch - ./threads.patch - ./pfstools.patch - ./pfsalign.patch - ]; - - meta = { - homepage = "https://pfstools.sourceforge.net/"; - description = "Toolkit for manipulation of HDR images"; - platforms = lib.platforms.linux; - license = lib.licenses.lgpl2; - maintainers = [ lib.maintainers.juliendehos ]; - }; -} diff --git a/pkgs/tools/graphics/pfstools/glut.patch b/pkgs/tools/graphics/pfstools/glut.patch deleted file mode 100644 index b540b5ebc6a6e..0000000000000 --- a/pkgs/tools/graphics/pfstools/glut.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/src/pfsglview/CMakeLists.txt 2022-04-04 23:21:11.164016369 +0300 -+++ b/src/pfsglview/CMakeLists.txt 2022-04-04 23:21:32.757878750 +0300 -@@ -11,8 +11,7 @@ - - add_executable(pfsglview pfsglview.cpp picture_io.cpp module.cpp m_histogram.cpp m_status.cpp m_on_screen_display.cpp) - --# TODO: Use ${GLUT_LIBRARY} instead. --target_link_libraries(pfsglview ${OPENGL_LIBRARIES} ${GLUT_glut_LIBRARY} pfs) -+target_link_libraries(pfsglview ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} pfs) - - install (TARGETS pfsglview DESTINATION bin) - install (FILES pfsglview.1 DESTINATION ${MAN_DIR}) diff --git a/pkgs/tools/graphics/pfstools/pfsalign.patch b/pkgs/tools/graphics/pfstools/pfsalign.patch deleted file mode 100644 index f079415ddcbae..0000000000000 --- a/pkgs/tools/graphics/pfstools/pfsalign.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/src/camera/CMakeLists.txt 2017-11-13 18:38:27.000000000 +0100 -+++ b/src/camera/CMakeLists.txt 2018-12-30 14:55:30.235571520 +0100 -@@ -9,7 +9,7 @@ target_link_libraries(${TRG} pfs) - install (TARGETS ${TRG} DESTINATION bin) - install (FILES ${TRG}.1 DESTINATION ${MAN_DIR}) - --if( OpenCV_FOUND AND EXIF_FOUND ) -+if( OpenCV_FOUND AND MYPKG_FOUND ) - - set(TRG pfsalign) - add_executable(${TRG} ${TRG}.cpp "${GETOPT_OBJECT}") - diff --git a/pkgs/tools/graphics/pfstools/pfstools.patch b/pkgs/tools/graphics/pfstools/pfstools.patch deleted file mode 100644 index c678a25b01bd4..0000000000000 --- a/pkgs/tools/graphics/pfstools/pfstools.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/CMakeLists.txt 2016-05-26 11:31:16.000000000 +0200 -+++ b/CMakeLists.txt 2016-07-22 19:07:22.074669909 +0200 -@@ -320,12 +320,12 @@ - - # ======== libexif ========== - --find_package(EXIF) --if( NOT EXIF_FOUND ) -- message( "EXIF library (libexif) not found. 'pfsalign' will not be compiled" ) --else( NOT EXIF_FOUND ) -- message(STATUS "libexif library found.") --endif( NOT EXIF_FOUND ) -+find_package( PkgConfig REQUIRED ) -+pkg_check_modules( MYPKG REQUIRED libexif IlmBase ) -+if( MYPKG_FOUND ) -+ message( STATUS "libexif and IlmBase found." ) -+endif( MYPKG_FOUND ) -+include_directories( ${MYPKG_INCLUDE_DIRS} ) - - # ======== Config and sub dirs =========== - diff --git a/pkgs/tools/graphics/pfstools/threads.patch b/pkgs/tools/graphics/pfstools/threads.patch deleted file mode 100644 index e3f61db608999..0000000000000 --- a/pkgs/tools/graphics/pfstools/threads.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/src/fileformat/CMakeLists.txt 2016-05-26 11:31:23.000000000 +0200 -+++ b/src/fileformat/CMakeLists.txt 2016-07-21 23:19:56.510958771 +0200 -@@ -53,13 +53,15 @@ - if( OPENEXR_FOUND ) - include_directories("${OPENEXR_INCLUDE_DIR}") - -+ find_package (Threads) -+ - add_executable(pfsinexr pfsinexr.cpp "${GETOPT_OBJECT}") -- target_link_libraries(pfsinexr pfs ${OPENEXR_LIBRARIES}) -+ target_link_libraries(pfsinexr pfs ${OPENEXR_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) - install (TARGETS pfsinexr DESTINATION bin) - install (FILES pfsinexr.1 DESTINATION ${MAN_DIR}) - - add_executable(pfsoutexr pfsoutexr.cpp "${GETOPT_OBJECT}") -- target_link_libraries(pfsoutexr pfs ${OPENEXR_LIBRARIES}) -+ target_link_libraries(pfsoutexr pfs ${OPENEXR_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) - install (TARGETS pfsoutexr DESTINATION bin) - install (FILES pfsoutexr.1 DESTINATION ${MAN_DIR}) - endif( OPENEXR_FOUND ) diff --git a/pkgs/tools/misc/grub/default.nix b/pkgs/tools/misc/grub/default.nix index aa119dac9e8a4..35acf233f7947 100644 --- a/pkgs/tools/misc/grub/default.nix +++ b/pkgs/tools/misc/grub/default.nix @@ -596,7 +596,10 @@ stdenv.mkDerivation rec { echo 'echo "Compile grub2 with { kbdcompSupport = true; } to enable support for this command."' >> util/grub-kbdcomp.in ''; - depsBuildBuild = [ buildPackages.stdenv.cc ]; + depsBuildBuild = [ + buildPackages.stdenv.cc + pkg-config + ]; nativeBuildInputs = [ bison flex @@ -661,6 +664,12 @@ stdenv.mkDerivation rec { ./bootstrap --no-git --gnulib-srcdir=${gnulib} substituteInPlace ./configure --replace '/usr/share/fonts/unifont' '${unifont}/share/fonts' + '' + # build-grub-mkfont is built & run during build, need to find freetype for buildPlatform + + lib.optionalString (!lib.systems.equals stdenv.buildPlatform stdenv.hostPlatform) '' + configureFlagsArray+=( + "BUILD_PKG_CONFIG=$PKG_CONFIG_FOR_BUILD" + ) ''; postConfigure = '' diff --git a/pkgs/tools/misc/tdarr/common.nix b/pkgs/tools/misc/tdarr/common.nix new file mode 100644 index 0000000000000..dd08fb81adde3 --- /dev/null +++ b/pkgs/tools/misc/tdarr/common.nix @@ -0,0 +1,213 @@ +{ + lib, + stdenv, + fetchzip, + autoPatchelfHook, + makeWrapper, + copyDesktopItems, + makeDesktopItem, + ffmpeg, + handbrake, + mkvtoolnix, + ccextractor, + gtk3, + libayatana-appindicator, + wayland, + libxkbcommon, + mesa, + libxcb, + leptonica, + glib, + gobject-introspection, + libx11, + libxcursor, + libxfixes, + tesseract4, + perl, +}: +{ + pname, + component, # "server" or "node" + hashes, + includeInPath ? [ ], # Additional packages to include in PATH + installIcons ? false, # Whether to install icon files + passthru ? { }, # Additional passthru attributes +}: +let + platform = + { + x86_64-linux = "linux_x64"; + aarch64-linux = "linux_arm64"; + x86_64-darwin = "darwin_x64"; + aarch64-darwin = "darwin_arm64"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + componentUpper = + lib.toUpper (builtins.substring 0 1 component) + + builtins.substring 1 (builtins.stringLength component) component; + componentName = "Tdarr_${componentUpper}"; + componentTrayName = "${componentName}_Tray"; + + binPath = lib.makeBinPath ( + [ + ffmpeg + mkvtoolnix + ] + ++ includeInPath + # ! Handbrake is currently marked as broken on darwin + ++ lib.optional (!stdenv.hostPlatform.isDarwin) handbrake + ); + + commonWrapperArgs = lib.escapeShellArgs ( + [ + "--prefix" + "PATH" + ":" + binPath + "--run" + "export rootDataPath=\${rootDataPath:-\${XDG_DATA_HOME:-$HOME/.local/share}/tdarr/${component}}; mkdir -p \"$rootDataPath\"/configs \"$rootDataPath\"/logs; cd \"$rootDataPath\"" + ] + ++ lib.optionals (component == "node") [ + "--run" + "mkdir -p \"$rootDataPath\"/assets/app/plugins" + ] + ++ [ + "--run" + ''_cfg="$rootDataPath/configs/${componentName}_Config.json"; if [ -f "$_cfg" ]; then grep -q ffprobePath "$_cfg" || sed -i '1s/{/{"ffprobePath":"",/' "$_cfg"; else printf '{"ffprobePath":""}' > "$_cfg"; fi'' + "--set-default" + "ffmpegPath" + "${ffmpeg}/bin/ffmpeg" + "--set-default" + "ffprobePath" + "${ffmpeg}/bin/ffprobe" + "--set-default" + "mkvpropeditPath" + "${mkvtoolnix}/bin/mkvpropedit" + ] + ++ lib.optionals (component == "server") [ + "--set-default" + "ccextractorPath" + "${ccextractor}/bin/ccextractor" + ] + # ! Handbrake is currently marked as broken on darwin + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + "--set-default" + "handbrakePath" + "${handbrake}/bin/HandBrakeCLI" + ] + ); +in +stdenv.mkDerivation (finalAttrs: { + inherit pname; + version = "2.58.02"; + + src = fetchzip { + url = "https://storage.tdarr.io/versions/${finalAttrs.version}/${platform}/${componentName}.zip"; + sha256 = hashes.${platform} or (throw "Unsupported platform: ${platform}"); + stripRoot = false; + }; + + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ] + ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ]; + + buildInputs = lib.optionals stdenv.isLinux [ + stdenv.cc.cc.lib + gtk3 + libayatana-appindicator + wayland + libxkbcommon + libxcb + mesa + tesseract4 + leptonica + glib + gobject-introspection + libx11 + libxcursor + libxfixes + ]; + + postPatch = '' + rm -rf ./assets/app/ffmpeg + rm -rf ./assets/app/ccextractor + + substituteInPlace node_modules/exiftool-vendored.pl/bin/exiftool \ + --replace-fail "#!/usr/bin/perl" "#!${perl}/bin/perl" + + # * exiftool-vendored checks for /usr/bin/perl existence; when missing (NixOS), it sets ignoreShebang=true which breaks spawn by using shell:true with an env lacking PATH. Since we patched the shebang, force ignoreShebang to false. + substituteInPlace node_modules/exiftool-vendored/dist/ExifTool.js \ + --replace-fail '!_fs.existsSync("/usr/bin/perl")' 'false' + ''; + + preInstall = '' + mkdir -p $out/{bin,share/${pname}} + ''; + + installPhase = '' + runHook preInstall + + # Copy contents (source is already unpacked) + cp -r . $out/share/${pname}/ + + chmod +x $out/share/${pname}/${componentName} + + runHook postInstall + ''; + + postInstall = '' + makeWrapper $out/share/${pname}/${componentName} $out/bin/${pname} ${commonWrapperArgs} + '' + # TODO: Check on each update to see if the Tdarr_Node_tray gets re-added to the aarch64-linux build. Reach out to upstream? + + lib.optionalString (stdenv.hostPlatform.system != "aarch64-linux") '' + makeWrapper $out/share/${pname}/${componentTrayName} $out/bin/${pname}-tray ${commonWrapperArgs} + '' + + lib.optionalString installIcons '' + + # Install icons from the copied source files + for size in 192 512; do + if [ -f $out/share/${pname}/public/logo''${size}.png ]; then + install -Dm644 $out/share/${pname}/public/logo''${size}.png \ + $out/share/icons/hicolor/''${size}x''${size}/apps/${pname}.png + fi + done + '' + + ""; + + desktopItems = lib.optionals (stdenv.isLinux && stdenv.hostPlatform.system != "aarch64-linux") [ + (makeDesktopItem { + desktopName = "Tdarr ${componentUpper} Tray"; + name = "Tdarr ${componentUpper} Tray"; + exec = "${pname}-tray"; + terminal = false; + type = "Application"; + icon = if installIcons then pname else ""; + categories = [ "Utility" ]; + }) + ]; + + passthru = { + updateScript = { + command = [ ./update-hashes.sh ]; + supportedFeatures = [ "commit" ]; + }; + } + // passthru; + + meta = { + description = "Distributed transcode automation ${component} using FFmpeg/HandBrake"; + homepage = "https://tdarr.io"; + license = lib.licenses.unfree; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + maintainers = with lib.maintainers; [ mistyttm ]; + mainProgram = pname; + }; +}) diff --git a/pkgs/tools/misc/tdarr/default.nix b/pkgs/tools/misc/tdarr/default.nix new file mode 100644 index 0000000000000..048c02b609637 --- /dev/null +++ b/pkgs/tools/misc/tdarr/default.nix @@ -0,0 +1,6 @@ +{ callPackage, ccextractor }: + +{ + server = callPackage ./server.nix { inherit ccextractor; }; + node = callPackage ./node.nix { }; +} diff --git a/pkgs/tools/misc/tdarr/node.nix b/pkgs/tools/misc/tdarr/node.nix new file mode 100644 index 0000000000000..45c910ba00e4d --- /dev/null +++ b/pkgs/tools/misc/tdarr/node.nix @@ -0,0 +1,13 @@ +{ callPackage }: + +callPackage ./common.nix { } { + pname = "tdarr-node"; + component = "node"; + + hashes = { + linux_x64 = "sha256-+vD5oaoYh/bOCuk/Bxc8Fsm9UnFICownSKvg9i726nk="; + linux_arm64 = "sha256-2uPtEno0dSdVBg5hCiUuvBCB5tuTOcpeU2BuXPiqdUU="; + darwin_x64 = "sha256-8O5J1qFpQxD6fzojxjWnbkS4XQoCZauxCtbl/drplfI="; + darwin_arm64 = "sha256-oA+nTkO4LDAX5/cGkjNOLnPu0Rss9el+4JF8PBEfsPQ="; + }; +} diff --git a/pkgs/tools/misc/tdarr/server.nix b/pkgs/tools/misc/tdarr/server.nix new file mode 100644 index 0000000000000..96e40e403508d --- /dev/null +++ b/pkgs/tools/misc/tdarr/server.nix @@ -0,0 +1,16 @@ +{ callPackage, ccextractor }: + +callPackage ./common.nix { } { + pname = "tdarr-server"; + component = "server"; + + hashes = { + linux_x64 = "sha256-+nxwSGAkA+BPf481N6KHW7s0iJzoGFPWp0XCbsVEwrI="; + linux_arm64 = "sha256-tA5VX27XmH3C4Bkll2mJlr1BYz5V7PPvzbJeaDht7uI="; + darwin_x64 = "sha256-jgHEezqtzUWTIvmxsmV1VgaXY9wHePkg6bQO16eSSGI="; + darwin_arm64 = "sha256-pcPpqFbqYsXf5Og9uC+eF/1kOQ1ZiletDzkk3qavPS0="; + }; + + includeInPath = [ ccextractor ]; + installIcons = true; +} diff --git a/pkgs/tools/misc/tdarr/update-hashes.sh b/pkgs/tools/misc/tdarr/update-hashes.sh new file mode 100755 index 0000000000000..822ff243d9cad --- /dev/null +++ b/pkgs/tools/misc/tdarr/update-hashes.sh @@ -0,0 +1,114 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Updates tdarr packages to the latest version +# This script updates both server and node packages since they share the same version + +SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")" +COMMON_FILE="$SCRIPT_DIR/common.nix" +SERVER_FILE="$SCRIPT_DIR/server.nix" +NODE_FILE="$SCRIPT_DIR/node.nix" + +# Fetch the latest version from the versions.json endpoint +echo "Fetching latest version..." >&2 +LATEST_VERSION=$(curl -s https://storage.tdarr.io/versions.json | jq -r 'keys_unsorted | .[0]') + +if [[ -z "$LATEST_VERSION" ]]; then + echo "Error: Could not fetch latest version from versions.json" >&2 + exit 1 +fi + +echo "Latest version: $LATEST_VERSION" >&2 + +# Check current version in common.nix +CURRENT_VERSION=$(grep -oP '(?<=version = ")[^"]+' "$COMMON_FILE" 2>/dev/null) + +if [[ "$CURRENT_VERSION" == "$LATEST_VERSION" ]]; then + echo "Tdarr packages are already on the latest version ($LATEST_VERSION)" >&2 + exit 0 +fi + +echo "Updating from $CURRENT_VERSION to $LATEST_VERSION..." >&2 + +fetch_and_convert() { + local url=$1 + nix-prefetch-url --unpack "$url" 2>/dev/null | xargs nix hash convert --hash-algo sha256 --to sri +} + +# Fetch all hashes for both server and node +echo "Fetching hashes for server version $LATEST_VERSION..." >&2 +server_linux_x64=$(fetch_and_convert "https://storage.tdarr.io/versions/$LATEST_VERSION/linux_x64/Tdarr_Server.zip") +server_linux_arm64=$(fetch_and_convert "https://storage.tdarr.io/versions/$LATEST_VERSION/linux_arm64/Tdarr_Server.zip") +server_darwin_x64=$(fetch_and_convert "https://storage.tdarr.io/versions/$LATEST_VERSION/darwin_x64/Tdarr_Server.zip") +server_darwin_arm64=$(fetch_and_convert "https://storage.tdarr.io/versions/$LATEST_VERSION/darwin_arm64/Tdarr_Server.zip") + +echo "Fetching hashes for node version $LATEST_VERSION..." >&2 +node_linux_x64=$(fetch_and_convert "https://storage.tdarr.io/versions/$LATEST_VERSION/linux_x64/Tdarr_Node.zip") +node_linux_arm64=$(fetch_and_convert "https://storage.tdarr.io/versions/$LATEST_VERSION/linux_arm64/Tdarr_Node.zip") +node_darwin_x64=$(fetch_and_convert "https://storage.tdarr.io/versions/$LATEST_VERSION/darwin_x64/Tdarr_Node.zip") +node_darwin_arm64=$(fetch_and_convert "https://storage.tdarr.io/versions/$LATEST_VERSION/darwin_arm64/Tdarr_Node.zip") + +# Update common.nix version +tmpfile=$(mktemp) +awk -v ver="$LATEST_VERSION" ' +/^ version = / { + print " version = \"" ver "\";" + next +} +{ print } +' "$COMMON_FILE" > "$tmpfile" +mv "$tmpfile" "$COMMON_FILE" +echo "Updated version in $COMMON_FILE" >&2 + +# Update server.nix hashes +tmpfile=$(mktemp) +awk -v lx64="$server_linux_x64" -v la64="$server_linux_arm64" -v dx64="$server_darwin_x64" -v da64="$server_darwin_arm64" ' +/^ hashes = {$/ { + print $0 + getline; print " linux_x64 = \"" lx64 "\";" + getline; print " linux_arm64 = \"" la64 "\";" + getline; print " darwin_x64 = \"" dx64 "\";" + getline; print " darwin_arm64 = \"" da64 "\";" + getline; print $0 + next +} +{ print } +' "$SERVER_FILE" > "$tmpfile" +mv "$tmpfile" "$SERVER_FILE" +echo "Updated hashes in $SERVER_FILE" >&2 + +# Update node.nix hashes +tmpfile=$(mktemp) +awk -v lx64="$node_linux_x64" -v la64="$node_linux_arm64" -v dx64="$node_darwin_x64" -v da64="$node_darwin_arm64" ' +/^ hashes = {$/ { + print $0 + getline; print " linux_x64 = \"" lx64 "\";" + getline; print " linux_arm64 = \"" la64 "\";" + getline; print " darwin_x64 = \"" dx64 "\";" + getline; print " darwin_arm64 = \"" da64 "\";" + getline; print $0 + next +} +{ print } +' "$NODE_FILE" > "$tmpfile" +mv "$tmpfile" "$NODE_FILE" +echo "Updated hashes in $NODE_FILE" >&2 + +echo "Successfully updated tdarr to version $LATEST_VERSION" >&2 + +cat << EOF +[ + { + "attrPath": "tdarr-server", + "oldVersion": "$CURRENT_VERSION", + "newVersion": "$LATEST_VERSION", + "files": ["$COMMON_FILE", "$SERVER_FILE"] + }, + { + "attrPath": "tdarr-node", + "oldVersion": "$CURRENT_VERSION", + "newVersion": "$LATEST_VERSION", + "files": ["$COMMON_FILE", "$NODE_FILE"] + } +] +EOF diff --git a/pkgs/tools/networking/bitmask-vpn/default.nix b/pkgs/tools/networking/bitmask-vpn/default.nix index 4242ac59a666a..70c52da296f9c 100644 --- a/pkgs/tools/networking/bitmask-vpn/default.nix +++ b/pkgs/tools/networking/bitmask-vpn/default.nix @@ -23,9 +23,10 @@ qtwayland, provider ? "riseup", }: -let - version = "0.24.8"; +buildGoModule (finalAttrs: { + pname = "${provider}-vpn"; + version = "0.24.8"; src = fetchFromGitLab { domain = "0xacab.org"; owner = "leap"; @@ -34,39 +35,6 @@ let leaveDotGit = true; sha256 = "sha256-XUgCVHnTLZXFU+r0s1yuYryWNBJRgQrFlf3g1iRrLWs="; }; - - # bitmask-root is only used on GNU/Linux - # and may one day be replaced by pkg/helper - bitmask-root = stdenv.mkDerivation { - inherit src version; - sourceRoot = "${src.name}/helpers"; - pname = "bitmask-root"; - nativeBuildInputs = [ python3Packages.wrapPython ]; - postPatch = '' - substituteInPlace bitmask-root \ - --replace 'swhich("ip")' '"${iproute2}/bin/ip"' \ - --replace 'swhich("iptables")' '"${iptables}/bin/iptables"' \ - --replace 'swhich("ip6tables")' '"${iptables}/bin/ip6tables"' \ - --replace 'swhich("sysctl")' '"${procps}/bin/sysctl"' \ - --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn - substituteInPlace se.leap.bitmask.policy \ - --replace /usr/sbin/bitmask-root $out/bin/bitmask-root - ''; - installPhase = '' - runHook preInstall - - install -m 755 -D -t $out/bin bitmask-root - install -m 444 -D -t $out/share/polkit-1/actions se.leap.bitmask.policy - wrapPythonPrograms - - runHook postInstall - ''; - }; -in - -buildGoModule rec { - inherit src version; - pname = "${provider}-vpn"; vendorHash = null; patches = [ @@ -90,7 +58,7 @@ buildGoModule rec { --replace "provider = bitmask" "provider = ${provider}" substituteInPlace branding/templates/debian/app.desktop-template \ - --replace "Icon=icon" "Icon=${pname}" + --replace "Icon=icon" "Icon=${finalAttrs.pname}" patchShebangs gui/build.sh wrapPythonProgramsIn branding/scripts @@ -100,7 +68,7 @@ buildGoModule rec { --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn substituteInPlace pkg/launcher/launcher_linux.go \ --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn \ - --replace /usr/sbin/bitmask-root ${bitmask-root}/bin/bitmask-root \ + --replace /usr/sbin/bitmask-root ${finalAttrs.passthru.bitmask-root}/bin/bitmask-root \ --replace /usr/bin/lxpolkit /run/wrappers/bin/polkit-agent-helper-1 \ --replace '"polkit-gnome-authentication-agent-1",' '"polkit-gnome-authentication-agent-1","polkitd",' ''; @@ -125,6 +93,19 @@ buildGoModule rec { ] ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland ]; + # Workaround qmake looking for lrelease in wrong package + # Issue: https://github.com/NixOS/nixpkgs/issues/214765 + qmakeFlags = [ + "QT_TOOL.lrelease.binary=${lib.getDev qttools}/bin/lrelease" + ]; + + preConfigure = '' + # Workaround QMAKE being set by qtbase-setup-hook.sh + # https://github.com/NixOS/nixpkgs/blob/f6ca41c08b059c0836d6868a4e43be346d8e2a7c/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh#L19 + # to @qttools@/bin/qmake, which does not exist. + unset QMAKE + ''; + # FIXME: building on Darwin currently fails # due to missing debug symbols for Qt, # this should be fixable once darwin.apple_sdk >= 10.13 @@ -149,22 +130,50 @@ buildGoModule rec { ''; postInstall = '' - install -m 755 -D -t $out/bin build/qt/release/${pname} + install -m 755 -D -t $out/bin build/qt/release/${finalAttrs.pname} - VERSION=${version} VENDOR_PATH=providers branding/scripts/generate-debian branding/templates/debian/data.json + VERSION=${finalAttrs.version} VENDOR_PATH=providers branding/scripts/generate-debian branding/templates/debian/data.json (cd branding/templates/debian && ${python3Packages.python}/bin/python3 generate.py) - install -m 444 -D branding/templates/debian/app.desktop $out/share/applications/${pname}.desktop - install -m 444 -D providers/${provider}/assets/icon.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg + install -m 444 -D branding/templates/debian/app.desktop $out/share/applications/${finalAttrs.pname}.desktop + install -m 444 -D providers/${provider}/assets/icon.svg $out/share/icons/hicolor/scalable/apps/${finalAttrs.pname}.svg '' + lib.optionalString stdenv.hostPlatform.isLinux '' - install -m 444 -D -t $out/share/polkit-1/actions ${bitmask-root}/share/polkit-1/actions/se.leap.bitmask.policy + install -m 444 -D -t $out/share/polkit-1/actions ${finalAttrs.passthru.bitmask-root}/share/polkit-1/actions/se.leap.bitmask.policy ''; # Some tests need access to the Internet: # Post "https://api.black.riseup.net/3/cert": dial tcp: lookup api.black.riseup.net on [::1]:53: read udp [::1]:56553->[::1]:53: read: connection refused doCheck = false; - passthru = { inherit bitmask-root; }; + passthru = { + # bitmask-root is only used on GNU/Linux + # and may one day be replaced by pkg/helper + bitmask-root = stdenv.mkDerivation { + inherit (finalAttrs) src version; + sourceRoot = "${finalAttrs.src.name}/helpers"; + pname = "bitmask-root"; + nativeBuildInputs = [ python3Packages.wrapPython ]; + postPatch = '' + substituteInPlace bitmask-root \ + --replace 'swhich("ip")' '"${iproute2}/bin/ip"' \ + --replace 'swhich("iptables")' '"${iptables}/bin/iptables"' \ + --replace 'swhich("ip6tables")' '"${iptables}/bin/ip6tables"' \ + --replace 'swhich("sysctl")' '"${procps}/bin/sysctl"' \ + --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn + substituteInPlace se.leap.bitmask.policy \ + --replace /usr/sbin/bitmask-root $out/bin/bitmask-root + ''; + installPhase = '' + runHook preInstall + + install -m 755 -D -t $out/bin bitmask-root + install -m 444 -D -t $out/share/polkit-1/actions se.leap.bitmask.policy + wrapPythonPrograms + + runHook postInstall + ''; + }; + }; meta = { description = "Generic VPN client by LEAP"; @@ -175,7 +184,7 @@ buildGoModule rec { a variety of trusted service provider all from one app. Current providers include Riseup Networks and The Calyx Institute, where the former is default. - The ${pname} executable should appear + The ${finalAttrs.pname} executable should appear in your desktop manager's XDG menu or could be launch in a terminal to get an execution log. A new icon should then appear in your systray to control the VPN and configure some options. @@ -186,4 +195,4 @@ buildGoModule rec { # darwin requires apple_sdk >= 10.13 platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/tools/networking/bitmask-vpn/fix_paths.patch b/pkgs/tools/networking/bitmask-vpn/fix_paths.patch index afc444952fbb2..87efa3fbaf516 100644 --- a/pkgs/tools/networking/bitmask-vpn/fix_paths.patch +++ b/pkgs/tools/networking/bitmask-vpn/fix_paths.patch @@ -10,4 +10,4 @@ index a858a81..ac43f52 100755 + sed -i 's|@qtbase@/bin/lrelease|@qttools@/bin/lrelease|g' $QTBUILD/Makefile } - function renameOutput { \ No newline at end of file + function renameOutput { diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 7db5e87ceff65..2db1321747df8 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -190,14 +190,14 @@ lib.makeExtensible ( nixComponents_2_32 = (nixDependencies.callPackage ./modular/packages.nix rec { - version = "2.32.5"; + version = "2.32.6"; inherit (self.nix_2_31.meta) teams; otherSplices = generateSplicesForNixComponents "nixComponents_2_32"; src = fetchFromGitHub { owner = "NixOS"; repo = "nix"; tag = version; - hash = "sha256-vnlVgJ5VXn2LVvdzf1HUZeGq0pqa6vII11C8u5Q/YgM="; + hash = "sha256-5aH3xppfBs8j6P7A2wq8WQ05yJvlL7x0gQbWk4RN5eY="; }; }).appendPatches patches_common; diff --git a/pkgs/tools/security/ghidra/extensions/findcrypt/default.nix b/pkgs/tools/security/ghidra/extensions/findcrypt/default.nix index edb14c66c6b7e..76466b69f3548 100644 --- a/pkgs/tools/security/ghidra/extensions/findcrypt/default.nix +++ b/pkgs/tools/security/ghidra/extensions/findcrypt/default.nix @@ -5,13 +5,13 @@ }: buildGhidraExtension (finalAttrs: { pname = "findcrypt"; - version = "3.1.5"; + version = "3.1.6"; src = fetchFromGitHub { owner = "antoniovazquezblanco"; repo = "GhidraFindcrypt"; rev = "v${finalAttrs.version}"; - hash = "sha256-Fi7YAbxnj+DmccFEbdnyaYM+r8HSmahOKt7zoZj3oWQ="; + hash = "sha256-9y1cPkQNZ3QyPYwL8ueZ0HGyEuo5L1n3Q3/mNRvOUgM="; }; meta = { diff --git a/pkgs/tools/security/nsjail/default.nix b/pkgs/tools/security/nsjail/default.nix index 16a96ffe89707..80c384ef71885 100644 --- a/pkgs/tools/security/nsjail/default.nix +++ b/pkgs/tools/security/nsjail/default.nix @@ -64,7 +64,6 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ arturcygan bosu - c0bw3b ]; platforms = lib.platforms.linux; mainProgram = "nsjail"; diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix index f38a0445daf95..962bbbf1fc178 100644 --- a/pkgs/tools/security/pass/default.nix +++ b/pkgs/tools/security/pass/default.nix @@ -194,7 +194,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; mainProgram = "pass"; maintainers = with lib.maintainers; [ - lovek323 fpletz tadfisher globin diff --git a/pkgs/tools/security/pass/extensions/import.nix b/pkgs/tools/security/pass/extensions/import.nix index aa59df137e2ff..8c41116bb333b 100644 --- a/pkgs/tools/security/pass/extensions/import.nix +++ b/pkgs/tools/security/pass/extensions/import.nix @@ -59,7 +59,6 @@ python3Packages.buildPythonApplication rec { changelog = "https://github.com/roddhjav/pass-import/blob/v${version}/CHANGELOG.rst"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ - lovek323 fpletz tadfisher ]; diff --git a/pkgs/tools/security/pass/extensions/tomb.nix b/pkgs/tools/security/pass/extensions/tomb.nix index 16d0b6858e1fb..2a8c62757e7a6 100644 --- a/pkgs/tools/security/pass/extensions/tomb.nix +++ b/pkgs/tools/security/pass/extensions/tomb.nix @@ -32,7 +32,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/roddhjav/pass-tomb"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ - lovek323 fpletz tadfisher ]; diff --git a/pkgs/tools/security/pass/extensions/update.nix b/pkgs/tools/security/pass/extensions/update.nix index 767be885f6134..af8725c70f109 100644 --- a/pkgs/tools/security/pass/extensions/update.nix +++ b/pkgs/tools/security/pass/extensions/update.nix @@ -29,7 +29,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/roddhjav/pass-update"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ - lovek323 fpletz tadfisher ]; diff --git a/pkgs/tools/text/glogg/default.nix b/pkgs/tools/text/glogg/default.nix index 4242c3e00d620..23e84e7dc90a4 100644 --- a/pkgs/tools/text/glogg/default.nix +++ b/pkgs/tools/text/glogg/default.nix @@ -46,6 +46,6 @@ stdenv.mkDerivation rec { homepage = "https://glogg.bonnefon.org/"; license = lib.licenses.gpl3Plus; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ c0bw3b ]; + maintainers = [ ]; }; } diff --git a/pkgs/tools/text/patchutils/generic.nix b/pkgs/tools/text/patchutils/generic.nix index cd2882fc38493..da112a427ba33 100644 --- a/pkgs/tools/text/patchutils/generic.nix +++ b/pkgs/tools/text/patchutils/generic.nix @@ -26,6 +26,10 @@ stdenv.mkDerivation rec { # tests fail when building in parallel enableParallelBuilding = false; + preConfigure = '' + export PERL=${perl.interpreter} + ''; + postInstall = '' for bin in $out/bin/{splitdiff,rediff,editdiff,dehtmldiff}; do wrapProgram "$bin" \ @@ -44,6 +48,8 @@ stdenv.mkDerivation rec { -exec sed -i '{}' -e 's|/bin/echo|echo|g' \; ''; + strictDeps = true; + meta = { description = "Tools to manipulate patch files"; homepage = "http://cyberelk.net/tim/software/patchutils"; diff --git a/pkgs/tools/typesetting/tex/tetex/default.nix b/pkgs/tools/typesetting/tex/tetex/default.nix index f2c6be3a08b6c..dd283c8aa0de3 100644 --- a/pkgs/tools/typesetting/tex/tetex/default.nix +++ b/pkgs/tools/typesetting/tex/tetex/default.nix @@ -88,7 +88,7 @@ stdenv.mkDerivation rec { meta = { description = "Full-featured (La)TeX distribution"; homepage = "http://www.tug.org/tetex/"; - maintainers = with lib.maintainers; [ lovek323 ]; + maintainers = [ ]; platforms = lib.platforms.unix; hydraPlatforms = [ ]; }; diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index af88bc8750408..d25380cbee0f7 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -357,7 +357,6 @@ rec { license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ veprbl - lovek323 raskin jwiegley ]; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 5fd39cb8884dd..6ee7b51bea301 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -907,6 +907,9 @@ mapAliases { ibm-sw-tpm2 = throw "ibm-sw-tpm2 has been removed, as it was broken"; # Added 2025-08-25 igvm-tooling = throw "'igvm-tooling' has been removed as it is poorly maintained upstream and a dependency has been marked insecure."; # Added 2025-09-03 ikos = throw "ikos has been removed, as it does not build with supported LLVM versions"; # Added 2025-08-10 + imagemagick6 = throw "'imagemagick6' was removed because it is outdated. Use 'imagemagick' instead."; # added 2026-02-27 + imagemagick6_light = throw "'imagemagick6_light' was removed because it is outdated. Use 'imagemagick_light' instead."; # added 2026-02-27 + imagemagick6Big = throw "'imagemagick6Big' was removed because it is outdated. Use 'imagemagickBig' instead."; # added 2026-02-27 imaginer = throw "'imaginer' has been removed due to lack of upstream maintenance"; # Added 2025-08-15 imapnotify = throw "'imapnotify' has been removed because it is unmaintained upstream"; # Added 2025-11-14 immersed-vr = throw "'immersed-vr' has been renamed to/replaced by 'immersed'"; # Converted to throw 2025-10-27 @@ -1500,6 +1503,7 @@ mapAliases { orogene = throw "'orogene' uses a wasm-specific fork of async-tar that is vulnerable to CVE-2025-62518, which is not supported by its upstream"; # Added 2025-10-24 ortp = throw "'ortp' has been moved to 'linphonePackages.ortp'"; # Added 2025-09-20 OSCAR = throw "'OSCAR' has been renamed to/replaced by 'oscar'"; # Converted to throw 2025-10-27 + osl = openshadinglanguage; # Added 2026-01-04 osm2xmap = throw "osm2xmap has been removed, as it is unmaintained upstream and depended on old dependencies with broken builds"; # Added 2025-09-16 osmtogeojson = throw "'osmtogeojson' has been removed as it was unmaintained upstream"; # Added 2026-02-22 ossec-agent = throw "'ossec-agent' has been removed due to lack of maintenance"; # Added 2025-11-08 @@ -1512,6 +1516,7 @@ mapAliases { pal = throw "pal has been removed, as it was broken"; # Added 2025-08-25 pam_pgsql = pam-pgsql; # Added 2025-12-16 pangolin = throw "pangolin has been removed due to lack of maintenance"; # Added 2025-11-17 + paper-plane = throw "'paper-plane' has been removed as it is unmaintained upstream and depends on vulnerable tdlib version."; # Added 2026-02-26 paperless-ng = throw "'paperless-ng' has been renamed to/replaced by 'paperless-ngx'"; # Converted to throw 2025-10-27 parcellite = throw "'parcellite' was remove due to lack of maintenance and relying on gtk2"; # Added 2025-10-03 patchelfStable = throw "'patchelfStable' has been renamed to/replaced by 'patchelf'"; # Converted to throw 2025-10-27 @@ -1535,6 +1540,7 @@ mapAliases { percona-xtrabackup_lts = throw "'percona-xtrabackup_lts' has been renamed to/replaced by 'percona-xtrabackup'"; # Converted to throw 2025-10-27 peruse = throw "'peruse' has been removed as it depends on KDE Gear 5, which has reached EOL"; # Added 2025-08-20 petrifoo = throw "'petrifoo' was remove due to lack of maintenance and relying on gtk2"; # Added 2025-12-02 + pfstools = throw "'pfstools' was removed because it was broken and depends on an old version of ImageMagick"; # added 2026-02-26 pg_cron = throw "'pg_cron' has been removed. Use 'postgresqlPackages.pg_cron' instead."; # Added 2025-07-19 pg_hll = throw "'pg_hll' has been removed. Use 'postgresqlPackages.pg_hll' instead."; # Added 2025-07-19 pg_repack = throw "'pg_repack' has been removed. Use 'postgresqlPackages.pg_repack' instead."; # Added 2025-07-19 @@ -1715,6 +1721,7 @@ mapAliases { rpPPPoE = warnAlias "'rpPPPoE' has been renamed to 'rp-pppoe'" rp-pppoe; # Added 2026-02-12 rquickshare-legacy = throw "The legacy version depends on insecure package libsoup2, please use the main version"; # Added 2025-10-09 rr-unstable = throw "'rr-unstable' has been renamed to/replaced by 'rr'"; # Converted to throw 2025-10-27 + rss-glx = throw "'rss-glx' has been removed because it was broken and depends on an outdated version of ImageMagick"; # added 2026-02-26 rtx = throw "'rtx' has been renamed to/replaced by 'mise'"; # Converted to throw 2025-10-27 ruby-zoom = throw "'ruby-zoom' has been removed due to lack of maintaince and had not been updated since 2020"; # Added 2025-08-24 ruby_3_1 = throw "ruby_3_1 has been removed, as it is has reached end‐of‐life upstream"; # Added 2025-10-12 @@ -1942,6 +1949,7 @@ mapAliases { transmission_3-gtk = throw "transmission_3-gtk has been removed in favour of transmission_4-gtk. Note that upgrade caused data loss for some users so backup is recommended (see NixOS 24.11 release notes for details)"; # Added 2025-10-26 transmission_3-qt = throw "transmission_3-qt has been removed in favour of transmission_4-qt. Note that upgrade caused data loss for some users so backup is recommended (see NixOS 24.11 release notes for details)"; # Added 2025-10-26 transmission_3_noSystemd = throw "transmission_3_noSystemd has been removed in favour of transmission_4. Note that upgrade caused data loss for some users so backup is recommended (see NixOS 24.11 release notes for details)"; # Added 2025-10-26 + travis = throw "'travis' has been removed because upstream has stopped maintaining it, and it contains dependencies with security vulnerabilities."; # Added 2026-02-14 treefmt2 = throw "'treefmt2' has been renamed to/replaced by 'treefmt'"; # Converted to throw 2025-10-27 tremor-language-server = throw "'tremor-language-server' has been removed because it is unmaintained"; # Added 2025-11-17 tremor-rs = throw "'tremor-rs' has been removed because it is unmaintained"; # Added 2025-11-17 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4d1ec7f4495ad..60454ed1b1013 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -710,6 +710,10 @@ with pkgs; makeDesktopItem = callPackage ../build-support/make-desktopitem { }; + installFonts = makeSetupHook { + name = "install-fonts-hook"; + } ../build-support/setup-hooks/install-fonts.sh; + copyPkgconfigItems = makeSetupHook { name = "copy-pkg-config-items-hook"; } ../build-support/setup-hooks/copy-pkgconfig-items.sh; @@ -990,16 +994,13 @@ with pkgs; akkuPackages ; - alice-tools = callPackage ../tools/games/alice-tools { - withGUI = false; - }; - - alice-tools-qt5 = libsForQt5.callPackage ../tools/games/alice-tools { }; - - alice-tools-qt6 = qt6Packages.callPackage ../tools/games/alice-tools { }; + alice-tools-qt5 = alice-tools.override { withQt5 = true; }; + alice-tools-qt6 = alice-tools.override { withQt6 = true; }; auditwheel = with python3Packages; toPythonApplication auditwheel; + btrsync = with python3Packages; toPythonApplication btrsync; + davinci-resolve-studio = callPackage ../by-name/da/davinci-resolve/package.nix { studioVariant = true; }; @@ -1621,10 +1622,6 @@ with pkgs; extraPackages = [ ffmpeg ]; }; - compactor = callPackage ../applications/networking/compactor { - protobuf = protobuf_21; - }; - inherit (callPackages ../tools/misc/coreboot-utils { }) msrtool cbmem @@ -1849,11 +1846,6 @@ with pkgs; mkspiffs-presets = recurseIntoAttrs (callPackages ../by-name/mk/mkspiffs/presets.nix { }); - mobilizon = callPackage ../servers/mobilizon { - beamPackages = beam.packages.erlang_27.extend (self: super: { elixir = self.elixir_1_18; }); - mobilizon-frontend = callPackage ../servers/mobilizon/frontend.nix { }; - }; - nltk-data = recurseIntoAttrs (callPackage ../tools/text/nltk-data { }); seabios-coreboot = seabios.override { ___build-type = "coreboot"; }; @@ -2176,17 +2168,13 @@ with pkgs; websocketSupport = true; }; - curl = curlMinimal.override ( - { - idnSupport = true; - pslSupport = true; - zstdSupport = true; - http3Support = true; - } - // lib.optionalAttrs (!stdenv.hostPlatform.isStatic) { - brotliSupport = true; - } - ); + curl = curlMinimal.override { + idnSupport = true; + pslSupport = true; + zstdSupport = true; + http3Support = true; + brotliSupport = true; + }; curlWithGnuTls = curl.override { gnutlsSupport = true; @@ -2774,8 +2762,6 @@ with pkgs; maubot = with python3Packages; toPythonApplication maubot; - mautrix-telegram = recurseIntoAttrs (callPackage ../servers/mautrix-telegram { }); - m2r = with python3Packages; toPythonApplication m2r; md2gemini = with python3.pkgs; toPythonApplication md2gemini; @@ -3169,6 +3155,12 @@ with pkgs; update-systemd-resolved = callPackage ../tools/networking/openvpn/update-systemd-resolved.nix { }; + openshadinglanguage = callPackage ../by-name/op/openshadinglanguage/package.nix { + libclang = llvmPackages_19.libclang; + clang = clang_19; + llvm = llvm_19; + }; + opentelemetry-collector = opentelemetry-collector-releases.otelcol; opentelemetry-collector-builder = callPackage ../tools/misc/opentelemetry-collector/builder.nix { }; opentelemetry-collector-contrib = opentelemetry-collector-releases.otelcol-contrib; @@ -3185,12 +3177,6 @@ with pkgs; opl3bankeditor = libsForQt5.callPackage ../tools/audio/opl3bankeditor { }; opn2bankeditor = libsForQt5.callPackage ../tools/audio/opl3bankeditor/opn2bankeditor.nix { }; - osl = libsForQt5.callPackage ../development/compilers/osl { - libclang = llvmPackages_19.libclang; - clang = clang_19; - llvm = llvm_19; - }; - p4c = callPackage ../development/compilers/p4c { protobuf = protobuf_21; }; @@ -3240,8 +3226,6 @@ with pkgs; ssh = openssh; }; - pfstools = libsForQt5.callPackage ../tools/graphics/pfstools { }; - phosh = callPackage ../applications/window-managers/phosh { }; phosh-mobile-settings = @@ -3270,11 +3254,12 @@ with pkgs; playwright-driver = (callPackage ../development/web/playwright/driver.nix { }).playwright-core; playwright-test = (callPackage ../development/web/playwright/driver.nix { }).playwright-test; - plex = callPackage ../servers/plex { }; + tabview = with python3Packages; toPythonApplication tabview; - plexRaw = callPackage ../servers/plex/raw.nix { }; + tdarrPackages = callPackage ../tools/misc/tdarr { }; - tabview = with python3Packages; toPythonApplication tabview; + tdarr-server = tdarrPackages.server; + tdarr-node = tdarrPackages.node; inherit (callPackage ../development/tools/pnpm { }) pnpm_8 @@ -3834,6 +3819,8 @@ with pkgs; dprint-plugins = recurseIntoAttrs (callPackage ../by-name/dp/dprint/plugins { }); + reaction-plugins = reaction.passthru.plugins; + elm2nix = haskell.lib.compose.justStaticExecutables haskellPackages.elm2nix; elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm { }); @@ -4770,7 +4757,7 @@ with pkgs; ]; }; - swiftPackages = recurseIntoAttrs (callPackage ../development/compilers/swift { }); + swiftPackages = recurseIntoAttrs (callPackage ./swift-packages.nix { }); inherit (swiftPackages) swift swiftpm @@ -6251,6 +6238,7 @@ with pkgs; certbot-dns-ovh certbot-dns-rfc2136 certbot-dns-route53 + certbot-dns-wedos certbot-nginx ] ); @@ -8102,14 +8090,6 @@ with pkgs; }; cassandra = cassandra_4; - apache-jena = callPackage ../servers/nosql/apache-jena/binary.nix { - java = jre; - }; - - apache-jena-fuseki = callPackage ../servers/nosql/apache-jena/fuseki-binary.nix { - java = jre; - }; - inherit (callPackages ../servers/asterisk { }) asterisk asterisk-stable @@ -8150,7 +8130,6 @@ with pkgs; freshrss = callPackage ../servers/web-apps/freshrss { }; freshrss-extensions = recurseIntoAttrs (callPackage ../servers/web-apps/freshrss/extensions { }); - grafana = callPackage ../servers/monitoring/grafana { }; grafanaPlugins = recurseIntoAttrs (callPackages ../servers/monitoring/grafana/plugins { }); inherit (callPackage ../servers/hbase { }) @@ -8167,16 +8146,22 @@ with pkgs; buildHomeAssistantComponent = callPackage ../servers/home-assistant/build-custom-component { }; home-assistant-custom-components = recurseIntoAttrs ( - lib.packagesFromDirectoryRecursive { - inherit (home-assistant.python.pkgs) callPackage; - directory = ../servers/home-assistant/custom-components; - } + lib.makeExtensible ( + self: + lib.packagesFromDirectoryRecursive { + inherit (home-assistant.python.pkgs) callPackage; + directory = ../servers/home-assistant/custom-components; + } + ) ); home-assistant-custom-lovelace-modules = recurseIntoAttrs ( - lib.packagesFromDirectoryRecursive { - inherit callPackage; - directory = ../servers/home-assistant/custom-lovelace-modules; - } + lib.makeExtensible ( + self: + lib.packagesFromDirectoryRecursive { + inherit callPackage; + directory = ../servers/home-assistant/custom-lovelace-modules; + } + ) ); home-assistant-cli = callPackage ../servers/home-assistant/cli.nix { }; @@ -8225,10 +8210,6 @@ with pkgs; kanidmWithSecretProvisioning_1_9 ; - leafnode = callPackage ../servers/news/leafnode { }; - - leafnode1 = callPackage ../servers/news/leafnode/1.nix { }; - lemmy-server = callPackage ../servers/web-apps/lemmy/server.nix { }; lemmy-ui = callPackage ../servers/web-apps/lemmy/ui.nix { @@ -8239,13 +8220,6 @@ with pkgs; inherit (mailmanPackages) mailman mailman-hyperkitty; mailman-web = mailmanPackages.web; - mastodon = callPackage ../servers/mastodon { - nodejs-slim = nodejs-slim_22; - python3 = python311; - ruby = ruby_3_3; - yarn-berry = yarn-berry_4.override { nodejs = nodejs-slim_22; }; - }; - micro-full = micro.wrapper.override { extraPackages = [ wl-clipboard @@ -8324,8 +8298,6 @@ with pkgs; ]; }; - nsd = callPackage ../servers/dns/nsd (config.nsd or { }); - nsdiff = perlPackages.nsdiff; openafs = callPackage ../servers/openafs/1.8 { }; @@ -8340,12 +8312,6 @@ with pkgs; # PulseAudio daemons - hsphfpd = callPackage ../servers/pulseaudio/hsphfpd.nix { }; - - pulseaudio = callPackage ../servers/pulseaudio { }; - - qpaeq = libsForQt5.callPackage ../servers/pulseaudio/qpaeq.nix { }; - pulseaudioFull = pulseaudio.override { x11Support = true; jackaudioSupport = true; @@ -8387,16 +8353,6 @@ with pkgs; boost = boost179.override { enableShared = false; }; }; - influxdb = callPackage ../servers/nosql/influxdb { }; - influxdb2-server = callPackage ../servers/nosql/influxdb2 { }; - influxdb2-cli = callPackage ../servers/nosql/influxdb2/cli.nix { }; - influxdb2-token-manipulator = callPackage ../servers/nosql/influxdb2/token-manipulator.nix { }; - influxdb2-provision = callPackage ../servers/nosql/influxdb2/provision.nix { }; - # For backwards compatibility with older versions of influxdb2, - # which bundled the server and CLI into the same derivation. Will be - # removed in a few releases. - influxdb2 = callPackage ../servers/nosql/influxdb2/combined.nix { }; - mysql80 = callPackage ../servers/sql/mysql/8.0.x.nix { inherit (darwin) developer_cmds DarwinTools; boost = boost177; # Configure checks for specific version. @@ -8412,16 +8368,6 @@ with pkgs; mir_2_15 ; - icinga2 = callPackage ../servers/monitoring/icinga2 { }; - - icinga2-agent = callPackage ../servers/monitoring/icinga2 { - nameSuffix = "-agent"; - withMysql = false; - withNotification = false; - withIcingadb = false; - withPerfdata = false; - }; - nagiosPlugins = recurseIntoAttrs (callPackages ../servers/monitoring/nagios-plugins { }); qboot = pkgsi686Linux.callPackage ../applications/virtualization/qboot { }; @@ -8475,12 +8421,6 @@ with pkgs; pypiserver = with python3Packages; toPythonApplication pypiserver; - rethinkdb = callPackage ../servers/nosql/rethinkdb { - stdenv = clangStdenv; - libtool = cctools; - protobuf = protobuf_21; - }; - samba4 = callPackage ../servers/samba/4.x.nix { }; samba = samba4; @@ -9219,10 +9159,6 @@ with pkgs; ''; }; - nullmailer = callPackage ../servers/mail/nullmailer { - stdenv = gccStdenv; - }; - openmoji-color = callPackage ../data/fonts/openmoji { fontFormats = [ "glyf_colr_0" ]; }; openmoji-black = callPackage ../data/fonts/openmoji { fontFormats = [ "glyf" ]; }; @@ -9912,33 +9848,6 @@ with pkgs; inherit (darwin) autoSignDarwinBinariesHook; }; - imagemagick6_light = imagemagick6.override { - bzip2Support = false; - zlibSupport = false; - libX11Support = false; - libXtSupport = false; - fontconfigSupport = false; - freetypeSupport = false; - ghostscriptSupport = false; - libjpegSupport = false; - djvulibreSupport = false; - lcms2Support = false; - openexrSupport = false; - libpngSupport = false; - liblqr1Support = false; - librsvgSupport = false; - libtiffSupport = false; - libxml2Support = false; - openjpegSupport = false; - libwebpSupport = false; - libheifSupport = false; - libde265Support = false; - }; - - imagemagick6Big = imagemagick6.override { - ghostscriptSupport = true; - }; - imagemagick_light = lowPrio ( imagemagick.override { bzip2Support = false; @@ -12498,7 +12407,12 @@ with pkgs; zncModules = recurseIntoAttrs (callPackage ../applications/networking/znc/modules.nix { }); - dart = callPackage ../development/compilers/dart { }; + inherit + ({ + dart-bin = callPackage ../development/compilers/dart { }; + }) + dart-bin + ; inherit ({ @@ -12507,6 +12421,8 @@ with pkgs; dart-source ; + dart = if stdenv.hostPlatform.isLinux then dart-source else dart-bin; + pub2nix = recurseIntoAttrs (callPackage ../build-support/dart/pub2nix { }); buildDartApplication = callPackage ../build-support/dart/build-dart-application { }; @@ -12598,6 +12514,8 @@ with pkgs; xp-pen-deco-01-v2-driver = libsForQt5.xp-pen-deco-01-v2-driver; + radicle-node-unstable = callPackage ../by-name/ra/radicle-node/unstable.nix { }; + newlib-nano = newlib.override { nanoizeNewlib = true; }; diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index 80d56c112e181..7efb305254206 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -45,11 +45,18 @@ let internal = true; }; + # Should be replaced by importing in the future + # see also https://github.com/NixOS/nixpkgs/pull/207187 warnings = mkOption { type = types.listOf types.str; default = [ ]; internal = true; }; + assertions = mkOption { + type = types.listOf types.anything; + default = [ ]; + internal = true; + }; # Config options @@ -448,6 +455,8 @@ let compatibility of configurations with 26.05. ''; }; + + problems = (import ../stdenv/generic/problems.nix { inherit lib; }).configOptions; }; in @@ -470,9 +479,35 @@ in inherit options; config = { - warnings = optionals config.warnUndeclaredOptions ( - mapAttrsToList (k: v: "undeclared Nixpkgs option set: config.${k}") config._undeclared or { } - ); + warnings = + optionals config.warnUndeclaredOptions ( + mapAttrsToList (k: v: "undeclared Nixpkgs option set: config.${k}") config._undeclared or { } + ) + ++ lib.optional (config.showDerivationWarnings != [ ]) '' + `config.showDerivationWarnings = [ "maintainerless" ]` is deprecated, use `config.problems` instead: + + config.problems.matchers = [ { kind = "maintainerless"; handler = "warn"; } ]; + + See this page for more details: https://nixos.org/manual/nixpkgs/unstable#sec-problems + ''; + + assertions = + # Collect the assertions from the problems.matchers.* submodules, propagate them into here + lib.concatMap (matcher: matcher.assertions) config.problems.matchers; + + # Put the default value for matchers in here (as in, not as an *actual* mkDefault default value), + # to force it being merged with any custom values instead of being overridden. + problems.matchers = [ + # Be loud and clear about package removals + { + kind = "removal"; + handler = "warn"; + } + (lib.mkIf (lib.elem "maintainerless" config.showDerivationWarnings) { + kind = "maintainerless"; + handler = "warn"; + }) + ]; }; } diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index b24ab749b9978..18f608a57c20e 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -223,6 +223,11 @@ let tlc = callPackage ../development/coq-modules/tlc { }; topology = callPackage ../development/coq-modules/topology { }; trakt = callPackage ../development/coq-modules/trakt { }; + TypedExtraction = callPackage ../development/coq-modules/TypedExtraction { }; + TypedExtraction-common = self.TypedExtraction.common; + TypedExtraction-elm = self.TypedExtraction.elm; + TypedExtraction-rust = self.TypedExtraction.rust; + TypedExtraction-plugin = self.TypedExtraction.plugin; unicoq = callPackage ../development/coq-modules/unicoq { }; validsdp = callPackage ../development/coq-modules/validsdp { }; vcfloat = callPackage ../development/coq-modules/vcfloat ( diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix index 29da5c93202c4..607145be06aa8 100644 --- a/pkgs/top-level/default.nix +++ b/pkgs/top-level/default.nix @@ -126,7 +126,16 @@ let }; # take all the rest as-is - config = lib.showWarnings configEval.config.warnings configEval.config; + config = + let + failedAssertionsString = lib.concatMapStringsSep "\n" (x: "- ${x.message}") ( + lib.filter (x: !x.assertion) configEval.config.assertions + ); + in + if failedAssertionsString != "" then + throw "Failed assertions:\n${failedAssertionsString}" + else + lib.showWarnings configEval.config.warnings configEval.config; # A few packages make a new package set to draw their dependencies from. # (Currently to get a cross tool chain, or forced-i686 package.) Rather than diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index a8da9fe5ca8e5..de73175b957bb 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -358,6 +358,9 @@ let cudf = callPackage ../development/ocaml-modules/cudf { }; + curl = callPackage ../development/ocaml-modules/curl { inherit (pkgs) curl; }; + curl_lwt = callPackage ../development/ocaml-modules/curl/lwt.nix { }; + curly = callPackage ../development/ocaml-modules/curly { inherit (pkgs) curl; }; @@ -703,6 +706,8 @@ let gd = callPackage ../development/ocaml-modules/gd { inherit (pkgs) gd; }; + gdal = callPackage ../development/ocaml-modules/gdal { inherit (pkgs) gdal; }; + gen = callPackage ../development/ocaml-modules/gen { }; gen_js_api = callPackage ../development/ocaml-modules/gen_js_api { }; @@ -1610,7 +1615,7 @@ let octavius = callPackage ../development/ocaml-modules/octavius { }; - ocurl = callPackage ../development/ocaml-modules/ocurl { }; + ocurl = callPackage ../development/ocaml-modules/ocurl { inherit (pkgs) curl; }; odate = callPackage ../development/ocaml-modules/odate { }; @@ -1724,6 +1729,14 @@ let pgsolver = callPackage ../development/ocaml-modules/pgsolver { }; + pgx = callPackage ../development/ocaml-modules/pgx { }; + + pgx_eio = callPackage ../development/ocaml-modules/pgx/eio.nix { }; + + pgx_lwt = callPackage ../development/ocaml-modules/pgx/lwt.nix { }; + + pgx_lwt_unix = callPackage ../development/ocaml-modules/pgx/lwt_unix.nix { }; + phylogenetics = callPackage ../development/ocaml-modules/phylogenetics { }; piaf = callPackage ../development/ocaml-modules/piaf { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 73ccd177f969d..f4e017ec47ef4 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -25270,10 +25270,10 @@ with self; NetCIDR = buildPerlPackage { pname = "Net-CIDR"; - version = "0.21"; + version = "0.27"; src = fetchurl { - url = "mirror://cpan/authors/id/M/MR/MRSAM/Net-CIDR-0.21.tar.gz"; - hash = "sha256-MPMDwHNZSNozNw3sx+h8+mi8QwqkS4HRj42CO20av78="; + url = "mirror://cpan/authors/id/M/MR/MRSAM/Net-CIDR-0.27.tar.gz"; + hash = "sha256-npUP70QiJk3I76sw27084r4SXmGz9cUBEdFVBtO1cOM="; }; meta = { description = "Manipulate IPv4/IPv6 netblocks in CIDR notation"; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 7d8a1c8192707..808e04e22d495 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -133,6 +133,7 @@ mapAliases { configshell = throw "'configshell' has been renamed to/replaced by 'configshell-fb'"; # Converted to throw 2025-10-29 cx_Freeze = throw "'cx_Freeze' has been renamed to/replaced by 'cx-freeze'"; # Converted to throw 2025-10-29 cx_oracle = throw "'cx_oracle' has been renamed to/replaced by 'cx-oracle'"; # Converted to throw 2025-10-29 + dalle-mini = throw "'dalle-mini' has been removed due to lack of upstream maintenance"; # added 2026-02-26 datatable = throw "'datatable' has been removed due to lack of upstream maintenance"; # added 2026-02-02 dateutil = throw "'dateutil' has been renamed to/replaced by 'python-dateutil'"; # Converted to throw 2025-10-29 debian = throw "'debian' has been renamed to/replaced by 'python-debian'"; # Converted to throw 2025-10-29 @@ -453,6 +454,7 @@ mapAliases { PyVirtualDisplay = throw "'PyVirtualDisplay' has been renamed to/replaced by 'pyvirtualdisplay'"; # Converted to throw 2025-10-29 pyvoro = throw "pyvoro has been removed because it is unmaintained upstream and has been marked as broken since 2023."; # Added 2025-10-11 pywal = pywal16; # added 2026-02-01 + pywlroots = throw "pywlroots has been removed because it was no longer used by anything"; # added 2026-02-25 qds_sdk = throw "'qds_sdk' has been renamed to/replaced by 'qds-sdk'"; # Converted to throw 2025-10-29 qiskit-ibmq-provider = throw "qiskit-imbq-provider has been removed, since it was deprecated upstream"; # added 2025-09-13 qiskit-ignis = throw "qiskit-ignis has been removed, since it was deprecated upstream"; # added 2025-09-13 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0cb24d1bfa9c7..7736b86decc1c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -310,6 +310,8 @@ self: super: with self; { aiohomematic = callPackage ../development/python-modules/aiohomematic { }; + aiohomematic-config = callPackage ../development/python-modules/aiohomematic-config { }; + aiohomematic-test-support = callPackage ../development/python-modules/aiohomematic-test-support { }; aiohttp = callPackage ../development/python-modules/aiohttp { }; @@ -456,6 +458,16 @@ self: super: with self; { aioquic = callPackage ../development/python-modules/aioquic { }; + aioquic_1_2 = self.aioquic.overrideAttrs rec { + version = "1.2.0"; + + src = pkgs.fetchPypi { + pname = "aioquic"; + inherit version; + hash = "sha256-+RJjuz9xlIxciRW01Q7jcABPIKQW9n+rPcyQVWx+cZk="; + }; + }; + aioraven = callPackage ../development/python-modules/aioraven { }; aiorecollect = callPackage ../development/python-modules/aiorecollect { }; @@ -536,6 +548,8 @@ self: super: with self; { aiotedee = callPackage ../development/python-modules/aiotedee { }; + aiotools = callPackage ../development/python-modules/aiotools { }; + aiotractive = callPackage ../development/python-modules/aiotractive { }; aiounifi = callPackage ../development/python-modules/aiounifi { }; @@ -2323,6 +2337,8 @@ self: super: with self; { btrfsutil = callPackage ../development/python-modules/btrfsutil { }; + btrsync = callPackage ../development/python-modules/btrsync { }; + btsmarthub-devicelist = callPackage ../development/python-modules/btsmarthub-devicelist { }; btsocket = callPackage ../development/python-modules/btsocket { }; @@ -2571,6 +2587,8 @@ self: super: with self; { certbot-dns-route53 = callPackage ../development/python-modules/certbot-dns-route53 { }; + certbot-dns-wedos = callPackage ../development/python-modules/certbot-dns-wedos { }; + certbot-nginx = callPackage ../development/python-modules/certbot-nginx { }; certifi = callPackage ../development/python-modules/certifi { }; @@ -3505,8 +3523,6 @@ self: super: with self; { daiquiri = callPackage ../development/python-modules/daiquiri { }; - dalle-mini = callPackage ../development/python-modules/dalle-mini { }; - daltonlens = callPackage ../development/python-modules/daltonlens { }; daphne = callPackage ../development/python-modules/daphne { }; @@ -4870,6 +4886,8 @@ self: super: with self; { effect = callPackage ../development/python-modules/effect { }; + egauge-async = callPackage ../development/python-modules/egauge-async { }; + eggdeps = callPackage ../development/python-modules/eggdeps { }; eheimdigital = callPackage ../development/python-modules/eheimdigital { }; @@ -5481,12 +5499,16 @@ self: super: with self; { finetuning-scheduler = callPackage ../development/python-modules/finetuning-scheduler { }; + fing-agent-api = callPackage ../development/python-modules/fing-agent-api { }; + fingerprints = callPackage ../development/python-modules/fingerprints { }; finitude = callPackage ../development/python-modules/finitude { }; fints = callPackage ../development/python-modules/fints { }; + fints_4 = callPackage ../development/python-modules/fints/4.nix { }; + finvizfinance = callPackage ../development/python-modules/finvizfinance { }; fiona = callPackage ../development/python-modules/fiona { }; @@ -5515,6 +5537,8 @@ self: super: with self; { fiscalyear = callPackage ../development/python-modules/fiscalyear { }; + fish-audio-sdk = callPackage ../development/python-modules/fish-audio-sdk { }; + fissix = callPackage ../development/python-modules/fissix { }; fitbit = callPackage ../development/python-modules/fitbit { }; @@ -5763,6 +5787,8 @@ self: super: with self; { flufl-lock = callPackage ../development/python-modules/flufl/lock.nix { }; + fluss-api = callPackage ../development/python-modules/fluss-api { }; + flux-led = callPackage ../development/python-modules/flux-led { }; flyingsquid = callPackage ../development/python-modules/flyingsquid { }; @@ -5864,6 +5890,8 @@ self: super: with self; { frelatage = callPackage ../development/python-modules/frelatage { }; + fressnapftracker = callPackage ../development/python-modules/fressnapftracker { }; + freud = callPackage ../development/python-modules/freud { }; frictionless = callPackage ../development/python-modules/frictionless { }; @@ -5890,6 +5918,8 @@ self: super: with self; { fslpy = callPackage ../development/python-modules/fslpy { }; + fspath = callPackage ../development/python-modules/fspath { }; + fsspec = callPackage ../development/python-modules/fsspec { }; fsspec-xrootd = callPackage ../development/python-modules/fsspec-xrootd { }; @@ -6321,6 +6351,8 @@ self: super: with self; { callPackage ../development/python-modules/google-ai-generativelanguage { }; + google-air-quality-api = callPackage ../development/python-modules/google-air-quality-api { }; + google-api-core = callPackage ../development/python-modules/google-api-core { }; google-api-python-client = callPackage ../development/python-modules/google-api-python-client { }; @@ -6644,6 +6676,8 @@ self: super: with self; { # built-in for pypi greenlet = if isPyPy then null else callPackage ../development/python-modules/greenlet { }; + greenplanet-energy-api = callPackage ../development/python-modules/greenplanet-energy-api { }; + greenwavereality = callPackage ../development/python-modules/greenwavereality { }; gremlinpython = callPackage ../development/python-modules/gremlinpython { }; @@ -7040,6 +7074,8 @@ self: super: with self; { homeconnect = callPackage ../development/python-modules/homeconnect { }; + homelink-integration-api = callPackage ../development/python-modules/homelink-integration-api { }; + homematicip = callPackage ../development/python-modules/homematicip { }; homepluscontrol = callPackage ../development/python-modules/homepluscontrol { }; @@ -7166,6 +7202,8 @@ self: super: with self; { huggingface-hub = callPackage ../development/python-modules/huggingface-hub { }; + huggingface-hub_0 = callPackage ../development/python-modules/huggingface-hub/0.nix { }; + human-readable = callPackage ../development/python-modules/human-readable { }; humanfriendly = callPackage ../development/python-modules/humanfriendly { }; @@ -8889,6 +8927,8 @@ self: super: with self; { linode-metadata = callPackage ../development/python-modules/linode-metadata { }; + linuxdoc = callPackage ../development/python-modules/linuxdoc { }; + linuxfd = callPackage ../development/python-modules/linuxfd { }; linuxpy = callPackage ../development/python-modules/linuxpy { }; @@ -8901,6 +8941,8 @@ self: super: with self; { lit = callPackage ../development/python-modules/lit { }; + litecli = callPackage ../development/python-modules/litecli { }; + litellm = callPackage ../development/python-modules/litellm { }; litemapy = callPackage ../development/python-modules/litemapy { }; @@ -11289,6 +11331,8 @@ self: super: with self; { omemo-dr = callPackage ../development/python-modules/omemo-dr { }; + omitempty = callPackage ../development/python-modules/omitempty { }; + omnikinverter = callPackage ../development/python-modules/omnikinverter { }; omnilogic = callPackage ../development/python-modules/omnilogic { }; @@ -11468,6 +11512,13 @@ self: super: with self; { openidc-client = callPackage ../development/python-modules/openidc-client { }; + openimageio = toPythonModule ( + pkgs.openimageio.override { + enablePython = true; + python3Packages = self; + } + ); + openmm = toPythonModule ( pkgs.openmm.override { python3Packages = self; @@ -11495,6 +11546,10 @@ self: super: with self; { opensfm = callPackage ../development/python-modules/opensfm { }; + openshadinglanguage = toPythonModule ( + pkgs.openshadinglanguage.override { python3Packages = self; } + ); + openshift = callPackage ../development/python-modules/openshift { }; opensimplex = callPackage ../development/python-modules/opensimplex { }; @@ -13238,6 +13293,8 @@ self: super: with self; { pycdio = callPackage ../development/python-modules/pycdio { }; + pycdlib = callPackage ../development/python-modules/pycdlib { }; + pycec = callPackage ../development/python-modules/pycec { }; pycep-parser = callPackage ../development/python-modules/pycep-parser { }; @@ -16061,8 +16118,6 @@ self: super: with self; { pywizlight = callPackage ../development/python-modules/pywizlight { }; - pywlroots = callPackage ../development/python-modules/pywlroots { wlroots = pkgs.wlroots_0_17; }; - pywmspro = callPackage ../development/python-modules/pywmspro { }; pyworld = callPackage ../development/python-modules/pyworld { }; @@ -16538,6 +16593,8 @@ self: super: with self; { requests-gssapi = callPackage ../development/python-modules/requests-gssapi { }; + requests-hardened = callPackage ../development/python-modules/requests-hardened { }; + requests-hawk = callPackage ../development/python-modules/requests-hawk { }; requests-http-message-signatures = @@ -18156,6 +18213,8 @@ self: super: with self; { sqlalchemy-utils = callPackage ../development/python-modules/sqlalchemy-utils { }; + sqlalchemy_1_3 = callPackage ../development/python-modules/sqlalchemy/1_3.nix { }; + sqlalchemy_1_4 = callPackage ../development/python-modules/sqlalchemy/1_4.nix { }; sqlcipher3 = callPackage ../development/python-modules/sqlcipher3 { }; @@ -19364,6 +19423,8 @@ self: super: with self; { transformers = callPackage ../development/python-modules/transformers { }; + transformers_4 = callPackage ../development/python-modules/transformers/4.nix { }; + transforms3d = callPackage ../development/python-modules/transforms3d { }; transitions = callPackage ../development/python-modules/transitions { }; @@ -21157,6 +21218,8 @@ self: super: with self; { yaramod = callPackage ../development/python-modules/yaramod { }; + yardstick = callPackage ../development/python-modules/yardstick { }; + yarg = callPackage ../development/python-modules/yarg { }; yargy = callPackage ../development/python-modules/yargy { }; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 95d30e66077a4..4e393d821cd63 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -300,12 +300,16 @@ in let linuxTools = import ../stdenv/linux/make-bootstrap-tools-cross.nix { system = "x86_64-linux"; }; freebsdTools = import ../stdenv/freebsd/make-bootstrap-tools-cross.nix { system = "x86_64-linux"; }; + cygwinTools = import ../stdenv/cygwin/make-bootstrap-tools-cross.nix { system = "x86_64-linux"; }; linuxMeta = { maintainers = [ maintainers.dezgeg ]; }; freebsdMeta = { maintainers = [ maintainers.rhelmot ]; }; + cygwinMeta = { + maintainers = [ maintainers.corngood ]; + }; mkBootstrapToolsJob = meta: drv: assert elem drv.system supportedSystems; @@ -331,8 +335,11 @@ in freebsd = mapAttrsRecursiveCond (as: !isDerivation as) ( name: mkBootstrapToolsJob freebsdMeta ) freebsdTools; + cygwin = mapAttrsRecursiveCond (as: !isDerivation as) ( + name: mkBootstrapToolsJob cygwinMeta + ) cygwinTools; in - linux // freebsd; + linux // freebsd // cygwin; # Cross-built nixStatic for platforms for enabled-but-unsupported platforms mips64el-nixCrossStatic = mapTestOnCross systems.examples.mips64el-linux-gnuabi64 nixCrossStatic; diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index 69f212340c291..1515645fb40e0 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -10,7 +10,7 @@ $ hydra-eval-jobs -I . pkgs/top-level/release-haskell.nix */ { - supportedSystems ? builtins.fromJSON (builtins.readFile ../../ci/supportedSystems.json), + supportedSystems ? builtins.fromJSON (builtins.readFile ./release-supported-systems.json), }: let diff --git a/pkgs/top-level/release-staging.nix b/pkgs/top-level/release-staging.nix index 3782c2c3d0c13..a789bb29e0155 100644 --- a/pkgs/top-level/release-staging.nix +++ b/pkgs/top-level/release-staging.nix @@ -12,12 +12,7 @@ revision = "0000000000000000000000000000000000000000"; }, # The platform doubles for which we build Nixpkgs. - supportedSystems ? [ - "x86_64-linux" - "x86_64-darwin" - "aarch64-linux" - "aarch64-darwin" - ], + supportedSystems ? builtins.fromJSON (builtins.readFile ./release-supported-systems.json), # Attributes passed to nixpkgs. Don't build packages marked as unfree. nixpkgsArgs ? { config = { diff --git a/pkgs/top-level/release-supported-systems.json b/pkgs/top-level/release-supported-systems.json new file mode 100644 index 0000000000000..44c18f1abf0e5 --- /dev/null +++ b/pkgs/top-level/release-supported-systems.json @@ -0,0 +1,6 @@ +[ + "aarch64-linux", + "aarch64-darwin", + "x86_64-linux", + "x86_64-darwin" +] diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 2d0c24ba761b5..1ea39f2ce68e5 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -19,7 +19,7 @@ system ? builtins.currentSystem, officialRelease ? false, # The platform doubles for which we build Nixpkgs. - supportedSystems ? builtins.fromJSON (builtins.readFile ../../ci/supportedSystems.json), + supportedSystems ? builtins.fromJSON (builtins.readFile ./release-supported-systems.json), # The platform triples for which we build bootstrap tools. bootstrapConfigs ? [ "arm64-apple-darwin" diff --git a/pkgs/top-level/swift-packages.nix b/pkgs/top-level/swift-packages.nix new file mode 100644 index 0000000000000..586033238e6de --- /dev/null +++ b/pkgs/top-level/swift-packages.nix @@ -0,0 +1,68 @@ +let + autoCalledPackages = import ./by-name-overlay.nix ../by-name/sw/swiftPackages/by-name; +in + +{ + lib, + clangStdenv, + generateSplicesForMkScope, + llvmPackages, + makeScopeWithSplicing', + stdenvNoCC, + otherSplices ? generateSplicesForMkScope "swiftPackages", +}: + +makeScopeWithSplicing' { + inherit otherSplices; + extra = + self: + let + bootstrapSwiftPackages = self.overrideScope ( + final: prev: { + stdlib = null; # Have the bootstrap compiler use its own build of the stdlib. + swift-bootstrap = prev.swiftc.override { swift-bootstrap = null; }; + swift-driver = prev.swift-driver.overrideAttrs (old: { + pname = "early-${old.pname}"; + }); + } + ); + + llvm_libtool = stdenvNoCC.mkDerivation { + pname = "libtool"; + version = lib.getVersion llvmPackages.llvm; + + buildCommand = '' + mkdir -p "$out/bin" + ln -s ${lib.getExe' llvmPackages.llvm "llvm-libtool-darwin"} "$out/bin/libtool" + ''; + }; + + # vtool = stdenvNoCC.mkDerivation { + # pname = "cctools-vtool"; + # version = lib.getVersion cctools; + # + # buildCommand = '' + # mkdir -p "$out/bin" + # ln -s ${lib.getExe' cctools "vtool"} "$out/bin/vtool" + # ''; + # }; + in + { + inherit (self.swift) mkSwiftPackage; + inherit llvm_libtool; + + llvmPackages_current = llvmPackages; + swift-bootstrap = bootstrapSwiftPackages.swift; + swift-no-swift-driver = self.swift.override { swift-driver = null; swift-testing = null; }; + swift-no-testing = self.swift.override { swift-testing = null; }; + +# getBuildHost = pkg: pkg.__spliced.buildHost or pkg; +# getHostTarget = pkg: pkg.__spliced.hostTarget or pkg; + + swift-argument-parser = self.swift-argument-parser; + }; + f = lib.extends autoCalledPackages (self: { + stdenv = clangStdenv; + swift_release = "6.2.4"; + }); +}